/** * UAが携帯表示対象ならtrueを返す * isK()と意味を区別する予定があるので、それまでの間は使わないでおく(現時点、使っていない) * (isMobileByQuery()などは使われているが) * isM()にしたい気も。 * * @static * @access public * @params string $ua UAを指定するなら * @return boolean */ function isMobile($ua = null) { static $cache_ = null; // 強制指定があれば if (isset($GLOBALS['_UA_force_mode'])) { // ここはキャッシュしない return $GLOBALS['_UA_force_mode'] == $GLOBALS['_UA_mobile_query']; } // 引数のUAが無指定なら、クエリー指定を参照 if (is_null($ua)) { if (UA::getQueryValue()) { return UA::isMobileByQuery(); } } // 引数のUAが無指定なら、キャッシュ有効 if (is_null($ua) and !is_null($cache_)) { return $cache_; } $isMobile = false; if ($nuam =& UA::getNet_UserAgent_Mobile($ua)) { if (!$nuam->isNonMobile()) { $isMobile = true; } } /* // NetFront系(含むPSP)もモバイルに if (!$isMobile) { $isMobile = UA::isNetFront($ua); } // Nintendo DSもモバイルに if (!$isMobile) { $isMobile = UA::isNintendoDS($ua); } */ // 引数のUAが無指定なら、キャッシュ保存 if (is_null($ua)) { $cache_ = $isMobile; } return $isMobile; }
/** * 旧スタイルの携帯ビュー変数 $_conf['ktai'] 等をセット * * @return void */ function _setOldStyleKtaiQuery() { global $_conf; $b = UA::getQueryKey(); // ?k=1は旧仕様。?b=kが新しい。 // 後方互換用措置 if (!empty($_GET['k']) || !empty($_POST['k'])) { $_REQUEST[$b] = $_GET[$b] = 'k'; } // $_conf[$b]($_conf['b']) も使わないようにして、UA::getQueryValue()を利用する方向。 $_conf[$b] = UA::getQueryValue(); // $_conf['ktai'] は使わない方向。 // UA::isK(), UA::isPC() を利用する。 // 強制PCビュー指定(b=pc) if (UA::isPCByQuery()) { $_conf['ktai'] = false; // 強制携帯ビュー指定(b=k) } elseif (UA::isMobileByQuery()) { $_conf['ktai'] = true; } // ↓k_at_a, k_at_q, k_input_ht は使わない方向。 // UA::getQueryKey(), UA::getQueryValue(), P2View::getInputHiddenKTag() を利用する。 $_conf['k_at_a'] = ''; $_conf['k_at_q'] = ''; $_conf['k_input_ht'] = ''; if ($_conf[$b]) { //output_add_rewrite_var($b, htmlspecialchars($_conf[$b], ENT_QUOTES)); $b_hs = hs($_conf[$b]); $_conf['k_at_a'] = "&{$b}={$b_hs}"; $_conf['k_at_q'] = "?{$b}={$b_hs}"; $_conf['k_input_ht'] = P2View::getInputHiddenKTag(); } }