Esempio n. 1
0
 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');
             }
         }
     }
 }
Esempio n. 3
0
 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);
     }
 }