// http://factage.com/sng/pukiwiki/ // // Special thanks // YukiWiki by Hiroshi Yuki // http://www.hyuki.com/yukiwiki/ // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. if (! defined('DATA_HOME')) define('DATA_HOME', ''); ///////////////////////////////////////////////// // Include subroutines if (! defined('LIB_DIR')) define('LIB_DIR', ''); require(LIB_DIR . 'func.php'); require(LIB_DIR . 'file.php'); require(LIB_DIR . 'plugin.php'); require(LIB_DIR . 'html.php'); require(LIB_DIR . 'backup.php'); require(LIB_DIR . 'convert_html.php'); require(LIB_DIR . 'make_link.php'); require(LIB_DIR . 'diff.php'); require(LIB_DIR . 'config.php'); require(LIB_DIR . 'link.php'); require(LIB_DIR . 'auth.php'); require(LIB_DIR . 'proxy.php'); if (! extension_loaded('mbstring')) { require(LIB_DIR . 'mbstring.php'); } // Defaults $notify = 0; // Load *.ini.php files and init PukiWiki require(LIB_DIR . 'init.php'); // Load optional libraries if ($notify) { require(LIB_DIR . 'mail.php'); // Mail notification } ///////////////////////////////////////////////// // Main $retvars = array(); $is_cmd = FALSE; if (isset($vars['cmd'])) { $is_cmd = TRUE; $plugin = & $vars['cmd']; } else if (isset($vars['plugin'])) { $plugin = & $vars['plugin']; } else { $plugin = ''; } if ($plugin != '') { ensure_valid_auth_user(); if (exist_plugin_action($plugin)) { // Found and exec $retvars = do_plugin_action($plugin); if ($retvars === FALSE) exit; // Done if ($is_cmd) { $base = isset($vars['page']) ? $vars['page'] : ''; } else { $base = isset($vars['refer']) ? $vars['refer'] : ''; } } else { // Not found $msg = 'plugin=' . htmlsc($plugin) . ' is not implemented.'; $retvars = array('msg'=>$msg,'body'=>$msg); $base = & $defaultpage; } } $title = htmlsc(strip_bracket($base)); $page = make_search($base); if (isset($retvars['msg']) && $retvars['msg'] != '') { $title = str_replace('$1', $title, $retvars['msg']); $page = str_replace('$1', $page, $retvars['msg']); } if (isset($retvars['body']) && $retvars['body'] != '') { $body = & $retvars['body']; } else { if ($base == '' || ! is_page($base)) { $base = & $defaultpage; $title = htmlsc(strip_bracket($base)); $page = make_search($base); } $vars['cmd'] = 'read'; $vars['page'] = & $base; $body = convert_html(get_source($base)); } // Output catbody($title, $page, $body); exit;