skin = $surveySkin; else $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 { // nekje se uporablja tudi brez IDja ankete!!! //die("SAS: SID missing!"); } SurveyInfo::getInstance()->SurveyInit($this->anketa); SurveyInfo::getInstance()->resetSurveyData(); if (SurveyInfo::getInstance()->getSurveyColumn('db_table') == 1) $this->db_table = '_active'; $this->survey_type = $this->getSurvey_type($this->anketa); $this->stran = $_GET['a']; } /*Globalne nastavitve * Osnovni podatki * Respondenti * Design * Obveščanje * Piškotek * Trajanje * Komentarji * Dostop */ function anketa_nastavitve_global() {//OSTANE global $lang; global $site_url; global $site_path; global $admin_type; global $global_user_id; /* Globalne nastavitve ankete: veljajo za celoto anketo ne glede na uporabnika*/ $row = SurveyInfo::getInstance()->getSurveyRow(); echo '
' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n\r"; /*Osnovni podatki*/ if ($_GET['a'] == 'osn_pod' || $_GET['a'] == 'nastavitve') { /* OSNOVNI PODATKI */ 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 '
'; // 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'); $selected_folder = 0; $sqlFA = sisplet_query("SELECT folder FROM srv_mysurvey_anketa WHERE usr_id='".$global_user_id."' AND ank_id='".$this->anketa."'"); if(mysqli_num_rows($sqlFA) > 0){ $rowFA = mysqli_fetch_array($sqlFA); $selected_folder = $rowFA['folder']; } $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 '
'; /* JEZIK */ echo '
'; echo '' . $lang['lang'] . ''; $lang_admin = $row['lang_admin']; $lang_resp = $row['lang_resp']; $lang_array = array(); // 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, '.')); if ($i > 0) { $file = '../../lang/'.$i.'.php'; @include($file); $lang_array[$i] = $lang['language']; } } } } } // nastavimo jezik nazaj if ($lang_admin > 0) { $file = '../../lang/'.$lang_admin.'.php'; @include($file); } echo ''.$lang['srv_language_admin_survey'].':'; ksort($lang_array); foreach ($lang_array AS $key => $val) { if ($key == 1 || $key == 2) { echo ''; echo ' '; } } echo '
'; echo ''.$lang['srv_language_respons_1'].':'; asort($lang_array); echo ' '; 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 '
'; // Gumb shrani - vmes echo ''; echo '
'; echo '
'; /* INTERAKTIVNI ELEMENTI */ echo '
'; echo ''.$lang['srv_interaktivni_elementi'].''; SurveySetting::getInstance()->Init($this->anketa); $survey_privacy = SurveySetting::getInstance()->getSurveyMiscSetting('survey_privacy'); $survey_hint = SurveySetting::getInstance()->getSurveyMiscSetting('survey_hint'); if ($survey_hint == '') $survey_hint = 1; $survey_hide_title = SurveySetting::getInstance()->getSurveyMiscSetting('survey_hide_title'); $survey_track_reminders = SurveySetting::getInstance()->getSurveyMiscSetting('survey_track_reminders'); if ($survey_track_reminders == '') $survey_track_reminders = 0; $display_backlink = SurveySetting::getInstance()->getSurveyMiscSetting('display_backlink'); $multiple_pages = false; $sqlg = sisplet_query("SELECT id FROM srv_grupa WHERE ank_id = '$this->anketa'"); if (mysqli_num_rows($sqlg) > 1) $multiple_pages = true; // Indikator napredka //echo '
'; echo ''.$lang['srv_te_progressbar'].' '.Help::display('srv_show_progressbar').':'; 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"; // Nadaljuj kasneje if($this->survey_type > 1){ echo '
'; echo ''; echo '' . "\n\r"; echo '' . "\n\r"; } // Gumb nazaj echo '
'; echo ''.$lang['srv_slideshow_sett_back_button_lbl'].':'; echo ' '; echo ' '; echo '

'; // Namig echo ''; echo '' . "\n\r"; echo '' . "\n\r"; //belezenje reminderjev /*echo '
'; echo '' . "\n\r"; echo '' . "\n\r";*/ 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'); } 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 '
'; /* 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 ''; // Prikaz zakljucka echo '
'; echo ''; echo ''.$lang['no1']; echo ''.$lang['yes']; 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); 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 '
'; /* 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 '
'; } } /* PISKOTEK */ if ($_GET['a'] == A_PRIKAZ) { echo '
'; echo '' . $lang['srv_data_valid_units_settings'] . ''; echo '

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

'; // Pri volitvah ne moremo prikazati datuma respondenta if(!SurveyInfo::getInstance()->checkSurveyModule('voting')){ echo '

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

'; } echo '

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

'; echo '
'; } /*Piskotek*/ if ($_GET['a'] == 'piskot') { // Pri volitvah ne moremo popravljati nastavitev piskotka if(SurveyInfo::getInstance()->checkSurveyModule('voting')){ echo '
'; echo '' . $lang['srv_cookie'] . ''; echo ''.$lang['srv_voting_no_cookie'].''; echo '
'; echo '
'; 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 '

'.$lang['srv_vnos_navodila'].'

'; echo ' '; echo ' ' . "\n\r"; echo ' ' . "\n\r"; echo '
'; // For modul maza, show all cookie settings $isMaza = (SurveyInfo::checkSurveyModule('maza')) ? 1 : 0; ?> anketa . "' AND (uid='" . $global_user_id . "' OR uid IN (SELECT user FROM srv_dostop_manage WHERE manager='$global_user_id' ))"; $sqlDostopAvtor = sisplet_query($stringDostopAvtor); $rowDostopAvtor = mysqli_fetch_assoc($sqlDostopAvtor); $avtorRow = SurveyInfo::getInstance()->getSurveyRow(); echo '
'; echo '
'; echo '' . $lang['access'] . ''; echo ''; echo ' '; echo '
'; echo ''."\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 '
'; // Preverimo, ce je funkcionalnost v paketu, ki ga ima uporabnik global $global_user_id; $userAccess = UserAccess::getInstance($global_user_id); // dodajanje gesel za anketo echo '
'.$lang['srv_password'].' '.Help::display('srv_dostop_password').''; if(!$userAccess->checkUserAccess($what='password')){ $userAccess->displayNoAccess($what='password'); } else{ echo '
'; $ss = new SurveySkupine($this->anketa); $spr_id = $ss->hasSkupine(2); echo ''; // Preprecimo submit na enter 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 '
'; } /*Trajanje*/ if ($_GET['a'] == 'trajanje') { echo '
'; echo ''; $this->DisplayNastavitveTrajanje(); $this->DisplayNastavitveMaxGlasov(); echo ''; echo '
'; if (isset($_GET['f'])) { switch ($_GET['f']) { case 'vabila_settings': $url =$site_url . 'admin/survey/index.php?anketa='.$this->anketa.'&a=vabila&m=settings'; break; } if (isset($url)) { 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 $lang['srv_back_to_email'] . '
'; echo '
'; } */ } /*Respondenti*/ if ($_GET['a'] == 'resp') { $this->respondenti_iz_baze($row); } /*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']) { SurveySetting::getInstance()->Init($this->anketa); $survey_comment = SurveySetting::getInstance()->getSurveyMiscSetting('survey_comment'); $survey_comment_showalways = SurveySetting::getInstance()->getSurveyMiscSetting('survey_comment_showalways'); $question_comment = SurveySetting::getInstance()->getSurveyMiscSetting('question_comment'); $survey_comment_viewadminonly = SurveySetting::getInstance()->getSurveyMiscSetting('survey_comment_viewadminonly'); $survey_comment_viewauthor = SurveySetting::getInstance()->getSurveyMiscSetting('survey_comment_viewauthor'); $question_comment_viewadminonly = SurveySetting::getInstance()->getSurveyMiscSetting('question_comment_viewadminonly'); $question_comment_viewauthor = SurveySetting::getInstance()->getSurveyMiscSetting('question_comment_viewauthor'); $question_resp_comment_viewadminonly = SurveySetting::getInstance()->getSurveyMiscSetting('question_resp_comment_viewadminonly'); $question_resp_comment_inicialke = SurveySetting::getInstance()->getSurveyMiscSetting('question_resp_comment_inicialke'); $question_resp_comment_inicialke_alert = SurveySetting::getInstance()->getSurveyMiscSetting('question_resp_comment_inicialke_alert'); $question_resp_comment = SurveySetting::getInstance()->getSurveyMiscSetting('question_resp_comment'); $srv_qct = SurveySetting :: getInstance()->getSurveyMiscSetting('question_comment_text'); $question_note_view = SurveySetting::getInstance()->getSurveyMiscSetting('question_note_view'); $question_note_write = SurveySetting::getInstance()->getSurveyMiscSetting('question_note_write'); $question_resp_comment_show_open = SurveySetting::getInstance()->getSurveyMiscSetting('question_resp_comment_show_open'); $survey_comment_resp = SurveySetting::getInstance()->getSurveyMiscSetting('survey_comment_resp'); $survey_comment_showalways_resp = SurveySetting::getInstance()->getSurveyMiscSetting('survey_comment_showalways_resp'); $survey_comment_viewadminonly_resp = SurveySetting::getInstance()->getSurveyMiscSetting('survey_comment_viewadminonly_resp'); $survey_comment_viewauthor_resp = SurveySetting::getInstance()->getSurveyMiscSetting('survey_comment_viewauthor_resp'); $sortpostorder = SurveySetting::getInstance()->getSurveyMiscSetting('sortpostorder'); $addfieldposition = SurveySetting::getInstance()->getSurveyMiscSetting('addfieldposition'); $commentmarks = SurveySetting::getInstance()->getSurveyMiscSetting('commentmarks'); $commentmarks_who = SurveySetting::getInstance()->getSurveyMiscSetting('commentmarks_who'); $comment_history = SurveySetting::getInstance()->getSurveyMiscSetting('comment_history'); $srvlang_srv_question_respondent_comment = SurveySetting::getInstance()->getSurveyMiscSetting('srvlang_'.'srv_question_respondent_comment'.''); if ($srvlang_srv_question_respondent_comment == '') $srvlang_srv_question_respondent_comment = $lang['srv_question_respondent_comment']; $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_hide_survey_comment = SurveySetting::getInstance()->getSurveyMiscSetting('preview_hide_survey_comment'); $preview_survey_comment_showalways = SurveySetting::getInstance()->getSurveyMiscSetting('preview_survey_comment_showalways'); $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'].'
'; } $css_width = ''; if ($survey_comment != "") { $css_width = 'min-height:250px;width:45% !important;'; $css_width2 = 'width:45% !important;'; } echo '
'.$lang['comments'].''; 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'].''; $d = new Dostop(); $sqlc = sisplet_query("SELECT COUNT(s.id) AS count FROM srv_spremenljivka s, srv_grupa g WHERE g.ank_id='$this->anketa' AND s.gru_id=g.id AND s.thread > '0'"); if (!$sqlc) echo mysqli_error($GLOBALS['connect_db']); $rowc = mysqli_fetch_array($sqlc); if ($rowc['count'] > 0 && $d->checkDostopSub('test')) { echo '

'; echo ''; echo '

'; echo ' '.$lang['srv_view_comment']; echo ''; } echo '

'; echo '

'.$lang['comments'].'

'; echo '

'.$lang['srv_vabila'].'

'; echo '

'; echo ' '.$lang['srv_detail_settings'].' '; echo ' '; echo '

'; echo '
'; ?> '.$lang['srv_admin_s_comments'].''; //echo '
'; echo ''; echo '

'; echo '

'; echo ''; echo '
'.$lang['add'].'
'; //echo '
'; echo ''; echo '
'; } 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); $rowDostopAvtor = mysqli_fetch_assoc($sqlDostopAvtor); if ($admin_type <= $row['dostop'] || $rowDostopAvtor['isAvtor'] > 0) { echo '
' . $lang['srv_dostop_users'] . '' . Help :: display('srv_dostop_users'). ''."\n"; echo ''.$lang['srv_dostop_show_all'].''; echo ''.$lang['srv_dostop_hide_all'].''; echo '
'; $this->display_dostop_users(0); 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'].'

'; echo '
'; echo '
'; } } /*Jezik*/ if ($_GET['a'] == 'jezik') { global $admin_lang; $lang_admin = $row['lang_admin']; $lang_resp = $row['lang_resp']; $admin_lang = $lang; // ce ni default jezik, damo za osnovnega, default jezik global $resp_lang; $file = '../../lang/'.$row['lang_resp'].'.php'; include($file); $resp_lang = $lang; //$lang_admin = $lang_resp; // nazaj na administrativnega $file = '../../lang/'.$lang_admin.'.php'; include($file); echo '
'.$lang['srv_extra_translations'].' '; if ($row['multilang'] == 1) { echo ' '; } 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 echo '

 '.($lang_id>0?$lang['srv_multilang']:$lang['srv_language_respons_1']).':'; $file = '../../lang/'.$lang_resp.'.php'; include($file); echo ' '.$lang['language'].'

'; // nazaj na administrativnega $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 '

'; // jezik nastavimo na nastavitev za respondente, ker ta text dejansko nastavljamo $file = '../../lang/'.$lang_resp.'.php'; include($file); // Pri gumbih ne prikazujemo editorja $this->extra_translation('srv_nextpage'); $this->extra_translation('srv_nextpage_uvod'); $this->extra_translation('srv_prevpage'); $this->extra_translation('srv_lastpage'); $this->extra_translation('srv_forma_send'); $this->extra_translation('srv_potrdi'); $this->extra_translation('srv_konec'); $this->extra_translation('srv_remind_sum_hard', 1); $this->extra_translation('srv_remind_sum_soft', 1); $this->extra_translation('srv_remind_num_hard', 1); $this->extra_translation('srv_remind_num_soft', 1); $this->extra_translation('srv_remind_hard', 1); $this->extra_translation('srv_remind_soft', 1); $this->extra_translation('srv_remind_hard_-99', 1); $this->extra_translation('srv_remind_soft_-99', 1); $this->extra_translation('srv_remind_hard_-98', 1); $this->extra_translation('srv_remind_soft_-98', 1); $this->extra_translation('srv_remind_hard_-97', 1); $this->extra_translation('srv_remind_soft_-97', 1); $this->extra_translation('srv_remind_hard_multi', 1); $this->extra_translation('srv_remind_soft_multi', 1); $this->extra_translation('srv_remind_captcha_hard', 1); $this->extra_translation('srv_remind_captcha_soft', 1); $this->extra_translation('srv_remind_email_hard', 1); $this->extra_translation('srv_remind_email_soft', 1); $this->extra_translation('srv_alert_number_exists', 1); $this->extra_translation('srv_alert_number_toobig', 1); $this->extra_translation('srv_ranking_avaliable_categories', 1); $this->extra_translation('srv_ranking_ranked_categories', 1); $this->extra_translation('srv_question_respondent_comment', 1); $this->extra_translation('srv_continue_later', 1); $this->extra_translation('srv_continue_later_txt', 1); $this->extra_translation('srv_continue_later_email', 1); $this->extra_translation('srv_dropdown_select', 1); $this->extra_translation('srv_wrongcode', 1); $this->extra_translation('user_bye_textA', 1); $this->extra_translation('srv_survey_non_active', 1); $this->extra_translation('srv_survey_deleted', 1); $this->extra_translation('srv_survey_non_active_notActivated', 1); $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 '
'; echo '
'; echo '
'; echo '
'; echo $lang['edit1337']; echo '
'; // Gumb za ponastavitev prevoda v bazi pobriše že nastavljene prevode za izbran jezik echo '
'; echo $lang['reset_translation']; echo '
'; echo ''.$lang['lang'].''; } /*Forma*/ if ($_GET['a'] == 'forma') { } /*Nastavitve prikaza za mobilnike*/ if ($_GET['a'] == 'mobile_settings') { SurveySetting::getInstance()->Init($this->anketa); echo '
'; echo ''.$lang['srv_mobile_settings_title'].''; // Prikaz slik pri mobilnikih (default da) $mobile_friendly = SurveySetting::getInstance()->getSurveyMiscSetting('mobile_friendly'); echo ''.$lang['srv_settings_mobile_friendly'].':'; echo ' '; echo ' '; $display = ($mobile_friendly == 1) ? '' : ' display: none;'; 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 ''; // Prilagoditev tabel pri mobilnikih $mobile_tables = SurveySetting::getInstance()->getSurveyMiscSetting('mobile_tables'); echo ''.$lang['srv_settings_mobile_tables'].':'; echo ' '; echo ' '; echo ' '; echo '
'; echo '
'; } /*Metapodatki (Parapodatki)*/ if ($_GET['a'] == 'metadata') { SurveySetting::getInstance()->Init($this->anketa); $ip = SurveySetting::getInstance()->getSurveyMiscSetting('survey_ip'); $ip_show = SurveySetting::getInstance()->getSurveyMiscSetting('survey_show_ip'); $browser = SurveySetting::getInstance()->getSurveyMiscSetting('survey_browser'); $referal = SurveySetting::getInstance()->getSurveyMiscSetting('survey_referal'); $date = SurveySetting::getInstance()->getSurveyMiscSetting('survey_date'); 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_metadata_desc'].'

'; 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'].'
'; } echo '
'; // Povezovanje identifikatorjev s podatki - samo za admine in ce so vklopljena email vabila if ($admin_type == 0 && SurveyInfo::getInstance()->checkSurveyModule('email')) { echo '
'; echo '
'; echo ''.$lang['srv_sledenje_identifikatorji_title'].' '.Help::display('srv_email_with_data').''; echo ''; echo ' '; echo ' '; if($row['show_email'] == 1) echo '
'.$lang['srv_show_mail_with_data3'].'
'; echo '
'; } } /* Nastavitve pdf/rtf izvozov */ if ($_GET['a'] == 'export_settings') { SurveySetting::getInstance()->Init($this->anketa); // Nastavitve za izpis vprasalnika 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 '
'; // Prikaz pogojev (default da) $export_show_if = SurveySetting::getInstance()->getSurveyMiscSetting('export_show_if'); echo ''.$lang['srv_export_if'].':'; 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 '
'; // Nastavitve za izpis odgovorov respondentov 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 '
'; // Prikaz recnuma (default da) $export_data_show_recnum = SurveySetting::getInstance()->getSurveyMiscSetting('export_data_show_recnum'); echo ''.$lang['srv_export_show_recnum'].':'; 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 '

