Bug(バグ) #4680
完了プロフィールページに表示されるフレンドリストにおいて a タグのパラメータとして img タグが埋め込まれてしまう
100%
説明
Overview (現象)¶
フレンドリストに表示されるメンバーの出力内容が下記のようになってしまう。
<a private_text="<img alt="" src="/images/no_image.gif" height="76" width="76" />" href="/member/xxx"><img alt="" src="/images/no_image.gif" height="76" width="76" /></a>
Causes (原因)¶
https://github.com/openpne/OpenPNE3/blob/master/apps/pc_frontend/templates/_partsNineTable.php#L22
<?php echo op_link_to_member($options->list[$j], array('link_target' => op_image_tag_sf_image($options->list[$j]->getImageFileName(), array('size' => '76x76')), 'private_text' => op_image_tag_sf_image(NULL, array('size' => '76x76'))), '@obj_member_profile', $options->use_op_link_to_member_private) ?>
において、'private_text' に img タグが埋め込まれているため。
Way to fix (修正内容)¶
https://github.com/openpne/OpenPNE3/blob/master/lib/helper/opUtilHelper.php#L1063
return isset($options['private_text']) ? $options['private_text'] : __('Private<br />Member');
$options['private_text'] になにかしら設定されていれば、web 公開されたプロフィールページにおいて非公開メンバーとして表示されるため、img タグではなく「private_text」と埋め込むように修正する。
kaoru n さんが6ヶ月前に更新
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
https://github.com/openpne/OpenPNE3/pull/712
にてプルリクエストしました
Rimpei Ogawa さんが3ヶ月前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
private_text に img タグが含まれているのは問題なく、
「private_text」という値にしてしまうと、
web全体に公開のプロフィール画面を非ログイン状態でみた場合にプロフィール画像が表示される部分に「private_text」という文字列が出力されてしまいます。
問題なのは出力された a タグの属性に private_text が含まれてしまっていることで、
原因は op_link_to_member() 内で private_text オプションを link_to() に渡してしまっている部分です。
op_link_to_member() 内で link_to() を呼び出す
https://github.com/openpne/OpenPNE3/blob/master/lib/helper/opUtilHelper.php#L1079
より前に以下の処理を加える修正がよいと思います。
unset($options['private_text']);
kaoru n さんが3ヶ月前に更新
- ステータス を Rejected(差し戻し) から Pending Review(レビュー待ち) に変更
https://github.com/openpne/OpenPNE3/pull/712
プルリクエスト修正しました
Rimpei Ogawa さんが3ヶ月前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
レビューOKです。