Bug(バグ) #2495
HTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うとリンクの遷移先の指定が変更されてしまう場合がある
0%
Description
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に設定する。
Related issues
Associated revisions
(refs #2495) changed tiny_mce settings for convert_urls from 1 to 0.
History
#1
Updated by Yuma Sakata almost 12 years ago
- 3.6 で発生するか set to Yes (はい)
- 3.4 で発生するか set to 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
Updated by Minoru Takai almost 12 years ago
恐らくこれと同じ問題を別経緯で発見したのでコメントしておきます。
ガジェット設定でインフォメーションボックスの内容を編集する際に、 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
Updated by Minoru Takai almost 12 years ago
- Priority changed from Normal(通常) to High(高め)
この不具合が、OpenPNE利用者(SNS管理者)に対してどの程度不利益を与え得るものなのかについて、具体的にどの程度重大な問題であるかを判断できていませんが、テキストモードとプレビューモードという 2 つのモード間に関する基本機能が使えない(自身のSNSへのリンクを記述しているときに、正しいリンクの内容が失われる)という点で、基本機能に関する(ある程度影響のある)不具合であると考えています。
このチケットの優先度を High に上げておきます。
Normal でもよいのかもしれませんが、 HTML 挿入やガジェットの内容は、ある程度多く記述することが想定され、自身のSNSのURLをリンクとして書くこともそれなりにあると思いますが、あるタイミングでこの不具合により正しい内容が失われることは影響が大きい(修正されるべき問題)と考えて優先度を上げました。
#4
Updated by kaoru n about 11 years ago
- Assignee set to kaoru n
- 3.8 で発生するか set to Yes (はい)
3.8.2および3.9.0-devでも再現確認できました。
#5
Updated by kaoru n about 11 years ago
- Status changed from New(新規) to Accepted(着手)
#6
Updated by kaoru n about 11 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
https://github.com/openpne/OpenPNE3/pull/56
プルリクエストしました。
#7
Updated by kaoru n about 11 years ago
- Assignee deleted (
kaoru n)
#8
Updated by Rimpei Ogawa almost 11 years ago
- Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)
- Assignee set to kaoru n
差し戻しますので修正をお願いします。
ソースコードの変更内容について¶
- 外部ライブラリである tiny_mce_src.js を直接変更するべきではありません。
- OpenPNE のリッチテキストエディタのデフォルト値を変更するという意味では、 lib/widget/opWidgetFormRichTextarea.class.php の $tinyMCEConfigs で設定するのが適切だと考えられます。
チケットについて¶
- チケットの説明欄に原因と修正内容の説明を追記してください。ステータスをレビュー待ちにする時点で変更されているのが望ましいです。
- チケットの担当者欄はレビュー待ちやテスト待ちの間も変更しないでください。OpenPNEプロジェクトでは実装担当者を表す項目です。
#9
Updated by kaoru n almost 11 years ago
- Status changed from Rejected(差し戻し) to Accepted(着手)
- % Done changed from 50 to 0
#10
Updated by kaoru n almost 11 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
https://github.com/openpne/OpenPNE3/pull/56#issuecomment-11185570
修正しました。
チケットの説明欄は更新できないのでこちらに書きます。
原因¶
tiny_MCEの設定値(convert_urls)が'1'と設定されていたため
修正内容¶
lib/widget/opWidgetFormRichTextarea.class.php の $tinyMCEConfigsにて、convert_urlsの値を0に設定する。
#12
Updated by kaoru n almost 11 years ago
commitの修正を行いました。
https://github.com/openpne/OpenPNE3/pull/56
#13
Updated by Rimpei Ogawa almost 11 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- Target version set to OpenPNE 3.9.0-old
- % Done changed from 50 to 70
マージ&レビュー済みです。
#14
Updated by Akihiro KOBAYASHI about 9 years ago
- Related to Bug(バグ) #3413: 管理画面のhtml挿入で,テキストモードからプレビューモードに切り替えた後,テキストモードに戻った時に入力内容が消える場合がある added
#16
Updated by kaoru n almost 7 years ago
- Related to Task(タスク) #4071: OpenPNEに同梱されている TinyMCE 3.4.4 が IE11 に対応していないため、バージョンアップについて調査する added
#17
Updated by isao sano over 6 years ago
- Status changed from Pending Testing(テスト待ち) to Won't fix(対応せず)
- % Done changed from 70 to 0
OpenPNE 3.8.4 にて対応済みであったため、対応せずとします。