111 lines
3.6 KiB
Plaintext
111 lines
3.6 KiB
Plaintext
<?php
|
|
|
|
/**
|
|
* @file
|
|
* Enables Drupal to add scripts and styles from the frontend on all over the site.
|
|
*/
|
|
|
|
|
|
/**
|
|
* Implements hook_menu().
|
|
*/
|
|
function hfs_menu() {
|
|
|
|
$items['admin/config/development/hfs'] = array(
|
|
'title' => 'HFS (Header Footer Scripts)',
|
|
'page callback' => 'drupal_get_form',
|
|
'page arguments' => array('hfs_header_settings_form'),
|
|
'access arguments' => array('administer hfs module'),
|
|
'description' => 'Allow to add scripts and styles from the frontend under Head section.',
|
|
'file' => 'hfs.admin.inc',
|
|
'weight' => 10,
|
|
);
|
|
|
|
$items['admin/config/development/hfs/header'] = array(
|
|
'title' => 'Header Scripts',
|
|
'page callback' => 'drupal_get_form',
|
|
'page arguments' => array('hfs_header_settings_form'),
|
|
'access arguments' => array('administer hfs module'),
|
|
'description' => 'Allow to add scripts and styles from the frontend under Head section.',
|
|
'file' => 'hfs.admin.inc',
|
|
'type' => MENU_LOCAL_TASK,
|
|
'weight' => 20,
|
|
);
|
|
|
|
$items['admin/config/development/hfs/body'] = array(
|
|
'title' => 'Body Scripts',
|
|
'page callback' => 'drupal_get_form',
|
|
'page arguments' => array('hfs_body_settings_form'),
|
|
'access arguments' => array('administer hfs module'),
|
|
'description' => 'Allow to add scripts and styles from the frontend at the start of BODY Tag.',
|
|
'file' => 'hfs.admin.inc',
|
|
'type' => MENU_LOCAL_TASK,
|
|
'weight' => 30,
|
|
);
|
|
|
|
$items['admin/config/development/hfs/footer'] = array(
|
|
'title' => 'Footer Scripts',
|
|
'page callback' => 'drupal_get_form',
|
|
'page arguments' => array('hfs_footer_settings_form'),
|
|
'access arguments' => array('administer hfs module'),
|
|
'description' => 'Allow to add scripts and styles from the frontend just before the end of BODY Tag.',
|
|
'file' => 'hfs.admin.inc',
|
|
'type' => MENU_LOCAL_TASK,
|
|
'weight' => 40,
|
|
);
|
|
|
|
return $items;
|
|
}
|
|
|
|
/**
|
|
* Implements hook_permission().
|
|
*/
|
|
function hfs_permission() {
|
|
|
|
$permissions['administer hfs module'] = array(
|
|
'title' => t('Add Scripts all over the site'),
|
|
'restrict access' => TRUE,
|
|
'description' => t('Users who have this permission can add and remove the scripts from the site.'),
|
|
);
|
|
|
|
return $permissions;
|
|
}
|
|
|
|
/**
|
|
* Implements hook_process_html().
|
|
*
|
|
* Add scripts on overall the site which are defined on the settings page.
|
|
*/
|
|
function hfs_process_html(&$variables) {
|
|
|
|
$header_scripts = variable_get('hfs_header_scripts');
|
|
$body_scripts = variable_get('hfs_body_scripts');
|
|
$footer_scripts = variable_get('hfs_footer_scripts');
|
|
|
|
if (isset($body_scripts) && !empty($body_scripts)) {
|
|
if (!empty($body_scripts['styles'])) {
|
|
$variables['page_top'] .= $body_scripts['styles'] . PHP_EOL;
|
|
}
|
|
if (!empty($body_scripts['scripts'])) {
|
|
$variables['page_top'] .= $body_scripts['scripts'] . PHP_EOL;
|
|
}
|
|
}
|
|
if (isset($header_scripts) && !empty($header_scripts)) {
|
|
if (!empty($header_scripts['styles'])) {
|
|
$variables['styles'] .= $header_scripts['styles'] . PHP_EOL;
|
|
}
|
|
if (!empty($header_scripts['scripts'])) {
|
|
$variables['scripts'] .= $header_scripts['scripts'] . PHP_EOL;
|
|
}
|
|
}
|
|
if (isset($footer_scripts) && !empty($footer_scripts)) {
|
|
if (!empty($footer_scripts['styles'])) {
|
|
$variables['page_bottom'] .= $footer_scripts['styles'] . PHP_EOL;
|
|
}
|
|
if (!empty($footer_scripts['scripts'])) {
|
|
$variables['page_bottom'] .= $footer_scripts['scripts'] . PHP_EOL;
|
|
}
|
|
}
|
|
|
|
}
|