예제 #1
0
파일: UA.php 프로젝트: poppen/p2
 /**
  * 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;
 }
예제 #2
0
/**
 * 旧スタイルの携帯ビュー変数 $_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();
    }
}