PageRenderTime 6ms CodeModel.GetById 2ms app.highlight 17ms RepoModel.GetById 1ms app.codeStats 0ms

/keitai.ini.php

https://github.com/miya5n/pukiwiki
PHP | 387 lines | 218 code | 58 blank | 111 comment | 7 complexity | ab9e030aae6e074a9f99ef8c9af5c7c8 MD5 | raw file
  1<?php
  2// PukiWiki - Yet another WikiWikiWeb clone.
  3// $Id: keitai.ini.php,v 1.26 2011/02/01 15:01:18 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// スキンファイルの場所
 18define('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// 脚注のアンカーに埋め込む本文の最大長
 71define('PKWK_FOOTNOTE_TITLE_MAX', 0); // Characters
 72
 73// 脚注のアンカーを相対パスで表示する (0 = 絶対パス)
 74//  * 相対パスの場合、以前のバージョンのOperaで問題になることがあります
 75//  * 絶対パスの場合、calendar_viewerなどで問題になることがあります
 76// (詳しくは: BugTrack/698)
 77define('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を短縮
102if (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
125switch ($ua_name) {
126
127	// NetFront / Compact NetFront
128	//   DoCoMo Net For MOBILE: iモード対応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
168switch ("$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	"&#039;&#039;&#039;(?!&#039;)((?:(?!&#039;&#039;&#039;).)*)&#039;&#039;&#039;" => '<em>$1</em>',
192	"&#039;&#039;(?!&#039;)((?:(?!&#039;&#039;).)*)&#039;&#039;" => '<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();
205switch ($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
385unset($matches, $ua_name, $ua_vers, $ua_agent, $special_rules);
386
387?>