ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 9 years ago

Closed 9 years ago

Last modified 8 years ago

#3723 closed enhancement (fixed)

指定したメンバーの書き込みを全て削除する機能

Reported by: toraneko Owned by: toraneko
Priority: minor Milestone: OpenPNE2.13.7
Component: 指定しない Version:
Keywords: Cc:

Description (last modified by kudo)

■ 概要

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 9 years ago by toraneko

Description: modified (diff)

comment:2 Changed 9 years ago by toraneko

Description: modified (diff)

comment:3 Changed 9 years ago by kiwa

Milestone: OpenPNE2.13.7

2.13.7でみてみましょう。

comment:4 Changed 9 years ago by toraneko

Description: modified (diff)

comment:5 Changed 9 years ago by nakasone

Keywords: 確認中 added

以下のリビジョンで対応しました。

comment:6 Changed 9 years ago by nakasone

不要な閉じタグがあったので以下のリビジョンで削除しました。

comment:7 Changed 9 years ago by nagasawa

Keywords: 確認中 removed
Owner: changed from nobody to nagasawa
Status: newassigned
  • admin_do_delete_c_member_write_all
  • admin_page_delete_c_member_write_all_confirm

メンバーIDのチェックが行なわれていないので存在しないメンバーでもエラー画面に遷移しない

修正します

comment:8 Changed 9 years ago by nagasawa

Keywords: 確認中 added

r11070 で修正しました。

comment:9 Changed 9 years ago by ebihara

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" >&nbsp;&nbsp;&nbsp;日記、日記コメント、トピック・イベント、トピック・イベントのコメント、送信メッセージ、アルバム</li>
    </ul>
    
  • docblock コメントが間違っています。 param ではなく params です
    /**
     * 指定メンバーの書き込み一括削除
     * 以下の書き込みが削除対象
     * ・日記、日記コメント
     * ・トピック・イベント、トピック・イベントのコメント
     * ・送信メッセージ
     * ・アルバム
     *
     * @param int $c_member_id
     */
    

comment:10 Changed 9 years ago by nagasawa

Keywords: 確認中 added; 差し戻し removed

r11114 で修正しました。

comment:11 Changed 9 years ago by ebihara

Keywords: テスト待ち added; 確認中 removed

comment:12 Changed 9 years ago by fukamachi

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 9 years ago by nagasawa

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:14 Changed 9 years ago by nagasawa

Keywords: 確認中 added; 差し戻し removed

r11163 で修正しました。

comment:15 Changed 9 years ago by kiwa

Keywords: 差し戻し added; 確認中 removed

以下の現象を確認お願いします。

  1. メンバーAがメンバーBの日記にコメントする
  2. メンバーAを対象に書き込みの一括削除を行う
  3. 1で書き込んだメンバーAのコメントが削除されていない

削除対象に「日記コメント」が入っているので、1のような他人の日記へのコメントも削除されるべきだと思います。

comment:16 Changed 9 years ago by nagasawa

Keywords: 確認中 added; 差し戻し removed

r11164 で修正しました。

comment:17 in reply to:  16 Changed 9 years ago by ogawa

Keywords: 差し戻し added; 確認中 removed

r11164 で追加した部分は db_common_delete_c_member() ではおこなっていなかった処理なので、共通関数に入れるべきではありません。

comment:18 Changed 9 years ago by nagasawa

Keywords: 確認中 added; 差し戻し removed

r11173 で修正しました。

comment:19 Changed 9 years ago by kiwa

Keywords: 差し戻し added; 確認中 removed

以下の現象の確認をお願いします

  • 書き込み一括削除の確認画面のニックネームをクリックするとadmin_page_c_member_detailにではなくpage_h_homeに遷移する
  • 書き込み一括削除確認画面にて、削除対象についての表示がSNS名称設定に対応していない
  • 書き込み一括削除後、日記コメント記入履歴にリストが残る(コメントは削除されている)

comment:20 Changed 9 years ago by kiwa

r11180にてメンバーリストの操作ボタンが追加されています。ボタンをキレイにするのはメジャーバージョンアップまでにやりましょう。#3750で対応します。

comment:21 Changed 9 years ago by ogawa

合わせて修正してださい。DocBlock? 内の @params は @param の方が正しいのでこちらで統一してください。

comment:22 Changed 9 years ago by nagasawa

Keywords: 確認中 added; 差し戻し removed

r11188 でcomment:19,comment:21を修正しました。

comment:23 Changed 9 years ago by kiwa

Keywords: 差し戻し added; 確認中 removed

細かいですが、以下の修正をお願いします。

admin_page_delete_c_member_write_all_confirm

ニックネームのリンク

  • ページ名ランダム生成に対応していません
  • ADMIN_MODULE_NAMEの変更に対応していません
  • 管理画面内のリンクなので、リンク先を新しいウインドウで開く必要は無いと思われます

comment:24 Changed 9 years ago by nagasawa

Keywords: 確認中 added; 差し戻し removed

23:r11193 で修正しました。

comment:25 Changed 9 years ago by kiwa

Keywords: 差し戻し added; 確認中 removed
Owner: changed from nagasawa to kiwa
Status: assignednew

細かい修正やります

comment:26 Changed 9 years ago by kiwa

Keywords: 確認中 added; 差し戻し removed

r11306 にて取り込みました。

comment:27 in reply to:  26 ; Changed 9 years ago by kiwa

Replying to kiwa:

r11306 にて取り込みました。

r11306にてogawaさんから提供された細かい修正部分の取り込みを行いました

comment:28 in reply to:  27 Changed 9 years ago by kiwa

Keywords: 差し戻し added; 確認中 removed

Replying to kiwa:

OpenPNE/trunk/webapp/modules/admin/templates/list_c_member.tpl

の変更でWarningが発生しています。

comment:29 Changed 9 years ago by kiwa

Keywords: 確認中 added; 差し戻し removed

r11315 にてOpenPNE/trunk/webapp/modules/admin/templates/list_c_member.tplの変更を取り消しました。

comment:30 Changed 9 years ago by kiwa

Keywords: 確認中 removed
Owner: changed from kiwa to toraneko

#3830:指定したメンバーの書き込みを全て削除する機能 コードチェック

残りのコードチェックは上のチケットで行います。動作を確認したところ致命的な問題はなさそうなので、今回はこれで完了とします。

comment:31 Changed 9 years ago by kiwa

Resolution: fixed
Status: newclosed

comment:32 in reply to:  30 Changed 9 years ago by kiwa

Replying to kiwa:

#3830:指定したメンバーの書き込みを全て削除する機能 コードチェック

#3831の誤りです。

comment:33 Changed 8 years ago by kudo

Description: modified (diff)
Note: See TracTickets for help on using tickets.