You are here

function improved_multi_select_preprocess_page in Improved Multi Select 7.2

Same name and namespace in other branches
  1. 7 improved_multi_select.module \improved_multi_select_preprocess_page()

Implements template_preprocess_page().

File

./improved_multi_select.module, line 11
Replace the default multi-select boxes with two pannel list and search.

Code

function improved_multi_select_preprocess_page() {
  $is_enabled = FALSE;
  $replace_all = variable_get('improved_multi_select:isall', FALSE);
  $url_white = trim(variable_get('improved_multi_select:url_white', ''));
  $url_black = trim(variable_get('improved_multi_select:url_black', ''));
  $selectors_white = array_filter(explode("\n", str_replace("\r", "\n", trim(variable_get('improved_multi_select:selectors_white', '')))));
  $selectors_black = array_filter(explode("\n", str_replace("\r", "\n", trim(variable_get('improved_multi_select:selectors_black', '')))));
  if ($replace_all) {
    $selectors = $selectors_black;
    if ($url_black == '' || !drupal_match_path(request_path(), $url_black)) {
      $is_enabled = TRUE;
    }
  }
  else {
    $selectors = $selectors_white;
    if ($url_white && drupal_match_path(request_path(), $url_white) || $selectors) {
      $is_enabled = TRUE;
    }
  }
  if ($is_enabled) {
    $selectors = improved_multi_select_load_selectors($selectors);
    drupal_add_css(drupal_get_path('module', 'improved_multi_select') . '/improved_multi_select.css');
    drupal_add_js(drupal_get_path('module', 'improved_multi_select') . '/improved_multi_select.js');
    drupal_add_js(array(
      'improved_multi_select' => array(
        'selectors' => $selectors,
        'isblacklist' => $replace_all,
        'filtertype' => variable_get('improved_multi_select:filtertype', 'partial'),
        'orderable' => variable_get('improved_multi_select:orderable', FALSE),
        'groupresetfilter' => variable_get('improved_multi_select:groupresetfilter', FALSE),
        'buttontext_add' => variable_get('improved_multi_select:buttontext_add', '>'),
        'buttontext_addall' => variable_get('improved_multi_select:buttontext_addall', '»'),
        'buttontext_del' => variable_get('improved_multi_select:buttontext_del', '<'),
        'buttontext_delall' => variable_get('improved_multi_select:buttontext_delall', '«'),
        'buttontext_moveup' => variable_get('improved_multi_select:buttontext_moveup', 'Move up'),
        'buttontext_movedown' => variable_get('improved_multi_select:buttontext_movedown', 'Move down'),
      ),
    ), 'setting');
  }
}