echo $_conf['p2_version_id']; ?> " /> <?php echo $_conf['touch_icon_ht']; ?> <script type="text/javascript" src="iui/iui.js?<?php echo $_conf['p2_version_id']; ?> "></script> <script type="text/javascript" src="js/json2.js?<?php echo $_conf['p2_version_id']; ?> "></script> <?php if (UA::isAndroidWebKit()) { ?> <script type="text/javascript">window.jsxpath = { 'useNative': false };</script> <script type="text/javascript" src="js/javascript-xpath.js?<?php echo $_conf['p2_version_id']; ?> "></script> <?php } ?> <script type="text/javascript" src="js/iphone.js?<?php echo $_conf['p2_version_id']; ?> "></script> <script type="text/javascript" src="js/menu_i.js?<?php echo $_conf['p2_version_id'];
<meta name="format-detection" content="telephone=no"> <link rel="apple-touch-icon" type="image/png" href="img/touch-icon/p2-serif.png"> <link rel="stylesheet" type="text/css" media="screen" href="css/iphone.css?{$_conf['p2_version_id']}"> <script type="text/javascript" src="js/iphone.js?{$_conf['p2_version_id']}"></script> EOS; } // endswitch // 強制iPhoneビュー時 } elseif ($_conf['iphone']) { $_conf['extra_headers_ht'] .= <<<EOS <link rel="stylesheet" type="text/css" media="screen" href="css/iphone.css?{$_conf['p2_version_id']}"> <script type="text/javascript" src="js/iphone.js?{$_conf['p2_version_id']}"></script> EOS; } // AndroidではJavaScript-XPathを使う if ($_conf['iphone'] && UA::isAndroidWebKit()) { $_conf['extra_headers_ht'] .= <<<EOS <script type="text/javascript">window.jsxpath = { 'useNative': false };</script> <script type="text/javascript" src="js/javascript-xpath.js?{$_conf['p2_version_id']}"></script> EOS; } // iPhone用スキン if ($_conf['iphone'] && isset($_conf['expack.iphone.skin'])) { if (strpos($_conf['expack.iphone.skin'], DIRECTORY_SEPARATOR) === false) { $iskin = 'skin/iphone/' . $iskin . '.css'; if (file_exists($iskin)) { $iskin_mtime = filemtime($iskin); $_conf['extra_headers_ht'] .= <<<EOS <link rel="stylesheet" type="text/css" media="screen" href="{$iskin}?{$iskin_mtime}"> EOS; }
/** * クライアントの種類を返す * * @param void * @return string */ function _toolbar_i_client_type() { global $_conf; switch ($_conf['client_type']) { case 'i': $type = UA::isAndroidWebKit() ? 'android' : 'iphone'; break; case 'i': $type = 'mobile'; break; case 'pc': default: $type = 'other'; } return $type; }
/** * UAがiPhone, iPod touchならtrueを返す。 * * @static * @access public * @param string $aua UAを指定するなら * @return boolean */ function isIPhoneGroup($aua = null) { static $cache_ = null; // 強制指定があればチェック if (isset($GLOBALS['_UA_force_mode'])) { // 移行の便宜上、効力を弱めている // return ($GLOBALS['_UA_force_mode'] == $GLOBALS['_UA_iphonegroup_query']); if ($GLOBALS['_UA_force_mode'] == $GLOBALS['_UA_iphonegroup_query']) { return true; } } $ua = $aua; // UAの引数が無指定なら、 if (is_null($aua)) { // クエリー指定を参照 if (UA::getQueryValue()) { //// 後方互換上、b=kでもiPhoneとみなすことを許す。 //if (!UA::isMobileByQuery()) { return UA::isIPhoneGroupByQuery(); //} } // (キャッシュするほどではないかも) // 引数のUAが無指定なら、キャッシュ有効 if (!is_null($cache_)) { return $cache_; } // クライアントのUAで判別 if (isset($_SERVER['HTTP_USER_AGENT'])) { $ua = $_SERVER['HTTP_USER_AGENT']; } } $isiPhoneGroup = false; // iPhone // Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3 // iPod touch // Mozilla/5.0 (iPod; U; CPU like Mac OS X; ja-jp) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A110a Safari/419.3 if (preg_match('/(iPhone|iPod)/', $ua) || UA::isAndroidWebKit($ua)) { $isiPhoneGroup = true; } // UAの引数が無指定なら、キャッシュ保存 if (is_null($aua)) { $cache_ = $isiPhoneGroup; } return $isiPhoneGroup; }