summaryrefslogtreecommitdiff
path: root/kolab.org/www/drupal-7.15/sites/all/modules/page_title/page_title.install
diff options
context:
space:
mode:
Diffstat (limited to 'kolab.org/www/drupal-7.15/sites/all/modules/page_title/page_title.install')
-rwxr-xr-xkolab.org/www/drupal-7.15/sites/all/modules/page_title/page_title.install128
1 files changed, 128 insertions, 0 deletions
diff --git a/kolab.org/www/drupal-7.15/sites/all/modules/page_title/page_title.install b/kolab.org/www/drupal-7.15/sites/all/modules/page_title/page_title.install
new file mode 100755
index 0000000..08033f7
--- /dev/null
+++ b/kolab.org/www/drupal-7.15/sites/all/modules/page_title/page_title.install
@@ -0,0 +1,128 @@
+<?php
+
+/**
+ * @file page_title.install
+ *
+ * Handles the install, uninstall and updating of Page Title
+ */
+
+/**
+ * Implements hook_schema().
+ */
+function page_title_schema() {
+ $schema['page_title'] = array(
+ 'fields' => array(
+ 'type' => array('type' => 'varchar', 'length' => 15, 'not null' => TRUE, 'default' => 'node'),
+ 'id' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+ 'page_title' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '')
+ ),
+ 'primary key' => array('type', 'id'),
+ );
+
+ return $schema;
+}
+
+
+/**
+ * Implements hook_update_n().
+ */
+function page_title_update_6200() {
+ $ret = array();
+
+ if (db_column_exists('page_title', 'id')) {
+ return $ret;
+ }
+
+ db_create_table($ret, 'page_title_temp', array(
+ 'fields' => array(
+ 'type' => array('type' => 'varchar', 'length' => 15, 'not null' => TRUE, 'default' => 'node'),
+ 'id' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+ 'page_title' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '')
+ ),
+ 'primary key' => array('type', 'id'),
+ ));
+
+ $ret[] = update_sql('INSERT INTO {page_title_temp} (id, page_title) SELECT nid, page_title FROM {page_title}');
+
+ db_rename_table($ret, 'page_title', 'page_title_old');
+
+ db_rename_table($ret, 'page_title_temp', 'page_title');
+
+ $display_settings = variable_get('page_title_display', array());
+ foreach ($display_settings as $type) {
+ if ($type) {
+ variable_set('page_title_type_' . $type . '_showfield', 1);
+ }
+ }
+ variable_del('page_title_display');
+
+ return $ret;
+}
+
+
+/**
+ * Implements hook_update_n().
+ * Rename all the Vocabulary settings to reference by the new Machine Name, rather than Vocab ID.
+ */
+function page_title_update_7200() {
+ $ret = array();
+
+ // If taxonomy not enabled, do no further updates
+ if (!module_exists('taxonomy')) {
+ return $ret;
+ }
+
+ foreach (taxonomy_get_vocabularies() as $vocab) {
+ $page_title_vocab_settings = variable_get("page_title_vocab_{$vocab->vid}", FALSE);
+ $page_title_vocab_showfield = variable_get("page_title_vocab_{$vocab->vid}_showfield", FALSE);
+
+ if ($page_title_vocab_settings) {
+ variable_set("page_title_vocab_{$vocab->machine_name}", $page_title_vocab_settings);
+ }
+ if ($page_title_vocab_showfield) {
+ variable_set("page_title_vocab_{$vocab->machine_name}_showfield", $page_title_vocab_showfield);
+ }
+ variable_del("page_title_vocab_{$vocab->vid}_showfield");
+ variable_del("page_title_vocab_{$vocab->vid}");
+ }
+
+ return $ret;
+}
+
+
+/**
+ * Implements hook_uninstall().
+ */
+function page_title_uninstall() {
+ // Clear variables
+ variable_del('page_title_default');
+ variable_del('page_title_individual');
+ variable_del('page_title_front');
+ variable_del('page_title_blog');
+ variable_del('page_title_user');
+ variable_del('page_title_user_showfield');
+ variable_del('page_title_pager_pattern');
+ variable_del('page_title_forum_root_title');
+ variable_del('page_title_comment_reply');
+ variable_del('page_title_comment_child_reply');
+
+ // Clear the node specific variables
+ $types = node_type_get_names();
+ foreach ($types as $type => $name) {
+ variable_del("page_title_type_{$type}");
+ variable_del("page_title_type_{$type}_showfield");
+ }
+
+ // Clear the vocab specific variables
+ if (module_exists('taxonomy')) {
+ $vocabs = taxonomy_get_vocabularies();
+ foreach ($vocabs as $vid => $vocab) {
+ variable_del("page_title_vocab_{$vocab->machine_name}");
+ variable_del("page_title_vocab_{$vocab->machine_name}_showfield");
+
+ // Legacy delete - just in case the uninstall is happening befoer update 7200
+ variable_del("page_title_vocab_{$vid}");
+ variable_del("page_title_vocab_{$vid}_showfield");
+ }
+ }
+}