#2113 closed defect (fixed)
BIZ:グループの管理者が SNS を退会するとグループを削除できなくなる
Reported by: | kiwa | Owned by: | shingo |
---|---|---|---|
Priority: | minor | Milestone: | OpenPNE2.12.4 |
Component: | pne-biz | Version: | 2.10.x & 2.12.x & 2.14.x |
Keywords: | OpenPNE2.10.10 OpenPNE2.13.2 | Cc: |
Description (last modified by )
■現象
BIZ:グループの管理者が SNS を退会するとグループを削除できなくなる。
■原因
グループの管理者が退会した場合でも、コミュニティと違って管理者交代などの救済措置が用意されていないため、グループの編集・削除がおこなえない。
■修正内容
グループの管理者のSNS退会時、 biz_group_member から当該メンバーの情報を削除し、グループ内のメンバーのうち最も早く参加したメンバー(biz_group_member_id が若いメンバー)を管理者に変更し、管理者交代通知メールを新しい管理者へ送信するようにした。
ただし、退会者しか所属していなかったグループは、メンバー退会時に削除される。
■関連情報
元のDescription
http://sns.openpne.jp/?m=pc&a=page_c_topic_detail&target_c_commu_topic_id=3331 より転記
OpenPNE-2.10.3を利用しています。 BIZのグループのことで質問があります。 グループの管理者を強制退会させたため、グループ自体を削除できなくなりました。 どうすれば、グループを削除できるのでしょうか? ご存知の方がいらしたら、ぜひ、教えてください。
Change History (26)
comment:1 Changed 13 years ago by
Priority: | minor → major |
---|
comment:2 Changed 13 years ago by
Keywords: | 再現待ち removed |
---|---|
Priority: | major → minor |
comment:3 Changed 13 years ago by
Version: | 2.8.x & 2.10.x & 2.11.x → 2.10.x & 2.12.x & 2.13.x |
---|
comment:4 Changed 13 years ago by
Milestone: | → OpenPNE2.10.7 |
---|
comment:5 Changed 13 years ago by
Keywords: | OpenPNE2.10.8 OpenPNE2.13.2 added |
---|---|
Milestone: | OpenPNE2.10.7 → OpenPNE2.12.2 |
comment:6 Changed 13 years ago by
Keywords: | OpenPNE2.10.9 added; OpenPNE2.10.8 removed |
---|---|
Milestone: | OpenPNE2.12.2 → OpenPNE2.12.3 |
comment:7 Changed 13 years ago by
Keywords: | OpenPNE2.10.10 added; OpenPNE2.10.9 removed |
---|---|
Milestone: | OpenPNE2.12.3 → OpenPNE2.12.4 |
comment:8 Changed 13 years ago by
Keywords: | OpenPNE2.13.3 added; OpenPNE2.13.2 removed |
---|
comment:9 Changed 12 years ago by
Owner: | changed from nobody to shingo |
---|---|
Status: | new → assigned |
修正します。
comment:10 Changed 12 years ago by
Keywords: | OpenPNE2.13.2 added; OpenPNE2.13.3 removed |
---|
comment:11 Changed 12 years ago by
Description: | modified (diff) |
---|---|
Keywords: | OpenPNE2.13.2 確認待ち added; OpenPNE2.13.2 removed |
comment:12 follow-up: 14 Changed 12 years ago by
Keywords: | OpenPNE2.13.2 確認中 added; OpenPNE2.13.2 確認待ち removed |
---|
keywords は「確認中」としてください。
comment:13 Changed 12 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
- 削除対象のメンバーしか所属していないグループが存在した場合、そのグループが削除されることなく残ってしまいます。
- db_common_delete_c_member() 内: 文を複数行に渡って記述する場合、文字列結合演算子(.)を代入演算子(=)に揃えて記述することを推奨します。
583 $sql = 'SELECT c_member_id FROM biz_group_member WHERE biz_group_id = ?'. 584 ' ORDER BY biz_group_member_id';
参考:http://framework.zend.com/manual/ja/coding-standard.coding-style.html#coding-standard.coding-style.strings.string-concatenation文字列を "." 演算子で連結する際には、コードを読みやすくするために ひとつの文を複数行に分けることもできます。そのような場合は、 2 行目以降の行頭にスペースを入れ、各行の "." 演算子が最初の行の "=" 演算子と同じ位置にくるようにしなければなりません。 $sql = "SELECT `id`, `name` FROM `people` " . "WHERE `name` = 'Susan' " . "ORDER BY `name` ASC ";
- db_common_delete_c_member() 内: do_common_send_mail_biz_group_admin_change() をコールする際、引数を intval() によって型変換していますが、これはあまり好ましくないのではないかという気がします。htmlspecialchars() 関数によるエスケープなどにも同じことが言えますが、このような処理は、変換後の値を用いる直前におこなうようにするのが望ましいです。
※int型への型変換だとデメリットを感じにくいとは思いますが。。。
588 do_common_send_mail_biz_group_admin_change(intval($new_admin_id), intval($biz_group['biz_group_id']));
参考:http://ml.php.gr.jp/pipermail/php-users/2008-February/033747.html> $val=htmlspecialchars($_POST['input'],ENT_QUOTES,'SJIS'); あと、これも定石ですが、htmlspecialcharsはHTML出力の直前に かけるようにしてください。 頭っからエスケープしたり、その値をDBに突っ込んだりすると、作った 直後は良くてもそのうち面倒なことになりかねないので。
- do_common_send_mail_biz_group_admin_change() 内: 演算子の前後には半角スペースを入れてください。
873 require_once OPENPNE_MODULES_BIZ_DIR.'/biz/lib/mysql_functions.php';
参考:http://framework.zend.com/manual/ja/coding-standard.coding-style.html#coding-standard.coding-style.strings.string-concatenation文字列の連結には "." 演算子を使用しなければなりません。コードを読みやすくするため、 "." 演算子の前後には常にスペースを入れなければなりません。
- do_common_send_mail_biz_group_admin_change() 内: $biz_group_member_to と 代入演算子(=)の間に不要と思われるスペースが1個余分に存在します。
875 $biz_group_member_to = $biz_group_member = db_member_c_member4c_member_id($biz_group_id_to, true);
- do_common_send_mail_biz_group_admin_change() 内: 関数内で参照していない変数 $biz_group_member への代入があります。
875 $biz_group_member_to = $biz_group_member = db_member_c_member4c_member_id($biz_group_id_to, true);
- do_common_send_mail_biz_group_admin_change() 内: この $to_address の初期化は不要です。
877 $to_address = '';
comment:15 follow-up: 16 Changed 12 years ago by
Keywords: | 確認中 added; 差し戻し removed |
---|
comment:18 Changed 12 years ago by
Description: | modified (diff) |
---|
comment:19 Changed 12 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
- 2.10.x への修正に存在する、コミュニティ管理者交代処理の不要な型変換の除去などが 2.12.x と trunk のコードに対しておこなわれていません
- 2.10.x への修正に存在する、不要な $to_address の初期化の除去などが 2.12.x と trunk のコードに対しておこなわれていません。また、 2.12.x と trunk には不要なスペースなどが散見されます
comment:20 Changed 12 years ago by
Keywords: | 確認中 added; 差し戻し removed |
---|
comment:21 Changed 12 years ago by
Keywords: | テスト待ち added; 確認中 removed |
---|
グループの画像が削除されない問題については #2996 で対応するとのことです。
このチケットの範囲の修正は特に問題ないと思います。
comment:22 Changed 12 years ago by
Keywords: | テスト待ち removed |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
確認しました。問題ありません。
comment:23 Changed 12 years ago by
Description: | modified (diff) |
---|---|
Summary: | BIZ:グループの管理人を強制退会させるとグループが削除できない → BIZ:グループの管理人が SNS を退会するとグループが削除できなくなる |
本現象は強制退会に限らないため Summary と Description を変更しました。
comment:24 Changed 12 years ago by
Description: | modified (diff) |
---|---|
Summary: | BIZ:グループの管理人が SNS を退会するとグループが削除できなくなる → BIZ:グループの管理人が SNS を退会するとグループを削除できなくなる |
comment:25 Changed 12 years ago by
Description: | modified (diff) |
---|---|
Summary: | BIZ:グループの管理人が SNS を退会するとグループを削除できなくなる → BIZ:グループの管理者が SNS を退会するとグループを削除できなくなる |
「管理人」ではなく正しくは「管理者」なので、Summary と Description を修正しました。
comment:26 Changed 12 years ago by
Description: | modified (diff) |
---|
Note: See
TracTickets for help on using
tickets.
再現できました
■version
■手順