Redesign - knjiznica - popravki
This commit is contained in:
parent
df7dc312a3
commit
1d83518858
@ -7505,6 +7505,15 @@ class Branching {
|
||||
echo '</script>';
|
||||
}
|
||||
|
||||
// Dodaj blok/if v knjiznico
|
||||
echo '<div class="condition_setting_holder">';
|
||||
|
||||
echo ' <div class="condition_setting_line">';
|
||||
echo ' <button class="blue small" onClick="displayAddIntoLibraryPopup(\''.$if.'\', \'2\');">'.$lang['srv_library_add_to_lib'].'</button>';
|
||||
echo ' </div>';
|
||||
|
||||
echo '</div>';
|
||||
|
||||
echo '</fieldset>';
|
||||
|
||||
|
||||
|
@ -9,6 +9,8 @@ class LibraryBranching {
|
||||
var $folder_id = 0; // Trenutno aktiven folder
|
||||
var $expanded_folders = array(); // Razprti folderji
|
||||
|
||||
var $root_folder;
|
||||
|
||||
|
||||
public function __construct ($ank_id=0) {
|
||||
|
||||
@ -48,6 +50,7 @@ class LibraryBranching {
|
||||
|
||||
// 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">';
|
||||
@ -133,6 +136,8 @@ class LibraryBranching {
|
||||
$(".folder_item_settings").addClass("displayNone");
|
||||
}
|
||||
});
|
||||
|
||||
initHideLibraryArrows();
|
||||
</script>';
|
||||
}
|
||||
|
||||
@ -222,13 +227,14 @@ class LibraryBranching {
|
||||
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 '.($this->folder_id == $id ? 'active' : '').' '.($expanded ? 'open' : 'close').' '.($uid != 0 ? 'droppable_folder' : '').'" folder-id="'.$id.'" onClick="openLibraryFolder(\''.$id.'\');">';
|
||||
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 arrow2_'.($expanded ? 'u' : 'd').'" onClick="expandLibraryFolder(\''.$id.'\');"></span>';
|
||||
echo ' <span id="folder_folder_'.$id.'" class="faicon '.($expanded ? 'folder' : 'folder_empty').'"></span>';
|
||||
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>';
|
||||
@ -238,7 +244,7 @@ class LibraryBranching {
|
||||
|
||||
|
||||
// Urejanje folderja
|
||||
if($uid != 0){
|
||||
if($uid != 0 || $admin_type == 0){
|
||||
// Tri pikice za prikaz urejanja folderja
|
||||
echo ' <span class="faicon dots_ver" onClick="showLibraryFolderEdit(this);"></span>';
|
||||
|
||||
@ -247,7 +253,8 @@ class LibraryBranching {
|
||||
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>';
|
||||
echo ' <li onClick="deleteLibraryFolder(\''.$id.'\');">'.$lang['srv_library_folder_delete'].'</li>';
|
||||
if($id != $this->root_folder)
|
||||
echo ' <li onClick="deleteLibraryFolder(\''.$id.'\');">'.$lang['srv_library_folder_delete'].'</li>';
|
||||
echo ' </ul>';
|
||||
echo ' </div>';
|
||||
}
|
||||
@ -345,12 +352,21 @@ class LibraryBranching {
|
||||
}
|
||||
// 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>';
|
||||
}
|
||||
@ -398,9 +414,9 @@ class LibraryBranching {
|
||||
|
||||
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'].'" class="question_item_check" onClick="selectLibraryItem(\''.$spremenljivka['id'].'\');"><label for="question_item_check_'.$spremenljivka['id'].'"></label>';
|
||||
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-id="'.$spremenljivka['id'].'" class="question_item_info">';
|
||||
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>';
|
||||
@ -408,6 +424,22 @@ class LibraryBranching {
|
||||
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;
|
||||
@ -443,11 +475,12 @@ class LibraryBranching {
|
||||
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='0' AND lang='".$lang['id']."'");
|
||||
$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){
|
||||
@ -458,7 +491,7 @@ class LibraryBranching {
|
||||
sisplet_query("INSERT INTO srv_library_folder
|
||||
(uid, tip, naslov, parent, lang)
|
||||
VALUES
|
||||
('".$global_user_id."', '0', '".$naslov."', '0', '".$lang['id']."')
|
||||
('".$global_user_id."', '".$this->tab."', '".$naslov."', '0', '".$lang['id']."')
|
||||
");
|
||||
|
||||
$root_folder_id = mysqli_insert_id($GLOBALS['connect_db']);
|
||||
@ -482,6 +515,9 @@ class LibraryBranching {
|
||||
|
||||
$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') {
|
||||
@ -501,7 +537,7 @@ class LibraryBranching {
|
||||
$folder_name = $_POST['folder_name'];
|
||||
|
||||
if($folder_id != '' && $folder_id > 0){
|
||||
$s = sisplet_query("INSERT INTO srv_library_folder (uid, tip, naslov, parent) VALUES ('".$uid."', '".$this->tab."', '".$folder_name."', '".$folder_id."')");
|
||||
$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']);
|
||||
@ -612,14 +648,27 @@ class LibraryBranching {
|
||||
// Dodajanje itema iz knjiznice v vprasalnik
|
||||
elseif ($_GET['a'] == 'addIntoSurvey') {
|
||||
|
||||
$item_ids = $_POST['item_ids'];
|
||||
$items = $_POST['items'];
|
||||
|
||||
$b = new Branching($this->ank_id);
|
||||
$ba = new BranchingAjax($this->ank_id);
|
||||
|
||||
foreach(array_reverse($item_ids) as $item_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();
|
||||
$new_id = $ba->spremenljivka_new($spremenljivka=$last_spr, $if=0, $endif=0, $copy=$item_id, $drop=0);
|
||||
|
||||
// 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);
|
||||
@ -632,17 +681,18 @@ class LibraryBranching {
|
||||
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){
|
||||
|
||||
// spremenljivka
|
||||
if (true) {
|
||||
sisplet_query("UPDATE srv_spremenljivka SET folder='".$folder_id."' WHERE id='".$item_id."'");
|
||||
}
|
||||
// if/blok
|
||||
else {
|
||||
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."'");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -663,7 +713,7 @@ class LibraryBranching {
|
||||
$item_id = $_POST['item_id'];
|
||||
$type = $_POST['type'];
|
||||
|
||||
$folder_id = $this->getRootFolder();
|
||||
$folder_id = $this->root_folder;
|
||||
|
||||
if ($item_id > 0) {
|
||||
|
||||
|
@ -1972,9 +1972,6 @@ class Vprasanje {
|
||||
echo ' </div>';
|
||||
|
||||
echo '</div>';
|
||||
|
||||
// ob spremembi opombe, damo drug value tudi na radio Da, da se ob shranjevanju desnega menija shrani nova opomba, ce je bila spremenenjena
|
||||
?><script> $('div.spremenljivka_info.info_inline[spr_id=<?=$this->spremenljivka?>]').live('blur', function() { $('#_info').val( $(this).html() ); }) </script><?
|
||||
}
|
||||
|
||||
//editiranje naslova uvoda
|
||||
|
@ -271,14 +271,12 @@ function displayLibraryTab(tab){
|
||||
if(tab == 1){
|
||||
$('#tab_0').removeClass('active');
|
||||
$('#tab_1').addClass('active');
|
||||
|
||||
}
|
||||
else{
|
||||
$('#tab_1').removeClass('active');
|
||||
$('#tab_0').addClass('active');
|
||||
}
|
||||
|
||||
$('#active_tab').val(tab);
|
||||
|
||||
$("#tab_content").load('ajax.php?t=libraryBranching&a=displayLibraryTabContent', {anketa: srv_meta_anketa_id, tab: tab});
|
||||
}
|
||||
|
||||
@ -286,13 +284,11 @@ function displayLibraryTab(tab){
|
||||
function openLibraryFolder(folder_id){
|
||||
|
||||
$('.folder_item').removeClass('active');
|
||||
$('#folder_item_'+folder_id).addClass('active');
|
||||
$('#folder_item_'+folder_id).addClass('active').addClass('open');
|
||||
|
||||
// Ce poddirektoriji niso vidni jih prikazemo
|
||||
if(!$('#folder_list_'+folder_id).is(':visible')){
|
||||
$('#folder_list_'+folder_id).slideDown();
|
||||
$('#folder_arrow_'+folder_id).removeClass('arrow2_d').addClass('arrow2_u');
|
||||
$('#folder_folder_'+folder_id).removeClass('folder_empty').addClass('folder');
|
||||
}
|
||||
|
||||
var tab = $('#active_tab').val();
|
||||
@ -316,13 +312,11 @@ function expandLibraryFolder(folder_id){
|
||||
|
||||
if($('#folder_list_'+folder_id).is(':visible')){
|
||||
$('#folder_list_'+folder_id).slideUp();
|
||||
$('#folder_arrow_'+folder_id).removeClass('arrow2_u').addClass('arrow2_d');
|
||||
$('#folder_folder_'+folder_id).removeClass('folder').addClass('folder_empty');
|
||||
$('#folder_item_'+folder_id).removeClass('open');
|
||||
}
|
||||
else{
|
||||
$('#folder_list_'+folder_id).slideDown();
|
||||
$('#folder_arrow_'+folder_id).removeClass('arrow2_d').addClass('arrow2_u');
|
||||
$('#folder_folder_'+folder_id).removeClass('folder_empty').addClass('folder');
|
||||
$('#folder_item_'+folder_id).addClass('open');
|
||||
}
|
||||
|
||||
event.stopPropagation();
|
||||
@ -413,11 +407,9 @@ function selectLibraryItem(item_id){
|
||||
}
|
||||
|
||||
// Funkcija za init drag drop vprasanj v knjiznici
|
||||
function dropLibraryItem(item_id, folder_id){
|
||||
function dropLibraryItem(item_id, item_type, folder_id){
|
||||
|
||||
console.log(item_id + '__' + folder_id);
|
||||
|
||||
$.post('ajax.php?t=libraryBranching&a=dropItem', {anketa: srv_meta_anketa_id, item_id: item_id, folder_id: folder_id}, function(){
|
||||
$.post('ajax.php?t=libraryBranching&a=dropItem', {anketa: srv_meta_anketa_id, item_id: item_id, item_type: item_type, folder_id: folder_id}, function(){
|
||||
$('#question_item_holder_'+item_id).remove();
|
||||
});
|
||||
}
|
||||
@ -439,27 +431,45 @@ function initDragLibraryItem(){
|
||||
hoverClass: "drag-hover",
|
||||
drop: function( event, ui ) {
|
||||
var item_id = ui.draggable.attr('item-id');
|
||||
var item_type = ui.draggable.attr('item-type');
|
||||
var folder_id = $(this).attr("folder-id");
|
||||
|
||||
dropLibraryItem(item_id, folder_id);
|
||||
dropLibraryItem(item_id, item_type, folder_id);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Skrijemo puscice folderjem brez subfolderjev
|
||||
function initHideLibraryArrows(){
|
||||
|
||||
$('ul.folder_list').each(function(){
|
||||
|
||||
if($(this).is(':empty')){
|
||||
|
||||
var id_string = $(this).attr("id");
|
||||
var id = id_string.substring(12);
|
||||
|
||||
$('#folder_item_'+id).addClass('no_arrow');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function insertLibraryItemsIntoSurvey(){
|
||||
|
||||
var item_ids = [];
|
||||
var items = [];
|
||||
|
||||
$('.question_item_check:checkbox:checked').each(function(){
|
||||
var id_string = $(this).attr("id");
|
||||
var id = id_string.substring(20);
|
||||
|
||||
item_ids.push(id);
|
||||
var type = $(this).attr("item-type");
|
||||
|
||||
items.push(id + '_' + type);
|
||||
});
|
||||
|
||||
popupClose();
|
||||
|
||||
$("#branching").load('ajax.php?t=libraryBranching&a=addIntoSurvey', {anketa: srv_meta_anketa_id, item_ids: item_ids});
|
||||
$("#branching").load('ajax.php?t=libraryBranching&a=addIntoSurvey', {anketa: srv_meta_anketa_id, items: items});
|
||||
}
|
||||
|
||||
|
||||
|
@ -2369,10 +2369,10 @@ $lang = array (
|
||||
"srv_library_survey_title" => "Knjižnica vprašanj",
|
||||
"srv_library_survey_add" => "Dodaj v anketo",
|
||||
"srv_library_item_counter" => "Št. izbranih vprašanj",
|
||||
"srv_library_folder_add" => "Dodaj direktorij",
|
||||
"srv_library_folder_delete" => "Odstrani direktorij",
|
||||
"srv_library_folder_rename" => "Preimenuj direktorij",
|
||||
"srv_library_folder_name" => "Ime direktorija",
|
||||
"srv_library_folder_add" => "Dodaj podmapo",
|
||||
"srv_library_folder_delete" => "Odstrani podmapo",
|
||||
"srv_library_folder_rename" => "Preimenuj podmapo",
|
||||
"srv_library_folder_name" => "Ime podmape",
|
||||
"srv_library_add_to_lib_title" => "Dodaj element v knjižnico",
|
||||
"srv_library_add_to_lib" => "Dodaj v knjižnico",
|
||||
"srv_nadzor" => "Nadzor",
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -65,12 +65,30 @@
|
||||
|
||||
transition: 0.2s;
|
||||
|
||||
.faicon.arrow:before{
|
||||
content: "\f078";
|
||||
}
|
||||
.faicon.folder:before{
|
||||
font-weight: 400;
|
||||
color: $dark-gray2;
|
||||
}
|
||||
&.active{
|
||||
border-color: $blue;
|
||||
background-color: $light-gray;
|
||||
|
||||
.faicon.folder:before{
|
||||
font-weight: 600;
|
||||
color: $blue;
|
||||
}
|
||||
}
|
||||
&.open{
|
||||
.faicon.arrow:before{
|
||||
content: "\f077";
|
||||
}
|
||||
}
|
||||
|
||||
&.open{
|
||||
&.no_arrow .faicon.arrow:before{
|
||||
display: none;
|
||||
}
|
||||
|
||||
&.droppable_folder.drag-hover{
|
||||
@ -91,14 +109,6 @@
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.faicon.folder_empty{
|
||||
color: $blue;
|
||||
}
|
||||
|
||||
.faicon.folder{
|
||||
color: $blue;
|
||||
}
|
||||
|
||||
.folder_item_child_count{
|
||||
font-size: 12px;
|
||||
color: $very-dark-gray;
|
||||
|
Loading…
x
Reference in New Issue
Block a user