phpcmsv9后台登录部分
phpcmsv9的权限管理界面的截图:
phpcmsv9登录后显示的是管理界面,其中的权限管理部分如图所示,后台管理界面是登录后才显示的界面。
在后台登录时要判断的是管理员的用户名和密码,phpcmsv9默认将管理角色划分了不同的权限,要在登录时根据不同的登录角色进行菜单的显示。
登录操作一般的过程:
在登录界面中输入用户名和密码,一般带有验证码,点击登录按钮进行验证,通过验证后进入相应的管理界面。
phpcms/modules/admin/index.php中
加载admin.class.php
pc_base::load_app_class('admin','admin',0);
在admin类中判断当前登录用户的权限,如果没有登录,显示登录界面,相关的内容为:
构造函数中的函数调用
self::check_admin();//检测用户是否已经登录
/**
* 判断用户是否已经登陆
*/
final public function check_admin() {
if(ROUTE_M =='admin' && ROUTE_C =='index' && in_array(ROUTE_A, array('login', 'public_card'))) {
return true;
} else {
$userid = param::get_cookie('userid');
if(!isset($_SESSION['userid']) || !isset($_SESSION['roleid']) || !$_SESSION['userid'] || !$_SESSION['roleid'] || $userid != $_SESSION['userid']) showmessage(L('admin_login'),'?m=admin&c=index&a=login');
}
}
?m=admin&c=index&a=login'为显示登录界面的链接,
使用的是admin模块下的index类中的login方法。
这里分为登录界面的显示和登录验证两个部分。
后台登录界面的显示:
pc_base::load_sys_class('form', '', 0);
include $this->admin_tpl('login');
输入用户名密码后,
isset($_GET['dosubmit'])的值为true,进入登录判断部分,
当用户名密码正确时
showmessage(L('login_success'),'?m=admin&c=index');
显示的是admin模块中的index中的init方法,显示的是后台管理界面。
init中使用admin_tpl加载的是index模版,在admin/templates中的文件名为index.tpl.php。application site是对应的整个系统中的概念,在phpcmsv9中可以加载的是不同的模块,可以有多个站点,
而且phpcmsv9可以多个站点发布,当前站点的配置是与其他站点不同的,这里$site = pc_base::load_app_class('sites');加载的是站点相关的配置信息。
index.tpl.php中的链接<a href="<?php echo $currentsite['domain']?>"
站点首页的链接。
<a href="?m=member" target="_blank"><?php echo L('member_center')?></a><span>|</span>
会员中心的链接
<a href="?m=search" target="_blank" id="site_search"><?php echo L('search')?></a>搜索框
<ul class="nav white" id="top_menu">
<?php
$array = admin::admin_menu(0);
foreach($array as $_value) {
if($_value['id']==10) {
echo '<li id="_M'.$_value['id'].'" class="on top_menu"><a href="javascript:_M('.$_value['id'].',\'?m='.$_value['m'].'&c='.$_value['c'].'&a='.$_value['a'].'\')" hidefocus="true" style="outline:none;">'.L($_value['name']).'</a></li>';
} else {
echo '<li id="_M'.$_value['id'].'" class="top_menu"><a href="javascript:_M('.$_value['id'].',\'?m='.$_value['m'].'&c='.$_value['c'].'&a='.$_value['a'].'\')" hidefocus="true" style="outline:none;">'.L($_value['name']).'</a></li>';
}
}
?>
<li class="tab_web"><a href="javascript:;"><span><?php echo $currentsite['name']?></span></a></li>
</ul>
顶部的管理菜单
我的面板 设置 模块 内容 用户 界面 扩展 phpsso 默认站点
<div id="Scroll"><div id="leftMain"></div></div>
左侧的菜单栏
//默认载入左侧菜单
$("#leftMain").load("?m=admin&c=index&a=public_menu_left&menuid=10");
function _M(menuid,targetUrl) {}
用于顶部菜单和左侧菜单的对应,当点击顶部的菜单时,在左侧菜单栏中显示相关的操作菜单项。