ustreznih<.
*/
// Ce brisemo ali samo pregledujemo
$delete = (isset($_GET['delete'])) ? $_GET['delete'] : 0;
// Varnostno
$delete = 0;
// Zgradimo ustrezen query za filtriranje anket
if(isset($_GET['type']) && $_GET['type'] != ''){
// Limit stevila anket
$limit = (isset($_GET['limit'])) ? $_GET['limit'] : 100;
$query = paradata_buildClearQuery($_GET['type'], $limit);
$sqlA = sisplet_query("".$query."");
if (!$sqlA) {
echo mysqli_error($GLOBALS['connect_db']);
die();
}
echo '
Število najdenih anket za brisanje: '.mysqli_num_rows($sqlA).'
';
}
else{
echo 'Nastavi tip filtra!';
die();
}
// Loop cez neustrezne ankete in potencialno brisanje
while ($rowA = mysqli_fetch_array($sqlA)) {
/*$s = sisplet_query("START TRANSACTION");
if (!$s) { echo mysqli_error($GLOBALS['connect_db']); die(); }*/
$anketa = $rowA['anketa_id'];
$db_table = ($rowA['db_table'] == 1) ? '_active' : '';
echo '
'.$anketa;
// Ce anekte brisemo iz baze
if($delete == '1' && $anketa != '' && $anketa != '0' && $anketa != '-1' && $anketa > 1){
// Pobrisemo anketo
paradata_deleteSurvey($anketa, $db_table);
//$s = sisplet_query("ROLLBACK");
/*$s = sisplet_query("COMMIT");
if (!$s) { echo mysqli_error($GLOBALS['connect_db']); die(); }*/
echo ' - POBRISANO
';
flush(); @ob_flush();
}
}
// Zgradimo query za filtriranje anket
function paradata_buildClearQuery($type, $limit){
$query = "";
// pobrisemo ankete in vse podatke, ki imajo prevec vprasanj
if($type == 'qmax'){
$query .= "SELECT a.id as anketa_id, a.db_table as db_table, g.id as grupa_id, s.id as spremenljivka_id
FROM srv_anketa a, srv_grupa g, srv_spremenljivka s
WHERE a.id>0 AND g.ank_id=a.id AND s.gru_id=g.id AND a.id>0 AND s.id>0 AND g.id>0
GROUP BY anketa_id
HAVING count(spremenljivka_id) > 500";
}
// pobrisemo ankete in vse podatke, ki imajo manj kot 5 vprasanj
elseif($type == 'qmin'){
$query .= "SELECT a.id as anketa_id, a.db_table as db_table, g.id as grupa_id, s.id as spremenljivka_id
FROM srv_anketa a, srv_grupa g, srv_spremenljivka s
WHERE a.id>0 AND g.ank_id=a.id AND s.gru_id=g.id AND a.id>0 AND s.id>0 AND g.id>0
GROUP BY anketa_id
HAVING count(spremenljivka_id) < 5";
}
// pobrisemo ankete in vse podatke, ki nimajo nobenega vprasanja
elseif($type == 'qnone'){
$query .= "SELECT a.id as anketa_id, a.db_table as db_table
FROM srv_anketa a
WHERE a.id>0 AND
NOT EXISTS (SELECT * FROM srv_spremenljivka s, srv_grupa g WHERE g.ank_id=a.id AND s.gru_id=g.id)";
}
// pobrisemo ankete in vse podatke, ki imajo premalo odgovorov
elseif($type == 'amin'){
$query .= "SELECT a.id as anketa_id, a.db_table as db_table, u.id as user_id
FROM srv_anketa a, srv_user u
WHERE a.id>0 AND u.ank_id=a.id
GROUP BY anketa_id
HAVING COUNT(user_id) < 20";
/*$query .= "SELECT a.id as anketa_id, a.db_table as db_table, u.id as user_id
FROM srv_anketa a, srv_user u
WHERE a.id>0 AND u.ank_id=a.id AND u.last_status=6 AND u.lurker=0 AND u.testdata=0
GROUP BY anketa_id
HAVING COUNT(user_id) < 20";*/
}
// pobrisemo ankete in vse podatke, ki nimajo nobenega odgovora
elseif($type == 'anone'){
$query .= "SELECT a.id as anketa_id, a.db_table as db_table FROM srv_anketa a
WHERE a.id>0 AND
((NOT EXISTS(SELECT * FROM srv_user u WHERE u.ank_id=a.id))
OR
(NOT EXISTS(SELECT * FROM srv_user u WHERE u.ank_id=a.id AND (u.last_status=6 OR u.last_status=5) AND u.lurker=0 AND testdata=0)))";
}
// pobrisemo ankete in vse podatke starejse od 1.1.2017
elseif($type == 'old'){
$query .= "SELECT a.id as anketa_id, a.db_table as db_table FROM srv_anketa a
WHERE YEAR(a.insert_time)<'2017'";
}
// pobrisemo ankete in vse podatke z neustrezno besedo v naslovu (test**, trial, poskus)
elseif($type == 'title'){
$query .= "SELECT a.id as anketa_id, a.db_table as db_table FROM srv_anketa a
WHERE a.id>0 AND ((a.naslov LIKE '%test%' OR a.naslov LIKE '%trial%' OR a.naslov LIKE '%poskus%' OR a.naslov LIKE '%kopija%' OR a.naslov LIKE '%copy%')
OR (a.akronim LIKE '%test%' OR a.akronim LIKE '%trial%' OR a.akronim LIKE '%poskus%' OR a.akronim LIKE '%kopija%' OR a.akronim LIKE '%copy%')
OR (a.intro_opomba LIKE '%test%' OR a.intro_opomba LIKE '%trial%' OR a.intro_opomba LIKE '%poskus%' OR a.intro_opomba LIKE '%kopija%' OR a.intro_opomba LIKE '%copy%'))";
}
// pobrisemo ankete in vse podatke za ankete ki vsebujejo vprasanja tipa SN imena, Vsota, Sestavljena tabela, Kvota, Lokacija, Heatmap
elseif($type == 'qtype'){
$query .= "SELECT a.id as anketa_id, a.db_table as db_table, g.id as grupa_id, s.id as spremenljivka_id
FROM srv_anketa a, srv_grupa g, srv_spremenljivka s
WHERE a.id>0 AND g.ank_id=a.id AND s.gru_id=g.id AND a.id>0 AND s.id>0 AND g.id>0
AND s.tip IN ('9','18','24','25','26','27')
GROUP BY anketa_id";
}
$query .= " LIMIT ".$limit;
return $query;
}
// Pobrisemo anketo iz baze
function paradata_deleteSurvey($anketa, $db_table){
$sql = sisplet_query("SELECT * FROM srv_grupa WHERE ank_id = '$anketa'");
while ($row = mysqli_fetch_array($sql)) {
if($row['id'] > 1 && $row['id'] != '' && $row['id'] != '0' && $row['id'] != '-1'){
$sql1 = sisplet_query("SELECT * FROM srv_spremenljivka WHERE gru_id='$row[id]'");
while ($row1 = mysqli_fetch_array($sql1)) {
if($row1['id'] > 1 && $row1['id'] != '' && $row1['id'] != '0' && $row1['id'] != '-1'){
$sql2 = sisplet_query("DELETE FROM srv_vrednost WHERE spr_id = '$row1[id]'");
$sql2 = sisplet_query("DELETE FROM srv_grid WHERE spr_id = '$row1[id]'");
// Pobrisemo podatke
$sql2 = sisplet_query("DELETE FROM srv_data_checkgrid".$db_table." WHERE spr_id = '$row1[id]'");
//$sql2 = sisplet_query("DELETE FROM srv_data_glasovanje WHERE spr_id = '$row1[id]'");
$sql2 = sisplet_query("DELETE FROM srv_data_grid".$db_table." WHERE spr_id = '$row1[id]'");
//$sql2 = sisplet_query("DELETE FROM srv_data_imena WHERE spr_id = '$row1[id]'");
//$sql2 = sisplet_query("DELETE FROM srv_data_number WHERE spr_id = '$row1[id]'");
//$sql2 = sisplet_query("DELETE FROM srv_data_rating WHERE spr_id = '$row1[id]'");
$sql2 = sisplet_query("DELETE FROM srv_data_text".$db_table." WHERE spr_id = '$row1[id]'");
$sql2 = sisplet_query("DELETE FROM srv_data_textgrid".$db_table." WHERE spr_id = '$row1[id]'");
//$sql2 = sisplet_query("DELETE FROM srv_data_upload WHERE ank_id = '$anketa'");
$sql2 = sisplet_query("DELETE FROM srv_data_vrednost".$db_table." WHERE spr_id = '$row1[id]'");
//$sql2 = sisplet_query("DELETE FROM srv_data_vrednost_cond WHERE spr_id = '$row1[id]'");
}
}
$sql2 = sisplet_query("DELETE FROM srv_spremenljivka WHERE gru_id = '$row[id]'");
# tabela srv_user_grupa
$sql2 = sisplet_query("DELETE FROM srv_user_grupa".$db_table." WHERE gru_id = '$row[id]'");
}
}
$sql2 = sisplet_query("DELETE FROM srv_grupa WHERE ank_id = '$anketa'");
//$sql2 = sisplet_query("DELETE FROM srv_alert WHERE ank_id = '$anketa'");
//$sql2 = sisplet_query("DELETE FROM srv_dostop WHERE ank_id = '$anketa'");
$sql2 = sisplet_query("DELETE FROM srv_user WHERE ank_id = '$anketa'");
//$sql2 = sisplet_query("DELETE FROM srv_anketa WHERE backup = '$anketa'");
$sql2 = sisplet_query("DELETE FROM srv_anketa WHERE id = '$anketa'");
//$sql2 = sisplet_query("DELETE FROM srv_tracking WHERE id = '$anketa'");
//$sql2 = sisplet_query("DELETE FROM srv_library_anketa WHERE ank_id = '$anketa'");
//$sql2 = sisplet_query("DELETE FROM srv_survey_misc WHERE sid = '$anketa'");
//$sql2 = sisplet_query("DELETE FROM srv_variable_profiles WHERE sid = '$anketa'");
//$sql2 = sisplet_query("DELETE FROM srv_glasovanje WHERE ank_id = '$anketa'");
//$sql2 = sisplet_query("DELETE FROM srv_survey_misc WHERE sid = '$anketa'");
//$sql2 = sisplet_query("DELETE FROM srv_userbase_setting WHERE ank_id = '$anketa'");
//$sql2 = sisplet_query("DELETE FROM srv_user_setting_for_survey WHERE sid = '$anketa'");
#Pobrisemo srv_condition_vre
//$sql2 = sisplet_query("DELETE FROM srv_condition_vre WHERE cond_id IN (SELECT id FROM srv_condition WHERE if_id IN (SELECT element_if FROM srv_branching WHERE ank_id = '$anketa' AND element_if > 0))");
#Pobrisemo srv_condition_grid
//$sql2 = sisplet_query("DELETE FROM srv_condition_grid WHERE cond_id IN (SELECT id FROM srv_condition WHERE if_id IN (SELECT element_if FROM srv_branching WHERE ank_id = '$anketa' AND element_if > 0));");
#Pobrisemo srv_calculation
//$sql2 = sisplet_query("DELETE FROM srv_calculation WHERE cnd_id IN (SELECT id FROM srv_condition WHERE if_id IN (SELECT element_if FROM srv_branching WHERE ank_id = '$anketa' AND element_if > 0));");
#pobrisemo srv_condition
//$sql2 = sisplet_query("DELETE FROM srv_condition WHERE if_id IN (SELECT element_if FROM srv_branching WHERE ank_id = '$anketa' AND element_if > 0);");
#pobrisemo srv_if
//$sql2 = sisplet_query("DELETE FROM srv_if WHERE id IN (SELECT element_if FROM srv_branching WHERE ank_id = '$anketa' AND element_if > 0);");
# sedaj lahko pobrisemo tudi branching
//$sql2 = sisplet_query("DELETE FROM srv_branching WHERE ank_id = '$anketa'");
}
?>