From 75160b12821f7f4299cce7f0b69c83c1502ae071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anton=20Luka=20=C5=A0ijanec?= Date: Mon, 27 May 2024 13:08:29 +0200 Subject: 2024-02-19 upstream --- admin/survey/SurveyAdminSettings.php | 9305 ++++++++++++++++++---------------- 1 file changed, 4917 insertions(+), 4388 deletions(-) (limited to 'admin/survey/SurveyAdminSettings.php') diff --git a/admin/survey/SurveyAdminSettings.php b/admin/survey/SurveyAdminSettings.php index 259ffb5..4a1918b 100644 --- a/admin/survey/SurveyAdminSettings.php +++ b/admin/survey/SurveyAdminSettings.php @@ -49,8 +49,9 @@ class SurveyAdminSettings { $this->skin = 0; if ((isset ($_REQUEST['anketa']) && $_REQUEST['anketa'] > 0) || (isset ($anketa) && $anketa > 0)) { - $this->anketa = (isset ($_REQUEST['anketa']) && $_REQUEST['anketa'] > 0) ? $_REQUEST['anketa'] : $anketa; - } else { + $this->anketa = (isset ($anketa) && $anketa > 0) ? $anketa : $_REQUEST['anketa']; + } + else { // nekje se uporablja tudi brez IDja ankete!!! //die("SAS: SID missing!"); } @@ -58,12 +59,11 @@ class SurveyAdminSettings { SurveyInfo::getInstance()->SurveyInit($this->anketa); SurveyInfo::getInstance()->resetSurveyData(); - if (SurveyInfo::getInstance()->getSurveyColumn('db_table') == 1) - $this->db_table = '_active'; + $this->db_table = SurveyInfo::getInstance()->getSurveyArchiveDBString(); $this->survey_type = $this->getSurvey_type($this->anketa); - $this->stran = $_GET['a']; + $this->stran = isset($_GET['a']) ? $_GET['a'] : null; } @@ -88,6 +88,9 @@ class SurveyAdminSettings { /* Globalne nastavitve ankete: veljajo za celoto anketo ne glede na uporabnika*/ $row = SurveyInfo::getInstance()->getSurveyRow(); + $preklici_url = ltrim(str_replace("&s=1","",$_SERVER['REQUEST_URI']),"/"); + $preklici_url = "'". $site_url . $preklici_url . "'"; + echo '
' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n\r"; @@ -101,14 +104,30 @@ class SurveyAdminSettings { echo '
'; echo '' . $lang['srv_osnovniPodatki'] . ''; - echo '' . $lang['srv_novaanketa_polnoime'] . ': '; - echo ' ' . strlen($row['naslov']) . '/'.ANKETA_NASLOV_MAXLENGTH.'
' . "\n\r"; - echo '' . $lang['srv_novaanketa_kratkoime'] . ': '; - echo ' ' . strlen($row['akronim']) . '/'.ANKETA_AKRONIM_MAXLENGTH.'
' . "\n\r"; - echo '' . $lang['srv_note'] . ': '; - echo ' ' . strlen($row['intro_opomba']) . '/'.ANKETA_NOTE_MAXLENGTH.'
' . "\n\r"; - echo '
'; - + echo '
'; + echo ''; + echo ' '; + echo ' ' . strlen($row['naslov']) . '/'.ANKETA_NASLOV_MAXLENGTH.''; + echo '
'; + + echo '
'; + echo ' '; + echo ' '; + echo ' ' . strlen($row['akronim']) . '/'.ANKETA_AKRONIM_MAXLENGTH.''; + echo '
'; + + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + + echo '
'; + echo ' '; + echo ' '; + echo ' ' . strlen($row['intro_opomba']) . '/'.ANKETA_NOTE_MAXLENGTH.''; + echo '
'; + // Ce ima uporabnik mape, lahko izbere v katero mapo se anketa uvrsti UserSetting::getInstance()->Init($global_user_id); $show_folders = UserSetting::getInstance()->getUserSetting('survey_list_folders'); @@ -122,24 +141,30 @@ class SurveyAdminSettings { $sqlF = sisplet_query("SELECT id, naslov FROM srv_mysurvey_folder WHERE usr_id='".$global_user_id."' ORDER BY naslov ASC"); if($show_folders == 1 && mysqli_num_rows($sqlF) > 0){ - echo '' . $lang['srv_newSurvey_survey_new_folder'] . ':'; - - echo ''; + echo ''; + echo ' '; + echo ''; + + echo '
'; + echo ''; + echo ''; - echo '
'; + + echo '
'; } - echo '
'; - - echo '
'; + echo ''; /* JEZIK */ echo '
'; - echo '' . $lang['lang'] . ''; + echo '' . $lang['lang'] . Help::display('srv_nastavitve_jezik').''; $lang_admin = $row['lang_admin']; $lang_resp = $row['lang_resp']; @@ -165,53 +190,62 @@ class SurveyAdminSettings { $file = '../../lang/'.$lang_admin.'.php'; @include($file); } - - echo ''.$lang['srv_language_admin_survey'].':'; + + echo '
'; + echo ''.$lang['srv_language_admin_survey'].':'; + ksort($lang_array); foreach ($lang_array AS $key => $val) { - if ($key == 1 || $key == 2) { - echo ''; - echo ' '; + if ($key == 1 || $key == 2) { + echo '
'; + echo ''; + echo ''; + echo '
'; } } - echo '
'; + echo '
'; + + echo '
'; + echo '
'; + echo ''; + - echo ''.$lang['srv_language_respons_1'].':'; asort($lang_array); - echo ' '; foreach ($lang_array AS $key => $val) { echo ''; } - echo ''; - - echo '

'; - - echo ''.$lang['srv_language_link2'].':'; + echo ''; + echo '
'; - // Preverimo, ce je funkcionalnost v paketu, ki ga ima uporabnik + + // Preverimo, ce je funkcionalnost v paketu, ki ga ima uporabnik $userAccess = UserAccess::getInstance($global_user_id); if($userAccess->checkUserAccess($what='prevajanje')){ - echo ' '.$lang['srv_language_link'].''; - } - else{ - echo ' '.$lang['srv_language_link'].''; + + $lang_link = 'window.location.href=\'index.php?anketa='.$this->anketa.'&a=prevajanje\'; return false;'; + $color = 'white-black'; } + else{ + $lang_link = 'popupUserAccess(\'prevajanje\'); return false;'; + $color = 'yellow user_access_locked'; + } - - - echo '
'.$lang['srv_language_mySurveys'].'
'; - + echo '
'; + echo ''; + echo '
'; + + + echo '
'; + echo '
'; - - echo '
'; // Gumb shrani - vmes - echo ''; - echo '
'; - - echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; /* INTERAKTIVNI ELEMENTI */ @@ -231,210 +265,254 @@ class SurveyAdminSettings { $multiple_pages = true; - // Indikator napredka - //echo '
'; - echo ''.$lang['srv_te_progressbar'].' '.Help::display('srv_show_progressbar').':'; - echo ' '; - echo ' '; + // Indikator napredka + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; // Naslov ankete za uporabnike - echo '
'; - echo ''.$lang['srv_show_title'].':'; - echo ' '; - echo ' '; - - // Politika zasebnosti - echo '
'; - echo ''; - echo '' . "\n\r"; - echo '' . "\n\r"; - echo '' . "\n\r"; - + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + // Nadaljuj kasneje - if($this->survey_type > 1){ - echo '
'; - echo ''; - echo '' . "\n\r"; - echo '' . "\n\r"; + if($this->survey_type > 1 && !SurveyInfo::getInstance()->checkSurveyModule('panel')){ + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; } - + // Gumb nazaj - echo '
'; - echo ''.$lang['srv_slideshow_sett_back_button_lbl'].':'; - echo ' '; - echo ' '; - - echo '

'; - + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + // Namig - echo ''; - echo '' . "\n\r"; - echo '' . "\n\r"; + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + + /* KNJIZNICA */ + $sqlk = sisplet_query("SELECT * FROM srv_library_anketa WHERE ank_id='$this->anketa' AND uid='$global_user_id'"); + $moje = mysqli_num_rows($sqlk); + $sqlk = sisplet_query("SELECT * FROM srv_library_anketa WHERE ank_id='$this->anketa' AND uid='0'"); + $javne = mysqli_num_rows($sqlk); - //belezenje reminderjev - /*echo '
'; - echo '' . "\n\r"; - echo '' . "\n\r";*/ + if ($admin_type == 0 || $admin_type == 1) { + + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + } - echo '
'; + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + + ?> + + '.$lang['srv_opozorilo_vprasanja'].':  - '.$lang['srv_soft_reminder_all'].', - '.$lang['srv_hard_reminder_all'].', - '.$lang['srv_no_reminder_all'].''; - - echo '

'; - - // Napredni parapodatki - if (($admin_type == 0 || $admin_type == 1) && $this->survey_type > 0) { - echo ''; - echo '' . "\n\r"; - echo '' . "\n\r"; - - echo '(Download: '; - // Download tracking podatke - echo 'Editor data, '; - // Download parapodatke - echo 'Respondent data, '; - // Download vprasanja v anketi (srv_spremenljivka) - echo 'Survey questions, '; - // Download variable v vprasanjih (srv_vrednost) - echo 'Question items'; - echo ') '.Help::display('srv_parapodatki'); - } + // Politika zasebnosti + echo '
'; + echo '' .$lang['srv_privacy'] .' '.Help::display('srv_privacy_setting').':'; - echo '
'; - - // Arhiviranje vprasanj - samo admini in managerji - if ($admin_type == 0 || $admin_type == 1) { - echo ''.$lang['srv_vprasanje_tracking'].' '.Help::display('srv_vprasanje_tracking_setting').':'; - echo ''; - //echo ''; - //echo ''; - echo ''; - echo ''; - } + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + + echo '
'; + + + // Oozorilo na vprašanja + echo '
'; + echo ''.$lang['srv_opozorilo_vprasanja'].Help::display('srv_splosnenas_opozorilo').':'; + echo '
'; + echo ''.$lang['srv_no_reminder_all'].''; + echo '
'; + echo '
'; + echo ' '.$lang['srv_soft_reminder_all'].''; + echo '
'; + echo '
'; + echo ''.$lang['srv_hard_reminder_all'].''; + echo '
'; + + echo '
'; echo ''; + /* ZAKLJUCEK (samo pri formi) */ if($row['survey_type'] == 1){ - echo '
'; + echo '
'; + echo ''.$lang['srv_end_label'].''; if ($row['url'] != '') $url = $row['url']; else $url = $site_url; - - echo ''; - echo ''.$lang['srv_concl_link_close'].' '.$lang['srv_concl_link_go']; - echo ''; + + echo '
'; + + echo ''; + + echo '
'; + echo ' '; + echo ' '; + echo '
'; + echo '
'; + echo ' '; + echo ' '; + echo '
'; + echo ''; + + echo '
'; + // Prikaz zakljucka - echo '
'; - echo ''; - echo ''.$lang['no1']; - echo ''.$lang['yes']; - - echo '
'; } - echo '
'; - - /* KNJIZNICA */ - $sqlk = sisplet_query("SELECT * FROM srv_library_anketa WHERE ank_id='$this->anketa' AND uid='$global_user_id'"); - $moje = mysqli_num_rows($sqlk); - $sqlk = sisplet_query("SELECT * FROM srv_library_anketa WHERE ank_id='$this->anketa' AND uid='0'"); - $javne = mysqli_num_rows($sqlk); - - echo '
'; - echo ''.$lang['srv_library'].''; - if ($admin_type == 0 || $admin_type == 1) { - echo ' '; - echo '
'; - } - - echo '
'; - echo ' '; - echo '
'; - - // zamakni - echo '
'; - echo ''; - if ($row['flat'] == 0) - echo ' '.$lang['srv_flat_0_short'].' '; - else - echo ' '.$lang['srv_flat_0_short'].' '; - echo Help::display('srv_branching_flat'); - - // odpri - if ($row['popup'] == 1) - echo ' '.$lang['srv_popup_1_short'].' '; - else - echo ' '.$lang['srv_popup_1_short'].' '; - echo Help::display('srv_branching_popup'); - - echo '
'; - - ?> - - '; echo '
'; echo '' . $lang['srv_nastavitveStevilcenje'] . ''; - echo ''; - echo '' . "\n\r"; - echo '' . "\n\r"; - echo '' . "\n\r"; - echo '' . "\n\r"; - - echo '
'; - // Izklop prestevilcevanja $enumerate = SurveySetting::getInstance()->getSurveyMiscSetting('enumerate'); if ($enumerate == '') $enumerate = 1; - echo ''; - echo ' '; - echo ' '; + + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + + //način številčenja + + echo '
'; + echo ''; + + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + + echo '
'; echo '
'; - echo '
'; - /* JS TRACKING */ if ($admin_type == 0 || $admin_type == 1) { echo '
'.$lang['srv_js_tracking'].''; - //echo '' . $lang['srv_nastavitveStevilcenje'] . ''; - echo '

'; - echo '

'.$lang['js_tracking_note'].'

'; + echo '
'; + echo ''.$lang['js_tracking_note'].''; + echo ''; + echo '
'; + echo '
'; } } @@ -445,28 +523,56 @@ class SurveyAdminSettings { echo '
'; echo '' . $lang['srv_data_valid_units_settings'] . ''; - echo '

'; - echo ''.$lang['srv_prikaz_default_valid'].''; - echo ''; - echo ''; - echo '

'; + echo '
'; + echo ''.$lang['srv_prikaz_default_valid'].''; + + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + + echo '
'; // Pri volitvah ne moremo prikazati datuma respondenta - if(!SurveyInfo::getInstance()->checkSurveyModule('voting')){ - echo '

'; - echo ''.$lang['srv_prikaz_showItime'].''; - echo ''; - echo ''; - echo '

'; + /*if(!SurveyInfo::getInstance()->checkSurveyModule('voting')){ + + echo '
'; + echo ''.$lang['srv_prikaz_showItime'].''; + + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + + echo '
'; } - echo '

'; - echo ''.$lang['srv_prikaz_showLineNumber'].''; - echo ''; - echo ''; - echo '

'; + echo '
'; + echo ''.$lang['srv_prikaz_showLineNumber'].''; + + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + + echo '
';*/ echo '
'; + + echo '
'; + } /*Piskotek*/ @@ -475,9 +581,9 @@ class SurveyAdminSettings { // Pri volitvah ne moremo popravljati nastavitev piskotka if(SurveyInfo::getInstance()->checkSurveyModule('voting')){ - echo '
'; + echo '
'; echo '' . $lang['srv_cookie'] . ''; - echo ''.$lang['srv_voting_no_cookie'].''; + echo ''.$lang['srv_voting_no_cookie'].''; echo '
'; echo ''; @@ -485,114 +591,186 @@ class SurveyAdminSettings { return; } - echo '
'; - - echo ''; - - echo '' . $lang['srv_cookie'] . ''; - - // Shrani piskotek za X casa - echo ''; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; - echo '
'; - - // Ko se uporabnik vrne (zacne od zacetka/nadaljuje kjer je ostal) - echo ''; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; - echo '
'; - - // Ce je zakljucil lahko naknadno ureja svoje odgovore - echo '' . "\n\r"; - echo '
'; - - // Nikoli ne more popravljati svojih odgovorov (tudi ce se npr. vrne na prejsnjo stran) - echo '
'; - echo ' ' . "\n\r"; - echo '
' . "\n\r"; - echo '
'; - - // Ce ni sprejel piskotka lahko/ne more nadaljevati - echo '' . "\n\r"; - echo '
'; - - echo '
'; - - // Prepoznaj respondenta - echo ''; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; - echo '
'; - - // Ob izpolnjevanju prikazi email - echo '
'; - echo '  '; - echo ' ' . "\n\r"; - echo '
'; - - echo '
'; - - // Masovno vnasanje - modul Vnos - echo '
'.$lang['srv_vrsta_survey_type_5'].''; + echo '
'; - echo '

'.$lang['srv_vnos_navodila'].'

'; + echo '' . $lang['settings'] . ''; - echo ' '; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; + // Piskotkov nimamo, ce imamo vklopljen modul panel + if(!SurveyInfo::getInstance()->checkSurveyModule('panel')){ + + echo ''; + + + // Shrani piskotek za X casa + echo '
'; - - // For modul maza, show all cookie settings - $isMaza = (SurveyInfo::checkSurveyModule('maza')) ? 1 : 0; - - ?> '."\n"; - - echo '
'; - - echo ''; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; - echo '

'.$lang['srv_block_ip_warning'].''; - echo '
'; + echo '
'; + echo '' . $lang['srv_block_ip'] . Help :: display('srv_block_ip') . ':'; + + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + + echo '
'; + echo '

'.$lang['srv_block_ip_warning'].'

'; - echo '
'; - + echo '
'; // Preverimo, ce je funkcionalnost v paketu, ki ga ima uporabnik global $global_user_id; @@ -661,7 +856,7 @@ class SurveyAdminSettings { } else{ - echo '
'; + echo '
'; $ss = new SurveySkupine($this->anketa); $spr_id = $ss->hasSkupine(2); @@ -682,19 +877,42 @@ class SurveyAdminSettings { echo ''; // dodajanje gesel za anketo - if($spr_id > 0){ - $vrednosti = $ss->getVrednosti($spr_id); - if($vrednosti != 0){ - foreach($vrednosti as $vrednost){ - echo '

'; - echo ''.$vrednost['naslov'].''; - echo '

'; - } - } - } - echo '

'; - - echo ''.$lang['srv_password_add_mass'].''; + + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + + echo '
'; + + echo ''; + + echo ''; + echo ''; + echo ''; + echo ''; + + if($spr_id > 0){ + $vrednosti = $ss->getVrednosti($spr_id); + if($vrednosti != 0){ + foreach($vrednosti as $vrednost){ + echo ''; + echo ''; + echo ''; + echo ''; + } + } + } + + echo '
'.$lang['password'].'
'.$vrednost['naslov'].'
'; + echo '
'; + + + echo ''; echo '
'; } @@ -721,18 +939,10 @@ class SurveyAdminSettings { echo ''.$lang['back'] . ''; } } - echo ''; - echo $lang['edit1337'] . ''; - - /* - $http_referer = parse_url($_SERVER['HTTP_REFERER']); //If yes, parse referrer - $referer_url = $http_referer['query']; - if (preg_match('/anketa='.$this->anketa.'&a'.A_VABILA.'/', $referer_url)) { - echo ''; - echo '
'; - } - */ + echo '
'; + echo ''; + echo ''; + echo '
'; } /*Respondenti*/ @@ -744,11 +954,13 @@ class SurveyAdminSettings { /*Komentarji*/ if ($_GET['a'] == 'urejanje') { + // tukaj bom dodal še kontrolo na Avtorja ankete, tako da avtor lahko vedno spreminja urejanje (gorazd,1.9.2009) $stringDostopAvtor = "SELECT count(*) as isAvtor FROM srv_dostop WHERE ank_id = '" . $this->anketa . "' AND uid='" . $global_user_id . "'"; $sqlDostopAvtor = sisplet_query($stringDostopAvtor); $rowDostopAvtor = mysqli_fetch_assoc($sqlDostopAvtor); - if ($admin_type == 0 || $rowDostopAvtor['isAvtor']) { + + if ($admin_type == 0 || $rowDostopAvtor['isAvtor'] || isDemoSurvey($this->anketa)) { SurveySetting::getInstance()->Init($this->anketa); @@ -796,7 +1008,17 @@ class SurveyAdminSettings { $preview_disable_test_insert = SurveySetting::getInstance()->getSurveyMiscSetting('preview_disable_test_insert'); if ( isset($_GET['show']) && $_GET['show']=='on_alert' ) { - echo '
'.$lang['srv_comments_on_alert'].' '.$lang['srv_off'].'. '.$lang['srv_comments_on_alert2'].' '.$lang['srv_anl_more'].'
'; + echo '
'; + + echo '
'.$lang['srv_comments_on_alert'].'
'; + + echo '
'; + echo $lang['srv_comments_on_alert1'].' '.$lang['srv_here'].'. '; + echo $lang['srv_comments_on_alert2']; + echo ' '.$lang['srv_more_info'].'.'; + echo '
'; + + echo '
'; } $css_width = ''; @@ -805,41 +1027,48 @@ class SurveyAdminSettings { $css_width2 = 'width:45% !important;'; } - echo '
'.$lang['comments'].''; + $advanced_expanded = isset($_GET['advanced_expanded']) ? $_GET['advanced_expanded'] : ''; - echo '


      ('.$lang['srv_comments_admin_note1'].')

'; - echo '


      ('.$lang['srv_comments_resp_note2'].')

'; - echo '


      ('.$lang['srv_comments_admin_note2'].')

'; - echo '


      ('.$lang['srv_comments_resp_note'].')

'; - //echo ' '.$lang['srv_comments_default_on'].'
'; - //echo ' '.$lang['srv_comments_on'].'
'; - //echo ' '.$lang['srv_comments_default_off'].''; - + echo '
'.$lang['comments'].''; + + echo '

'.$lang['srv_admin_s_comments_editor'].'

'; + echo '
'; + echo ''; + echo '

('.$lang['srv_comments_admin_note1'].')

'; + echo '
'; + echo '
'; + echo ''; + echo '

('.$lang['srv_comments_admin_note2'].')

'; + echo '
'; + + echo '

'.$lang['srv_admin_s_comments_resp'].'

'; + echo '
'; + echo ''; + echo '

('.$lang['srv_comments_resp_note2'].')

'; + echo '
'; + echo '
'; + echo ''; + echo '

('.$lang['srv_comments_resp_note'].')

'; + echo '
'; + + echo '

'.$lang['srv_admin_s_comments_links'].'

'; + + echo ''; echo '
'; @@ -879,6 +1108,9 @@ class SurveyAdminSettings { if ( ( !check_comments_admin() && !check_comments_admin_off() ) || ( !check_comments_resp() && !check_comments_resp_off() ) ) { $('#komentarji_napredno').show(); + $('#komentarji_napredno_arrow').addClass('minus'); + $('#komentarji_napredno_arrow').removeClass('plus'); + $('#more_comments').removeClass('border_blue'); } }); @@ -887,71 +1119,107 @@ class SurveyAdminSettings { if ($survey_comment != "") { - echo '
'.$lang['srv_admin_s_comments'].''; - //echo '
'; - echo ''; - - echo '

'; - echo '

'; - - echo '
'.$lang['srv_admin_s_comments'].''; + echo ''; + + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + + echo ''; + echo '
'; - echo ' - '; - //echo ''; echo '
'; - echo '
'; - } - echo ''; + + echo '
'; + echo '' . $lang['srv_survey_comment_show'] . ':'; + + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + + echo '
'; + echo '
'; - echo '
'; - echo '
'; + echo '
'; echo '' . $lang['srv_admin_q_notes'] . ''.$lang['srv_admin_q_notes_txt'].''; - echo ''; - echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; - echo '
'; - echo ''; - echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; - echo ' '; + echo ''; + echo ''; + + echo ''; + echo '
'; - echo '
'; - echo '
'; + echo '
'; echo '' . $lang['srv_admin_q_comments'] . ''.$lang['srv_admin_q_comments_txt'].''; - echo ''; - echo ''; echo ''; echo ''; echo ''; @@ -1011,30 +1318,55 @@ class SurveyAdminSettings { echo ''; echo ''; echo ''; - echo '
'; - echo ''; - echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; - echo ' '; - echo $lang['srv_comments_viewauthor']; - echo ''; + echo ''; + echo ''; + echo '
'; + echo ''; + echo ''; + echo '
'; + + echo ''; + echo '
'; - echo '
'; - - echo '
'; - echo '' . $lang['srv_comments_respondents'] . ''.$lang['srv_comments_respondents_txt'].''; - - echo ''; - echo ' '; - echo ' '; - echo '
'; - echo ''; - echo ''; + echo ' '; + echo ''; + echo '
'; + echo ''; + echo ' '; + echo '
'; + + echo ''; + + echo '
'; + echo '' . $lang['srv_comments_view'] . ':'; + + echo '
'; + echo ''; - echo '
'; - echo ''; - echo ' '; - echo ' '; - echo '
'; - echo ''; - echo ''; - echo ''; - echo '
'; - echo '
'; - - echo '
'; - echo '' . $lang['srv_comments_respondents'] . ' - '.$lang['srv_extra_settings'].''; - echo ''; - echo ' '; - echo ' '; - echo '
'; - echo ''; - echo ' '; - echo ' '; - echo ' '; - /*echo '
'; - echo '
'; - echo ''; - echo ' ' . strlen($srv_qct) . '/250' . "\n\r";*/ - echo '
'; - echo '
'; - - echo '
'.$lang['srv_comments_respondents'].''.$lang['srv_resp_s_comments_txt'].''; + echo ''; + + echo ''; + + + echo '
'; + echo '' . $lang['srv_comments_show_open'] . ':'; + + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + + echo '
'; - echo ''; - echo ''; + echo '';echo ''; + + echo ''; + + echo '

'.$lang['srv_resp_s_comments_txt'].'

'; + + echo '
'; + echo '' . $lang['srv_comments_write'] . ':'; + + echo '
'; + echo ''; - echo '
'; - echo ''; - echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ' '; - echo $lang['srv_comments_viewauthor']; - echo ''; - /*echo '
'; - echo ''; - echo ' '; - echo ' '; - */ - echo '
'; - echo '
'; - - echo '
'; - echo '' . $lang['srv_settings_komentarji'] . ''; - echo ''; - echo ' '; - echo ' '; - echo '
'; - echo ''; - echo ' '; - echo ' '; - echo '
'; - echo ''; - echo ' '; - echo ' '; - echo '
'; - echo ''; - echo ' '; - echo ' '; - echo '
'; - echo ''; - echo ''; + echo ''; + echo ''; + + echo ''; + + echo '

'.$lang['srv_extra_settings'].'

'; + + echo '
'; + echo '' . $lang['srv_q_inicialke'] . ':'; + + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + + echo '
'; + + echo '
'; + echo '' . $lang['srv_q_inicialke_alert'] . ':'; + + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + + echo '
'; + + echo '
'; + + echo '
'; + echo '' . $lang['srv_settings_komentarji'] . ''; + + echo '
'; + echo '' . $lang['orderby'] . ':'; + + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + + echo '
'; + + echo '
'; + echo '' . $lang['srv_add_comment'] . ':'; + + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + + echo '
'; + + echo '
'; + echo '' . $lang['srv_comments_marks'] . ':'; + + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + + echo '
'; + + echo '
'; + echo '' . $lang['srv_comments_marks_who'] . ':'; + + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + + echo '
'; + + echo '
'; + echo '' . $lang['srv_comment_history'] . ':'; + + echo '
'; + echo ''; - echo '
'; + echo '
'; + + echo '
'; + echo '
'; - echo '
'; - echo '
' . $lang['srv_delete_comments'] . ''; - echo '

'.$lang['srv_delete_comments3'].' ('.$lang['srv_delete_comments_txt2'].')

'; - echo '
'; + echo '

'.$lang['srv_delete_comments3'].' ('.$lang['srv_delete_comments_txt2'].')

'; echo ''; - echo '
'; } } /*Dostop*/ if ($_GET['a'] == 'dostop') { - + // tukaj bom dodal še kontrolo na Avtorja ankete, tako da avtor lahko vedno spreminja dostop (gorazd,1.9.2009) $stringDostopAvtor = "SELECT count(*) as isAvtor FROM srv_dostop WHERE ank_id = '" . $this->anketa . "' AND (uid='" . $global_user_id . "' OR uid IN (SELECT user FROM srv_dostop_manage WHERE manager='$global_user_id' ))"; $sqlDostopAvtor = sisplet_query($stringDostopAvtor); @@ -1148,60 +1566,32 @@ class SurveyAdminSettings { if ($admin_type <= $row['dostop'] || $rowDostopAvtor['isAvtor'] > 0) { - echo '
' . $lang['srv_dostop_users'] . '' . Help :: display('srv_dostop_users'). ''."\n"; + echo '
' . $lang['srv_dostop_users'] . '' . Help :: display('srv_dostop_users'). ''; + + //Dodajanje dostopa - prikaži vse za admine - potrebuje prenovo + /**if($admin_type == 0 || $admin_type == 1){ + echo ''; + }**/ - echo ''.$lang['srv_dostop_show_all'].''; - echo ''.$lang['srv_dostop_hide_all'].''; - echo '
'; $this->display_dostop_users(0); echo '
'; + + echo '
'; + echo ''; + echo '
'; echo '
'; - echo '
'; // Dodajanje uproabnikov preko e-maila echo '
'.$lang['srv_dostop_addusers'].''; echo '
'; - - - // Dodajanje dostopa - global $app_settings; - global $aai_instalacija; - - echo '

'; - - // Admini in managerji lahko dodajo dostop komurkoli - if($admin_type == 0 || $admin_type == 1){ - echo $lang['srv_dostop_adduserstxt_admin'].' '.$app_settings['app_name'].'. '; - } - // Ostali uporabniki lahko dodajo dostop samo ze registriranim uporabnikom - else{ - echo $lang['srv_dostop_adduserstxt'].' '.$app_settings['app_name'].'! '; - } - - // AAI ima poseben link na help - if(isset($aai_instalacija) && $aai_instalacija == true){ - echo $lang['srv_dostop_adduserstxt_aai_more']; - } - - echo '

'; - - - echo ''; - - echo '

'; - echo $lang['srv_dostop_adduserstxt_email'].'
'; - echo ''; - echo '

'; - - echo '

'; - echo $lang['srv_dostop_adduserstxt_note'].'
'; - echo ''; - echo '

'; - - echo '

'.$lang['srv_dostop_adduserstxt_end'].'

'; + + $this->display_add_survey_dostop(); echo '
'; echo '
'; @@ -1229,10 +1619,11 @@ class SurveyAdminSettings { include($file); - echo '
'.$lang['srv_extra_translations'].' '; + echo '
'.$lang['srv_extra_translations'].' '; + $lang_id = ''; if ($row['multilang'] == 1) { - echo ' '; $lang_id = (int)$_GET['lang_id']; if ($lang_id > 0) @@ -1253,36 +1644,27 @@ class SurveyAdminSettings { echo ''; - if ($row['multilang'] == 1 && $lang_id > 0) { - //echo '

'.SurveyInfo::getSurveyLink().'?language='.$lang_id.'

'; - } - echo '

'.$lang['srv_info_language'].'

'; echo '
'; echo ''; // da vemo, da nastavljamo ta besedila + + // Tabela standardnih besed + echo ''; + echo ''; - echo '

 '.($lang_id>0?$lang['srv_multilang']:$lang['srv_language_respons_1']).':'; - + echo '

'; + echo ''; + + // nazaj na administrativni jezik $file = '../../lang/'.$lang_admin.'.php'; include($file); - - echo '

'; - - echo ''.($lang_id>0?$lang['srv_language_respons_1'].': '.$resp_lang['language']:$lang['srv_language_admin'].': '.$lang['language']).''; - echo ''.$lang['srv_std_second'].''; - echo ''; - echo ''.$lang['srv_std_translation'].' '; - - echo '


'; - - echo '

'; + echo '

'; + echo ''; // jezik nastavimo na nastavitev za respondente, ker ta text dejansko nastavljamo $file = '../../lang/'.$lang_resp.'.php'; @@ -1334,33 +1716,43 @@ class SurveyAdminSettings { $this->extra_translation('srv_survey_non_active_notStarted', 1); $this->extra_translation('srv_survey_non_active_expired', 1); $this->extra_translation('srv_survey_non_active_voteLimit', 1); - - - echo '

'; - + // nastavimo jezik nazaj $file = '../../lang/'.$lang_admin.'.php'; include($file); - + + echo '
'.($lang_id > 0 ? $lang['srv_language_respons_1'].': '.$resp_lang['language']:$lang['srv_language_admin'].': '.$lang['language']).''.$lang['srv_std_second'].': '; $file = '../../lang/'.$lang_resp.'.php'; include($file); - echo ' '.$lang['language'].'

'; - - // nazaj na administrativnega + echo $lang['language'].'
'.$lang['srv_std_translation'].'
'; + echo '
'; - - echo '
'; - - echo '
'; - + // Gumb za ponastavitev prevoda v bazi pobriše že nastavljene prevode za izbran jezik + echo '
'; + echo ' '; + echo '
'; - echo ''; + // Ta del se v 2. fazi zamenja z gumbom "Večjezične ankete" + echo '
'; - // Gumb za ponastavitev prevoda v bazi pobriše že nastavljene prevode za izbran jezik - echo ''; + echo '

'.$lang['srv_language_link2'].':'; + // Preverimo, ce je funkcionalnost v paketu, ki ga ima uporabnik + $userAccess = UserAccess::getInstance($global_user_id); + if($userAccess->checkUserAccess($what='prevajanje')){ + echo ' '.$lang['srv_language_link'].'

'; + } + else{ + echo ' '.$lang['srv_language_link'].'

'; + } + echo '

'.$lang['srv_language_mySurveys'].'.

'; + + echo '
'; + echo '
'; - echo ''.$lang['lang'].''; + echo '
'; + echo ''; + echo ''; + echo '
'; + } /*Forma*/ if ($_GET['a'] == 'forma') { @@ -1369,40 +1761,125 @@ class SurveyAdminSettings { /*Nastavitve prikaza za mobilnike*/ if ($_GET['a'] == 'mobile_settings') { - SurveySetting::getInstance()->Init($this->anketa); - - echo '
'; + SurveySetting::getInstance()->Init($this->anketa); + echo '
'; - echo ''.$lang['srv_mobile_settings_title'].''; + echo ''.$lang['srv_mobile_settings_title'].Help::display('srv_mobilne_tabele').''; // Prikaz slik pri mobilnikih (default da) $mobile_friendly = SurveySetting::getInstance()->getSurveyMiscSetting('mobile_friendly'); - echo ''.$lang['srv_settings_mobile_friendly'].':'; - echo ' '; - echo ' '; + echo '
'; + + echo ''; + echo ''; + echo ' '; + + echo '
'; - $display = ($mobile_friendly == 1) ? '' : ' display: none;'; - echo '
'; + $display = ($mobile_friendly == 1) ? '' : 'displayNone'; + + echo '
'; // Prikaz slik pri mobilnikih (default da) $hide_mobile_img = SurveySetting::getInstance()->getSurveyMiscSetting('hide_mobile_img'); - echo ''.$lang['srv_settings_mobile_img'].':'; - echo ' '; - echo ' '; + echo '
'; + + echo ''; + echo ''; + echo ' '; + + echo '
'; + + // Prilagoditev tabel pri mobilnikih + /*$mobile_tables = SurveySetting::getInstance()->getSurveyMiscSetting('mobile_tables'); + echo '
'; + + echo ''.$lang['srv_settings_mobile_tables'].':'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + + echo '
';*/ + + echo '
'; + + echo '
'; + } + + /*Nastavitve prikaza za tabele*/ + if ($_GET['a'] == 'table_settings') { + + SurveySetting::getInstance()->Init($this->anketa); + + echo '
'; - echo ''; + echo ''.$lang['srv_table_settings_title'].''; + + + // Prilagoditev tabel na pc-ju + $pc_tables = SurveySetting::getInstance()->getSurveyMiscSetting('pc_tables'); + + echo '
'; + + echo ''.$lang['srv_table_settings_pc_tables'].':'; + + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + + // Prilagoditev tabel pri mobilnikih $mobile_tables = SurveySetting::getInstance()->getSurveyMiscSetting('mobile_tables'); - echo ''.$lang['srv_settings_mobile_tables'].':'; - echo ' '; - echo ' '; - echo ' '; - + + echo '
'; + + echo ''.$lang['srv_table_settings_mobile_tables'].':'; + + echo '
'; + echo ''; + echo ' '; echo '
'; - - + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + + echo '
'; + + echo '
'; } @@ -1416,60 +1893,78 @@ class SurveyAdminSettings { $referal = SurveySetting::getInstance()->getSurveyMiscSetting('survey_referal'); $date = SurveySetting::getInstance()->getSurveyMiscSetting('survey_date'); + $ip = $ip == '' ? 0 : $ip; + $ip_show = $ip_show == '' ? 0 : $ip_show; + $browser = $browser == '' ? 0 : $browser; + $referal = $referal == '' ? 0 : $referal; + $date = $date == '' ? 0 : $date; + - echo '
'; + echo '
'; echo ''.$lang['srv_sledenje'].''; // Preverimo ce je vklopljen modul za volitve - potem ne pustimo nobenih preklopov $voting_disabled = ''; - $voting_disabled_class = ''; if(SurveyInfo::getInstance()->checkSurveyModule('voting')){ $voting_disabled = ' disabled'; - $voting_disabled_class = ' class="gray"'; - echo '

'.$lang['srv_voting_warning_paradata'].'

'; + echo '

'.$lang['srv_voting_warning_paradata'].'


'; } - echo '

'.$lang['srv_metadata_desc'].'

'; - - echo ''; - echo ' '; - echo '
'; - - echo ''; - echo ' '; - echo '
'; + echo '
'; + echo '

'.$lang['srv_metadata_desc'].'

'; + echo '
'; - echo ''; - echo ' '; - echo '
'; - + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + echo '
'; - - echo '
'; - - echo '
'; echo ''.$lang['srv_sledenje_ip_title'].''; - - echo ''; - echo ' '; - echo ' '; - - if($ip == 0 && $ip_show != 1) - echo '
'.$lang['srv_sledenje_ip_alert'].'
'; - - echo '
'; - - if($ip == 0 && ($admin_type == 0 || $admin_type == 1)){ - echo ''; - echo ' '; - echo ' '; - - if($ip_show == 1) - echo '
'.$lang['srv_show_ip_alert'].'
'; + + //Shranjuj IP naslov respondenta + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + + echo '
'; + echo '

'.$lang['srv_sledenje_ip_alert'].'


'; + echo '
'; + + //Poveži IP v bazi s podatki + if ($admin_type == 0 || $admin_type == 1){ + echo '
'; + + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + + echo '
'; + echo '

'.$lang['srv_show_ip_alert'].'

'; + echo '
'; + + echo '
'; } echo '
'; @@ -1477,16 +1972,26 @@ class SurveyAdminSettings { // Povezovanje identifikatorjev s podatki - samo za admine in ce so vklopljena email vabila if ($admin_type == 0 && SurveyInfo::getInstance()->checkSurveyModule('email')) { - echo '
'; - echo '
'; + echo '
'; echo ''.$lang['srv_sledenje_identifikatorji_title'].' '.Help::display('srv_email_with_data').''; + + echo '
'; + echo ''.$lang['srv_sledenje_identifikatorji'].':'; + + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; - echo ''; - echo ' '; - echo ' '; + echo '
'; - if($row['show_email'] == 1) - echo '
'.$lang['srv_show_mail_with_data3'].'
'; + echo '
'; + echo '

'.$lang['srv_show_mail_with_data3'].'.

'; + echo '
'; echo '
'; } @@ -1498,117 +2003,112 @@ class SurveyAdminSettings { SurveySetting::getInstance()->Init($this->anketa); // Nastavitve za izpis vprasalnika - echo '
'; + echo '
'; echo ''.$lang['srv_export_survey_settings'].''; // Številčenje vprašanj (default da) $export_numbering = SurveySetting::getInstance()->getSurveyMiscSetting('export_numbering'); - echo ''.$lang['srv_nastavitveStevilcenje'].':'; - echo ' '; - echo ' '; - - echo '
'; - + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + // Prikaz pogojev (default da) $export_show_if = SurveySetting::getInstance()->getSurveyMiscSetting('export_show_if'); - echo ''.$lang['srv_export_if'].':'; - echo ' '; - echo ' '; - - echo '
'; + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; // Prikazi uvoda (default ne) $export_show_intro = SurveySetting::getInstance()->getSurveyMiscSetting('export_show_intro'); - echo ''.$lang['srv_export_intro'].':'; - echo ' '; - echo ' '; - + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + echo '
'; - echo '
'; - - // Nastavitve za izpis odgovorov respondentov - echo '
'; + echo '
'; echo ''.$lang['srv_export_results_settings'].''; - -/* // Tip izvoza (0->navaden-default, 1->dolg, 2->kratek) - $export_data_type = SurveySetting::getInstance()->getSurveyMiscSetting('export_data_type'); - echo ''.$lang['srv_displaydata_type'].':'; - echo ''; - echo Help :: display('displaydata_pdftype'); */ - // Tip izvoza (1->dolg oz. razsirjen, 2->kratek oz. skrcen) - $export_data_type = SurveySetting::getInstance()->getSurveyMiscSetting('export_data_type'); - echo ''.$lang['srv_displaydata_type'].':'; - echo ''; - echo Help :: display('displaydata_pdftype'); - - echo '
'; - + // Številčenje vprašanj (default da) $export_data_numbering = SurveySetting::getInstance()->getSurveyMiscSetting('export_data_numbering'); - echo ''.$lang['srv_nastavitveStevilcenje'].':'; - echo ' '; - echo ' '; - - echo '
'; + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + // Prikaz recnuma (default da) $export_data_show_recnum = SurveySetting::getInstance()->getSurveyMiscSetting('export_data_show_recnum'); - echo ''.$lang['srv_export_show_recnum'].':'; - echo ' '; - echo ' '; - - echo '
'; + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + // Prikaz pogojev (default da) $export_data_show_if = SurveySetting::getInstance()->getSurveyMiscSetting('export_data_show_if'); - echo ''.$lang['srv_export_if'].':'; - echo ' '; - echo ' '; - - echo '

'; + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + // Page break med posameznimi respondenti (default ne) $export_data_PB = SurveySetting::getInstance()->getSurveyMiscSetting('export_data_PB'); - echo ''.$lang['srv_export_pagebreak'].':'; - echo ' '; - echo ' '; - - echo '
'; + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + // Izpusti vprasanja brez odgovora (default ne) $export_data_skip_empty = SurveySetting::getInstance()->getSurveyMiscSetting('export_data_skip_empty'); - echo ''.$lang['srv_export_skip_empty'].':'; - echo ' '; - echo ' '; - - echo '
'; + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + // Izpusti podvprasanja brez odgovora (default ne) $export_data_skip_empty_sub = SurveySetting::getInstance()->getSurveyMiscSetting('export_data_skip_empty_sub'); - echo ''.$lang['srv_export_skip_empty_sub'].':'; - echo ' '; - echo ' '; - - echo '
'; - - // Landscape postavitev izvoza (default ne) -/* $export_data_landscape = SurveySetting::getInstance()->getSurveyMiscSetting('export_data_landscape'); - echo ''.$lang['srv_export_landscape'].':'; - echo ' '; - echo ' '; */ - + echo '
'; + echo ''; + echo ''; + echo ' '; + echo '
'; + + // Tip izvoza (1->dolg oz. razsirjen, 2->kratek oz. skrcen) + echo '
'; + $export_data_type = SurveySetting::getInstance()->getSurveyMiscSetting('export_data_type'); + echo ''; + + echo '
'; + echo ''; + echo ' '; + echo '
'; + echo '
'; + echo ''; + echo ' '; + echo '
'; + + echo '
'; + echo '
'; } @@ -1620,18 +2120,17 @@ class SurveyAdminSettings { } - if ($_GET['a'] != 'jezik' && $_GET['a'] != 'trajanje' && $_GET['a'] != A_GDPR) { - //echo '

'.$lang['srv_prestevilci'].'

'; - echo '
'; - echo ''; - echo '
'; + if ($_GET['a'] != 'jezik' && $_GET['a'] != 'trajanje' && $_GET['a'] != A_GDPR && $_GET['a'] != 'dostop') { + + echo '
'; + echo ''; + echo ''; + echo '
'; } - if ($_GET['s'] == '1') { + if (isset($_GET['s']) && $_GET['s'] == '1') { echo '
'; - echo ''; + echo ''; } echo ''; @@ -1683,7 +2182,7 @@ class SurveyAdminSettings { echo '

'; echo '

'; # replyTo - echo '

'; + echo '

'; echo '

'; echo ''; @@ -1694,7 +2193,7 @@ class SurveyAdminSettings { echo '

'; echo '

'; # replyTo - echo '

'; + echo '

'; echo '

'; #Password echo '

'; @@ -1711,7 +2210,7 @@ class SurveyAdminSettings { echo '

'; echo '

'; # replyTo - echo '

'; + echo '

'; echo '

'; #Username echo '

'; @@ -1749,7 +2248,6 @@ class SurveyAdminSettings { echo ''; echo '

'; - echo '
'; echo ''; echo ''; } - echo '
'; - - if ($_GET['s'] == '1') { + if (isset($_GET['s']) && $_GET['s'] == '1') { echo '
'; - echo ''; + echo ''; } - - } /** @@ -1782,7 +2276,7 @@ class SurveyAdminSettings { global $admin_lang; global $resp_lang; - $lang_id = (int)$_GET['lang_id']; + $lang_id = isset($_GET['lang_id']) ? (int)$_GET['lang_id'] : ''; if ($lang_id > 0) $lang_id = '_'.$lang_id; else @@ -1799,28 +2293,57 @@ class SurveyAdminSettings { if($text == 'srv_nextpage_uvod') $next_uvod = $lang_id == '' ? $admin_lang['srv_nextpage_uvod_desc'] : $resp_lang['srv_nextpage_uvod_desc']; - echo '
'.($lang_id==''?$admin_lang[$text]:$resp_lang[$text]).' '.($text == 'srv_nextpage_uvod' ? '('.$next_uvod.')' : '').' '; - echo ''.$lang[$text].' '; - echo '
'.$value.'
'; - + echo ''; + echo ''.($lang_id==''?$admin_lang[$text]:$resp_lang[$text]).' '.($text == 'srv_nextpage_uvod' ? ' ('.$next_uvod.')' : '').' '; + echo ''.$lang[$text].''; + echo '
'.$value.'
'; + if($editor == 1) - echo ''; - + echo ''; + echo ''; + echo '
'; - echo '
'; + echo ''; } function anketa_nice_links () { + global $lang; echo '
'; + + echo '
'.$lang['srv_nice_url'].''; $sql = sisplet_query("SELECT l.link, a.id, a.naslov FROM srv_nice_links l, srv_anketa a WHERE a.id=l.ank_id ORDER BY l.link ASC"); - while ($row = mysqli_fetch_array($sql)) { - echo '

'.$row['link'].' '.$row['naslov'].'

'; + $table_exists = 0; + while ($row = mysqli_fetch_array($sql)) { + if ($table_exists == 0) { + echo '

'.$lang['srv_nice_url_note'].'

'; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + $table_exists = 1; + } + + echo ''; + echo ''; + echo ''; + echo ''; + } + + if ($table_exists == 1){ + echo '
'.$lang['srv_nice_url_extension'].''.$lang['srv_nice_url_surveyname'].'
'.$row['link'].''.$row['naslov'].'
'; + echo '
'; + echo '
'; } - + + echo '
'; echo '
'; } @@ -1851,14 +2374,44 @@ class SurveyAdminSettings { global $lang; echo '
'; + + echo '
'.$lang['srv_anketa_deleted'].''; $sql = sisplet_query("SELECT srv_anketa.id, srv_anketa.naslov, users.email FROM srv_anketa, users WHERE users.id=srv_anketa.insert_uid AND active='-1' ORDER BY edit_time DESC"); if (!$sql) echo mysqli_error($GLOBALS['connect_db']); - - while ($row = mysqli_fetch_array($sql)) { - echo '

'.$row['naslov'].' ('.$row['email'].') '.$lang['srv_restore'].'

'; + + + $table_exists = 0; + while ($row = mysqli_fetch_array($sql)) { + if ($table_exists == 0) { + echo '

'.$lang['srv_anketa_deleted_note'].'

'; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + $table_exists = 1; + } + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + + if ($table_exists == 1){ + echo '
'.$lang['srv_data_deleted_surveyname'].''.$lang['srv_data_deleted_user'].'
'.$row['naslov'].''.$row['email'].'
'; + echo '
'; + echo '
'; } + + echo '
'; echo '
'; } @@ -1870,14 +2423,39 @@ class SurveyAdminSettings { global $lang; echo '
'; - + + echo '
'.$lang['srv_data_deleted'].''; + $sql = sisplet_query("SELECT a.id, a.naslov, users.email, COUNT(u.id) AS deleted FROM srv_anketa a, srv_user u, users WHERE u.deleted='1' AND u.ank_id=a.id AND users.id=a.insert_uid GROUP BY a.id ORDER BY edit_time DESC"); if (!$sql) echo mysqli_error($GLOBALS['connect_db']); - while ($row = mysqli_fetch_array($sql)) { - echo '

'.$row['naslov'].' ('.$row['email'].') '.$lang['srv_restore'].' ('.$row['deleted'].')

'; + $table_exists = 0; + while ($row = mysqli_fetch_array($sql)) { + if ($table_exists == 0) { + echo '

'.$lang['srv_data_deleted_note'].'

'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + $table_exists = 1; + } + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; } + + if ($table_exists == 1) + echo '
'.$lang['srv_data_deleted_surveyname'].''.$lang['srv_data_deleted_user'].''.$lang['srv_data_deleted'].'
'.$row['naslov'].''.$row['email'].''.$row['deleted'].'
'; + echo '
'; echo '
'; } @@ -1889,455 +2467,303 @@ class SurveyAdminSettings { function anketa_vabila() { global $lang; - if ($_GET['m'] == '' || $_GET['m'] == 'settings') { + if ($_GET['a'] == A_VABILA) { $this->anketa_vabila_nastavitve(); - } elseif ($_GET['m'] == 'url') { - $this->anketa_vabila_url(); + } + elseif ($_GET['a'] == A_OTHER_INV) { + $this->anketa_vabila_drugo(); } } function anketa_vabila_nastavitve() { global $lang, $site_url, $global_user_id; - $row = SurveyInfo::getInstance()->getSurveyRow(); - $d = new Dostop(); - - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - - echo ''; - - # če ni aktivna damo opozorilo - echo ''; - - # Povezave, lepi linki... - echo ''; - /* # Opozorilo o napakah - echo '';*/ - - echo ''; - - echo ''; - - echo ''; - - echo ''; - - echo ''; - - echo '
'; - + # Opozorilo o napakah - $sd = new SurveyDiagnostics($this->anketa); - $sd->doDiagnostics(); - $diagnostic = $sd->getDiagnostic(); - if (is_array($diagnostic) && count($diagnostic) > 0) - echo '
'.$lang['srv_publication_survey_warnings'].' >>
'; + $this->survey_errors(); + + # Opozorilo - anketa ni aktivna + $this->activation_error(); + + // Delite povezavo do ankete + echo '
'.$lang['srv_publication_survey_links'].'
'; + + //echo '

'.$lang['srv_publication_survey_links_note'].'

'; - // Aktivacija ankete - echo ''; - $this->anketa_aktivacija_note(); - echo''; - - echo '
'; - # Linki, lepi linki - $this->niceUrlSettings(); + //Lep URL - dodajanje + // Preverimo, ce je funkcionalnost v paketu, ki ga ima uporabnik + $userAccess = UserAccess::getInstance($global_user_id); + if(!$userAccess->checkUserAccess($what='nice_url')){ - echo '
'; + echo '
'; + + echo '
'; + echo '
'; + echo ' '; + echo ' '.SurveyInfo::getRawSurveyLink().''; + echo '
'; + echo ' '; + echo '
'; + + /* echo ' '; */ + echo ' '; + + echo '
'; + } + else{ + + echo '
'; + + echo '
'; + echo '
'; + echo ' '; + echo ' '.SurveyInfo::getRawSurveyLink().''; + echo '
'; + echo ' '; + echo '
'; + + // Gumb za dodajanje lepega linka + echo ' '; + + echo '
'; + + + if (isset($_GET['error'])) { + + $error = $_GET['error']; + + /* ?>'; + + // Prekratek lep url + if(strlen($error) <= 2) + echo '

'.$error.' '.$lang['srv_nice_url_short'].'

'; + // Predolg lep url + elseif(strlen($error) > 20) + echo '

'.$error.' '.$lang['srv_nice_url_long'].'

'; + // Ze obstaja + else + echo '

'.$error.' '.$lang['srv_nice_url_taken'].'

'; + + echo ''; + } + + } + + // Zlistamo nice URL, povezave za skupine in jezike + $this->niceUrlSettings(); - // Napredne URL povezave - echo '
'; - //echo ''.$lang['srv_publication_advanced_url'].''; - echo ''; - echo '

'.$lang['srv_publication_advanced_url_text'].'

'; + // Spodnji kvadratki + // Več načinov deljenja ankete + echo '
'; + + echo '
'; + + // Vabila + echo '
'; + echo '
'; + echo '
'; + echo $lang['srv_publication_invitations']; + if(!$userAccess->checkUserAccess('arhivi')) echo ''; + echo '
'; echo '
'; - - echo '
'; - - // Individualizirana vabila - echo '
'; - //echo ''.$lang['srv_publication_invitations'].''; - echo ''; - echo '

'.$lang['srv_publication_invitations_text'].'

'; + + // Drugi nacini + echo '
'; + echo '
'; + echo '
'; + echo $lang['srv_publication_survey_more']; + echo '
'; echo '
'; + + echo '
'; + echo '
'; + - echo '
'; - $sd = new SurveyDiagnostics($this->anketa); - $sd->doDiagnostics(); - $diagnostic = $sd->getDiagnostic(); - if (is_array($diagnostic) && count($diagnostic) > 0) { - echo ''; - $this->anketa_diagnostika_note($sd, $d->checkDostopSub('test')); - echo''; - } - echo '
'; - echo ''; - - $base_url = $site_url.'admin/survey/index.php?anketa='.$this->anketa; - # preberomo osnovne nastavitve + echo ''; + } + + # Opozorilo - anketa ni aktivna + private function activation_error(){ + global $lang; + $row = SurveyInfo::getInstance()->getSurveyRow(); - - echo '
'.($row['active']==0 ? $lang['srv_default_setting_unactive'] : $lang['srv_default_setting']).''; - - // Ce imamo dostop do zavihka urejanje - if($d->checkDostopSub('edit')){ - - # Trajanje - $starts = explode('-',$row['starts']); - $starts = $starts[2].'.'.$starts[1].'.'.$starts[0]; - $expire = explode('-',$row['expire']); - $expire = $expire[2].'.'.$expire[1].'.'.$expire[0]; - echo '

'.$lang['srv_starts'].':'.$starts.'

'; - if ( $row['expire'] == PERMANENT_DATE ) { - #trajna - echo '

'.$lang['srv_trajna_anketa'].':'.($row['expire'] == PERMANENT_DATE ? $lang['yes'] : $lang['no']).'

'; - } else { - echo '

'.$lang['srv_expire'].':'.$expire.'

'; - } - - // Skin ankete - if ($row['skin_profile'] == 0) { - $skin_name = $row['skin']; - } - else { - $sqla = sisplet_query("SELECT name FROM srv_theme_profiles WHERE id = '".$row['skin_profile']."'"); - $rowa = mysqli_fetch_array($sqla); - $skin_name = $rowa['name']; - } - //echo '

'.$lang['srv_themes'].':'.$row['skin'].'

'; - echo '

'.$lang['srv_themes'].':'.$skin_name.'

'; + + if ($row['active']==0) { + echo '
'; + //echo '
'; + //echo ' '.$lang['srv_publication_survey_noactive']; + //echo '
'; + //echo '

'.$lang['srv_publication_survey_noactive_note'].'

'; + + + echo '
'; - # Jezik - $lang_old = $lang; - $lang_admin = (int)$row['lang_admin']; - $lang_resp = (int)$row['lang_resp']; - $lang_array = array(); - $lang_array[0] = $lang['srv_language_not_set']; - // Preberemo razpoložljive jezikovne datoteke - if ($dir = opendir('../../lang')) { - while (($file = readdir($dir)) !== false) { - if ($file != '.' AND $file != '..') { - if (is_numeric(substr($file, 0, strpos($file, '.')))) { - $i = substr($file, 0, strpos($file, '.')); - $file = '../../lang/'.$i.'.php'; - if (file_exists($file)) { - include($file); - $lang_array[$i] = $lang['language']; - } - } + //echo '

'.$lang['srv_anketa_noactive2'].'

'; + echo '

'.$lang['srv_publication_survey_noactive_note3'].'

'; + + //Toggle kopiran iz headerja + if (SurveyInfo::getSurveyColumn('active') == 1) { + + # anketa je aktivna + # V kolikor gre za hierarhijo in uporabnik ni administrator hierarhije + if (SurveyInfo::getInstance()->checkSurveyModule('hierarhija')){ + if ($hierarhija_type == 1) { + echo ''; + } + else{ + echo ''; } } - } - - // nastavimo jezik nazaj - /*$file = '../../lang/'.$lang_admin.'.php'; - if (file_exists($file)) { - include($file); - }*/ - $lang = $lang_old; - $resp_change_lang = SurveySetting::getInstance()->getSurveyMiscSetting('resp_change_lang'); - //echo '

'.$lang['srv_language_admin_1'].':

'; - echo '

'.$lang['srv_language_admin_0'].':'.$lang_array[$lang_admin].' / '.$lang_array[$lang_resp].'

'; - - #obveščanje - - // jezikovni linki - $p = new Prevajanje($this->anketa); - $p->dostop(); - $jeziki = $p->get_all_translation_langs(); - if (count($jeziki) > 0) { - echo '

' . $lang['srv_trans_lang'] . ': '; - $i = 0; - foreach ($jeziki AS $key => $val) { - if ($i++ != 0) echo ', '; - echo ''.$val.''; + else { + echo ''; } - echo '

'; - } - #piškotki - echo '

'.$lang['srv_cookie'].':'.$lang['srv_cookie_'.$row['cookie']].'

'; - echo '

'.$lang['srv_cookie_return'].':'.($row['cookie_return'] == 0 ? $lang['srv_cookie_return_start'] : $lang['srv_cookie_return_middle']).'

'; - - #more - več - echo ''; - echo ''; - echo '
'; - - if ($row['cookie'] > -1) { - # če je piškotek dlje kot do konca nakete lahko izbere tudi druge možnosti - echo '

'.$lang['srv_return_finished'].':'.($row['return_finished'] == 1 ? $lang['srv_return_finished_yes'] : $lang['srv_return_finished_no']).'

'; - } else { - # ker je piškotek samo do konca ankete se ne more vrnit ali urejat - echo '

'.$lang['srv_return_finished'].':'. $lang['srv_return_finished_no'] .'

'; - } - - echo '

'.$lang['srv_multilang'].':'.($row['multilang'] == 1 ? $lang['yes'] : $lang['no'] ).'

'; - - echo '

'.$lang['srv_user'].':'; - if ($row['user_from_cms'] == 1) { - echo $lang['srv_respondent']; - } elseif ($row['user_from_cms'] == 2) { - echo $lang['srv_vnasalec']; - } elseif ($row['user_from_cms'] == 0) { - echo $lang['no1']; - } - echo '

'; - - echo '

'.$lang['srv_block_ip'].':'; - if ($row['block_ip'] == 0) { - echo $lang['no1']; - } elseif ($row['block_ip'] == 10) { - echo '10 min'; - } elseif ($row['block_ip'] == 20) { - echo '20 min'; - } elseif ($row['block_ip'] == 60) { - echo '60 min'; - } elseif ($row['block_ip'] == 720) { - echo '12 '.$lang['hour_hours2']; - } elseif ($row['block_ip'] == 1440) { - echo '24 '.$lang['hour_hours2']; - } - echo ''; - echo '

'; - - - # user from cms - if ($row['user_from_cms']>0) { - echo '

'.$lang['srv_user_cms_show'].':'.($lang['srv_user_cms_email']).'

'; + + echo '
'; + + echo ''; } - echo '

'.$lang['srv_vote_limit'].':'.($row['vote_limit'] == 0 ? $lang['no'] : $lang['yes']).'

'; - - echo '

'.$lang['srv_vote_count'].':'.($row['vote_limit'] == 0 ? '/' : $row['vote_count']).'

'; - # Obveščanje - // preberemo nastavitve alertov - $sqlAlert = sisplet_query("SELECT * FROM srv_alert WHERE ank_id = '".$this->anketa."'"); - if (mysqli_num_rows($sqlAlert) > 0) { - $rowAlert = mysqli_fetch_assoc($sqlAlert); - } else { - SurveyAlert::getInstance()->Init($anketa, $global_user_id); - $rowAlert = SurveyAlert::setDefaultAlertBeforeExpire(); - } - - $alert_finish = array(); - $alert_expire = array(); - $alert_delete = array(); - $alert_active = array(); - if ($rowAlert['finish_respondent'] == 1) { - $alert_finish[] = $lang['srv_alert_respondent']; - } - if ($rowAlert['finish_respondent_cms'] == 1) { - $alert_finish[] = $lang['srv_alert_respondent_cms']; - } - if ($rowAlert['finish_author'] == 1) { - $alert_finish[] = $lang['srv_info_author']; - } - if ($rowAlert['finish_other'] == 1) { - $alert_finish[] = $lang['email_prejemniki']; - } - if ($rowAlert['expire_author'] == 1) { - $alert_expire[] = $lang['srv_info_author']; - } - if ($rowAlert['expire_other'] == 1) { - $alert_expire[] = $lang['email_prejemniki']; - } - if ($rowAlert['delete_author'] == 1) { - $alert_delete[] = $lang['srv_info_author']; - } - if ($rowAlert['delete_other'] == 1) { - $alert_delete[] = $lang['email_prejemniki']; - } - if ($rowAlert['active_author'] == 1) { - $alert_active[] = $lang['srv_info_author']; - } - if ($rowAlert['active_other'] == 1) { - $alert_active[] = $lang['email_prejemniki']; - } - echo '

'.$lang['srv_alert_completed_2'].':'.(count($alert_finish) ? implode(',',$alert_finish) : $lang['no']).'

'; - echo '

'.$lang['srv_alert_expired_2'].':'.(count($alert_expire) ? implode(',',$alert_expire) : $lang['no']).'

'; - echo '

'.$lang['srv_alert_active_2'].':'.(count($alert_active) ? implode(',',$alert_active) : $lang['no']).'

'; - echo '

'.$lang['srv_alert_delete_2'].':'.(count($alert_delete) ? implode(',',$alert_delete) : $lang['no']).'

'; - - echo '

'; - echo ''; - echo $lang['srv_nastavitve_ankete_all'].''; - echo '

'; - echo '
'; - } - // Nimamo dostopa do zavihka urejanje - ni nobenih linkov - else{ - # Trajanje - $starts = explode('-',$row['starts']); - $starts = $starts[2].'.'.$starts[1].'.'.$starts[0]; - $expire = explode('-',$row['expire']); - $expire = $expire[2].'.'.$expire[1].'.'.$expire[0]; - echo '

'.$lang['srv_starts'].': '.$starts.'

'; - if ( $row['expire'] == PERMANENT_DATE ) { - #trajna - echo '

'.$lang['srv_trajna_anketa'].': '.($row['expire'] == PERMANENT_DATE ? $lang['yes'] : $lang['no']).'

'; - } else { - echo '

'.$lang['srv_expire'].': '.$expire.'

'; - } - - echo '

'.$lang['srv_themes'].': '.$row['skin'].'

'; - - # Jezik - $lang_old = $lang; - $lang_admin = (int)$row['lang_admin']; - $lang_resp = (int)$row['lang_resp']; - $lang_array = array(); - $lang_array[0] = $lang['srv_language_not_set']; - // Preberemo razpoložljive jezikovne datoteke - if ($dir = opendir('../../lang')) { - while (($file = readdir($dir)) !== false) { - if ($file != '.' AND $file != '..') { - if (is_numeric(substr($file, 0, strpos($file, '.')))) { - $i = substr($file, 0, strpos($file, '.')); - $file = '../../lang/'.$i.'.php'; - if (file_exists($file)) { - include($file); - $lang_array[$i] = $lang['language']; - } - } + else { + $anketa_active = "anketa_active('" . $this->anketa . "','" . $row['active'] . "'); "; + + //Preden anketo aktiviramo preverimo, če gre tudi za izgradnjo hierarhije in če anketa še ni bila aktivirana + if (SurveyInfo::getInstance()->checkSurveyModule('hierarhija')){ + if ($hierarhija_type == 1) { + echo ''; + } else{ + echo ''; } } - } - - // nastavimo jezik nazaj - /*$file = '../../lang/'.$lang_admin.'.php'; - if (file_exists($file)) { - include($file); - }*/ - $lang = $lang_old; - $resp_change_lang = SurveySetting::getInstance()->getSurveyMiscSetting('resp_change_lang'); - echo '

'.$lang['srv_language_admin_0'].': '.$lang_array[$lang_admin].' / '.$lang_array[$lang_resp].'

'; - - #obveščanje - - // jezikovni linki - $p = new Prevajanje($this->anketa); - $jeziki = $p->get_all_translation_langs(); - if (count($jeziki) > 0) { - echo '

' . $lang['srv_trans_lang'] . ': '; - $i = 0; - foreach ($jeziki AS $key => $val) { - if ($i++ != 0) echo ', '; - echo ''.$val.''; + else { + echo ''; } - echo '

'; - } - #piškotki - echo '

'.$lang['srv_cookie'].': '.$lang['srv_cookie_'.$row['cookie']].'

'; - echo '

'.$lang['srv_cookie_return'].': '.($row['cookie_return'] == 0 ? $lang['srv_cookie_return_start'] : $lang['srv_cookie_return_middle']).'

'; - - #more - več - echo ''; - echo ''; - echo '
'; - - if ($row['cookie'] > -1) { - # če je piškotek dlje kot do konca nakete lahko izbere tudi druge možnosti - echo '

'.$lang['srv_return_finished'].': '.($row['return_finished'] == 1 ? $lang['srv_return_finished_yes'] : $lang['srv_return_finished_no']).'

'; - } else { - # ker je piškotek samo do konca ankete se ne more vrnit ali urejat - echo '

'.$lang['srv_return_finished'].': '. $lang['srv_return_finished_no'] .'

'; - } - - echo '

'.$lang['srv_multilang'].': '.($row['multilang'] == 1 ? $lang['yes'] : $lang['no'] ).'

'; - - echo '

'.$lang['srv_user'].': '; - if ($row['user_from_cms'] == 1) { - echo $lang['srv_respondent']; - } elseif ($row['user_from_cms'] == 2) { - echo $lang['srv_vnasalec']; - } elseif ($row['user_from_cms'] == 0) { - echo $lang['no1']; - } - echo '

'; - - echo '

'.$lang['srv_block_ip'].': '; - if ($row['block_ip'] == 0) { - echo $lang['no1']; - } elseif ($row['block_ip'] == 10) { - echo '10 min'; - } elseif ($row['block_ip'] == 20) { - echo '20 min'; - } elseif ($row['block_ip'] == 60) { - echo '60 min'; - } elseif ($row['block_ip'] == 720) { - echo '12 '.$lang['hour_hours2']; - } elseif ($row['block_ip'] == 1440) { - echo '24 '.$lang['hour_hours2']; - } - echo '

'; - - - # user from cms - if ($row['user_from_cms']>0) { - echo '

'.$lang['srv_user_cms_show'].': '.($lang['srv_user_cms_email']).'

'; - } - echo '

'.$lang['srv_vote_limit'].': '.($row['vote_limit'] == 0 ? $lang['no'] : $lang['yes']).'

'; - - echo '

'.$lang['srv_vote_count'].': '.($row['vote_limit'] == 0 ? '/' : $row['vote_count']).'

'; - # Obveščanje - // preberemo nastavitve alertov - $sqlAlert = sisplet_query("SELECT * FROM srv_alert WHERE ank_id = '".$this->anketa."'"); - if (mysqli_num_rows($sqlAlert) > 0) { - $rowAlert = mysqli_fetch_assoc($sqlAlert); - } else { - SurveyAlert::getInstance()->Init($anketa, $global_user_id); - $rowAlert = SurveyAlert::setDefaultAlertBeforeExpire(); - } - - $alert_finish = array(); - $alert_expire = array(); - $alert_delete = array(); - $alert_active = array(); - if ($rowAlert['finish_respondent'] == 1) { - $alert_finish[] = $lang['srv_alert_respondent']; - } - if ($rowAlert['finish_respondent_cms'] == 1) { - $alert_finish[] = $lang['srv_alert_respondent_cms']; - } - if ($rowAlert['finish_author'] == 1) { - $alert_finish[] = $lang['srv_info_author']; - } - if ($rowAlert['finish_other'] == 1) { - $alert_finish[] = $lang['email_prejemniki']; - } - if ($rowAlert['expire_author'] == 1) { - $alert_expire[] = $lang['srv_info_author']; - } - if ($rowAlert['expire_other'] == 1) { - $alert_expire[] = $lang['email_prejemniki']; - } - if ($rowAlert['delete_author'] == 1) { - $alert_delete[] = $lang['srv_info_author']; - } - if ($rowAlert['delete_other'] == 1) { - $alert_delete[] = $lang['email_prejemniki']; - } - if ($rowAlert['active_author'] == 1) { - $alert_active[] = $lang['srv_info_author']; - } - if ($rowAlert['active_other'] == 1) { - $alert_active[] = $lang['email_prejemniki']; + + echo '
'; + + echo '
'; } - echo '

'.$lang['srv_alert_completed_2'].': '.(count($alert_finish) ? implode(',',$alert_finish) : $lang['no']).'

'; - echo '

'.$lang['srv_alert_expired_2'].': '.(count($alert_expire) ? implode(',',$alert_expire) : $lang['no']).'

'; - echo '

'.$lang['srv_alert_active_2'].': '.(count($alert_active) ? implode(',',$alert_active) : $lang['no']).'

'; - echo '

'.$lang['srv_alert_delete_2'].': '.(count($alert_delete) ? implode(',',$alert_delete) : $lang['no']).'

'; - + + echo '
'; + + //echo '

'.$lang['srv_publication_survey_noactive_note2'].'

'; + echo '
'; } + } + + # Opozorilo o napakah + private function survey_errors(){ + global $lang; + + $sd = new SurveyDiagnostics($this->anketa); + $sd->doDiagnostics(); + $diagnostic = $sd->getDiagnostic(); + if (is_array($diagnostic) && count($diagnostic) > 0) { + + echo '
'; + echo '
'; + echo ' '.$lang['srv_warning']; + echo ''; + echo '
'; + echo $lang['srv_publication_survey_warnings'].'\''.$lang['srv_testiranje'].'\'.'; + echo '
'; + } + } + + function anketa_vabila_drugo() { + global $lang, $site_url, $global_user_id; - echo '
'; - echo '
'; - echo '
'; + $d = new Dostop(); + + # Opozorilo o napakah + $this->survey_errors(); + + # Opozorilo - anketa ni aktivna + $this->activation_error(); + + // Preverimo, ce je funkcionalnost v paketu, ki ga ima uporabnik + $userAccess = UserAccess::getInstance($global_user_id); + + // Več načinov deljenja ankete + echo '
'.$lang['srv_publication_survey_more'].'
'; + + echo '
'; + + //QR koda + echo '
'; + echo '
'; + echo '
'; + echo $lang['srv_anketa_href_friends']; + echo '
'; + //echo $lang['srv_anketa_href_friends_text']; + echo '
'; + + //jazvem + echo '
'; + echo '
'; + echo '
'; + echo $lang['srv_anketa_href_jazvem']; + echo '
'; + //echo $lang['srv_anketa_href_friends_text']; + echo '
'; + + echo '
'; + + echo '
'; + + // Več načinov deljenja ankete + echo '
'.$lang['srv_publication_survey_integration'].'
'; + + echo '
'; + + //HTML koda + echo '
'; + echo '
'; + echo '
'; + echo $lang['srv_anketa_href']; + echo '
'; + //echo $lang['srv_anketa_href_text']; + echo '
'; + + //HTML koda + števec + echo '
'; + echo '
'; + echo '
'; + echo $lang['srv_anketa_href_count']; + echo '
'; + //echo $lang['srv_anketa_href_count_text']; + echo '
'; + + // iFrame - brez js + echo '
'; + echo '
'; + echo '
'; + echo $lang['srv_anketa_href_inojs']; + echo '
'; + //echo $lang['srv_anketa_href_inojs_text']; + echo '
'; + + // iFrame - js + echo '
'; + echo '
'; + echo '
'; + echo $lang['srv_anketa_href_ijs']; + echo '
'; + //echo $lang['srv_anketa_href_ijs_text']; + echo '
'; + + + + echo '
'; + echo ''; + } function niceUrlSettings() { @@ -2346,6 +2772,12 @@ class SurveyAdminSettings { $p = new Prevajanje($this->anketa); $p->dostop(); $lang_array = $p->get_all_translation_langs(); + + $row = SurveyInfo::getInstance()->getSurveyRow(); + + $p->include_lang($p->lang_resp); + $base_lang_resp = $lang['language']; + $p->include_base_lang(); $link = SurveyInfo::getSurveyLink(); $preview_disableif = SurveySetting::getInstance()->getSurveyMiscSetting('preview_disableif'); @@ -2354,195 +2786,138 @@ class SurveyAdminSettings { $preview_displayvariables = SurveySetting::getInstance()->getSurveyMiscSetting('preview_displayvariables'); $preview_hidecomment = SurveySetting::getInstance()->getSurveyMiscSetting('preview_hidecomment'); $preview_options = ''.($preview_disableif==1?'&disableif=1':'').($preview_disablealert==1?'&disablealert=1':'').($preview_displayifs==1?'&displayifs=1':'').($preview_displayvariables==1?'&displayvariables=1':'').($preview_hidecomment==1?'&hidecomment=1':'').''; - - - echo '
'.$lang['srv_publication_base_title'].''; - - // Predogled url - echo '
'; - - echo '

' . $lang['srv_poglejanketo2'] . ''; - echo '('.$lang['srv_preview_text'].')

'; - echo '

' . $lang['url'] . ': ' . $link . '&preview=on'.$preview_options.'

'; - - echo '
'; - - // Test url - if($this->survey_type > 1){ - echo '
'; - - echo '

' . $lang['srv_survey_testdata2'] . ''; - echo '('.$lang['srv_testdata_text'].')

'; - echo '

'.$lang['url'] . ': ' . $link . '&preview=on&testdata=on'.$preview_options; - echo ' ('.$lang['srv_testrianje_how'].')

'; - - echo '
'; - } - - // Navaden url + echo '
'; - $row = SurveyInfo::getInstance()->getSurveyRow(); + //Zlistamo vse lepe url-je + $title = 0; + $sqll = sisplet_query("SELECT id, link FROM srv_nice_links WHERE ank_id = '$this->anketa' ORDER BY id desc"); + while ($rowl = mysqli_fetch_assoc($sqll)) { - echo '

' . $lang['srv_survey_real'] . ''; - echo '('.$lang['srv_survey_real_savedata'].')

'; + if ($title == 0) { + echo '
'; - echo '' . $lang['url'] . ':  '; - - $p->include_lang($p->lang_resp); - $base_lang_resp = $lang['language']; - $p->include_base_lang(); - - $link1 = $site_url.'a/'.Common::encryptAnketaID($this->anketa); - echo ''.$link1.''.(count($lang_array) > 0 ? ' - '.$base_lang_resp : '').''; - - // Zlistamo vse lepe url-je - $sqll = sisplet_query("SELECT id, link FROM srv_nice_links WHERE ank_id = '$this->anketa' ORDER BY id ASC"); - while ($rowl = mysqli_fetch_assoc($sqll)) { + echo '
'.$lang['srv_publication_survey_niceurl'].'
'; + $title = 1; + } $link_nice = $site_url . $rowl['link']; - echo '
'; - echo ''.$link_nice.''.(count($lang_array) > 0 ? ' - '.$base_lang_resp : '').''; + echo '
'; + echo '
'; + echo ' '; + echo ' '.$site_url.''.$rowl['link'].''; + echo '
'; + + echo ' '; + echo '
'; + echo ' '.$lang['srv_diagnostika_testiranje_copy_url']; + echo '
'; - //echo ''.$site_url.$rowl['link'].''; - //echo ''; + echo '
'; } + - // Imamo vec linkov za skupine + // Povezave za skupine in jezike + // Navaden url + $ss = new SurveySkupine($this->anketa); - $spr_id = $ss->hasSkupine(); + $spr_id = $ss->hasSkupine(); + + $vrednosti = $ss->getVrednosti($spr_id); + + if (count($lang_array) > 0 || $spr_id > 0){ + echo '
'; + + echo '
'.$lang['srv_publication_survey_grouplang'].'
'; + + if (count($lang_array) > 0){ + echo '
'; + echo '
'.$base_lang_resp.''.$lang['srv_nice_url_default_lang'].'
'; + echo '
'; + echo '
'; + + echo '
'; + echo '
'.$lang['srv_nice_url_no_group'].'
'; + echo '
'; + echo ' '; + echo ' '.$link.''; + echo '
'; + + echo '
'; + echo ' '.$lang['srv_diagnostika_testiranje_copy_url']; + echo '
'; + echo '
'; + + } + } + + // Imamo vec linkov za skupine if($spr_id > 0){ - $vrednosti = $ss->getVrednosti($spr_id); + foreach($vrednosti as $vrednost){ + $link_skupine = isset($vrednost['nice_url']) ? $vrednost['nice_url'] : $vrednost['url']; - echo '
'; - echo ''.$link_skupine.''.(count($lang_array) > 0 ? ' - '.$base_lang_resp : '').' - '.$vrednost['naslov'].''; + + echo '
'; + echo '
'.$vrednost['naslov'].'
'; + echo '
'; + echo ' '; + echo ' '.$link_skupine.''; + echo '
'; + + echo '
'; + echo ' '.$lang['srv_diagnostika_testiranje_copy_url']; + echo '
'; + echo '
'; } } // Imamo vec linkov za jezike if (count($lang_array) > 0) { + foreach ($lang_array AS $lang_id => $lang_name) { - echo '
'; - echo ''.$link.'?language='.$lang_id.' - '.$lang_name.''; + + echo '
'; + echo '
'.$lang_name.'
'; + echo '
'; + echo '
'; + + echo '
'; + echo '
'.$lang['srv_nice_url_no_group'].'
'; + echo '
'; + echo ' '; + echo ' '.$link.'?language='.$lang_id.''; + echo '
'; + + echo '
'; + echo ' '.$lang['srv_diagnostika_testiranje_copy_url']; + echo '
'; + echo '
'; if($spr_id > 0){ foreach($vrednosti as $vrednost){ + $link_skupine = isset($vrednost['nice_url']) ? $vrednost['nice_url'] : $vrednost['url']; - echo '
'; - echo ''.$link_skupine.'&language='.$lang_id.' - '.$lang_name.' - '.$vrednost['naslov'].''; + + echo '
'; + echo '
'.$vrednost['naslov'].'
'; + echo '
'; + echo ' '; + echo ' '.$link_skupine.'&language='.$lang_id.''; + echo '
'; + + echo '
'; + echo ' '.$lang['srv_diagnostika_testiranje_copy_url']; + echo '
'; + echo '
'; } } } } - - echo '
'; - - echo '
'; - - - echo '
'; - - - // Okno za dodajanje lepega url-ja - echo '
'.$lang['srv_nice_url'].''; - - // Zlistamo vse lepe url-je - $sqll = sisplet_query("SELECT id, link FROM srv_nice_links WHERE ank_id = '$this->anketa' ORDER BY id ASC"); - while ($rowl = mysqli_fetch_assoc($sqll)) { - - echo ''; - echo ''.$site_url.$rowl['link'].''; - - // Remove nice url - echo ''; - - echo '
'; - } - - echo '
'; - - // Preverimo, ce je funkcionalnost v paketu, ki ga ima uporabnik - $userAccess = UserAccess::getInstance($global_user_id); - if(!$userAccess->checkUserAccess($what='nice_url')){ - $userAccess->displayNoAccess($what='nice_url'); - } - else{ - // Gumb za dodajanje lepega linka - //echo '
' . $lang['srv_nice_url'] . ' '.Help::display('srv_nice_url'); - echo ' '.Help::display('srv_nice_url'); - - - echo '


'; - - echo $site_url.' '; - - echo '
'; - echo '
'; - - if (isset($_GET['error'])) { - - // Prekratek lep url - if(strlen($_GET['error']) <= 2) - echo '

'.$_GET['error'].' '.$lang['srv_nice_url_short'].''; - // Predolg lep url - elseif(strlen($_GET['error']) > 20) - echo '

'.$_GET['error'].' '.$lang['srv_nice_url_long'].''; - // Ze obstaja - else - echo '

'.$_GET['error'].' '.$lang['srv_nice_url_taken'].''; - } - - echo ''; - } - - echo '

'; - - echo '
'; } - function anketa_vabila_url() { - echo ''; - echo ''; - - echo ''; - - echo ''; - - echo ''; - echo '
'; - $this->displayInvSurveyEmbed(); - - // Embed v popup je zaenkrat disablan zaradi cross domain omejitev browserjev - //$this->displayInvSurveyPopup(); - echo ''; - $this->displayInvSurveyLink(); - echo '
'; - } - - function displayInvSurveyEmbed() { - global $lang; - - echo '
'; - echo ''.$lang['srv_embed_title'].':'; - - echo '

'.$lang['srv_embed_js'].Help :: display('srv_embed_js').'

'; - echo '

'; - - echo '

'.$lang['srv_embed_fixed'].Help :: display('srv_embed_fixed').'

'; - echo '

'; - - - echo '
'; - - if ($_GET['js'] == 'open') { - ?>'; } - function displayInvSurveyLink() { - global $lang, $site_url, $admin_type; - - $row = SurveyInfo::getInstance()->getSurveyRow(); - - echo '
'; - echo '' . $lang['srv_user_base_url'] . ''; - - echo '

'; - echo '

'.$lang['srv_anketa_href_text'].'

'; - echo '

'; - echo '

'.$lang['srv_anketa_href_count_text'].'

'; - - echo '
'; - - // Prikaz QR kode - $img = 'classes/phpqrcode/imgs/code'.$this->anketa.'.png'; - QRcode::png(SurveyInfo::getSurveyLink(), $img, 'L', 4, 2); - - echo ''; -# echo '

'.$lang['srv_qr_code'].':
'; - echo '

'; - echo ''; - echo '
'; - - // Prikaz ikon za deljenje (FB, twitter...) - echo '

'; - - ?> -

- - - - - - - - - | - -
- - - - - '; - echo '
'; - } /** * nastavitve za obveščanje na email * @@ -2664,10 +2974,9 @@ class SurveyAdminSettings { echo ''; - echo '
'; - if ($_GET['s'] == '1') { + if (isset($_GET['s']) && $_GET['s'] == '1') { echo '
'; - echo ''; + echo ''; } #echo ''; @@ -2686,7 +2995,6 @@ class SurveyAdminSettings { SurveyInfo::getInstance()->SurveyInit($this->anketa); $row = SurveyInfo::getInstance()->getSurveyRow(); - //return '<iframe id="1ka" src="'.$site_url.'main/survey/index.php?anketa='.$this->anketa.'" scrolling="auto" frameborder="0" width="100%"></iframe><script type="text/javascript">function r(){var a=window.location.hash.replace("#","");if(a.length==0)return;document.getElementById("1ka").style.height=a+"px";window.location.hash=""};window.setInterval(\\\'r()\\\',100);</script>'; $iframe = ''; $javascript = ''; @@ -2722,9 +3030,11 @@ class SurveyAdminSettings { global $lang; global $site_url; global $admin_type; - global $app_settings; $anketa = $this->anketa; + + $preklici_url = ltrim(str_replace("&s=1","",$_SERVER['REQUEST_URI']),"/"); + $preklici_url = "'". $site_url . $preklici_url . "'"; /* moznosti: * 'complete' -> obvsetilo o izpolnjeni anketi (respondent, respondent iz cms, avtor + dostop, dodatn-emaili) @@ -2772,7 +3082,7 @@ class SurveyAdminSettings { if ($tab == 'complete') { - //echo '

' . $lang['srv_alert_title'] . '

'."\n"; + //Obveščanje o izpolnjeni anketi echo '
' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; @@ -2780,60 +3090,75 @@ class SurveyAdminSettings { echo ' ' . "\n"; - echo '
'. "\n"; - echo ' ' . $lang['srv_alert_prejemnik'] . ''. "\n"; - - // respondent - ne prikazemo ce gre za glasovanje oz. volitve + echo '
'; + echo ' ' . $lang['srv_alert_completed_2'] . ''; + + echo '
'; + echo ''.$lang['srv_alert_completed_prejemniki'].''; + + // respondent - ne prikazemo ce gre za glasovanje oz. volitve if($rowS['survey_type'] != 0 && !SurveyInfo::getInstance()->checkSurveyModule('voting')){ - echo '

'; - echo ''; - echo ''; + echo '

'; + + //echo ''; $this->display_alert_label('finish_respondent',($rowAlert['finish_respondent'] == 1)); - echo ''. "\n"; + echo '
'; + // Ce imamo vec prevodov omogocimo za vsak prevod svoj email $this->display_alert_label('finish_respondent_language',($rowAlert['finish_respondent'] == 1)); - echo '

'; + } - // respondent iz cms ne prikazemo ce gre za volitve + // respondent iz cms ne prikazemo ce gre za volitve if(!SurveyInfo::getInstance()->checkSurveyModule('voting')){ - echo '

'; - echo ''; + echo '

'; + + //echo ''; $this->display_alert_label('finish_respondent_cms',($rowAlert['finish_respondent_cms'] == 1)); - echo '

'. "\n"; + + echo '
'; } - // avtor ankete oz osebe z dostopom - //echo '

'; - echo '

'; - echo ''; + //Avtor ankete oz. souredniki + echo '

'; + echo ''; $this->display_alert_label('finish_author',($rowAlert['finish_author'] == 1)); - echo '

'; + echo '
'; - // posebej navedeni maili - echo '

'; - echo ' '; + //Posebej navedeni maili + echo '

'; + echo ''; + echo ' '; echo ' '; - if ($rowAlert['finish_other_if']>0) { if ($b==null) $b = new Branching($this->anketa); $b->conditions_display($rowAlert['finish_other_if']); } - echo '

'; - - echo '

'; - echo '' . - '' . - '

'; - - echo '
'; - - - echo '
'; + if ($rowAlert['finish_other_if']>0) { if ($b==null) $b = new Branching($this->anketa); $b->conditions_display($rowAlert['finish_other_if']); } + echo ''; + + echo '
'; - echo '
'; - echo '' . $lang['srv_alert_oblika'] . ''; - echo '
'; - echo '

'; - echo '

'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + + echo '
'; + + echo '
'; + echo '
'; + + echo '

'.$lang['message_content'].'

'; + + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + if ($rowAlert['finish_text'] != '') { $text = $rowAlert['finish_text']; } @@ -2845,97 +3170,136 @@ class SurveyAdminSettings { } // prikaze editor za ne-spremenljivko (za karkoli druzga pac) - echo '

'; - echo ' '; - echo '

'; - echo '
'; - echo '
'; - echo '
'; - echo $lang['srv_alert_instruction1']; + echo '
'; + + echo ''; + echo ''; + + echo '
'; + echo '
'; + + //Navodila na desni + echo '
'; + echo '
'; + echo '

'.$lang['srv_alert_instruction1'].'

'; + echo '

'.$lang['srv_alert_instruction1a'].':

'; + + echo '
'; + // ta se skriva, potreben respondent iz CMS, da dobi NAME echo ''.$lang['srv_alert_instruction2'].''; - echo $lang['srv_alert_instruction_survey'].'
'; - echo $lang['srv_alert_instruction_date'].'
'; - echo $lang['srv_alert_instruction_site'].'
'; - echo $lang['srv_alert_instruction_url'].'
'; - echo $lang['srv_alert_instruction_pdf'].'
'; - echo $lang['srv_alert_instruction_rtf'].'
'; - + echo '

'.$lang['srv_alert_instruction_survey'].'

'; + echo '

'.$lang['srv_alert_instruction_date'].'

'; + echo '

'.$lang['srv_alert_instruction_site'].'

'; + echo '

'.$lang['srv_alert_instruction_url'].'

'; + echo '

'.$lang['srv_alert_instruction_pdf'].'

'; + echo '

'.$lang['srv_alert_instruction_rtf'].'

'; + $row = SurveyInfo::getInstance()->getSurveyRow(); # če imamo prepoznavanje uporabnik iz CMS, potem ponudimo tudi META_REFERAL_URL - echo $lang['srv_alert_instruction_meta_referer_url'].'
'; - echo $lang['srv_alert_instruction_system']; - echo $lang['srv_alert_instruction_sample']; - echo $lang['srv_alert_instruction_available']; - -# echo $lang['srv_alert_instruction3']; + if ($rowAlert['finish_respondent_cms'] == 1) + echo '

'.$lang['srv_alert_instruction_meta_referer_url'].'

'; + + echo '
'; + + echo '
'; + $sqlSistemske = sisplet_query("SELECT s.id, s.naslov, s.variable FROM srv_spremenljivka s, srv_grupa g WHERE s.sistem='1' AND s.gru_id=g.id AND g.ank_id='$anketa' ORDER BY g.vrstni_red, s.vrstni_red"); $prefix = ""; + while ($rowSistemske = mysqli_fetch_assoc($sqlSistemske)) { - echo $prefix . '#' . $rowSistemske['variable'] . '#'; - $prefix = ", "; + $prefix = $prefix . $rowSistemske['variable'] . ', '; } - if ($prefix == "") { // ni sistemskih spremenljivk - echo '

'.$lang['srv_alert_no_sys_var'].'

'; + if($prefix != "") { + echo '

'.$lang['srv_alert_instruction_available'].'

'; + echo '

'.rtrim($prefix, ", ").'

'; + echo '

'.$lang['srv_alert_instruction_system'].'

'; + echo '

'.$lang['srv_alert_instruction_sample'].'

'; } - echo ''; - echo '
'; + else{ // ni sistemskih spremenljivk + echo '

'.$lang['srv_alert_no_sys_var'].'

'; + } + + echo '
'; + + echo '
'; - echo '
'; - - echo '
'; - - echo ' '; + echo ''; + + echo ''; + + echo '
'; - echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; - if ($_GET['s'] == '1') { + if (isset($_GET['s']) && $_GET['s'] == '1') { echo '
'; - echo ''; + echo ''; } echo ' '; } else if ($tab == 'expired') { global $site_path, $global_user_id; - //echo '

' . $lang['srv_alert_expired_title'] . '

'."\n"; + //Obveščanje o izteku ankete echo '
' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; - echo '
'. "\n"; - echo ' ' . $lang['srv_alert_expired_time_title'] . ''. "\n"; + + echo '
'; + echo ' ' . $lang['srv_alert_expired_2'] . ''; + + echo '
'; + echo ''; + echo ''; + echo '
'; - echo $lang['srv_alert_expire_days1']; - echo ''; - echo $lang['srv_alert_expire_days2']; - echo $lang['srv_alert_expire_expire_at'] . $rowS['expire'].''.$lang['at'].'00:00
'; - echo $lang['srv_alert_expire_note_at'] . ''.$rowAlert['newdate'].''.$lang['at'].'01:00
'; - echo '
'; + echo '
'; + echo '

'. $lang['srv_alert_expire_expire_at'] .'

'; + echo $rowS['expire'].$lang['at'].'00:00'; + echo '
'; - echo '
'; - echo '
'. "\n"; - echo ' ' . $lang['srv_alert_prejemnik'] . ''. "\n"; - echo '

'; - echo ''; + echo '

'; + echo '

'. $lang['srv_alert_expire_note_at'] .'

'; + echo '

'.$rowAlert['newdate'].''.$lang['at'].'01:00

'; + echo '
'; + + echo '
'; + echo ''.$lang['srv_alert_expire_prejemniki'].''; + + echo '
'; + echo ''; $this->display_alert_label('expire_author',($rowAlert['expire_author'] == 1)); - echo '

'; - echo '

'; - echo '

'; - echo '' . - ' ' . - '

'; - echo '
'; + echo ''; - echo '
'; + echo '
'; + echo ''; + echo '
'; - echo '
'; - echo '
'; - echo '' . $lang['srv_alert_oblika'] . ''; - echo '
'; - echo '

'; + echo '
'; - if ($rowAlert['expire_text'] != ''){ + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + + echo '
'; + + echo '
'; + echo '
'; + + echo '

'.$lang['message_content'].'

'; + + echo '
'; + echo ''; + echo ''; + echo '
'; + + if ($rowAlert['expire_text'] != ''){ $text = $rowAlert['expire_text']; } else{ @@ -2946,56 +3310,81 @@ class SurveyAdminSettings { } // prikaze editor za ne-spremenljivko (za karkoli druzga pac) - echo '

'; - echo ' '; - echo '

'; - echo '
'; - echo '
'; - echo '
'; - echo $lang['srv_alert_instruction1']; - echo $lang['srv_alert_instruction4']; + echo '
'; - echo '
'; - echo '
'; - echo '
'; - echo '
'; - echo ''; - echo '
'; - if ($_GET['s'] == '1') { + echo ''; + echo ''; + + echo ''; + echo ''; + + //Navodila na desni + echo '
'; + echo '
'; + echo '

'.$lang['srv_alert_instruction1'].'

'; + echo '

'.$lang['srv_alert_instruction1a'].':

'; + echo '

'.$lang['srv_alert_instruction4'].'

'; + echo '
'; + echo '
'; + + echo ''; + + echo '
'; + + echo '
'; + echo ''; + echo ''; + echo '
'; + + if (isset($_GET['s']) && $_GET['s'] == '1') { echo '
'; - echo ''; + echo ''; } echo ''; - } else if ($tab == 'active') { - //echo '

' . $lang['srv_alert_active_title'] . '

'."\n"; + } + + // Obveščanje o spremembi aktivnosti ankete + else if ($tab == 'active') { echo '
' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; - echo '
'. "\n"; - echo '' . $lang['srv_alert_prejemnik'] . ''. "\n"; - echo '

'; - echo ''; - $this->display_alert_label('active_author',($rowAlert['active_author'] == 1)); - echo '

'; - echo '

'; - echo '

'; - echo ''; - echo '' . - '

'; - echo '
'; - - echo '
'; - - echo '
'; echo '
'; - echo '' . $lang['srv_alert_oblika'] . ''; - echo '
'; - echo '

' . $lang['srv_alert_oblika_deactivate_note'] . '

'; - echo '

'; + echo '' . $lang['srv_alert_active_2'] . ''; + + echo '
'; + echo ''.$lang['srv_alert_active_prejemniki'].''; + + echo '
'; + echo ''; + $this->display_alert_label('active_author',($rowAlert['active_author'] == 1)); + echo '
'; + + echo '
'; + echo ''; + echo '
'; + + echo '
'; + + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + + echo '
'; + + echo '
'; + echo '
'; + + echo '

'.$lang['message_content'].'

'; + echo '

'.$lang['srv_alert_oblika_deactivate_note'].'

'; + + echo '
'; + echo ''; + echo ''; + echo '
'; if ($rowAlert['active_text0'] != '') { $text0 = $rowAlert['active_text0']; @@ -3006,15 +3395,21 @@ class SurveyAdminSettings { $text0 = nl2br($lang['srv_alert_active_text0'].$signature); } + // prikaze editor za ne-spremenljivko (za karkoli druzga pac) - echo '

'; - echo ' '; - echo '

'; + echo '
'; - echo '
'; - echo '

' . $lang['srv_alert_oblika_activate_note'] . '

'; - echo '

'; + echo ''; + echo ''; + + echo '
'; + + echo '

'.$lang['srv_alert_oblika_activate_note'].'

'; + + echo '
'; + echo ''; + echo ''; + echo '
'; if ($rowAlert['active_text1'] != '') { $text1 = $rowAlert['active_text1']; @@ -3025,55 +3420,81 @@ class SurveyAdminSettings { $text1 = nl2br($lang['srv_alert_active_text1'].$signature); } + + echo '
'; + + echo ''; + echo ''; + + echo '
'; + echo '
'; - echo '

'; - echo ' '; - echo '

'; + //Navodila na desni + echo '
'; + echo '
'; + echo '

'.$lang['srv_alert_instruction1'].'

'; + echo '

'.$lang['srv_alert_instruction1a'].':

'; + echo '

'.$lang['srv_alert_instruction5'].'

'; + echo '
'; + echo '
'; + echo '
'; + + echo '
'; + + echo '
'; + echo ''; + echo ''; echo '
'; - echo '
'; - echo '
'; - echo $lang['srv_alert_instruction1']; - echo $lang['srv_alert_instruction5']; - echo '
'; - echo '
'; - echo '
'; - echo '
'; - echo ''; - echo '
'; - if ($_GET['s'] == '1') { + + if (isset($_GET['s']) && $_GET['s'] == '1') { echo '
'; - echo ''; + echo ''; } echo ''; - } else if ($tab == 'delete') { - //echo '

' . $lang['srv_alert_delete_title'] . '

'."\n"; + } + + else if ($tab == 'delete') { echo '
' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; - echo '
'. "\n"; - echo '' . $lang['srv_alert_prejemnik'] . ''. "\n"; - echo '

'; - echo ''; + //Obveščanje o izbrisu ankete + echo '

'; + echo '' . $lang['srv_alert_surveydelete'] . ''; + + echo '
'; + echo ''.$lang['srv_alert_surveydelete_text'].''; + + echo '
'; + echo ''; $this->display_alert_label('delete_author',($rowAlert['delete_author'] == 1)); - echo '

'; - echo '

'; - echo '

'; - echo ''; - echo ''; - echo '

'; - echo '
'; + echo ''; - echo '
'; + echo '
'; + echo ''; + echo '
'; - echo '
'; - echo '
'; - echo '' . $lang['srv_alert_oblika'] . ''; - echo '
'; - echo '

'; + echo '
'; + + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + + echo '
'; + + echo '
'; + echo '
'; + + echo '

'.$lang['message_content'].'

'; + + echo '
'; + echo ''; + echo ''; + echo '
'; if ($rowAlert['delete_text'] != '') { $text = $rowAlert['delete_text']; @@ -3084,25 +3505,37 @@ class SurveyAdminSettings { $text = nl2br($lang['srv_alert_delete_text'].$signature); } + // prikaze editor za ne-spremenljivko (za karkoli druzga pac) - echo '

'; - echo ' '; - echo '

'; + echo '
'; + + echo ''; + echo ''; + echo '
'; - echo '
'; - echo '
'; - echo $lang['srv_alert_instruction1']; - echo $lang['srv_alert_instruction5']; echo '
'; + + //Navodila na desni + echo '
'; + echo '
'; + echo '

'.$lang['srv_alert_instruction1'].'

'; + echo '

'.$lang['srv_alert_instruction1a'].':

'; + echo '

'.$lang['srv_alert_instruction5a'].'

'; + echo '
'; + echo '
'; + echo '
'; + echo '
'; - echo '
'; - echo ''; - echo '
'; - if ($_GET['s'] == '1') { + + echo '
'; + echo ''; + echo ''; + echo '
'; + + if (isset($_GET['s']) && $_GET['s'] == '1') { echo '
'; - echo ''; + echo ''; } echo '
'; @@ -3153,7 +3586,7 @@ class SurveyAdminSettings { global $global_user_id; global $mysql_database_name; - echo '
'; + echo '
'; echo ''.$lang['srv_user_base_email_server_settings'].''; $row = SurveyInfo::getInstance()->getSurveyRow(); @@ -3161,7 +3594,7 @@ class SurveyAdminSettings { // Opozorilo, ce imamo vklopljena vabila, da gre za iste nastavitve $isEmail = (int)SurveyInfo::getInstance()->checkSurveyModule('email'); if($isEmail) - echo '

'.$lang['srv_email_server_settings_warning'].'

'; + echo '

'.$lang['srv_email_server_settings_warning'].'

'; echo '
' . "\n\r"; @@ -3176,20 +3609,31 @@ class SurveyAdminSettings { // Dostop za posiljanje mailov preko 1ka serverja $enabled1ka = ( $MA->is1KA() || (($admin_type == 0) && ($mysql_database_name == 'www1kasi' || $mysql_database_name == 'test1kasi' || $mysql_database_name == 'real1kasi' || $mysql_database_name == '1kaarnessi')) ) ? true : false; - echo '

'; - echo ''.$lang['srv_email_setting_select_server'].' '; - echo ''; + + echo '

'; + echo ''.$lang['srv_email_setting_select_server'].''; + + echo '
'; + echo 'is1KA() ? 'checked ="checked" ' : '').' '.($enabled1ka ? '' : ' disabled="disabled"').' onclick="$(\'#send_mail_mode1, #send_mail_mode2\').hide();$(\'#send_mail_mode0\').show();">'; + echo ''; + echo '
'; + // Google smtp je viden samo starim, kjer je ze vklopljen - if($MA->isGoogle()){ - echo ''; - } - echo ''; + if($MA->isGoogle()){ + echo '
'; + echo 'isGoogle() ? 'checked ="checked" ' : '').' onclick="$(\'#send_mail_mode0, #send_mail_mode2\').hide(); $(\'#send_mail_mode1\').show();">'; + echo ''; + echo '
'; + } + + echo '
'; + echo 'isSMTP() ? 'checked ="checked" ' : '').' onclick="$(\'#send_mail_mode0, #send_mail_mode1\').hide(); $(\'#send_mail_mode2\').show();">'; + echo ''; echo Help :: display('srv_mail_mode'); - echo '

'; - + echo '
'; + + echo '
'; + #1KA $enkaSettings = $MA->get1KASettings($raziskave=true); @@ -3200,7 +3644,7 @@ class SurveyAdminSettings { echo '

'; echo '

'; # replyTo - echo '

'; + echo '

'; echo '

'; echo ''; @@ -3213,7 +3657,7 @@ class SurveyAdminSettings { echo '

'; echo '

'; # replyTo - echo '

'; + echo '

'; echo '

'; #Password echo '

'; @@ -3223,89 +3667,155 @@ class SurveyAdminSettings { #SMTP $enkaSettings = $MA->getSMTPSettings(); echo '

isSMTP() ? ' class="displayNone"' : '').'>'; - echo ''.$lang['srv_email_setting_adapter2_note'].'
'; - echo '
'.$lang['srv_email_setting_settings'].'
'; + //echo ''.$lang['srv_email_setting_adapter2_note'].'
'; + echo '

'.$lang['srv_email_setting_settings'].'

'; + + echo '
'; + # from - NICE - echo '

'; - echo '

'; + echo '
'; + echo ''.$lang['srv_email_setting_from_nice'].''; + echo ''; + echo '
'; + # from - echo '

'; - echo '

'; + echo '
'; + echo ''.$lang['srv_email_setting_from'].''; + echo ''; + echo '
'; + + echo '
'; + + echo '
'; + # replyTo - echo '

'; - echo '

'; + echo '
'; + echo ''.$lang['srv_email_setting_reply'].Help::display('srv_obvescanje_odgovorZa').''; + echo ''; + echo '
'; + + echo '
'; + + echo '
'; + #Username - echo '

'; - echo '

'; + echo '
'; + echo ''.$lang['srv_email_setting_username'].''; + echo ''; + echo '
'; + #Password - echo '

'; - echo '

'; + echo '
'; + echo ''.$lang['srv_email_setting_password'].''; + echo ''; + echo '
'; + + echo '
'; + + echo '
'; + #autentikacija - echo '

'; - echo $lang['srv_email_setting_autentication']; - echo ''; - echo ''; - echo '

'; + echo '
'; + echo ''.$lang['srv_email_setting_autentication'].''; + + echo '
'; + + echo '
'; + echo ''; + echo ''; + echo '
'; + + echo '
'; + echo ''; + echo ''; + echo '
'; + + echo '
'; + echo '
'; + #Varnost SMTPSecure - echo '

'; - echo $lang['srv_email_setting_encryption']; - echo ''; - echo ''; - echo ''; - echo '

'; + echo '
'; + echo ''.$lang['srv_email_setting_encryption'].''; + echo '
'; + + echo '
'; + echo ''; + echo ''; + echo '
'; + + echo '
'; + echo ''; + echo ''; + echo '
'; + + echo '
'; + echo ''; + echo ''; + echo '
'; + + echo '
'; + echo '
'; + + echo '
'; + + echo '
'; + #port - echo '

'; - echo ' '.$lang['srv_email_setting_port_note']; - echo '

'; + echo '
'; + echo ''.$lang['srv_email_setting_port'].$lang['srv_email_setting_port_note'].''; + echo ''; + echo '
'; + #host - echo '

'; - echo '

'; - #delay - echo '

'; - echo '

'; + echo '
'; + echo ''.$lang['srv_email_setting_host'].''; + echo ''; + echo '
'; + + echo '
'; + + echo '
'; + + #delay + echo '
'; + echo ''.$lang['srv_email_setting_smtp_delay'].' '.Help::display('srv_inv_delay').':'; + echo ''; + echo '
'; + + + echo '
'; - echo '
'; echo '
'; echo '
'; - - - echo '
'; - - // Gumb shrani - echo ''; - + + echo '
'; // Gumb preveri nastavitve - echo ''; + echo ''; + // Gumb shrani + echo ''; + echo '
'; - if ($_GET['s'] == '1') { - echo '
'; - echo ''; + if (isset($_GET['s']) && $_GET['s'] == '1') { + echo ''; } } @@ -3365,7 +3875,6 @@ class SurveyAdminSettings { $sa = new SurveyAdmin(1, $this->anketa); $sa->show_mailto_users('all', null); echo ''; - echo '
'; } else { // pošljemo emaile @@ -3551,91 +4060,140 @@ class SurveyAdminSettings { global $site_url; global $site_path; - echo '
'; - echo '' . $lang['srv_splosna_navodila'] . ''; - - echo '

'.$lang['srv_social_settings_text1'].'

'; - echo '

'.$lang['srv_social_settings_text2'].'

'; - echo '

'.$lang['srv_social_settings_text3'].'

'; - echo '

'.$lang['srv_social_settings_text4'].'

'; - echo '

'.$lang['srv_social_settings_text5'].' http://www.1ka.si/a/3510,

'; - echo '

'.$lang['srv_social_settings_text6'].' '.$lang['srv_library'].' '.$lang['srv_social_settings_text7'].'

'; - echo '

'.$lang['edit2'].''.$lang['srv_social_settings_text8'].'

'; + echo '

'.$lang['srv_social_settings_text1'].'

'; + echo '

'.$lang['srv_social_settings_text2'].$lang['srv_social_settings_text3'].$lang['srv_social_settings_text4'].'

'; + echo '

'.$lang['srv_social_settings_text5'].''.$lang['srv_social_settings_text6'].'.

'; - echo '
'; // Omrežja so sestavljane vprašanja. Začnejo se iz generatorja imen (name generator). S tem respondent (ego) navede objekte, prijatelje - alterje. , s katerim pridobimo imena pzanke in vprašanj. Druga kompnenta je zanka, ki za vse alterje določenega ega sproži enaka vprašanja. Dretja komponenta so vprašanja. Primer omrežja je tukaj, http://www.1ka.si/a/3510, vprašalnik pa najdemo v knjižnjic med Primerov 1KA anket http://www.1ka.si/admin/survey/index.php?a=knjiznica } /** * @desc prikaze tab arhivi */ - function arhivi() {//OSTANE + function arhivi() { global $lang; - echo '
'; + echo '
'; echo '' . $lang['srv_questionnaire_archives'] . ''; - - echo '

' . $lang['srv_backup_label'] . '

'; - echo '

'.$lang['srv_note'].':

'; - - echo ''; - - echo '

'; + + echo '

'.$lang['srv_questionnaire_archives_text'].'

'; + + echo '
'; + echo $lang['srv_questionnaire_archives_note'].':'; + echo ''; + echo '
'; + + echo '
'; + echo ''; + echo '
'; // Seznam ustvarjenih arhivov $sql = sisplet_query("SELECT a.id, a.naslov, a.intro_opomba, a.insert_time, a.edit_time, CONCAT(i.name, ' ', i.surname) AS insert_name, CONCAT(e.name, ' ', e.surname) AS edit_name FROM srv_anketa a, users i, users e WHERE a.insert_uid=i.id AND a.edit_uid=e.id AND a.backup = '$this->anketa' AND a.active>='0' ORDER BY a.insert_time DESC"); if (!$sql) echo mysqli_error($GLOBALS['connect_db']); - if (mysqli_num_rows($sql) > 0) - echo '
' . $lang['srv_backup_list'] . ':'; - - while ($row = mysqli_fetch_array($sql)) { - echo '
'; - echo '' . $row['naslov'] . ' '.($row['intro_opomba']!='' ? ' - '.$row['intro_opomba'].'' : ''); - echo '
(' . $lang['sent_by'] . ': ' . $row['insert_name'].' ' . datetime($row['insert_time']) . ', ' . $lang['edit_by'] . ': ' . $row['edit_name'].' ' . datetime($row['edit_time']) . ')'; - echo '
' . $lang['srv_survey_archives_delete_survey'] . ', ' . $lang['srv_anketarestore'] . ''; - echo '
'; - } - - echo '
'; - } + if (mysqli_num_rows($sql) > 0) { + echo '

' . $lang['srv_backup_list'] . ':

'; - function arhivi_data() { - global $lang; - - echo '
'; - echo '' . $lang['srv_arhiv_data'] . ''; - - echo '

' . $lang['srv_backup_data_label'] . '

'; - - echo ''; + echo ''; - echo '

'; - - $backups = array(); - if ($handle = opendir( dirname(__FILE__) . '/SurveyBackup/' )) { - while (false !== ($entry = readdir($handle))) { - if ($entry != "." && $entry != "..") { - $file = explode('-', $entry); - if ($file[0] == $this->anketa) { - $backups[] = $entry; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + while ($row = mysqli_fetch_array($sql)) { + echo ''; + echo ''; + echo ''; + + if ($row['intro_opomba']=='') + $opomba = "/"; + else if (strlen($row['intro_opomba']) > 40) + $opomba = substr($row['intro_opomba'], 0, 37).'...'; + else + $opomba = $row['intro_opomba']; + + echo ''; + + //Ikone + echo ''; + + echo ''; + } + + echo '
'.$lang['srv_questionnaire_archives_date'].''.$lang['srv_questionnaire_archives_by'].''.$lang['srv_questionnaire_archives_note2'].'
'.datetime($row['insert_time']).''.$row['insert_name'].''.$opomba.''; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + + } + + + + echo '
'; + } + + function arhivi_data() { + global $lang; + + echo '
'; + echo '' . $lang['srv_arhiv_data'] . ''; + + echo '

'.$lang['srv_backup_data_text'].'

'; + + echo '
'; + echo ''; + echo '
'; + + // Seznam ustvarjenih arhivov - 2. faza: kdo je arhiviral, opomba, možnost izbrisa + $backups = array(); + if ($handle = opendir( dirname(__FILE__) . '/SurveyBackup/' )) { + while (false !== ($entry = readdir($handle))) { + if ($entry != "." && $entry != "..") { + $file = explode('-', $entry); + if ($file[0] == $this->anketa) { + $backups[] = $entry; } } } closedir($handle); } if (count($backups) > 0) { - echo '
' . $lang['srv_backup_data_list'] . ':'; + echo '

' . $lang['srv_backup_data_list'] . ':

'; + + echo ''; + + echo ''; + echo ''; + echo ''; + echo ''; + foreach ($backups AS $file) { $e = explode('-', $file); $e[2] = str_replace('.1ka', '', $e[2]); - echo '
'.$e[1].' '.$e[2].' - '.$lang['srv_anketarestoredata'].''; + $e[2] = str_replace('.', ':', $e[2]); + $e[2] = substr($e[2], 0, -3); + + echo ''; + echo ''; + + + //Ikone + echo ''; + + echo ''; + } - echo '

'; + echo '
'.$lang['srv_questionnaire_archives_date'].'
'.$e[1].' '.$e[2].''; + echo '
'; + //echo ''; + echo ''; + echo '
'; + echo '
'; } echo '
'; @@ -3644,94 +4202,115 @@ class SurveyAdminSettings { function arhivi_testdata() { global $lang; - $str_testdata = "SELECT count(*) FROM srv_user WHERE ank_id='".$this->anketa."' AND (testdata='1' OR testdata='2')"; - $query_testdata = sisplet_query($str_testdata); - list($testdata) = mysqli_fetch_row($query_testdata); - - $str_testdata_auto = "SELECT count(*), add_date, add_uid FROM srv_testdata_archive WHERE ank_id='".$this->anketa."' GROUP BY add_date"; - $query_testdata_auto = sisplet_query($str_testdata_auto); - $auto_testdata = array(); - while (list($_cnt, $_date, $_uid) = mysqli_fetch_row($query_testdata_auto) ) { - $testdata_auto+=$_cnt; - $auto_testdata[] = $cnt; - } - echo '
'; echo ''.$lang['srv_arhiv_testdata'].''; - - echo $lang['srv_archive_test_data_count'].(int)$testdata; - if ($testdata_auto > 0) { - echo $lang['srv_archive_test_data_auto'].(int)$testdata_auto; + + $link = SurveyInfo::getSurveyLink(); + $surveyName = SurveyInfo::getInstance()->getSurveyTitle(); + + $preview_disableif = SurveySetting::getInstance()->getSurveyMiscSetting('preview_disableif'); + $preview_disablealert = SurveySetting::getInstance()->getSurveyMiscSetting('preview_disablealert'); + $preview_displayifs = SurveySetting::getInstance()->getSurveyMiscSetting('preview_displayifs'); + $preview_displayvariables = SurveySetting::getInstance()->getSurveyMiscSetting('preview_displayvariables'); + $preview_hidecomment = SurveySetting::getInstance()->getSurveyMiscSetting('preview_hidecomment'); + $preview_options = '' . ($preview_disableif == 1 ? '&disableif=1' : '') . ($preview_disablealert == 1 ? '&disablealert=1' : '') . ($preview_displayifs == 1 ? '&displayifs=1' : '') . ($preview_displayvariables == 1 ? '&displayvariables=1' : '') . ($preview_hidecomment == 1 ? '&hidecomment=1' : '') . ''; + + echo '

'.$lang['srv_archive_test_data_text1'].''.$lang['srv_archive_test_data_text1a'].''.$lang['srv_archive_test_data_text2'].''.$lang['srv_archive_test_data_text2a'].''.$lang['srv_archive_test_data_text3'].'

'; + + //Nimamo nobenih vnosov + $str_testdata_any = "SELECT count(*) as cnt, time_insert as time FROM srv_user WHERE ank_id='".$this->anketa."' AND (testdata='1' OR testdata='2') GROUP BY day(time_insert)"; + $query_testdata_any = sisplet_query($str_testdata_any); + list($testdata_any) = mysqli_fetch_row($query_testdata_any); + if ((int)$testdata_any == 0) { + echo '

'.$lang['srv_archive_test_data_none1']. $surveyName . $lang['srv_archive_test_data_none2'] . $lang['srv_archive_test_data_none3'].'.

'; + } + else { // Imamo vnose, izpišemo eno ali obe tabeli + + // Avtomatski vnosi + $str_testdata = "SELECT count(*) as cnt, time_insert as time FROM srv_user WHERE ank_id='".$this->anketa."' AND (testdata='2') GROUP BY day(time_insert)"; + $query_testdata = sisplet_query($str_testdata); + $table_exists1 = 0; + while ($testdata = mysqli_fetch_array($query_testdata)) { + // Izpišemo naslov in začetek tabele + if($table_exists1==0 && $testdata['cnt']!=0) { + echo '

'.$lang['srv_archive_test_data_timeline_auto'].$surveyName.':

'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + $table_exists1=1; + } + + echo ''; + echo ''; + echo ''; + echo ''; + } + + if($table_exists1==1) { + echo '
'.$lang['srv_archive_test_data_date'].''.$lang['srv_archive_test_data_count'].'
'.date("d.m.Y",strtotime($testdata['time'])).''.$testdata['cnt'].'
'; + } + + // Ročni vnosi + $str_testdata = "SELECT count(*) as cnt, time_insert as time FROM srv_user WHERE ank_id='".$this->anketa."' AND (testdata='1') GROUP BY day(time_insert)"; + $query_testdata = sisplet_query($str_testdata); + $table_exists2 = 0; + while ($testdata = mysqli_fetch_array($query_testdata)) { + // Izpišemo naslov in začetek tabele + if($table_exists2==0 && $testdata['cnt']!=0) { + echo '

'.$lang['srv_archive_test_data_timeline_manual'].$surveyName.':

'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + $table_exists2=1; + } + + echo ''; + echo ''; + echo ''; + echo ''; + } + + if($table_exists2==1) { + echo '
'.$lang['srv_archive_test_data_date'].''.$lang['srv_archive_test_data_count'].'
'.date("d.m.Y",strtotime($testdata['time'])).''.$testdata['cnt'].'
'; + } } - echo '
'; } function arhivi_survey() { global $lang; - // Uvoz/izvoz samo ankete - po novem je uvoz pri kreiranju ankete + // Izvoz samo ankete if($_GET['m'] == 'survey'){ echo '
'; - echo ''.$lang['srv_survey_archives_ie_title'].''; - - echo '

'.$lang['srv_survey_archives_note_survey'].'

'; - - // Izvoz - echo '

'; - echo ''.$lang['srv_survey_archives_export'].''; - echo '
'.$lang['srv_survey_archives_export_text']; - echo ''.$lang['srv_survey_archives_export_save'].''; - echo '

'; - - echo '

'; + echo ''.$lang['srv_survey_archives_ie_title'].Help::display('srv_arhiv_vprasalnik').''; - // Uvoz - /*echo '

'; - echo ''.$lang['srv_survey_archives_import'].''; - echo '
'.$lang['srv_survey_archives_import_text']; - echo '
'.$lang['srv_survey_archives_import_import'].''; - echo '
'; - echo '

'; - echo '

';*/ - + echo '

'.$lang['srv_survey_archives_note_survey'].'

'; + + echo '
'; + echo ''; + echo '
'; + echo '
'; } - // Uvoz/izvoz ankete s podatki - po novem je uvoz pri kreiranju ankete + + // Izvoz ankete s podatki else{ echo '
'; - echo ''.$lang['srv_survey_archives_ie_data_title'].''; - - echo '

'.$lang['srv_survey_archives_note_survey_data'].'

'; - - // Izvoz - echo '

'; - echo ''.$lang['srv_survey_archives_export'].''; - echo '
'.$lang['srv_survey_archives_export_text']; - echo ''.$lang['srv_survey_archives_export_save'].''; - echo '

'; - - echo '

'; - - // Uvoz - /*echo '

'; - echo ''.$lang['srv_survey_archives_import'].''; - echo '
'.$lang['srv_survey_archives_import_text']; - echo '
'.$lang['srv_survey_archives_import_import'].''; - echo '
'; - echo '

'; - echo '

';*/ - + echo ''.$lang['srv_survey_archives_ie_data_title'].Help::display('srv_arhiv_podatki').''; + + echo '

'.$lang['srv_survey_archives_note_survey_data'].'

'; + + echo '
'; + echo ''; + echo '
'; + echo '
'; } } @@ -3770,7 +4349,7 @@ class SurveyAdminSettings { if ($anketa > 0) $this->anketa = $anketa; - $site = $_GET['site']; + $site = isset($_GET['site']) ? $_GET['site'] : 0; SurveyCopy :: setSrcSurvey($this->anketa); SurveyCopy :: setSrcConectDb($connect_db); @@ -3780,7 +4359,7 @@ class SurveyAdminSettings { $napake = SurveyCopy :: getErrors(); - if (count($napake) > 0) + if (is_countable($napake) && count($napake) > 0) print_r($napake); if (!$new_anketa_id) @@ -3892,11 +4471,9 @@ class SurveyAdminSettings { echo ''; echo ''; - echo '
'; - - if ($_GET['s'] == '1') { + if (isset($_GET['s']) && $_GET['s'] == '1') { echo '
'; - echo ''; + echo ''; } } @@ -3907,6 +4484,10 @@ class SurveyAdminSettings { global $site_url; global $lang; + $preklici_url = ltrim(str_replace("&s=1","",$_SERVER['REQUEST_URI']),"/"); + $preklici_url = "'". $site_url . $preklici_url . "'"; + + SurveySetting::getInstance()->Init($this->anketa); if (count($_POST) > 0 && (isset($_POST['uporabnost_link']) || isset($_POST['uporabnost_razdeli']))) { @@ -3938,52 +4519,59 @@ class SurveyAdminSettings { if ($row['uporabnost_link'] == '') $row['uporabnost_link'] = 'http://'; - echo '

'.$lang['srv_uporabnost_link'].'

'; - echo '

'.$lang['srv_uporabnost_warning'].'

'; - echo '

Link:

'; + echo '

'.$lang['srv_vrsta_survey_note_4_3b'].'

'; + + echo '
'; + echo '

'.$lang['srv_uporabnost_link'].'

'; + echo ''; + echo '
'; $uporabnost_razdeli = SurveySetting::getInstance()->getSurveyMiscSetting('uporabnost_razdeli'); - echo '

'.$lang['srv_uporabnost_razdeli'].': '.$lang['srv_vodoravno'].' '.$lang['srv_navpicno'].' ('.$lang['srv_razdeli_dodatno'].')

'; - echo '
'; + echo '
'; + echo ''.$lang['srv_uporabnost_razdeli'].':'; - echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + + echo '
'; + + echo '

'.$lang['srv_uporabnost_warning'].'

'; + + + echo '
'; echo '
'.$lang['srv_uporabnost_nadaljne'].''; - echo '

'.$lang['srv_uporabnost_link_stran'].'

'; + echo '

'.$lang['srv_uporabnost_link_stran'].'

'; $sqlg = sisplet_query("SELECT id, naslov FROM srv_grupa WHERE ank_id = '$this->anketa' ORDER BY vrstni_red ASC"); while ($rowg = mysqli_fetch_array($sqlg)) { $link = SurveySetting::getInstance()->getSurveyMiscSetting('uporabnost_link_'.$rowg['id']); if ($link == '') $link = 'http://'; - echo '

'.$rowg['naslov'].':

'; + + echo '
'; + echo '

'.$rowg['naslov'].':

'; + echo ''; + echo '
'; } echo '
'; - echo '
'; - - //echo '

'; - echo ''; - echo ''; - echo ''; - - echo '
'; - echo '
'; + // Gumb shrani + echo '
'; + echo ''; + echo ''; + echo '
'; echo ''; - - /*echo '
'.$lang['srv_upora_dodatno'].''; - echo '

' . $lang['srv_upora_text'] . '

'; - echo '

'.$lang['srv_primer'].'

'; - echo ''; - echo '
';*/ } /** @@ -3994,6 +4582,8 @@ class SurveyAdminSettings { $sdf = SurveyDataFile::get_instance(); $sdf->init($this->anketa); + $sdf->prepareFiles(); + $headFileName = $sdf->getHeaderFileName(); $dataFileName = $sdf->getDataFileName(); $dataFileStatus = $sdf->getStatus(); @@ -4001,15 +4591,17 @@ class SurveyAdminSettings { if ($dataFileStatus== FILE_STATUS_NO_DATA || $dataFileStatus == FILE_STATUS_NO_FILE || $dataFileStatus == FILE_STATUS_SRV_DELETED){ + echo '
'.$lang['srv_no_data'].''; Common::noDataAlert(); + echo '
'; return false; } - if ($_GET['m'] == 'excel') { + /* if ($_GET['m'] == 'excel') { echo '
'; - } else if($_GET['m'] == 'excel_xls') { + } */ if($_GET['m'] == 'excel_xls') { echo ''; } else if($_GET['m'] == 'txt') { - echo ''; + echo ''; } else if($_GET['m'] == 'spss') { echo ''; } else if($_GET['m'] == 'sav') { @@ -4018,134 +4610,212 @@ class SurveyAdminSettings { $row = SurveyInfo::getInstance()->getSurveyRow(); - echo '
'; - echo '
    '; - - if($_GET['m'] != 'export_PDF'){ - echo '
  • '; - echo '' . $lang['srv_dsp_link'] . ''; - echo '
  • '; - } - - // profili statusov - SurveyStatusProfiles :: Init($this->anketa); - SurveyStatusProfiles :: DisplayLink(false); - - # div za profile variabel - SurveyVariablesProfiles :: Init($this->anketa, $global_user_id); - SurveyVariablesProfiles :: DisplayLink(false,false); - SurveyConditionProfiles :: Init($this->anketa, $global_user_id); - SurveyConditionProfiles::DisplayLink(false); - - # div za profile časov - SurveyTimeProfiles :: Init($this->anketa, $global_user_id); - SurveyTimeProfiles::DisplayLink(false,true); - - echo '
'; - echo '
'; - - - if($_GET['m'] != 'export_PDF'){ + //sedaj se prikaze staticno ob vsakem izvozu + /* if($_GET['m'] != 'export_PDF'){ if(session_id() == '') session_start(); - echo '
'; + echo '
'; + + echo '

'.$lang['settings'].'

'; + echo ''; + + + echo '
'; // Izvozi identifikatorje - echo ''; - echo Help::display('exportSettings'); - - echo '
'; - + ' onchange="exportChangeCheckbox(\'exportHiddenSystem\');"/>'; + echo '
'; + // Izvozi podatke - echo '
'; - } + + echo '
'; + + echo '
'; + echo ''; + echo '
'; + + echo ''; + + } */ # v odvisnosti od $_GET['m'] prikazemo podstran - if (!$_GET['m'] || $_GET['m'] == M_EXPORT_EXCEL) { + if ($_GET['m'] == M_EXPORT_EXCEL_XLS) { - echo '
'.$lang['srv_lnk_excel'].''; + echo '
'.$lang['srv_lnk_excel_xls'].''; + + $this->exportSettingsData(); + echo '
'; + + /* echo $lang['srv_izvoz_Excel_xls_labels']; + echo '
'; + + // Izvozi podatke kot stevilske vrednosti + echo '
'; + echo ' + '; + echo '
'; + + // Izvozi podatke kot labele + echo '
'; + echo ' + '; + echo '
'; - echo $lang['srv_izvoz_Excel_note']; - echo $lang['srv_izvoz_Excel_note_2']; - - echo '

'.$lang['srv_izvoz_Excel_settings'].'

'; - echo '

'; - echo ''; - echo ''; - echo ''; - echo '

'; - - echo '

'; - echo '

'; - echo ''; - echo $lang['srv_export_replace1'].' '; - echo $lang['srv_export_replace2'].' '; - echo ''; - echo '
'; - echo '
'; - echo ''; - echo $lang['srv_export_replace1'].' '; - echo $lang['srv_export_replace2'].' '; - echo ''; echo '
'; - echo '

'; - echo '

'; - echo ''; - echo '

'; - + echo '
'; */ + + echo $lang['srv_izvoz_Excel_xls_note1']; + echo '

'; + echo ''; + echo '
'; + + $this->filterNote(); + + echo '

'.$lang['srv_izvoz_Excel_xls_prirocnik'].'

'; echo '
'; - - } elseif ($_GET['m'] == M_EXPORT_EXCEL_XLS) { + } + elseif ($_GET['m'] == M_EXPORT_TXT) { + + echo '
'.$lang['srv_lnk_excel'].''; + + $this->exportSettingsData(); + echo '
'; - echo '
'.$lang['srv_lnk_excel_xls'].''; - echo $lang['srv_izvoz_Excel_xls_note']; - echo $lang['srv_izvoz_Excel_xls_note_2']; - echo '
'; + echo '
'; + echo ''.$lang['srv_expor_excel_cell_delimiter'].Help::display('srv_izvozCSV_locitveni').':'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + + echo '
'; + + echo '
'; + echo ''.$lang['srv_export_texts'].Help::display('srv_izvozCSV_tekst').':'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + + echo '
'; + + echo '
'; + echo ''.$lang['srv_izvoz_txt_format'].''; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + + echo '
'; + + echo $lang['srv_izvoz_Excel_note_a']; + echo '
'; + echo ''; + echo '
'; + + $this->filterNote(); + + echo '

'.$lang['srv_izvoz_Excel_note_2'].'

'; + } elseif ($_GET['m'] == M_EXPORT_SPSS) { - echo '
'.$lang['srv_lnk_spss'].''; - echo $lang['srv_izvoz_SPSS_faq']; - echo $lang['srv_izvoz_SPSS_note']; + echo '
'.$lang['srv_lnk_spss'].''; + + $this->exportSettingsData(); + echo '
'; + + echo '

'.$lang['srv_izvoz_SPSS_faq'].'

'; + echo '

'.$lang['srv_izvoz_SPSS_note'].'

'; + + + echo '

'.$lang['srv_izvoz_step1'].'

'; + echo '
'; + echo '

'.$lang['srv_izvoz_step1_SPSS'].'

'; + echo '
'; + echo ''; + echo '
'; + echo '
'; + + echo '

'.$lang['srv_izvoz_step2'].'

'; + echo '
'; + echo '

'.$lang['srv_izvoz_step2a_SPSS'].'

'; + echo '
'; + echo ''; + echo '
'; + echo '

'.$lang['srv_izvoz_step2b_SPSS'].'

'; + echo '
'; + + echo '

'.$lang['srv_izvoz_step3'].'

'; + echo '
'; + echo '
    '; + echo '
  • '.$lang['srv_izvoz_step3a_SPSS'].'
  • '; + echo '
  • '.$lang['srv_izvoz_step3b_SPSS'].'
  • '; + echo '
  • '.$lang['srv_izvoz_step3c_SPSS'].'
  • '; + echo '
'; + echo '
'; + + echo '

'.$lang['srv_izvoz_step4'].'

'; + echo '
'; + echo '

'.$lang['srv_izvoz_step4_SPSS'].'

'; + echo '
'; + + echo '

'.$lang['srv_izvoz_step5'].'

'; + echo '
'; + echo '

'.$lang['srv_izvoz_step5_SPSS'].'

'; + echo '
'; + + $this->filterNote(); + echo '
'; } - elseif ($_GET['m'] == M_EXPORT_SAV) { + /* elseif ($_GET['m'] == M_EXPORT_SAV) { echo '
'.$lang['srv_lnk_sav'].''; - echo $lang['srv_izvoz_SAV_note']; + echo $lang['srv_izvoz_SAV_note1']; + echo '
'; + echo ''; + echo '
'; + echo '

'.$lang['srv_izvoz_SAV_note2a'].''.$lang['srv_izvoz_SAV_note2b'].''.$lang['srv_izvoz_SAV_note2c'].'

'; + echo '
'; - } - elseif ($_GET['m'] == M_EXPORT_TXT) { - - echo '
'.$lang['srv_lnk_txt'].''; - echo $lang['srv_izvoz_txt_note']; - echo '
'; - } + } */ elseif ($_GET['m'] == 'export_PDF') { $pageBreak = isset($_GET['pageBreak']) ? $_GET['pageBreak'] : 0; @@ -4208,8 +4878,8 @@ class SurveyAdminSettings { } /** * @desc prikaze vnose v anketo - * / - function displayVnosi() {//OSTANE + */ + /*function displayVnosi() {//OSTANE global $lang; $row = SurveyInfo::getInstance()->getSurveyRow(); if ($_GET['m'] == 'SN_izvozi') { @@ -4264,19 +4934,79 @@ class SurveyAdminSettings { } } */ - /** - * @desc prikaze podatke v tabeli - */ - function displayData() { - global $lang; - global $site_url; - //include_once ('DisplaySurveyData.php'); - $dsd = new DisplaySurveyData($this->anketa); - $dsd->display(); - } + // nastavitve glede katere podatke se naj izvozi + private function exportSettingsData(){ + global $lang; + global $global_user_id; - /** + //pridobi nastavitve za export ankete + //kateri podatki so v export se sedaj veze na naketo (0-onlydata, 1-data in paradata, 2-identifikatorji) + $sql_export_mode = sisplet_query("SELECT value FROM srv_user_setting_for_survey ". + "WHERE sid = '" . $this->anketa . "' AND what='default_export_data_mode' AND uid='$global_user_id'"); + $export_mode = 0; + if($sql_export_mode){ + $export_mode = mysqli_fetch_assoc($sql_export_mode); + $export_mode = isset($export_mode['value']) ? $export_mode['value'] : 0; + } + + echo $lang['srv_izvoz_settings_data']; + + echo '
'; + + // Izvozi podatke + echo '
'; + echo ''; + echo '
'; + + // Izvozi podatke in parapodatke + echo '
'; + echo ''; + echo '
'; + + //pridobi header, da vidimo, ce imamo identifikatorje + $SDF = SurveyDataFile::get_instance(); + $SDF->init($this->anketa); + $headFileName = $SDF->getHeaderFileName(); + $HEADERS = unserialize(file_get_contents($headFileName)); + + // Izvozi identifikatorje, ce obstajajo + if((isset($HEADERS['_settings']['count_system_data_variables']) && (int)$HEADERS['_settings']['count_system_data_variables'] > 0)){ + echo '
'; + echo ''; + echo '
'; + } + + echo '
'; + } + + private function filterNote(){ + global $lang; + echo '

'.$lang['srv_izvoz_filter_note'].'


'; + } + + /** + * @desc prikaze podatke v tabeli + */ + function displayData() { + global $lang; + global $site_url; + + //include_once ('DisplaySurveyData.php'); + $dsd = new DisplaySurveyData($this->anketa); + $dsd->display(); + } + + /** * @desc Vrne ID trenutnega uporabnika (ce ni prijavljen vrne 0) */ function uid() { @@ -4332,28 +5062,52 @@ class SurveyAdminSettings { global $global_user_id, $admin_type, $lang; $avtorRow = SurveyInfo::getInstance()->getSurveyRow(); + + echo '

'.$lang['srv_dostop_users_list'].'

'; // Prikazemo samo userje ki lahko urejajo anketo if($show_all == 0){ echo ' ' . "\n"; + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; $sql1 = sisplet_query("SELECT u.name, u.surname, u.id, u.email FROM users u, srv_dostop d WHERE d.ank_id='$this->anketa' AND d.uid=u.id"); while ($row1 = mysqli_fetch_array($sql1)) { - - // Da ga ne pocistimo ce je disablan (sam sebe ne more odstranit in avtorja se ne sme odstranit) + + // Da ga ne pocistimo, ce je disablan (sam sebe ne more odstranit in avtorja se ne sme odstranit) if($avtorRow['insert_uid'] == $row1['id'] || $global_user_id == $row1['id']) echo ' ' . "\n"; - - echo '
' . "\n"; - echo '' . "\n"; - echo ' '; - echo '
' . "\n"; + + echo ''; + + echo ' '; + echo ' '; + echo ' '; + + // Avtor ne rabi ikone za urejanje + echo ' '; + + echo ''; } + + echo '
'; + //echo ''; + echo '' . $lang['srv_dostop_users_username'] . '' . $lang['srv_dostop_users_email'] . '
'.$row1['name'] . ($avtorRow['insert_uid'] == $row1['id'] ? ' (' . $lang['author'] . ')' : '') .''.$row1['email'].''; + if($avtorRow['insert_uid'] != $row1['id']) + echo '
'; + echo '
'; + + //echo ''.$lang['srv_dostop_users_removeselected'].''; + } - // Prikazemo vse userje, ki jih lahko uporabnig dodaja + // Prikazemo vse userje, ki jih lahko uporabnik dodaja else{ $sql1 = $this->db_select_users_forLevel($this->anketa); if ( mysqli_num_rows($sql1) > 0 ) { @@ -4384,6 +5138,55 @@ class SurveyAdminSettings { } } + // Dodajanje uredniskega dostopa do ankete + public function display_add_survey_dostop(){ + global $lang; + global $admin_type; + + echo '

'; + + // Admini in managerji lahko dodajo dostop komurkoli + if($admin_type == 0 || $admin_type == 1){ + echo $lang['srv_dostop_adduserstxt_admin'].' '.AppSettings::getInstance()->getSetting('app_settings-app_name').'. '; + } + // Ostali uporabniki lahko dodajo dostop samo ze registriranim uporabnikom + else{ + echo $lang['srv_dostop_adduserstxt'].' '.AppSettings::getInstance()->getSetting('app_settings-app_name').'! '; + } + + // AAI ima poseben link na help + if(isAAI()){ + echo $lang['srv_dostop_adduserstxt_aai_more']; + } + + echo '

'; + + echo ''; + + echo '
'; + echo ''; + echo ''; + echo '
'; + + echo '

'.$lang['srv_dostop_adduserstxt_end'].'

'; + + //Opcijsko sporočilo + echo '
'; + echo '
'; + echo ''; + echo ''; + echo '
'; + echo '
'; + echo ''; + echo '
'; + echo '
'; + + // Gumb za dodajanje in posiljanje + echo '
'; + echo ''; + echo '
'; + } + /** * @desc Vrne podatke o uporabniku @@ -4419,7 +5222,7 @@ class SurveyAdminSettings { // polovimo tip ankete $str_survey_type = sisplet_query("SELECT survey_type FROM srv_anketa WHERE id = '" . $sid . "'"); $row_survey_type = mysqli_fetch_assoc($str_survey_type); - $this->getSurvey_type = $row_survey_type['survey_type']; + $this->getSurvey_type = isset($row_survey_type['survey_type']) ? $row_survey_type['survey_type'] : null; return $this->getSurvey_type; } @@ -4443,18 +5246,18 @@ class SurveyAdminSettings { case 'finish_respondent_language': // respondent ki je zakljucil anketo v drugem jeziku (mu omogocimo nastavljanje custom maila za obvescanje) if ($isChecked) { - $p = new Prevajanje($anketa); + $p = new Prevajanje($this->anketa); $p->dostop(); $jeziki = $p->get_all_translation_langs(); if(!empty($jeziki)){ $row = SurveyInfo::getInstance()->getSurveyRow(); - echo '
'; foreach($jeziki as $key => $jezik){ - echo ''.$lang['srv_alert_respondent'].' - '.$jezik; - echo ' '; - echo ''; + echo '
'; + echo ''; + echo ''; + echo '
'; } } } @@ -4463,14 +5266,15 @@ class SurveyAdminSettings { case 'finish_respondent': // respondent ki je zakljucil anketo if ($isChecked) { - // preverimo ali obszaja sistemska spremenljivka email če ne jo dodamo + // preverimo, ali obstaja sistemska spremenljivka email, če ne jo dodamo $sqlEmail = sisplet_query("SELECT s.sistem, s.variable, s.id FROM srv_spremenljivka s, srv_grupa g WHERE s.sistem='1' AND s.variable='email' AND s.gru_id=g.id AND g.ank_id='$this->anketa'"); $sqlIme = sisplet_query("SELECT s.sistem, s.variable, s.id FROM srv_spremenljivka s, srv_grupa g WHERE s.sistem='1' AND s.variable='ime' AND s.gru_id=g.id AND g.ank_id='$this->anketa'"); - // ce sta dodani obe sistemski spremenljivki je fse ok + // ce sta dodani obe sistemski spremenljivki, je vse ok $email_ok = $ime_ok = false; if ( mysqli_num_rows($sqlEmail) > 0 && mysqli_num_rows($sqlIme) > 0) { $email_ok = $ime_ok = true; - } else { + } + else { // manjka ena ali obe potrebni sistemski spremenljivki // email je nujen, zato ga dodamo avtomatsko @@ -4480,7 +5284,7 @@ class SurveyAdminSettings { if (in_array('email',$sa->alert_add_necessary_sysvar( array('email') , false))) { $email_ok = true; } - // email v tem primeru spremenimo da je viden, ker gre za alert + // email v tem primeru spremenimo, da je viden, ker gre za alert $sqlEmail = sisplet_query("SELECT s.id FROM srv_spremenljivka s, srv_grupa g WHERE s.sistem='1' AND s.variable='email' AND s.gru_id=g.id AND g.ank_id='$this->anketa'"); $rowEmail = mysqli_fetch_array($sqlEmail); sisplet_query("UPDATE srv_spremenljivka SET visible='1' WHERE id = '$rowEmail[id]'"); @@ -4489,51 +5293,48 @@ class SurveyAdminSettings { $v->spremenljivka = $rowEmail['id']; $v->set_email($reminder=1); - } else { - // email je ze dodan damo tekst za ok + } + else { + // email je ze dodan, damo tekst za ok $email_ok = true; } // preverimo še za ime if ( mysqli_num_rows($sqlIme) == 0 ) { - - } else{ + } + else{ $ime_ok = true; } } - - if($forma) - echo ''; - else - echo ''; + echo ''; + echo ''; if ($email_ok && $ime_ok) { - echo $lang['srv_alert_respondent_note_ok_email_ime']; - echo ' ' . "\n\r"; - - echo ' '; + echo ' '; $sql1 = sisplet_query("SELECT finish_respondent_if FROM srv_alert WHERE ank_id='$this->anketa'"); $row1 = mysqli_fetch_array($sql1); echo ' '; if ($row1['finish_respondent_if']>0) { if ($b==null) $b = new Branching($this->anketa); $b->conditions_display($row1['finish_respondent_if']); } + + echo ''.$lang['srv_alert_respondent_note_ok_email_ime'].' '; } else { if ($ime_ok) { // pomeni da email ni ok! napaka - echo $lang['srv_alert_respondent_note_notok_email']; + echo ''.$lang['srv_alert_respondent_note_notok_email'].''; } else { - // email je ok, ime ni, uporabnika fprasamo ali hoce se ime - echo $lang['srv_alert_respondent_note_ok_email']; - - echo ' '; + // email je ok, ime ni, uporabnika vprasamo, ali hoce se ime + echo ''; $sql1 = sisplet_query("SELECT finish_respondent_if FROM srv_alert WHERE ank_id='$this->anketa'"); $row1 = mysqli_fetch_array($sql1); - echo ' '; + echo ' '; if ($row1['finish_respondent_if']>0) { if ($b==null) $b = new Branching($this->anketa); $b->conditions_display($row1['finish_respondent_if']); } + echo '

'.$lang['srv_alert_respondent_note_ok_email'].'

'; + if(!$forma){ - echo $lang['srv_alert_respondent_note_ime']; - echo '   '.$lang['srv_alert_respondent_note_link'].'' . "\n\r"; + echo '

'.$lang['srv_alert_respondent_note_ime'].''; + echo ' '.$lang['srv_alert_respondent_note_link'].'

'; } } } @@ -4541,20 +5342,16 @@ class SurveyAdminSettings { // preverimo sistemske nastavitve in spremenljivke ime } else { - if($forma) - echo ''; - else - echo ''; + echo ''; + echo ''; } break; case 'finish_respondent_cms': // respondent prepoznan iz CMS ko je izpolnil anketo - //respondent iz cms - //pri hitrih nastavitvah forme prikazemo drug text - if($forma) - echo ''; - else - echo ''; + + //respondent iz cms + echo ''; + echo ''; if ($isChecked) { // preverimo sistemske nastavitve in spremenljivke @@ -4562,34 +5359,49 @@ class SurveyAdminSettings { //$rowCMS = mysqli_fetch_assoc($sqlCMS); $rowCMS = SurveyInfo::getInstance()->getSurveyRow(); if ($rowCMS['user_from_cms'] > 0) { - echo $lang['srv_alert_respondent_cms_note_ok']; - echo ' ' . "\n\r"; - - echo ' '; + echo ' '; $sql1 = sisplet_query("SELECT finish_respondent_cms_if FROM srv_alert WHERE ank_id='$this->anketa'"); $row1 = mysqli_fetch_array($sql1); echo ' '; if ($row1['finish_respondent_cms_if']>0) { if ($b==null) $b = new Branching($this->anketa); $b->conditions_display($row1['finish_respondent_cms_if']); } + echo ''.$lang['srv_alert_respondent_cms_note_ok'].' '; + } else { - echo $lang['srv_alert_respondent_cms_note']; - echo '   '.$lang['srv_alert_respondent_cms_note_link'].'' . "\n\r"; + echo '

'.$lang['srv_alert_respondent_cms_note'].''; + echo ' '.$lang['srv_alert_respondent_cms_note_link'].'

'; } } break; - case 'finish_author': // obveščanje ob izpolnjeni anketi - case 'expire_author': // obveščanje ob poteku ankete - case 'active_author': // obveščanje ob aktivaciji/deaktivaciej ankete - case 'delete_author': // obveščanje ob izbrisu ankete + case 'finish_author': // obveščanje o izpolnjeni anketi + case 'expire_author': // obveščanje o poteku ankete + case 'active_author': // obveščanje o aktivaciji/deaktivaciej ankete + case 'delete_author': // obveščanje o izbrisu ankete + + // preberemo nastavitve alertov + $sqlAlert = sisplet_query("SELECT * FROM srv_alert WHERE ank_id = '$this->anketa'"); + if (!$sqlAlert) + echo mysqli_error($GLOBALS['connect_db']); + + if (mysqli_num_rows($sqlAlert) > 0) { + $rowAlert = mysqli_fetch_array($sqlAlert); + } + else { + SurveyAlert::getInstance()->Init($this->anketa, $global_user_id); + $rowAlert = SurveyAlert::setDefaultAlertBeforeExpire(); + } // avtor ankete - if($forma) - echo ''; - else + if($forma) { + echo ''; + echo ''; + } + else { + echo ''; echo ''; - + } if ($isChecked) { //$sql = sisplet_query("SELECT insert_uid, edit_uid FROM srv_anketa WHERE id='$this->anketa'"); //$row = mysqli_fetch_assoc($sql); @@ -4597,8 +5409,6 @@ class SurveyAdminSettings { $row = SurveyInfo::getInstance()->getSurveyRow(); - echo '
'; - if ($what == 'finish_author') $db_field = 'alert_complete'; else if ($what == 'expire_author') @@ -4623,14 +5433,21 @@ class SurveyAdminSettings { $checked = ($row1[$db_field] == '1') ? ' checked="checked" ' : ''; } - echo '' . "\n\r"; - echo '' . "\n\r"; + echo '
'; + echo '
'; + echo ''; + echo ''; + if ($what == 'finish_author') { - echo ' '; + echo ''; + echo ' '; echo ' '; if ($row1['alert_complete_if']>0) { if ($b==null) $b = new Branching($this->anketa); $b->conditions_display($row1['alert_complete_if']); } + echo ''; } - echo '' . "\n\r"; + echo '
'; + + echo '
'; } // polovimo avtorja pri ostalih obvestilih else{ @@ -4639,14 +5456,21 @@ class SurveyAdminSettings { $sql1 = sisplet_query("SELECT *, uid AS id FROM srv_dostop WHERE ank_id='$this->anketa' AND uid='".$row['insert_uid']."'"); $row1 = mysqli_fetch_array($sql1); - echo '' . "\n\r"; - echo '' . "\n\r"; + echo '
'; + echo '
'; + echo ''; + echo ''; + if ($what == 'finish_author') { - echo ' '; + echo ''; + echo ' '; echo ' '; if ($row1['alert_complete_if']>0) { if ($b==null) $b = new Branching($this->anketa); $b->conditions_display($row1['alert_complete_if']); } + echo ''; } - echo '' . "\n\r"; + echo '
'; + + echo '
'; } @@ -4657,14 +5481,21 @@ class SurveyAdminSettings { if ($row1['id']) { // se zgodi da je prazno za metauserje // avtor je vedno chekiran $checked = ( $row1[$db_field] == '1') ? ' checked="checked"' : ''; - echo '' . "\n\r"; - echo '' . "\n\r"; + echo '
'; + echo '
'; + echo ''; + echo ''; + if ($what == 'finish_author') { - echo ' '; + echo ''; + echo ' '; echo ' '; if ($row1['alert_complete_if']>0) { if ($b==null) $b = new Branching($this->anketa); $b->conditions_display($row1['alert_complete_if']); } + echo ''; } - echo '' . "\n\r"; + echo '
'; + + echo '
'; } } } @@ -4801,13 +5632,14 @@ class SurveyAdminSettings { } function anketa_diagnostika_note($diagnostics,$show_link = false) { global $lang; + $diagnostics->printNote($show_link); - } /** * @desc prikaze dropdown z nastavitvami ankete (globalne, za celo 1ko) -- Prva stran -> Nastavitve -> Sistemske nastavitve + * Sistemske nastavitve: mora biti admin da ima dostop */ function anketa_nastavitve_system() { global $lang; @@ -4816,110 +5648,125 @@ class SurveyAdminSettings { global $admin_type; global $global_user_id; - /* ** Sistemske nastavitve: mora biti admin da ima dostop *** */ + $preklici_url = ltrim(str_replace("&s=1","",$_SERVER['REQUEST_URI']),"/"); + $preklici_url = "'". $site_url . $preklici_url . "'"; - echo '
' . "\n\r"; - if ($admin_type == 0) { + // Ni admin - nima pravic + if ($admin_type != 0) { - echo '' . "\n\r"; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; - echo ' ' . "\n\r"; + echo '
'; + echo $lang['srv_settingsSystemNoRights']; + echo '
'; - echo '
'; - echo '' . $lang['settings'] . ''; - - $result = sisplet_query("SELECT value FROM misc WHERE what='SurveyDostop'"); - list ($SurveyDostop) = mysqli_fetch_row($result); - $result = sisplet_query("SELECT value FROM misc WHERE what='SurveyCookie'"); - list ($SurveyCookie) = mysqli_fetch_row($result); - $result = sisplet_query("SELECT value FROM misc WHERE what='SurveyExport'"); - list ($SurveyExport) = mysqli_fetch_row($result); - $result = sisplet_query("SELECT value FROM misc WHERE what='SurveyForum'"); - list ($SurveyForum) = mysqli_fetch_row($result); - - echo ''; - ?> - -
- '; - ?> - -
- '; - ?> - -
- '; - ?> - -
+ return; + } - '; - echo '' . $lang['srv_edithelp'] . ''; - - echo ''; - Help :: edit_toggle(); - - echo '
'; - //echo '

' . "\n\r"; - echo ' '; - - - $smv = new SurveyMissingValues(); - $smv->SystemFilters(); - - - // save gumb - echo ' '; - - echo ''; - - // div za prikaz uspešnosti shranjevanja - if ($_GET['s'] == '1') { - echo '
'; - echo ''; - } + echo '
'; - } else { - echo $lang['srv_settingsSystemNoRights']; - } - echo '
' . "\n\r"; - + echo '
'; + + echo ' '; + echo ' '; + + + // SISTEMSKE NASTAVITVE (prej v settings_optional.php) + echo '
'.$lang['as_basic'].''; + + echo '
'; + + AppSettings::getInstance()->displaySettingsGroup('basic'); + + // Kdo lahko ureja ankete + echo '
'; + + echo ''; + + $result = sisplet_query("SELECT value FROM misc WHERE what='SurveyDostop'"); + list ($SurveyDostop) = mysqli_fetch_row($result); + + echo ''; + + echo '
'; + + // Default trajanje piskotka + echo '
'; + echo ''; + + $result = sisplet_query("SELECT value FROM misc WHERE what='SurveyCookie'"); + list ($SurveyCookie) = mysqli_fetch_row($result); + + echo ''; + + echo '
'; + + echo '
'; + + echo '
'; + + + // INFO + echo '
'.$lang['as_info'].''; + echo '
'; + AppSettings::getInstance()->displaySettingsGroup('info'); + echo '
'; + echo '
'; + + + // OMEJITVE + echo '
'.$lang['as_limits'].''; + echo '
'; + AppSettings::getInstance()->displaySettingsGroup('limits'); + echo '
'; + echo '
'; + + + // SMTP NASTAVITVE + echo '
'.$lang['as_smtp'].''; + echo '
'; + AppSettings::getInstance()->displaySettingsGroup('smtp'); + echo '
'; + echo '
'; + + + // MODULI + echo '
'.$lang['as_modules'].''; + echo '
'; + AppSettings::getInstance()->displaySettingsGroup('modules'); + echo '
'; + echo '
'; + + + /* Missingi - zakomentirano, prenova po redizajnu + $smv = new SurveyMissingValues(); + $smv->SystemFilters(); + */ + + + // save gumb + echo '
'; + echo ''; + echo ''; + echo '
'; + + // div za prikaz uspešnosti shranjevanja + if (isset($_GET['s']) && $_GET['s'] == '1') { + echo '
'; + echo ''; + } + + + echo ''; } /** @@ -4928,71 +5775,78 @@ class SurveyAdminSettings { */ function anketa_nastavitve_predvidenicasi () { global $lang; - + global $site_url; + + $preklici_url = ltrim(str_replace("&s=1","",$_SERVER['REQUEST_URI']),"/"); + $preklici_url = "'". $site_url . $preklici_url . "'"; + echo '
'; - echo $lang['srv_predvidenicasi_help']; - echo ''; - echo '
'.$lang['srv_stran'].''; - echo '

'.$lang['srv_timing_page'].': s

'; - echo '
'; - - echo '
'.$lang['srv_vprasanja'].''; - echo ''; - echo ''; - for ($tip=1; $tip<= 21; $tip++) { if ($tip <= 8 || $tip >= 16) { + echo '
'.$lang['srv_testiranje_predvidenicas'].''; + + echo '

'.$lang['srv_predvidenicasi_help'].'

'; + + echo '
'; + echo ''; + echo '  s'; + echo '
'; + + echo '

'.$lang['srv_predvidenicasi_note'].'

'; + + echo '
'; + echo '
'; + + echo '
'.$lang['srv_timing_vprasanje'].''.$lang['srv_timing_kategorija'].''.$lang['srv_timing_kategorija_max'].'
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; - echo ''; - echo ''; + for ($tip=1; $tip<= 21; $tip++) { - if ($tip<=3 || $tip==6 || $tip==16 || $tip==17 || $tip==18 || $tip==19 || $tip==20) - echo ''; - - if ($tip==3){ - $kategorija_max = GlobalMisc::getMisc('timing_kategorija_max_'.$tip); - echo ''; - } - echo ''; - - } } + if ($tip <= 8 || $tip >= 16) { + echo ''; + echo ''; + echo ''; + + if ($tip<=3 || $tip==6 || $tip==16 || $tip==17 || $tip==18 || $tip==19 || $tip==20) + echo ''; + else + echo ''; + + if ($tip==3){ + $kategorija_max = GlobalMisc::getMisc('timing_kategorija_max_'.$tip); + echo ''; + } + else + echo ''; + + echo ''; + + } + } echo '
'.$lang['srv_question_type'].''.$lang['srv_timing_vprasanje'].''.$lang['srv_timing_kategorija'].''.$lang['srv_timing_kategorija_max'].'
'.$lang['srv_vprasanje_tip_'.$tip].' s s s' - /*. ''*/ - . '
'.$lang['srv_vprasanje_tip_'.$tip].'  s  s  s
'; - echo '
'; - - echo '
'; - echo ''.$lang['edit1337'].''; + echo '
'; - - echo '
'; + echo '
'; + + echo '
'; + + echo '
'; + echo ''; + echo ''; + echo '
'; echo ''; echo ''; } - - /** prikaze div da so nastavitve shranjene in ga nato skrije - * - */ - function displaySuccessSave() { - global $lang; - echo $lang['srv_success_save']; - } - function tabTestiranje () { global $lang; @@ -5022,20 +5876,20 @@ class SurveyAdminSettings { global $lang; $expected_time = array(); - $expected_time_block = array(); - $block_labels_by_number = array(); + $expected_time_block = array(); + $block_labels_by_number = array(); $expected_vprasanja = array(); $verjetnost = array(); - $verjetnost_block = array(); + $verjetnost_block = array(); - //from php 7.2 this helps to round numbers calculated in bcmod() - without it, it always rounds down to int - bcscale(1); + //from php 7.2 this helps to round numbers calculated in bcmod() - without it, it always rounds down to int + bcscale(1); $sql = sisplet_query("SELECT introduction FROM srv_anketa WHERE id = '$this->anketa'"); $row = mysqli_fetch_array($sql); + $introduction = isset($row['introduction']) ? $row['introduction'] : $lang['srv_intro']; + $expected_vprasanja[0][0] = strlen(strip_tags($introduction)) * GlobalMisc::getMisc('timing_vprasanje_5') / 100; - // nagovor racunamo kot da gre za labelo - $expected_vprasanja[0][0] = strlen(strip_tags($row['introduction'])) * GlobalMisc::getMisc('timing_vprasanje_5') / 100; $expected_vprasanja[0][1] = 1; $expected_vprasanja[0][2] = $lang['srv_vprasanje_tip_5']; $expected_vprasanja[0][3] = $lang['srv_intro_label']; @@ -5043,7 +5897,7 @@ class SurveyAdminSettings { $expected_time[0][0] = $expected_vprasanja[0][0] + GlobalMisc::getMisc('timing_stran'); $expected_time[0][1] = $expected_time[0][0]; - $block_spr_data = $this->get_block_data_by_spr_id(); + $block_spr_data = $this->get_block_data_by_spr_id(); $sql = sisplet_query("SELECT id, naslov, vrstni_red FROM srv_grupa g WHERE g.ank_id='$this->anketa' ORDER BY g.vrstni_red ASC"); while ($row = mysqli_fetch_array($sql)) { @@ -5058,62 +5912,77 @@ class SurveyAdminSettings { $expected_vprasanja[$row1['id']][1] = $this->vprasanje_verjetnost($row1['id']); $expected_vprasanja[$row1['id']][2] = strip_tags($row1['naslov']); $expected_vprasanja[$row1['id']][3] = strip_tags($row['naslov']); - $expected_vprasanja[$row1['id']][4] = strip_tags($block_spr_data[$row1['id']]['label']); + + if(isset($block_spr_data[$row1['id']]['label'])) + $expected_vprasanja[$row1['id']][4] = strip_tags($block_spr_data[$row1['id']]['label']); + else + $expected_vprasanja[$row1['id']][4] = ''; $expected_time[$row['vrstni_red']][0] += $expected_vprasanja[$row1['id']][0] * $expected_vprasanja[$row1['id']][1]; // dejanski $expected_time[$row['vrstni_red']][1] += $expected_vprasanja[$row1['id']][0]; // bruto - z vsemi vprasanji - if ( $expected_vprasanja[$row1['id']][1] > $verjetnost[$row['vrstni_red']]) + if (isset($verjetnost[$row['vrstni_red']]) && $expected_vprasanja[$row1['id']][1] > $verjetnost[$row['vrstni_red']]) $verjetnost[$row['vrstni_red']] = $expected_vprasanja[$row1['id']][1]; } - $expected_time[$row['vrstni_red']][0] += GlobalMisc::getMisc('timing_stran') * $verjetnost[$row['vrstni_red']]; // pri dejanskem trajanju strani upostevamo verjetnost najverjetnejsega vprasanja na strani (stran se pojavi z najvisjo verjetnostjo vseh vprasanj na strani) - $expected_time[$row['vrstni_red']][1] += GlobalMisc::getMisc('timing_stran'); + if(isset($verjetnost[$row['vrstni_red']])) + $expected_time[$row['vrstni_red']][0] += GlobalMisc::getMisc('timing_stran') * $verjetnost[$row['vrstni_red']]; // pri dejanskem trajanju strani upostevamo verjetnost najverjetnejsega vprasanja na strani (stran se pojavi z najvisjo verjetnostjo vseh vprasanj na strani) + + $expected_time[$row['vrstni_red']][1] += GlobalMisc::getMisc('timing_stran'); } - $sql = sisplet_query("SELECT * FROM srv_if as bl LEFT JOIN srv_branching as br ON br.parent = bl.id WHERE bl.enabled='0' AND bl.tip='1' AND br.ank_id = '$this->anketa' ORDER BY bl.number ASC, br.vrstni_red ASC"); - $last_block_st = -1; + $sql = sisplet_query("SELECT * FROM srv_if as bl LEFT JOIN srv_branching as br ON br.parent = bl.id WHERE bl.enabled='0' AND bl.tip='1' AND br.ank_id = '$this->anketa' ORDER BY bl.number ASC, br.vrstni_red ASC"); + $last_block_st = -1; while ($row = mysqli_fetch_array($sql)) { - $new_block = $last_block_st != $row['number']; - if($new_block){ - $last_block_st = $row['number']; - $label = $row['label'] ? $row['label']: $lang['srv_blok'].' '.$last_block_st; - $block_labels_by_number[$last_block_st] = $label; - $expected_time_block[$last_block_st-1][0] = 0; - $expected_time_block[$last_block_st-1][1] = 0; - } - - if(!$row['element_if']){ - $expected_time_block[$last_block_st-1][0] += $expected_vprasanja[$row['element_spr']][0] * $expected_vprasanja[$row['element_spr']][1]; // dejanski - $expected_time_block[$last_block_st-1][1] += $expected_vprasanja[$row['element_spr']][0]; // bruto - z vsemi vprasanji - - if ( $expected_vprasanja[$row['element_spr']][1] > $verjetnost_block[$last_block_st-1]) - $verjetnost_block[$last_block_st-1] = $expected_vprasanja[$row['element_spr']][1]; - } - else{ - $sql1 = sisplet_query("SELECT * FROM srv_branching WHERE parent='".$row['element_if']."' ORDER BY vrstni_red ASC"); - while ($row1 = mysqli_fetch_array($sql1)) { - $expected_time_block[$last_block_st-1][0] += $expected_vprasanja[$row1['element_spr']][0] * $expected_vprasanja[$row1['element_spr']][1]; // dejanski - $expected_time_block[$last_block_st-1][1] += $expected_vprasanja[$row1['element_spr']][0]; // bruto - z vsemi vprasanji - $expected_vprasanja[$row1['element_spr']][4] = $label; - - if ( $expected_vprasanja[$row1['element_spr']][1] > $verjetnost_block[$last_block_st-1]) - $verjetnost_block[$last_block_st-1] = $expected_vprasanja[$row1['element_spr']][1]; - } - } - - if($new_block){ - $expected_time_block[$last_block_st-1][0] += GlobalMisc::getMisc('timing_stran') * $verjetnost_block[$last_block_st-1]; // pri dejanskem trajanju strani upostevamo verjetnost najverjetnejsega vprasanja na strani (stran se pojavi z najvisjo verjetnostjo vseh vprasanj na strani) - $expected_time_block[$last_block_st-1][1] += GlobalMisc::getMisc('timing_stran'); - } + + $new_block = $last_block_st != $row['number']; + + if($new_block){ + $last_block_st = $row['number']; + $label = $row['label'] ? $row['label']: $lang['srv_blok'].' '.$last_block_st; + $block_labels_by_number[$last_block_st] = $label; + $expected_time_block[$last_block_st-1][0] = 0; + $expected_time_block[$last_block_st-1][1] = 0; + } + + if(!$row['element_if']){ + $expected_time_block[$last_block_st-1][0] += $expected_vprasanja[$row['element_spr']][0] * $expected_vprasanja[$row['element_spr']][1]; // dejanski + $expected_time_block[$last_block_st-1][1] += $expected_vprasanja[$row['element_spr']][0]; // bruto - z vsemi vprasanji + + if ( !isset($verjetnost_block[$last_block_st-1]) || $expected_vprasanja[$row['element_spr']][1] > $verjetnost_block[$last_block_st-1]) + $verjetnost_block[$last_block_st-1] = $expected_vprasanja[$row['element_spr']][1]; + } + else{ + $sql1 = sisplet_query("SELECT * FROM srv_branching WHERE parent='".$row['element_if']."' ORDER BY vrstni_red ASC"); + while ($row1 = mysqli_fetch_array($sql1)) { + if(array_key_exists($last_block_st, $expected_time_block)){ + $expected_time_block[$last_block_st-1][0] += $expected_vprasanja[$row1['element_spr']][0] * $expected_vprasanja[$row1['element_spr']][1]; // dejanski + $expected_time_block[$last_block_st-1][1] += $expected_vprasanja[$row1['element_spr']][0]; // bruto - z vsemi vprasanji + $expected_vprasanja[$row1['element_spr']][4] = $label; + + if ( !isset($verjetnost_block[$last_block_st-1]) || $expected_vprasanja[$row1['element_spr']][1] > $verjetnost_block[$last_block_st-1]) + $verjetnost_block[$last_block_st-1] = $expected_vprasanja[$row1['element_spr']][1]; + } + } + } + + if($new_block){ + $expected_time_block[$last_block_st-1][0] += GlobalMisc::getMisc('timing_stran') * $verjetnost_block[$last_block_st-1]; // pri dejanskem trajanju strani upostevamo verjetnost najverjetnejsega vprasanja na strani (stran se pojavi z najvisjo verjetnostjo vseh vprasanj na strani) + $expected_time_block[$last_block_st-1][1] += GlobalMisc::getMisc('timing_stran'); + } } // izpis za strani $max = 0; $total = 0; + $total_brez_pogojev = 0; foreach ($expected_time AS $key => $val) { - if ($val[1] > $max) $max = $val[1]; + + if ($val[1] > $max) + $max = $val[1]; + $total += $val[0]; + $total_brez_pogojev += $val[1]; } if ($max == 0) return; @@ -5121,46 +5990,58 @@ class SurveyAdminSettings { return $total; } - $skupni_cas = (bcdiv($total, 60, 0)>0?bcdiv($total, 60, 0).'min ':'').''.round(bcmod($total, 60), 0).'s'; + $skupni_cas = (bcdiv($total, 60, 0)>0?bcdiv($total, 60, 0).'min ':'').''.round(bcmod($total, 60), 0).'s'; + $skupni_cas_brez_pogojev = (bcdiv($total_brez_pogojev, 60, 0)>0?bcdiv($total_brez_pogojev, 60, 0).'min ':'').''.round(bcmod($total_brez_pogojev, 60), 0).'s'; if ($samo_izracunaj_skupini_cas == 1) return $skupni_cas; - echo '
'; - echo '
'.$lang['srv_total_trajanje'].''; - echo '

'.$lang['srv_dejansko_trajanje'].': '.$skupni_cas.'

'; + echo '

'.$lang['srv_dejansko_trajanje'].':

'; + echo '

'.$skupni_cas.'

'; echo '
'; - echo '
'; - echo '
'.$lang['srv_casi_po_straneh'].''; - echo ''; + echo '
'; + + echo ''; + echo ''; + echo ''; + echo ''; + foreach ($expected_time AS $vrstni_red => $time) { $sql = sisplet_query("SELECT naslov FROM srv_grupa WHERE vrstni_red='$vrstni_red' AND ank_id = '$this->anketa'"); $row = mysqli_fetch_array($sql); + $naslov = isset($row['naslov']) && $row['naslov'] != '' ? $row['naslov'] : $lang['srv_intro_label']; echo ''; - echo ''; - - echo ''; + + echo ''; + + echo ''; echo ''; } - echo ''; - echo ''; - + echo ''; echo '
'.$lang['srv_casi_po_straneh_stran'].''.$lang['srv_neto_t_cas'].' / '.$lang['srv_bruto_t_cas'].'
'.($row['naslov']!=''?$row['naslov']:$lang['srv_intro_label']).''; - echo '
 
'; - if ((($time[1]-$time[0])/$max*85) > 0) - echo '
 
'; - echo ' '.($time[0]<60?round($time[0],1).'s ':round($time[0]/60,1).'min ').'/ '.($time[1]<60?round($time[1],1).'s ':round($time[1]/60,1).'min ').''; + echo '
'.$naslov.''; + echo ($time[0]<60?round($time[0],1).'s ':round($time[0]/60,1).'min ').'/ '.($time[1]<60?round($time[1],1).'s ':round($time[1]/60,1).'min ').''; + echo ''; + echo '
'; + + echo '
'; + if ((($time[1]-$time[0])/$max*85) > 0) + echo '
'; + + echo '
'; echo '
'.$lang['srv_anl_suma1'].': '.(bcdiv($total, 60, 0)>0?bcdiv($total, 60, 0).'min ':'').''.round(bcmod($total, 60), 0).'s
'.$lang['srv_casi_po_vprasanjih_skupaj'].''.$skupni_cas.' / '.$skupni_cas_brez_pogojev.'
'; - echo '

 
- '.$lang['srv_neto_t_cas'].''; - echo '
 
- '.$lang['srv_bruto_t_cas'].'

'; + echo '
'; + echo '
'.$lang['srv_neto_t_cas'].''; + echo '
'.$lang['srv_bruto_t_cas'].''; + echo '
'; echo '
'; @@ -5176,15 +6057,21 @@ class SurveyAdminSettings { $prevstran = false; - echo '
'; - echo '
'.$lang['srv_casi_po_vprasanjih_strani'].''; - echo ''; - echo ''; + + echo '
'.$lang['srv_bruto_v_cas'].''.$lang['srv_verjetnost_pojavitve'].''.$lang['srv_neto_v_cas'].'
'; + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + foreach ($expected_vprasanja AS $vprasanje) { if (!$prevstran || $prevstran != $vprasanje[3]) { - echo ''; + echo ''; $prevstran = $vprasanje[3]; } @@ -5192,102 +6079,156 @@ class SurveyAdminSettings { $verjetnost = $vprasanje[1]; $neto = $bruto * $verjetnost; - echo ''; - echo ''; + echo ''; + echo ''; + echo ''; + + echo ''; + + echo ''; + echo ''; } - echo ''; + echo ''; echo '
'.$lang['srv_casi_po_straneh_stran'].'/'.$lang['srv_casi_po_vprasanjih_vprasanje'].''.$lang['srv_bruto_v_cas'].''.$lang['srv_verjetnost_pojavitve'].''.$lang['srv_neto_v_cas'].'/'.$lang['srv_bruto_v_cas_long'].'
'.$vprasanje[3].'
'.$vprasanje[3].'
'.skrajsaj($vprasanje[2], 30).''.round($bruto, 1).'s'.round($verjetnost*100, 2).'%'.round($neto, 1).'s'; - echo '
 
'; + echo '
'.skrajsaj($vprasanje[2], 30).''.round($bruto, 1).'s'.round($verjetnost*100, 2).'%'; + echo round($neto, 1).'s / '.round($bruto, 1).'s'; + echo ''; + echo '
'; + + echo '
'; if (($bruto-$neto)/$max*85 > 0) - echo '
 
'; - echo ' '.round($neto, 1).'s / '.round($bruto, 1).'s'; + echo '
'; + + echo '
'; echo '
'.(bcdiv($bruto_total, 60, 0)>0?bcdiv($bruto_total, 60, 0).'min ':'').''.round(bcmod($bruto_total, 60), 0).'s'.(bcdiv($neto_total, 60, 0)>0?bcdiv($neto_total, 60, 0).'min ':'').''.round(bcmod($neto_total, 60), 0).'s
'.$lang['srv_casi_po_vprasanjih_skupaj'].''.(bcdiv($bruto_total, 60, 0)>0?bcdiv($bruto_total, 60, 0).'min ':'').''.round(bcmod($bruto_total, 60), 0).'s'.(bcdiv($neto_total, 60, 0)>0?bcdiv($neto_total, 60, 0).'min ':'').''.round(bcmod($neto_total, 60), 0).'s / '.(bcdiv($bruto_total, 60, 0)>0?bcdiv($bruto_total, 60, 0).'min ':'').''.round(bcmod($bruto_total, 60), 0).'s
'; + + echo '
'; + echo '
'.$lang['srv_neto_v_cas'].''; + echo '
'.$lang['srv_bruto_v_cas_long'].''; + echo '
'; + echo '
'; - //CASI PO BLOKIH - if($block_spr_data){ - // izpis za bloke - $maxb = 0; - $totalb = 0; - foreach ($expected_time_block AS $key => $val) { - if ($val[1] > $maxb) $maxb = $val[1]; - $totalb += $val[0]; - } - - echo '
'; - echo '
'.$lang['srv_casi_po_blokih'].''; - echo ''; - - foreach ($expected_time_block AS $vrstni_red => $time) { - echo ''; - echo ''; - - echo ''; - - echo ''; - } - echo ''; - echo ''; + //CASI PO BLOKIH + if($block_spr_data){ + // izpis za bloke + $maxb = 0; + $totalb = 0; + foreach ($expected_time_block AS $key => $val) { + if ($val[1] > $maxb) $maxb = $val[1]; + $totalb += $val[0]; + } + + echo '
'.$lang['srv_casi_po_blokih'].''; + echo '
'.$block_labels_by_number[$vrstni_red+1].''; - echo '
 
'; - if ((($time[1]-$time[0])/$maxb*85) > 0) - echo '
 
'; - echo ' '.($time[0]<60?round($time[0],1).'s ':round($time[0]/60,1).'min ').'/ '.($time[1]<60?round($time[1],1).'s ':round($time[1]/60,1).'min ').''; - echo '
'.$lang['srv_anl_suma1'].': '.(bcdiv($totalb, 60, 0)>0?bcdiv($totalb, 60, 0).'min ':'').''.round(bcmod($totalb, 60), 0).'s
'; - echo '
'; + echo ''; + echo ''.$lang['srv_casi_po_blokih_blok'].''; + echo ''.$lang['srv_neto_t_cas'].' / '.$lang['srv_bruto_t_cas'].''; + echo ''; - echo '

 
- '.$lang['srv_neto_t_cas'].''; - echo '
 
- '.$lang['srv_bruto_t_cas'].'

'; + foreach ($expected_time_block AS $vrstni_red => $time) { + echo ''; + echo ''.$block_labels_by_number[$vrstni_red+1].''; - echo '
'; - - - // izpis za vprasanja po blokih - $max = 0; - $bruto_total = 0; - $neto_total = 0; - foreach ($expected_vprasanja AS $vpr) { - if($vpr[4]){ - if ($vpr[0] > $max) $max = $vpr[0]; - $bruto_total += $vpr[0]; - $neto_total += $vpr[0] * $vpr[1]; - } - } + echo ''; + echo ($time[0]<60?round($time[0],1).'s ':round($time[0]/60,1).'min ').'/ '.($time[1]<60?round($time[1],1).'s ':round($time[1]/60,1).'min ').''; + echo ''; - $prevstran = false; - - echo '
'; - - echo '
'.$lang['srv_casi_po_vprasanjih_bloki'].''; - echo ''; - echo ''; - foreach ($expected_vprasanja AS $vprasanje) { - if($vprasanje[4]){ - if (!$prevstran || $prevstran != $vprasanje[4]) { - echo ''; - $prevstran = $vprasanje[4]; - } - - $bruto = $vprasanje[0]; - $verjetnost = $vprasanje[1]; - $neto = $bruto * $verjetnost; - - echo ''; - echo ''; - echo ''; - } - } - echo ''; - echo '
'.$lang['srv_bruto_v_cas'].''.$lang['srv_verjetnost_pojavitve'].''.$lang['srv_neto_v_cas'].'
'.$vprasanje[4].'
'.skrajsaj($vprasanje[2], 30).''.round($bruto, 1).'s'.round($verjetnost*100, 2).'%'.round($neto, 1).'s'; - echo '
 
'; - if (($bruto-$neto)/$max*85 > 0) - echo '
 
'; - echo ' '.round($neto, 1).'s / '.round($bruto, 1).'s'; - echo '
'.(bcdiv($bruto_total, 60, 0)>0?bcdiv($bruto_total, 60, 0).'min ':'').''.round(bcmod($bruto_total, 60), 0).'s'.(bcdiv($neto_total, 60, 0)>0?bcdiv($neto_total, 60, 0).'min ':'').''.round(bcmod($neto_total, 60), 0).'s
'; - echo '
'; - } + echo ''; + echo '
'; + echo '
'; + if ((($time[1]-$time[0])/$maxb*85) > 0) + echo '
'; + echo '
'; + echo ''; + + echo ''; + } + echo ''.$lang['srv_casi_po_vprasanjih_skupaj'].''.(bcdiv($totalb, 60, 0)>0?bcdiv($totalb, 60, 0).'min ':'').''.round(bcmod($totalb, 60), 0).'s'; + + echo ''; + + echo '
'; + echo '
'.$lang['srv_neto_t_cas'].''; + echo '
'.$lang['srv_bruto_t_cas'].''; + echo '
'; + + echo '
'; + + + // izpis za vprasanja po blokih + $max = 0; + $bruto_total = 0; + $neto_total = 0; + foreach ($expected_vprasanja AS $vpr) { + if($vpr[4]){ + if ($vpr[0] > $max) $max = $vpr[0]; + $bruto_total += $vpr[0]; + $neto_total += $vpr[0] * $vpr[1]; + } + } + + $prevstran = false; + + echo '
'.$lang['srv_casi_po_vprasanjih_bloki'].''; + + echo ''; + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + foreach ($expected_vprasanja AS $vprasanje) { + + if($vprasanje[4]){ + if (!$prevstran || $prevstran != $vprasanje[4]) { + echo ''; + $prevstran = $vprasanje[4]; + } + + $bruto = $vprasanje[0]; + $verjetnost = $vprasanje[1]; + $neto = $bruto * $verjetnost; + + echo ''; + echo ''; + echo ''; + echo ''; + + echo ''; + + echo ''; + + echo ''; + } + + } + echo ''; + echo '
'.$lang['srv_casi_po_straneh_stran'].'/'.$lang['srv_casi_po_vprasanjih_vprasanje'].''.$lang['srv_bruto_v_cas'].''.$lang['srv_verjetnost_pojavitve'].''.$lang['srv_neto_v_cas'].'/'.$lang['srv_bruto_v_cas_long'].'
'.$vprasanje[4].'
'.skrajsaj($vprasanje[2], 30).''.round($bruto, 1).'s'.round($verjetnost*100, 2).'%'; + echo round($neto, 1).'s / '.round($bruto, 1).'s'; + echo ''; + echo '
'; + + echo '
'; + if (($bruto-$neto)/$max*85 > 0) + echo '
'; + + echo '
'; + echo '
'.$lang['srv_casi_po_vprasanjih_skupaj'].''.(bcdiv($bruto_total, 60, 0)>0?bcdiv($bruto_total, 60, 0).'min ':'').''.round(bcmod($bruto_total, 60), 0).'s'.(bcdiv($neto_total, 60, 0)>0?bcdiv($neto_total, 60, 0).'min ':'').''.round(bcmod($neto_total, 60), 0).'s / '.(bcdiv($bruto_total, 60, 0)>0?bcdiv($bruto_total, 60, 0).'min ':'').''.round(bcmod($bruto_total, 60), 0).'s
'; + + echo '
'; + echo '
'.$lang['srv_neto_v_cas'].''; + echo '
'.$lang['srv_bruto_v_cas_long'].''; + echo '
'; + + echo '
'; + } } /** @@ -5323,21 +6264,24 @@ class SurveyAdminSettings { if ($row1['tip'] <= 3 || $row1['tip'] == 6 || $row1['tip'] == 16 || $row1['tip'] == 17 || $row1['tip'] == 18 || $row1['tip'] == 19 || $row1['tip'] == 20) { $sql2 = sisplet_query("SELECT naslov FROM srv_vrednost WHERE spr_id='$row1[id]'"); - //for those types we have max time option - if($row1['tip'] == 3){ - while ($row2 = mysqli_fetch_array($sql2)) { - $expected_time_temp += strlen(strip_tags($row2['naslov'])) * GlobalMisc::getMisc('timing_kategorija_'.$row1['tip']) / 100; - } - //if time is greater than max time, use max time - $max_time = GlobalMisc::getMisc('timing_kategorija_max_'.$row1['tip']); - $expected_time += ($max_time > $expected_time_temp) ? $expected_time_temp : $max_time; - } - //types that doesnt have max time option - else{ - while ($row2 = mysqli_fetch_array($sql2)) { - $expected_time += strlen(strip_tags($row2['naslov'])) * GlobalMisc::getMisc('timing_kategorija_'.$row1['tip']) / 100; - } - } + + //for those types we have max time option + if($row1['tip'] == 3){ + $expected_time_temp = 0; + + while ($row2 = mysqli_fetch_array($sql2)) { + $expected_time_temp += strlen(strip_tags($row2['naslov'])) * GlobalMisc::getMisc('timing_kategorija_'.$row1['tip']) / 100; + } + //if time is greater than max time, use max time + $max_time = GlobalMisc::getMisc('timing_kategorija_max_'.$row1['tip']); + $expected_time += (isset($expected_time_temp) && $max_time > $expected_time_temp) ? $expected_time_temp : $max_time; + } + //types that doesnt have max time option + else{ + while ($row2 = mysqli_fetch_array($sql2)) { + $expected_time += strlen(strip_tags($row2['naslov'])) * GlobalMisc::getMisc('timing_kategorija_'.$row1['tip']) / 100; + } + } } return $expected_time; @@ -5516,15 +6460,20 @@ class SurveyAdminSettings { SurveyUserSetting :: getInstance()->Init($this->anketa, $global_user_id); // nastavitve iz popupa - $rezanje = SurveyUserSetting::getInstance()->getSettings('rezanje'); if ($rezanje == '') $rezanje = 1; + $rezanje = SurveyUserSetting::getInstance()->getSettings('rezanje'); if ($rezanje == '') $rezanje = 0; $rezanje_meja_sp = SurveyUserSetting::getInstance()->getSettings('rezanje_meja_sp'); if ($rezanje_meja_sp == '') $rezanje_meja_sp = 5; $rezanje_meja_zg = SurveyUserSetting::getInstance()->getSettings('rezanje_meja_zg'); if ($rezanje_meja_zg == '') $rezanje_meja_zg = 5; $rezanje_predvidena_sp = SurveyUserSetting::getInstance()->getSettings('rezanje_predvidena_sp'); if ($rezanje_predvidena_sp == '') $rezanje_predvidena_sp = 10; $rezanje_predvidena_zg = SurveyUserSetting::getInstance()->getSettings('rezanje_predvidena_zg'); if ($rezanje_predvidena_zg == '') $rezanje_predvidena_zg = 200; $rezanje_preskocene = SurveyUserSetting::getInstance()->getSettings('rezanje_preskocene'); if ($rezanje_preskocene == '') $rezanje_preskocene = 1; + $get_predvideni = isset($_GET['predvideni']) ? $_GET['predvideni'] : ''; + $get_prikazi01 = isset($_GET['prikazi01']) ? $_GET['prikazi01'] : ''; + $get_pages = isset($_GET['pages']) ? $_GET['pages'] : ''; + + /* ++ Predvideni casi */ - if ($_GET['predvideni'] == 1 || $rezanje == 1) { + if ($get_predvideni == 1 || $rezanje == 1) { $expected_time = array(); $expected_vprasanja = array(); $verjetnost = array(); @@ -5559,7 +6508,7 @@ class SurveyAdminSettings { $expected_time[$row['vrstni_red']][0] += $expected_vprasanja[$row1['id']][0] * $expected_vprasanja[$row1['id']][1]; // dejanski $expected_time[$row['vrstni_red']][1] += $expected_vprasanja[$row1['id']][0]; // bruto - z vsemi vprasanji - if ( $expected_vprasanja[$row1['id']][1] > $verjetnost[$row['vrstni_red']]) + if (!isset($verjetnost[$row['vrstni_red']]) || $expected_vprasanja[$row1['id']][1] > $verjetnost[$row['vrstni_red']]) $verjetnost[$row['vrstni_red']] = $expected_vprasanja[$row1['id']][1]; } @@ -5594,9 +6543,14 @@ class SurveyAdminSettings { $sql = sisplet_query("SELECT ug.usr_id, UNIX_TIMESTAMP(ug.time_edit) AS time_edit_u, g.vrstni_red FROM srv_user_grupa".$this->db_table." ug, srv_grupa g, srv_user u WHERE ug.usr_id=u.id AND u.last_status IN ($status) $lurker AND ug.gru_id=g.id AND g.ank_id='$this->anketa' ORDER BY usr_id, gru_id"); if (!$sql) echo mysqli_error($GLOBALS['connect_db']); if (mysqli_num_rows($sql) == 0) { + if ($samo_izracunaj_skupini_cas == 1) { return null; - } else { + } + elseif ($samo_izracunaj_skupini_cas == 2) { + return array(null, null); + } + else { echo '
'.$lang['srv_analiza_no_entry'].'
'; } } @@ -5636,35 +6590,25 @@ class SurveyAdminSettings { $casi = array(); foreach ($user_grupa AS $usr_id => $val) { - //$sql = sisplet_query("SELECT recnum, time_insert, UNIX_TIMESTAMP(time_insert) AS time_insert_u FROM srv_user WHERE id = '$usr_id'"); - //$row = mysqli_fetch_array($sql); - $row = $cache_row[$usr_id]; + $row = isset($cache_row[$usr_id]) ? $cache_row[$usr_id] : array(); + $row1 = isset($cache_row1[$usr_id]) ? $cache_row1[$usr_id] : array(); - //$sql1 = sisplet_query("SELECT time_edit, UNIX_TIMESTAMP(time_edit) AS time_edit_u FROM srv_user_grupa".$this->db_table." WHERE usr_id = '$usr_id' AND gru_id = '0'"); - //$row1 = mysqli_fetch_array($sql1); - $row1 = $cache_row1[$usr_id]; - - //echo $row1['time_edit'].' ('.($row1['time_edit_u'] - strtotime($row1['time_edit'])).') - '.$row['time_insert'].' ('.($row['time_insert_u'] - strtotime($row['time_insert'])).')
'; - $prev = ($row1['time_edit'] != '' ? $row1['time_edit_u'] : $row['time_insert_u']); + $prev = (isset($row1['time_edit']) && $row1['time_edit'] != '' ? $row1['time_edit_u'] : $row['time_insert_u']); // nagovor - //if ($row1['time_edit'] != '') $casi[0][$usr_id] = $this->diff($row1['time_edit'], $row['time_insert']); - if ($row1['time_edit'] != '') $casi[0][$usr_id] = abs($row1['time_edit_u'] - $row['time_insert_u']); + if (isset($row1['time_edit']) && $row1['time_edit'] != '') $casi[0][$usr_id] = abs($row1['time_edit_u'] - $row['time_insert_u']); - if ($row['recnum'] > 0) { // zapisi brez recnuma ne pridejo v poštev, ker nimajo pravih časov + if (isset($row['recnum']) && $row['recnum'] > 0) { // zapisi brez recnuma ne pridejo v poštev, ker nimajo pravih časov foreach ($val AS $vrstni_red => $time_edit) { - - //$casi[$vrstni_red][$usr_id] = $this->diff($time_edit, $prev); - $casi[$vrstni_red][$usr_id] = abs($time_edit - $prev); - - $prev = $time_edit; - + + $casi[$vrstni_red][$usr_id] = abs($time_edit - $prev); + + $prev = $time_edit; } } } // porezemo zgornjih in spodnjih 5% casov vsake strani - //if (isset($_GET['truncate'])) $truncate = ((int)$_GET['truncate'])/100; else $truncate = 0.05; $spodnja = $rezanje_meja_sp / 100; $zgornja = $rezanje_meja_zg / 100; @@ -5695,23 +6639,27 @@ class SurveyAdminSettings { } } - - //foreach ($casi AS $key => $val) { echo $key.': '; foreach ($val AS $k => $v) { echo $v.', '; } echo '
'; } - + // izracunamo povprecne case $sql = sisplet_query("SELECT MAX(vrstni_red) AS max FROM srv_grupa WHERE ank_id = '$this->anketa'"); $row = mysqli_fetch_array($sql); $count = array(); - $count_bruto = array(); $povprecni_casi = array(); - $povprecni_casi_bruto = array(); - $max_time = 0; - for ($i=0; $i<=$row['max']; $i++) $povprecni_casi[$i] = 0; - foreach ($casi AS $vrstni_red => $val) { + $user_casi = array(); + + $max_time_on_page = 0; + + // Na zacetku nastavimo vse povprecne case po straneh na 0 + for ($i=0; $i<=$row['max']; $i++){ + $povprecni_casi[$i] = 0; + } + + // Loop po vseh straneh + foreach ($casi AS $vrstni_red => $uporabniki_na_strani) { - // pogledamo za preskocene strani + // pogledamo za preskocene strani - samo ce nimamo nastavljeno, da se uposteva preskocene kot 0s $preskocene = array(); if ($rezanje_preskocene == 0) { $sqlp = sisplet_query("SELECT ug.usr_id FROM srv_user_grupa".$this->db_table." ug, srv_grupa g WHERE g.id=ug.gru_id AND g.vrstni_red='$vrstni_red' AND ug.preskocena='1'"); @@ -5720,1400 +6668,612 @@ class SurveyAdminSettings { } } - foreach ($casi[$vrstni_red] AS $usr_id => $time) { - if (!in_array($usr_id, $preskocene)) { - $povprecni_casi_bruto[$vrstni_red] += $time; // bruto so kao brez upoštevanja strani ki so se preskocile (0s, 1s) - $count_bruto[$vrstni_red] ++; // to je dejansko trajanje strani, ce uporabnik pride nanjo - } - if (!in_array($usr_id, $preskocene) || $rezanje_preskocene==1) { - $povprecni_casi[$vrstni_red] += $time; // neto je kao povprecno trajanje strani in uposteva tudi 0s, 1s ce se je preskocilo - $count[$vrstni_red] ++; // ta cas pride potem dejansko krajsi od bruto casa - } - if ($time > $max_time) $max_time = $time; + // Loop po vseh uporabnikih na strani (cas, ki ga je prezivel na trenutni strani) + foreach ($uporabniki_na_strani AS $usr_id => $time) { + + // Racunanje casov - eliminiramo preskocene samo ce imamo to nastavitev vklopljeno + //if (!in_array($usr_id, $preskocene) || $rezanje_preskocene==1) { + + // neto je kao povprecno trajanje strani in uposteva tudi 0s, 1s ce se je preskocilo + if(isset($povprecni_casi[$vrstni_red])) + $povprecni_casi[$vrstni_red] += $time; + else + $povprecni_casi[$vrstni_red] = $time; + + // Pristejemo cas userja + if(isset($user_casi[$usr_id])) + $user_casi[$usr_id] += $time; + else + $user_casi[$usr_id] = $time; + //} + + // Zabelezimo najdaljsi obisk strani + if ($time > $max_time_on_page) + $max_time_on_page = $time; } + + // Izracunamo povprecje na strani + if (count($uporabniki_na_strani) > 0){ + $povprecni_casi[$vrstni_red] = $povprecni_casi[$vrstni_red] / count($uporabniki_na_strani); + } + + $count[$vrstni_red] = count($casi[$vrstni_red]); } - foreach ($povprecni_casi AS $vrstni_red => $time) { - if ($count[$vrstni_red] > 0) - $povprecni_casi[$vrstni_red] = $time / $count[$vrstni_red]; - } - - foreach ($povprecni_casi_bruto AS $vrstni_red => $time) { - if ($count_bruto[$vrstni_red] > 0) - $povprecni_casi_bruto[$vrstni_red] = $time / $count_bruto[$vrstni_red]; - } - + // Loop po povprecnih casih in dobimo najvecji povprecni cas in celoten cas $max = 0; - $total = 0; - $total_predvideni = 0; + $total_povprecni_cas = 0; + $total_predvideni_cas = 0; foreach ($povprecni_casi AS $key => $val) { - if ($val > $max) $max = $val; - $total += $val; - } - /*foreach ($povprecni_casi AS $key => $val) { - if ($val > $max) $max = $val; - //$total += $val; - }*/ - if ($_GET['predvideni'] == 1) { + + // Shranimo vecji povprecni cas + if ($val > $max) + $max = $val; + + // Pristejemo povprecni cas strani celotnemu povprecnemu casu + $total_povprecni_cas += $val; + } + + if ($get_predvideni == 1) { if ($rezanje_preskocene == 1) { foreach ($expected_time AS $key => $val) { if ($val[0] > $max) $max = $val[0]; - $total_predvideni += $val[0]; + $total_predvideni_cas += $val[0]; } } else { foreach ($expected_time AS $key => $val) { if ($val[1] > $max) $max = $val[1]; - $total_predvideni += $val[1]; + $total_predvideni_cas += $val[1]; } } } + - if ($max == 0) return; - - if ($samo_izracunaj_skupini_cas == 1) - return (bcdiv($total, 60, 0)>0?bcdiv($total, 60, 0).'min ':'').''.round(bcmod($total, 60), 0).'s'; - + // Izracunamo mediano, min in max cas na anketi + $total_median_cas = 0; + $total_min_cas = 0; + $total_max_cas = 0; + + // Sortiramo case uporabnikov po velikosti + sort($user_casi, SORT_NUMERIC); + $user_count = count($user_casi); + + // Dobimo index srednjega elementa + $user_median_index = floor($user_count / 2); + + // Liho stevilo userjev - dobimo mediano - vrednost srednjega + if ($user_count % 2 === 1) { + $total_median_cas = $user_casi[$user_median_index]; + } + // Sodo stevilo - izracunamo mediano iz srednjih dveh + else { + if(isset($user_casi[$user_median_index-1])) + $total_median_cas = ($user_casi[$user_median_index-1] + $user_casi[$user_median_index]) / 2; + else + $total_median_cas = $user_casi[$user_median_index]; + } + + // Zabelezimo min in max cas uporabnika na anketi + $total_min_cas = $user_casi[0]; + $total_max_cas = $user_casi[$user_count-1]; + + + if ($max == 0) + return; + // izpis - echo '
'; + $skupni_cas = (bcdiv($total_povprecni_cas, 60, 0) > 0 ? bcdiv($total_povprecni_cas, 60, 0).'min ':'').''.round(bcmod($total_povprecni_cas, 60), 0).'s'; + $predviden_cas = (bcdiv($total_predvideni_cas, 60, 0)>0?bcdiv($total_predvideni_cas, 60, 0).'min ':'').''.round(bcmod($total_predvideni_cas, 60), 0); + + $mediana = (bcdiv($total_median_cas, 60, 0) > 0 ? bcdiv($total_median_cas, 60, 0).'min ':'').''.round(bcmod($total_median_cas, 60), 0).'s'; + $minimum = (bcdiv($total_min_cas, 60, 0) > 0 ? bcdiv($total_min_cas, 60, 0).'min ':'').''.round(bcmod($total_min_cas, 60), 0).'s'; + $maximum = (bcdiv($total_max_cas, 60, 0) > 0 ? bcdiv($total_max_cas, 60, 0).'min ':'').''.round(bcmod($total_max_cas, 60), 0).'s'; + $numerus = $user_count; + + + // Ce izipsujemo samo dejanski cas na nekem drugem mestu + if ($samo_izracunaj_skupini_cas > 0){ + + // Vracamo array tudi z mediano + if($samo_izracunaj_skupini_cas == 2) + return array($skupni_cas, $mediana); + else + return $skupni_cas; + } + + + // Prvi segment - dejansko trajanje, mediana... + echo '
'.$lang['srv_total_trajanje'].''; + echo '

'.$lang['srv_dejansko_trajanje_real'].':

'; + echo '

'.$skupni_cas.'

'; + + echo '

'.$lang['median'].':

'; + echo '

'.$mediana.'

'; + + echo '

Min:

'; + echo '

'.$minimum.'

'; + + echo '

Max:

'; + echo '

'.$maximum.'

'; + + echo '

'.$lang['numerus'].':

'; + echo '

'.$numerus.'

'; + + echo '
'; + + echo '
'.$lang['srv_dejanski_casi'].''; - echo ''; - echo ''; + + echo '

'; + + echo '
'; - echo ''; - echo ''.$lang['srv_stevilo_enot'].'
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; foreach ($povprecni_casi AS $vrstni_red => $time) { + $naslov = $lang['srv_intro_label']; + $sql = sisplet_query("SELECT naslov FROM srv_grupa WHERE vrstni_red='$vrstni_red' AND ank_id = '$this->anketa'"); - $row = mysqli_fetch_array($sql); - - $bruto = $povprecni_casi_bruto[$vrstni_red]; - + if(mysqli_num_rows($sql) > 0){ + $row = mysqli_fetch_array($sql); + + if($row['naslov'] != '') + $naslov = $row['naslov']; + } + echo ''; - echo ''; - - echo ''; + echo ''; - echo ''; - - echo ''; - - if ($_GET['predvideni'] == 1) { + echo ''; - echo ''; - - echo ''; - echo ''; - echo ''; + + echo '
'; } + + echo ''; + echo ''; + + echo ''; + + echo ''; } - if ($_GET['predvideni'] != 1) - echo ''; - echo ''; - echo '
'.$lang['srv_casi_po_straneh_stran'].''.$lang['srv_neto_v_cas']; + + if ($get_predvideni == 1) { + echo ' / '.$lang['srv_testiranje_predvidenicas_1']; + } + echo ''.$lang['srv_stevilo_enot'].'
'.($row['naslov']!=''?$row['naslov']:$lang['srv_intro_label']).''; - echo '
 
'; - //if ($bruto-$time > 0) - //echo '
 
'; - echo ' '.($time<60?round($time,1).'s ':round($time/60,1).'min ')./*'/ '.($bruto<60?round($bruto,1).'s ':round($bruto/60,1).'min ').''.*/''; + echo '
'.$naslov.''.($time<60 ? round($time,1).'s ' : round($time/60,1).'min '); + if ($get_predvideni == 1) { + if ($rezanje_preskocene == 1) + $time = $expected_time[$vrstni_red][0]; + else + $time = $expected_time[$vrstni_red][1]; + + echo ' / '.($time<60 ? round($time,1).'s ' : round($time/60,1).'min ').''; + } echo ''.$count[$vrstni_red]./*' / '.$count_bruto[$vrstni_red].''.*/'
'; + echo '
'; + echo '
'; + + if ($get_predvideni == 1) { if ($rezanje_preskocene == 1) $time = $expected_time[$vrstni_red][0]; else $time = $expected_time[$vrstni_red][1]; - echo '
'.($row['naslov']!=''?$row['naslov']:$lang['srv_intro_label']).''; - echo '
 
'; - //if ((($time[1]-$time[0])/$max*85) > 0) - // echo '
 
'; - echo ' '.($time<60?round($time,1).'s ':round($time/60,1).'min ')./*'/ '.($time[1]<60?round($time[1],1).'s ':round($time[1]/60,1).'min ').''.*/''; - echo '
'.(isset($count[$vrstni_red]) ? $count[$vrstni_red] : 0).'
'.$lang['srv_anl_suma1'].': '.(bcdiv($total, 60, 0)>0?bcdiv($total, 60, 0).'min ':'').''.round(bcmod($total, 60), 0).'s'; - if ($_GET['predvideni'] == 1) echo ' / '.$lang['srv_skupaj_predvideni'].': '.(bcdiv($total_predvideni, 60, 0)>0?bcdiv($total_predvideni, 60, 0).'min ':'').''.round(bcmod($total_predvideni, 60), 0).'s'; - echo '
'; - - if ($_GET['predvideni'] == 1) { - echo '

 
- '.$lang['srv_neto_t_cas'].''; - echo '
 
- '.$lang['srv_testiranje_predvidenicas'].'

'; + echo ''.$lang['srv_anl_suma1'].''.$skupni_cas; + if ($get_predvideni == 1) { + if ($rezanje_preskocene == 1) + $time = $expected_time[$vrstni_red][0]; + else + $time = $expected_time[$vrstni_red][1]; + + echo ' / '.$predviden_cas.'s'; } + echo ''; - echo '
'; + echo ''; + + echo ''; + + echo '
'; + echo '
'.$lang['srv_neto_t_cas'].''; + if ($get_predvideni == 1) + echo '
'.$lang['srv_testiranje_predvidenicas_1'].''; + echo '
'; - if ($max_time > 1000 && $admin_type > 0) return; // pridejo prevelike tabele + echo '
'; + - if ($_GET['prikazi01'] == 1) - $t_min = 0; - else - $t_min = 2; + // pridejo prevelike tabele + if ($max_time_on_page > 1000 && $admin_type > 0) + return; + // izpis histograma casov za vsako stran - echo '
'.$lang['srv_frekvencna_porazdelitev'].''; - - echo '

'; - echo ' '; - echo '

'; + echo '
'.$lang['srv_frekvencna_porazdelitev'].''; + + echo '
'; + + echo '
'; + echo ''; + echo '
'; if ($rezanje_preskocene == 1) { - echo '

'; - echo ' '; - echo '

'; + echo '
'; + echo ' '; + echo '
'; } + + echo '
'; - // zdruzimo vse case po straneh na en graf - if ($_GET['pages'] != '1') { - $casi2 = array(); - $casi2[0] = array(); - foreach ($casi AS $key => $val) { - foreach ($val AS $k => $v) { - if (isset($casi2[0][$k])) - $casi2[0][$k] += $v; + + // Zdruzimo vse case po straneh na en histogram + if ($get_pages != '1') { + + // Dobimo case resevanja celotne ankete - po respondentih + $skupni_casi = array(); + + // Loop po posameznih straneh - sestejemo case po straneh na skupni cas na anketi + foreach ($casi AS $stran => $casi_na_strani) { + + // Loop po vseh casih na strani + foreach ($casi_na_strani AS $usr_id => $cas_na_strani) { + + if (isset($skupni_casi[$usr_id])) + $skupni_casi[$usr_id] += $cas_na_strani; else - $casi2[0][$k] = $v; - //array_push($casi2[0], $v); - } - } - $casi = $casi2; - $max_time = 0; - foreach ($casi[0] AS $k => $v) - if ($v > $max_time) $max_time = $v; - } - - $minute = true; - if ($minute) { // minute - foreach ($casi AS $k => $page) { - foreach ($page AS $key => $val) { - $casi[$k][$key] = (int) round($val / 60, 0); + $skupni_casi[$usr_id] = $cas_na_strani; } } - $max_time = (int) round($max_time / 60, 0); - } - - foreach ($casi AS $key => $val) { - - if ($_GET['pages'] == '1') { - $sql = sisplet_query("SELECT naslov FROM srv_grupa WHERE vrstni_red='$key' AND ank_id='$this->anketa'"); - $row = mysqli_fetch_array($sql); - echo '

'.($row['naslov']!=''?$row['naslov']:$lang['srv_intro_label']).'

'; - } - - echo ''; - - $histogram = array(); - for ($t=0; $t<=$max_time; $t++) $histogram[$t] = 0; - foreach ($val AS $k => $v) { - if ($v >= $t_min) $histogram[$v]++; + + // Nastavimo se min cas in max cas na anketi + $max_cas_na_anketi = 0; + $min_cas_na_anketi = 0; + foreach ($skupni_casi AS $usr_id => $cas_na_anketi){ + + if ($cas_na_anketi > $max_cas_na_anketi) + $max_cas_na_anketi = $cas_na_anketi; + + if ($cas_na_anketi < $min_cas_na_anketi || $min_cas_na_anketi == 0) + $min_cas_na_anketi = $cas_na_anketi; } - $max_stran = 0; - $max_stran_time = 0; - foreach ($histogram AS $k => $v) { - if ($v > $max_stran) $max_stran = $v; - if ($v > 0) $max_stran_time = $k; + + // Pretvorimo v minute + foreach ($skupni_casi AS $usr_id => $cas_na_anketi) { + $skupni_casi[$usr_id] = (int) round($cas_na_anketi / 60, 0); } + $max_cas_na_anketi = (int) round($max_cas_na_anketi / 60, 0); + $min_cas_na_anketi = (int) round($min_cas_na_anketi / 60, 0); + + if($get_prikazi01 == 1) + $min_cas_na_anketi = 0; + else + $min_cas_na_anketi = 2; + + // Pripravimo podatke za histogram + $histogram_data = array(); - - if ($max_stran != 0) { - - for ($t=$t_min; $t<=$max_time; $t++) { - - echo ''; - } + // Napolnimo vrednosti 0 na vsakem koraku (minuti) + for ($t=0; $t<=$max_cas_na_anketi; $t++) + $histogram_data[$t] = 0; + + // Napolnimo vrednosti v histogram in dobimo najvecjo vrednost + $histogram_max_data = 0; + foreach ($skupni_casi AS $usr_id => $cas_na_anketi) { + $histogram_data[$cas_na_anketi]++; + + if($histogram_data[$cas_na_anketi] > $histogram_max_data) + $histogram_max_data = $histogram_data[$cas_na_anketi]; } - - echo ''; - - - if ($max_time <= 20) { - for ($t=$t_min; $t<=$max_time; $t++) { - echo ''; - } - } else { - if ($t_min == 0) - echo ''; - else - echo ''; - - for ($t=10; $t<=$max_time; $t+=10) { - echo ''; - } - } - - echo '
'; - - echo '
'; - //echo ''.$t.''; - echo '
'.$t.($minute?'min':'s').'0'.($minute?'min':'s').'2'.($minute?'min':'s').''.$t.'
'; - - } - echo '
'; - - } - - /** - * opcije za rezanje - */ - function show_rezanje_casi () { - global $lang; - global $global_user_id; - - SurveyUserSetting :: getInstance()->Init($this->anketa, $global_user_id); - - $rezanje = SurveyUserSetting::getInstance()->getSettings('rezanje'); if ($rezanje == '') $rezanje = 0; - $rezanje_meja_sp = SurveyUserSetting::getInstance()->getSettings('rezanje_meja_sp'); if ($rezanje_meja_sp == '') $rezanje_meja_sp = 5; - $rezanje_meja_zg = SurveyUserSetting::getInstance()->getSettings('rezanje_meja_zg'); if ($rezanje_meja_zg == '') $rezanje_meja_zg = 5; - $rezanje_predvidena_sp = SurveyUserSetting::getInstance()->getSettings('rezanje_predvidena_sp'); if ($rezanje_predvidena_sp == '') $rezanje_predvidena_sp = 10; - $rezanje_predvidena_zg = SurveyUserSetting::getInstance()->getSettings('rezanje_predvidena_zg'); if ($rezanje_predvidena_zg == '') $rezanje_predvidena_zg = 200; - $rezanje_preskocene = SurveyUserSetting::getInstance()->getSettings('rezanje_preskocene'); if ($rezanje_preskocene == '') $rezanje_preskocene = 1; - - - echo '

'.$lang['srv_rezanje_0'].'

'; - echo '

       '.$lang['srv_rezanje_meja_sp'].':

'; - - echo '

       '.$lang['srv_rezanje_meja_zg'].':

'; - - echo '

'.$lang['srv_rezanje_1'].'

'; - echo '

       '.$lang['srv_rezanje_meja_sp'].': '.$lang['srv_rezanje_predvidenega'].'

'; - - echo '

       '.$lang['srv_rezanje_meja_zg'].': '.$lang['srv_rezanje_predvidenega'].'

'; - - echo '

 

'; - echo '

'.$lang['srv_rezanje_preskocene'].'

'; - echo '

'.$lang['srv_rezanje_preskocene_txt'].'

'; - - echo ''.$lang['srv_save_run_profile'].''; - echo ''.$lang['srv_close_profile'].''; - - } - - /** - * shrani nastavitve - * - */ - function save_rezanje_casi () { - global $global_user_id; - - SurveyUserSetting::getInstance()->Init($this->anketa, $global_user_id); - - SurveyUserSetting::getInstance()->saveSettings('rezanje', $_POST['rezanje']); - SurveyUserSetting::getInstance()->saveSettings('rezanje_meja_sp', $_POST['rezanje_meja_sp']); - SurveyUserSetting::getInstance()->saveSettings('rezanje_meja_zg', $_POST['rezanje_meja_zg']); - SurveyUserSetting::getInstance()->saveSettings('rezanje_predvidena_sp', $_POST['rezanje_predvidena_sp']); - SurveyUserSetting::getInstance()->saveSettings('rezanje_predvidena_zg', $_POST['rezanje_predvidena_zg']); - SurveyUserSetting::getInstance()->saveSettings('rezanje_preskocene', $_POST['rezanje_preskocene']); - - } - - function testiranje_komentarji_links($comment_count){ - global $lang; - global $site_url; - global $site_path; - global $admin_type; - global $global_user_id; - - - if($_GET['a'] == 'komentarji_anketa'){ - - // Gumb nazaj - echo ''; - - echo ' ('; - if($comment_count['question']['unresolved'] > 0) - echo ''; - echo $comment_count['question']['unresolved']; - if($comment_count['question']['unresolved'] > 0) - echo ''; - echo '/'.$comment_count['question']['all']; - echo ')'; - } - else{ - - echo ''; - - echo $lang['srv_komentarji_imate'].' '; - if($comment_count['question']['unresolved'] > 0) echo ''; - echo $this->string_format((int)$comment_count['question']['unresolved'], 'srv_cnt_komentarji'); - if($comment_count['question']['unresolved'] > 0) echo ''; - - echo ' '.$lang['srv_komentarji_odskupno'].' '; - echo $this->string_format((int)$comment_count['question']['all'], 'srv_cnt_komentar_na_vprs'); - - echo ''; - - - // Gumb splosni komentarji - echo ''; - - echo ' ('; - if($comment_count['survey_resp']['unresolved']+$comment_count['survey_admin']['unresolved'] > 0) - echo ''; - echo ($comment_count['survey_resp']['unresolved']+$comment_count['survey_admin']['unresolved']); - if($comment_count['survey_resp']['unresolved']+$comment_count['survey_admin']['unresolved'] > 0) - echo ''; - echo '/'.($comment_count['survey_resp']['all']+$comment_count['survey_admin']['all']); - echo ')'; - } - } - - function string_format($cnt,$lang_root) { - global $lang; - - $txt = ''; - //if ($cnt > 0) $txt .= ''; - - if (isset($lang[$lang_root.'_'.$cnt])) { - $txt .= $cnt.' '.$lang[$lang_root.'_'.$cnt]; - } else { - $txt .= $cnt.' '.$lang[$lang_root.'_more']; - } - - //if ($cnt > 0) $txt .= ''; - - return $txt; - } - - /** - * izpise komentarje na anketo - stara ki se ne uporablja - * - */ - function testiranje_komentarji_anketa_old () { - global $lang; - global $site_url; - global $admin_type; - global $global_user_id; - - $rowa = SurveyInfo::getInstance()->getSurveyRow(); - - SurveySetting::getInstance()->Init($this->anketa); - $sortpostorder = SurveySetting::getInstance()->getSurveyMiscSetting('sortpostorder'); - - $f = new Forum; - - $sql = sisplet_query("SELECT * FROM post WHERE tid='$rowa[thread]'"); - - echo '
'; - echo '

'.$lang['srv_admin_s_comments'].'

'; - - if (mysqli_num_rows($sql) > 0) { - $rows = mysqli_num_rows($sql); - if ($rows > 0) echo ''; - } - - $i=0; - while ($row = mysqli_fetch_array($sql)) { - - if (($i != 0 && $sortpostorder==0) || ($i < $rows-1 && $sortpostorder==1)) { - if ($row['ocena'] == 0) echo ''; - elseif ($row['ocena'] == 1) echo ''; - elseif ($row['ocena'] == 2) echo ''; - elseif ($row['ocena'] == 3) echo ''; - else echo ''; - - echo ''.$f->user($row['uid']).' ('.$f->datetime1($row['time']).'):'; - echo '
'.$row['vsebina'].'
'; - - echo '
'; - } - $i++; - } - - echo '
'; - - } - - /** - * izpise komentarje na anketo - * - */ - function testiranje_komentarji_anketa () { - global $lang; - global $site_url; - global $admin_type; - global $global_user_id; - - $b = new Branching($this->anketa); - $f = new Forum; - $d = new Dostop(); - - SurveySetting::getInstance()->Init($this->anketa); - $sortpostorder = SurveySetting::getInstance()->getSurveyMiscSetting('sortpostorder'); - $commentmarks = SurveySetting::getInstance()->getSurveyMiscSetting('commentmarks'); - $survey_comment = SurveySetting::getInstance()->getSurveyMiscSetting('survey_comment'); - $survey_comment_resp = SurveySetting::getInstance()->getSurveyMiscSetting('survey_comment_resp'); - $comment_count = $this->testiranje_komentarji_count(); - - $rowa = SurveyInfo::getInstance()->getSurveyRow(); - - echo '
'; - - - echo '
'; - - - echo ''; - - echo $lang['srv_komentarji_imate'].' '; - if(($comment_count['survey_resp']['unresolved']+$comment_count['survey_admin']['unresolved']) > 0) echo ''; - echo $this->string_format((int)($comment_count['survey_resp']['unresolved']+$comment_count['survey_admin']['unresolved']), 'srv_cnt_komentarji'); - if(($comment_count['survey_resp']['unresolved']+$comment_count['survey_admin']['unresolved']) > 0) echo ''; - - echo ' '.$lang['srv_komentarji_odskupno'].' '; - echo $this->string_format((int)($comment_count['survey_resp']['all']+$comment_count['survey_admin']['all']), 'srv_cnt_komentarji_survey'); - - echo ''; - - - echo ' '; - echo ' '.$lang['srv_survey_testdata'].''; - echo ' ('.SurveyInfo::getSurveyLink().'&preview=on&testdata=on'.$preview_options.') '; - echo ''; - echo '' . $lang['srv_survey_testdata2'] . ': '.$lang['srv_testdata_text'].''; - echo '

'.$lang['srv_preview_testdata_longtext'].'

'; - echo ''; - echo '
'; // expanded-tooltip bottom - echo '
'; // tooltip - - - # VV: privzeto naj bodo samo nerešeni komentarji - if (!isset($_GET['only_unresolved'])) { - $_GET['only_unresolved'] = 1; - } - - - echo ''; - - # samo nerešeni komentarji - if ($commentmarks == 0) { - echo ''; - } else { - echo $lang['move_show'].': '; - } - echo ' '.Help::display('srv_comments_only_unresolved').''; - - $only_unresolved = " "; - switch($_GET['only_unresolved']){ - case 1: - $only_unresolved = " AND ocena <= '1' "; - break; - case 2: - $only_unresolved = " AND ocena = '0' "; - break; - case 3: - $only_unresolved = " AND ocena = '1' "; - break; - case 4: - $only_unresolved = " AND ocena = '2' "; - break; - case 5: - $only_unresolved = " AND ocena = '3' "; - break; - default: - break; - } - - - echo ''; - - // Splosni komentarji urednikov - levo - echo '
'; - echo ''.$lang['srv_comments_anketa_ured'].' ('.$comment_count['survey_admin']['unresolved'].'/'.$comment_count['survey_admin']['all'].')'; - - echo '
'; - - $sql = sisplet_query("SELECT * FROM post WHERE tid='$rowa[thread]' ".$only_unresolved." "); - $rows = (mysqli_num_rows($sql) == 0) ? 0 : mysqli_num_rows($sql) - 1; - if ($rows > 0){ - echo ''; - echo '
'; - - $i=0; - while ($row = mysqli_fetch_array($sql)) { - - if (($i != 0 && $sortpostorder==0) || ($i < $rows && $sortpostorder==1)) { - if ($row['ocena'] == 0) echo ''; - elseif ($row['ocena'] == 1) echo ''; - elseif ($row['ocena'] == 2) echo ''; - elseif ($row['ocena'] == 3) echo ''; - else echo ''; - - echo ''.$f->user($row['uid']).' ('.$f->datetime1($row['time']).'):'; - - echo '
'; - if ($commentmarks == 1) { - echo ' '; - } else { - // Checkbox za "Koncano" - echo '= 2?' checked':'').' />'; - echo ''; - } - echo '
'; - - echo '
'.$row['vsebina'].'
'; - - echo '
'; - } - $i++; - } - } - // Nimamo komentarja - else{ - // Ce so komentarji aktivirani - if($survey_comment != ''){ - echo $lang['srv_no_comments_solved']; - } - else{ - echo $lang['srv_no_comments']; - } - } - - echo '
'; - - // Dodajanje novega komentarja - echo ''; - echo '

'.$lang['srv_comments_add_comment'].'

'; - echo ''; - - echo '
'; - - - // Splosni komentarji respondentov - desno - echo '
'; - echo ''.$lang['srv_comments_anketa_resp'].' ('.$comment_count['survey_resp']['unresolved'].'/'.$comment_count['survey_resp']['all'].')'; - - echo '
'; - - $sql = sisplet_query("SELECT * FROM srv_comment_resp WHERE ank_id='$this->anketa' ".$only_unresolved." ORDER BY comment_time $orderby, id $orderby"); - if (mysqli_num_rows($sql) > 0) { - - echo ''; - echo '
'; - - while ($row = mysqli_fetch_array($sql)) { - - if ($row['ocena'] == 0) echo ''; - elseif ($row['ocena'] == 1) echo ''; - elseif ($row['ocena'] == 2) echo ''; - elseif ($row['ocena'] == 3) echo ''; - else echo ''; - - $datetime = strtotime($row['comment_time']); - $datetime = date("d.m G:i", $datetime); - - if($row['usr_id'] == 0){ - $user = $lang['guest']; - } - else{ - $sqlU = sisplet_query("SELECT name FROM users WHERE id='$row[usr_id]'"); - $rowU = mysqli_fetch_array($sqlU); - - $user = $rowU['name']; - } - - echo ''.$user.' ('.$datetime.'):'; - - echo '
'; - if ($commentmarks == 1) { - echo ' '; - } else { - // Checkbox za "Koncano" - echo '= 2?' checked':'').' />'; - echo ''; - } - echo '
'; - - echo '
'.$row['comment'].'
'; - - echo '
'; - } - } - // Nimamo komentarja - else{ - // Ce so komentarji aktivirani - if($survey_comment_resp != ''){ - echo $lang['srv_no_comments_solved']; - } - else{ - echo $lang['srv_no_comments']; - } - } - - echo '
'; - - // Dodajanje novega komentarja - echo ''; - echo '

