public function executeCheckState(sfWebRequest $request) { $this->getContext()->getConfiguration()->loadHelpers('Asset'); $c_image = image_path('control.png', true); $w_image = image_path('warning.png', true); $warning = array(); $event = sensor_eventTable::getInstance()->createQuery('e')->select()->where('e.place_id = 2')->limit(1)->orderBy('e.created_at desc')->execute(); if (!empty($event[0])) { if (strlen($event[0]['description']) > 0) { $warning[] = array('id' => $event[0]['place_id'], 'description' => $event[0]['description'], 'image' => $w_image); } else { $warning[] = array('id' => $event[0]['place_id'], 'description' => $event[0]['description'], 'image' => $c_image); } } $event = sensor_eventTable::getInstance()->createQuery('e')->select()->where('e.place_id = 3')->limit(1)->orderBy('created_at desc')->execute(); if (!empty($event[0])) { if (strlen($event[0]['description']) > 0) { $warning[] = array('id' => $event[0]['place_id'], 'description' => $event[0]['description'], 'image' => $w_image); } else { $warning[] = array('id' => $event[0]['place_id'], 'description' => $event[0]['description'], 'image' => $c_image); } } $event = sensor_eventTable::getInstance()->createQuery('e')->select()->where('e.place_id = 4')->limit(1)->orderBy('created_at desc')->execute(); if (!empty($event[0])) { if (strlen($event[0]['description']) > 0) { $warning[] = array('id' => $event[0]['place_id'], 'description' => $event[0]['description'], 'image' => $w_image); } else { $warning[] = array('id' => $event[0]['place_id'], 'description' => $event[0]['description'], 'image' => $c_image); } } $event = sensor_eventTable::getInstance()->createQuery('e')->select()->where('e.place_id = 5')->limit(1)->orderBy('created_at desc')->execute(); if (!empty($event[0])) { if (strlen($event[0]['description']) > 0) { $warning[] = array('id' => $event[0]['place_id'], 'description' => $event[0]['description'], 'image' => $w_image); } else { $warning[] = array('id' => $event[0]['place_id'], 'description' => $event[0]['description'], 'image' => $c_image); } } return $this->renderText(json_encode($warning)); }
public function executeStore_data(sfWebRequest $request) { $temp = $request->getParameter('temp'); $water = $request->getParameter('water'); $gas = $request->getParameter('gas'); $earthquake = $request->getParameter('earthquake'); $markers['venezia']['lat'] = '45.43364'; $markers['venezia']['lng'] = '12.32391'; $markers['venezia']['id'] = '2'; $markers['milano']['lat'] = '45.46545'; $markers['milano']['lng'] = '9.18652'; $markers['milano']['id'] = '3'; $markers['aquila']['lat'] = '42.34840'; $markers['aquila']['lng'] = '13.37311'; $markers['aquila']['id'] = '4'; $markers['roma']['lat'] = '41.90151'; $markers['roma']['lng'] = '12.46077'; $markers['roma']['id'] = '5'; foreach ($markers as $key => $value) { $log = new sensor_log(); $log['latitude'] = $value['lat']; $log['longitude'] = $value['lng']; $log['temp'] = $key == 'roma' ? $temp : 0; $log['water'] = $key == 'venezia' ? $water : 0; $log['gas'] = $key == 'milano' ? $gas : 0; $log['earthquake'] = $key == 'aquila' ? $earthquake : 0; $log['place_id'] = $value['id']; $log->save(); $event = sensor_eventTable::getInstance()->createQuery('e')->select()->where('e.place_id = ' . $log['place_id'])->limit(1)->orderBy('created_at desc')->execute(); if ($log['place_id'] == 2 && (empty($event[0]) || $event[0]['water'] != $log['water'])) { $event = new sensor_event(); $event['temp'] = $log['temp']; $event['water'] = $log['water']; $event['gas'] = $log['gas']; $event['earthquake'] = $log['earthquake']; $event['description'] = $log['water'] ? 'Acqua alta' : ''; $event['place_id'] = $value['id']; $event->save(); } if ($log['place_id'] == 3 && (empty($event[0]) || $event[0]['gas'] != $log['gas'])) { $event = new sensor_event(); $event['temp'] = $log['temp']; $event['water'] = $log['water']; $event['gas'] = $log['gas']; $event['earthquake'] = $log['earthquake']; $event['description'] = $log['gas'] ? 'Fuga di gas' : ''; $event['place_id'] = $value['id']; $event->save(); } if ($log['place_id'] == 4 && (empty($event[0]) || $event[0]['earthquake'] != $log['earthquake'])) { $event = new sensor_event(); $event['temp'] = $log['temp']; $event['water'] = $log['water']; $event['gas'] = $log['gas']; $event['earthquake'] = $log['earthquake']; $event['description'] = $log['earthquake'] ? 'Terremoto' : ''; $event['place_id'] = $value['id']; $event->save(); } if ($log['place_id'] == 5 && (empty($event[0]) || $event[0]['temp'] != $log['temp'])) { $event = new sensor_event(); $event['temp'] = $log['temp']; $event['water'] = $log['water']; $event['gas'] = $log['gas']; $event['earthquake'] = $log['earthquake']; $event['description'] = $log['temp'] ? 'Incendio' : ''; $event['place_id'] = $value['id']; $event->save(); } } return $this->renderText(json_encode(array('puppa' => 'melo'))); }