Source for file sms.php

Documentation is available at sms.php

  1. <?php
  2. /**
  3.  * smsAPI_SOAP_SMS
  4.  *
  5.  * Copyright (c) 2010, ComVision
  6.  * All rights reserved.
  7.  *
  8.  * Redistribution and use in source and binary forms, with or without modification,
  9.  * are permitted provided that the following conditions are met:
  10.  *
  11.  *  - Redistributions of source code must retain the above copyright notice,
  12.  *    this list of conditions and the following disclaimer.
  13.  *  - Redistributions in binary form must reproduce the above copyright notice,
  14.  *    this list of conditions and the following disclaimer in the documentation and/or
  15.  *    other materials provided with the distribution.
  16.  *  - Neither the name of the smsAPI.pl nor the names of its contributors may be used to
  17.  *    endorse or promote products derived from this software without specific prior written permission.
  18.  *
  19.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  20.  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
  21.  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  22.  * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
  23.  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  24.  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
  25.  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  26.  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  27.  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  28.  *
  29.  * @author ComVision <info@smsapi.pl>
  30.  * @copyright 2010 ComVision
  31.  * @license BSD-3
  32.  * @package smsapi
  33.  * @subpackage client\soap
  34.  * @version 1.0 14.10.2010
  35.  */
  36.  
  37. /**
  38.  * Struktura danych dla send_sms
  39.  *
  40.  * @see smsAPI_SOAPClient
  41.  */
  42. class smsAPI_SOAP_SMS {
  43.  
  44.     /**
  45.      * Numer odbiorcy wiadomości w formacie 48xxxxxxxxx lub xxxxxxxxx.
  46.      *
  47.      * Np. 48505602702 lub 505602702.
  48.      *
  49.      * @var string 
  50.      */
  51.     public $recipient        = null;
  52.     /**
  53.      * Numer lub nazwa nadawcy wiadomości.
  54.      *
  55.      * Pozostawienie pola pustego powoduje wysłanie wiadomości od „smsAPI.pl”.
  56.      * Przyjmowane są tylko numery i nazwy zweryfikowane. Pole nadawcy należy dodać
  57.      * po zalogowaniu na stronie smsAPI.pl, w zakładce Ustawienia → Pola nadawcy.
  58.      *
  59.      * @var string 
  60.      */
  61.     public $sender        = null;
  62.     /**
  63.      * Treść wiadomości.
  64.      *
  65.      * Standardowo do 160 znaków lub 70 znaków w przypadku wystąpienia chociaż
  66.      * jednego znaku specjalnego (polskie znaki uważane są za specjalne).
  67.      * Maksymalna długość wiadomości wynosi 457 znaków (lub 201 ze znakami
  68.      * specjalnymi) i jest wysłana jako 3 połączone SMSy, obciążając konto
  69.      * zgodnie z aktualnym cennikiem. Więcej szczegółów odnośnie znaków specjalnych
  70.      * znajduje się w dokumentacji.
  71.      *
  72.      * @see http://www.smsapi.pl/spec/smsAPI.pdf
  73.      * @var string 
  74.      */
  75.     public $message        = null;
  76.     /**
  77.      * Parametr określa kodowanie polskich znaków w SMSie.
  78.      *
  79.      * Domyślne kodowanie jest windows-1250. Jeżeli występuje konieczność zmiany
  80.      * kodowania, należy użyć parametru encoding z danymi:
  81.      * - dla iso-8859-2 (latin2) – należy podać wartość „iso-8859-2”,
  82.      * - dla utf-8 – należy podać wartość „utf-8”.
  83.      *
  84.      * @var string 
  85.      */
  86.     public $encoding    = null;
  87.     /**
  88.      * Wysyłanie wiadomości trybem „flash”,
  89.      *
  90.      * odbywa się poprzez podanie parametru flash o wartości „1”. SMSy flash są
  91.      * automatycznie wyświetlane na ekranie głównym telefonu komórkowego i nie
  92.      * są przechowywane w skrzynce odbiorczej (jeśli nie zostaną zapisane).
  93.      *
  94.      * @var bool 
  95.      */
  96.     public $flash        = null;
  97.     /**
  98.      * W odpowiedzi zawarte jest więcej szczegółów.
  99.      *
  100.      * (Treść wiadomości, długość wiadomość, ilość części z jakich składa się wiadomość).
  101.      *
  102.      * @var bool 
  103.      */
  104.     public $details        = null;
  105.     /**
  106.      * Data w formacie timestamp.
  107.      *
  108.      * Określa kiedy wiadomość ma być wysłana.
  109.      * W przypadku wstawienia daty przeszłej wiadomość zostanie wysłana natychmiast.
  110.      *
  111.      * @var int 
  112.      */
  113.     public $date_send    = null;
  114.     /**
  115.      * Parametr pozwalający na wysyłanie wiadomości WAP PUSH.
  116.      *
  117.      * @var string 
  118.      */
  119.     public $datacoding    = null;
  120.     /**
  121.      * Opcjonalny parametr użytkownika wysyłany z wiadomością a następnie zwracany przy wywołaniu zwrotnym CALLBACK.
  122.      *
  123.      * @var string 
  124.      */
  125.     public $idx            = null;
  126.     /**
  127.      * @var array 
  128.      */
  129.     public $params        = null;
  130.     /**
  131.      * Ustawienie 1 zabezpiecza przed wysłaniem wiadomości składających się z kilku części. (ERROR:12)
  132.      *
  133.      * @var bool 
  134.      */
  135.     public $single_message    = null;
  136.     /**
  137.      * Ustawienie parametru spowoduje wysłanie wiadomości przy wykorzystaniu wiadomości Eco
  138.      *
  139.      * (brak możliwości wyboru pola nadawcy, wiadomość wysyłana z losowego
  140.      * numeru dziewięciocyfrowego) szczegóły dotyczące wiadomości Eco znajdują się na naszej
  141.      * stronie: http://www.smsapi.pl/
  142.      *
  143.      * @var bool 
  144.      */
  145.     public $eco            = null;
  146.     /**
  147.      * Ustawienie zabezpiecza przed wysłaniem wiadomości ze znakami specjalnymi (w tym polskimi)
  148.      *
  149.      * @var bool 
  150.      */
  151.     public $no_unicode    = null;
  152.     /**
  153.      * Ustawienie spowoduje wysłanie wiadomości przy wykorzystaniu osobnego kanału zapewniającego szybkie doręczenie wiadomości (fastSMS).
  154.      *
  155.      * Z parametru korzystać można wyłącznie podczas wysyłania wiadomości proSMS,
  156.      * Ilość punktów za wysyłkę pomnożona będzie przez 1.5 Uwaga! Dla tego parametru
  157.      * zabronione jest prowadzenie wysyłek masowych i marketingowych.
  158.      *
  159.      * @var bool 
  160.      */
  161.     public $priority    = null;
  162.     /**
  163.      * @var string 
  164.      */
  165.     public $udh            = null;
  166.     /**
  167.      * Wiadomość nie jest wysyłana, wyświetlana jest jedynie odpowiedź (w celach testowych).
  168.      *
  169.      * @var bool 
  170.      */
  171.     public $test        = null;
  172.     /**
  173.      * Parametr wskazujacy partnera
  174.      *
  175.      * @var int 
  176.      */
  177.     public $partner_id    = null;
  178.  
  179.  
  180.     /**
  181.      * @ignore
  182.      * @var smsAPI_SOAPClient 
  183.      */
  184.     protected $soapclient null;
  185.  
  186.     /**
  187.      * Inicjalizacja
  188.      *
  189.      * @param array $params Tablica z parametrami
  190.      */
  191.     public function  __construct$params null$soapclient  null )
  192.     {
  193.         $this->soapclient $soapclient;
  194.         ifis_array($params) )
  195.         {
  196.             $params array_intersect_key($params$this->fields );
  197.             foreach $params as $k => $v )
  198.                 $this->$k $v;
  199.         }
  200.     }
  201.  
  202.     /**
  203.      * Wyslij wiadomosc
  204.      *
  205.      * @param smsAPI_SOAPClient $httpclient 
  206.      * @return stdClass 
  207.      */
  208.     public function send($soapclient null)
  209.     {
  210.         if!($soapclient instanceof smsAPI_SOAPClient) )
  211.             $soapclient $this->soapclient;
  212.  
  213.         if!($soapclient instanceof smsAPI_SOAPClient) )
  214.             throw new smsAPI_Exception ('Undefined SOAPClient'0);
  215.  
  216.         return $soapclient->send_sms$this );
  217.     }
  218.  
  219.     /**
  220.      *
  221.      * @ignore
  222.      * @var array 
  223.      */
  224.     protected $fields =    array(
  225.         'datacoding'    => 0,
  226.         'date_send'        => 0,
  227.         'eco'            => 0,
  228.         'encoding'        => 0,
  229.         'flash'            => 0,
  230.         'sender'        => 0,
  231.         'idx'            => 0,
  232.         'message'        => 0,
  233.         'no_unicode'    => 0,
  234.         'params'        => 0,
  235.         'priority'        => 0,
  236.         'single'        => 0,
  237.         'template'        => 0,
  238.         'test'            => 0,
  239.         'recipient'        => 0,
  240.         'partner_id'    => 0,
  241.         'udh'            => 0
  242.     );
  243.  
  244.     /**
  245.      * @ignore
  246.      * @return array 
  247.      */
  248.     public function _get_params()
  249.     {
  250.         $ar array_intersect_key((array)$this$this->fields );
  251.  
  252.         return $ar;
  253.     }
  254. }

Documentation generated on Thu, 27 Jan 2011 16:17:33 +0100 by phpDocumentor 1.4.3