+<?php
+// $Id$
+/**
+ * @file
+ * Install, update and uninstall functions.
+ */
+
+/**
+* Implements hook_schema().
+*/
+function mkdru_schema() {
+ $schema['mkdru'] = array(
+ 'description' => 'Stores settings for mkdru nodes.',
+ 'fields' => array(
+ 'nid' => array(
+ 'description' => 'The primary identifier for a node.',
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0
+ ),
+ 'vid' => array(
+ 'description' => 'The current {node_revisions}.vid version identifier.',
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0
+ ),
+ 'pz2_path' => array(
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'description' => 'Path to Pazpar2 or Service Proxy.',
+ ),
+ 'use_sessions' => array(
+ 'description' => 'Session handling toggle.',
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ ),
+ 'source_max' => array(
+ 'description' => 'Number of sources to display',
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ ),
+ 'author_max' => array(
+ 'description' => 'Number of authors to display',
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ ),
+ 'subject_max' => array(
+ 'description' => 'Number of subjects to display',
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ ),
+ 'sp_user' => array(
+ 'type' => 'text',
+ 'not null' => FALSE,
+ 'description' => 'Service Proxy username'
+ ),
+ 'sp_pass' => array(
+ 'type' => 'text',
+ 'not null' => FALSE,
+ 'description' => 'Service Proxy password'
+ ),
+ ),
+ 'primary key' => array('nid', 'vid'),
+ 'unique keys' => array('vid' => array('vid')),
+ 'indexes' => array('nid' => array('nid')),
+ );
+ return $schema;
+}
+
+/**
+* Implements hook_install().
+*/
+function mkdru_install() {
+ // Disable comments by default
+ variable_set('comment_mkdru', COMMENT_NODE_HIDDEN);
+ // Facets
+ $facets = array('source', 'subject', 'author');
+ variable_set('mkdru_facets', $facets);
+ // Restrict facet block visibility
+ foreach ($facets as $facet) {
+ db_insert('block_node_type')
+ ->fields(array(
+ 'module' => 'mkdru',
+ 'delta' => 'mkdru_facet_' . $facet,
+ 'type' => 'mkdru'))->execute();
+ }
+}
+
+/**
+* Implements hook_uninstall().
+*/
+function mkdru_uninstall() {
+ // Delete variables
+ variable_del('pz2_js_path');
+ // Clear block visibility
+ db_delete('block_node_type')->condition('module', 'mkdru')->execute();
+}
\ No newline at end of file