You are here

function _hide_submit_load_js_check_condition in Hide submit button 5

Same name and namespace in other branches
  1. 6 hide_submit.module \_hide_submit_load_js_check_condition()
  2. 7 hide_submit.module \_hide_submit_load_js_check_condition()

Check if JS should be loaded for current page

1 call to _hide_submit_load_js_check_condition()
_hide_submit_inject in ./hide_submit.module
Insert JS into page.

File

./hide_submit.module, line 181

Code

function _hide_submit_load_js_check_condition() {
  $js_load_option = variable_get('hide_submit_js_load_option', HIDE_SUBMIT_DEFAULT_JS_LOAD);
  switch ($js_load_option) {
    case HIDE_SUBMIT_IN_ALL_PAGES:
      return TRUE;
    case HIDE_SUBMIT_IN_LISTED_PAGES:
    case HIDE_SUBMIT_EXCLUDE_LISTED_PAGES:
      $pages = variable_get('hide_submit_js_load_pages', '');
      break;
    case HIDE_SUBMIT_IN_CONTENT_ADD_EDIT:
    default:
      $pages = "node/add/*\r\nnode/*/edit";
      break;
  }
  if ($js_load_option != HIDE_SUBMIT_EXCLUDE_LISTED_PAGES) {
    $pages .= "\r\nadmin/settings/hide-submit";
  }
  $path = drupal_get_path_alias($_GET['q']);
  $regexp = '/^(' . preg_replace(array(
    '/(\\r\\n?|\\n)/',
    '/\\\\\\*/',
    '/(^|\\|)\\\\<front\\\\>($|\\|)/',
  ), array(
    '|',
    '.*',
    '\\1' . preg_quote(variable_get('site_frontpage', 'node'), '/') . '\\2',
  ), preg_quote($pages, '/')) . ')$/';

  // Compare with the internal and path alias (if any).
  $page_match = preg_match($regexp, $path);
  if ($path != $_GET['q']) {
    $page_match = $page_match || preg_match($regexp, $_GET['q']);
  }

  // Do we have a match on our page list?
  if ($js_load_option == HIDE_SUBMIT_EXCLUDE_LISTED_PAGES) {
    return !($page_match == 1);
  }
  return $page_match == 1;
}