ロールに有効期限を持たせる方法について

Events happening in the community are now at Drupal community events on www.drupal.org.
ewdp2006's picture

Drupal6を使っています。

特定のロールを持ったユーザーについて、作成から半年を経過すると状態がブロックに変わるようにしたいです。

ruleモジュールにて下記の設定で対応しようとしていましたが、数値の比較の?部分に何を入力すれば良いのか、そもそもこの設定が正しいのか、が分かりません。
 ・イベント:ユーザーアカウントを作成 発生時
 ・条件1:ユーザーがロール(A)を保有
   And:数値の比較
        数値1:[account:user-created-since]
        操作:大なり記号
        数値2:?
 ・Do:アカウントをブロック

設定方法についてご存知の方がいれば教えていただけないでしょうか?
また、もっと簡単にロールに有効期限を持たせられる方法やモジュールをご存知でしたら、教えていただけますでしょうか。

よろしくお願いします。

Comments

user_expire1 または role_expire2

blauerberg's picture

user_expire1 または role_expire2 を使ってみてはどうでしょうか?

ありがとうございます。

ewdp2006's picture

ありがとうございます。
role_expireを試してみたのですが、有効期限を過ぎていても何の変化もありませんでした。。。
【試した事】
全てのコンテンツが見れるロール(A)と、コンテンツが見れないロール(B)を用意。Aのみ有効期限を1日に設定。
・ロールをAとB両方持つユーザーを作成→期限を過ぎても全てのコンテンツが見れる。
・ロールをのみ持つユーザーを作成→期限を過ぎても全てのコンテンツが見れる。

user_expireはDrupal6に対応しておらず、試せませんでした。。

期限が過ぎた後、cron

dokumori's picture

期限が過ぎた後、cron を走らせてみましたか?
role_expire.module のソースを見たところ、cron の実装があり、そこでユーザーのロールをアップデートしているので、cron の実行なしにはこのモジュールによるロールの変更は実現できないと思います。

ewdp2006's picture

cronを設定したところ、role_expireモジュールがちゃんと働きました。
cronの事がよく分かっていなかったのでスルーしてきてましたが、poormanscronモジュールで簡単に対応できました。

ご回答下さった皆様、ありがとうございました。

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: