Ejemplo n.º 1
0
 /**
  * Получаем код
  * @return array
  * @throws SmsException
  */
 public function getCode()
 {
     //todo не сделан reset
     return $this->service->getCode();
 }
Ejemplo n.º 2
0
 /** @inheritdoc */
 public function getCode()
 {
     $time = time();
     while (true) {
         if (time() - $time > 60 * 15) {
             return [false, null];
             //throw new SmsException('Превышенно время ожидания смс', 300);
         }
         $result = parent::getCode();
         $result = explode(':', $result);
         $result[] = null;
         $request = array_shift($result);
         $code = [];
         foreach ($result as $resultRow) {
             $code[] = $resultRow;
         }
         $code = implode(':', $code);
         switch ($request) {
             case 'STATUS_WAIT_RETRY':
             case 'STATUS_WAIT_CODE':
                 sleep(10);
                 break;
             case 'STATUS_WAIT_RESEND':
                 return [false, null];
                 //$this->setStatus(self::$METHOD_COMPLETE);
                 //return ['RETURN', null];
             //$this->setStatus(self::$METHOD_COMPLETE);
             //return ['RETURN', null];
             case 'STATUS_OK':
                 return [true, $code];
             default:
                 return [false, null];
                 //throw new SmsException($request);
         }
     }
 }
Ejemplo n.º 3
0
 /** @inheritdoc */
 public function getCode()
 {
     $time = time();
     while (true) {
         if (time() - $time > 60 * 9.5) {
             return [false, null];
             //throw new SmsException('Превышенно время ожидания смс', 300);
         }
         $result = parent::getCode();
         if (self::isJson($result)) {
             $result = Json::decode($result);
             if (isset($result['response'])) {
                 switch ($result['response']) {
                     case 1:
                         return [true, $result['sms']];
                     case 2:
                         sleep(10);
                         break;
                     default:
                         throw new SmsException(Json::encode($result));
                 }
                 continue;
             }
         }
         throw new SmsException(Json::encode($result));
     }
 }