public function indexAction() { $userForm = new Application_Form_User(); if ($this->getRequest()->isPost()) { if ($userForm->isValid($_POST)) { $user = new Application_Model_User(); $this->userRepository->populate($user, $userForm->getValues()); $this->userRepository->create($user); $this->userRepository->flush(); $userForm->reset(); } } $this->view->users = $this->userRepository->findAll(); $this->view->userForm = $userForm; }
/** * Método utilizado para editar Users, testando a existência de uma requisão do tipo POST. * Seus valores são resgatados validados e atualizados no banco de dados. * @param int $id * @method updateAction * @access public * @return resource */ public function updateAction() { $form = new Application_Form_User(); $form->setAction('/user/update'); $users = new Application_Model_User(); if ($this->_request->isPost()) { if ($form->isValid($this->_request->getPost())) { $values = $form->getValues(); $users->update($values, 'id = ' . $values['id']); $this->_redirect('/user/retrieve'); } } else { $id = $this->_getParam('id'); $user = $users->fetchRow("id ={$id}")->toArray(); $form->populate($user); } $this->view->form = $form; }
public function editAction() { $form = new Application_Form_User(); $form->envoyer->setLabel('Modifier'); $this->view->form = $form; $id = $this->_getParam('id', 0); $users = new Application_Model_DbTable_Users(); $user = $users->find($id)->current(); if ($this->getRequest()->isPost()) { $formData = $this->getRequest()->getPost(); if ($form->isValid($formData)) { $user->username = $form->getValue('username'); $user->password = $form->getValue('password'); $user->role = $form->getValue('role'); $user->token = $form->getValue('token'); $user->save(); /* Traitemeent supplémentaire */ /* Transfert du WSDL > le répertoire client */ /* maj de la base */ // TODO A clarifier quels est la meilheur méthode pour réaliser l'upload $fullFilePath = $form->wsdl->getFileName(); $uploadedData = $form->getValues(); //Zend_Debug::dump( $form->getValues(), '$uploadedData'); //Zend_Debug::dump($fullFilePath, '$fullFilePath'); if ($form->wsdl->re) { $this->_helper->redirector('index'); } } else { $form->populate($formData); } } else { if ($id > 0) { $form->populate($user->toArray()); } } }
/** * Action save. * * @return void */ public function saveAction() { $messages = array(); $isValidEmail = true; $session = new Zend_Session_Namespace('data'); $form = new Application_Form_User(); $table = new Tri_Db_Table('user'); $data = $this->_getAllParams(); if ($data['email'] && (!isset($data['id']) || !$data['id'])) { $row = $table->fetchRow(array('email = ?' => $data['email'])); if ($row) { $isValidEmail = false; $messages[] = 'Email existing'; } } if (!isset($data['id']) || !$data['id']) { $form->getElement('password')->setAllowEmpty(false); } if ($form->isValid($data) && $isValidEmail) { if (!$form->image->receive()) { $messages[] = 'Image fail'; } $data = $form->getValues(); if (!$form->image->getValue()) { unset($data['image']); } if (!$data['password']) { unset($data['password']); } if (isset($data['id']) && $data['id'] && Zend_Auth::getInstance()->hasIdentity()) { $row = $table->find($data['id'])->current(); $row->setFromArray($data); $id = $row->save(); } else { unset($data['id']); $row = $table->createRow($data); $id = $row->save(); $session->attempt = 0; $data['password'] = $this->_getParam('password'); $this->view->data = $data; $mail = new Zend_Mail(APP_CHARSET); $mail->setBodyHtml($this->view->render('user/welcome.phtml')); $mail->setSubject($this->view->translate('Welcome')); $mail->addTo($data['email'], $data['name']); $mail->send(); $result = $this->login($data['email'], $data['password']); if ($result->isValid()) { if ($session->url) { $this->_helper->_flashMessenger->addMessage('Success'); $url = $session->url; $session->url = null; $this->_redirect($url); } } } $this->_helper->_flashMessenger->addMessage('Success'); $identity = Zend_Auth::getInstance()->getIdentity(); if ($identity->id == $id) { $this->_redirect('user/edit'); } if ($identity->role == 'institution') { $this->_redirect('user'); } $this->_redirect('dashboard'); } $messages[] = 'Error'; $this->view->messages = $messages; $this->view->form = $form; $this->render('form'); }
public function manageAction() { $userForm = new Application_Form_User(); $userForm->getElement('password')->setRequired(false); if ($this->getRequest()->isPost()) { //if we are updating $userId = $this->getRequest()->getParam('id'); if ($userId) { $userForm->setId($userId); } if ($userForm->isValid($this->getRequest()->getParams())) { $data = $userForm->getValues(); $user = new Application_Model_Models_User($data); Application_Model_Mappers_UserMapper::getInstance()->save($user); $this->_helper->response->success($this->_helper->language->translate('Saved')); exit; } else { $this->_helper->response->fail(Tools_Content_Tools::proccessFormMessages($userForm->getMessages())); exit; } } $pnum = (int) filter_var($this->getParam('pnum'), FILTER_SANITIZE_NUMBER_INT); $offset = 0; if ($pnum) { $offset = 10 * ($pnum - 1); } $select = $this->_zendDbTable->getAdapter()->select()->from('user'); $by = filter_var($this->getParam('by', 'last_login'), FILTER_SANITIZE_STRING); $order = filter_var($this->getParam('order', 'desc'), FILTER_SANITIZE_STRING); $searchKey = filter_var($this->getParam('key'), FILTER_SANITIZE_STRING); if (!in_array($order, array('asc', 'desc'))) { $order = 'desc'; } $select = $select->order($by . ' ' . $order); $paginatorOrderLink = '/by/' . $by . '/order/' . $order; if (!empty($searchKey)) { $select->where('email LIKE ?', '%' . $searchKey . '%')->orWhere('full_name LIKE ?', '%' . $searchKey . '%')->orWhere('role_id LIKE ?', '%' . $searchKey . '%')->orWhere('last_login LIKE ?', '%' . date("Y-m-d", strtotime($searchKey)) . '%')->orWhere('ipaddress LIKE ?', '%' . $searchKey . '%'); $paginatorOrderLink .= '/key/' . $searchKey; } $adapter = new Zend_Paginator_Adapter_DbSelect($select); $users = $adapter->getItems($offset, 10); $userPaginator = new Zend_Paginator($adapter); $userPaginator->setCurrentPageNumber($pnum); $userPaginator->setItemCountPerPage(10); $pager = $this->view->paginationControl($userPaginator, 'Sliding', 'backend/user/pager.phtml', array('urlData' => $this->_websiteUrl . 'backend/backend_user/manage', 'order' => $paginatorOrderLink)); if ($order === 'desc') { $order = 'asc'; } else { $order = 'desc'; } if (!empty($searchKey)) { $this->view->orderParam = $order . '/key/' . $searchKey; } else { $this->view->orderParam = $order; } $this->view->by = $by; $this->view->order = $order; $this->view->key = $searchKey; $this->view->pager = $pager; $this->view->users = $users; $this->view->helpSection = 'users'; $this->view->userForm = $userForm; }
public function editAction() { $id = $this->_request->getParam("id"); $form = new Application_Form_User(); $userInfo = Zend_Auth::getInstance()->getStorage()->read(); if ($userInfo->type == "regular") { $form->getElement("password")->setAttrib('disabled', 'disabled'); $form->getElement("userName")->setAttrib('disabled', 'disabled'); $form->getElement("email")->setAttrib('disabled', 'disabled'); $form->getElement("email")->setRequired(false); $form->getElement("userName")->setRequired(false); } $userInfo = Zend_Auth::getInstance()->getStorage()->read(); if ($userInfo->type == "admin") { $form->getElement("password")->setAttrib('disabled', 'disabled'); } $form->getElement("password")->setRequired(false); $form->getElement("email")->removeValidator('Db_NoRecordExists'); $form->getElement("profilePicture")->setRequired(false); $form->getElement("signature")->setRequired(false); if ($this->_request->isPost()) { if ($form->isValid($this->_request->getParams())) { $user_info = $form->getValues(); $user_model = new Application_Model_User(); $user_model->editUser($user_info); $userInfo = Zend_Auth::getInstance()->getStorage()->read(); if ($userInfo->type == "admin") { $this->redirect("user/list"); } else { $this->redirect("user/display"); } } } if (!empty($id)) { $user_model = new Application_Model_User(); $user = $user_model->getUserById($id); $form->populate($user[0]); } $this->view->form = $form; $this->render('add'); }