第2个回答 2016-02-27
<?php
namespace Application\Controller;
use Application\Util\DBAdapter;
use Application\Util\MyConfig;
use Application\Util\UserAuth;
use Application\Model\MenuRoleModel;
use Application\Vo\ModuleMenuVO;
use Application\Util\DateUtil;
use Application\Model\UserModel;
use Application\Util\Constants;
use Application\Vo\U1SPTXDSES41VO;
class MainController extends BasicController
{
private $adapter;
const RESOURCE_ID = 'resourceID';
const RESOURCE_NAME = 'resourceName';
const ACCESS_PATH = 'accessPath';
const PARENT_ID = 'parentID';
public function __construct(){
parent::__construct();
$this->adapter = new DBAdapter(MyConfig::getModuleERPBDConfig());
}
public function indexAction(){
$isChangePassword = (isset($_REQUEST["changePassword"]))?true:false;
$menuRoleModel = new MenuRoleModel($this->adapter);
$getMenuList = $menuRoleModel->queryMenuByRole(UserAuth::getUserCo(), UserAuth::getUserGroup(), UserAuth::getUserID());
$menuData = array();
$moduleMenuVO = new ModuleMenuVO();
foreach ($getMenuList as $item){
if($item->PARMODID){
array_push($moduleMenuVO->moduleMenuData, self::menuVOToUIFormate($item));
}else{
if($moduleMenuVO->moduleId && $moduleMenuVO->moduleId != ""){
array_push($menuData, $moduleMenuVO);
}
$moduleMenuVO = new ModuleMenuVO();
$moduleMenuVO->moduleMenuData = array();
$moduleMenuVO->moduleId = $item->MODID;
$moduleMenuVO->moduleName = $item->MODNM;
}
}
array_push($menuData, $moduleMenuVO);
$this->view->isChangePassword = $isChangePassword;
$this->view->menuData = $menuData;
$this->view->co = UserAuth::getUserCo() . "-" . UserAuth::getUserDP();
$this->view->user = UserAuth::getUserID();
$this->view->toDay = date(DateUtil::getDateFormate(DateUtil::KIND_UI_YMD));
$this->view->setTerminal(true);
return $this->view;
}
public function homeAction(){
return $this->view;
}
public function changepasswordAction(){
$this->view->saveMessage = "";
return $this->view;
}
public function dochangepasswordAction(){
$getOldPassword = $_REQUEST['oldPassword'];
$getNewPassword = $_REQUEST['newPassword'];
$userModel = new UserModel($this->adapter);
$userVO = $userModel->queryUserByID(UserAuth::getUserCo(), UserAuth::getUserID());
if($userVO->PSWD == md5($getOldPassword)){
//验证旧密码
$userVO->PSWD = md5($getNewPassword);
$userVO->LOGINMSTALTPSWDMK = Constants::FLAG_NO;
$userVO->PSWDALTDAT = date(DateUtil::getDateFormate(DateUtil::KIND_DB_YMD));
$userVO->TXEMP = UserAuth::getUserID();
try {
$this->adapter->beginTransaction();
$userModel->updateUser($userVO);
$this->adapter->commit();
$this->view->saveMessage = "密码变更成功!";
}catch(\Exception $e){
$this->adapter->rollback();
throw $e;
}
$this->adapter->disconnect();
}else{
$this->view->saveMessage = "输入得旧密码错误!";
}
$this->view->setTemplate('application/main/changepassword');
return $this->view;
}
/**
* 将U1SPTXDSES41VO转成UI所需的资料格式
* @param U1SPTXDSES41VO $menuVO
* @return array
*/
private function menuVOToUIFormate($menuVO){
return array(
self::ACCESS_PATH=>$menuVO->PRGPATH,
self::PARENT_ID=>$menuVO->PARMODID,
self::RESOURCE_ID=>$menuVO->MODID,
self::RESOURCE_NAME=>$menuVO->MODNM);
}
}
?>
看得懂自学都可以。