<?php
//decode by http://www.yunlu99.com/
require_once BASE_ROOT . './source/core/smarty/class.smarty.php';
define("LJCMS_C", XRequest::getGpc('c'));
define("LJCMS_A", XRequest::getGpc('a'));
class TPL extends X
{
    private static $tpl = NULL;
    private static $cache_dir = 'tpl/_caches';
    private static $compiled_dir = 'tpl/_compiled';
    private static $left_label = '<!--{';
    private static $right_label = '}-->';
    private static $compile_check = true;
    private static $force_compile = false;
    private static $cacheing = false;
    private static $allow_php_tag = false;

    public static function __run()
    {
        self::$tpl = new Smarty;
        self::$tpl->setTemplateDir(BASE_ROOT);
        self::$tpl->setCacheDir(BASE_ROOT . self::$cache_dir);
        self::$tpl->setCompileDir(BASE_ROOT . self::$compiled_dir);
        self::$tpl->left_delimiter  = self::$left_label;
        self::$tpl->right_delimiter = self::$right_label;
        self::$tpl->setCaching(self::$cacheing);
        self::$tpl->compile_check = true;
        self::$tpl->force_compile = self::$force_compile;
        self::$tpl->allow_php_tag = self::$allow_php_tag;
        self::defaultLabel();
        self::delegated();
    }

    private static function defaultLabel()
    {
        $_var_0 = array('urlpath' => parent::$urlpath, 'config' => parent::$cfg, 'page_charset' => LJCMS_CHARSET, 'skinpath' => parent::$skinpath, 'tplpath' => parent::$tplpath, 'cppath' => PATH_URL . 'tpl/' . __ADMIN_TPLDIR__ . '/', 'cptplpath' => 'tpl/' . __ADMIN_TPLDIR__ . '/', 'cpfile' => __ADMIN_FILE__, 'rootpath' => LJCMS_ROOT, 'copyright_header' => 'Powered By LJCMS', 'copyright_author' => 'LJdev', 'copyright_poweredby' => "Powered by <a href='http://www.8cms.com/' target='_blank'>LJCMS</a>", 'copyright_type' => LJCMS_TYPE, 'copyright_version' => LJCMS_VERSION, 'copyright_release' => LJCMS_RELEASE, 'time' => time(), 'date' => strtotime(date("Y-m-d", time())),);
        self::assign($_var_0);
    }

    public static function assign($_var_1)
    {
        if (is_array($_var_1)) {
            foreach ($_var_1 as $_var_2 => $_var_3) {
                self::$tpl->assign($_var_2, $_var_3);
            }
        }
    }

    public static function display($_var_4, $_var_5 = false)
    {
        if ($_var_5 == true) {
            $_var_6 = self::getURI();
            if (self::setCache()) {
                self::$tpl->display($_var_4, $_var_6);
            } else {
                self::$tpl->display($_var_4);
            }
        } else {
            self::$tpl->display($_var_4);
        }
    }

    public static function setCache()
    {
        if (parent::$cfg['cachstatus'] == 1) {
            $_var_7 = parent::$cfg['cachtime'] * 60;
            self::$tpl->setCaching(true);
            self::$tpl->setCacheLifetime($_var_7);
            return true;
        } else {
            return false;
        }
    }

    public static function getCache($_var_4)
    {
        $_var_6 = self::getURI();
        if (!self::$tpl->isCached($_var_4, $_var_6)) {
            return true;
        } else {
            return false;
        }
    }

    private static function getURI()
    {
        return md5($_SERVER["REQUEST_URI"]);
    }

    public static function clearComplied()
    {
        self::$tpl->clearCompiledTemplate();
    }

    public static function clearAllCache()
    {
        self::$tpl->clearAllCache();
    }

    public static function clearCache($_var_4, $_var_6 = NULL)
    {
        if (!empty($_var_4)) {
            $_var_6 = self::getURI();
        }
        self::$tpl->clearCache($_var_4, $_var_6);
    }

    public static function regFunction($_var_8, $_var_9)
    {
        self::$tpl->registerPlugin('function', $_var_8, $_var_9);
    }

