?? functions.php
字號:
<?php
/**
* 會員模塊函數庫
* @version phpcms 3.0.0 build 20060424
* @package phpcms
* @subpackage member
* @link http://dev.phpcms.cn phpcms模塊開發網站
* @license http://www.phpcms.cn/license.html phpcms版權聲明
* @copyright (C) 2005 - 2006 Phpcms Group
*/
defined('IN_PHPCMS') or exit(FORBIDDEN);
function escape($str) {
preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(ord($v[0]) < 128)
$ar[$k] = rawurlencode($v);
else
$ar[$k] = "%u".bin2hex(iconv("UTF-8","UCS-2",$v));
}
return join("",$ar);
}
function user_exists($username)
{
global $db;
$r = $db->get_one("SELECT * FROM ".TABLE_MEMBER." WHERE username='$username' limit 0,1");
return $r['userid']>0 ? $r : false;
}
function member_login($username,$password,$referer='')
{
global $db,$phpcms_user,$timestamp,$_PHPCMS,$PHP_IP,$PHP_REFERER;
if(!is_username($username,2,30)) message("用戶名不符合規范!","goback");
if(strlen($password)<4 || strlen($password)>20) message("密碼不得少于4個字符超過20個字符!","goback");
$referer = $referer ? $referer : $PHP_REFERER;
$password = md5($password);
$r = $db->get_one("SELECT * FROM ".TABLE_MEMBER." m,".TABLE_MEMBERINFO." i WHERE m.userid=i.userid AND m.username='$username' AND m.password='$password' LIMIT 0,1");
if(!$r['userid']) message("帳號和密碼不匹配!","goback");
if($r['groupid'] < 4) message("您的帳號還未批準,請等待!","goback");
if($r['locked'] != 0) message("您的帳號已被管理員鎖定!","goback");
$_cookietime = isset($_POST['cookietime']) ? $_POST['cookietime'] : (getcookie('cookietime') ? getcookie('cookietime') : 0);
$cookietime = empty($_cookietime) ? 0 : $timestamp + $_cookietime;
$phpcms_auth_key = md5($_PHPCMS['authkey'].$_SERVER['HTTP_USER_AGENT']);
$phpcms_auth = phpcms_auth($r['userid']."\t".$r['password']."\t".$r['answer'], 'encode', $phpcms_auth_key);
mkcookie('phpcms_auth', $phpcms_auth, $cookietime);
mkcookie('cookietime', $_cookietime, $cookietime);
mkcookie("phpcms_user",$phpcms_user, $cookietime);
$db->query("update ".TABLE_MEMBER." set lastloginip='$PHP_IP',lastlogintime=$timestamp,logintimes=logintimes+1 where username='$username'");
if($_PHPCMS['enablepassport'])
{
@extract($r);
if($isadmin)
{
$a = $db->get_one("SELECT userid,grade FROM ".TABLE_ADMIN." WHERE userid=$userid limit 0,1");
if(!$a['userid'] || $a['grade']>0) $isadmin = 0;
}
$txt = "cookietime=".$_cookietime."&username=".$username."&password=".$password."&secques=".quescrypt(1,'phpcms')."&gender=".$gender."&email=".$email."&isadmin=".$isadmin."®ip=".$regip."®date=".$regtime."&oicq=".$qq."&msn=".$msn."&showemail=".$showemail."&bday=".$birthday."&site=".$homepage."&location=".substr($address, 0, 30);
cmd_send($_PHPCMS['passport_url'],"login",$referer,$txt,$_PHPCMS['passport_key']);
}
else
{
header('Location: '.$referer);
}
exit;
}
function member_logout($referer='')
{
global $_PHPCMS,$PHP_SITEURL;
$referer = $referer ? $referer : $PHP_SITEURL;
mkcookie('phpcms_auth','');
mkcookie('phpcms_admin','');
mkcookie('phpcms_user','');
if($_PHPCMS['enablepassport'])
{
cmd_send($_PHPCMS['passport_url'],"logout",$referer,$txt,$_PHPCMS['passport_key']);
}
else
{
header('Location: '.$referer);
}
exit;
}
?>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -