View source
<?php
define('RESPONSIVE_IMAGEMAPS_ALWAYS', 1);
define('RESPONSIVE_IMAGEMAPS_LISTED', 0);
function responsive_imagemaps_menu() {
$items = array();
$items['admin/config/media/responsive-imagemaps'] = array(
'title' => 'Responsive Image Maps',
'description' => 'Configure responsive image map settings',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'responsive_imagemaps_admin_settings',
),
'access arguments' => array(
'administer responsive image maps',
),
'type' => MENU_NORMAL_ITEM,
'file' => 'responsive_imagemaps.admin.inc',
);
return $items;
}
function responsive_imagemaps_permission() {
return array(
'administer responsive image maps' => array(
'title' => t('Administer Responsive Image Maps'),
'description' => t('Allows a user to configure Responsive Image Maps.'),
),
);
}
function responsive_imagemaps_requirements($phase) {
$requirements = array();
if ($phase == 'runtime') {
if (($library = libraries_detect('responsive-imagemaps')) && !empty($library['installed'])) {
$requirements['responsive_imagemaps_library'] = array(
'title' => t('Responsive Image Maps jQuery RWD Image Maps plugin'),
'value' => t('Installed'),
'severity' => REQUIREMENT_OK,
);
}
else {
$requirements['responsive_imagemaps_library'] = array(
'title' => t('Responsive Image Maps jQuery RWD Image Maps plugin'),
'value' => t('Not installed'),
'description' => $library['error message'],
'severity' => REQUIREMENT_ERROR,
);
}
}
return $requirements;
}
function responsive_imagemaps_libraries_info() {
$libraries['responsive-imagemaps'] = array(
'name' => 'jQuery RWD Image Maps',
'vendor url' => 'https://github.com/stowball/jQuery-rwdImageMaps',
'download url' => 'https://github.com/stowball/jQuery-rwdImageMaps/archive/master.zip',
'version arguments' => array(
'file' => 'jquery.rwdImageMaps.min.js',
'pattern' => '/rwdImageMaps jQuery plugin v(\\d+\\.+\\d+)/',
'lines' => 2,
),
'files' => array(
'js' => array(
'jquery.rwdImageMaps.min.js',
),
),
);
return $libraries;
}
function responsive_imagemaps_init() {
$load_responsive_imagemaps = variable_get('responsive_imagemaps_visibility', RESPONSIVE_IMAGEMAPS_ALWAYS);
if ($load_responsive_imagemaps == RESPONSIVE_IMAGEMAPS_LISTED) {
$pages = drupal_strtolower(variable_get('responsive_imagemaps_pages', ''));
$path = drupal_strtolower(drupal_get_path_alias($_GET['q']));
$load_responsive_imagemaps = drupal_match_path($path, $pages);
if ($path != $_GET['q']) {
$load_responsive_imagemaps = $load_responsive_imagemaps || drupal_match_path($_GET['q'], $pages);
}
}
if ($load_responsive_imagemaps) {
libraries_load('responsive-imagemaps');
drupal_add_js(drupal_get_path('module', 'responsive_imagemaps') . '/responsive_imagemaps.js', array(
'scope' => 'footer',
));
}
}