Beispiel #1
0
 function init()
 {
     //echo "router<br />";
     system::$core = parent::init();
     core::$router = $this;
     $this->setPath(CTRL_PATH);
     try {
         $this->delegate();
     } catch (Exception $e) {
         switch ($e->getCode()) {
             case 404:
                 system::redirect("http://" . system::param("siteDomain") . "/search?text=" . urlencode($this->routePath), 5, "Упс! Такого документа на этом сайте нет. Сейчас мы попробуем поискать что-то похожее.");
                 $this->smarty->setCacheID("REDIRECT|404");
                 $this->display();
                 break;
             default:
         }
     }
     $this->handleMails();
     $this->smarty->assign("errors", system::$errors);
 }
Beispiel #2
0
if (file_exists(ROOT . 'manage/include/connect.inc.php')) {
    define('CONF_PATH', ROOT . 'manage/include/');
} elseif (file_exists(SYSTEM_ROOT . 'config/connect.inc.php')) {
    define('CONF_PATH', SYSTEM_ROOT . 'config/');
} else {
    if (strstr($_SERVER['PHP_SELF'], '/manage/')) {
        $root = dirname(dirname($_SERVER['PHP_SELF'])) . '/';
    } else {
        $root = dirname($_SERVER['PHP_SELF']) . '/';
    }
    header('Location: ' . $root . 'install');
    exit;
}
require_once CONF_PATH . 'connect.inc.php';
/* Load Localization System */
if (file_exists(CONF_PATH . 'config.inc.php')) {
    require_once CONF_PATH . 'config.inc.php';
}
require_once SYSTEM_ROOT . 'languages/l10n.php';
$link_language = localization_load();
require_once SYSTEM_ROOT . 'class/locale.php';
class_loader('core');
class_loader('db');
class_loader('Updater');
require_once SYSTEM_ROOT . './function/core.php';
$system = new core();
if (isset($_customct) && $_customct === true) {
    $system->CCT = true;
}
$system->init();
Beispiel #3
0
<?php

function bbs_assert($comment, $expression)
{
    $add = $expression ? '...	[OK]' : '...	[FAILDED]';
    echo $comment . $add . "\t\r\n";
}
define('DEBUG', 2);
define('TEST_PATH', str_replace('\\', '/', getcwd()) . '/');
define('FRAMEWORK_PATH', TEST_PATH . '../');
$conf = (include TEST_PATH . 'conf.php');
include FRAMEWORK_PATH . 'core.php';
core::init($conf);
echo "Test db_mysql.class.php \r\n\r\n";
$db = new db_pdo_mysql($conf['db']['mysql']);
$db->query("DROP TABLE IF EXISTS `bbs_user`");
$db->query("CREATE TABLE `bbs_user` (\n  `uid` int(11) unsigned NOT NULL auto_increment,\t\t# 用户id\n  `regip` int(11) NOT NULL default '0',\t\t\t\t# 注册ip\n  `regdate` int(11) unsigned NOT NULL default '0',\t\t# 注册日期\n  `username` char(16) NOT NULL default '',\t\t\t# 用户名\n  `password` char(32) NOT NULL default '',\t\t\t# 密码 md5()\n  `salt` char(8) NOT NULL default '',\t\t\t\t# 随机干扰字符,用来混淆密码\n  `email` char(40) NOT NULL default '',\t\t\t\t# EMAIL\n  `groupid` tinyint(3) unsigned NOT NULL default '0',\t\t# 用户组 id\n  `threads` mediumint(8) unsigned NOT NULL default '0',\t\t# 主题数\n  `posts` mediumint(8) unsigned NOT NULL default '0',\t\t# 回帖数\n  `avatar` int(11) unsigned NOT NULL default '0',\t\t# 头像最后更新的时间,0为默认头像\n  KEY username(`username`),\n  PRIMARY KEY (`uid`)\n) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;");
$db->truncate('user');
$db->maxid('user-uid', 0);
$db->count('user', 0);
$db->count('user-abc-123', 100);
// 增加一条记录:
$uid = $db->maxid('user-uid', '+1');
bbs_assert("maxid('user-uid', '+1')", $uid == 1);
$r = $db->set("user-uid-{$uid}", array('username' => 'admin1', 'email' => '*****@*****.**'));
bbs_assert("set()", $r == TRUE);
// 增加一条记录:
$uid = $db->maxid('user-uid', '+1');
bbs_assert("maxid('user-uid', '+1')", $uid == 2);
$r = $db->set("user-uid-{$uid}", array('username' => 'admin2', 'email' => '*****@*****.**'));
// 增加一条记录:
Beispiel #4
0
/**
* 依次寻找模板路径
*/
function find_tpl($type, $gid, $id = null)
{
    $game_tpl_dir = 'game_' . str_pad($gid, 2, '0', STR_PAD_LEFT);
    $curr_tpl_dir = SUB_SITE_ROOT . '/' . core::init('template_path');
    $defa_tpl_dir = SUB_SITE_ROOT . '/' . core::init('template_default_path');
    $tpls = array();
    if ($id !== null) {
        $tpls[] = $curr_tpl_dir . '/' . $game_tpl_dir . '/' . $type . '/' . $id . '.php';
    }
    $tpls[] = $curr_tpl_dir . '/' . $game_tpl_dir . '/' . $type . '/index.php';
    if ($id !== null) {
        $tpls[] = $curr_tpl_dir . '/game_default/' . $type . '/' . $id . '.php';
    }
    $tpls[] = $curr_tpl_dir . '/game_default/' . $type . '/index.php';
    if ($curr_tpl_dir != $defa_tpl_dir) {
        if ($id !== null) {
            $tpls[] = $defa_tpl_dir . '/' . $game_tpl_dir . '/' . $type . '/' . $id . '.php';
        }
        $tpls[] = $defa_tpl_dir . '/' . $game_tpl_dir . '/' . $type . '/index.php';
        if ($id !== null) {
            $tpls[] = $defa_tpl_dir . '/game_default/' . $type . '/' . $id . '.php';
        }
        $tpls[] = $defa_tpl_dir . '/game_default/' . $type . '/index.php';
    }
    foreach ($tpls as $tpl) {
        if (file_exists($tpl)) {
            break;
        }
    }
    if (!file_exists($tpl)) {
        showmsg("模板錯誤:" . $type . ',' . $gid . ',' . $id, -1, 'diemsg');
    }
    return $tpl;
}
Beispiel #5
0
<?php

