2 // PukiWiki - Yet another WikiWikiWeb clone.
3 // $Id: keitai.ini.php,v 1.25 2005/12/10 07:57:30 henoheno Exp $
5 // 2002-2005 PukiWiki Developers Team
6 // 2001-2002 Originally written by yu-ji
7 // License: GPL v2 or (at your option) any later version
9 // PukiWiki setting file (Cell phones, PDAs and other thin clients)
11 /////////////////////////////////////////////////
12 // ·ÈÂÓ¡¦PDAÀìÍѤΥڡ¼¥¸¤ò½é´ü¥Ú¡¼¥¸¤È¤·¤Æ»ØÄꤹ¤ë
14 // $defaultpage = 'm';
16 /////////////////////////////////////////////////
17 // ¥¹¥¥ó¥Õ¥¡¥¤¥ë¤Î¾ì½ê
18 define('SKIN_FILE', DATA_HOME . SKIN_DIR . 'keitai.skin.php');
20 /////////////////////////////////////////////////
21 // ¿÷·Á¤È¤¹¤ë¥Ú¡¼¥¸¤ÎÆɤ߹þ¤ß¤ò²Äǽ¤Ë¤¹¤ë
22 $load_template_func = 0;
24 /////////////////////////////////////////////////
25 // ¸¡º÷ʸ»úÎó¤ò¿§Ê¬¤±¤¹¤ë
26 $search_word_color = 0;
28 /////////////////////////////////////////////////
29 // °ìÍ÷¥Ú¡¼¥¸¤ËƬʸ»ú¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤Ä¤±¤ë
32 /////////////////////////////////////////////////
33 // ¥ê¥¹¥È¹½Â¤¤Îº¸¥Þ¡¼¥¸¥ó
34 $_ul_left_margin = 0; // ¥ê¥¹¥È¤È²èÌ̺¸Ã¼¤È¤Î´Ö³Ö(px)
35 $_ul_margin = 16; // ¥ê¥¹¥È¤Î³¬Áش֤δֳÖ(px)
36 $_ol_left_margin = 0; // ¥ê¥¹¥È¤È²èÌ̺¸Ã¼¤È¤Î´Ö³Ö(px)
37 $_ol_margin = 16; // ¥ê¥¹¥È¤Î³¬Áش֤δֳÖ(px)
38 $_dl_left_margin = 0; // ¥ê¥¹¥È¤È²èÌ̺¸Ã¼¤È¤Î´Ö³Ö(px)
39 $_dl_margin = 16; // ¥ê¥¹¥È¤Î³¬Áش֤δֳÖ(px)
42 /////////////////////////////////////////////////
43 // Â硦¾®¸«½Ð¤·¤«¤éÌܼ¡¤ØÌá¤ë¥ê¥ó¥¯¤Îʸ»ú
46 /////////////////////////////////////////////////
47 // źÉÕ¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤ò¾ï¤Ëɽ¼¨¤¹¤ë (Ééô¤¬¤«¤«¤ê¤Þ¤¹)
48 // ¢¨keitai¥¹¥¥ó¤Ë¤Ï¤³¤Î°ìÍ÷¤òɽ¼¨¤¹¤ëµ¡Ç½¤¬¤¢¤ê¤Þ¤»¤ó
51 /////////////////////////////////////////////////
52 // ´ØÏ¢¤¹¤ë¥Ú¡¼¥¸¤Î¥ê¥ó¥¯°ìÍ÷¤ò¾ï¤Ëɽ¼¨¤¹¤ë(Ééô¤¬¤«¤«¤ê¤Þ¤¹)
53 // ¢¨keitai¥¹¥¥ó¤Ë¤Ï¤³¤Î°ìÍ÷¤òɽ¼¨¤¹¤ëµ¡Ç½¤¬¤¢¤ê¤Þ¤»¤ó
56 // ¥ê¥ó¥¯°ìÍ÷¤Î¶èÀÚ¤êʸ»ú
60 // (#related¥×¥é¥°¥¤¥ó¤¬É½¼¨¤¹¤ë) ¥ê¥ó¥¯°ìÍ÷¤Î¶èÀÚ¤êʸ»ú
61 $rule_related_str = "</li>\n<li>";
63 /////////////////////////////////////////////////
67 /////////////////////////////////////////////////
70 // µÓÃí¤Î¥¢¥ó¥«¡¼¤ËËä¤á¹þ¤àËÜʸ¤ÎºÇÂçĹ
71 define('PKWK_FOOTNOTE_TITLE_MAX', 0); // Characters
73 // µÓÃí¤Î¥¢¥ó¥«¡¼¤òÁêÂХѥ¹¤Çɽ¼¨¤¹¤ë (0 = ÀäÂХѥ¹)
74 // * ÁêÂХѥ¹¤Î¾ì¹ç¡¢°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎOpera¤ÇÌäÂê¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹
75 // * ÀäÂХѥ¹¤Î¾ì¹ç¡¢calendar_viewer¤Ê¤É¤ÇÌäÂê¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹
76 // (¾Ü¤·¤¯¤Ï: BugTrack/698)
77 define('PKWK_ALLOW_RELATIVE_FOOTNOTE_ANCHOR', 1);
79 // ʸËö¤ÎÃí¼á¤ÎľÁ°¤Ëɽ¼¨¤¹¤ë¥¿¥°
82 /////////////////////////////////////////////////
83 // WikiName,BracketName¤Ë·Ð²á»þ´Ö¤òÉղ乤ë
86 /////////////////////////////////////////////////
87 // ¥ê¥ó¥¯É½¼¨¤ò¥³¥ó¥Ñ¥¯¥È¤Ë¤¹¤ë
88 // * ¥Ú¡¼¥¸¤ËÂФ¹¤ë¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤«¤é¥¿¥¤¥È¥ë¤ò³°¤¹
89 // * Dangling link¤ÎCSS¤ò³°¤¹
92 /////////////////////////////////////////////////
93 // ¥Õ¥§¥¤¥¹¥Þ¡¼¥¯¤ò³¨Ê¸»ú¤ËÊÑ´¹¤¹¤ë (¢¨i-mode, Vodafone, EzWeb¤Ê¤É·ÈÂÓÅÅÏøÂÄê)
96 /////////////////////////////////////////////////
97 // accesskey (SKIN¤Ç»ÈÍÑ)
98 $accesskey = 'accesskey';
100 /////////////////////////////////////////////////
102 if (preg_match('#([^/]+)$#', $script, $matches)) {
103 $script = $matches[1];
106 /////////////////////////////////////////////////
107 // ¥Ö¥é¥¦¥¶Ä´À°Á°¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ
109 // max_size (SKIN¤Ç»ÈÍÑ)
110 $max_size = 5; // SKIN¤Ç»ÈÍÑ, KByte
112 // cols: ¥Æ¥¥¹¥È¥¨¥ê¥¢¤Î¥«¥é¥à¿ô rows: ¹Ô¿ô
113 $cols = 22; $rows = 5; // i_mode
116 /////////////////////////////////////////////////
117 // ¥Ö¥é¥¦¥¶¤Ë¹ç¤ï¤»¤¿Ä´À°
119 $ua_name = $user_agent['name'];
120 $ua_vers = $user_agent['vers'];
121 $ua_agent = $user_agent['agent'];
127 // NetFront / Compact NetFront
128 // DoCoMo Net For MOBILE: £é¥â¡¼¥ÉÂбþHTML¤Î¹Í¤¨Êý: ¥æ¡¼¥¶¥¨¡¼¥¸¥§¥ó¥È
129 // http://www.nttdocomo.co.jp/mc-user/i/tag/imodetag.html
130 // DDI POCKET: µ¡¼ï¥é¥¤¥ó¥Ê¥Ã¥×: AirH"PHONEÍÑ¥Û¡¼¥à¥Ú¡¼¥¸¤ÎºîÀ®ÊýË¡
131 // http://www.ddipocket.co.jp/p_s/products/airh_phone/homepage.html
135 case 'Opera': // Performing CNF compatible
136 if (preg_match('#\b[cC]([0-9]+)\b#', $ua_agent, $matches)) {
137 $max_size = $matches[1]; // Cache max size
139 $cols = 22; $rows = 5; // i_mode
142 // Vodafone (ex. J-PHONE)
143 // ¥Ü¡¼¥À¥Õ¥©¥ó¥é¥¤¥Ö¡ª¸þ¤±¥¦¥§¥Ö¥³¥ó¥Æ¥ó¥Ä³«È¯¥¬¥¤¥É [³µÍ×ÊÔ] (Version 1.2.0 P13)
144 // http://www.dp.j-phone.com/dp/tool_dl/download.php?docid=110
145 // µ»½Ñ»ñÎÁ: ¥æ¡¼¥¶¡¼¥¨¡¼¥¸¥§¥ó¥È¤Ë¤Ä¤¤¤Æ
146 // http://www.dp.j-phone.com/dp/tool_dl/web/useragent.php
148 $matches = array("");
149 preg_match('/^([0-9]+)\./', $user_agent['vers'], $matches);
151 case '3': $max_size = 6; break; // C type: lt 6000bytes
152 case '4': $max_size = 12; break; // P type: lt 12Kbytes
153 case '5': $max_size = 200; break; // W type: lt 200Kbytes
155 $cols = 24; $rows = 20;
160 // UP.Browser for KDDI cell phones
161 // http://www.au.kddi.com/ezfactory/tec/spec/xhtml.html ('About 9KB max')
162 // http://www.au.kddi.com/ezfactory/tec/spec/4_4.html (User-agent strings)
163 if (preg_match('#^KDDI#', $ua_agent)) $max_size = 9;
167 // Browser-name + version
168 switch ("$ua_name/$ua_vers") {
169 // Restriction For imode:
170 // http://www.nttdocomo.co.jp/mc-user/i/tag/s2.html
171 case 'DoCoMo/2.0': $max_size = min($max_size, 30); break;
175 /////////////////////////////////////////////////
178 // Àµµ¬É½¸½¤Çµ½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£?(){}-*./+\$^|¤Ê¤É
179 // ¤Ï \? ¤Î¤è¤¦¤Ë¥¯¥©¡¼¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
180 // Á°¸å¤Ëɬ¤º / ¤ò´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£¹ÔƬ»ØÄê¤Ï ^ ¤òƬ¤Ë¡£
181 // ¹ÔËö»ØÄê¤Ï $ ¤ò¸å¤í¤Ë¡£
183 // ¥æ¡¼¥¶ÄêµÁ¥ë¡¼¥ë(¥³¥ó¥Ð¡¼¥È»þ¤ËÃÖ´¹)
185 'COLOR\(([^\(\)]*)\){([^}]*)}' => '<font color="$1">$2</font>',
186 'SIZE\(([^\(\)]*)\){([^}]*)}' => '$2', // Disabled
187 'COLOR\(([^\(\)]*)\):((?:(?!COLOR\([^\)]+\)\:).)*)' => '<font color="$1">$2</font>',
188 'SIZE\(([^\(\)]*)\):((?:(?!SIZE\([^\)]+\)\:).)*)' => '$2', // Disabled
189 '%%%(?!%)((?:(?!%%%).)*)%%%' => '<ins>$1</ins>',
190 '%%(?!%)((?:(?!%%).)*)%%' => '<del>$1</del>',
191 "'''(?!')((?:(?!''').)*)'''" => '<em>$1</em>',
192 "''(?!')((?:(?!'').)*)''" => '<strong>$1</strong>',
196 /////////////////////////////////////////////////
197 // ·ÈÂÓÅÅÏäˤ¢¤ï¤»¤¿¥Õ¥§¥¤¥¹¥Þ¡¼¥¯
199 // $usefacemark = 1¤Ê¤é¥Õ¥§¥¤¥¹¥Þ¡¼¥¯¤¬ÃÖ´¹¤µ¤ì¤Þ¤¹
200 // ʸ¾ÏÆâ¤Ë' XD'¤Ê¤É¤¬¤¢¤Ã¤¿¾ì¹ç¤Ëfacemark¤ËÃÖ´¹¤µ¤ì¤Æ¤·¤Þ¤¦¤¿¤á¡¢
201 // ɬÍפΤʤ¤Êý¤Ï $usefacemark¤ò0¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
204 $facemark_rules = array();
207 // Graphic icons for imode HTML 4.0, with Shift-JIS text output
208 // http://www.nttdocomo.co.jp/mc-user/i/tag/emoji/e1.html
209 // http://www.nttdocomo.co.jp/mc-user/i/tag/emoji/list.html
212 $facemark_rules = array(
214 '\s(\:\))' => '秊', // smile
215 '\s(\:D)' => '秊', // bigsmile
216 '\s(\:p)' => '', // huh
217 '\s(\:d)' => '', // huh
218 '\s(XD)' => '聯', // oh
219 '\s(X\()' => '聯', // oh
220 '\s(;\))' => '', // wink
221 '\s(;\()' => '練', // sad
222 '\s(\:\()' => '練', // sad
223 '&(smile);' => '秊',
224 '&(bigsmile);'=> '秊',
225 '&(huh);' => '',
226 '&(oh);' => '聯',
227 '&(wink);' => '',
228 '&(sad);' => '練',
229 '&(heart);' => '撚',
230 '&(worried);'=> '',
232 // Face marks, Japanese style
233 '\s(\(\^\^\))' => '秊', // smile
234 '\s(\(\^-\^)' => '秊', // smile
235 '\s(\(\.\.;)' => '聯', // oh
236 '\s(\(\^_-\))' => '', // wink
237 '\s(\(--;)' => '練', // sad
238 '\s(\(\^\^;\))' => '', // worried
239 '\s(\(\^\^;)' => '', // worried
241 // Push buttons, 0-9 and sharp
242 '&(pb1);' => '驪',
243 '&(pb2);' => '麗',
244 '&(pb3);' => '黎',
245 '&(pb4);' => '力',
246 '&(pb5);' => '曆',
247 '&(pb6);' => '歷',
248 '&(pb7);' => '轢',
249 '&(pb8);' => '年',
250 '&(pb9);' => '憐',
251 '&(pb0);' => '戀',
252 '&(pb#);' => '礪',
255 '&(zzz);' => '簾',
256 '&(man);' => '凌',
257 '&(clock);' => '丹',
258 '&(mail);' => '亮',
259 '&(mailto);'=> '拾',
260 '&(phone);' => '',
261 '&(phoneto);'=> '沈',
262 '&(faxto);' => '若',
266 // Graphic icons for Vodafone (ex. J-PHONE) cell phones
267 // http://www.dp.j-phone.com/dp/tool_dl/web/picword_top.php
270 $facemark_rules = array(
272 '\s(\:\))' => chr(27).'$Gv'.chr(15), // '', // smile
273 '\s(\:D)' => chr(27).'$Gv'.chr(15), // '', // bigsmile => smile
274 '\s(\:p)' => chr(27).'$E%'.chr(15), // '', // huh
275 '\s(\:d)' => chr(27).'$E%'.chr(15), // '', // huh
276 '\s(XD)' => chr(27).'$Gx'.chr(15), // '', // oh
277 '\s(X\()' => chr(27).'$Gx'.chr(15), // '', // oh
278 '\s(;\))' => chr(27).'$E&'.chr(15), // '', // wink¤¸¤ã¤Ê¤¤¤±¤É¤Í(^^; (¢¨Ìܤ¬¥Ï¡¼¥È)
279 '\s(;\()' => chr(27).'$E&'.chr(15), // '', // sad
280 '\s(\:\()' => chr(27).'$Gy'.chr(15), // '', // sad
281 '&(smile);' => chr(27).'$Gv'.chr(15), // '',
282 '&(bigsmile);'=> chr(27).'$Gw'.chr(15), // '',
283 '&(huh);' => chr(27).'$E%'.chr(15), // '',
284 '&(oh);' => chr(27).'$Gx'.chr(15), // '',
285 '&(wink);' => chr(27).'$E&'.chr(15), // '', // wink¤¸¤ã¤Ê¤¤¤±¤É¤Í(^^; (¢¨Ìܤ¬¥Ï¡¼¥È)
286 '&(sad);' => chr(27).'$Gy'.chr(15), // '',
287 '&(heart);' => chr(27).'$GB'.chr(15), // '',
288 '&(worried);'=> chr(27).'$E('.chr(15), // '',
290 // Face marks, Japanese style
291 '\s(\(\^\^\))' => chr(27).'$Gv'.chr(15), // smile
292 '\s(\(\^-\^)' => chr(27).'$Gv'.chr(15), // smile
293 '\s(\(\.\.;)' => chr(27).'$Gx'.chr(15), // oh
294 '\s(\(\^_-\))' => chr(27).'$E&'.chr(15), // wink¤¸¤ã¤Ê¤¤¤±¤É¤Í(^^; (¢¨Ìܤ¬¥Ï¡¼¥È)
295 '\s(\(--;)' => chr(27).'$E&'.chr(15), // sad
296 '\s(\(\^\^;\))' => chr(27).'$E('.chr(15), // worried
297 '\s(\(\^\^;)' => chr(27).'$E('.chr(15), // worried
299 // Push buttons, 0-9 and sharp
300 '&(pb1);' => chr(27).'$F<'.chr(15), // '',
301 '&(pb2);' => chr(27).'$F='.chr(15), // '',
302 '&(pb3);' => chr(27).'$F>'.chr(15), // '',
303 '&(pb4);' => chr(27).'$F?'.chr(15), // '',
304 '&(pb5);' => chr(27).'$F@'.chr(15), // '',
305 '&(pb6);' => chr(27).'$FA'.chr(15), // '',
306 '&(pb7);' => chr(27).'$FB'.chr(15), // '',
307 '&(pb8);' => chr(27).'$FC'.chr(15), // '',
308 '&(pb9);' => chr(27).'$FD'.chr(15), // '',
309 '&(pb0);' => chr(27).'$FE'.chr(15), // '',
312 '&(zzz);' => chr(27).'$E\\'.chr(15),
313 '&(man);' => chr(27).'$G!'.chr(15),
314 '&(clock);' => chr(27).'$GF'.chr(15), // '',
315 '&(mail);' => chr(27).'$Fv'.chr(15),
316 '&(mailto);'=> chr(27).'$E#'.chr(15),
317 '&(phone);' => chr(27).'$G)'.chr(15),
318 '&(phoneto);'=> chr(27).'$E$'.chr(15),
319 '&(faxto);' => chr(27).'$G+'.chr(15),
325 // UP.Browser for KDDI cell phones' built-in icons
326 // http://www.au.kddi.com/ezfactory/tec/spec/3.html
327 if (preg_match('#^KDDI#', $ua_agent)) {
328 $facemark_rules = array(
330 '\s(\:\))' => '<img localsrc="68">', // smile
331 '\s(\:D)' => '<img localsrc="257">', // bigsmile
332 '\s(\:p)' => '<img localsrc="264">', // huh
333 '\s(\:d)' => '<img localsrc="264">', // huh
334 '\s(XD)' => '<img localsrc="260">', // oh
335 '\s(X\()' => '<img localsrc="260">', // oh
336 '\s(;\))' => '<img localsrc="348">', // wink
337 '\s(;\()' => '<img localsrc="259">', // sad
338 '\s(\:\()' => '<img localsrc="259">', // sad
339 '&(smile);' => '<img localsrc="68">',
340 '&(bigsmile);'=> '<img localsrc="257">',
341 '&(huh);' => '<img localsrc="264">',
342 '&(oh);' => '<img localsrc="260">',
343 '&(wink);' => '<img localsrc="348">',
344 '&(sad);' => '<img localsrc="259">',
345 '&(heart);' => '<img localsrc="415">',
346 '&(worried);'=> '<img localsrc="351">',
348 // Face marks, Japanese style
349 '\s(\(\^\^\))' => '<img localsrc="68">', // smile
350 '\s(\(\^-\^)' => '<img localsrc="68">', // smile
351 '\s(\(\.\.;)' => '<img localsrc="260">', // oh
352 '\s(\(\^_-\))' => '<img localsrc="348">', // wink
353 '\s(\(--;)' => '<img localsrc="259">', // sad
354 '\s(\(\^\^;\))' => '<img localsrc="351">', // worried
355 '\s(\(\^\^;)' => '<img localsrc="351">', // worried
357 // Push buttons, 0-9 and sharp
358 '&(pb1);' => '<img localsrc="180">',
359 '&(pb2);' => '<img localsrc="181">',
360 '&(pb3);' => '<img localsrc="182">',
361 '&(pb4);' => '<img localsrc="183">',
362 '&(pb5);' => '<img localsrc="184">',
363 '&(pb6);' => '<img localsrc="185">',
364 '&(pb7);' => '<img localsrc="186">',
365 '&(pb8);' => '<img localsrc="187">',
366 '&(pb9);' => '<img localsrc="188">',
367 '&(pb0);' => '<img localsrc="325">',
368 '&(pb#);' => '<img localsrc="818">',
371 '&(zzz);' => '<img localsrc="261">',
372 '&(man);' => '<img localsrc="80">', // Face of male
373 '&(clock);' => '<img localsrc="46">',
374 '&(mail);' => '<img localsrc="108">',
375 '&(mailto);'=> '<img localsrc="784">',
376 '&(phone);' => '<img localsrc="85">',
377 '&(phoneto);'=> '<img localsrc="155">', // An ear receiver
378 '&(faxto);' => '<img localsrc="166">', // A FAX
385 unset($matches, $ua_name, $ua_vers, $ua_agent, $special_rules);