OSDN Git Service

BugTrack/2260 Use get_script_uri() instead of $script
[pukiwiki/pukiwiki.git] / keitai.ini.php
1 <?php
2 // PukiWiki - Yet another WikiWikiWeb clone.
3 // keitai.ini.php
4 // Copyright
5 //   2002-2017 PukiWiki Development Team
6 //   2001-2002 Originally written by yu-ji
7 // License: GPL v2 or (at your option) any later version
8 //
9 // PukiWiki setting file (Cell phones, PDAs and other thin clients)
10
11 /////////////////////////////////////////////////
12 // 携帯・PDA専用のページを初期ページとして指定する
13
14 // $defaultpage = 'm';
15
16 /////////////////////////////////////////////////
17 // スキンファイルの場所
18 define('SKIN_FILE', DATA_HOME . SKIN_DIR . 'keitai.skin.php');
19
20 /////////////////////////////////////////////////
21 // 雛形とするページの読み込みを可能にする
22 $load_template_func = 0;
23
24 /////////////////////////////////////////////////
25 // 検索文字列を色分けする
26 $search_word_color = 0;
27
28 /////////////////////////////////////////////////
29 // 一覧ページに頭文字インデックスをつける
30 $list_index = 0;
31
32 /////////////////////////////////////////////////
33 // Obsolete: リスト構造の左マージン (Leaves for compatibility of plugins)
34 // Use list-indent1 CSS class instead
35 $_ul_left_margin =  0;  // Must be 0 (Plugin backward compatibility)
36 $_ul_margin      = 1;   // Must be 1 (Plugin backward compatibility)
37 $_ol_left_margin =  0;  // Must be 0
38 $_ol_margin      = 1;   // Must be 1
39 $_dl_left_margin =  0;  // Must be 0
40 $_dl_margin      = 1;   // Must be 1
41 // Use pkwk_list_attrs_template() instead
42 $_list_pad_str   = '';
43
44 /////////////////////////////////////////////////
45 // 大・小見出しから目次へ戻るリンクの文字
46 $top = '';
47
48 /////////////////////////////////////////////////
49 // 添付ファイルの一覧を常に表示する (負担がかかります)
50 // ※keitaiスキンにはこの一覧を表示する機能がありません
51 $attach_link = 0;
52
53 /////////////////////////////////////////////////
54 // 関連するページのリンク一覧を常に表示する(負担がかかります)
55 // ※keitaiスキンにはこの一覧を表示する機能がありません
56 $related_link = 0;
57
58 // リンク一覧の区切り文字
59 // ※上同
60 $related_str = "\n ";
61
62 // (#relatedプラグインが表示する) リンク一覧の区切り文字
63 $rule_related_str = "</li>\n<li>";
64
65 /////////////////////////////////////////////////
66 // 水平線のタグ
67 $hr = '<hr>';
68
69 /////////////////////////////////////////////////
70 // 脚注機能関連
71
72 // 脚注のアンカーに埋め込む本文の最大長
73 define('PKWK_FOOTNOTE_TITLE_MAX', 0); // Characters
74
75 // 脚注のアンカーを相対パスで表示する (0 = 絶対パス)
76 //  * 相対パスの場合、以前のバージョンのOperaで問題になることがあります
77 //  * 絶対パスの場合、calendar_viewerなどで問題になることがあります
78 // (詳しくは: BugTrack/698)
79 define('PKWK_ALLOW_RELATIVE_FOOTNOTE_ANCHOR', 1);
80
81 // 文末の注釈の直前に表示するタグ
82 $note_hr = '<hr>';
83
84 /////////////////////////////////////////////////
85 // WikiName,BracketNameに経過時間を付加する
86 $show_passage = 0;
87
88 /////////////////////////////////////////////////
89 // リンク表示をコンパクトにする
90 // * ページに対するハイパーリンクからタイトルを外す
91 // * Dangling linkのCSSを外す
92 $link_compact = 1;
93
94 /////////////////////////////////////////////////
95 // フェイスマークを絵文字に変換する (※i-mode, Vodafone, EzWebなど携帯電話限定)
96 $usefacemark = 1;
97
98 /////////////////////////////////////////////////
99 // accesskey (SKINで使用)
100 $accesskey = 'accesskey';
101
102 /////////////////////////////////////////////////
103 // $scriptを短縮
104 if (preg_match('#([^/]+)$#', $script, $matches)) {
105         $script = $matches[1];
106 }
107
108 /////////////////////////////////////////////////
109 // ブラウザ調整前のデフォルト値
110
111 // max_size (SKINで使用)
112 $max_size = 5;  // SKINで使用, KByte
113
114 // cols: テキストエリアのカラム数 rows: 行数
115 $cols = 22; $rows = 5;  // i_mode
116
117
118 /////////////////////////////////////////////////
119 // ブラウザに合わせた調整
120
121 $ua_name  = $user_agent['name'];
122 $ua_vers  = $user_agent['vers'];
123 $ua_agent = $user_agent['agent'];
124 $matches  = array();
125
126 // Browser-name only
127 switch ($ua_name) {
128
129         // NetFront / Compact NetFront
130         //   DoCoMo Net For MOBILE: iモード対応HTMLの考え方: ユーザエージェント
131         //   http://www.nttdocomo.co.jp/mc-user/i/tag/imodetag.html
132         //   DDI POCKET: 機種ラインナップ: AirH"PHONE用ホームページの作成方法
133         //   http://www.ddipocket.co.jp/p_s/products/airh_phone/homepage.html
134         case 'NetFront':
135         case 'CNF':
136         case 'DoCoMo':
137         case 'Opera': // Performing CNF compatible
138                 if (preg_match('#\b[cC]([0-9]+)\b#', $ua_agent, $matches)) {
139                         $max_size = $matches[1];        // Cache max size
140                 }
141                 $cols = 22; $rows = 5;  // i_mode
142                 break;
143
144         // Vodafone (ex. J-PHONE)
145         // ボーダフォンライブ!向けウェブコンテンツ開発ガイド [概要編] (Version 1.2.0 P13)
146         // http://www.dp.j-phone.com/dp/tool_dl/download.php?docid=110
147         // 技術資料: ユーザーエージェントについて
148         // http://www.dp.j-phone.com/dp/tool_dl/web/useragent.php
149         case 'J-PHONE':
150                 $matches = array("");
151                 preg_match('/^([0-9]+)\./', $user_agent['vers'], $matches);
152                 switch($matches[1]){
153                 case '3': $max_size =   6; break; // C type: lt   6000bytes
154                 case '4': $max_size =  12; break; // P type: lt  12Kbytes
155                 case '5': $max_size = 200; break; // W type: lt 200Kbytes
156                 }
157                 $cols = 24; $rows = 20;
158                 break;
159
160         // UP.Browser
161         case 'UP.Browser':
162                 // UP.Browser for KDDI cell phones
163                 // http://www.au.kddi.com/ezfactory/tec/spec/xhtml.html ('About 9KB max')
164                 // http://www.au.kddi.com/ezfactory/tec/spec/4_4.html (User-agent strings)
165                 if (preg_match('#^KDDI#', $ua_agent)) $max_size =  9;
166                 break;
167 }
168
169 // Browser-name + version
170 switch ("$ua_name/$ua_vers") {
171         // Restriction For imode:
172         //  http://www.nttdocomo.co.jp/mc-user/i/tag/s2.html
173         case 'DoCoMo/2.0':      $max_size = min($max_size, 30); break;
174 }
175
176
177 /////////////////////////////////////////////////
178 // ユーザ定義ルール
179 //
180 //  正規表現で記述してください。?(){}-*./+\$^|など
181 //  は \? のようにクォートしてください。
182 //  前後に必ず / を含めてください。行頭指定は ^ を頭に。
183 //  行末指定は $ を後ろに。
184
185 // ユーザ定義ルール(コンバート時に置換)
186 $line_rules = array(
187         'COLOR\(([^\(\)]*)\){([^}]*)}'  => '<font color="$1">$2</font>',
188         'SIZE\(([^\(\)]*)\){([^}]*)}'   => '$2',        // Disabled
189         'COLOR\(([^\(\)]*)\):((?:(?!COLOR\([^\)]+\)\:).)*)'     => '<font color="$1">$2</font>',
190         'SIZE\(([^\(\)]*)\):((?:(?!SIZE\([^\)]+\)\:).)*)'       => '$2', // Disabled
191         '%%%(?!%)((?:(?!%%%).)*)%%%'    => '<ins>$1</ins>',
192         '%%(?!%)((?:(?!%%).)*)%%'       => '<del>$1</del>',
193         "'''(?!')((?:(?!''').)*)'''"    => '<em>$1</em>',
194         "''(?!')((?:(?!'').)*)''"       => '<strong>$1</strong>',
195 );
196
197
198 /////////////////////////////////////////////////
199 // 携帯電話にあわせたフェイスマーク
200
201 // $usefacemark = 1ならフェイスマークが置換されます
202 // 文章内に' XD'などがあった場合にfacemarkに置換されてしまうため、
203 // 必要のない方は $usefacemarkを0にしてください。
204
205 // Browser-name only
206 $facemark_rules = array();
207 switch ($ua_name) {
208
209     // Graphic icons for imode HTML 4.0, with Shift-JIS text output
210     // http://www.nttdocomo.co.jp/mc-user/i/tag/emoji/e1.html
211     // http://www.nttdocomo.co.jp/mc-user/i/tag/emoji/list.html
212     case 'DoCoMo':
213
214         $facemark_rules = array(
215         // Face marks
216         '\s(\:\))'      =>      '&#63893;',     // smile
217         '\s(\:D)'       =>      '&#63893;',     // bigsmile
218         '\s(\:p)'       =>      '&#xE728;',     // huh
219         '\s(\:d)'       =>      '&#xE728;',     // huh
220         '\s(XD)'        =>      '&#63895;',     // oh
221         '\s(X\()'       =>      '&#63895;',     // oh
222         '\s(;\))'       =>      '&#xE729;',     // wink
223         '\s(;\()'       =>      '&#63894;',     // sad
224         '\s(\:\()'      =>      '&#63894;',     // sad
225         '&amp;(smile);' =>      '&#63893;',
226         '&amp;(bigsmile);'=>    '&#63893;',
227         '&amp;(huh);'   =>      '&#xE728;',
228         '&amp;(oh);'    =>      '&#63895;',
229         '&amp;(wink);'  =>      '&#xE729;',
230         '&amp;(sad);'   =>      '&#63894;',
231         '&amp;(heart);' =>      '&#63889;',
232         '&amp;(worried);'=>     '&#xE722;',
233
234         // Face marks, Japanese style
235         '\s(\(\^\^\))'  =>      '&#63893;',     // smile
236         '\s(\(\^-\^)'   =>      '&#63893;',     // smile
237         '\s(\(\.\.;)'   =>      '&#63895;',     // oh
238         '\s(\(\^_-\))'  =>      '&#xE729;',     // wink
239         '\s(\(--;)'     =>      '&#63894;',     // sad
240         '\s(\(\^\^;\))' =>      '&#xE722;',     // worried
241         '\s(\(\^\^;)'   =>      '&#xE722;',     // worried
242
243         // Push buttons, 0-9 and sharp
244         '&amp;(pb1);'   =>      '&#63879;',
245         '&amp;(pb2);'   =>      '&#63880;',
246         '&amp;(pb3);'   =>      '&#63881;',
247         '&amp;(pb4);'   =>      '&#63882;',
248         '&amp;(pb5);'   =>      '&#63883;',
249         '&amp;(pb6);'   =>      '&#63884;',
250         '&amp;(pb7);'   =>      '&#63885;',
251         '&amp;(pb8);'   =>      '&#63886;',
252         '&amp;(pb9);'   =>      '&#63887;',
253         '&amp;(pb0);'   =>      '&#63888;',
254         '&amp;(pb#);'   =>      '&#63877;',
255
256         // Others
257         '&amp;(zzz);'   =>      '&#63910;',
258         '&amp;(man);'   =>      '&#63829;',
259         '&amp;(clock);' =>      '&#63838;',
260         '&amp;(mail);'  =>      '&#63863;',
261         '&amp;(mailto);'=>      '&#63859;',
262         '&amp;(phone);' =>      '&#63720;',
263         '&amp;(phoneto);'=>     '&#63858;',
264         '&amp;(faxto);' =>      '&#63860;',
265         );
266         break;
267
268     // Graphic icons for Vodafone (ex. J-PHONE) cell phones
269     // http://www.dp.j-phone.com/dp/tool_dl/web/picword_top.php
270     case 'J-PHONE':
271
272         $facemark_rules = array(
273         // Face marks
274         '\s(\:\))'      =>      chr(27).'$Gv'.chr(15),  // '&#57430;',  // smile
275         '\s(\:D)'       =>      chr(27).'$Gv'.chr(15),  // '&#57430;',  // bigsmile => smile
276         '\s(\:p)'       =>      chr(27).'$E%'.chr(15),  // '&#57605;',  // huh
277         '\s(\:d)'       =>      chr(27).'$E%'.chr(15),  // '&#57605;',  // huh
278         '\s(XD)'        =>      chr(27).'$Gx'.chr(15),  // '&#57432;',  // oh
279         '\s(X\()'       =>      chr(27).'$Gx'.chr(15),  // '&#57432;',  // oh
280         '\s(;\))'       =>      chr(27).'$E&'.chr(15),  // '&#57606;',  // winkじゃないけどね(^^; (※目がハート)
281         '\s(;\()'       =>      chr(27).'$E&'.chr(15),  // '&#57606;',  // sad
282         '\s(\:\()'      =>      chr(27).'$Gy'.chr(15),  // '&#57433;',  // sad
283         '&amp;(smile);' =>      chr(27).'$Gv'.chr(15),  // '&#57430;',
284         '&amp;(bigsmile);'=>    chr(27).'$Gw'.chr(15),  // '&#57431;',
285         '&amp;(huh);'   =>      chr(27).'$E%'.chr(15),  // '&#57605;',
286         '&amp;(oh);'    =>      chr(27).'$Gx'.chr(15),  // '&#57432;',
287         '&amp;(wink);'  =>      chr(27).'$E&'.chr(15),  // '&#57606;',  // winkじゃないけどね(^^; (※目がハート)
288         '&amp;(sad);'   =>      chr(27).'$Gy'.chr(15),  // '&#57433;',
289         '&amp;(heart);' =>      chr(27).'$GB'.chr(15),  // '&#57378;',
290         '&amp;(worried);'=>     chr(27).'$E('.chr(15),  // '&#57608;',
291
292         // Face marks, Japanese style
293         '\s(\(\^\^\))'  =>      chr(27).'$Gv'.chr(15),  // smile
294         '\s(\(\^-\^)'   =>      chr(27).'$Gv'.chr(15),  // smile
295         '\s(\(\.\.;)'   =>      chr(27).'$Gx'.chr(15),  // oh
296         '\s(\(\^_-\))'  =>      chr(27).'$E&'.chr(15),  // winkじゃないけどね(^^; (※目がハート)
297         '\s(\(--;)'     =>      chr(27).'$E&'.chr(15),  // sad
298         '\s(\(\^\^;\))' =>      chr(27).'$E('.chr(15),  // worried
299         '\s(\(\^\^;)'   =>      chr(27).'$E('.chr(15),  // worried
300
301         // Push buttons, 0-9 and sharp
302         '&amp;(pb1);'   =>      chr(27).'$F<'.chr(15),  // '&#57884;',
303         '&amp;(pb2);'   =>      chr(27).'$F='.chr(15),  // '&#57885;',
304         '&amp;(pb3);'   =>      chr(27).'$F>'.chr(15),  // '&#57886;',
305         '&amp;(pb4);'   =>      chr(27).'$F?'.chr(15),  // '&#57887;',
306         '&amp;(pb5);'   =>      chr(27).'$F@'.chr(15),  // '&#57888;',
307         '&amp;(pb6);'   =>      chr(27).'$FA'.chr(15),  // '&#57889;',
308         '&amp;(pb7);'   =>      chr(27).'$FB'.chr(15),  // '&#57890;',
309         '&amp;(pb8);'   =>      chr(27).'$FC'.chr(15),  // '&#57891;',
310         '&amp;(pb9);'   =>      chr(27).'$FD'.chr(15),  // '&#57892;',
311         '&amp;(pb0);'   =>      chr(27).'$FE'.chr(15),  // '&#57893;',
312
313         // Others
314         '&amp;(zzz);'   =>      chr(27).'$E\\'.chr(15),
315         '&amp;(man);'   =>      chr(27).'$G!'.chr(15),
316         '&amp;(clock);' =>      chr(27).'$GF'.chr(15),  // '&#xE026;',
317         '&amp;(mail);'  =>      chr(27).'$Fv'.chr(15),
318         '&amp;(mailto);'=>      chr(27).'$E#'.chr(15),
319         '&amp;(phone);' =>      chr(27).'$G)'.chr(15),
320         '&amp;(phoneto);'=>     chr(27).'$E$'.chr(15),
321         '&amp;(faxto);' =>      chr(27).'$G+'.chr(15),
322         );
323         break;
324
325     case 'UP.Browser':
326
327         // UP.Browser for KDDI cell phones' built-in icons
328         // http://www.au.kddi.com/ezfactory/tec/spec/3.html
329         if (preg_match('#^KDDI#', $ua_agent)) {
330         $facemark_rules = array(
331         // Face marks
332         '\s(\:\))'      =>      '<img localsrc="68">',  // smile
333         '\s(\:D)'       =>      '<img localsrc="257">', // bigsmile
334         '\s(\:p)'       =>      '<img localsrc="264">', // huh
335         '\s(\:d)'       =>      '<img localsrc="264">', // huh
336         '\s(XD)'        =>      '<img localsrc="260">', // oh
337         '\s(X\()'       =>      '<img localsrc="260">', // oh
338         '\s(;\))'       =>      '<img localsrc="348">', // wink
339         '\s(;\()'       =>      '<img localsrc="259">', // sad
340         '\s(\:\()'      =>      '<img localsrc="259">', // sad
341         '&amp;(smile);' =>      '<img localsrc="68">',
342         '&amp;(bigsmile);'=>    '<img localsrc="257">',
343         '&amp;(huh);'   =>      '<img localsrc="264">',
344         '&amp;(oh);'    =>      '<img localsrc="260">',
345         '&amp;(wink);'  =>      '<img localsrc="348">',
346         '&amp;(sad);'   =>      '<img localsrc="259">',
347         '&amp;(heart);' =>      '<img localsrc="415">',
348         '&amp;(worried);'=>     '<img localsrc="351">',
349
350         // Face marks, Japanese style
351         '\s(\(\^\^\))'  =>      '<img localsrc="68">',  // smile
352         '\s(\(\^-\^)'   =>      '<img localsrc="68">',  // smile
353         '\s(\(\.\.;)'   =>      '<img localsrc="260">', // oh
354         '\s(\(\^_-\))'  =>      '<img localsrc="348">', // wink
355         '\s(\(--;)'     =>      '<img localsrc="259">', // sad
356         '\s(\(\^\^;\))' =>      '<img localsrc="351">', // worried
357         '\s(\(\^\^;)'   =>      '<img localsrc="351">', // worried
358
359         // Push buttons, 0-9 and sharp
360         '&amp;(pb1);'   =>      '<img localsrc="180">',
361         '&amp;(pb2);'   =>      '<img localsrc="181">',
362         '&amp;(pb3);'   =>      '<img localsrc="182">',
363         '&amp;(pb4);'   =>      '<img localsrc="183">',
364         '&amp;(pb5);'   =>      '<img localsrc="184">',
365         '&amp;(pb6);'   =>      '<img localsrc="185">',
366         '&amp;(pb7);'   =>      '<img localsrc="186">',
367         '&amp;(pb8);'   =>      '<img localsrc="187">',
368         '&amp;(pb9);'   =>      '<img localsrc="188">',
369         '&amp;(pb0);'   =>      '<img localsrc="325">',
370         '&amp;(pb#);'   =>      '<img localsrc="818">',
371
372         // Others
373         '&amp;(zzz);'   =>      '<img localsrc="261">',
374         '&amp;(man);'   =>      '<img localsrc="80">',  // Face of male
375         '&amp;(clock);' =>      '<img localsrc="46">',
376         '&amp;(mail);'  =>      '<img localsrc="108">',
377         '&amp;(mailto);'=>      '<img localsrc="784">',
378         '&amp;(phone);' =>      '<img localsrc="85">',
379         '&amp;(phoneto);'=>     '<img localsrc="155">', // An ear receiver
380         '&amp;(faxto);' =>      '<img localsrc="166">', // A FAX
381         );
382         }
383         break;
384
385 }
386
387 unset($matches, $ua_name, $ua_vers, $ua_agent, $special_rules);