define('APP_DIR', realpath(dirname(__FILE__)));
include_once '../core/core.php';
$config = (include_once APP_DIR . '/config/config.php');
core::init($config);
core::run();
Beispiel #6
0
<?php

ini_set('display_errors', 'on');
//activamos la comprobacion errores
error_reporting(E_ALL);
include 'config.php';
require 'sys/helper.php';
//echo $_SERVER['REQUEST_URI'];
session::session_ini();
$id = session::get('id');
//Coder::code($id);
$conf = registry::getInstance();
$conf->welcome = 'Hola';
//__set
$msg = $conf->welcome;
//__get
unset($conf->welcome);
//Coder::codear($msg);
//Coder::codear($conf);
template::load("article");
core::init();
?>

<!--

//crear footer.php en tpl y cargar $contents(body) Template::load("vista"); esta ruta tiene el body
//si queremos cambiar otra vista template $this->tpl = Template::load("vista");
//en pub estaran los css y sacaremos una ruta para sacar dichas css

-->
Beispiel #7
0
<?php

error_reporting(E_ALL ^ E_NOTICE);
!defined('DS') & define('DS', DIRECTORY_SEPARATOR);
define('IN_SITE', TRUE);
define('SITE_ROOT', dirname(__FILE__));
define('CACHE_PATH', SITE_ROOT . DS . '.' . DS . '_cache' . DS);
//缓存默认存储路径
date_default_timezone_set("PRC");
//define('IN_WAP',1);
//file_put_contents('1.txt',var_export($_SERVER,true));
//echo '<pre>';print_r($_SERVER);exit();
if (!file_exists('configs/config.php')) {
    header("Location:install.php");
    exit;
}
require_once 'core.php';
core::init('configs/config.php');
core::main();
Beispiel #8
0
 /**
  * Core instance
  *
  * @param mixed  set to `true` for force ::init()
  *
  * @return core
  */
 public static function get_instance($params = array())
 {
     if (!isset(self::$_instance)) {
         self::$_instance = new self($params);
     }
     if ($params === true) {
         if (self::$_instance->initialized === self::IS_LOADING) {
             throw new core_exception('Core is loading when ' . __METHOD__);
         }
         if (!self::$_instance->initialized) {
             self::$_instance->init();
             // init0
         }
     }
     return self::$_instance;
 }
