Better database handling.
[mkdru-moved-to-drupal.org.git] / mkdru.module
index 9d55303..6fb792a 100644 (file)
@@ -22,6 +22,7 @@ function mkdru_ting_search_show($params) {
   // Include client library.
   drupal_add_js(variable_get('pz2_js_path', 'pazpar2/js') 
     . '/pz2.js', 'module', 'footer');
+  drupal_add_js($path . '/jquery.ba-bbq.js', 'module', 'footer');
   drupal_add_js($path . '/mkdru.theme.js', 'module', 'footer');
   drupal_add_js($path . '/mkdru.client.js', 'module', 'footer');
   $html = theme('mkdru_results'); 
@@ -79,7 +80,7 @@ function mkdru_menu() {
 /**
 * Implementation of hook_init()
 */
-function mkdru_init(){
+function mkdru_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.
@@ -116,6 +117,22 @@ function mkdru_form(&$node, $form_state) {
     '#required' => TRUE,
     '#default_value' => isset($node->mkdru->pz2_path) ? $node->mkdru->pz2_path : '/pazpar2/search.pz2',
   );
+  $form['search_settings']['sp_user'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Service Proxy username (optional)'),
+    '#description' => t('Service-Proxy username'),
+    '#required' => FALSE,
+    '#default_value' => isset($node->mkdru->sp_user) ? 
+      $node->mkdru->sp_user : '',
+  );
+  $form['search_settings']['sp_pass'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Service Proxy password (optional)'),
+    '#description' => t('Service-Proxy password'),
+    '#required' => FALSE,
+    '#default_value' => isset($node->mkdru->sp_pass) ? 
+      $node->mkdru->sp_pass : '',
+  );
   $form['search_settings']['use_sessions'] = array(
     '#type' => 'checkbox',
     '#title' => t('Session handling'),
@@ -176,8 +193,7 @@ function mkdru_validate($node) {
 * Implementation of hook_insert().
 */
 function mkdru_insert($node) {
-  db_query("INSERT INTO {mkdru} (nid, vid, pz2_path, use_sessions, source_max, author_max, subject_max) VALUES (%d, %d, '%s', %d, %d, %d, %d)",
-    $node->nid, $node->vid, $node->pz2_path, $node->use_sessions, $node->source_max, $node->author_max, $node->subject_max);
+  drupal_write_record('mkdru', $node);
 }
 
 /**
@@ -189,7 +205,7 @@ function mkdru_update($node) {
     mkdru_insert($node);
   }
   else {
-    db_query("UPDATE {mkdru} SET pz2_path = '%s', use_sessions = %d, source_max = %d, author_max = %d, subject_max = %d WHERE vid = %d", $node->pz2_path, $node->use_sessions, $node->source_max, $node->author_max, $node->subject_max, $node->vid);
+    drupal_write_record('mkdru', $node, 'vid');
   }
 }
 
@@ -329,15 +345,15 @@ function mkdru_block($op='list', $delta='sources', $edit=array()) {
       switch ($delta) {
         case 'mkdru_sources':
           $block['subject'] = t('Source');
-          $block['content'] = theme('mkdru_block_facet', 'mkdru-facet-sources');
+          $block['content'] = theme('mkdru_block_facet', 'mkdru-facet-source');
           return $block;
         case 'mkdru_subjects':
           $block['subject'] = t('Subject');
-          $block['content'] = theme('mkdru_block_facet', 'mkdru-facet-subjects');
+          $block['content'] = theme('mkdru_block_facet', 'mkdru-facet-subject');
           return $block;
         case 'mkdru_authors':
           $block['subject'] = t('Author');
-          $block['content'] = theme('mkdru_block_facet', 'mkdru-facet-authors');
+          $block['content'] = theme('mkdru_block_facet', 'mkdru-facet-author');
           return $block;
     }
     if (substr($delta, 0, 13) == 'mkdru_search_') {