" . "
".$clang->gT("Data Consistency Check")."
\n" . "".$clang->gT("If errors are showing up you might have to execute this script repeatedly.")."
\n" . "' ; /**********************************************************************/ /* CREATE FORM ELEMENTS CONTAINING PROPOSED ALTERATIONS */ /**********************************************************************/ if (!isset($cdelete) && !isset($adelete) && !isset($qdelete) && !isset($gdelete) && !isset($asgdelete) && !isset($sdelete) && !isset($assdelete) && !isset($qadelete) && !isset($oldsdelete) && !isset($oldtdelete) && !isset($sldelete)&& $iCountDefaultValues==0 && $iCountQuotas==0 && $iCountQuotaLanguageSettings==0 && $iCountQuotaMembers==0) { $integritycheck .= "
".$clang->gT("No database action required"); } else { $integritycheck .= "
".$clang->gT("Should we proceed with the delete?")."
\n"; $integritycheck .= "
\n"; if ($iCountQuotaMembers>0) { $integritycheck .= "\n"; } if ($iCountQuotaLanguageSettings>0) { $integritycheck .= "\n"; } if ($iCountQuotas>0) { $integritycheck .= "\n"; } if ($iCountDefaultValues>0) { $integritycheck .= "\n"; } if (isset($oldsdelete)) { foreach($oldsdelete as $olds) { $integritycheck .= "\n"; } } if (isset($oldtdelete)) { foreach($oldtdelete as $oldt) { $integritycheck .= "\n"; } } if (isset($cdelete)) { foreach ($cdelete as $cd) { $integritycheck .= "\n"; } } if (isset($adelete)) { foreach ($adelete as $ad) { $integritycheck .= "\n"; } } if (isset($qdelete)) { foreach($qdelete as $qd) { $integritycheck .= "\n"; } } if (isset($gdelete)) { foreach ($gdelete as $gd) { $integritycheck .= "\n"; } } if (isset($qadelete)) { foreach ($qadelete as $qad) { $integritycheck .= "\n"; } } if (isset($assdelete)) { foreach ($assdelete as $ass) { $integritycheck .= "\n"; } } if (isset($asgdelete)) { foreach ($asgdelete as $asg) { $integritycheck .= "\n"; } } if (isset($sdelete)) { foreach ($sdelete as $asg) { $integritycheck .= "\n"; } } if (isset($sldelete)) { foreach ($sldelete as $sld) { $integritycheck .= "\n"; } } $integritycheck .= "\n" ."\n" ."
\n"; } $integritycheck .= "
\n"; $integritycheck2 = "
" . "
".$clang->gT("Data redundancy check")."
" . "".$clang->gT("The redundancy check looks for tables leftover after deactivating a survey. You can delete these if you no longer require them.")."\n" . "
\n"; if (!isset($oldsoptionaldelete) && !isset($oldsmultidelete) && !isset($oldtoptionaldelete) && !isset($oldtmultidelete) ) { $integritycheck2 .= "
".$clang->gT("No database action required"); } else { $integritycheck2 .= "
\n" . "\n" ."

\n" ."

".$clang->gT("Note that you cannot undo a delete if you proceed. The data will be gone.")."

