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'"); } ?>