/** * 判断用户的某个模块权限 * @param int $uid * @param int $moduleid * @param int $pageid */ public function getPermissionsForModule($uid, $moduleid, $pageid = 0) { $ds = Wekit::load('design.PwDesignPermissions'); Wind::import('SRV:design.srv.vo.PwDesignPermissionsSo'); $vo = new PwDesignPermissionsSo(); $vo->setDesignType(PwDesignPermissions::TYPE_MODULE)->setDesignId($moduleid)->setUid($uid); $permissions = $ds->searchPermissions($vo); if ($permissions) { $permissions = array_shift($permissions); if (isset($permissions['permissions'])) { return $permissions['permissions']; } } if ($pageid) { return $this->getPermissionsForPage($uid, $pageid); } return $this->getPermissionsForUserGroup($uid); }
public function moduleAction() { $uids = array(); $designId = (int) $this->getInput('moduleid', 'get'); if ($designId < 1) { $this->showError("operate.fail"); } $ds = $this->_getPermissionsDs(); Wind::import('SRV:design.srv.vo.PwDesignPermissionsSo'); $vo = new PwDesignPermissionsSo(); $vo->setDesignType(PwDesignPermissions::TYPE_MODULE)->setDesignId($designId); $list = $ds->searchPermissions($vo); foreach ($list as $v) { $uids[] = $v['uid']; } $users = Wekit::load('user.PwUser')->fetchUserByUid($uids, PwUser::FETCH_MAIN); $moduleinfo = $this->_getModuleDs()->getModule($designId); $this->setOutput($list, 'list'); $this->setOutput($users, 'users'); $this->setOutput($designId, 'designId'); $this->setOutput(PwDesignPermissions::TYPE_MODULE, 'pType'); $this->setOutput($moduleinfo, 'info'); }