From 95d4575736893d2c9fcf1841349d86f75d4fa877 Mon Sep 17 00:00:00 2001 From: moodler Date: Tue, 3 Feb 2004 04:56:22 +0000 Subject: [PATCH] If there aren't many logs to process, then do it now during the main upgrade, but otherwise, tell the upgrader to run the separate script at admin/upgrade_logs.php later on. --- lib/db/mysql.php | 39 +++++++++++++++++++++------------------ lib/db/postgres7.php | 40 +++++++++++++++++++++++++++------------- 2 files changed, 48 insertions(+), 31 deletions(-) diff --git a/lib/db/mysql.php b/lib/db/mysql.php index 5adf3e8142..f43738dce0 100644 --- a/lib/db/mysql.php +++ b/lib/db/mysql.php @@ -637,36 +637,39 @@ function main_upgrade($oldversion=0) { if ($oldversion < 2004013101) { table_column("log", "", "cmid", "integer", "10", "unsigned", "0", "", "module"); - /// try and extract as many cmids as possible from the existing logs if ($coursemodules = get_records_sql("SELECT cm.*, m.name FROM {$CFG->prefix}course_modules cm, {$CFG->prefix}modules m WHERE cm.module = m.id")) { + $cmcount = count($coursemodules); - if ($cmcount > 10) { + + if ($cmcount > 10) { /// Process the logs later print_simple_box_start("center", "", "#ffcccc"); - echo ''; - echo "

Upgrading old logs with new data from $cmcount coursemodules."; - echo '

This process may take a very long time ... please be patient and let it finish.'; - echo ''; + echo '

Your old logs may need to be upgraded to take advantage of some new features.'; + echo 'To upgrade your logs, go to this page AFTER Moodle is completely upgraded:

'; + echo "

$CFG->wwwroot/$CFG->admin/upgrade_logs.php

"; print_simple_box_end(); - } - foreach ($coursemodules as $cm) { - execute_sql("UPDATE {$CFG->prefix}log SET cmid = '$cm->id' - WHERE module = '$cm->name' AND url LIKE 'view.php?id=$cm->id%'"); - if ($cm->name == "forum") { + + } else { /// Process the logs now (there aren't that many) + notify("Upgrading old logs with new data from $cmcount coursemodules."); + foreach ($coursemodules as $cm) { execute_sql("UPDATE {$CFG->prefix}log SET cmid = '$cm->id' - WHERE module = 'forum' AND url LIKE '%?f=$cm->instance%'"); - if ($discussions = get_records("forum_discussions", "forum", $cm->instance)) { - notify("Processing ".count($discussions)." discussions"); - foreach ($discussions as $discussion) { - execute_sql("UPDATE {$CFG->prefix}log SET cmid = '$cm->id' - WHERE module = 'forum' AND url LIKE '%?d=$discussion->id%'"); + WHERE module = '$cm->name' AND url LIKE 'view.php?id=$cm->id%'"); + if ($cm->name == "forum") { + execute_sql("UPDATE {$CFG->prefix}log SET cmid = '$cm->id' + WHERE module = 'forum' AND url LIKE '%?f=$cm->instance%'"); + if ($discussions = get_records("forum_discussions", "forum", $cm->instance)) { + notify("Processing ".count($discussions)." discussions"); + foreach ($discussions as $discussion) { + execute_sql("UPDATE {$CFG->prefix}log SET cmid = '$cm->id' + WHERE module = 'forum' AND url LIKE '%?d=$discussion->id%'"); + } } } + flush(); } - flush(); } } } diff --git a/lib/db/postgres7.php b/lib/db/postgres7.php index 684b8b8c18..36bd38f050 100644 --- a/lib/db/postgres7.php +++ b/lib/db/postgres7.php @@ -383,31 +383,45 @@ function main_upgrade($oldversion=0) { if ($oldversion < 2004013101) { table_column("log", "", "cmid", "integer", "10", "unsigned", "0", "", "module"); - /// try and extract as many cmids as possible from the existing logs if ($coursemodules = get_records_sql("SELECT cm.*, m.name FROM {$CFG->prefix}course_modules cm, {$CFG->prefix}modules m WHERE cm.module = m.id")) { - foreach ($coursemodules as $cm) { - execute_sql("UPDATE {$CFG->prefix}log SET cmid = '$cm->id' - WHERE module = '$cm->name' AND url ILIKE 'view.php?id=$cm->id%'"); - if ($cm->name == "forum") { + + $cmcount = count($coursemodules); + + if ($cmcount > 10) { /// Process the logs later + print_simple_box_start("center", "", "#ffcccc"); + echo '

Your old logs may need to be upgraded to take advantage of some new features.'; + echo 'To upgrade your logs, go to this page AFTER Moodle is completely upgraded:

'; + echo "

$CFG->wwwroot/$CFG->admin/upgrade_logs.php

"; + print_simple_box_end(); + + } else { /// Process the logs now (there aren't that many) + notify("Upgrading old logs with new data from $cmcount coursemodules."); + foreach ($coursemodules as $cm) { execute_sql("UPDATE {$CFG->prefix}log SET cmid = '$cm->id' - WHERE module = 'forum' AND url ILIKE '%?f=$cm->instance%'"); - if ($discussions = get_records("forum_discussions", "forum", $cm->instance)) { - foreach ($discussions as $discussion) { - execute_sql("UPDATE {$CFG->prefix}log SET cmid = '$cm->id' - WHERE module = 'forum' AND url ILIKE '%?d=$discussion->id%'"); + WHERE module = '$cm->name' AND url ILIKE 'view.php?id=$cm->id%'"); + if ($cm->name == "forum") { + execute_sql("UPDATE {$CFG->prefix}log SET cmid = '$cm->id' + WHERE module = 'forum' AND url ILIKE '%?f=$cm->instance%'"); + if ($discussions = get_records("forum_discussions", "forum", $cm->instance)) { + notify("Processing ".count($discussions)." discussions"); + foreach ($discussions as $discussion) { + execute_sql("UPDATE {$CFG->prefix}log SET cmid = '$cm->id' + WHERE module = 'forum' AND url ILIKE '%?d=$discussion->id%'"); + } } } + flush(); } - flush(); } } } - + return $result; + } -?> +?> -- 2.39.5