1 |
<?php |
2 |
// PukiWiki - Yet another WikiWikiWeb clone |
3 |
// $Id: pukiwiki.ini.php,v 1.111 2005/02/07 13:22:40 henoheno Exp $ |
4 |
// |
5 |
// PukiWiki メイン設定ファイル |
6 |
|
7 |
///////////////////////////////////////////////// |
8 |
// 機能性に関する設定 |
9 |
|
10 |
// PKWK_OPTIMISE - 過剰ではあるが解りやすいチェックや警告を省略する |
11 |
// このPukiWikiに関する動作確認を終えているならば '1' に、 |
12 |
// このPukiWikiが何かトラブルを抱えているならば '0' にして下さい |
13 |
if (! defined('PKWK_OPTIMISE')) |
14 |
define('PKWK_OPTIMISE', 0); |
15 |
|
16 |
///////////////////////////////////////////////// |
17 |
// セキュリティ設定 |
18 |
|
19 |
// PKWK_READONLY - Webブラウザ経由の編集やメンテナンスを禁止する |
20 |
// 補足: カウンター関係の機能は動作します |
21 |
// (counterプラグイン、attachプラグインのカウント機能など) |
22 |
if (! defined('PKWK_READONLY')) |
23 |
define('PKWK_READONLY', 0); // 0 or 1 |
24 |
|
25 |
// PKWK_SAFE_MODE - いくつかの安全でない(しかし互換性のある)機能を禁止する |
26 |
if (! defined('PKWK_SAFE_MODE')) |
27 |
define('PKWK_SAFE_MODE', 0); |
28 |
|
29 |
// PKWK_QUERY_STRING_MAX |
30 |
// GETメソッドの最大長を制限することにより、ある種のウイルス(ワーム) |
31 |
// からのアクセスを直ちに禁止する |
32 |
// 注意: ページ名と添付ファイル名を足した長さより大きい必要があります |
33 |
// (page-name + attach-file-name) <= PKWK_QUERY_STRING_MAX |
34 |
define('PKWK_QUERY_STRING_MAX', 640); // Bytes, 0 = OFF |
35 |
|
36 |
///////////////////////////////////////////////// |
37 |
// 言語 / エンコーディング方式の設定 |
38 |
|
39 |
// LANG - 内部コンテンツの言語指定 ('en', 'ja', or ...) |
40 |
define('LANG', 'ja'); |
41 |
|
42 |
// UI_LANG - メニューやボタンなどに使われる言語指定 |
43 |
define('UI_LANG', LANG); // 'en' for Internationalized wikisite |
44 |
|
45 |
///////////////////////////////////////////////// |
46 |
// ディレクトリ関係の設定その1 |
47 |
// ('/' で終わっていること。パーミッションは '777') |
48 |
|
49 |
// index.php の中で定数 DATA_HOME の値を変更することにより |
50 |
// これらのディレクトリをWebブラウザから隠すことができます |
51 |
|
52 |
define('DATA_DIR', DATA_HOME . 'wiki/' ); // 最新のwikiテキスト |
53 |
define('DIFF_DIR', DATA_HOME . 'diff/' ); // 最新のdiff(直前のデータ) |
54 |
define('BACKUP_DIR', DATA_HOME . 'backup/' ); // バックアップデータ |
55 |
define('CACHE_DIR', DATA_HOME . 'cache/' ); // キャッシュデータ |
56 |
define('UPLOAD_DIR', DATA_HOME . 'attach/' ); // 添付ファイルとログ |
57 |
define('COUNTER_DIR', DATA_HOME . 'counter/' ); // counterプラグインのログ |
58 |
define('TRACKBACK_DIR', DATA_HOME . 'trackback/'); // TrackBackのログ |
59 |
define('PLUGIN_DIR', DATA_HOME . 'plugin/' ); // プラグインを収める場所 |
60 |
|
61 |
///////////////////////////////////////////////// |
62 |
// ディレクトリ関係の設定その2 ('/' で終わっていること) |
63 |
|
64 |
// スキン / スタイルシートを格納する場所 |
65 |
define('SKIN_DIR', 'skin/'); |
66 |
// スキンファイル (SKIN_DIR/*.skin.php) は index.php から見て |
67 |
// ./DATAHOME/SKIN_DIR にあたる位置に必要ですが、CSS(*.css)と |
68 |
// JavaScript(*.js) は index.php から見て ./SKIN_DIR にあたる |
69 |
// 位置に必要です |
70 |
|
71 |
// 静的な画像ファイルを格納する場所 |
72 |
define('IMAGE_DIR', 'image/'); |
73 |
// このディレクトリはWebブラウザから見える場所(index.phpから |
74 |
// 見て./IMAGE_DIRにあたる位置)に置いて下さい |
75 |
|
76 |
///////////////////////////////////////////////// |
77 |
// ローカル時間の設定 |
78 |
|
79 |
switch (LANG) { // または指定する |
80 |
case 'ja': |
81 |
define('ZONE', 'JST'); |
82 |
define('ZONETIME', 9 * 3600); // JST = GMT + 9 |
83 |
break; |
84 |
default : |
85 |
define('ZONE', 'GMT'); |
86 |
define('ZONETIME', 0); |
87 |
break; |
88 |
} |
89 |
|
90 |
///////////////////////////////////////////////// |
91 |
// あなたのWikiサイトの名前 (※命名して下さい) |
92 |
// この値はRSSフィードのチャンネル名などにも使われます |
93 |
$page_title = 'PukiWiki'; |
94 |
|
95 |
// このPukiWikiのURLを指定する (デフォルト:自動判別) |
96 |
//$script = 'http://example.com/pukiwiki/'; |
97 |
|
98 |
// $scriptを短くする: ファイル名を取り除く (デフォルト:取り除かない) |
99 |
//$script_directory_index = 'index.php'; |
100 |
|
101 |
// サイト管理者の名前 (※変更して下さい) |
102 |
$modifier = 'anonymous'; |
103 |
|
104 |
// サイト管理者のWebページ (※変更して下さい) |
105 |
$modifierlink = 'http://pukiwiki.example.com/'; |
106 |
|
107 |
// ページ名称 |
108 |
$defaultpage = 'FrontPage'; // トップページ / 既定のページ |
109 |
$whatsnew = 'RecentChanges'; // 変更されたページの一覧 |
110 |
$whatsdeleted = 'RecentDeleted'; // 削除されたページの一覧 |
111 |
$interwiki = 'InterWikiName'; // このページにInterWikiの定義を行う |
112 |
$menubar = 'MenuBar'; // メニュー |
113 |
|
114 |
///////////////////////////////////////////////// |
115 |
// デフォルトの DTD(Document Type Definition) を変更する |
116 |
|
117 |
// いくつかのWebブラウザが抱えているバグ、または/および Javaアプレットは |
118 |
// Strict でないDTDを要求するかもしれません。いくつかのプラグイン(paint |
119 |
// など)はこの値を PKWK_DTD_XHTML_1_0_TRANSITIONAL に変更します |
120 |
|
121 |
//$pkwk_dtd = PKWK_DTD_XHTML_1_1; // デフォルト |
122 |
//$pkwk_dtd = PKWK_DTD_XHTML_1_0_STRICT; |
123 |
//$pkwk_dtd = PKWK_DTD_XHTML_1_0_TRANSITIONAL; |
124 |
//$pkwk_dtd = PKWK_DTD_HTML_4_01_STRICT; |
125 |
//$pkwk_dtd = PKWK_DTD_HTML_4_01_TRANSITIONAL; |
126 |
|
127 |
///////////////////////////////////////////////// |
128 |
|
129 |
// PKWK_ALLOW_JAVASCRIPT - JavaScriptの利用を許可/禁止する |
130 |
define('PKWK_ALLOW_JAVASCRIPT', 0); |
131 |
|
132 |
///////////////////////////////////////////////// |
133 |
// TrackBack 機能 |
134 |
|
135 |
// トラックバックを有効にする |
136 |
$trackback = 0; |
137 |
|
138 |
// トラックバックの一覧を別画面で表示する (JavaScriptを利用する) |
139 |
$trackback_javascript = 0; |
140 |
|
141 |
///////////////////////////////////////////////// |
142 |
// リファラの一覧を表示する |
143 |
$referer = 0; |
144 |
|
145 |
///////////////////////////////////////////////// |
146 |
// WikiNameに対する自動リンク機能を *無効に* する |
147 |
$nowikiname = 0; |
148 |
|
149 |
///////////////////////////////////////////////// |
150 |
// AutoLink 機能 |
151 |
|
152 |
// AutoLink の対象とするページ名の最低バイト長 (0 = 無効) |
153 |
$autolink = 8; |
154 |
|
155 |
///////////////////////////////////////////////// |
156 |
// 凍結 / 凍結解除 機能 |
157 |
$function_freeze = 1; |
158 |
|
159 |
///////////////////////////////////////////////// |
160 |
// このWikiサイトの管理者パスワード |
161 |
|
162 |
// *変更して下さい* |
163 |
$adminpass = '1a1dc91c907325c69271ddf0c944bc72'; // md5('pass') |
164 |
|
165 |
///////////////////////////////////////////////// |
166 |
// ページ名に読みがなをつける機能 に関する設定 |
167 |
// (ページ一覧の並び順を正しくするために、漢字仮名まじりのページ |
168 |
// 名について、自動的に読み仮名を生成する) |
169 |
|
170 |
// ChaSen または KAKASHI コマンドを使って読みがなを得る機能を |
171 |
// 有効にする (1:有効, 0:無効) |
172 |
$pagereading_enable = 0; |
173 |
|
174 |
// コンバーターを指定する: ChaSen('chasen'), KAKASI('kakasi'), なし('none') |
175 |
$pagereading_kanji2kana_converter = 'none'; |
176 |
|
177 |
// 受け渡すデータのエンコーディングを指定する |
178 |
$pagereading_kanji2kana_encoding = 'EUC'; // Default for Unix |
179 |
//$pagereading_kanji2kana_encoding = 'SJIS'; // Default for Windows |
180 |
|
181 |
// コンバーターの絶対パス (ChaSen) |
182 |
$pagereading_chasen_path = '/usr/local/bin/chasen'; |
183 |
//$pagereading_chasen_path = 'c:\progra~1\chasen21\chasen.exe'; |
184 |
|
185 |
// コンバーターの絶対パス (KAKASI) |
186 |
$pagereading_kakasi_path = '/usr/local/bin/kakasi'; |
187 |
//$pagereading_kakasi_path = 'c:\kakasi\bin\kakasi.exe'; |
188 |
|
189 |
// 読みがなを格納するページ名 |
190 |
$pagereading_config_page = ':config/PageReading'; |
191 |
|
192 |
// コンバーターが「なし('none')」である時に使われる、既定の読み |
193 |
// がなを収めたページ名 |
194 |
$pagereading_config_dict = ':config/PageReading/dict'; |
195 |
|
196 |
///////////////////////////////////////////////// |
197 |
// ユーザー定義 |
198 |
$auth_users = array( |
199 |
'foo' => 'foo_passwd', |
200 |
'bar' => 'bar_passwd', |
201 |
'hoge' => 'hoge_passwd', |
202 |
); |
203 |
|
204 |
///////////////////////////////////////////////// |
205 |
// 認証方法 |
206 |
|
207 |
// 'pagename' : ページ名により認証を行う |
208 |
// 'contents' : ページの内容により認証を行う |
209 |
$auth_method_type = 'contents'; |
210 |
|
211 |
///////////////////////////////////////////////// |
212 |
// 閲覧認証 (0:無効、1:有効) |
213 |
$read_auth = 0; |
214 |
|
215 |
// 閲覧認証をかけるための正規表現 |
216 |
$read_auth_pages = array( |
217 |
'#ひきこもるほげ#' => 'hoge', |
218 |
'#(ネタバレ|ねたばれ)#' => 'foo,bar,hoge', |
219 |
); |
220 |
|
221 |
///////////////////////////////////////////////// |
222 |
// 編集認証 (0:無効、1:有効) |
223 |
$edit_auth = 0; |
224 |
|
225 |
// 編集認証をかけるための正規表現 |
226 |
$edit_auth_pages = array( |
227 |
'#Barの公開日記#' => 'bar', |
228 |
'#ひきこもるほげ#' => 'hoge', |
229 |
'#(ネタバレ|ねたばれ)#' => 'foo', |
230 |
); |
231 |
|
232 |
///////////////////////////////////////////////// |
233 |
// 検索認証 |
234 |
// 0: 無効 (閲覧禁止であるページの内容も検索する) |
235 |
// 1: 有効 (そのユーザーに許可されているページのみを検索する) |
236 |
$search_auth = 0; |
237 |
|
238 |
///////////////////////////////////////////////// |
239 |
// $whatsnew: RecentChangesの最大項目数 |
240 |
$maxshow = 60; |
241 |
|
242 |
// $whatsdeleted: RecentDeletedの最大項目数 |
243 |
// (0 = 無効) |
244 |
$maxshow_deleted = 60; |
245 |
|
246 |
///////////////////////////////////////////////// |
247 |
// 編集を禁止するページ名 |
248 |
$cantedit = array( $whatsnew, $whatsdeleted ); |
249 |
|
250 |
///////////////////////////////////////////////// |
251 |
// HTTP: Last-Modified ヘッダを出力する |
252 |
$lastmod = 0; |
253 |
|
254 |
///////////////////////////////////////////////// |
255 |
// 日付のフォーマット |
256 |
$date_format = 'Y-m-d'; |
257 |
|
258 |
// 時間のフォーマット |
259 |
$time_format = 'H:i:s'; |
260 |
|
261 |
///////////////////////////////////////////////// |
262 |
// RSSフィードの最大項目数 |
263 |
$rss_max = 15; |
264 |
|
265 |
///////////////////////////////////////////////// |
266 |
// バックアップ関係の設定 |
267 |
|
268 |
// バックアップ機能を有効にする |
269 |
$do_backup = 1; |
270 |
|
271 |
// ページが削除された時に、そのバックアップも削除するか? |
272 |
$del_backup = 0; |
273 |
|
274 |
// バックアップの間隔と世代 |
275 |
$cycle = 3; // 何時間ごとにバックアップするか (0 = 常に行う) |
276 |
$maxage = 120; // 何世代までのバックアップを保存するか |
277 |
|
278 |
// 参考: $cycle x $maxage / 24 = データを失うまでの最短日数 |
279 |
// 3 x 120 / 24 = 15 |
280 |
|
281 |
// バックアップデータの中身を区切る文字列 (注意: 変更するのは危険すぎる!) |
282 |
define('PKWK_SPLITTER', '>>>>>>>>>>'); |
283 |
|
284 |
///////////////////////////////////////////////// |
285 |
// 更新される度に実行するコマンド |
286 |
$update_exec = ''; |
287 |
//$update_exec = '/usr/bin/mknmz --media-type=text/pukiwiki -O /var/lib/namazu/index/ -L ja -c -K /var/www/wiki/'; |
288 |
|
289 |
///////////////////////////////////////////////// |
290 |
// プロキシの設定 (TrackBackなどが用いる) |
291 |
|
292 |
// 他のサイトからデータを得るためにHTTPプロキシサーバーを経由する |
293 |
$use_proxy = 0; |
294 |
|
295 |
$proxy_host = 'proxy.example.com'; |
296 |
$proxy_port = 8080; |
297 |
|
298 |
// ベーシック認証を行う |
299 |
$need_proxy_auth = 0; |
300 |
$proxy_auth_user = 'username'; |
301 |
$proxy_auth_pass = 'password'; |
302 |
|
303 |
// プロキシサーバーを必要としないホスト |
304 |
$no_proxy = array( |
305 |
'localhost', // localhost |
306 |
'127.0.0.0/8', // loopback |
307 |
// '10.0.0.0/8' // private class A |
308 |
// '172.16.0.0/12' // private class B |
309 |
// '192.168.0.0/16' // private class C |
310 |
// 'no-proxy.com', |
311 |
); |
312 |
|
313 |
//////////////////////////////////////////////// |
314 |
// 電子メール関連の設定 |
315 |
|
316 |
// ページが更新される度にメールを送る |
317 |
$notify = 0; |
318 |
|
319 |
// 差分データのみを送る |
320 |
$notify_diff_only = 1; |
321 |
|
322 |
// SMTP サーバー (Windows環境のみ。通常は php.ini で定義されている) |
323 |
$smtp_server = 'localhost'; |
324 |
|
325 |
// 宛先(To:)と送信者(From:) |
326 |
$notify_to = 'to@example.com'; // To: |
327 |
$notify_from = 'from@example.com'; // From: |
328 |
|
329 |
// Subject: ($page = 更新されたページの名前に置換される) |
330 |
$notify_subject = '[PukiWiki] $page'; |
331 |
|
332 |
// メールヘッダ |
333 |
$notify_header = "From: $notify_from\r\n" . |
334 |
'X-Mailer: PukiWiki/' . S_VERSION . ' PHP/' . phpversion(); |
335 |
|
336 |
///////////////////////////////////////////////// |
337 |
// 電子メール: POP / APOP Before SMTP |
338 |
|
339 |
// メールを送る前に POP/APOP 認証を行う |
340 |
$smtp_auth = 0; |
341 |
|
342 |
$pop_server = 'localhost'; |
343 |
$pop_port = 110; |
344 |
$pop_userid = ''; |
345 |
$pop_passwd = ''; |
346 |
|
347 |
// POPの変わりにAPOPを用いる (もしサーバーが対応していれば) |
348 |
// Default = 自動 (可能ならAPOPを用いる) |
349 |
// 1 = 常に APOP を用いる |
350 |
// 0 = 常に POP を用いる |
351 |
// $pop_auth_use_apop = 1; |
352 |
|
353 |
///////////////////////////////////////////////// |
354 |
// 無視するページのリスト |
355 |
|
356 |
// 無視するページの正規表現 |
357 |
$non_list = '^\:'; |
358 |
|
359 |
// 無視するページを検索するかどうか |
360 |
$search_non_list = 1; |
361 |
|
362 |
///////////////////////////////////////////////// |
363 |
// テンプレートの設定 |
364 |
|
365 |
$auto_template_func = 1; |
366 |
$auto_template_rules = array( |
367 |
'((.+)\/([^\/]+))' => '\2/template' |
368 |
); |
369 |
|
370 |
///////////////////////////////////////////////// |
371 |
// 見出しに既定の形式でアンカー(タグ)を自動挿入する |
372 |
$fixed_heading_anchor = 1; |
373 |
|
374 |
///////////////////////////////////////////////// |
375 |
// 「整形済みテキスト」から先頭のスペースを取り除く |
376 |
$preformat_ltrim = 1; |
377 |
|
378 |
///////////////////////////////////////////////// |
379 |
// 改行を <br/> タグに置換する |
380 |
$line_break = 0; |
381 |
|
382 |
///////////////////////////////////////////////// |
383 |
// ユーザーエージェント設定 |
384 |
// |
385 |
// もしもリッチコンテンツを含んだWikiサイトとして組み込みブラウザを |
386 |
// サポートしたく無いのであれば、'keitai' に関する設定を全て削除 |
387 |
// (ないしコメントアウト)して下さい。 |
388 |
// |
389 |
// もし簡素なWikiサイトとしてデスクトップPC用のブラウザを特別扱い |
390 |
// したくないのであれば、 keitai.ini.php を default.ini.php にコピー |
391 |
// し、中身をカスタマイズして下さい。 |
392 |
|
393 |
$agents = array( |
394 |
// pattern: A regular-expression that matches device(browser)'s name and version |
395 |
// profile: A group of browsers |
396 |
|
397 |
// Embedded browsers (Rich-clients for PukiWiki) |
398 |
|
399 |
// Windows CE (Microsoft(R) Internet Explorer 5.5 for Windows(R) CE) |
400 |
// Sample: "Mozilla/4.0 (compatible; MSIE 5.5; Windows CE; sigmarion3)" (sigmarion, Hand-held PC) |
401 |
array('pattern'=>'#\b(?:MSIE [5-9]).*\b(Windows CE)\b#', 'profile'=>'default'), |
402 |
|
403 |
// ACCESS "NetFront" / "Compact NetFront" and thier OEM, expects to be "Mozilla/4.0" |
404 |
// Sample: "Mozilla/4.0 (PS2; PlayStation BB Navigator 1.0) NetFront/3.0" (PlayStation BB Navigator, for SONY PlayStation 2) |
405 |
// Sample: "Mozilla/4.0 (PDA; PalmOS/sony/model crdb/Revision:1.1.19) NetFront/3.0" (SONY Clie series) |
406 |
// Sample: "Mozilla/4.0 (PDA; SL-A300/1.0,Embedix/Qtopia/1.1.0) NetFront/3.0" (SHARP Zaurus) |
407 |
array('pattern'=>'#^(?:Mozilla/4).*\b(NetFront)/([0-9\.]+)#', 'profile'=>'default'), |
408 |
|
409 |
// Embedded browsers (Non-rich) |
410 |
|
411 |
// Windows CE (the others) |
412 |
// Sample: "Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; 240x320 )" (GFORT, NTT DoCoMo) |
413 |
array('pattern'=>'#\b(Windows CE)\b#', 'profile'=>'keitai'), |
414 |
|
415 |
// ACCESS "NetFront" / "Compact NetFront" and thier OEM |
416 |
// Sample: "Mozilla/3.0 (AveFront/2.6)" ("SUNTAC OnlineStation", USB-Modem for PlayStation 2) |
417 |
// Sample: "Mozilla/3.0(DDIPOCKET;JRC/AH-J3001V,AH-J3002V/1.0/0100/c50)CNF/2.0" (DDI Pocket: AirH" Phone by JRC) |
418 |
array('pattern'=>'#\b(NetFront)/([0-9\.]+)#', 'profile'=>'keitai'), |
419 |
array('pattern'=>'#\b(CNF)/([0-9\.]+)#', 'profile'=>'keitai'), |
420 |
array('pattern'=>'#\b(AveFront)/([0-9\.]+)#', 'profile'=>'keitai'), |
421 |
array('pattern'=>'#\b(AVE-Front)/([0-9\.]+)#', 'profile'=>'keitai'), // The same? |
422 |
|
423 |
// NTT-DoCoMo, i-mode (embeded Compact NetFront) and FOMA (embedded NetFront) phones |
424 |
// Sample: "DoCoMo/1.0/F501i", "DoCoMo/1.0/N504i/c10/TB/serXXXX" // c以降は可変 |
425 |
// Sample: "DoCoMo/2.0 MST_v_SH2101V(c100;TB;W22H12;serXXXX;iccxxxx)" // ()の中は可変 |
426 |
array('pattern'=>'#^(DoCoMo)/([0-9\.]+)#', 'profile'=>'keitai'), |
427 |
|
428 |
// Vodafone's embedded browser |
429 |
// Sample: "J-PHONE/2.0/J-T03" // 2.0は"ブラウザの"バージョン |
430 |
// Sample: "J-PHONE/4.0/J-SH51/SNxxxx SH/0001a Profile/MIDP-1.0 Configuration/CLDC-1.0 Ext-Profile/JSCL-1.1.0" |
431 |
array('pattern'=>'#^(J-PHONE)/([0-9\.]+)#', 'profile'=>'keitai'), |
432 |
|
433 |
// Openwave(R) Mobile Browser (EZweb, WAP phone, etc) |
434 |
// Sample: "OPWV-SDK/62K UP.Browser/6.2.0.5.136 (GUI) MMP/2.0" |
435 |
array('pattern'=>'#\b(UP\.Browser)/([0-9\.]+)#', 'profile'=>'keitai'), |
436 |
|
437 |
// Opera, dressing up as other embedded browsers |
438 |
// Sample: "Mozilla/3.0(DDIPOCKET;KYOCERA/AH-K3001V/1.4.1.67.000000/0.1/C100) Opera 7.0" (Like CNF at 'keitai'-mode) |
439 |
array('pattern'=>'#\bDDIPOCKET\b.+\b(Opera) ([0-9\.]+)\b#', 'profile'=>'keitai'), |
440 |
|
441 |
// Planetweb http://www.planetweb.com/ |
442 |
// Sample: "Mozilla/3.0 (Planetweb/v1.07 Build 141; SPS JP)" ("EGBROWSER", Web browser for PlayStation 2) |
443 |
array('pattern'=>'#\b(Planetweb)/v([0-9\.]+)#', 'profile'=>'keitai'), |
444 |
|
445 |
// DreamPassport, Web browser for SEGA DreamCast |
446 |
// Sample: "Mozilla/3.0 (DreamPassport/3.0)" |
447 |
array('pattern'=>'#\b(DreamPassport)/([0-9\.]+)#', 'profile'=>'keitai'), |
448 |
|
449 |
// Palm "Web Pro" http://www.palmone.com/us/support/accessories/webpro/ |
450 |
// Sample: "Mozilla/4.76 [en] (PalmOS; U; WebPro)" |
451 |
array('pattern'=>'#\b(WebPro)\b#', 'profile'=>'keitai'), |
452 |
|
453 |
// ilinx "Palmscape" / "Xiino" http://www.ilinx.co.jp/ |
454 |
// Sample: "Xiino/2.1SJ [ja] (v. 4.1; 153x130; c16/d)" |
455 |
array('pattern'=>'#^(Palmscape)/([0-9\.]+)#', 'profile'=>'keitai'), |
456 |
array('pattern'=>'#^(Xiino)/([0-9\.]+)#', 'profile'=>'keitai'), |
457 |
|
458 |
// SHARP PDA Browser (SHARP Zaurus) |
459 |
// Sample: "sharp pda browser/6.1[ja](MI-E1/1.0) " |
460 |
array('pattern'=>'#^(sharp [a-z]+ browser)/([0-9\.]+)#', 'profile'=>'keitai'), |
461 |
|
462 |
// WebTV |
463 |
array('pattern'=>'#^(WebTV)/([0-9\.]+)#', 'profile'=>'keitai'), |
464 |
|
465 |
// Desktop-PC browsers |
466 |
|
467 |
// Opera (for desktop PC, not embedded) -- See BugTrack/743 for detail |
468 |
// NOTE: Keep this pattern above MSIE and Mozilla |
469 |
// Sample: "Opera/7.0 (OS; U)" (not disguise) |
470 |
// Sample: "Mozilla/4.0 (compatible; MSIE 5.0; OS) Opera 6.0" (disguise) |
471 |
array('pattern'=>'#\b(Opera)[/ ]([0-9\.]+)\b#', 'profile'=>'default'), |
472 |
|
473 |
// MSIE: Microsoft Internet Explorer (or something disguised as MSIE) |
474 |
// Sample: "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" |
475 |
array('pattern'=>'#\b(MSIE) ([0-9\.]+)\b#', 'profile'=>'default'), |
476 |
|
477 |
// Mozilla Firefox |
478 |
// NOTE: Keep this pattern above Mozilla |
479 |
// Sample: "Mozilla/5.0 (Windows; U; Windows NT 5.0; ja-JP; rv:1.7) Gecko/20040803 Firefox/0.9.3" |
480 |
array('pattern'=>'#\b(Firefox)/([0-9\.]+)\b#', 'profile'=>'default'), |
481 |
|
482 |
// Loose default: Including something Mozilla |
483 |
array('pattern'=>'#^([a-zA-z0-9 ]+)/([0-9\.]+)\b#', 'profile'=>'default'), |
484 |
|
485 |
array('pattern'=>'#^#', 'profile'=>'default'), // Sentinel |
486 |
); |
487 |
?> |