OSDN Git Service

mbstring.phpの読み込みを、extension_loaded関数を使用して自動化
[pukiwiki/pukiwiki.git] / pukiwiki.php
1 <?php
2 // pukiwiki.php - Yet another WikiWikiWeb clone.
3 //
4 // PukiWiki 1.4.* 
5 //  Copyright (C) 2002 by PukiWiki Developers Team
6 //  http://pukiwiki.org/
7 //
8 // PukiWiki 1.3.* 
9 //  Copyright (C) 2002 by PukiWiki Developers Team
10 //  http://pukiwiki.org/
11 //
12 // PukiWiki 1.3 (Base)
13 //  Copyright (C) 2001,2002 by sng.
14 //  <sng@factage.com>
15 //  http://factage.com/sng/pukiwiki/
16 //
17 // Special thanks
18 //  YukiWiki by Hiroshi Yuki
19 //  <hyuki@hyuki.com>
20 //  http://www.hyuki.com/yukiwiki/
21 //
22 // This program is free software; you can redistribute it and/or modify
23 // it under the terms of the GNU General Public License as published by
24 // the Free Software Foundation; either version 2 of the License, or
25 // (at your option) any later version.
26 //
27 // This program is distributed in the hope that it will be useful,
28 // but WITHOUT ANY WARRANTY; without even the implied warranty of
29 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
30 // GNU General Public License for more details.
31 //
32 // $Id: pukiwiki.php,v 1.28 2003/07/27 13:52:18 arino Exp $
33 /////////////////////////////////////////////////
34
35
36 /////////////////////////////////////////////////
37 // ¥×¥í¥°¥é¥à¥Õ¥¡¥¤¥ëÆɤ߹þ¤ß
38 require('func.php');
39 require('file.php');
40 require('plugin.php');
41 require('html.php');
42 require('backup.php');
43
44 require('convert_html.php');
45 require('make_link.php');
46 require('diff.php');
47 require('config.php');
48 require('link.php');
49 require('trackback.php');
50 require('auth.php');
51 if (!extension_loaded('mbstring'))
52 {
53         require('mbstring.php');
54 }
55
56 /////////////////////////////////////////////////
57 // ¥×¥í¥°¥é¥à¥Õ¥¡¥¤¥ëÆɤ߹þ¤ß
58 require('init.php');
59
60 /////////////////////////////////////////////////
61 // ¥á¥¤¥ó½èÍý
62
63 $base = $defaultpage;
64 $retvars = array();
65
66 // Plug-in action
67 if (!empty($vars['plugin'])) {
68         if (!exist_plugin_action($vars['plugin'])) {
69                 $s_plugin = htmlspecialchars($vars['plugin']);
70                 $msg = "plugin=$s_plugin is not implemented.";
71                 $retvars = array('msg'=>$msg,'body'=>$msg);
72         }
73         else {
74                 $retvars = do_plugin_action($vars['plugin']);
75                 if ($retvars !== FALSE) {
76                         $base = array_key_exists('refer',$vars) ? $vars['refer'] : '';
77                 }
78         }
79 }
80 // Command action
81 else if (!empty($vars['cmd'])) {
82         if (!exist_plugin_action($vars['cmd'])) {
83                 $s_cmd = htmlspecialchars($vars['cmd']);
84                 $msg = "cmd=$s_cmd is not implemented.";
85                 $retvars = array('msg'=>$msg,'body'=>$msg);
86         }
87         else {
88                 $retvars = do_plugin_action($vars['cmd']);
89                 $base = $vars['page'];
90         }
91 }
92
93 if ($retvars !== FALSE) {
94         $title = htmlspecialchars(strip_bracket($base));
95         $page = make_search($base);
96         
97         if (array_key_exists('msg',$retvars) and $retvars['msg'] != '') {
98                 $title = str_replace('$1',$title,$retvars['msg']);
99                 $page = str_replace('$1',$page,$retvars['msg']);
100         }
101         
102         if (array_key_exists('body',$retvars) and $retvars['body'] != '') {
103                 $body = $retvars['body'];
104         }
105         else {
106                 if ($base == '' or !is_page($base)) {
107                         $base = $defaultpage;
108                         $title = htmlspecialchars(strip_bracket($base));
109                         $page = make_search($base);
110                 }
111                 
112                 $vars['cmd'] = 'read';
113                 $vars['page'] = $base;
114                 $body = convert_html(get_source($base));
115                 $body .= tb_get_rdf($vars['page']);
116                 ref_save($vars['page']);
117         }
118         
119         // ** ½ÐÎϽèÍý **
120         catbody($title,$page,$body);
121 }
122 // ** ½ªÎ» **
123 ?>