'; // Page break med posameznimi respondenti (default ne) $export_data_PB = SurveySetting::getInstance()->getSurveyMiscSetting('export_data_PB'); echo ''.$lang['srv_export_pagebreak'].':'; 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 '
'; // 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 '
'; } /* Nastavitve GDPR */ if ($_GET['a'] == A_GDPR) { $gdpr = new GDPR(); $gdpr->displayGDPRSurvey($this->anketa); } if ($_GET['a'] != 'jezik' && $_GET['a'] != 'trajanje' && $_GET['a'] != A_GDPR) { //echo '

'.$lang['srv_prestevilci'].'

'; echo '
'; echo '
'; //echo ''; echo $lang['edit1337'] . '
'; echo '
'; } if ($_GET['s'] == '1') { echo '
'; echo ''; } echo ''; } function anketa_nastavitve_mail() { global $lang; global $site_url; global $site_path; global $admin_type; global $global_user_id; /* Globalne nastavitve ankete: veljajo za celoto anketo ne glede na uporabnika*/ $row = SurveyInfo::getInstance()->getSurveyRow(); $http_referer = parse_url($_SERVER['HTTP_REFERER']); //If yes, parse referrer $referer_url = $http_referer['query']; $show_back_button = false; if(preg_match('/anketa='.$this->anketa.'&a='.A_INVITATIONS.'/', $referer_url) || $_GET['show_back'] == 'true') $show_back_button = true; echo '
'.$lang['srv_email_setting_title'].''; echo '
' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n\r"; $MA = new MailAdapter($this->anketa); echo ''.$lang['srv_email_setting_select_server'].' '; echo ''; // Google smtp je viden samo starim, kjer je ze vklopljen if($MA->isGoogle()){ echo ''; } echo ''; echo Help :: display('srv_mail_mode'); #1ka mail system $enkaSettings = $MA->get1KASettings(); echo '
'; echo '
'; echo ''.$lang['srv_email_setting_settings'].'
'; echo '
is1KA() ? ' class="displayNone"' : '').'>'; # from echo '

'; echo '

'; # replyTo echo '

'; echo '

'; echo '
'; #GMAIL - Google $enkaSettings = $MA->getGoogleSettings(); echo '
isGoogle() ? ' class="displayNone"' : '').'>'; # from echo '

'; echo '

'; # replyTo echo '

'; echo '

'; #Password echo '

'; echo '

'; echo '
'; #SMTP $enkaSettings = $MA->getSMTPSettings(); echo '
isSMTP() ? ' class="displayNone"' : '').'>'; # from - NICE echo '

'; echo '

'; # from echo '

'; echo '

'; # replyTo echo '

'; echo '

'; #Username echo '

'; echo '

'; #Password echo '

'; echo '

'; #autentikacija echo '

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

'; #Varnost SMTPSecure echo '

'; echo $lang['srv_email_setting_encryption']; echo ''; echo $lang['srv_email_setting_encryption_none'].''; echo ''; echo ''; echo '

'; #port echo '

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

'; #host echo '

'; echo '

'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo $lang['srv_email_setting_btn_test'].'
'; echo '
'; echo $lang['srv_email_setting_btn_save'] . '
'; if (preg_match('/anketa='.$this->anketa.'&a='.A_INVITATIONS.'/', $referer_url) || $show_back_button) { //echo '
'; echo '
'; echo $lang['srv_back_to_email'] . '
'; echo '
'; } echo '
'; if ($_GET['s'] == '1') { echo '
'; echo ''; } } /** * funkcija, ki prikaze polja za nastavitev ekstra prevodov * */ function extra_translation ($text, $editor = 0) { global $lang; global $admin_lang; global $resp_lang; $lang_id = (int)$_GET['lang_id']; if ($lang_id > 0) $lang_id = '_'.$lang_id; else $lang_id = ''; $value = SurveySetting::getInstance()->getSurveyMiscSetting('srvlang_'.$text.$lang_id); if ($value == '') $value = $lang[$text]; $onclick = 'onclick="inline_jezik_edit(\'srvlang_'.$text.$lang_id.'\');"'; // Popravimo text za naslednjo stran na uvodu $next_uvod = ''; 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.'
'; if($editor == 1) echo ''; echo ''; echo '
'; } function anketa_nice_links () { echo '
'; $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'].'

'; } echo '
'; } /** * prikaze ankete z administrativnim dostopom za pomoč * */ function anketa_admin () { global $lang; echo '
'; $sql = sisplet_query("SELECT srv_anketa.id, srv_anketa.naslov, users.email FROM srv_anketa, users WHERE users.id=srv_anketa.insert_uid AND dostop_admin >= DATE(NOW()) ORDER BY edit_time DESC"); if (!$sql) echo mysqli_error($GLOBALS['connect_db']); while ($row = mysqli_fetch_array($sql)) { echo '

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

'; } echo '
'; } /** * prikaze izbrisanje ankete * */ function anketa_deleted () { global $lang; echo '
'; $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'].'

'; } echo '
'; } /** * prikaze izbrisanje podatke * */ function data_deleted () { global $lang; echo '
'; $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'].')

'; } echo '
'; } // online urejanje CSS datoteke function anketa_editcss() { $st = new SurveyTheme($this->anketa); $st->edit_css(); } function anketa_vabila() { global $lang; if ($_GET['m'] == '' || $_GET['m'] == 'settings') { $this->anketa_vabila_nastavitve(); } elseif ($_GET['m'] == 'url') { $this->anketa_vabila_url(); } } 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'].' >>
'; // Aktivacija ankete echo ''; $this->anketa_aktivacija_note(); echo''; echo '
'; # Linki, lepi linki $this->niceUrlSettings(); echo '
'; // Napredne URL povezave echo '
'; //echo ''.$lang['srv_publication_advanced_url'].''; echo ''; echo '

'.$lang['srv_publication_advanced_url_text'].'

'; echo '
'; echo '
'; // Individualizirana vabila echo '
'; //echo ''.$lang['srv_publication_invitations'].''; echo ''; echo '

'.$lang['srv_publication_invitations_text'].'

'; 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 $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.'

'; # 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']; } } } } } // 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.''; } 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 '

'.$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']; } } } } } // 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.''; } 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 '

'.$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 '
'; echo '
'; } function niceUrlSettings() { global $lang, $site_url, $global_user_id; $p = new Prevajanje($this->anketa); $p->dostop(); $lang_array = $p->get_all_translation_langs(); $link = SurveyInfo::getSurveyLink(); $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_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(); echo '

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

'; 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)) { $link_nice = $site_url . $rowl['link']; echo '
'; echo ''.$link_nice.''.(count($lang_array) > 0 ? ' - '.$base_lang_resp : '').''; //echo ''.$site_url.$rowl['link'].''; //echo '
'; } // Imamo vec linkov za skupine $ss = new SurveySkupine($this->anketa); $spr_id = $ss->hasSkupine(); 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'].''; } } // 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.''; 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 '
'; 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') { ?>'; echo ''.$lang['srv_popup_title'].':'; echo '

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

'; echo ''; echo ''; } 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 * */ function email_nastavitve ($show_fieldset = true) { global $lang; global $site_url; global $site_path; global $admin_type; global $global_user_id; $row = SurveyInfo::getInstance()->getSurveyRow(); # echo '
'; // če ni aktivna damo opozorilo echo '
' . "\n\r"; echo '' . "\n\r"; echo '
'; $this->respondenti_iz_baze($row,$show_fieldset); echo '
'; if ($admin_type == 0) { if ($show_fieldset) { echo '
'.$lang['srv_show_mail_with_data'].''; } else { echo '

4.'.$lang['srv_show_mail_with_data'].'

'; } echo ''.$lang['srv_show_mail_with_data2'].': '; echo ''.$lang['no'].' '; echo ''.$lang['yes'].' '; echo '

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

'; if ($show_fieldset) { echo '
'; } } echo '
'; echo ''; echo '
'; if ($_GET['s'] == '1') { echo '
'; echo ''; } #echo '
'; } /** * vrne kodo ankete, ki se jo uporabi za embed * */ function getEmbed ($js = true) { global $site_url; $link = SurveyInfo::getSurveyLink(); 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 = ''; if ($js) return htmlentities($iframe.$javascript, ENT_QUOTES); else return htmlentities($iframe, ENT_QUOTES); } /** * vrne kodo ankete, ki se jo uporabi za popup embed * */ function getPopup () { global $site_url; $link = SurveyInfo::getSurveyLink().'&popup=1'; SurveyInfo::getInstance()->SurveyInit($this->anketa); $row = SurveyInfo::getInstance()->getSurveyRow(); $javascript = ''; // Dodatek ce bomo delali se naprej popup embed (cross domain problem) //if(window.addEventListener){window.addEventListener("message", function(e){if(e.data == "closePopup"){document.getElementById("popup_iframe").remove();document.getElementById("popup_div").remove();}});} return htmlentities($javascript, ENT_QUOTES); } /** * @desc prika?e nastavitve alerta za formo */ function alert_nastavitve() {//OSTANE global $lang; global $site_url; global $admin_type; global $app_settings; $anketa = $this->anketa; /* moznosti: * 'complete' -> obvsetilo o izpolnjeni anketi (respondent, respondent iz cms, avtor + dostop, dodatn-emaili) * 'delete' -> obvestilo o izbrisani anketi (avtor + dostop, dodatni -emaili) * 'active' -> obvestilo o aktivnosti, neaktivnosti ankete (avtor + dostop, dodatni -emaili) * 'expire' -> obvestilo o izteku ankete (avtor + dostop, dodatni -emaili) * 'email_server' -> nastavitve mail streznika */ if ( isset($_GET['m']) && $_GET['m'] != "") { $tab = $_GET['m']; } else { $tab = $_GET['m'] = 'complete'; } // preberemo nastavitve alertov $sqlAlert = sisplet_query("SELECT * FROM srv_alert WHERE ank_id = '$anketa'"); if (!$sqlAlert) echo mysqli_error($GLOBALS['connect_db']); if (mysqli_num_rows($sqlAlert) > 0) { $rowAlert = mysqli_fetch_array($sqlAlert); } else { SurveyAlert::getInstance()->Init($anketa, $global_user_id); $rowAlert = SurveyAlert::setDefaultAlertBeforeExpire(); } $days = $rowAlert['expire_days']; $sqlS = sisplet_query("SELECT id, expire, survey_type, insert_uid, DATE_SUB(expire,INTERVAL $days DAY) as newdate FROM srv_anketa WHERE id = '$anketa'"); if (!$sqlS) echo mysqli_error($GLOBALS['connect_db']); $rowS = mysqli_fetch_array($sqlS); $rowAlert['newdate'] = $rowS['newdate']; $sqlu = sisplet_query("SELECT email FROM users WHERE id = '$rowS[insert_uid]'"); $rowu = mysqli_fetch_array($sqlu); $MailReply = $rowu['email']; $custom_alert = array(); $sql_custom_alert = sisplet_query("SELECT uid, type FROM srv_alert_custom WHERE ank_id = '$this->anketa'"); while ($row_custom_alert = mysqli_fetch_array($sql_custom_alert)) { $custom_alert[$row_custom_alert['type']][$row_custom_alert['uid']] = 1; } if ($tab == 'complete') { //echo '

' . $lang['srv_alert_title'] . '

'."\n"; echo '
' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo '
'. "\n"; echo ' ' . $lang['srv_alert_prejemnik'] . ''. "\n"; // respondent - ne prikazemo ce gre za glasovanje oz. volitve if($rowS['survey_type'] != 0 && !SurveyInfo::getInstance()->checkSurveyModule('voting')){ echo '

'; echo ''; echo ''; $this->display_alert_label('finish_respondent',($rowAlert['finish_respondent'] == 1)); echo ''. "\n"; // 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 if(!SurveyInfo::getInstance()->checkSurveyModule('voting')){ echo '

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

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

'; echo '

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

'; // posebej navedeni maili 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 '
'; echo '
'; echo '' . $lang['srv_alert_oblika'] . ''; echo '
'; echo '

'; echo '

'; if ($rowAlert['finish_text'] != '') { $text = $rowAlert['finish_text']; } else { // Podpis $signature = Common::getEmailSignature(); $text = nl2br($lang['srv_alert_finish_text'].$signature); } // prikaze editor za ne-spremenljivko (za karkoli druzga pac) echo '

'; echo ' '; echo '

'; echo '
'; echo '
'; echo '
'; echo $lang['srv_alert_instruction1']; // 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'].'
'; $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']; $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 = ", "; } if ($prefix == "") { // ni sistemskih spremenljivk echo '

'.$lang['srv_alert_no_sys_var'].'

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

' . $lang['srv_alert_expired_title'] . '

'."\n"; echo '
' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo '
'. "\n"; echo ' ' . $lang['srv_alert_expired_time_title'] . ''. "\n"; 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 '
'. "\n"; echo ' ' . $lang['srv_alert_prejemnik'] . ''. "\n"; echo '

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

'; echo '

'; echo '

'; echo '' . ' ' . '

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

'; if ($rowAlert['expire_text'] != ''){ $text = $rowAlert['expire_text']; } else{ // Podpis $signature = Common::getEmailSignature(); $text = nl2br($lang['srv_alert_expire_text'].$signature); } // 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 '
'; if ($_GET['s'] == '1') { echo '
'; echo ''; } echo '
'; } else if ($tab == 'active') { //echo '

' . $lang['srv_alert_active_title'] . '

'."\n"; 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 '

'; if ($rowAlert['active_text0'] != '') { $text0 = $rowAlert['active_text0']; } else { // Podpis $signature = Common::getEmailSignature(); $text0 = nl2br($lang['srv_alert_active_text0'].$signature); } // prikaze editor za ne-spremenljivko (za karkoli druzga pac) echo '

'; echo ' '; echo '

'; echo '
'; echo '

' . $lang['srv_alert_oblika_activate_note'] . '

'; echo '

'; if ($rowAlert['active_text1'] != '') { $text1 = $rowAlert['active_text1']; } else { // Podpis $signature = Common::getEmailSignature(); $text1 = nl2br($lang['srv_alert_active_text1'].$signature); } 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') { echo '
'; echo ''; } echo '
'; } else if ($tab == 'delete') { //echo '

' . $lang['srv_alert_delete_title'] . '

'."\n"; echo '
' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo '
'. "\n"; echo '' . $lang['srv_alert_prejemnik'] . ''. "\n"; echo '

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

'; echo '

'; echo '

'; echo ''; echo ''; echo '

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

'; if ($rowAlert['delete_text'] != '') { $text = $rowAlert['delete_text']; } else { // Podpis $signature = Common::getEmailSignature(); $text = nl2br($lang['srv_alert_delete_text'].$signature); } // prikaze editor za ne-spremenljivko (za karkoli druzga pac) 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') { echo '
'; echo ''; } echo '
'; } else if ($tab == 'email_server') { // Gorenje tega nima if (!Common::checkModule('gorenje') && $admin_type == '0') $this->viewServerSettings(); } else { print_r($tab); } ?> '; echo ''.$lang['srv_user_base_email_server_settings'].''; $row = SurveyInfo::getInstance()->getSurveyRow(); // 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 '
' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n"; echo ' ' . "\n\r"; $MA = new MailAdapter($this->anketa); // 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 ''; // Google smtp je viden samo starim, kjer je ze vklopljen if($MA->isGoogle()){ echo ''; } echo ''; echo Help :: display('srv_mail_mode'); echo '

'; #1KA $enkaSettings = $MA->get1KASettings($raziskave=true); echo '
is1KA() ? ' class="displayNone"' : '').'>'; echo ''.$lang['srv_email_setting_settings'].''; echo '
'; # from echo '

'; echo '

'; # replyTo echo '

'; echo '

'; echo '
'; #GMAIL - Google $enkaSettings = $MA->getGoogleSettings(); echo '
isGoogle() ? ' class="displayNone"' : '').'>'; echo ''.$lang['srv_email_setting_adapter1_note'].'
'; echo '
'.$lang['srv_email_setting_settings'].'
'; # from echo '

'; echo '

'; # replyTo echo '

'; echo '

'; #Password echo '

'; echo '

'; echo '
'; #SMTP $enkaSettings = $MA->getSMTPSettings(); echo '
isSMTP() ? ' class="displayNone"' : '').'>'; echo ''.$lang['srv_email_setting_adapter2_note'].'
'; echo '
'.$lang['srv_email_setting_settings'].'
'; # from - NICE echo '

'; echo '

'; # from echo '

'; echo '

'; # replyTo echo '

'; echo '

'; #Username echo '

'; echo '

'; #Password echo '

'; echo '

'; #autentikacija echo '

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

'; #Varnost SMTPSecure echo '

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

'; #port echo '

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

'; #host echo '

'; echo '

'; #delay echo '

'; echo '

'; echo '
'; echo '
'; echo ''; echo '
'; // Gumb shrani echo '
'; echo $lang['srv_email_setting_btn_save'] . '
'; // Gumb preveri nastavitve echo '
'; echo $lang['srv_email_setting_btn_test'].'
'; if ($_GET['s'] == '1') { echo '
'; echo ''; } } /** * @desc poslje maile userjem iz baze */ function usermailing() {//OSTANE global $lang; global $site_url; global $site_path; global $global_user_id; // preverimo aktivnost //$sql = sisplet_query("SELECT active FROM srv_anketa WHERE id = '$this->anketa'"); //$row = mysqli_fetch_array($sql); $row = SurveyInfo::getInstance()->getSurveyRow(); // ce ne postamo ali ce anketa ni aktivna if (!isset ($_POST['mailto']) || ($row['active'] != 1)) { echo '
'; echo '
'; $this->anketa_aktivacija_note(); echo'
'; echo '
' . $lang['srv_mailing'] . ':'; echo '
'; echo '

' . $lang['srv_mailing_all'] . '

'; echo '

' . $lang['srv_mailing_nonrsp'] . '

'; echo '

' . $lang['srv_mailing_rsp'] . '

'; echo '

'.$lang['srv_mailing_all_with_status'].':

'; echo '

0 - ' . $lang['srv_userstatus_0'] . '