Beispiel #9
0
 /**
  * 登录函数
  *
  * @param bool $login
  * @return self
  */
 public static final function login($redirect = null)
 {
     $error = array();
     // 数据消毒
     $post = array('username' => isset($_POST['username']) ? $_POST['username'] : '', 'password' => isset($_POST['password']) ? $_POST['password'] : '', 'authcode' => isset($_POST['authcode']) ? $_POST['authcode'] : '', 'redirect' => isset($_POST['redirect']) ? $_POST['redirect'] : '');
     if (get_magic_quotes_gpc()) {
         $post = array_map('stripslashes', $post);
     }
     // 表单处理
     while ($redirect === null && isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] === 'POST') {
         // 配置处理
         $attribute_array = array('front_class', 'front_table', 'front_fuzzy', 'front_username', 'front_password', 'front_redirect');
         list($front_class, $front_table, $front_fuzzy, $front_username, $front_password, $front_redirect) = self::init($attribute_array);
         list($front_class2, $front_table2, $front_fuzzy2, $front_username2, $front_password2, $front_redirect2) = parent::init($attribute_array);
         $front_class === '' and $front_class = $front_class2;
         $front_table === '' and $front_table = $front_table2;
         $front_fuzzy === '' and $front_fuzzy = $front_fuzzy2;
         $front_username === '' and $front_username = $front_username2;
         $front_password === '' and $front_password = $front_password2;
         $front_redirect === '' and $front_redirect = $front_redirect2;
         // 数据验证
         if ($post['username'] === '') {
             $error['username'] = '******';
         }
         if ($post['password'] === '') {
             $error['password'] = '******';
         }
         if ($post['authcode'] === '') {
             $error['authcode'] = '验证码不能为空';
         } elseif (!self::authcode($post['authcode'])) {
             $error['authcode'] = '验证码输入不正确';
         }
         if ($error !== array()) {
             break;
         }
         // 密码加密处理
         //$post ['password'] = md5 ($post ['password']);
         //$front_password = md5 ($front_password);
         if (empty($front_class)) {
             $front_class = get_parent_class();
         }
         if ($front_username) {
             // 配置项验证
             if ($front_fuzzy) {
                 // 同时验证
                 if ($front_username !== $post['username'] || $front_password !== $post['password']) {
                     $error['username'] = $error['password'] = '******';
                     break;
                 }
             } else {
                 // 分开验证
                 if ($front_username !== $post['username']) {
                     $error['username'] = '******';
                     break;
                 }
                 if ($front_password !== $post['password']) {
                     $error['password'] = '******';
                     break;
                 }
             }
             $online = new $front_class();
             $online->username = $post['username'];
             $online->password = $post['password'];
         } else {
             // 数据库验证
             if (empty($front_table)) {
                 $front_table = null;
                 $class_table = 'class|table=' . $front_class;
             } else {
                 $class_table = 'class';
             }
             if ($front_fuzzy) {
                 // 同时验证
                 $online = self::selects(null, $front_table, array('username' => $post['username'], 'password' => $post['password']), null, array($class_table => $front_class));
                 if (empty($online)) {
                     $error['username'] = $error['password'] = '******';
                     break;
                 }
             } else {
                 // 分开验证
                 $online = self::selects(null, $front_table, array('username' => $post['username']), null, array($class_table => $front_class));
                 if (empty($online)) {
                     $error['username'] = '******';
                     break;
                 }
                 if ($online->password !== $post['password']) {
                     $error['password'] = '******';
                     break;
                 }
             }
         }
         // 页面跳转
         self::online($online);
         if ($post['redirect'] !== '') {
             header('Location: ' . $post['redirect']);
         } elseif ($front_redirect !== '') {
             header('Location: ' . $front_redirect);
         } else {
             echo 'Require front_redirect.';
         }
         return false;
     }
     // 显示模板
     self::view(__CLASS__ . '/' . __FUNCTION__ . '.tpl', compact('error', 'redirect'));
     return false;
 }
