http://www.atutor.ca/atutor/mantis/view.php?id=2622
authorjoel kronenberg <joel.kronenberg@utoronto.ca>
Wed, 5 Jul 2006 19:36:44 +0000 (19:36 -0000)
committerjoel kronenberg <joel.kronenberg@utoronto.ca>
Wed, 5 Jul 2006 19:36:44 +0000 (19:36 -0000)
docs/admin/modules/add_new.php
docs/include/classes/Module/Module.class.php
docs/install/include/ustep2.php

index f18e7dc..9d13aee 100644 (file)
@@ -30,7 +30,7 @@ if (isset($_GET['mod'])) {
 }
 
 require(AT_INCLUDE_PATH.'header.inc.php'); 
-$module_list = $moduleFactory->getModules(AT_MODULE_STATUS_UNINSTALLED, AT_MODULE_TYPE_EXTRA);
+$module_list = $moduleFactory->getModules(AT_MODULE_STATUS_UNINSTALLED | AT_MODULE_STATUS_MISSING, AT_MODULE_TYPE_EXTRA);
 $keys = array_keys($module_list);
 natsort($keys);
 
index 22438bc..4ec9ad6 100644 (file)
@@ -549,7 +549,12 @@ class Module {
                        }
 
                        $sql = 'INSERT INTO '. TABLE_PREFIX . 'modules VALUES ("'.$this->_directoryName.'", '.AT_MODULE_STATUS_DISABLED.', '.$priv.', '.$admin_priv.', '.$_cron_interval.', 0)';
-                       $result = mysql_query($sql, $db);
+                       mysql_query($sql, $db);
+                       if (mysql_affected_rows($db) != 1) {
+                               // in case this module has to be re-installed (because it was Missing)
+                               $sql = 'UPDATE '. TABLE_PREFIX . 'modules SET status='.AT_MODULE_STATUS_DISABLED.' WHERE dir_name="'.$this->_directoryName.'"';
+                               mysql_query($sql, $db);
+                       }
                }
        }
 
index b24fe75..2ac21fd 100644 (file)
@@ -65,7 +65,7 @@ if (!defined('AT_INCLUDE_PATH')) { exit; }
                        $progress[] = 'Connected to database <b>'.$_POST['db_name'].'</b> successfully.';
                        unset($errors);
 
-                       $sql = "DELETE FROM ".$_POST['tb_prefix']."language_text WHERE `variable`<>'_module'";
+                       $sql = "DELETE FROM ".$_POST['tb_prefix']."language_text WHERE 1";
                        @mysql_query($sql, $db);
 
                        $sql = "DELETE FROM ".$_POST['tb_prefix']."languages WHERE language_code<>'en'";