示例#1
0
$sqlfile = dirname(__FILE__) . '/yunbbs_mysql.sql';
if (!is_readable($sqlfile)) {
    exit('数据库文件不存在或者读取失败');
}
$fp = fopen($sqlfile, 'rb');
$sql = fread($fp, 2048000);
fclose($fp);
include dirname(__FILE__) . '/config.php';
include dirname(__FILE__) . '/include/mysql.class.php';
$DBS = new DB_MySQL();
$DBS->connect($servername, $dbport, $dbusername, $dbpassword, $dbname);
unset($servername, $dbusername, $dbpassword);
$DBS->select_db($dbname);
if ($DBS->geterrdesc()) {
    if (mysql_get_server_info() > '4.1') {
        $DBS->query("CREATE DATABASE {$dbname} DEFAULT CHARACTER SET {$dbcharset}");
    } else {
        $DBS->query("CREATE DATABASE {$dbname}");
    }
    if ($DBS->geterrdesc()) {
        exit('指定的数据库不存在, 系统也无法自动建立, 无法安装.<br />');
    } else {
        $DBS->select_db($dbname);
        //成功建立指定数据库
    }
}
$query - $DBS->query("SELECT COUNT(*) FROM yunbbs_settings", 'SILENT');
if (!$DBS->geterrdesc()) {
    header('location: /');
    exit('数据已经装好了, 不能重复安装, 若要重装,先删除mysql 里全部数据。 <a href="/">现在直接进入首页</a><br />');
}
示例#2
0
         $errors[] = '密码、重复密码 输入不一致';
     }
 } else {
     $errors[] = '用户名、密码、重复密码、验证码 必填';
 }
 ////
 if (!$errors) {
     $pwmd5 = md5($pw);
     $DBM = new DB_MySQL();
     $DBM->connect($servername_m, $dbport, $dbusername, $dbpassword, $dbname);
     if ($options['register_review']) {
         $flag = 1;
     } else {
         $flag = 5;
     }
     $DBM->query("INSERT INTO `yunbbs_users` (`id`,`name`,`flag`,`password`,`regtime`) VALUES (null,'{$name}', {$flag}, '{$pwmd5}', {$timestamp})");
     $new_uid = $DBM->insert_id();
     if ($new_uid == 1) {
         $DBM->unbuffered_query("UPDATE `yunbbs_users` SET `flag` = '99' WHERE `id`='1'");
     }
     $MMC->delete('site_infos');
     // 记录已注册ip
     $MMC->set('regip_' . $onlineip, '1', 0, intval($options['reg_ip_space']));
     //设置cookie
     $db_ucode = md5($new_uid . $pwmd5 . $timestamp . '00');
     $cur_uid = $new_uid;
     setcookie("cur_uid", $cur_uid, $timestamp + 86400 * 365, '/');
     setcookie("cur_uname", $name, $timestamp + 86400 * 365, '/');
     setcookie("cur_ucode", $db_ucode, $timestamp + 86400 * 365, '/');
     header('location: /');
     exit;
    $type = strtoupper(preg_replace("/^\\s*CREATE TABLE\\s+.+\\s+\\(.+?\\).*(ENGINE|TYPE)\\s*=\\s*([a-z]+?).*\$/isU", "\\2", $sql));
    $type = in_array($type, array('MYISAM', 'MEMORY')) ? $type : 'MYISAM';
    return preg_replace("/^\\s*(CREATE TABLE\\s+.+\\s+\\(.+?\\)).*\$/isU", "\\1", $sql) . (mysql_get_server_info() > '4.1' ? " ENGINE={$type} default CHARSET=utf8" : " TYPE={$type}");
}
$dbsql = SABLOG_ROOT . 'install/sax.sql';
!$action && ($action = 'dbcheck');
if ($action == 'dbcheck') {
    // 加载数据库配置信息
    require_once SABLOG_ROOT . 'config.php';
    // 加载数据库类
    require_once SABLOG_ROOT . 'include/class/mysql.class.php';
    // 初始化数据库类
    $DB = new DB_MySQL();
    $DB->connect($servername, $dbusername, $dbpassword, $dbname, $usepconnect);
    unset($servername, $dbusername, $dbpassword, $dbname, $usepconnect);
    if (!$DB->query("SHOW FIELDS FROM {$db_prefix}settings", 'SILENT')) {
        cpmsg('您的服务器环境不允许执行数据库校验,无法进行此操作。');
    }
    if (!isset($start)) {
        cpmsg('正在进行数据库校验,请稍候......', $php_self . '?action=dbcheck&start=yes');
    } else {
        if (!file_exists(SABLOG_ROOT . 'tools/saxdb.md5')) {
            cpmsg('不存在校验文件,无法进行此操作。');
        }
        $fp = fopen(SABLOG_ROOT . 'tools/saxdb.md5', "rb");
        $saxdb = fread($fp, filesize(SABLOG_ROOT . 'tools/saxdb.md5'));
        fclose($fp);
        $DBmd5 = substr($saxdb, 0, 32);
        $saxdb = unserialize(substr($saxdb, 34));
        $settingsdata = $saxdb[1];
        $saxdb = $saxdb[0][0];
 makeinput(array('name' => 'dbuser', 'size' => 15, 'value' => $dbuser));
 p('DBPass:'******'name' => 'dbpass', 'size' => 15, 'value' => $dbpass));
 makeinput(array('value' => 'Connect', 'type' => 'submit', 'class' => 'bt'));
 p('</p>');
 if ($dbhost && $dbuser && isset($dbpass)) {
     // 初始化数据库类
     $DB = new DB_MySQL();
     $DB->charsetdb = $charsetdb;
     $DB->charset = $charset;
     $DB->connect($dbhost, $dbuser, $dbpass, $dbname);
     //获取数据库信息
     p('<p class="red">MySQL ' . $DB->version() . ' running in ' . $dbhost . ' as ' . $dbuser . '@' . $dbhost . '</p>');
     $highver = $DB->version() > '4.1' ? 1 : 0;
     //获取数据库
     $query = $DB->query("SHOW DATABASES");
     $dbs = array();
     $dbs[] = '-- Select a database --';
     while ($db = $DB->fetch($query)) {
         $dbs[$db['Database']] = $db['Database'];
     }
     makeselect(array('name' => 'dbname', 'option' => $dbs, 'selected' => $dbname, 'onchange' => 'setdb(this.options[this.selectedIndex].value)'));
     if ($dbname) {
         p('<p>Current dababase: <a href="javascript:setdb(\'' . $dbname . '\');">' . $dbname . '</a>');
         if ($tablename) {
             p(' | Current Table: <a href="javascript:settable(\'' . $tablename . '\');">' . $tablename . '</a> [ <a href="javascript:settable(\'' . $tablename . '\', \'structure\');">Structure</a> ]');
         }
         p('</p>');
         $sql_query = isset($P['sql_query']) ? $P['sql_query'] : '';
         if ($tablename && !$sql_query) {
             $sql_query = "SELECT * FROM {$tablename} LIMIT 0, 30";
function mysqlconn($configfile)
{
    include $configfile;
    //包含配置文件,并使用它连接数据库
    include 'func_db_mysql.php';
    $DB = new DB_MySQL();
    $quit = False;
    //创建一个新的数据库对象
    $DB->connect($servername, $dbusername, $dbpassword, $dbname, $usepconnect, $dbcharset);
    unset($servername, $dbusername, $dbpassword, $usepconnect);
    //销毁变量
    $curr_php_version = PHP_VERSION;
    //PHP的版本
    if ($curr_php_version < '4.0.6') {
        echo "<font color=\"#FF0000\">由于您的PHP版本过低, 无法继续安装 ,请更换版本大于4.0.6的PHP版本。3秒后返回配置页面</font></br>";
        echo "<font color=\"#FF0000\"><a href='setting.php'>立即返回</a></font>";
        echo "<meta http-equiv='refresh' content='3; url=setting.php'>";
        exit;
    }
    $query = $DB->query("SELECT VERSION()");
    //查询mysql版本信息
    $curr_mysql_version = $DB->result($query, 0);
    if ($curr_mysql_version < '3.23') {
        //mysql版本< 3.23
        echo "<font color=\"#FF0000\">您的MySQL版本低于3.23, 无法继续安装 ,建议您换 MySQL4 的数据库服务器。3秒后返回配置页面</font></br>";
        echo "<font color=\"#FF0000\"><a href='setting.php'>立即返回</a></font>";
        echo "<meta http-equiv='refresh' content='3; url=setting.php'>";
        exit;
    }
    /**************执行建立数据库***************/
    $DB->query("DROP DATABASE IF EXISTS {$dbname}");
    if (mysql_get_server_info() > '4.1') {
        $DB->query("CREATE DATABASE {$dbname} DEFAULT CHARACTER SET {$dbcharset}");
    } else {
        $DB->query("CREATE DATABASE {$dbname}");
    }
    $DB->select_db($dbname);
    $tablenum = '0';
    runquery($sqlfile, $DB, $db_prefix, $tablenum = '0', $dbcharset);
    //执行SQL 语句
}
示例#6
0
     echo '<link>http://' . $site_domain . $site_catalog . 'forum.php?fid=' . $ForumArr['fid'] . '</link>';
 }
 echo '<description>' . stripslashes($ForumArr['synopsis']) . '</description>';
 echo '<copyright>Copyright(C) PhpSay</copyright>';
 echo '<generator>AlanZhu</generator>';
 echo '<lastBuildDate>' . date('r') . '</lastBuildDate>';
 echo '<ttl>120</ttl>';
 echo '<image>';
 echo '<url>http://' . $site_domain . $site_catalog . 'images/slogo.gif</url>';
 echo '<title>' . $site_name . '</title>';
 echo '<link>http://' . $site_domain . $site_catalog . '</link>';
 echo '</image>';
 $TSQL = "SELECT I.`tid`,I.`author`,I.`subject`,I.`dateline`,T.`message` FROM `" . $table_post . "` I ";
 $TSQL .= "LEFT JOIN `" . $table_post2 . "` T ON I.`pid`=T.`pid` ";
 $TSQL .= "WHERE I.`fid`=" . $ForumArr['fid'] . " AND I.`replyfloor`=0 ORDER BY I.`pid` DESC LIMIT 50";
 $Result = $DB->query($TSQL);
 while ($Re = $DB->fetch_array($Result)) {
     echo '<item>';
     echo '<title>' . filterHTML($Re['subject']) . '</title>';
     if ($site_rewrite) {
         echo '<link>http://' . $site_domain . $site_catalog . 'topic-' . $Re['tid'] . '-1.html</link>';
     } else {
         echo '<link>http://' . $site_domain . $site_catalog . 'topic.php?tid=' . $Re['tid'] . '</link>';
     }
     echo '<description><![CDATA[' . showStr($Re['message']) . ']]></description>';
     echo '<category>' . stripslashes($ForumArr['name']) . '</category>';
     echo '<author>' . stripslashes($Re['author']) . '</author>';
     echo '<pubDate>' . date('r', $Re['dateline']) . '</pubDate>';
     echo '</item>';
 }
 echo '</channel>';
    $_POST = sax_stripslashes($_POST);
    $_COOKIE = sax_stripslashes($_COOKIE);
}
if ($_POST['sax_cookie_auth']) {
    list($sax_uid, $sax_pw, $sax_logincount) = explode("\t", authcode($_POST['sax_cookie_auth'], 'DECODE'));
} else {
    list($sax_uid, $sax_pw, $sax_logincount) = $_COOKIE['sax_auth'] ? explode("\t", authcode($_COOKIE['sax_auth'], 'DECODE')) : array('', '', 0);
}
$sax_uid = (int) $sax_uid;
$sax_pw = sax_addslashes($sax_pw);
$sax_logincount = (int) $sax_logincount;
$sax_group = 4;
$_EVO = array();
$seccode = 0;
if ($sax_uid) {
    $query = $DB->query("SELECT userid AS sax_uid, username AS sax_user, password AS sax_pw, groupid AS sax_group, logincount AS sax_logincount, email as sax_email, url as sax_url, lastpost, lastip, lastvisit, lastactivity\r\n\t\tFROM {$db_prefix}users\r\n\t\tWHERE userid='{$sax_uid}' AND password='******' AND logincount='{$sax_logincount}'");
    $_EVO = $DB->fetch_array($query);
    if (!$_EVO) {
        dcookies();
    }
}
@extract($_EVO);
$lastvisit = !$lastvisit ? $timestamp : $lastvisit;
if (!$sax_uid || !$sax_user) {
    $sax_uid = $sax_logincount = 0;
    $sax_user = '';
    $sax_group = 6;
}
if ($sax_group == 1) {
    error_reporting(7);
}
  PRIMARY KEY (mid),
  KEY slug (slug),
  KEY displayorder (displayorder)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS {$db_prefix}relationships;
CREATE TABLE {$db_prefix}relationships (
  cid mediumint(8) unsigned NOT NULL DEFAULT '0',
  mid mediumint(8) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (cid,mid)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

EOT;
    //添加新表
    runquery($add);
    $query = $DB->query("SELECT cid, name, displayorder FROM {$db_prefix}categories");
    while ($cate = $DB->fetch_array($query)) {
        $DB->query("INSERT INTO {$db_prefix}metas (name, type, displayorder) VALUES ('" . addslashes($cate['name']) . "', 'category', '" . addslashes($cate['displayorder']) . "')");
        $mid = $DB->insert_id();
        $articles = $DB->query("SELECT articleid, visible FROM {$db_prefix}articles WHERE cid='" . $cate['cid'] . "'");
        while ($article = $DB->fetch_array($articles)) {
            $r = $DB->fetch_one_array("SELECT cid FROM {$db_prefix}relationships WHERE mid='{$mid}' LIMIT 1");
            if (!$r) {
                $DB->query("INSERT INTO {$db_prefix}relationships (cid,mid) VALUES ('" . $article['articleid'] . "', '{$mid}')");
            } else {
                if ($article['articleid'] != $r['cid']) {
                    $DB->query("INSERT INTO {$db_prefix}relationships (cid,mid) VALUES ('" . $article['articleid'] . "', '{$mid}')");
                }
            }
            if ($article['visible']) {
                $DB->unbuffered_query("UPDATE {$db_prefix}metas SET count=count+1 WHERE mid='{$mid}' AND type='category'");
    if (!$l_obj) {
        header('location: /admin-link-list');
        exit;
    }
}
$tip1 = '';
$tip2 = '';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $action = $_POST['action'];
    $DBM = new DB_MySQL();
    $DBM->connect($servername_m, $dbport, $dbusername, $dbpassword, $dbname);
    if ($action == 'add') {
        $n_name = trim($_POST['name']);
        $n_url = trim($_POST['url']);
        if ($n_name && $n_url) {
            if ($DBM->query("INSERT INTO `yunbbs_links` (`id`,`name`,`url`) VALUES (null,'{$n_name}','{$n_url}')")) {
                //更新缓存
                $MMC->delete('site_links');
                $tip1 = '已成功添加';
            } else {
                $tip1 = '数据库更新失败,修改尚未保存,请稍后再试';
            }
        } else {
            $tip1 = '链接名 和 网址 不能留空';
        }
    } else {
        if ($action == 'edit') {
            $n_name = trim($_POST['name']);
            $n_url = trim($_POST['url']);
            if ($n_name && $n_url) {
                if ($DBM->unbuffered_query("UPDATE `yunbbs_links` SET `name`='{$n_name}',`url`='{$n_url}' WHERE `id`='{$lid}'")) {
示例#10
0
     } else {
         $errors[] = '用户名 太长了';
     }
 } else {
     $errors[] = '用户名 必填';
 }
 //
 if (!$errors) {
     $DBM = new DB_MySQL();
     $DBM->connect($servername_m, $dbport, $dbusername, $dbpassword, $dbname);
     if ($options['register_review']) {
         $flag = 1;
     } else {
         $flag = 5;
     }
     $DBM->query("INSERT INTO `yunbbs_users` (`id`,`name`,`flag`,`password`,`regtime`,`expires`) VALUES (null,'{$name}', {$flag}, '', {$timestamp}, " . $_SESSION["expires"] . ")");
     $new_uid = $DBM->insert_id();
     $MMC->delete('site_infos');
     // update qqweibo
     $DBM->unbuffered_query("UPDATE `yunbbs_weibo` SET `uid` = '{$new_uid}' WHERE `openid`='{$openid}'");
     //设置cookie
     $db_ucode = md5($new_uid . '' . $timestamp . '00');
     $cur_uid = $new_uid;
     setcookie("cur_uid", $cur_uid, $timestamp + 86400 * 365, '/');
     setcookie("cur_uname", $name, $timestamp + 86400 * 365, '/');
     setcookie("cur_ucode", $db_ucode, $timestamp + 86400 * 365, '/');
     $gotohome = "1";
     $getavatar = "1";
     //header('location: /');
     //exit;
 }
示例#11
0
    $_SESSION["nick"] = $user_info['nickname'];
    $_SESSION["avatar"] = $user_info['figureurl_2'];
    // 尝试获取微博信息
    if (strpos(' ' . $_SESSION["scope"], 'get_info')) {
        $user_info2 = get_info();
        if ($user_info2['data']['name']) {
            $name = $user_info2['data']['name'];
        }
        if ($user_info2['data']['head']) {
            $_SESSION["avatar"] = $user_info2['data']['head'] . '/100';
        }
    }
} else {
    echo 'no info scope';
    exit;
}
// 获取QQ 空间信息 结束
if ($db_openid) {
    if ($db_openid['uid']) {
        // pass
    } else {
        header("Location:/qqsetname");
        exit;
    }
} else {
    $DBM = new DB_MySQL();
    $DBM->connect($servername_m, $dbport, $dbusername, $dbpassword, $dbname);
    $DBM->query("INSERT INTO `yunbbs_qqweibo` (`id`,`uid`,`name`,`openid`,`token`,`expires`) VALUES (null,'0','{$name}', '{$openid}', '" . $cb["access_token"] . "', '" . $expires . "')");
    header("Location:/qqsetname");
    exit;
}
} elseif ($step == '5') {
    $username = addslashes(trim($_POST['username']));
    $password = $_POST['password'];
    $email = addslashes(trim($_POST['email']));
    ?>
    <h2>第五步:导入数据</h2>
	<p>
<?php 
    include $configfile;
    include '../include/class/mysql.class.php';
    $DB = new DB_MySQL();
    $DB->connect($servername, $dbusername, $dbpassword, $dbname, $usepconnect);
    unset($servername, $dbusername, $dbpassword, $usepconnect);
    runquery($sql);
    $today = gmdate('Y-m-d', time() + 8 * 3600);
    $DB->query("INSERT INTO {$db_prefix}users (username, password, email, groupid) VALUES ('{$username}', '" . md5($password) . "', '{$email}', '1')");
    ?>
    </p>
    <p>共创建了<?php 
    echo $tablenum;
    ?>
个数据表.</p>
    <hr noshade="noshade" />
    <p>安装程序已经顺利执行完毕,请尽快删除整个 install 目录,以免被他人恶意利用。</p>
    <p>感谢您使用Sa系列Web应用程序.</p>
    <p>&nbsp;</p>
    <p>用户名: <span style="color:#f00;"><?php 
    echo $username;
    ?>
</span></p>
    <p>密码: <span style="color:#f00;"><?php 
示例#13
0
 $DBM->connect($servername_m, $dbport, $dbusername, $dbpassword, $dbname);
 // spam_words
 if ($options['spam_words'] && $cur_user['flag'] < 99) {
     $spam_words_arr = explode(",", $options['spam_words']);
     $check_con = ' ' . $c_content;
     foreach ($spam_words_arr as $spam) {
         if (strpos($check_con, $spam)) {
             // has spam word
             $DBM->unbuffered_query("UPDATE `yunbbs_users` SET `flag`='0' WHERE `id`='{$cur_uid}'");
             $MMC->delete('u_' . $cur_uid);
             exit('403: dont post any spam.');
         }
     }
 }
 $c_content = htmlspecialchars($c_content);
 $DBM->query("INSERT INTO `yunbbs_comments` (`id`,`articleid`,`uid`,`addtime`,`content`) VALUES (null,{$tid}, {$cur_uid}, {$timestamp}, '{$c_content}')");
 $new_rid = $DBM->insert_id();
 $DBM->unbuffered_query("UPDATE `yunbbs_articles` SET `ruid`='{$cur_uid}',`edittime`='{$timestamp}',`comments`=`comments`+1 WHERE `id`='{$tid}'");
 $DBM->unbuffered_query("UPDATE `yunbbs_users` SET `replies`=`replies`+1,`lastreplytime`='{$timestamp}' WHERE `id`='{$cur_uid}'");
 // 更新u_code
 $new_ucode = md5($cur_uid . $cur_user['password'] . $cur_user['regtime'] . $cur_user['lastposttime'] . $timestamp);
 if ($cur_user['expires']) {
     $cookie_ex = $cur_user['expires'];
 } else {
     $cookie_ex = $timestamp + 86400 * 365;
 }
 setcookie("cur_uid", $cur_uid, $cookie_ex, '/');
 setcookie("cur_uname", $cur_uname, $cookie_ex, '/');
 setcookie("cur_ucode", $new_ucode, $cookie_ex, '/');
 $MMC->delete('u_' . $cur_uid);
 // del cache
示例#14
0
                 $DBM = new DB_MySQL();
                 $DBM->connect($servername_m, $dbport, $dbusername, $dbpassword, $dbname);
             }
             $DBM->unbuffered_query("UPDATE `yunbbs_favorites` SET `articles`='1',`content`='{$tid}' WHERE `uid`='{$cur_uid}'");
             $DBM->unbuffered_query("UPDATE `yunbbs_articles` SET `favorites`=`favorites`+1 WHERE `id`='{$tid}'");
             $MMC->delete('favorites_' . $cur_uid);
             $MMC->delete('t-' . $tid);
             $MMC->delete('t-' . $tid . '_ios');
         }
     } else {
         if (!isset($DBM)) {
             $DBM = new DB_MySQL();
             $DBM->connect($servername_m, $dbport, $dbusername, $dbpassword, $dbname);
         }
         $user_fav = array('id' => '', 'uid' => $cur_uid, 'articles' => 1, 'content' => $tid);
         $DBM->query("INSERT INTO `yunbbs_favorites` (`id`,`uid`,`articles`,`content`) VALUES (null,'{$cur_uid}','1','{$tid}')");
         $DBM->unbuffered_query("UPDATE `yunbbs_articles` SET `favorites`=`favorites`+1 WHERE `id`='{$tid}'");
         $MMC->delete('favorites_' . $cur_uid);
         $MMC->delete('t-' . $tid);
         $MMC->delete('t-' . $tid . '_ios');
     }
 } else {
     if ($act == 'del') {
         // 删除
         if ($user_fav) {
             if ($user_fav['content']) {
                 $ids_arr = explode(",", $user_fav['content']);
                 if (in_array($tid, $ids_arr)) {
                     foreach ($ids_arr as $k => $v) {
                         if ($v == $tid) {
                             unset($ids_arr[$k]);
示例#15
0
/**
 * Runs the shutdown items after the page has been sent to the browser.
 *
 */
function run_shutdown()
{
    global $config, $db, $cache, $plugins, $error_handler, $shutdown_functions, $shutdown_queries, $done_shutdown, $mybb;
    if ($done_shutdown == true || !$config || $error_handler->has_errors) {
        return;
    }
    // Missing the core? Build
    if (!is_object($mybb)) {
        require_once MYBB_ROOT . "inc/class_core.php";
        $mybb = new MyBB();
        // Load the settings
        require MYBB_ROOT . "inc/settings.php";
        $mybb->settings =& $settings;
    }
    // If our DB has been deconstructed already (bad PHP 5.2.0), reconstruct
    if (!is_object($db)) {
        if (!isset($config) || empty($config['database']['type'])) {
            require MYBB_ROOT . "inc/config.php";
        }
        if (isset($config)) {
            require_once MYBB_ROOT . "inc/db_" . $config['database']['type'] . ".php";
            switch ($config['database']['type']) {
                case "sqlite":
                    $db = new DB_SQLite();
                    break;
                case "pgsql":
                    $db = new DB_PgSQL();
                    break;
                case "mysqli":
                    $db = new DB_MySQLi();
                    break;
                default:
                    $db = new DB_MySQL();
            }
            $db->connect($config['database']);
            define("TABLE_PREFIX", $config['database']['table_prefix']);
            $db->set_table_prefix(TABLE_PREFIX);
        }
    }
    // Cache object deconstructed? reconstruct
    if (!is_object($cache)) {
        require_once MYBB_ROOT . "inc/class_datacache.php";
        $cache = new datacache();
        $cache->cache();
    }
    // And finally.. plugins
    if (!is_object($plugins) && !defined("NO_PLUGINS") && !($mybb->settings['no_plugins'] == 1)) {
        require_once MYBB_ROOT . "inc/class_plugins.php";
        $plugins = new pluginSystem();
        $plugins->load();
    }
    // We have some shutdown queries needing to be run
    if (is_array($shutdown_queries)) {
        // Loop through and run them all
        foreach ($shutdown_queries as $query) {
            $db->query($query);
        }
    }
    // Run any shutdown functions if we have them
    if (is_array($shutdown_functions)) {
        foreach ($shutdown_functions as $function) {
            call_user_func_array($function['function'], $function['arguments']);
        }
    }
    $done_shutdown = true;
}
示例#16
0
    $options = array();
    while ($setting = $DBS->fetch_array($query)) {
        $options[$setting['title']] = $setting['value'];
    }
    // 使用又拍云存头像
    $options['base_avatar_url'] = 'http://' . $options['upyun_avatar_domain'] . '.b0.upaiyun.com';
    // 检测新增的 site_create
    if ($options['site_create'] == '0') {
        $DBM = new DB_MySQL();
        $DBM->connect($servername_m, $dbport, $dbusername, $dbpassword, $dbname);
        $query = "SELECT regtime FROM yunbbs_users WHERE id='1'";
        $m_obj = $DBS->fetch_one_array($query);
        if ($m_obj) {
            $site_create = $m_obj['regtime'];
            //$DBM->query("INSERT INTO yunbbs_settings VALUES('site_create', '$site_create')");
            $DBM->query("UPDATE `yunbbs_settings` SET `value` = '{$site_create}' WHERE `title` = 'site_create' LIMIT 1");
            $options['site_create'] = $site_create;
        }
    }
    $options = stripslashes_array($options);
    if (!$options['safe_imgdomain']) {
        $options['safe_imgdomain'] = $_SERVER['HTTP_HOST'];
    }
    $MMC->set('options', $options, 0, 72000);
    unset($setting);
    $DBS->free_result($query);
}
//获取链接
function get_links()
{
    global $MMC;
 } else {
     $mingci = array();
     foreach ($ret as $fc) {
         if ($fc['word_tag'] == 95) {
             $mingci[] = $fc['word'];
         }
     }
     //print_r($mingci);
     $mingci = array_filter(array_unique($mingci));
     if ($mingci) {
         $DBM = new DB_MySQL();
         $DBM->connect($servername_m, $dbport, $dbusername, $dbpassword, $dbname);
         foreach ($mingci as $tag) {
             $tag_obj = $DBS->fetch_one_array("SELECT `id`,`articles`,`ids` FROM `yunbbs_tags` WHERE `name`='{$tag}'");
             if (empty($tag_obj)) {
                 $DBM->query("INSERT INTO `yunbbs_tags` (`id`,`name`,`articles`,`ids`) VALUES (null,'{$tag}', '1', '{$tid}')");
             } else {
                 if ($tag_obj['ids']) {
                     if (!strpos(' ,' . $tag_obj['ids'] . ',', ',' . $tid . ',')) {
                         $ids = $tid . ',' . $tag_obj['ids'];
                     }
                 } else {
                     $ids = $tid;
                 }
                 if (isset($ids)) {
                     $DBM->unbuffered_query("UPDATE `yunbbs_tags` SET `articles`=`articles`+1, `ids`='{$ids}' WHERE `name`='{$tag}'");
                 }
             }
         }
         //
         $tags = implode(",", $mingci);
示例#18
0
     if ($n_id) {
         header('location: /admin-node-' . $n_id);
     } else {
         header('location: /admin-node#edit');
     }
     exit;
 } else {
     if ($action == 'add') {
         $n_name = trim($_POST['name']);
         $n_about = trim($_POST['about']);
         if ($n_name) {
             $check_obj = $DBS->fetch_one_array("SELECT * FROM `yunbbs_categories` WHERE `name`='" . $n_name . "'");
             if ($check_obj) {
                 $tip1 = $n_name . ' 分类名已存在,请修改为不同的分类名';
             } else {
                 if ($DBM->query("INSERT INTO `yunbbs_categories` (`id`,`name`,`about`) VALUES (null,'{$n_name}','{$n_about}')")) {
                     //更新缓存
                     $MMC->delete('newest_nodes');
                     $MMC->delete('bot_nodes');
                     $MMC->delete('site_infos');
                     $tip1 = '已成功添加';
                 } else {
                     $tip1 = '数据库更新失败,修改尚未保存,请稍后再试';
                 }
             }
         } else {
             $tip1 = '分类名不能留空';
         }
     } else {
         if ($action == 'edit') {
             $n_name = trim($_POST['name']);
示例#19
0
         echo '403: spam info forbidden.';
         exit;
     }
 }
 if ($timestamp - $cur_user['lastposttime'] > $options['article_post_space']) {
     if ($p_title) {
         if (mb_strlen($p_title, 'utf-8') <= $options['article_title_max_len'] && mb_strlen($p_content, 'utf-8') <= $options['article_content_max_len']) {
             $conmd5 = md5($p_title . $p_content);
             if ($MMC->get('cm_' . $conmd5)) {
                 $tip = '请勿发布相同的内容 或 灌水';
             } else {
                 $DBM = new DB_MySQL();
                 $DBM->connect($servername_m, $dbport, $dbusername, $dbpassword, $dbname);
                 $p_title = htmlspecialchars($p_title);
                 $p_content = htmlspecialchars($p_content);
                 $DBM->query("INSERT INTO `yunbbs_articles` (`id`,`cid`,`uid`,`title`,`content`,`addtime`,`edittime`) VALUES (null,{$cid},{$cur_uid}, '{$p_title}', '{$p_content}', {$timestamp}, {$timestamp})");
                 $new_aid = $DBM->insert_id();
                 $DBM->unbuffered_query("UPDATE `yunbbs_categories` SET `articles`=`articles`+1 WHERE `id`='{$cid}'");
                 $DBM->unbuffered_query("UPDATE `yunbbs_users` SET `articles`=`articles`+1, `lastposttime`={$timestamp} WHERE `id`='{$cur_uid}'");
                 // 更新u_code
                 $cur_user['lastposttime'] = $timestamp;
                 //
                 $MMC->delete('u_' . $cur_uid);
                 $new_ucode = md5($cur_uid . $cur_user['password'] . $cur_user['regtime'] . $cur_user['lastposttime'] . $cur_user['lastreplytime']);
                 if ($cur_user['expires']) {
                     $cookie_ex = $cur_user['expires'];
                 } else {
                     $cookie_ex = $timestamp + 86400 * 365;
                 }
                 setcookie("cur_uid", $cur_uid, $cookie_ex, '/');
                 setcookie("cur_uname", $cur_uname, $cookie_ex, '/');