'.$lang['srv_comments_add_comment'].'

'; - echo ''; - - echo '
'; - - - echo '
'; - echo '
'; - } - - function testiranje_komentarji_komentarji_na_anketo ($return = true) { - - $rowi = SurveyInfo::getInstance()->getSurveyRow(); - - #komentarji na anketo - # vsi komentarji na anketo - $strta = "SELECT count(*) FROM post WHERE tid='".$rowi['thread']."' AND parent > 0"; - $sqlta = sisplet_query($strta); - list($rowta) = mysqli_fetch_row($sqlta); - - # nerešeni komentarji: only_unresolved => ocena <= 1 - $strtu = "SELECT count(*) FROM post WHERE tid='".$rowi['thread']."' AND parent > 0 AND ocena <= 1 "; - $sqltu = sisplet_query($strtu); - list($rowtu) = mysqli_fetch_row($sqltu); - - if ($return) - return '('.(int)$rowtu.'/'.(int)$rowta.')'; - else - return (int)$rowtu; - } - - public function testiranje_komentarji_count () { - - $comment_count = array(); - - $rowi = SurveyInfo::getInstance()->getSurveyRow(); - - - // KOMENTARJI NA ANKETO - UREDNIK - # vsi komentarji na anketo - $strta = "SELECT count(*) FROM post WHERE tid='".$rowi['thread']."' AND parent > 0"; - $sqlta = sisplet_query($strta); - list($rowta) = mysqli_fetch_row($sqlta); - - # nerešeni komentarji: only_unresolved => ocena <= 1 - $strtu = "SELECT count(*) FROM post WHERE tid='".$rowi['thread']."' AND parent > 0 AND ocena <= 1 "; - $sqltu = sisplet_query($strtu); - list($rowtu) = mysqli_fetch_row($sqltu); - //(int)$rowtu.'/'.(int)$rowta; - $comment_count['survey_admin']['all'] = (int)$rowta; - $comment_count['survey_admin']['unresolved'] = (int)$rowtu; - - - // KOMENTARJI NA ANKETO - RESPONDENT - # vsi komentarji na anketo - $strta = "SELECT count(*) FROM srv_comment_resp WHERE ank_id='".$this->anketa."'"; - $sqlta = sisplet_query($strta); - list($rowta) = mysqli_fetch_row($sqlta); - - # nerešeni komentarji: only_unresolved => ocena <= 1 - $strtu = "SELECT count(*) FROM srv_comment_resp WHERE ank_id='".$this->anketa."' AND ocena <= 1 "; - $sqltu = sisplet_query($strtu); - list($rowtu) = mysqli_fetch_row($sqltu); - //(int)$rowtu.'/'.(int)$rowta; - $comment_count['survey_resp']['all'] = (int)$rowta; - $comment_count['survey_resp']['unresolved'] = (int)$rowtu; - - - // KOMENTARJI NA VPRASANJE - # naenkrat preberemo vse spremenljivke, da ne delamo queryja vsakic posebej - $spremenljivke = Cache::cache_all_srv_spremenljivka($this->anketa, true); - $spr_id=array(); - $threads=array(); - if ( is_array($spremenljivke) && count($spremenljivke) > 0 ) { - - foreach ($spremenljivke as $id=>$value) { - $spr_id[] = $id; - - if ((int)$value['thread'] > 0) { - $threads[] = $value['thread']; - } - } - } - if (count($spr_id) > 0) { - #preštejemo komentarje uporabnikov na vprašanja - # srv_data_text where spr_id = 0 AND vre_id IN (id-ji spremenljivk) - $strqr = "SELECT count(*) FROM srv_data_text".$this->db_table." WHERE spr_id=0 AND vre_id IN (".implode(',',$spr_id).")"; - $sqlqr = sisplet_query($strqr); - list($rowqr) = mysqli_fetch_row($sqlqr); - - #končani komentarji respondentov - #text2 = 2 => končan - #text2 = 3 => nerelevantno - $strqrf = "SELECT count(*) FROM srv_data_text".$this->db_table." WHERE spr_id=0 AND vre_id IN (".implode(',',$spr_id).") AND text2 IN (2,3)"; - $sqlqrf = sisplet_query($strqrf); - list($rowqrf) = mysqli_fetch_row($sqlqrf); - - # preštejemo - if (count($threads) > 0) { - # vsi komentarji na anketo - $strta = "SELECT count(*) FROM post WHERE tid IN (".implode(',',$threads).") AND parent > 0"; - $sqlta = sisplet_query($strta); - list($rowtqa) = mysqli_fetch_row($sqlta); - # nerešeni komentarji: only_unresolved => ocena <= 1 - $strtu = "SELECT count(*) FROM post WHERE tid IN (".implode(',',$threads).") AND parent > 0 AND ocena IN (2,3) "; - $sqltu = sisplet_query($strtu); - list($rowtqu) = mysqli_fetch_row($sqltu); - } - } - - #vsi - //$all = (int)((int)$rowqr + (int)$rowtqa); - #nerešeni - //$unresolved = $all - (int)((int)$rowqrf + (int)$rowtqu); - $comment_count['question']['all'] = (int)((int)$rowqr + (int)$rowtqa); - $comment_count['question']['unresolved'] = $comment_count['question']['all'] - (int)((int)$rowqrf + (int)$rowtqu); - - // KOMENTARJI NA IF ALI BLOK - # naenkrat preberemo vse ife in bloke, da ne delamo queryja vsakic posebej - $ifi = Cache::cache_all_srv_if($this->anketa, true); - $if_id = array(); - $threads_if = array(); - if ( is_array($ifi) && count($ifi) > 0 ) { - - foreach ($ifi as $id=>$value) { - $if_id[] = $id; - - if ((int)$value['thread'] > 0) { - $threads_if[] = $value['thread']; - } - } - } - if (count($if_id) > 0) { - - #preštejemo komentarje uporabnikov na vprašanja - # srv_data_text where if_id = 0 AND vre_id IN (id-ji spremenljivk) - $strqr = "SELECT count(*) FROM srv_data_text".$this->db_table." WHERE spr_id=0 AND vre_id IN (".implode(',',$if_id).")"; - $sqlqr = sisplet_query($strqr); - list($rowqr_if) = mysqli_fetch_row($sqlqr); - - #končani komentarji respondentov - #text2 = 2 => končan - #text2 = 3 => nerelevantno - $strqrf = "SELECT count(*) FROM srv_data_text".$this->db_table." WHERE spr_id=0 AND vre_id IN (".implode(',',$if_id).") AND text2 IN (2,3)"; - $sqlqrf = sisplet_query($strqrf); - list($rowqrf_if) = mysqli_fetch_row($sqlqrf); - - # preštejemo - if (count($threads_if) > 0) { - # vsi komentarji na anketo - $strta = "SELECT count(*) FROM post WHERE tid IN (".implode(',',$threads_if).") AND parent > 0"; - $sqlta = sisplet_query($strta); - list($rowtqa_if) = mysqli_fetch_row($sqlta); - # nerešeni komentarji: only_unresolved => ocena <= 1 - $strtu = "SELECT count(*) FROM post WHERE tid IN (".implode(',',$threads_if).") AND parent > 0 AND ocena IN (2,3) "; - $sqltu = sisplet_query($strtu); - list($rowtqu_if) = mysqli_fetch_row($sqltu); - } - } - - $comment_count['question']['all'] += (int)((int)$rowqr_if + (int)$rowtqa_if); - $comment_count['question']['unresolved'] += ((int)((int)$rowqr_if + (int)$rowtqa_if)) - ((int)((int)$rowqrf_if + (int)$rowtqu_if)); - - - return $comment_count; - } - - /** - * $return pove a vrne text (true) ali samo številko (false) - */ - function testiranje_komentarji_komentarji_na_vprasanje ($return = true) { - - # naenkrat preberemo vse spremenljivke, da ne delamo queryja vsakic posebej - $spremenljivke = Cache::cache_all_srv_spremenljivka($this->anketa, true); - - $spr_id=array(); - $threads=array(); - if ( is_array($spremenljivke) && count($spremenljivke) > 0 ) { - foreach ($spremenljivke as $id=>$value) { - $spr_id[] = $id; - if ((int)$value['thread'] > 0) { - $threads[] = $value['thread']; - } - } - } - if (count($spr_id) > 0) { - #preštejemo komentarje uporabnikov na vprašanja - # srv_data_text where spr_id = 0 AND vre_id IN (id-ji spremenljivk) - $strqr = "SELECT count(*) FROM srv_data_text".$this->db_table." WHERE spr_id=0 AND vre_id IN (".implode(',',$spr_id).")"; - $sqlqr = sisplet_query($strqr); - list($rowqr) = mysqli_fetch_row($sqlqr); - - #končani komentarji respondentov - #text2 = 2 => končan - #text2 = 3 => nerelevantno - $strqrf = "SELECT count(*) FROM srv_data_text".$this->db_table." WHERE spr_id=0 AND vre_id IN (".implode(',',$spr_id).") AND text2 IN (2,3)"; - $sqlqrf = sisplet_query($strqrf); - list($rowqrf) = mysqli_fetch_row($sqlqrf); - - # preštejemo - if (count($threads) > 0) { - # vsi komentarji na anketo - $strta = "SELECT count(*) FROM post WHERE tid IN (".implode(',',$threads).") AND parent > 0"; - $sqlta = sisplet_query($strta); - list($rowtqa) = mysqli_fetch_row($sqlta); - # nerešeni komentarji: only_unresolved => ocena <= 1 - $strtu = "SELECT count(*) FROM post WHERE tid IN (".implode(',',$threads).") AND parent > 0 AND ocena IN (2,3) "; - $sqltu = sisplet_query($strtu); - list($rowtqu) = mysqli_fetch_row($sqltu); - } - } - - #vsi - $all = (int)((int)$rowqr + (int)$rowtqa); - # nerešeni - $unresolved = $all - (int)((int)$rowqrf + (int)$rowtqu); - - if ($return) - // '('.$unresolved.'/'.$all.')'; - return $unresolved; - else - return $unresolved; - - } - - /** - * izpise vprasanja, ki imajo komentarje in poleg tudi razprte komentarje - * - */ - function testiranje_komentarji () { - global $lang; - global $site_url; - global $admin_type; - global $global_user_id; - - $lang_admin = $lang; - - //$sa = new SurveyAdmin(1, $this->anketa); - include_once('../../main/survey/app/global_function.php'); - new \App\Controllers\SurveyController(true); - save('forceShowSpremenljivka', true); - $f = new Forum; - $c = 0; - - $lang = $lang_admin; - - $b = new Branching($this->anketa); - - $d = new Dostop(); - - $rowi = SurveyInfo::getInstance()->getSurveyRow(); - - echo '
'; - - - echo '
'; - - SurveySetting::getInstance()->Init($this->anketa); - $question_resp_comment_viewadminonly = SurveySetting::getInstance()->getSurveyMiscSetting('question_resp_comment_viewadminonly'); - $question_comment_viewadminonly = SurveySetting::getInstance()->getSurveyMiscSetting('question_comment_viewadminonly'); - $question_comment_viewauthor = SurveySetting::getInstance()->getSurveyMiscSetting('question_comment_viewauthor'); - $sortpostorder = SurveySetting::getInstance()->getSurveyMiscSetting('sortpostorder'); - $question_note_view = SurveySetting::getInstance()->getSurveyMiscSetting('question_note_view'); - $addfieldposition = SurveySetting::getInstance()->getSurveyMiscSetting('addfieldposition'); - $commentmarks = SurveySetting::getInstance()->getSurveyMiscSetting('commentmarks'); - $commentmarks_who = SurveySetting::getInstance()->getSurveyMiscSetting('commentmarks_who'); - - $question_comment_viewadminonly = ($question_comment_viewadminonly == '') ? 4 : $question_comment_viewadminonly; - $question_resp_comment_viewadminonly = ($question_resp_comment_viewadminonly == '') ? 4 : $question_resp_comment_viewadminonly;; - - $comment_count = $this->testiranje_komentarji_count(); - - - echo ''; - - echo $lang['srv_komentarji_imate'].' '; - if($comment_count['question']['unresolved'] > 0) echo ''; - echo $this->string_format((int)$comment_count['question']['unresolved'], 'srv_cnt_komentarji'); - if($comment_count['question']['unresolved'] > 0) echo ''; - - echo ' '.$lang['srv_komentarji_odskupno'].' '; - echo $this->string_format((int)$comment_count['question']['all'], 'srv_cnt_komentar_na_vprs'); - - echo ''; - - - echo ' '; - echo ' '.$lang['srv_survey_testdata'].''; - echo ' ('.SurveyInfo::getSurveyLink().'&preview=on&testdata=on'.$preview_options.') '; - echo ''; - echo '' . $lang['srv_survey_testdata2'] . ': '.$lang['srv_testdata_text'].''; - echo '

