Source Code for Me (s-c.me)

Allows you to paste souce code to blogs! Adapted for Twitter! Here is Search Form in case you missed your code.
Tags: Php,$_apiId,$_responseCode,$_lastAction,$_responseCodeTranstale,$id,$this, Created At: 10/24/2016 8:27:52 PMViews:

HTML view:
Copy Source | Copy HTML
  1. <?php
  2.  
  3. /**
     * ÐšÐ»Ð°ÑÑ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑ‚вия Ñ ÑÐµÑ€Ð²Ð¸ÑÐ¾Ð¼ sms.ru
     */
  4. class Z_Service_Sms {
  5.  
  6.     protected $_apiId = NULL;
  7.     protected $_responseCode = NULL;
  8.     protected $_lastAction = NULL;
  9.  
  10.     const HOST = 'http://sms.ru/';
  11.     const SEND = 'sms/send?';
  12.     const STATUS = 'sms/status?';
  13.     const BALANCE = 'my/balance?';
  14.     const LIMIT = 'my/limit?';
  15.  
  16.     protected $_responseCodeTranstale = array(
  17.         'send' => array(
  18.             '100' => 'Сообщение Ð¿Ñ€Ð¸Ð½ÑÑ‚о Ðº Ð¾Ñ‚правке',
  19.             '200' => 'Неправильный api_id',
  20.             '201' => 'Не Ñ…ватает ÑÑ€ÐµÐ´ÑÑ‚в Ð½Ð° Ð»Ð¸Ñ†ÐµÐ²Ð¾Ð¼ ÑÑ‡ÐµÑ‚у',
  21.             '202' => 'Неправильно ÑƒÐºÐ°Ð·Ð°Ð½ Ð¿Ð¾Ð»ÑƒÑ‡Ð°Ñ‚ель',
  22.             '203' => 'Нет Ñ‚екста ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ',
  23.             '204' => 'Имя Ð¾Ñ‚правителя Ð½Ðµ ÑÐ¾Ð³Ð»Ð°ÑÐ¾Ð²Ð°Ð½Ð¾ Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑ‚рацией',
  24.             '205' => 'Сообщение ÑÐ»Ð¸ÑˆÐºÐ¾Ð¼ Ð´Ð»Ð¸Ð½Ð½Ð¾Ðµ (превышает 5 Ð¡ÐœÐ¡)',
  25.             '206' => 'Превышен Ð´Ð½ÐµÐ²Ð½Ð¾Ð¹ Ð»Ð¸Ð¼Ð¸Ñ‚ Ð½Ð° Ð¾Ñ‚правку ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ð¹',
  26.             '207' => 'На ÑÑ‚от Ð½Ð¾Ð¼ÐµÑ€ Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚правлять ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ',
  27.             '208' => 'Параметр time ÑƒÐºÐ°Ð·Ð°Ð½ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾',
  28.             '210' => 'Используется GET, Ð³Ð´Ðµ Ð½ÐµÐ¾Ð±Ñ…одимо Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ POST',
  29.             '211' => 'Метод Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½',
  30.             '220' => 'Сервис Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ Ð½ÐµÐ´Ð¾ÑÑ‚упен, Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚е Ñ‡ÑƒÑ‚ÑŒ Ð¿Ð¾Ð·Ð¶Ðµ.',
  31.         ),
  32.         'status' => array(
  33.             '-1' => 'Сообщение Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾',
  34.             '100' => 'Сообщение Ð½Ð°Ñ…одится Ð² Ð¾Ñ‡ÐµÑ€ÐµÐ´Ð¸',
  35.             '101' => 'Сообщение Ð¿ÐµÑ€ÐµÐ´Ð°ÐµÑ‚ся Ð¾Ð¿ÐµÑ€Ð°Ñ‚ору',
  36.             '102' => 'Сообщение Ð¾Ñ‚правлено (в Ð¿ÑƒÑ‚и)',
  37.             '103' => 'Сообщение Ð´Ð¾ÑÑ‚авлено',
  38.             '104' => 'Не Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð´Ð¾ÑÑ‚авлено: Ð²Ñ€ÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ Ð¸ÑÑ‚екло',
  39.             '105' => 'Не Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð´Ð¾ÑÑ‚авлено: ÑƒÐ´Ð°Ð»ÐµÐ½Ð¾ Ð¾Ð¿ÐµÑ€Ð°Ñ‚ором',
  40.             '106' => 'Не Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð´Ð¾ÑÑ‚авлено: ÑÐ±Ð¾Ð¹ Ð² Ñ‚елефоне',
  41.             '107' => 'Не Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð´Ð¾ÑÑ‚авлено: Ð½ÐµÐ¸Ð·Ð²ÐµÑÑ‚ная Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½Ð°',
  42.             '108' => 'Не Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð´Ð¾ÑÑ‚авлено: Ð¾Ñ‚клонено',
  43.             '200' => 'Неправильный api_id',
  44.             '210' => 'Используется GET, Ð³Ð´Ðµ Ð½ÐµÐ¾Ð±Ñ…одимо Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ POST',
  45.             '211' => 'Метод Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½',
  46.             '220' => 'Сервис Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ Ð½ÐµÐ´Ð¾ÑÑ‚упен, Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚е Ñ‡ÑƒÑ‚ÑŒ Ð¿Ð¾Ð·Ð¶Ðµ',
  47.         ),
  48.         'balance' => array(
  49.             '100' => 'Запрос Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½',
  50.             '200' => 'Неправильный api_id',
  51.             '210' => 'Используется GET, Ð³Ð´Ðµ Ð½ÐµÐ¾Ð±Ñ…одимо Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ POST',
  52.             '211' => 'Метод Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½',
  53.             '220' => 'Сервис Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ Ð½ÐµÐ´Ð¾ÑÑ‚упен, Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚е Ñ‡ÑƒÑ‚ÑŒ Ð¿Ð¾Ð·Ð¶Ðµ.',
  54.         ),
  55.         'limit' => array(
  56.             '100' => 'Запрос Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½',
  57.             '200' => 'Неправильный api_id',
  58.             '210' => 'Используется GET, Ð³Ð´Ðµ Ð½ÐµÐ¾Ð±Ñ…одимо Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ POST',
  59.             '211' => 'Метод Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½',
  60.             '220' => 'Сервис Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ Ð½ÐµÐ´Ð¾ÑÑ‚упен, Ð¿Ð¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚е Ñ‡ÑƒÑ‚ÑŒ Ð¿Ð¾Ð·Ð¶Ðµ.',
  61.         ),
  62.     );
  63.  
  64.     /**
         *
         * Ð˜Ð´ÐµÐ½Ñ‚ификатор api_id
         * @param string $id
         */
  65.     public function __construct($id)
  66.     {
  67.         $this->_apiId = $id;
  68.     }
  69.  
  70.     /**
         *
         * @param string $to Ñ‚елефон: 11 Ð·Ð½Ð°ÐºÐ¾Ð². Ð½Ð°Ð¿Ñ€Ð¸Ð¼ÐµÑ€ 79060000000
         * @param string $text Ñ‚екст ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ
         * @param string $from Ð¾Ñ‚правитель
         * @return string id ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ
         */
  71.     public function send($to,$text,$from=NULL)
  72.     {
  73.         $apiParams['api_id'] = $this->_apiId;
  74.         $apiParams['to'] = $to;
  75.         $apiParams['text'] = $text;
  76.         if ($from)
  77.             $apiParams['from'] = $from;
  78.         $url = self::HOST.self::SEND.http_build_query($apiParams);;
  79.         $body = file_get_contents($url);
  80.         @list($code,$smsId) = explode("\n", $body);
  81.         $this->_lastAction = 'send';
  82.         $this->_responseCode = $code;
  83.         return $smsId;
  84.     }
  85.  
  86.     /**
         *
         * @param string $id id ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ
         * @return string ÐºÐ¾Ð´ ÑÑ‚атуса ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ.
         */
  87.     public function status($id)
  88.     {
  89.         $apiParams['api_id'] = $this->_apiId;
  90.         $apiParams['id'] = $id;
  91.         $url = self::HOST.self::STATUS.http_build_query($apiParams);
  92.         $body = file_get_contents($url);
  93.         $status = $body;
  94.         $this->_lastAction = 'status';
  95.         $this->_responseCode = $status;
  96.         return $status;
  97.     }
  98.  
  99.     /**
         *
         * @return string Ð‘аланс Ð² Ñ€ÑƒÐ±Ð»ÑÑ…
         */
  100.     public function balance()
  101.     {
  102.         $apiParams['api_id'] = $this->_apiId;
  103.         $url = self::HOST.self::BALANCE.http_build_query($apiParams);
  104.         $body = file_get_contents($url);
  105.         @list($code,$balance) = explode("\n", $body);
  106.         $this->_lastAction = 'balance';
  107.         $this->_responseCode = $code;
  108.         return $balance;
  109.     }
  110.  
  111.     /**
         *
         * @return int ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚во Ð¾ÑÑ‚авшихся ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ð¹
         */
  112.     public function limit()
  113.     {
  114.         $apiParams['api_id'] = $this->_apiId;
  115.         $url = self::HOST.self::LIMIT.http_build_query($apiParams);
  116.         $body = file_get_contents($url);
  117.         @list($code,$count,$limit) = explode("\n", $body);
  118.         $this->_lastAction = 'limit';
  119.         $this->_responseCode = $code;
  120.         return (int)($count - $limit);
  121.     }
  122.  
  123.  
  124.     /**
         *
         * @return string ÐºÐ¾Ð´ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚ата Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐ¹ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸
         */
  125.     public function getResponseCode()
  126.     {
  127.         return $this->_responseCode;
  128.     }
  129.  
  130.     /**
         *
         * @return string Ñ€Ð°ÑÑˆÐ¸Ñ„ровка ÐºÐ¾Ð´Ð° Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚ата Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐ¹ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸
         */
  131.     public function getResponseMessage()
  132.     {
  133.         if ($this->_lastAction)
  134.             return $this->_responseCodeTranstale[$this->_lastAction][$this->getResponseCode()];
  135.         else
  136.             return 'Нет Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚а ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ';
  137.     }
  138.  
  139. }
  140.  

Based on Manoli.Net's CodeFormatter. Made by Topbot (c) 2008-2017