X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=pukiwiki.ini.php;h=045f1aa54fcc0774baf9db5a98475c31f00d3551;hb=b8362b8cd2bc14575e3767d0203ffe0ae3cfc965;hp=b18f2a88bc0e4e10d90b2847ae2181f92ad460e1;hpb=1024f1f1f2cf7ebeadc947f6bf2750f054340861;p=pukiwiki%2Fpukiwiki.git diff --git a/pukiwiki.ini.php b/pukiwiki.ini.php index b18f2a8..045f1aa 100644 --- a/pukiwiki.ini.php +++ b/pukiwiki.ini.php @@ -1,286 +1,366 @@ /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 or KAKASI or none -//$pagereading_kanji2kana_converter = 'chasen'; -//$pagereading_kanji2kana_converter = 'kakasi'; +// 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'; + +///////////////////////////////////////////////// +// Authentication type +// AUTH_TYPE_NONE, AUTH_TYPE_FORM, AUTH_TYPE_BASIC, AUTH_TYPE_EXTERNAL, ... +// $auth_type = AUTH_TYPE_FORM; +// $auth_external_login_url_base = './exlogin.php'; + +///////////////////////////////////////////////// +// LDAP +$ldap_user_account = 0; // (0: Disabled, 1: Enabled) +// $ldap_server = 'ldap://ldapserver:389'; +// $ldap_base_dn = 'ou=Users,dc=ldap,dc=example,dc=com'; +// $ldap_bind_dn = 'uid=$login,dc=example,dc=com'; +// $ldap_bind_password = ''; + +///////////////////////////////////////////////// +// User prefix that shows its auth provider +$auth_provider_user_prefix_default = 'default:'; +$auth_provider_user_prefix_ldap = 'ldap:'; +$auth_provider_user_prefix_external = 'external:'; + + ///////////////////////////////////////////////// -// ¥æ¡¼¥¶ÄêµÁ +// 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' +); + +// Group definition +$auth_groups = array( + // Groupname => group members(users) + 'valid-user' => '', // Reserved 'valid-user' group contains all authenticated users + 'groupfoobar' => 'foo,bar', ); ///////////////////////////////////////////////// -// ǧ¾ÚÊý¼°¼ïÊÌ -// 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 Groupname or Username + '#PageForAllValidUsers#' => 'valid-user', + '#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; ///////////////////////////////////////////////// -// ¹¹¿·ÍúÎò¤òɽ¼¨¤¹¤ë¤È¤­¤ÎºÇÂç·ï¿ô -$maxshow = 80; +// $whatsnew: Max number of RecentChanges +$maxshow = 60; -// ºï½üÍúÎò¤ÎºÇÂç·ï¿ô(0¤Çµ­Ï¿¤·¤Ê¤¤) -$maxshow_deleted = 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'; -// ÍËÆüÇÛÎó -$weeklabels = $_msg_week; - ///////////////////////////////////////////////// -// 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; -// Äê´ü¥Ð¥Ã¥¯¥¢¥Ã¥×¤Î´Ö³Ö¤ò»þ´Ö(hour)¤Ç»ØÄꤷ¤Þ¤¹(0¤Ç¹¹¿·Ëè) -$cycle = 6; +// Bacukp interval and generation +$cycle = 3; // Wait N hours between backup (0 = no wait) +$maxage = 120; // Stock latest N backups -// ¥Ð¥Ã¥¯¥¢¥Ã¥×¤ÎºÇÂçÀ¤Âå¿ô -$maxage = 20; +// 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 + +// Use HTTP proxy server to get remote data $use_proxy = 0; -// proxy¥µ¡¼¥Ð̾ $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 @@ -291,100 +371,110 @@ $no_proxy = array( ); //////////////////////////////////////////////// -// Mail notify +// Mail related settings -// ¥Ú¡¼¥¸¤Î¹¹¿·»þ¤Ë¥á¡¼¥ë¤òÁ÷¿®¤¹¤ë +// Send mail per update of pages $notify = 0; -$notify_diff_only = 0; // º¹Ê¬¤À¤±¤òÁ÷¿®¤¹¤ë¤« -$notify_to = 'xxx@yyy.zz'; // To:¡Ê°¸Àè¡Ë -$notify_from = 'xxx@yyy.zz'; // From:¡ÊÁ÷¤ê¼ç¡Ë +// Send diff only +$notify_diff_only = 1; + +// SMTP server (Windows only. Usually specified at php.ini) +$smtp_server = 'localhost'; -// Subject:¡Ê·ï̾¡Ë $page¤Ë¥Ú¡¼¥¸Ì¾¤¬Æþ¤ë -$notify_subject = '[pukiwiki] $page'; +// Mail recipient (To:) and sender (From:) +$notify_to = 'to@example.com'; // To: +$notify_from = 'from@example.com'; // From: -// Äɲå᡼¥ë¥Ø¥Ã¥À -$notify_header = "From: $notify_from\r\nX-Mailer: PukiWiki/" . - S_VERSION . ' PHP/' . phpversion(); +// Subject: ($page = Page name wll be replaced) +$notify_subject = '[PukiWiki] $page'; + +// 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; -// SMTP¥µ¡¼¥Ð (Windows ¤Î¤ß, Ä̾ï¤Ï php.ini ¤Ç»ØÄê) -$smtp_server = 'localhost'; - -$pop_server = 'localhost'; // POP¥µ¡¼¥Ð -$pop_port = 110; // ¥Ý¡¼¥ÈÈÖ¹æ +$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; -$pop_userid = ''; // POP¥æ¡¼¥¶Ì¾ -$pop_passwd = ''; // POP¥Ñ¥¹¥ï¡¼¥É - ///////////////////////////////////////////////// -// °ìÍ÷¡¦¹¹¿·°ìÍ÷¤Ë´Þ¤á¤Ê¤¤¥Ú¡¼¥¸Ì¾(Àµµ¬É½¸½¤Ç) +// 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' ); ///////////////////////////////////////////////// -// ¸«½Ð¤·¹Ô¤Ë¸ÇÍ­¤Î¥¢¥ó¥«¡¼¤ò¼«Æ°ÁÞÆþ¤¹¤ë -$fixed_heading_anchor = 0; +// Automatically add fixed heading anchor +$fixed_heading_anchor = 1; ///////////////////////////////////////////////// -//
¤Î¹ÔƬ¥¹¥Ú¡¼¥¹¤ò¤Ò¤È¤Ä¼è¤ê½ü¤¯
-$preformat_ltrim = 0;
+// 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; -$agents = array( // pattern: ¥Ç¥Ð¥¤¥¹[¥Ö¥é¥¦¥¶]̾¤ª¤è¤Ó¥Ð¡¼¥¸¥ç¥ó¤Î¸¡½Ð¥Ñ¥¿¡¼¥ó profile: ½ê°¤¹¤ë¥°¥ë¡¼¥× +///////////////////////////////////////////////// +// User-Agent settings +// +// If you want to ignore embedded browsers for rich-content-wikisite, +// remove (or comment-out) all 'keitai' settings. +// +// If you want to to ignore desktop-PC browsers for simple wikisite, +// copy keitai.ini.php to default.ini.php and customize it. - // ÁȤ߹þ¤ß¥Ö¥é¥¦¥¶ (¥ê¥Ã¥Á¥¯¥é¥¤¥¢¥ó¥È:PukiWiki¤¬¤½¤Î¤Þ¤Þ»È¤¨¤ë¤È¤¤¤¦°ÕÌ£¤Î) +$agents = array( +// pattern: A regular-expression that matches device(browser)'s name and version +// profile: A group of browsers - // "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'), + // 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'), - // 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°Ê¹ß¤Ï²ÄÊÑ - // Sample: "DoCoMo/2.0 MST_v_SH2101V(c100;TB;W22H12;serXXXX;iccxxxx)" // ()¤ÎÃæ¤Ï²ÄÊÑ - array('pattern'=>'#^(DoCoMo)/([0-9\.]+)#', 'profile'=>'keitai'), + // 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'), - // Vodafone's embedded browser - // Sample: "J-PHONE/2.0/J-T03" // 2.0¤Ï"¥Ö¥é¥¦¥¶¤Î"¥Ð¡¼¥¸¥ç¥ó - // Sample: "J-PHONE/4.0/J-SH51/SNxxxx SH/0001a Profile/MIDP-1.0 Configuration/CLDC-1.0 Ext-Profile/JSCL-1.1.0" - array('pattern'=>'#^(J-PHONE)/([0-9\.]+)#', 'profile'=>'keitai'), + // Embedded browsers (Non-rich) - // Openwave(R) Mobile Browser (EZweb, WAP phone, etc) - // Sample: "OPWV-SDK/62K UP.Browser/6.2.0.5.136 (GUI) MMP/2.0" - array('pattern'=>'#\b(UP\.Browser)/([0-9\.]+)#', 'profile'=>'keitai'), + // 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/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'), @@ -392,13 +482,27 @@ $agents = array( // pattern: 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以降は可変 + // Sample: "DoCoMo/2.0 MST_v_SH2101V(c100;TB;W22H12;serXXXX;iccxxxx)" // ()の中は可変 + array('pattern'=>'#^(DoCoMo)/([0-9\.]+)#', 'profile'=>'keitai'), + + // Vodafone's embedded browser + // Sample: "J-PHONE/2.0/J-T03" // 2.0は"ブラウザの"バージョン + // Sample: "J-PHONE/4.0/J-SH51/SNxxxx SH/0001a Profile/MIDP-1.0 Configuration/CLDC-1.0 Ext-Profile/JSCL-1.1.0" + array('pattern'=>'#^(J-PHONE)/([0-9\.]+)#', 'profile'=>'keitai'), + + // Openwave(R) Mobile Browser (EZweb, WAP phone, etc) + // Sample: "OPWV-SDK/62K UP.Browser/6.2.0.5.136 (GUI) MMP/2.0" + array('pattern'=>'#\b(UP\.Browser)/([0-9\.]+)#', 'profile'=>'keitai'), + // 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)" @@ -413,19 +517,32 @@ $agents = array( // pattern: 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'), - // ¥Ç¥¹¥¯¥È¥Ã¥×¤¢¤ë¤¤¤Ï¥ê¥Ã¥Á¥¯¥é¥¤¥¢¥ó¥È (¥Ç¥Ð¥¤¥¹¤ò¼±Ê̤¹¤ëɬÍפ¬¤Ê¤¤¤â¤Î) - array('pattern'=>'#^#', 'profile'=>'default'), // default + // 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'), + + // Loose default: Including something Mozilla + array('pattern'=>'#^([a-zA-z0-9 ]+)/([0-9\.]+)\b#', 'profile'=>'default'), + array('pattern'=>'#^#', 'profile'=>'default'), // Sentinel ); -?>