示例#1
0
 /**
  * Station Sensor
  */
 public function actionSensors()
 {
     if (isset($_REQUEST['station_id'])) {
         $station = Station::model()->with(['sensors' => ['with' => ['main_feature', 'handler']]])->findByPk(intval($_REQUEST['station_id']));
         if (is_null($station)) {
             $this->redirect($this->createUrl('admin/Stations'));
         }
         foreach ($station->sensors as $sensor) {
             if (!is_null($sensor->main_feature)) {
                 $handler_obj = SensorHandler::create($sensor->handler->handler_id_code);
                 $sensor->main_feature->filter_min = $handler_obj->formatValue($sensor->main_feature->filter_min, $sensor->main_feature->feature_code);
                 $sensor->main_feature->filter_max = $handler_obj->formatValue($sensor->main_feature->filter_max, $sensor->main_feature->feature_code);
                 $sensor->main_feature->filter_diff = $handler_obj->formatValue($sensor->main_feature->filter_diff, $sensor->main_feature->feature_code);
             }
         }
         $calculations = CalculationDBHandler::getHandlers();
         foreach ($calculations as $key => $calculation) {
             if (!in_array($calculation->handler_id_code, array('DewPoint', 'PressureSeaLevel'))) {
                 unset($calculations[$key]);
             }
         }
         $this->render('station_sensors', array('station' => $station, 'calculations' => $calculations));
     } else {
         $this->redirect($this->createUrl('admin/Stations'));
     }
 }