X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=pukiwiki.ini.php;h=63e3b4a2edef1edb153616569d1be1adc5b65896;hb=5944633aac73ffcf6a0226bfc2311f32ef404098;hp=2fc717857828d000d6de94e45d06402d5205d37a;hpb=c0ddd0bb91b518d2ef32c654d692824ac3d0a3ab;p=pukiwiki%2Fpukiwiki.git diff --git a/pukiwiki.ini.php b/pukiwiki.ini.php index 2fc7178..63e3b4a 100644 --- a/pukiwiki.ini.php +++ b/pukiwiki.ini.php @@ -1,281 +1,360 @@ /pukiwiki.php?md5=pass -// -// ¤³¤ÎURL¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤Ç¡¢»»½Ð·ë²Ì¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤½¤Î -// ¤«¤ï¤ê¡¢¤¢¤Ê¤¿¤¬¥¿¥¤¥×¤·¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¤òή¤ì¡¢ -// ï¤Ë¤Ç¤âÇÁ¤­¸«¤¬¤Ç¤­¡¢Web¥µ¡¼¥Ð¡¼¤Î¥í¥°¤Ë¤â»Ä¤Ã¤Æ¤·¤Þ¤¦¡¢ -// ¤È¤¤¤Ã¤¿ÍÍ¡¹¤Ê¥ê¥¹¥¯¤òÉ餦²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤¢¤Ê¤¿¤¬»È¤Ã¤Æ -// ¤¤¤ë¥³¥ó¥Ô¥å¡¼¥¿¡¢¥µ¡¼¥Ð¡¼¤Þ¤Ç¤Î¥Í¥Ã¥È¥ï¡¼¥¯¡¢¥µ¡¼¥Ð¡¼¤Î -// ¤É¤³¤«¤¬¿®Íê¤Ç¤­¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢¤³¤ÎÊýË¡¤Ï»È¤ï¤Ê¤¤¤Ç²¼¤µ¤¤¡£ +// Default: always fail +$adminpass = '{x-php-md5}!'; + +// Sample: +//$adminpass = 'pass'; // Cleartext +//$adminpass = '{x-php-md5}1a1dc91c907325c69271ddf0c944bc72'; // PHP md5() 'pass' +//$adminpass = '{CRYPT}$1$AR.Gk94x$uCe8fUUGMfxAPH83psCZG/'; // LDAP CRYPT 'pass' +//$adminpass = '{MD5}Gh3JHJBzJcaScd3wyUS8cg=='; // LDAP MD5 'pass' +//$adminpass = '{SMD5}o7lTdtHFJDqxFOVX09C8QnlmYmZnd2Qx'; // LDAP SMD5 'pass' ///////////////////////////////////////////////// -// ChaSen, KAKASI ¤Ë¤è¤ë¡¢¥Ú¡¼¥¸Ì¾¤ÎÆɤߤμèÆÀ (0:̵¸ú,1:Í­¸ú) +// Page-reading feature settings +// (Automatically creating pronounce datas, for Kanji-included page names, +// to show sorted page-list correctly) + +// Enable page-reading feature by calling ChaSen or KAKASHI command +// (1:Enable, 0:Disable) $pagereading_enable = 0; -// ChaSen('chasen') or KAKASI('kakasi') or None('none') +// Specify converter as ChaSen('chasen') or KAKASI('kakasi') or None('none') $pagereading_kanji2kana_converter = 'none'; -// ChaSen/KAKASI ¤È¤Î¼õ¤±ÅϤ·¤Ë»È¤¦´Á»ú¥³¡¼¥É (UNIX·Ï¤Ï EUC¡¢Win·Ï¤Ï SJIS ¤¬´ðËÜ) -$pagereading_kanji2kana_encoding = 'EUC'; -//$pagereading_kanji2kana_encoding = 'SJIS'; +// Specify Kanji encoding to pass data between PukiWiki and the converter +$pagereading_kanji2kana_encoding = 'EUC'; // Default for Unix +//$pagereading_kanji2kana_encoding = 'SJIS'; // Default for Windows -// ChaSen/KAKASI ¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë (³Æ¼«¤Î´Ä¶­¤Ë¹ç¤ï¤»¤ÆÀßÄê) +// Absolute path of the converter (ChaSen) $pagereading_chasen_path = '/usr/local/bin/chasen'; //$pagereading_chasen_path = 'c:\progra~1\chasen21\chasen.exe'; +// Absolute path of the converter (KAKASI) $pagereading_kakasi_path = '/usr/local/bin/kakasi'; //$pagereading_kakasi_path = 'c:\kakasi\bin\kakasi.exe'; -// ¥Ú¡¼¥¸Ì¾Æɤߤò³ÊǼ¤·¤¿¥Ú¡¼¥¸¤Î̾Á° +// Page name contains pronounce data (written by the converter) $pagereading_config_page = ':config/PageReading'; -// converter ='none' ¤Î¾ì¹ç¤ÎÆɤ߲¾Ì¾¼­½ñ +// Page name of default pronouncing dictionary, used when converter = 'none' $pagereading_config_dict = ':config/PageReading/dict'; ///////////////////////////////////////////////// -// ¥æ¡¼¥¶ÄêµÁ +// User definition $auth_users = array( - 'foo' => 'foo_passwd', - 'bar' => 'bar_passwd', - 'hoge' => 'hoge_passwd', + // Username => password + 'foo' => 'foo_passwd', // Cleartext + 'bar' => '{x-php-md5}f53ae779077e987718cc285b14dfbe86', // PHP md5() 'bar_passwd' + 'hoge' => '{SMD5}OzJo/boHwM4q5R+g7LCOx2xGMkFKRVEx', // LDAP SMD5 'hoge_passwd' ); ///////////////////////////////////////////////// -// ǧ¾ÚÊý¼°¼ïÊÌ -// 'pagename' : ¥Ú¡¼¥¸Ì¾ -// 'contents' : ¥Ú¡¼¥¸ÆâÍÆ -$auth_method_type = 'contents'; +// Authentication method + +$auth_method_type = 'pagename'; // By Page name +//$auth_method_type = 'contents'; // By Page contents ///////////////////////////////////////////////// -// ±ÜÍ÷ǧ¾Ú¥Õ¥é¥° (0:ÉÔÍ× 1:ɬÍ×) +// Read auth (0:Disable, 1:Enable) $read_auth = 0; -// ±ÜÍ÷ǧ¾ÚÂоݥѥ¿¡¼¥óÄêµÁ $read_auth_pages = array( - '/¤Ò¤­¤³¤â¤ë¤Û¤²/' => 'hoge', - '/(¥Í¥¿¥Ð¥ì|¤Í¤¿¤Ð¤ì)/' => 'foo,bar,hoge', + // Regex Username + '#HogeHoge#' => 'hoge', + '#(NETABARE|NetaBare)#' => 'foo,bar,hoge', ); ///////////////////////////////////////////////// -// ÊÔ½¸Ç§¾Ú¥Õ¥é¥° (0:ÉÔÍ× 1:ɬÍ×) +// Edit auth (0:Disable, 1:Enable) $edit_auth = 0; -// ÊÔ½¸Ç§¾ÚÂоݥѥ¿¡¼¥óÄêµÁ $edit_auth_pages = array( - '/Bar¤Î¸ø³«Æüµ­/' => 'bar', - '/¤Ò¤­¤³¤â¤ë¤Û¤²/' => 'hoge', - '/(¥Í¥¿¥Ð¥ì|¤Í¤¿¤Ð¤ì)/' => 'foo', + // Regex Username + '#BarDiary#' => 'bar', + '#HogeHoge#' => 'hoge', + '#(NETABARE|NetaBare)#' => 'foo,bar,hoge', ); ///////////////////////////////////////////////// -// ¸¡º÷ǧ¾Ú¥Õ¥é¥° -// 0: ±ÜÍ÷¤¬µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ú¡¼¥¸ÆâÍƤ⸡º÷ÂоݤȤ¹¤ë -// 1: ¸¡º÷»þ¤Î¥í¥°¥¤¥ó¥æ¡¼¥¶¤Ëµö²Ä¤µ¤ì¤¿¥Ú¡¼¥¸¤Î¤ß¸¡º÷ÂоݤȤ¹¤ë +// Search auth +// 0: Disabled (Search read-prohibited page contents) +// 1: Enabled (Search only permitted pages for the user) $search_auth = 0; ///////////////////////////////////////////////// -// $whatsnew: ¹¹¿·ÍúÎò¤òɽ¼¨¤¹¤ë¤È¤­¤ÎºÇÂç·ï¿ô +// $whatsnew: Max number of RecentChanges $maxshow = 60; -// $whatsdeleted: ºï½üÍúÎò¤ÎºÇÂç·ï¿ô(0¤Çµ­Ï¿¤·¤Ê¤¤) +// $whatsdeleted: Max number of RecentDeleted +// (0 = Disabled) $maxshow_deleted = 60; ///////////////////////////////////////////////// -// ÊÔ½¸¤¹¤ë¤³¤È¤Î¤Ç¤­¤Ê¤¤¥Ú¡¼¥¸¤Î̾Á° , ¤Ç¶èÀÚ¤ë +// Page names can't be edit via PukiWiki $cantedit = array( $whatsnew, $whatsdeleted ); ///////////////////////////////////////////////// -// Last-Modified ¥Ø¥Ã¥À¤ò½ÐÎϤ¹¤ë +// HTTP: Output Last-Modified header $lastmod = 0; ///////////////////////////////////////////////// -// ÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È +// Date format $date_format = 'Y-m-d'; -// »þ¹ï¥Õ¥©¡¼¥Þ¥Ã¥È +// Time format $time_format = 'H:i:s'; ///////////////////////////////////////////////// -// RSS ¤Ë½ÐÎϤ¹¤ë¥Ú¡¼¥¸¿ô +// Max number of RSS feed $rss_max = 15; ///////////////////////////////////////////////// -// ¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¹Ô¤¦ +// Backup related settings + +// Enable backup $do_backup = 1; -// ¥Ú¡¼¥¸¤òºï½ü¤·¤¿ºÝ¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤â¤¹¤Ù¤Æºï½ü¤¹¤ë +// When a page had been removed, remove its backup too? $del_backup = 0; -// ¥Ð¥Ã¥¯¥¢¥Ã¥×´Ö³Ö¤ÈÀ¤Âå¿ô -$cycle = 3; // ľÁ°¤Î½¤Àµ¤«¤é²¿»þ´Ö·Ð²á¤·¤Æ¤¤¤¿¤é¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¤« (0¤Ç¹¹¿·Ëè) -$maxage = 120; // À¤Âå¿ô +// Bacukp interval and generation +$cycle = 3; // Wait N hours between backup (0 = no wait) +$maxage = 120; // Stock latest N backups -// NOTE: $cycle x $maxage / 24 = ¥Ç¡¼¥¿¤ò¼º¤¦¤¿¤á¤ËºÇÄã¸ÂɬÍפÊÆü¿ô +// NOTE: $cycle x $maxage / 24 = Minimum days to lost your data // 3 x 120 / 24 = 15 -// ¥Ð¥Ã¥¯¥¢¥Ã¥×¤ÎÀ¤Âå¤ò¶èÀÚ¤ëʸ»úÎó -$splitter = ">>>>>>>>>>"; +// Splitter of backup data (NOTE: Too dangerous to change) +define('PKWK_SPLITTER', '>>>>>>>>>>'); ///////////////////////////////////////////////// -// ¥Ú¡¼¥¸¤Î¹¹¿·»þ¤Ë¥Ð¥Ã¥¯¥°¥é¥ó¥É¤Ç¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É(mknmz¤Ê¤É) -$update_exec = ''; -//$update_exec = '/usr/bin/mknmz --media-type=text/pukiwiki -O /var/lib/namazu/index/ -L ja -c -K /var/www/wiki/'; +// Command execution per update + +define('PKWK_UPDATE_EXEC', ''); + +// Sample: Namazu (Search engine) +//$target = '/var/www/wiki/'; +//$mknmz = '/usr/bin/mknmz'; +//$output_dir = '/var/lib/namazu/index/'; +//define('PKWK_UPDATE_EXEC', +// $mknmz . ' --media-type=text/pukiwiki' . +// ' -O ' . $output_dir . ' -L ja -c -K ' . $target); ///////////////////////////////////////////////// -// HTTP¥ê¥¯¥¨¥¹¥È¤Ë¥×¥í¥­¥·¥µ¡¼¥Ð¤ò»ÈÍѤ¹¤ë +// HTTP proxy setting (for TrackBack etc) + +// Use HTTP proxy server to get remote data $use_proxy = 0; -$proxy_host = 'proxy.example.com'; // proxy¥µ¡¼¥Ð̾ -$proxy_port = 8080; // ¥Ý¡¼¥ÈÈÖ¹æ +$proxy_host = 'proxy.example.com'; +$proxy_port = 8080; -// Basicǧ¾Ú¤ò¹Ô¤¦ +// Do Basic authentication $need_proxy_auth = 0; -$proxy_auth_user = 'username'; // ¥æ¡¼¥¶¡¼Ì¾ -$proxy_auth_pass = 'password'; // ¥Ñ¥¹¥ï¡¼¥É +$proxy_auth_user = 'username'; +$proxy_auth_pass = 'password'; -// ¥×¥í¥­¥·¥µ¡¼¥Ð¤ò»ÈÍѤ·¤Ê¤¤¥Û¥¹¥È¤Î¥ê¥¹¥È +// Hosts that proxy server will not be needed $no_proxy = array( 'localhost', // localhost '127.0.0.0/8', // loopback @@ -286,91 +365,116 @@ $no_proxy = array( ); //////////////////////////////////////////////// -// ¥á¡¼¥ëÁ÷¿® +// Mail related settings -$notify = 0; // (1:¥Ú¡¼¥¸¤Î¹¹¿·»þ¤Ë¥á¡¼¥ë¤òÁ÷¿®¤¹¤ë) -$notify_diff_only = 0; // (1:º¹Ê¬¤À¤±¤òÁ÷¿®¤¹¤ë) +// Send mail per update of pages +$notify = 0; -// SMTP¥µ¡¼¥Ð (Windows ¤Î¤ß, Ä̾ï¤Ï php.ini ¤Ç»ØÄê) +// Send diff only +$notify_diff_only = 1; + +// SMTP server (Windows only. Usually specified at php.ini) $smtp_server = 'localhost'; -$notify_to = 'to@example.com'; // To:¡Ê°¸Àè¡Ë -$notify_from = 'from@example.com'; // From:¡ÊÁ÷¤ê¼ç¡Ë +// Mail recipient (To:) and sender (From:) +$notify_to = 'to@example.com'; // To: +$notify_from = 'from@example.com'; // From: -// Subject:¡Ê·ï̾¡Ë $page¤Ë¥Ú¡¼¥¸Ì¾¤¬Æþ¤ê¤Þ¤¹ -$notify_subject = '[pukiwiki] $page'; +// Subject: ($page = Page name wll be replaced) +$notify_subject = '[PukiWiki] $page'; -// ¥á¡¼¥ë¥Ø¥Ã¥À -$notify_header = "From: $notify_from\r\n" . - 'X-Mailer: PukiWiki/' . S_VERSION . ' PHP/' . phpversion(); +// Mail header +// NOTE: Multiple items must be divided by "\r\n", not "\n". +$notify_header = ''; ///////////////////////////////////////////////// -// ¥á¡¼¥ëÁ÷¿®: POP / APOP Before SMTP +// Mail: POP / APOP Before SMTP -// ¥á¡¼¥ëÁ÷¿®Á°¤ËPOP¤Þ¤¿¤ÏAPOP¤Ë¤è¤ëǧ¾Ú¤ò¹Ô¤¦ +// Do POP/APOP authentication before send mail $smtp_auth = 0; -$pop_server = 'localhost'; // POP¥µ¡¼¥Ð -$pop_port = 110; // ¥Ý¡¼¥ÈÈÖ¹æ -$pop_userid = ''; // POP¥æ¡¼¥¶Ì¾ -$pop_passwd = ''; // POP¥Ñ¥¹¥ï¡¼¥É +$pop_server = 'localhost'; +$pop_port = 110; +$pop_userid = ''; +$pop_passwd = ''; -// ǧ¾Ú¤Ë APOP ¤òÍøÍѤ¹¤ë¤«¤É¤¦¤« (¢¨¥µ¡¼¥Ð¦¤ÎÂбþ¤¬É¬Í×) -// ̤ÀßÄê = ¼«Æ° (²Äǽ¤Ç¤¢¤ì¤ÐAPOP¤ò»ÈÍѤ¹¤ë) -// 1 = APOP¸ÇÄê (ɬ¤ºAPOP¤ò»ÈÍѤ¹¤ë) -// 0 = POP¸ÇÄê (ɬ¤ºPOP¤ò»ÈÍѤ¹¤ë) +// Use APOP instead of POP (If server uses) +// Default = Auto (Use APOP if possible) +// 1 = Always use APOP +// 0 = Always use POP // $pop_auth_use_apop = 1; ///////////////////////////////////////////////// -// °ìÍ÷¡¦¹¹¿·°ìÍ÷¤Ë´Þ¤á¤Ê¤¤¥Ú¡¼¥¸Ì¾(Àµµ¬É½¸½¤Ç) +// Ignore list + +// Regex of ignore pages $non_list = '^\:'; -// $non_list¤òʸ»úÎ󸡺÷¤ÎÂоݥڡ¼¥¸¤È¤¹¤ë¤« -// 0¤Ë¤¹¤ë¤È¡¢¾åµ­¥Ú¡¼¥¸Ì¾¤¬Ã±¸ì¸¡º÷¤«¤é¤â½ü³°¤µ¤ì¤Þ¤¹¡£ +// Search ignored pages $search_non_list = 1; ///////////////////////////////////////////////// -// ¥Ú¡¼¥¸Ì¾¤Ë½¾¤Ã¤Æ¼«Æ°¤Ç¡¢¿÷·Á¤È¤¹¤ë¥Ú¡¼¥¸¤ÎÆɤ߹þ¤ß +// Template setting + $auto_template_func = 1; $auto_template_rules = array( '((.+)\/([^\/]+))' => '\2/template' ); ///////////////////////////////////////////////// -// ¸«½Ð¤·¹Ô¤Ë¸ÇÍ­¤Î¥¢¥ó¥«¡¼¤ò¼«Æ°ÁÞÆþ¤¹¤ë +// Automatically add fixed heading anchor $fixed_heading_anchor = 1; ///////////////////////////////////////////////// -//
¤Î¹ÔƬ¥¹¥Ú¡¼¥¹¤ò¤Ò¤È¤Ä¼è¤ê½ü¤¯
+// Remove the first spaces from Preformatted text
 $preformat_ltrim = 1;
 
 /////////////////////////////////////////////////
