Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

No need for forcetables hack any more. Moodle can now detect whether

it has already been installed in the current database (by looking
for all the main tables) and do the right thing.  It doesn't matter now
if there are other tables in the database or not.
  • Loading branch information...
commit 7e5e076adfa368934c78cba19785fc7ba02ce7a6 1 parent e494038
moodler authored
Showing with 18 additions and 44 deletions.
  1. +0 −42 admin/forcetables.php
  2. +18 −2 admin/index.php
42 admin/forcetables.php
View
@@ -1,42 +0,0 @@
-<?PHP // $Id$
-
- require("../config.php");
-
-/// Normally this file is never used.
-///
-/// It can be useful to jump-start a new moodle installation when
-/// it is being installed into a database that already contains
-/// some tables.
-///
-/// For this case you would call this script directly
-///
-/// Warning: this method ASSUMES that all existing tables with
-/// have different names to any Moodle tables, so make sure
-/// there aren't any Moodle-named tables in your database before
-/// using this script. See lib/db/mysql.sql and mod/*/db/mysql.sql
-
- if ($CFG->version) { // To avoid this being used on a working site.
- echo "No need to use this";
-
- } else {
-
- $strdatabasesetup = get_string("databasesetup");
- $strdatabasesuccess = get_string("databasesuccess");
-
- print_header($strdatabasesetup, $strdatabasesetup, $strdatabasesetup);
- if (file_exists("$CFG->libdir/db/$CFG->dbtype.sql")) {
- $db->debug = true;
- if (modify_database("$CFG->libdir/db/$CFG->dbtype.sql")) {
- $db->debug = false;
- notify($strdatabasesuccess);
- } else {
- $db->debug = false;
- error("Error: Main databases NOT set up successfully");
- }
- } else {
- error("Error: Your database ($CFG->dbtype) is not yet fully supported by Moodle.
- See the lib/db directory.");
- }
- print_continue("index.php");
- }
-
20 admin/index.php
View
@@ -17,9 +17,25 @@
error("Moodle has not been configured yet. You need to to edit config.php first.");
}
-/// Check databases and modules and install as needed.
- if (! $db->Metatables() ) {
+/// Check if the main tables have been installed yet or not.
+
+ if (! $tables = $db->Metatables() ) { // No tables yet at all.
+ $maintables = false;
+
+ } else { // Check for missing main tables
+ $maintables = true;
+ $mtables = array("config", "course", "course_categories", "course_modules",
+ "course_sections", "log", "log_display", "modules",
+ "user", "user_admins", "user_students", "user_teachers");
+ foreach ($mtables as $mtable) {
+ if (!in_array($CFG->prefix.$mtable, $tables)) {
+ $maintables = false;
+ break;
+ }
+ }
+ }
+ if (! $maintables) {
if (!$agreelicence) {
$strlicense = get_string("license");
print_header($strlicense, $strlicense, $strlicense);
Please sign in to comment.
Something went wrong with that request. Please try again.