-
Notifications
You must be signed in to change notification settings - Fork 3
/
mkdru_ding.module
76 lines (69 loc) · 2.34 KB
/
mkdru_ding.module
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
/**
* Implements hook_search_tab()
*/
function mkdru_ding_ting_search_tab($keys) {
// Javascript from base mkdru
theme('mkdru_js', array('mkdru' => array(
'settings' => json_encode(variable_get('mkdru_ding', NULL)),
'state' => array('query' => $keys))));
// Ding integration
$path = drupal_get_path('module', 'mkdru_ding');
drupal_add_js($path . '/recipe.js', 'module', 'footer', FALSE, TRUE, FALSE);
drupal_add_js($path . '/mkdru.theme.js', 'module', 'footer', FALSE, TRUE, FALSE);
drupal_add_js($path . '/mkdru_ding.js', 'module', 'footer', FALSE, TRUE, FALSE);
drupal_add_js(array('mkdru_ding' => array(
'facetContainerSelector' => '#mkdru-raw-facet-container'
)), 'setting');
$html = theme('mkdru_results');
return array("content" => $html, "title" => "Meta Search");
}
/**
* Implements hook_menu()
*/
function mkdru_ding_menu() {
$items['admin/settings/mkdru_ding'] = array(
'title' => 'Pazpar2 Metasearch Ding Integration',
'description' => 'Search settings for mkdru instance integrated into Ding.',
'page callback' => 'drupal_get_form',
'page arguments' => array('mkdru_ding_settings'),
'access arguments' => array('administer site configuration'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
/**
* Implements hook_init()
*/
function mkdru_ding_init() {
// Applies our module specific CSS to all pages. This works best because
// all CSS is aggregated and cached so we reduce the number of HTTP
// requests and the size is negligible.
drupal_add_css(drupal_get_path('module', 'mkdru_ding') .'/mkdru.css');
}
// Ding config
function mkdru_ding_settings(&$form_state) {
$form_state['build_info']['args']['settings'] = variable_get('mkdru_ding', NULL);
$form = drupal_retrieve_form('mkdru_settings_form', &$form_state);
$form['settings']['#title'] = t('Search settings for DING integration');
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Save configuration',
);
return $form;
}
function mkdru_ding_settings_submit($form, &$form_state) {
variable_set('mkdru_ding', $form_state['values']['settings']);
drupal_set_message(t('The configuration options have been saved.'));
}
/**
* Implements hook_theme().
*/
function mkdru_ding_theme() {
return array(
'mkdru_results' => array(
'template' => 'mkdru-results',
'arguments' => array(),
),
);
}