关于奇矩互动奇矩互动招贤纳士奇矩互动优质虚拟主机Discuz!商业用户享有本站VIP服务LAMP环境配置手册(CentOS5.1)
发新话题
打印

Discuz代码分析计划,第一弹:common.inc.php

Discuz代码分析计划,第一弹:common.inc.php

分析一个成功的代码是学习PHP的一种非常有效的方式,通过借鉴,比较,会让自己的编程技巧更加的丰富,也能了解到很多自己在编程中有可能忽略的细节.

所以默默发起了这个代码分析计划,因为默默工作太忙,一个人来分析Discuz的代码需要很长的时间,所以想让大家也参与进来,一起分析一下Discuz的代码,从中吸取有用的知识,并且为自己所用.

Disucuz的include 目录下的 common.inc.php是Discuz的核心文件,很多的东西都是由它来调度的,所以从它开始分析是最适合的.

分析要求:请参考我的代码注释方式(或推荐一种更合理的注释方式)进行分析,分析的时候一定要详细,要让读者明白这段代码到底会产生什么效果,不能只是一句话了事.
请跟帖把自己的分析结果以注释+代码的方式发布出来,经过我审核通过以后会加入到顶楼这个帖子的代码中,当代码全部分析完毕之后,将会把这个文件打包让大家下载到电脑慢慢的研究.


/*
error_reporting();                                        <--这个地方是代码,将你分析的那段代码贴在这里,代码不宜过多
分析人员:默默                                           <--这个地方写上你的名字,作为记录
作用:设置错误报告的级别                            <--这个地方写上这段代码的作用
当前设置:显示运行中的简单错误                   <--这个可有可无
示例:                                                       <--这个用来分析代码,并给出一些相关的示例,尽可能的详细,表达要清楚一些,不能太过概括,假如是代码段必须保证可以运行
error_reporting(0); //抑制所有的出错信息
error_reporting(E_ALL);//显示所有的出错信息
*/

error_reporting();   

以下是common.inc.php的代码,会根据提交上来的分析进行不断的更新.请时刻关注哦.
复制内容到剪贴板
代码:
<?php



/*

        [Discuz!] (C)2001-2006 Comsenz Inc.

        This is NOT a freeware, use is subject to license terms



        $RCSfile: common.inc.php,v $

        $Revision: 1.61.2.9 $

        $Date: 2006/10/27 09:04:11 $

*/



/*

error_reporting();

分析人员:默默

作用:设置错误报告的级别

当前设置:显示运行中的简单错误

示例:

error_reporting(0); //抑制所有的出错信息

error_reporting(E_ALL);//显示所有的出错信息

*/

error_reporting(E_ERROR | E_WARNING | E_PARSE);





/*

set_magic_quotes_runtime();

分析人员:默默

作用:设置魔法引用

当前设置:关闭魔法引用

示例:

set_magic_quotes_runtime(0); //关闭魔法引用

set_magic_quotes_runtime(1); //开启魔法引用

*/



set_magic_quotes_runtime(0);



/*

$mtime = explode(' ', microtime());

分析人员:默默

作用:microtime()取得Unix 时间戳和微秒数后使用explode()进行切割并存进数组变量$mtime;

示例:

echo microtime(); //将显示 0.29353300 1164349567 (根据时间的不同会显示不同的数字,但格式是一样的

$mtime[0]="0.29353300";

$mtime[1]="1164349567";

*/

$mtime = explode(' ', microtime());



/*

$discuz_starttime = $mtime[1] + $mtime[0];

分析人员:默默

作用:设置变量$discuz_starttime的时间,字面理解为Discuz的开始时间

示例:

$discuz_starttime = $mtime[1] + $mtime[0];

echo $discuz_starttime; //将显示:1164349567.2935

*/

$discuz_starttime = $mtime[1] + $mtime[0];



/*

define('IN_DISCUZ', TRUE);

分析人员:默默

作用:定义常量IN_DISCUZ为TRUE

示例:

define('IN_DISCUZ',FALSE); //定义常量为FALSE

*/

define('IN_DISCUZ', TRUE);



/*

define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7));

分析人员:默默

作用:定义常量DISCUZ_ROOT的值

示例:

echo dirname(__FILE__); //显示 [url=http://www.phpchina.com/bbs/include]http://www.phpchina.com/bbs/include[/url]

echo substr(dirname(__FILE__),0,-7);//从后面开始数截掉7个字符,显示 [url=http://www.phpchina.com/bbs/]http://www.phpchina.com/bbs/[/url]

*/

define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7));





/*

define('DISCUZ_AVATARSHOW', '3560626219401401200');

分析人员:默默

作用:定义天下秀的常量值

*/

define('DISCUZ_AVATARSHOW', '3560626219401401200');





/*

if(PHP_VERSION < '4.1.0') {

        $_GET = &$HTTP_GET_VARS;

        $_POST = &$HTTP_POST_VARS;

        $_COOKIE = &$HTTP_COOKIE_VARS;

        $_SERVER = &$HTTP_SERVER_VARS;

        $_ENV = &$HTTP_ENV_VARS;

        $_FILES = &$HTTP_POST_FILES;

}

分析人员:默默

作用:当PHP版本小于4.1.0 的时候使用传址方式获取内置全局变量

示例:

为什么要使用传址而不是传值方式?

要点:在变量前加 & 符号既是传址

<?php

$a=1;

$b=$a;

$b++;

echo "b=".$b." a=".$a; //显示:b=2 a=1 可以看到 b变了,而a 却还是没变





echo "<br>";

$c=1;

$d=&$c;  //注意这行  &符号

$d++;

echo "d=".$d." c=".$c; //显示: d=2 c=2 可以看到d变了,可是c也变了

?>



*/

if(PHP_VERSION < '4.1.0') {

        $_GET = &$HTTP_GET_VARS;

        $_POST = &$HTTP_POST_VARS;

        $_COOKIE = &$HTTP_COOKIE_VARS;

        $_SERVER = &$HTTP_SERVER_VARS;

        $_ENV = &$HTTP_ENV_VARS;

        $_FILES = &$HTTP_POST_FILES;

}