'; echo '

1 - ' . $lang['srv_userstatus_1'] . '

'; echo '

2 - ' . $lang['srv_userstatus_2'] . '

'; echo '

3 - ' . $lang['srv_userstatus_3'] . '

'; echo '

4 - ' . $lang['srv_userstatus_4'] . '

'; echo '

5 - ' . $lang['srv_userstatus_5'] . '

'; echo '

6 - ' . $lang['srv_userstatus_6'] . '

'; echo ''; echo '
'; $this->displayBtnMailtoPreview($row); echo '
'; // echo ''; echo '
'; echo '
'; echo '
'; echo '
'; $sa = new SurveyAdmin(1, $this->anketa); $sa->show_mailto_users('all', null); echo '
'; echo '
'; } else { // pošljemo emaile $errorMsg = null; //v odvisnosti od statusa polovimo emaile $mailto_radio = $_POST['mailto']; $mailto_status = (isset ($_POST['mailto_status']) && count($_POST['mailto_status']) > 0) ? implode(",", $_POST['mailto_status']) : null; $sa = new SurveyAdmin(1, $this->anketa); $arrayMailtoSqlString = $sa->getMailtoSqlString($mailto_radio, $mailto_status); $errorMsg = $arrayMailtoSqlString['errorMsg']; $sqlString = $arrayMailtoSqlString['sqlString']; // preberemo tekst za trenutno anketo $subject = ""; $text = ""; $sql_userbase_email = sisplet_query("SELECT * FROM srv_userbase_setting WHERE ank_id = '$this->anketa'"); if (mysqli_num_rows($sql_userbase_email) > 0) { // anketa že ima nastavljen text $row_userbase_email = mysqli_fetch_array($sql_userbase_email); } else { // anketa še nima nastavljenega teksta, preberemo privzetega (id=1) iz tabele srv_userbase_invitations $sql_userbase_invitations = sisplet_query("SELECT * FROM srv_userbase_invitations WHERE id = 1"); $row_userbase_email = mysqli_fetch_array($sql_userbase_invitations); } if ($row_userbase_email['replyto'] == '') { $sqluu = sisplet_query("SELECT email FROM users WHERE id = '$global_user_id'"); $rowuu = mysqli_fetch_array($sqluu); $row_userbase_email['replyto'] = $rowuu['email']; } // poiščemo sistemske spremenljivke iz vsebine preg_match_all( "/#(.*?)#/s", $row_userbase_email['text'], $sisVars); // poiščemo sistemske spremenljivke iz vsebine $sisVars =$sisVars[1]; // Poiščemo še sistemske spremenljivke iz ankete $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='".$this->anketa."' ORDER BY g.vrstni_red, s.vrstni_red"); if (mysqli_num_rows($sqlSistemske) > 0) { while ($rowSistemske = mysqli_fetch_assoc($sqlSistemske)) { if (!isset($sisVars[strtoupper($rowSistemske['variable'])])) $sisVars[] = strtoupper($rowSistemske['variable']); } } $sql_userbase = sisplet_query("SELECT MAX(b.tip) AS tip FROM srv_userbase b, srv_user u WHERE b.usr_id=u.id AND u.ank_id='$this->anketa'"); if (!$sql_userbase) echo mysqli_error($GLOBALS['connect_db']); $row_userbase = mysqli_fetch_array($sql_userbase); $tip = $row_userbase['tip'] + 1; if ($errorMsg == null) { $sql = sisplet_query($sqlString); // preprečimo izisovanje warningov $warnings_msg = ""; $send_success = array (); $send_errors = array (); // ob_start(); // $htmlContent = ob_get_contents(); // ob_start(); $cnt = 0; while ($row = mysqli_fetch_array($sql)) { // dodamo sistemske spremenljivke in poiščemo njihove vrednosti $userSysData = array(); foreach ( $sisVars as $sysVar ) { $sqlUser = sisplet_query("SELECT d.text FROM srv_data_text".$this->db_table." d, srv_spremenljivka s , srv_grupa g WHERE d.spr_id=s.id AND d.usr_id='" . $row['id'] . "' AND s.variable = '".strtolower($sysVar)."' AND g.ank_id='" . $this->anketa . "' AND s.sistem = 1 AND s.gru_id=g.id "); if (!$sqlUser) echo mysqli_error($GLOBALS['connect_db']); $rowUser = mysqli_fetch_assoc($sqlUser); if ($rowUser['text'] != null) $userSysData[strtolower($sysVar)] = $rowUser['text']; } $email = $userSysData['email']; if (trim($email) != '' && $email != null) { // shranimo komu in kdaj je kdo poslal mail sisplet_query("INSERT INTO srv_userbase (usr_id, tip, datetime, admin_id) VALUES ('$row[id]', '$tip', NOW(), '" . $this->uid() . "')"); $url = SurveyInfo::getSurveyLink() . '?code=' . $row['pass'] . ''; if (trim($row['pass']) != '') { $unsubscribe = $site_url . 'admin/survey/unsubscribe.php?anketa=' . $this->anketa . '&code=' . $row['pass'] . ''; } else { $unsubscribe = $site_url . 'admin/survey/unsubscribe.php?anketa=' . $this->anketa . '&email=' . trim($email) . '&uid='.$row['id']; } // zamenjamo sistemske vrednosti $content = $row_userbase_email['text']; // za staro verzijo $content = str_replace('[URL]', '#URL#', $content); $content = str_replace('[CODE]', '#CODE#', $content); $content = str_replace(array ( '#URL#', '#CODE#', ), array ( '' . $url . '', $row['pass'], ), $content); $content = str_replace('#UNSUBSCRIBE#', ''.$lang['user_bye_hl'].'', $content); // poiščemo prestale variable katere je potrebno zamenjati v vsebini preg_match_all( "/#(.*?)#/s", $content, $toReplace); foreach ($toReplace[0] as $key => $seed) { $content = str_replace($toReplace[0][$key], $userSysData[strtolower($toReplace[1][$key])],$content); } $subject = $row_userbase_email['subject']; try { $MA = new MailAdapter($this->anketa, $type='alert'); $MA->addRecipients($email); if ($cnt++ == 0) { # en mail pošljemo tudi na enklikanketa $MA->addRecipients('enklikanketa@gmail.com'); } $resultX = $MA->sendMail(stripslashes($content), $subject); } catch (Exception $e) { } if ($resultX) { $status = 1; // poslalo ok $send_success[] = $email; } else { $status = 2; // ni poslalo $send_errors[] = $email; } // nastavimo status sisplet_query("INSERT INTO srv_userstatus (usr_id, tip, status, datetime) VALUES ('$row[id]', '$tip', '$status', NOW())"); # laststatus updejtamo samo če je bil pred tem status 0 - email še ni poslan ali 2 - napaka pri pošiljanju maila sisplet_query("UPDATE srv_user SET last_status = '$status' WHERE id = '$row[id]' AND last_status IN (0,2)"); } // počistimo warninge // ob_end_clean(); // echo $htmlContent; } echo 'Spodnje sporočilo:

' . $row_userbase_email['subject'] . ',
' . $row_userbase_email['text'] . '
'; if (count($send_success) > 0) { echo 'je bilo uspešno poslano na naslednje naslove:
'; foreach ($send_success as $email) { echo $email . ",
"; } } if (count($send_errors) > 0) { echo '
ni bilo uspešno poslano. Pri pošiljanju na naslednje naslove je prišlo do napake:
'; foreach ($send_errors as $email) { echo $email . ",
"; } } //echo '
Done'; // izpipemo warninge na koncu } else { echo '
' . $errorMsg . '
'; } } } /** * @desc prikaze tab Socialna omrezja */ function SN_Settings() { global $lang; 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 '
'; // 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 global $lang; echo '
'; echo '' . $lang['srv_questionnaire_archives'] . ''; echo '

' . $lang['srv_backup_label'] . '

'; echo '

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

'; 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 '
'; } function arhivi_data() { global $lang; echo '
'; echo '' . $lang['srv_arhiv_data'] . ''; echo '

' . $lang['srv_backup_data_label'] . '

'; 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; } } } closedir($handle); } if (count($backups) > 0) { echo '
' . $lang['srv_backup_data_list'] . ':'; foreach ($backups AS $file) { $e = explode('-', $file); $e[2] = str_replace('.1ka', '', $e[2]); echo '
'.$e[1].' '.$e[2].' - '.$lang['srv_anketarestoredata'].''; } echo '

'; } echo '
'; } 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; } echo '
'; } function arhivi_survey() { global $lang; // Uvoz/izvoz samo ankete - po novem je uvoz pri kreiranju 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 '

'; // 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 '
'; } // Uvoz/izvoz ankete s podatki - po novem je uvoz pri kreiranju ankete 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 '
'; } } // Preveri ce gre za prvo popravljanje podatkov in ce da, potem ustvari arhiv podatkov function checkFirstDataChange($inserted=false){ global $connect_db; $sql = sisplet_query('SELECT count(*) AS cnt FROM srv_tracking'.$this->db_table.' WHERE ank_id=\''.$this->anketa.'\' AND (`get` LIKE \'%edit_data%\' OR (`get` LIKE \'%a: "data", m: "quick_edit"%\' AND `get` LIKE \'%post: "1"%\') OR (`get` LIKE \'%a: "dataCopyRow"%\') OR (`get` LIKE \'%a: "dataDeleteMultipleRow"%\') OR (`get` LIKE \'%a: "dataDeleteRow"%\') OR (`get` LIKE \'%urejanje: "1"%\' AND status=\'4\')) ORDER BY datetime DESC'); $row = mysqli_fetch_array($sql); // Naredimo arhiv podatkov if($row['cnt'] == 0 || ($inserted && $row['cnt'] == 1)){ SurveyCopy::setSrcSurvey($this->anketa); SurveyCopy::setSrcConectDb($connect_db); SurveyCopy::saveArrayFile($data=true); } } /** * @desc skopira anketo */ function anketa_copy($anketa = 0) {//OSTANE // stara kopija kode je v classu class.SurveyCopy.php na dnu :) global $connect_db; if ($anketa > 0) $this->anketa = $anketa; $site = $_GET['site']; SurveyCopy :: setSrcSurvey($this->anketa); SurveyCopy :: setSrcConectDb($connect_db); SurveyCopy :: setDestSite($site); $new_anketa_id = SurveyCopy :: doCopy(); $napake = SurveyCopy :: getErrors(); if (count($napake) > 0) print_r($napake); if (!$new_anketa_id) die("Can not create new survey!"); if (!$site || $site == 0) return $new_anketa_id; elseif ($site != -1) header("Refresh:1; url=index.php?anketa=$this->anketa&a=arhivi"); } /** * @desc kreira backup (skopira celotno anketo v novo) */ function backup_create($NoRedirect = false) {//OSTANE $anketa = $this->anketa_copy(); sisplet_query("UPDATE srv_anketa SET backup='$this->anketa', active='0', naslov = CONCAT( naslov, ' ', DAY(NOW()), '.', MONTH(NOW()), '.', YEAR(NOW()) ), intro_opomba='{$_POST['intro_opomba']}' WHERE id='$anketa'"); // vsilimo refresh podatkov SurveyInfo :: getInstance()->resetSurveyData(); if ($NoRedirect == false) { header("Refresh:1; url=index.php?anketa=$this->anketa&a=arhivi"); //header("Location: index.php?anketa=$this->anketa&a=arhivi"); } } /** * @desc kreira backup in da obvestilo o uspešnosti (skopira celotno anketo v novo) */ function backup_create_popup() {//OSTANE global $lang; $anketa = $this->anketa_copy(); sisplet_query("UPDATE srv_anketa SET backup='$this->anketa', active='0', naslov = CONCAT( naslov, ' ', DAY(NOW()), '.', MONTH(NOW()), '.', YEAR(NOW()) ) WHERE id='$anketa'"); // vsilimo refresh podatkov SurveyInfo :: getInstance()->resetSurveyData(); if ($anketa > 0 || true) { echo $lang['srv_backup_create_popup_ok']; } echo ''.$lang['srv_backup_create_popup_view'].''; echo ''.$lang['srv_backup_create_popup_close'].''; } /** * @desc prenese arhivsko anketo v folderje */ function backup_restore() {//OSTANE $row = SurveyInfo::getInstance()->getSurveyRow(); $active = 0; $backup = 0; $sql = sisplet_query("UPDATE srv_anketa SET active='$active', backup='$backup' WHERE id = '$this->anketa'"); // vsilimo refresh podatkov SurveyInfo :: getInstance()->resetSurveyData(); header("Location: index.php?anketa=$this->anketa"); } /** * prikaze tab z opcijami za vnos */ function vnos () { global $lang; $row = SurveyInfo::getInstance()->getSurveyRow(); echo '
'.$lang['settings'].''; echo '

'.$lang['srv_vnos_navodila'].'

'; /*echo '
'; echo '
'; echo '
'; echo '' . $lang['srv_cookie'] . '';*/ //prepoznaj uporabnika iz sispleta echo '
' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n\r"; echo ''; echo ' ' . "\n\r"; echo ' ' . "\n\r"; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo ''; echo '
'; echo ''; echo ''.$lang['edit1337'].''; echo ''; echo '
'; echo '
'; echo '
'; if ($_GET['s'] == '1') { echo '
'; echo ''; } } /** * @desc prikaze tab za uporabnost - nastavitve */ function uporabnost() { global $site_url; global $lang; SurveySetting::getInstance()->Init($this->anketa); if (count($_POST) > 0 && (isset($_POST['uporabnost_link']) || isset($_POST['uporabnost_razdeli']))) { $uporabnost_link = $_POST['uporabnost_link']; $uporabnost = $_POST['uporabnost']; sisplet_query("UPDATE srv_anketa SET uporabnost_link = '$uporabnost_link' WHERE id = '$this->anketa'"); $sqlg = sisplet_query("SELECT id FROM srv_grupa WHERE ank_id = '$this->anketa'"); while ($rowg = mysqli_fetch_array($sqlg)) { if ( isset($_POST['uporabnost_link_'.$rowg['id']])) { SurveySetting::getInstance()->setSurveyMiscSetting('uporabnost_link_'.$rowg['id'], $_POST['uporabnost_link_'.$rowg['id']]); } } if (isset($_POST['uporabnost_razdeli'])) { SurveySetting::getInstance()->setSurveyMiscSetting('uporabnost_razdeli', $_POST['uporabnost_razdeli']); } // vsilimo refresh podatkov SurveyInfo :: getInstance()->resetSurveyData(); } $row = SurveyInfo::getInstance()->getSurveyRow(); echo '
'.$lang['settings'].''; echo '
'; if ($row['uporabnost_link'] == '') $row['uporabnost_link'] = 'http://'; echo '

'.$lang['srv_uporabnost_link'].'

'; echo '

'.$lang['srv_uporabnost_warning'].'

'; echo '

Link:

'; $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_nadaljne'].''; 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 '
'; //echo '

'; echo ''; echo '
'; echo ''; echo ''.$lang['edit1337'].''; echo ''; echo '
'; echo '
'; echo '
'; echo '
'; echo ''; /*echo '
'.$lang['srv_upora_dodatno'].''; echo '

' . $lang['srv_upora_text'] . '

'; echo '

'.$lang['srv_primer'].'

'; echo ''; echo '
';*/ } /** * @desc prikaze vnose v anketo */ function displayIzvozi() { global $lang, $site_url, $global_user_id; $sdf = SurveyDataFile::get_instance(); $sdf->init($this->anketa); $headFileName = $sdf->getHeaderFileName(); $dataFileName = $sdf->getDataFileName(); $dataFileStatus = $sdf->getStatus(); if ($dataFileStatus== FILE_STATUS_NO_DATA || $dataFileStatus == FILE_STATUS_NO_FILE || $dataFileStatus == FILE_STATUS_SRV_DELETED){ Common::noDataAlert(); return false; } if ($_GET['m'] == 'excel') { echo '
'; } else if($_GET['m'] == 'excel_xls') { echo ''; } else if($_GET['m'] == 'txt') { echo ''; } else if($_GET['m'] == 'spss') { echo ''; } else if($_GET['m'] == 'sav') { echo ''; } $row = SurveyInfo::getInstance()->getSurveyRow(); echo '
'; echo ''; echo '
'; if($_GET['m'] != 'export_PDF'){ if(session_id() == '') session_start(); echo '
'; // Izvozi identifikatorje echo ''; echo Help::display('exportSettings'); echo '
'; // Izvozi podatke echo ''; echo '
'; // Izvozi podatke in parapodatke echo ''; echo Help::display('srv_export_full_meta'); echo '
'; echo '
'; echo ''; echo '
'; } # v odvisnosti od $_GET['m'] prikazemo podstran if (!$_GET['m'] || $_GET['m'] == M_EXPORT_EXCEL) { echo '
'.$lang['srv_lnk_excel'].''; 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 '

'; } elseif ($_GET['m'] == M_EXPORT_EXCEL_XLS) { echo '
'.$lang['srv_lnk_excel_xls'].''; echo $lang['srv_izvoz_Excel_xls_note']; echo $lang['srv_izvoz_Excel_xls_note_2']; echo '
'; } elseif ($_GET['m'] == M_EXPORT_SPSS) { echo '
'.$lang['srv_lnk_spss'].''; echo $lang['srv_izvoz_SPSS_faq']; echo $lang['srv_izvoz_SPSS_note']; echo '
'; } elseif ($_GET['m'] == M_EXPORT_SAV) { echo '
'.$lang['srv_lnk_sav'].''; echo $lang['srv_izvoz_SAV_note']; 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; $type = isset($_GET['type']) ? $_GET['type'] : 0; $if = isset($_GET['if']) ? $_GET['if'] : 0; $font = isset($_GET['font']) ? $_GET['font'] : 12; echo ''.$lang['srv_export_questionnare_0'].''; echo '

'; echo $lang['srv_export_questionnare_1'].'

'; echo $lang['srv_export_questionnare_2']; echo '