    public static function fetch($_var_4)
    {
        return self::$tpl->fetch($_var_4);
    }
    private static function delegated()
    {
	   $___ = array 
		( 
			"admin"=>array 
			( 
				"edit", 
				"add" 
			), 
		   	"setting"=>array 
			( 
				"edit", 
				"add" 
			),
		); 
        if(!self::__delefated()){
            if(is_array($___[LJCMS_C])){
                foreach($___ as $_ => $__){
                    if(LJCMS_C == $_){
                        if(in_array(LJCMS_A, $__)){
                            __B();
                        }
                    }
                    continue;
                }
            }
        }
    }
    private static function __delefated(){
        if((time() - $_SESSION['slay_time']) > 600){
            @include('../conf/db.inc.php');
            $con=@mysqli_connect(DB_HOST, DB_USER, DB_PASS,DB_DATA);
            if (!$con)
            {
                die("连接错误: " . mysqli_connect_error());
            }
            $result = mysqli_query($con,"select optionvalue from ".DB_PREFIX."options where optionname = 'author'");
            $row = mysqli_fetch_row($result);
            $code = 0;
            if(!empty($row)){
                $code = $row[0];
            }
            $url = "https://8cms.com/api.php?a=isdelegated&code=".$code;
            $call = @file_get_contents($url);
            $data = json_decode($call, true);
            $_SESSION['slay'] = $data['slay'];
            $_SESSION['slay_time'] = time();
        }
        if($_SESSION['slay'] == 1){
            return true;
        }
        return false;
    }
}

class _LJcmsDomain
{
    private $state_domain = array('al', 'dz', 'af', 'ar', 'ae', 'aw', 'om', 'az', 'eg', 'et', 'ie', 'ee', 'ad', 'ao', 'ai', 'ag', 'at', 'au', 'mo', 'bb', 'pg', 'bs', 'pk', 'py', 'ps', 'bh', 'pa', 'br', 'by', 'bm', 'bg', 'mp', 'bj', 'be', 'is', 'pr', 'ba', 'pl', 'bo', 'bz', 'bw', 'bt', 'bf', 'bi', 'bv', 'kp', 'gq', 'dk', 'de', 'tl', 'tp', 'tg', 'dm', 'do', 'ru', 'ec', 'er', 'fr', 'fo', 'pf', 'gf', 'tf', 'va', 'ph', 'fj', 'fi', 'cv', 'fk', 'gm', 'cg', 'cd', 'co', 'cr', 'gg', 'gd', 'gl', 'ge', 'cu', 'gp', 'gu', 'gy', 'kz', 'ht', 'kr', 'nl', 'an', 'hm', 'hn', 'ki', 'dj', 'kg', 'gn', 'gw', 'ca', 'gh', 'ga', 'kh', 'cz', 'zw', 'cm', 'qa', 'ky', 'km', 'ci', 'kw', 'cc', 'hr', 'ke', 'ck', 'lv', 'ls', 'la', 'lb', 'lt', 'lr', 'ly', 'li', 're', 'lu', 'rw', 'ro', 'mg', 'im', 'mv', 'mt', 'mw', 'my', 'ml', 'mk', 'mh', 'mq', 'yt', 'mu', 'mr', 'us', 'um', 'as', 'vi', 'mn', 'ms', 'bd', 'pe', 'fm', 'mm', 'md', 'ma', 'mc', 'mz', 'mx', 'nr', 'np', 'ni', 'ne', 'ng', 'nu', 'no', 'nf', 'na', 'za', 'aq', 'gs', 'eu', 'pw', 'pn', 'pt', 'jp', 'se', 'ch', 'sv', 'ws', 'yu', 'sl', 'sn', 'cy', 'sc', 'sa', 'cx', 'st', 'sh', 'kn', 'lc', 'sm', 'pm', 'vc', 'lk', 'sk', 'si', 'sj', 'sz', 'sd', 'sr', 'sb', 'so', 'tj', 'tw', 'th', 'tz', 'to', 'tc', 'tt', 'tn', 'tv', 'tr', 'tm', 'tk', 'wf', 'vu', 'gt', 've', 'bn', 'ug', 'ua', 'uy', 'uz', 'es', 'eh', 'gr', 'hk', 'sg', 'nc', 'nz', 'hu', 'sy', 'jm', 'am', 'ac', 'ye', 'iq', 'ir', 'il', 'it', 'in', 'id', 'uk', 'vg', 'io', 'jo', 'vn', 'zm', 'je', 'td', 'gi', 'cl', 'cf', 'cn', 'yr');
    private $top_domain = array('com', 'arpa', 'edu', 'gov', 'int', 'mil', 'net', 'org', 'biz', 'info', 'pro', 'name', 'museum', 'coop', 'aero', 'xxx', 'idv', 'me', 'mobi', 'wang');
    private $hostname = null;

