public function forgotPasswordAction() { $form = new Default_Form_ForgotPassword(); $form->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/forgot-password.phtml')))); $this->view->formForgotPassword = $form; $model = new Default_Model_Users(); if ($this->getRequest()->isPost()) { if ($form->isValid($this->getRequest()->getPost())) { $model->setOptions($form->getValues()); $select = $model->getMapper()->getDbTable()->select()->from(array('u' => 'users'), array('u.*'))->where("NOT u.deleted")->where("u.email=?", $model->getEmail()); $result = $model->fetchRow($select); if (count($result) != 0) { $newpass = ''; $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789"; for ($i = 0; $i < 8; $i++) { $n = rand(0, count($alphabet) - 1); $pass[$i] = $alphabet[$n]; $newpass .= $pass[$i]; } $newpassMd5 = md5($newpass); $model->setPassword($newpassMd5); $savedPass = $model->save(); $emailArray = array(); $emailArray['subject'] = 'Resetare Parola'; $emailArray['content'] = 'Noua dumneavoastra parola este: ' . $newpass; $emailArray['toEmail'] = $model->getEmail(); $emailArray['fromEmail'] = "*****@*****.**"; $emailArray['fromName'] = "Resetare Parola"; $emailArray['SMTP_USERNAME'] = SMTP_USERNAME; $emailArray['SMTP_PASSWORD'] = SMTP_PASSWORD; $emailArray['SMTP_PORT'] = SMTP_PORT; $emailArray['SMTP_URL'] = SMTP_URL; $sent = Needs_Tools::sendEmail($emailArray); if ($sent && $savedPass) { $this->_flashMessenger->addMessage("<div class='success canhide'><p>The password was successfully changed!</p><a href='javascript:;'></a></div>"); } else { $this->_flashMessenger->addMessage("<div class='error canhide'><p>The password was not changed!<a href='javascript:;'></a></p></div>"); } } else { $this->_flashMessenger->addMessage("<div class='error canhide'><p>The email was not found in the database!<a href='javascript:;'></a></p></div>"); } $this->_redirect('/auth/forgot-password/'); } } }
public function indexAction() { $model = new Default_Model_Users(); $params = array(); $name = $this->getRequest()->getParam('nameSearch'); $email = $this->getRequest()->getParam('emailSearch'); $page = $this->getRequest()->getParam('page') ? (int) $this->getRequest()->getParam('page') : 1; $shop = $this->getRequest()->getParam('idShopSearch'); $level = $this->getRequest()->getParam('idRoleSearch'); $select = $model->getMapper()->getDbTable()->select()->where('NOT deleted'); if (!empty($name)) { $params['nameSearch'] = $name; $select->where('name LIKE ?', '%' . $name . '%'); } if (!empty($email)) { $params['emailSearch'] = $email; $select->where('email LIKE ?', '%' . $email . '%'); } if (!empty($shop)) { $params['idShopSearch'] = $shop; $select->where('idShop = ?', $shop); } if (!empty($level)) { $params['idRoleSearch'] = $level; $select->where('idRole = ?', $level); } $select->order('created DESC'); $this->view->page = $page; $this->view->search = $params; $result = $model->fetchAll($select); if (NULL != $result) { $paginator = Zend_Paginator::factory($result); $paginator->setItemCountPerPage(10); $paginator->setCurrentPageNumber($this->_getParam('page')); $paginator->setPageRange(5); $this->view->result = $paginator; $this->view->itemCountPerPage = $paginator->getItemCountPerPage(); $this->view->totalItemCount = $paginator->getTotalItemCount(); Zend_Paginator::setDefaultScrollingStyle('Sliding'); Zend_View_Helper_PaginationControl::setDefaultViewPartial(array('_pagination.phtml', $params)); } Needs_Roles::hasAccess('adaugare_utilizator', true); $form = new Default_Form_Users(); $form->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/users/user-add.phtml')))); $this->view->form = $form; $formSearch = new Default_Form_UsersSearch(); $formSearch->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/users/user-search.phtml')))); $this->view->formSearch = $formSearch; if ($this->getRequest()->isPost()) { $post = $this->getRequest()->getPost(); if (!empty($post['action']) && $post['action'] == 'add') { if ($form->isValid($post)) { $model = new Default_Model_Users(); $model->setOptions($form->getValues()); $password = substr(md5(sha1(rand(0, 9999999))), 0, 6); $code = substr(md5(sha1(rand(0, 9999999))), 0, 6); $model->setPassword(md5($password)); //generare parola random la inregistrare user $model->setCode($code); $model->setStatus(0); if ($id = $model->save()) { //BEGIN:salvam drepturile if ($form->getValue('resourceId')) { foreach ($form->getValue('resourceId') as $value) { $resourceUser = new Default_Model_ResourceUsers(); $resourceUser->setResourceId($value); $resourceUser->setUserId($id); $resourceUser->save(); } } //END:salvam drepturile //BEGIN: CHECK IF DISTRICT MANAGER AND SAVE SHOPS if ($form->getValue('idRole') == 14) { foreach ($form->getValue('idShopMulti') as $value) { $shopUser = new Default_Model_DistrictManagerShops(); $shopUser->setIdShop($value); $shopUser->setIdUser($id); $shopUser->save(); } } //END: CHECK IF DISTRICT MANAGER AND SAVE SHOPS //BeGIN: send email with user data, generated password and activation link $activation = '<a href="' . WEBROOT . 'auth/activation/code/' . $code . '">Activate</a>'; $emailTemplate = new Default_Model_EmailTemplates(); $select = $emailTemplate->getMapper()->getDbTable()->select()->where('const = ?', 'user_activare_cont')->limit(1); $emailTemplate->fetchRow($select); if (NULL != $emailTemplate->getContent()) { $emailArray = array(); $name = $model->getName(); $message = nl2br($emailTemplate->getContent()); $message = str_replace("{" . "\$" . "name}", $name, $message); $message = str_replace("{" . "\$" . "password}", $password, $message); $message = str_replace("{" . "\$" . "activation_link}", $activation, $message); $emailArray['subject'] = $emailTemplate->getSubject(); $emailArray['content'] = $message; $emailArray['toEmail'] = $model->getEmail(); $emailArray['toName'] = $name; $emailArray['fromEmail'] = FROM_EMAIL; $emailArray['fromName'] = FROM_NAME; $emailArray['SMTP_USERNAME'] = SMTP_USERNAME; $emailArray['SMTP_PASSWORD'] = SMTP_PASSWORD; $emailArray['SMTP_PORT'] = SMTP_PORT; $emailArray['SMTP_URL'] = SMTP_URL; Needs_Tools::sendEmail($emailArray); } //END: send email $this->_flashMessenger->addMessage("<div class='success canhide'><p>User was successfully added!<a href='javascript:;'>Close</a></p></div>"); } else { $this->_flashMessenger->addMessage("<div class='failure canhide'><p>The user was not saved!<a href='javascript:;'>Close</a></p></div>"); } $this->_redirect('/users'); } } } }
public function detailsAction() { $userId = null; $auth = Zend_Auth::getInstance(); $authAccount = $auth->getStorage()->read(); if (null != $authAccount) { if (null != $authAccount->getId()) { $this->view->userlogat = $authAccount; } } $id = (int) $this->getRequest()->getParam('id'); if ($id) { // BEGIN: Find model $model = new Default_Model_RecurrentExpenses(); if ($model->find($id)) { $this->view->result = $model; } $select = $model->getMapper()->getDbTable()->select()->where('NOT deleted')->order(array('created DESC')); $result = $model->fetchAll($select); // END: Find model //START: Adaugare comment $form_comments = new Default_Form_Comments(); $form_comments->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/comments.phtml')))); $this->view->plugin_form_comments = $form_comments; if ($this->getRequest()->isPost()) { $model = new Default_Model_Comments(); $action = $this->getRequest()->getPost('action'); if ($form_comments->isValid($this->getRequest()->getPost())) { $model->setOptions($form_comments->getValues()); $model->setIdProject($id); $saved_comment = $model->save(); if ($saved_comment) { $admins = Needs_Tools::findAdmins(); $adminIds = Needs_Tools::findAdmins('id'); foreach ($adminIds as $adminId) { $emailTemplate = new Default_Model_EmailTemplates(); } $auth = Zend_Auth::getInstance(); $authAccount = $auth->getStorage()->read(); if (null != $authAccount) { if (null != $authAccount->getId()) { $user = new Default_Model_Users(); $user->find($authAccount->getId()); } } $select = $emailTemplate->getMapper()->getDbTable()->select()->where('const = ?', 'adaugare_comentariu_admin')->limit(1); $emailTemplate->fetchRow($select); if (NULL != $emailTemplate->getContent()) { $emailArray = array(); $name = $user->name . ' ' . $user->surname; $message = $emailTemplate->getContent(); $message = str_replace("{" . "\$" . "name}", $name, $message); $notification = new Default_Model_NotificationMessages(); $notification->setIdUser($authAccount->getId()); $notification->setIdProject($id); $notification->setSubject($emailTemplate->getSubject()); $notification->setMessage($message); if ($idNotification = $notification->save()) { $notify = new Default_Model_NotificationTo(); $notify->setIdNotification($idNotification); $notify->setStatus('1'); foreach ($adminIds as $adminId) { $notify->setIdUserTo($adminId); $notify->save(); } } else { $this->_flashMessenger->addMessage("<div class='failure canhide'><p>Notificarile nu au fost salvate cu succes<a href='javascript:;'></a></p></div>"); } $emailArray['subject'] = $emailTemplate->getSubject(); $emailArray['content'] = $message; $emailArray['toEmail'] = $admins; $emailArray['toName'] = $name; $emailArray['fromEmail'] = EMAIL; $emailArray['fromName'] = FROM_NAME; $emailArray['SMTP_USERNAME'] = SMTP_USERNAME; $emailArray['SMTP_PASSWORD'] = SMTP_PASSWORD; $emailArray['SMTP_PORT'] = SMTP_PORT; $emailArray['SMTP_URL'] = SMTP_URL; Needs_Tools::sendEmail($emailArray); } $this->_flashMessenger->addMessage("<div class='success canhide'><p>The comment was added successfully!<a href='javascript:;'></a></p></div>"); } else { $this->_flashMessenger->addMessage("<div class='failure canhide'><p>The comment was not added successfully!<a href='javascript:;'></a></p></div>"); } $this->_redirect(WEBROOT . '/recurrent-expenses/details/id/' . $id); } } //end adaugare comment //$modelc = new Default_Model_Comments(); // $select = $modelc->getMapper()->getDbTable()->select() // ->from(array('c' => 'comment'), array('c.*')) // ->where("NOT c.deleted") // ->where("c.idParent IS NULL") // ->where("c.idProduct=?",$model->getId()) // ->order(array('c.created DESC')); // $resultc = $modelc->fetchAll($select); // // if(NULL != $resultc) // { // $paginator = Zend_Paginator::factory($resultc); // $paginator->setItemCountPerPage(25); // $paginator->setCurrentPageNumber($this->_getParam('page')); // $paginator->setPageRange(5); // $this->view->resultc = $paginator; // $this->view->itemCountPerPage = $paginator->getItemCountPerPage(); // $this->view->totalItemCount = $paginator->getTotalItemCount(); // // Zend_Paginator::setDefaultScrollingStyle('Sliding'); // Zend_View_Helper_PaginationControl::setDefaultViewPartial('_pagination.phtml'); // } } }