public function checkstatusAction() { $request = $this->getRequest(); $id = $this->_helper->IdConvert->hexToStr($request->getParam('id')); $data = array(); if (!empty($id)) { try { $model = new SmsStorageStatus(); $lastStatus = $model->getSmsBySmsStorage($id, true); if (isset($lastStatus[0])) { if ($lastStatus[0]['status_dict'] < 4 || $lastStatus[0]['status_dict'] == 8 || $lastStatus[0]['status_dict'] == 9) { $http = new Zend_Controller_Request_Http(); $ip = $http->getServer('SERVER_ADDR'); $serviceModel = new WsServiceSms(); $service = $serviceModel->getService($lastStatus[0]['ws_service_sms_id']); $sms = new Logic_Sms($service, $ip); if ($lastStatus[0]['ws_package_sms_id'] === NULL) { $sms->info($lastStatus[0]['smsid']); } else { $sms->packageinfo($lastStatus[0]['smsid']); } } } $data = $model->getSmsBySmsStorage($id); $paginator = new Base_Paginator(new Base_Paginator_Adapter_Array($data, array('RowClass' => 'Row_SmsStorageStatus'))); $this->view->paginator = $paginator; if ($lastStatus[0]['ws_package_sms_id'] === NULL) { $this->view->headers = array('smsid', 'status_dict', 'messagePriority', 'idProt', 'conectorId', 'encoding', 'smsType', 'validTo', 'delivNotifRequest', 'sendDate', 'lastStatusChange', 'created_at'); } else { $this->view->headers = array('smsid', 'status_dict', 'numberOfMessages', 'numberOfMessagesLeftToSent', 'created_at'); } } catch (Logic_Service_Exception $ex) { $this->_helper->redirector('index'); $this->_helper->messenger('error', 'Nie udało się pobrać statusu'); return; } } else { $this->_helper->messenger('error', 'Brak ID!'); $this->_helper->redirector('index'); return; } }
/** * Pobranie inforacji o ilości rekordów w paczece * @param Row_WsPackageStatusJoinWsPackageSms $package * */ public function getPackageDataInfo(Row_WsPackageStatusJoinWsPackageSms &$package) { $sendMessages = 0; if ($this->_mode == self::SMS_MODE) { $packageData = $package->findDependentRowset('WsPackageData'); $packageDataError = $package->findDependentRowset('WsPackageErrors'); $packageInfo['errors'] = count(json_decode($packageDataError->current()->errors)); $http = new Zend_Controller_Request_Http(); $ip = $http->getServer('SERVER_ADDR'); foreach ($packageData as $data) { $json = json_decode($data->tags); if ($data->external_package_id && $data->ws_service_id) { $service = $data->findParentRow('WsServiceSms'); $logicSms = new Logic_Sms($service, $ip); $info = $logicSms->packageinfo($data->external_package_id); $sendMessages += $info->numberOfMessages - $info->numberOfMessagesLeftToSent; } } $package->allMessages = $package->allMessages != '' ? $package->allMessages : 0; $package->sendMessages = $sendMessages; $package->errors = $package->errors != '' ? $package->errors : 0; $package->leftToSend = $package->allMessages - $sendMessages; } }