/** * Function to send notification to all clients * @param int $userId id of the user for which ipn request is to be sent * @return void * **/ public function sendIpnForUser($userId) { $objUserModel = new \models\Users(); $userRow = $objUserModel->getUserById($userId); if ($userRow) { $dataToSend = array('first_name' => $userRow->first_name, 'last_name' => $userRow->last_name, 'email_address' => $userRow->email, 'username' => $userRow->user_name, 'cimba_auth_id' => $userRow->id); $this->_parameters = $dataToSend; $clientResponse = $this->_request(); $status = -1; //mark synced status as ipn request sent $objUserSyncStatusModel = new \models\UserSyncStatus(); $userSyncStatusRow = $objUserSyncStatusModel->getRowByUserId($userRow->id); if ($clientResponse) { $status = $clientResponse['data']['status']; } if ($userSyncStatusRow) { $userSyncStatusRow->amt_sync_status = $status; $objUserSyncStatusModel->getRedBeans()->store($userSyncStatusRow); } } }
public function actionUpdate() { $params = array('cimba_auth_id'); //email,first_name,last_name ,user_name are optional try { $isRequestValid = $this->_validator->validateRequest($params); if ($isRequestValid) { $email = $this->_request->getParam('email', null); $firstName = $this->_request->getParam('first_name', null); $lastName = $this->_request->getParam('last_name', null); $cimbaAuthId = $this->_request->getParam('cimba_auth_id', null); $objUsersModel = new \models\Users(); $userData = array('email' => $email, 'first_name' => $firstName, 'last_name' => $lastName, 'user_name' => $this->_request->getParam('user_name', null)); $userId = $objUsersModel->update($cimbaAuthId, $userData); if ($userId) { //mark user as unsynced $objUserSyncStatus = new \models\UserSyncStatus(); $objUserSyncStatus->markUserAsUnsynced($userId); /**@todo : send notification to all other servers **/ $this->_response->renderJson(array('message' => 'User successfully updated', 'success' => true), 200); } else { $this->_response->renderJson(array('message' => 'Error updating user'), 404); } } else { $this->_response->renderJson(array('message' => 'Request cannot be validated'), 400); } } catch (\Exception $e) { $this->_response->renderJson(array('message' => $e->getMessage()), 500); } }