-// ²þ¹Ô¤òÈ¿±Ç¤¹¤ë(²þ¹Ô¤ò
¤ËÃÖ´¹¤¹¤ë) +// Convert linebreaks into
$line_break = 0; ///////////////////////////////////////////////// -// ¥æ¡¼¥¶¡¼¥¨¡¼¥¸¥§¥ó¥ÈÂбþÀßÄê +// Use date-time rules (See rules.ini.php) +$usedatetime = 1; + +///////////////////////////////////////////////// +// User-Agent settings // -// ¥ê¥Ã¥Á¥¯¥é¥¤¥¢¥ó¥È¤òÁ°Äó¤È¤·¤¿¥µ¥¤¥È¤ò¹½ÃÛ¤¹¤ë -// ¤¿¤á¤Ë¡¢·ÈÂÓÅÅÏäʤɤ˰տÞŪ¤ËÈóÂбþ¤È¤·¤¿¤¤¾ì¹ç¡¢ -// ºÇ¸å¤Î¥Ç¥Õ¥©¥ë¥ÈÀßÄê°Ê³°¤Î¹Ô¤òÁ´¤Æºï½ü¤¢¤ë¤¤¤Ï -// ¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ²¼¤µ¤¤¡£ +// If you want to ignore embedded browsers for rich-content-wikisite, +// remove (or comment-out) all 'keitai' settings. // -// ¥Ç¥¶¥¤¥ó¤ä¥¹¥¿¥¤¥ë¤ò´ÊÁǤÊkeitai¥×¥í¥Õ¥¡¥¤¥ë¤Ë -// Åý°ì¤·¤¿¤¤»þ¤Ï¡¢¥Ç¥Õ¥©¥ë¥ÈÀßÄê°Ê³°¤Î¹Ô¤òÁ´¤Æºï½ü -// ¤¢¤ë¤¤¤Ï¥³¥á¥ó¥È¥¢¥¦¥È¤·¤¿¸å¤Ë¡¢¥Ç¥Õ¥©¥ë¥ÈÀßÄê¤ò -// 'profile'=>'keitai' ¤È½¤Àµ¤·¤Æ²¼¤µ¤¤¡£ +// If you want to to ignore desktop-PC browsers for simple wikisite, +// copy keitai.ini.php to default.ini.php and customize it. $agents = array( -// pattern: ¥Ç¥Ð¥¤¥¹[¥Ö¥é¥¦¥¶]̾¤ª¤è¤Ó¥Ð¡¼¥¸¥ç¥ó¤Î¸¡½Ð¥Ñ¥¿¡¼¥ó profile: ½ê°¤¹¤ë¥°¥ë¡¼¥× +// pattern: A regular-expression that matches device(browser)'s name and version +// profile: A group of browsers + + // Embedded browsers (Rich-clients for PukiWiki) + + // Windows CE (Microsoft(R) Internet Explorer 5.5 for Windows(R) CE) + // Sample: "Mozilla/4.0 (compatible; MSIE 5.5; Windows CE; sigmarion3)" (sigmarion, Hand-held PC) + array('pattern'=>'#\b(?:MSIE [5-9]).*\b(Windows CE)\b#', 'profile'=>'default'), + + // ACCESS "NetFront" / "Compact NetFront" and thier OEM, expects to be "Mozilla/4.0" + // Sample: "Mozilla/4.0 (PS2; PlayStation BB Navigator 1.0) NetFront/3.0" (PlayStation BB Navigator, for SONY PlayStation 2) + // Sample: "Mozilla/4.0 (PDA; PalmOS/sony/model crdb/Revision:1.1.19) NetFront/3.0" (SONY Clie series) + // Sample: "Mozilla/4.0 (PDA; SL-A300/1.0,Embedix/Qtopia/1.1.0) NetFront/3.0" (SHARP Zaurus) + array('pattern'=>'#^(?:Mozilla/4).*\b(NetFront)/([0-9\.]+)#', 'profile'=>'default'), - // ÁȤ߹þ¤ß¥Ö¥é¥¦¥¶ (¥ê¥Ã¥Á¥¯¥é¥¤¥¢¥ó¥È:PukiWiki¤¬¤½¤Î¤Þ¤Þ»È¤¨¤ë¤È¤¤¤¦°ÕÌ£¤Î) + // Embedded browsers (Non-rich) - // "PlayStation BB Navigator" (ACCESS NetFront, for SONY PlayStation 2) - // Sample: "Mozilla/4.0 (PS2; PlayStation BB Navigator 1.0) NetFront/3.0" - array('pattern'=>'#\bPlayStation\b.*\b(NetFront)/([0-9\.]+)#', 'profile'=>'default'), + // Windows CE (the others) + // Sample: "Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; 240x320 )" (GFORT, NTT DoCoMo) + array('pattern'=>'#\b(Windows CE)\b#', 'profile'=>'keitai'), - // ÁȤ߹þ¤ß¥Ö¥é¥¦¥¶ (¥ê¥Ã¥Á¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï¤Ê¤¤¤â¤Î) + // ACCESS "NetFront" / "Compact NetFront" and thier OEM + // Sample: "Mozilla/3.0 (AveFront/2.6)" ("SUNTAC OnlineStation", USB-Modem for PlayStation 2) + // Sample: "Mozilla/3.0(DDIPOCKET;JRC/AH-J3001V,AH-J3002V/1.0/0100/c50)CNF/2.0" (DDI Pocket: AirH" Phone by JRC) + array('pattern'=>'#\b(NetFront)/([0-9\.]+)#', 'profile'=>'keitai'), + array('pattern'=>'#\b(CNF)/([0-9\.]+)#', 'profile'=>'keitai'), + array('pattern'=>'#\b(AveFront)/([0-9\.]+)#', 'profile'=>'keitai'), + array('pattern'=>'#\b(AVE-Front)/([0-9\.]+)#', 'profile'=>'keitai'), // The same? // NTT-DoCoMo, i-mode (embeded Compact NetFront) and FOMA (embedded NetFront) phones // Sample: "DoCoMo/1.0/F501i", "DoCoMo/1.0/N504i/c10/TB/serXXXX" // c°Ê¹ß¤Ï²ÄÊÑ @@ -386,23 +490,13 @@ $agents = array( // Sample: "OPWV-SDK/62K UP.Browser/6.2.0.5.136 (GUI) MMP/2.0" array('pattern'=>'#\b(UP\.Browser)/([0-9\.]+)#', 'profile'=>'keitai'), - // ACCESS "NetFront" / "Compact NetFront" and thier OEM - // Sample: "Mozilla/4.0 (PDA; PalmOS/sony/model crdb/Revision:1.1.19) NetFront/3.0" (SONY Clie series) - // Sample: "Mozilla/4.0 (PDA; SL-A300/1.0,Embedix/Qtopia/1.1.0) NetFront/3.0" (Sharp Zaurus) - // Sample: "Mozilla/3.0 (AveFront/2.6)" ("SUNTAC OnlineStation", USB-Modem for PlayStation 2) - // Sample: "Mozilla/3.0(DDIPOCKET;JRC/AH-J3001V,AH-J3002V/1.0/0100/c50)CNF/2.0" (DDI Pocket: AirH" Phone by JRC) - array('pattern'=>'#\b(NetFront)/([0-9\.]+)#', 'profile'=>'keitai'), - array('pattern'=>'#\b(CNF)/([0-9\.]+)#', 'profile'=>'keitai'), - array('pattern'=>'#\b(AveFront)/([0-9\.]+)#', 'profile'=>'keitai'), - array('pattern'=>'#\b(AVE-Front)/([0-9\.]+)#', 'profile'=>'keitai'), // The same? - // Opera, dressing up as other embedded browsers // Sample: "Mozilla/3.0(DDIPOCKET;KYOCERA/AH-K3001V/1.4.1.67.000000/0.1/C100) Opera 7.0" (Like CNF at 'keitai'-mode) - array('pattern'=>'#\bDDIPOCKET\b.+\b(Opera) ([0-9\.]+)\b#', 'profile'=>'keitai'), + array('pattern'=>'#\b(?:DDIPOCKET|WILLCOM)\b.+\b(Opera) ([0-9\.]+)\b#', 'profile'=>'keitai'), // Planetweb http://www.planetweb.com/ // Sample: "Mozilla/3.0 (Planetweb/v1.07 Build 141; SPS JP)" ("EGBROWSER", Web browser for PlayStation 2) - array('pattern'=>'#\b(Planet[Ww]eb)/[a-z]?([0-9\.]+)#', 'profile'=>'keitai'), + array('pattern'=>'#\b(Planetweb)/v([0-9\.]+)#', 'profile'=>'keitai'), // DreamPassport, Web browser for SEGA DreamCast // Sample: "Mozilla/3.0 (DreamPassport/3.0)" @@ -417,21 +511,33 @@ $agents = array( array('pattern'=>'#^(Palmscape)/([0-9\.]+)#', 'profile'=>'keitai'), array('pattern'=>'#^(Xiino)/([0-9\.]+)#', 'profile'=>'keitai'), - // Sharp PDA Browser (Sharp Zaurus) + // SHARP PDA Browser (SHARP Zaurus) // Sample: "sharp pda browser/6.1[ja](MI-E1/1.0) " array('pattern'=>'#^(sharp [a-z]+ browser)/([0-9\.]+)#', 'profile'=>'keitai'), - // Windows CE - // Sample: "Mozilla/4.0 (compatible; MSIE 5.5; Windows CE; sigmarion3)" (sigmarion, Hand-held PC) - array('pattern'=>'#\b(Windows CE)\b#', 'profile'=>'keitai'), - // WebTV array('pattern'=>'#^(WebTV)/([0-9\.]+)#', 'profile'=>'keitai'), - // ¥Ç¥¹¥¯¥È¥Ã¥×¤¢¤ë¤¤¤Ï¥ê¥Ã¥Á¥¯¥é¥¤¥¢¥ó¥È (¥Ç¥Ð¥¤¥¹¤ò¼±Ê̤¹¤ëɬÍפ¬¤Ê¤¤¤â¤Î) + // Desktop-PC browsers + + // Opera (for desktop PC, not embedded) -- See BugTrack/743 for detail + // NOTE: Keep this pattern above MSIE and Mozilla + // Sample: "Opera/7.0 (OS; U)" (not disguise) + // Sample: "Mozilla/4.0 (compatible; MSIE 5.0; OS) Opera 6.0" (disguise) + array('pattern'=>'#\b(Opera)[/ ]([0-9\.]+)\b#', 'profile'=>'default'), + + // MSIE: Microsoft Internet Explorer (or something disguised as MSIE) + // Sample: "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" + array('pattern'=>'#\b(MSIE) ([0-9\.]+)\b#', 'profile'=>'default'), + + // Mozilla Firefox + // NOTE: Keep this pattern above Mozilla + // Sample: "Mozilla/5.0 (Windows; U; Windows NT 5.0; ja-JP; rv:1.7) Gecko/20040803 Firefox/0.9.3" + array('pattern'=>'#\b(Firefox)/([0-9\.]+)\b#', 'profile'=>'default'), - // ¥Ç¥Õ¥©¥ë¥ÈÀßÄê - array('pattern'=>'#^#', 'profile'=>'default'), // default + // Loose default: Including something Mozilla + array('pattern'=>'#^([a-zA-z0-9 ]+)/([0-9\.]+)\b#', 'profile'=>'default'), + array('pattern'=>'#^#', 'profile'=>'default'), // Sentinel ); ?>