ソースを参照

- apply 1.1.2.5 changes to that branch

Frederic G. Marand 15 年 前
コミット
a99bc21b13
1 ファイル変更63 行追加16 行削除
  1. 63 16
      qbf.install

+ 63 - 16
qbf.install

@@ -1,14 +1,17 @@
 <?php
+// $Id: qbf.install,v 1.1.4.1 2009-03-17 10:57:58 marand Exp $
 /**
+ * @file
  * QBF module - installer
  *
- * @copyright 2008 Ouest Systèmes Informatiques SARL
- * @author FG Marand
- * @license GPL2 or later
- * @package QBF
+ * Copyright 2008-2009 Ouest Systèmes Informatiques SARL
+ *
+ * Author FG Marand
+ *
+ * License GPL2 or later
  */
 
-// $Id: qbf.install,v 1.1 2008-09-02 08:39:07 marand Exp $
+require_once(drupal_get_path('module', 'qbf') .'/qbf.module');
 
 /**
  * Implement hook_install().
@@ -19,26 +22,56 @@
  *   - none
  *
  * @todo support PGSQL
+ * @ingroup hooks
  * @return void
  */
 function qbf_install()
   {
+  // Initialize settings
+  $ar_const = get_defined_constants();
+  $ar_const = array_keys($ar_const);
+  $count = 0;
+  $init_count = 0;
+  foreach ($ar_const as $name)
+    {
+    if (strpos($name, 'QBF_VAR_') === 0)
+      {
+      $count++;
+      $default = 'QBF_DEF_'. drupal_substr($name, drupal_strlen('QBF_VAR_'));
+      if (defined($default))
+        {
+        variable_set(constant($name), constant($default));
+        $init_count++;
+        }
+      }
+    }
+  drupal_set_message(t('Initialized QBF module settings (@initCount/@count parameters). You can <a href="!link">complete setup</a>.',
+    array
+      (
+      '@initCount' => $init_count,
+      '@count'     => $count,
+      '!link'      => url(QBF_PATH_SETTINGS),
+      )));
+
   switch ($GLOBALS['db_type'])
     {
     case 'mysql':
     case 'mysqli':
       $sq = 'CREATE TABLE {qbf_queries} '
-          . '  ( '
-          . "  `qid`                   INT(10)          NOT NULL DEFAULT '0' COMMENT 'Query ID', "
-          . "  `uid`                   INT(10)          NOT NULL DEFAULT '0' COMMENT 'User ID', "
-          . "  `name`                  VARCHAR(40)      NOT NULL DEFAULT ''  COMMENT 'Query name', "
-          . "  `query`                 TEXT             NOT NULL             COMMENT 'Query array', "
-          . '  PRIMARY KEY (`qid`) , '
-          . '  INDEX (`uid`) '
-          . '  ) '
-          . 'ENGINE = MyISAM '
-          . 'CHARACTER SET = utf8 '
-          . "COMMENT = 'QBF Query store' ";
+          .'  ( '
+          ."  `qid`                   INT(10)          NOT NULL DEFAULT '0' COMMENT 'Query ID', "
+          ."  `uid`                   INT(10)          NOT NULL DEFAULT '0' COMMENT 'User ID', "
+          ."  `name`                  VARCHAR(40)      NOT NULL DEFAULT ''  COMMENT 'Query name', "
+          ."  `query`                 TEXT             NOT NULL             COMMENT 'Query array', "
+          ."  `created`               INT(10)          NOT NULL DEFAULT '0' COMMENT 'Creation timestamp', "
+          ."  `updated`               INT(10)          NOT NULL DEFAULT '0' COMMENT 'Update timestamp', "
+          .'  PRIMARY KEY          (`qid`) , '
+          .'  KEY         `uid`    (`uid`), '
+          .'  KEY         `updated`(`updated`) '
+          .'  ) '
+          .'ENGINE = MyISAM '
+          .'CHARACTER SET = utf8 '
+          ."COMMENT = 'QBF Query store' ";
       db_query($sq);
       break;
 
@@ -61,10 +94,23 @@ function qbf_install()
  *   - none
  * - Do NOT remove module schema version from {system}
  *
+ * @ingroup hooks
  * @return void
  */
 function qbf_uninstall()
   {
+  // Remove settings
+  $ar_const = get_defined_constants();
+  $ar_const = array_keys($ar_const);
+  foreach ($ar_const as $name)
+    {
+    if (strpos($name, 'QBF_VAR_') === 0)
+      {
+      variable_del($name);
+      }
+    }
+  drupal_set_message(t('Removed QBF module settings.'));
+
   switch ($GLOBALS['db_type'])
     {
     case 'mysql':
@@ -85,6 +131,7 @@ function qbf_uninstall()
  *
  * For now, just define a proper initial schema version.
  *
+ * @ingroup hooks
  * @return array
  */
 function qbf_update_5000()