Brsanje vprasanj - sql in ustrezno kopiranje vprasanja pri brisanju
This commit is contained in:
parent
54de175cf2
commit
dd0f48f2fd
@ -329,7 +329,7 @@ class Branching {
|
||||
}
|
||||
|
||||
// Knjiznica
|
||||
echo '<div class="toolbox_item open_lib" onClick="displayLibraryPopup();"><span class="item_icon faicon library"></span><span class="item_text">'.$lang['srv_library'].'</span></div>';
|
||||
echo '<div class="toolbox_item open_lib"><span class="item_icon faicon library"></span><span class="item_text">'.$lang['srv_library'].'</span></div>';
|
||||
echo '<div class="toolbox_border open_lib"></div>';
|
||||
|
||||
// normalna anketa
|
||||
@ -342,7 +342,14 @@ class Branching {
|
||||
echo '<div class="toolbox_border new_if"></div>';
|
||||
|
||||
echo '<div class="toolbox_item new_block '.(!$userAccess->checkUserAccess($what='block') ? 'user_access_locked' : '').'" tip="9998"><span class="item_icon faicon icon-white block_32"></span> <span class="item_text">'.$lang['srv_block_random_blocks'].'</span></div>';
|
||||
//echo '<div class="toolbox_border new_block"></div>';
|
||||
}
|
||||
|
||||
// Pobrisana vprasanja
|
||||
$vd = new VprasanjeDeleted($this->anketa);
|
||||
$deleted_vrasanja_count = $vd->countDeletedVprasanja();
|
||||
if($deleted_vrasanja_count > 0){
|
||||
echo '<div class="toolbox_border"></div>';
|
||||
echo '<div class="toolbox_item open_deleted"><span class="item_icon faicon delete"></span><span class="item_text">'.$lang['srv_deleted_vprasanja'].' ('.$deleted_vrasanja_count.')</span></div>';
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -391,7 +398,14 @@ class Branching {
|
||||
echo '<div class="toolbox_border new_if '.(!$userAccess->checkUserAccess($what='if') ? 'user_access_locked' : '').'"></div>';
|
||||
|
||||
echo '<div class="toolbox_item new_block '.(!$userAccess->checkUserAccess($what='block') ? 'user_access_locked' : '').'" tip="9998"><span class="item_icon faicon icon-white block_32"></span> <span class="item_text">'.$lang['srv_block_random_blocks'].'</span></div>';
|
||||
//echo '<div class="toolbox_border new_block"></div>';
|
||||
}
|
||||
|
||||
// Pobrisana vprasanja
|
||||
$vd = new VprasanjeDeleted($this->anketa);
|
||||
$deleted_vrasanja_count = $vd->countDeletedVprasanja();
|
||||
if($deleted_vrasanja_count > 0){
|
||||
echo '<div class="toolbox_border"></div>';
|
||||
echo '<div class="toolbox_item open_deleted" onClick="displayDeletedVprasanjaPopup();"><span class="item_icon faicon delete"></span><span class="item_text">'.$lang['srv_deleted_vprasanja'].' ('.$deleted_vrasanja_count.')</span></div>';
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4830,6 +4830,10 @@ class SurveyAdmin
|
||||
|
||||
$rowg = Cache::srv_spremenljivka($spremenljivka);
|
||||
|
||||
// Preden vprasanje zbrisemo po novem ustvarimo kopijo vprasanja med zbrisanimi (knjiznica zbrisanih vprasanj)
|
||||
$vd = new VprasanjeDeleted($this->anketa);
|
||||
$vd->createDeletedVprasanje($spremenljivka);
|
||||
|
||||
// pri brisanju multiple grid vprasanja, moramo pobrisate tudi vse child spremenljivke (ker kljuci niso nastavljeni)
|
||||
if ($rowg['tip'] == 24) {
|
||||
$sqld = sisplet_query("SELECT spr_id FROM srv_grid_multiple WHERE parent='$spremenljivka'");
|
||||
|
@ -8,28 +8,73 @@
|
||||
|
||||
class VprasanjeDeleted {
|
||||
|
||||
var $anketa; // trenutna anketa
|
||||
var $spremenljivka; // spremenljivka
|
||||
var $ank_id; // trenutna anketa
|
||||
|
||||
|
||||
public function __construct ($anketa = 0) {
|
||||
|
||||
if (isset ($_GET['anketa']))
|
||||
$this->anketa = $_GET['anketa'];
|
||||
$this->ank_id = $_GET['anketa'];
|
||||
elseif (isset ($_POST['anketa']))
|
||||
$this->anketa = $_POST['anketa'];
|
||||
$this->ank_id = $_POST['anketa'];
|
||||
elseif ($anketa != 0)
|
||||
$this->anketa = $anketa;
|
||||
|
||||
SurveyInfo::getInstance()->SurveyInit($this->anketa);
|
||||
$this->ank_id = $anketa;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Prikazemo seznam pobrisanih vprasanj uporabnika
|
||||
public function displayDeletedVprasanja(){
|
||||
private function displayDeletedVprasanja(){
|
||||
global $lang;
|
||||
global $global_user_id;
|
||||
global $admin_type;
|
||||
|
||||
// Loop po vseh pobrisanih vprasanjih v anketi
|
||||
$sql = sisplet_query("SELECT sd.*, s.naslov
|
||||
FROM srv_spremenljivka_deleted sd, srv_spremenljivka s
|
||||
WHERE sd.ank_id='".$this->ank_id."' AND sd.spr_id=s.id
|
||||
ORDER BY sd.delete_time DESC
|
||||
");
|
||||
if(mysqli_num_rows($sql) == 0){
|
||||
return;
|
||||
}
|
||||
|
||||
while($row = mysqli_fetch_array($sql)){
|
||||
|
||||
echo '<div id="question_item_holder_'.$row['spr_id'].'" class="question_item_holder" onClick="selectLibraryItem(\''.$row['spr_id'].'\');">';
|
||||
|
||||
echo ' <input type="checkbox" id="question_item_check_'.$row['id'].'" item-type="1" item-subtype="1" class="question_item_check" onClick="selectLibraryItem(\''.$row['spr_id'].'\');"><label for="question_item_check_'.$row['spr_id'].'"></label>';
|
||||
|
||||
echo ' <div id="question_item_info_'.$row['spr_id'].'" item-type="1" item-subtype="1" item-id="'.$row['spr_id'].'" class="question_item_info">';
|
||||
|
||||
echo ' <span class="faicon list"></span>';
|
||||
echo ' <span class="title">'.substr(strip_tags($row['naslov']), 0, 40).'</span>';
|
||||
|
||||
echo ' </div>';
|
||||
|
||||
echo '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Pri brisanju najprej skopiramo vprasanje ki ga brisemo
|
||||
public function createDeletedVprasanje($spr_id){
|
||||
global $global_user_id;
|
||||
|
||||
// Skopiramo spremenljivko
|
||||
$b = new Branching($this->ank_id);
|
||||
$new_spr_id = $b->nova_spremenljivka(-3, 0, 0, $spr_id);
|
||||
|
||||
// Zabelezimo v bazi povezavo z anketo in cas brisanja
|
||||
$sql1 = sisplet_query("INSERT INTO srv_spremenljivka_deleted (spr_id, ank_id, delete_time) VALUES ('".$new_spr_id."', '".$this->ank_id."', NOW())");
|
||||
}
|
||||
|
||||
// Vrnemo stevilo pobrisanih vprasanj v anketi
|
||||
public function countDeletedVprasanja(){
|
||||
|
||||
$sql = sisplet_query("SELECT COUNT(id) AS cnt FROM srv_spremenljivka_deleted WHERE ank_id='".$this->ank_id."'");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
|
||||
return $row['cnt'];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2431,6 +2431,9 @@ $lang = array (
|
||||
"srv_library_add_to_lib_success_block" => "Blok je bil uspešno dodan v knjižnico.",
|
||||
"srv_library_add_to_lib_success_loop" => "Zanka je bila uspešno dodana v knjižnico.",
|
||||
"srv_library_add_to_lib_success_err" => "Prišlo je do napake pri dodajanju v knjižnico!",
|
||||
|
||||
"srv_deleted_vprasanja" => "Pobrisana vprašanja",
|
||||
|
||||
"srv_nadzor" => "Nadzor",
|
||||
"srv_knjiznica_add" => "Če želite dodati spremenljivko v knjižnico, jo povlecite v to polje",
|
||||
"srv_knjiznica_copy" => "Če želite kopirati vprašanje, ga označite z ikono COPY",
|
||||
|
@ -2412,6 +2412,9 @@ $lang = array (
|
||||
"srv_library_add_to_lib_name_loop" => "Loop name",
|
||||
"srv_library_add_to_lib_folder" => "Add to folder",
|
||||
"srv_library_add_to_lib" => "Add to library",
|
||||
|
||||
"srv_deleted_vprasanja" => "Deleted questions",
|
||||
|
||||
"srv_nadzor" => "Supervise",
|
||||
"srv_knjiznica_add" => "To add a question to a library, drag it to this field",
|
||||
"srv_knjiznica_copy" => "To copy a question, click on COPY icon",
|
||||
|
@ -9646,12 +9646,13 @@ UPDATE misc SET value='22.07.13' WHERE what="version";
|
||||
INSERT INTO srv_grupa (id, ank_id, naslov, vrstni_red) VALUES (-3, 0, 'system', 0);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS srv_spremenljivka_deleted (
|
||||
id INT(11) NOT NULL auto_increment,
|
||||
spr_id INT(11) NOT NULL,
|
||||
ank_id INT(11) NOT NULL,
|
||||
delete_time DATETIME(3) NOT NULL,
|
||||
CONSTRAINT fk_srv_spremenljivka_deleted_ank_id FOREIGN KEY (ank_id) REFERENCES srv_anketa (id) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT fk_srv_spremenljivka_deleted_spr_id FOREIGN KEY (spr_id) REFERENCES srv_spremenljivka (id) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
UPDATE misc SET value='22.08.05' WHERE what="version";
|
||||
|
Loading…
x
Reference in New Issue
Block a user