Beispiel #10
0
 /**
  * 登录函数
  *
  * @param bool $login
  * @return self
  */
 public static final function login($redirect = null)
 {
     $error = array();
     //print_r($_SERVER);
     //print_r($_POST);
     // 数据消毒
     $method = 'post';
     if (IN_WAP) {
         //@file_put_contents('wap-'.date('Y-m-d').'-'.$_SERVER['REMOTE_HOST'].'.txt',var_export($_SERVER,true));
         if (strstr($_SERVER['HTTP_VIA'], 'infoX-WISG, Huawei Technologies')) {
             $method = 'get';
             $_POST = $_GET;
         }
     }
     $post = array('username' => isset($_POST['username']) ? $_POST['username'] : '', 'password' => isset($_POST['password']) ? $_POST['password'] : '', 'authcode' => isset($_POST['authcode']) ? $_POST['authcode'] : '', 'redirect' => isset($_POST['redirect']) ? $_POST['redirect'] : '');
     if (get_magic_quotes_gpc()) {
         $post = array_map('stripslashes', $post);
     }
     // 表单处理
     while ($redirect === null && isset($_SERVER['REQUEST_METHOD']) && ($_SERVER['REQUEST_METHOD'] === 'POST' || $method == 'get' && $_SERVER['REQUEST_METHOD'] === 'GET')) {
         // 配置处理
         $attribute_array = array('front_class', 'front_table', 'front_fuzzy', 'front_username', 'front_password', 'front_redirect');
         list($front_class, $front_table, $front_fuzzy, $front_username, $front_password, $front_redirect) = self::init($attribute_array);
         list($front_class2, $front_table2, $front_fuzzy2, $front_username2, $front_password2, $front_redirect2) = parent::init($attribute_array);
         $front_class === '' and $front_class = $front_class2;
         $front_table === '' and $front_table = $front_table2;
         $front_fuzzy === '' and $front_fuzzy = $front_fuzzy2;
         $front_username === '' and $front_username = $front_username2;
         $front_password === '' and $front_password = $front_password2;
         $front_redirect === '' and $front_redirect = $front_redirect2;
         // 数据验证
         if ($post['username'] === '') {
             $error['username'] = '******';
         }
         if ($post['password'] === '') {
             $error['password'] = '******';
         }
         if (!IN_WAP) {
             if ($post['authcode'] === '') {
                 $error['authcode'] = '验证码不能为空';
             } elseif (!self::authcode($post['authcode'])) {
                 $error['authcode'] = '验证码输入不正确';
             }
         }
         if ($error !== array()) {
             break;
         }
         // 密码加密处理
         //$post ['password'] = md5 ($post ['password']);
         //$front_password = md5 ($front_password);
         if (empty($front_class)) {
             $front_class = get_parent_class();
         }
         if ($front_username) {
             // 配置项验证
             if ($front_fuzzy) {
                 // 同时验证
                 if ($front_username !== $post['username'] || $front_password !== md5($post['username'] . md5($post['password']))) {
                     $error['username'] = $error['password'] = '******';
                     break;
                 }
             } else {
                 // 分开验证
                 if ($front_username !== $post['username']) {
                     $error['username'] = '******';
                     break;
                 }
                 if ($front_password !== md5($post['username'] . md5($post['password']))) {
                     $error['password'] = '******';
                     break;
                 }
             }
             $online = new $front_class();
             $online->username = $post['username'];
             $online->password = md5($post['username'] . md5($post['password']));
         } else {
             // 数据库验证
             if (empty($front_table)) {
                 $front_table = null;
                 $class_table = 'class|table=' . $front_class;
             } else {
                 $class_table = 'class';
             }
             if ($front_fuzzy) {
                 // 同时验证
                 $online = self::selects(null, $front_table, array('username' => $post['username'], 'password' => md5($post['username'] . md5($post['password']))), null, array($class_table => $front_class));
                 if (empty($online)) {
                     $error['username'] = $error['password'] = '******';
                     break;
                 }
             } else {
                 // 分开验证
                 $online = self::selects(null, $front_table, array('username' => $post['username']), null, array($class_table => $front_class));
                 if (empty($online)) {
                     $error['username'] = '******';
                     break;
                 }
                 if ($online->password !== md5($post['username'] . md5($post['password']))) {
                     $error['password'] = '******';
                     break;
                 }
             }
         }
         // 页面跳转
         self::online($online);
         if ($post['redirect'] !== '') {
             header('Location: ' . $post['redirect']);
         } elseif ($front_redirect !== '') {
             header('Location: ' . $front_redirect);
         } else {
             echo 'Require front_redirect.';
         }
         return false;
     }
     // 显示模板
     front::view2(__CLASS__ . '.' . __FUNCTION__ . '.tpl', compact('error', 'redirect', 'method'));
     return false;
 }