anketa = $_GET['anketa']; elseif (isset ($_POST['anketa'])) $this->anketa = $_POST['anketa']; elseif ($anketa != 0) $this->anketa = $anketa; SurveyInfo::getInstance()->SurveyInit($this->anketa); $this->db_table = SurveyInfo::getInstance()->getSurveyArchiveDBString(); if (SurveyInfo::getInstance()->getSurveyColumn('expanded') == 1) $this->expanded = 1; } /** * izrise ogrodje urejanja vprasanja * */ function display () { global $lang; echo '
'.$lang['srv_select_type'].':'; foreach (Demografija::getInstance()->getSeznam($row['variable']) AS $variabla) { echo ''.$variabla.''; } echo '
'.$lang[$row['variable']].'
'.$lang['srv_vprasanje_upload_limit'].'
'.$lang['srv_vprasanje_upload_limit_type'].'
'.$lang['srv_hotspot_message'].'
'.$lang['srv_hot_spot_regions'].'
'.$lang['srv_hotspot_visibility_options_title'].':'.Help::display('srv_hotspot_visibility').' '; //vprasajcek za help ob osvetilitvi echo ''; echo ''; echo ''; echo '
'; echo ''.$lang['srv_hotspot_visibility_options_4'].''; echo ''.$lang['srv_hotspot_visibility_options_5'].''; //echo '
'.$lang['srv_hotspot_tooltips_options_title'].':'.Help::display($srv_hotspot_tooltip).' '; echo ''; echo ''.$lang['srv_hotspot_tooltips_options_0'].''; if($row['tip'] == 1 || $row['tip'] == 2){ //ce je radio ali checkbox echo ''.$lang['srv_hotspot_tooltips_options_1'].''; } //if($row['tip'] == 6){ //ce je radio grid if($row['tip'] == 6 ||$row['tip'] == 17){ //ce je radio grid ali razvrscanje echo ''.$lang['srv_hotspot_tooltips_options_2'].''; } echo ''; echo '
'.$lang['srv_prikaz_vprasanja'].'
'.$lang['srv_validation_no'].'
'.$row['name'].' - '.datetime($row['tracking_time']).'
'; echo $lang['srv_edit_chart'].':'; echo ''.$lang['srv_edit_chart_0'].''; echo ''.$lang['srv_edit_chart_1']; echo '
'; echo ''.$lang['srv_wide_chart'].':'; echo ''.$lang['srv_wide_chart0']; echo ''.$lang['srv_wide_chart1']; echo '
' && strtolower(substr($text, -4)) == '
') == 0) { $text = substr($text, 3); $text = substr($text, 0, -4); } echo '
'.$lang['srv_concl_link_datapiping'].'
'.$lang['srv_vprasanje_text'].': '.$row['naslov'].'
'.$lang['srv_vprasanje_text'].' - '.$lang['srv_editor'].':
'; if ($row['if_id'] > 0) { echo $lang['srv_podif_edit'].': '; echo ''; $b = new Branching($this->anketa); $b->conditions_display($row['if_id'], 0, 1); echo ''; } else { echo $lang['srv_podif_new'].': '; echo ''; } echo '
'.$row['naslov'].'
'.$lang['srv_vrednost_fastadd_txt'].'
'; $gridAlign = ($spremenljivkaParams->get('gridAlign') ? $spremenljivkaParams->get('gridAlign') : -1); echo '
'.$lang['srv_vprasanje_tip_22'].': '; echo ''; $calc = $b->calculations_display( - $this->spremenljivka); // za spremenljivke je v srv_calculation, v cnd_id zapisan id spremenljivke kot minus (plus je za kalkulacije v ifih) echo $calc != '' ? $calc : $lang['srv_editcalculation']; echo '
'.$lang['srv_chat_question_text'].'
' && strtolower(substr($naslov, -4)) != '
') === false) { $naslov = '
' . str_replace("\n", "
", $naslov) . '
') === false) { //$naslov = '
'.nl2br($naslov).'
'.$lang['spremenljivka_delete_data_vre'].'
'.$lang['srv_brisivrednostconfirm_data'].'
'.$lang['srv_brisivrednost'].' '.$lang['srv_analiza_arhiviraj_cancle'].'
' && strtolower(substr($naslov, -4)) == '
") === false) $naslov = $tmp; } $purifier = New Purifier(); $naslov = $purifier->purify_DB($naslov); if (isset($_POST['hotspot_image'])){ if ($_POST['hotspot_image'] == ""){ $hotspot_image = ""; } else{ $hotspot_image = $_POST['hotspot_image']; $dimensions_present = strpos($hotspot_image,'style='); //ce slika nima dimenzij if($dimensions_present == ""){ //pobrisi obstojeci parameter hotspot_image $newParams->set('hotspot_image', ""); $params = $newParams->getString(); $sql = sisplet_query("UPDATE srv_spremenljivka SET params='$params' WHERE id='$spr_id'"); $length = strlen($hotspot_image); //dobi dolzino celotne html kode za sliko $hotspot_image = substr($hotspot_image, 0, ($length-2)); //izlusci vse razen zadnjih dveh znakov, kjer se zakljuci html koda za sliko $hotspot_image = $hotspot_image . 'style="height:'.$_POST['height'].'px; width:'.$_POST['width'].'px;" />'; } } //vnesi parameter hotspot_image $newParams->set('hotspot_image', $hotspot_image); $params = $newParams->getString(); $sql = sisplet_query("UPDATE srv_spremenljivka SET params='$params' WHERE id='$spr_id'"); } if (!$sql) echo mysqli_error($GLOBALS['connect_db']); echo mysql_real_unescape_string($naslov); } function ajax_hotspot_edit() { $vrednost = $_POST['vrednost']; $this->hotspot_edit($vrednost); } function ajax_hotspot_edit_regions() { $vrednost = $_POST['vrednost']; //$src_image = $_POST['src_image']; //$hotspot_image_height = $_POST['hotspot_image_height']; //$hotspot_image_width = $_POST['hotspot_image_width']; //$spr_id = $_POST['spr_id']; $this->hotspot_edit_regions($vrednost); } function ajax_hotspot_save_regions () { Common::getInstance()->Init($this->anketa); Common::getInstance()->updateEditStamp(); $spr_id = $_POST['spr_id']; $vre_id = $_POST['vre_id']; $hotspot_region_name = $_POST['hotspot_region_name']; $hotspot_region_coords = $_POST['hotspot_region_coords']; $last_hotspot_region_index = $_POST['last_hotspot_region_index']; $hotspot_region_index = $_POST['hotspot_region_index']; //$hotspot_region_index = 0; $purifier = New Purifier(); $hotspot_region_name = $purifier->purify_DB($hotspot_region_name); $sqlVrednost = sisplet_query("SELECT variable, vrstni_red FROM srv_vrednost WHERE spr_id = $spr_id AND id = $vre_id"); $rowVrednost = mysqli_fetch_array($sqlVrednost); $vrstni_red = $rowVrednost['vrstni_red']; $rowSpr = Cache::srv_spremenljivka($spr_id); $variableName = $rowSpr['variable']; if($rowSpr['tip'] == 27){ //ce je heatmap vprasanje $variable = $variableName.chr($vrstni_red+96); //spremeni default "variable", da ne bo tezav pri izvozu podatkov v SPSS }else{ //drugace $variable = $rowVrednost['variable']; //poberi "variable" iz tabele srv_vrednost } //preveri, ce je kaksno obmocje shranjeno v bazi $sqlR = sisplet_query("SELECT id FROM srv_hotspot_regions WHERE spr_id = $spr_id AND vre_id = $vre_id"); $rowR = mysqli_fetch_array($sqlR); if (mysqli_num_rows($sqlR) == 0){ //se ni obmocja v bazi za trenutno spremenljivko in vrednost kategorije odgovora //vnesi podatke o obmocju v bazo za trenutno spremenljivko in vrednost kategorije odgovora $sql = sisplet_query("INSERT INTO srv_hotspot_regions (vre_id, spr_id, region_name, region_coords, region_index, variable, vrstni_red) VALUES ('$vre_id', '$spr_id', '$hotspot_region_name', '$hotspot_region_coords', '$last_hotspot_region_index', '$variable', '$vrstni_red')"); //posodobi podatke o obmocju za njegovo vrednost kategorije $sql_vre = sisplet_query("UPDATE srv_vrednost SET naslov = '$hotspot_region_name', variable = '$variable' WHERE spr_id = '$spr_id' AND id = '$vre_id'"); //naberi vse identifikatorje kategorij odgovorov drugih obmocij, ki niso trenutnega obmocja $sql_vre_select = sisplet_query("SELECT id, spr_id, variable, vrstni_red FROM srv_vrednost WHERE spr_id = $spr_id AND id != '$vre_id'"); //za vsako kategorijo odgovora drugih obmocij, ki niso trenutno obmocje while($row_vre_select = mysqli_fetch_array($sql_vre_select)){ $variable_select = $row_vre_select['variable']; $vrstni_red_select = $row_vre_select['vrstni_red']; $spr_id_select = $row_vre_select['spr_id']; $vre_id_select = $row_vre_select['id']; //posodobi podatke drugih obmocij $sql = sisplet_query("UPDATE srv_hotspot_regions SET variable = '$variable_select', vrstni_red = '$vrstni_red_select' WHERE spr_id = '$spr_id_select' AND vre_id = $vre_id_select"); } }else{ //obstaja obmocje v bazi za trenutno spremenljivko in vrednost kategorije odgovora //posodobi podatke o obmocju za trenutno spremenljivko in vrednost kategorije odgovora $sql = sisplet_query("UPDATE srv_hotspot_regions SET region_name = '$hotspot_region_name', region_coords = '$hotspot_region_coords', region_index = '$hotspot_region_index', variable = '$variable', vrstni_red = '$vrstni_red' WHERE spr_id = '$spr_id' AND vre_id = $vre_id"); //posodobi podatke o obmocju za njegovo vrednost kategorije $sql_vre = sisplet_query("UPDATE srv_vrednost SET naslov = '$hotspot_region_name' WHERE spr_id = '$spr_id' AND id = '$vre_id'"); } //poberi vre_id novega polja za shranjevanja imena naslednjega obmocja $sql_vre_id = sisplet_query("SELECT id FROM srv_vrednost WHERE spr_id = $spr_id order by vrstni_red DESC LIMIT 1"); $row_vre_id = mysqli_fetch_array($sql_vre_id); if (!$sql) echo mysqli_error($GLOBALS['connect_db']); echo mysql_real_unescape_string($hotspot_region_name); } function ajax_vrednost_save () { Common::getInstance()->Init($this->anketa); Common::getInstance()->updateEditStamp(); $vrednost = $_POST['vrednost']; $sql = sisplet_query("SELECT variable, variable_custom FROM srv_vrednost WHERE id = '$vrednost'"); $row = mysqli_fetch_array($sql); $variable = $_POST['vrednost_variable']; $naslov = $_POST['vrednost_naslov']; $random = $_POST['vrednost_random']; if (strtolower(substr($naslov, 0, 3)) == '
") === false) $naslov = $tmp; } $purifier = New Purifier(); $naslov = $purifier->purify_DB($naslov); if ($variable != $row['variable'] || $row['variable_custom'] == 1) $variable_custom = 1; else $variable_custom = 0; $sql = sisplet_query("UPDATE srv_vrednost SET naslov='$naslov', variable='$variable', variable_custom='$variable_custom', random='$random' WHERE id = '$vrednost'"); if (!$sql) echo mysqli_error($GLOBALS['connect_db']); echo mysql_real_unescape_string($naslov); } function ajax_vrednost_fastadd () { $this->vrednost_fastadd(); } function ajax_vrednost_fastadd_save () { Common::getInstance()->Init($this->anketa); Common::getInstance()->updateEditStamp(); global $lang; $fastadd = mysql_real_unescape_string( $_POST['fastadd'] ); if ($fastadd == '') return; $s = sisplet_query("DELETE FROM srv_vrednost WHERE spr_id='$this->spremenljivka' AND ( naslov='' OR naslov LIKE '%$lang[srv_new_vrednost]%' )"); echo ("DELETE FROM srv_vrednost WHERE spr_id='$this->spremenljivka' AND ( naslov='' OR naslov = '$lang[srv_new_vrednost]' )"); if (!$s) echo mysqli_error($GLOBALS['connect_db']); $fastadd = explode("\n", $fastadd); foreach ($fastadd AS $naslov) { if ($naslov != '') { $this->vrednost_new(trim($naslov), $other); } } Common::prestevilci($this->spremenljivka); } function ajax_vprasanje_refresh () { global $lang; if ($_GET['silentsave'] == 'true') $silentsave = true; else $silentsave = false; if ($this->expanded || $silentsave) { Cache::clear_cache(); if($this->spremenljivka > 0){ $Branching = new Branching($this->anketa); $Branching->vprasanje($this->spremenljivka); } elseif($this->spremenljivka == -1){ $Branching = new Branching($this->anketa); $Branching->introduction_conclusion(-1, 0); } elseif($this->spremenljivka == -2){ $Branching = new Branching($this->anketa); $Branching->introduction_conclusion(-2, 0); } elseif($this->spremenljivka == -3){ $Glasovanje = new Glasovanje($this->anketa); $Glasovanje->edit_statistika(); } } else { /* tole je skopirano iz Branching->spremenljivka_name(), da ne loadamo celga classa za par vrstic */ // tukaj je treba še enkrat prebrat iz baze, ker se vrednosti spremenijo Cache::clear_cache(); if ($this->spremenljivka > 0) { $this->spremenljivka_name($this->spremenljivka); } elseif ($this->spremenljivka == -1) { echo ''.$lang['srv_intro_label'].''; } elseif ($this->spremenljivka == -2) { echo ''.$lang['srv_end_label'].''; } } } function ajax_vprasanje_tracking () { global $lang; self::vprasanje_tracking(1); echo $lang['srv_vprasanje_tracking_done']; } function ajax_validation_new () { $sql = sisplet_query("INSERT INTO srv_if (id) VALUES ('')"); if (!$sql) echo mysqli_error($GLOBALS['connect_db']); $if_id = mysqli_insert_id($GLOBALS['connect_db']); $s = sisplet_query("INSERT INTO srv_condition (id, if_id, vrstni_red) VALUES ('', '$if_id', '1')"); if (!$s) echo mysqli_error($GLOBALS['connect_db']); $s = sisplet_query("INSERT INTO srv_validation (spr_id, if_id, reminder) VALUES ('$this->spremenljivka', '$if_id', '1')"); if (!$s) echo mysqli_error($GLOBALS['connect_db']); $b = new Branching($this->anketa); $b->spremenljivka = $_POST['spremenljivka']; $b->condition_editing($if_id, -4); } function ajax_validation_edit() { $if_id = (int)$_POST['if_id']; $b = new Branching($this->anketa); $b->spremenljivka = $_POST['spremenljivka']; $b->condition_editing($if_id, -4); } function ajax_validation_if_close () { $this->spremenljivka = $_POST['spremenljivka']; $this->vprasanje_validation(); } function ajax_change_subtype_number () { Common::getInstance()->Init($this->anketa); Common::getInstance()->updateEditStamp(); $row = Cache::srv_spremenljivka($this->spremenljivka); // slider pri numberju if ( isset($_POST['ranking_k']) && $row['tip']=='7' ) { if ($row['num_useMin'] == '0' && $row['num_useMax']=='0') { $s = sisplet_query("UPDATE srv_spremenljivka SET ranking_k='$_POST[ranking_k]', vsota_min='0', vsota_limit='100', num_useMin='1', num_useMax='1' WHERE id = '$this->spremenljivka'"); if (!$s) echo mysqli_error($GLOBALS['connect_db']); /*$s = sisplet_query("SELECT * From srv_spremenljivka WHERE id = '$this->spremenljivka'"); $r = mysqli_fetch_assoc($s); print_r($r);*/ } else { $s = sisplet_query("UPDATE srv_spremenljivka SET ranking_k='$_POST[ranking_k]' WHERE id = '$this->spremenljivka'"); if (!$s) echo mysqli_error($GLOBALS['connect_db']); } } // slider pri multinumberju if ( isset($_POST['ranking_k']) && $row['tip']=='20' ) { if ($row['num_useMin'] == '0' || $row['num_useMax']=='0') { $s = sisplet_query("UPDATE srv_spremenljivka SET ranking_k='$_POST[ranking_k]', vsota_min='0', vsota_limit='100', num_useMin='1', num_useMax='1', grids='1' WHERE id = '$this->spremenljivka'"); //$s = sisplet_query("UPDATE srv_spremenljivka SET ranking_k='$_POST[ranking_k]', vsota_min='0', vsota_limit='0', num_useMin='1', num_useMax='1', grids='1' WHERE id = '$this->spremenljivka'"); if (!$s) echo mysqli_error($GLOBALS['connect_db']); $s = sisplet_query("DELETE FROM srv_grid WHERE spr_id='$this->spremenljivka' AND vrstni_red > '1'"); if (!$s) echo mysqli_error($GLOBALS['connect_db']); } else { $s = sisplet_query("UPDATE srv_spremenljivka SET ranking_k='$_POST[ranking_k]' WHERE id = '$this->spremenljivka'"); if (!$s) echo mysqli_error($GLOBALS['connect_db']); } } } /** * manual je, ce rocno pozenemo tracking, sicer se poganja avtomatsko * * @param mixed $manual */ public static function vprasanje_tracking($manual = 0) { global $global_user_id; $anketa = (int)$_REQUEST['anketa']; $spremenljivka = (int)$_REQUEST['spremenljivka']; SurveyInfo::getInstance()->SurveyInit($anketa); $row = SurveyInfo::getInstance()->getSurveyRow(); if ($row['vprasanje_tracking'] == 0) return; if ($row['vprasanje_tracking'] == 2 && $manual==0) return; if ($row['vprasanje_tracking'] == 3 && $_GET['silentsave']!='undefined') return; $branching = new Branching($anketa); $tracking_id = $branching->nova_spremenljivka(-1, 0, 0, $spremenljivka); sisplet_query("INSERT INTO srv_spremenljivka_tracking (ank_id, spr_id, tracking_id, tracking_uid, tracking_time) VALUES ('$anketa', '$spremenljivka', '$tracking_id', '$global_user_id', NOW())"); } function ajax_grid_multiple_add () { global $lang; echo '
'.$lang['srv_gridmultiple_choose'].'
'.$lang['srv_vprasanje_tip_1'].'
'.$lang['srv_vprasanje_tip_2'].'
'.$lang['srv_vprasanje_tip_21'].'
'.$lang['srv_vprasanje_tip_7'].'
'.$lang['srv_vprasanje_datum'].'
'.$lang['srv_analiza_opisne_subquestion'].'
'.$lang['srv_odgovorov'].': '; echo ''; //echo ''; // Vedno imamo najmanj 2 grida (drugace so stvari cudne v analizah) - namesto 1 se uporabi navaden radio tip vprasanja // Pri number sliderju se rabi 1 (mogoče še kje - npr checkbox itd.... ) analize morajo delati tudi v tem primeru :P for ($i=1; $i<=20; $i++) echo ''.$i.''; echo ''; echo '
'.$lang['srv_orientacija'].': '; //echo ''; echo ''; //echo ''; echo ''.$lang['srv_classic'].''; echo ''.$lang['srv_dropdown'].''; echo ''.$lang['srv_select-box_radio'].''; echo ''; echo '
'.$lang['srv_orientacija'].': '; //echo ''; //echo ''; echo ''; echo ''.$lang['srv_classic'].''; echo ''.$lang['srv_select-box_check'].''; echo ''; echo '
'; $taWidth = ($spremenljivkaParams->get('taWidth') ? $spremenljivkaParams->get('taWidth') : -1); $taHeight = ($spremenljivkaParams->get('taHeight') ? $spremenljivkaParams->get('taHeight') : 1); // Sirina polja echo $lang['srv_textAreaWidth'].': '; $size = $row['grids']; $missing_count = 0; # če imamo missinge size povečamo za 1 + številomissingov $sql_grid_mv = sisplet_query("SELECT * FROM srv_grid WHERE spr_id='".$this->spremenljivka."' AND other != 0"); $missing_count = mysqli_num_rows($sql_grid_mv); if ($missing_count > 0) { $size += $missing_count + 1; } echo ''; $maxWidth = round(50 / $size); $maxWidth = 10; echo ''.$lang['default'].''; for($i=1; $i<$maxWidth; $i++){ echo '' . $i . ''; } echo ''; // Visina polja echo ''.$lang['srv_textAreaHeight'].': '; $maxHeight = 10; for($i=1; $i<=$maxHeight; $i++){ echo '' . $i . ''; } echo ''; echo '
'; echo ''.$lang['srv_visible_dostop'].': '; echo ''; echo ''.$lang['see_everybody'].''; echo ''.$lang['see_registered'].''; echo ''.$lang['see_member'].''; echo ''.$lang['see_manager'].''; echo ''.$lang['see_admin'].''; echo ''; echo '
'; echo ''.$lang['srv_gridmultiple_width'].': '; echo ''; echo ''.$lang['default'].''; echo '10%'; echo '20%'; echo '30%'; echo '40%'; echo '50%'; echo '60%'; echo ''; echo '
'.$lang['srv_drag_and_drop_new_look_option'].':'; echo ''; echo ''.$lang['srv_drag_and_drop_new_look_option1'].''; echo ''.$lang['srv_drag_and_drop_new_look_option2'].''; echo '
'.$lang['srv_vprasanje_heatmap_clicks_color'].': '.$lang['srv_te_default'].'
'.$lang['srv_vprasanje_heatmap_clicks_color'].': '; echo ''; echo '
'.$lang['srv_hotspot_visibility_options_title'].':'.Help::display('srv_hotspot_visibility').' '; echo ''; echo ''.$lang['srv_hotspot_visibility_options_0'].''; echo ''.$lang['srv_hotspot_visibility_options_1'].''; echo ''.$lang['srv_hotspot_visibility_options_2'].''; //echo ''.$lang['srv_hotspot_visibility_options_3'].''; echo ''; echo '
'.$lang['srv_hotspot_tooltips_options_title'].':'.Help::display($srv_hotspot_tooltip).' '; echo ''; echo ''.$lang['srv_hotspot_tooltips_options_0'].''; if($row['tip'] == 1 || $row['tip'] == 2){ //ce je radio ali checkbox echo ''.$lang['srv_hotspot_tooltips_options_1'].''; } if($row['tip'] == 6){ //ce je radio grid echo ''.$lang['srv_hotspot_tooltips_options_2'].''; } echo ''; echo '