123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- <?php
- /**
- * @file
- * Functions for integrating the Rules module with User Stats.
- */
- /**
- * Implements hook_rules_event_info().
- * @ingroup rules
- */
- function user_stats_rules_event_info() {
- $defaults = array(
- 'group' => t('User Stats'),
- 'module' => 'user_stats',
- );
- return array(
- 'user_stats_login_count_increment' => $defaults + array(
- 'label' => t('User login count increased'),
- 'variables' => user_stats_rules_events_variables(),
- ),
- 'user_stats_login_count_decrement' => $defaults + array(
- 'label' => t('User login count decreased'),
- 'variables' => user_stats_rules_events_variables(),
- ),
- 'user_stats_login_count_reset' => $defaults + array(
- 'label' => t('User login count reset'),
- 'variables' => user_stats_rules_events_variables(),
- ),
- 'user_stats_post_count_increment' => $defaults + array(
- 'label' => t('User post count increased'),
- 'variables' => user_stats_rules_events_variables(),
- ),
- 'user_stats_post_count_decrement' => $defaults + array(
- 'label' => t('User post count decreased'),
- 'variables' => user_stats_rules_events_variables(),
- ),
- 'user_stats_post_count_reset' => $defaults + array(
- 'label' => t('User post count reset'),
- 'variables' => user_stats_rules_events_variables(),
- ),
- 'user_stats_ip_address_insert' => $defaults + array(
- 'label' => t('User has a new IP address'),
- 'variables' => user_stats_rules_events_variables(),
- ),
- 'user_stats_day_older' => $defaults + array(
- 'label' => t('User is a day older'),
- 'variables' => user_stats_rules_events_variables_day_older(),
- ),
- );
- }
- /**
- * Defines variables for user_stats_rules_event_info().
- */
- function user_stats_rules_events_variables() {
- return array(
- 'uid' => array(
- 'type' => 'number',
- 'hidden' => TRUE,
- ),
- 'statistic_value' => array(
- 'type' => 'number',
- 'label' => t('Value of the statistic'),
- ),
- 'user' => array(
- 'type' => 'user',
- 'label' => t("User who's statistics have changed"),
- 'handler' => 'user_stats_events_argument_user',
- ) //+ rules_events_global_user_argument(),
- // ^ Do we need to set the acting user?
- );
- }
- /**
- * Defines variables for user_stats_rules_event_info().
- *
- * The variables for a day_older event are slightly different to other items.
- */
- function user_stats_rules_events_variables_day_older() {
- // Get the default variables.
- $variables = user_stats_rules_events_variables();
- $variables['statistic_value']['handler'] = 'user_stats_events_argument_day_older';
- return $variables;
- }
- /**
- * Handler to load user object on event.
- *
- * @param $uid
- * Unique user ID used to load the user object.
- * @param $value
- * Value of the statistic, not relevant to loading the user object,
- * but passed through by Rules engine.
- *
- * @return
- * Loaded user object.
- */
- function user_stats_events_argument_user($uid, $value) {
- return user_load($uid);
- }
- /**
- * Handler to load number of days user has been registered on event.
- */
- function user_stats_events_argument_day_older($uid, $value) {
- return user_stats_get_stats('reg_days', $uid);
- }
|