プロジェクト

全般

プロフィール

Bug(バグ) #3170

スマートフォンでログインが必要でないページを開くとエラーが発生する

Yuya Watanabe11年以上前に追加. 約4年前に更新.

ステータス:
New(新規)
優先度:
Normal(通常)
担当者:
-
対象バージョン:
開始日:
2012-08-23
期日:
進捗率:

0%

3.6 で発生するか:
No (いいえ)
3.8 で発生するか:
Unknown (未調査)

説明

概要

スマートフォンでログインが必要でないページを開くとサーバ側でエラーが発生する.
具体的には,下記のようなエラーが発生する.下記のものはログインページを開いた場合である.

PHP Fatal error:  Call to undefined function javascript_tag() /path/to/openpne/apps/pc_frontend/templates/_layout.php on line 109,

再現手順

  1. スマートフォンでログインページを開く
  2. メニューから「PC版に切り替え」を選択する
  3. Web サーバのエラーログを確認する.
    • 問題のエラーログが発生する

原因

下記ファイルで javascript_tag() 関数を呼び出しているが,この関数を定義する部分が ログインページなどの opToolkit::isSecurePage() が false となるようなページで読み込まれず,エラーが発生する.

apps/pc_frontend/templates/_layout.php

106 <?php if ($sf_request->isSmartphone(false)): ?>
107 <div id="SmtSwitch">
108 <a href="javascript:void(0)" id="SmtSwitchLink"><?php echo __('View this page on smartphone style') ?></a>
109 <?php echo javascript_tag('
110 document.getElementById("SmtSwitchLink").addEventListener("click", function() {
111   opCookie.set("disable_smt", "0");
112   location.reload();
113 }, false);                                                                                                         
114 ') ?>
115 </div>                                                                                                             
116 <?php endif ?>

 11 <?php if (opConfig::get('enable_jsonapi') && opToolkit::isSecurePage()): ?>
 12 <?php
 13 use_helper('Javascript');

関連するチケット

関連している OpenPNE 3 - Bug(バグ) #3019: [3.8RC1]iPhoneからログインできません Works for me(再現せず) 2012-04-23
関連している OpenPNE 3 - Bug(バグ) #3485: PC向けUIの未ログイン時に jQuery 等のライブラリがロードされない Fixed(完了) 2013-11-15

履歴

#1 Yuya Watanabe11年以上前に更新

  • 題名ログインが必要でないページを開くとエラーが発生する から スマートフォンでログインが必要でないページを開くとエラーが発生する に変更

#2 Yuya Watanabe11年以上前に更新

#3019 の原因がこのチケットとなります.

#3 kaoru n約4年前に更新

  • 対象バージョンOpenPNE 3.10.x にセット

他の形式にエクスポート: Atom PDF