uc_roles.rules_defaults.inc 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. /**
  3. * @file
  4. * Default Rules configurations for uc_roles.module.
  5. */
  6. /**
  7. * Implements hook_defualt_rules_configuration().
  8. */
  9. function uc_roles_default_rules_configuration() {
  10. $configs = array();
  11. // Renew all the roles on an order when the status matches what's set
  12. // in the roles admin settings.
  13. $rule = rules_reaction_rule();
  14. $rule->label = t('Grant or renew purchased roles');
  15. $rule->active = TRUE;
  16. $rule->event('uc_order_status_update');
  17. $rule->condition('data_is', array('data:select' => 'updated_order:order-status', 'value' => 'payment_received'))
  18. ->action('uc_roles_order_renew', array('order:select' => 'updated_order', 'message' => FALSE));
  19. $configs['uc_role_renewal'] = $rule;
  20. $order_args = array(
  21. 'order:select' => 'order',
  22. 'expiration:select' => 'expiration',
  23. );
  24. $user_args = array(
  25. 'account:select' => 'account',
  26. 'expiration:select' => 'expiration',
  27. );
  28. // Notify the user when a role is granted.
  29. $rule = rules_reaction_rule();
  30. $rule->label = t('Notify customer when a role is granted');
  31. $rule->active = TRUE;
  32. $rule->event('uc_roles_notify_grant');
  33. $rule->action('uc_roles_order_email', array(
  34. 'order:select' => 'order',
  35. 'expiration:select' => 'expiration',
  36. 'from' => uc_store_email_from(),
  37. 'addresses' => '[order:email]',
  38. 'subject' => uc_get_message('uc_roles_grant_subject'),
  39. 'message' => uc_get_message('uc_roles_grant_message'),
  40. 'format' => filter_default_format(),
  41. ));
  42. $configs['uc_role_notify_grant'] = $rule;
  43. // Notify the user when a role is revoked.
  44. $rule = rules_reaction_rule();
  45. $rule->label = t('Notify customer when a role is revoked');
  46. $rule->active = TRUE;
  47. $rule->event('uc_roles_notify_revoke');
  48. $rule->action('uc_roles_user_email', array(
  49. 'account:select' => 'account',
  50. 'expiration:select' => 'expiration',
  51. 'from' => uc_store_email_from(),
  52. 'addresses' => '[account:mail]',
  53. 'subject' => uc_get_message('uc_roles_revoke_subject'),
  54. 'message' => uc_get_message('uc_roles_revoke_message'),
  55. 'format' => filter_default_format(),
  56. ));
  57. $configs['uc_role_notify_revoke'] = $rule;
  58. // Notify the user when a role is renewed.
  59. $rule = rules_reaction_rule();
  60. $rule->label = t('Notify customer when a role is renewed');
  61. $rule->active = TRUE;
  62. $rule->event('uc_roles_notify_renew');
  63. $rule->action('uc_roles_order_email', array(
  64. 'order:select' => 'order',
  65. 'expiration:select' => 'expiration',
  66. 'from' => uc_store_email_from(),
  67. 'addresses' => '[order:email]',
  68. 'subject' => uc_get_message('uc_roles_renew_subject'),
  69. 'message' => uc_get_message('uc_roles_renew_message'),
  70. 'format' => filter_default_format(),
  71. ));
  72. $configs['uc_role_notify_renew'] = $rule;
  73. // Notify the user when a role is about to expire.
  74. $rule = rules_reaction_rule();
  75. $rule->label = t('Notify customer when a role is about to expire');
  76. $rule->active = TRUE;
  77. $rule->event('uc_roles_notify_reminder');
  78. $rule->action('uc_roles_user_email', array(
  79. 'account:select' => 'account',
  80. 'expiration:select' => 'expiration',
  81. 'from' => uc_store_email_from(),
  82. 'addresses' => '[account:mail]',
  83. 'subject' => uc_get_message('uc_roles_reminder_subject'),
  84. 'message' => uc_get_message('uc_roles_reminder_message'),
  85. 'format' => filter_default_format(),
  86. ));
  87. $configs['uc_role_notify_reminder'] = $rule;
  88. return $configs;
  89. }