Ejemplo n.º 1
0
 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));
 }
Ejemplo n.º 2
0
 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')));
 }