예제 #1
0
파일: ShareFile.php 프로젝트: valizr/MMA
 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);
 }
예제 #2
0
 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');
             }
         }
     }
 }
예제 #3
0
파일: Tools.php 프로젝트: valizr/MMA
 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;
 }