function init() { $this->setMethod('post'); $this->addAttribs(array('id' => 'share-file', 'class' => '')); $action = new Zend_Form_Element_Hidden('action'); $action->setValue('sharefile'); $this->addElement($action); $idFile = new Zend_Form_Element_Hidden('idFile'); $idFile->setValue(Zend_Controller_Front::getInstance()->getRequest()->getParam('id')); $this->addElement($idFile); //BEGIN:Users $idUserTo = new Zend_Form_Element_Select('idUserTo'); $idUserTo->setLabel('To: '); $options = array('' => 'Select user'); $shops = new Default_Model_Users(); $select = $shops->getMapper()->getDbTable()->select()->where('id != ?', Zend_Registry::get('user')->getId())->where('NOT deleted')->order('name DESC'); $result = $shops->fetchAll($select); if (NULL != $result) { foreach ($result as $value) { $options[$value->getId()] = $value->getName(); } } $idUserTo->addMultiOptions($options); $idUserTo->addValidator(new Zend_Validate_InArray(array_keys($options))); $idUserTo->setAttribs(array('class' => 'validate[required] form_selector_fm', 'id' => 'idUserTo')); $idUserTo->setRequired(true); $this->addElement($idUserTo); //END:Users $subject = new Zend_Form_Element_Text('subject'); $subject->setLabel('Subject'); $subject->setAttribs(array('class' => 'form_subject w_424 validate[required]', 'placeholder' => 'Subject')); $subject->setRequired(true); $this->addElement($subject); $message = new Zend_Form_Element_Textarea('message'); $message->setLabel('Observations'); $message->setAttribs(array('class' => 'form_textarea w_424 h_97 validate[required]', 'placeholder' => 'Observations', 'style' => 'width:290px')); $message->setRequired(true); $this->addElement($message); $button = new Zend_Form_Element_Submit('rightSubmit'); $button->setValue('SEND'); $button->setAttribs(array('class' => 'comments_submit')); $button->setIgnore(true); $this->addElement($button); }
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 static function findAdmins($id = NULL) { $modelu = new Default_Model_Users(); if (!isset($id)) { $select = $modelu->getMapper()->getDbTable()->select()->from(array('u' => 'users'), array('u.email'))->joinLeft(array('r' => 'role'), 'u.`idRole` = r.`id`', array(''))->where('r.`isAdmin` = ?', '1')->setIntegrityCheck(false); } else { $select = $modelu->getMapper()->getDbTable()->select()->from(array('u' => 'users'), array('u.id'))->joinLeft(array('r' => 'role'), 'u.`idRole` = r.`id`', array(''))->where('r.`isAdmin` = ?', '1')->setIntegrityCheck(false); } $result = $modelu->fetchAll($select); $return = null; if ($result) { foreach ($result as $res) { if (!isset($id)) { $array[] = $res->getEmail(); } else { $array[] = $res->getId(); } } $return = $array; } return $return; }