\n" ."
\n"; } $integritycheck2 .= "
"; $integritycheck .= $integritycheck2; } elseif ($ok == "Y") { $integritycheck .= "
\n" . "\n" . "\t\n" . "\t\t\n" . "\t\n" . "\t
\n" . "\t\t\t".$clang->gT("Data Consistency Check")."
".$clang->gT("If errors are showing up you might have to execute this script repeatedly.")."
\n" . "\t\t
"; $cdelete=returnglobal('cdelete'); $adelete=returnglobal('adelete'); $qdelete=returnglobal('qdelete'); $gdelete=returnglobal('gdelete'); $assdelete=returnglobal('assdelete'); $asgdelete=returnglobal('asgdelete'); $qadelete=returnglobal('qadelete'); $sdelete=returnglobal('sdelete'); $sldelete=returnglobal('sldelete'); $oldsdelete=returnglobal('oldsdelete'); $oldtdelete=returnglobal('oldtdelete'); $bDefaultValueDelete=returnglobal('defaultvalue_delete'); $bQuotaDelete=returnglobal('quota_delete'); $bQuotaLanguageSettingsDelete=returnglobal('quotalanguagesettings_delete'); $bQuotaMembersDelete=returnglobal('quotamembers_delete'); if (isset($bDefaultValueDelete) && $bDefaultValueDelete==1) { $integritycheck .= $clang->gT("Deleting orphaned default values.")."
\n"; $sSQL = "delete FROM {$dbprefix}defaultvalues where qid not in (select qid from {$dbprefix}questions)"; $result = $connect->Execute($sSQL) or safe_die ("Couldn't delete default values ($sSQL)
".$connect->ErrorMsg()); } if (isset($bQuotaMembersDelete) && $bQuotaMembersDelete==1) { $integritycheck .= $clang->gT("Deleting orphaned quotas.")."
\n"; $sSQL = "delete FROM {$dbprefix}quota_members where quota_id not in (select id from {$dbprefix}quota) or qid not in (select qid from {$dbprefix}questions) or sid not in (select sid from {$dbprefix}surveys)"; $result = $connect->Execute($sSQL) or safe_die ("Couldn't delete quota members ($sSQL)
".$connect->ErrorMsg()); } if (isset($bQuotaDelete) && $bQuotaDelete==1) { $integritycheck .= $clang->gT("Deleting orphaned quotas.")."
\n"; $sSQL = "delete FROM {$dbprefix}quota where sid not in (select sid from {$dbprefix}surveys)"; $result = $connect->Execute($sSQL) or safe_die ("Couldn't delete quotas ($sSQL)
".$connect->ErrorMsg()); } if (isset($bQuotaLanguageSettingsDelete) && $bQuotaLanguageSettingsDelete==1) { $integritycheck .= $clang->gT("Deleting orphaned language settings.")."
\n"; $sSQL = "delete FROM {$dbprefix}quota_languagesettings where quotals_quota_id not in (select id from {$dbprefix}quota)"; $result = $connect->Execute($sSQL) or safe_die ("Couldn't delete quotas ($sSQL)
".$connect->ErrorMsg()); } if (isset($oldsdelete)) { $integritycheck .= $clang->gT("Deleting old survey result tables").":
\n"; foreach ($oldsdelete as $olds) { $integritycheck .= $clang->gT("Deleting")." $olds
\n"; $sql = "DROP TABLE $olds"; $result = $connect->Execute($sql) or safe_die ("Couldn't drop table $olds ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "

\n"; } if (isset($oldtdelete)) { $integritycheck .= $clang->gT("Deleting old survey result tables").":
\n"; foreach ($oldtdelete as $oldt) { $integritycheck .= $clang->gT("Deleting")." $oldt
\n"; $sql = "DROP TABLE $oldt"; $result = $connect->Execute($sql) or safe_die ("Couldn't drop table $olds ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "

\n"; } if (isset($sdelete)) { $integritycheck .= $clang->gT("Deleting Surveys").":
\n"; foreach ($sdelete as $ass) { $integritycheck .= $clang->gT("Deleting Survey ID").":".$ass."
\n"; $sql = "DELETE FROM {$dbprefix}surveys WHERE sid=$ass"; $result = $connect->Execute($sql) or safe_die ("Couldn't delete ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "
\n"; } if (isset($sldelete)) { $integritycheck .= $clang->gT("Deleting survey language settings").":
\n"; foreach ($sldelete as $sld) { $integritycheck .= $clang->gT("Deleting survey language setting").":".$sld."
\n"; $sql = "DELETE FROM {$dbprefix}surveys_languagesettings WHERE surveyls_survey_id=$sld"; $result = $connect->Execute($sql) or safe_die ("Couldn't delete ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "
\n"; } if (isset($assdelete)) { $integritycheck .= $clang->gT( "Deleting Assessments").":
\n"; foreach ($assdelete as $ass) { $integritycheck .= $clang->gT("Deleting ID").":".$ass."
\n"; $sql = "DELETE FROM {$dbprefix}assessments WHERE id=$ass"; $result = $connect->Execute($sql) or safe_die ("Couldn't delete ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "
\n"; } if (isset($asgdelete)) { $integritycheck .= $clang->gT("Deleting Assessments").":
\n"; foreach ($asgdelete as $asg) { $integritycheck .= $clang->gT("Deleting ID").":".$asg."
\n"; $sql = "DELETE FROM {$dbprefix}assessments WHERE id=$asg"; $result = $connect->Execute($sql) or safe_die ("Couldn't delete ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "
\n"; } if (isset($qadelete)) { $integritycheck .= $clang->gT("Deleting Question_Attributes").":
\n"; foreach ($qadelete as $qad) { $integritycheck .= "Deleting QAID:".$qad."
\n"; $sql = "DELETE FROM {$dbprefix}question_attributes WHERE qaid=$qad"; $result = $connect->Execute($sql) or safe_die ("Couldn't delete ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "
\n"; } if (isset($cdelete)) { $integritycheck .= $clang->gT("Deleting Conditions").":
\n"; foreach ($cdelete as $cd) { $integritycheck .= $clang->gT("Deleting cid").":".$cd."
\n"; $sql = "DELETE FROM {$dbprefix}conditions WHERE cid=$cd"; $result=$connect->Execute($sql) or safe_die ("Couldn't Delete ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "

