Exemplo n.º 1
0
 /**
  * @param integer $smsId
  * @throws Logic_WebService_Sms_Exception
  */
 public function handle($smsId)
 {
     if (empty($smsId)) {
         throw new Logic_WebService_Sms_Exception('Niepoprawny identyfikator sms: (nie podano wartosci)', 422);
     }
     $multiinfo = new Logic_Service_Multiinfo($this->_service->getParams()->service_login, $this->_service->getParams()->service_password, $this->_service->getParams()->new_api);
     $handler = new Logic_Service_Multiinfo_Response(new Logic_Service_Multiinfo_Response_InfoSms());
     return $handler->handle($multiinfo->infosms($smsId));
 }
Exemplo n.º 2
0
 private function doTest($service_id, $text = 'Logic_SelfCheck_Sms')
 {
     $recipient = new Logic_WebService_Sms_Recipient($this->_testTel);
     $this->_service = new Logic_WebService_Element_Service();
     $this->_service->getService($service_id);
     $multiinfo = new Logic_Service_Multiinfo($this->_service->getParams()->service_login, $this->_service->getParams()->service_password, $this->_service->getParams()->new_api);
     $handler = new Logic_Service_Multiinfo_Response(new Logic_Service_Multiinfo_Response_Raw());
     $model = new SmsStorage();
     $sms_nr = $model->getPastSms($service_id)->smsid;
     if (empty($sms_nr)) {
         return;
     }
     $response = $handler->handle($multiinfo->infosms($sms_nr));
     if ($response[15] == '11') {
         $sms_nr_2nd = $model->getPastSms(time() - 120, $service_id)->smsid;
         if (empty($sms_nr)) {
             return;
         }
         $response = $handler->handle($multiinfo->infosms($sms_nr), $sms_nr_2nd);
         if ($response[15] == '11') {
             return array('errorType' => 'critical', 'errorMessage' => 'błędny status dwóch kolejno sprawdzonych wiadomości ("Błąd fatalny, wysyłanie nieudane" ' . $sms_nr . ', ' . $sms_nr_2nd . ')', 'errorCode' => '11', 'response' => $response);
         }
     }
     $response = $handler->handle($multiinfo->infosms($sms_nr));
     if ($response[15] == '7') {
         $sms_nr_2nd = $model->getPastSms(time() - 120, $service_id)->smsid;
         if (empty($sms_nr)) {
             return;
         }
         $response = $handler->handle($multiinfo->infosms($sms_nr), $sms_nr_2nd);
         if ($response[15] == '7') {
             return array('errorType' => 'critical', 'errorMessage' => 'błędny status dwóch kolejno sprawdzonych wiadomości ("Wiadomość wstrzymana z powodu przekroczenia limitu" ' . $sms_nr . ', ' . $sms_nr_2nd . ')', 'errorCode' => '11', 'response' => $response);
         }
     }
     if ($response[0] === '<html>') {
         return array('errorType' => 'critical', 'errorMessage' => 'błąd 404 przy wykonywaniu zapytania do multiinfo - nieprawidłowy url usługi', 'errorCode' => '404');
     } else {
         if ($response[0] !== '0') {
             return array('errorType' => 'critical', 'errorMessage' => $response[1], 'errorCode' => $response[0], 'raw' => $response);
         }
     }
 }