function _google_tag_assets_create in GoogleTagManager 7
Same name and namespace in other branches
- 8 google_tag.module \_google_tag_assets_create()
Saves snippet files and data layer classes based on current settings.
Use case: variable_realm is not enabled
- one set of snippet files stored in public://google_tag
Use case: variable_realm is enabled
- multiple sets of snippet files stored in public://google_tag/{realm}
- sub case: no google_tag variables are realm-specific update all snippet files based on global default variables
- sub case: some google_tag variables are realm-specific update all snippet files based on global and realm-specific variables
2 calls to _google_tag_assets_create()
- google_tag_assets_create in ./
google_tag.module - Saves snippet files and data layer classes based on current settings.
- google_tag_settings_form_submit in includes/
admin.inc - Form submission handler for google_tag_settings_form().
File
- includes/
admin.inc, line 245 - Contains the administrative page and form callbacks.
Code
function _google_tag_assets_create() {
@file_unmanaged_delete_recursive('public://google_tag');
if (module_exists('variable_realm') && module_exists('variable_store')) {
// Backup global config as switching realm overwrites this array.
$backup = $GLOBALS['conf'];
// i18n_variable module depends on variable_realm, variable_store
$realms = variable_realm_list();
foreach ($realms as $realm_name => $realm_title) {
$keys = variable_realm_keys($realm_name);
foreach ($keys as $key_name => $key_title) {
_google_tag_message_display('realm:key = @realm:@key', array(
'@realm' => $realm_name,
'@key' => $key_name,
));
variable_realm_switch($realm_name, $key_name);
if (_google_tag_directory_prepare($realm_name)) {
_google_tag_snippets_save($realm_name, $key_name);
_google_tag_classes_save($realm_name, $key_name);
}
}
}
$GLOBALS['conf'] = $backup;
}
else {
if (_google_tag_directory_prepare()) {
_google_tag_snippets_save();
_google_tag_classes_save();
}
}
_drupal_flush_css_js();
drupal_clear_js_cache();
}