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