Projet

Général

Profil

Paste
Télécharger (4,49 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / themes / adaptivetheme / at_core / inc / forms / settings.polyfills.inc @ 74f6bef0

1
<?php
2

    
3
/**
4
 * @file
5
 * Generate form elments for the Polyfills settings.
6
 *
7
 * TODO: review documentation and provide links to help pages.
8
 */
9
function at_core_polyfills_form(&$form, $theme_name) {
10
  $form['at-settings']['polyfills'] = array(
11
    '#type' => 'fieldset',
12
    '#title' => t('Polyfills'),
13
    '#description' => t('<h3>Polyfills</h3><p>Here you can enable commonly used Polyfills supplied with the core theme. Adaptivetheme also supports loading <a href="!docspage" target="_blank">scripts and CSS for Internet Explorer</a> using your sub-themes info file.', array('!docspage' => 'http://adaptivethemes.com/documentation/ie-styles-and-scripts')),
14
  );
15

    
16
  $form['at-settings']['polyfills']['fills'] = array(
17
    '#type' => 'fieldset',
18
    '#title' => t('Polyfills'),
19
  );
20

    
21
  // HTML5 shiv
22
  $form['at-settings']['polyfills']['fills']['load_html5js'] = array(
23
    '#type' => 'checkbox',
24
    '#title' => t('HTML5 support in IE'),
25
    '#description' => t('By checking this setting the site will load the <a href="!html5shiv_link" target="_blank">html5shiv</a>. Turning this off will be bad news for IE6-8.', array('!html5shiv_link' => '//github.com/aFarkas/html5shiv')),
26
    '#default_value' => at_get_setting('load_html5js'),
27
  );
28

    
29
  // matchMedia polyfill: https://github.com/paulirish/matchMedia.js
30
  $form['at-settings']['polyfills']['fills']['load_matchmediajs'] = array(
31
    '#type' => 'checkbox',
32
    '#title' => t('matchMedia.js Polyfill'),
33
    '#description' => t('Backport matchMedia support to unsupporting browsers - see <a href="!matchmedia_link" target="_blank">github.com/paulirish/matchMedia</a>. If using the Menu Toggle extension you need this if supporting Android 2.3 or earlier is important. Do not enable this if you are using respond.js (see <em>Media query support for IE6-8</em>, below) or Modernizr. A number of other libraries load this polyfill also - it\'s worth checking, although its also a very small polyfill.', array('!matchmedia_link' => '//github.com/paulirish/matchMedia.js')),
34
    '#default_value' => at_get_setting('load_matchmediajs'),
35
  );
36

    
37
  // OnMediaQuery.js
38
  $script_filepath = '/' . $theme_name . '/scripts/media_queries.js';
39
  $form['at-settings']['polyfills']['fills']['load_onmediaqueryjs'] = array(
40
    '#type' => 'checkbox',
41
    '#title' => t('Responsive JavaScript <sup>(deprecated)</sup>'),
42
    '#description' => t('This is deprecated because AT Core now loads it\'s media queries into Drupals JS settings - see <code>menu-toggle.js</code> in the core theme for an example of how this can be used with matchMedia. This legacy feature loads the <a href="!onmediaquery_link" target="_blank">JS Media Queries</a> plugin to enable responsive JavaScript. See <code>@script_filepath</code> for instructions on how to use. This is an alternative to using matchMedia.', array('!onmediaquery_link' => '//github.com/JoshBarr/js-media-queries', '@script_filepath' => $script_filepath)),
43
    '#default_value' => at_get_setting('load_onmediaqueryjs'),
44
  );
45

    
46
  // Rounding error fix (CSS)
47
  $form['at-settings']['polyfills']['fills']['load_ltie8css'] = array(
48
    '#type' => 'checkbox',
49
    '#title' => t('Fix CSS rounding errors in IE6-7'),
50
    '#description' => t('Load a stylesheet that fixes percentage rounding errors in IE6-7. You need this if you are using Gpanels or Panels layouts.'),
51
    '#default_value' => at_get_setting('load_ltie8css'),
52
  );
53

    
54
  // Respond.js
55
  $form['at-settings']['polyfills']['fills']['load_respondjs'] = array(
56
    '#type' => 'checkbox',
57
    '#title' => t('Media query support for IE6-8 (respond.js)'),
58
    '#description' => t('By checking this setting IE6, 7 and 8 will rely on <a href="!respondjs_link" target="_blank">respond.js</a> to set the layout.', array('!respondjs_link' => '//github.com/scottjehl/Respond')),
59
    '#default_value' => at_get_setting('load_respondjs'),
60
    '#states' => array(
61
      'invisible' => array('input[name="disable_responsive_styles"]' => array('checked' => TRUE)),
62
    ),
63
  );
64

    
65
  // Scalefix
66
  $form['at-settings']['polyfills']['fills']['load_scalefixjs'] = array(
67
    '#type' => 'checkbox',
68
    '#title' => t('Scalefix for iOS'),
69
    '#description' => t('Fixes the iOS Orientationchange zoom bug. See <a href="!scalefix_link" target="_blank">github.com/scottjehl/iOS-Orientationchange-Fix</a>.', array('!scalefix_link' => 'https://github.com/scottjehl/iOS-Orientationchange-Fix')),
70
    '#default_value' => at_get_setting('load_scalefixjs'),
71
    '#states' => array(
72
      'invisible' => array('input[name="disable_responsive_styles"]' => array('checked' => TRUE)),
73
    ),
74
  );
75
}