/*

require_once DISCUZ_ROOT.'./include/global.func.php';

分析人员:默默

作用:将include目录下的 global.func.php 包含进文件中

疑问:为什么使用require_once()而不是require()?

因为:require_once() 语句在脚本执行期间包括并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。



*/

require_once DISCUZ_ROOT.'./include/global.func.php';



$magic_quotes_gpc = get_magic_quotes_gpc();

@extract(daddslashes($_COOKIE));

@extract(daddslashes($_POST));

@extract(daddslashes($_GET));

if(!$magic_quotes_gpc) {

        $_FILES = daddslashes($_FILES);

}



$charset = $dbcharset = $forumfounders = '';

$plugins = $hooks = array();



require_once DISCUZ_ROOT.'./config.inc.php';

require_once DISCUZ_ROOT.'./include/db_'.$database.'.class.php';



if($attackevasive) {

        require_once DISCUZ_ROOT.'./include/security.inc.php';

}

$timestamp = time();

$PHP_SELF = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];

$SCRIPT_FILENAME = str_replace('\\\\', '/', (isset($_SERVER['PATH_TRANSLATED']) ? $_SERVER['PATH_TRANSLATED'] : $_SERVER['SCRIPT_FILENAME']));

$boardurl = 'http://'.$_SERVER['HTTP_HOST'].preg_replace("/\/+(api|archiver|wap)?\/*$/i", '', substr($PHP_SELF, 0, strrpos($PHP_SELF, '/'))).'/';



if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {

        $onlineip = getenv('HTTP_CLIENT_IP');

} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {

        $onlineip = getenv('HTTP_X_FORWARDED_FOR');

} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {

        $onlineip = getenv('REMOTE_ADDR');

} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {

        $onlineip = $_SERVER['REMOTE_ADDR'];

}



preg_match("/[\d\.]{7,15}/", $onlineip, $onlineipmatches);

$onlineip = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';

unset($onlineipmatches);



$extrahead = '';

$_DCOOKIE = $_DSESSION = $_DCACHE = $_DPLUGIN = array();



$prelength = strlen($tablepre);

foreach($_COOKIE as $key => $val) {

        if(substr($key, 0, $prelength) == $tablepre) {

                $_DCOOKIE[(substr($key, $prelength))] = daddslashes($val);

        }

}

unset($prelength);



$cachelost = (@include DISCUZ_ROOT.'./forumdata/cache/cache_settings.php') ? '' : 'settings';

@extract($_DCACHE['settings']);



if($gzipcompress && function_exists('ob_gzhandler') && CURSCRIPT != 'wap') {

        ob_start('ob_gzhandler');

} else {

        $gzipcompress = 0;

        ob_start();

}



$jsmenu = array();

$jsmenustatus = sprintf('%b', $jsmenustatus);

for($i = 1; $i <= strlen($jsmenustatus); $i++) {

        if(substr($jsmenustatus, -$i, 1)) $jsmenu[$i] = TRUE;

}



/* Avatar Show Data */

$avatarshow_license = strval(empty($avatarshow_license) ? DISCUZ_AVATARSHOW : $avatarshow_license);

if($loadctrl && (!defined('CURSCRIPT') || CURSCRIPT != 'wap') && substr(PHP_OS, 0, 3) != 'WIN') {

        if($fp = @fopen('/proc/loadavg', 'r')) {

                list($loadaverage) = explode(' ', fread($fp, 6));

                fclose($fp);

                if($loadaverage > $loadctrl) {

                        header("HTTP/1.0 503 Service Unavailable");

                        include DISCUZ_ROOT.'./include/serverbusy.htm';

                        exit();

                }

        }

}



if(defined('CURSCRIPT') && in_array(CURSCRIPT, array('index', 'forumdisplay', 'viewthread', 'post', 'blog', 'pm'))) {

        $cachelost .= (@include DISCUZ_ROOT.'./forumdata/cache/cache_'.CURSCRIPT.'.php') ? '' : ' '.CURSCRIPT;

}



$db = new dbstuff;

$db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);

unset($dbhost, $dbuser, $dbpw, $dbname, $pconnect);



$sid = daddslashes(($transsidstatus || (defined('CURSCRIPT') && CURSCRIPT == 'wap'))&& (isset($_GET['sid']) || isset($_POST['sid'])) ?

        (isset($_GET['sid']) ? $_GET['sid'] : $_POST['sid']) :

        (isset($_DCOOKIE['sid']) ? $_DCOOKIE['sid'] : ''));



$discuz_auth_key = md5($_DCACHE['settings']['authkey'].$_SERVER['HTTP_USER_AGENT']);

list($discuz_pw, $discuz_secques, $discuz_uid) = isset($_DCOOKIE['auth']) ? explode("\t", authcode($_DCOOKIE['auth'], 'DECODE')) : array('', '', 0);



$discuz_pw = addslashes($discuz_pw);

$discuz_secques = addslashes($discuz_secques);

$discuz_uid = intval($discuz_uid);



if(isset($_DCOOKIE['auth']) && !$discuz_uid) {

        clearcookies();

}



$newpm = $newpmexists = $sessionexists = $seccode = $bloguid = 0;

