commerce_file.rules_defaults.inc in Commerce File 7
Default rules configuration for Commerce Files.
File
commerce_file.rules_defaults.incView source
<?php
/**
* @file
* Default rules configuration for Commerce Files.
*/
/**
* Implements hook_default_rules_configuration().
*/
function commerce_file_default_rules_configuration() {
$rules = array();
// file download access
$rule = rules_reaction_rule();
$rule->label = t('Control access to licensed file downloads');
$rule->tags = array(
'commerce_file',
);
$rule->active = TRUE;
$rule
->event('commerce_file_license_download')
->condition(rules_or()
->condition('commerce_file_license_condition_limit_is_unlimited', array(
'value:select' => 'commerce-file-license:limits:download-limit',
))
->condition('data_is', array(
'data:select' => 'commerce-file-license:download-count',
'op' => '<',
'value:select' => 'commerce-file-license:limits:download-limit',
)))
->condition(rules_or()
->condition('commerce_file_license_condition_limit_is_unlimited', array(
'value:select' => 'commerce-file-license:limits:address-limit',
))
->condition('data_is', array(
'data:select' => 'commerce-file-license:address-count',
'op' => '<',
'value:select' => 'commerce-file-license:limits:address-limit',
))
->condition('commerce_file_license_condition_address_exists', array(
'license:select' => 'commerce-file-license',
)))
->condition(rules_or()
->condition('data_is_empty', array(
'data:select' => 'commerce-file-license:expiration',
))
->condition('data_is', array(
'data:select' => 'commerce-file-license:request-time',
'op' => '<',
'value:select' => 'commerce-file-license:expiration',
)))
->action('commerce_file_license_allow_download', array(
'license:select' => 'commerce-file-license',
));
$rules['commerce_file_license_download_access'] = $rule;
// Log access for a file download
$rule = rules_reaction_rule();
$rule->label = t('Log download of a licensed file');
$rule->tags = array(
'commerce_file',
);
$rule->active = TRUE;
$rule
->event('commerce_file_license_log_download')
->action('commerce_file_license_log_download', array(
'license:select' => 'commerce-file-license',
));
$rules['commerce_file_license_log_download'] = $rule;
// Issue licenses as 'active' on checkout complete
$rule = rules_reaction_rule();
$rule->label = t('Issue licenses on checkout complete');
$rule->tags = array(
'commerce_file',
);
$rule->active = TRUE;
$rule->weight = 10;
// trigger after others
$rule
->event('commerce_checkout_complete')
->condition(rules_condition('data_is_empty', array(
'data:select' => 'commerce-order:uid',
))
->negate())
->action('commerce_file_license_issue_order', array(
'order:select' => 'commerce-order',
'license_status' => 'active',
'product_refresh' => FALSE,
));
$rules['commerce_file_issue_checkout_licenses'] = $rule;
return $rules;
}
Functions
Name | Description |
---|---|
commerce_file_default_rules_configuration | Implements hook_default_rules_configuration(). |