\n"; } if (isset($adelete)) { $integritycheck .= $clang->gT("Deleting Answers").":
\n"; foreach ($adelete as $ad) { list($ad1, $ad2)=explode("|", $ad); $integritycheck .= $clang->gT("Deleting answer with qid").":".$ad1." and code: ".$ad2."
\n"; $sql = "DELETE FROM {$dbprefix}answers WHERE qid=$ad1 AND code='$ad2'"; $result=$connect->Execute($sql) or safe_die ("Couldn't Delete ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "

\n"; } if (isset($qdelete)) { $integritycheck .= $clang->gT("Deleting questions").":
\n"; foreach ($qdelete as $qd) { $integritycheck .= $clang->gT("Deleting qid").":".$qd."
\n"; $sql = "DELETE FROM {$dbprefix}questions WHERE qid=$qd"; $result=$connect->Execute($sql) or safe_die ("Couldn't Delete ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "

\n"; } if (isset($gdelete)) { $integritycheck .= $clang->gT("Deleting Groups").":
\n"; foreach ($gdelete as $gd) { $integritycheck .= $clang->gT("Deleting group id").":".$gd."
\n"; $sql = "DELETE FROM {$dbprefix}groups WHERE gid=$gd"; $result=$connect->Execute($sql) or safe_die ("Couldn't Delete ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "

\n"; } $integritycheck .= $clang->gT("Check database again?")."
\n" ."".$clang->gT("Check Again")."
\n" ."

\n"; } elseif ($ok == "R") { $integritycheck .= "
\n" . "
".$clang->gT("Data redundancy check")."
\n" . "".$clang->gT("Deleting old token and response tables leftover from deactivation")."

\n"; $oldsmultidelete=returnglobal('oldsmultidelete'); $oldtmultidelete=returnglobal('oldtmultidelete'); $oldsoptionaldelete=returnglobal('oldsoptionaldelete'); $oldtoptionaldelete=returnglobal('oldtoptionaldelete'); if (isset($oldsoptionaldelete)) { //OLD Survey Tables with zero entries $integritycheck .= $clang->gT("Deleting old survey result tables").":
\n"; foreach ($oldsoptionaldelete as $olds) { $integritycheck .= $clang->gT("Deleting")." $olds
\n"; $sql = "DROP TABLE $olds"; $result = $connect->Execute($sql) or safe_die ("Couldn't drop table $olds ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "

\n"; } if (isset($oldsmultidelete)) { $integritycheck .= $clang->gT("Deleting old survey result tables").":
\n"; foreach ($oldsmultidelete as $olds) { $integritycheck .= $clang->gT("Deleting")." $olds
\n"; $sql = "DROP TABLE $olds"; $result = $connect->Execute($sql) or safe_die ("Couldn't drop table $olds ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "

\n"; } if (isset($oldtmultidelete)) { $integritycheck .= $clang->gT("Deleting old token tables").":
\n"; foreach ($oldtmultidelete as $oldt) { $integritycheck .= $clang->gT("Deleting")." $oldt
\n"; $sql = "DROP TABLE $oldt"; $result = $connect->Execute($sql) or safe_die ("Couldn't drop table $oldt ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "

\n"; } if (isset($oldtoptionaldelete)) { $integritycheck .= $clang->gT("Deleting old token tables").":
\n"; foreach ($oldtoptionaldelete as $oldt) { $integritycheck .= $clang->gT("Deleting")." $oldt
\n"; $sql = "DROP TABLE $oldt"; $result = $connect->Execute($sql) or safe_die ("Couldn't drop table $oldt ($sql)
".$connect->ErrorMsg()); } $integritycheck .= "

\n"; } $integritycheck .= $clang->gT("Check database again?")."
\n" ."".$clang->gT("Check Again")."
\n" ."


\n"; } $surveyid=false; } else { $action = "dbchecker"; include("access_denied.php"); include("admin.php"); } ?>