if($sid) {

        if($discuz_uid) {

                $query = $db->query("SELECT s.sid, s.styleid, s.groupid='6' AS ipbanned, s.pageviews AS spageviews, s.lastolupdate, s.seccode, m.uid AS discuz_uid,

                        m.username AS discuz_user, m.password AS discuz_pw, m.secques AS discuz_secques, m.adminid, m.groupid, m.groupexpiry,

                        m.extgroupids, m.email, m.timeoffset, m.tpp, m.ppp, m.posts, m.digestposts, m.oltime, m.pageviews, m.credits, m.extcredits1, m.extcredits2, m.extcredits3,

                        m.extcredits4, m.extcredits5, m.extcredits6, m.extcredits7, m.extcredits8, m.timeformat, m.dateformat, m.pmsound,

                        m.sigstatus, m.invisible, m.lastvisit, m.lastactivity, m.lastpost, m.newpm, m.accessmasks,m.xspacestatus, m.editormode, m.customshow

                        FROM {$tablepre}sessions s, {$tablepre}members m

                        WHERE m.uid=s.uid AND s.sid='$sid' AND CONCAT_WS('.',s.ip1,s.ip2,s.ip3,s.ip4)='$onlineip' AND m.uid='$discuz_uid'

                        AND m.password='$discuz_pw' AND m.secques='$discuz_secques'");

        } else {

                $query = $db->query("SELECT sid, uid AS sessionuid, groupid, groupid='6' AS ipbanned, pageviews AS spageviews, styleid, lastolupdate, seccode

                        FROM {$tablepre}sessions WHERE sid='$sid' AND CONCAT_WS('.',ip1,ip2,ip3,ip4)='$onlineip'");

        }

        if($_DSESSION = $db->fetch_array($query)) {

                $sessionexists = 1;

                if(!empty($_DSESSION['sessionuid'])) {

                        $query = $db->query("SELECT m.uid AS discuz_uid, m.username AS discuz_user, m.password AS discuz_pw,

                                m.secques AS discuz_secques, m.adminid, m.groupid, m.groupexpiry, m.extgroupids, m.email, m.timeoffset,

                                m.tpp, m.ppp, m.posts, m.digestposts, m.oltime, m.pageviews, m.credits, m.extcredits1, m.extcredits2, m.extcredits3, m.extcredits4, m.extcredits5,

                                m.extcredits6, m.extcredits7, m.extcredits8, m.timeformat, m.dateformat, m.pmsound, m.sigstatus, m.invisible,

                                m.lastvisit, m.lastactivity, m.lastpost, m.newpm, m.accessmasks,m.xspacestatus, m.editormode, m.customshow

                                FROM {$tablepre}members m WHERE uid='$_DSESSION[sessionuid]'");

                        $_DSESSION = array_merge($_DSESSION, $db->fetch_array($query));

                }

        } else {

                $query = $db->query("SELECT sid, groupid, groupid='6' AS ipbanned, pageviews AS spageviews, styleid, lastolupdate, seccode

                        FROM {$tablepre}sessions WHERE sid='$sid' AND CONCAT_WS('.',ip1,ip2,ip3,ip4)='$onlineip'");

                if($_DSESSION = $db->fetch_array($query)) {

                        clearcookies();

                        $sessionexists = 1;

                }

        }

}

if(!$sessionexists) {

        if($discuz_uid) {

                $query = $db->query("SELECT uid AS discuz_uid, username AS discuz_user, password AS discuz_pw, secques AS discuz_secques,

                        adminid, groupid, groupexpiry, extgroupids, email, timeoffset, styleid, tpp, ppp, posts, digestposts, oltime, pageviews, credits,

                        extcredits1, extcredits2, extcredits3, extcredits4, extcredits5, extcredits6, extcredits7, extcredits8, timeformat,

                        dateformat, pmsound, sigstatus, invisible, lastvisit, lastactivity, lastpost, newpm, accessmasks, xspacestatus, editormode, customshow

                        FROM {$tablepre}members WHERE uid='$discuz_uid' AND password='$discuz_pw' AND secques='$discuz_secques'");

                if(!($_DSESSION = $db->fetch_array($query))) {

                        clearcookies();

                }

        }



        if(ipbanned($onlineip)) {

                $_DSESSION['ipbanned'] = 1;

        }



        $_DSESSION['sid'] = random(6);

        $_DSESSION['seccode'] = random(4, 1);

}

$_DSESSION['dateformat'] = empty($_DSESSION['dateformat']) ? $_DCACHE['settings']['dateformat'] : $_DSESSION['dateformat'];

$_DSESSION['timeformat'] = empty($_DSESSION['timeformat']) ? $_DCACHE['settings']['timeformat'] : ($_DSESSION['timeformat'] == 1 ? 'h:i A' : 'H:i');

$_DSESSION['timeoffset'] = isset($_DSESSION['timeoffset']) && $_DSESSION['timeoffset'] != 9999 ? $_DSESSION['timeoffset'] : $_DCACHE['settings']['timeoffset'];



@extract($_DSESSION);



$lastvisit = empty($lastvisit) ? $timestamp - 86400 : $lastvisit;

$timenow = array('time' => gmdate("$dateformat $timeformat", $timestamp + 3600 * $timeoffset),

        'offset' => ($timeoffset >= 0 ? ($timeoffset == 0 ? '' : '+'.$timeoffset) : $timeoffset));



if(empty($discuz_uid) || empty($discuz_user)) {

        $discuz_user = $extgroupids = '';

        $discuz_uid = $adminid = $posts = $digestposts = $pageviews = $oltime = $invisible

                = $credits = $extcredits1 = $extcredits2 = $extcredits3 = $extcredits4

                = $extcredits5 = $extcredits6 = $extcredits7 = $extcredits8 = 0;

        $groupid = empty($groupid) || $groupid != 6 ? 7 : 6;

        $avatarshowid = 0;

} else {

        $discuz_userss = $discuz_user;

        $discuz_user = addslashes($discuz_user);

}



define('FORMHASH', formhash());

$attachdir = substr($attachdir, 0, 2) == './' ? DISCUZ_ROOT.$attachdir : $attachdir;



$statstatus && require_once DISCUZ_ROOT.'./include/counter.inc.php';



$extra = isset($extra) && preg_match("/^[&=;a-z0-9]+$/i", $extra) ? $extra : '';

$tpp = intval(empty($_DSESSION['tpp']) ? $topicperpage : $_DSESSION['tpp']);

$ppp = intval(empty($_DSESSION['ppp']) ? $postperpage : $_DSESSION['ppp']);



$navtitle = $navigation = $accessadd1 = $accessadd2 = $modadd1 = $modadd2 = '';

//note 用户访问权限

if($discuz_uid) {

        if ($accessmasks) {

                $accessadd1 = ', a.allowview, a.allowpost, a.allowreply, a.allowgetattach, a.allowpostattach';

                $accessadd2 = "LEFT JOIN {$tablepre}access a ON a.uid='$discuz_uid' AND a.fid=f.fid";

        }

        

        if($adminid == 3) {

                $modadd1 = ', m.uid AS ismoderator';

                $modadd2 = "LEFT JOIN {$tablepre}moderators m ON m.uid='$discuz_uid' AND m.fid=f.fid";

        }

}



$_DSESSION['groupid'] = $groupid = empty($ipbanned) ? (empty($groupid) ? 7 : intval($groupid)) : 6;

if(!@include DISCUZ_ROOT.'./forumdata/cache/usergroup_'.$groupid.'.php') {

        $query = $db->query("SELECT type FROM {$tablepre}usergroups WHERE groupid='$groupid'");

        $grouptype = $db->result($query, 0);

        if(!empty($grouptype)) {

                $cachelost .= ' usergroup_'.$groupid;

        } else {

                $grouptype = 'member';

        }

}



if($passport_status) {

        $passport_forward = rawurlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);

        $link_login = $passport_url.$passport_login_url.(strpos($passport_login_url, '?') === FALSE ? '?' : '&').'forward='.$passport_forward;

        $link_logout = $passport_url.$passport_logout_url.(strpos($passport_logout_url, '?') === FALSE ? '?' : '&').'forward='.$passport_forward;

        $link_register = $passport_url.$passport_register_url.(strpos($passport_register_url, '?') === FALSE ? '?' : '&').'forward='.$passport_forward;

} else {

        $link_login = 'logging.php?action=login';

        $link_logout = 'logging.php?action=logout&formhash='.FORMHASH;

        $link_register = 'register.php';

}



if($discuz_uid && $_DSESSION) {

        if(!empty($groupexpiry) && $groupexpiry < $timestamp && (!defined('CURSCRIPT') || (CURSCRIPT != 'wap' && CURSCRIPT != 'member'))) {

                header("Location: {$boardurl}member.php?action=groupexpiry");

                dexit();

        } elseif($grouptype && $groupid != getgroupid($discuz_uid, array

                (

                'type' => $grouptype,

                'creditshigher' => $groupcreditshigher,

                'creditslower' => $groupcreditslower

                ), $_DSESSION)) {

                @extract($_DSESSION);

                $cachelost .= (@include DISCUZ_ROOT.'./forumdata/cache/usergroup_'.intval($groupid).'.php') ? '' : ' usergroup_'.$groupid;

        }

}



if(!in_array($adminid, array(1, 2, 3))) {

        if(!$errorreport) {

                error_reporting(0);

        }

        $alloweditpost = $alloweditpoll = $allowstickthread = $allowmodpost = $allowdelpost = $allowmassprune

                = $allowrefund = $allowcensorword = $allowviewip = $allowbanip = $allowedituser = $allowmoduser

                = $allowbanuser = $allowpostannounce = $allowviewlog = $disablepostctrl = $supe_allowpushthread = 0;

} elseif(isset($radminid) && $adminid != $radminid && $adminid != $groupid) {

        $cachelost .= (@include DISCUZ_ROOT.'./forumdata/cache/admingroup_'.intval($adminid).'.php') ? '' : ' admingroup_'.$groupid;

}



$forum = array();

$auditstatuson = !empty($mod) && $mod == 'edit' && in_array($adminid, array(1, 2, 3)) && $allowmodpost ? true : false;

if(!empty($tid) || !empty($fid)) {

        if(empty($tid)) {

                $query = $db->query("SELECT f.fid, f.*, ff.* $accessadd1 $modadd1, f.fid AS fid

                        FROM {$tablepre}forums f

                        LEFT JOIN {$tablepre}forumfields ff ON ff.fid=f.fid $accessadd2 $modadd2

                        WHERE f.fid='$fid'");



                $forum = $db->fetch_array($query);

        } else {

                $query = $db->query("SELECT t.tid, t.closed, f.*, ff.* $accessadd1 $modadd1, f.fid AS fid

                        FROM {$tablepre}threads t

                        INNER JOIN {$tablepre}forums f ON f.fid=t.fid

                        LEFT JOIN {$tablepre}forumfields ff ON ff.fid=f.fid $accessadd2 $modadd2

                        WHERE t.tid='$tid'".($auditstatuson ? '' : " AND t.displayorder>='0'")." LIMIT 1");



                $forum = $db->fetch_array($query);

                $tid = $forum['tid'];

        }



        $fid = $forum['fid'];

        $typeid = isset($typeid) ? intval($typeid) : 0;

        $forum['ismoderator'] = !empty($forum['ismoderator']) || $adminid == 1 || $adminid == 2 ? 1 : 0;

        foreach(array('postcredits', 'replycredits', 'threadtypes', 'digestcredits', 'postattachcredits', 'getattachcredits', 'supe_pushsetting') as $key) {

                $forum[$key] = !empty($forum[$key]) ? unserialize($forum[$key]) : array();

        }



} else {

        $fid = $tid = 0;

}



$styleid = intval(!empty($_GET['styleid']) ? $_GET['styleid'] :

                (!empty($_POST['styleid']) ? $_POST['styleid'] :

                (!empty($_DSESSION['styleid']) ? $_DSESSION['styleid'] :

                $_DCACHE['settings']['styleid'])));



$styleid = intval(isset($stylejump[$styleid]) ? $styleid : $_DCACHE['settings']['styleid']);



if(@!include DISCUZ_ROOT.'./forumdata/cache/style_'.intval(!empty($forum['styleid']) ? $forum['styleid'] : $styleid).'.php') {

        $cachelost .= (@include DISCUZ_ROOT.'./forumdata/cache/style_'.($styleid = $_DCACHE['settings']['styleid']).'.php') ? '' : ' style_'.$styleid;

}



if($cachelost) {

        require_once DISCUZ_ROOT.'./include/cache.func.php';

        updatecache();

        dexit('Cache List: '.$cachelost.'<br>Caches successfully created, please refresh.');

}



if(!defined('CURSCRIPT') || CURSCRIPT != 'wap') {

        if($nocacheheaders) {

                @header("Expires: 0");

                @header("Cache-Control: private, post-check=0, pre-check=0, max-age=0", FALSE);

                @header("Pragma: no-cache");

        }

        if($headercharset) {

                @header('Content-Type: text/html; charset='.$charset);

        }

        if(empty($_DCOOKIE['sid']) || $sid != $_DCOOKIE['sid']) {

                dsetcookie('sid', $sid, 604800);

        }

}



if($cronnextrun && $cronnextrun <= $timestamp) {

        require_once DISCUZ_ROOT.'./include/cron.func.php';

        runcron();

}

if(isset($plugins['include']) && is_array($plugins['include'])) {

        foreach($plugins['include'] as $include) {

                if(!$include['adminid'] || ($include['adminid'] && $include['adminid'] >= $adminid)) {

                        @include_once DISCUZ_ROOT.'./plugins/'.$include['script'].'.inc.php';

                }

        }

}



if(isset($allowvisit) && $allowvisit == 0 && !(defined('CURSCRIPT') && CURSCRIPT == 'member' && $action == 'groupexpiry')) {

        showmessage('user_banned', NULL, 'HALTED');

} elseif(!((defined('CURSCRIPT') && in_array(CURSCRIPT, array('logging', 'wap', 'seccode'))) || $adminid == 1)) {

        if($bbclosed) {

                clearcookies();

                showmessage($closedreason ? $closedreason : 'board_closed', NULL, 'NOPERM');

        }

        periodscheck('visitbanperiods');

}



$advarray = $advlist = array();

if($advertisements) {

        require_once DISCUZ_ROOT.'./include/advertisements.inc.php';

}



if((!empty($advertisements['lateststarttime']) && $advertisements['lateststarttime'] <= $timestamp) ||

        (!empty($advertisements['latestendtime']) && $advertisements['latestendtime'] <= $timestamp)) {

        require_once DISCUZ_ROOT.'./include/cache.func.php';

        updatecache('settings');

}



if((!empty($fromuid) || !empty($fromuser)) && ($creditspolicy['promotion_visit'] || $creditspolicy['promotion_register'])) {

        require_once DISCUZ_ROOT.'/include/promotion.inc.php';

} else {

        $fromuid = $fromuser = '';

}



$metakeywords = '';

$indexname = empty($indexname) ? 'index.php' : $indexname;

$rssauth = $rssstatus && $discuz_uid ? authcode("$discuz_uid\t".($fid ? $fid : '')."\t".substr(md5($discuz_pw.$discuz_secques), 0, 8), 'ENCODE', md5($_DCACHE['settings']['authkey'])) : '0';



?>
真正的尊敬,既不属于那些批评别人头头是道的人,也不是属于给强人指出过错、指点别人哪里做的不好的人。真正的尊敬,是属于那些勇于亲身投入战场,脸上沾满了尘土、汗水和鲜血的奋斗者们。他们坚持不懈的努力,尽管曾经犯下错误,并一再失败,但他们满怀激情,执著不懈,将生命奉献于崇高的事业。他们为经过艰辛努力最终取得的伟大成就而自豪,如果失败,他们也败得荣耀。因此,那些既没赢得过胜利,也没懂得什么叫做失败的,冷漠、胆怯的灵魂,是永远也无法与这些真正值得尊敬的人相提并论的。
http://www.cnedwin.com

TOP

复制内容到剪贴板
代码:
<?php

/*
        [Discuz!] (C)2001-2007 Comsenz Inc.
        This is NOT a freeware, use is subject to license terms

        $Id: common.inc.php 13268 2008-04-03 05:55:50Z monkey $
*/
//note 错误级别, 发布时候默认为 0
error_reporting(0);
set_magic_quotes_runtime(0);
$mtime = explode(' ', microtime());
$discuz_starttime = $mtime[1] + $mtime[0];

//note 全局常量
define('SYS_DEBUG', FALSE);
define('IN_DISCUZ', TRUE);
define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7));
define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
!defined('CURSCRIPT') && define('CURSCRIPT', '');

//note 兼容低版本php变量
if(PHP_VERSION < '4.1.0') {
        $_GET = &$HTTP_GET_VARS;
        $_POST = &$HTTP_POST_VARS;
        $_COOKIE = &$HTTP_COOKIE_VARS;
        $_SERVER = &$HTTP_SERVER_VARS;
        $_ENV = &$HTTP_ENV_VARS;
        $_FILES = &$HTTP_POST_FILES;
}

//note 禁止对全局变量注入
if (isset($_REQUEST['GLOBALS']) OR isset($_FILES['GLOBALS'])) {
        exit('Request tainting attempted.');
}

//note 加载全局函数
require_once DISCUZ_ROOT.'./include/global.func.php';

//note 搜索引擎的判断
define('ISROBOT', getrobot());
if(defined('NOROBOT') && ISROBOT) {
        exit(header("HTTP/1.1 403 Forbidden"));
}

//note 把PHP预定义变量释放到全局
foreach(array('_COOKIE', '_POST', '_GET') as $_request) {
        foreach($_request as $_key => $_value) {
                $_key{0} != '_' && $_key = daddslashes($_value);
        }
}

if (!MAGIC_QUOTES_GPC && $_FILES) {
        $_FILES = daddslashes($_FILES);
}

//note 初始化字符集
$charset = $dbcharset = $forumfounders = $metakeywords = $extrahead = $seodescription = '';
$plugins = $hooks = $admincp = $jsmenu = $forum = $thread = $language = $actioncode = $modactioncode = $lang = array();

//note 提取配制信息加载数据库
require_once DISCUZ_ROOT.'./config.inc.php';

//note 初始化重要变量
$_DCOOKIE = $_DSESSION = $_DCACHE = $_DPLUGIN = $advlist = array();

//note 解析cookie信息到$_DCOOKIE
$prelength = strlen($cookiepre);
foreach($_COOKIE as $key => $val) {
        if(substr($key, 0, $prelength) == $cookiepre) {
                $_DCOOKIE[(substr($key, $prelength))] = MAGIC_QUOTES_GPC ? $val : daddslashes($val);
        }
}
unset($prelength, $_request, $_key, $_value);

$inajax = !empty($inajax);
$timestamp = time();

//note 防止拒绝服务攻击
if($attackevasive) {
        require_once DISCUZ_ROOT.'./include/security.inc.php';
}

require_once DISCUZ_ROOT.'./include/db_'.$database.'.class.php';

//note 计算url地址和真实ip地址

$PHP_SELF = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
$BASESCRIPT = basename($PHP_SELF);
$boardurl = htmlspecialchars('http://'.$_SERVER['HTTP_HOST'].preg_replace("/\/+(api|archiver|wap)?\/*$/i", '', substr($PHP_SELF, 0, strrpos($PHP_SELF, '/'))).'/');

if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
        $onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
        $onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
        $onlineip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
        $onlineip = $_SERVER['REMOTE_ADDR'];
}

preg_match("/[\d\.]{7,15}/", $onlineip, $onlineipmatches);
$onlineip = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';
unset($onlineipmatches);

//note 释放settings变量到全局
$cachelost = (@include DISCUZ_ROOT.'./forumdata/cache/cache_settings.php') ? '' : 'settings';
@extract($_DCACHE['settings']);

//note 是否支持gzip
if($gzipcompress && function_exists('ob_gzhandler') && CURSCRIPT != 'wap' && !$inajax) {
        ob_start('ob_gzhandler');
} else {
        $gzipcompress = 0;
        ob_start();
}

//note 负载均衡,限linux主机并有足够权限
if(!empty($loadctrl) && substr(PHP_OS, 0, 3) != 'WIN') {
        if($fp = @fopen('/proc/loadavg', 'r')) {
                list($loadaverage) = explode(' ', fread($fp, 6));
                fclose($fp);
                if($loadaverage > $loadctrl) {
                        header("HTTP/1.0 503 Service Unavailable");
                        include DISCUZ_ROOT.'./include/serverbusy.htm';
                        exit();
                }
        }
}

//note 取得当前的缓存文件
if(in_array(CURSCRIPT, array('index', 'forumdisplay', 'viewthread', 'post', 'topicadmin', 'register', 'archiver'))) {
        $cachelost .= (@include DISCUZ_ROOT.'./forumdata/cache/cache_'.CURSCRIPT.'.php') ? '' : ' '.CURSCRIPT;
}

//note 链接数据库
$db = new dbstuff;
$db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect, true, $dbcharset);
$dbuser = $dbpw = $dbname = $pconnect = NULL;

//note 计算sid
$sid = daddslashes(($transsidstatus || CURSCRIPT == 'wap') && (isset($_GET['sid']) || isset($_POST['sid'])) ?
        (isset($_GET['sid']) ? $_GET['sid'] : $_POST['sid']) :
        (isset($_DCOOKIE['sid']) ? $_DCOOKIE['sid'] : ''));

$discuz_auth_key = md5($_DCACHE['settings']['authkey'].$_SERVER['HTTP_USER_AGENT']);
list($discuz_pw, $discuz_secques, $discuz_uid) = empty($_DCOOKIE['auth']) ? array('', '', 0) : daddslashes(explode("\t", authcode($_DCOOKIE['auth'], 'DECODE')), 1);

$newpm = $newpmexists = $sessionexists = $seccode = 0;
$membertablefields = 'm.uid AS discuz_uid, m.username AS discuz_user, m.password AS discuz_pw, m.secques AS discuz_secques,
        m.adminid, m.groupid, m.groupexpiry, m.extgroupids, m.email, m.timeoffset, m.tpp, m.ppp, m.posts, m.digestposts,
        m.oltime, m.pageviews, m.credits, m.extcredits1, m.extcredits2, m.extcredits3, m.extcredits4, m.extcredits5,
        m.extcredits6, m.extcredits7, m.extcredits8, m.timeformat, m.dateformat, m.pmsound, m.sigstatus, m.invisible,
        m.lastvisit, m.lastactivity, m.lastpost, m.newpm, m.accessmasks, m.editormode, m.customshow, m.customaddfeed';
if($sid) {
        if($discuz_uid) {
                $query = $db->query("SELECT s.sid, s.styleid, s.groupid='6' AS ipbanned, s.pageviews AS spageviews, s.lastolupdate, s.seccode, $membertablefields
                        FROM {$tablepre}sessions s, {$tablepre}members m
                        WHERE m.uid=s.uid AND s.sid='$sid' AND CONCAT_WS('.',s.ip1,s.ip2,s.ip3,s.ip4)='$onlineip' AND m.uid='$discuz_uid'
                        AND m.password='$discuz_pw' AND m.secques='$discuz_secques'");
        } else {
                $query = $db->query("SELECT sid, uid AS sessionuid, groupid, groupid='6' AS ipbanned, pageviews AS spageviews, styleid, lastolupdate, seccode
                        FROM {$tablepre}sessions WHERE sid='$sid' AND CONCAT_WS('.',ip1,ip2,ip3,ip4)='$onlineip'");
        }
        if($_DSESSION = $db->fetch_array($query)) {
                $sessionexists = 1;
                if(!empty($_DSESSION['sessionuid'])) {
                        $_DSESSION = array_merge($_DSESSION, $db->fetch_first("SELECT $membertablefields
                                FROM {$tablepre}members m WHERE uid='$_DSESSION[sessionuid]'"));
                }
        } else {
                if($_DSESSION = $db->fetch_first("SELECT sid, groupid, groupid='6' AS ipbanned, pageviews AS spageviews, styleid, lastolupdate, seccode
                        FROM {$tablepre}sessions WHERE sid='$sid' AND CONCAT_WS('.',ip1,ip2,ip3,ip4)='$onlineip'")) {
                        clearcookies();
                        $sessionexists = 1;
                }
        }
}

//note 检验$_DSESSION,不存在重新生成
if(!$sessionexists) {
        if($discuz_uid) {
                if(!($_DSESSION = $db->fetch_first("SELECT $membertablefields, m.styleid
                        FROM {$tablepre}members m WHERE m.uid='$discuz_uid' AND m.password='$discuz_pw' AND m.secques='$discuz_secques'"))) {
                        clearcookies();
                }
        }

        if(ipbanned($onlineip)) $_DSESSION['ipbanned'] = 1;

        $_DSESSION['sid'] = random(6);
        $_DSESSION['seccode'] = random(6, 1);
}
//note 取得当前用户的时间格式
$_DSESSION['dateformat'] = empty($_DSESSION['dateformat']) || empty($_DCACHE['settings']['userdateformat'][$_DSESSION['dateformat'] -1])? $_DCACHE['settings']['dateformat'] : $_DCACHE['settings']['userdateformat'][$_DSESSION['dateformat'] -1];
$_DSESSION['timeformat'] = empty($_DSESSION['timeformat']) ? $_DCACHE['settings']['timeformat'] : ($_DSESSION['timeformat'] == 1 ? 'h:i A' : 'H:i');
$_DSESSION['timeoffset'] = isset($_DSESSION['timeoffset']) && $_DSESSION['timeoffset'] != 9999 ? $_DSESSION['timeoffset'] : $_DCACHE['settings']['timeoffset'];

$membertablefields = '';
@extract($_DSESSION);

$lastvisit = empty($lastvisit) ? $timestamp - 86400 : $lastvisit;
$timenow = array('time' => gmdate("$dateformat $timeformat", $timestamp + 3600 * $timeoffset),
        'offset' => ($timeoffset >= 0 ? ($timeoffset == 0 ? '' : '+'.$timeoffset) : $timeoffset));

if(PHP_VERSION > '5.1') {
        @date_default_timezone_set('Etc/GMT'.($timeoffset > 0 ? '-' : '+').(abs($timeoffset)));
}

//note 验证用户信息
$accessadd1 = $accessadd2 = $modadd1 = $modadd2 = $metadescription = '';
if(empty($discuz_uid) || empty($discuz_user)) {
        $discuz_user = $extgroupids = '';
        $discuz_uid = $adminid = $posts = $digestposts = $pageviews = $oltime = $invisible
                = $credits = $extcredits1 = $extcredits2 = $extcredits3 = $extcredits4
                = $extcredits5 = $extcredits6 = $extcredits7 = $extcredits8 = 0;
        $groupid = empty($groupid) || $groupid != 6 ? 7 : 6;

} else {
        $discuz_userss = $discuz_user;
        $discuz_user = addslashes($discuz_user);

        if($accessmasks) {
                $accessadd1 = ', a.allowview, a.allowpost, a.allowreply, a.allowgetattach, a.allowpostattach';
                $accessadd2 = "LEFT JOIN {$tablepre}access a ON a.uid='$discuz_uid' AND a.fid=f.fid";
        }

        if($adminid == 3) {
                $modadd1 = ', m.uid AS ismoderator';
                $modadd2 = "LEFT JOIN {$tablepre}moderators m ON m.uid='$discuz_uid' AND m.fid=f.fid";
        }
}

if($errorreport == 2 || ($errorreport == 1 && $adminid > 0)) {
        error_reporting(E_ERROR | E_WARNING | E_PARSE);
}

define('FORMHASH', formhash());

$statstatus && !$inajax && require_once DISCUZ_ROOT.'./include/counter.inc.php';

$extra = isset($extra) && @preg_match("/^[&=;a-z0-9]+$/i", $extra) ? $extra : '';

$rsshead = $navtitle = $navigation = '';

//note 读取用户组缓存
$_DSESSION['groupid'] = $groupid = empty($ipbanned) ? (empty($groupid) ? 7 : intval($groupid)) : 6;
if(!@include DISCUZ_ROOT.'./forumdata/cache/usergroup_'.$groupid.'.php') {
        $grouptype = $db->result_first("SELECT type FROM {$tablepre}usergroups WHERE groupid='$groupid'");
        if(!empty($grouptype)) {
                $cachelost .= ' usergroup_'.$groupid;
        } else {
                $grouptype = 'member';
        }
}

$link_login = 'logging.php?action=login';
$link_logout = 'logging.php?action=logout&amp;formhash='.FORMHASH;
$link_register = $regname;

if($discuz_uid && $_DSESSION) {
        //note 到期用户组
        if(!empty($groupexpiry) && $groupexpiry < $timestamp && !in_array(CURSCRIPT, array('wap', 'member'))) {
                dheader("Location: {$boardurl}member.php?action=groupexpiry");
        } elseif($grouptype && $groupid != getgroupid($discuz_uid, array
                (
                'type' => $grouptype,
                'creditshigher' => $groupcreditshigher,
                'creditslower' => $groupcreditslower
                ), $_DSESSION)) {
                @extract($_DSESSION);
                $cachelost .= (@include DISCUZ_ROOT.'./forumdata/cache/usergroup_'.intval($groupid).'.php') ? '' : ' usergroup_'.$groupid;
        }
}

$tpp = intval(empty($_DSESSION['tpp']) ? $topicperpage : $_DSESSION['tpp']);
$ppp = intval(empty($_DSESSION['ppp']) ? $postperpage : $_DSESSION['ppp']);

//note: 在管理组加载权限的时候,必须在此设置为零。否则会导致外部变量注入,造成权限问题。
if(!in_array($adminid, array(1, 2, 3))) {
        $alloweditpost = $alloweditpoll = $allowstickthread = $allowmodpost = $allowdelpost = $allowmassprune
                = $allowrefund = $allowcensorword = $allowviewip = $allowbanip = $allowedituser = $allowmoduser
                = $allowbanuser = $allowpostannounce = $allowviewlog = $disablepostctrl = 0;
} elseif(isset($radminid) && $adminid != $radminid && $adminid != $groupid) {
        $cachelost .= (@include DISCUZ_ROOT.'./forumdata/cache/admingroup_'.intval($adminid).'.php') ? '' : ' admingroup_'.$groupid;
}

$auditstatuson = !empty($mod) && $mod == 'edit' && in_array($adminid, array(1, 2, 3)) && $allowmodpost ? true : false; //note: 审核帖子
//note 取论坛数据 如果没有就取默认的

$page = isset($page) ? max(1, intval($page)) : 1;
$tid = isset($tid) && is_numeric($tid) ? $tid : 0;
$fid = isset($fid) && is_numeric($fid) ? $fid : 0;
$typeid = isset($typeid) ? intval($typeid) : 0;

if(!empty($tid) || !empty($fid)) {
        if(empty($tid)) {
                $forum = $db->fetch_first("SELECT f.fid, f.*, ff.* $accessadd1 $modadd1, f.fid AS fid
                        FROM {$tablepre}forums f
                        LEFT JOIN {$tablepre}forumfields ff ON ff.fid=f.fid $accessadd2 $modadd2
                        WHERE f.fid='$fid'");
        } else {
                $forum = $db->fetch_first("SELECT t.tid, t.closed,".(defined('SQL_ADD_THREAD') ? SQL_ADD_THREAD : '')." f.*, ff.* $accessadd1 $modadd1, f.fid AS fid
                        FROM {$tablepre}threads t
                        INNER JOIN {$tablepre}forums f ON f.fid=t.fid
                        LEFT JOIN {$tablepre}forumfields ff ON ff.fid=f.fid $accessadd2 $modadd2
                        WHERE t.tid='$tid'".($auditstatuson ? '' : " AND t.displayorder>='0'")." LIMIT 1"); //note: 审核帖子
                $tid = $forum['tid'];
        }

        if($forum) {
                $fid = $forum['fid'];
                $forum['ismoderator'] = !empty($forum['ismoderator']) || $adminid == 1 || $adminid == 2 ? 1 : 0;
                foreach(array('postcredits', 'replycredits', 'threadtypes', 'digestcredits', 'postattachcredits', 'getattachcredits') as $key) {
                        $forum[$key] = !empty($forum[$key]) ? unserialize($forum[$key]) : array();
                }
        } else {
                $fid = 0;
        }
}

$styleid = intval(!empty($_GET['styleid']) ? $_GET['styleid'] :
                (!empty($_POST['styleid']) ? $_POST['styleid'] :
                (!empty($_DSESSION['styleid']) ? $_DSESSION['styleid'] :
                $_DCACHE['settings']['styleid'])));

$styleid = intval(isset($stylejump[$styleid]) ? $styleid : $_DCACHE['settings']['styleid']);

if(@!include DISCUZ_ROOT.'./forumdata/cache/style_'.intval(!empty($forum['styleid']) ? $forum['styleid'] : $styleid).'.php') {
        $cachelost .= (@include DISCUZ_ROOT.'./forumdata/cache/style_'.($styleid = $_DCACHE['settings']['styleid']).'.php') ? '' : ' style_'.$styleid;
}

//note 缺少缓存
if($cachelost) {
        require_once DISCUZ_ROOT.'./include/cache.func.php';
        updatecache();
        //note 此处不要用 dexit
        exit('Cache List: '.$cachelost.'
Caches successfully created, please refresh.');
}

//note
if(CURSCRIPT != 'wap') {
        if($nocacheheaders) {
                @dheader("Expires: 0");
                @dheader("Cache-Control: private, post-check=0, pre-check=0, max-age=0", FALSE);
                @dheader("Pragma: no-cache");
        }
        if($headercharset) {
                @dheader('Content-Type: text/html; charset='.$charset);
        }
        if(empty($_DCOOKIE['sid']) || $sid != $_DCOOKIE['sid']) {
                dsetcookie('sid', $sid, 604800);
        }
}

$_DCOOKIE['loginuser'] = !empty($_DCOOKIE['loginuser']) ? substr(htmlspecialchars($_DCOOKIE['loginuser']), 0, 15) : '';

//note 计划任务
if(!empty($insenz['cronnextrun']) && $insenz['cronnextrun'] <= $timestamp) {
        require_once DISCUZ_ROOT.'./include/insenz_cron.func.php';
        insenz_runcron();
} elseif($cronnextrun && $cronnextrun <= $timestamp) {
        require_once DISCUZ_ROOT.'./include/cron.func.php';
        runcron();
} elseif(isset($insenz['statsnextrun']) && $insenz['statsnextrun'] <= $timestamp) {
        require_once DISCUZ_ROOT.'./include/insenz_cron.func.php';
        insenz_onlinestats();
}

//note 加载插件
if(isset($plugins['include']) && is_array($plugins['include'])) {
        foreach($plugins['include'] as $include) {
                if(!$include['adminid'] || ($include['adminid'] && $include['adminid'] >= $adminid)) {
                        @include_once DISCUZ_ROOT.'./plugins/'.$include['script'].'.inc.php';
                }
        }
}

//note 广告相关
if((!empty($_DCACHE['advs']) || $globaladvs) && !defined('IN_ADMINCP')) {
        require_once DISCUZ_ROOT.'./include/advertisements.inc.php';
}

if(isset($allowvisit) && $allowvisit == 0 && !(CURSCRIPT == 'member' && ($action == 'groupexpiry' || $action == 'activate'))) {
        showmessage('user_banned', NULL, 'HALTED');
} elseif(!(in_array(CURSCRIPT, array('logging', 'wap', 'seccode')) || $adminid == 1)) {
        if($bbclosed) {
                clearcookies();
                $closedreason = $db->result_first("SELECT value FROM {$tablepre}settings WHERE variable='closedreason'");
                showmessage($closedreason ? $closedreason : 'board_closed', NULL, 'NOPERM');
        }
        periodscheck('visitbanperiods');
}

//note 论坛推广
if((!empty($fromuid) || !empty($fromuser)) && ($creditspolicy['promotion_visit'] || $creditspolicy['promotion_register'])) {
        require_once DISCUZ_ROOT.'/include/promotion.inc.php';
}

if($uc['addfeed']) {
        $customaddfeed = $customaddfeed == '-1' ? 0 : ($customaddfeed == 0 ? $uc['addfeed'] : intval($customaddfeed));
} else {
        $customaddfeed = 0;
}

$rssauth = $rssstatus && $discuz_uid ? rawurlencode(authcode("$discuz_uid\t".($fid ? $fid : '')."\t".substr(md5($discuz_pw.$discuz_secques), 0, 8), 'ENCODE', md5($_DCACHE['settings']['authkey']))) : '0';
$transferstatus = $transferstatus && $allowtransfer;

?>
真正的尊敬,既不属于那些批评别人头头是道的人,也不是属于给强人指出过错、指点别人哪里做的不好的人。真正的尊敬,是属于那些勇于亲身投入战场,脸上沾满了尘土、汗水和鲜血的奋斗者们。他们坚持不懈的努力,尽管曾经犯下错误,并一再失败,但他们满怀激情,执著不懈,将生命奉献于崇高的事业。他们为经过艰辛努力最终取得的伟大成就而自豪,如果失败,他们也败得荣耀。因此,那些既没赢得过胜利,也没懂得什么叫做失败的,冷漠、胆怯的灵魂,是永远也无法与这些真正值得尊敬的人相提并论的。
http://www.cnedwin.com

TOP

发新话题