OSDN Git Service

BugTrack/709: Enable to store multi-format password.
[pukiwiki/pukiwiki.git] / pukiwiki.ini.php
1 <?php
2 // PukiWiki - Yet another WikiWikiWeb clone
3 // $Id: pukiwiki.ini.php,v 1.118 2005/04/05 13:29:25 henoheno Exp $
4 //
5 // PukiWiki main setting file
6
7 /////////////////////////////////////////////////
8 // Functionality settings
9
10 // PKWK_OPTIMISE - Ignore verbose but understandable checking and warning
11 //   If you end testing this PukiWiki, set '1'.
12 //   If you feel in trouble about this PukiWiki, set '0'.
13 if (! defined('PKWK_OPTIMISE'))
14         define('PKWK_OPTIMISE', 0);
15
16 /////////////////////////////////////////////////
17 // Security settings
18
19 // PKWK_READONLY - Prohibits editing and maintain via WWW
20 //   NOTE: Counter-related functions will work now (counter, attach count, etc)
21 if (! defined('PKWK_READONLY'))
22         define('PKWK_READONLY', 0); // 0 or 1
23
24 // PKWK_SAFE_MODE - Prohibits some unsafe(but compatible) functions 
25 if (! defined('PKWK_SAFE_MODE'))
26         define('PKWK_SAFE_MODE', 0);
27
28 // PKWK_QUERY_STRING_MAX
29 //   Max length of GET method, prohibits some worm attack ASAP
30 //   NOTE: Keep (page-name + attach-file-name) <= PKWK_QUERY_STRING_MAX
31 define('PKWK_QUERY_STRING_MAX', 640); // Bytes, 0 = OFF
32
33 /////////////////////////////////////////////////
34 // Language / Encoding settings
35
36 // LANG - Internal content encoding ('en', 'ja', or ...)
37 define('LANG', 'ja');
38
39 // UI_LANG - Content encoding for buttons, menus,  etc
40 define('UI_LANG', LANG); // 'en' for Internationalized wikisite
41
42 /////////////////////////////////////////////////
43 // Directory settings I (ended with '/', permission '777')
44
45 // You may hide these directories (from web browsers)
46 // by setting DATA_HOME at index.php.
47
48 define('DATA_DIR',      DATA_HOME . 'wiki/'     ); // Latest wiki texts
49 define('DIFF_DIR',      DATA_HOME . 'diff/'     ); // Latest diffs
50 define('BACKUP_DIR',    DATA_HOME . 'backup/'   ); // Backups
51 define('CACHE_DIR',     DATA_HOME . 'cache/'    ); // Some sort of caches
52 define('UPLOAD_DIR',    DATA_HOME . 'attach/'   ); // Attached files and logs
53 define('COUNTER_DIR',   DATA_HOME . 'counter/'  ); // Counter plugin's counts
54 define('TRACKBACK_DIR', DATA_HOME . 'trackback/'); // TrackBack logs
55 define('PLUGIN_DIR',    DATA_HOME . 'plugin/'   ); // Plugin directory
56
57 /////////////////////////////////////////////////
58 // Directory settings II (ended with '/')
59
60 // Skins / Stylesheets
61 define('SKIN_DIR', 'skin/');
62 // Skin files (SKIN_DIR/*.skin.php) are needed at
63 // ./DATAHOME/SKIN_DIR from index.php, but
64 // CSSs(*.css) and JavaScripts(*.js) are needed at
65 // ./SKIN_DIR from index.php.
66
67 // Static image files
68 define('IMAGE_DIR', 'image/');
69 // Keep this directory shown via web browsers like
70 // ./IMAGE_DIR from index.php.
71
72 /////////////////////////////////////////////////
73 // Local time setting
74
75 switch (LANG) { // or specifiy one
76 case 'ja':
77         define('ZONE', 'JST');
78         define('ZONETIME', 9 * 3600); // JST = GMT + 9
79         break;
80 default  :
81         define('ZONE', 'GMT');
82         define('ZONETIME', 0);
83         break;
84 }
85
86 /////////////////////////////////////////////////
87 // Title of your Wikisite (Name this)
88 // Also used as RSS feed's channel name etc
89 $page_title = 'PukiWiki';
90
91 // Specify PukiWiki URL (default: auto)
92 //$script = 'http://example.com/pukiwiki/';
93
94 // Shorten $script: Cut its file name (default: not cut)
95 //$script_directory_index = 'index.php';
96
97 // Site admin's name (CHANGE THIS)
98 $modifier = 'anonymous';
99
100 // Site admin's Web page (CHANGE THIS)
101 $modifierlink = 'http://pukiwiki.example.com/';
102
103 // Default page name
104 $defaultpage  = 'FrontPage';     // Top / Default page
105 $whatsnew     = 'RecentChanges'; // Modified page list
106 $whatsdeleted = 'RecentDeleted'; // Removeed page list
107 $interwiki    = 'InterWikiName'; // Set InterWiki definition here
108 $menubar      = 'MenuBar';       // Menu
109
110 /////////////////////////////////////////////////
111 // Change default Document Type Definition
112
113 // Some web browser's bug, and / or Java apprets may needs not-Strict DTD.
114 // Some plugin (e.g. paint) set this PKWK_DTD_XHTML_1_0_TRANSITIONAL.
115
116 //$pkwk_dtd = PKWK_DTD_XHTML_1_1; // Default
117 //$pkwk_dtd = PKWK_DTD_XHTML_1_0_STRICT;
118 //$pkwk_dtd = PKWK_DTD_XHTML_1_0_TRANSITIONAL;
119 //$pkwk_dtd = PKWK_DTD_HTML_4_01_STRICT;
120 //$pkwk_dtd = PKWK_DTD_HTML_4_01_TRANSITIONAL;
121
122 /////////////////////////////////////////////////
123
124 // PKWK_ALLOW_JAVASCRIPT - Allow / Prohibit using JavaScript
125 define('PKWK_ALLOW_JAVASCRIPT', 0);
126
127 /////////////////////////////////////////////////
128 // TrackBack feature
129
130 // Enable Trackback
131 $trackback = 0;
132
133 // Show trackbacks with an another window (using JavaScript)
134 $trackback_javascript = 0;
135
136 /////////////////////////////////////////////////
137 // Referer list feature
138 $referer = 0;
139
140 /////////////////////////////////////////////////
141 // _Disable_ WikiName auto-linking
142 $nowikiname = 0;
143
144 /////////////////////////////////////////////////
145 // AutoLink feature
146
147 // AutoLink minimum length of page name
148 $autolink = 8; // Bytes, 0 = OFF
149
150 /////////////////////////////////////////////////
151 // Enable Freeze / Unfreeze feature
152 $function_freeze = 1;
153
154 /////////////////////////////////////////////////
155 // Enable 'Do not change timestamp' at edit
156 // (1:Enable, 2:Enable only administrator, 0:Disable)
157 $notimeupdate = 1;
158
159 /////////////////////////////////////////////////
160 // Admin password for this Wikisite
161
162 // CHANGE THIS
163 //$adminpass = 'pass';  // Cleartext
164 //$adminpass = '{x-php-crypt}$1$nxrVut5a$c9LdXN1rKQC1HQOwBY4O//';      // crypt('pass')
165 $adminpass = '{x-php-md5}1a1dc91c907325c69271ddf0c944bc72';            // md5('pass')
166 //$adminpass = '{x-php-sha1}9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684'; // sha1('pass')
167 //$adminpass = '{CRYPT}$1$AR.Gk94x$uCe8fUUGMfxAPH83psCZG/'; // CRYPT 'pass'
168 //$adminpass = '{MD5}Gh3JHJBzJcaScd3wyUS8cg==';          // MD5 'pass'
169 //$adminpass = '{SMD5}o7lTdtHFJDqxFOVX09C8QnlmYmZnd2Qx'; // SMD5 'pass'
170 //$adminpass = '{SHA}nU4eI71bcnBGqeO0t9tXvY1u5oQ=';      // SHA 'pass'
171 //$adminpass = '{SSHA}B78f8i/RpNC+CyFdKLH2odaK8hlPNjlOOUUyMA=='; // SSHA 'pass'
172
173 /////////////////////////////////////////////////
174 // Page-reading feature settings
175 // (Automatically creating pronounce datas, for Kanji-included page names,
176 //  to show sorted page-list correctly)
177
178 // Enable page-reading feature by calling ChaSen or KAKASHI command
179 // (1:Enable, 0:Disable)
180 $pagereading_enable = 0;
181
182 // Specify converter as ChaSen('chasen') or KAKASI('kakasi') or None('none')
183 $pagereading_kanji2kana_converter = 'none';
184
185 // Specify Kanji encoding to pass data between PukiWiki and the converter
186 $pagereading_kanji2kana_encoding = 'EUC'; // Default for Unix
187 //$pagereading_kanji2kana_encoding = 'SJIS'; // Default for Windows
188
189 // Absolute path of the converter (ChaSen)
190 $pagereading_chasen_path = '/usr/local/bin/chasen';
191 //$pagereading_chasen_path = 'c:\progra~1\chasen21\chasen.exe';
192
193 // Absolute path of the converter (KAKASI)
194 $pagereading_kakasi_path = '/usr/local/bin/kakasi';
195 //$pagereading_kakasi_path = 'c:\kakasi\bin\kakasi.exe';
196
197 // Page name contains pronounce data (written by the converter)
198 $pagereading_config_page = ':config/PageReading';
199
200 // Page name of default pronouncing dictionary, used when converter = 'none'
201 $pagereading_config_dict = ':config/PageReading/dict';
202
203 /////////////////////////////////////////////////
204 // User definition
205 $auth_users = array(
206         'foo'   => 'foo_passwd', // Cleartext
207         'bar'   => '{x-php-md5}f53ae779077e987718cc285b14dfbe86', // md5('bar_passwd')
208         'hoge'  => '{SMD5}OzJo/boHwM4q5R+g7LCOx2xGMkFKRVEx', // SMD5 'hoge_passwd'
209 );
210
211 /////////////////////////////////////////////////
212 // Authentication method
213
214 $auth_method_type = 'contents'; // By Page contents
215 //$auth_method_type = 'pagename';       // By Page name
216
217 /////////////////////////////////////////////////
218 // Read auth (0:Disable, 1:Enable)
219 $read_auth = 0;
220
221 // Read auth regex
222 $read_auth_pages = array(
223         '#¤Ò¤­¤³¤â¤ë¤Û¤²#'      => 'hoge',
224         '#(¥Í¥¿¥Ð¥ì|¤Í¤¿¤Ð¤ì)#' => 'foo,bar,hoge',
225 );
226
227 /////////////////////////////////////////////////
228 // Edit auth (0:Disable, 1:Enable)
229 $edit_auth = 0;
230
231 // Edit auth regex
232 $edit_auth_pages = array(
233         '#Bar¤Î¸ø³«Æüµ­#'       => 'bar',
234         '#¤Ò¤­¤³¤â¤ë¤Û¤²#'      => 'hoge',
235         '#(¥Í¥¿¥Ð¥ì|¤Í¤¿¤Ð¤ì)#' => 'foo,bar,hoge',
236 );
237
238 /////////////////////////////////////////////////
239 // Search auth
240 // 0: Disabled (Search read-prohibited page contents)
241 // 1: Enabled  (Search only permitted pages for the user)
242 $search_auth = 0;
243
244 /////////////////////////////////////////////////
245 // $whatsnew: Max number of RecentChanges
246 $maxshow = 60;
247
248 // $whatsdeleted: Max number of RecentDeleted
249 // (0 = Disabled)
250 $maxshow_deleted = 60;
251
252 /////////////////////////////////////////////////
253 // Page names can't be edit via PukiWiki
254 $cantedit = array( $whatsnew, $whatsdeleted );
255
256 /////////////////////////////////////////////////
257 // HTTP: Output Last-Modified header
258 $lastmod = 0;
259
260 /////////////////////////////////////////////////
261 // Date format
262 $date_format = 'Y-m-d';
263
264 // Time format
265 $time_format = 'H:i:s';
266
267 /////////////////////////////////////////////////
268 // Max number of RSS feed
269 $rss_max = 15;
270
271 /////////////////////////////////////////////////
272 // Backup related settings
273
274 // Enable backup
275 $do_backup = 1;
276
277 // When a page had been removed, remove its backup too?
278 $del_backup = 0;
279
280 // Bacukp interval and generation
281 $cycle  =   3; // Wait N hours between backup (0 = no wait)
282 $maxage = 120; // Stock latest N backups
283
284 // NOTE: $cycle x $maxage / 24 = Minimum days to lost your data
285 //          3   x   120   / 24 = 15
286
287 // Splitter of backup data (NOTE: Too dangerous to change)
288 define('PKWK_SPLITTER', '>>>>>>>>>>');
289
290 /////////////////////////////////////////////////
291 // Command executed per update
292 $update_exec = '';
293 //$update_exec = '/usr/bin/mknmz --media-type=text/pukiwiki -O /var/lib/namazu/index/ -L ja -c -K /var/www/wiki/';
294
295 /////////////////////////////////////////////////
296 // HTTP proxy setting (for TrackBack etc)
297
298 // Use HTTP proxy server to get remote data
299 $use_proxy = 0;
300
301 $proxy_host = 'proxy.example.com';
302 $proxy_port = 8080;
303
304 // Do Basic authentication
305 $need_proxy_auth = 0;
306 $proxy_auth_user = 'username';
307 $proxy_auth_pass = 'password';
308
309 // Hosts that proxy server will not be needed
310 $no_proxy = array(
311         'localhost',    // localhost
312         '127.0.0.0/8',  // loopback
313 //      '10.0.0.0/8'    // private class A
314 //      '172.16.0.0/12' // private class B
315 //      '192.168.0.0/16'        // private class C
316 //      'no-proxy.com',
317 );
318
319 ////////////////////////////////////////////////
320 // Mail related settings
321
322 // Send mail per update of pages
323 $notify = 0;
324
325 // Send diff only
326 $notify_diff_only = 1;
327
328 // SMTP server (Windows only. Usually specified at php.ini)
329 $smtp_server = 'localhost';
330
331 // Mail recipient (To:) and sender (From:)
332 $notify_to   = 'to@example.com';        // To:
333 $notify_from = 'from@example.com';      // From:
334
335 // Subject: ($page = Page name wll be replaced)
336 $notify_subject = '[PukiWiki] $page';
337
338 // Mail header
339 $notify_header = "From: $notify_from\r\n" .
340         'X-Mailer: PukiWiki/' .  S_VERSION . ' PHP/' . phpversion();
341
342 /////////////////////////////////////////////////
343 // Mail: POP / APOP Before SMTP
344
345 // Do POP/APOP authentication before send mail
346 $smtp_auth = 0;
347
348 $pop_server = 'localhost';
349 $pop_port   = 110;
350 $pop_userid = '';
351 $pop_passwd = '';
352
353 // Use APOP instead of POP (If server uses)
354 //   Default = Auto (Use APOP if possible)
355 //   1       = Always use APOP
356 //   0       = Always use POP
357 // $pop_auth_use_apop = 1;
358
359 /////////////////////////////////////////////////
360 // Ignore list
361
362 // Regex of ignore pages
363 $non_list = '^\:';
364
365 // Search ignored pages
366 $search_non_list = 1;
367
368 /////////////////////////////////////////////////
369 // Template setting
370
371 $auto_template_func = 1;
372 $auto_template_rules = array(
373         '((.+)\/([^\/]+))' => '\2/template'
374 );
375
376 /////////////////////////////////////////////////
377 // Automatically add fixed heading anchor
378 $fixed_heading_anchor = 1;
379
380 /////////////////////////////////////////////////
381 // Remove the first spaces from Preformatted text
382 $preformat_ltrim = 1;
383
384 /////////////////////////////////////////////////
385 // Convert linebreaks into <br />
386 $line_break = 0;
387
388 /////////////////////////////////////////////////
389 // Use date-time rules (See rules.ini.php)
390 $usedatetime = 1;
391
392 /////////////////////////////////////////////////
393 // User-Agent settings
394 //
395 // If you want to ignore embedded browsers for rich-content-wikisite,
396 // remove (or comment-out) all 'keitai' settings.
397 //
398 // If you want to to ignore desktop-PC browsers for simple wikisite,
399 // copy keitai.ini.php to default.ini.php and customize it.
400
401 $agents = array(
402 // pattern: A regular-expression that matches device(browser)'s name and version
403 // profile: A group of browsers
404
405     // Embedded browsers (Rich-clients for PukiWiki)
406
407         // Windows CE (Microsoft(R) Internet Explorer 5.5 for Windows(R) CE)
408         // Sample: "Mozilla/4.0 (compatible; MSIE 5.5; Windows CE; sigmarion3)" (sigmarion, Hand-held PC)
409         array('pattern'=>'#\b(?:MSIE [5-9]).*\b(Windows CE)\b#', 'profile'=>'default'),
410
411         // ACCESS "NetFront" / "Compact NetFront" and thier OEM, expects to be "Mozilla/4.0"
412         // Sample: "Mozilla/4.0 (PS2; PlayStation BB Navigator 1.0) NetFront/3.0" (PlayStation BB Navigator, for SONY PlayStation 2)
413         // Sample: "Mozilla/4.0 (PDA; PalmOS/sony/model crdb/Revision:1.1.19) NetFront/3.0" (SONY Clie series)
414         // Sample: "Mozilla/4.0 (PDA; SL-A300/1.0,Embedix/Qtopia/1.1.0) NetFront/3.0" (SHARP Zaurus)
415         array('pattern'=>'#^(?:Mozilla/4).*\b(NetFront)/([0-9\.]+)#',   'profile'=>'default'),
416
417     // Embedded browsers (Non-rich)
418
419         // Windows CE (the others)
420         // Sample: "Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; 240x320 )" (GFORT, NTT DoCoMo)
421         array('pattern'=>'#\b(Windows CE)\b#', 'profile'=>'keitai'),
422
423         // ACCESS "NetFront" / "Compact NetFront" and thier OEM
424         // Sample: "Mozilla/3.0 (AveFront/2.6)" ("SUNTAC OnlineStation", USB-Modem for PlayStation 2)
425         // Sample: "Mozilla/3.0(DDIPOCKET;JRC/AH-J3001V,AH-J3002V/1.0/0100/c50)CNF/2.0" (DDI Pocket: AirH" Phone by JRC)
426         array('pattern'=>'#\b(NetFront)/([0-9\.]+)#',   'profile'=>'keitai'),
427         array('pattern'=>'#\b(CNF)/([0-9\.]+)#',        'profile'=>'keitai'),
428         array('pattern'=>'#\b(AveFront)/([0-9\.]+)#',   'profile'=>'keitai'),
429         array('pattern'=>'#\b(AVE-Front)/([0-9\.]+)#',  'profile'=>'keitai'), // The same?
430
431         // NTT-DoCoMo, i-mode (embeded Compact NetFront) and FOMA (embedded NetFront) phones
432         // Sample: "DoCoMo/1.0/F501i", "DoCoMo/1.0/N504i/c10/TB/serXXXX" // c°Ê¹ß¤Ï²ÄÊÑ
433         // Sample: "DoCoMo/2.0 MST_v_SH2101V(c100;TB;W22H12;serXXXX;iccxxxx)" // ()¤ÎÃæ¤Ï²ÄÊÑ
434         array('pattern'=>'#^(DoCoMo)/([0-9\.]+)#',      'profile'=>'keitai'),
435
436         // Vodafone's embedded browser
437         // Sample: "J-PHONE/2.0/J-T03"  // 2.0¤Ï"¥Ö¥é¥¦¥¶¤Î"¥Ð¡¼¥¸¥ç¥ó
438         // Sample: "J-PHONE/4.0/J-SH51/SNxxxx SH/0001a Profile/MIDP-1.0 Configuration/CLDC-1.0 Ext-Profile/JSCL-1.1.0"
439         array('pattern'=>'#^(J-PHONE)/([0-9\.]+)#',     'profile'=>'keitai'),
440
441         // Openwave(R) Mobile Browser (EZweb, WAP phone, etc)
442         // Sample: "OPWV-SDK/62K UP.Browser/6.2.0.5.136 (GUI) MMP/2.0"
443         array('pattern'=>'#\b(UP\.Browser)/([0-9\.]+)#',        'profile'=>'keitai'),
444
445         // Opera, dressing up as other embedded browsers
446         // Sample: "Mozilla/3.0(DDIPOCKET;KYOCERA/AH-K3001V/1.4.1.67.000000/0.1/C100) Opera 7.0" (Like CNF at 'keitai'-mode)
447         array('pattern'=>'#\bDDIPOCKET\b.+\b(Opera) ([0-9\.]+)\b#',     'profile'=>'keitai'),
448
449         // Planetweb http://www.planetweb.com/
450         // Sample: "Mozilla/3.0 (Planetweb/v1.07 Build 141; SPS JP)" ("EGBROWSER", Web browser for PlayStation 2)
451         array('pattern'=>'#\b(Planetweb)/v([0-9\.]+)#', 'profile'=>'keitai'),
452
453         // DreamPassport, Web browser for SEGA DreamCast
454         // Sample: "Mozilla/3.0 (DreamPassport/3.0)"
455         array('pattern'=>'#\b(DreamPassport)/([0-9\.]+)#',      'profile'=>'keitai'),
456
457         // Palm "Web Pro" http://www.palmone.com/us/support/accessories/webpro/
458         // Sample: "Mozilla/4.76 [en] (PalmOS; U; WebPro)"
459         array('pattern'=>'#\b(WebPro)\b#',      'profile'=>'keitai'),
460
461         // ilinx "Palmscape" / "Xiino" http://www.ilinx.co.jp/
462         // Sample: "Xiino/2.1SJ [ja] (v. 4.1; 153x130; c16/d)"
463         array('pattern'=>'#^(Palmscape)/([0-9\.]+)#',   'profile'=>'keitai'),
464         array('pattern'=>'#^(Xiino)/([0-9\.]+)#',       'profile'=>'keitai'),
465
466         // SHARP PDA Browser (SHARP Zaurus)
467         // Sample: "sharp pda browser/6.1[ja](MI-E1/1.0) "
468         array('pattern'=>'#^(sharp [a-z]+ browser)/([0-9\.]+)#',        'profile'=>'keitai'),
469
470         // WebTV
471         array('pattern'=>'#^(WebTV)/([0-9\.]+)#',       'profile'=>'keitai'),
472
473     // Desktop-PC browsers
474
475         // Opera (for desktop PC, not embedded) -- See BugTrack/743 for detail
476         // NOTE: Keep this pattern above MSIE and Mozilla
477         // Sample: "Opera/7.0 (OS; U)" (not disguise)
478         // Sample: "Mozilla/4.0 (compatible; MSIE 5.0; OS) Opera 6.0" (disguise)
479         array('pattern'=>'#\b(Opera)[/ ]([0-9\.]+)\b#', 'profile'=>'default'),
480
481         // MSIE: Microsoft Internet Explorer (or something disguised as MSIE)
482         // Sample: "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
483         array('pattern'=>'#\b(MSIE) ([0-9\.]+)\b#',     'profile'=>'default'),
484
485         // Mozilla Firefox
486         // NOTE: Keep this pattern above Mozilla
487         // Sample: "Mozilla/5.0 (Windows; U; Windows NT 5.0; ja-JP; rv:1.7) Gecko/20040803 Firefox/0.9.3"
488         array('pattern'=>'#\b(Firefox)/([0-9\.]+)\b#',  'profile'=>'default'),
489
490         // Loose default: Including something Mozilla
491         array('pattern'=>'#^([a-zA-z0-9 ]+)/([0-9\.]+)\b#',     'profile'=>'default'),
492
493         array('pattern'=>'#^#', 'profile'=>'default'),  // Sentinel
494 );
495 ?>