12565回ユーザー削除(退会)時に、各モジュールのコンテンツも同時に削除されないのは「各モジュールにコンテンツが依存しているわけだから」というのは解かりました。荒業になりますですか?☆けっこう大変そうだけれど、他の方法でも、もしくはプラグインを応用してでも何かいいアイデアはないですかね...。荒業になりますですか?☆けっこう大変そうだけれど、他の方法でも、もしくはプラグインを応用してでも何かいいアイデアはないですかね...。削除されたユーザーのコンテンツはゲスト扱いされるので、ゲストではなくなんかのグループにしたり、とかなんとか、、できるのかな...★ユーザアカウントの削除まわりに、がっつりと改造を加える必要が生じますね。インストールイされているモジュールIDをもとに、各モジュールの[投稿コンテンツが収容されているテーブル]の中の当該ユーザIDのデータ業を削除するsectionをブン回す、って感じですね。......その場合にいちばんうっとうしいのが、モジュール毎に、投稿者のIDを収容するフィールド名が異なるって所かと。#20345やはり大変なんですね...★でも、データベースからそのユーザーの、そのモジュールの、テーブルの、データを消す、っていうことで解決できるわけですね。うーん、難しそうだけれど、やってみます。SQLの呪文を勉強しなきゃならないのはめんどうかなあ、うう、あれ、でもユーザーのdeleteに関するファイルにちょっとつけたせばいい感じかな、☆モジュールを増やしたりなんだりしないサイトならこれでいいとして、もし他のモジュールにも汎用できるっていうものだと、全部削除モジュールを1個作らなきゃならないわけですね。挑戦してみようかしら。PHPもよくわからないけれども。#20366XCLではユーザアカウントの削除が完了した場合に「Legacy.Admin.Event.UserDelete.Success」←管理画面より削除した場合または「'Legacy.Event.UserDelete'」←ユーザが自分で退会した場合というイベントが発生します。これらのイベントに紐つけられた関数やメソッドには引数として削除されたユーザのアカウントがXoopsUserオブジェクトとして渡されます。これらのイベントに紐つけた関数やメソッドをプリロードを使って登録すればユーザ削除時に何かの処理を追加することは可能です。本当は各モジュールがこの処理を行うべきなんですけどね。#20366引用:やはり大変なんですね...★でも、データベースからそのユーザーの、そのモジュールの、テーブルの、データを消す、っていうことで解決できるわけですね。うーん、難しそうだけれど、やってみます。SQLの呪文を勉強しなきゃならないのはめんどうかなあ、うう、あれ、でもユーザーのdeleteに関するファイルにちょっとつけたせばいい感じかな、☆モジュールを増やしたりなんだりしないサイトならこれでいいとして、もし他のモジュールにも汎用できるっていうものだと、全部削除モジュールを1個作らなきゃならないわけですね。挑戦してみようかしら。PHPもよくわからないけれども。ベースなので、プリロードとデリゲートを使ってユーザ削除時の処理を追加することができます。置いておくと、ユーザ退会時にデータが削除されます(テストしていないので動かない可能性も。事前に動作をテストしてください)。データを削除しています(使っていない機能のブロックは消してください)。引用:XCLではユーザアカウントの削除が完了した場合に「Legacy.Admin.Event.UserDelete.Success」←管理画面より削除した場合または「'Legacy.Event.UserDelete'」←ユーザが自分で退会した場合というイベントが発生します。ベースなので、プリロードとデリゲートを使ってユーザ削除時の処理を追加することができます。こと略しすぎだったかな。コードまでつけていただいてありがとうございますー☆このコード、どうにか自分でやろうとしているときにkernel/member.phpの中を見たんですが、そこにあったのと似てるなあ、と思いました。みるといろいろ違いますね★なんとなく仕組みもわかってきたきがします、あやうくkernelの中にあるファイルをいじるところでした。プリロードって簡単に言うと、カーネルとかをいじらないでいろいろできる、っていう解釈でいいのかしら。今のところそんな風に思っています。肝心のUser_ExtendedDelete.class.phpというプリロードですが、まだ試せていません。;は↓これを動かそうとしてるんですよね。うう、どうしたら、いいんでしょ。$whrってなんでしょうか、気になるんですが、関係ないですよね...。$xoopsDB;をmyalbumの処理の頭に入れてみてください。引用:画面ってどうなりますか?真っ白?真っ白にエラー文字だけです。ユーザーは消えたけどモジュール依存の情報は消えなかった...的です。$xoopsDB;をmyalbumの処理の頭に入れてみてください。#20412試してみました。$xoopsDB;をmyalbumの処理の頭に入れてみてください。エラーはなくなりましたが、やはりコンテンツは残ったままになってしまいます。$xoopsDB;はどういう働きをさせるんでしょうか?調べてみるとなんとなく、xoops全体の変更を許可する、みたいな呪文のようですね(文字通りそのまんまですね★)エラーが出るということは実際にこのプリロードが働いてる、ってことになるし、コードにはちゃんと削除するように命令されているはずですし...。この動きをトレースできたりしないんですか??フラッシュだとtrace();みたいなことで追跡できるのでいつも使ってます。#20419他の動きも見てみました。Messageはちゃんと動いて消されていました!これだけでもすごいなあ、...myalbumのハックも少々やっているせいかしら。myalbumのモジュール内の操作ではちゃんと消せているので問題ないと思うんですが...。;ここのインクルードがワンスになってたのが原因だったみたいです。検証してみないとまだわかりませんが、とにかく動いたようです☆うれちい!ああ、もうどれくらい悩んでいたんだろ。#20408さっき自分に返信して解決報告をしてしまったので、改めて報告します。;ここのインクルードがワンスになってたのが原因だったみたいです。検証してみないと他の影響があるかどうかまだわかりませんが、とにかく動いたようです☆include_onceだと読み込まれていませんでした。これはすでに読み込んでいるので、再度は読み込まないよ、っていう風に無視されちゃってたんですね。大昔の話でしたが、おかげさまで、できてよかったです。本当にありがとうございます。