199 lines
7.0 KiB
PHP
199 lines
7.0 KiB
PHP
<?php
|
|
set_time_limit(1800); # 30 minut
|
|
|
|
/**
|
|
* Podatke neaktivnih anket, ki se ze nekaj casa niso spreminjale prenese iz _active tabel v navadne - arhivske tabele
|
|
*
|
|
* DODATNA SKRIPTA ZA TABELE srv_data_text, srv_data_textgrid, srv_data_checkgrid
|
|
*/
|
|
|
|
include_once('../../function.php');
|
|
|
|
// Anketa s katero zacnemo kopiranje (ker ne moremo vedeti do kje smo ze prisli)
|
|
$first_id = (isset($_GET['first_id']) ? $_GET['first_id'] : '1');
|
|
|
|
// aktivne ankete, ali mlajše od 3 mesecev (od zadnje spremembe, ali da so takrat pretekle)
|
|
// Prvic moramo iti cez vse stare neaktivne ankete (db_table = '0') - PROBLEM SO AKTIVNE (zaradi buga pri kopiranju)!!!
|
|
$sql = sisplet_query("SELECT * FROM srv_anketa
|
|
WHERE id > '0'
|
|
AND db_table = '1'
|
|
AND id > '".$first_id."'
|
|
LIMIT 200
|
|
");
|
|
|
|
if (!$sql) { echo mysqli_error($GLOBALS['connect_db']); die(); }
|
|
echo mysqli_num_rows($sql).'<hr>';
|
|
while ($row = mysqli_fetch_array($sql)) {
|
|
|
|
$s = sisplet_query("START TRANSACTION");
|
|
if (!$s) { echo mysqli_error($GLOBALS['connect_db']); die(); }
|
|
|
|
echo $row['id'].'<br />';
|
|
|
|
|
|
|
|
|
|
// srv_data_text
|
|
$sql1 = sisplet_query("INSERT INTO srv_data_text_active (spr_id, vre_id, text, text2, usr_id, loop_id)
|
|
SELECT d2.spr_id, d2.vre_id, d2.text, d2.text2, d2.usr_id, d2.loop_id
|
|
FROM srv_data_text d2, srv_spremenljivka s, srv_grupa g
|
|
WHERE d2.spr_id = s.id
|
|
AND s.gru_id = g.id
|
|
AND g.ank_id = '$row[id]'
|
|
");
|
|
if (!$sql1) { echo mysqli_error($GLOBALS['connect_db']); die(); }
|
|
|
|
$query = "DELETE d
|
|
FROM srv_data_text d, srv_spremenljivka s, srv_grupa g
|
|
WHERE d.spr_id = s.id
|
|
AND s.gru_id = g.id
|
|
AND g.ank_id = '$row[id]'";
|
|
$s = sisplet_query($query);
|
|
if (!$s) { echo mysqli_error($GLOBALS['connect_db']).' 113 ('.$query.')<br>'; die(); }
|
|
|
|
|
|
// Se dodatno kopiranje za komentarje (kjer je spr_id=0)
|
|
$sql1 = sisplet_query("INSERT INTO srv_data_text_active (spr_id, vre_id, text, text2, usr_id, loop_id)
|
|
SELECT d2.spr_id, d2.vre_id, d2.text, d2.text2, d2.usr_id, d2.loop_id
|
|
FROM srv_data_text d2, srv_spremenljivka s, srv_grupa g
|
|
WHERE d2.spr_id = '0'
|
|
AND d2.vre_id = s.id AND d2.vre_id > '0'
|
|
AND s.gru_id = g.id AND s.gru_id > '0'
|
|
AND g.ank_id = '$row[id]'
|
|
");
|
|
if (!$sql1) { echo mysqli_error($GLOBALS['connect_db']); die(); }
|
|
|
|
$query = "DELETE d
|
|
FROM srv_data_text d, srv_spremenljivka s, srv_grupa g
|
|
WHERE d.spr_id = '0'
|
|
AND d.vre_id = s.id AND d.vre_id > '0'
|
|
AND s.gru_id = g.id AND s.gru_id > '0'
|
|
AND g.ank_id = '$row[id]'";
|
|
$s = sisplet_query($query);
|
|
if (!$s) { echo mysqli_error($GLOBALS['connect_db']).' 113 ('.$query.')<br>'; die(); }
|
|
|
|
|
|
|
|
|
|
|
|
// srv_data_textgrid
|
|
$sql1 = sisplet_query("INSERT INTO srv_data_textgrid_active (spr_id, vre_id, usr_id, grd_id, text, loop_id)
|
|
SELECT d2.spr_id, d2.vre_id, d2.usr_id, d2.grd_id, d2.text, d2.loop_id
|
|
FROM srv_data_textgrid d2, srv_spremenljivka s, srv_grupa g
|
|
WHERE d2.spr_id = s.id
|
|
AND s.gru_id = g.id AND s.gru_id > '0'
|
|
AND g.ank_id = '$row[id]'
|
|
");
|
|
if (!$sql1) { echo mysqli_error($GLOBALS['connect_db']); die(); }
|
|
|
|
$query = "DELETE d
|
|
FROM srv_data_textgrid d, srv_spremenljivka s, srv_grupa g
|
|
WHERE d.spr_id = s.id
|
|
AND s.gru_id = g.id AND s.gru_id > '0'
|
|
AND g.ank_id = '$row[id]'";
|
|
$s = sisplet_query($query);
|
|
if (!$s) { echo mysqli_error($GLOBALS['connect_db']).' 113 ('.$query.')<br>'; die(); }
|
|
|
|
// Se dodatno za kombinirane tabele
|
|
$sql1 = sisplet_query("INSERT INTO srv_data_textgrid_active (spr_id, vre_id, usr_id, grd_id, text, loop_id)
|
|
SELECT d2.spr_id, d2.vre_id, d2.usr_id, d2.grd_id, d2.text, d2.loop_id
|
|
FROM srv_data_textgrid d2, srv_spremenljivka s, srv_grupa g, srv_grid_multiple m
|
|
WHERE d2.spr_id = m.spr_id AND m.parent=s.id
|
|
AND s.gru_id = g.id AND s.gru_id > '0'
|
|
AND g.ank_id = '$row[id]'
|
|
");
|
|
if (!$sql1) { echo mysqli_error($GLOBALS['connect_db']); die(); }
|
|
|
|
$query = "DELETE d
|
|
FROM srv_data_textgrid d, srv_spremenljivka s, srv_grupa g, srv_grid_multiple m
|
|
WHERE d.spr_id = m.spr_id AND m.parent=s.id
|
|
AND s.gru_id = g.id AND s.gru_id > '0'
|
|
AND g.ank_id = '$row[id]'";
|
|
$s = sisplet_query($query);
|
|
if (!$s) { echo mysqli_error($GLOBALS['connect_db']).' 113 ('.$query.')<br>'; die(); }
|
|
|
|
|
|
|
|
|
|
|
|
// srv_data_checkgrid
|
|
$sql1 = sisplet_query("SELECT grid.*
|
|
FROM srv_data_checkgrid grid, srv_spremenljivka s, srv_grupa g
|
|
WHERE grid.spr_id = s.id
|
|
AND s.gru_id = g.id
|
|
AND g.ank_id = '$row[id]'
|
|
");
|
|
if (!$sql1) { echo mysqli_error($GLOBALS['connect_db']); die(); }
|
|
$values = "";
|
|
$i = 0;
|
|
while ($row1 = mysqli_fetch_assoc($sql1)) {
|
|
|
|
if ($values != "") $values .= ", ";
|
|
$vals = "";
|
|
foreach ($row1 AS $key => $val) {
|
|
if ($vals != "") $vals .= ", ";
|
|
|
|
if ($val != null)
|
|
$vals .= "'$val'";
|
|
else
|
|
$vals .= "NULL";
|
|
}
|
|
|
|
$values .= "($vals)";
|
|
|
|
$loop_id = $row1['loop_id'] == null ? " IS NULL" : " = '".$row1['loop_id']."'";
|
|
|
|
$query = "DELETE FROM srv_data_checkgrid WHERE spr_id='$row1[spr_id]' AND vre_id='$row1[vre_id]' AND usr_id='$row1[usr_id]' AND loop_id $loop_id";
|
|
$s = sisplet_query($query);
|
|
if (!$s) { echo mysqli_error($GLOBALS['connect_db']).' 111 ('.$query.')<br>'; die(); }
|
|
|
|
// force mysql query
|
|
if ($i++ >= 500) {
|
|
if ($values != "") {
|
|
$query = "INSERT INTO srv_data_checkgrid_active VALUES $values";
|
|
$s = sisplet_query($query);
|
|
if (!$s) { echo mysqli_error($GLOBALS['connect_db']).' 112a ('.$query.')<br>'; die(); }
|
|
}
|
|
$values = "";
|
|
$i = 0;
|
|
}
|
|
}
|
|
|
|
if ($values != "") {
|
|
$query = "INSERT INTO srv_data_checkgrid_active VALUES $values";
|
|
$s = sisplet_query($query);
|
|
if (!$s) { echo mysqli_error($GLOBALS['connect_db']).' 112 ('.$query.')<br>'; die(); }
|
|
}
|
|
|
|
// Se dodatno za kombinirane tabele
|
|
$sql1 = sisplet_query("INSERT INTO srv_data_checkgrid_active (spr_id, vre_id, usr_id, grd_id, loop_id)
|
|
SELECT d2.spr_id, d2.vre_id, d2.usr_id, d2.grd_id, d2.loop_id
|
|
FROM srv_data_checkgrid d2, srv_spremenljivka s, srv_grupa g, srv_grid_multiple m
|
|
WHERE d2.spr_id = m.spr_id AND m.parent=s.id
|
|
AND s.gru_id = g.id AND s.gru_id > '0'
|
|
AND g.ank_id = '$row[id]'
|
|
");
|
|
if (!$sql1) { echo mysqli_error($GLOBALS['connect_db']); die(); }
|
|
|
|
$query = "DELETE d
|
|
FROM srv_data_checkgrid d, srv_spremenljivka s, srv_grupa g, srv_grid_multiple m
|
|
WHERE d.spr_id = m.spr_id AND m.parent=s.id
|
|
AND s.gru_id = g.id AND s.gru_id > '0'
|
|
AND g.ank_id = '$row[id]'";
|
|
$s = sisplet_query($query);
|
|
if (!$s) { echo mysqli_error($GLOBALS['connect_db']).' 113 ('.$query.')<br>'; die(); }
|
|
|
|
|
|
|
|
// Ko gremo prvic cez ne popravljamo tega
|
|
/*$s = sisplet_query("UPDATE srv_anketa SET db_table = '0' WHERE id = '$row[id]'");
|
|
if (!$s) { echo mysqli_error($GLOBALS['connect_db']); die(); }*/
|
|
|
|
//$s = sisplet_query("ROLLBACK");
|
|
$s = sisplet_query("COMMIT");
|
|
if (!$s) { echo mysqli_error($GLOBALS['connect_db']); die(); }
|
|
|
|
flush(); @ob_flush();
|
|
}
|
|
|
|
?>
|