/** * 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(); }
function plugin_qblog_list_init() { qblog_update(TRUE); //debug }
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'); }