Posted by h7110y on June 19, 2011 at 3:27am
はじめまして!
現在、大学生向けのコミュニティサイトを学生だけの手で構築しています。
その中で、サイト内メッセ―ジを導入したいと考えているのですが、ユーザー毎に送信可能なメッセージ数を制限したいと考えています。
GoogleやDrupal本家サイトでも探してみたところ、"Private Message Limits"モジュールを発見しましたが、どうやらこれは一定期間内に送信可能な
メッセージ数を指定できるモジュールで、ユーザー毎の指定や一定期間内に関わらずn通まで送信可能というような従量制のような運用はできないことがわかりました。
機能の詳細としては、申請があったユーザー(学生団体主催者やサークル代表など)のみに、n通までユーザーにメッセ―ジを送ることができるというものにしたいと考えています。
また、一旦送信可能メッセージ数がゼロになった場合、あるいは残り少なくなってきた場合には、改めて申請をもらうことで管理側が自由に送信数を付与できるようにしたいと考えています。
他に案を考えたところ、UserPointモジュール・Ruleモジュールと組み合わせて送信ごとにポイント数を減らす(or付加する)ことで、一定のポイント数に達した場合にメッセージを使用不可にする
というシステムが組めないかと考えましたが、初心者の私にはこの案が実現可能なのか、はたまたこれ以外にもっと容易な方法があるのかの判断がつきませんでした。
もし、お分かりになられる方がいらっしゃいましたら、策を授けていただけますと幸いです。
どうぞよろしくお願いします!
Comments
使ったことがないのであやふやですが、ひとつのヒントになるか
使ったことがないのであやふやですが、ひとつのヒントになるかもしれない情報として聞いてください。
Privatemsgモジュールのprojectページを見ると、Rulesとの統合もされていて、6.x-2.xでは受信数の制限ができるように読めます。
送信数の制限ができるか、または望みのActionがRulesに設定されるかはちょっとわからないのですが、
6.x-2.x系を試してみてはどうでしょうか。
UserPointsとの連動も可能なようです。
これもRulesのTriggerとして読み込まれるかは試してみる必要があります。
また、プログラムをする前提になるかもしれませんが
messeageを投げたときのhookは用意されているので、カスタムモジュールを作ることで
望みの動作は得られると思いますよ。
Message hooks Berdir's API Documentation