/** * * @return Ctrl */ public static function getInstance() { if (self::$_instance === null) { $cc = get_called_class(); self::$_instance = new $cc(); self::$_instance->allMenu = self::$_instance->initMenu(); foreach (self::$_instance->allMenu as $k => $r) { if (is_array($r[3])) { self::$_instance->allMenu[$k][3] = \Sooh\Base\Tools::uri($r[3], $r[2], $r[1], $r[0]); } } } return self::$_instance; }
protected function _frame() { $acl = \Sooh\DB\Acl\Acl::getInstance(); if ($this->_request->get('__LOGOUT__') == 1) { //登出 $this->_view->assign('useTpl', 'logout'); $acl->logout(); return; } $isLogined = $acl->isLogined(); $username = $this->_request->get('u'); $password = $this->_request->get('p'); //$returnUrl = $this->_request->get('returnUrl',$_SESSION['returnUrl']); //if(empty($returnUrl)) $returnUrl=\Sooh\Base\Tools::uri(); $this->_view->assign('returnUrl', \Sooh\Base\Tools::uri()); if (!empty($username) && !empty($password)) { try { $camefrom = $this->_request->get('camefrom', 'Jym'); $acl->login($username, $password, 3600, $camefrom); $account = $acl->getAclManager()->getAccount($username, $camefrom); $acl->setSessionVal('nickname', $account['nickname']); // if($this->_request->get('__ONLY__')!=='body'){ // $this->_view->assign ('statusCode', '200'); //// $this->_view->assign ('callbackType', 'forward'); // return; // }else{ $this->_view->assign('statusCode', '200'); // return; // } } catch (\ErrorException $e) { $this->_view->assign('statusCode', '300'); $this->_view->assign('message', '登入失败:' . $e->getMessage()); //return; } } else { if ($isLogined) { $menu = $acl->menu(); $this->_view->assign('menuleft', $menu); $this->_view->assign('useTpl', 'frame'); } else { $this->_view->assign('useTpl', $this->_request->get('__ONLY__') === 'body' ? 'login_withouthead' : 'login_withhead'); } } }
/** * @return string */ public function urlLogin() { return \Sooh\Base\Tools::uri(null, 'login', 'index'); }
/** * 重置某账号密码 */ public function pwdresetAction() { $frm = \Sooh\Base\Form\Broker::getCopy('default')->init(\Sooh\Base\Tools::uri(), 'post', \Sooh\Base\Form\Broker::type_c); //$frm->addItem('camefrom', form_def::factory('', 'local', form_def::constval)); $frm->addItem('loginname', form_def::factory('账号', '', form_def::constval)); $frm->addItem('nickname', form_def::factory('昵称', '', form_def::text)); $frm->addItem('passwd', form_def::factory('新密码', '', form_def::text)); $this->_view->assign('FormOp', $op = '修改'); $frm->addItem('_pkey_val', ''); $frm->fillValues($this->getInputs()); $where = \Lib\Misc\DWZ::decodePkey($this->_request->get('_pkey_val')); if ($frm->flgIsThisForm) { //submit try { $fields = $frm->getFields(); $manager = \Prj\Data\Manager::getCopy($where['loginname'], $where['camefrom']); $manager->load(); $ret = $manager->resetPWD($fields['passwd'], array('nickname' => $fields['nickname'])); if ($ret) { $this->returnOK('密码已重置为: ' . $fields['passwd']); } else { $this->returnError('密码重置失败'); } $this->closeAndReloadPage(); } catch (\ErrorException $e) { $this->returnError('密码重置失败:' . $e->getMessage()); } } else { //show form if (!empty($where)) { $manager = \Prj\Data\Manager::getCopy($where['loginname'], $where['camefrom']); $manager->load(); $fields = $manager->dump(); $ks = array('loginname', 'nickname'); foreach ($ks as $k) { if (isset($fields[$k]) && is_object($frm->items[$k])) { $frm->item($k)->value = $fields[$k]; } } $frm->items['_pkey_val'] = \Lib\Misc\DWZ::encodePkey(array('camefrom' => $where['camefrom'], 'loginname' => $where['loginname'])); } else { $this->returnError('unknown manager'); } } }