You are here

highlight.module in Highlight 7

Same filename and directory in other branches
  1. 8 highlight.module
  2. 5 highlight.module
  3. 6 highlight.module

File

highlight.module
View source
<?php

/**
 * Implementation of hook_menu
 */
function highlight_menu() {
  $items['admin/config/search/highlight/settings'] = array(
    'title' => t('Highlight'),
    'description' => t('Configure the highlight options'),
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'highlight_admin_settings',
    ),
    'access arguments' => array(
      'administer search',
    ),
  );
  return $items;
}
function highlight_admin_settings($form, &$form_state) {
  $form['highlight_area'] = array(
    '#type' => 'textarea',
    '#title' => t('Highlight area'),
    '#default_value' => variable_get('highlight_area', 'body'),
    '#description' => t('Use jQuery selector to set the part of HTML you want to highlight.'),
  );
  $form['highlight_class'] = array(
    '#type' => 'textfield',
    '#title' => t('Highlight CSS class'),
    '#default_value' => variable_get('highlight_class', 'highlight'),
    '#description' => t('Set the highlight CSS class that will be used for the enclosing highlight HTML tag.'),
  );
  $form['highlight_color'] = array(
    '#type' => 'textfield',
    '#title' => t('Highlight color'),
    '#default_value' => variable_get('highlight_color', 'yellow'),
    '#description' => t('Set the highlight color with CSS value.'),
  );
  $form['highlight_text_color'] = array(
    '#type' => 'textfield',
    '#title' => t('Highlighted text color'),
    '#default_value' => variable_get('highlight_text_color', 'black'),
    '#description' => t('Set the highlight color with CSS value.'),
  );
  $form['highlight_wordsonly'] = array(
    '#type' => 'checkbox',
    '#title' => t('Highlight words'),
    '#default_value' => variable_get('highlight_wordsonly', TRUE),
    '#description' => t('Highlight only full words.'),
  );
  $form['highlight_patterns'] = array(
    '#type' => 'textarea',
    '#title' => t('Local search patterns'),
    '#default_value' => variable_get('highlight_patterns', ''),
    '#description' => t('Set the patterns to get local search keywords to highlight. Use JavaScript Regex and put each parttern per line. '),
  );
  $form['highlight_patterns_referrer'] = array(
    '#type' => 'textarea',
    '#title' => t('Referrer patterns'),
    '#default_value' => variable_get('highlight_patterns_referrer', '
^http://www\\.google\\.com.+[&?]q=([^&]+).*$
^http://www\\.google\\.co\\.uk.+[&?]q=([^&]+).*$
^http://search\\.yahoo\\.com.+[&?]p=([^&]+).*$
^http://search\\.yahoo\\.co\\.uk.+[&?]p=([^&]+).*$
^http://www\\.bing\\.com.+[&?]q=([^&]+).*$'),
    '#description' => t('Set the referrer patterns for search engines. Use JavaScript Regex and put each parttern per line. '),
  );
  $form['highlight_stopwords'] = array(
    '#type' => 'textarea',
    '#title' => t('Stopwords'),
    '#default_value' => variable_get('highlight_stopwords', 'a, about, above, above, across, after, afterwards, again, against, all, almost, alone, along, already, also,although,always,am,among, amongst, amoungst, amount,  an, and, another, any,anyhow,anyone,anything,anyway, anywhere, are, around, as,  at, back,be,became, because,become,becomes, becoming, been, before, beforehand, behind, being, below, beside, besides, between, beyond, bill, both, bottom,but, by, call, can, cannot, cant, co, con, could, couldnt, cry, de, describe, detail, do, done, down, due, during, each, eg, eight, either, eleven,else, elsewhere, empty, enough, etc, even, ever, every, everyone, everything, everywhere, except, few, fifteen, fify, fill, find, fire, first, five, for, former, formerly, forty, found, four, from, front, full, further, get, give, go, had, has, hasnt, have, he, hence, her, here, hereafter, hereby, herein, hereupon, hers, herself, him, himself, his, how, however, hundred, ie, if, in, inc, indeed, interest, into, is, it, its, itself, keep, last, latter, latterly, least, less, ltd, made, many, may, me, meanwhile, might, mill, mine, more, moreover, most, mostly, move, much, must, my, myself, name, namely, neither, never, nevertheless, next, nine, no, nobody, none, noone, nor, not, nothing, now, nowhere, of, off, often, on, once, one, only, onto, or, other, others, otherwise, our, ours, ourselves, out, over, own,part, per, perhaps, please, put, rather, re, same, see, seem, seemed, seeming, seems, serious, several, she, should, show, side, since, sincere, six, sixty, so, some, somehow, someone, something, sometime, sometimes, somewhere, still, such, system, take, ten, than, that, the, their, them, themselves, then, thence, there, thereafter, thereby, therefore, therein, thereupon, these, they, thickv, thin, third, this, those, though, three, through, throughout, thru, thus, to, together, too, top, toward, towards, twelve, twenty, two, un, under, until, up, upon, us, very, via, was, we, well, were, what, whatever, when, whence, whenever, where, whereafter, whereas, whereby, wherein, whereupon, wherever, whether, which, while, whither, who, whoever, whole, whom, whose, why, will, with, within, without, would, yet, you, your, yours, yourself, yourselves, the'),
    '#description' => t('Stopwords which shouldn\'t be highlighted.'),
  );
  return system_settings_form($form);
}
function highlight_page_build(&$page) {
  drupal_add_js(array(
    'highlight' => array(
      'area' => variable_get('highlight_area', 'body'),
    ),
  ), 'setting');
  drupal_add_js(array(
    'highlight' => array(
      'class' => variable_get('highlight_class', 'highlight'),
    ),
  ), 'setting');
  drupal_add_js(array(
    'highlight' => array(
      'color' => variable_get('highlight_color', 'yellow'),
    ),
  ), 'setting');
  drupal_add_js(array(
    'highlight' => array(
      'textColor' => variable_get('highlight_text_color', 'black'),
    ),
  ), 'setting');
  drupal_add_js(array(
    'highlight' => array(
      'wordsonly' => variable_get('highlight_wordsonly', TRUE),
    ),
  ), 'setting');
  drupal_add_js(array(
    'highlight' => array(
      'patterns' => variable_get('highlight_patterns', ''),
    ),
  ), 'setting');
  drupal_add_js(array(
    'highlight' => array(
      'referrerPatterns' => variable_get('highlight_patterns_referrer', ''),
    ),
  ), 'setting');
  drupal_add_js(array(
    'highlight' => array(
      'stopwords' => str_replace(' ', '', variable_get('highlight_stopwords', '')),
    ),
  ), 'setting');
  drupal_add_js(drupal_get_path('module', 'highlight') . '/js/jquery.highlight.js');
  drupal_add_js(drupal_get_path('module', 'highlight') . '/js/highlight.js', array(
    'scope' => 'footer',
  ));
}

Functions

Namesort descending Description
highlight_admin_settings
highlight_menu Implementation of hook_menu
highlight_page_build