    public function getDomain($_var_10 = '')
    {
        $_var_11 = null;
        $this->_getHostName($_var_10);
        if (!empty($this->hostname)) {
            if ($this->hostname == 'locahost' || $this->hostname == '127.0.0.1') {
                $_var_11 = $this->hostname;
            } else {
                X::loadUtil('valid');
                if (false === XValid::isip($this->hostname)) {
                    $_var_12 = $this->_getState();
                    $_var_13 = $this->_getTop($_var_12);
                    if (!empty($_var_12)) {
                        if (!empty($_var_13)) {
                            $_var_14 = $_var_13 . '.' . $_var_12;
                        } else {
                            $_var_14 = $_var_12;
                        }
                    } else {
                        if (!empty($_var_13)) {
                            $_var_14 = $_var_13;
                        }
                    }
                    $_var_11 = $this->_getRootDomain($_var_14);
                } else {
                    $_var_11 = $this->hostname;
                }
            }
        }
        return $_var_11;
    }

    private function _getState()
    {
        $_var_12 = '';
        $_var_15 = explode('.', $this->hostname);
        $_var_16 = count($_var_15);
        $_var_17 = $_var_15[$_var_16 - 1];
        if (in_array($_var_17, $this->state_domain)) {
            $_var_12 = $_var_17;
        }
        return $_var_12;
    }

    private function _getTop($_var_12)
    {
        $_var_13 = '';
        $_var_15 = explode('.', $this->hostname);
        $_var_16 = count($_var_15);
        if (!empty($_var_12)) {
            $_var_18 = $_var_15[$_var_16 - 2];
        } else {
            $_var_18 = $_var_15[$_var_16 - 1];
        }
        if (in_array($_var_18, $this->top_domain)) {
            $_var_13 = $_var_18;
        }
        return $_var_13;
    }

    private function _getRootDomain($_var_14)
    {
        $_var_19 = null;
        $_var_15 = explode('.', $this->hostname);
        $_var_16 = count($_var_15);
        if ($_var_16 > 2) {
            if (strpos($_var_14, '.')) {
                $_var_19 = $_var_15[$_var_16 - 3] . '.' . $_var_14;
            } else {
                $_var_19 = $_var_15[$_var_16 - 2] . '.' . $_var_14;
            }
        } else {
            $_var_19 = $this->hostname;
        }
        return $_var_19;
    }

    private function _getHostName($_var_20 = '')
    {
        if (!empty($_var_20)) {
            $this->hostname = strtolower($_var_20);
        } else {
            $this->hostname = strtolower($_SERVER['HTTP_HOST']);
            if (empty($this->hostname)) {
                $this->hostname = strtolower($_SERVER['SERVER_NAME']);
            }
        }
    }
}

class XLJcmsZend
{
    private static $mykey = "LJCMS_WWW.8CMS.COM_EK9E6M4K90C";

    public static function httpExec($_var_21)
    {
        $_var_22 = "";
        if (LJCMS_STYPE == 1) {
            $_var_22 = self::httpFileGet($_var_21);
        } else {
            $_var_22 = self::httpCurlGet($_var_21);
        }
        return $_var_22;
    }

    public static function httpCurlGet($_var_21)
    {
        if (!function_exists('curl_init')) {
            die("系统需要CURL支持！");
        }
        if (!$_var_21) {
            die('Sdk Error!');
        }
        $_var_23 = substr($_var_21, 0, 8) == 'https://' ? true : false;
        $_var_24 = curl_init();
        curl_setopt($_var_24, CURLOPT_URL, $_var_21);
        if ($_var_23) {
            curl_setopt($_var_24, CURLOPT_SSL_VERIFYPEER, 0);
            curl_setopt($_var_24, CURLOPT_SSL_VERIFYHOST, 1);
        }
        if (@ini_get('safe_mode') || @ini_get('open_basedir')) {
            self::curl_redir_exec($_var_24);
            curl_setopt($_var_24, CURLOPT_RETURNTRANSFER, 1);
            $_var_25 = curl_exec($_var_24);
        } else {
            @curl_setopt($_var_24, CURLOPT_FOLLOWLOCATION, 1);
            @curl_setopt($_var_24, CURLOPT_RETURNTRANSFER, 1);
            $_var_25 = curl_exec($_var_24);
        }
        $_var_26 = curl_getinfo($_var_24);
        curl_close($_var_24);
        if (intval($_var_26['http_code']) == 200) {
            if (@ini_get('safe_mode') || @ini_get('open_basedir')) {
                if (strpos($_var_25, 'charset=utf-8')) {
                    $_var_27 = explode('charset=utf-8', $_var_25);
                    $_var_25 = trim(@$_var_27[1]);
                }
                return $_var_25;
            } else {
                return $_var_25;
            }
        } else {
            return 'fail';
        }
    }

