public function updatepositionAction()
 {
     if ($params = $this->getRequest()->getPost()) {
         if (empty($params['latitude']) or empty($params['longitude']) or empty($params['device_uid'])) {
             return;
         }
         $device = new Push_Model_Iphone_Device();
         $device->find($params['device_uid'], 'device_uid');
         if (!$device->getId()) {
             $device->setDeviceUid($params['device_uid']);
         }
         $device->setLastKnownLatitude($params['latitude'])->setLastKnownLongitude($params['longitude'])->save();
         $messages = $device->findNotReceivedMessages();
         if ($messages->count() > 0) {
             foreach ($messages as $message) {
                 $instance = $message->getInstance('iphone');
                 $instance->setMessage($message);
                 if ($instance->isInsideRadius($device->getLastKnownLatitude(), $device->getLastKnownLongitude())) {
                     $instance->isDev($isDev)->sendMessage($device);
                 }
             }
         }
         die('done');
     }
 }
 protected function _getDeviceUid()
 {
     $id = null;
     if ($device_uid = $this->getRequest()->getParam('device_uid')) {
         if (!empty($device_uid)) {
             if (strlen($device_uid) == 36) {
                 $device = new Push_Model_Iphone_Device();
                 $device->find($device_uid, 'device_uid');
                 $id = $device->getDeviceUid();
             } else {
                 $device = new Push_Model_Android_Device();
                 $device->find($device_uid, 'registration_id');
                 $id = $device->getRegistrationId();
             }
         }
     }
     return $id;
 }
 public function updatepositionAction()
 {
     if ($params = $this->getRequest()->getPost()) {
         if (empty($params['device_uid'])) {
             return;
         }
         $device = new Push_Model_Iphone_Device();
         $device->find($params['device_uid'], 'device_uid');
         if (!$device->getId()) {
             $device->setDeviceUid($params['device_uid'])->setAppId($params['app_id']);
         }
         $messages = $device->findNotReceivedMessages(true);
         if ($messages->count() > 0) {
             foreach ($messages as $message) {
                 $instance = $message->getInstance('iphone');
                 $instance->setMessage($message);
                 $instance->createConnection();
                 $instance->sendMessage($device);
             }
         }
         die;
     }
 }