739 lines
27 KiB
PHP
739 lines
27 KiB
PHP
<?php
|
|
|
|
class LibraryBranching {
|
|
|
|
|
|
var $ank_id; // Anketa znotraj katere urejamo knjiznico
|
|
|
|
var $tab = 0; // tip pove v bazi srv_library_folder za kater tip gre - 0->vprasanja, 1->ankete (vprasanja iz anket)
|
|
var $folder_id = 0; // Trenutno aktiven folder
|
|
var $expanded_folders = array(); // Razprti folderji
|
|
|
|
var $root_folder;
|
|
|
|
|
|
public function __construct ($ank_id=0) {
|
|
|
|
if($ank_id == 0)
|
|
die();
|
|
|
|
$this->ank_id = $ank_id;
|
|
|
|
// Nastavimo vse razprte folderje (vsi parenti ce je child aktiven)
|
|
$this->setExpandedFolders($this->folder_id);
|
|
}
|
|
|
|
// Loop cez folderje in rekurzivno nastavi razprte (parenti aktivnega)
|
|
private function setExpandedFolders($folder_id){
|
|
|
|
$this->expanded_folders[] = $folder_id;
|
|
|
|
if($folder_id == '0'){
|
|
return;
|
|
}
|
|
|
|
$sqlFolders = sisplet_query("SELECT parent FROM srv_library_folder WHERE id='".$folder_id."' AND tip='".$this->tab."'");
|
|
$rowFolders = mysqli_fetch_array($sqlFolders);
|
|
|
|
$this->setExpandedFolders($rowFolders['parent']);
|
|
}
|
|
|
|
|
|
/**
|
|
* @desc prikaze knjiznico znotraj ankete
|
|
*/
|
|
private function displayLibrary() {
|
|
global $admin_type;
|
|
global $global_user_id;
|
|
global $lang;
|
|
|
|
|
|
// Naslov v oknu
|
|
echo '<h2><span class="faicon library"></span>'.$lang['srv_library_survey_title'].'</h2>';
|
|
echo '<div class="popup_close"><a href="#" onclick="popupClose();">✕</a></div>';
|
|
|
|
// Tabi (vprasanja, ankete)
|
|
echo '<div id="lib_tabs" class="lib_tabs">';
|
|
$this->displayTabs();
|
|
echo '</div>';
|
|
|
|
// Vsebina
|
|
echo '<div id="tab_content" class="tab_content">';
|
|
$this->displayTabContent();
|
|
echo '</div>';
|
|
}
|
|
|
|
// Prikazemo tabe - vprasanja / ankete
|
|
private function displayTabs(){
|
|
global $lang;
|
|
|
|
// Tab vprasanja
|
|
echo '<div id="tab_0" class="tab '.($this->tab == 0 ? 'active' : '').'" onClick="displayLibraryTab(\'0\'); return false;">';
|
|
echo $lang['srv_vprasanja'];
|
|
echo '</div>';
|
|
|
|
// Tab ankete
|
|
echo '<div id="tab_1" class="tab '.($this->tab == 1 ? 'active' : '').'" onClick="displayLibraryTab(\'1\'); return false;">';
|
|
echo $lang['srv_ankete'];
|
|
echo '</div>';
|
|
|
|
echo '<input type="hidden" name="active_tab" id="active_tab" value="'.$this->tab.'">';
|
|
}
|
|
|
|
// Priazemo glavno vsebino glede na aktiven tab
|
|
public function displayTabContent(){
|
|
global $lang;
|
|
|
|
// Levi seznam folderjev
|
|
echo '<div id="lib_folder_list" class="content_left">';
|
|
$this->displayFolderList();
|
|
echo '</div>';
|
|
|
|
|
|
// Desna vsebina
|
|
echo '<div class="content_right">';
|
|
|
|
// Seznam vprasanj
|
|
echo '<div id="lib_question_list" class="question_list">';
|
|
$this->displayQuestionList();
|
|
echo '</div>';
|
|
|
|
// Item counter
|
|
echo '<div class="selected_items">'.$lang['srv_library_item_counter'].': <span id="selected_item_counter">0</span></div>';
|
|
|
|
// Gumbi na dnu
|
|
echo '<div class="button_holder">';
|
|
$this->displayButtons();
|
|
echo '</div>';
|
|
|
|
echo '</div>';
|
|
}
|
|
|
|
// Prikazemo seznam folderjev na levi
|
|
private function displayFolderList(){
|
|
global $global_user_id;
|
|
global $lang;
|
|
|
|
// Prikazemo seznam mojih folderjev v knjiznci
|
|
echo '<ul class="folder_list user">';
|
|
$this->displayFolderParent($parent=0, $uid=$global_user_id);
|
|
echo '</ul>';
|
|
|
|
// Prikazemo seznam javnih folderjev v knjiznci
|
|
echo '<ul class="folder_list public">';
|
|
$this->displayFolderParent($parent=0, $uid=0);
|
|
echo '</ul>';
|
|
|
|
// Prikazemo se skrit div za dodaten popup (rename, add - title)
|
|
echo '<div id="lib_additional_popup" class="divPopUp"></div>';
|
|
|
|
// Klik izven "Vec" - zapremo okno
|
|
echo '<script>
|
|
$(document).mouseup(function(e){
|
|
var container = $(".folder_item_settings, .dots_ver");
|
|
|
|
if (!container.is(e.target) && container.has(e.target).length === 0){
|
|
$(".folder_item_settings").addClass("displayNone");
|
|
}
|
|
});
|
|
|
|
initHideLibraryArrows();
|
|
</script>';
|
|
}
|
|
|
|
private function displayFolderParent($parent, $uid) {
|
|
global $lang;
|
|
global $admin_type;
|
|
global $global_user_id;
|
|
global $site_url;
|
|
|
|
|
|
// Ce gre za root mapo prikazemo z ustreznim jezikom
|
|
if ($parent == 0 && $uid == 0) {
|
|
$language = " AND lang='".$lang['id']."' ";
|
|
}
|
|
|
|
// Dobimo vse folderje za parenta
|
|
$sqlFolders = sisplet_query("SELECT id, naslov
|
|
FROM srv_library_folder
|
|
WHERE uid='".$uid."' AND parent='".$parent."' AND tip='".$this->tab."' ".$language."
|
|
ORDER BY naslov
|
|
");
|
|
if (!$sqlFolders)
|
|
echo mysqli_error($GLOBALS['connect_db']);
|
|
|
|
|
|
// Za prvic ko pride user, da mu dodamo folder
|
|
if (mysqli_num_rows($sqlFolders) == 0 && $uid > 0 && $parent == 0){
|
|
|
|
// Nastavimo naslov mape
|
|
$naslov = ($this->tab == 0) ? $lang['srv_moja_vprasanja'] : $lang['srv_moje_ankete'];
|
|
|
|
sisplet_query("INSERT INTO srv_library_folder
|
|
(uid, tip, naslov, parent, lang)
|
|
VALUES
|
|
('".$uid."', '".$this->tab."', '".$naslov."', '0', '".$lang['id']."')
|
|
");
|
|
|
|
$sqlFolders = sisplet_query("SELECT id, naslov
|
|
FROM srv_library_folder
|
|
WHERE uid='".$uid."' AND parent='".$parent."' AND tip='".$this->tab."'
|
|
ORDER BY naslov
|
|
");
|
|
if (!$sqlFolders)
|
|
echo mysqli_error($GLOBALS['connect_db']);
|
|
}
|
|
|
|
|
|
// Loop po vseh mapah znotraj parenta
|
|
while ($rowFolders = mysqli_fetch_array($sqlFolders)) {
|
|
|
|
// Nastavimo default prvi aktiven folder
|
|
if($this->folder_id == 0 && $parent == 0){
|
|
$this->folder_id = $rowFolders['id'];
|
|
}
|
|
|
|
$this->displayFolderItem($rowFolders['id'], $rowFolders['naslov'], $uid);
|
|
|
|
$expanded = in_array($rowFolders['id'], $this->expanded_folders) ? true : false;
|
|
|
|
echo '<ul id="folder_list_'.$rowFolders['id'].'" class="folder_list" '.($expanded ? '' : 'style="display:none;"').'>';
|
|
|
|
// Rekurzivno izpisemo childe
|
|
$this->displayFolderParent($rowFolders['id'], $uid);
|
|
|
|
// Smo tabu ankete - izpisemo se ankete v tem folderju
|
|
if($this->tab == '1'){
|
|
|
|
$sqlSurvey = sisplet_query("SELECT a.id, a.naslov FROM srv_anketa a, srv_library_anketa l WHERE a.id=l.ank_id AND l.folder='".$rowFolders['id']."' AND l.uid='".$uid."' ORDER BY naslov ASC");
|
|
if (!$sqlSurvey) echo mysqli_error($GLOBALS['connect_db']);
|
|
|
|
if (mysqli_num_rows($sqlSurvey) > 0) {
|
|
|
|
while ($rowSurvey = mysqli_fetch_array($sqlSurvey)) {
|
|
|
|
$this->displayFolderItemSurvey($rowSurvey['id'], $rowSurvey['naslov']);
|
|
}
|
|
}
|
|
}
|
|
|
|
echo '</ul>';
|
|
}
|
|
}
|
|
|
|
// Levi item - folder
|
|
private function displayFolderItem($id, $title, $uid) {
|
|
global $lang;
|
|
global $admin_type;
|
|
|
|
$expanded = in_array($id, $this->expanded_folders) ? true : false;
|
|
$active = ($this->folder_id == $id) ? true : false;
|
|
|
|
echo '<li id="folder_item_'.$id.'" class="folder_item '.($active ? 'active' : '').' '.($expanded ? 'open' : '').' '.($uid != 0 ? 'droppable_folder' : '').'" folder-id="'.$id.'" onClick="openLibraryFolder(\''.$id.'\');">';
|
|
|
|
|
|
// Ikoni puscice in mape
|
|
echo ' <span id="folder_arrow_'.$id.'" class="faicon arrow" onClick="expandLibraryFolder(\''.$id.'\');"></span>';
|
|
echo ' <span id="folder_folder_'.$id.'" class="faicon folder"></span>';
|
|
|
|
// Naslov folderja
|
|
echo ' <span class="folder_item_title">'.$title.'</span>';
|
|
|
|
// Stevilo itemov v folderju
|
|
//echo ' <span class="folder_item_child_count">'.$child_count.'</span>';
|
|
|
|
|
|
// Urejanje folderja
|
|
if($uid != 0 || $admin_type == 0){
|
|
// Tri pikice za prikaz urejanja folderja
|
|
echo ' <span class="faicon dots_ver" onClick="showLibraryFolderEdit(this);"></span>';
|
|
|
|
// Skrit div za urejanje folderja
|
|
echo ' <div class="folder_item_settings displayNone">';
|
|
echo ' <ul>';
|
|
echo ' <li onClick="displayAddFolderPopup(\''.$id.'\', \''.$uid.'\');">'.$lang['srv_library_folder_add'].'</li>';
|
|
echo ' <li onClick="displayRenameFolderPopup(\''.$id.'\', \''.$title.'\');">'.$lang['srv_library_folder_rename'].'</li>';
|
|
if($id != $this->root_folder)
|
|
echo ' <li onClick="deleteLibraryFolder(\''.$id.'\');">'.$lang['srv_library_folder_delete'].'</li>';
|
|
echo ' </ul>';
|
|
echo ' </div>';
|
|
}
|
|
|
|
|
|
echo '</li>';
|
|
}
|
|
|
|
// Levi item - anketa
|
|
private function displayFolderItemSurvey($id, $title) {
|
|
global $lang;
|
|
|
|
echo '<li id="folder_item_'.$id.'" class="folder_item survey_item '.($this->folder_id == $id ? 'active' : '').'" onClick="openLibrarySurvey(\''.$id.'\');">';
|
|
|
|
|
|
// Ikoni puscice in mape
|
|
echo ' <span class="faicon list"></span>';
|
|
|
|
// Naslov folderja - ankete
|
|
echo ' <span class="folder_item_title">'.$title.'</span>';
|
|
|
|
|
|
echo '</li>';
|
|
}
|
|
|
|
|
|
// Dodaten popup za ime direktorija pri dodajanju
|
|
private function displayAddFolderPopup($folder_id, $uid){
|
|
global $lang;
|
|
|
|
echo '<h2>'.$lang['srv_library_folder_name'].'</h2>';
|
|
|
|
echo '<div>';
|
|
echo ' <input type="text" id="lib_folder_name" class="large">';
|
|
echo '</div>';
|
|
|
|
echo '<div class="button_holder">';
|
|
echo ' <button class="medium white-blue" onClick="closeAdditionalPopup();">'.$lang['edit1338'].'</button>';
|
|
echo ' <button class="medium blue" onClick="addLibraryFolder(\''.$folder_id.'\', \''.$uid.'\');">'.$lang['srv_library_folder_add'].'</button>';
|
|
echo '</div>';
|
|
}
|
|
|
|
// Dodaten popup za ime direktorija pri preimenovanju
|
|
private function displayRenameFolderPopup($folder_id, $folder_name){
|
|
global $lang;
|
|
|
|
echo '<h2>'.$lang['srv_library_folder_name'].'</h2>';
|
|
|
|
echo '<div>';
|
|
echo ' <input type="text" id="lib_folder_name" class="large" value="'.$folder_name.'">';
|
|
echo '</div>';
|
|
|
|
echo '<div class="button_holder">';
|
|
echo ' <button class="medium white-blue" onClick="closeAdditionalPopup();">'.$lang['edit1338'].'</button>';
|
|
echo ' <button class="medium blue" onClick="renameLibraryFolder(\''.$folder_id.'\');">'.$lang['srv_library_folder_rename'].'</button>';
|
|
echo '</div>';
|
|
}
|
|
|
|
|
|
// Prikazemo seznam vprasanj v folderju
|
|
private function displayQuestionList(){
|
|
global $global_user_id;
|
|
global $lang;
|
|
|
|
// Folder ni nastavljen
|
|
if($this->folder_id == 0)
|
|
return;
|
|
|
|
|
|
// Seznam vprasanj iz anket v knjiznici
|
|
if($this->tab == 1){
|
|
|
|
// Najprej zlistamo vse child folderje
|
|
$sqlFolders = sisplet_query("SELECT id, naslov FROM srv_library_folder WHERE parent='".$this->folder_id."' AND tip='".$this->tab."' ORDER BY naslov");
|
|
if (mysqli_num_rows($sqlFolders) > 0){
|
|
|
|
// Loop po vseh mapah znotraj parenta
|
|
while ($rowFolders = mysqli_fetch_array($sqlFolders)) {
|
|
$this->displayRightFolderItem($rowFolders['id'], $rowFolders['naslov']);
|
|
}
|
|
}
|
|
|
|
$sqlFolderSurveys = sisplet_query("SELECT a.id, a.naslov FROM srv_anketa a, srv_library_anketa l WHERE a.id=l.ank_id AND l.folder='".$this->folder_id."' ORDER BY naslov ASC");
|
|
while ($rowFolderSurveys = mysqli_fetch_array($sqlFolderSurveys)) {
|
|
|
|
// Naslov ankete
|
|
echo '<div class="survey_title">'.$rowFolderSurveys['naslov'].'</div>';
|
|
|
|
$sqlQuestions = sisplet_query("SELECT s.id, s.naslov, s.tip FROM srv_spremenljivka s, srv_grupa g WHERE s.gru_id=g.id AND g.ank_id='".$rowFolderSurveys['id']."' ORDER BY g.vrstni_red ASC, s.vrstni_red ASC");
|
|
while ($rowQuestions = mysqli_fetch_array($sqlQuestions)) {
|
|
|
|
$this->displayRightQuestionItem($rowQuestions);
|
|
}
|
|
}
|
|
}
|
|
// Seznam vprasanj iz knjiznice
|
|
else{
|
|
|
|
// Loop po vseh vprasanjih v folderju
|
|
$sqlFolderQuestions = sisplet_query("SELECT * FROM srv_spremenljivka WHERE folder='".$this->folder_id."' AND gru_id='-1' ORDER BY naslov ASC");
|
|
while ($rowFolderQuestions = mysqli_fetch_array($sqlFolderQuestions)) {
|
|
|
|
$this->displayRightQuestionItem($rowFolderQuestions);
|
|
}
|
|
|
|
// Loop po vseh if-ih/blokih v folderju
|
|
$sqlFolderIfs = sisplet_query("SELECT * FROM srv_if WHERE folder='".$this->folder_id."' ORDER BY label ASC, id ASC");
|
|
while ($rowFolderIfs = mysqli_fetch_array($sqlFolderIfs)) {
|
|
|
|
$this->displayRightIfItem($rowFolderIfs);
|
|
}
|
|
|
|
// Init drag/drop js
|
|
echo '<script>initDragLibraryItem();</script>';
|
|
}
|
|
|
|
}
|
|
|
|
// Prikazemo seznam vprasanj v anketah iz knjiznice v folderju
|
|
private function displaySurveyQuestionList(){
|
|
global $global_user_id;
|
|
global $lang;
|
|
|
|
// Folder ni nastavljen
|
|
if($this->folder_id == 0)
|
|
return;
|
|
|
|
|
|
// Naslov ankete
|
|
SurveyInfo :: getInstance()->SurveyInit($this->folder_id);
|
|
echo '<div class="survey_title">'.SurveyInfo::getSurveyTitle().'</div>';
|
|
|
|
$sqlQuestions = sisplet_query("SELECT s.id, s.naslov, s.tip FROM srv_spremenljivka s, srv_grupa g WHERE s.gru_id=g.id AND g.ank_id='".$this->folder_id."' ORDER BY g.vrstni_red ASC, s.vrstni_red ASC");
|
|
while ($rowQuestions = mysqli_fetch_array($sqlQuestions)) {
|
|
|
|
$this->displayRightQuestionItem($rowQuestions);
|
|
}
|
|
}
|
|
|
|
// Prikazemo vrstico (item, folder) na desni
|
|
private function displayRightFolderItem($folder_id, $folder_name){
|
|
global $lang;
|
|
|
|
echo '<div id="folder_item_holder_'.$folder_id.'" class="folder_item_holder" onClick="openLibraryFolder(\''.$folder_id.'\');">';
|
|
|
|
echo ' <div class="folder_item_info">';
|
|
echo ' <span class="faicon folder_empty"></span>';
|
|
echo ' <span class="title">'.$folder_name.'</span>';
|
|
echo ' </div>';
|
|
|
|
echo '</div>';
|
|
}
|
|
|
|
// Prikazemo 1 vrstico (item, vprasanje) na desni
|
|
private function displayRightQuestionItem($spremenljivka){
|
|
global $lang;
|
|
|
|
echo '<div id="question_item_holder_'.$spremenljivka['id'].'" class="question_item_holder" onClick="selectLibraryItem(\''.$spremenljivka['id'].'\');">';
|
|
|
|
echo ' <input type="checkbox" id="question_item_check_'.$spremenljivka['id'].'" item-type="1" class="question_item_check" onClick="selectLibraryItem(\''.$spremenljivka['id'].'\');"><label for="question_item_check_'.$spremenljivka['id'].'"></label>';
|
|
|
|
echo ' <div id="question_item_info_'.$spremenljivka['id'].'" item-type="1" item-id="'.$spremenljivka['id'].'" class="question_item_info">';
|
|
echo ' <span class="faicon list"></span>';
|
|
echo ' <span class="title">'.substr(strip_tags($spremenljivka['naslov']), 0, 40).'</span>';
|
|
echo ' </div>';
|
|
|
|
echo '</div>';
|
|
}
|
|
|
|
// Prikazemo 1 vrstico (item, if) na desni
|
|
private function displayRightIfItem($if){
|
|
global $lang;
|
|
|
|
echo '<div id="question_item_holder_'.$if['id'].'" class="question_item_holder" onClick="selectLibraryItem(\''.$if['id'].'\');">';
|
|
|
|
echo ' <input type="checkbox" id="question_item_check_'.$if['id'].'" item-type="2" class="question_item_check" onClick="selectLibraryItem(\''.$if['id'].'\');"><label for="question_item_check_'.$spremenljivka['id'].'"></label>';
|
|
|
|
echo ' <div id="question_item_info_'.$if['id'].'" item-type="2" item-id="'.$if['id'].'" class="question_item_info">';
|
|
echo ' <span class="faicon list"></span>';
|
|
echo ' <span class="title">'.substr(strip_tags($if['label']), 0, 40).'</span>';
|
|
echo ' </div>';
|
|
|
|
echo '</div>';
|
|
}
|
|
|
|
// Prikazemo gumbe
|
|
private function displayButtons(){
|
|
global $global_user_id;
|
|
global $lang;
|
|
|
|
echo '<button class="medium white-blue" onClick="popupClose();">'.$lang['edit1338'].'</button>';
|
|
echo '<button class="medium blue" onClick="insertLibraryItemsIntoSurvey();">'.$lang['srv_library_survey_add'].'</button>';
|
|
}
|
|
|
|
|
|
/**
|
|
* Popup pri dodajanju itema v knjiznico - potrditev, izbira folderja, urejanje naslova
|
|
*
|
|
* type
|
|
* - 0->anketa
|
|
* - 1->vprasanja
|
|
* - 2->if/blok
|
|
*/
|
|
private function displayAddIntoLibrary($item_id, $type){
|
|
global $lang;
|
|
|
|
// Naslov v oknu
|
|
echo '<h2>'.$lang['srv_library_add_to_lib_title'].'</h2>';
|
|
|
|
// Vsebina
|
|
echo '<div class="content">';
|
|
echo 'Dodajanje...';
|
|
echo '</div>';
|
|
|
|
echo '<div class="button_holder">';
|
|
echo ' <button class="medium white-blue" onClick="popupClose();">'.$lang['edit1338'].'</button>';
|
|
echo ' <button class="medium blue" onClick="addIntoLibrary(\''.$item_id.'\', \''.$type.'\');">'.$lang['srv_library_add_to_lib'].'</button>';
|
|
echo '</div>';
|
|
}
|
|
|
|
// Dobimo root folder uporabnika
|
|
private function getRootFolder(){
|
|
global $global_user_id;
|
|
global $lang;
|
|
|
|
$sqlFolder = sisplet_query("SELECT id FROM srv_library_folder WHERE uid='".$global_user_id."' AND parent='0' AND tip='".$this->tab."' AND lang='".$lang['id']."'");
|
|
|
|
// Za prvic ko pride user, da mu dodamo folder
|
|
if (mysqli_num_rows($sqlFolder) == 0){
|
|
|
|
// Nastavimo naslov mape
|
|
$naslov = $lang['srv_moja_vprasanja'];
|
|
|
|
sisplet_query("INSERT INTO srv_library_folder
|
|
(uid, tip, naslov, parent, lang)
|
|
VALUES
|
|
('".$global_user_id."', '".$this->tab."', '".$naslov."', '0', '".$lang['id']."')
|
|
");
|
|
|
|
$root_folder_id = mysqli_insert_id($GLOBALS['connect_db']);
|
|
}
|
|
else{
|
|
$rowFolder = mysqli_fetch_array($sqlFolder);
|
|
$root_folder_id = $rowFolder['id'];
|
|
}
|
|
|
|
return $root_folder_id;
|
|
}
|
|
|
|
|
|
/**
|
|
* @desc pohendla ajax klice
|
|
*/
|
|
public function ajax () {
|
|
global $lang;
|
|
global $global_user_id;
|
|
|
|
|
|
$this->tab = (isset($_POST['tab'])) ? (int)$_POST['tab'] : 0;
|
|
|
|
// Nastavimo uporabnikov root folder
|
|
$this->root_folder = $this->getRootFolder();
|
|
|
|
|
|
// Odpremo popup s knjiznico
|
|
if ($_GET['a'] == 'displayLibraryPopup') {
|
|
$this->displayLibrary();
|
|
}
|
|
|
|
// Preklopimo tab v kniznici
|
|
elseif ($_GET['a'] == 'displayLibraryTabContent') {
|
|
$this->displayTabContent();
|
|
}
|
|
|
|
// Dodamo folder
|
|
elseif ($_GET['a'] == 'addFolder') {
|
|
|
|
$folder_id = $_POST['folder_id'];
|
|
$uid = $_POST['uid'];
|
|
$folder_name = $_POST['folder_name'];
|
|
|
|
if($folder_id != '' && $folder_id > 0){
|
|
$s = sisplet_query("INSERT INTO srv_library_folder (uid, tip, naslov, parent, lang) VALUES ('".$uid."', '".$this->tab."', '".$folder_name."', '".$folder_id."', '".$lang['id']."')");
|
|
if (!$s) echo mysqli_error($GLOBALS['connect_db']);
|
|
|
|
$insert_id = mysqli_insert_id($GLOBALS['connect_db']);
|
|
|
|
// Nastavimo za aktivni folder in izrisemo na novo
|
|
$this->folder_id = $insert_id;
|
|
|
|
// Posodobimo vse razprte folderje (vsi parenti ce je child aktiven)
|
|
$this->setExpandedFolders($this->folder_id);
|
|
|
|
// Prikazemo folderje
|
|
$this->displayFolderList();
|
|
}
|
|
}
|
|
|
|
// Preimenujemo folder
|
|
elseif ($_GET['a'] == 'renameFolder') {
|
|
|
|
$folder_id = $_POST['folder_id'];
|
|
$folder_name = $_POST['folder_name'];
|
|
|
|
if($folder_id != '' && $folder_id > 0){
|
|
|
|
$s = sisplet_query("UPDATE srv_library_folder SET naslov='".$folder_name."' WHERE id='".$folder_id."'");
|
|
if (!$s) echo mysqli_error($GLOBALS['connect_db']);
|
|
|
|
// Nastavimo za aktivni folder in izrisemo na novo
|
|
$this->folder_id = $folder_id;
|
|
|
|
// Posodobimo vse razprte folderje (vsi parenti ce je child aktiven)
|
|
$this->setExpandedFolders($this->folder_id);
|
|
|
|
$this->displayFolderList();
|
|
}
|
|
}
|
|
|
|
// Brisemo folder
|
|
elseif ($_GET['a'] == 'deleteFolder') {
|
|
|
|
$folder_id = $_POST['folder_id'];
|
|
|
|
if($folder_id != '' && $folder_id > 0){
|
|
|
|
$sql = sisplet_query("SELECT parent FROM srv_library_folder WHERE id = '".$folder_id."'");
|
|
$row = mysqli_fetch_array($sql);
|
|
|
|
// Prestavimo vse iteme v parent folder
|
|
if ($this->tab == 0) {
|
|
sisplet_query("UPDATE srv_spremenljivka SET folder='".$row['parent']."' WHERE folder='".$folder_id."'");
|
|
sisplet_query("UPDATE srv_if SET folder='".$row['parent']."' WHERE folder='".$folder_id."'");
|
|
}
|
|
else {
|
|
sisplet_query("UPDATE srv_library_anketa SET folder='".$row['parent']."' WHERE folder='".$folder_id."'");
|
|
}
|
|
|
|
// Prestavimo vse child folderje v parent folder
|
|
sisplet_query("UPDATE srv_library_folder SET parent='".$row['parent']."' WHERE parent='".$folder_id."'");
|
|
|
|
// Pobrisemo folder
|
|
sisplet_query("DELETE FROM srv_library_folder WHERE id='".$folder_id."'");
|
|
|
|
// Nastavimo parenta za aktivni folder in izrisemo na novo
|
|
$this->folder_id = $row['parent'];
|
|
|
|
// Posodobimo vse razprte folderje (vsi parenti ce je child aktiven)
|
|
$this->setExpandedFolders($this->folder_id);
|
|
|
|
// Prikazemo fodlderje
|
|
$this->displayFolderList();
|
|
}
|
|
}
|
|
|
|
// Odpremo popup za poimenovanje novega folderja
|
|
elseif ($_GET['a'] == 'addFolderPopup') {
|
|
|
|
$folder_id = $_POST['folder_id'];
|
|
$uid = $_POST['uid'];
|
|
|
|
$this->displayAddFolderPopup($folder_id, $uid);
|
|
}
|
|
|
|
// Odpremo popup za poimenovanje folderja
|
|
elseif ($_GET['a'] == 'renameFolderPopup') {
|
|
|
|
$folder_id = $_POST['folder_id'];
|
|
$folder_name = $_POST['folder_name'];
|
|
|
|
$this->displayRenameFolderPopup($folder_id, $folder_name);
|
|
}
|
|
|
|
|
|
// Odpremo folder z vprasanji v knjiznici
|
|
elseif ($_GET['a'] == 'displayLibraryQuestionList') {
|
|
|
|
$this->folder_id = $_POST['folder_id'];
|
|
|
|
$this->displayQuestionList();
|
|
}
|
|
|
|
// Odpremo anketo z vprasanji v knjiznici
|
|
elseif ($_GET['a'] == 'displayLibrarySurveyQuestionList') {
|
|
|
|
$this->folder_id = $_POST['folder_id'];
|
|
|
|
$this->displaySurveyQuestionList();
|
|
}
|
|
|
|
// Dodajanje itema iz knjiznice v vprasalnik
|
|
elseif ($_GET['a'] == 'addIntoSurvey') {
|
|
|
|
$items = $_POST['items'];
|
|
|
|
$b = new Branching($this->ank_id);
|
|
$ba = new BranchingAjax($this->ank_id);
|
|
|
|
foreach(array_reverse($items) as $item){
|
|
|
|
$item_array = explode("_", $item);
|
|
$item_id = $item_array[0];
|
|
$item_type = $item_array[1];
|
|
|
|
$last_spr = $b->find_last_spr();
|
|
|
|
// Dodamo if/blok v anketo
|
|
if($item_type == '2'){
|
|
$b->if_new($endif, $parent, $if_id=$item_id, $vrstni_red, $spremenljivka, $if, $copy=$item_id, $no_content=0, $include_element=true);
|
|
}
|
|
// Dodamo vprasanje v anketo
|
|
else{
|
|
$ba->spremenljivka_new($spremenljivka=$last_spr, $if=0, $endif=0, $copy=$item_id, $drop=0);
|
|
}
|
|
}
|
|
|
|
Common::getInstance()->Init($this->ank_id);
|
|
Common::getInstance()->prestevilci(0, $all=true);
|
|
|
|
$b->branching_struktura();
|
|
}
|
|
|
|
// Drop itema v drug folder
|
|
elseif ($_GET['a'] == 'dropItem') {
|
|
|
|
$item_id = $_POST['item_id'];
|
|
$item_type = $_POST['item_type'];
|
|
$folder_id = $_POST['folder_id'];
|
|
|
|
if($item_id != '' && $item_id > 0){
|
|
|
|
// if/blok
|
|
if ($item_type == '2') {
|
|
sisplet_query("UPDATE srv_if SET folder='".$folder_id."' WHERE id='".$item_id."'");
|
|
}
|
|
// spremenljivka
|
|
else {
|
|
sisplet_query("UPDATE srv_spremenljivka SET folder='".$folder_id."' WHERE id='".$item_id."'");
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// Odpremo popup za dodajanje itema v knjiznico
|
|
elseif ($_GET['a'] == 'displayAddIntoLibraryPopup') {
|
|
|
|
$item_id = $_POST['item_id'];
|
|
$type = $_POST['type'];
|
|
|
|
$this->displayAddIntoLibrary($item_id, $type);
|
|
}
|
|
|
|
// Dodajanje itema v knjiznico
|
|
elseif ($_GET['a'] == 'addIntoLibrary') {
|
|
|
|
$item_id = $_POST['item_id'];
|
|
$type = $_POST['type'];
|
|
|
|
$folder_id = $this->root_folder;
|
|
|
|
if ($item_id > 0) {
|
|
|
|
$b = new Branching($this->ank_id);
|
|
|
|
// v knjiznico dodamo spremenljivko
|
|
if($type == 1) {
|
|
$id = $b->nova_spremenljivka(-1, 0, 0, $item_id);
|
|
sisplet_query("UPDATE srv_spremenljivka SET folder='".$folder_id."' WHERE id='".$id."'");
|
|
|
|
}
|
|
// v knjiznico dodamo if/blok
|
|
elseif($type == 2) {
|
|
$id = $b->if_copy(0, $item_id, true);
|
|
sisplet_query("UPDATE srv_if SET folder='".$folder_id."' WHERE id='".$id."'");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
?>
|