function advagg_validator_admin_js_hint_form in Advanced CSS/JS Aggregation 7.2
Form builder; CSS validator via jshint.
Return value
array form array.
Related topics
1 string reference to 'advagg_validator_admin_js_hint_form'
- advagg_validator_menu in advagg_validator/
advagg_validator.module - Implements hook_menu().
File
- advagg_validator/
advagg_validator.admin.inc, line 98 - Admin page callbacks for the advagg validator module.
Code
function advagg_validator_admin_js_hint_form() {
drupal_set_title(t('AdvAgg: JavaScript Validator using JSHINT'));
advagg_display_message_if_requirements_not_met();
// Tell user to update library if a new version is available.
$module_name = 'advagg_validator';
$lib_name = 'jshint';
$form = array();
list($description) = advagg_get_version_description($lib_name, $module_name, TRUE);
if (!empty($description)) {
$form['advagg_version_msg'] = array(
'#markup' => "<p>{$description}</p>",
);
}
$form = advagg_validator_admin_form_generator('js', TRUE);
$library = advagg_get_library('jshint', 'advagg_validator');
if (!empty($library['installed'])) {
libraries_load('jshint');
$form['#attached']['libraries_load'][] = array(
'jshint',
);
}
else {
$form['#attached']['js'] = $library['variants']['external']['files']['js'];
}
$form['#attached']['js'][] = array(
'data' => drupal_get_path('module', 'advagg_validator') . '/advagg_validator.js',
'type' => 'file',
);
// Define JSHINT options from https://drupal.org/node/1955232
$settings = array(
'browser' => TRUE,
'curly' => TRUE,
'eqeqeq' => TRUE,
'forin' => TRUE,
'latedef' => TRUE,
'newcap' => TRUE,
'noarg' => TRUE,
'strict' => TRUE,
'trailing' => TRUE,
'undef' => TRUE,
'unused' => TRUE,
'predef' => array(
'Drupal' => FALSE,
'drupalSettings' => FALSE,
'domready' => FALSE,
'jQuery' => FALSE,
'_' => FALSE,
'matchMedia' => FALSE,
'Backbone' => FALSE,
'Modernizr' => FALSE,
'VIE' => FALSE,
'CKEDITOR' => FALSE,
),
);
// Comma separated code.
// https://jslinterrors.com/
$ignore_list = variable_get('advagg_validator_jshint_ignore', ADVAGG_VALIDATOR_JSHINT_IGNORE);
if (is_array($ignore_list)) {
$ignore_list = implode(',', $ignore_list);
}
$settings['ignore'] = $ignore_list;
$form['#attached']['js'][] = array(
'data' => array(
'jshint' => $settings,
),
'type' => 'setting',
);
return $form;
}