function _dfp_js_global_settings in Doubleclick for Publishers (DFP) 7.2
Same name and namespace in other branches
- 7 dfp.module \_dfp_js_global_settings()
Helper function to include javascript variables, etc in the header above all slot definitions.
1 call to _dfp_js_global_settings()
- dfp_preprocess_html in ./
dfp.module - Implements hook_preprocess_HOOK().
File
- ./
dfp.module, line 700
Code
function _dfp_js_global_settings() {
// Initialize the google variables and inject user-defined javascript.
$options = array(
'type' => 'file',
'group' => JS_DEFAULT,
'every_page' => TRUE,
'weight' => 0,
'force header' => TRUE,
);
// Add google tag services.
drupal_add_js(drupal_get_path('module', 'dfp') . '/js/dfp_googletag.js', $options);
// Set global targeting values for this page.
$global_targets = array();
$targeting = variable_get('dfp_targeting', array());
drupal_alter('dfp_global_targeting', $targeting);
$targeting = dfp_format_targeting($targeting);
foreach ($targeting as $key => $target) {
if (!empty($target['target']) && !empty($target['value'])) {
$global_targets[] = array(
'target' => $target['target'],
'value' => $target['value'],
);
}
}
$viewport_breakpoints = array();
foreach (_dfp_targeting_viewport_breakpoints() as $viewport) {
$v_target = 'dfp_viewport_' . $viewport . '_breakpoint';
$var = variable_get($v_target, '');
if (!empty($var)) {
$viewport_breakpoints[$viewport] = (int) $var;
}
}
// Bump the weight to load after dfp_googletag.js.
$options['weight'] += 1;
drupal_add_js(drupal_get_path('module', 'dfp') . '/js/jquery.googletag.js', $options);
// Add our javascript that pushes ad slots into googletag.cmd. This has a
// heavier weight so it runs after all the slots are defined.
// Bump the weight to load after jquery.googletag.js.
$options['weight'] += 1;
drupal_add_js(drupal_get_path('module', 'dfp') . '/js/dfp_googletag.cmd.js', $options);
// Drupal.settings array.
$settings = array(
'dfpGoogleTagCmd' => array(
'asyncRendering' => (int) variable_get('dfp_async_rendering', 1),
'singleRequest' => (int) variable_get('dfp_single_request', 1),
'collapseEmptyDivs' => (int) variable_get('dfp_collapse_empty_divs', 1),
'disableInitialLoad' => (int) variable_get('dfp_disable_init_load', 0),
'setCentering' => (int) variable_get('dfp_set_centering', 0),
'globalTargets' => $global_targets,
'viewportBreakpoints' => $viewport_breakpoints,
),
);
// If the prebid module is installed and enabled we need to let the
// front-end know.
if (module_exists('prebid')) {
$settings['dfpGoogleTagCmd']['prebidEnabled'] = TRUE;
}
// Add Drupal.settings.
drupal_add_js($settings, 'setting');
}