diff --git a/main/install/upgrade.php b/main/install/upgrade.php index 626eca8bf8..31bedf8e32 100755 --- a/main/install/upgrade.php +++ b/main/install/upgrade.php @@ -936,9 +936,4 @@ include_once ("../lang/$install_language/install.inc.php"); //$values = $wizard->exportValues(); -/* -============================================================================== - FOOTER -============================================================================== -*/ ?> \ No newline at end of file diff --git a/main/install/upgrade_lib.php b/main/install/upgrade_lib.php index dc7c8d45db..a064772432 100644 --- a/main/install/upgrade_lib.php +++ b/main/install/upgrade_lib.php @@ -42,9 +42,15 @@ * - update-db-scorm-1.6.x-1.8.0.inc.php * - migrate-db-1.6.x-1.8.0-post.sql * - migrate-db-1.6.x-1.8.0-pre.sql +* @todo remove code duplication in this function */ function upgrade_16x_to_180($values) { + $is_single_database = ['database_single']; + $main_database = $values['database_main_db']; + $tracking_database = $values['database_tracking']; + $user_database = $values['database_user']; + /* PRE SECTION UPGRADES TO GENERAL DATABASES before course upgrades @@ -55,9 +61,7 @@ function upgrade_16x_to_180($values) $main_query_list = get_sql_file_contents('migrate-db-1.6.x-1.8.0-pre.sql','main'); if(count($main_query_list) > 0) { - $main_database = $values['database_main_db']; mysql_select_db($main_database); - foreach($main_query_list as $this_query) { mysql_query($this_query); @@ -69,9 +73,7 @@ function upgrade_16x_to_180($values) $tracking_query_list = get_sql_file_contents('migrate-db-1.6.x-1.8.0-pre.sql','stats'); if(count($tracking_query_list) > 0) { - $tracking_database = $values['database_tracking']; mysql_select_db($tracking_database); - foreach($tracking_query_list as $this_query) { mysql_query($this_query); @@ -83,9 +85,7 @@ function upgrade_16x_to_180($values) $user_query_list = get_sql_file_contents('migrate-db-1.6.x-1.8.0-pre.sql','user'); if(count($user_query_list) > 0) { - $user_database = $values['database_user']; mysql_select_db($user_database); - foreach($user_query_list as $this_query) { mysql_query($this_query); @@ -120,9 +120,7 @@ function upgrade_16x_to_180($values) $main_query_list = get_sql_file_contents('migrate-db-1.6.x-1.8.0-post.sql','main'); if(count($main_query_list) > 0) { - $main_database = $values['database_main_db']; mysql_select_db($main_database); - foreach($main_query_list as $this_query) { mysql_query($this_query); @@ -133,9 +131,7 @@ function upgrade_16x_to_180($values) $tracking_query_list = get_sql_file_contents('migrate-db-1.6.x-1.8.0-pre.sql','stats'); if(count($tracking_query_list) > 0) { - $tracking_database = $values['database_tracking']; mysql_select_db($tracking_database); - foreach($tracking_query_list as $this_query) { mysql_query($this_query); @@ -145,9 +141,7 @@ function upgrade_16x_to_180($values) $user_query_list = get_sql_file_contents('migrate-db-1.6.x-1.8.0-post.sql','user'); if(count($user_query_list) > 0) { - $user_database = $values['database_user']; mysql_select_db($user_database); - foreach($user_query_list as $this_query) { mysql_query($this_query); @@ -164,9 +158,7 @@ function upgrade_16x_to_180($values) if(count($course_query_list) > 0) { //upgrade course databases - $main_database = $values['database_main_db']; mysql_select_db($main_database); - $sql_result = mysql_query("SELECT code,db_name,directory,course_language FROM course WHERE target_course_code IS NULL"); if(mysql_num_rows($sql_result) > 0) { @@ -181,6 +173,10 @@ function upgrade_16x_to_180($values) //... execute the list of course update queries foreach($course_query_list as $this_query) { + if ($is_single_database) //otherwise just use the main one + { + $query = preg_replace('/^(UPDATE|ALTER TABLE|CREATE TABLE|DROP TABLE|INSERT INTO|DELETE FROM)\s+(\w*)(.*)$/',"$1 $prefix$2$3",$query); + } mysql_query($this_query); } }