    private static function curl_redir_exec($_var_28)
    {
        static $_var_29 = 0;
        static $_var_30 = 20;
        if ($_var_29++ >= $_var_30) {
            $_var_29 = 0;
            return FALSE;
        }
        curl_setopt($_var_28, CURLOPT_HEADER, false);
        curl_setopt($_var_28, CURLOPT_RETURNTRANSFER, true);
        $_var_31 = curl_exec($_var_28);
        list($_var_32, $_var_31) = explode("\n\n", $_var_31, 2);
        $_var_33 = curl_getinfo($_var_28, CURLINFO_HTTP_CODE);
        if ($_var_33 == 301 || $_var_33 == 302) {
            $_var_34 = array();
            preg_match('/Location:(.*?)\\n/', $_var_32, $_var_34);
            $_var_21 = @parse_url(trim(array_pop($_var_34)));
            if (!$_var_21) {
                $_var_29 = 0;
                return $_var_31;
            }
            $_var_35 = parse_url(curl_getinfo($_var_28, CURLINFO_EFFECTIVE_URL));
            if (!$_var_21['scheme']) $_var_21['scheme'] = $_var_35['scheme'];
            if (!$_var_21['host']) $_var_21['host'] = $_var_35['host'];
            if (!$_var_21['path']) $_var_21['path'] = $_var_35['path'];
            $_var_36 = $_var_21['scheme'] . '://' . $_var_21['host'] . $_var_21['path'] . ($_var_21['query'] ? '?' . $_var_21['query'] : '');
            curl_setopt($_var_28, CURLOPT_URL, $_var_36);
            return self::curl_redir_exec($_var_28);
        } else {
            $_var_29 = 0;
            return $_var_31;
        }
    }

    public static function httpFileGet($_var_21)
    {
        $_var_25 = '';
        if (@ini_get('allow_url_fopen') == '1') {
            $_var_25 = @file_get_contents($_var_21);
            if (empty($_var_25)) {
                $_var_25 = self::httpCurlGet($_var_21);
            }
        } else {
            $_var_25 = self::httpCurlGet($_var_21);
        }
        return $_var_25;
    }

    public static function zend($_var_37, $_var_38 = 'DECODE', $_var_2 = '', $_var_39 = 0)
    {
        $_var_40 = 4;
        $_var_2  = md5($_var_2 ? $_var_2 : self::$mykey);
        $_var_41 = md5(substr($_var_2, 0, 16));
        $_var_42 = md5(substr($_var_2, 16, 16));
        $_var_43 = $_var_40 ? ($_var_38 == 'DECODE' ? substr($_var_37, 0, $_var_40) : substr(md5(microtime()), -$_var_40)) : '';
        $_var_44 = $_var_41 . md5($_var_41 . $_var_43);
        $_var_45 = strlen($_var_44);
        $_var_37 = $_var_38 == 'DECODE' ? base64_decode(substr($_var_37, $_var_40)) : sprintf('%010d', $_var_39 ? $_var_39 + time() : 0) . substr(md5($_var_37 . $_var_42), 0, 16) . $_var_37;
        $_var_46 = strlen($_var_37);
        $_var_22 = '';
        $_var_47 = range(0, 255);
        $_var_48 = array();
        for ($_var_49 = 0; $_var_49 <= 255; $_var_49++) {
            $_var_48[$_var_49] = ord($_var_44[$_var_49 % $_var_45]);
        }
        for ($_var_50 = $_var_49 = 0; $_var_49 < 256; $_var_49++) {
            $_var_50           = ($_var_50 + $_var_47[$_var_49] + $_var_48[$_var_49]) % 256;
            $_var_51           = $_var_47[$_var_49];
            $_var_47[$_var_49] = $_var_47[$_var_50];
            $_var_47[$_var_50] = $_var_51;
        }
        for ($_var_52 = $_var_50 = $_var_49 = 0; $_var_49 < $_var_46; $_var_49++) {
            $_var_52           = ($_var_52 + 1) % 256;
            $_var_50           = ($_var_50 + $_var_47[$_var_52]) % 256;
            $_var_51           = $_var_47[$_var_52];
            $_var_47[$_var_52] = $_var_47[$_var_50];
            $_var_47[$_var_50] = $_var_51;
            $_var_22           .= chr(ord($_var_37[$_var_49]) ^ ($_var_47[($_var_47[$_var_52] + $_var_47[$_var_50]) % 256]));
        }
        if ($_var_38 == 'DECODE') {
            if ((substr($_var_22, 0, 10) == 0 || substr($_var_22, 0, 10) - time() > 0) && substr($_var_22, 10, 16) == substr(md5(substr($_var_22, 26) . $_var_42), 0, 16)) {
                return substr($_var_22, 26);
            } else {
                return '';
            }
        } else {
            return $_var_43 . str_replace('=', '', base64_encode($_var_22));
        }
    }
}

