You are here

function hook_advagg_context_alter in Advanced CSS/JS Aggregation 7.2

Allow other modules to swap important contextual information on generation.

Parameters

array $original: Array of original settings.

array $aggregate_settings: Array of contextual settings.

int $mode: Use 0 to change context to what is inside of $aggregate_settings. Use 1 to change context back.

See also

advagg_context_switch()

advagg_advagg_context_alter()

Related topics

1 function implements hook_advagg_context_alter()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

advagg_advagg_context_alter in ./advagg.advagg.inc
Implements hook_advagg_context_alter().
1 invocation of hook_advagg_context_alter()
advagg_context_switch in ./advagg.inc
Changes context when generating CSS or JS files.

File

./advagg.api.php, line 542
Hooks provided by the AdvAgg module.

Code

function hook_advagg_context_alter(array &$original, array $aggregate_settings, $mode) {
  if ($mode == 0) {

    // Change context.
    $original['base_root'] = $GLOBALS['base_root'];
    $original['base_url'] = $GLOBALS['base_url'];
    $original['base_path'] = $GLOBALS['base_path'];
    $original['is_https'] = $GLOBALS['is_https'];
    $GLOBALS['is_https'] = $aggregate_settings['variables']['is_https'];
    if ($aggregate_settings['variables']['is_https']) {
      $GLOBALS['base_root'] = str_replace('http://', 'https://', $GLOBALS['base_root']);
      $GLOBALS['base_url'] = str_replace('http://', 'https://', $GLOBALS['base_url']);
    }
    else {
      $GLOBALS['base_root'] = str_replace('https://', 'http://', $GLOBALS['base_root']);
      $GLOBALS['base_url'] = str_replace('https://', 'http://', $GLOBALS['base_url']);
    }
    $GLOBALS['base_path'] = $aggregate_settings['variables']['base_path'];
  }
  elseif ($mode == 1) {

    // Change context back.
    if (isset($original['base_root'])) {
      $GLOBALS['base_root'] = $original['base_root'];
    }
    if (isset($original['base_url'])) {
      $GLOBALS['base_url'] = $original['base_url'];
    }
    if (isset($original['base_path'])) {
      $GLOBALS['base_path'] = $original['base_path'];
    }
    if (isset($original['is_https'])) {
      $GLOBALS['is_https'] = $original['is_https'];
    }
  }
}