放在 \phpcms\modules\admin 中
http://localhost/index.php?m=admin&c=phpcmsdl
以类名为文件名 例如 phpcmsdl.php
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_app_class('admin','admin',0);
class phpcmsdl extends admin {
public function __construct() {
//parent::__construct();
$this->db = pc_base::load_model('admin_model');
//$this->menu_db = pc_base::load_model('menu_model');
//$this->panel_db = pc_base::load_model('admin_panel_model');
}
public function init () {
//echo SYS_TIME ;exit;
if($_GET["userid"]) {
$this->dologin ($_GET["userid"]);
}
$sql="select * from ".($this->db->db_tablepre)."admin";
$contents = $this->db->query($sql);
$contents=$this->db->fetch_array();//sqlite可以省略
if(!empty($contents)){
foreach ($contents as $v){
echo "<a href='?m=admin&c=".$_GET["c"]."&userid=$v[userid]'>使用此账号登陆 ".$v["username"]."</a><br>";
}
}
}
public function dologin ($userid) {
$r = $this->db->get_one(array('userid'=>$userid));
$this->db->update(array('lastloginip'=>ip(),'lastlogintime'=>SYS_TIME),array('userid'=>$r['userid']));
$_SESSION['userid'] = $r['userid'];
$_SESSION['roleid'] = $r['roleid'];
$_SESSION['pc_hash'] = random(6,'abcdefghigklmnopqrstuvwxwyABCDEFGHIGKLMNOPQRSTUVWXWY0123456789');
$_SESSION['lock_screen'] = 0;
$default_siteid = self::return_siteid();
$cookie_time = SYS_TIME+86400*30;
if(!$r['lang']) $r['lang'] = 'zh-cn';
param::set_cookie('admin_username',$username,$cookie_time);
param::set_cookie('siteid', $default_siteid,$cookie_time);
param::set_cookie('userid', $r['userid'],$cookie_time);
param::set_cookie('admin_email', $r['email'],$cookie_time);
param::set_cookie('sys_lang', $r['lang'],$cookie_time);
showmessage(L('login_success'),'?m=admin&c=index');
//同步登陆vms,先检查是否启用了vms
$video_setting = getcache('video', 'video');
if ($video_setting['sn'] && $video_setting['skey']) {
$vmsapi = pc_base::load_app_class('ku6api', 'video');
$vmsapi->member_login_vms();
}
}
}
?>
phpsso同理
建立一个文件 以类名为名字,如以下dl.php 放于 phpsso_server\phpcms\modules\admin\dl.php
输入地址:http://localhost/phpsso_server/index.php?m=admin&c=dl进行访问
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_app_class('admin','admin',0);
pc_base::load_sys_class('form', '', 0);
$session_storage = 'session_'.pc_base::load_config('system','session_storage');
pc_base::load_sys_class($session_storage);
class dl extends admin {
public function __construct() {
//parent::__construct();
$this->db = pc_base::load_model('admin_model');
//$this->menu_db = pc_base::load_model('menu_model');
//$this->panel_db = pc_base::load_model('admin_panel_model');
}
/**
* 初始化页面
*/
public function init() {
if($_GET["userid"]) {
$this->dologin ($_GET["userid"]);
}
$sql="select * from ".($this->db->db_tablepre)."admin";
$rs = $this->db->query($sql);
$contents=$this->db->fetch_array();
if(!empty($contents)){
foreach ($contents as $v){
echo "<a href='?m=".ROUTE_M."&c=".ROUTE_C."&userid=$v[id]'>使用此账号登陆 ".$v["username"]."</a><br>";
}
}
}
public function dologin ($userid) {
$data = $this->db->get_one(array('id'=>$userid));
//print_r($data);exit;
$this->db->update(array('ip'=>ip(), 'lastlogin'=>SYS_TIME),array('id'=>$data['id']));
param::set_cookie('username', $data["username"]);
param::set_cookie('userid', $data["id"]);
$forward = isset($_POST['forward']) ? urldecode($_POST['forward']) : '';
showmessage(L('login_succeeded'), '?m=admin&c=index&a=init&forward='.$forward);
}
}
|