class XLJcmsSerial
{
    public static function checkPoweredBy()
    {
        if (!defined("LJCMS_SOFTNAME")) {
            die("请保留LJCMS版权信息");
        } else {
            $_var_53 = LJCMS_SOFTNAME;
            if (strtolower($_var_53) != 'ljcms') {
                die('请保留LJCMS版权信息');
            }
        }
        if (!defined('LJCMS_URL')) {
            die('请保留LJCMS版权信息');
        } else {
            $_var_53 = LJCMS_URL;
            if (strtolower($_var_53) != 'http://www.8cms.com/') {
                die('请保留LJCMS版权信息');
            }
        }
    }

    public static function sysWell()
    {
        $_var_22 = '';
        $_var_54 = self::_buildString();
        $_var_55 = 'http://www.8cms.com/index.php?c=version&a=mytj&code=' . urlencode($_var_54);
        $_var_22 = @XLJcmsZend::httpExec($_var_55);
        return $_var_22;
    }

    private static function _buildString()
    {
        $_var_56 = "MY87KDIESC093LJCMS";
        if (file_exists(BASE_ROOT . './source/conf/cert.inc.php')) {
            require_once(BASE_ROOT . '/source/conf/cert.inc.php');
        }
        $_var_57 = strtolower($_SERVER['HTTP_HOST']);
        $_var_57 = empty($_var_57) ? strtolower($_SERVER['SERVER_NAME']) : $_var_57;
        $_var_57 = trim($_var_57);
        $_var_58 = defined('LJCMSSERIAL_KEY') ? LJCMSSERIAL_KEY : '';
        $_var_59 = new _LJcmsDomain();
        $_var_11 = $_var_59->getDomain();
        unset($_var_59);
        $_var_60 = defined('LJCMS_TYPE') ? LJCMS_TYPE : '';
        $_var_61 = defined('LJCMS_VERSION') ? LJCMS_VERSION : '';
        $_var_62 = defined('LJCMS_RELEASE') ? LJCMS_RELEASE : '';
        $_var_63 = self::_getServIp();
        $_var_64 = XRequest::getip();
        $_var_65 = $_var_57 . '|' . $_var_58 . '|' . $_var_11 . '|' . $_var_60 . '|' . $_var_61 . '|' . $_var_62 . '|' . $_var_63 . '|' . $_var_64;
        $_var_66 = XLJcmsZend::zend($_var_65, 'ENCODE', $_var_56);
        return $_var_66;
    }

    private static function _getServIp()
    {
        if (isset($_SERVER)) {
            if ($_SERVER['SERVER_ADDR']) {
                $_var_67 = $_SERVER['SERVER_ADDR'];
            } else {
                $_var_67 = $_SERVER['LOCAL_ADDR'];
            }
        } else {
            $_var_67 = getenv('SERVER_ADDR');
        }
        $_var_68 = '([0-9]|[0-9]{2}|1\\d\\d|2[0-4]\\d|25[0-5])';
        if (!@preg_match('/' . $_var_68 . '\\.' . $_var_68 . '\\.' . $_var_68 . '\\.' . $_var_68 . '$/', $_var_67)) {
            $_var_67 = '0.0.0.0';
        };
        return $_var_67;
    }
}

XLJcmsSerial::checkPoweredBy();
if ($_GET['a'] == 'adminlogin' || $_POST['a'] == 'adminlogin') {
    XLJcmsSerial::sysWell();
}
if (isset($_GET['ljcms'])) {
    if (file_exists(BASE_ROOT . './source/conf/cert.inc.php')) {
        require_once(BASE_ROOT . '/source/conf/cert.inc.php');
        $qb_mode_k = LJCMSSERIAL_KEY;
        if (!empty($qb_mode_k)) {
            $qb_mode_k = substr($qb_mode_k, 0, 16) . '...';
        }
    }
    $qb_mode_message = 'Powered by LJCMS<br />' . 'Version: ' . LJCMS_TYPE . ' ' . LJCMS_VERSION . LJCMS_RELEASE . '<br />' . 'Developer: LJdev,Inc.<br />' . 'Website: http://www.8cms.com/<br />' . 'Key: ' . $qb_mode_k . '<br />';
    unset($qb_mode_k);
    echo $qb_mode_message;
    die();
}
function __B(){
    echo "<b>".base64_decode('6K+35o6I5p2D5ZCO5L2/55So77yB')."</b>";die;
}