OSDN Git Service

Correct a little
[pukiwiki/pukiwiki.git] / keitai.ini.php
1 <?php
2 // PukiWiki - Yet another WikiWikiWeb clone.
3 // $Id: keitai.ini.php,v 1.25 2005/12/10 07:57:30 henoheno Exp $
4 // Copyright (C)
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
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 // ¥ê¥¹¥È¹½Â¤¤Îº¸¥Þ¡¼¥¸¥ó
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)
40 $_list_pad_str   = '';
41
42 /////////////////////////////////////////////////
43 // Â硦¾®¸«½Ð¤·¤«¤éÌܼ¡¤ØÌá¤ë¥ê¥ó¥¯¤Îʸ»ú
44 $top = '';
45
46 /////////////////////////////////////////////////
47 // ÅºÉÕ¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤ò¾ï¤Ëɽ¼¨¤¹¤ë (Ééô¤¬¤«¤«¤ê¤Þ¤¹)
48 // ¢¨keitai¥¹¥­¥ó¤Ë¤Ï¤³¤Î°ìÍ÷¤òɽ¼¨¤¹¤ëµ¡Ç½¤¬¤¢¤ê¤Þ¤»¤ó
49 $attach_link = 0;
50
51 /////////////////////////////////////////////////
52 // ´ØÏ¢¤¹¤ë¥Ú¡¼¥¸¤Î¥ê¥ó¥¯°ìÍ÷¤ò¾ï¤Ëɽ¼¨¤¹¤ë(Ééô¤¬¤«¤«¤ê¤Þ¤¹)
53 // ¢¨keitai¥¹¥­¥ó¤Ë¤Ï¤³¤Î°ìÍ÷¤òɽ¼¨¤¹¤ëµ¡Ç½¤¬¤¢¤ê¤Þ¤»¤ó
54 $related_link = 0;
55
56 // ¥ê¥ó¥¯°ìÍ÷¤Î¶èÀÚ¤êʸ»ú
57 // ¢¨¾åƱ
58 $related_str = "\n ";
59
60 // (#related¥×¥é¥°¥¤¥ó¤¬É½¼¨¤¹¤ë) ¥ê¥ó¥¯°ìÍ÷¤Î¶èÀÚ¤êʸ»ú
61 $rule_related_str = "</li>\n<li>";
62
63 /////////////////////////////////////////////////
64 // ¿åÊ¿Àþ¤Î¥¿¥°
65 $hr = '<hr>';
66
67 /////////////////////////////////////////////////
68 // µÓÃíµ¡Ç½´ØÏ¢
69
70 // µÓÃí¤Î¥¢¥ó¥«¡¼¤ËËä¤á¹þ¤àËÜʸ¤ÎºÇÂçĹ
71 define('PKWK_FOOTNOTE_TITLE_MAX', 0); // Characters
72
73 // µÓÃí¤Î¥¢¥ó¥«¡¼¤òÁêÂХѥ¹¤Çɽ¼¨¤¹¤ë (0 = ÀäÂХѥ¹)
74 //  * ÁêÂХѥ¹¤Î¾ì¹ç¡¢°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎOpera¤ÇÌäÂê¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹
75 //  * ÀäÂХѥ¹¤Î¾ì¹ç¡¢calendar_viewer¤Ê¤É¤ÇÌäÂê¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹
76 // (¾Ü¤·¤¯¤Ï: BugTrack/698)
77 define('PKWK_ALLOW_RELATIVE_FOOTNOTE_ANCHOR', 1);
78
79 // Ê¸Ëö¤ÎÃí¼á¤ÎľÁ°¤Ëɽ¼¨¤¹¤ë¥¿¥°
80 $note_hr = '<hr>';
81
82 /////////////////////////////////////////////////
83 // WikiName,BracketName¤Ë·Ð²á»þ´Ö¤òÉղ乤ë
84 $show_passage = 0;
85
86 /////////////////////////////////////////////////
87 // ¥ê¥ó¥¯É½¼¨¤ò¥³¥ó¥Ñ¥¯¥È¤Ë¤¹¤ë
88 // * ¥Ú¡¼¥¸¤ËÂФ¹¤ë¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤«¤é¥¿¥¤¥È¥ë¤ò³°¤¹
89 // * Dangling link¤ÎCSS¤ò³°¤¹
90 $link_compact = 1;
91
92 /////////////////////////////////////////////////
93 // ¥Õ¥§¥¤¥¹¥Þ¡¼¥¯¤ò³¨Ê¸»ú¤ËÊÑ´¹¤¹¤ë (¢¨i-mode, Vodafone, EzWeb¤Ê¤É·ÈÂÓÅÅÏøÂÄê)
94 $usefacemark = 1;
95
96 /////////////////////////////////////////////////
97 // accesskey (SKIN¤Ç»ÈÍÑ)
98 $accesskey = 'accesskey';
99
100 /////////////////////////////////////////////////
101 // $script¤òû½Ì
102 if (preg_match('#([^/]+)$#', $script, $matches)) {
103         $script = $matches[1];
104 }
105
106 /////////////////////////////////////////////////
107 // ¥Ö¥é¥¦¥¶Ä´À°Á°¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ
108
109 // max_size (SKIN¤Ç»ÈÍÑ)
110 $max_size = 5;  // SKIN¤Ç»ÈÍÑ, KByte
111
112 // cols: ¥Æ¥­¥¹¥È¥¨¥ê¥¢¤Î¥«¥é¥à¿ô rows: ¹Ô¿ô
113 $cols = 22; $rows = 5;  // i_mode
114
115
116 /////////////////////////////////////////////////
117 // ¥Ö¥é¥¦¥¶¤Ë¹ç¤ï¤»¤¿Ä´À°
118
119 $ua_name  = $user_agent['name'];
120 $ua_vers  = $user_agent['vers'];
121 $ua_agent = $user_agent['agent'];
122 $matches  = array();
123
124 // Browser-name only
125 switch ($ua_name) {
126
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
132         case 'NetFront':
133         case 'CNF':
134         case 'DoCoMo':
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
138                 }
139                 $cols = 22; $rows = 5;  // i_mode
140                 break;
141
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
147         case 'J-PHONE':
148                 $matches = array("");
149                 preg_match('/^([0-9]+)\./', $user_agent['vers'], $matches);
150                 switch($matches[1]){
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
154                 }
155                 $cols = 24; $rows = 20;
156                 break;
157
158         // UP.Browser
159         case 'UP.Browser':
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;
164                 break;
165 }
166
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;
172 }
173
174
175 /////////////////////////////////////////////////
176 // ¥æ¡¼¥¶ÄêµÁ¥ë¡¼¥ë
177 //
178 //  Àµµ¬É½¸½¤Çµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£?(){}-*./+\$^|¤Ê¤É
179 //  ¤Ï \? ¤Î¤è¤¦¤Ë¥¯¥©¡¼¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
180 //  Á°¸å¤Ëɬ¤º / ¤ò´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£¹ÔƬ»ØÄê¤Ï ^ ¤òƬ¤Ë¡£
181 //  ¹ÔËö»ØÄê¤Ï $ ¤ò¸å¤í¤Ë¡£
182
183 // ¥æ¡¼¥¶ÄêµÁ¥ë¡¼¥ë(¥³¥ó¥Ð¡¼¥È»þ¤ËÃÖ´¹)
184 $line_rules = array(
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>',
193 );
194
195
196 /////////////////////////////////////////////////
197 // ·ÈÂÓÅÅÏäˤ¢¤ï¤»¤¿¥Õ¥§¥¤¥¹¥Þ¡¼¥¯
198
199 // $usefacemark = 1¤Ê¤é¥Õ¥§¥¤¥¹¥Þ¡¼¥¯¤¬ÃÖ´¹¤µ¤ì¤Þ¤¹
200 // Ê¸¾ÏÆâ¤Ë' XD'¤Ê¤É¤¬¤¢¤Ã¤¿¾ì¹ç¤Ëfacemark¤ËÃÖ´¹¤µ¤ì¤Æ¤·¤Þ¤¦¤¿¤á¡¢
201 // É¬ÍפΤʤ¤Êý¤Ï $usefacemark¤ò0¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
202
203 // Browser-name only
204 $facemark_rules = array();
205 switch ($ua_name) {
206
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
210     case 'DoCoMo':
211
212         $facemark_rules = array(
213         // Face marks
214         '\s(\:\))'      =>      '&#63893;',     // smile
215         '\s(\:D)'       =>      '&#63893;',     // bigsmile
216         '\s(\:p)'       =>      '&#xE728;',     // huh
217         '\s(\:d)'       =>      '&#xE728;',     // huh
218         '\s(XD)'        =>      '&#63895;',     // oh
219         '\s(X\()'       =>      '&#63895;',     // oh
220         '\s(;\))'       =>      '&#xE729;',     // wink
221         '\s(;\()'       =>      '&#63894;',     // sad
222         '\s(\:\()'      =>      '&#63894;',     // sad
223         '&amp;(smile);' =>      '&#63893;',
224         '&amp;(bigsmile);'=>    '&#63893;',
225         '&amp;(huh);'   =>      '&#xE728;',
226         '&amp;(oh);'    =>      '&#63895;',
227         '&amp;(wink);'  =>      '&#xE729;',
228         '&amp;(sad);'   =>      '&#63894;',
229         '&amp;(heart);' =>      '&#63889;',
230         '&amp;(worried);'=>     '&#xE722;',
231
232         // Face marks, Japanese style
233         '\s(\(\^\^\))'  =>      '&#63893;',     // smile
234         '\s(\(\^-\^)'   =>      '&#63893;',     // smile
235         '\s(\(\.\.;)'   =>      '&#63895;',     // oh
236         '\s(\(\^_-\))'  =>      '&#xE729;',     // wink
237         '\s(\(--;)'     =>      '&#63894;',     // sad
238         '\s(\(\^\^;\))' =>      '&#xE722;',     // worried
239         '\s(\(\^\^;)'   =>      '&#xE722;',     // worried
240
241         // Push buttons, 0-9 and sharp
242         '&amp;(pb1);'   =>      '&#63879;',
243         '&amp;(pb2);'   =>      '&#63880;',
244         '&amp;(pb3);'   =>      '&#63881;',
245         '&amp;(pb4);'   =>      '&#63882;',
246         '&amp;(pb5);'   =>      '&#63883;',
247         '&amp;(pb6);'   =>      '&#63884;',
248         '&amp;(pb7);'   =>      '&#63885;',
249         '&amp;(pb8);'   =>      '&#63886;',
250         '&amp;(pb9);'   =>      '&#63887;',
251         '&amp;(pb0);'   =>      '&#63888;',
252         '&amp;(pb#);'   =>      '&#63877;',
253
254         // Others
255         '&amp;(zzz);'   =>      '&#63910;',
256         '&amp;(man);'   =>      '&#63829;',
257         '&amp;(clock);' =>      '&#63838;',
258         '&amp;(mail);'  =>      '&#63863;',
259         '&amp;(mailto);'=>      '&#63859;',
260         '&amp;(phone);' =>      '&#63720;',
261         '&amp;(phoneto);'=>     '&#63858;',
262         '&amp;(faxto);' =>      '&#63860;',
263         );
264         break;
265
266     // Graphic icons for Vodafone (ex. J-PHONE) cell phones
267     // http://www.dp.j-phone.com/dp/tool_dl/web/picword_top.php
268     case 'J-PHONE':
269
270         $facemark_rules = array(
271         // Face marks
272         '\s(\:\))'      =>      chr(27).'$Gv'.chr(15),  // '&#57430;',  // smile
273         '\s(\:D)'       =>      chr(27).'$Gv'.chr(15),  // '&#57430;',  // bigsmile => smile
274         '\s(\:p)'       =>      chr(27).'$E%'.chr(15),  // '&#57605;',  // huh
275         '\s(\:d)'       =>      chr(27).'$E%'.chr(15),  // '&#57605;',  // huh
276         '\s(XD)'        =>      chr(27).'$Gx'.chr(15),  // '&#57432;',  // oh
277         '\s(X\()'       =>      chr(27).'$Gx'.chr(15),  // '&#57432;',  // oh
278         '\s(;\))'       =>      chr(27).'$E&'.chr(15),  // '&#57606;',  // wink¤¸¤ã¤Ê¤¤¤±¤É¤Í(^^; (¢¨Ìܤ¬¥Ï¡¼¥È)
279         '\s(;\()'       =>      chr(27).'$E&'.chr(15),  // '&#57606;',  // sad
280         '\s(\:\()'      =>      chr(27).'$Gy'.chr(15),  // '&#57433;',  // sad
281         '&amp;(smile);' =>      chr(27).'$Gv'.chr(15),  // '&#57430;',
282         '&amp;(bigsmile);'=>    chr(27).'$Gw'.chr(15),  // '&#57431;',
283         '&amp;(huh);'   =>      chr(27).'$E%'.chr(15),  // '&#57605;',
284         '&amp;(oh);'    =>      chr(27).'$Gx'.chr(15),  // '&#57432;',
285         '&amp;(wink);'  =>      chr(27).'$E&'.chr(15),  // '&#57606;',  // wink¤¸¤ã¤Ê¤¤¤±¤É¤Í(^^; (¢¨Ìܤ¬¥Ï¡¼¥È)
286         '&amp;(sad);'   =>      chr(27).'$Gy'.chr(15),  // '&#57433;',
287         '&amp;(heart);' =>      chr(27).'$GB'.chr(15),  // '&#57378;',
288         '&amp;(worried);'=>     chr(27).'$E('.chr(15),  // '&#57608;',
289
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
298
299         // Push buttons, 0-9 and sharp
300         '&amp;(pb1);'   =>      chr(27).'$F<'.chr(15),  // '&#57884;',
301         '&amp;(pb2);'   =>      chr(27).'$F='.chr(15),  // '&#57885;',
302         '&amp;(pb3);'   =>      chr(27).'$F>'.chr(15),  // '&#57886;',
303         '&amp;(pb4);'   =>      chr(27).'$F?'.chr(15),  // '&#57887;',
304         '&amp;(pb5);'   =>      chr(27).'$F@'.chr(15),  // '&#57888;',
305         '&amp;(pb6);'   =>      chr(27).'$FA'.chr(15),  // '&#57889;',
306         '&amp;(pb7);'   =>      chr(27).'$FB'.chr(15),  // '&#57890;',
307         '&amp;(pb8);'   =>      chr(27).'$FC'.chr(15),  // '&#57891;',
308         '&amp;(pb9);'   =>      chr(27).'$FD'.chr(15),  // '&#57892;',
309         '&amp;(pb0);'   =>      chr(27).'$FE'.chr(15),  // '&#57893;',
310
311         // Others
312         '&amp;(zzz);'   =>      chr(27).'$E\\'.chr(15),
313         '&amp;(man);'   =>      chr(27).'$G!'.chr(15),
314         '&amp;(clock);' =>      chr(27).'$GF'.chr(15),  // '&#xE026;',
315         '&amp;(mail);'  =>      chr(27).'$Fv'.chr(15),
316         '&amp;(mailto);'=>      chr(27).'$E#'.chr(15),
317         '&amp;(phone);' =>      chr(27).'$G)'.chr(15),
318         '&amp;(phoneto);'=>     chr(27).'$E$'.chr(15),
319         '&amp;(faxto);' =>      chr(27).'$G+'.chr(15),
320         );
321         break;
322
323     case 'UP.Browser':
324
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(
329         // Face marks
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         '&amp;(smile);' =>      '<img localsrc="68">',
340         '&amp;(bigsmile);'=>    '<img localsrc="257">',
341         '&amp;(huh);'   =>      '<img localsrc="264">',
342         '&amp;(oh);'    =>      '<img localsrc="260">',
343         '&amp;(wink);'  =>      '<img localsrc="348">',
344         '&amp;(sad);'   =>      '<img localsrc="259">',
345         '&amp;(heart);' =>      '<img localsrc="415">',
346         '&amp;(worried);'=>     '<img localsrc="351">',
347
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
356
357         // Push buttons, 0-9 and sharp
358         '&amp;(pb1);'   =>      '<img localsrc="180">',
359         '&amp;(pb2);'   =>      '<img localsrc="181">',
360         '&amp;(pb3);'   =>      '<img localsrc="182">',
361         '&amp;(pb4);'   =>      '<img localsrc="183">',
362         '&amp;(pb5);'   =>      '<img localsrc="184">',
363         '&amp;(pb6);'   =>      '<img localsrc="185">',
364         '&amp;(pb7);'   =>      '<img localsrc="186">',
365         '&amp;(pb8);'   =>      '<img localsrc="187">',
366         '&amp;(pb9);'   =>      '<img localsrc="188">',
367         '&amp;(pb0);'   =>      '<img localsrc="325">',
368         '&amp;(pb#);'   =>      '<img localsrc="818">',
369
370         // Others
371         '&amp;(zzz);'   =>      '<img localsrc="261">',
372         '&amp;(man);'   =>      '<img localsrc="80">',  // Face of male
373         '&amp;(clock);' =>      '<img localsrc="46">',
374         '&amp;(mail);'  =>      '<img localsrc="108">',
375         '&amp;(mailto);'=>      '<img localsrc="784">',
376         '&amp;(phone);' =>      '<img localsrc="85">',
377         '&amp;(phoneto);'=>     '<img localsrc="155">', // An ear receiver
378         '&amp;(faxto);' =>      '<img localsrc="166">', // A FAX
379         );
380         }
381         break;
382
383 }
384
385 unset($matches, $ua_name, $ua_vers, $ua_agent, $special_rules);
386
387 ?>