Urejen layout glede na navigacijo (wide, fullwidth, narrow in ce imamo meni ali ne) - dodano nastavljanje v CrossRoad class

This commit is contained in:
pero1203 2021-12-23 11:14:06 +01:00
parent 0d8ddf5f46
commit f6fd572cd5
5 changed files with 1638 additions and 1415 deletions

View File

@ -110,6 +110,14 @@ class SurveyAdmin
var $full_screen_edit = false; # ali ima uporabnik nastavljeno da ureja vprašanja v fullscreen načinu
var $isAnketar = false; # Ali je uporabnik anketar ankete privzeto je ne
var $first_action = ''; // Prvi nivo navigacije kjer se nahajamo
var $second_action = ''; // Drugi nivo navigacije kjer se nahajamo
var $third_action = ''; // Tretji nivo navigacije kjer se nahajamo
var $layout_width = ''; // Layout strani kjer se nahajamo - "fullwidth", "wide" ali "narrow"
var $layout_menu = ''; // Layout strani kjer se nahajamo - "menu_lef" (prisoten levi meni)
/**
* @desc konstruktor
*/
@ -266,6 +274,17 @@ class SurveyAdmin
global $site_domain;
// prvi in drugi nivo (tretji samo za mobilno navigacijo)
$navigationArray = CrossRoad::MainNavigation($this->anketa, true);
$this->first_action = $navigationArray['first_action'];
$this->second_action = $navigationArray['second_action'];
$this->third_action = $navigationArray['third_action'];
// Layout strani
$this->layout_width = $navigationArray['layout_width'];
$this->layout_menu = $navigationArray['layout_menu'];
echo '<div id="main_holder">';
@ -325,7 +344,7 @@ class SurveyAdmin
echo '</div>';
echo '<div id="anketa_edit" class="page_'.$_GET['a'].' subpage_'.$_GET['m'].' '.($this->survey_type == '1' ? 'forma' : '').' '.($this->survey_type == '0' ? 'glasovanje' : '').' menu_left wide">'; //@TGy
echo '<div id="anketa_edit" class="page_'.$_GET['a'].' subpage_'.$_GET['m'].' '.($this->survey_type == '1' ? 'forma' : '').' '.($this->survey_type == '0' ? 'glasovanje' : '').' '.$this->layout_width.' '.$this->layout_menu.'">';
$this->displayAnketa();
echo '</div>';
@ -855,14 +874,6 @@ class SurveyAdmin
$modules = SurveyInfo::getSurveyModules();
# vse tri nivoje akcij pohendlamo tukaj, da bo lažje ob kakih spremnjanjih
# prvi in drugi nivo (tretji samo za mobilno navigacijo)
$navigationArray = CrossRoad::MainNavigation($this->anketa, true);
$this->first_action = $navigationArray['first_action'];
$this->second_action = $navigationArray['second_action'];
$this->third_action = $navigationArray['third_action'];
$css_status = 'off';
$css_urejanje = 'off';
@ -2068,25 +2079,41 @@ class SurveyAdmin
private function displayAnketa(){
global $global_user_id;
// Prikazemo meni na levi po potrebi glede na podstran
echo '<div class="layout_left_item">';
$this->displayLeftMenu();
echo '</div>';
// Imamo levi meni
if($this->layout_menu == 'menu_left'){
// Preverimo, ce je funkcionalnost v paketu, ki ga ima uporabnik
$userAccess = UserAccess::getInstance($global_user_id);
if(!$userAccess->checkUserAccess()){
// Prikazemo meni na levi po potrebi glede na podstran
echo '<div class="layout_left_item">';
$this->displayLeftMenu();
echo '</div>';
// Preverimo, ce je funkcionalnost v paketu, ki ga ima uporabnik
$userAccess = UserAccess::getInstance($global_user_id);
if(!$userAccess->checkUserAccess()){
$userAccess->displayNoAccess();
return;
$userAccess->displayNoAccess();
return;
}
// Prikazemo glavni del urejanja ankete
echo '<div class="layout_right_item">';
$this->displayAnketaMain();
echo '</div>';
}
// Ni levega menija
else{
// Preverimo, ce je funkcionalnost v paketu, ki ga ima uporabnik
$userAccess = UserAccess::getInstance($global_user_id);
if(!$userAccess->checkUserAccess()){
// Prikazemo glavni del urejanja ankete
echo '<div class="layout_right_item">';
$this->displayAnketaMain();
echo '</div>';
$userAccess->displayNoAccess();
return;
}
// Prikazemo glavni del urejanja ankete
$this->displayAnketaMain();
}
}
// Prikazemo glavni del urejanja ankete
@ -3406,13 +3433,12 @@ class SurveyAdmin
}
/**
* prikaze seznam anket in polje za dodajanje na prvi strani
* prikaze admin vmesnik izven specificne ankete (seznam anket in polje za dodajanje na prvi strani, nastavitve uporabnika, uporabnike...)
*
*/
private function displaySeznamAnket(){
global $lang, $site_url, $global_user_id, $admin_type, $site_domain;
# naložimo razred z seznamom anket
$SL = new SurveyList();
$SLCount = $SL->countSurveys();
@ -3420,7 +3446,7 @@ class SurveyAdmin
// VSEBINA POSAMEZNEGA TABA PRI MOJIH ANKETAH
echo '<div id="moje_ankete_edit" class="page_'.$_GET['a'].' subpage_'.$_GET['t'].' '.(isset($_GET['b']) ? 'subpage_b_'.$_GET['b'] : '').' '.($SLCount == 0 ? 'page_ustvari_anketo' : '').'">';
echo '<div id="moje_ankete_edit" class="page_'.$_GET['a'].' subpage_'.$_GET['t'].' '.(isset($_GET['b']) ? 'subpage_b_'.$_GET['b'] : '').' '.($SLCount == 0 ? 'page_ustvari_anketo' : '').' '.$this->layout_width.' '.$this->layout_menu.'">';
// izpis pregledovanja
if ((!isset($_GET['a']) && !isset($_GET['anketa'])) || ($_GET['a'] == 'pregledovanje')) {

View File

@ -25,7 +25,6 @@ class MobileSurveyAdmin{
$this->first_action = $navigationArray['first_action'];
$this->second_action = $navigationArray['second_action'];
$this->third_action = $navigationArray['third_action'];
}
// Izris glave z menijem - znotraj ankete

View File

@ -13,26 +13,49 @@
*/
class CrossRoad {
static function MainNavigation($anketa=null){
// Status za tracking sprememb
$status = -1;
// Lokacija v navigaciji
$first_action = '';
$second_action = '';
$third_action = '';
// Layout strani glede na to kje se nahajamo (imamo levi meni in sirina holderja)
$layout_menu = '';
$layout_width = '';
# ajaxa se poslje skupaj z ajaxom, da ob updatu vemo kaksen 'a' je bil na originalni strani
# (drugace se ob updatu z ajaxom informacija o 'a'ju zgubi)
$get = $_GET['a'];
if (isset ($_GET['ajaxa']))
$get = $_GET['ajaxa'];
if (trim($get) == '') {
if (trim($get) == '')
$get = A_BRANCHING;
}
//smo vezani na anketo
if($anketa != null && $anketa > 0){
switch ($get) {
# status
# STATUS
case A_REPORTI:
$first_action = NAVI_STATUS;
$second_action = NAVI_STATUS_OSNOVNI;
$layout_width = 'wide';
$status = 3;
break;
case A_NONRESPONSE_GRAPH:
case A_USABLE_RESP:
case A_KAKOVOST_RESP:
@ -48,17 +71,28 @@ class CrossRoad {
case A_STATUS_ADVANCED:
$first_action = NAVI_STATUS;
$second_action = NAVI_STATUS_OSNOVNI;
$layout_width = 'wide';
$status = 4;
break;
# urejanje
# UREJANJE ANKETE
case A_BRANCHING:
case A_GLASOVANJE:
$first_action = NAVI_UREJANJE;
$second_action = NAVI_UREJANJE_BRANCHING;
$layout_width = 'fullwidth';
$status = 0;
break;
# TESTIRANJE
case A_TESTIRANJE:
$first_action = NAVI_TESTIRANJE;
$second_action = M_TESTIRANJE_DIAGNOSTIKA;
@ -71,20 +105,30 @@ class CrossRoad {
if ($_GET['m'] == M_TESTIRANJE_CAS) {
$second_action = NAVI_TESTIRANJE_CAS;
}
$layout_width = 'wide';
$status = 4;
break;
# NASTAVITVE ANKETE
case A_KOMENTARJI:
case A_KOMENTARJI_ANKETA:
$first_action = NAVI_TESTIRANJE;
$second_action = NAVI_TESTIRANJE_KOMENTARJI;
$status = 0;
break;
$layout_width = 'wide';
$layout_menu = 'menu_left';
$status = 0;
break;
case A_SETTINGS:
case A_OSNOVNI_PODATKI:
case A_FORMA:
case A_COOKIE:
case A_TRAJANJE:
case A_DOSTOP:
@ -99,7 +143,12 @@ class CrossRoad {
case A_GDPR:
$first_action = NAVI_UREJANJE;
$second_action = NAVI_UREJANJE_ANKETA;
$layout_width = 'wide';
$layout_menu = 'menu_left';
$status = 0;
break;
case A_TEMA: # nastavitve prevajanje
@ -107,30 +156,54 @@ class CrossRoad {
case 'edit_css': # nastavitve prevajanje
$first_action = NAVI_UREJANJE;
$second_action = NAVI_UREJANJE_TEMA;
$layout_width = 'wide';
$status = 0;
break;
case A_HIERARHIJA:
$first_action = NAVI_HIERARHIJA;
$layout_width = 'wide';
$layout_menu = 'menu_left';
break;
case A_PREVAJANJE: # nastavitve prevajanje
$first_action = NAVI_UREJANJE;
$second_action = NAVI_UREJANJE_PREVAJANJE;
$layout_width = 'fullwidth';
$status = 0;
break;
case A_ALERT:
$first_action = NAVI_UREJANJE;
$second_action = NAVI_UREJANJE_ANKETA;
$layout_width = 'wide';
$layout_menu = 'menu_left';
$status = 0;
break;
case A_NAGOVORI:
$first_action = NAVI_UREJANJE;
$layout_width = 'wide';
$layout_menu = 'menu_left';
$status = 0;
break;
# ARHIVI
case A_ARHIVI:
$first_action = ($_GET['m'] == 'data') ? NAVI_RESULTS : NAVI_UREJANJE;
$second_action = NAVI_ARHIVI;
@ -142,7 +215,11 @@ class CrossRoad {
elseif($_GET['m'] != 'data')
$third_action = NAVI_UREJANJE_ARHIVI;
$layout_width = 'wide';
$layout_menu = 'menu_left';
$status = 0;
break;
case A_TRACKING:
@ -156,29 +233,47 @@ class CrossRoad {
else
$third_action = NAVI_UREJANJE_ARHIVI_TRACKING1;
$layout_width = 'wide';
$layout_menu = 'menu_left';
$status = 0;
break;
# objave, vabila
# OBJAVA, VABILA
case A_VABILA:
$first_action = NAVI_OBJAVA;
$_GET['m'] == 'settings' ? $second_action = NAVI_OBJAVA_SETTINGS : ($_GET['m'] == 'url' ? $second_action = NAVI_OBJAVA_URL : $second_action = '');
$layout_width = 'wide';
$status = 5;
break;
case A_EMAIL:
$first_action = NAVI_OBJAVA;
$second_action = NAVI_OBJAVA;
$layout_width = 'wide';
$status = 5;
break;
case 'invitations':
$first_action = NAVI_OBJAVA;
$second_action = ($_GET['m'] == 'view_archive') ? NAVI_ARHIVI : 'invitations';
$layout_width = 'wide';
$status = 5;
break;
# analize, podatki
# ANALIZE, PODATKI
case A_ANALYSIS:
$first_action = NAVI_ANALYSIS;
@ -214,45 +309,69 @@ class CrossRoad {
elseif ($_GET['m'] == 'break') {
$third_action = NAVI_STATISTIC_ANALYSIS_BREAK;
}
$layout_width = 'wide';
$status = 2;
break;
case A_COLLECT_DATA:
$first_action = NAVI_RESULTS;
$second_action = NAVI_DATA;
$layout_width = 'fullwidth';
if ($_GET['m'] == M_COLLECT_DATA_CALCULATION) {
$second_action = NAVI_DATA_CALC;
$third_action = NAVI_DATA_CALC_CALCULATION;
$layout_width = 'wide';
$layout_menu = 'menu_left';
}
elseif($_GET['m'] == M_COLLECT_DATA_CODING){
$second_action = NAVI_DATA_CALC;
$third_action = NAVI_DATA_CALC_CODING;
$layout_width = 'wide';
$layout_menu = 'menu_left';
}
elseif($_GET['m'] == M_COLLECT_DATA_CODING_AUTO){
$second_action = NAVI_DATA_CALC;
$third_action = NAVI_DATA_CALC_CODING_AUTO;
$layout_width = 'wide';
$layout_menu = 'menu_left';
}
elseif($_GET['m'] == M_COLLECT_DATA_RECODING){
$second_action = NAVI_DATA_CALC;
$third_action = NAVI_DATA_CALC_RECODING;
$layout_width = 'wide';
$layout_menu = 'menu_left';
}
elseif($_GET['m'] == M_COLLECT_DATA_APPEND){
$second_action = NAVI_DATA_IMPORT;
$third_action = NAVI_DATA_IMPORT_APPEND;
$layout_width = 'wide';
$layout_menu = 'menu_left';
}
elseif($_GET['m'] == M_COLLECT_DATA_MERGE){
$second_action = NAVI_DATA_IMPORT;
$third_action = NAVI_DATA_IMPORT_MERGE;
$layout_width = 'wide';
$layout_menu = 'menu_left';
}
$status = 4;
break;
#izvozi
# IZVOZI
case A_COLLECT_DATA_EXPORT:
$first_action = NAVI_RESULTS;
$second_action = NAVI_DATA_EXPORT;
@ -273,6 +392,9 @@ class CrossRoad {
$third_action = NAVI_DATA_EXPORT_SPSS;
}
$layout_width = 'wide';
$layout_menu = 'menu_left';
$status = 4;
if ($_GET['m'] == A_COLLECT_DATA_EXPORT_ALL) {
@ -285,7 +407,8 @@ class CrossRoad {
break;
# dodatne nastavitve
# DODATNE NASTAVITVE
case A_ADVANCED:
case A_UPORABNOST:
case A_HIERARHIJA_SUPERADMIN:
@ -315,7 +438,12 @@ class CrossRoad {
case 'fieldwork':
$first_action = NAVI_UREJANJE;
$second_action = NAVI_UREJANJE_ANKETA;
$layout_width = 'wide';
$layout_menu = 'menu_left';
$status = 0;
break;
case A_TELEPHONE:
@ -323,35 +451,118 @@ class CrossRoad {
case T_PHONE:
$first_action = NAVI_UREJANJE;
$second_action = NAVI_UREJANJE_ANKETA;
$layout_width = 'wide';
$layout_menu = 'menu_left';
$status = 5;
break;
case A_LANGUAGE_TECHNOLOGY:
$first_action = NAVI_TESTIRANJE;
$second_action = NAVI_TESTIRANJE_LANGUAGE_TECHNOLOGY;
$layout_width = 'wide';
$layout_menu = 'menu_left';
$status = 4;
break;
case A_LANGUAGE_TECHNOLOGY_OLD:
$first_action = NAVI_TESTIRANJE;
$second_action = NAVI_TESTIRANJE_LANGUAGE_TECHNOLOGY_OLD;
$layout_width = 'wide';
$layout_menu = 'menu_left';
$status = 4;
break;
default:
break;
}
//shrani tracking
// shrani tracking za anketo
TrackingClass::update($anketa, $status);
//vrni podatke o navigaciji nazaj v SurveyAdmin
return array('first_action' => $first_action, 'second_action' => $second_action, 'third_action' => $third_action);
}
//nismo vezani na anketo, tracking uporabnika
// Nismo vezani na anketo, tracking uporabnika
else{
switch ($get) {
# AKTIVNOST in UPORABNIKI
case 'diagnostics':
// Uporabniki
if($_GET['t'] == 'uporabniki'){
$layout_width = 'wide';
}
// Ativnost
else{
$layout_width = 'wide';
}
break;
# KNJIZNICA
case 'knjiznica':
$layout_width = 'wide';
break;
# NASTAVITVE
case 'nastavitve':
$layout_width = 'wide';
break;
# OBVESTILA
case 'obvestila':
$layout_width = 'wide';
break;
# GDOR
case 'gdpr':
$layout_width = 'wide';
break;
# MODUL UL EVALVACIJE
case 'ul_evalvation':
$layout_width = 'wide';
break;
# MOJE ANKETE
case 'pregledovanje':
default:
$layout_width = 'fullwidth';
break;
}
// shrani tracking za userja
TrackingClass::update_user();
}
// vrni podatke o navigaciji nazaj v SurveyAdmin
return array(
'first_action' => $first_action,
'second_action' => $second_action,
'third_action' => $third_action,
'layout_width' => $layout_width,
'layout_menu' => $layout_menu,
);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -55,13 +55,6 @@ body{
flex-grow: 1;
}
}
#moje_ankete_edit {
display: flex;
flex-direction: column;
margin: 0 auto;
max-width: 1060px;
}
}
footer{