1. <track id="w0gxx"><strike id="w0gxx"><menu id="w0gxx"></menu></strike></track>
      2. 0712-2888027 189-8648-0214
        微信公眾號

        孝感風信網絡科技有限公司微信公眾號

        當前位置:主頁 > 技術支持 > PHP > destoon運行流程二次開發必看

        destoon運行流程二次開發必看

        時間:2024-01-17來源:風信官網 點擊: 839次
        <?php
        代碼首先包含common.inc.php文件
        在common.inc.php文件中,首先定義常量。
        define('IN_DESTOON', true);
        define('IN_ADMIN', defined('DT_ADMIN') ? true : false);
        define('DT_ROOT', str_replace("\", '/', dirname(__FILE__)));
        if(defined('DT_REWRITE')) include  DT_ROOT.'/include/rewrite.inc.php';//是否定義了url偽靜態?
        $CFG = array();//網站整體配置信息
        require DT_ROOT.'/config.inc.php';//-----------------網站配置文件
        define('DT_PATH', $CFG['url']);
        define('DT_DOMAIN', $CFG['cookie_domain'] ? substr($CFG['cookie_domain'],  1) : '');
        define('DT_WIN', strpos(strtoupper(PHP_OS), 'WIN') !== false ? true:  false);
        define('DT_CHMOD', ($CFG['file_mod'] && !DT_WIN) ? $CFG['file_mod']  : 0);
        define('DT_URL', $CFG['url']);//Fox 3.x
        define('DT_LANG', $CFG['language']);
        define('DT_KEY', $CFG['authkey']);
        define('DT_CHARSET', $CFG['charset']);
        define('DT_CACHE', $CFG['cache_dir'] ? $CFG['cache_dir'] :  DT_ROOT.'/file/cache');
        define('DT_SKIN', DT_PATH.'skin/'.$CFG['skin'].'/');
        define('SKIN_PATH', DT_PATH.'skin/'.$CFG['skin'].'/');//For 2.x
        define('VIP', $CFG['com_vip']);
        define('errmsg', 'Invalid Request');
        隨后加載網站基本功能
        $L = array();
        include DT_ROOT.'/lang/'.DT_LANG.'/lang.inc.php';//語言信息
        require DT_ROOT.'/version.inc.php';
        require DT_ROOT.'/include/global.func.php';//--------全局函數
        require DT_ROOT.'/include/tag.func.php';//-----------標簽函數
        require DT_ROOT.'/api/im.func.php';//----------------聊天工具
        require DT_ROOT.'/api/extend.func.php';//------------自己寫的擴展函數
        if(!$MQG && $_POST) $_POST = daddslashes($_POST);
        if(!$MQG && $_GET) $_GET = daddslashes($_GET);
        if(function_exists('date_default_timezone_set'))  date_default_timezone_set($CFG['timezone']);
        $DT_PRE = $CFG['tb_pre'];
        $DT_QST = $_SERVER['QUERY_STRING'];//----------------querystring
        $DT_TIME = time() + $CFG['timediff'];//--------------當前時間
        $DT_IP = get_env('ip');
        $DT_URL = get_env('url');
        $DT_REF = get_env('referer');
        $DT_BOT = is_robot();
        鏈接數據庫,建立緩存。
        header("Content-Type:text/html;charset=".DT_CHARSET);
        require DT_ROOT.'/include/db_'.$CFG['database'].'.class.php';//加載數據庫類
        require  DT_ROOT.'/include/cache_'.$CFG['cache'].'.class.php';//加載緩存類
        if($_POST) extract($_POST, EXTR_SKIP);//解析post請求的數據
        if($_GET) extract($_GET, EXTR_SKIP);//解析get請求的數據
        $db_class = 'db_'.$CFG['database'];
        $db = new $db_class;
        $db->halt = (DT_DEBUG || IN_ADMIN) ? 1 : 0;
        $db->pre = $CFG['tb_pre'];
        $db->connect($CFG['db_host'], $CFG['db_user'], $CFG['db_pass'],  $CFG['db_name'], $CFG['db_expires'], $CFG['db_charset'],  $CFG['pconnect']);
        $dc = new dcache();
        $dc->pre = $CFG['cache_pre'];
        加載模塊的基本配置
        $DT = $MOD = $EXT = $CSS = $DTMP = $CAT = $ARE = $AREA = array();
        $CACHE = cache_read('module.php');
        if(!$CACHE) {
        //沒有緩存模塊,就讀取緩存模塊。
        require_once DT_ROOT.'/admin/global.func.php';
        require_once DT_ROOT.'/include/post.func.php';
        require_once DT_ROOT.'/include/cache.func.php';
        cache_all();
        $CACHE = cache_read('module.php');
        }
        $DT = $CACHE['dt'];
        $MODULE = $CACHE['module'];
        $EXT = cache_read('module-3.php');
        加載模塊,讀取模塊信息,引入模塊文件
        if(!isset($moduleid)) {
        $moduleid = 1;
        $module = 'destoon';
        } else if($moduleid == 1) {
        $module = 'destoon';
        } else {
        $moduleid = intval($moduleid);
        isset($MODULE[$moduleid]) or dheader(DT_PATH);
        $module = $MODULE[$moduleid]['module'];
        $MOD = $moduleid == 3 ? $EXT :  cache_read('module-'.$moduleid.'.php');
        include DT_ROOT.'/lang/'.DT_LANG.'/'.$module.'.inc.php';
        }
        $forward = isset($forward) ? urldecode($forward) :  $DT_REF;//------------來源頁面
        $action = isset($action) ? trim($action) :  '';//-------------動作指令
        //判斷用戶登錄
        $destoon_auth = get_cookie('auth');
        if($destoon_auth) {
        $_dauth = explode("t", decrypt($destoon_auth,  md5(DT_KEY.$_SERVER['HTTP_USER_AGENT'])));
        //print_r($_dauth);SELECT userid,username,groupid,admin FROM  destoon_member
        $_userid = isset($_dauth[0]) ? intval($_dauth[0]) : 0;
        $_username = isset($_dauth[1]) ? trim($_dauth[1]) : '';
        $_groupid = isset($_dauth[2]) ? intval($_dauth[2]) : 3;
        $_admin = isset($_dauth[4]) ? intval($_dauth[4]) : 0;
        if($_userid && !defined('DT_NONUSER')) {
        $_password = isset($_dauth[3]) ? trim($_dauth[3]) : '';
        $user = $db->get_one("SELECT  username,passport,company,truename,password,groupid,email,message,chat,sound,online,sms,credit,money,loginip,admin,aid,edittime,trade  FROM {$DT_PRE}member WHERE userid=$_userid");
        if($user && $user['password'] == $_password) {
        if($user['groupid'] == 2)  dalert(lang('message->common_forbidden'));//禁止用戶訪問的組別
        extract($user, EXTR_PREFIX_ALL, '');
        if($user['loginip'] != $DT_IP && ($DT['ip_login'] == 2 ||  ($DT['ip_login'] == 1 && IN_ADMIN))) {
        //單點登錄,判斷ip
        $_userid = 0; set_cookie('auth', '');
        dalert(lang('message->common_login', array($user['loginip'])),  DT_PATH);
        }
        } else {
        //登錄失敗
        $_userid = 0;
        if($db->linked && !isset($swfupload) &&  strpos($_SERVER['HTTP_USER_AGENT'], 'Flash') === false) set_cookie('auth',  '');
        }
        unset($destoon_auth, $user, $_dauth, $_password);
        }
        }
        if($_userid == 0) { $_groupid = 3; $_username = ''; }
        if(!IN_ADMIN) {
        if($_groupid == 1) include DT_ROOT.'/module/member/admin.inc.php';
        if($_userid && !defined('DT_NONUSER')) {
        $db->query("REPLACE INTO {$DT_PRE}online  (userid,username,ip,moduleid,online,lasttime) VALUES  ('$_userid','$_username','$DT_IP','$moduleid','$_online','$DT_TIME')");
        } 
        else {
        if(timetodate($DT_TIME, 'i') == 10) {
        $lastime = $DT_TIME - $DT['online'];
        $db->query("DELETE FROM {$DT_PRE}online WHERE  lasttime<$lastime");
        }
        }
        }
        $MG = cache_read('group-'.$_groupid.'.php');//讀取用戶組別配置
        $_areaids = '';
        $_areaid = array();
        if($DT['city']) {
        $AREA or $AREA = cache_read('area.php');
        if($_aid) {
        $_areaids = $AREA[$_aid]['child'] ? $AREA[$_aid]['arrchildid'] :  $_aid;
        $_areaid = explode(',', $_areaids);
        }
        } else {
        $_aid < 1 or dalert('系統未開啟分站功能,您的分站管理帳號暫不可用',  $MODULE[2]['linkurl'].'logout.php');
        }
        $session = new dsession();
        require DT_ROOT.'/admin/global.func.php';
        require DT_ROOT.'/include/post.func.php';
        require_once DT_ROOT.'/include/cache.func.php';
        isset($file) or $file = 'index';
        $secretkey = 'admin_'.strtolower(substr($CFG['authkey'], -6));
        //echo $secretkey;exit;
        if($DT['authadmin'] == 'session') {
        $_destoon_admin = isset($_SESSION[$secretkey]) ?  intval($_SESSION[$secretkey]) : 0;
        } else {
        $_destoon_admin = get_cookie($secretkey);
        $_destoon_admin = $_destoon_admin ? intval($_destoon_admin) : 0;
        }
        $_founder = $CFG['founderid'] == $_userid ? $_userid : 0;
        $_catids = $_childs = '';
        $_catid = $_child = array();
        if($file != 'login') {
        if($_groupid != 1 || $_admin < 1 || !$_destoon_admin) msg('',  '?file=login&forward='.urlencode($DT_URL));
        //判斷用戶是否已經登錄?如果未登錄,直接跳轉到登錄頁面。防止用戶構造url。
        if(!admin_check()) {
        admin_log(1);
        $db->query("DELETE FROM { $db->pre}admin WHERE userid=$_userid AND  url='?".$DT_QST."'");
        msg('警告!您無權進行此操作 Error(00)');
        }
        }
        //是否記錄日志
        if($DT['admin_log'] && $action != 'import') admin_log();
        if($DT['admin_online']) admin_online();
        $psize = isset($psize) ? intval($psize) : 0;
        if($psize > 0 && $psize != $pagesize) {
        $pagesize = $psize;
        $offset = ($page-1)*$pagesize;
        }
        if($module == 'destoon') {
        (include DT_ROOT.'/admin/'.$file.'.inc.php') or msg();
        } else {
        echo $file.'|'.$module;
        include DT_ROOT.'/module/'.$module.'/common.inc.php';//加載模塊下的common文件
        (include MD_ROOT.'/admin/'.$file.'.inc.php') or msg();//加載模塊文件
        }
        
        熱門關鍵詞: destoon 運行流程 二次開發
        欄目列表
        推薦內容
        熱點內容
        展開
        久久99精品久久久久久久不卡_日本一区二区三不卡高清区免费_久久精品无码免费观看_麻豆av一区二区无码