$query
".$connect->ErrorMsg()); $optionElements = ''; $queryCheckColumnsActive = "SELECT * FROM {$dbprefix}survey_{$surveyid} "; $resultActive = db_execute_num($queryCheckColumnsActive) or safe_die("Error:
$query
".$connect->ErrorMsg()); $countActive = $resultActive->FieldCount(); while ($row = $result->FetchRow()) { $queryCheckColumnsOld = "SELECT * FROM {$row[0]} "; $resultOld = db_execute_num($queryCheckColumnsOld) or safe_die("Error:
$query
".$connect->ErrorMsg()); if($countActive== $resultOld->FieldCount()) { $optionElements .= "\t\t\t\n"; } } //Get the menubar $importoldresponsesoutput = browsemenubar($clang->gT("Quick statistics")); $importoldresponsesoutput .= "
".$clang->gT("Import responses from a deactivated survey table")."

 

".$clang->gT("Warning").'
'.$clang->gT("You can import all old responses with the same amount of columns as in your active survey. YOU have to make sure, that this responses corresponds to the questions in your active survey.")."

"; } elseif (isset($surveyid) && $surveyid && isset($oldtable)) { $activetable = "{$dbprefix}survey_$surveyid"; //Fields we don't want to import $dontimportfields = array( //,'otherfield' ); $aFieldsOldTable=array_values($connect->MetaColumnNames($oldtable, true)); $aFieldsNewTable=array_values($connect->MetaColumnNames($activetable, true)); // Only import fields where the fieldnames are matching $aValidFields=array_intersect($aFieldsOldTable,$aFieldsNewTable); // Only import fields not being in the $dontimportfields array $aValidFields=array_diff($aValidFields,$dontimportfields); $queryOldValues = "SELECT ".implode(", ",array_map("db_quote_id",$aValidFields))." FROM {$oldtable} "; $resultOldValues = db_execute_assoc($queryOldValues) or safe_die("Error:
$queryOldValues
".$connect->ErrorMsg()); $iRecordCount=$resultOldValues->RecordCount(); $aSRIDConversions=array(); while ($row = $resultOldValues->FetchRow()) { $iOldID=$row['id']; unset($row['id']); $sInsertSQL="INSERT into {$activetable} (".implode(",",array_map("db_quote_id",array_keys($row))).") VALUES (".implode(",",array_map("db_quoteall",array_values($row))).")"; $result = $connect->Execute($sInsertSQL) or safe_die("Error:
$sInsertSQL
".$connect->ErrorMsg()); $aSRIDConversions[$iOldID]=$connect->Insert_Id($activetable,"id"); } $_SESSION['flashmessage'] = sprintf($clang->gT("%s old response(s) were successfully imported."),$iRecordCount); $sOldTimingsTable=substr($oldtable,0,strrpos($oldtable,'_')).'_timings'.substr($oldtable,strrpos($oldtable,'_')); $sNewTimingsTable=db_table_name_nq("survey_{$surveyid}_timings"); if (tableExists(sStripDBPrefix($sOldTimingsTable)) && tableExists(sStripDBPrefix($sNewTimingsTable)) && returnglobal('importtimings')=='Y') { // Import timings $aFieldsOldTimingTable=array_values($connect->MetaColumnNames($sOldTimingsTable, true)); $aFieldsNewTimingTable=array_values($connect->MetaColumnNames($sNewTimingsTable, true)); $aValidTimingFields=array_intersect($aFieldsOldTimingTable,$aFieldsNewTimingTable); $queryOldValues = "SELECT ".implode(", ",$aValidTimingFields)." FROM {$sOldTimingsTable} "; $resultOldValues = db_execute_assoc($queryOldValues) or safe_die("Error:
$queryOldValues
".$connect->ErrorMsg()); $iRecordCountT=$resultOldValues->RecordCount(); $aSRIDConversions=array(); while ($row = $resultOldValues->FetchRow()) { if (isset($aSRIDConversions[$row['id']])) { $row['id']=$aSRIDConversions[$row['id']]; } $sInsertSQL="INSERT into {$sNewTimingsTable} (".implode(",",array_map("db_quote_id",array_keys($row))).") VALUES (".implode(",",array_map("db_quoteall",array_values($row))).")"; $result = $connect->Execute($sInsertSQL) or safe_die("Error:
$sInsertSQL
".$connect->ErrorMsg()); } $_SESSION['flashmessage'] = sprintf($clang->gT("%s old response(s) and according timings were successfully imported."),$iRecordCount,$iRecordCountT); } $importoldresponsesoutput = browsemenubar($clang->gT("Quick statistics")); } ?>