Exemple #1
0
 public function Arch()
 {
     $model = new Vagon();
     //Получаем все Сборщики
     $musd = $this->getUsd(NULL);
     //var_export($musd);
     if (count($musd) > 0) {
         foreach ($musd as $vusd) {
             //Получаем Приборы по каждому Сборщику
             $mdevice = $this->getDevice($vusd['id']);
             //var_export($mdevice);
             if (count($mdevice) > 0) {
                 foreach ($mdevice as $vdevice) {
                     //Получаем Каналы по каждому Прибору
                     $mchan = $this->getDataList($vdevice['id']);
                     //echo ". Value of USD=" . $vusd['id'] . " , and Device=" . $vdevice['id'] . "\n";
                     //var_export($mchan);
                     if (count($mchan) > 0) {
                         foreach ($mchan as $vchan) {
                             //Сформируем crq запрос
                             $adr = $vusd['dns_name'] . Url::to(['/crq', 'req' => 'archive', 'type' => 'b', 'n1' => $vchan['number'], 'n2' => $vchan['number'], 't1' => date('YmdHis', strtotime($vchan['time_point'])), 't2' => date('YmdHis')]);
                             //Отправим запрос
                             if ($backCurl = $model->getCurlOut($adr, $vusd['login'], $vusd['pass'])) {
                                 if (!($parse = $model->parseData($backCurl))) {
                                     continue;
                                 }
                             }
                             echo ". Value of USD=" . $vusd['id'] . ", and Device=" . $vdevice['id'] . ", and Chan=" . $vchan['id'] . " get " . count($parse) . " values\n";
                             //Полученные значения сохраняем
                             $back_time = $this->SaveMass($parse, $vchan['id']);
                             //echo "Back-time: ".$back_time."\n";
                             if ($back_time != NULL and $back_time != FALSE) {
                                 //Успешно вернулись с сохранения, передвинем time_point по последнему значению
                                 $this->MovePoint($vchan['id'], $back_time);
                             }
                         }
                     }
                 }
             }
         }
     } else {
         echo "Get array of NULL";
     }
     return TRUE;
 }
Exemple #2
0
 public function actionAction()
 {
     if (User::hasRole('admin')) {
         //\Yii::trace('### ### ### Тест лога');
         //Проверяем был ли выбрана комманда
         $ids = Yii::$app->request->post('ActionForm');
         //\Yii::trace(Yii::$app->request->post('ActionForm'));
         //Проверяем, выбран ли пустой id, если да, то как будто только открыли
         if ($ids and ArrayHelper::isIn('', $ids)) {
             $ids = null;
         }
         //Для проверки отправки запроса получаем значение
         $page = Yii::$app->request->post('adr');
         if ($ids) {
             //Если выбран ID
             $model = $this->findModel($ids);
             return $this->render('action', ['model' => $model, 'ghide' => 1, 'gadr' => '10.24.2.188', 'guser' => '', 'gpass' => '', 'gid' => $model->id, 'gcommand' => $model->actionstring, 'gparams' => $model->params, 'pagein' => '', 'pageout' => '']);
         } elseif ($page) {
             //Если отправлен запрос
             $ids = Yii::$app->request->post('id');
             $model = $this->findModel($ids);
             $vagon = new Vagon();
             $pagein = 'http://' . Yii::$app->request->post('adr') . '/crq?req=' . Yii::$app->request->post('string') . '&' . Yii::$app->request->post('params');
             $user = Yii::$app->request->post('user');
             $pass = Yii::$app->request->post('pass');
             return $this->render('action', ['model' => $model, 'ghide' => 2, 'gadr' => Yii::$app->request->post('adr'), 'guser' => $user, 'gpass' => $pass, 'gid' => $model->id, 'gcommand' => Yii::$app->request->post('string'), 'gparams' => Yii::$app->request->post('params'), 'pagein' => $pagein, 'pageout' => $vagon->getCurlOut($pagein, $user, $pass)]);
         } else {
             //Если форму только открыли
             return $this->render('action', ['model' => new ActionForm(), 'ghide' => 0, 'gadr' => '', 'guser' => '', 'gpass' => '', 'gid' => '', 'gcommand' => '', 'gparams' => '', 'pagein' => '', 'pageout' => '']);
         }
     } else {
         throw new NotFoundHttpException('Страница не найдена.');
     }
 }