diff --git a/includes/rules.state.inc b/includes/rules.state.inc index a4150e7..c2523b1 100644 --- a/includes/rules.state.inc +++ b/includes/rules.state.inc @@ -616,8 +616,24 @@ class RulesData { * @see RulesPlugin::availableVariables() */ public static function addSiteMetadata(EntityMetadataWrapper $wrapper, $property_info) { + // These variables are from the system module and derived from: + // system_site_information_settings() + $site_info['site_name'] = variable_get('site_name', 'Drupal'); + $site_info['site_slogan'] = variable_get('site_slogan', ''); + $site_info['site_mail'] = variable_get('site_mail', ini_get('sendmail_from')); + $site_info['default_nodes_main'] = variable_get('default_nodes_main', 10); + $site_info['site_frontpage'] = (variable_get('site_frontpage')!='node'?drupal_get_path_alias(variable_get('site_frontpage', 'node')):''); + $site_info['site_403'] = variable_get('site_403', ''); + $site_info['site_404'] = variable_get('site_404', ''); + + $property_info['properties'] += $site_info; + + // Get site wide properties added by modules, if any! $site_info = entity_get_property_info('site'); - $property_info['properties'] += $site_info['properties']; + if (!empty($site_info['properties'])) { + $property_info['properties'] += $site_info; + } + // Also invoke the usual callback for altering metadata, in case actions // have specified further metadata. return RulesData::applyMetadataAssertions($wrapper, $property_info);