Source for file smsmulti.php

Documentation is available at smsmulti.php

  1. <?php
  2. /**
  3.  * smsAPI_SOAP_SMSMulti
  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_multi
  39.  *
  40.  * @see smsAPI_SOAPClient
  41.  */
  42.  
  43.     /**
  44.      * Numer odbiorcy wiadomości w formacie 48xxxxxxxxx lub xxxxxxxxx.
  45.      *
  46.      * Np. 48505602702 lub 505602702.
  47.      *
  48.      * @var array(string) 
  49.      */
  50.     public $recipient        = null;
  51.     /**
  52.      * Numer lub nazwa nadawcy wiadomości.
  53.      *
  54.      * Pozostawienie pola pustego powoduje wysłanie wiadomości od „smsAPI.pl”.
  55.      * Przyjmowane są tylko numery i nazwy zweryfikowane. Pole nadawcy należy dodać
  56.      * po zalogowaniu na stronie smsAPI.pl, w zakładce Ustawienia → Pola nadawcy.
  57.      *
  58.      * @var string 
  59.      */
  60.     public $sender        = null;
  61.     /**
  62.      * Treść wiadomości.
  63.      *
  64.      * Standardowo do 160 znaków lub 70 znaków w przypadku wystąpienia chociaż
  65.      * jednego znaku specjalnego (polskie znaki uważane są za specjalne).
  66.      * Maksymalna długość wiadomości wynosi 457 znaków (lub 201 ze znakami
  67.      * specjalnymi) i jest wysłana jako 3 połączone SMSy, obciążając konto
  68.      * zgodnie z aktualnym cennikiem. Więcej szczegółów odnośnie znaków specjalnych
  69.      * znajduje się w dokumentacji.
  70.      *
  71.      * @see http://www.smsapi.pl/spec/smsAPI.pdf
  72.      * @var string 
  73.      */
  74.     public $message        = null;
  75.     /**
  76.      * Parametr określa kodowanie polskich znaków w SMSie.
  77.      *
  78.      * Domyślne kodowanie jest windows-1250. Jeżeli występuje konieczność zmiany
  79.      * kodowania, należy użyć parametru encoding z danymi:
  80.      * - dla iso-8859-2 (latin2) – należy podać wartość „iso-8859-2”,
  81.      * - dla utf-8 – należy podać wartość „utf-8”.
  82.      *
  83.      * @var string 
  84.      */
  85.     public $encoding    = null;
  86.     /**
  87.      * Wysyłanie wiadomości trybem „flash”,
  88.      *
  89.      * odbywa się poprzez podanie parametru flash o wartości „1”. SMSy flash są
  90.      * automatycznie wyświetlane na ekranie głównym telefonu komórkowego i nie
  91.      * są przechowywane w skrzynce odbiorczej (jeśli nie zostaną zapisane).
  92.      *
  93.      * @var bool 
  94.      */
  95.     public $flash        = null;
  96.     /**
  97.      * W odpowiedzi zawarte jest więcej szczegółów.
  98.      *
  99.      * (Treść wiadomości, długość wiadomość, ilość części z jakich składa się wiadomość).
  100.      *
  101.      * @var bool 
  102.      */
  103.     public $details        = null;
  104.     /**
  105.      * Data w formacie timestamp.
  106.      *
  107.      * Określa kiedy wiadomość ma być wysłana.
  108.      * W przypadku wstawienia daty przeszłej wiadomość zostanie wysłana natychmiast.
  109.      *
  110.      * @var int 
  111.      */
  112.     public $date_send    = null;
  113.     /**
  114.      * Parametr pozwalający na wysyłanie wiadomości WAP PUSH.
  115.      *
  116.      * @var string 
  117.      */
  118.     public $datacoding    = null;
  119.     /**
  120.      * Opcjonalny parametr użytkownika wysyłany z wiadomością a następnie zwracany przy wywołaniu zwrotnym CALLBACK.
  121.      *
  122.      * @var array(string) 
  123.      */
  124.     public $idx            = null;
  125.     /**
  126.      * @var array(array) 
  127.      */
  128.     public $params        = null;
  129.     /**
  130.      * Ustawienie 1 zabezpiecza przed wysłaniem wiadomości składających się z kilku części. (ERROR:12)
  131.      *
  132.      * @var bool 
  133.      */
  134.     public $single_message    = null;
  135.     /**
  136.      * Ustawienie parametru spowoduje wysłanie wiadomości przy wykorzystaniu wiadomości Eco
  137.      *
  138.      * (brak możliwości wyboru pola nadawcy, wiadomość wysyłana z losowego
  139.      * numeru dziewięciocyfrowego) szczegóły dotyczące wiadomości Eco znajdują się na naszej
  140.      * stronie: http://www.smsapi.pl/
  141.      *
  142.      * @var bool 
  143.      */
  144.     public $eco            = null;
  145.     /**
  146.      * Ustawienie zabezpiecza przed wysłaniem wiadomości ze znakami specjalnymi (w tym polskimi)
  147.      *
  148.      * @var bool 
  149.      */
  150.     public $no_unicode    = null;
  151.     /**
  152.      * Ustawienie spowoduje wysłanie wiadomości przy wykorzystaniu osobnego kanału zapewniającego szybkie doręczenie wiadomości (fastSMS).
  153.      *
  154.      * Z parametru korzystać można wyłącznie podczas wysyłania wiadomości proSMS,
  155.      * Ilość punktów za wysyłkę pomnożona będzie przez 1.5 Uwaga! Dla tego parametru
  156.      * zabronione jest prowadzenie wysyłek masowych i marketingowych.
  157.      *
  158.      * @var bool 
  159.      */
  160.     public $priority    = null;
  161.     /**
  162.      * @var string 
  163.      */
  164.     public $udh            = null;
  165.     /**
  166.      * Wiadomość nie jest wysyłana, wyświetlana jest jedynie odpowiedź (w celach testowych).
  167.      *
  168.      * @var bool 
  169.      */
  170.     public $test        = null;
  171.     /**
  172.      * Parametr wskazujacy partnera
  173.      *
  174.      * @var int 
  175.      */
  176.     public $partner_id    = null;
  177.  
  178.  
  179.     /**
  180.      * @ignore
  181.      * @var smsAPI_SOAPClient 
  182.      */
  183.     protected $soapclient null;
  184.  
  185.     /**
  186.      * Inicjalizacja
  187.      *
  188.      * @param array $params Tablica z parametrami
  189.      */
  190.     public function  __construct$params null$soapclient  null )
  191.     {
  192.         $this->soapclient $soapclient;
  193.         ifis_array($params) )
  194.         {
  195.             $params array_intersect_key($params$this->fields );
  196.             foreach $params as $k => $v )
  197.                 $this->$k $v;
  198.         }
  199.     }
  200.  
  201.     /**
  202.      * Wyslij wiadomosc
  203.      *
  204.      * @param smsAPI_SOAPClient $httpclient 
  205.      * @return stdClass 
  206.      */
  207.     public function send($soapclient null)
  208.     {
  209.         if!($soapclient instanceof smsAPI_SOAPClient) )
  210.             $soapclient $this->soapclient;
  211.  
  212.         if!($soapclient instanceof smsAPI_SOAPClient) )
  213.             throw new smsAPI_Exception ('Undefined HTTPClient'0);
  214.  
  215.         return $soapclient->send_sms_multi$this );
  216.     }
  217.  
  218.     /**
  219.      *
  220.      * @ignore
  221.      * @var array 
  222.      */
  223.     protected $fields =    array(
  224.         'datacoding'    => 0,
  225.         'date_send'        => 0,
  226.         'eco'            => 0,
  227.         'encoding'        => 0,
  228.         'flash'            => 0,
  229.         'sender'        => 0,
  230.         'idx'            => 0,
  231.         'message'        => 0,
  232.         'no_unicode'    => 0,
  233.         'params'        => 0,
  234.         'priority'        => 0,
  235.         'single'        => 0,
  236.         'template'        => 0,
  237.         'test'            => 0,
  238.         'recipient'        => 0,
  239.         'partner_id'    => 0,
  240.         'udh'            => 0
  241.     );
  242.  
  243.     /**
  244.      * @ignore
  245.      * @return array 
  246.      */
  247.     public function _get_params()
  248.     {
  249.         $ar array_intersect_key((array)$this$this->fields );
  250.  
  251.         return $ar;
  252.     }
  253. }

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