'; # PDF in RTF izvoz rezultatov echo '
'; echo '' . $lang['srv_lnk_PDF/RTF'] . ''; echo '' . ' PDF - (Adobe Acrobat)'; echo '
'; echo ''; echo ' DOC - (Microsoft Word)'; echo '
'; //vsak resp na svoji strani echo '
'; echo '' . $lang['settings'] . ''; echo ''; echo ''; echo ''; //dolg/kratek izpis vprasanj v pdf echo '
'; echo ''; echo ''; echo ''; echo ''; //prikaz if-ov echo '
'; echo ''; echo ''; echo ''; //velikost fonta echo '
'; echo ''; echo ''; //echo ''; echo '
'; } echo '
'; } /** * @desc prikaze vnose v anketo * / function displayVnosi() {//OSTANE global $lang; $row = SurveyInfo::getInstance()->getSurveyRow(); if ($_GET['m'] == 'SN_izvozi') { echo '
' . "\n\r"; //Excel izvozi echo '
'; echo 'EXCEL IZVOZI'; echo ''; echo '
'; echo '
'; // echo ''; echo $lang['srv_izvoz_Excel_note'] . '
'; echo '
'; echo '
'; echo '
'; //SPSS izvozi echo '
'; echo 'SPSS IZVOZI ZA EGE'; // echo '

Ker se pri nekaterih SPSS verzijah pri izvozu podatkov pojavljajo tezave, je treba izvoz datoteke s podatki opraviti v EXCELu, nato pa s spodnjimi SPSS datotekami s strukturami (sintaksami) podatke uvoziti v SPSS iz EXCELa.

'; echo '
'; echo '

' . $lang['srv_export'] . ' SPSS: ' . $lang['srv_structure'] . ' ' . $lang['srv_and'] . ' ' . $lang['srv_data'] . '

' . $lang['srv_notext'] . ': ' . $lang['srv_structure'] . ' ' . $lang['srv_and'] . ' ' . $lang['srv_data'] . '

' . "\n\r"; echo '

' . $lang['srv_metapodatki'] . ' SPSS: ' . $lang['srv_structure'] . ' ' . $lang['srv_and'] . ' ' . $lang['srv_data'] . '

'; echo '
'; echo '
'; echo '
'; // echo ''; echo $lang['srv_izvoz_SPSS_note'] . '
'; echo '
'; echo '
'; // EGO echo '
'; echo '
'; echo 'SPSS IZVOZI ZA ALTERJE'; echo '
'; } else { // data iz baze echo '
' . "\n\r"; $this->displayData(); echo '
'; } } */ /** * @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() { global $global_user_id; return $global_user_id; } /** * @desc Vrne vse uporabnike iz baze */ static function db_select_users() { return sisplet_query("SELECT name, surname, id, email FROM users ORDER BY name ASC"); } /** * @desc Vrne vse nepobrisane uporabnike iz baze */ private static function db_select_users_forLevel($anketa = null) { global $global_user_id, $admin_type; // tip admina: 0=>admin, 1=>manager, 2=>clan, 3=>user switch ( $admin_type ) { // admin vidi vse case 0: return sisplet_query("SELECT name, surname, id, email FROM users WHERE status!='0' ORDER BY name ASC"); break; // manager vidi ljudi pod sabo case 1: if ($anketa === null) return sisplet_query("SELECT a.name, a.surname, a.id, a.email FROM users a, srv_dostop_manage m WHERE a.status!='0' AND m.manager='" .$global_user_id ."' AND m.user=a.id"); else return sisplet_query("SELECT a.name, a.surname, a.id, a.email FROM users a, srv_dostop_manage m WHERE a.status!='0' AND m.manager='" .$global_user_id ."' AND m.user=a.id UNION SELECT u.name, u.surname, u.id, u.email FROM users u, srv_dostop d WHERE d.ank_id='$anketa' AND d.uid=u.id"); break; case 2: case 3: // TODO // clani in userji lahko vidijo samo tiste ki so jim poslali maile in so se registrirali // ce smo v urejanju nastavitve ankete vidijo vse, ki so dodeljeni anketi, da jim lahko nastavijo if ($anketa === null) return sisplet_query("SELECT name, surname, id, email FROM users WHERE 1 = 0"); else return sisplet_query("SELECT u.name, u.surname, u.id, u.email FROM users u, srv_dostop d WHERE u.status!='0' AND d.ank_id='$anketa' AND d.uid=u.id"); break; } return null; } function display_dostop_users($show_all=0){ global $global_user_id, $admin_type, $lang; $avtorRow = SurveyInfo::getInstance()->getSurveyRow(); // Prikazemo samo userje ki lahko urejajo anketo if($show_all == 0){ echo ' ' . "\n"; $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) if($avtorRow['insert_uid'] == $row1['id'] || $global_user_id == $row1['id']) echo ' ' . "\n"; echo '
' . "\n"; echo '' . "\n"; echo ' '; echo '
' . "\n"; } } // Prikazemo vse userje, ki jih lahko uporabnig dodaja else{ $sql1 = $this->db_select_users_forLevel($this->anketa); if ( mysqli_num_rows($sql1) > 0 ) { echo ''.$lang['srv_dostop_show_all'].''; echo ''.$lang['srv_dostop_hide_all'].''; echo ' ' . "\n"; while ($row1 = mysqli_fetch_array($sql1)) { $sql2 = sisplet_query("SELECT ank_id, uid FROM srv_dostop WHERE ank_id='$this->anketa' AND uid='$row1[id]'"); $checked = (mysqli_num_rows($sql2) > 0) ? ' checked="checked"' : ''; // 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 ''; if ($checked != '') echo ' '; echo '
' . "\n"; } } } } /** * @desc Vrne podatke o uporabniku */ static function db_select_user($uid) { return sisplet_query("SELECT name, surname, id, email FROM users WHERE id='$uid'"); } /** Preveri ali uporabnik ustreza minimalni zahtevi statusa * * @param $minimum_role_request minimalna zahteva (lahko podamo kot array posamezno) * @return true/false */ function user_role_cehck($minimum_role_request = U_ROLE_ADMIN) { global $admin_type; if (is_array($minimum_role_request) && count($minimum_role_request) > 0) { // ce podamo kot array preverimo za vsak zapis posebej foreach ($minimum_role_request as $role) { if ($admin_type == $role) return true; } } else { if ($admin_type <= $minimum_role_request) return true; } return false; } var $getSurvey_type = null; function getSurvey_type($sid) { if ($this->getSurvey_type != null) return $this->getSurvey_type; // 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']; return $this->getSurvey_type; } /** * TODO ??? * * @param mixed $what * @param mixed $isChecked * $forma - pri hitirh nastavitvah forme prikazemo nekje krajsi text */ function display_alert_label($what, $isChecked = false, $forma = false) { global $lang, $global_user_id; $custom_alert = array(); $sql_custom_alert = sisplet_query("SELECT uid, type FROM srv_alert_custom WHERE ank_id = '$this->anketa'"); while ($row_custom_alert = mysqli_fetch_array($sql_custom_alert)) { $custom_alert[$row_custom_alert['type']][$row_custom_alert['uid']] = 1; } switch ($what) { 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->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 ''; } } } break; case 'finish_respondent': // respondent ki je zakljucil anketo if ($isChecked) { // preverimo ali obszaja 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 $email_ok = $ime_ok = false; if ( mysqli_num_rows($sqlEmail) > 0 && mysqli_num_rows($sqlIme) > 0) { $email_ok = $ime_ok = true; } else { // manjka ena ali obe potrebni sistemski spremenljivki // email je nujen, zato ga dodamo avtomatsko if ( mysqli_num_rows($sqlEmail) == 0 ) { //dodamo email $sa = new SurveyAdmin(1, $this->anketa); 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 $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]'"); // emailu po novem nastavimo preverjanje pravilnosti emaila in mehko opozorilo na to preverjanje $v = new Vprasanje($this->anketa); $v->spremenljivka = $rowEmail['id']; $v->set_email($reminder=1); } else { // email je ze dodan damo tekst za ok $email_ok = true; } // preverimo še za ime if ( mysqli_num_rows($sqlIme) == 0 ) { } else{ $ime_ok = true; } } if($forma) echo ''; else echo ''; if ($email_ok && $ime_ok) { echo $lang['srv_alert_respondent_note_ok_email_ime']; echo ' ' . "\n\r"; 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']); } } else { if ($ime_ok) { // pomeni da email ni ok! napaka 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 ' '; $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']); } if(!$forma){ echo $lang['srv_alert_respondent_note_ime']; echo '   '.$lang['srv_alert_respondent_note_link'].'' . "\n\r"; } } } // preverimo sistemske nastavitve in spremenljivke ime } else { if($forma) echo ''; else 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 ''; if ($isChecked) { // preverimo sistemske nastavitve in spremenljivke //$sqlCMS = sisplet_query("SELECT user_from_cms FROM srv_anketa WHERE id='$this->anketa'"); //$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 ' '; $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']); } } else { echo $lang['srv_alert_respondent_cms_note']; echo '   '.$lang['srv_alert_respondent_cms_note_link'].'' . "\n\r"; } } 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 // avtor ankete if($forma) echo ''; else echo ''; if ($isChecked) { //$sql = sisplet_query("SELECT insert_uid, edit_uid FROM srv_anketa WHERE id='$this->anketa'"); //$row = mysqli_fetch_assoc($sql); $b = null; $row = SurveyInfo::getInstance()->getSurveyRow(); echo '
'; if ($what == 'finish_author') $db_field = 'alert_complete'; else if ($what == 'expire_author') $db_field = 'alert_expire'; else if ($what == 'active_author') $db_field = 'alert_active'; else if ($what == 'delete_author') $db_field = 'alert_delete'; // polovimo avtorja - novo kjer se ga lahko tudi izklopi (zaenkrat samo pri koncani anketi) if($what == 'finish_author'){ $sqlAuthor = $this->db_select_user($row['insert_uid']); $rowAuthor = mysqli_fetch_array($sqlAuthor); $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); // Ce smo ravno z ajaxom vklopili obvescanje avtorja, ga tudi aktiviramo if(isset($_POST['checked']) && isset($_POST['what']) && $_POST['what']=='finish_author'){ $checked = ($_POST['checked'] == true) ? ' checked="checked" ' : ''; } else{ $checked = ($row1[$db_field] == '1') ? ' checked="checked" ' : ''; } echo '' . "\n\r"; echo '' . "\n\r"; if ($what == 'finish_author') { echo ' '; echo ' '; if ($row1['alert_complete_if']>0) { if ($b==null) $b = new Branching($this->anketa); $b->conditions_display($row1['alert_complete_if']); } } echo '' . "\n\r"; } // polovimo avtorja pri ostalih obvestilih else{ $sqlAuthor = $this->db_select_user($row['insert_uid']); $rowAuthor = mysqli_fetch_array($sqlAuthor); $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"; if ($what == 'finish_author') { echo ' '; echo ' '; if ($row1['alert_complete_if']>0) { if ($b==null) $b = new Branching($this->anketa); $b->conditions_display($row1['alert_complete_if']); } } echo '' . "\n\r"; } // polovimo ostale userje ki imajo dostop $sql1 = sisplet_query("SELECT u.id, u.name, u.surname, u.email, dostop.".$db_field.", dostop.alert_complete_if FROM users as u " ." RIGHT JOIN (SELECT sd.uid, sd.".$db_field.", sd.alert_complete_if FROM srv_dostop as sd WHERE sd.ank_id='".$this->anketa."') AS dostop ON u.id = dostop.uid WHERE u.id != '".$row['insert_uid']."'"); while ($row1 = mysqli_fetch_assoc($sql1)) { 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"; if ($what == 'finish_author') { echo ' '; echo ' '; if ($row1['alert_complete_if']>0) { if ($b==null) $b = new Branching($this->anketa); $b->conditions_display($row1['alert_complete_if']); } } echo '' . "\n\r"; } } } break; } } /** * TODO ??? * * @param mixed $row */ function showUserCodeSettings($row = null) { global $lang; if ($row == null) { $row = SurveyInfo::getInstance()->getSurveyRow(); } $disabled = true; $disabled2 = false; if (SurveyInfo::getInstance()->checkSurveyModule('email') || SurveyInfo::getInstance()->checkSurveyModule('phone')){ $disabled = false; } if ($row['usercode_skip'] == 1) { $disabled2 = true; } #echo ' '; echo '' . $lang['usercode_skip'] . Help::display('usercode_skip') . ':'; echo '' . "\n\r"; echo '' . "\n\r"; echo '' . "\n\r"; echo ''; echo '
'; echo '
'; #echo ' '; echo '' . $lang['usercode_required'] . help::display('usercode_required') . ': '; echo '' . "\n\r"; echo '' . "\n\r"; echo ''; echo '
'; echo '
'; $nagovorText = ($row['usercode_text'] && $row['usercode_text'] != null && $row['usercode_text'] != "") ? $row['usercode_text'] : $lang['srv_basecode']; #echo ' '; echo '' . $lang['usercode_text'] . ': '; echo ' ' . "\n\r"; echo ''; echo '
'; } /** * TODO ??? * * @param mixed $row */ function respondenti_iz_baze($row = null, $show_fieldset=true) { global $lang; global $admin_type; if ($row == null) { $row = SurveyInfo::getInstance()->getSurveyRow(); } /* aktivnost vec ni pogoj za vklop email vabil: * - omogočiti aktiviranje emial zavihka, četudi je anketa neaktivna (preprečiti pa pošijanje emailov če je ankete neaktivna) */ if ($admin_type <= 1) { $_cssDisabled = ''; $_disabled = ''; } else { $_cssDisabled = ' gray'; $_disabled = ' disabled="disabled"'; } echo '' . "\n\r"; echo '' . "\n\r"; echo '' . "\n\r"; if ($show_fieldset) { echo '
'; echo '' . $lang['srv_user_base_vabila'] . ''; } else { echo '

3. ' . $lang['srv_user_base_vabila'] . '

'; } if ($_cssDisabled == '' && $_disabled == '') { echo ''; echo ' checkSurveyModule('email') ? ' checked="checked"' : '') . ' onChange="//handleUserCodeSetting();" '.$_disabled.'/>' . "\n\r"; echo ' checkSurveyModule('email') ? ' checked="checked"' : '') . ' onChange="//handleUserCodeSetting();" '.$_disabled.'/>' . "\n\r"; echo '
'; } // dodatne nastavitve za pošiljanje kode pri izpolnjevanju ankete if ($_GET['a'] == 'vabila' || $_GET['a'] == 'email' ) { echo '
'; $this->showUserCodeSettings($row); echo '
'; } if ($admin_type > 1) echo ''.$lang['srv_user_base_user_note'].''; if ($show_fieldset) { echo '
'; } } /** * TODO ??? * */ function anketa_aktivacija_note() { global $lang; $row = SurveyInfo::getInstance()->getSurveyRow(); if ($row['active'] == 0) { echo $lang['srv_url_survey_not_active']; echo ' ' . "\n\r"; echo ' '; echo ' '; echo ' ' . $lang['srv_anketa_setActive'] . ''; echo ' ' . "\n\r"; echo ' ' . "\n\r"; } else { echo $lang['srv_url_intro_active']; echo ' ' . "\n\r"; echo ' '; echo ' '; echo ' ' . $lang['srv_anketa_setNoActive'] . ''; echo ' ' . "\n\r"; echo ' ' . "\n\r"; } } 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 */ function anketa_nastavitve_system() { global $lang; global $site_url; global $site_path; global $admin_type; global $global_user_id; /* ** Sistemske nastavitve: mora biti admin da ima dostop *** */ echo '
' . "\n\r"; if ($admin_type == 0) { echo '
' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n\r"; 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 ''; ?>
'; ?>
'; ?>
'; ?>
'; 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 ''; } } else { echo $lang['srv_settingsSystemNoRights']; } echo '
' . "\n\r"; } /** * nastavitve predvidenih casov za komponente ankete in vprasanj iz katerih se nato racuna celotna dolzina vprasanj in ankete * */ function anketa_nastavitve_predvidenicasi () { global $lang; 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 ''; echo ''; 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 ''; } } echo '
'.$lang['srv_timing_vprasanje'].''.$lang['srv_timing_kategorija'].''.$lang['srv_timing_kategorija_max'].'
'.$lang['srv_vprasanje_tip_'.$tip].' s s s' /*. ''*/ . '
'; echo '
'; echo '
'; echo ''.$lang['edit1337'].''; 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; // predvideni casi if ($_GET['m'] == 'predvidenicas') { $this->testiranje_predvidenicas(); } // testni podatki elseif ($_GET['m'] == 'testnipodatki') { $this->testiranje_testnipodatki(); } // cas elseif ($_GET['m'] == M_TESTIRANJE_CAS) { $this->testiranje_cas();; } // cas elseif ($_GET['m'] == 'cas') { $this->testiranje_cas(); } } /** * izracuna predvidene case po straneh glede na število in dolžino vprašanj * */ function testiranje_predvidenicas($samo_izracunaj_skupini_cas=0) { global $lang; $expected_time = array(); $expected_time_block = array(); $block_labels_by_number = array(); $expected_vprasanja = array(); $verjetnost = 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); $sql = sisplet_query("SELECT introduction FROM srv_anketa WHERE id = '$this->anketa'"); $row = mysqli_fetch_array($sql); // 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']; $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(); $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)) { $expected_time[$row['vrstni_red']][0] = 0; $expected_time[$row['vrstni_red']][1] = 0; $sql1 = sisplet_query("SELECT id, naslov FROM srv_spremenljivka WHERE gru_id='$row[id]' AND visible = '1'"); while ($row1 = mysqli_fetch_array($sql1)) { $expected_vprasanja[$row1['id']][0] = $this->vprasanje_predvideni_cas($row1['id']); $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']); $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']]) $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'); } $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'); } } // izpis za strani $max = 0; $total = 0; foreach ($expected_time AS $key => $val) { if ($val[1] > $max) $max = $val[1]; $total += $val[0]; } if ($max == 0) return; if ($samo_izracunaj_skupini_cas == 2) { return $total; } $skupni_cas = (bcdiv($total, 60, 0)>0?bcdiv($total, 60, 0).'min ':'').''.round(bcmod($total, 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 '
'; echo '
'; echo '
'.$lang['srv_casi_po_straneh'].''; 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); echo ''; echo ''; echo ''; echo ''; } echo ''; echo ''; echo '
'.($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 '
'.$lang['srv_anl_suma1'].': '.(bcdiv($total, 60, 0)>0?bcdiv($total, 60, 0).'min ':'').''.round(bcmod($total, 60), 0).'s
'; echo '

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

