Project

General

Profile

Paste
Download (1.92 KB) Statistics
| Branch: | Revision:

root / drupal7 / sites / all / themes / bootstrap / templates / system / html-tag.vars.php @ 1f623f01

1
<?php
2
/**
3
 * @file
4
 * Stub file for "html_tag" theme hook [pre]process functions.
5
 */
6

    
7
/**
8
 * Processes variables for the "html_tag" theme hook.
9
 *
10
 * See theme function for list of available variables.
11
 *
12
 * @see theme_html_tag()
13
 *
14
 * @ingroup theme_process
15
 */
16
function bootstrap_process_html_tag(&$variables) {
17
  // Reference the element and tag name for easier coding below.
18
  $element = &$variables['element'];
19
  $tag = $element['#tag'];
20
  if ($tag === 'style' || $tag === 'script') {
21
    // Remove default "type" attribute. Leave others unaffected as it may be
22
    // needed and used for other purposes.
23
    // @see http://stackoverflow.com/a/5265361/1226717
24
    // @see https://drupal.org/node/2201779
25
    $types = array(
26
      // @see http://www.w3.org/TR/html5/document-metadata.html#attr-style-type
27
      'style' => 'text/css',
28
      // @see http://www.w3.org/TR/html5/scripting-1.html#attr-script-type
29
      'script' => 'text/javascript',
30
    );
31
    if (!empty($element['#attributes']['type']) && $element['#attributes']['type'] === $types[$tag]) {
32
      unset($element['#attributes']['type']);
33
    }
34

    
35
    // Remove CDATA comments. CDATA is only required for DOCTYPES that are XML
36
    // based, HTML5 is not.
37
    $cdata_prefix = array(
38
      'style' => "\n<!--/*--><![CDATA[/*><!--*/\n",
39
      'script' => "\n<!--//--><![CDATA[//><!--\n",
40
    );
41
    $cdata_suffix = array(
42
      'style' => "\n/*]]>*/-->\n",
43
      'script' => "\n//--><!]]>\n",
44
    );
45
    if (
46
      !empty($element['#value_prefix']) && $element['#value_prefix'] === $cdata_prefix[$tag] &&
47
      !empty($element['#value_suffix']) && $element['#value_suffix'] === $cdata_suffix[$tag]
48
    ) {
49
      unset($element['#value_prefix'], $element['#value_suffix']);
50
    }
51

    
52
    // Remove the "media=all" attribute, leave others unaffected.
53
    if (isset($element['#attributes']['media']) && $element['#attributes']['media'] === 'all') {
54
      unset($element['#attributes']['media']);
55
    }
56
  }
57
}