'.$lang['srv_preview_testdata_longtext'].'

'; - echo ''; - echo '
'; // expanded-tooltip bottom - echo '
'; // tooltip - - - # VV: privzeto naj bodo samo nerešeni komentarji - if (!isset($_GET['only_unresolved'])) { - $_GET['only_unresolved'] = 1; - } - - - $sqlf1 = sisplet_query("SELECT p.id FROM post p WHERE p.tid='$rowi[thread]' AND p.ocena='5'"); - while ($rowf1 = mysqli_fetch_array($sqlf1)) { - $s = sisplet_query("SELECT * FROM views WHERE pid='$rowf1[id]' AND uid='$global_user_id'"); - if (mysqli_num_rows($s) == 0) - $show_survey_comment = 1; - } - echo ''; - - // vsa vprasanja - echo ''; - - # samo nerešeni komentarji - if ($commentmarks == 0) { - echo ''; - } else { - echo $lang['move_show'].': '; - } - echo ' '.Help::display('srv_comments_only_unresolved').''; - - - - - - // Nov nacin kjer se sprehodimo cez branching, ker imamo lahko tudi komentarje na ife in bloke - Common::getInstance()->Init($this->anketa); - $branching_array = Common::getBranchingOrder(); - if (count($branching_array) > 0) { - - $view = 1; + // Izrisemo histogram - ce imamo kaksno vrednost nad 0 + if ($histogram_max_data != 0) { - echo ''; - - $b = new Branching($this->anketa); - - foreach($branching_array AS $element){ - - // Gre za if ali blok - if($element['if_id'] > 0){ - $if_id = $element['if_id']; + echo ''; - $sql1 = sisplet_query("SELECT * FROM srv_if WHERE id = '$if_id'"); - $row1 = mysqli_fetch_array($sql1); - - $orderby = $sortpostorder == 1 ? 'DESC' : 'ASC' ; - $tid = $row1['thread']; - - $only_unresolved = " "; - $only_unresolved2 = " "; - if ($_GET['only_unresolved'] == 1) $only_unresolved = " AND ocena <= 1 "; - if ($_GET['only_unresolved'] == 1) $only_unresolved2 = " AND text2 <= 1 "; - - if ($_GET['only_unresolved'] == 2) $only_unresolved = " AND ocena = 0 "; - if ($_GET['only_unresolved'] == 2) $only_unresolved2 = " AND text2 = 0 "; - - if ($_GET['only_unresolved'] == 3) $only_unresolved = " AND ocena = 1 "; - if ($_GET['only_unresolved'] == 3) $only_unresolved2 = " AND text2 = 1 "; - - if ($_GET['only_unresolved'] == 4) $only_unresolved = " AND ocena = 2 "; - if ($_GET['only_unresolved'] == 4) $only_unresolved2 = " AND text2 = 2 "; - - if ($_GET['only_unresolved'] == 5) $only_unresolved = " AND ocena = 3 "; - if ($_GET['only_unresolved'] == 5) $only_unresolved2 = " AND text2 = 3 "; - - - $tema_vsebuje = substr($lang['srv_forum_intro'],0,10); // da ne prikazujemo 1. default sporocila - - if ($admin_type <= $question_comment_viewadminonly) { // vidi vse komentarje - $sqlt = sisplet_query("SELECT * FROM post WHERE vsebina NOT LIKE '%{$tema_vsebuje}%' AND tid='$tid' $only_unresolved ORDER BY time $orderby, id $orderby"); - } elseif ($question_comment_viewauthor==1) { // vidi samo svoje komentarje - $sqlt = sisplet_query("SELECT * FROM post WHERE vsebina NOT LIKE '%{$tema_vsebuje}%' AND tid='$tid' $only_unresolved AND uid='$global_user_id' ORDER BY time $orderby, id $orderby"); - } else { // ne vidi nobenih komentarjev - $sqlt = sisplet_query("SELECT * FROM post WHERE 1=0"); - } - - if (($_GET['all_questions']=='1') OR (mysqli_num_rows($sqlt) > 0)) { - $c++; - - echo '
'; - - echo '
  • '; - echo '
    '; - - // Blok - if($row1['tip'] == 1){ - echo '
    '; - echo 'BLOCK ('.$row1['number'].')'; - echo '
    '; - } - // If - else{ - echo '
    '; - $b->conditions_display($if_id); - echo '
    '; - } - - echo '
    '; - echo '
  • '; - - echo '
    '; - - if ($addfieldposition == 1) { - echo ''; - echo '

    '.$lang['srv_comments_add_comment'].'

    '; - echo ''; - } - - // komentarji na vprasanje - if ($row1['thread'] > 0) { - - if (mysqli_num_rows($sqlt) > 0) { - - echo '

    '.$lang['srv_admin_comment'].''; - //$rowss = mysqli_num_rows($sql); - //if ($rowss > 0) - echo ''; - echo '

    '; - - $i = 0; - while ($rowt = mysqli_fetch_array($sqlt)) { - if ($_GET['only_unresolved'] == 1) { - if ($rowt['ocena'] == 0) echo ''; - elseif ($rowt['ocena'] == 1) echo ''; - elseif ($rowt['ocena'] == 2) echo ''; - elseif ($rowt['ocena'] == 3) echo ''; - else echo ''; - } else { - if ($rowt['ocena'] == 0) echo ''; - elseif ($rowt['ocena'] == 1) echo ''; - elseif ($rowt['ocena'] == 2) echo ''; - elseif ($rowt['ocena'] == 3) echo ''; - else echo ''; - } - - echo ''.$f->user($rowt['uid']).' ('.$f->datetime1($rowt['time']).'):'; - - if ($admin_type <= 1 || $rowi['insert_uid']==$global_user_id || $commentmarks_who==0) { - - echo '
    '; - - if ($commentmarks == 1) { - echo ' '; - } else { - echo '= 2?' checked':'').' />'; - } - echo '
    '.$lang['srv_comment_comment'].''; - echo '
    '; - } - - echo '
    '.$rowt['vsebina'].'
    '; - echo '
    '; - } - } - } - - if ($addfieldposition == '' || $addfieldposition == 0) { - echo ''; - echo '

    '.$lang['srv_comments_add_comment'].'

    '; - echo ''; - } + // Sivi stolpci + echo '
    '; + + for ($t=$min_cas_na_anketi; $t<=$max_cas_na_anketi; $t++) { + + if(isset($histogram_data[$t])){ + echo ''; + } + } - echo ''; - - echo '
    '; - echo ''; + echo ''; + + + // Spodnja os + echo ''; + + // Korak 1 min + if ($max_cas_na_anketi <= 20) { + for ($t=$min_cas_na_anketi; $t<=$max_cas_na_anketi; $t++) { + echo ''; + } + } + // Korak 10 min + else { + $colspan = 10 - $min_cas_na_anketi; + echo ''; + + for ($t=10; $t<=$max_cas_na_anketi; $t+=10) { + + // Pri zadnji labeli odstejemo span + if(($t + 10) > count($histogram_data)) + $colspan = count($histogram_data) - $t; + else + $colspan = 10; + + echo ''; } } - // Gre za navadno vprasanje - else{ - $spr_id = $element['spr_id']; - $sql1 = sisplet_query("SELECT thread, note FROM srv_spremenljivka WHERE id = '$spr_id'"); - $row1 = mysqli_fetch_array($sql1); - - $orderby = $sortpostorder == 1 ? 'DESC' : 'ASC' ; - $tid = $row1['thread']; - - $only_unresolved = " "; - $only_unresolved2 = " "; - if ($_GET['only_unresolved'] == 1) $only_unresolved = " AND ocena <= 1 "; - if ($_GET['only_unresolved'] == 1) $only_unresolved2 = " AND text2 <= 1 "; - - if ($_GET['only_unresolved'] == 2) $only_unresolved = " AND ocena = 0 "; - if ($_GET['only_unresolved'] == 2) $only_unresolved2 = " AND text2 = 0 "; - - if ($_GET['only_unresolved'] == 3) $only_unresolved = " AND ocena = 1 "; - if ($_GET['only_unresolved'] == 3) $only_unresolved2 = " AND text2 = 1 "; - - if ($_GET['only_unresolved'] == 4) $only_unresolved = " AND ocena = 2 "; - if ($_GET['only_unresolved'] == 4) $only_unresolved2 = " AND text2 = 2 "; - - if ($_GET['only_unresolved'] == 5) $only_unresolved = " AND ocena = 3 "; - if ($_GET['only_unresolved'] == 5) $only_unresolved2 = " AND text2 = 3 "; - - - $tema_vsebuje = substr($lang['srv_forum_intro'],0,10); // da ne prikazujemo 1. default sporocila + echo ''; + + echo '
    '; + echo '
    '; + echo '
    '.$t.'min'.''.$min_cas_na_anketi.'min'.$t.'
    '; + } + } + // Casi po straneh - 1 histogram na stran + else{ + + foreach ($casi AS $stran => $casi_na_strani) { + + // Izpisemo naslov posamezne strani + $naslov = $lang['srv_intro_label']; + + $sql = sisplet_query("SELECT naslov FROM srv_grupa WHERE vrstni_red='$stran' AND ank_id='$this->anketa'"); + if(mysqli_num_rows($sql) > 0){ + $row = mysqli_fetch_array($sql); + + if($row['naslov'] != '') + $naslov = $row['naslov']; + } + + echo '

    '.$naslov.'

    '; + + + // Dobimo podatke za histogram + // Nastavimo min cas in max cas na anketi + $max_cas_na_strani = 0; + $min_cas_na_strani = 0; + foreach ($casi_na_strani AS $usr_id => $cas_na_strani) { - if ($admin_type <= $question_comment_viewadminonly) { // vidi vse komentarje - $sqlt = sisplet_query("SELECT * FROM post WHERE vsebina NOT LIKE '%{$tema_vsebuje}%' AND tid='$tid' $only_unresolved ORDER BY time $orderby, id $orderby"); - } elseif ($question_comment_viewauthor==1) { // vidi samo svoje komentarje - $sqlt = sisplet_query("SELECT * FROM post WHERE vsebina NOT LIKE '%{$tema_vsebuje}%' AND tid='$tid' $only_unresolved AND uid='$global_user_id' ORDER BY time $orderby, id $orderby"); - } else { // ne vidi nobenih komentarjev - $sqlt = sisplet_query("SELECT * FROM post WHERE 1=0"); - } + if ($cas_na_strani > $max_cas_na_strani) + $max_cas_na_strani = $cas_na_strani; + + if ($cas_na_strani < $min_cas_na_strani || $min_cas_na_strani == 0) + $min_cas_na_strani = $cas_na_strani; + } + + // Pretvorimo v minute + $max_cas_na_strani = (int) round($max_cas_na_strani / 60, 0); + $min_cas_na_strani = (int) round($min_cas_na_strani / 60, 0); + + if($get_prikazi01 == 1) + $min_cas_na_strani = 0; + + // Pripravimo podatke za histogram + $histogram_data = array(); - $sql2 = sisplet_query("SELECT COUNT(*) AS count FROM srv_data_text".$this->db_table." WHERE spr_id='0' AND vre_id='$spr_id' $only_unresolved2"); - $row2 = mysqli_fetch_array($sql2); + // Napolnimo vrednosti 0 na vsakem koraku (minuti) + for ($t=0; $t<=$max_cas_na_strani; $t++) + $histogram_data[$t] = 0; + + // Napolnimo vrednosti v histogram in dobimo najvecjo vrednost + $histogram_max_data = 0; + foreach ($casi_na_strani AS $usr_id => $cas_na_strani) { + + // Pretvorimo v minute + $cas_na_strani = (int) round($cas_na_strani / 60, 0); + + $histogram_data[$cas_na_strani]++; + + if($histogram_data[$cas_na_strani] > $histogram_max_data) + $histogram_max_data = $histogram_data[$cas_na_strani]; + } + + + // Izrisemo histogram za stran - ce imamo kaksno vrednost nad 0 + if ($histogram_max_data != 0) { + + echo ''; - - if ( ($_GET['all_questions']=='1') OR ( mysqli_num_rows($sqlt) > 0 || $row2['count'] > 0 || $row1['note'] != '' ) ) { - $c++; - - echo '
    '; - - echo '
  • '; - $b->vprasanje($spr_id); - echo '
  • '; - - if ($admin_type <= $question_note_view || $question_note_view == '') { - - if ($row1['note'] != '') { - echo '
    '; - echo '

    + '.$lang['srv_note'].'

    '; - echo '

    '.nl2br($row1['note']).'

    '; - echo '
    '; - } - } - - echo '
    '; - - if ($addfieldposition == 1) { - echo ''; - echo '

    '.$lang['srv_comments_add_comment'].'

    '; - echo ''; + // Sivi stolpci + echo '
    '; + + for ($t=$min_cas_na_strani; $t<=$max_cas_na_strani; $t++) { + + if(isset($histogram_data[$t])){ + echo ''; } - - // komentarji na vprasanje - if ($row1['thread'] > 0) { + } - if (mysqli_num_rows($sqlt) > 0) { - - echo '

    '.$lang['srv_admin_comment'].''; - //$rowss = mysqli_num_rows($sql); - //if ($rowss > 0) - echo ''; - echo '

    '; - - $i = 0; - while ($rowt = mysqli_fetch_array($sqlt)) { - if ($_GET['only_unresolved'] == 1) { - if ($rowt['ocena'] == 0) echo ''; - elseif ($rowt['ocena'] == 1) echo ''; - elseif ($rowt['ocena'] == 2) echo ''; - elseif ($rowt['ocena'] == 3) echo ''; - else echo ''; - } else { - if ($rowt['ocena'] == 0) echo ''; - elseif ($rowt['ocena'] == 1) echo ''; - elseif ($rowt['ocena'] == 2) echo ''; - elseif ($rowt['ocena'] == 3) echo ''; - else echo ''; - } - - echo ''.$f->user($rowt['uid']).' ('.$f->datetime1($rowt['time']).'):'; - - if ($admin_type <= 1 || $rowi['insert_uid']==$global_user_id || $commentmarks_who==0) { - - echo '
    '; - - if ($commentmarks == 1) { - echo ' '; - } else { - echo '= 2?' checked':'').' />'; - } - echo '
    '.$lang['srv_comment_comment'].''; - echo '
    '; - } - - echo '
    '.$rowt['vsebina'].'
    '; - echo '
    '; - } - } - } - - if ($addfieldposition == '' || $addfieldposition == 0) { - echo ''; - echo '

    '.$lang['srv_comments_add_comment'].'

    '; - echo ''; + echo '
    '; + + + // Spodnja os + echo ''; + + // Korak 1 min + if ($max_cas_na_strani <= 20) { + for ($t=$min_cas_na_strani; $t<=$max_cas_na_strani; $t++) { + echo ''; } + } + // Korak 10 min + else { + if ($min_cas_na_strani == 0) + echo ''; + else + echo ''; - echo ''; - - // komentarji respondentov - if ($row2['count'] > 0) { - - if ($admin_type <= $question_resp_comment_viewadminonly) { - echo '
    '; - echo '

    '.$lang['srv_repondent_comment'].'

    '; - - if ($_GET['only_unresolved'] == 1) $only_unresolved = " AND d.text2 <= 1 "; else $only_unresolved = " "; - - $sqlt = sisplet_query("SELECT * FROM srv_data_text".$this->db_table." WHERE spr_id='0' AND vre_id='$spr_id' $only_unresolved2 ORDER BY id ASC"); - if (!$sqlt) echo mysqli_error($GLOBALS['connect_db']); - while ($rowt = mysqli_fetch_array($sqlt)) { - - if ($rowt['text2'] == 0) echo ''; - elseif ($rowt['text2'] == 1) echo ''; - elseif ($rowt['text2'] == 2) echo ''; - elseif ($rowt['text2'] == 3) echo ''; - else echo ''; - - - if ($admin_type <= 1 || $rowi['insert_uid']==$global_user_id || $commentmarks_who==0) { - echo '
    '; - if ($commentmarks == 1) { - echo ' '; - } else { - echo '= 2?' checked':'').' />'; - } - echo '
    '; - } + for ($t=10; $t<=$max_cas_na_strani; $t+=10) { - // Ce smo slucajno pobrisali testne vnose, nimamo casa vnosa komentarja - $sqlTime = sisplet_query("SELECT time_edit FROM srv_user WHERE id='".$rowt['usr_id']."'"); - if(mysqli_num_rows($sqlTime) > 0){ - - $rowTime = mysqli_fetch_array($sqlTime); - - if ( strpos($rowt['text'], '__DATE__') !== false ) { - $rowt['text'] = str_replace('__DATE__', $f->datetime1($rowTime['time_edit']), $rowt['text']); - echo ''.nl2br($rowt['text']).'
    '; - } - else { - echo ''.$f->datetime1($rowTime['time_edit']).':
    '; - echo ''.nl2br($rowt['text']).'
    '; - } - } - else{ - if ( strpos($rowt['text'], '__DATE__') !== false ) { - $rowt['text'] = str_replace('__DATE__', '', $rowt['text']); - echo ''.nl2br($rowt['text']).'
    '; - } - else { - echo ''.nl2br($rowt['text']).'
    '; - } - } - - echo '
    '; - - } - echo '
    '; - } + $colspan = 10; + if(($t + 10) > count($histogram_data)) + $colspan = $t + 10 - count($histogram_data); + if($min_cas_na_strani != 0) + $colspan -= 2; + + echo ''; } - - echo '
    '; - echo ''; - } + } + + echo ''; + + echo '
    '; + echo '
    '; + echo '
    '.$t.'min'.'0'.'min'.'2'.'min'.''.$t.'
    '; } } - - echo '
    '; - - if ($c == 0) { - echo '
    '; - echo $lang['srv_no_comments_solved'].'
    '; - #echo ''.$lang['srv_settings_komentarji'].''; - echo '
    '; - } + + } + + echo '
    '; + } + + /** + * opcije za rezanje + */ + function show_rezanje_casi () { + global $lang; + global $global_user_id; + + SurveyUserSetting :: getInstance()->Init($this->anketa, $global_user_id); + + $rezanje = SurveyUserSetting::getInstance()->getSettings('rezanje'); if ($rezanje == '') $rezanje = 0; + $rezanje_meja_sp = SurveyUserSetting::getInstance()->getSettings('rezanje_meja_sp'); if ($rezanje_meja_sp == '') $rezanje_meja_sp = 5; + $rezanje_meja_zg = SurveyUserSetting::getInstance()->getSettings('rezanje_meja_zg'); if ($rezanje_meja_zg == '') $rezanje_meja_zg = 5; + $rezanje_predvidena_sp = SurveyUserSetting::getInstance()->getSettings('rezanje_predvidena_sp'); if ($rezanje_predvidena_sp == '') $rezanje_predvidena_sp = 10; + $rezanje_predvidena_zg = SurveyUserSetting::getInstance()->getSettings('rezanje_predvidena_zg'); if ($rezanje_predvidena_zg == '') $rezanje_predvidena_zg = 200; + $rezanje_preskocene = SurveyUserSetting::getInstance()->getSettings('rezanje_preskocene'); if ($rezanje_preskocene == '') $rezanje_preskocene = 1; + + + echo '

    '.$lang['srv_rezanje'].'

    '; + echo ''; + + + echo ''; + + + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; + } + + /** + * shrani nastavitve + * + */ + function save_rezanje_casi () { + global $global_user_id; + + SurveyUserSetting::getInstance()->Init($this->anketa, $global_user_id); + + SurveyUserSetting::getInstance()->saveSettings('rezanje', $_POST['rezanje']); + SurveyUserSetting::getInstance()->saveSettings('rezanje_meja_sp', $_POST['rezanje_meja_sp']); + SurveyUserSetting::getInstance()->saveSettings('rezanje_meja_zg', $_POST['rezanje_meja_zg']); + SurveyUserSetting::getInstance()->saveSettings('rezanje_predvidena_sp', $_POST['rezanje_predvidena_sp']); + SurveyUserSetting::getInstance()->saveSettings('rezanje_predvidena_zg', $_POST['rezanje_predvidena_zg']); + SurveyUserSetting::getInstance()->saveSettings('rezanje_preskocene', $_POST['rezanje_preskocene']); + + } + + function string_format($cnt,$lang_root) { + global $lang; + + $txt = ''; + //if ($cnt > 0) $txt .= ''; + + if (isset($lang[$lang_root.'_'.$cnt])) { + $txt .= $cnt.' '.$lang[$lang_root.'_'.$cnt]; + } else { + $txt .= $cnt.' '.$lang[$lang_root.'_more']; } - else { - echo '
    '; - echo $lang['srv_no_comments'].'
    '; - echo '
    '; - } - echo ''; // branching - echo '
    '; - echo ''; // placeholder + //if ($cnt > 0) $txt .= '
    '; + + return $txt; } /** @@ -7138,7 +7298,7 @@ class SurveyAdminSettings { function testiranje_testnipodatki () { global $lang; - if ($_POST['stevilo_vnosov'] > 0) { + if (isset($_POST['stevilo_vnosov']) && $_POST['stevilo_vnosov'] > 0) { // Nastavitev da vstavljamo samo veljavne vnose $only_valid = isset($_POST['only_valid']) ? $_POST['only_valid'] : 0; @@ -7220,7 +7380,7 @@ class SurveyAdminSettings { } if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { - if ($vrednost > 0) { + if (isset($vrednost) && $vrednost > 0) { $srv_data_vrednost .= "('$row[id]', '$vrednost', '$this->usr_id'),"; if ($row1['other'] == 1) $srv_data_text .= "('$row[id]', '$vrednost', '".$this->randomString()."', '', '$this->usr_id'),"; @@ -7258,11 +7418,11 @@ class SurveyAdminSettings { $j++; } - if ($vrednost) { + if (isset($vrednost)) { foreach ($vrednost AS $key => $val) { if ($val > 0) { $srv_data_vrednost .= "('$row[id]', '$val', '$this->usr_id'),"; - if ($row1['other'] == 1) + if (isset($row1['other']) && $row1['other'] == 1) $srv_data_text .= "('$row[id]', '$val', '".$this->randomString()."', '', '$this->usr_id'),"; } } @@ -7388,56 +7548,8 @@ class SurveyAdminSettings { } } - //Lokacija - elseif($row['tip'] == 26){ - //choose location - $sql1 = sisplet_query("SELECT id FROM srv_vrednost WHERE spr_id = '$row[id]'", 'array'); - - //so vrednosti, se pravi je choose - if($sql1){ - foreach($sql1 as $row1){ - if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { - // Ce imamo samo veljavne imamo vedno vrednost - if($only_valid == 1) - $vrednost = $this->randomString(); - else - $vrednost = rand(0,1)==0 ? $this->randomString() : ''; - - $srv_data_map .= "(" . $this->usr_id . ", '$row[id]', '$row1[id]', ". $this->anketa . ", '', '', '', '". - ($vrednost != '' ? $vrednost : '-1')."', ''),"; - } - else { - $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; - } - } - } - //niso vrednosti, se pravi je moja ali multi lokacija - else{ - if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { - - $make_input = ($only_valid == 1 ? true : rand(0,1)==0); - if($make_input){ - - $lat = floatval(mt_rand(454000, 466500)/10000); - $lng = floatval(mt_rand(136000, 163900)/10000); - - // Ce imamo samo veljavne imamo vedno vrednost - if($only_valid == 1) - $vrednost = $this->randomString(); - else - $vrednost = rand(0,1)==0 ? $this->randomString() : ''; - - $srv_data_map .= "(" . $this->usr_id . ", '$row[id]', '$row1[id]', ". $this->anketa . ", '$lat', '$lng', '[N/A]', '". - ($vrednost != '' ? $vrednost : '-1')."', ''),"; - } - } - else { - $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; - } - } - } - //Heatmap - elseif($row['tip'] == 27){ + //Lokacija + elseif($row['tip'] == 26){ //choose location $sql1 = sisplet_query("SELECT id FROM srv_vrednost WHERE spr_id = '$row[id]'", 'array'); @@ -7451,7 +7563,7 @@ class SurveyAdminSettings { else $vrednost = rand(0,1)==0 ? $this->randomString() : ''; - $srv_data_heatmap .= "(" . $this->usr_id . ", '$row[id]', '$row1[id]', ". $this->anketa . ", '', '', '', '". + $srv_data_map .= "(" . $this->usr_id . ", '$row[id]', '$row1[id]', ". $this->anketa . ", '', '', '', '". ($vrednost != '' ? $vrednost : '-1')."', ''),"; } else { @@ -7475,7 +7587,7 @@ class SurveyAdminSettings { else $vrednost = rand(0,1)==0 ? $this->randomString() : ''; - $srv_data_heatmap .= "(" . $this->usr_id . ", '$row[id]', '$row1[id]', ". $this->anketa . ", '$lat', '$lng', '[N/A]', '". + $srv_data_map .= "(" . $this->usr_id . ", '$row[id]', '$row1[id]', ". $this->anketa . ", '$lat', '$lng', '[N/A]', '". ($vrednost != '' ? $vrednost : '-1')."', ''),"; } } @@ -7484,6 +7596,54 @@ class SurveyAdminSettings { } } } + //Heatmap + elseif($row['tip'] == 27){ + //choose location + $sql1 = sisplet_query("SELECT id FROM srv_vrednost WHERE spr_id = '$row[id]'", 'array'); + + //so vrednosti, se pravi je choose + if($sql1){ + foreach($sql1 as $row1){ + if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { + // Ce imamo samo veljavne imamo vedno vrednost + if($only_valid == 1) + $vrednost = $this->randomString(); + else + $vrednost = rand(0,1)==0 ? $this->randomString() : ''; + + $srv_data_heatmap .= "(" . $this->usr_id . ", '$row[id]', '$row1[id]', ". $this->anketa . ", '', '', '', '". + ($vrednost != '' ? $vrednost : '-1')."', ''),"; + } + else { + $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; + } + } + } + //niso vrednosti, se pravi je moja ali multi lokacija + else{ + if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { + + $make_input = ($only_valid == 1 ? true : rand(0,1)==0); + if($make_input){ + + $lat = floatval(mt_rand(454000, 466500)/10000); + $lng = floatval(mt_rand(136000, 163900)/10000); + + // Ce imamo samo veljavne imamo vedno vrednost + if($only_valid == 1) + $vrednost = $this->randomString(); + else + $vrednost = rand(0,1)==0 ? $this->randomString() : ''; + + $srv_data_heatmap .= "(" . $this->usr_id . ", '$row[id]', '$row1[id]', ". $this->anketa . ", '$lat', '$lng', '[N/A]', '". + ($vrednost != '' ? $vrednost : '-1')."', ''),"; + } + } + else { + $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; + } + } + } // multinumber elseif ($row['tip'] == 20) { @@ -7525,7 +7685,7 @@ class SurveyAdminSettings { if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { $vrednost = rand(0,1)==0 ? $this->randomString() : ''; - if ($vrednost != '') + if (isset($vrednost) && $vrednost != '') $srv_data_text .= "('$row[id]', '', '$vrednost', '', '$this->usr_id'),"; } else { $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; @@ -7546,7 +7706,7 @@ class SurveyAdminSettings { else $vrednost = rand(0,1)==0 ? $this->randomString() : ''; - if ($vrednost != '') + if (isset($vrednost) && $vrednost != '') $srv_data_text .= "('$row[id]', '$row1[id]', '$vrednost', '', '$this->usr_id'),"; } @@ -7639,7 +7799,7 @@ class SurveyAdminSettings { else $vrednost = rand(0,1)==0 ? $this->randomDate() : ''; - if ($vrednost != '') + if (isset($vrednost) && $vrednost != '') $srv_data_text .= "('$row[id]', '', '$vrednost', '', '$this->usr_id'),"; } else { @@ -7674,10 +7834,10 @@ class SurveyAdminSettings { while($row1 = mysqli_fetch_array($sql1)){ - if (count($array) > 0) { + if (isset($array) && count($array) > 0) { $vrednost = array_pop($array); - if ($vrednost != '') + if (isset($vrednost) && $vrednost != '') $srv_data_rating .= "('$row[id]', '$row1[id]', '$this->usr_id', '$vrednost'),"; } } @@ -7711,11 +7871,8 @@ class SurveyAdminSettings { elseif(rand(0,1) == 0) $vrednost = $this->randomNumber(); - if (isset( $vrednost )) { - - if ($vrednost != '') - $srv_data_text .= "('$row[id]', '$row1[id]', '$vrednost', '', '$this->usr_id'),"; - } + if (isset($vrednost) && $vrednost != '') + $srv_data_text .= "('$row[id]', '$row1[id]', '$vrednost', '', '$this->usr_id'),"; } else $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; @@ -7931,9 +8088,9 @@ class SurveyAdminSettings { header("Location: index.php?anketa=$this->anketa&a=testiranje&m=testnipodatki"); - } elseif ($_GET['delete_testdata'] == 1 || $_GET['delete_autogen_testdata'] == 1) { + } elseif ((isset($_GET['delete_testdata']) && $_GET['delete_testdata'] == 1) || (isset($_GET['delete_autogen_testdata']) && $_GET['delete_autogen_testdata'] == 1)) { - if($_GET['delete_autogen_testdata'] == 1) + if(isset($_GET['delete_autogen_testdata']) && $_GET['delete_autogen_testdata'] == 1) sisplet_query("DELETE FROM srv_user WHERE ank_id='$this->anketa' AND testdata='2'"); else sisplet_query("DELETE FROM srv_user WHERE ank_id='$this->anketa' AND (testdata='1' OR testdata='2')"); @@ -7950,25 +8107,52 @@ class SurveyAdminSettings { $sql = sisplet_query("SELECT COUNT(*) AS count FROM srv_user WHERE ank_id='$this->anketa' AND (testdata='1' OR testdata='2')"); $row = mysqli_fetch_array($sql); $total_rows = $row['count']; - + echo '
    '; - echo '

    '; - echo ''.$lang['srv_stevilo_vnosov'].': (max 1000) '; + + echo '

    '.$lang['srv_testiranje_vnosi'].''; + echo '

    '.$lang['srv_testni_nagovor'].'

    '; + + echo '
    '; + echo $lang['srv_stevilo_vnosov'].':'; + echo '
    '; + echo ''; + echo '(max. 1000)'; + echo '
    '; + echo '
    '; + + echo '
    '; echo ''; - echo ''; - echo ''; - echo '

    '; + echo ''; + echo ''; + echo '
    '; + + echo '
    '; + echo ''; + echo '
    '; + echo ''; - echo '

    '.$lang['srv_testni_nagovor'].'

    '; - - echo ''.$lang['srv_delete_testdata'].' ('.$total_rows.')'; + echo '

    '.$lang['srv_testni_nakonec'].'

    '; + + echo ''.$lang['srv_delete_testdata'].' ('.$total_rows.')'; + if ($total_rows > 0) { + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
    Labela Veljavni odgovori (Grafični prikaz)
    '; - + $prevpage = 0; - + + $sql = sisplet_query("SELECT s.id, s.gru_id, s.tip, s.naslov, g.naslov AS pagename FROM srv_spremenljivka s, srv_grupa g WHERE s.gru_id=g.id AND s.visible='1' AND g.ank_id='$this->anketa' ORDER BY g.vrstni_red, s.vrstni_red"); while ($row = mysqli_fetch_array($sql)) { @@ -7981,14 +8165,16 @@ class SurveyAdminSettings { echo ''; echo '
    '; } - - echo '
    '.$row['pagename'].''; - echo ''; + + echo '
    '; + echo ''.$row['pagename'].''; + // echo ' - '; + echo '
    '; $prevpage = $row['gru_id']; } - echo ''; + echo ''; // radio ali select, checkbox, textbox, textbox*, number, datum if ( ($row['tip']==1 || $row['tip']==3 || $row['tip']==2 || $row['tip']==4 || $row['tip']==21 || $row['tip']==7 || $row['tip']==8) ) { @@ -8056,9 +8242,11 @@ class SurveyAdminSettings { } } - echo ''; echo ''; @@ -8068,8 +8256,8 @@ class SurveyAdminSettings { echo '
    '.skrajsaj(strip_tags($row['naslov']),20).'
    '.skrajsaj(strip_tags($row['naslov']),50).''; - echo '
     
    '; - echo ' '.$p.'% ('.($total_rows-$rowc['count']).')'; + echo '
    '; + echo '
    '; + echo '
    '; + echo ' '.$p.'% ('.($total_rows-$rowc['count']).')'; + echo '
    '; echo '
    '; echo '
    '; - - echo '

    '.$lang['srv_testni_nakonec'].'

    '; + + echo '
    '; } } } @@ -8113,7 +8301,7 @@ class SurveyAdminSettings { function displayBtnMailtoPreview($row) { global $lang; echo ''; @@ -8132,33 +8320,46 @@ class SurveyAdminSettings { $_expire = explode('-',$row['expire']); $expire = $_expire[2].'.'.$_expire[1].'.'.$_expire[0]; - echo '
    '.$lang['srv_activate_duration_2'].' '.Help::display('srv_activity_quotas').''; - echo '

    '; - echo '' . $lang['srv_activate_duration_manual_from'].''; - echo ''; - echo '

    '; - - echo '

    '; - echo '' . $lang['srv_activate_duration_manual_to'].''; - echo ''; - echo '

    '; + + // Preklop domene na oneclicksurvey.com - ne pustimo spremembe aktivnosti + if(DomainChange::check1kaDomainChange() && DomainChange::getInstance($global_user_id)->domainChangeLimits()){ + return; + } + + echo '
    '; + echo ''.$lang['srv_activate_duration_2'].''; + echo '
    '; + echo '' . $lang['srv_activate_duration_manual_from'].''; + echo '
    '; + echo ''; + echo '
    '; + echo '
    '; - echo '

    '; - echo '' . $lang['srv_trajna_anketa'].''; + echo '

    '; + echo '' . $lang['srv_activate_duration_manual_to'].''; + echo '
    '; + echo ''; + echo '
    '; + echo '
    '; + + echo '
    '; echo ''; - echo '

    '; - echo '
    '; + echo ''; echo ''; - #echo ''; + echo '
    '; echo ' - '; + datepicker("#expireManual1");'; + + if($row['expire'] == PERMANENT_DATE) + echo '$("#expire").find(".ui-datepicker-trigger").addClass("disabled");'; + + echo ' }); + '; } function DisplayNastavitveMaxGlasov() { @@ -8171,73 +8372,54 @@ class SurveyAdminSettings { $row = SurveyInfo::getInstance()->getSurveyRow(); //Nastavitev max stevila glasov - echo '
    '; echo '
    '; echo ''.$lang['srv_vote_quotas'].' '.Help::display('srv_activity_quotas').''; - echo '

    '; - echo ''; - echo ''; - echo ''; - echo ''; - - echo '    '; - echo ''; - echo '

    '; - - - // Opozorilo, da je limit odgovorov presezen - echo '

    '; - echo $lang['srv_survey_voteLimit_warning'].':
    '; - $srv_survey_non_active_voteLimit = SurveySetting::getInstance()->getSurveyMiscSetting('srvlang_srv_survey_non_active_voteLimit'); - if ($srv_survey_non_active_voteLimit == '') $srv_survey_non_active_voteLimit = $lang['srv_survey_non_active_voteLimit']; - echo ''.$srv_survey_non_active_voteLimit.''; + echo '

    '; - echo ' '.$lang['edit3'].''; - echo '

    '; + echo '' . $lang['srv_vote_quotas_2'] . ':'; + echo '
    '; + echo ''; + echo ''; + echo '
    '; + echo '
    '; + echo ''; + echo ''; + echo '
    '; + echo '
    '; + echo ''; + echo ''; + echo '
    '; - echo '
    '; - } - - /** - * Uporabnik (administrator, manager) lahko dodajata nove uporabnike in jim dodelita dostop - */ - public function dodajNovegaUporabnika(){ - global $admin_type; - global $lang; - global $virtual_domain; + echo ''; - // admini lahko dodajajo uporabnike, ki jih nato managirajo - if($admin_type != 0) - return ''; - echo '
    '; + // Opozorilo, da je limit odgovorov presezen + echo '
    '; + echo '
    '.$lang['srv_vote_quotas_all_warning'].'
    '; + echo '
    '; + - echo '
    '; + // Opozorilo, da je limit odgovorov presezen + echo '
    '; - echo '

    '.$lang['srv_users_add_new_title'].'

    '; + echo '
    '; + echo ''.$lang['srv_vote_count'].':'; + echo ''; + echo '
    '; - echo '

    '.(!empty($_GET['add']) && $_GET['error']=='email'?''.$lang['srv_added_false'].'':'').'

    '; - echo '

    '; - echo '

    '; - echo '

    '.(!empty($_GET['add']) && $_GET['error']=='pass'?''.$lang['pass_doesnt_match'].'':'').'

    '; - echo '

    '; - echo '

    - -

    '; - - //echo '

    '; - echo '

    '; - echo ' '.$lang['create'].''; - echo '

    '; + echo '

    '.$lang['srv_survey_voteLimit_warning'].':

    '; + + $srv_survey_non_active_voteLimit = SurveySetting::getInstance()->getSurveyMiscSetting('srvlang_srv_survey_non_active_voteLimit'); + if ($srv_survey_non_active_voteLimit == '') $srv_survey_non_active_voteLimit = $lang['srv_survey_non_active_voteLimit']; + echo '

    '.$srv_survey_non_active_voteLimit.'

    '; + + echo '

    '; - echo '
    '; - echo '
    '; - } + echo '
    '; + } + /** * Uporabnik (administrator, manager) lahko dodajata nove uporabnike in jim dodelita dostop @@ -8246,96 +8428,246 @@ class SurveyAdminSettings { global $admin_type; global $lang; global $global_user_id; - global $virtual_domain; - // managerji in admini lahko dodajajo uporabnike, ki jih nato managirajo + // managerji in admini lahko dodajajo uporabnike, ki jih nato managirajo if( !($admin_type == 1 || $admin_type == 0) ) return ''; - // Na virtualkah imajo managerji omejitev st. dodeljenih uporabnikov - ZAENKRAT JE TO ONEMOGOCENO, KASNEJE SE LAHKO OMEJI NA PAKET - if(false && $virtual_domain && $admin_type == 1){ + $error = isset($_GET['error']) ? $_GET['error'] : ''; - // Limit st. dodeljenih uporabnikov - $managed_accounts_limit = 5; - // Prestejemo dodeljene uporabnike - $sql = sisplet_query("SELECT u.email - FROM srv_dostop_manage m, users u - WHERE m.manager='".$global_user_id."' AND u.id=m.user AND u.email NOT LIKE ('D3LMD-%') AND u.email NOT LIKE ('UNSU8MD-%') - "); + // MANAGER lahko samo doda novega uporabnika pod sebe + if($admin_type == 1){ + + echo '
    '.$lang['n_users_list_add'].''; - $managed_accounts_count = mysqli_num_rows($sql); + echo '
    '; + echo ' '.$lang['srv_users_add_new_type2'].''; + echo '
    '; - echo '

    '; - echo $lang['srv_users_add_assigned_max_1'].' '.$managed_accounts_limit.' '.$lang['srv_users_add_assigned_max_2']; + // Na virtualkah imajo managerji omejitev st. dodeljenih uporabnikov - ZAENKRAT JE TO ONEMOGOCENO, KASNEJE SE LAHKO OMEJI NA PAKET + /*if(false && isVirtual() && $admin_type == 1){ + + // Limit st. dodeljenih uporabnikov + $managed_accounts_limit = 5; + + // Prestejemo dodeljene uporabnike + $sql = sisplet_query("SELECT u.email + FROM srv_dostop_manage m, users u + WHERE m.manager='".$global_user_id."' AND u.id=m.user AND u.email NOT LIKE ('D3LMD-%') AND u.email NOT LIKE ('UNSU8MD-%') + "); + + $managed_accounts_count = mysqli_num_rows($sql); - // Manager na virtualkah ima omejitev koliko uporabnikov lahko pregleduje - if($managed_accounts_count >= $managed_accounts_limit){ - echo '

    '; - echo $lang['srv_users_add_assigned_max_reached']; - echo '

    '; - - return; - } - elseif($managed_accounts_count > 0){ - echo '

    '; - echo $lang['srv_users_add_assigned_current'].' '.$managed_accounts_count.' '.$lang['of'].' '.$managed_accounts_limit.''; - } - echo '

    '; + echo '

    '; + echo $lang['srv_users_add_assigned_max_1'].' '.$managed_accounts_limit.' '.$lang['srv_users_add_assigned_max_2'].'

    '; + + // Manager na virtualkah ima omejitev koliko uporabnikov lahko pregleduje + if($managed_accounts_count >= $managed_accounts_limit){ + echo '

    '; + echo $lang['srv_users_add_assigned_max_reached']; + echo '

    '; + + return; + } + elseif($managed_accounts_count > 0){ + echo '

    '; + echo $lang['srv_users_add_assigned_current'].' '.$managed_accounts_count.' '.$lang['of'].' '.$managed_accounts_limit.'

    '; + } + }*/ + + + // Dodajanje novih uporabnikov pod pregled - ustvari racun, doda uporabnika pod pregled in mu poslje mail + echo '
    '; + echo '
    '; + + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; + + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; + + echo '
    '; + echo ' '; + echo ' '.(empty($_GET['add']) && $error=='email'?''.$lang['srv_added_false'].'':''); + echo '
    '; + + echo '
    '; + echo ' '; + echo ' '.(empty($_GET['add']) && $error=='pass'?''.$lang['pass_doesnt_match'].'':''); + echo '
    '; + + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; + + echo '
    '; + echo ' '; + echo '
    '; + + echo '
    '; + echo '
    '; //new_user_option + + + // Managerji lahko dodajajo samo uporabnike z dolocenimi emaili (če jim domeno posebej nastavi admin) + // TODO: trenutno onemogočimo dodaja ostalih uporabnikov za managerje. Ko bo stvar vezana na domeno se jim bo omogočilo dodajanje samo domenskih + /*elseif(false && $admin_type == 1){ + + UserSetting :: getInstance()->Init($global_user_id); + $emails = UserSetting :: getInstance()->getUserSetting('manage_domain'); + + echo '
    '; + echo '

    '.sprintf($lang['srv_manager_add_user3'], $emails).'
    '.$lang['srv_manager_add_user4'].'

    '; + echo '

    '; + echo '

    '; + + echo '
    '; + }*/ + + echo '
    '; } + // ADMIN lahko tudi doda uporabnika brez pregleda in doda obstojecega pod pregled + else{ - echo '
    '; + echo '
    '.$lang['n_users_list_add'].''; - // Dodajanje novih uporabnikov - ustvari racun, doda uporabnika pod pregled in mu poslje mail - echo '
    '; - echo '

    '.$lang['srv_users_add_assigned_title'].'

    '; - echo '

    '.(empty($_GET['add']) && $_GET['error']=='email'?''.$lang['srv_added_false'].'':'').'

    '; - echo '

    '; - echo '

    '; - echo '

    '.(empty($_GET['add']) && $_GET['error']=='pass'?''.$lang['pass_doesnt_match'].'':'').'

    '; - echo '

    '; + echo '
    '; + echo ''.$lang['srv_users_add_new_type'].''; - echo '

    '; - echo ' '.$lang['create_add'].''; - echo '

    '; + // Dodajanje novega uporabnika v sistem + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; + + // Dodajanje novega uporabnika v sistem in pod svoj pregled + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; + + // Dodajanje obstoječega uporabnika pod pregled + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; + + echo '
    '; - echo '
    '; - // admini si lahko dodajajo ze obstojece uporabnike - if ($admin_type == 0) { + // Dodajanje novih uporabnikov - ustvari racun in mu poslje mail + echo '
    '; + echo '
    '; + + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; - echo '


    '; + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; - echo ''; + echo '
    '; + echo ' '; + echo ' '.(empty($_GET['add']) && $error=='email'?''.$lang['srv_added_false'].'':''); + echo '
    '; + + echo '
    '; + echo ' '; + echo ' '.(empty($_GET['add']) && $error=='pass'?''.$lang['pass_doesnt_match'].'':''); + echo '
    '; + + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; + + echo '
    '; + echo ' '; + echo ' '; + echo ' '; + echo '
    '; + + echo '
    '; + echo ' '; + echo '
    '; + + echo '
    '; + echo '
    '; - echo '

    '.$lang['srv_manager_add_user2'].'

    '; - echo '

    '; + + // Dodajanje novih uporabnikov pod pregled - ustvari racun, doda uporabnika pod pregled in mu poslje mail + echo '
    '; + echo '
    '; - //echo '

    '; - echo '

    '; - echo ' '.$lang['add'].''; - echo '

    '; + echo '
    '; + echo '
    '; + echo ''.$lang['name'].':'; + echo ''; + echo '
    '; + + echo '
    '; + echo ''.$lang['surname'].':'; + echo ''; + echo '
    '; + echo '
    '; + + echo '
    '; + echo '

    '.$lang['email'].':

    '; + echo ' '.(empty($_GET['add']) && $error=='email'?''.$lang['srv_added_false'].'':''); + echo '
    '; + + echo '
    '; + echo '
    '; + echo '

    '.$lang['password'].':

    '; + echo ' '.(empty($_GET['add']) && $error=='pass'?''.$lang['pass_doesnt_match'].'':''); + echo '
    '; + + echo '
    '; + echo '

    '.$lang['password_confirm'].':

    '; + echo ''; + echo '
    '; + echo '
    '; + + echo '
    '; + echo ' '; + echo '
    '; echo '
    '; - } - // Managerji lahko dodajajo samo uporabnike z dolocenimi emaili (če jim domeno posebej nastavi admin) - // TODO: trenutno onemogočimo dodaja ostalih uporabnikov za managerje. Ko bo stvar vezana na domeno se jim bo omogočilo dodajanje samo domenskih - /*elseif(false && $admin_type == 1){ + + echo '
    '; + + + // Dodajanje obstojecih uporabnikov pod pregled + echo '
    '; + + echo '
    '; - UserSetting :: getInstance()->Init($global_user_id); - $emails = UserSetting :: getInstance()->getUserSetting('manage_domain'); + echo '
    '; + echo '

    '.$lang['srv_manager_add_user_label'].':

    '; + echo ' '; + echo '
    '; - echo '
    '; - echo '

    '.sprintf($lang['srv_manager_add_user3'], $emails).'
    '.$lang['srv_manager_add_user4'].'

    '; - echo '

    '; - echo '

    '; + echo '
    '; + echo ' '; + echo '
    '; echo '
    '; - }*/ - echo '
    '; + echo '
    '; + + + echo '
    '; + } } /** @@ -8345,9 +8677,10 @@ class SurveyAdminSettings { global $lang; global $admin_type; - echo ''; + echo '
    '; echo ''; + echo ''; echo ''; echo ''; echo ''; @@ -8360,22 +8693,9 @@ class SurveyAdminSettings { echo ''; echo ''; echo ''; - echo ''; echo ''; echo '
    '.$lang['edit2'].'' . $lang['srv_survey_list_users_name'] . '' . $lang['srv_survey_list_users_email'] . '' . $lang['admin_type'] . '' . $lang['users_gdpr_title'] . '' . $lang['srv_survey_list_users_registred'] . '' . $lang['srv_survey_list_users_last_login'] . ''.$lang['edit2'].'
    '; - - // Dodajanje uporabnikov - echo '
    '; - - // Admin lahko doda novega uporabnika v sistem (brez pregleda) - if($admin_type == '0'){ - echo '
    '.$lang['srv_users_add_new'].''; - $this->dodajNovegaUporabnika(); - echo '
    '; - } - - echo '
    '; } /** @@ -8389,9 +8709,13 @@ class SurveyAdminSettings { $sqlU = sisplet_query("SELECT name, surname, email FROM users WHERE id='".$global_user_id."'"); $rowU = mysqli_fetch_array($sqlU); + //echo "Ime: ".$rowU['name']; - // Naslov - echo '

    '; + // PREGLED NAD UPORABNIKI - TABELA + echo '
    '; + + // Naslov + /*echo '

    '; if($admin_type == 0) echo $lang['administrator']; @@ -8404,15 +8728,15 @@ class SurveyAdminSettings { echo ' '; - echo '

    '; + echo '

    '; */ + echo '

    '.$lang['srv_users_assigned_title'].'

    '; // Tabela - echo '
    '.$lang['srv_users_assigned_title'].''; - //echo '

    '.$lang['srv_users_assigned_title'].'

    '; - echo ''; + echo '
    '; echo ''; + echo ''; echo ''; echo ''; echo ''; @@ -8423,20 +8747,9 @@ class SurveyAdminSettings { echo ''; echo ''; echo ''; - echo ''; echo ''; echo '
    '.$lang['edit2'].'' . $lang['srv_survey_list_users_name'] . '' . $lang['srv_survey_list_users_email'] . '' . $lang['admin_type'] . '' . $lang['users_gdpr_title'] . '' . $lang['srv_survey_list_users_registred'] . '' . $lang['srv_survey_list_users_last_login'] . ''.$lang['edit2'].'
    '; - echo '
    '; - - - // Dodajanje uporabnikov - echo '
    '; - - // Manager ali admin lahko doda novega uporabnika pod pregled - echo '
    '.$lang['srv_users_add_assigned'].''; - $this->dodeljeniUporabniki(); - echo '
    '; echo '
    '; } @@ -8447,7 +8760,7 @@ class SurveyAdminSettings { public function deletedUsersList(){ global $lang; - echo ''; + echo '
    '; echo ''; echo ''; echo ''; @@ -8466,7 +8779,7 @@ class SurveyAdminSettings { public function unsignedUsersList(){ global $lang; - echo '
    '.$lang['srv_survey_list_users_name'].''.$lang['srv_survey_list_users_email'].'
    '; + echo '
    '; echo ''; echo ''; echo ''; @@ -8485,12 +8798,12 @@ class SurveyAdminSettings { echo '
    '.$lang['srv_survey_list_users_name'].''.$lang['srv_survey_list_users_email'].'
    '; echo ''; + echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; - echo ''; echo ''; echo '
    '.$lang['edit2'].''.$lang['srv_survey_list_users_name'].''.$lang['srv_survey_list_users_email'].''.$lang['admin_type'].''.$lang['lang'].''.$lang['registered'].''.$lang['edit2'].'
    '; } @@ -8568,14 +8881,17 @@ class SurveyAdminSettings { if ($_GET['a'] == 'uporabnost'){ - echo '
    '.$lang['srv_uporabnost'].''; - echo ''; - echo '
    '.$lang['srv_vrsta_survey_note_4_3'].''; + echo '
    '.$lang['srv_uporabnost'].Help::display('srv_evalvacija_strani').''; + + echo '

    '.$lang['srv_vrsta_survey_note_4_3'].'

    '; + + echo '
    '; + echo ''; + echo ''; + echo '
    '; + echo '
    '; - echo '
    '; - echo '
    '; if(isset($modules['uporabnost'])){ $this->uporabnost(); @@ -8685,13 +9001,15 @@ class SurveyAdminSettings { elseif ($_GET['a'] == 'kviz'){ echo '
    '.$lang['srv_kviz'].''; - echo ''; - echo '
    '.$lang['srv_vrsta_survey_note_6_4'].''; + + echo '

    '.$lang['srv_vrsta_survey_note_6_4'].'

    '; + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; + echo '
    '; - echo '
    '; - echo '
    '; if(isset($modules['quiz'])){ $sq = new SurveyQuiz($this->anketa); @@ -8709,19 +9027,22 @@ class SurveyAdminSettings { echo '
    '.$lang['srv_voting'].''; - echo ''; - echo '
    '.$lang['srv_voting_info'].''; + echo '

    '.$lang['srv_voting_info'].'

    '; + echo '

    '.$lang['srv_voting_info_link'].'

    '; + echo '

    '.$lang['srv_voting_info_warning'].'

    '; // Opozorilo, da so vabila ze vklopljena in zato modula ni mogoce vklopiti if(!isset($modules['voting']) && SurveyInfo::getInstance()->checkSurveyModule('email')){ - echo '

    '.$lang['srv_voting_info_error'].'
    '; + echo '

    '.$lang['srv_voting_info_error'].'

    '; } + + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; echo '
    '; - - echo '
    '; - + echo '
    '; if(isset($modules['voting'])){ $sv = new SurveyVoting($this->anketa); @@ -8732,13 +9053,14 @@ class SurveyAdminSettings { elseif ($_GET['a'] == 'advanced_paradata'){ echo '
    '.$lang['srv_advanced_paradata'].''; - echo ''; - //echo '
    '.$lang['srv_vrsta_survey_note_6_4'].''; - echo '
    '; - - echo '
    '; - + + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; + + echo '
    '; + echo '
    '; if(isset($modules['advanced_paradata'])){ $sap = new SurveyAdvancedParadata($this->anketa); @@ -8746,6 +9068,24 @@ class SurveyAdminSettings { } echo '
    '; } + elseif ($_GET['a'] == 'advanced_timestamps'){ + + echo '
    '.$lang['srv_advanced_timestamps'].''; + + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; + + echo '
    '; + + echo '
    '; + if(isset($modules['advanced_timestamps'])){ + $sat = new SurveyAdvancedTimestamps($this->anketa); + $sat->displaySettings(); + } + echo '
    '; + } elseif ($_GET['a'] == 'json_survey_export'){ echo '
    '.$lang['srv_json_survey_export'].''; @@ -8798,6 +9138,18 @@ class SurveyAdminSettings { echo ''; } elseif ($_GET['a'] == A_TELEPHONE){ + + echo '
    '; + if(isset($modules['phone'])){ + $ST = new SurveyTelephone($this->anketa); + $ST->action($_GET['m']); + } + echo '
    '; + + $hide_tel_fieldset = ''; + if ($_GET['m'] == 'recipients_lists') { + $hide_tel_fieldset = 'displayNone'; + } // Ce je anketar ne vidi teh nastavitev $isAnketar = Common::isUserAnketar($this->anketa, $global_user_id); @@ -8809,46 +9161,46 @@ class SurveyAdminSettings { // Ce se nimamo nobene stevilke v bazi, pustimo da se lahko ugasne if($rowT['cnt'] == 0){ - echo '
    '.$lang['srv_vrsta_survey_type_7'].' '.Help::display('srv_telephone_help').''; - echo ''; - echo '
    '.$lang['srv_vrsta_survey_note_7_3'].''; + echo '
    '.$lang['srv_vrsta_survey_type_7'].' '.Help::display('srv_telephone_help').''; + + echo '
    '; + echo ''; + echo ''; + echo '
    '; + + echo '

    '.$lang['srv_vrsta_survey_note_7_3'].'

    '; echo '
    '; } - else{ + /*else{ echo ''.$lang['srv_vrsta_survey_type_7'].' '.Help::display('srv_telephone_help'); echo '
    '; - } + }*/ } else{ - echo '
    '.$lang['srv_vrsta_survey_type_7'].' '.Help::display('srv_telephone_help').''; - echo ''; - echo '
    '.$lang['srv_vrsta_survey_note_7_3'].''; + echo '
    '.$lang['srv_vrsta_survey_type_7'].' '.Help::display('srv_telephone_help').''; + echo '
    '; + echo ''; + echo ''; + echo '
    '; + + echo '

    '.$lang['srv_vrsta_survey_note_7_3'].'

    '; echo '
    '; } - - echo '
    '; - } - - echo '
    '; - if(isset($modules['phone'])){ - $ST = new SurveyTelephone($this->anketa); - $ST->action($_GET['m']); } - echo '
    '; } elseif ($_GET['a'] == A_CHAT){ global $site_path; echo '
    '.$lang['srv_vrsta_survey_type_14'].''; - echo ''; - echo '
    '.$lang['srv_vrsta_survey_note_14_1'].''; + + echo '

    '.$lang['srv_vrsta_survey_note_14_1'].'

    '; + echo '
    '; + echo ''; + echo ''; + echo '
    '; + echo '
    '; - echo '
    '; - echo '
    '; if(isset($modules['chat'])){ $sc = new SurveyChat($this->anketa); @@ -8860,13 +9212,15 @@ class SurveyAdminSettings { global $site_path; echo '
    '.$lang['srv_vrsta_survey_type_15'].''; - echo ''; - echo '
    '.$lang['srv_vrsta_survey_note_15_1'].''; + echo '

    '.$lang['srv_vrsta_survey_note_15_1'].'

    '; + echo '

    '.$lang['srv_vrsta_survey_note_15_1a'].'

    '; + echo '
    '; + echo ''; + echo ''; + echo '
    '; + echo '
    '; - echo '
    '; - echo '
    '; if(isset($modules['panel'])){ $sp = new SurveyPanel($this->anketa); @@ -8874,6 +9228,26 @@ class SurveyAdminSettings { } echo '
    '; } + elseif ($_GET['a'] == A_EMAIL_ACCESS){ + global $site_path; + + echo '
    '.$lang['srv_vrsta_survey_type_19'].''; + echo '

    '.$lang['srv_vrsta_survey_note_19_1'].'

    '; + + echo '
    '; + echo ''; + echo ''; + echo '
    '; + + echo '
    '; + + echo '
    '; + if(isset($modules['email_access'])){ + $sea = new SurveyEmailAccess($this->anketa); + $sea->displaySettings(); + } + echo '
    '; + } elseif ($_GET['a'] == A_FIELDWORK){ global $site_path; @@ -8892,7 +9266,7 @@ class SurveyAdminSettings { echo '
    '; } - elseif ($_GET['a'] == A_MAZA){ + elseif ($_GET['a'] == A_MAZA){ global $site_path; echo '
    '.$lang['srv_maza'].''; @@ -8905,14 +9279,14 @@ class SurveyAdminSettings { echo '
    '; - if(isset($modules['maza'])){ - $MS = new MAZA($this->anketa); - $MS ->display(); - } + if(isset($modules['maza'])){ + $MS = new MAZA($this->anketa); + $MS ->display(); + } echo '
    '; } - elseif ($_GET['a'] == A_WPN){ + elseif ($_GET['a'] == A_WPN){ global $site_path; echo '
    '.$lang['srv_wpn'].''; @@ -8925,10 +9299,10 @@ class SurveyAdminSettings { echo '
    '; - if(isset($modules['wpn'])){ - $MS = new WPN($this->anketa); - $MS ->display(); - } + if(isset($modules['wpn'])){ + $MS = new WPN($this->anketa); + $MS ->display(); + } echo '
    '; } @@ -8936,19 +9310,20 @@ class SurveyAdminSettings { if ($_GET['m'] == 'respondenti' || $_GET['m'] == "") { echo '
    '.$lang['srv_vrsta_survey_type_8'].''; - echo ''; - echo '
    '.$lang['srv_vrsta_survey_note_8_3'].''; - echo '
    '; - - echo '
    '; - + + echo '

    '.$lang['srv_vrsta_survey_note_8_3'].'

    '; + echo '
    '; + echo ''; + echo ''; + echo '
    '; + echo '
    '; - // urejanje respondentov if(isset($modules['social_network'])){ $this->SN_Settings(); } echo '
    '; + + echo '
    '; } } elseif ($_GET['a'] == A_360){ @@ -8990,25 +9365,28 @@ class SurveyAdminSettings { elseif ($_GET['a'] == 'evoli'){ echo '
    Evoli'; - echo ''; - echo '
    Napredna poročila Evoli'; - echo '
    '; - - echo '
    '; - - echo '
    '; + + echo '

    Napredna poročila Evoli

    '; + echo '
    '; + echo ''; + echo ''; echo '
    '; + + echo '
    '; + + echo '
    '; } elseif ($_GET['a'] == 'evoli_teammeter'){ echo '
    Evoli team meter'; - echo ''; - echo '
    Napredna poročila Evoli team meter'; - echo '
    '; - - echo '
    '; + + echo '

    Napredna poročila Evoli team meter

    '; + echo '
    '; + echo ''; + echo ''; + echo '
    '; + + echo '
    '; echo '
    '; // urejanje respondentov @@ -9021,13 +9399,15 @@ class SurveyAdminSettings { elseif ($_GET['a'] == 'evoli_quality_climate'){ echo '
    Evoli quality climate'; - echo ''; - echo '
    Napredna poročila Evoli quality climate'; + + echo '

    Napredna poročila Evoli quality climate

    '; + echo '
    '; + echo ''; + echo ''; + echo '
    '; + echo '
    '; - echo '
    '; - echo '
    '; // urejanje respondentov if(isset($modules['evoli_quality_climate'])){ @@ -9039,13 +9419,15 @@ class SurveyAdminSettings { elseif ($_GET['a'] == 'evoli_teamship_meter'){ echo '
    Evoli teamship meter'; - echo ''; - echo '
    Napredna poročila Evoli teamship meter'; + + echo '

    Napredna poročila Evoli teamship meter

    '; + echo '
    '; + echo ''; + echo ''; + echo '
    '; + echo '
    '; - echo '
    '; - echo '
    '; // urejanje respondentov if(isset($modules['evoli_teamship_meter'])){ @@ -9057,13 +9439,15 @@ class SurveyAdminSettings { elseif ($_GET['a'] == 'evoli_organizational_employeeship_meter'){ echo '
    Evoli organizational employeeship meter'; - echo ''; - echo '
    Napredna poročila Evoli organizational employeeship meter'; + + echo '

    Napredna poročila Evoli organizational employeeship meter

    '; + echo '
    '; + echo ''; + echo ''; + echo '
    '; + echo '
    '; - - echo '
    '; - + echo '
    '; // urejanje respondentov if(isset($modules['evoli_organizational_employeeship_meter'])){ @@ -9075,53 +9459,58 @@ class SurveyAdminSettings { elseif ($_GET['a'] == 'evoli_employmeter'){ echo '
    Evoli employ meter'; - echo ''; - echo '
    Napredna poročila Evoli employeeship meter'; - echo '
    '; - - echo '
    '; - - echo '
    '; + + echo '

    Napredna poročila Evoli employeeship meter

    '; + echo '
    '; + echo ''; + echo ''; echo '
    '; + + echo '
    '; + + echo '
    '; } elseif ($_GET['a'] == 'mfdps'){ echo '
    MFDPŠ'; - echo ''; - echo '
    Napredni izvozi MFDPŠ'; - echo '
    '; - - echo '
    '; - - echo '
    '; + + echo '

    Napredni izvozi MFDPŠ

    '; + echo '
    '; + echo ''; + echo ''; echo '
    '; + + echo '
    '; + + echo '
    '; } elseif ($_GET['a'] == 'borza'){ echo '
    Borza'; - echo ''; - echo '
    Napredni izvozi Borza'; - echo '
    '; - - echo '
    '; - - echo '
    '; + + echo '

    Napredni izvozi Borza

    '; + echo '
    '; + echo ''; + echo ''; echo '
    '; + + echo ''; + + echo '
    '; } elseif ($_GET['a'] == 'mju'){ echo '
    MJU'; - echo ''; - echo '
    Napredni izvozi MJU'; - + + echo '

    Napredni izvozi MJU

    '; + echo '
    '; + echo ''; + echo ''; + echo '
    '; + echo '
    '; + - echo '
    '; - echo '
    '; if(isset($modules['mju'])){ $sme = new SurveyMJUEnote($this->anketa); @@ -9132,15 +9521,16 @@ class SurveyAdminSettings { elseif ($_GET['a'] == 'excell_matrix'){ echo '
    Excelleration matrix'; - echo ''; - echo '
    '.$lang['srv_vrsta_survey_note_16_1'].''; - echo '
    '; - - echo '
    '; - - echo '
    '; + + echo '

    '.$lang['srv_vrsta_survey_note_16_1'].'

    '; + echo '
    '; + echo ''; + echo ''; echo '
    '; + + echo ''; + + echo '
    '; } } @@ -9168,7 +9558,10 @@ class SurveyAdminSettings { } function globalUserSettings () { - global $lang, $global_user_id, $admin_type; + global $lang, $global_user_id, $admin_type, $site_url; + + $preklici_url = ltrim(str_replace("&s=1","",$_SERVER['REQUEST_URI']),"/"); + $preklici_url = "'". $site_url . $preklici_url . "'"; # polovimo nastavitve uporabnika UserSetting::getInstance()->Init($global_user_id); @@ -9210,117 +9603,157 @@ class SurveyAdminSettings { $sql = sisplet_query("SELECT lang FROM users WHERE id = '$global_user_id'"); $row = mysqli_fetch_array($sql); $lang_admin = $row['lang']; - echo ''.$lang['lang'] . ':'; echo ''; echo ''; echo ''; - - echo '
    '; - - // Napredni vmesnik (star design za moje ankete) - echo ''; + echo '
    '; - echo '
    '; + echo '
    '; + echo ''.$lang['srv_settings_interfaceshow'] . ':'; - // Prikaži ikono za jezik v navigacijski vrstici ankete, desno zgoraj - echo ''; + // Prikaži ikono za jezik v navigacijski vrstici ankete, desno zgoraj - TE NASTAVITVE NE UPOSTEVAMO VEC + /*echo '
    '; + echo ''; + echo ''; + echo ''; + echo '
    ';*/ - echo '
    '; - // Opcija enklik ustvarjanja ankete (v mojih anketah) - echo '
    '; echo ''; echo '
    '.$lang['srv_survey_settings'].''; - + + echo '
    '; + echo ''.$lang['srv_settings_oncreation'] . ':'; + // Aktivna anketa ob aktivaciji - TO PUSTIMO SAMO ADMINOM ZARADI GDPR OPOZORILA OB AKTIVACIJI if($admin_type == '0'){ - echo '
    '; + + echo '
    '; + echo ''.$lang['srv_settings_onactivation'] . ':'; + + // Zaklep urejanja ob aktivaciji + echo '
    '; + echo ''; + echo ''; + echo ''; + echo '
    '; + echo '
    '; echo '
    '; echo ''; + // save gumb + echo '
    '; + echo ''; + echo ''; + echo '
    '; - // API avtentikacija - echo '
    '.$lang['srv_api'].''; + // div za prikaz uspešnosti shranjevanja + if (isset($_GET['s']) && $_GET['s'] == '1') { + echo '
    '; + echo ''; + } + - echo ''.$lang['srv_api_auth'].': '; - echo ''.$lang['srv_api_auth2'].''; - echo '

    '; + // API avtentikacija + echo '
    '.$lang['srv_api'].Help::display('srv_nastavitve_API').''; + + echo '

    '.$lang['srv_api_auth'].':

    '; + + echo '
    '; + echo ''; + echo '
    '; echo $lang['additional_info_api']; echo '
    '; + + + // Izvoz vseh anket v paket + echo '
    '.$lang['srv_archive_surveys'].Help::display('archive_surveys').''; + + echo '

    '.$lang['srv_archive_surveys_text1'].'

    '; + echo '

    '.$lang['srv_archive_surveys_text2'].'

    '; + echo '

    '.$lang['srv_archive_surveys_text3'].'

    '; + + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; + echo '
    '; - // save gumb - echo ' '; - - echo ''; - - // div za prikaz uspešnosti shranjevanja - if ($_GET['s'] == '1') { - echo '
    '; - echo ''; - } - + echo '
    '; } function globalUserMyProfile () { - global $lang, $global_user_id, $admin_type, $site_domain, $site_url, $app_settings, $aai_instalacija; + global $lang, $global_user_id, $admin_type, $site_domain, $site_url; + + $preklici_url = ltrim(str_replace("&s=1","",$_SERVER['REQUEST_URI']),"/"); + $preklici_url = "'". $site_url . $preklici_url . "'"; // podatki prijavljenega uporabnika $sql = sisplet_query("SELECT id, name, surname, email, type, gdpr_agree, last_login FROM users WHERE id = '$global_user_id'"); @@ -9332,26 +9765,34 @@ class SurveyAdminSettings { echo ' ' . "\n\r"; echo ' ' . "\n\r"; - echo '
    '.$lang['edit_data'].''; - - echo '
    '.$lang['logged_in_as'].': '.$row['name'].' '.$row['surname'].'
    '; + echo '
    '.$lang['edit_data'].''; + + //Prijavljeni kot, status, zadnja prijava, aktivni paket + echo '
    '; + if($row['type'] == '0') $type = $lang['admin_admin']; elseif($row['type'] == '1') $type = $lang['admin_manager']; else $type = $lang['admin_narocnik']; - echo '
    '.$lang['your_status'].': '.$type.'
    '; - - // Zadnja prijava - echo '
    '.$lang['srv_last_login'].': '.date('j.n.Y', strtotime($row['last_login'])).' '.$lang['ob'].' '.date('H:i', strtotime($row['last_login'])).'
    '; - - - // Trenutni paket funkcionalnosti - if($app_settings['commercial_packages']){ - echo '
    '; - + echo ''; + + echo '
    '; } else{ $rowA = mysqli_fetch_array($sqlA); + $userAccess = UserAccess::getInstance($global_user_id); + $package_name = $userAccess->getPackageName($rowA['package_id']); // Ce ima paket 2 ali 3 - if($rowA['package_id'] == '2' || $rowA['package_id'] == '3'){ + if($rowA['package_id'] == '2' || $rowA['package_id'] == '3'){ // Ce je paket ze potekel - if(strtotime($rowA['time_expire']) < time()){ + if(strtotime($rowA['time_expire']) < time()){ - $package_string = ''; - $package_string .= $rowA['package_name']; + $package_string = ''; + $package_string .= $package_name; $package_string .= ' ('.$lang['srv_access_package_expire'].' '.date("d.m.Y", strtotime($rowA['time_expire'])).')'; $package_string .= ''; - - $package_string .= ' - '.$lang['srv_narocila_extend'].''; + + $package_string .= '
    '; } else{ - $package_string = $rowA['package_name']; + $package_string = $package_name; $package_string .= ' ('.$lang['srv_access_package_valid'].' '.date("d.m.Y", strtotime($rowA['time_expire'])).')'; - $package_string .= ' - '.$lang['srv_narocila_extend'].''; - - $package_string .= '
    '.$lang['srv_access_package_all'].''; + $package_string .= '
    '; } } else{ - $package_string = $rowA['package_name']; + $package_string = $package_name; $package_string .= ' ('.$lang['srv_access_package_free'].')'; - $package_string .= ' - '.$lang['srv_narocila_buy'].''; + $package_string .= '
    '; } } - - echo '
    '.$lang['srv_access_package'].': '.$package_string.'
    '; + echo '
    '.$package_string.'
    '; } - - echo '
    '; + echo '
    '; + + echo '
    '; // AAI nima moznosti spreminjanja imena, priimka, emaila, gesla... - if($aai_instalacija){ + if(isAAI()){ echo ''.$lang['srv_profil_aai_warning'].''; } else{ - echo '
    '.$lang['name'].':'; - echo '
    '; - - echo '
    '.$lang['surname'].' :'; - echo '
    '; - echo '
    '.$lang['email'].' : '; - echo ' '; - echo ' '; - echo '  '; - - $alternativni_emaili = User::getInstance()->allEmails('brez primarnega'); - - echo ''; - if(!empty($alternativni_emaili)){ - foreach($alternativni_emaili as $email) { - echo '
     '; - echo ''; - echo ''; - echo 'active == 1 ? 'checked="checked"' : '').'> '; - } + echo '

    '.$lang['srv_profil_settings_text'].'

    '; + + echo '
    '; + + echo '
    '; + echo ''; + echo ''; + echo '
    '; + + echo '
    '; + echo ''; + echo ''; + echo '
    '; + + echo '
    '; + + $alternativni_emaili = User::getInstance()->allEmails('brez primarnega'); + + echo '
    '; + echo ''; + echo '
    '; + echo ''; + if(!empty($alternativni_emaili)) + echo 'primaryEmail() == $row['email'] ? 'checked="checked"' : '').'>'; + echo '
    '; + echo '
    '; + + //Alternativni maili + if(!empty($alternativni_emaili)){ + foreach($alternativni_emaili as $email) { + echo '
    '; + echo ''; + echo '
    '; + echo ''; + echo '
    '; + echo 'active == 1 ? 'checked="checked"' : '').'> '; + echo '
    '; + echo '
    '; } - echo '

    '; - - echo ''; + } + + echo '
    '; + echo '
    '.$lang['srv_profil_settings_addemail'].'
    '; + echo '
    '; + + echo ''; // Ce je vklopljen modul gorenje, preverimo ce ima se default geslo in izpisemo opozorilo if (Common::checkModule('gorenje')){ @@ -9448,25 +9917,44 @@ class SurveyAdminSettings { echo '

    '.$lang['gorenje_password_warning'].'

    '; } - // Obveščanje - echo '
    '.$lang['password'].':'; - echo '
    '; - - echo '
    '.$lang['again'].':'; - echo '
    '; + // Geslo + + echo '
    '; + + echo '
    '; + echo ''; + echo ''; + echo '
    '; + + echo '
    '; + echo ''; + echo ''; + echo '
    '; + + echo '
    '; // Prejemanje obvestil - $red_border = (isset($_GET['unsubscribe']) && $_GET['unsubscribe'] == '1') ? ' border:2px red solid; padding: 5px 10px;' : ''; - echo '
    '.$lang['srv_gdpr_user_options'].': '.Help::display('srv_gdpr_user_options').''; - echo ' '; - echo '
    '; + + echo '
    '; + echo ''.$lang['srv_gdpr_user_options'].' '.Help::display('srv_gdpr_user_options').''; + echo '
    '; + echo ''; + echo ''; + echo '
    '; + echo '
    '; + echo ''; + echo ''; + echo '
    '; + + echo '
    '; // Google 2 FA $user_option = User::option($global_user_id, 'google-2fa-secret'); $user_option_validate = User::option($global_user_id, 'google-2fa-validation'); - echo '
    '.$lang['google_2fa'].': '.Help::display('srv_google_2fa_options').''; - echo ' '; - echo '
    '; + echo '
    '; + echo ''; + echo ''; + echo '
    '; if (empty($user_option)) { $google2fa = new \Sonata\GoogleAuthenticator\GoogleAuthenticator(); @@ -9479,56 +9967,89 @@ class SurveyAdminSettings { echo '
    '.$lang['google_2fa_admin_enabled'].''.$googleSecret.'
    '; echo '
    '.$lang['google_2fa_admin_enabled_2'].'
    '; echo ''; - echo '
    '; - echo '
    Ko boste shranili nastavitve, bo nastavitev obveljala.
    '; + echo '
    '; + echo '
    '.$lang['google_2fa_admin_save_note'].'
    '; echo '
    '; - } elseif (! empty($user_option) && $user_option_validate == 'NOT') { - echo '
    '; - echo '
    '.$lang['google_2fa_admin_validate'].'
    '; - echo '
    '; - echo ''; - echo ''; - - echo '
    '.$lang['google_2fa_user_error_code'].'
    '; + } + elseif (! empty($user_option) && $user_option_validate == 'NOT') { + echo '
    '; + + echo '
    '.$lang['google_2fa_admin_validate'].'
    '; + echo '
    '; + + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; + + echo ''; + echo '
    '; - } else { - echo ''; + } + + function globalUserChangeArchive () { + global $lang, $global_user_id, $admin_type, $site_domain, $site_url; + + // podatki prijavljenega uporabnika + $sql = sisplet_query("SELECT id, name, surname, email, type, gdpr_agree, last_login FROM users WHERE id = '$global_user_id'"); + $row = mysqli_fetch_array($sql); + + echo '
    '; + + echo '
    ' . "\n\r"; + echo ' ' . "\n\r"; + echo ' ' . "\n\r"; // Tabela aktivnosti (prijav) echo '
    '.$lang['srv_login_tracking_title'].''; + echo '
    '; + echo '
    '; + echo ''; - echo ''; + echo ''; $result = sisplet_query ("SELECT IP, kdaj FROM user_login_tracker WHERE uid='".$global_user_id."' ORDER BY kdaj desc"); if (mysqli_num_rows($result) == 0) { @@ -9537,21 +10058,23 @@ class SurveyAdminSettings { else { $count = 0; while ($row = mysqli_fetch_array ($result)) { - echo '= 5 ? ' class="hide"' : '').'>'; + echo '= 5 ? ' class="displayNone"' : '').($count == 4 ? ' class="show_as_last_row"' : '').'>'; echo ''; - echo ''; - echo ''; + echo ''; echo ''; $count++; } } echo ''; + + echo '
    '; + echo '
    '; - if(mysqli_num_rows($result) > 25){ - echo ''; - echo '

    '; - } + //Gumb za izpis vseh prijav v tabeli - update v 2. fazi @TG + /**if(mysqli_num_rows($result) > 25){ + echo ''; + }**/ echo '
    '; @@ -9586,15 +10109,16 @@ class SurveyAdminSettings { $lockSurvey = (int)UserSetting::getInstance()->getUserSetting('lockSurvey'); if ($admin_type == '0' || $admin_type == '1') { - echo '

    '; - echo ''; - echo '

    '; + echo '
    '; + echo ' '; + echo ' '; + echo '
    '; } if ((int)$lockSurvey > 0) { - echo '

    '.$lang['srv_unlock_popup'].'

    '; + echo '

    '.$lang['srv_unlock_popup'].'

    '; } } @@ -9608,23 +10132,29 @@ class SurveyAdminSettings { $msg = null; $email_msg = $lang['srv_mail_test_smtp_test_success']; $email_subject = $lang['srv_mail_test_smtp_test']; + + $mailMode = $_REQUEST['SMTPMailMode']; $MA = new MailAdapter($this->anketa); - $settings = $MA->getSettingsFromRequest($_REQUEST); - $mailMode = $_REQUEST['SMTPMailMode']; + $SmailMode = $mailMode === 1 ? 'google' : 'smtp'; + $settings_saved = $MA->getSettings($SmailMode); - - if (isset ($_COOKIE['uid'])) { + if ($mailMode == 1 || $mailMode == 2){ + $email = $settings['SMTPFrom']; + } + else if (isset ($_COOKIE['uid'])) { $email = base64_decode ($_COOKIE['uid']); } else { $error = true; $msg = $lang['srv_mail_test_smtp_mail_detect_error']; } - - if (validEmail($email)){ + $settings['SMTPPassword'] = empty($_REQUEST['SMTPPassword']) ? $settings_saved['SMTPPassword'] : $_REQUEST['SMTPPassword']; + + if (validEmail($email)){ + // preverimo password - ne sme bit prazen if (($mailMode == 1 || $mailMode == 2) && empty($settings['SMTPPassword'])){ # password $error = true; @@ -9647,8 +10177,13 @@ class SurveyAdminSettings { $error = true; $msg = $lang['srv_mail_test_smtp_not_possible']; } - } + } + + echo '
    '; + echo '

    '.$lang['srv_mail_test_smtp'].'

    '; + echo ''; + // če imamo napake jo izpišemo if ($error == true){ echo $lang['srv_mail_test_smtp_error'].': '. $msg; @@ -9656,23 +10191,17 @@ class SurveyAdminSettings { else{ echo $lang['srv_mail_test_smtp_sent'].': '.$email; } - + #vsebino shranimo v buffer $content = ob_get_clean(); + + echo $content; + + echo '
    '; + echo ''; + echo '
    '; - $popUp = new PopUp(); - #$popUp->setId('divSurveySmtp'); - $popUp->setHeaderText($lang['srv_mail_test_smtp']); - - #dodamo vsebino - $popUp->setContent($content); - - # dodamo gumb Prekliči - $button = new PopUpCancelButton(); - $button->setCaption($lang['srv_zapri'])->setTitle($lang['srv_zapri']); - $popUp->addButton($button); - - echo $popUp; + echo '
    '; } } ?> \ No newline at end of file -- cgit v1.2.3