'; echo '
'; // izpis za vprasanja $max = 0; $bruto_total = 0; $neto_total = 0; foreach ($expected_vprasanja AS $vpr) { if ($vpr[0] > $max) $max = $vpr[0]; $bruto_total += $vpr[0]; $neto_total += $vpr[0] * $vpr[1]; } $prevstran = false; echo '
'; echo '
'.$lang['srv_casi_po_vprasanjih_strani'].''; echo ''; echo ''; foreach ($expected_vprasanja AS $vprasanje) { if (!$prevstran || $prevstran != $vprasanje[3]) { echo ''; $prevstran = $vprasanje[3]; } $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[3].'
'.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 '
'; //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 ''; 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 '

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

'; 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 '
'; 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 '
'; } } /** * Dobi podatke o bloku za vsako spremenljivko, ali false, ce ni blokov */ function get_block_data_by_spr_id(){ global $lang; $data = array(); $block_query = 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 br.vrstni_red ASC", 'array'); if($block_query){ foreach ($block_query as $row) { $label = $row['label'] ? $row['label']: $lang['srv_blok'].' '.$row['number']; $data[$row['element_spr']] = array('label' => $label); } return $data; } return false; } /** * oceni predvideni cas za vprasanje * * @param mixed $spremenljivka */ function vprasanje_predvideni_cas ($spremenljivka) { $sql1 = sisplet_query("SELECT id, naslov, tip FROM srv_spremenljivka WHERE id = '$spremenljivka'"); $row1 = mysqli_fetch_array($sql1); $expected_time = strlen(strip_tags($row1['naslov'])) * GlobalMisc::getMisc('timing_vprasanje_'.$row1['tip']) / 100; // vprasanja, ki imajo tudi kategorije/vrednosti 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; } } } return $expected_time; } /** * oceni verjetnost prikaza vprasanja glede na pogoje, ki so mu nastavljeni * * @param mixed $spremenljivka */ function vprasanje_verjetnost ($spremenljivka) { $sql = sisplet_query("SELECT parent FROM srv_branching WHERE element_spr = '$spremenljivka'"); $row = mysqli_fetch_array($sql); if ($row['parent'] == 0) return 1; // vprasanje se vedno prikaze //echo $this->if_verjetnost($row['parent']).'
'; return $this->if_verjetnost($row['parent']); } /** * oceni verjetnost da bo pogoj (if) izpolnjen * * @param mixed $if */ function if_verjetnost ($if) { $sql = sisplet_query("SELECT parent FROM srv_branching WHERE element_if = '$if'"); if (mysqli_num_rows($sql) == 0) return 0; $row = mysqli_fetch_array($sql); // izracunamo se verjetnost parentov if ($row['parent'] > 0){ // dodaten pogoj da nismo v deadlocku (zaradi bugov se znata v branchingu pojavit ifa, ki imata drug drugega za parenta) $sqlX = sisplet_query("SELECT parent, element_if FROM srv_branching WHERE parent='".$if."' AND element_if='".$row['parent']."'"); if(mysqli_num_rows($sqlX) > 0){ return 0; } $parent = $this->if_verjetnost($row['parent']); } else $parent = 1; $sql = sisplet_query("SELECT tip FROM srv_if WHERE id = '$if'"); $row = mysqli_fetch_array($sql); if ($row['tip'] == 1) return 1 * $parent; // blok je vedno 'izpolnjen' $eval = ' $total = '; $i = 0; // racunanje verjetnosti za podani if $sql = sisplet_query("SELECT * FROM srv_condition WHERE if_id = '$if' ORDER BY vrstni_red ASC"); while ($row = mysqli_fetch_array($sql)) { $value = ''; if(($value = $this->condition_verjetnost($row['id'])) !== false){ if ($i++ != 0){ if ($row['conjunction'] == 0) $eval .= ' * '; else $eval .= ' + '; } for ($i=1; $i<=$row['left_bracket']; $i++) $eval .= ' ( '; $eval .= $value; for ($i=1; $i<=$row['right_bracket']; $i++) $eval .= ' ) '; } } $eval .= ';'; if($eval != ' $total = ;') @eval($eval); //echo '--'.$eval.'--'; else $total = 1; if ($total > 1) return 1 * $parent; else return $total * $parent; } /** * vrne verjetnost, da je izpolnjen condition (ena vrstica v IFu) * * @param mixed $condition */ function condition_verjetnost ($condition) { $sql = sisplet_query("SELECT * FROM srv_condition WHERE id = '$condition'"); if (mysqli_num_rows($sql) == 0) return 0; $row = mysqli_fetch_array($sql); // obicne spremenljivke if ($row['spr_id'] > 0) { $row2 = Cache::srv_spremenljivka($row['spr_id']); // radio, checkbox, dropdown in multigrid if ($row2['tip'] <= 3 || $row2['tip'] == 6) { // obicne spremenljivke if ($row['vre_id'] == 0) { $sql1 = sisplet_query("SELECT id FROM srv_vrednost WHERE spr_id='$row[spr_id]'"); $vse_vrednosti = mysqli_num_rows($sql1); $sql1 = sisplet_query("SELECT * FROM srv_condition_vre WHERE cond_id = '$condition'"); $izbrane_vrednosti = mysqli_num_rows($sql1); if ($vse_vrednosti > 0) $p = $izbrane_vrednosti / $vse_vrednosti; else $p = 0; if ($row['operator'] == 0) return $p; else return 1 - $p; // multigrid } elseif ($row['vre_id'] > 0) { $sql1 = sisplet_query("SELECT id FROM srv_grid WHERE spr_id='$row[spr_id]'"); $vse_vrednosti = mysqli_num_rows($sql1); $sql1 = sisplet_query("SELECT * FROM srv_condition_grid WHERE cond_id = '$condition'"); $izbrane_vrednosti = mysqli_num_rows($sql1); if ($vse_vrednosti > 0) $p = $izbrane_vrednosti / $vse_vrednosti; else $p = 0; if ($row['operator'] == 0) return $p; else return 1 - $p; } // number in text } else { return 0.5; } // recnum } elseif ($row['spr_id'] == -1) { return 1 / $row['modul']; // calculations } elseif ($row['spr_id'] == -2) { return 0.5; // quotas } elseif ($row['spr_id'] == -3) { return 1; } return false; } /** * prikazuje povprecne case po straneh ipd.... * */ function testiranje_cas($samo_izracunaj_skupini_cas=0) { global $lang; global $global_user_id; global $admin_type; SurveyUserSetting :: getInstance()->Init($this->anketa, $global_user_id); // nastavitve iz popupa $rezanje = SurveyUserSetting::getInstance()->getSettings('rezanje'); if ($rezanje == '') $rezanje = 1; $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; /* ++ Predvideni casi */ if ($_GET['predvideni'] == 1 || $rezanje == 1) { $expected_time = array(); $expected_vprasanja = array(); $verjetnost = array(); $sql = sisplet_query("SELECT introduction FROM srv_anketa WHERE id = '$this->anketa'"); $row = mysqli_fetch_array($sql); // 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']; $expected_time[0][0] = $expected_vprasanja[0][0] + GlobalMisc::getMisc('timing_stran'); $expected_time[0][1] = $expected_time[0][0]; $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)) { $expected_time[$row['vrstni_red']][0] = 0; $expected_time[$row['vrstni_red']][1] = 0; $sql1 = sisplet_query("SELECT id, naslov FROM srv_spremenljivka WHERE gru_id='$row[id]' AND visible='1'"); while ($row1 = mysqli_fetch_array($sql1)) { $expected_vprasanja[$row1['id']][0] = $this->vprasanje_predvideni_cas($row1['id']); $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_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']]) $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'); } } /* -- Predvideni casi */ // statusi SurveyStatusCasi :: Init($this->anketa); $izbranStatusCasi = SurveyStatusCasi :: getCurentProfileId(); $statusArray = SurveyStatusCasi::getStatusArray($izbranStatusCasi); $status = ''; foreach ($statusArray AS $key => $val) { if ($key == 'statusnull' && $val == 1) $status .= ($status!=''?',':'') . '-1'; if ($key == 'status0' && $val == 1) $status .= ($status!=''?',':'') . '0'; if ($key == 'status1' && $val == 1) $status .= ($status!=''?',':'') . '1'; if ($key == 'status2' && $val == 1) $status .= ($status!=''?',':'') . '2'; if ($key == 'status3' && $val == 1) $status .= ($status!=''?',':'') . '3'; if ($key == 'status4' && $val == 1) $status .= ($status!=''?',':'') . '4'; if ($key == 'status5' && $val == 1) $status .= ($status!=''?',':'') . '5'; if ($key == 'status6' && $val == 1) $status .= ($status!=''?',':'') . '6'; if ($key == 'statuslurker' && $val == 1) $lurker = ""; else $lurker = " AND lurker='0' "; } // preberemo vse timestampe za strani v anketi $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 { echo '
'.$lang['srv_analiza_no_entry'].'
'; } } $user_grupa = array(); while ($row = mysqli_fetch_array($sql)) { $user_grupa[$row['usr_id']][$row['vrstni_red']] = $row['time_edit_u']; } if (mysqli_num_rows($sql) == 0) { die(); } // cache mysql-a $usrs_id = array(); foreach ($user_grupa AS $usr_id => $val) { $usrs_id[] = $usr_id; } $cache_row = array(); $sql_c = sisplet_query("SELECT id, recnum, time_insert, UNIX_TIMESTAMP(time_insert) AS time_insert_u FROM srv_user WHERE id IN (".implode(',', $usrs_id).")"); if (!$sql_c) echo mysqli_error($GLOBALS['connect_db']); while ($row_c = mysqli_fetch_array($sql_c)) { $cache_row[ $row_c['id'] ] = $row_c; } $cache_row1 = array(); $sql1_c = sisplet_query("SELECT usr_id, time_edit, UNIX_TIMESTAMP(time_edit) AS time_edit_u FROM srv_user_grupa".$this->db_table." WHERE usr_id IN (".implode(',', $usrs_id).") AND gru_id = '0'"); if (!$sql1_c) echo mysqli_error($GLOBALS['connect_db']); while ($row1_c = mysqli_fetch_array($sql1_c)) { $cache_row1[ $row1_c['usr_id'] ] = $row1_c; } // izracunamo razlike v casih, da dobimo za vsakega userja koliko casa je bil na posamezni strani $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]; //$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']); // 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 ($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; } } } // 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; // REZANJE foreach ($casi AS $vrstni_red => $val1) { asort($casi[$vrstni_red]); $len = count($casi[$vrstni_red]); $odrezi_sp = (int) round ( $len * $spodnja , 0); $odrezi_zg = (int) round ( $len * $zgornja , 0); $i = 1; foreach ($casi[$vrstni_red] AS $key => $val2) { if ($rezanje == 0) { // rezanje po zgornji in spodnji meji if ($i <= $odrezi_sp || $i > $len-$odrezi_zg) { unset($casi[$vrstni_red][$key]); } } else { // rezanje glede na 10% in 200% predvidenih vrednosti if ($val2 < $expected_time[$vrstni_red][0]*$rezanje_predvidena_sp/100 || $val2 > $expected_time[$vrstni_red][0]*$rezanje_predvidena_zg/100) { unset($casi[$vrstni_red][$key]); } } $i++; } } //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) { // pogledamo za preskocene strani $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'"); while ($rowp = mysqli_fetch_array($sqlp)) { array_push($preskocene, $rowp['usr_id']); } } 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; } } 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]; } $max = 0; $total = 0; $total_predvideni = 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) { if ($rezanje_preskocene == 1) { foreach ($expected_time AS $key => $val) { if ($val[0] > $max) $max = $val[0]; $total_predvideni += $val[0]; } } else { foreach ($expected_time AS $key => $val) { if ($val[1] > $max) $max = $val[1]; $total_predvideni += $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'; // izpis echo '
'; echo '
'.$lang['srv_dejanski_casi'].''; echo ''; echo ''; foreach ($povprecni_casi 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); $bruto = $povprecni_casi_bruto[$vrstni_red]; echo ''; echo ''; echo ''; echo ''; echo ''; if ($_GET['predvideni'] == 1) { if ($rezanje_preskocene == 1) $time = $expected_time[$vrstni_red][0]; else $time = $expected_time[$vrstni_red][1]; echo ''; echo ''; echo ''; echo ''; echo ''; } } if ($_GET['predvideni'] != 1) echo ''; echo ''; echo '
'; echo ''; 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 '
'.$count[$vrstni_red]./*' / '.$count_bruto[$vrstni_red].''.*/'
'.($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 '
'.$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 '
'; if ($max_time > 1000 && $admin_type > 0) return; // pridejo prevelike tabele if ($_GET['prikazi01'] == 1) $t_min = 0; else $t_min = 2; // izpis histograma casov za vsako stran echo '
'.$lang['srv_frekvencna_porazdelitev'].''; echo '

'; echo ' '; echo '

