/** * @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)); }
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); } } }