Redesign - nova knjiznica znotraj ankete (V DELU), dodan ttest preview v analizah

This commit is contained in:
pero1203 2022-02-22 12:18:33 +01:00
parent eb063d3f69
commit 0b91e03d04
5 changed files with 171 additions and 199 deletions

View File

@ -1,232 +1,139 @@
<?php <?php
class LibraryBranching { class LibraryBranching {
var $SurveyAdmin;
var $Branching;
var $tab = 2; // tab pove kater tab je odprt (od 4ih)
var $tip = 1; // tip pove v bazi srv_library_folder za kater tip gre (0-vpra<72>anja, 1-ankete)
var $prva = 0; // prva pove, ce je to library na prvi strani (1) ali v urejanju ankete (0)
// v odvisnosti od mode prilagajamu UI. (Mode je odvisen od tipa ankete - survey_type)
var $mode = -1; // mode: -1 -> library pri datotekah, 0 -> glasovanje, 1 -> forma, 2 -> ankata na več straneh, 3 -> ifi
var $skin = 0;
private $isSearch = 0; // ali izvajamo search po anektah
private $searchString = ''; // geslo po katerem iscemo po anketah
private $searchStringProcessed = array(); // geslo po katerem iscemo po anketah, obdelano (skrajsano da isce tudi po drugih sklanjatvah)
private $searchSettings = array(); // nastavitve searcha
/** var $ank_id; // Anketa znotraj katere urejamo knjiznico
* @desc konstruktor var $tab = 0; // tip pove v bazi srv_library_folder za kater tip gre - 0->vprasanja, 1->ankete (vprasanja iz anket)
*/
function __construct ($_options = array()) {
global $surveySkin;
if (isset($surveySkin))
$this->skin = $surveySkin;
$this->SurveyAdmin = new SurveyAdmin(1, -1); public function __construct () {
$this->Branching = new Branching($this->SurveyAdmin->anketa);
if (isset($_options['tab'])) {
$this->tab = $_options['tab'];
if ($this->tab <= 1)
$this->tip = 0;
else
$this->tip = 1;
}
else if (isset($_POST['tab'])) {
$this->tab = ($_POST['tab'] == 0 || $_POST['tab'] == 'undefined') ? 0 : $_POST['tab'];
if ($this->tab <= 1)
$this->tip = 0;
else
$this->tip = 1;
}
else {
$this->tab = 0;
$this->tip = 0;
}
if (isset($_options['prva'])) {
$this->prva = $_options['prva'];
}
else {
$this->prva = 0;
}
if (isset($_GET['tab'])) $this->tab = (int)$_GET['tab'];
// nastavimo mode v odvisnosti od survey_type ( če nismo v anketi je -1)
if (isset($this->SurveyAdmin->anketa) && $this->SurveyAdmin->anketa > 0) {
$_st = $this->SurveyAdmin->getSurvey_type($this->SurveyAdmin->anketa);
if ($_st > -1)
$this->mode = $_st;
}
$this->repareTabs();
// Preverimo ce gre za search po anketah
if(isset($_GET['search']) && $_GET['search'] != ''){
$this->isSearch = 1;
$this->searchString = str_replace("\\", "", trim($_GET['search']));
// Iscemo po naslovu ali vsebini
$this->searchSettings['stype'] = (isset($_GET['stype'])) ? $_GET['stype'] : '0';
}
} }
/** /**
* @desc prikaze knjiznico znotraj ankete na desni * @desc prikaze knjiznico znotraj ankete
*/ */
function display () { private function displayLibrary() {
global $admin_type; global $admin_type;
global $global_user_id; global $global_user_id;
global $lang; global $lang;
echo '<div id="library_title">';
echo '<span class="faicon library"></span> '.$lang['srv_library']; // Naslov v oknu
echo '<a href="#" title="'.$lang['srv_zapri'].'" onclick="change_mode(\'toolboxback\', \'1\'); return false;"><span class="faicon close" style="float:right;"></span></a>'; echo '<h2></h2>';
// Tabi (vprasanja, ankete)
echo '<div id="lib_tabs" class="tabs">';
$this->displayTabs();
echo '</div>';
// Vsebina
echo '<div class="content">';
// Levi seznam folderjev
echo '<div id="lib_folder_list" class="content_left folder_list">';
$this->displayFolderList();
echo '</div>'; echo '</div>';
// Desna vsebina
echo '<div id="lib_folder_list" class="content_right folder_list">';
// Seznam vprasanj
echo '<div id="lib_question_list" class="question_list">';
$this->displayQuestionList();
echo '</div>';
// Gumbi na dnu
echo '<div id="lib_question_list" class="button_holder">';
$this->displayButtons();
echo '</div>';
$this->display_tabs(); echo '</div>';
echo '<div id="library">'; echo '</div>';
echo '<div id="libraryInner">';
$this->display_folders();
echo '</div><!-- id="libraryInner" -->';
echo '</div><!-- id="library" -->';
} }
/**
* @desc prikaze tabe za izbiro // Prikazemo tabe - vprasanja / ankete
*/ private function displayTabs(){
function display_tabs () {
global $lang; global $lang;
echo '<p class="display_tabs">'; // Tab vprasanja
echo '<span' . ($this->tab==0 || $this->tab==1 ? ' class="highlightTabBlackLeft"' : ' class="nohighlight"') . ' >'; echo '<div id="tab_0" class="tab '.($this->tab == 0 ? 'active' : '').'" onClick="displayLibraryTab(\'0\'); return false;">';
echo '<a href="/" onclick="display_knjiznica(\'0\'); return false;" title="'.$lang['srv_vprasanja'].'"><span>' . $lang['srv_vprasanja'] . '</span></a></span>'; echo $lang['srv_vprasanja'];
echo '<span' . ($this->tab==2 || $this->tab==3 ? ' class="highlightTabBlackRight"' : ' class="nohighlight"') . ' >'; echo '</div>';
echo '<a href="/" onclick="display_knjiznica(\'2\'); return false;" title="'.$lang['srv_ankete'].'"><span>' . $lang['srv_ankete'] . '</span></a></span>';
echo '</p>'; // Tab ankete
echo '<div id="tab_1" class="tab '.($this->tab == 1 ? 'active' : '').'" onClick="displayLibraryTab(\'1\'); return false;">';
echo $lang['srv_ankete'];
echo '</div>';
} }
function display_folders () {
// Prikazemo seznam folderjev na levi
private function displayFolderList(){
global $global_user_id; global $global_user_id;
global $lang; global $lang;
// Knjiznica znotraj posamezne ankete // Prikazemo seznam mojih folderjev v knjiznci
if ($this->prva == 0) { $this->displayFolderParent($parent=0, $uid=$global_user_id);
$this->display_contentfolders(0, 0);
$this->display_contentfolders(0, $global_user_id);
if ($this->tip == 1) { // Prikazemo seznam javnih folderjev v knjiznci
echo '<p class="bold"><a href="index.php?a=knjiznica">'.$lang['srv_library_edit'].'</a><br>'; $this->displayFolderParent($parent=0, $uid=0);
$sql = sisplet_query("SELECT * FROM srv_library_anketa WHERE uid='".$global_user_id."' AND ank_id='".$this->SurveyAdmin->anketa."'");
if (mysqli_num_rows($sql) == 0) {
echo '<div class="buttonwrapper" style="float:left;">
<a class="ovalbutton ovalbutton_orange btn_savesettings" onclick="add_to_my_library(); return false;" href="#"><span>'.$lang['srv_library_edit_add'].'</span></a>
</div></p>';
}
} else {
echo '<p>'.$lang['srv_library_q_txt'].'</p>';
}
//echo '<a style="padding:5px; background-color: white; bottom: 1px; position: absolute; right: 18px;" onclick="change_mode(\'toolboxback\', \'1\'); return false;" href="#">'.$lang['srv_zapri'].'</a>';
}
// Knjiznica na prvi strani zraven mojih anket
else {
// Na prvi strani imamo search
if($this->isSearch == 1){
echo '<div id="searchLibrarySettings">';
$this->displaySearchSettings();
echo '</div>';
echo '<div class="clr"></div>';
$this->display_contentfolders_searchList();
}
else{
echo '<div id="searchLibrarySurveys">';
$this->displaySearch();
echo '</div>';
echo '<div class="clr"></div>';
$this->display_contentfolders();
}
}
} }
/** private function displayFolderParent($parent, $uid) {
* @desc prikaze folderje v knjiznici
*/
function display_contentfolders ($parent = 0, $uid = -1) {
global $lang; global $lang;
global $admin_type; global $admin_type;
global $global_user_id; global $global_user_id;
global $site_url; global $site_url;
$language = "";
if ($uid == -1) { // Ce gre za root mapo prikazemo z ustreznim jezikom
if ($this->tab == 0 || $this->tab == 2) { if ($parent == 0 && $uid == 0) {
$uid = 0; $language = " AND lang='".$lang['id']."' ";
} else {
$uid = $global_user_id;
}
} }
if ($parent == 0 && $uid == 0) { // Dobimo vse folderje za parenta
$language = " AND lang='$lang[id]' "; $sqlFolders = sisplet_query("SELECT id, naslov
} FROM srv_library_folder
WHERE uid='".$uid."' AND parent='".$parent."' AND tip='".$this->tab."' AND ".$language."
$cookie = $_COOKIE['library_folders']; ORDER BY naslov
// da se v url lahko doda odprte folderje: &libfolder=131-147 (more vkljucevat tudi parente) ");
if (isset($_GET['libfolder'])) $cookie .= '-'.$_GET['libfolder'].'-'; if (!$sqlFolders)
if ($parent == 0) {
// v skrite html elemente shranimo tab, in prva
echo '<input type="hidden" name="lib_tab" id="lib_tab" value="'.($this->tab == 0 || $this->tab == "" ? "0" : "$this->tab").'">';
echo '<input type="hidden" name="lib_tip" id="lib_tip" value="'.($this->tip == 0 || $this->tip== "" ? "0" : "$this->tip").'">';
echo '<input type="hidden" name="lib_prva" id="lib_prva" value="'.($this->prva == 0 || $this->prva== "" ? "0" : "$this->prva").'">';
echo '<ul title="'.($uid==0?$lang['srv_library_left']:$lang['srv_library_left_right']).'" style="padding-left:0;" class="'.($admin_type==0 || $uid == $global_user_id?'can_edit':'').'">'."\n";
}
$sql = sisplet_query("SELECT id, naslov FROM srv_library_folder WHERE uid='$uid' AND parent = '$parent' AND tip='$this->tip' $language ORDER BY naslov");
if (!$sql)
echo mysqli_error($GLOBALS['connect_db']); echo mysqli_error($GLOBALS['connect_db']);
if (mysqli_num_rows($sql) == 0 && $uid > 0 && $parent == 0) {
// Za prvic ko pride user, da mu dodamo folder
if (mysqli_num_rows($sqlFolders) == 0 && $uid > 0 && $parent == 0){
// za prvic ko pride user, da mu dodamo folder // Nastavimo naslov mape
if ($this->tip == 0) $naslov = ($this->tab == 0) ? $lang['srv_moja_vprasanja'] : $lang['srv_moje_ankete'];
$naslov = $lang['srv_moja_vprasanja'];
else
$naslov = $lang['srv_moje_ankete'];
sisplet_query("INSERT INTO srv_library_folder (uid, tip, naslov, parent, lang) VALUES ('$uid', '$this->tip', '$naslov', '0', '$lang[id]')"); sisplet_query("INSERT INTO srv_library_folder
(uid, tip, naslov, parent, lang)
VALUES
('".$uid."', '".$this->tab."', '".$naslov."', '0', '".$lang['id']."')
");
$sql = sisplet_query("SELECT id, naslov FROM srv_library_folder WHERE uid='$uid' AND parent = '$parent' AND tip='$this->tip' ORDER BY naslov"); $sqlFolders = sisplet_query("SELECT id, naslov
if (!$sql) 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']); echo mysqli_error($GLOBALS['connect_db']);
} }
while ($row = mysqli_fetch_array($sql)) {
if (strpos($cookie, '-'.$row['id'].'-')=== false && $parent!=0)
$hidden = true;
else
$hidden = false;
// Loop po vseh mapah znotraj parenta
while ($row = mysqli_fetch_array($sql)) {
echo ' <li id="li'.$row['id'].'" eid="'.$row['id'].'" class="folder" name="folder">'; echo ' <li id="li'.$row['id'].'" eid="'.$row['id'].'" class="folder" name="folder">';
@ -391,22 +298,61 @@ class LibraryBranching {
echo ' </li>'."\n"; echo ' </li>'."\n";
} }
if ($parent == 0) {
echo '</ul>'."\n";
}
if ( $parent == 0 ) {
?>
<script type="text/javascript">
$(function() {
library();
});
</script>
<?php
}
} }
private function displayFolderItem($id, $title, $child_count, $active=false) {
global $lang;
echo '<div class="folder_item '.($active ? 'active' : '').'" onClick="toggleLibraryFolder(\''.$id.'\');">';
// Ikoni puscice in mape
echo ' <span class="faicon folder_arrow_icon"></span>';
echo ' <span class="faicon folder_icon"></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>';
// Tri pikice za prikaz urejanja folderja
echo ' <span class="faicon dots_ver"></span>';
// Skrit div za urejanje folderja
echo ' <div class="folder_item_settings">';
echo ' Test';
echo ' </div>';
echo '</div>';
}
/**
* Popup pri dodajanju itema v knjiznico - potrditev, izbira folderja, urejanje naslova
*
* type
* - 0->anketa
* - 1->vprasanja
* - 2->if/blok
*/
public function displayAddIntoLibrary($id, $type){
global $lang;
// Naslov v oknu
echo '<h2>'.$lang[''].'</h2>';
// Vsebina
echo '<div class="content">';
echo 'Dodajanje...';
echo '</div>';
}
/** /**
* @desc prikaze ife / bloke v knjiznici * @desc prikaze ife / bloke v knjiznici
*/ */

View File

@ -16851,8 +16851,10 @@ iframe#ifmcontentstoprint {
color: #1E88E5; color: #1E88E5;
} }
#srv_analiza_preview_div .srv_analiza_preview_sub .content { #srv_analiza_preview_div .srv_analiza_preview_sub .content {
overflow: hidden; width: 100%;
width: auto; }
#srv_analiza_preview_div .srv_analiza_preview_sub .content img {
width: 100%;
} }
.analysis_icons_holder { .analysis_icons_holder {

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -652,6 +652,13 @@ span.faicon.dots::before{
font-weight: 600; font-weight: 600;
} }
// 3 pikice - navpicne
span.faicon.dots_ver:before{
content: "\f142";
font-size: 16px;
font-weight: 600;
}
// Open (new tab) // Open (new tab)
span.faicon.open_icon::before{ span.faicon.open_icon::before{
content: "\f35d"; content: "\f35d";

View File

@ -46,8 +46,11 @@
} }
.content{ .content{
overflow: hidden; width: 100%;
width: auto;
img{
width: 100%;
}
} }
} }
} }