📄 commons.inc.php
字号:
<?php
$UPL=array();
function timer($st=0,$d=8){list($m,$s)=explode(' ',microtime());$t=round((float)$s+(float)$m-$st,$d);if($t<1)return$t*1000 . ' ms';return$t.' s';}
$UPL['RUNTIME']=timer();
@error_reporting(E_ALL);
@ignore_user_abort(true);
@set_magic_quotes_runtime(0);
@ob_start('ob_gzhandler');
@set_time_limit(0);
#if(is_file('install.php'))exit('Please run install.php');
#if(is_file('update.php'))exit('Site update in progress, please try again in a few hours.');
// order matters!
require_once'includes/constants.inc.php';
require_once'includes/functions_base.inc.php';
require_once'includes/configs.inc.php';
require_once'includes/template.class.php';
require_once'includes/db.class.php';
require_once'includes/messages.inc.php';
require_once'includes/mysql.class.php';
// clean gpc
if(get_magic_quotes_gpc())
{
$_GET=strip_gpc($_GET);
$_POST=strip_gpc($_POST);
$_COOKIE=strip_gpc($_COOKIE);
}
// Load settings
$db=new DB;
if(!$db->open(UPLOADER_SETTINGS))exit('Unable to open settings file '.UPLOADER_SETTINGS);
$UPL['SETTINGS']=$db->all();
$db->close();
unset($db);
// global variables
$demo=0;
define('TPL_DIR','templates/'.$UPL['SETTINGS']['tpl'].'/');
define('CURRENT_PAGE',basename($_SERVER['SCRIPT_NAME']));
define('MOD_REWRITE',$UPL['CONFIGS']['MOD_REWRITE']);
// Initialize some common template objects
if(isset($_GET['version']))exit(UPLOADER_VERSION);
$tpl_uploader=new Template(TPL_DIR.'tpl_uploader.php');
$tpl_message=new Template(TPL_DIR.'tpl_message.php');
// init mysql
extract($UPL['MYSQL'],EXTR_OVERWRITE);
$mysqlDB=new mysqlDB($host,$username,$password,$database,defined('NO_PERSISTENT')?0:$persistent);
// get common user inputs
$action=gpc('action','GP');
if(is_array($action))$action=key($action);
$task=gpc('task','GP');
if(is_array($task))$task=key($task);
// authenticate user
$UPL['USER']['logged_in']=0;
$UPL['USER']['userid']=0;
$UPL['USER']['username']='Guest';
$UPL['USER']['level']=LEVEL_NORMAL;
// Auto login for returning user
$c_username=gpc('uploader_username','C',0);
$c_password=gpc('uploader_password','C',0);
$c_userid=gpc('uploader_userid','C',0);
$c_session =gpc('uploader_session','C',0);
// Login user
if($c_password!==0&&$c_userid!==0)
{
$c_userid=abs((int)$c_userid);
$mysqlDB->query ( sprintf ( "SELECT users.*, COUNT(messages.messageid) AS messages_count, COUNT(messages.messageid)-SUM(messages.is_read) AS unread_messages FROM uploader_users AS users LEFT JOIN uploader_messages AS messages USING(userid) WHERE users.userid=%d AND users.password='%s' GROUP BY users.userid ;",$c_userid,$mysqlDB->escape($c_password)));
if($mysqlDB->getRowCount())
{
$UPL['USER']=$mysqlDB->getAssoc();
$UPL['USER']['logged_in']=1;
$mysqlDB->free();
if($c_session===0)
{
$mysqlDB->query(sprintf("UPDATE uploader_users SET last_login_ip='%s', last_login_time=%d WHERE userid=%d;",$_SERVER['REMOTE_ADDR'],time(),$c_userid));
setcookie('uploader_session',"uploader_session",0,'/',$UPL['CONFIGS']['COOKIE_DOMAIN'],0);
}
}
}
// In maintenance mode?
if($UPL['SETTINGS']['m']&&!defined('ADMIN'))
{
$tpl_uploader->setr('UPL',$UPL);
$tpl_message->set('message',$UPL['SETTINGS']['m_msg']);
$tpl_uploader->set('content',$tpl_message,1);
exit;
}
if(!defined('NO_AUTH_CHECK'))
{
$err='none';
if(!$UPL['USER']['logged_in'])$err=$lang_commons['not_logged_in'];
elseif($UPL['USER']['level']!=LEVEL_ADMIN&&$UPL['USER']['level']!=LEVEL_MODERATOR)
{
if($UPL['USER']['is_suspended'])$err=$lang_commons['account_suspended'];
elseif(!$UPL['USER']['is_activated'])$err=$lang_commons['account_not_activated'];
elseif(!$UPL['USER']['is_approved'])$err=$lang_commons['account_not_approved'];
}
if($err!='none'){$tpl_message->set('message',$err);$tpl_uploader->setr('content',$tpl_message,1);exit;}
}
$tpl_uploader->setr('UPL',$UPL);
define ( 'USERFILES_ROOT', $UPL['SETTINGS']['userfiles_dir'] . $UPL['USER']['userid'] . '/' );
define ( 'USERFILES_URL', $UPL['SETTINGS']['userfiles_url'] . $UPL['USER']['userid'] . '/' );
define ( 'UPLOADER_URL', $UPL['SETTINGS']['uploader_url'] );
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -