プロジェクト

全般

プロフィール

Bug(バグ) #2495

HTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うとリンクの遷移先の指定が変更されてしまう場合がある

Kiwa Sakai12年以上前に追加. 約7年前に更新.

ステータス:
Won't fix(対応せず)
優先度:
High(高め)
担当者:
対象バージョン:
開始日:
2011-10-14
期日:
進捗率:

0%

3.6 で発生するか:
Yes (はい)
3.8 で発生するか:
Yes (はい)

説明

Overview (現象)

管理画面:HTML 挿入(/pc_backend.php/design/html)にて、テキストモード→プレビューモード→テキストモード の切り替えをおこなうと a タグの href の値の頭に "/" があった場合に "../../" に変更されてしまう。

再現手順

1. HTML 挿入 の「テキストモード」で以下のような入力を行う

<a href="/">ホーム</a><br>
<a href="/member/profile">プロフィール</a>

2. 「プレビューモード」に変更する
3. 「テキストモード」に戻す
4. 1 で入力した値が以下のように変更されている ("/" が "../../" に変更されている)
<p><a href="../../">ホーム</a><br /> <a href="../../member/profile">プロフィール</a></p>

現象確認バージョン

OpenPNE 3.6.0

Causes (原因)

tiny_MCEの設定値(convert_urls)が'1'と設定されていたため

Way to fix (修正内容)

lib/widget/opWidgetFormRichTextarea.class.php の $tinyMCEConfigsにて、convert_urlsの値を0に設定する。


関連するチケット

関連している OpenPNE 3 - Bug(バグ) #2496: HTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うと <hr> の color 属性が消える Rejected(差し戻し) 2015-11-06
関連している OpenPNE 3 - Backport(バックポート) #3256: HTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うとリンクの遷移先の指定が変更されてしまう場合がある Fixed(完了) 2012-11-12
関連している OpenPNE 3 - Backport(バックポート) #3257: HTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うとリンクの遷移先の指定が変更されてしまう場合がある Fixed(完了) 2012-11-12
関連している OpenPNE 3 - Bug(バグ) #3413: 管理画面のhtml挿入で,テキストモードからプレビューモードに切り替えた後,テキストモードに戻った時に入力内容が消える場合がある Rejected(差し戻し) 2013-09-30
関連している OpenPNE 3 - Task(タスク) #4071: OpenPNEに同梱されている TinyMCE 3.4.4 が IE11 に対応していないため、バージョンアップについて調査する New(新規) 2016-12-20

関係しているリビジョン

リビジョン 65b0d295 (差分)
kaoru n11年以上前に追加

(refs #2495) changed tiny_mce settings for convert_urls from 1 to 0.

履歴

#1 Yuma Sakata12年以上前に更新

  • 3.6 で発生するかYes (はい) にセット
  • 3.4 で発生するかYes (はい) にセット

再現確認できました。

Environment (再現バージョン)

OpenPNE3.4.18
OpenPNE3.6.1

Way to repro (再現手順)

1. 管理画面HTML 挿入ページ(/pc_backend.php/design/html)にアクセスする
2. HTML 挿入 の「テキストモード」で以下のような入力を行う

<a href="/">ホーム</a><br>
<a href="/member/profile">プロフィール</a>

3. 「プレビューモード」に変更する
4. 「テキストモード」に戻す
5. 手順2 で入力した値が以下のように変更されている("/" が "../../" に変更されている)
<p><a href="../../">ホーム</a><br /> <a href="../../member/profile">プロフィール</a></p>

Way to fix (修正内容)

管理画面HTML 挿入ページにて切り替えを行った場合、リンクの遷移先の指定が変更されないように修正お願いします。

#2 Minoru Takai約12年前に更新

恐らくこれと同じ問題を別経緯で発見したのでコメントしておきます。

ガジェット設定でインフォメーションボックスの内容を編集する際に、 http://sns1.example.com で運用しているとして、自身の SNS の URL をリンクにしようと、

<a href="http://sns1.example.com/">link1</a>
<a href="http://sns2.example.com/">link2</a>

のように記述し、テキストモード→プレビューモード→テキストモードと切り替えを行なったら同様の問題が生じました。別のドメイン sns1.example.com の方についてはこの問題は生じていません。

<a href="http://sns1.example.com/foo">1</a>
<a href="http://sns1.example.com/pc_frontend.php">2</a>
<a href="http://sns1.example.com/pc_backend.php">3</a>
<a href="http://sns1.example.com/pc_backend.php/foo">4</a>
<a href="http://sns1.example.com/pc_backend.php/design/gadget">5</a>

これをテキストモードで入力し、(テキストモード)→プレビューモード→テキストモードと切り替えると次のようになります。見やすいように改行を加えます。

<p>
<a href="../../../../pc_frontend.php">1</a>
<a href="../../../../pc_frontend.php">2</a>
<a href="../../../">3</a>
<a href="../../../foo">4</a>
<a href="../../gadget">5</a>
</p>

HTML 挿入におけるフォームに限らない問題であることを示しておきます。

#3 Minoru Takai約12年前に更新

  • 優先度Normal(通常) から High(高め) に変更

この不具合が、OpenPNE利用者(SNS管理者)に対してどの程度不利益を与え得るものなのかについて、具体的にどの程度重大な問題であるかを判断できていませんが、テキストモードとプレビューモードという 2 つのモード間に関する基本機能が使えない(自身のSNSへのリンクを記述しているときに、正しいリンクの内容が失われる)という点で、基本機能に関する(ある程度影響のある)不具合であると考えています。

このチケットの優先度を High に上げておきます。

Normal でもよいのかもしれませんが、 HTML 挿入やガジェットの内容は、ある程度多く記述することが想定され、自身のSNSのURLをリンクとして書くこともそれなりにあると思いますが、あるタイミングでこの不具合により正しい内容が失われることは影響が大きい(修正されるべき問題)と考えて優先度を上げました。

#4 kaoru n11年以上前に更新

  • 担当者kaoru n にセット
  • 3.8 で発生するかYes (はい) にセット

3.8.2および3.9.0-devでも再現確認できました。

#5 kaoru n11年以上前に更新

  • ステータスNew(新規) から Accepted(着手) に変更

#6 kaoru n11年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

https://github.com/openpne/OpenPNE3/pull/56
プルリクエストしました。

#7 kaoru n11年以上前に更新

  • 担当者 を削除 (kaoru n)

#8 Rimpei Ogawa11年以上前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更
  • 担当者kaoru n にセット

差し戻しますので修正をお願いします。

ソースコードの変更内容について

  • 外部ライブラリである tiny_mce_src.js を直接変更するべきではありません。
    • OpenPNE のリッチテキストエディタのデフォルト値を変更するという意味では、 lib/widget/opWidgetFormRichTextarea.class.php の $tinyMCEConfigs で設定するのが適切だと考えられます。

チケットについて

  • チケットの説明欄に原因と修正内容の説明を追記してください。ステータスをレビュー待ちにする時点で変更されているのが望ましいです。
  • チケットの担当者欄はレビュー待ちやテスト待ちの間も変更しないでください。OpenPNEプロジェクトでは実装担当者を表す項目です。

#9 kaoru n11年以上前に更新

  • ステータスRejected(差し戻し) から Accepted(着手) に変更
  • 進捗率50 から 0 に変更

#10 kaoru n11年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

https://github.com/openpne/OpenPNE3/pull/56#issuecomment-11185570
修正しました。

チケットの説明欄は更新できないのでこちらに書きます。

原因

tiny_MCEの設定値(convert_urls)が'1'と設定されていたため

修正内容

lib/widget/opWidgetFormRichTextarea.class.php の $tinyMCEConfigsにて、convert_urlsの値を0に設定する。

#11 kaoru n11年以上前に更新

  • 説明 を更新 (diff)

チケット本文の原因と修正内容を更新しました。

#12 kaoru n11年以上前に更新

commitの修正を行いました。
https://github.com/openpne/OpenPNE3/pull/56

#13 Rimpei Ogawa11年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 対象バージョンOpenPNE 3.9.0-old にセット
  • 進捗率50 から 70 に変更

マージ&レビュー済みです。

#14 Akihiro KOBAYASHI9年以上前に更新

  • 関連している Bug(バグ) #3413: 管理画面のhtml挿入で,テキストモードからプレビューモードに切り替えた後,テキストモードに戻った時に入力内容が消える場合がある を追加

#16 kaoru n7年以上前に更新

  • 関連している Task(タスク) #4071: OpenPNEに同梱されている TinyMCE 3.4.4 が IE11 に対応していないため、バージョンアップについて調査する を追加

#17 isao sano約7年前に更新

  • ステータスPending Testing(テスト待ち) から Won't fix(対応せず) に変更
  • 進捗率70 から 0 に変更

OpenPNE 3.8.4 にて対応済みであったため、対応せずとします。

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