public function updateUserPermission($user) { //获取管理员权限 $roleService = Beans::get('admin.role.service'); $permissions = $roleService->getItem($user['role_id']); $_SESSION[IAdminService::ADMIN_SESSION_PERMISSION] = cn_json_decode($permissions['permissions']); }
/** * 初始化方法 */ public function C_start() { parent::C_start(); $webApp = WebApplication::getInstance(); $request = $webApp->getHttpRequest(); //获取当前登录媒体 $mediaService = Beans::get("media.media.service"); $mediaId = $request->getParameter("media_id", 'intval'); $this->loginMedia = $mediaService->getItem($mediaId); $this->mediaConfigs = cn_json_decode($this->loginMedia["configs"]); //注册媒体信息 $this->assign('mediaConfigs', $this->mediaConfigs); $this->assign("loginMedia", $this->loginMedia); //获取媒体频道列表 $chanelService = Beans::get("media.chanel.service"); $chanels = $chanelService->getChanelCache($mediaId); $this->assign("chanels", $chanels); //底部单页导航 $artoneService = Beans::get("artone.artone.service"); $artoneMenu = $artoneService->getMediaArtone($this->loginMedia['id']); $this->assign("artoneMenu", $artoneMenu); //媒体底部友情链接列表 $linkService = Beans::get("media.friendlink.service"); $friendLinks = $linkService->getMediaFriendLinks($mediaId); $this->assign("friendLinks", $friendLinks); $this->getHotArticles($request); }
/** * 更改角色权限 * @param HttpRequest $request */ public function permission(HttpRequest $request) { $id = $request->getParameter('id', 'intval'); if ($id <= 0) { $this->showMessage('danger', '参数不合法!'); } $service = Beans::get($this->getServiceBean()); $item = $service->getItem($id); $permissions = cn_json_decode($item['permissions']); //加载权限选项 $permissionOptions = Loader::config('admin', 'permission'); $this->assign('permissions', $permissions); $this->assign('permissionOptions', $permissionOptions); $this->assign('item', $item); $this->setView('admin/role_permission'); }
/** * @see ICache::get() * @param string $key * @param null $expire * @return bool|mixed|string */ public function get($key) { $cacheFile = $this->getCacheFile($key); //缓存文件不存在 if (!file_exists($cacheFile)) { return false; } $text = file_get_contents($cacheFile); $content = cn_json_decode($text); //判断缓存是否过期 if ($content['expire'] > 0 && time() > filemtime($cacheFile) + $content['expire']) { return false; } else { return $content['data']; } }
/** * 编辑媒体管理员角色界面 * @param HttpRequest $request */ public function edit(HttpRequest $request) { parent::edit($request); $item = $this->getTemplateVar('item'); //获取媒体类型 $mediaTypeService = Beans::get('media.type.service'); $mediaType = $mediaTypeService->getItem($item['media_type']); $permissionTpl = $mediaType['permission_tpl']; //加载权限选项 $permissions = Loader::config($permissionTpl, 'permission'); $this->assign('permissions', $permissions); $item['permission'] = cn_json_decode($item['permission']); $this->assign('item', $item); $this->assign("seoTitle", "媒体中心后台管理-角色编辑"); $this->assign("seoDesc", "角色管理-角色编辑"); $this->assign("seoKwords", "媒体中心后台管理 角色管理 角色编辑"); $this->setView('role/add'); }
/** * 媒体首页 * @param HttpRequest $request */ public function index(HttpRequest $request) { $media_id = $request->getParameter("media_id", 'intval'); $mediaService = Beans::get("media.media.service"); //初始化当前管理员的操作权限菜单 $managerService = Beans::get('media.manager.service'); $menus = $managerService->getUserMenu($this->loginUser['id'], $media_id); //获取权限 $permissions = $managerService->getUserPermission($this->loginUser['id'], $media_id); if ($menus == false || empty($menus)) { $this->showMessage('error', '警告,您正在非法操作!'); } //注册当前登录媒体 $this->loginMedia = $mediaService->getItem($media_id); $this->loginMedia['menus'] = $menus; $this->loginMedia['permission'] = $permissions; $this->loginMedia['configs'] = cn_json_decode($this->loginMedia['configs']); $mediaService->setLoginMedia($this->loginMedia); //获取菜单的第一个页面为默认页面 $defaultUrl = null; foreach ($menus as $value) { if ($defaultUrl != null) { break; } if (empty($value)) { continue; } foreach ($value['sub'] as $val) { if ($defaultUrl != null) { break; } $defaultUrl = $val['url']; } } $this->location(url($defaultUrl)); }
/** * @see \media\service\interfaces\IMediaManagerService::getUserPermission */ public function getUserPermission($userid, $mediaId) { //1. 不是当前登录媒体的管理员 $item = $this->getItem("userid={$userid} AND media_id={$mediaId}"); if (!$item) { return false; } //4. 如果管理员已经被禁用,则直接返回false if ($item['status'] == -1) { return false; } //获取管理员角色和权限 $roleService = Beans::get('media.managerRole.service'); $role = $roleService->getItem($item['role_id']); $permissions = cn_json_decode($role['permission']); return $permissions; }
/** * 媒体所包含的文章列表 * @param HttpRequest $request */ public function detail(HttpRequest $request) { $id = $request->getParameter('id', 'intval'); $page = $request->getParameter('page', 'intval'); if ($id <= 0) { page404(); } $this->setPage($page); //获取文章 $userService = Beans::get('user.user.service'); $articleService = Beans::get('article.article.service'); $mediaService = Beans::get('media.media.service'); $tagService = Beans::get('article.tags.service'); $baseCondi = getArticleBasicConditions(); $condi['media_id'] = $id; $condi = array_merge($condi, $baseCondi); $items = $articleService->getItems($condi, 'id,title,thumb,add_time,chanel_id, tags,media_id,bcontent', 'add_time DESC', $this->getPage(), $this->getPagesize()); $cacheInfo = array('baseKey' => 'article', 'ftype' => 'mediadetail', 'factor' => $id . '-' . $page, 'expr' => 300); $aricles =& $this->loadArticleInfo($items, ART_INFO_DEFAULT, $cacheInfo); $this->assign('items', $aricles); //获取分页 $count = $articleService->count($condi); $this->getPageData($count); //获取媒体信息 $mediaInfo = $mediaService->getItem($id, 'id,name,intro,logo'); $this->assign('mediaInfo', $mediaInfo); //获取媒体信息 $imageClass = 'logo'; $mediaInfo = $mediaService->getItem($id, "id, name, media_type, nickname, domain, logo, intro"); $mediaInfo['domain'] = trim($mediaInfo['domain']); if ($mediaInfo['domain'] != '') { $mediaInfo['domain'] = 'http://www.' . $mediaInfo['domain']; } else { $mediaInfo['domain'] = url('/site_index_index/?media_id=' . $id); } $mediaInfo['configs'] = cn_json_decode($mediaInfo['configs']); $this->assign('mediaInfo', $mediaInfo); //判断媒体类型 $mediaTypeService = Beans::get('media.type.service'); $type = $mediaTypeService->getItem($mediaInfo['media_type'], 'tkey'); if ($type['tkey'] != 'qunmei') { $imageClass = 'aside_publish_user'; } $this->assign('imageClass', $imageClass); //判断用户是否订阅此媒体 $loginUser = $userService->getLoginUser(); $mediaOrdered = 0; if ($loginUser) { $mediaOrderService = Beans::get('media.order.service'); $orderCondi = array('userid' => $loginUser['id'], 'media_id' => $id); if ($mediaOrderService->getItem($orderCondi)) { $mediaOrdered = 1; } } $this->assign('mediaOrdered', $mediaOrdered); //获取热点排行文章 $hotRanks = $articleService->getHotRank(10, 'id,title'); $this->assign('hotRanks', $hotRanks); //获取周排行 $weekRanks = $articleService->getWeekRank(10, 'id,title'); $this->assign('weekRanks', $weekRanks); //获取编辑推荐的文章 $editorRec = $articleService->getEditorRecommend(10); $this->assign('editorRec', $editorRec); //获取推荐媒体信息 $niulanMedia = $mediaService->getRecommendMedia(4, 'niulan'); $this->assign('niulanMedia', $niulanMedia); //获取热门标签 $hotTags = $tagService->getHotTags(12); $this->assign('hotTags', $hotTags); //注册页面seo信息 $this->assign('seoTitle', $mediaInfo['configs']['sitetitle'] . ' - 驼牛网牛媒体'); $this->assign('seoKwords', $mediaInfo['configs']['siteseo'] . '驼牛网,牛媒体'); $this->assign('seoDesc', $mediaInfo['configs']['sitedescription']); $this->setView('media_detail'); }