Example #1
0
/**
 *   QBlog Theme Plugin
 *   -------------------------------------------
 *   ./plugin/qblog_category.inc.php
 *
 *   Copyright (c) 2012 hokuken
 *   http://hokuken.com/
 *
 *   created  : 12/07/27
 *   modified :
 *
 *   Description
 *   
 *   
 *   Usage :
 *   
 */
function plugin_qblog_category_init()
{
    qblog_update();
}
Example #2
0
function plugin_qblog_list_init()
{
    qblog_update(TRUE);
    //debug
}
Example #3
0
function plugin_qblog_rebuild_posts()
{
    global $vars, $script;
    global $qblog_page_prefix, $qblog_page_re;
    $vars['hash'] = 'misc';
    //ポストデータが壊れているポスト用に、
    //全カテゴリーキャッシュを網羅して、
    //どのページがどのカテゴリーか調べる
    $files = glob(CACHEQBLOG_DIR . '*.qbc.dat');
    //ページとカテゴリのペア配列
    $page_cat_list = array();
    foreach ($files as $file) {
        $category = decode(basename($file, '.qbc.dat'));
        //ページ名をキー、カテゴリ名を値とした連想配列を作る
        $tmp_pages = array_flip(explode("\n", file_get_contents($file)));
        $tmp_pages = array_combine(array_keys($tmp_pages), array_pad(array(), count($tmp_pages), $category));
        $page_cat_list = array_merge($page_cat_list, $tmp_pages);
    }
    //ブログポスト(QBlog-)のwikiファイルを全チェックし、
    //ポストデータがないものについてはカテゴリーのみ修復する
    $files = glob(DATA_DIR . encode($qblog_page_prefix) . '*');
    foreach ($files as $file) {
        $pagename = decode(basename($file, '.txt'));
        if (preg_match($qblog_page_re, $pagename)) {
            $data = get_qblog_post_data($pagename);
            if ($data === FALSE) {
                $option = array('category' => $page_cat_list[$pagename], 'image' => '');
            } else {
                $option = array('category' => $data['category'], 'image' => $data['image']);
            }
            qblog_update_post(TRUE, $pagename, $option);
        }
    }
    //強制アップデート
    qblog_update(TRUE);
    redirect($script . '?cmd=qblog&phase=rebuild#misc');
}