/**
* Copyright (c) 2003-08 PHPWind.net. All rights reserved.
* 注释 由 wbsifan 添加. 注释风格统一为 //,
* [内的注释] 表示目前的进度中不能完全确定,需要进一步分析才能决定.
* wbsifan 的网站 请看wbsifan 的签名.
*/
// 安装文件存在,跳转到安装程序
file_exists ( 'install.php' ) && ObHeader ( 'install.php' );
// 配置错误信息回报的等级。
//error_reporting(E_ERROR | E_PARSE);
// 关闭 对来自资料库或文字档自动加上反斜线(/)。
set_magic_quotes_runtime ( 0 );
// 本程序中日期时间函数的默认时区
function_exists ( 'date_default_timezone_set' ) && date_default_timezone_set ( 'Etc/GMT+0' );
// $defined_vars 为 所有已定义变量所组成的数组
$defined_vars = get_defined_vars ();
// 初使化一些系统变量
foreach ( $defined_vars as $_key => $_value ) {
// 如果是 $_POST $_GET 等变量, 清空其值, 并且注销掉这个变量
if (! in_array ( $_key ,array( 'GLOBALS' , '_POST' , '_GET' , '_COOKIE' , '_SERVER' , '_FILES' , 'wind_in' ))) {
// 相当于 $_GLOBALS,$_POST等.
${ $_key } = '' ;
unset(${ $_key });
}
}
// 纪录脚本开始运行时间 1229306755.7031
$t_array = explode ( ' ' , microtime ());
$P_S_T = $t_array [ 0 ] + $t_array [ 1 ];
// 定义 程序 绝对根目录
define ( 'R_P' , getdirname ( __FILE__ ));
define ( 'D_P' , R_P );
define ( 'P_W' , 'global' );
// 如果当前操作没有定义,定义为other
! defined ( 'SCR' ) && define ( 'SCR' , 'other' );
// 获得当前时间
$timestamp = time ();
// 当前正在执行脚本的文件名
! $_SERVER [ 'PHP_SELF' ] && $_SERVER [ 'PHP_SELF' ] = $_SERVER [ 'SCRIPT_NAME' ];
require_once( R_P . 'require/common.php' );
require_once( R_P . 'require/defend.php' );
// 定义PW中一些变量如缓存文件名的前缀
$db_mode = '' ;
// 获得伪静态模式时真实的脚本名 通常 $db_dir='.php?'
$dirstrpos = strpos ( $_SERVER [ 'PHP_SELF' ], $db_dir );
if ( $dirstrpos !== false ) {
$tmp = substr ( $_SERVER [ 'PHP_SELF' ], 0 , $dirstrpos );
$_SERVER [ 'PHP_SELF' ] = "$tmp.php" ;
} else {
$tmp = $_SERVER [ 'PHP_SELF' ];
}
// 获得完整的URL请求
$REQUEST_URI = $_SERVER [ 'PHP_SELF' ]. '?' . $_SERVER [ 'QUERY_STRING' ];
// 如果存在,获得最后记问的COOKIE纪录
if ( GetCookie ( 'lastvisit' )) {
list( $c_oltime , $lastvisit , $lastpath ) = explode ( "/t" , GetCookie ( 'lastvisit' ));
( $onbbstime = $timestamp - $lastvisit )< $db_onlinetime && $c_oltime += $onbbstime ;
} else { // 记录最后记问的COOKIE
$lastvisit = $lastpath = '' ;
$c_oltime = $onbbstime = 0 ;
Cookie ( 'lastvisit' , $c_oltime . "/t" . $timestamp . "/t" . $REQUEST_URI );
}
// AJAX模式,加载ajaxfunc文件
if ( defined ( 'AJAX' )) {
require_once( R_P . 'require/ajaxfunc.php' );
}
// 修正: 多长时间内算在线
$db_cvtime != 0 && $timestamp += $db_cvtime * 60 ;
// 调试模式时 显示所有错误类型 包括 不是错误的 通知
$db_debug && error_reporting ( E_ALL ^ E_NOTICE );
// 定义PW版本
$wind_version = '7.0 RC' ;
// 读取文件时 每次读取的字节数
$db_olsize = 96 ;
// 定义完整的URL地址
$R_url = $db_bbsurl = Char_cv ( "http://$_SERVER[HTTP_HOST]" . substr ( $tmp , 0 , strrpos ( $tmp , '/' )));
echo $R_url ;
// 定义无图版的URL地址
defined ( 'SIMPLE' ) && SIMPLE && $db_bbsurl = substr ( $db_bbsurl , 0 ,- 7 );
InitGP (array( 'fid' , 'tid' ), 'GP' , 2 );
$db = $credit = null ;
// [处理用户组]
! is_array ( $manager ) && $manager = array();
$newmanager = array();
foreach ( $manager as $key => $value ) {
if (!empty( $value ) && ! is_array ( $value )) {
$newmanager [ $key ] = $value ;
}
}
$manager = $newmanager ;
// 配置数据库类型
if ( $database == 'mysqli' && Pwloaddl ( 'mysqli' ) === false ) {
$database = 'mysql' ;
}
// 开启缓冲区 此函数 根据配置决定是否开启压缩
ObStart (); //noizy
// 2008.12.15
// 处理本地图片链接 images
if ( $db_http != 'N' ) {
$imgpath = $db_http ;
if ( D_P != R_P ) {
$R_url = substr ( $db_http ,- 1 )== '/' ? substr ( $db_http , 0 ,- 1 ) : $db_http ;
$R_url = substr ( $R_url , 0 , strrpos ( $R_url , '/' ));
}
} else { // 用户自定义的图片链接
$imgpath = $db_picpath ;
}
// 远程附件,则获取远程附件链接 否则为 attachment
$attachpath = $db_attachurl != 'N' ? $db_attachurl : $db_attachname ;
// 图片保存目录
$imgdir = R_P . $db_picpath ;
// 附件保存目录
$attachdir = R_P . $db_attachname ;
$pw_posts = 'pw_posts' ;
$pw_tmsgs = 'pw_tmsgs' ;
$runfc = 'N' ;
// 获取当前的用户信息
list( $winduid , $windpwd , $safecv ) = explode ( "/t" , addslashes ( StrCode ( GetCookie ( 'winduser' ), 'DECODE' )));
// 验证码
$loginhash = GetVerify ( $onlineip , $db_pptkey );
// 如果开启通行证 并且 PW做为客户端
if ( $db_pptifopen && $db_ppttype == 'client' ) {
// 处理登陆地址 如果地址中 没出现过 ?
if ( strpos ( $db_pptloginurl , '?' ) === false ) {
$db_pptloginurl .= '?' ;
// 处理登陆地址 如果地址最后一位 不是 &
} elseif ( substr ( $db_pptloginurl ,- 1 ) != '&' ) {
$db_pptloginurl .= '&' ;
}
// 处理注册地址 如果地址中 没出现过 ?
if ( strpos ( $db_pptregurl , '?' ) === false ) {
$db_pptregurl .= '?' ;
// 处理注册地址 如果地址最后一位 不是 &
} elseif ( substr ( $db_pptregurl ,- 1 ) != '&' ) {
$db_pptregurl .= '&' ;
}
// 编码 论坛 URL 并做为数参传递给 SERVER端
$urlencode = rawurlencode ( $db_bbsurl );
$loginurl = "$db_pptserverurl/{$db_pptloginurl}forward=$urlencode" ;
$loginouturl = "$db_pptserverurl/$db_pptloginouturl&forward=$urlencode&verify=$loginhash" ;
$regurl = "$db_pptserverurl/{$db_pptregurl}forward=$urlencode" ;
} else { // 没有开启通行证 或者 PW做为SERVER端
$loginurl = 'login.php' ;
$loginouturl = "login.php?action=quit&verify=$loginhash" ;
$regurl = $db_registerfile ;
}
// 以上代码 取得 $loginurl $loginouturl $regurl
// 在线人数
$ol_offset = GetCookie ( 'ol_offset' );
// 是否更换过风格, 更换了则设用 最后一次更换的风格
$skinco = GetCookie ( 'skinco' );
// 刷新预防时间, 如果 在规定时间内连续 刷新 则提示
if ( $db_refreshtime && $REQUEST_URI == $lastpath && $onbbstime < $db_refreshtime ) {
! GetCookie ( 'winduser' ) && $groupid = 'guest' ;
$skin = $skinco ? $skinco : $db_defaultstyle ;
Showmsg ( 'refresh_limit' );
}
// 论坛关闭中...
if (! $db_bbsifopen && ! defined ( 'CK' )) {
require_once( R_P . 'require/bbsclose.php' );
}
$H_url =& $db_wwwurl ;
// 同论坛URL
$B_url =& $db_bbsurl ;
// 当前 小时 Array ( [hours] => 14 )
$t = array( 'hours' => gmdate ( 'G' , $timestamp + $db_timedf * 3600 ));
$tdtime = PwStrtoTime ( get_date ( $timestamp , 'Y-m-d' ));
$montime = PwStrtoTime ( get_date ( $timestamp , 'Y-m' ). '-1' );
phpwind global.php 注释
最新推荐文章于 2024-08-07 19:39:11 发布