diff --git a/admin/database.php b/admin/database.php index 7f226c872d2..22e0e2a8cf0 100644 --- a/admin/database.php +++ b/admin/database.php @@ -50,7 +50,7 @@ function db_rename_table($oldtable, $newtable) global $connect; switch ($connect->databaseType) { case 'mysql' : return "RENAME TABLE $oldtable TO $newtable"; - case 'odbc_mssql' : return "EXEC sp_rename '$oldtable', '$newtable'"; + case 'odbc_mssql' : return "EXEC sp_rename $oldtable, $newtable"; default: die ("Couldn't create 'rename table' query for connection type '$connect->databaseType'"); } } diff --git a/admin/tokens.php b/admin/tokens.php index 291c7200653..cac11766675 100644 --- a/admin/tokens.php +++ b/admin/tokens.php @@ -50,6 +50,8 @@ if (!isset($start)) {$start=returnglobal('start');} if (!isset($searchstring)) {$searchstring=returnglobal('searchstring');} include_once("login_check.php"); +include_once("database.php"); + $tokenoutput=''; $sumquery5 = "SELECT b.* FROM {$dbprefix}surveys AS a INNER JOIN {$dbprefix}surveys_rights AS b ON a.sid = b.sid WHERE a.sid=$surveyid AND b.uid = ".$_SESSION['loginID']; //Getting rights for this survey and user @@ -227,8 +229,7 @@ } elseif (returnglobal('restoretable') == "Y" && returnglobal('oldtable') && ($sumrows5['edit_survey_property'] || $sumrows5['activate_survey'])) { - #TODO: make the table rename use datadict - $query = "RENAME TABLE ".db_quote_id(returnglobal('oldtable'))." TO ".db_table_name("tokens_$surveyid"); + $query = db_rename_table(db_quote_id(returnglobal('oldtable')) , db_table_name("tokens_$surveyid")); $result=$connect->Execute($query) or die("Failed Rename!
".$query."
".htmlspecialchars($connect->ErrorMsg())); $tokenoutput .= "\t\n" ."\t\t\n" @@ -722,8 +723,8 @@ { $oldtable = "tokens_$surveyid"; $newtable = "old_tokens_{$surveyid}_$date"; - $deactivatequery = "RENAME TABLE ".db_table_name($oldtable)." TO ".db_table_name($newtable); - $deactivateresult = $connect->Execute($deactivatequery) or die ("Couldn't deactivate because:
\n".htmlspecialchars($connect->ErrorMsg())."

\nAdmin\n"); + $deactivatequery = db_rename_table( db_table_name($oldtable), db_table_name($newtable)); + $deactivateresult = $connect->Execute($deactivatequery) or die ("Couldn't deactivate because:
\n".htmlspecialchars($connect->ErrorMsg())." - Query: $deactivatequery

\nAdmin\n"); $tokenoutput .= "\n" .$clang->gT("The tokens table has now been removed and tokens are no longer required to access this survey.")."
".$clang->gT("A backup of this table has been made and can be accessed by your system administrator.")."
\n" ."(\"{$dbprefix}old_tokens_{$_GET['sid']}_$date\")"."

\n" diff --git a/common.php b/common.php index 8f8b55664ea..02c263af72e 100644 --- a/common.php +++ b/common.php @@ -452,7 +452,7 @@ function db_select_tables_like($table) case 'mysql' : return "SHOW TABLES LIKE '$table'"; case 'odbc_mssql' : - return "SELECT * FROM INFORMATION_SCHEMA.TABLES where TABLE_TYPE='BASE TABLE' and TABLE_NAME LIKE '$table'"; + return "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES where TABLE_TYPE='BASE TABLE' and TABLE_NAME LIKE '$table'"; default: die ("Couldn't create 'select tables like' query for connection type '$connect->databaseType'"); } }