Skip to content

Commit

Permalink
[~] Правки документации.
Browse files Browse the repository at this point in the history
[~] При FMT_JSON баланс возвращается в виде числа, а не объекта
  • Loading branch information
JhaoDa authored and JhaoDa committed Aug 17, 2012
1 parent cb1dc2f commit b8f4d55
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 13 deletions.
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ $smsc = new SMSCenter(array(
));

// Отправка сообщения
$smsc->sendMessage('+7991111111', 'Превед, медведы!', 'SuperIvan');
$smsc->send('+7991111111', 'Превед, медведы!', 'SuperIvan');

// Отправка сообщения на 2 номера
$smsc->send(array('+7(999)1111111', '+7(999)222-22-22'), 'Превед, медведы! Одно сообщение на 2 номера.', 'SuperIvan');

// Получение баланса
$smsc->getBalance();
echo $smsc->getBalance(), ' руб.'; // "72.2 руб."

// Получение информации об операторе
$smsc->getOperatorInfo('7991111111');
Expand All @@ -42,6 +42,8 @@ $smsc->getStatus('+7991111111', 6, SMSCenter::STATUS_INFO_EXT);

// Получение стоимости рассылки
$smsc->getCost('+7991111111', 'Начало около 251 млн лет, конец — 201 млн лет назад, длительность около 50 млн лет.');
// Проверка тарифной зоны
if ($sms->getChargingZone('+7(999)1111111') == self::ZONE_RU) {...}
?>
```
Лицензия: Да хоть как используйте. Упомянете меня — и на том спасибо.
21 changes: 10 additions & 11 deletions SMSCenter.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@
* ));
*
* // Отправка сообщения
* $smsc->sendMessage('+7991111111', 'Превед, медведы!', 'SuperIvan');
* $smsc->send('+7991111111', 'Превед, медведы!', 'SuperIvan');
*
* // Отправка сообщения на 2 номера
* $smsc->send(array('+7(999)1111111', '+7(999)222-22-22'), 'Превед, медведы! Одно сообщение на 2 номера.', 'SuperIvan');
*
* // Получение баланса
* $smsc->getBalance();
* echo $smsc->getBalance(), ' руб.'; // "72.2 руб." при FMT_JSON
*
* // Получение информации об операторе
* $smsc->getOperatorInfo('7991111111');
Expand All @@ -40,6 +40,9 @@
*
* // Получение стоимости рассылки
* $smsc->getCost('+7991111111', 'Начало около 251 млн лет, конец — 201 млн лет назад, длительность около 50 млн лет.');
*
* // Проверка тарифной зоны
* if ($sms->getChargingZone('+7(999)1111111') == self::ZONE_RU) {...}
* </pre>
*
* @version 0.1
Expand Down Expand Up @@ -80,9 +83,9 @@ class SMSCenter implements ArrayAccess {
const FMT_XML = 2;
const FMT_JSON = 3;

const STATUS_PLAIN = 0;
const STATUS_INFO = 1;
const STATUS_INFO_EXT = 2;
const STATUS_PLAIN = 0;
const STATUS_INFO = 1;
const STATUS_INFO_EXT = 2;

const CHARSET_UTF8 = 'utf-8';
const CHARSET_KOI8 = 'koi8-r';
Expand Down Expand Up @@ -218,7 +221,7 @@ public function getOperatorInfo($phone) {
* @return string|stdClass Баланс в виде строки, объекта (FMT_JSON) или FALSE в случае ошибки.
*/
public function getBalance() {
return $this->sendCmd('balance');
return ($this['fmt'] == self::FMT_JSON) ? $this->sendCmd('balance')->balance : $this->sendCmd('balance');
}

/**
Expand Down Expand Up @@ -291,8 +294,6 @@ private function sendCmd($cmd, $options = array()) {
$i = 0;
do {
if ($i) sleep(2);


$ret = $this->exec($url.implode('&', $data));
} while ($ret == '' && ++$i < 3);

Expand All @@ -301,11 +302,9 @@ private function sendCmd($cmd, $options = array()) {
$ret = mb_convert_encoding($ret, 'UTF-8', 'WINDOWS-1251');
else if ($this['charset'] == self::CHARSET_KOI8)
$ret = mb_convert_encoding($ret, 'UTF-8', 'KOI8-R');

$ret = json_decode($ret);
}

return (empty($ret)) ? FALSE : $ret;
return (empty($ret)) ? FALSE : ($this['fmt'] == self::FMT_JSON) ? $ret = json_decode($ret) : $ret;
}

/**
Expand Down

0 comments on commit b8f4d55

Please sign in to comment.