From 0c1b89a716160ca242ec02acdf3db565ef6deee6 Mon Sep 17 00:00:00 2001 From: Mark Crane Date: Tue, 29 Jan 2013 02:15:12 +0000 Subject: [PATCH] Fix a sqlite upgrade schema bug. --- includes/lib_schema.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/includes/lib_schema.php b/includes/lib_schema.php index cd831fe281..86e898ca95 100644 --- a/includes/lib_schema.php +++ b/includes/lib_schema.php @@ -199,6 +199,7 @@ function db_create_table ($apps, $db_type, $table) { } function db_insert_into ($apps, $db_type, $table) { + global $db, $db_name; foreach ($apps as $x => &$app) { foreach ($app['db'] as $y => $row) { if ($row['table'] == $table) { @@ -230,7 +231,17 @@ function db_insert_into ($apps, $db_type, $table) { if ($field_count > 0 ) { $sql .= ","; } if (is_array($field['name'])) { if ($field['exists'] == "false") { - $sql .= $field['name']['deprecated']; + if (is_array($field['name']['deprecated'])) { + foreach ($field['name']['deprecated'] as $row) { + if (db_column_exists ($db, $db_type, $db_name, $table, $row)) { + $sql .= $row; + break; + } + } + } + else { + $sql .= $field['name']['deprecated']; + } } else { $sql .= $field['name']['text']; @@ -242,7 +253,7 @@ function db_insert_into ($apps, $db_type, $table) { $field_count++; } } - $sql .= " FROM tmp_".$row['table'].";\n\n"; + $sql .= " FROM tmp_".$table.";\n\n"; return $sql; } }