db=Zend_Registry::get('db'); $this->view->config = Zend_Registry::get('config'); $this->messenger=$this->_helper->getHelper('FlashMessenger'); $this->view->messages = $this->messenger->getMessages(); } function postDispatch() { $this->view->messages = $this->messenger->getMessages(); } function indexAction() { //其他连接 } function listAction() { $select=$this->db->select(); $select->from('users') ->where('usertype = ?', 'member') ->order('users.id desc'); $paginator = Zend_Paginator::factory($select); $paginator->setCurrentPageNumber($this->_getParam('page')); $paginator->setItemCountPerPage(30); $paginator->setView($this->view); Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination.phtml'); $this->view->paginator=$paginator; } function deleteAction() { $delete=(int)$this->_getParam('id'); $deletename = $this->_getParam('uname'); if (isset($delete)) { $sql="delete from users where id=?"; try { $this->db->query($sql,array($delete)); $this->messenger->addMessage('您已经成功的删除了用户:'.$deletename); } catch (Exception $e) { $this->messenger->addMessage($e->getMessage()); } $this->_redirect("/admin/user/list"); } } function adminlistAction() { $select=$this->db->select(); $select->from('users') ->where('usertype = ?', 'administrator') ->order('users.id desc'); $paginator = Zend_Paginator::factory($select); $paginator->setCurrentPageNumber($this->_getParam('page')); $paginator->setItemCountPerPage(30); $paginator->setView($this->view); Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination.phtml'); $this->view->paginator=$paginator; } function showAction() { $id=(int)$this->_getParam('id'); if (isset($id)) { try { $sql="select * from users where id=?"; $result=$this->db->query($sql,$id); $rows = $result->fetch(); $this->view->infos=$rows; } catch (Exception $e) { $this->messenger->addMessage($e->getMessage()); } } else { $this->_redirect("/admin/user/list"); } } function editAction() { $id=(int)$this->_getParam('id'); $usertype=$this->_getParam('usertype'); $newpwd=$this->_getParam('newpwd'); $cfnewpwd=$this->_getParam('cfnewpwd'); $sql=""; $updates=array(); if (isset($id)) { if(!empty($newpwd)&&!empty($cfnewpwd)) { if($newpwd==$cfnewpwd) { $password=md5($newpwd); $updates[]="password='$password'"; } else { $this->messenger->addMessage('两次密码不相同'); $this->_redirect("/admin/user/show/id/$id"); } } if(isset($usertype)) { $updates[]="usertype='$usertype'"; } $update=join(',',$updates); $sql="update users set $update where id='$id'"; try { $this->db->query($sql); $this->messenger->addMessage('编辑成功!'); } catch (Exception $e) { $this->messenger->addMessage($e->getMessage()); } $this->_redirect("/admin/user/show/id/$id"); } else { $this->_redirect("/admin/user/list"); } } function fetchpwdAction() { $id=(int)$this->_getParam('id'); $email=$this->_getParam('email'); if (!empty($email)) { try { $sql="select * from users where email=?"; $uq=$this->db->query($sql,$email); if ($urow=$uq->fetch()) { //email the url to user $username=$urow['username']; $sql="update users set activation=? where email=?"; $uid=uniqid(); $this->db->query($sql,array($uid,$email)); $mail=new WestdcMailer($this->view->config->smtp); $body="尊敬的西部数据中心用户: 有人提出了针对此用户名的密码重置请求。 用户名:"; $body.=$username; $body.=" 若想重置您的密码请打开下面的链接,否则请忽略此邮件,一切如常。 "; $body.="http://westdc.westgis.ac.cn/account/fetchpwd/".$username."/".$uid; $mail->setBodyText($body); $mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); $mail->addTo($email); $mail->setSubject('密码已重置'); $mail->send(); $this->messenger->addMessage('密码重置成功!'); } } catch (Exception $e) { $this->messenger->addMessage($e->getMessage().$email); } $this->_redirect("/admin/user/show/id/$id"); } else { $this->_redirect("/admin/user/list"); } } //overview }