'; if ($rezanje_preskocene == 1) { 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; 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); } } $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]++; } $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; } if ($max_stran != 0) { for ($t=$t_min; $t<=$max_time; $t++) { echo ''; } } 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 '' . $lang['srv_q_comments_back'] . ''; 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 '' . $lang['srv_testiranje_komentarji_anketa_title'] . ''; 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; 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']; $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 ''; } echo '
    '; echo '
    '; 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 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"); } $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); 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 ''; } // 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 '
    '; // 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 '
    '; } // 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 '
    '; } } echo '
    '; echo '
    '; } } } echo '
    '; if ($c == 0) { echo '
    '; echo $lang['srv_no_comments_solved'].'
    '; #echo ''.$lang['srv_settings_komentarji'].''; echo '
    '; } } else { echo '
    '; echo $lang['srv_no_comments'].'
    '; echo '
    '; } echo '
    '; // branching echo '
    '; echo '
    '; // placeholder } /** * odsteje dva datuma, $d1 - D2 * */ function diff ($d1, $d2) { //echo $d1.' '.$d2; $d1 = (is_string($d1) ? strtotime($d1) : $d1); $d2 = (is_string($d2) ? strtotime($d2) : $d2); //echo ' ('.$d1.' '.$d2.')
    '; $diff_secs = abs($d1 - $d2); return $diff_secs; } private $usr_id; /** * vnese izbrano stevilo testnih podatkov * */ function testiranje_testnipodatki () { global $lang; if ($_POST['stevilo_vnosov'] > 0) { // Nastavitev da vstavljamo samo veljavne vnose $only_valid = isset($_POST['only_valid']) ? $_POST['only_valid'] : 0; if(session_id() == '') {session_start();} $_SESSION['progressBar'][$this->anketa]['status'] = 'ok'; $_SESSION['progressBar'][$this->anketa]['total'] = (int)$_POST['stevilo_vnosov']; $_SESSION['progressBar'][$this->anketa]['current'] = 0; session_commit(); SurveyInfo::getInstance()->SurveyInit($this->anketa); $rowa = SurveyInfo::getInstance()->getSurveyRow(); if ($rowa['survey_type'] < 2) return; // samo za anketo na več straneh in branching... $sql = sisplet_query("SELECT MAX(recnum) AS recnum FROM srv_user WHERE ank_id = '$this->anketa' AND preview='0'"); $row = mysqli_fetch_array($sql); $recnum = $row['recnum'] + 1; //$sql = sisplet_query("SELECT s.id, s.tip, s.size, s.ranking_k, s.design FROM srv_spremenljivka s, srv_grupa g WHERE s.gru_id=g.id AND g.ank_id='$this->anketa' AND s.visible='1' ORDER BY g.vrstni_red, s.vrstni_red"); $sql = sisplet_query("SELECT s.id, s.tip, s.size, s.ranking_k, s.design, s.cela FROM srv_spremenljivka s, srv_grupa g WHERE s.gru_id=g.id AND g.ank_id='$this->anketa' AND s.visible='1' ORDER BY g.vrstni_red, s.vrstni_red"); # zabeležimo id-je za arhiv testnih vnosov $arrayTestni = array(); for ($i=1; $i<=$_POST['stevilo_vnosov']; $i++) { session_start(); $_SESSION['progressBar'][$this->anketa]['current'] = $i; session_commit(); // izberemo random hash, ki se ni v bazi (to more bit, ker je index na fieldu cookie) do { $rand = md5(mt_rand(1, mt_getrandmax()).'@'.$_SERVER['REMOTE_ADDR']); $sql1 = sisplet_query("SELECT id FROM srv_user WHERE cookie = '$rand'"); } while (mysqli_num_rows($sql1) > 0); $sql2 = sisplet_query("INSERT INTO srv_user (ank_id, preview, testdata, cookie, user_id, ip, time_insert, recnum, referer, last_status, lurker) VALUES ('$this->anketa', '0', '2', '$rand', '0', '$_SERVER[REMOTE_ADDR]', NOW(), '$recnum', '$_SERVER[HTTP_REFERER]', '6', '0')"); if (!$sql2) echo mysqli_error($GLOBALS['connect_db']); $this->usr_id = mysqli_insert_id($GLOBALS['connect_db']); // Survey v zanki vsakič kreiramo znova zaradi IFov !!! include_once('../../main/survey/app/global_function.php'); new \App\Controllers\SurveyController(true); save('usr_id', $this->usr_id); $s = \App\Controllers\CheckController::getInstance(); $arrayTestni[] = $this->usr_id; mysqli_data_seek($sql, 0); while ($row = mysqli_fetch_array($sql)) { $srv_data_vrednost = ""; $srv_data_grid = ""; $srv_data_checkgrid = ""; $srv_data_text = ""; $srv_data_textgrid = ""; $srv_data_rating = ""; $srv_data_map = ""; $srv_data_heatmap = ""; if ($row['tip'] != 5) { // radio ali select if ( ($row['tip']==1 || $row['tip']==3) ) { $sql1 = sisplet_query("SELECT id, other FROM srv_vrednost WHERE spr_id='$row[id]'"); // Ce imamo samo veljavne vedno oznacimo enega if($only_valid == 1) $rand = rand(1, mysqli_num_rows($sql1)); else $rand = rand(0, mysqli_num_rows($sql1)); if ($rand > 0) { for ($j=1; $j<=$rand; $j++) $row1 = mysqli_fetch_array($sql1); $vrednost = $row1['id']; } else { $vrednost = 0; } if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { if ($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'),"; } } else { $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; } // checkbox } elseif ($row['tip'] == 2) { if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { unset($vrednost); $sql1 = sisplet_query("SELECT id, other FROM srv_vrednost WHERE spr_id='$row[id]'"); $randX = 0; if($only_valid == 1) $randX = rand(1, mysqli_num_rows($sql1)); $j=1; while ($row1 = mysqli_fetch_array($sql1)) { $rand = rand(-1, 1); if ($rand > 0){ $vrednost[$row1['id']] = $row1['id']; } // Ce imamo samo veljavne vedno oznacimo enega if($randX == $j && $only_valid == 1){ $vrednost[$row1['id']] = $row1['id']; } $j++; } if ($vrednost) { foreach ($vrednost AS $key => $val) { if ($val > 0) { $srv_data_vrednost .= "('$row[id]', '$val', '$this->usr_id'),"; if ($row1['other'] == 1) $srv_data_text .= "('$row[id]', '$val', '".$this->randomString()."', '', '$this->usr_id'),"; } } } } else { $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; } // multigrid } elseif ($row['tip'] == 6) { $sql1 = sisplet_query("SELECT id, other FROM srv_vrednost WHERE spr_id = '$row[id]'"); while ($row1 = mysqli_fetch_array($sql1)) { if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { $sql2 = sisplet_query("SELECT id FROM srv_grid WHERE spr_id='$row[id]'"); // Ce imamo samo veljavne vedno oznacimo enega if($only_valid == 1) $rand = rand(1, mysqli_num_rows($sql2)); else $rand = rand(0, mysqli_num_rows($sql2)); if ($rand > 0) { for ($j=1; $j<=$rand; $j++) $row2 = mysqli_fetch_array($sql2); $grid_id = $row2['id']; } else { $grid_id = 0; } if ($grid_id > 0) { $srv_data_grid .= "('$row[id]', '$row1[id]', '$this->usr_id', '$grid_id'),"; } if ($row1['other'] == 1 && $grid_id > 0) $srv_data_text .= "('$row[id]', '$row1[id]', '".$this->randomString()."', '', '$this->usr_id'),"; } else { $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; } } // multicheckbox } elseif ($row['tip'] == 16) { $sql1 = sisplet_query("SELECT id, other FROM srv_vrednost WHERE spr_id = '$row[id]'"); while ($row1 = mysqli_fetch_array($sql1)) { $sql2 = sisplet_query("SELECT id FROM srv_grid WHERE spr_id = '$row[id]' ORDER BY vrstni_red"); $randX = 0; if($only_valid == 1) $randX = rand(1, mysqli_num_rows($sql2)); $j=1; while ($row2 = mysqli_fetch_array($sql2)) { if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { $rand = rand(-1, 1); if ($rand > 0) { $grid_id = $row2['id']; } else { $grid_id = 0; } // Ce imamo samo veljavne vedno oznacimo enega if($randX == $j && $only_valid == 1){ $grid_id = $row2['id']; } $j++; if ($grid_id > 0) { $srv_data_checkgrid .= "('$row[id]', '$row1[id]', '$this->usr_id', '$grid_id'),"; } if ($row1['other'] == 1 && $grid_id > 0) $srv_data_text .= "('$row[id]', '$row1[id]', '".$this->randomString()."', '', '$this->usr_id'),"; } else { $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; } } } } // multitext elseif ($row['tip'] == 19) { $sql1 = sisplet_query("SELECT id, other FROM srv_vrednost WHERE spr_id = '$row[id]'"); while ($row1 = mysqli_fetch_array($sql1)) { $sql2 = sisplet_query("SELECT id FROM srv_grid WHERE spr_id = '$row[id]' ORDER BY vrstni_red"); while ($row2 = mysqli_fetch_array($sql2)) { if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { // Ce imamo samo veljavne imamo vedno vrednost if($only_valid == 1) $value = $this->randomString(); else $value = rand(0,1)==0 ? $this->randomString() : ''; $grid_id = $row2['id']; if ($value != '') { $srv_data_textgrid .= "('$row[id]', '$row1[id]', '$this->usr_id', '$grid_id', '$value'),"; } // vsebino text polja vnesemo v vsakem primeru if ($row1['other'] == 1 && $value != '') $srv_data_text .= "('$row[id]', '$row1[id]', '".$this->randomString()."', '', '$this->usr_id'),"; } else { $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; } } } } //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){ //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) { $sql1 = sisplet_query("SELECT id, other FROM srv_vrednost WHERE spr_id = '$row[id]'"); while ($row1 = mysqli_fetch_array($sql1)) { $sql2 = sisplet_query("SELECT id FROM srv_grid WHERE spr_id = '$row[id]' ORDER BY vrstni_red"); while ($row2 = mysqli_fetch_array($sql2)) { if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { // Ce imamo samo veljavne imamo vedno vrednost if($only_valid == 1) $value = $this->randomNumber(); else $value = rand(0,1)==0 ? $this->randomNumber() : ''; $grid_id = $row2['id']; if ($value != '') { $srv_data_textgrid .= "('$row[id]', '$row1[id]', '$this->usr_id', '$grid_id', '$value'),"; } // vsebino text polja vnesemo v vsakem primeru if ($row1['other'] == 1 && $value != '') $srv_data_text .= "('$row[id]', '$row1[id]', '".$this->randomString()."', '', '$this->usr_id'),"; } else { $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; } } } } // textbox elseif ($row['tip'] == 4) { if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { $vrednost = rand(0,1)==0 ? $this->randomString() : ''; if ($vrednost != '') $srv_data_text .= "('$row[id]', '', '$vrednost', '', '$this->usr_id'),"; } else { $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; } } // textbox* elseif ($row['tip'] == 21) { $sql1 = sisplet_query("SELECT id FROM srv_vrednost WHERE spr_id = '$row[id]'"); while ($row1 = mysqli_fetch_array($sql1)) { 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() : ''; if ($vrednost != '') $srv_data_text .= "('$row[id]', '$row1[id]', '$vrednost', '', '$this->usr_id'),"; } else { $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; } } } // number elseif ($row['tip'] == 7) { ####### za ureditev avtomatskega vnosa glede na dolzino stevila if($row['ranking_k']==0){ //ce je stevilo $newLength = $row['cela']; }elseif($row['ranking_k']==1){ //ce je drsnik $rowParams = Cache::srv_spremenljivka($row['id']); $spremenljivkaParams = new enkaParameters($rowParams['params']); $slider_MaxNumLabel = ($spremenljivkaParams->get('slider_MaxNumLabel') ? $spremenljivkaParams->get('slider_MaxNumLabel') : 100); $newLength = strlen((string)$slider_MaxNumLabel)-1; } ####### za ureditev avtomatskega vnosa glede na dolzino stevila - konec if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { $ij=1; unset($vrednost); // Ce imamo samo veljavne imamo vedno vrednost if($only_valid == 1){ //if ($row['size'] >= 1) $vrednost[0] = $this->randomNumber(); if ($row['size'] >= 1) $vrednost[0] = $this->randomNumber($newLength); //if ($row['size'] >= 2) $vrednost[1] = $this->randomNumber(); if ($row['size'] >= 2) $vrednost[1] = $this->randomNumber($newLength); } elseif (rand(0,1) == 0) { //if ($row['size'] >= 1) $vrednost[0] = $this->randomNumber(); if ($row['size'] >= 1) $vrednost[0] = $this->randomNumber($newLength); //if ($row['size'] >= 2) $vrednost[1] = $this->randomNumber(); if ($row['size'] >= 2) $vrednost[1] = $this->randomNumber($newLength); } if (isset($vrednost)){ $text = ''; $text2 = ''; foreach ($vrednost AS $key => $val) { if($ij==1){ if ($val != '') $text = $val; } else{ if ($val != '') $text2 = $val; } $ij++; } $srv_data_text .= "('$row[id]', '', '$text', '$text2', '$this->usr_id'),"; } } else { $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; } } // compute elseif ($row['tip'] == 22) { if (true){ $val = $s->checkCalculation(-$row['id']); // za spremenljivke je v srv_calculation, v cnd_id zapisan id spremenljivke kot minus (plus je za kalkulacije v ifih) if ($val != '') $srv_data_text .= "('$row[id]', '', '$val', '', '$this->usr_id'),"; } } // 8_datum elseif ($row['tip'] == 8) { if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { // Ce imamo samo veljavne imamo vedno vrednost if($only_valid == 1) $vrednost = $this->randomDate(); else $vrednost = rand(0,1)==0 ? $this->randomDate() : ''; if ($vrednost != '') $srv_data_text .= "('$row[id]', '', '$vrednost', '', '$this->usr_id'),"; } else { $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; } } // ranking elseif ($row['tip'] == 17) { if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { //cifre if($row['design'] == 1 or true){ // tukaj se pac vse generira tukaj $sql1 = sisplet_query("SELECT id FROM srv_vrednost WHERE spr_id = '$row[id]' AND vrstni_red>0 ORDER BY vrstni_red"); $rows = mysqli_num_rows($sql1); if ($row['ranking_k'] > 0) $rows = $row['ranking_k']; unset($array); // Ce imamo samo veljavne imamo vedno vrednosti if($only_valid == 1){ if (rand(0,1) == 0) $rows = floor($rows/2); $array = range(1, $rows); shuffle($array); } elseif (rand(0,1) == 0) { if (rand(0,1) == 0) $rows = floor($rows/2); $array = range(1, $rows); shuffle($array); } while($row1 = mysqli_fetch_array($sql1)){ if (count($array) > 0) { $vrednost = array_pop($array); if ($vrednost != '') $srv_data_rating .= "('$row[id]', '$row1[id]', '$this->usr_id', '$vrednost'),"; } } } //n==k (sortable) else if($row['design'] == 2){ } //n>k else if($row['design'] == 0){ } } else $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; } // vsota elseif ($row['tip'] == 18) { $sql1 = sisplet_query("SELECT id FROM srv_vrednost WHERE spr_id = '$row[id]' AND vrstni_red>0 ORDER BY vrstni_red"); while($row1 = mysqli_fetch_array($sql1)){ if ($s->checkSpremenljivka($row['id'], $isTestData=true)){ unset($vrednost); // Ce imamo samo veljavne imamo vedno vrednosti if($only_valid == 1) $vrednost = $this->randomNumber(); elseif(rand(0,1) == 0) $vrednost = $this->randomNumber(); if (isset( $vrednost )) { if ($vrednost != '') $srv_data_text .= "('$row[id]', '$row1[id]', '$vrednost', '', '$this->usr_id'),"; } } else $srv_data_vrednost .= "('$row[id]', '-2', '$this->usr_id'),"; } } // Kombinirana tabela elseif($row['tip'] == 24){ // Loop cez podtabele kombinirane dabele $sqlC = sisplet_query("SELECT s.id, s.tip FROM srv_grid_multiple m, srv_spremenljivka s WHERE m.parent='$row[id]' AND m.spr_id=s.id ORDER BY m.vrstni_red"); while ($rowC = mysqli_fetch_array($sqlC)) { // multigrid if ($rowC['tip'] == 6) { $sql1 = sisplet_query("SELECT id, other FROM srv_vrednost WHERE spr_id = '$rowC[id]'"); while ($row1 = mysqli_fetch_array($sql1)) { if ($s->checkSpremenljivka($rowC['id'], $isTestData=true)) { $sql2 = sisplet_query("SELECT id FROM srv_grid WHERE spr_id='$rowC[id]'"); // Ce imamo samo veljavne vedno oznacimo enega if($only_valid == 1) $rand = rand(1, mysqli_num_rows($sql2)); else $rand = rand(0, mysqli_num_rows($sql2)); if ($rand > 0) { for ($j=1; $j<=$rand; $j++) $row2 = mysqli_fetch_array($sql2); $grid_id = $row2['id']; } else { $grid_id = 0; } if ($grid_id > 0) { $srv_data_grid .= "('$rowC[id]', '$row1[id]', '$this->usr_id', '$grid_id'),"; } if ($row1['other'] == 1 && $grid_id > 0) $srv_data_text .= "('$rowC[id]', '$row1[id]', '".$this->randomString()."', '', '$this->usr_id'),"; } else { $srv_data_vrednost .= "('$rowC[id]', '-2', '$this->usr_id'),"; } } // multicheckbox } elseif ($rowC['tip'] == 16) { $sql1 = sisplet_query("SELECT id, other FROM srv_vrednost WHERE spr_id = '$rowC[id]'"); while ($row1 = mysqli_fetch_array($sql1)) { $sql2 = sisplet_query("SELECT id FROM srv_grid WHERE spr_id = '$rowC[id]' ORDER BY vrstni_red"); $randX = 0; if($only_valid == 1) $randX = rand(1, mysqli_num_rows($sql2)); $j=1; while ($row2 = mysqli_fetch_array($sql2)) { if ($s->checkSpremenljivka($rowC['id'], $isTestData=true)) { $rand = rand(-1, 1); if ($rand > 0) { $grid_id = $row2['id']; } else { $grid_id = 0; } // Ce imamo samo veljavne vedno oznacimo enega if($randX == $j && $only_valid == 1){ $grid_id = $row2['id']; } $j++; if ($grid_id > 0) { $srv_data_checkgrid .= "('$rowC[id]', '$row1[id]', '$this->usr_id', '$grid_id'),"; } if ($row1['other'] == 1 && $grid_id > 0) $srv_data_text .= "('$rowC[id]', '$row1[id]', '".$this->randomString()."', '', '$this->usr_id'),"; } else { $srv_data_vrednost .= "('$rowC[id]', '-2', '$this->usr_id'),"; } } } } // multitext elseif ($rowC['tip'] == 19) { $sql1 = sisplet_query("SELECT id, other FROM srv_vrednost WHERE spr_id = '$rowC[id]'"); while ($row1 = mysqli_fetch_array($sql1)) { $sql2 = sisplet_query("SELECT id FROM srv_grid WHERE spr_id = '$rowC[id]' ORDER BY vrstni_red"); while ($row2 = mysqli_fetch_array($sql2)) { if ($s->checkSpremenljivka($row['id'], $isTestData=true)) { // Ce imamo samo veljavne imamo vedno vrednost if($only_valid == 1) $value = $this->randomString(); else $value = rand(0,1)==0 ? $this->randomString() : ''; $grid_id = $row2['id']; if ($value != '') { $srv_data_textgrid .= "('$rowC[id]', '$row1[id]', '$this->usr_id', '$grid_id', '$value'),"; } // vsebino text polja vnesemo v vsakem primeru if ($row1['other'] == 1 && $value != '') $srv_data_text .= "('$rowC[id]', '$row1[id]', '".$this->randomString()."', '', '$this->usr_id'),"; } else { $srv_data_vrednost .= "('$rowC[id]', '-2', '$this->usr_id'),"; } } } } // multinumber elseif ($rowC['tip'] == 20) { $sql1 = sisplet_query("SELECT id, other FROM srv_vrednost WHERE spr_id = '$rowC[id]'"); while ($row1 = mysqli_fetch_array($sql1)) { $sql2 = sisplet_query("SELECT id FROM srv_grid WHERE spr_id = '$rowC[id]' ORDER BY vrstni_red"); while ($row2 = mysqli_fetch_array($sql2)) { if ($s->checkSpremenljivka($rowC['id'], $isTestData=true)) { // Ce imamo samo veljavne imamo vedno vrednost if($only_valid == 1) $value = $this->randomNumber(); else $value = rand(0,1)==0 ? $this->randomNumber() : ''; $grid_id = $row2['id']; if ($value != '') { $srv_data_textgrid .= "('$rowC[id]', '$row1[id]', '$this->usr_id', '$grid_id', '$value'),"; } // vsebino text polja vnesemo v vsakem primeru if ($row1['other'] == 1 && $value != '') $srv_data_text .= "('$rowC[id]', '$row1[id]', '".$this->randomString()."', '', '$this->usr_id'),"; } else { $srv_data_vrednost .= "('$rowC[id]', '-2', '$this->usr_id'),"; } } } } } } } // vprasanja shranjujemo sproti, zaradi IFov !!! // odrezemo zadnjo vejico, ker smo jo dodajali kar povsod $srv_data_grid = substr($srv_data_grid, 0, -1); $srv_data_vrednost = substr($srv_data_vrednost, 0, -1); $srv_data_text = substr($srv_data_text, 0, -1); $srv_data_checkgrid = substr($srv_data_checkgrid, 0, -1); $srv_data_textgrid = substr($srv_data_textgrid, 0, -1); $srv_data_rating = substr($srv_data_rating, 0, -1); $srv_data_map = substr($srv_data_map, 0, -1); $srv_data_heatmap = substr($srv_data_heatmap, 0, -1); if ($srv_data_grid != '') { $sq = sisplet_query("INSERT INTO srv_data_grid".$this->db_table." (spr_id, vre_id, usr_id, grd_id) VALUES $srv_data_grid"); if (!$sq) echo 'err011: '.mysqli_error($GLOBALS['connect_db']); } if ($srv_data_vrednost != '') { $sq = sisplet_query("INSERT INTO srv_data_vrednost".$this->db_table." (spr_id, vre_id, usr_id) VALUES $srv_data_vrednost"); if (!$sq) echo 'err012: '.mysqli_error($GLOBALS['connect_db']); } if ($srv_data_text != '') { $sq = sisplet_query("INSERT INTO srv_data_text".$this->db_table." (spr_id, vre_id, text, text2, usr_id) VALUES $srv_data_text"); if (!$sq) echo 'err013: '.mysqli_error($GLOBALS['connect_db']); } if ($srv_data_checkgrid != ''){ $sq = sisplet_query("INSERT INTO srv_data_checkgrid".$this->db_table." (spr_id, vre_id, usr_id, grd_id) VALUES $srv_data_checkgrid"); if (!$sq) echo 'err014: '.mysqli_error($GLOBALS['connect_db']); } if ($srv_data_textgrid != '') { $sq = sisplet_query("INSERT INTO srv_data_textgrid".$this->db_table." (spr_id, vre_id, usr_id, grd_id, text) VALUES $srv_data_textgrid"); if (!$sq) echo 'err015: '.mysqli_error($GLOBALS['connect_db']); } if ($srv_data_rating != '') { $sq = sisplet_query("INSERT INTO srv_data_rating (spr_id, vre_id, usr_id, vrstni_red) VALUES $srv_data_rating"); if (!$sq) echo 'err016: '.mysqli_error($GLOBALS['connect_db']); } if ($srv_data_map != '') { $sq = sisplet_query("INSERT INTO srv_data_map (usr_id, spr_id, vre_id, ank_id, lat, lng, address, text, vrstni_red) VALUES $srv_data_map"); if (!$sq) echo 'err016: '.mysqli_error($GLOBALS['connect_db']); } if ($srv_data_heatmap != '') { $sq = sisplet_query("INSERT INTO srv_data_heatmap (usr_id, spr_id, vre_id, ank_id, lat, lng, address, text, vrstni_red) VALUES $srv_data_heatmap"); if (!$sq) echo 'err017: '.mysqli_error($GLOBALS['connect_db']); } } $recnum++; } # zabeležimo kdaj so bili dodani testni vnosi if (count($arrayTestni)) { global $global_user_id; $ins_date = date ("Y-m-d H:m:s"); $insert_qry = "INSERT INTO srv_testdata_archive (ank_id, add_date, add_uid, usr_id) VALUES "; $prefix = ''; foreach ($arrayTestni AS $at_user_id) { $insert_qry .= $prefix."('".$this->anketa."', '$ins_date', '$global_user_id', '$at_user_id')"; $prefix = ', '; } sisplet_query($insert_qry); } if(session_id() == '') {session_start();} $_SESSION['progressBar'][$this->anketa]['status'] = 'end'; session_commit(); unset($_SESSION['progressBar'][$this->anketa]); // ce getCollectTimer ne prebere vec 'end' (se prehitro refresha), se tukaj odstranimo sejo header("Location: index.php?anketa=$this->anketa&a=testiranje&m=testnipodatki"); } elseif ($_GET['delete_testdata'] == 1 || $_GET['delete_autogen_testdata'] == 1) { if($_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')"); #datoteki z podatki moramo zgenerirati na novo sisplet_query("UPDATE srv_data_files SET head_file_time='0000-00-00', data_file_time='0000-00-00' WHERE sid='$this->anketa'"); sisplet_query("COMMIT"); header("Location: ".$_SERVER['HTTP_REFERER']); // izpis podatkov } else { $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 ''; echo ''; echo ''; echo '

    '; echo '
    '; echo '

    '.$lang['srv_testni_nagovor'].'

    '; echo ''.$lang['srv_delete_testdata'].' ('.$total_rows.')'; if ($total_rows > 0) { $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)) { // labela in compute ne upostevamo if ($row['tip'] != 5 && $row['tip'] != 22) { if ($prevpage == 0 || $row['gru_id'] != $prevpage) { if ($prevpage > 0) { echo ''; echo ''; } echo '
    '.$row['pagename'].''; echo ''; $prevpage = $row['gru_id']; } 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) ) { $sqlc = sisplet_query("SELECT COUNT(*) AS count FROM srv_data_vrednost".$this->db_table." dv, srv_user u WHERE dv.usr_id=u.id AND (u.testdata='1' OR u.testdata='2') AND spr_id='$row[id]' AND vre_id='-2'"); $rowc = mysqli_fetch_array($sqlc); $p = round(($total_rows-$rowc['count'])/$total_rows*100,2); // multigrid } elseif ($row['tip'] == 6) { $sql1 = sisplet_query("SELECT id FROM srv_vrednost WHERE spr_id = '$row[id]'"); while ($row1 = mysqli_fetch_array($sql1)) { $sqlc = sisplet_query("SELECT COUNT(*) AS count FROM srv_data_grid".$this->db_table." dg, srv_user u WHERE dg.usr_id=u.id AND (u.testdata='1' OR u.testdata='2') AND spr_id='$row[id]' AND vre_id='$row1[id]' AND grd_id='-2'"); $rowc = mysqli_fetch_array($sqlc); $p = round(($total_rows-$rowc['count'])/$total_rows*100,2); } // multicheckbox } elseif ($row['tip'] == 16) { $sql1 = sisplet_query("SELECT id FROM srv_vrednost WHERE spr_id = '$row[id]'"); while ($row1 = mysqli_fetch_array($sql1)) { $sql2 = sisplet_query("SELECT id FROM srv_grid WHERE spr_id = '$row[id]' ORDER BY vrstni_red"); while ($row2 = mysqli_fetch_array($sql2)) { $sqlc = sisplet_query("SELECT COUNT(*) AS count FROM srv_data_checkgrid".$this->db_table." cg, srv_user u WHERE cg.usr_id=u.id AND (u.testdata='1' OR u.testdata='2') AND spr_id='$row[id]' AND vre_id='$row1[id]' AND grd_id='-2'"); $rowc = mysqli_fetch_array($sqlc); $p = round(($total_rows-$rowc['count'])/$total_rows*100,2); } } } // multitext, multinumber elseif ($row['tip'] == 19 || $row['tip'] == 20) { $sql1 = sisplet_query("SELECT id FROM srv_vrednost WHERE spr_id = '$row[id]'"); while ($row1 = mysqli_fetch_array($sql1)) { $sql2 = sisplet_query("SELECT id FROM srv_grid WHERE spr_id = '$row[id]' ORDER BY vrstni_red"); while ($row2 = mysqli_fetch_array($sql2)) { $sqlc = sisplet_query("SELECT COUNT(*) AS count FROM srv_data_textgrid".$this->db_table." tg, srv_user u WHERE tg.usr_id=u.id AND (u.testdata='1' OR u.testdata='2') AND spr_id='$row[id]' AND vre_id='$row1[id]' AND grd_id='0' AND text='-2'"); $rowc = mysqli_fetch_array($sqlc); $p = round(($total_rows-$rowc['count'])/$total_rows*100,2); } } } // ranking, vsota elseif ($row['tip'] == 17 || $row['tip'] == 18) { $sql1 = sisplet_query("SELECT id FROM srv_vrednost WHERE spr_id = '$row[id]' AND vrstni_red>0 ORDER BY vrstni_red"); while($row1 = mysqli_fetch_array($sql1)){ $sqlc = sisplet_query("SELECT COUNT(*) AS count FROM srv_data_text".$this->db_table." dt, srv_user u WHERE dt.usr_id=u.id AND (u.testdata='1' OR u.testdata='2') AND spr_id='$row[id]' AND vre_id='$row1[id]' AND text='-2'"); $rowc = mysqli_fetch_array($sqlc); $p = round(($total_rows-$rowc['count'])/$total_rows*100,2); } } echo ''; echo ''; } } echo '
    '.skrajsaj(strip_tags($row['naslov']),20).''; echo '
     
    '; echo ' '.$p.'% ('.($total_rows-$rowc['count']).')'; echo '
    '; echo '
    '; echo '

    '.$lang['srv_testni_nakonec'].'

    '; } } } /** * zgenerira random string za vpis v tekstovno polje * */ function randomString ($length = 10, $chars = 'abcdefghijklmnopqrstuvwxyz') { // Length of character list $chars_length = (strlen($chars) - 1); // Start our string $string = $chars[mt_rand(0, $chars_length)]; // Generate random string for ($i = 1; $i < $length; $i = strlen($string)) { // Grab a random character from our list $r = $chars[mt_rand(0, $chars_length)]; // Make sure the same two characters don't appear next to each other if ($r != $string[$i - 1]) $string .= $r; } // Return the string return $string; } function randomNumber ($length = 4, $chars = '0123456789') { return $this->randomString($length, $chars); } function randomDate ($startDate = '01.01.1950', $endDate = '') { if ($endDate == '') $endDate = date("d.m.Y"); $days = round((strtotime($endDate) - strtotime($startDate)) / (60 * 60 * 24)); $n = rand(0,$days); return date("d.m.Y",strtotime("$startDate + $n days")); } function displayBtnMailtoPreview($row) { global $lang; echo '
    '; } function DisplayNastavitveTrajanje() { global $lang; global $site_url; # vsilimo refresh podatkov SurveyInfo :: getInstance()->resetSurveyData(); $row = SurveyInfo::getInstance()->getSurveyRow(); $starts = date('d.m.Y',strtotime($row['starts'])); $_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 '

    '; echo '

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

    '; echo '
    '; echo '
    '; #echo '
    ' . $lang['srv_zapri'] . '
    '; echo ' '; } function DisplayNastavitveMaxGlasov() { global $lang; global $site_url; global $site_path; global $admin_type; global $global_user_id; $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 ' '.$lang['edit3'].''; echo '

    '; echo '
    '; } /** * Uporabnik (administrator, manager) lahko dodajata nove uporabnike in jim dodelita dostop */ public function dodajNovegaUporabnika(){ global $admin_type; global $lang; global $virtual_domain; // admini lahko dodajajo uporabnike, ki jih nato managirajo if($admin_type != 0) return ''; echo '
    '; echo '
    '; echo '

    '.$lang['srv_users_add_new_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 '

    '; echo '

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

    '; echo '
    '; echo '
    '; } /** * Uporabnik (administrator, manager) lahko dodajata nove uporabnike in jim dodelita dostop */ public function dodeljeniUporabniki(){ global $admin_type; global $lang; global $global_user_id; global $virtual_domain; // 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){ // 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); 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.''; } echo '

    '; } echo '
    '; // 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['create_add'].''; echo '

    '; echo '
    '; // admini si lahko dodajajo ze obstojece uporabnike if ($admin_type == 0) { echo '


    '; echo '
    '; echo '

    '.$lang['srv_manager_add_user2'].'

    '; echo '

    '; //echo '

    '; echo '

    '; echo ' '.$lang['add'].''; 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){ 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 '
    '; } /** * Seznam vseh uporabnikov znotraj 1ke */ public function allUsersList(){ global $lang; global $admin_type; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
    ' . $lang['srv_survey_list_users_name'] . '' . $lang['srv_survey_list_users_email'] . '' . $lang['admin_type'] . '' . $lang['lang'] . '' . $lang['srv_survey_list_users_aai'] . '' . $lang['srv_survey_list_users_survey_count'] . '' . $lang['srv_survey_list_users_survey_archive_count'] . '' . $lang['srv_manager_count'] . '' . $lang['srv_manager_count_manager'] . '' . $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 '
    '; } /** * Osnovni pregled uporabnikov za managerje in admine */ public function assignedUsersList(){ global $lang; global $admin_type; global $global_user_id; $sqlU = sisplet_query("SELECT name, surname, email FROM users WHERE id='".$global_user_id."'"); $rowU = mysqli_fetch_array($sqlU); // Naslov echo '

    '; if($admin_type == 0) echo $lang['administrator']; elseif($admin_type == 1) echo $lang['manager']; else echo $lang['user']; echo ': '.$rowU['name'].' '.$rowU['surname'].' ('.$rowU['email'].')'; echo ' '; echo '

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

    '.$lang['srv_users_assigned_title'].'

    '; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
    ' . $lang['srv_survey_list_users_name'] . '' . $lang['srv_survey_list_users_email'] . '' . $lang['admin_type'] . '' . $lang['lang'] . '' . $lang['srv_survey_list_users_aai'] . '' . $lang['srv_survey_list_users_survey_count'] . '' . $lang['srv_survey_list_users_survey_archive_count'] . '' . $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 '
    '; } /** * Seznam vseh izbrisanih uporabnikov znotraj 1ke */ public function deletedUsersList(){ global $lang; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
    '.$lang['srv_survey_list_users_name'].''.$lang['srv_survey_list_users_email'].''.$lang['admin_type'].''.$lang['lang'].''.$lang['registered'].'
    '; } /** * Seznam vseh odjavljenih uporabnikov * V bazi vsi uporabniki, ki so odjavljeni samo pridobijo status 0 */ public function unsignedUsersList(){ global $lang; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
    '.$lang['srv_survey_list_users_name'].''.$lang['srv_survey_list_users_email'].''.$lang['admin_type'].''.$lang['lang'].''.$lang['registered'].'
    '; } /** * Seznam vseh uporabnikov, ki so prejeli email in ga niso potrdili */ public function unconfirmedMailUsersList(){ global $lang; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
    '.$lang['srv_survey_list_users_name'].''.$lang['srv_survey_list_users_email'].''.$lang['admin_type'].''.$lang['lang'].''.$lang['registered'].''.$lang['edit2'].'
    '; } /** * Seznam uporabnikov, ki imajo dostop do SA modula */ public function SAuserListIndex(){ global $lang, $global_user_id, $admin_type; if($admin_type > 0) return false; $sql_uporabniki = sisplet_query("SELECT id, u.name, u.surname, u.email, d.ustanova, d.aai_email, DATE_FORMAT(d.created_at, '%d.%m.%Y - %H:%i') AS created_at, d.updated_at FROM srv_hierarhija_dostop AS d LEFT JOIN users AS u ON u.id=d.user_id ORDER BY u.name", "obj"); echo 'Dodaj uporabniku SA dostop

    '; if(empty($sql_uporabniki)){ echo $lang['srv_hierarchy_users_access_no_data']; return false; } if(!empty($sql_uporabniki->name)) { $uporabniki[0] = $sql_uporabniki; }else{ $uporabniki = $sql_uporabniki; } echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; foreach($uporabniki as $uporabnik) { echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo '
    '.$lang['srv_hierarchy_users_name'].''.$lang['srv_hierarchy_users_email'].''.$lang['srv_hierarchy_users_organization'].''.$lang['srv_hierarchy_users_created'].'
    '.$uporabnik->name .' '. $uporabnik->surname.''.$uporabnik->email.''.$uporabnik->ustanova .''.$uporabnik->created_at.''; echo '
    '; echo ''.$lang['srv_dataIcons_quick_view'].''; echo ''.$lang['srv_recode_edit'].''; echo ''.$lang['srv_recode_remove'].''; echo '
    '; echo '
    '; } // Prikaz naprednih modulov - NOVO (v urejanje->nastavitve) function showAdvancedModules(){ global $lang, $site_url, $global_user_id, $admin_type; # preberemo osnovne nastavitve $row = SurveyInfo::getInstance()->getSurveyRow(); # preberemo vklopljene module $modules = SurveyInfo::getSurveyModules(); $disabled = ''; $css_disabled = ''; if (isset($modules['slideshow'])){ $disabled = ' disabled="disabled"'; $css_disabled = ' gray'; } if ($_GET['a'] == 'uporabnost'){ echo '
    '.$lang['srv_uporabnost'].''; echo ''; echo '
    '.$lang['srv_vrsta_survey_note_4_3'].''; echo '
    '; echo '
    '; echo '
    '; if(isset($modules['uporabnost'])){ $this->uporabnost(); } echo '
    '; } elseif (($_GET['a'] == A_HIERARHIJA_SUPERADMIN) && Hierarhija\HierarhijaHelper::preveriDostop($this->anketa)){ // Blok za vklop in izklop hierarhije skrijemo, če je hierarhija aktivna if(!SurveyInfo::getInstance()->checkSurveyModule('hierarhija')) { echo '
    ' . $lang['srv_hierarchy'] . ''; echo '' . $lang['srv_hierarchy_description'] . ''; echo ''; echo '
    '; echo '

    '.$lang['srv_hierarchy_intro_select_title'].':

    '; echo '
    '; echo ''; echo ''; echo ''; echo '
    '; echo '
    '; echo '
    '; echo 'Vklopi modul '; echo '
    '; echo '
    '; echo '
    '; echo '
    '; echo '
    '; }else { $hierarhija = new \Hierarhija\Hierarhija($this->anketa); echo '
    '; echo '
    '; $hierarhija->displayHierarhijaNavigationSuperAdmin(); echo '
    '; echo '
    '; if($_GET['m'] == M_ADMIN_UREDI_SIFRANTE){ $hierarhija->hierarhijaSuperadminSifranti(); }elseif($_GET['m'] == M_ADMIN_UVOZ_SIFRANTOV){ $hierarhija->hierarhijaSuperadminUvoz(); }elseif($_GET['m'] == M_ADMIN_UPLOAD_LOGO){ $hierarhija->hierarhijaSuperadminUploadLogo(); }elseif($_GET['m'] == M_ADMIN_IZVOZ_SIFRANTOV){ $hierarhija->izvozSifrantov(); }elseif($_GET['m'] == M_ANALIZE){ if($_GET['r'] == 'custom'){ $HC = new \Hierarhija\HierarhijaPorocilaClass($this->anketa); $HC->izvoz(); }else { $HA = new HierarhijaAnalysis($this->anketa); $HA->Display(); } }elseif($_GET['m'] == M_HIERARHIJA_STATUS){ if($_GET['izvoz'] == 'status'){ // Izvoz tabele status \Hierarhija\HierarhijaIzvoz::getInstance($this->anketa)->csvIzvozStatusa(); }else { $hierarhija->statistikaHierjearhije(); } }elseif($_GET['m'] == M_ADMIN_AKTIVACIJA){ $hierarhija->aktivacijaHierarhijeInAnkete(); }elseif($_GET['m'] == M_ADMIN_KOPIRANJE){ $hierarhija->kopiranjeHierarhijeInAnkete(); }elseif($_GET['m'] == M_UREDI_UPORABNIKE && $_GET['izvoz'] == 1) { // za vse ostalo je ure uredi uporabnike - M_UREDI_UPORABNIKE \Hierarhija\HierarhijaIzvoz::getInstance($this->anketa)->csvIzvozVsehUporabnikov(); }elseif($_GET['m'] == M_UREDI_UPORABNIKE && $_GET['izvoz'] == 'struktura-analiz') { // za vse ostalo je uredi uporabnike - M_UREDI_UPORABNIKE if(!empty($_GET['n']) && $_GET['n'] == 1){ \Hierarhija\HierarhijaIzvoz::getInstance($this->anketa)->csvIzvozStruktureZaObdelavo(false, true); }else { \Hierarhija\HierarhijaIzvoz::getInstance($this->anketa)->csvIzvozStruktureZaObdelavo(); } }else{ $hierarhija->izberiDodajanjeUporabnikovNaHierarhijo(); } echo '
    '; echo '
    '; } } elseif ($_GET['a'] == 'kviz'){ echo '
    '.$lang['srv_kviz'].''; echo ''; echo '
    '.$lang['srv_vrsta_survey_note_6_4'].''; echo '
    '; echo '
    '; echo '
    '; if(isset($modules['quiz'])){ $sq = new SurveyQuiz($this->anketa); $sq->displaySettings(); } echo '
    '; } elseif ($_GET['a'] == 'voting'){ // Ce so vabila ze vklopljena ne pustimo vklopa if(isset($modules['voting']) || (!isset($modules['voting']) && SurveyInfo::getInstance()->checkSurveyModule('email'))){ $disabled = ' disabled="disabled"'; $css_disabled = ' gray'; } echo '
    '.$lang['srv_voting'].''; echo ''; echo '
    '.$lang['srv_voting_info'].''; // 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 '
    '; echo '
    '; echo '
    '; if(isset($modules['voting'])){ $sv = new SurveyVoting($this->anketa); $sv->displaySettings(); } echo '
    '; } elseif ($_GET['a'] == 'advanced_paradata'){ echo '
    '.$lang['srv_advanced_paradata'].''; echo ''; //echo '
    '.$lang['srv_vrsta_survey_note_6_4'].''; echo '
    '; echo '
    '; echo '
    '; if(isset($modules['advanced_paradata'])){ $sap = new SurveyAdvancedParadata($this->anketa); $sap->displaySettings(); } echo '
    '; } elseif ($_GET['a'] == 'json_survey_export'){ echo '
    '.$lang['srv_json_survey_export'].''; echo ''; echo '
    '; echo '
    '; echo '
    '; if(isset($modules['srv_json_survey_export'])){ $sjs = new SurveyJsonSurveyData($this->anketa); $sjs->displaySettings(); } echo '
    '; } elseif ($_GET['a'] == 'slideshow'){ echo '
    '.$lang['srv_slideshow_fieldset_label'].''; echo ''; echo '
    '.$lang['srv_vrsta_survey_note_9_2'].''; echo '
    '; echo '
    '; echo '
    '; if(isset($modules['slideshow'])){ $ss = new SurveySlideshow($this->anketa); $ss->ShowSlideshowSetings(); } echo '
    '; } elseif ($_GET['a'] == 'vnos') { echo '
    '.$lang['srv_vnos'].''; echo ''; echo '
    '.$lang['srv_vrsta_survey_note_5_3'].''; echo '
    '; echo '
    '; echo '
    '; if($row['user_from_cms'] == 2 && $row['cookie'] == -1){ $this->vnos(); } echo '
    '; } elseif ($_GET['a'] == A_TELEPHONE){ // Ce je anketar ne vidi teh nastavitev $isAnketar = Common::isUserAnketar($this->anketa, $global_user_id); if(!$isAnketar){ if(isset($modules['phone'])){ $sqlT = sisplet_query("SELECT count(*) AS cnt FROM srv_invitations_recipients WHERE ank_id='$this->anketa' AND deleted='0' AND phone!=''"); $rowT = mysqli_fetch_array($sqlT); // 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 '
    '; } 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 '
    '; } 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 '
    '; echo '
    '; echo '
    '; if(isset($modules['chat'])){ $sc = new SurveyChat($this->anketa); $sc->displaySettings(); } echo '
    '; } elseif ($_GET['a'] == A_PANEL){ global $site_path; echo '
    '.$lang['srv_vrsta_survey_type_15'].''; echo ''; echo '
    '.$lang['srv_vrsta_survey_note_15_1'].''; echo '
    '; echo '
    '; echo '
    '; if(isset($modules['panel'])){ $sp = new SurveyPanel($this->anketa); $sp->displaySettings(); } echo '
    '; } elseif ($_GET['a'] == A_FIELDWORK){ global $site_path; // tole bom dopolnil po potrebi // // Ce je anketar ne vidi teh nastavitev $isAnketar = Common::isUserAnketar($this->anketa, $global_user_id); if(!$isAnketar){ // tole bom dopo } echo '
    '; $ST = new SurveyFieldwork($this->anketa); $ST->action($_GET['m']); echo '
    '; } elseif ($_GET['a'] == A_MAZA){ global $site_path; echo '
    '.$lang['srv_maza'].''; echo ''; echo '
    '.$lang['srv_maza_note'].''; echo '
    '; echo '
    '; echo '
    '; if(isset($modules['maza'])){ $MS = new MAZA($this->anketa); $MS ->display(); } echo '
    '; } elseif ($_GET['a'] == A_WPN){ global $site_path; echo '
    '.$lang['srv_wpn'].''; echo ''; echo '
    '.$lang['srv_wpn_note'].''; echo '
    '; echo '
    '; echo '
    '; if(isset($modules['wpn'])){ $MS = new WPN($this->anketa); $MS ->display(); } echo '
    '; } elseif ($_GET['a'] == 'social_network'){ 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 '
    '; // urejanje respondentov if(isset($modules['social_network'])){ $this->SN_Settings(); } echo '
    '; } } elseif ($_GET['a'] == A_360){ echo '
    '.$lang['srv_vrsta_survey_type_11'].''; echo ''; echo '
    '.$lang['srv_vrsta_survey_note_11_1'].''; echo '
    '; echo '
    '; echo '
    '; // urejanje respondentov if(isset($modules['360_stopinj'])){ $S360 = new Survey360($this->anketa); $S360->displaySettings(); } echo '
    '; } elseif ($_GET['a'] == A_360_1KA){ echo '
    '.$lang['srv_vrsta_survey_type_12'].''; echo ''; echo '
    '.$lang['srv_vrsta_survey_note_12_1'].''; echo '
    '; echo '
    '; echo '
    '; // urejanje respondentov if(isset($modules['360_stopinj_1ka'])){ $S360 = new Survey3601ka($this->anketa); $S360->displaySettings(); } echo '
    '; } elseif ($_GET['a'] == 'evoli'){ echo '
    Evoli'; echo ''; echo '
    Napredna poročila Evoli'; echo '
    '; echo '
    '; echo '
    '; echo '
    '; } elseif ($_GET['a'] == 'evoli_teammeter'){ echo '
    Evoli team meter'; echo ''; echo '
    Napredna poročila Evoli team meter'; echo '
    '; echo '
    '; echo '
    '; // urejanje respondentov if(isset($modules['evoli_teammeter'])){ $evoliTM = new SurveyTeamMeter($this->anketa); $evoliTM->displaySettings(); } echo '
    '; } elseif ($_GET['a'] == 'evoli_quality_climate'){ echo '
    Evoli quality climate'; echo ''; echo '
    Napredna poročila Evoli quality climate'; echo '
    '; echo '
    '; echo '
    '; // urejanje respondentov if(isset($modules['evoli_quality_climate'])){ $evoliTM = new SurveyTeamMeter($this->anketa); $evoliTM->displaySettings(); } echo '
    '; } elseif ($_GET['a'] == 'evoli_teamship_meter'){ echo '
    Evoli teamship meter'; echo ''; echo '
    Napredna poročila Evoli teamship meter'; echo '
    '; echo '
    '; echo '
    '; // urejanje respondentov if(isset($modules['evoli_teamship_meter'])){ $evoliTM = new SurveyTeamMeter($this->anketa); $evoliTM->displaySettings(); } echo '
    '; } elseif ($_GET['a'] == 'evoli_organizational_employeeship_meter'){ echo '
    Evoli organizational employeeship meter'; echo ''; echo '
    Napredna poročila Evoli organizational employeeship meter'; echo '
    '; echo '
    '; echo '
    '; // urejanje respondentov if(isset($modules['evoli_organizational_employeeship_meter'])){ $evoliTM = new SurveyTeamMeter($this->anketa); $evoliTM->displaySettings(); } echo '
    '; } elseif ($_GET['a'] == 'evoli_employmeter'){ echo '
    Evoli employ meter'; echo ''; echo '
    Napredna poročila Evoli employeeship meter'; echo '
    '; echo '
    '; echo '
    '; echo '
    '; } elseif ($_GET['a'] == 'mfdps'){ echo '
    MFDPŠ'; echo ''; echo '
    Napredni izvozi MFDPŠ'; echo '
    '; echo '
    '; echo '
    '; echo '
    '; } elseif ($_GET['a'] == 'borza'){ echo '
    Borza'; echo ''; echo '
    Napredni izvozi Borza'; echo '
    '; echo '
    '; echo '
    '; echo '
    '; } elseif ($_GET['a'] == 'mju'){ echo '
    MJU'; echo ''; echo '
    Napredni izvozi MJU'; echo '
    '; echo '
    '; echo '
    '; if(isset($modules['mju'])){ $sme = new SurveyMJUEnote($this->anketa); $sme->displaySettings(); } echo '
    '; } elseif ($_GET['a'] == 'excell_matrix'){ echo '
    Excelleration matrix'; echo ''; echo '
    '.$lang['srv_vrsta_survey_note_16_1'].''; echo '
    '; echo '
    '; echo '
    '; echo '
    '; } } function formatNumber ($value, $digit = 0, $form=null) { # Kako izpisujemo decimalke in tisočice $default_seperators = array( 0=>array('decimal_point'=>'.', 'thousands'=>','), 1=>array('decimal_point'=>',', 'thousands'=>'.')); if (is_array($form) && isset($form['decimal_point'])&& isset($form['thousands'])) { $decimal_point = $form['decimal_point']; $thousands = $form['thousands']; } else { $decimal_point = $default_seperators['decimal_point']; $thousands = $default_seperators['thousands']; } if ($value <> 0 && $value != null) $result = round($value, $digit); else $result = "0"; $result = number_format($result, $digit, $decimal_point, $thousands); return $result; } function globalUserSettings () { global $lang, $global_user_id, $admin_type; # polovimo nastavitve uporabnika UserSetting::getInstance()->Init($global_user_id); # ali zaklepamo anketo ob aktivaciji $lockSurvey = UserSetting::getInstance()->getUserSetting('lockSurvey'); # ali je anketa aktivna ob aktivaciji $autoActiveSurvey = UserSetting::getInstance()->getUserSetting('autoActiveSurvey'); # ali imamo star napreden vmesnik za moje ankete $advancedMySurveys = UserSetting::getInstance()->getUserSetting('advancedMySurveys'); # ali imamo gumb za enklik kreiranje ankete $oneclickCreateMySurveys = UserSetting::getInstance()->getUserSetting('oneclickCreateMySurveys'); # ali so komentarji aktivirani ob kreaciji ankete $activeComments = UserSetting::getInstance()->getUserSetting('activeComments'); # uvod ob aktivaciji $showIntro = UserSetting::getInstance()->getUserSetting('showIntro'); # zakljucek ob aktivaciji $showConcl = UserSetting::getInstance()->getUserSetting('showConcl'); # ime za respondente ob aktivaciji $showSurveyTitle = UserSetting::getInstance()->getUserSetting('showSurveyTitle'); # Prikaži bližnico za jezik v statusni vrstici $showLanguageShortcut = UserSetting::getInstance()->getUserSetting('showLanguageShortcut'); echo '
    '; echo '
    ' . "\n\r"; //echo ' ' . "\n\r"; //echo ' ' . "\n\r"; echo ' ' . "\n\r"; echo ' ' . "\n\r"; echo '
    '.$lang['srv_interface_settings'].''; // Jezik vmesnika $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 '
    '; // Napredni vmesnik (star design za moje ankete) echo ''; echo '
    '; // Prikaži ikono za jezik v navigacijski vrstici ankete, desno zgoraj echo ''; echo '
    '; // Opcija enklik ustvarjanja ankete (v mojih anketah) echo ''; echo '
    '; // Možnost prikaza SA ikone pri vseh anketah if($admin_type < 3) { $showSAicon = UserSetting::getInstance()->getUserSetting('showSAicon'); echo ''; } echo '
    '; echo '
    '.$lang['srv_survey_settings'].''; // Aktivna anketa ob aktivaciji - TO PUSTIMO SAMO ADMINOM ZARADI GDPR OPOZORILA OB AKTIVACIJI if($admin_type == '0'){ echo ''; echo '
    '; } // Komentarji aktivirani ob kreaciji ankete echo ''; echo '

    '; // Uvod ob aktivaciji prikazan echo ''; echo '
    '; // Zakljucek ob aktivaciji prikazan echo ''; echo '
    '; // Ime ob aktivaciji prikazano za respondente echo ''; echo '
    '; echo '
    '; // API avtentikacija echo '
    '.$lang['srv_api'].''; echo ''.$lang['srv_api_auth'].': '; echo ''.$lang['srv_api_auth2'].''; echo '

    '; echo $lang['additional_info_api']; echo '
    '; // save gumb echo '
    '.$lang['edit1337'] . '
    '; 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; // 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"; echo '
    '.$lang['edit_data'].''; echo '
    '.$lang['logged_in_as'].': '.$row['name'].' '.$row['surname'].'
    '; 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 '
    '; $sqlA = sisplet_query("SELECT ua.time_activate, ua.time_expire, uap.id AS package_id, uap.name AS package_name FROM user_access ua, user_access_paket uap WHERE ua.usr_id='$global_user_id' AND uap.id=ua.package_id "); $drupal_url = ($lang['id'] == '2') ? $site_url.'d/en/' : $site_url.'d/'; // Ni nobenega paketa if(mysqli_num_rows($sqlA) == 0){ $package_string = '1ka ('.$lang['srv_access_package_free'].') - '.$lang['srv_narocila_buy'].''; } else{ $rowA = mysqli_fetch_array($sqlA); // Ce ima paket 2 ali 3 if($rowA['package_id'] == '2' || $rowA['package_id'] == '3'){ // Ce je paket ze potekel if(strtotime($rowA['time_expire']) < time()){ $package_string = ''; $package_string .= $rowA['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'].''; } else{ $package_string = $rowA['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'].''; } } else{ $package_string = $rowA['package_name']; $package_string .= ' ('.$lang['srv_access_package_free'].')'; $package_string .= ' - '.$lang['srv_narocila_buy'].''; } } echo '
    '.$lang['srv_access_package'].': '.$package_string.'
    '; } echo '
    '; // AAI nima moznosti spreminjanja imena, priimka, emaila, gesla... if($aai_instalacija){ 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 '

    '; echo ''; // Ce je vklopljen modul gorenje, preverimo ce ima se default geslo in izpisemo opozorilo if (Common::checkModule('gorenje')){ if(SurveyGorenje::checkGorenjePassword()) echo '

    '.$lang['gorenje_password_warning'].'

    '; } // Obveščanje echo '
    '.$lang['password'].':'; echo '
    '; echo '
    '.$lang['again'].':'; 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 '
    '; // 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 '
    '; if (empty($user_option)) { $google2fa = new \Sonata\GoogleAuthenticator\GoogleAuthenticator(); $googleSecret = $google2fa->generateSecret(); $googleLink = \Sonata\GoogleAuthenticator\GoogleQrUrl::generate($row['email'], $googleSecret, $site_domain); //Prikaži QR kodo 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'].'
    '; echo '
    '; } else { echo ''; } } echo '
    '; echo '
    '; // Save gumb - ce ni AAI if(!$aai_instalacija){ echo '
    '.$lang['delete_account'] . '
    '; echo '
    '.$lang['edit1337'] . '
    '; echo ''; // div za prikaz uspešnosti shranjevanja if ($_GET['s'] == '1') { echo '
    '; echo ''; } echo '

    '; } // Tabela aktivnosti (prijav) echo '
    '.$lang['srv_login_tracking_title'].''; 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) { echo $lang['srv_login_tracking_noData']; } else { $count = 0; while ($row = mysqli_fetch_array ($result)) { echo '= 5 ? ' class="hide"' : '').'>'; echo ''; echo ''; echo ''; echo ''; $count++; } } echo ''; if(mysqli_num_rows($result) > 25){ echo ''; echo '

    '; } echo '
    '; UserTrackingClass::init()->userTrackingDisplay(); echo '
    '; } function setGlobalUserSetting() { global $lang, $global_user_id; # polovimo nastavitve uporabnika UserSetting::getInstance()->Init($global_user_id); if (isset($_REQUEST['name']) && isset($_REQUEST['value'])) { $name = $_REQUEST['name']; $value = $_REQUEST['value']; UserSetting::getInstance()->setUserSetting($name, $value); UserSetting::getInstance()->saveUserSetting(); } else {echo 'napaka';} } function showLockSurvey() { global $lang, $global_user_id, $admin_type; UserSetting::getInstance()->Init($global_user_id); # ali zaklepamo anketo ob aktivaciji $lockSurvey = (int)UserSetting::getInstance()->getUserSetting('lockSurvey'); if ($admin_type == '0' || $admin_type == '1') { echo '

    '; echo ''; echo '

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

    '.$lang['srv_unlock_popup'].'

    '; } } function ajax_showTestSurveySMTP(){ ob_start(); global $lang, $global_user_id; global $admin_type; $error = false; $msg = null; $email_msg = $lang['srv_mail_test_smtp_test_success']; $email_subject = $lang['srv_mail_test_smtp_test']; $MA = new MailAdapter($this->anketa); $settings = $MA->getSettingsFromRequest($_REQUEST); $mailMode = $_REQUEST['SMTPMailMode']; if (isset ($_COOKIE['uid'])) { $email = base64_decode ($_COOKIE['uid']); } else { $error = true; $msg = $lang['srv_mail_test_smtp_mail_detect_error']; } if (validEmail($email)){ // preverimo password - ne sme bit prazen if (($mailMode == 1 || $mailMode == 2) && empty($settings['SMTPPassword'])){ # password $error = true; $msg = $lang['srv_mail_test_smtp_password_error']; } } else { $error = true; $msg = $lang['srv_mail_test_smtp_mail_detect_error']; } // preverjanje je ok.. poizkusimo poslat testni email if ($error == false){ $MA->addRecipients($email); $result = $MA->sendMailTest($email_msg, $email_subject, $mailMode, $settings); if ($result == false){ $error = true; $msg = $lang['srv_mail_test_smtp_not_possible']; } } // če imamo napake jo izpišemo if ($error == true){ echo $lang['srv_mail_test_smtp_error'].': '. $msg; } else{ echo $lang['srv_mail_test_smtp_sent'].': '.$email; } #vsebino shranimo v buffer $content = ob_get_clean(); $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; } } ?>