/** * Send command on station by SMS */ public function actionSendSMSCommand() { $form = new SMSCommandSendForm(); /** * Update sms status */ if (isset($_GET['view_id']) || isset($_GET['sms_command_id'])) { if (isset($_GET['view_id'])) { $form->setSMS(SMSCommand::model()->findByPk($_GET['view_id'])); } if (isset($_GET['sms_command_id'])) { $form->setSMS(SMSCommand::model()->findByPk($_GET['sms_command_id'])); } if (Yii::app()->request->isAjaxRequest) { return $this->renderPartial('__sms_command_status', ['sms' => $form->getSMS()]); } } /** * Delete sms */ if (isset($_GET['delete_id'])) { SMSCommand::model()->deleteByPk($_GET['delete_id']); } /** * Create sms */ if (isset($_POST['SMSCommandSendForm'])) { if ($_POST['send']) { $form->setScenario($form::SCENARIO_SEND); $form->setAttributes($_POST['SMSCommandSendForm']); if ($form->validate()) { $form->getSMS()->setAttributes($form->getAttributes()); if ($form->getSMS()->save()) { $form = (new SMSCommandSendForm())->setSMS(SMSCommand::model()->findByPk($form->getSMS()->sms_command_id)); Yii::app()->user->setFlash('SendSMSCommandForm_success', "Command send!"); } } } } /** * Grid */ if (isset($_POST['date_range'])) { if (preg_match("/([\\d]{1,2})\\/([\\d]{1,2})\\/([\\d]{2,4})/i", $_POST['SMSCommand']['updated_from'], $matches1)) { $dateFromViewFormat = $matches1[0]; $dateFrom = $matches1[3] . '-' . $matches1[1] . '-' . $matches1[2] . ' 00:00:00'; Yii::app()->request->cookies['dateFrom'] = new CHttpCookie('dateFrom', $dateFromViewFormat); Yii::app()->request->cookies['from_date'] = new CHttpCookie('from_date', $dateFrom); } else { unset(Yii::app()->request->cookies['dateFrom']); unset(Yii::app()->request->cookies['from_date']); } if (preg_match("/([\\d]{1,2})\\/([\\d]{1,2})\\/([\\d]{2,4})/i", $_POST['SMSCommand']['updated_to'], $matches2)) { $dateToViewFormat = $matches2[0]; $dateTo = $matches2[3] . '-' . $matches2[1] . '-' . $matches2[2] . ' 23:59:59'; Yii::app()->request->cookies['dateTo'] = new CHttpCookie('dateTo', $dateToViewFormat); Yii::app()->request->cookies['to_date'] = new CHttpCookie('to_date', $dateTo); } else { unset(Yii::app()->request->cookies['dateTo']); unset(Yii::app()->request->cookies['to_date']); } } if (isset($_GET['reset'])) { unset(Yii::app()->request->cookies['dateFrom']); unset(Yii::app()->request->cookies['dateTo']); unset(Yii::app()->request->cookies['from_date']); unset(Yii::app()->request->cookies['to_date']); } $SMSCommand = new SMSCommand(); $SMSCommand->unsetAttributes(); $SMSCommand->from_date = Yii::app()->request->cookies['from_date']; $SMSCommand->to_date = Yii::app()->request->cookies['to_date']; if ($_GET['SMSCommand']) { $SMSCommand->attributes = $_GET['SMSCommand']; } $dataProvider = $SMSCommand->search(); //csv if ($_GET['getcsv']) { $items = $dataProvider->model->findAll($dataProvider->criteria); if (!is_null($items)) { $data = array(); foreach ($items as $item) { $dataItem = $item->getAttributes(); $data[] = $dataItem; } $ECSVExporter = new ECSVExporter($data); It::downloadFile($ECSVExporter->getString(), 'csv.csv', 'text/csv'); exit; } } return $this->render('send_sms_command', ['form' => $form, 'dataProvider' => $dataProvider, 'dateFrom' => Yii::app()->request->cookies['dateFrom'], 'dateTo' => Yii::app()->request->cookies['dateTo']]); }