public function savepostAction() { if ($datas = $this->getRequest()->getPost()) { $admin = new Admin_Model_Admin(); $current_admin = $this->getSession()->getAdmin(); $check_email_admin = new Admin_Model_Admin(); $html = ''; try { if (!empty($datas['admin_id'])) { $admin->find($datas['admin_id']); if (!$admin->getId() or $current_admin->getParentId() and $admin->getId() != $current_admin->getId()) { throw new Exception($this->_('An error occurred while saving your account. Please try again later.')); } } if (empty($datas['email'])) { throw new Exception($this->_('The email is required')); } $isNew = (bool) (!$admin->getId()); $check_email_admin->find($datas['email'], 'email'); if ($check_email_admin->getId() and $check_email_admin->getId() != $admin->getId()) { throw new Exception($this->_('This email address is already used')); } if (isset($datas['password'])) { if ($datas['password'] != $datas['confirm_password']) { throw new Exception($this->_('Your password does not match the entered password.')); } if (!empty($datas['old_password']) and !$admin->isSamePassword($datas['old_password'])) { throw new Exception($this->_("The old password does not match the entered password.")); } if (!empty($datas['password'])) { $admin->setPassword($datas['password']); unset($datas['password']); } } else { if ($isNew) { throw new Exception($this->_('The password is required')); } } if ($isNew) { $datas['parent_id'] = $current_admin->getId(); } $admin->addData($datas)->save(); $html = array('success' => 1); if ($current_admin->getParentId()) { $html = array_merge($html, array('success_message' => $this->_('The account has been successfully saved'), 'message_timeout' => false, 'message_button' => false, 'message_loader' => 1)); } else { $this->getSession()->addSuccess($this->_('The account has been successfully saved')); } } catch (Exception $e) { $html = array('error' => 1, 'message' => $e->getMessage()); } $this->_sendHtml($html); } }
public function savepostAction() { if ($datas = $this->getRequest()->getPost()) { $admin = new Admin_Model_Admin(); $check_email_admin = new Admin_Model_Admin(); try { if (!empty($datas['admin_id'])) { $admin->find($datas['admin_id']); if (!$admin->getId()) { throw new Exception($this->_('An error occurred while saving your account. Please try again later.')); } } if (empty($datas['email'])) { throw new Exception($this->_('The email is required')); } $isNew = (bool) (!$admin->getId()); $check_email_admin->find($datas['email'], 'email'); if ($check_email_admin->getId() and $check_email_admin->getId() != $admin->getId()) { throw new Exception($this->_('This email address is already used')); } if (isset($datas['password'])) { if ($datas['password'] != $datas['confirm_password']) { throw new Exception($this->_('Your password does not match the entered password.')); } if (!empty($datas['old_password']) and !$admin->isSamePassword($datas['old_password'])) { throw new Exception($this->_("The old password does not match the entered password.")); } if (!empty($datas['password'])) { $admin->setPassword($datas['password']); unset($datas['password']); } } else { if ($isNew) { throw new Exception($this->_('The password is required')); } } $admin->addData($datas)->save(); $this->getSession()->addSuccess($this->_('The account has been successfully saved')); $this->_redirect('admin/backoffice/list'); } catch (Exception $e) { $this->getSession()->addError($e->getMessage()); if ($admin->getId()) { $this->_redirect('admin/backoffice/edit', array('admin_id' => $admin->getId())); } else { $this->_redirect('admin/backoffice/new'); } } } }
public function saveAction() { if ($data = Zend_Json::decode($this->getRequest()->getRawBody())) { try { if (!Zend_Validate::is($data["email"], "emailAddress")) { throw new Exception($this->_("Please, enter a correct email address.")); } $admin = new Admin_Model_Admin(); $dummy = new Admin_Model_Admin(); $dummy->find($data["email"], "email"); $isNew = true; $data["confirm_password"] = !empty($data["confirm_password"]) ? $data["confirm_password"] : ""; if (!empty($data["id"])) { $admin->find($data["id"]); $isNew = !$admin->getId(); } if ($isNew and empty($data["password"])) { throw new Exception($this->_("Please, enter a password.")); } if (empty($data["password"]) and empty($data["confirm_password"])) { unset($data["password"]); unset($data["confirm_password"]); } if (!empty($data["password"]) and $data["password"] != $data["confirm_password"]) { throw new Exception($this->_("Passwords don't match")); } $admin->addData($data); if ($dummy->getEmail() == $admin->getEmail() and $dummy->getId() != $admin->getId()) { throw new Exception($this->_("We are sorry but this email address already exists.")); } if (!empty($data["password"])) { $admin->setPassword($data["password"]); } if (!empty($data["publication_access_type"])) { $admin->setPublicationAccessType($data["publication_access_type"]); } $admin->save(); $data = array("success" => 1, "message" => $this->_("User successfully saved")); } catch (Exception $e) { $data = array("error" => 1, "message" => $e->getMessage()); } $this->_sendHtml($data); } }
public function updateAction() { if ($data = $this->getRequest()->getPost()) { try { if (isset($data["id"])) { unset($data["id"]); } $admin = new Admin_Model_Admin(); if (!empty($data["user_id"])) { $admin->find($data["user_id"]); if (!$admin->getId()) { throw new Exception($this->_("This admin does not exist")); } } if (!empty($data["email"])) { $email_checker = new Admin_Model_Admin(); $email_checker->find($data['email'], 'email'); if ($email_checker->getId() and $email_checker->getId() != $admin->getId()) { throw new Exception($this->_("This email address is already used")); } } $admin->addData($data); if (isset($data['password'])) { $admin->setPassword($data["password"]); } $admin->save(); $data = array("success" => 1, "user_id" => $admin->getId(), "token" => $admin->getLoginToken()); } catch (Exception $e) { $data = array('error' => 1, 'message' => $e->getMessage()); } $this->_sendHtml($data); } }