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; } }