#3723 closed enhancement (fixed)
指定したメンバーの書き込みを全て削除する機能
Reported by: | toraneko | Owned by: | toraneko |
---|---|---|---|
Priority: | minor | Milestone: | OpenPNE2.13.7 |
Component: | 指定しない | Version: | |
Keywords: | Cc: |
Description (last modified by )
■ 概要
http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=20993&comment_count=13
特定ユーザに書き込まれたものを事後対策として管理画面から削除出来るようにします。
■仕様
< 機能内容 > ユーザ指定で、書き込み一括削除を行えるようにする
< 機能詳細 > 管理者用「メンバーリスト」画面の「操作パネル」欄に、「書き込み一括削除」ボタンを 設ける 本ボタン押下により、指定メンバーの書き込みを全て削除できるようにする
< 修正内容 > (1) 管理者画面
1.メンバーリスト画面の「操作パネル」欄に、「書き込み一括削除」ボタンを追加 2.[1]のボタンが押された後、確認画面を表示 3.[2]の確認画面でOKが押された場合、以下の項目を全て削除する
・日記
・日記コメント
・トピック
・トピックコメント
・イベント
・イベントコメント
・アルバム
・送信メッセージ
現段階では、対象者がコミュニティ管理者のコミュニティは削除しない
また、対象者の受信メッセージも削除はしていない
(2) PC/携帯画面
変更なし
(3) DB
変更なし
(4) config.php
変更なし
(5) ソース OpenPNE2.13.6ベースで作成
< 備考 > メンバーリスト管理画面の「書き込み一括削除」ボタンに表示する画像ファイル名を 「./modules/admin/img/icn_delete_all.gif」としてありますが、適切な名前に変更 してください
■関連情報
修正ソース
- r10996でコミットしました。
- r10997 日記コメント削除時のパラメタ不正修正
Change History (33)
comment:1 Changed 14 years ago by
Description: | modified (diff) |
---|
comment:2 Changed 14 years ago by
Description: | modified (diff) |
---|
comment:3 Changed 14 years ago by
Milestone: | → OpenPNE2.13.7 |
---|
comment:4 Changed 14 years ago by
Description: | modified (diff) |
---|
comment:7 Changed 14 years ago by
Keywords: | 確認中 removed |
---|---|
Owner: | changed from nobody to nagasawa |
Status: | new → assigned |
- admin_do_delete_c_member_write_all
- admin_page_delete_c_member_write_all_confirm
メンバーIDのチェックが行なわれていないので存在しないメンバーでもエラー画面に遷移しない
修正します
comment:9 Changed 14 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
- コミュニティは削除しなくて大丈夫でしょうか?(大丈夫ならOKです)
- db_common_delete_c_member_write_all() でおこなっている投稿削除処理で、以下のものが db_common_delete_c_member() のものと重複しています。共通化してください。
- 日記削除処理
- アルバム削除処理
- アイコン画像がありません(認識はしていると思いますが。もちろんリリースまでに準備できるよう動いていますよね?)。
- admin_do_delete_c_member_write_all と admin_page_delete_c_member_write_all_confirm のバリデーションルールが微妙に異なっています。
- webapp/modules/admin/templates/delete_c_member_write_all_confirm.tpl の 15 行目、 strong 要素の閉じタグ直前に不要な < があります。
- 以下のようなマークアップは正直言ってあまり歓迎されるものではない気がします。無理矢理リストにしているのであれば別の方法でマークアップしてください。そうでなければリストを入れ子にするなどしてください。
<ul class="cautionList"> <li class="caution" ><strong>※以下の投稿が削除対象になります<</strong></li> <li class="caution" > 日記、日記コメント、トピック・イベント、トピック・イベントのコメント、送信メッセージ、アルバム</li> </ul>
- docblock コメントが間違っています。 param ではなく params です
/** * 指定メンバーの書き込み一括削除 * 以下の書き込みが削除対象 * ・日記、日記コメント * ・トピック・イベント、トピック・イベントのコメント * ・送信メッセージ * ・アルバム * * @param int $c_member_id */
comment:11 Changed 14 years ago by
Keywords: | テスト待ち added; 確認中 removed |
---|
comment:12 Changed 14 years ago by
Keywords: | 差し戻し added; テスト待ち removed |
---|
db_common_delete_c_member_write_all 内のSQLパラメータの指定間違いがあります。
1033 $sql = 'DELETE FROM c_diary WHERE c_member_id = ?'; 1034 db_query($sql, $params);
このときdb_queryの第2引数は$params(削除するメンバーID)ではなく$c_diaryのIDです。
comment:13 Changed 14 years ago by
r11070時点でのソースでしょうか?
現在その行は削除され、関数化されています。
指定されたメンバーの日記をすべて削除するので$paramsに$c_member_idを指定してるのは
問題ないかと思います。
ソース眺めててミスが見つかってしまいました。
db_diary_delete4c_member_id($c_member_id) 1318 $single = array(intval($c_member_id)); 1319 $c_diary_list = db_get_all($sql, $params, 'main');
$paramsではなく$singleですね・・・。
comment:15 Changed 14 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
以下の現象を確認お願いします。
- メンバーAがメンバーBの日記にコメントする
- メンバーAを対象に書き込みの一括削除を行う
- 1で書き込んだメンバーAのコメントが削除されていない
削除対象に「日記コメント」が入っているので、1のような他人の日記へのコメントも削除されるべきだと思います。
comment:17 Changed 14 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
r11164 で追加した部分は db_common_delete_c_member() ではおこなっていなかった処理なので、共通関数に入れるべきではありません。
comment:19 Changed 14 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
以下の現象の確認をお願いします
- 書き込み一括削除の確認画面のニックネームをクリックするとadmin_page_c_member_detailにではなくpage_h_homeに遷移する
- 書き込み一括削除確認画面にて、削除対象についての表示がSNS名称設定に対応していない
- 書き込み一括削除後、日記コメント記入履歴にリストが残る(コメントは削除されている)
comment:20 Changed 14 years ago by
r11180にてメンバーリストの操作ボタンが追加されています。ボタンをキレイにするのはメジャーバージョンアップまでにやりましょう。#3750で対応します。
comment:22 Changed 14 years ago by
Keywords: | 確認中 added; 差し戻し removed |
---|
r11188 でcomment:19,comment:21を修正しました。
comment:23 Changed 14 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
細かいですが、以下の修正をお願いします。
admin_page_delete_c_member_write_all_confirm
ニックネームのリンク
- ページ名ランダム生成に対応していません
- ADMIN_MODULE_NAMEの変更に対応していません
- 管理画面内のリンクなので、リンク先を新しいウインドウで開く必要は無いと思われます
comment:25 Changed 14 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|---|
Owner: | changed from nagasawa to kiwa |
Status: | assigned → new |
細かい修正やります
comment:26 follow-up: 27 Changed 14 years ago by
Keywords: | 確認中 added; 差し戻し removed |
---|
r11306 にて取り込みました。
comment:27 follow-up: 28 Changed 14 years ago by
comment:28 Changed 14 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
Replying to kiwa:
OpenPNE/trunk/webapp/modules/admin/templates/list_c_member.tpl
の変更でWarningが発生しています。
comment:29 Changed 14 years ago by
Keywords: | 確認中 added; 差し戻し removed |
---|
r11315 にてOpenPNE/trunk/webapp/modules/admin/templates/list_c_member.tplの変更を取り消しました。
comment:30 follow-up: 32 Changed 14 years ago by
Keywords: | 確認中 removed |
---|---|
Owner: | changed from kiwa to toraneko |
#3830:指定したメンバーの書き込みを全て削除する機能 コードチェック
残りのコードチェックは上のチケットで行います。動作を確認したところ致命的な問題はなさそうなので、今回はこれで完了とします。
comment:31 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:32 Changed 14 years ago by
comment:33 Changed 14 years ago by
Description: | modified (diff) |
---|
2.13.7でみてみましょう。