Example #1
0
function reAllCache()
{
    global $arrSideModule;
    categories_recount();
    categories_recache();
    calendar_recache();
    statistics_recache();
    hottags_recache();
    archives_recache();
    links_recache();
    filters_recache();
    keywords_recache();
    recentLogs_recache();
    recentComments_recache();
    recentGbooks_recache();
    logsTitle_recache();
    modulesSetting_recache();
    download_recache();
    attachments_recache();
    members_recache();
    skinlist_recache();
    online_recache();
    logs_sidebar_recache($arrSideModule);
}
Example #2
0
function update_data($echo, $DMC)
{
    global $DBPrefix, $update_time, $update_logs;
    $delete_setting = true;
    //更新附件的文件类别 2009-05-12
    $modify_sql[] = "ALTER TABLE `{$DBPrefix}attachments` ADD INDEX `name` (`name`)";
    $modify_sql[] = "ALTER TABLE `{$DBPrefix}guestbook` ADD COLUMN `HTTP_REFERER` text NULL DEFAULT NULL AFTER `parent`";
    $modify_sql[] = "ALTER TABLE `{$DBPrefix}links` ADD INDEX `isApp` (`isApp`)";
    $modify_sql[] = "ALTER TABLE `{$DBPrefix}logs` ADD COLUMN `isTopNews` tinyint(1) NOT NULL DEFAULT 0 AFTER `isTop`";
    $modify_sql[] = "ALTER TABLE `{$DBPrefix}logs` ADD INDEX `postTime` (`postTime`,`saveType`)";
    $modify_sql[] = "ALTER TABLE `{$DBPrefix}logs` ADD INDEX `isComment` (`isComment`,`isTrackback`,`isTop`,`isTopNews`)";
    $modify_sql[] = "ALTER TABLE `{$DBPrefix}members` ADD INDEX `password` (`password`)";
    $modify_sql[] = "ALTER TABLE `{$DBPrefix}members` ADD INDEX `role` (`role`)";
    $modify_sql[] = "ALTER TABLE `{$DBPrefix}setting` ADD INDEX `settName` (`settName`)";
    $modify_sql[] = "ALTER TABLE `{$DBPrefix}trackbacks` ADD INDEX `isApp` (`isApp`)";
    $modify_sql[] = "ALTER TABLE `{$DBPrefix}logs` ADD `autoSplit` int(8) NOT NULL default '0'";
    //	強化驗證
    $modify_sql[] = "INSERT INTO `{$DBPrefix}filters` (`category`, `name`) VALUES (1, '=http')";
    $modify_sql[] = "INSERT INTO `{$DBPrefix}filters` (`category`, `name`) VALUES (1, '[url=')";
    $modify_sql[] = "INSERT INTO `{$DBPrefix}filters` (`category`, `name`) VALUES (1, '[href=')";
    //运行SQL语句
    foreach ($modify_sql as $key => $value) {
        $DMC->query($value, "T");
        if ($echo) {
            if ($DMC->error()) {
                echo $value . " ... <font color=red>" . $DMC->error() . "</font><br />";
            } else {
                echo $value . " ... <font color=blue>OK</font><br />";
            }
        }
    }
    $i = 0;
    $contents = "\$update_logs = array(\r\n";
    $contents .= "\t'{$i}' => '{$update_time}',\r\n";
    for ($i = 0; $i < count($update_logs); $i++) {
        $j = $i + 1;
        $contents .= "\t'{$j}' => '" . $update_logs[$i] . "',\r\n";
    }
    $contents .= ");";
    writetocache('update_logs', $contents);
    //清空缓存
    if ($delete_setting == true) {
        //0909升级需要重新建立setting文件。
        if (!@unlink(F2BLOG_ROOT . "./cache/cache_setting.php")) {
            echo "<script language=Javascript> \n";
            echo "alert('Please update cache!');\n";
            echo "</script>\n";
        }
    } else {
        //更新缓存
        settings_recache();
        links_recache();
    }
    return false;
}
Example #3
0
    if ($_POST['operation'] == "move" and $stritem != "") {
        $sql = "update " . $DBPrefix . "links set lnkGrpId='" . $_POST['move_group'] . "' where {$stritem}";
        $DMC->query($sql);
    }
    //侧边栏隐藏
    if ($_POST['operation'] == "ishidden" and $stritem != "") {
        $sql = "update " . $DBPrefix . "links set isSidebar='0' where {$stritem}";
        $DMC->query($sql);
    }
    //侧边栏显示
    if ($_POST['operation'] == "isshow" and $stritem != "") {
        $sql = "update " . $DBPrefix . "links set isSidebar='1' where {$stritem}";
        $DMC->query($sql);
    }
    do_action("f2_link");
    links_recache();
    logs_sidebar_recache($arrSideModule);
}
if ($action == "all" or $action == "") {
    $seekname = "";
}
$seek_url = "{$PHP_SELF}?order={$order}";
//查找用链接
$order_url = "{$PHP_SELF}?seekname={$seekname}";
//排序栏用的链接
$page_url = "{$PHP_SELF}?seekname={$seekname}&order={$order}";
//页面导航链接
$edit_url = "{$PHP_SELF}?seekname={$seekname}&order={$order}&page={$page}";
//编辑或新增链接
if ($action == "add") {
    //新增信息类别。
Example #4
0
function update_data($echo, $DMC)
{
    global $DBPrefix, $update_time, $update_logs;
    $delete_setting = true;
    $arr_setting = array();
    //	update 20090512
    if (!in_array($update_logs, "20090512")) {
        //更新附件的文件类别 2009-05-12
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}attachments` ADD INDEX `name` (`name`)";
        //	  `isSecret` tinyint(1) NOT NULL default '0',
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}guestbook` ADD COLUMN `isSpam` tinyint(1) NOT NULL DEFAULT 0 AFTER `isSecret`";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}guestbook` ADD COLUMN `HTTP_REFERER` text NULL DEFAULT NULL AFTER `parent`";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}links` ADD INDEX `isApp` (`isApp`)";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}logs` ADD COLUMN `isSpam` tinyint(1) NOT NULL DEFAULT 0 AFTER `isTrackback`";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}logs` ADD COLUMN `isTopNews` tinyint(1) NOT NULL DEFAULT 0 AFTER `isTop`";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}logs` ADD INDEX `postTime` (`postTime`,`saveType`)";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}logs` ADD INDEX `isComment` (`isComment`,`isTrackback`,`isTop`,`isTopNews`)";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}members` ADD INDEX `password` (`password`)";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}members` ADD INDEX `role` (`role`)";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}setting` ADD INDEX `settName` (`settName`)";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}trackbacks` ADD INDEX `isApp` (`isApp`)";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}logs` ADD `autoSplit` int(8) NOT NULL default '0'";
        //	強化驗證
        $SQL = "select count(`name`) from `{$DBPrefix}filters` where `category`='1' and `name`='=http'";
        list($intNums) = $DMC->fetchArray($DMC->query($SQL), MYSQL_NUM);
        if ($intNums == 0) {
            $modify_sql[] = "INSERT INTO `{$DBPrefix}filters` (`category`, `name`) VALUES (1, '=http')";
        }
        $SQL = "select count(`name`) from `{$DBPrefix}filters` where `category`='1' and `name`='[url='";
        list($intNums) = $DMC->fetchArray($DMC->query($SQL), MYSQL_NUM);
        if ($intNums == 0) {
            $modify_sql[] = "INSERT INTO `{$DBPrefix}filters` (`category`, `name`) VALUES (1, '[url=')";
        }
        $SQL = "select count(`name`) from `{$DBPrefix}filters` where `category`='1' and `name`='[href='";
        list($intNums) = $DMC->fetchArray($DMC->query($SQL), MYSQL_NUM);
        if ($intNums == 0) {
            $modify_sql[] = "INSERT INTO `{$DBPrefix}filters` (`category`, `name`) VALUES (1, '[href=')";
        }
        $SQL = "select count(`name`) from `{$DBPrefix}filters` where `category`='1' and `name`='缺 錢 個 人 兼 職'";
        list($intNums) = $DMC->fetchArray($DMC->query($SQL), MYSQL_NUM);
        if ($intNums == 0) {
            $modify_sql[] = "INSERT INTO `{$DBPrefix}filters` (`category`, `name`) VALUES (1, '缺 錢 個 人 兼 職')";
        }
        //	★全套愛愛★時間內不限次數★累ㄌ也ㄎ以找我按摩4小時3000★
        $SQL = "select count(`name`) from `{$DBPrefix}filters` where `category`='1' and `name`='全套愛愛'";
        list($intNums) = $DMC->fetchArray($DMC->query($SQL), MYSQL_NUM);
        if ($intNums == 0) {
            $modify_sql[] = "INSERT INTO `{$DBPrefix}filters` (`category`, `name`) VALUES (1, '全套愛愛')";
        }
        //	跟新設定檔
        $arr_setting['spamfilter'] = 'close';
    }
    //	update 20090625
    if (!in_array($update_logs, "20090625")) {
        //	  `isSecret` tinyint(1) NOT NULL default '0',
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}comments` ADD COLUMN `isSpam` tinyint(1) NOT NULL DEFAULT 0 AFTER `isSecret`";
    }
    //	update 20090630
    if (!in_array($update_logs, "20090625")) {
        //	This site baclofen is about baclofen remedy.
        $SQL = "select count(`name`) from `{$DBPrefix}filters` where `category`='1' and `name`='This site'";
        list($intNums) = $DMC->fetchArray($DMC->query($SQL), MYSQL_NUM);
        if ($intNums == 0) {
            $modify_sql[] = "INSERT INTO `{$DBPrefix}filters` (`category`, `name`) VALUES (1, 'This site')";
        }
    }
    /*
    if (!in_array($update_logs,"20090709")) {
    $SQL="select count(`name`) from `{$DBPrefix}modules` where `name`='BlogNews'";
    list($intNums)=$DMC->fetchArray($DMC->query($SQL),MYSQL_NUM);
    if ($intNums==0) {
    $modify_sql[]="INSERT INTO `{$DBPrefix}modules` (`name`, `modTitle`, `disType`, `isHidden`, `indexOnly`, `orderNo`, `isSystem`, `htmlCode`, `pluginPath`, `isInstall`, `installFolder`, `installDate`, `settingXml`, `cateId`, `configPath`) VALUES('BlogNews', '跑馬燈', 3, 0, 0, 2, 1, '', 'include/plung.blognews.php', 0, '', 0, '', 0, '')";
    }
    else $modify_sql[]="update `{$DBPrefix}modules` set isSystem='1',`pluginPath`='include/plung.blognews.php' where `name`='BlogNews'";
    }
    */
    if (is_array($arr_setting)) {
        foreach ($arr_setting as $key => $value) {
            if (!$DMC->fetchArray($DMC->query("select * from " . $DBPrefix . "setting where settName='{$key}'"))) {
                $modify_sql[] = "insert into " . $DBPrefix . "setting values('{$key}','{$value}','0')";
            }
        }
    }
    //运行SQL语句
    foreach ($modify_sql as $key => $value) {
        $DMC->query($value, "T");
        if ($echo) {
            if ($DMC->error()) {
                echo $value . " ... <font color=red>" . $DMC->error() . "</font><br />";
            } else {
                echo $value . " ... <font color=blue>OK</font><br />";
            }
        }
    }
    $i = 0;
    $contents = "\$update_logs = array(\r\n";
    $contents .= "\t'{$i}' => '{$update_time}',\r\n";
    for ($i = 0; $i < count($update_logs); $i++) {
        $j = $i + 1;
        $contents .= "\t'{$j}' => '" . $update_logs[$i] . "',\r\n";
    }
    $contents .= ");";
    writetocache('update_logs', $contents);
    //清空缓存
    if (!@unlink(F2BLOG_ROOT . "./cache/cache_setting.php")) {
        echo "<script language=Javascript> \n";
        echo "alert('Please update cache!');\n";
        echo "</script>\n";
    }
    //更新缓存
    settings_recache();
    links_recache();
    filters_recache();
    /*
    //清空缓存
    if ($delete_setting==true){//0909升级需要重新建立setting文件。
    if (!@unlink(F2BLOG_ROOT."./cache/cache_setting.php")){
    echo "<script language=Javascript> \n";
    echo "alert('Please update cache!');\n";
    echo "</script>\n";
    }
    }else{
    //更新缓存
    settings_recache();
    links_recache();
    }
    */
    return false;
}
Example #5
0
function update_data($echo, $DMC)
{
    global $DBPrefix, $update_time, $update_logs;
    $modify_sql = array();
    if ($DMC->getServerInfo() > '4.1') {
        $default_charset = " DEFAULT CHARACTER SET utf8";
    } else {
        $default_charset = "";
    }
    //从f2blog v1.0 build 0909升级
    $delete_setting = false;
    if ($arr_query = $DMC->query("SELECT * FROM " . $DBPrefix . "setting where id='1'", 'T')) {
        $setInfo = $DMC->fetchArray($arr_query, MYSQL_ASSOC);
        if ($setInfo['language'] == "zh_cn") {
            $strGholidayDefault = "{0101,元旦}{0214,情人节}{0308,妇女节}{0401,愚人节}{0501,劳动节}{0512,F2BLOG成立日}{1001,国庆日}{1224,平安夜}{1225,圣诞节}{1226,圣诞节翌日}";
            $strNholidayDefault = "{0101,年初一春节}{0102,年初二}{0103,年初三}{0104,年初四}{0105,年初五开市}{0115,元宵节}{0505,端午节}{0701,开鬼门}{0707,七夕情人节}{0815,中秋节}{0909,重阳节}";
        } else {
            if ($setInfo['language'] == "zh_tw") {
                $strNholidayDefault = "{0101,年初一春節}{0102,年初二}{0103,年初三}{0104,年初四}{0105,年初五開市}{0115,元宵節}{0505,端午節}{0701,開鬼門}{0707,七夕情人節}{0815,中秋節}{0816,中秋節翌日}{0909,重陽節}";
                $strGholidayDefault = "{0101,元旦}{0214,情人節}{0308,婦女節}{0401,愚人節}{0501,勞動節}{0512,F2BLOG成立日}{1224,平安夜}{1225,聖誕節}{1226,聖誕節翌日}";
            } else {
                $strNholidayDefault = "{0101,Lunar New Year&#39s Day}{0102,The second day of the Lunar New Year}{0103,The third day of the Lunar New Year}{0104,The forth day of the Lunar New Year}{0105,The fifth day of the Lunar New Year}{0115,Lantern Festival}{0505,Tuen Ng Festival}{0701,Ghost Gate Open Day}{0707,Chinese Valentine&#39s Day}{0815,Chinese Mid-Autumn Festival}{0816,The day following Chinese Mid-Autumn Festival}{0909,Chung Yeung Festival}";
                $strGholidayDefault = "{0101,New Year&#39s Day}{0214,Valentine&#39s Day}{0308,Women&#39s Day}{0401,Fool&#39s Day}{0501,Labour Day}{0512,F2BLOG Foundation Day}{1224,Christmas Eve}{1225,Christmas Day}{1226,The day following Christams Day}";
            }
        }
        //默认值
        if (file_exists(F2BLOG_ROOT . "./admin/admin_config.php")) {
            include F2BLOG_ROOT . "./admin/admin_config.php";
        } else {
            $cfg_page_size = "15";
            $cfg_upload_file = "gif,jpg,rar,zip,doc,xls,pdf,ico,png,swf,wma,wav,mp3,wmv";
            $cfg_upload_size = 1024000;
            //以byte单位等于1M  1024000
            $cfg_mouseover_color = "#FFFFCC";
            $content_width = 500;
            $backup_size = 1024;
            // 以KB为单位
            $editor_plugins = "f2blog,f2music,flash";
            $editor_button1 = 'bold,italic,underline,separator,justifyleft,justifycenter,justifyright,separator,fontselect,fontsizeselect,forecolor,backcolor,separator,hr,link,unlink,flash,f2_music,separator,f2_hide,f2_more,f2_page,separator,code';
            $editor_button2 = '';
            $editor_button3 = '';
        }
        $editor_button1 = str_replace(',justifyleft,justifycenter', ',pastetext,pasteword,separator,justifyleft,justifycenter,justifyright', $editor_button1);
        $editor_plugins = "paste," . $editor_plugins;
        $arr_setting[] = "('about','','0');";
        $arr_setting[] = "('adminPageSize','" . $cfg_page_size . "','0');";
        $arr_setting[] = "('adminPerPage','25','0');";
        $arr_setting[] = "('ajaxstatus','','0');";
        $arr_setting[] = "('archivesmonth','5','0');";
        $arr_setting[] = "('attachDir','1','0');";
        $arr_setting[] = "('attachType','" . $cfg_upload_file . "','0');";
        $arr_setting[] = "('autoSave','0','0');";
        $arr_setting[] = "('autoSplit','0','0');";
        $arr_setting[] = "('backupSize','" . ceil($cfg_upload_size / 1000) . "','0');";
        $arr_setting[] = "('blogKeyword','','0');";
        $arr_setting[] = "('blogTitle','Free & Freedom Blog','0');";
        $arr_setting[] = "('blogUrl','http://localhost','0');";
        $arr_setting[] = "('categoryImgPath','images/tree/folder_gray','0');";
        $arr_setting[] = "('closeReason','Close Blogs!','0');";
        $arr_setting[] = "('commentOrder','asc','0');";
        $arr_setting[] = "('commLength','800','0');";
        $arr_setting[] = "('commPage','10','0');";
        $arr_setting[] = "('commTimerout','30','0');";
        $arr_setting[] = "('defaultedits','tiny','0');";
        $arr_setting[] = "('defaultSkin','default','1');";
        $arr_setting[] = "('disType','0','0');";
        $arr_setting[] = "('downcode','0','0');";
        $arr_setting[] = "('editPluginButton1','" . $editor_button1 . "','0');";
        $arr_setting[] = "('editPluginButton2','" . $editor_button2 . "','0');";
        $arr_setting[] = "('editPluginButton3','" . $editor_button3 . "','0');";
        $arr_setting[] = "('editPluginName','" . $editor_plugins . "','0');";
        $arr_setting[] = "('email','*****@*****.**','0');";
        $arr_setting[] = "('favicon','','0');";
        $arr_setting[] = "('gbookOrder','desc','0');";
        $arr_setting[] = "('gbookPage','10','0');";
        $arr_setting[] = "('gcalendar','" . $strGholidayDefault . "','0');";
        $arr_setting[] = "('genThumb','0','0');";
        $arr_setting[] = "('gzipstatus','0','0');";
        $arr_setting[] = "('headcode','','0');";
        $arr_setting[] = "('img_width','400','0');";
        $arr_setting[] = "('isHtmlPage','0','0');";
        $arr_setting[] = "('isLinkTagLog','1','0');";
        $arr_setting[] = "('isProgramRun','1','0');";
        $arr_setting[] = "('isRegister','1','0');";
        $arr_setting[] = "('isTbApp','0','0');";
        $arr_setting[] = "('isValidateCode','0','0');";
        $arr_setting[] = "('language','zh_cn','0');";
        $arr_setting[] = "('linkTagLog','10','0');";
        $arr_setting[] = "('loginvalid','0','0');";
        $arr_setting[] = "('logo','','0');";
        $arr_setting[] = "('logscomment','10','0');";
        $arr_setting[] = "('logsgbook','10','0');";
        $arr_setting[] = "('logspage','18','0');";
        $arr_setting[] = "('master','{$admin}','0');";
        $arr_setting[] = "('mouseovercolor','#FFFFCC','0');";
        $arr_setting[] = "('name','My F2Blog','0');";
        $arr_setting[] = "('ncalendar','" . $strNholidayDefault . "','0');";
        $arr_setting[] = "('newRss','10','0');";
        $arr_setting[] = "('onlineTime','3600','0');";
        $arr_setting[] = "('pagebar','A','0');";
        $arr_setting[] = "('perPageList','20','0');";
        $arr_setting[] = "('perPageNormal','8','0');";
        $arr_setting[] = "('readpagebar','1','0');";
        $arr_setting[] = "('registerClose','Close Register!','0');";
        $arr_setting[] = "('rewrite','0','0');";
        $arr_setting[] = "('rssContentType','1','0');";
        $arr_setting[] = "('rssLength','500','0');";
        $arr_setting[] = "('setattachments','0','1');";
        $arr_setting[] = "('setcategories','0','1');";
        $arr_setting[] = "('setcomments','" . $setInfo['commNums'] . "','1');";
        $arr_setting[] = "('setguestbook','" . $setInfo['messageNums'] . "','1');";
        $arr_setting[] = "('setlogs','" . $setInfo['logNums'] . "','1');";
        $arr_setting[] = "('setmembers','" . $setInfo['memberNums'] . "','1');";
        $arr_setting[] = "('settags','" . $setInfo['tagNums'] . "','1');";
        $arr_setting[] = "('settrackbacks','" . $setInfo['tbNums'] . "','1');";
        $arr_setting[] = "('showattach','0','0');";
        $arr_setting[] = "('showcalendar','1','0');";
        $arr_setting[] = "('showcate','0','0');";
        $arr_setting[] = "('showcomment','0','0');";
        $arr_setting[] = "('showguest','0','0');";
        $arr_setting[] = "('showlogs','1','0');";
        $arr_setting[] = "('showonline','1','0');";
        $arr_setting[] = "('showquote','0','0');";
        $arr_setting[] = "('showtags','0','0');";
        $arr_setting[] = "('showtoday','1','0');";
        $arr_setting[] = "('showtotal','1','0');";
        $arr_setting[] = "('showuser','0','0');";
        $arr_setting[] = "('showyester','1','0');";
        $arr_setting[] = "('sidecommentlength','12','0');";
        $arr_setting[] = "('sidecommentstyle','{title}','0');";
        $arr_setting[] = "('sidegbooklength','12','0');";
        $arr_setting[] = "('sidegbookstyle','{title}','0');";
        $arr_setting[] = "('sidelogslength','12','0');";
        $arr_setting[] = "('sidelogsPage','10','0');";
        $arr_setting[] = "('sidelogsstyle','{title}','0');";
        $arr_setting[] = "('skinSwitch','" . $skinSwitch . "','1');";
        $arr_setting[] = "('status','0','0');";
        $arr_setting[] = "('tagNums','50','0');";
        $arr_setting[] = "('tbSiteList','','0');";
        $arr_setting[] = "('thumbSize','200x200','0');";
        $arr_setting[] = "('timeSystemFormat','Y-m-d H:i','0');";
        $arr_setting[] = "('timezone','8','0');";
        $arr_setting[] = "('trackNums','10','0');";
        $arr_setting[] = "('uservalid','0','0');";
        $arr_setting[] = "('visitNums','0','1');";
        $arr_setting[] = "('applylink','1','0');";
        $arr_setting[] = "('disSearch','0','0');";
        $arr_setting[] = "('gbface','1','0');";
        $arr_setting[] = "('disAttach','1','0');";
        $arr_setting[] = "('forum_user','','0');";
        $arr_setting[] = "('loginStatus','1','0');";
        $arr_setting[] = "('disTags','1','0');";
        $arr_setting[] = "('fastEditor','1','0');";
        $arr_setting[] = "('allowTrackback','1','0');";
        $arr_setting[] = "('allowComment','1','0');";
        $arr_setting[] = "('showKeyword','0','0');";
        $arr_setting[] = "('autoUrl','0','0');";
        $arr_setting[] = "('showPrint','0','0');";
        $arr_setting[] = "('showDown','0','0');";
        $arr_setting[] = "('showMail','0','0');";
        $arr_setting[] = "('linkshow','0','0');";
        $arr_setting[] = "('showUBB','0','0');";
        $arr_setting[] = "('linklogo','images/logo.gif','0');";
        $arr_setting[] = "('adminstyle','default','0');";
        $arr_setting[] = "('footcode','','0');";
        $arr_setting[] = "('linkmarquee','0','0');";
        $arr_setting[] = "('currFormatDate','Y-m-d H:i','0');";
        $arr_setting[] = "('listFormatDate','m-d','0');";
        $arr_setting[] = "('showAlertStyle','0','0');";
        $arr_setting[] = "('weatherStatus','1','0');";
        $arr_setting[] = "('treeCategory','0','0');";
        foreach ($arr_setting as $key => $value) {
            foreach ($setInfo as $subkey => $subvalue) {
                if (strpos($value, "'{$subkey}'") > 0 && $subkey != "isRegister" && $subkey != "gbookPage" && $subkey != "commPage") {
                    $subvalue = str_replace("'", "&#39;", $subvalue);
                    $arr_setting[$key] = preg_replace("/\\('(.*?)','(.*?)','(.*?)'\\);/is", "('\\1','" . $subvalue . "','\\3');", $value);
                    break;
                }
            }
        }
        foreach ($arr_setting as $key => $value) {
            $insert_sql[] = "insert into " . $DBPrefix . "setting values" . $value;
        }
        $create_sql[] = "DROP TABLE IF EXISTS `{$DBPrefix}setting`;";
        $create_sql[] = "CREATE TABLE `{$DBPrefix}setting` (\r\n\t\t\t\t\t\t`settName` varchar( 30 ) NOT NULL ,\r\n\t\t\t\t\t\t`settValue` tinytext NOT NULL,\r\n\t\t\t\t\t\t`settAuto` tinyint(1) NOT NULL default '0'\r\n\t\t\t\t\t   ) ENGINE=MyISAM {$default_charset};\r\n\t\t\t\t\t  ";
        $modify_sql = array_merge($create_sql, $insert_sql);
        $delete_setting = true;
    } else {
        //更新 v1.0 以后的设定值
        $arr_setting = array();
        $arr_setting['applylink'] = "1";
        $arr_setting['disSearch'] = "0";
        $arr_setting['gbface'] = "1";
        $arr_setting['disAttach'] = "1";
        $arr_setting['forum_user'] = "";
        $arr_setting['loginStatus'] = "1";
        $arr_setting['disTags'] = '1';
        $arr_setting['fastEditor'] = '0';
        $arr_setting['allowTrackback'] = '1';
        $arr_setting['allowComment'] = '1';
        $arr_setting['showKeyword'] = '0';
        $arr_setting['autoUrl'] = '0';
        $arr_setting['showPrint'] = '0';
        $arr_setting['showDown'] = '0';
        $arr_setting['showMail'] = '0';
        $arr_setting['linkshow'] = '0';
        $arr_setting['showUBB'] = '0';
        $arr_setting['linklogo'] = 'images/logo.gif';
        $arr_setting['adminstyle'] = 'new';
        $arr_setting['footcode'] = '';
        $arr_setting['linkmarquee'] = '0';
        $arr_setting['currFormatDate'] = 'Y-m-d H:i';
        $arr_setting['listFormatDate'] = 'm-d';
        $arr_setting['showAlertStyle'] = '0';
        $arr_setting['weatherStatus'] = '1';
        $arr_setting['treeCategory'] = '0';
        foreach ($arr_setting as $key => $value) {
            if (!$DMC->fetchArray($DMC->query("select * from " . $DBPrefix . "setting where settName='{$key}'"))) {
                $modify_sql[] = "insert into " . $DBPrefix . "setting values('{$key}','{$value}','0')";
            }
        }
        //新增粘贴插件
        if (!$DMC->fetchArray($DMC->query("select * from " . $DBPrefix . "setting where settName='editPluginName' and settValue like '%paste%'"))) {
            $modify_sql[] = "update " . $DBPrefix . "setting set settValue=concat('paste,',settValue) where settName='editPluginName'";
            $modify_sql[] = "update " . $DBPrefix . "setting set settValue=replace(settValue,',justifyleft,justifycenter',',pastetext,pasteword,separator,justifyleft,justifycenter,justifyright') where settName='editPluginButton1'";
        }
        //清除属性(2007-02-01)
        if ($DMC->fetchArray($DMC->query("select * from " . $DBPrefix . "setting where settName='disTop'"))) {
            $modify_sql[] = "delete from {$DBPrefix}setting where settName='disTop' or settName='calendarmonth'";
        }
    }
    //更新数据表(2006-11-11)
    if (!$DMC->query("SELECT cateIcons FROM " . $DBPrefix . "categories", 'T')) {
        $modify_sql[] = "DROP TABLE IF EXISTS `{$DBPrefix}linkgroup`;";
        $modify_sql[] = "CREATE TABLE `{$DBPrefix}linkgroup` (\r\n\t\t\t\t\t\t`id` int(3) NOT NULL auto_increment,\r\n\t\t\t\t\t\t`name` varchar(50) NOT NULL,\r\n\t\t\t\t\t\t`isSidebar` tinyint(1) NOT NULL default '0',\r\n\t\t\t\t\t\t`orderNo` int(5) NOT NULL default '0',\r\n\t\t\t\t\t\tPRIMARY KEY  (`id`),\r\n\t\t\t\t\t\tKEY `name` (`name`)\r\n\t\t\t\t\t\t) ENGINE=MyISAM {$default_charset};\r\n\t\t\t\t\t  ";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}logs` ADD `autoSplit` int(8) NOT NULL default '0'";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}categories` ADD `cateIcons` tinyint(4) NOT NULL default '1'";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}links` ADD `lnkGrpId` int(3) NOT NULL default '1'";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}links` ADD `blogLogo` varchar(150) NOT NULL default ''";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}links` ADD `isApp` tinyint(1) NOT NULL default '0'";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}links` CHANGE `isHidden` `isSidebar` tinyint(1) NOT NULL default '0'";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}attachments` CHANGE `attTitle` `attTitle` varchar(150) NOT NULL default ''";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}members` CHANGE `role` `role` varchar(8) NOT NULL default 'user'";
        $modify_sql[] = "INSERT INTO `{$DBPrefix}modules` VALUES (17, 'links', '[var]strLinks[/var]', 1, 0, 0, 4, 1, '', 'include/links.inc.php', 0, '', 0, '', 0, '')";
        $modify_sql[] = "INSERT INTO `{$DBPrefix}modules` VALUES (18, 'archives', '[var]strArchives[/var]', 1, 0, 0, 4, 1, '', 'include/archives.inc.php', 0, '', 0, '', 0, '')";
        $modify_sql[] = "INSERT INTO `{$DBPrefix}modules` VALUES (19, 'userPanel', '[var]strUserPanel[/var]', 2, 1, 0, 1, 1, 'side_userPanel()', '', 0, '', 0, '', 0, '')";
        $modify_sql[] = "UPDATE `{$DBPrefix}modules` set modTitle='[var]strHomePageGBook[/var]' where id='16'";
        $modify_sql[] = "INSERT INTO `{$DBPrefix}linkgroup` VALUES ('1', 'Links', '1', '1')";
        $modify_sql[] = "UPDATE {$DBPrefix}links set lnkGrpId='1',isApp='1',isSidebar='1'";
        $modify_sql[] = "UPDATE {$DBPrefix}categories set cateIcons='1'";
    }
    //更新评论2007-02-01,因为恢复的地方没有使用它。
    if (!$DMC->query("SELECT homepage FROM " . $DBPrefix . "comments", 'T')) {
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}setting` CHANGE `settValue` `settValue` text NOT NULL";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}comments` ADD `homepage` varchar(100) NOT NULL default ''";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}comments` ADD `email` varchar(100) NOT NULL default ''";
        $modify_sql[] = "ALTER TABLE `{$DBPrefix}comments` ADD `face` varchar(30) NOT NULL default ''";
    }
    //更新附件的文件类别(2007-02-01
    $arrResult = $DMC->fetchQueryAll($DMC->query("SELECT name,id FROM " . $DBPrefix . "attachments where not fileType like '%/%' and not fileType like '%-%' "));
    foreach ($arrResult as $value) {
        if ($value['name'] != "") {
            $fileType = updateFileType($value['name']);
            $modify_sql[] = "update " . $DBPrefix . "attachments set fileType='{$fileType}' where id='" . $value['id'] . "'";
        }
    }
    //运行SQL语句
    foreach ($modify_sql as $key => $value) {
        $DMC->query($value, "T");
        if ($echo) {
            if ($DMC->error()) {
                echo $value . " ... <font color=red>" . $DMC->error() . "</font><br />";
            } else {
                echo $value . " ... <font color=blue>OK</font><br />";
            }
        }
    }
    $i = 0;
    $contents = "\$update_logs = array(\r\n";
    $contents .= "\t'{$i}' => '{$update_time}',\r\n";
    for ($i = 0; $i < count($update_logs); $i++) {
        $j = $i + 1;
        $contents .= "\t'{$j}' => '" . $update_logs[$i] . "',\r\n";
    }
    $contents .= ");";
    writetocache('update_logs', $contents);
    //清空缓存
    if ($delete_setting == true) {
        //0909升级需要重新建立setting文件。
        if (!@unlink(F2BLOG_ROOT . "./cache/cache_setting.php")) {
            echo "<script language=Javascript> \n";
            echo "alert('Please update cache!');\n";
            echo "</script>\n";
        }
    } else {
        //更新缓存
        settings_recache();
        links_recache();
    }
}
Example #6
0
function reAllCache()
{
    settings_recache();
    modules_recache();
    categories_recache();
    hottags_recache();
    archives_recache();
    links_recache();
    keywords_recache();
    filters_recache();
    recentLogs_recache();
    recentGbooks_recache();
    recentComments_recache();
    calendar_recache();
    statistics_recache();
    categories_recount();
}
function rethestats($cachename = '')
{
    global $DB, $db_prefix;
    if (!$cachename || $cachename == 'settings') {
        settings_recache();
    }
    if (!$cachename || $cachename == 'statistics') {
        // 更新首页显示的文章数
        $article_count = $DB->result($DB->query("SELECT COUNT(articleid) FROM {$db_prefix}articles WHERE visible = '1'"), 0);
        // 更新首页显示的评论数
        $comment_count = $DB->result($DB->query("SELECT COUNT(commentid) FROM {$db_prefix}comments c LEFT JOIN {$db_prefix}articles a ON (a.articleid=c.articleid) WHERE a.visible='1' AND c.visible='1'"), 0);
        // 更新首页显示的标签(Tags)数
        $tag_count = $DB->result($DB->query("SELECT COUNT(mid) FROM {$db_prefix}metas WHERE type='tag'"), 0);
        $DB->unbuffered_query("UPDATE {$db_prefix}statistics SET article_count='{$article_count}', comment_count='{$comment_count}', tag_count='{$tag_count}'");
        //$DB->unbuffered_query("DELETE FROM {$db_prefix}metas WHERE type='tag' AND count=0");
        // 更新主人发表文章数
        $query = $DB->query("SELECT userid,articles FROM {$db_prefix}users WHERE groupid='1' OR groupid='2'");
        while ($user = $DB->fetch_array($query)) {
            $total = $DB->result($DB->query("SELECT COUNT(articleid) FROM {$db_prefix}articles WHERE visible = '1' AND uid='" . $user['userid'] . "'"), 0);
            if ($user['articles'] != $total) {
                $DB->unbuffered_query("UPDATE {$db_prefix}users SET articles='{$total}' WHERE userid='" . $user['userid'] . "'");
            }
        }
        statistics_recache();
    }
    if (!$cachename || $cachename == 'newarticles') {
        newarticles_recache();
    }
    if (!$cachename || $cachename == 'stick') {
        stick_recache();
    }
    if (!$cachename || $cachename == 'newcomments') {
        newcomments_recache();
    }
    if (!$cachename || $cachename == 'categories') {
        // 更新所有文章的评论数
        $query = $DB->query("SELECT mid,count FROM {$db_prefix}metas");
        while ($meta = $DB->fetch_array($query)) {
            $ctotal = get_meta_article_count($meta['mid']);
            if ($meta['count'] != $ctotal) {
                update_meta_count($meta['mid'], $ctotal);
            }
        }
        categories_recache();
    }
    if (!$cachename || $cachename == 'archives') {
        // 重建文章数据
        $query = $DB->query("SELECT articleid,comments FROM {$db_prefix}articles");
        while ($article = $DB->fetch_array($query)) {
            // 更新所有文章的评论数
            $ctotal = $DB->result($DB->query("SELECT COUNT(commentid) FROM {$db_prefix}comments WHERE articleid='" . $article['articleid'] . "' AND visible='1'"), 0);
            if ($article['comments'] != $ctotal) {
                $DB->unbuffered_query("UPDATE {$db_prefix}articles SET comments='{$ctotal}' WHERE articleid='" . $article['articleid'] . "'");
            }
        }
        archives_recache();
    }
    if (!$cachename || $cachename == 'hottags') {
        hottags_recache();
    }
    if (!$cachename || $cachename == 'links') {
        links_recache();
    }
    if (!$cachename || $cachename == 'stylevars') {
        stylevars_recache();
    }
    if (!$cachename || $cachename == 'allarticleids') {
        allarticleids_recache();
    }
}
function restats()
{
    allarticleids_recache();
    links_recache();
    newarticles_recache();
    newcomments_recache();
    settings_recache();
    categories_recache();
    statistics_recache();
    archives_recache();
    hottags_recache();
    stylevars_recache();
    stick_recache();
}