]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-17457 removed all statements from main install.xml, some more improvements
authorskodak <skodak>
Mon, 12 Jan 2009 19:36:59 +0000 (19:36 +0000)
committerskodak <skodak>
Mon, 12 Jan 2009 19:36:59 +0000 (19:36 +0000)
admin/index.php
lib/adminlib.php
lib/db/install.php
lib/db/install.xml

index d8f1cb6ae9e72e4800f0ae157fd624894cc62916..8ea7f8cfa33104fad1bcf5fe56ae66d512414854 100644 (file)
@@ -71,7 +71,7 @@
 
     $version = null;
     $release = null;
-    include("$CFG->dirroot/version.php");       // defines $version and $release
+    require("$CFG->dirroot/version.php");       // defines $version and $release
 
     if (!$version or !$release) {
         print_error('withoutversion', 'debug'); // without version, stop
             print_header($strcurrentrelease, $strcurrentrelease, $navigation, "", "", false, "&nbsp;", "&nbsp;");
             print_heading("Moodle $release");
             print_box(get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/en/Release_Notes'), 'generalbox boxaligncenter boxwidthwide');
-            echo '<form action="index.php"><div>';
-            echo '<input type="hidden" name="agreelicense" value="1" />';
-            echo '<input type="hidden" name="confirmrelease" value="1" />';
-            echo '</div>';
-            echo '<br /><br /><input type="submit" value="'.get_string('continue').'" /></div>';
-            echo '</form>';
+            print_continue('index.php?agreelicense=1&confirmrelease=1');
             print_footer('none');
             die;
         }
 
     /// set all core default records and default settings
         require_once("$CFG->libdir/db/install.php");
-        xmldb_main_install($version);
+        xmldb_main_install();
+
+    /// store version
+        upgrade_main_savepoint(true, $version, false);
 
     /// Continue with the instalation
 
         message_update_providers();
         message_update_providers('message');
 
-        // Write default settings unconditionally (i.e. even if a setting is already set, overwrite it)
+        // Write default settings unconditionally
         admin_apply_default_settings(NULL, true);
         notify($strdatabasesuccess, 'notifysuccess');
         print_upgrade_separator();
index a5a591a93083400703119d50f528c0b717ebfc7d..16de8c7e5e2718dc1eee0c8d72e1bd2de21260b5 100644 (file)
@@ -17,6 +17,36 @@ require_once($CFG->libdir.'/messagelib.php');      // Messagelib functions
 define('INSECURE_DATAROOT_WARNING', 1);
 define('INSECURE_DATAROOT_ERROR', 2);
 
+/**
+ * Insert or update log display entry. Entry may already exist.
+ * $module, $action must be unique
+ *
+ * @param string $module
+ * @param string $action
+ * @param string $mtable
+ * @param string $field
+ * @return void
+ *
+ */
+function upgrade_log_display_entry($module, $action, $mtable, $field) {
+    global $DB;
+
+    if ($type = $DB->get_record('log_display', array('module'=>$module, 'action'=>$action))) {
+        $type->mtable = $mtable;
+        $type->field  = $field;
+        $DB->update_record('log_display', $type);
+
+    } else {
+        $type = new object();
+        $type->module = $module;
+        $type->action = $action;
+        $type->mtable = $mtable;
+        $type->field  = $field;
+
+        $DB->insert_record('log_display', $type, false);
+    }
+}
+
 /**
  * Upgrade savepoint, marks end of each upgrade block.
  * It stores new main version, resets upgrade timeout
@@ -27,9 +57,10 @@ define('INSECURE_DATAROOT_ERROR', 2);
  *
  * @param bool $result false if upgrade step failed, true if completed
  * @param string or float $version main version
+ * @param bool $allowabort allow user to abort script execution here
  * @return void
  */
-function upgrade_main_savepoint($result, $version) {
+function upgrade_main_savepoint($result, $version, $allowabort=true) {
     global $CFG;
 
     if ($result) {
@@ -39,14 +70,14 @@ function upgrade_main_savepoint($result, $version) {
         }
         set_config('version', $version);
     } else {
-        notify ("Upgrade savepoint: Error during main upgrade to version $version");
+        error("Upgrade savepoint: Error during main upgrade to version $version"); // TODO: localise
     }
 
     // reset upgrade timeout to default
     upgrade_set_timeout();
 
     // this is a safe place to stop upgrades if user aborts page loading
-    if (connection_aborted()) {
+    if ($allowabort and connection_aborted()) {
         die;
     }
 }
@@ -54,13 +85,15 @@ function upgrade_main_savepoint($result, $version) {
 /**
  * Module upgrade savepoint, marks end of module upgrade blocks
  * It stores module version, resets upgrade timeout
- * and abort upgrade if usercancels page loading.
+ * and abort upgrade if user cancels page loading.
  *
  * @param bool $result false if upgrade step failed, true if completed
  * @param string or float $version main version
+ * @param string $modname name of module
+ * @param bool $allowabort allow user to abort script execution here
  * @return void
  */
-function upgrade_mod_savepoint($result, $version, $modname) {
+function upgrade_mod_savepoint($result, $version, $modname, $allowabort=true) {
     global $DB;
 
     if (!$module = $DB->get_record('modules', array('name'=>$modname))) {
@@ -75,19 +108,30 @@ function upgrade_mod_savepoint($result, $version, $modname) {
         $module->version = $version;
         $DB->update_record('modules', $module);
     } else {
-        notify ("Upgrade savepoint: Error during mod upgrade to version $version");
+        error("Upgrade savepoint: Error during mod upgrade to version $version"); // TODO: localise
     }
 
     // reset upgrade timeout to default
     upgrade_set_timeout();
 
     // this is a safe place to stop upgrades if user aborts page loading
-    if (connection_aborted()) {
+    if ($allowabort and connection_aborted()) {
         die;
     }
 }
 
-function upgrade_blocks_savepoint($result, $version, $blockname) {
+/**
+ * Blocks upgrade savepoint, marks end of blocks upgrade blocks
+ * It stores block version, resets upgrade timeout
+ * and abort upgrade if user cancels page loading.
+ *
+ * @param bool $result false if upgrade step failed, true if completed
+ * @param string or float $version main version
+ * @param string $blockname name of block
+ * @param bool $allowabort allow user to abort script execution here
+ * @return void
+ */
+function upgrade_blocks_savepoint($result, $version, $blockname, $allowabort=true) {
     global $DB;
 
     if (!$block = $DB->get_record('block', array('name'=>$blockname))) {
@@ -102,19 +146,31 @@ function upgrade_blocks_savepoint($result, $version, $blockname) {
         $block->version = $version;
         $DB->update_record('block', $block);
     } else {
-        notify ("Upgrade savepoint: Error during mod upgrade to version $version");
+        error("Upgrade savepoint: Error during mod upgrade to version $version"); // TODO: localise
     }
 
     // reset upgrade timeout to default
     upgrade_set_timeout();
 
     // this is a safe place to stop upgrades if user aborts page loading
-    if (connection_aborted()) {
+    if ($allowabort and connection_aborted()) {
         die;
     }
 }
 
-function upgrade_plugin_savepoint($result, $version, $type, $dir) {
+/**
+ * Plugins upgrade savepoint, marks end of blocks upgrade blocks
+ * It stores plugin version, resets upgrade timeout
+ * and abort upgrade if user cancels page loading.
+ *
+ * @param bool $result false if upgrade step failed, true if completed
+ * @param string or float $version main version
+ * @param string $type name of plugin
+ * @param string $dir location of plugin
+ * @param bool $allowabort allow user to abort script execution here
+ * @return void
+ */
+function upgrade_plugin_savepoint($result, $version, $type, $dir, $allowabort=true) {
     if ($result) {
         $fullname = $type . '_' . $dir;
         $installedversion = get_config($fullname, 'version');
@@ -127,14 +183,14 @@ function upgrade_plugin_savepoint($result, $version, $type, $dir) {
         }
         set_config('version', $version, $fullname);
     } else {
-        notify ("Upgrade savepoint: Error during mod upgrade to version $version");
+        error("Upgrade savepoint: Error during mod upgrade to version $version"); // TODO: localise
     }
 
     // Reset upgrade timeout to default
     upgrade_set_timeout();
 
     // This is a safe place to stop upgrades if user aborts page loading
-    if (connection_aborted()) {
+    if ($allowabort and connection_aborted()) {
         die;
     }
 }
index c286782b627d21cd8c6012bb14ac01463ec15fde..36da7860a3f6bde630d6904f4adbfc418934d107 100644 (file)
@@ -3,7 +3,7 @@
 // This file is executed right after the install.xml
 //
 
-function xmldb_main_install($version) {
+function xmldb_main_install() {
     global $CFG, $DB, $SITE;
 
 /// TODO: move all statements from install.xml here
@@ -91,12 +91,45 @@ function xmldb_main_install($version) {
     $mnetid = $DB->insert_record('mnet_host', $mnethost);
     set_config('mnet_localhost_id', $mnetid);
 
+    // Initial insert of mnet applications info
+    $mnet_app = new object();
+    $mnet_app->name              = 'moodle';
+    $mnet_app->display_name      = 'Moodle';
+    $mnet_app->xmlrpc_server_url = '/mnet/xmlrpc/server.php';
+    $mnet_app->sso_land_url      = '/auth/mnet/land.php';
+    $mnet_app->sso_jump_url      = '/auth/mnet/land.php';
+    $DB->insert_record('mnet_application', $mnet_app);
+
+    $mnet_app = new object();
+    $mnet_app->name              = 'mahara';
+    $mnet_app->display_name      = 'Mahara';
+    $mnet_app->xmlrpc_server_url = '/api/xmlrpc/server.php';
+    $mnet_app->sso_land_url      = '/auth/xmlrpc/land.php';
+    $mnet_app->sso_jump_url      = '/auth/xmlrpc/jump.php';
+    $DB->insert_record('mnet_application', $mnet_app);
+
+/// insert log entries - replaces statements section in install.xml
+    upgrade_log_display_entry('user', 'view', 'user', 'CONCAT(firstname,\' \',lastname)');
+    upgrade_log_display_entry('course', 'user report', 'user', 'CONCAT(firstname,\' \',lastname)');
+    upgrade_log_display_entry('course', 'view', 'course', 'fullname');
+    upgrade_log_display_entry('course', 'update', 'course', 'fullname');
+    upgrade_log_display_entry('course', 'enrol', 'course', 'fullname');
+    upgrade_log_display_entry('course', 'unenrol', 'course', 'fullname');
+    upgrade_log_display_entry('course', 'report log', 'course', 'fullname');
+    upgrade_log_display_entry('course', 'report live', 'course', 'fullname');
+    upgrade_log_display_entry('course', 'report outline', 'course', 'fullname');
+    upgrade_log_display_entry('course', 'report participation', 'course', 'fullname');
+    upgrade_log_display_entry('course', 'report stats', 'course', 'fullname');
+    upgrade_log_display_entry('message', 'write', 'user', 'CONCAT(firstname,\' \',lastname)');
+    upgrade_log_display_entry('message', 'read', 'user', 'CONCAT(firstname,\' \',lastname)');
+    upgrade_log_display_entry('message', 'add contact', 'user', 'CONCAT(firstname,\' \',lastname)');
+    upgrade_log_display_entry('message', 'remove contact', 'user', 'CONCAT(firstname,\' \',lastname)');
+    upgrade_log_display_entry('message', 'block contact', 'user', 'CONCAT(firstname,\' \',lastname)');
+    upgrade_log_display_entry('message', 'unblock contact', 'user', 'CONCAT(firstname,\' \',lastname)');
+    upgrade_log_display_entry('group', 'view', 'groups', 'name');
+
 
 /// Create guest record
     create_guest_record();
 
-
-/// everything ready - store main version :-D
-    set_config('version', $version);
-
 }
\ No newline at end of file
index cc5939ade6986016b57b53dd413ede7571960dfd..3088dbbd585205263ea9bf2184d5979cf150413d 100644 (file)
       </INDEXES>
     </TABLE>
   </TABLES>
-  <STATEMENTS>
-    <STATEMENT NAME="insert mnet_application" TYPE="insert" TABLE="mnet_application" COMMENT="Initial insert of records on table mnet_application" NEXT="insert log_display">
-      <SENTENCES>
-        <SENTENCE TEXT="(name, display_name, xmlrpc_server_url, sso_land_url, sso_jump_url) VALUES ('moodle','Moodle','/mnet/xmlrpc/server.php', '/auth/mnet/land.php', '/auth/mnet/jump.php')" />
-        <SENTENCE TEXT="(name, display_name, xmlrpc_server_url, sso_land_url, sso_jump_url) VALUES ('mahara','Mahara','/api/xmlrpc/server.php',  '/auth/xmlrpc/land.php', '/auth/xmlrpc/jump.php')" />
-      </SENTENCES>
-    </STATEMENT>
-    <STATEMENT NAME="insert log_display" TYPE="insert" TABLE="log_display" COMMENT="Initial insert of records on table log_display" PREVIOUS="insert mnet_application">
-      <SENTENCES>
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('user', 'view', 'user', 'CONCAT(firstname,&quot; &quot;,lastname)')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('course', 'user report', 'user', 'CONCAT(firstname,&quot; &quot;,lastname)')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('course', 'view', 'course', 'fullname')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('course', 'update', 'course', 'fullname')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('course', 'enrol', 'course', 'fullname')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('course', 'unenrol', 'course', 'fullname')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('course', 'report log', 'course', 'fullname')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('course', 'report live', 'course', 'fullname')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('course', 'report outline', 'course', 'fullname')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('course', 'report participation', 'course', 'fullname')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('course', 'report stats', 'course', 'fullname')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('message', 'write', 'user', 'CONCAT(firstname,&quot; &quot;,lastname)')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('message', 'read', 'user', 'CONCAT(firstname,&quot; &quot;,lastname)')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('message', 'add contact', 'user', 'CONCAT(firstname,&quot; &quot;,lastname)')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('message', 'remove contact', 'user', 'CONCAT(firstname,&quot; &quot;,lastname)')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('message', 'block contact', 'user', 'CONCAT(firstname,&quot; &quot;,lastname)')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('message', 'unblock contact', 'user', 'CONCAT(firstname,&quot; &quot;,lastname)')" />
-        <SENTENCE TEXT="(module, action, mtable, field) VALUES ('group', 'view', 'groups', 'name')" />
-      </SENTENCES>
-    </STATEMENT>
-  </STATEMENTS>
 </XMLDB>
\ No newline at end of file