X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=pukiwiki.ini.php;h=5357bfc5026232af8ed569bce1216ccadd1f38c1;hb=refs%2Fheads%2Fbugtrack_2452_remove_create_function2;hp=82c1569b1d4e94b6b8420622e607fe54bcbb99bf;hpb=604b2833e58ea03042f8d688ca6afd1a180aea2d;p=pukiwiki%2Fpukiwiki.git diff --git a/pukiwiki.ini.php b/pukiwiki.ini.php index 82c1569..5357bfc 100644 --- a/pukiwiki.ini.php +++ b/pukiwiki.ini.php @@ -1,315 +1,532 @@ '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; +// AutoTicketLink +$ticket_link_sites = array( +/* + array( + 'key' => 'phpbug', + 'type' => 'redmine', // type: redmine, jira or git + 'title' => 'PHP :: Bug #$1', + 'base_url' => 'https://bugs.php.net/bug.php?id=', + ), + array( + 'key' => 'asfjira', + 'type' => 'jira', + 'title' => 'ASF JIRA [$1]', + 'base_url' => 'https://issues.apache.org/jira/browse/', + ), + array( + 'key' => 'pukiwiki-commit', + 'type' => 'git', + 'title' => 'PukiWiki revision $1', + 'base_url' => 'https://ja.osdn.net/projects/pukiwiki/scm/git/pukiwiki/commits/', + ), +*/ +); + ///////////////////////////////////////////////// -// ºï½üÍúÎò¤ÎºÇÂç·ï¿ô(0¤Çµ­Ï¿¤·¤Ê¤¤) -$maxshow_deleted = 0; +// $whatsnew: Max number of RecentChanges +$maxshow = 60; + +// $whatsdeleted: Max number of RecentDeleted +// (0 = Disabled) +$maxshow_deleted = 60; + ///////////////////////////////////////////////// -// ÊÔ½¸¤¹¤ë¤³¤È¤Î¤Ç¤­¤Ê¤¤¥Ú¡¼¥¸¤Î̾Á° , ¤Ç¶èÀÚ¤ë -$cantedit = array( $whatsnew,$whatsdeleted ); +// 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; + +// 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 = Minimum days to lost your data +// 3 x 120 / 24 = 15 + +// Splitter of backup data (NOTE: Too dangerous to change) +define('PKWK_SPLITTER', '>>>>>>>>>>'); + ///////////////////////////////////////////////// -// Äê´ü¥Ð¥Ã¥¯¥¢¥Ã¥×¤Î´Ö³Ö¤ò»þ´Ö(hour)¤Ç»ØÄꤷ¤Þ¤¹(0¤Ç¹¹¿·Ëè) -$cycle = 6; -///////////////////////////////////////////////// -// ¥Ð¥Ã¥¯¥¢¥Ã¥×¤ÎºÇÂçÀ¤Âå¿ô -$maxage = 20; -///////////////////////////////////////////////// -// ¥Ð¥Ã¥¯¥¢¥Ã¥×¤ÎÀ¤Âå¤ò¶èÀÚ¤ëʸ»úÎó -// (Ä̾ï¤Ï¤³¤Î¤Þ¤Þ¤ÇÎɤ¤¤¬¡¢Ê¸¾ÏÃæ¤Ç»È¤ï¤ì¤ë²ÄǽÀ­ -// ¤¬¤¢¤ì¤Ð¡¢»È¤ï¤ì¤½¤¦¤Ë¤Ê¤¤Ê¸»ú¤òÀßÄꤹ¤ë) -$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.xxx.yyy.zzz'; -// proxy ¥Ý¡¼¥ÈÈÖ¹æ + +$proxy_host = 'proxy.example.com'; $proxy_port = 8080; -// proxy¤ÎBasicǧ¾Ú¤¬É¬Íפʾì¹ç¤Ë1 + +// Do Basic authentication $need_proxy_auth = 0; -// proxy¤ÎBasicǧ¾ÚÍÑID,PW -$proxy_auth_user = 'foo'; -$proxy_auth_pass = 'foo_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 -// '10.0.0.0/8' // private class A -// '172.16.0.0/12' // private class B -// '192.168.0.0/16' // private class C -//'no-proxy.com', + 'localhost', // localhost + '127.0.0.0/8', // loopback +// '10.0.0.0/8' // private class A +// '172.16.0.0/12' // private class B +// '192.168.0.0/16' // private class C +// 'no-proxy.com', ); //////////////////////////////////////////////// -// ¥Ú¡¼¥¸¤Î¹¹¿·»þ¤Ë¥á¡¼¥ë¤òÁ÷¿®¤¹¤ë +// Mail related settings + +// Send mail per update of pages $notify = 0; -// º¹Ê¬¤À¤±¤òÁ÷¿®¤¹¤ë -$notify_diff_only = 0; -// To:¡Ê°¸Àè¡Ë -$notify_to = 'xxx@yyy.zz'; -// From:¡ÊÁ÷¤ê¼ç¡Ë -$notify_from = 'xxx@yyy.zz'; -// Subject:¡Ê·ï̾¡Ë $page¤Ë¥Ú¡¼¥¸Ì¾¤¬Æþ¤ë -$notify_subject = '[pukiwiki] $page'; -// ÄɲåإåÀ -$notify_header = "From: $notify_from\r\nX-Mailer: PukiWiki/".S_VERSION." PHP/".phpversion(); -// POP Before SMTP ¤ò¼Â»Ü -$smtp_auth = 0; -// SMTP¥µ¡¼¥Ð̾¤ò»ØÄꤹ¤ë (Windows ¤Î¤ß, Ä̾ï¤Ï php.ini ¤Ç»ØÄê) + +// Send diff only +$notify_diff_only = 1; + +// SMTP server (Windows only. Usually specified at php.ini) $smtp_server = 'localhost'; -// POP¥µ¡¼¥Ð̾¤ò»ØÄꤹ¤ë + +// Mail recipient (To:) and sender (From:) +$notify_to = 'to@example.com'; // To: +$notify_from = 'from@example.com'; // From: + +// 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 = ''; + +///////////////////////////////////////////////// +// Mail: POP / APOP Before SMTP + +// Do POP/APOP authentication before send mail +$smtp_auth = 0; + $pop_server = 'localhost'; -// POP ¤Î¥Ý¡¼¥ÈÈÖ¹æ (Ä̾ï 110) -$pop_port = 110; -// ǧ¾Ú¤Ë APOP ¤òÍøÍѤ¹¤ë¤«¤É¤¦¤« (APOP ÍøÍÑ»þ¤Ï 1¡¢°Ê³°¤Ï POP3) -$pop_auth_use_apop = 0; -// POP ¥æ¡¼¥¶Ì¾ +$pop_port = 110; $pop_userid = ''; -// POP ¥Ñ¥¹¥ï¡¼¥É $pop_passwd = ''; +// 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; + +// Page redirect rules +$page_redirect_rules = array( + //'#^FromProject($|(/(.+)$))#' => 'ToProject$1', + //'#^FromProject($|(/(.+)$))#' => function($matches) { return 'ToProject' . $matches[1]; }, +); + ///////////////////////////////////////////////// -// ¥Ú¡¼¥¸Ì¾¤Ë½¾¤Ã¤Æ¼«Æ°¤Ç¡¢¿÷·Á¤È¤¹¤ë¥Ú¡¼¥¸¤ÎÆɤ߹þ¤ß +// Template setting + $auto_template_func = 1; $auto_template_rules = array( -'((.+)\/([^\/]+))' => '\2/template' + '((.+)\/([^\/]+))' => '\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; + +///////////////////////////////////////////////// +// Logging updates (0 or 1) +$logging_updates = 0; +$logging_updates_log_dir = '/var/log/pukiwiki'; + +///////////////////////////////////////////////// +// 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. $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'), + + // Embedded browsers (Non-rich) + + // 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°Ê¹ß¤Ï²ÄÊÑ - // Sample: "DoCoMo/2.0 MST_v_SH2101V(c100;TB;W22H12;serXXXX;iccxxxx)" // ()¤ÎÃæ¤Ï²ÄÊÑ + // 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/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'), @@ -317,12 +534,53 @@ $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 - // 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'), + // 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'=>'#\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(Planetweb)/v([0-9\.]+)#', 'profile'=>'keitai'), + + // DreamPassport, Web browser for SEGA DreamCast + // Sample: "Mozilla/3.0 (DreamPassport/3.0)" + array('pattern'=>'#\b(DreamPassport)/([0-9\.]+)#', 'profile'=>'keitai'), + + // Palm "Web Pro" http://www.palmone.com/us/support/accessories/webpro/ + // Sample: "Mozilla/4.76 [en] (PalmOS; U; WebPro)" + array('pattern'=>'#\b(WebPro)\b#', 'profile'=>'keitai'), + + // ilinx "Palmscape" / "Xiino" http://www.ilinx.co.jp/ + // Sample: "Xiino/2.1SJ [ja] (v. 4.1; 153x130; c16/d)" + array('pattern'=>'#^(Palmscape)/([0-9\.]+)#', 'profile'=>'keitai'), + array('pattern'=>'#^(Xiino)/([0-9\.]+)#', 'profile'=>'keitai'), + + // 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'), + + // 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'), + + // Loose default: Including something Mozilla + array('pattern'=>'#^([a-zA-z0-9 ]+)/([0-9\.]+)\b#', 'profile'=>'default'), - // ¥Ç¥¹¥¯¥È¥Ã¥×¤¢¤ë¤¤¤Ï¥ê¥Ã¥Á¥¯¥é¥¤¥¢¥ó¥È (¥Ç¥Ð¥¤¥¹¤ò¼±Ê̤¹¤ëɬÍפ¬¤Ê¤¤¤â¤Î) - array('pattern'=>'#^#', 'profile'=>'default'), // default + array('pattern'=>'#^#', 'profile'=>'default'), // Sentinel ); -?>