protected function _checkPost($requireAccessToken = true) { if (Mage::helper('storealerts')->isDebug() || Mage::app()->getStore()->isCurrentlySecure()) { if ($data = $this->getRequest()->getPost()) { $dataObj = new Varien_Object(); $dataObj->setData($data); $deviceToken = $dataObj->getDeviceToken(); $name = $dataObj->getName(); $username = $dataObj->getUsername(); $password = $dataObj->getPassword(); $accessToken = $requireAccessToken ? $dataObj->getAccessToken() : true; if ($deviceToken && $username && $password && $accessToken) { $admin = Mage::helper('storealerts')->login($username, $password); if ($admin->getId()) { try { $datetime = date("Y-m-d H:i:s"); $preference = Mage::getModel('extensions_store_storealerts/preference'); $preference->load($admin->getId()); if (!$preference->getId()) { $preference->setUserId($admin->getId())->setCreatedAt($datetime)->setUpdatedAt($datetime)->save(); } $dataObj->setPreference($preference); $device = Mage::getModel('extensions_store_storealerts/device'); $device->load($deviceToken, 'device_token'); if (!$device->getId()) { $device->setName($name)->setDeviceToken($deviceToken)->setUserId($admin->getId())->setCreatedAt($datetime)->setUpdatedAt($datetime)->save(); } $dataObj->setDevice($device); $result['error'] = false; $result['data'] = $dataObj; } catch (Exception $e) { $result['error'] = true; $result['data'] = $e->getMessage(); } } else { $result['error'] = true; $result['data'] = 'Could not login admin'; } } else { $result['error'] = true; $result['data'] = 'No device token, username, password or access token.'; } } else { $result['error'] = true; $result['data'] = 'No admin login credentials posted.'; } } else { $result['error'] = true; $result['data'] = 'Request is not over HTTPS.'; } if ($result['error'] === true) { $errorMessage = $result['data']; Mage::helper('storealerts')->log($errorMessage); } return $result; }