2020-08-14 13:36:36 +02:00
< ? php
/***************************************
* Description :
* Autor : Robert Šmalc
* Created date : 08.02 . 2016
*****************************************/
namespace App\Controllers ;
use App\Controllers\CheckController as Check ;
use App\Controllers\FindController as Find ;
use App\Controllers\HeaderController as Header ;
use App\Controllers\HelperController as Helper ;
use App\Models\Model ;
use Cache ;
use enkaParameters ;
2021-06-02 09:11:14 +02:00
use Mobile_Detect ;
2020-08-14 13:36:36 +02:00
use SurveyAdvancedParadataLog ;
use SurveyInfo ;
use SurveySetting ;
use SurveySlideshow ;
use Common ;
use SurveyPanel ;
2021-09-29 10:37:17 +02:00
use AppSettings ;
2020-08-14 13:36:36 +02:00
class JsController extends Controller
{
public function __construct ( $var = null )
{
parent :: getGlobalVariables ();
}
/************************************************
* Get instance
************************************************/
private static $_instance ;
public static function getInstance ()
{
if ( self :: $_instance )
return self :: $_instance ;
return new JsController ();
}
// izpise kodo za JS sledenje, ce je nastavljena
public static function js_tracking ()
{
$row = SurveyInfo :: getSurveyRow ();
if ( $row [ 'js_tracking' ] != '' ) {
echo '<!-- JS tracking code -->' ;
echo $row [ 'js_tracking' ];
echo '<!-- / JS tracking code -->' ;
}
}
/**
* @ desc generira JavaScript za alert pri vprasanjih z reminderjem
*/
public function generateSubmitJS ()
{
global $lang ;
global $site_url ;
global $admin_type ;
// Dodaten text pri alertu ce smo v testnem vnosu
$test_alert = ( isset ( $_GET [ 'testdata' ]) && $_GET [ 'testdata' ] == 'on' ) ? '\n\n' . $lang [ 'srv_remind_preview' ] : '' ;
// Custom texti za opozorila...
SurveySetting :: getInstance () -> Init ( get ( 'anketa' ));
if ( get ( 'lang_id' ) != null ) $_lang = '_' . get ( 'lang_id' ); else $_lang = '' ;
$srv_remind_sum_hard = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_sum_hard' . $_lang );
if ( $srv_remind_sum_hard == '' ) $srv_remind_sum_hard = $lang [ 'srv_remind_sum_hard' ];
$srv_remind_sum_hard = strip_tags ( addslashes ( stripslashes ( $srv_remind_sum_hard ))) . $test_alert ;
$srv_remind_sum_soft = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_sum_soft' . $_lang );
if ( $srv_remind_sum_soft == '' ) $srv_remind_sum_soft = $lang [ 'srv_remind_sum_soft' ];
$srv_remind_sum_soft = strip_tags ( addslashes ( stripslashes ( $srv_remind_sum_soft ))) . $test_alert ;
$srv_remind_num_hard = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_num_hard' . $_lang );
if ( $srv_remind_num_hard == '' ) $srv_remind_num_hard = $lang [ 'srv_remind_num_hard' ];
$srv_remind_num_hard = strip_tags ( addslashes ( stripslashes ( $srv_remind_num_hard ))) . $test_alert ;
$srv_remind_num_soft = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_num_soft' . $_lang );
if ( $srv_remind_num_soft == '' ) $srv_remind_num_soft = $lang [ 'srv_remind_num_soft' ];
$srv_remind_num_soft = strip_tags ( addslashes ( stripslashes ( $srv_remind_num_soft ))) . $test_alert ;
$srv_remind_text_num_hard = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_text_num_hard' . $_lang );
if ( $srv_remind_text_num_hard == '' ) $srv_remind_text_num_hard = $lang [ 'srv_remind_text_num_hard' ];
$srv_remind_text_num_hard = strip_tags ( addslashes ( stripslashes ( $srv_remind_text_num_hard ))) . $test_alert ;
$srv_remind_text_num_soft = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_text_num_soft' . $_lang );
if ( $srv_remind_text_num_soft == '' ) $srv_remind_text_num_soft = $lang [ 'srv_remind_text_num_soft' ];
$srv_remind_text_num_soft = strip_tags ( addslashes ( stripslashes ( $srv_remind_text_num_soft ))) . $test_alert ;
//za minimalno stevilo izbranih checkbox-ov
$srv_remind_checkbox_min_violated_hard = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_checkbox_min_violated_hard' . $_lang );
if ( $srv_remind_checkbox_min_violated_hard == '' ) $srv_remind_checkbox_min_violated_hard = $lang [ 'srv_remind_checkbox_min_violated_hard' ];
$srv_remind_checkbox_min_violated_hard = strip_tags ( addslashes ( stripslashes ( $srv_remind_checkbox_min_violated_hard ))) . $test_alert ;
$srv_remind_checkbox_min_violated_soft = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_checkbox_min_violated_soft' . $_lang );
if ( $srv_remind_checkbox_min_violated_soft == '' ) $srv_remind_checkbox_min_violated_soft = $lang [ 'srv_remind_checkbox_min_violated_soft' ];
$srv_remind_checkbox_min_violated_soft = strip_tags ( addslashes ( stripslashes ( $srv_remind_checkbox_min_violated_soft ))) . $test_alert ;
//za minimalno stevilo izbranih checkbox-ov - konec
$srv_remind_hard = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_hard' . $_lang );
if ( $srv_remind_hard == '' ) $srv_remind_hard = $lang [ 'srv_remind_hard' ];
$srv_remind_hard = strip_tags ( addslashes ( stripslashes ( $srv_remind_hard ))) . $test_alert ;
$srv_remind_soft = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_soft' . $_lang );
if ( $srv_remind_soft == '' ) $srv_remind_soft = $lang [ 'srv_remind_soft' ];
$srv_remind_soft = strip_tags ( addslashes ( stripslashes ( $srv_remind_soft ))) . $test_alert ;
$srv_remind_hard_99 = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_hard_-99' . $_lang );
if ( $srv_remind_hard_99 == '' ) $srv_remind_hard_99 = $lang [ 'srv_remind_hard_-99' ];
$srv_remind_hard_99 = strip_tags ( addslashes ( stripslashes ( $srv_remind_hard_99 ))) . $test_alert ;
$srv_remind_soft_99 = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_soft_-99' . $_lang );
if ( $srv_remind_soft_99 == '' ) $srv_remind_soft_99 = $lang [ 'srv_remind_soft_-99' ];
$srv_remind_soft_99 = strip_tags ( addslashes ( stripslashes ( $srv_remind_soft_99 ))) . $test_alert ;
$srv_remind_hard_98 = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_hard_-98' . $_lang );
if ( $srv_remind_hard_98 == '' ) $srv_remind_hard_98 = $lang [ 'srv_remind_hard_-98' ];
$srv_remind_hard_98 = strip_tags ( addslashes ( stripslashes ( $srv_remind_hard_98 ))) . $test_alert ;
$srv_remind_soft_98 = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_soft_-98' . $_lang );
if ( $srv_remind_soft_98 == '' ) $srv_remind_soft_98 = $lang [ 'srv_remind_soft_-98' ];
$srv_remind_soft_98 = strip_tags ( addslashes ( stripslashes ( $srv_remind_soft_98 ))) . $test_alert ;
$srv_remind_hard_97 = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_hard_-97' . $_lang );
if ( $srv_remind_hard_97 == '' ) $srv_remind_hard_97 = $lang [ 'srv_remind_hard_-97' ];
$srv_remind_hard_97 = strip_tags ( addslashes ( stripslashes ( $srv_remind_hard_97 ))) . $test_alert ;
$srv_remind_soft_97 = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_soft_-97' . $_lang );
if ( $srv_remind_soft_97 == '' ) $srv_remind_soft_97 = $lang [ 'srv_remind_soft_-97' ];
$srv_remind_soft_97 = strip_tags ( addslashes ( stripslashes ( $srv_remind_soft_97 ))) . $test_alert ;
$srv_remind_hard_multi = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_hard_multi' . $_lang );
if ( $srv_remind_hard_multi == '' ) $srv_remind_hard_multi = $lang [ 'srv_remind_hard_multi' ];
$srv_remind_hard_multi = strip_tags ( addslashes ( stripslashes ( $srv_remind_hard_multi ))) . $test_alert ;
$srv_remind_soft_multi = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_soft_multi' . $_lang );
if ( $srv_remind_soft_multi == '' ) $srv_remind_soft_multi = $lang [ 'srv_remind_soft_multi' ];
$srv_remind_soft_multi = strip_tags ( addslashes ( stripslashes ( $srv_remind_soft_multi ))) . $test_alert ;
$srv_remind_captcha_soft = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_captcha_soft' . $_lang );
if ( $srv_remind_captcha_soft == '' ) $srv_remind_captcha_soft = $lang [ 'srv_remind_captcha_soft' ];
$srv_remind_captcha_soft = strip_tags ( addslashes ( stripslashes ( $srv_remind_captcha_soft ))) . $test_alert ;
$srv_remind_captcha_hard = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_captcha_hard' . $_lang );
if ( $srv_remind_captcha_hard == '' ) $srv_remind_captcha_hard = $lang [ 'srv_remind_captcha_hard' ];
$srv_remind_captcha_hard = strip_tags ( addslashes ( stripslashes ( $srv_remind_captcha_hard ))) . $test_alert ;
$srv_remind_email_soft = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_email_soft' . $_lang );
if ( $srv_remind_email_soft == '' ) $srv_remind_email_soft = $lang [ 'srv_remind_email_soft' ];
$srv_remind_email_soft = strip_tags ( addslashes ( stripslashes ( $srv_remind_email_soft ))) . $test_alert ;
$srv_remind_email_hard = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_remind_email_hard' . $_lang );
if ( $srv_remind_email_hard == '' ) $srv_remind_email_hard = $lang [ 'srv_remind_email_hard' ];
$srv_remind_email_hard = strip_tags ( addslashes ( stripslashes ( $srv_remind_email_hard ))) . $test_alert ;
$srv_alert_number_toobig = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_alert_number_toobig' . $_lang );
if ( $srv_alert_number_toobig == '' ) $srv_alert_number_toobig = $lang [ 'srv_alert_number_toobig' ];
$srv_alert_number_toobig = strip_tags ( addslashes ( stripslashes ( $srv_alert_number_toobig ))) . $test_alert ;
$srv_alert_number_exists = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_alert_number_exists' . $_lang );
if ( $srv_alert_number_exists == '' ) $srv_alert_number_exists = $lang [ 'srv_alert_number_exists' ];
$srv_alert_number_exists = strip_tags ( addslashes ( stripslashes ( $srv_alert_number_exists ))) . $test_alert ;
$mobile_tables = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'mobile_tables' );
$srv_remind_checkbox_max_violated_hard = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srv_remind_checkbox_max_violated_hard' . $_lang );
if ( $srv_remind_checkbox_max_violated_hard == '' ) $srv_remind_checkbox_max_violated_hard = $lang [ 'srv_remind_checkbox_max_violated_hard' ];
$srv_remind_checkbox_max_violated_hard = strip_tags ( addslashes ( stripslashes ( $srv_remind_checkbox_max_violated_hard ))) . $test_alert ;
echo ' <script> ' . " \n " ;
?>
var lang_srv_alert_number_exists = " <?= $srv_alert_number_exists ?> " ;
var lang_srv_alert_number_toobig = " <?= $srv_alert_number_toobig ?> " ;
var lang_srv_remind_checkbox_max_violated_hard = " <?= $srv_remind_checkbox_max_violated_hard ?> " ;
< ?
$survey_hint = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'survey_hint' );
if ( $survey_hint == '' ) $survey_hint = 1 ;
echo ' // generateSubmitJS() ' . " \n " ;
?>
function submitAlert ( id , action , type , bol , validation , txt , alert_sum , alert_num , alert_validation ) {
if ( validation == true ) {
if ( < ? = $survey_hint ?> == 1) {
// pri tabelah izberemo celo spremenljivko
if ( ! $ ( id ) . hasClass ( 'spremenljivka' ) ) {
id = '#' + $ ( id ) . closest ( '.spremenljivka' )[ 0 ] . id ;
}
if ( type == 'require' || type == 'require2' || type == 'require3' || type == 'require4' || type == 'require5' ) {
if ( $ ( id )[ 0 ] . getAttribute ( 'data-vrstni_red' ) >= max_vrstni_red ) return ;
} else {
if ( $ ( id )[ 0 ] . getAttribute ( 'data-vrstni_red' ) > max_vrstni_red ) return ;
}
var text ;
if ( type == 'require' )
text = '<?= str_replace(' \n ', ' < br /> ', $srv_remind_hard) ?>' ;
if ( type == 'require2' )
text = '<?= str_replace(' \n ', ' < br /> ', $srv_remind_hard_99) ?>' ;
if ( type == 'require3' )
text = '<?= str_replace(' \n ', ' < br /> ', $srv_remind_hard_98) ?>' ;
if ( type == 'require4' )
text = '<?= str_replace(' \n ', ' < br /> ', $srv_remind_hard_97) ?>' ;
if ( type == 'require5' )
text = '<?= str_replace(' \n ', ' < br /> ', $srv_remind_hard_multi) ?>' ;
if ( type == 'limit' )
text = '<?= str_replace(' \n ', ' < br /> ', $srv_remind_num_hard) ?>' ;
if ( type == 'text_limit' )
text = '<?= str_replace(' \n ', ' < br /> ', $srv_remind_text_num_hard) ?>' ;
if ( type == 'validation' )
text = txt ;
if ( type == 'checkbox_min_limit' )
text = '<?= str_replace(' \n ', ' < br /> ', $srv_remind_checkbox_min_violated_hard) ?>' ;
if ( action == 'add' ) {
if ( $ ( id + ' div.validation_alert.' + type + '' ) . length == 0 ){
$ ( id ) . append ( '<div class="validation_alert ' + type + '">' + text + '</div>' );
// Ce je opozorilo izven ekrana (ozki ekran, mobitel, tablica...) ga prikazemo na desni
$ ( 'div.validation_alert' ) . each ( function (){
if ( $ ( this ) . offset () . left < 0 ){
$ ( this ) . addClass ( 'alignRight' );
}
});
}
showMissing ( id );
}
else {
$ ( id + ' div.validation_alert.' + type + '' ) . remove ();
}
}
}
else {
if ( action == 'add' ) {
$ ( id ) . addClass ( 'required_' + type );
// Ce imamo vklopljene napredne parapodatke zabelezimo opozorilo
< ? if ( SurveyAdvancedParadataLog :: getInstance () -> paradataEnabled ()){ ?>
dodaj_opozorilo ( alert_sum , alert_num , alert_validation , bol , id );
< ? } ?>
showMissing ( id );
}
else {
$ ( id ) . removeClass ( 'required_' + type );
}
}
}
function isEmail ( email ) {
var regex = /^ ([ a - zA - Z0 - 9_ .+- ]) + \ @ (([ a - zA - Z0 - 9 - ]) + \ . ) + ([ a - zA - Z0 - 9 ]{ 2 , 4 }) + $ / ;
return regex . test ( email );
}
function showMissing ( id ) {
$ ( id ) . find ( '.missing' ) . slideDown ();
}
< ?
echo ' function submitForm(parent_if, validation) { ' . " \n " ;
echo ' if (is_paused_slideshow == true) return false' . " \n " ;
echo ' var hard = true; ' . " \n " ;
echo ' var soft = true; ' . " \n " ;
echo ' var vsota = true; ' . " \n " ;
echo ' var num = true; ' . " \n " ;
echo ' var text_num = true; ' . " \n " ;
echo ' var checkbox_min_limit_alert = false; ' . " \n " ;
$sql = sisplet_query ( " SELECT * FROM srv_spremenljivka WHERE gru_id=' " . get ( 'grupa' ) . " ' AND gru_id != '0' AND reminder > 0 ORDER BY vrstni_red ASC " );
while ( $row = mysqli_fetch_array ( $sql )) {
echo ' try { ' . " \n " ;
// katero spremenljivko bomo nastavili
if ( $row [ 'reminder' ] == 1 ) {
$bol = 'soft' ;
} else {
$bol = 'hard' ;
}
// ce prikazujemo naknadno vec moznosti (recimo nevem in neustrezno)
if (( $row [ 'alert_show_99' ] == 1 && $row [ 'alert_show_98' ] == 1 ) || ( $row [ 'alert_show_99' ] == 1 && $row [ 'alert_show_97' ] == 1 ) || ( $row [ 'alert_show_98' ] == 1 && $row [ 'alert_show_97' ] == 1 )) {
$require = 'require5' ;
} // ce prikazujemo naknadno ne vem
elseif ( $row [ 'alert_show_99' ] == 1 ) {
$require = 'require2' ;
} // ce prikazujemo naknadno zavrnil
elseif ( $row [ 'alert_show_98' ] == 1 ) {
$require = 'require3' ;
} // ce prikazujemo naknadno neustrezno
elseif ( $row [ 'alert_show_97' ] == 1 ) {
$require = 'require4' ;
} else {
$require = 'require' ;
}
// najprej damo pogoj, da se uposteva, samo ce je vprasanje vidno (ker je lahko v ifu)
//echo ' if ( $(\'#spremenljivka_'.$row['id'].'\').css(\'display\') != \'none\' ) { '."\n";
echo ' if ( document.getElementById(\'spremenljivka_' . $row [ 'id' ] . '\').style.display != \'none\' ) { ' . " \n " ;
// radio in checkbox
if ( $row [ 'tip' ] <= 2 && ( $row [ 'orientation' ] != 8 || get ( 'mobile' ) == 1 )) {
if ( $row [ 'tip' ] == 1 )
$ime = 'vrednost_' . $row [ 'id' ];
else
$ime = 'vrednost_' . $row [ 'id' ] . '[]' ;
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' var len = obj.length; ' . " \n " ;
echo ' var bol = false; ' . " \n " ;
// ce je samo 1 (spodnja procedura ne prime, je treba posebej)
echo ' if (len == undefined) { ' . " \n " ;
echo ' if (obj.checked) ' . " \n " ;
echo ' bol = true; ' . " \n " ;
// sicer gremo normalno čez vse
//preureditev za pregled textboxa za drugo
echo ' } else { ' . " \n " ;
echo ' var bolTextBox = [] ' . " \n " ; //polje, ki shranjuje info o boolean za "drugo"
echo ' for (i=0; i<len; i++){ ' . " \n " ;
echo ' if (obj[i].checked){ ' . " \n " ; //ce je odgovor izbran
echo ' bol = true; ' . " \n " ;
//urejanje za textbox za drugo
echo ' var drugo_temp = obj[i].id.replace("vrednost", "textfield"); ' . " \n " ;
echo ' if($("#"+drugo_temp).length){ ' . " \n " ;
echo ' var drugo_text_empty = true; ' . " \n " ;
echo ' if($("#"+drugo_temp).val() != ""){ ' . " \n " ;
echo ' drugo_text_empty = false; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' if (drugo_text_empty){ ' . " \n " ;
echo ' bolTextBox[i] = false; ' . " \n " ;
echo ' }else{ ' . " \n " ;
echo ' bolTextBox[i] = true; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
//urejanje za textbox za drugo - konec
echo ' } ' . " \n " ; //konec if (obj[i].checked)
echo ' } ' . " \n " ; //konec for
//ce polje za textbox "drugo" ni prazno, ustrezno uredi spremenljivko bol
echo ' if(bolTextBox.indexOf(false)>0){ ' . " \n " ;
echo ' bol = false; ' . " \n " ;
echo ' } ' . " \n " ;
//ce polje za textbox "drugo" ni prazno, ustrezno uredi spremenljivko bol - konec
echo ' } ' . " \n " ;
//preureditev za pregled textboxa za drugo - konec
// Posebna funkcionalnost za ministrstvo za obrambo, ker se mudi (q5,q6,q8,q9,q11,q14)
if ( $site_url == 'https://www.1ka.si/' && get ( 'anketa' ) == '180402' && in_array ( $row [ 'id' ], array ( '10654896' , '10654916' , '10668668' , '10677046' , '10668603' , '10657205' ))){
// Minimalno št. checkboxov (3 oz. 5)
if ( in_array ( $row [ 'id' ], array ( '10654896' , '10654916' , '10668668' , '10677046' ))){
$cnt_special = ( $row [ 'id' ] == '10668668' ) ? 5 : 3 ;
echo ' var cnt_special = 0; ' . " \n " ;
echo ' for (i=0; i<len; i++){ ' . " \n " ;
echo ' if (obj[i].checked) ' . " \n " ;
echo ' cnt_special ++; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' if (cnt_special != ' . $cnt_special . ') ' . " \n " ;
echo ' bol = false; ' . " \n " ;
}
// Kliknil drugo brez vnosa v text polje
if ( in_array ( $row [ 'id' ], array ( '10654896' , '10668603' , '10657205' ))){
echo ' for (i=0; i<len; i++){ ' . " \n " ;
echo ' if (obj[i].checked){ ' . " \n " ;
echo ' var drugo_temp = obj[i].id.replace("vrednost", "textfield"); ' . " \n " ;
echo ' if($("#"+drugo_temp).length){ ' . " \n " ;
echo ' var drugo_text_empty = true; ' . " \n " ;
echo ' if($("#"+drugo_temp).val() != "") ' . " \n " ;
echo ' drugo_text_empty = false; ' . " \n " ;
echo ' if (drugo_text_empty) ' . " \n " ;
echo ' bol = false; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
}
}
echo ' if (!bol) { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'' . $require . '\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'' . $require . '\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' }' . " \n " ;
}
//drag and drop - kategorije en in vec odgovorov
if ( $row [ 'tip' ] <= 2 && ( $row [ 'orientation' ] == 8 && get ( 'mobile' ) != 1 )) {
$ime = 'vrednost_' . $row [ 'id' ];
echo '
var bol = false ;
var prisotno = $ ( " #half2_frame_dropping_' . $row['id'] . ' " ) . children ( " div " ) . attr ( " value " );
if ( prisotno ){
bol = true ;
}
if ( ! bol ) {
' . $bol . ' = false ;
submitAlert ( \ '#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'' . $require . '\', \'' . $bol . ' \ ' , validation , false , false , false , false );
} else {
submitAlert ( \ '#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'' . $require . '\', \'' . $bol . ' \ ' , validation , false , false , false , false );
}
' ;
// dropdown
} elseif ( $row [ 'tip' ] == 3 ) {
$ime = 'vrednost_' . $row [ 'id' ];
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' if (!obj.value > 0) { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
} //tabele @ drag and drop
elseif (( $row [ 'tip' ] == 6 && $row [ 'enota' ] == 9 ) || ( $row [ 'tip' ] == 16 && $row [ 'enota' ] == 9 )) {
echo '
//console.log("Drag and drop Tabela en odgovorov");
var bol = true ;
var prisotno = $ ( " #half_frame_dropping_' . $row['id'] . ' " ) . children ( " div " ) . attr ( " value " );
if ( prisotno ){
bol = false ;
}
if ( ! bol ) {
' . $bol . ' = false ;
submitAlert ( \ '#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'' . $require . '\', \'' . $bol . ' \ ' , validation , false , false , false , false );
} else {
submitAlert ( \ '#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'' . $require . '\', \'' . $bol . ' \ ' , validation , false , false , false , false );
}
' ;
// tabele
//} elseif ($row['tip'] == 6 || $row['tip'] == 16 || $row['tip'] == 19 || $row['tip'] == 20) {
} elseif (( $row [ 'tip' ] == 6 && $row [ 'enota' ] != 9 ) || $row [ 'tip' ] == 16 || $row [ 'tip' ] == 19 || $row [ 'tip' ] == 20 ) {
echo ' var totalbol = true; ' ;
$sql1 = sisplet_query ( " SELECT id FROM srv_vrednost WHERE spr_id=' $row[id] ' AND other!='1' ORDER BY vrstni_red " );
while ( $row1 = mysqli_fetch_array ( $sql1 )) {
// Pri postopnem resevanju multigrida tega nimamo, ker drugace ne dela ok (ker deluje na principu da so vse vrstice razen tekoce display:none;)
if ( $row [ 'dynamic_mg' ] == 0 ) {
echo ' if ( document.getElementById(\'vrednost_if_' . $row1 [ 'id' ] . '\').style.display != \'none\' ) { ' . " \n " ;
}
// dropdown
if ( $row [ 'enota' ] == 2 ) { // zakaj je tole? pride do bugov, ce je ostala enota nastavljena na ostalih tipih
// todo
$ime = 'vrednost_' . $row1 [ 'id' ];
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' if (!obj.value > 0) { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' totalbol = false; ' . " \n " ;
echo ' if (!validation) submitAlert(\'#vrednost_if_' . $row1 [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' if (!validation) submitAlert(\'#vrednost_if_' . $row1 [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
// multi radio
//} elseif ($row['tip'] == 6) {
} elseif ( $row [ 'tip' ] == 6 && $row [ 'enota' ] != 9 ) {
$ime = 'vrednost_' . $row1 [ 'id' ];
// Pri postopnem resevanju moramo skrite z ifom posebej izlociti iz preverjanja
if ( $row [ 'dynamic_mg' ] != 0 ) {
echo ' if( !$(\'#vrednost_if_' . $row1 [ 'id' ] . '\').hasClass(\'if_hide\') ){ ' . " \n " ;
}
//echo 'console.log("Klasična tabela!"); ';
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' var len = obj.length; ' . " \n " ;
echo ' var bol = false; ' . " \n " ;
// ce je samo 1 (spodnja procedura ne prime, je treba posebej)
echo ' if (len == undefined) { ' . " \n " ;
echo ' if (obj.checked) ' . " \n " ;
echo ' bol = true; ' . " \n " ;
// sicer gremo normalno čez vse
echo ' } else { ' . " \n " ;
echo ' for (i=0; i<len; i++) ' . " \n " ;
echo ' if (obj[i].checked) ' . " \n " ;
echo ' bol = true; ' . " \n " ;
echo ' } ' . " \n " ;
// Pri dvojnih tabelah moramo posebej preverjati se desno stran
echo ' var bol2 = true; ' . " \n " ;
if ( $row [ 'enota' ] == 3 ) {
$ime2 = 'vrednost_' . $row1 [ 'id' ] . '_part_2' ;
echo ' var obj2 = document.forms[\'vnos\'].elements[\'' . $ime2 . '\']; ' . " \n " ;
echo ' var len2 = obj2.length; ' . " \n " ;
echo ' var bol2 = false; ' . " \n " ;
echo ' for (i=0; i<len2; i++) ' . " \n " ;
echo ' if (obj2[i].checked) ' . " \n " ;
echo ' bol2 = true; ' . " \n " ;
}
echo ' if (!bol || !bol2) { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' totalbol = false; ' . " \n " ;
echo ' if (!validation) submitAlert(\'#vrednost_if_' . $row1 [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' if (!validation) submitAlert(\'#vrednost_if_' . $row1 [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
// Pri postopnem resevanju moramo skrite z ifom posebej izlociti iz preverjanja
if ( $row [ 'dynamic_mg' ] != 0 ) {
echo ' } ' . " \n " ;
}
// multicheck
//} elseif ($row['tip'] == 16) {
} elseif ( $row [ 'tip' ] == 16 && $row [ 'enota' ] != 9 ) {
$ime = 'vrednost_' . $row1 [ 'id' ];
echo ' var bol = false; ' . " \n " ;
echo ' for (var i=1; i<=' . $row [ 'grids' ] . '; i++) { ' . " \n " ;
echo ' obj = document.getElementById(\'' . $ime . '_grid_\'+i); ' . " \n " ;
echo ' if (obj.checked || obj.disabled) ' . " \n " ;
echo ' bol = true; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' if (!bol) { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' totalbol = false; ' . " \n " ;
echo ' if (!validation) submitAlert(\'#vrednost_if_' . $row1 [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' if (!validation) submitAlert(\'#vrednost_if_' . $row1 [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
// tabela besedilo in tabela number
} elseif ( $row [ 'tip' ] == 19 || $row [ 'tip' ] == 20 ) {
$ime = 'vrednost_' . $row1 [ 'id' ];
echo ' var bol = false; ' . " \n " ;
echo ' for (var i=1; i<=' . $row [ 'grids' ] . '; i++) { ' . " \n " ;
echo ' obj = document.getElementById(\'' . $ime . '_grid_\'+i); ' . " \n " ;
echo ' if (obj.value != "" || obj.disabled) ' . " \n " ;
echo ' bol = true; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' if (!bol) { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' totalbol = false; ' . " \n " ;
echo ' if (!validation) submitAlert(\'#vrednost_if_' . $row1 [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' if (!validation) submitAlert(\'#vrednost_if_' . $row1 [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
}
// Pri postopnem resevanju multigrida tega nimamo, ker drugace ne dela ok
if ( $row [ 'dynamic_mg' ] == 0 ) {
echo ' } ' . " \n " ;;
}
}
echo ' if (validation) { ' ;
echo ' if (!totalbol) ' ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' else ' ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' ;
// besedilo *
} elseif ( $row [ 'tip' ] == 21 ) {
// captcha
$spremenljivkaParams = new enkaParameters ( $row [ 'params' ]);
$captcha = ( $spremenljivkaParams -> get ( 'captcha' ) ? $spremenljivkaParams -> get ( 'captcha' ) : 0 );
if ( $captcha == 1 ) {
?>
var response = grecaptcha . getResponse ();
if ( response . gelgth != 0 || validation == true ) {
// ok
}
else {
< ?
if ( $bol == 'soft' ) {
?>
if ( ! confirm ( '<?=$srv_remind_captcha_soft?>' ))
return ;
< ?
}
else {
?>
alert ( '<?=$srv_remind_captcha_hard?>' );
return ;
< ?
}
?>
}
< ?
}
//for ($i=0; $i<$row['text_kosov']; $i++) {
$sql1 = sisplet_query ( " SELECT id FROM srv_vrednost WHERE spr_id=' $row[id] ' ORDER BY vrstni_red " );
while ( $row1 = mysqli_fetch_array ( $sql1 )) {
$ime = 'vrednost_' . $row [ 'id' ] . '_kos_' . $row1 [ 'id' ];
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' if (obj.value == "" && obj.disabled == false) { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'' . $require . '\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'validation\', \'' . $bol . '\', validation); ' . " \n " ;
// Email validation
$emailVerify = ( $spremenljivkaParams -> get ( 'emailVerify' ) ? $spremenljivkaParams -> get ( 'emailVerify' ) : 0 );
if ( $emailVerify == 1 ) {
echo ' } else if(isEmail(obj.value) == false) { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'validation\', \'' . $bol . '\', validation, \'' . ( $bol == 'soft' ? $srv_remind_email_soft : $srv_remind_email_hard ) . '\'); ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'' . $require . '\', \'' . $bol . '\', validation); ' . " \n " ;
echo ' } else if(isEmail(obj.value) == true) { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'validation\', \'' . $bol . '\', validation, \'' . ( $bol == 'soft' ? $srv_remind_email_soft : $srv_remind_email_hard ) . '\'); ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'' . $require . '\', \'' . $bol . '\', validation); ' . " \n " ;
}
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'' . $require . '\', \'' . $bol . '\', validation); ' . " \n " ;
echo ' } ' . " \n " ;
}
// textbox, compute, quota
} elseif ( $row [ 'tip' ] == 4 || $row [ 'tip' ] == 22 || $row [ 'tip' ] == 25 || $row [ 'tip' ] == 8 ) {
$ime = 'vrednost_' . $row [ 'id' ];
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' if (obj.value == "" && obj.disabled == false) { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'' . $require . '\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'' . $require . '\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
// number
} elseif ( $row [ 'tip' ] == 7 ) {
$ime = 'spremenljivka_' . $row [ 'id' ] . '_vrednost' ;
echo ' var obj1 = document.getElementById(\'' . $ime . '_1\'); ' . " \n " ;
if ( $row [ 'size' ] == 2 )
echo ' var obj2 = document.getElementById(\'' . $ime . '_2\'); ' . " \n " ;
if ( $row [ 'size' ] == 1 )
echo ' if (obj1.value == "" && obj1.disabled == false) { ' . " \n " ;
elseif ( $row [ 'size' ] == 2 )
echo ' if ((obj1.value == "" && obj1.disabled == false) || (obj2.value == "" && obj2.disabled == false)) { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'' . $require . '\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'' . $require . '\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
}
// razvrscanje - ostevilcevanje
elseif ( $row [ 'tip' ] == 17 && ( $row [ 'design' ] == 1 || get ( 'mobile' ) > 0 )) {
// max stevilo vnesenih vrednosti
$max = $row [ 'ranking_k' ];
// nimamo omejenega stevila vnosov (morajo biti vnesena vsa stevila)
if ( $max == 0 ) {
$sql1 = sisplet_query ( " SELECT id FROM srv_vrednost WHERE spr_id=' $row[id] ' ORDER BY vrstni_red " );
while ( $row1 = mysqli_fetch_array ( $sql1 )) {
$ime = 'spremenljivka_' . $row [ 'id' ] . '_vrednost_' . $row1 [ 'id' ];
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' if (obj.value == "") { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
}
}
// imamo omejeno stevilo vnosov
else {
echo ' var count = ' . $max . '; ' . " \n " ;
$sql1 = sisplet_query ( " SELECT id FROM srv_vrednost WHERE spr_id=' $row[id] ' ORDER BY vrstni_red " );
while ( $row1 = mysqli_fetch_array ( $sql1 )) {
$ime = 'spremenljivka_' . $row [ 'id' ] . '_vrednost_' . $row1 [ 'id' ];
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' if (obj.value != "") ' . " \n " ;
echo ' count --; ' . " \n " ;
}
echo ' if (count > 0) { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
}
}
// razvrscanje - prestavljanje
elseif ( $row [ 'tip' ] == 17 && ( $row [ 'design' ] == 0 )) {
//max stevilo vnesenih vrednosti
$max = $row [ 'ranking_k' ];
//nimamo omejenega stevila vnosov (morajo biti vnesena vsa stevila)
if ( $max == 0 ) {
$sql1 = sisplet_query ( " SELECT COUNT(id) FROM srv_vrednost WHERE spr_id=' $row[id] ' " );
$row1 = mysqli_fetch_array ( $sql1 );
$max = $row1 [ 'COUNT(id)' ];
}
$ime = 'half2_' . $row [ 'id' ];
echo ' var count = $(\'#' . $ime . '\').children().size(); ' . " \n " ;
echo ' if (count < \'' . $max . '\') { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
}
// razvrscanje - heatmap
elseif ( $row [ 'tip' ] == 17 && ( $row [ 'design' ] == 3 )) {
$sql1 = sisplet_query ( " SELECT id FROM srv_vrednost WHERE spr_id=' $row[id] ' " );
while ( $row1 = mysqli_fetch_array ( $sql1 )){
$ime = 'spremenljivka_' . $row [ 'id' ] . '_vrednost_' . $row1 [ 'id' ];
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' if (obj.value == "") { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
}
}
// vsota
elseif ( $row [ 'tip' ] == 18 ) {
$sql1 = sisplet_query ( " SELECT id FROM srv_vrednost WHERE spr_id=' $row[id] ' ORDER BY vrstni_red " );
while ( $row1 = mysqli_fetch_array ( $sql1 )) {
$ime = 'spremenljivka_' . $row [ 'id' ] . '_vrednost_' . $row1 [ 'id' ];
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' if (obj.value == "") { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
}
// sn
} elseif ( $row [ 'tip' ] == 9 ) {
echo ' var obj = document.getElementById(\'txt1\'); ' . " \n " ;
echo ' if (obj.value == "") { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
// kombinirana tabela
} elseif ( $row [ 'tip' ] == 24 ) {
$first_spr = 0 ;
$sqlm = sisplet_query ( " SELECT s.* FROM srv_spremenljivka s, srv_grid_multiple gm WHERE s.id=gm.spr_id AND gm.parent = ' $row[id] ' ORDER BY gm.vrstni_red ASC " );
$rowm = mysqli_fetch_array ( $sqlm );
$first_spr = $rowm [ 'id' ];
$sql1 = sisplet_query ( " SELECT id, vrstni_red FROM srv_vrednost WHERE spr_id=' $first_spr ' ORDER BY vrstni_red " );
while ( $row1 = mysqli_fetch_array ( $sql1 )) {
// Preverjamo ce je if na trenutni vrstici
$vrednost = '' ;
$sqlVrednostIf = sisplet_query ( " SELECT * FROM srv_vrednost WHERE spr_id=' $row[id] ' AND if_id>0 AND vrstni_red=' " . $row1 [ 'vrstni_red' ] . " ' " );
if ( mysqli_num_rows ( $sqlVrednostIf ) > 0 ){
$rowVrednostIf = mysqli_fetch_array ( $sqlVrednostIf );
$vrednost = 'vrednost_if_' . $rowVrednostIf [ 'id' ];
}
echo ' if ( !$(\'#' . $vrednost . '\').length || document.getElementById(\'' . $vrednost . '\').style.display != \'none\' ) { ' . " \n " ;
echo ' var totalBol = true; ' . " \n " ;
mysqli_data_seek ( $sqlm , 0 );
while ( $rowm = mysqli_fetch_array ( $sqlm )) {
$sql2 = sisplet_query ( " SELECT * FROM srv_vrednost WHERE spr_id=' $rowm[id] ' AND vrstni_red=' $row1[vrstni_red] ' " );
$row2 = mysqli_fetch_array ( $sql2 );
// dropdown
if ( $rowm [ 'tip' ] == 6 && $rowm [ 'enota' ] == 2 ) {
// todo
$ime = 'multi_' . $rowm [ 'id' ] . '_' . $row2 [ 'id' ];
echo ' var bol = true; ' . " \n " ;
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' if (!obj.value > 0) { ' . " \n " ;
echo ' bol = false; ' . " \n " ;
echo ' }' . " \n " ;
echo ' if (bol==false) totalBol = false; ' . " \n " ;
//selectbox
} elseif ( $rowm [ 'tip' ] == 6 && $rowm [ 'enota' ] == 6 ) {
// todo
$ime = 'multi_' . $rowm [ 'id' ] . '_' . $row2 [ 'id' ];
echo ' var bol = true; ' . " \n " ;
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' if (!obj.value > 0) { ' . " \n " ;
echo ' bol = false; ' . " \n " ;
echo ' }' . " \n " ;
echo ' if (bol==false) totalBol = false; ' . " \n " ;
// multi radio
} elseif ( $rowm [ 'tip' ] == 6 ) {
$ime = 'multi_' . $rowm [ 'id' ] . '_' . $row2 [ 'id' ];
echo ' var bol = false; ' . " \n " ;
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' var len = obj.length; ' . " \n " ;
// ce je samo 1 (spodnja procedura ne prime, je treba posebej)
echo ' if (len == undefined) { ' . " \n " ;
echo ' if (obj.checked) ' . " \n " ;
echo ' bol = true; ' . " \n " ;
// sicer gremo normalno čez vse
echo ' } else { ' . " \n " ;
echo ' for (i=0; i<len; i++) ' . " \n " ;
echo ' if (obj[i].checked) ' . " \n " ;
echo ' bol = true; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' if (bol==false) totalBol = false; ' . " \n " ;
// multicheck
} elseif ( $rowm [ 'tip' ] == 16 ) {
$ime = 'multi_' . $rowm [ 'id' ] . '_' . $row2 [ 'id' ];
echo ' var bol = false; ' . " \n " ;
echo ' for (var i=1; i<=' . $rowm [ 'grids' ] . '; i++) { ' . " \n " ;
echo ' obj = document.getElementById(\'' . $ime . '_grid_\'+i); ' . " \n " ;
echo ' if (obj.checked || obj.disabled) ' . " \n " ;
echo ' bol = true; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' if (bol==false) totalBol = false; ' . " \n " ;
// tabela besedilo in tabela number
} elseif ( $rowm [ 'tip' ] == 19 || $rowm [ 'tip' ] == 20 ) {
$ime = 'multi_' . $rowm [ 'id' ] . '_' . $row2 [ 'id' ];
echo ' var bol = false; ' . " \n " ;
echo ' for (var i=1; i<=' . $rowm [ 'grids' ] . '; i++) { ' . " \n " ;
echo ' obj = document.getElementById(\'' . $ime . '_grid_\'+i); ' . " \n " ;
echo ' if (obj.value != "" || obj.disabled) ' . " \n " ;
echo ' bol = true; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' if (bol==false) totalBol = false; ' . " \n " ;
}
}
echo ' if (!totalBol) { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#vrednost_if_' . $row1 [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else {' . " \n " ;
echo ' submitAlert(\'#vrednost_if_' . $row1 [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' }' . " \n " ;
echo ' } ' . " \n " ;;
}
// Lokacija - maps
} elseif ( $row [ 'tip' ] == 26 ) {
$ime = 'vrednost_' . $row [ 'id' ] . '[]' ;
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' if (!obj) { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
// Heatmap
} elseif ( $row [ 'tip' ] == 27 ) {
$ime = 'vrednost_' . $row [ 'id' ] . '[]' ;
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' if (!obj) { ' . " \n " ;
echo ' ' . $bol . ' = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'require\', \'' . $bol . '\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
}
// konec pogoja, ce je vprasanje vidno
echo ' } //-- if display != none ' . " \n " ;
echo ' } catch (e) {} ' . " \n " ;
}
2020-10-12 15:32:14 +02:00
// Alert za EVOLI departmente
if ( SurveyInfo :: getInstance () -> checkSurveyModule ( 'evoli_teammeter' )
|| SurveyInfo :: getInstance () -> checkSurveyModule ( 'evoli_quality_climate' )
|| SurveyInfo :: getInstance () -> checkSurveyModule ( 'evoli_teamship_meter' )
|| SurveyInfo :: getInstance () -> checkSurveyModule ( 'evoli_organizational_employeeship_meter' )
)
$evoli_teammeter = true ;
else
$evoli_teammeter = false ;
if ( $evoli_teammeter ){
echo ' var obj = document.forms[\'vnos\'].elements[\'evoli_tm_department\']; ' . " \n " ;
2020-11-04 11:29:56 +01:00
echo ' if (typeof(obj) != "undefined" && obj != null) { ' . " \n " ;
echo ' if (obj.value == 0) { ' . " \n " ;
echo ' hard = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_evoli_tm_department\', \'add\', \'require\', \'hard\', validation, false, false, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_evoli_tm_department\', \'remove\', \'require\', \'hard\', validation, false, false, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
2020-10-12 15:32:14 +02:00
echo ' } ' . " \n " ;
}
2020-08-14 13:36:36 +02:00
// posebno testiranje za vsoto in num ce smo presegli limit
//$sql = sisplet_query("SELECT * FROM srv_spremenljivka WHERE gru_id='".get('grupa')."' AND vsota_reminder > 0 ORDER BY vrstni_red ASC");
$sql = sisplet_query ( " SELECT * FROM srv_spremenljivka WHERE gru_id=' " . get ( 'grupa' ) . " ' AND gru_id != '0' AND (tip='18' OR tip='7' OR tip='20' OR tip='21') ORDER BY vrstni_red ASC " );
while ( $row = mysqli_fetch_array ( $sql )) {
if ( $row [ 'vsota_reminder' ] > 0 ) {
if ( $row [ 'vsota_reminder' ] == 1 ) {
$bol_vsota = 'soft' ;
} else {
$bol_vsota = 'hard' ;
}
// najprej damo pogoj, da se uposteva, samo ce je vprasanje vidno (ker je lahko v ifu)
//echo ' if ( $(\'#spremenljivka_'.$row['id'].'\').css(\'display\') != \'none\' ) { ' ."\n";
echo ' if ( document.getElementById(\'spremenljivka_' . $row [ 'id' ] . '\').style.display != \'none\' ) { ' . " \n " ;
// vsota
if ( $row [ 'tip' ] == 18 ) {
$ime = 'spremenljivka_' . $row [ 'id' ] . '_vsota' ;
echo ' var obj = document.forms[\'vnos\'].elements[\'' . $ime . '\']; ' . " \n " ;
echo ' if ( (obj.value > ' . $row [ 'vsota_limit' ] . ' && !$(obj).hasClass("def") && ' . $row [ 'vsota_limit' ] . ' != 0) || (obj.value < ' . $row [ 'vsota_min' ] . ' && !$(obj).hasClass("def") && ' . $row [ 'vsota_min' ] . ' != 0) ){ ' . " \n " ;
echo ' ' . $bol_vsota . ' = false;' . " \n " ;
echo ' vsota = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'limit\', \'' . $bol_vsota . '\', validation, false, true, false, false); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'limit\', \'' . $bol_vsota . '\', validation, false, true, false, false); ' . " \n " ;
echo ' } ' . " \n " ;
} // multinumber
elseif ( $row [ 'tip' ] == 20 ) {
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'limit\', \'' . $bol_vsota . '\', validation, false, false, true, false); ' . " \n " ;
$sql1 = sisplet_query ( " SELECT id FROM srv_vrednost WHERE spr_id=' $row[id] ' ORDER BY vrstni_red " );
while ( $row1 = mysqli_fetch_array ( $sql1 )) {
$ime = 'vrednost_' . $row1 [ 'id' ];
echo ' var bol = false; ' . " \n " ;
echo ' for (var i=1; i<=' . $row [ 'grids' ] . '; i++) { ' . " \n " ;
echo ' obj = document.getElementById(\'' . $ime . '_grid_\'+i); ' . " \n " ;
if ( $row [ 'num_useMax' ] == 1 ) {
echo ' if (obj.value > ' . $row [ 'vsota_limit' ] . ' && obj.value != \'\' && ' . $row [ 'num_useMax' ] . ' == 1){ ' . " \n " ;
echo ' ' . $bol_vsota . ' = false; ' . " \n " ;
echo ' num = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'limit\', \'' . $bol_vsota . '\', validation, false, false, true, false); ' . " \n " ;
echo ' } ' . " \n " ;
}
if ( $row [ 'num_useMin' ] == 1 ) {
echo ' if (obj.value < ' . $row [ 'vsota_min' ] . ' && obj.value != \'\'){ ' . " \n " ;
echo ' ' . $bol_vsota . ' = false; ' . " \n " ;
echo ' num = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'limit\', \'' . $bol_vsota . '\', validation, false, false, true, false); ' . " \n " ;
echo ' } ' . " \n " ;
}
echo ' } ' . " \n " ;
}
}
// number in text
else {
//za text se ne gleda value amapak value.length
$length = $row [ 'tip' ] == 21 ? '.length' : '' ;
$num_var = $row [ 'tip' ] == 21 ? 'text_' : '' ;
$ime = 'spremenljivka_' . $row [ 'id' ] . '_vrednost_1' ;
///echo ' var obj = document.forms[\'vnos\'].elements[\''.$ime.'\']; ' ."\n";
echo ' var obj = document.getElementById(\'' . $ime . '\'); ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'' . $num_var . 'limit\', \'' . $bol_vsota . '\', validation, false, false, true, false); ' . " \n " ;
if ( $row [ 'num_useMax' ] == 1 ) {
echo ' if (obj.value' . $length . ' > ' . $row [ 'vsota_limit' ] . ' && obj.value != \'\' && ' . $row [ 'num_useMax' ] . ' == 1){ ' . " \n " ;
echo ' ' . $bol_vsota . ' = false; ' . " \n " ;
echo ' ' . $num_var . 'num = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'' . $num_var . 'limit\', \'' . $bol_vsota . '\', validation, false, false, true, false); ' . " \n " ;
//echo ' } else { ' ."\n";
//echo ' $(\'#spremenljivka_'.$row['id'].'\').removeClass(\'required\'); ' ."\n";
echo ' } ' . " \n " ;
}
if ( $row [ 'num_useMin' ] == 1 ) {
echo ' if (obj.value' . $length . ' < ' . $row [ 'vsota_min' ] . ' && obj.value != \'\'){ ' . " \n " ;
echo ' ' . $bol_vsota . ' = false; ' . " \n " ;
echo ' ' . $num_var . 'num = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'' . $num_var . 'limit\', \'' . $bol_vsota . '\', validation, false, false, true, false); ' . " \n " ;
//echo ' } else { ' ."\n";
//echo ' $(\'#spremenljivka_'.$row['id'].'\').removeClass(\'required\'); ' ."\n";
echo ' } ' . " \n " ;
}
if ( $row [ 'size' ] > 1 ) {
$ime = 'spremenljivka_' . $row [ 'id' ] . '_vrednost_2' ;
//echo ' var obj = document.forms[\'vnos\'].elements[\''.$ime.'\']; ' ."\n";
echo ' var obj = document.getElementById(\'' . $ime . '\'); ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'' . $num_var . 'limit\', \'' . $bol_vsota . '\', validation, false, false, true, false); ' . " \n " ;
if ( $row [ 'num_useMax2' ] == 1 ) {
echo ' if (obj.value' . $length . ' > ' . $row [ 'num_max2' ] . ' && obj.value != \'\'){ ' . " \n " ;
echo ' ' . $bol_vsota . ' = false; ' . " \n " ;
echo ' ' . $num_var . 'num = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'' . $num_var . 'limit\', \'' . $bol_vsota . '\', validation, false, false, true, false); ' . " \n " ;
//echo ' } else { ' ."\n";
//echo ' $(\'#spremenljivka_'.$row['id'].'\').removeClass(\'required\'); ' ."\n";
echo ' } ' . " \n " ;
}
if ( $row [ 'num_useMin2' ] == 1 ) {
echo ' if (obj.value' . $length . ' < ' . $row [ 'num_min2' ] . ' && obj.value != \'\'){ ' . " \n " ;
echo ' ' . $bol_vsota . ' = false; ' . " \n " ;
echo ' ' . $num_var . 'num = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'' . $num_var . 'limit\', \'' . $bol_vsota . '\', validation, false, false, true, false); ' . " \n " ;
//echo ' } else { ' ."\n";
//echo ' $(\'#spremenljivka_'.$row['id'].'\').removeClass(\'required\'); ' ."\n";
echo ' } ' . " \n " ;
}
}
if ( $row [ 'tip' ] == 7 ){
//Alert za mobile slider *************************************
echo '
//console.log(' . $row['ranking_k'] . ');
//console.log(' . $row['id'] . ');
' ;
if ( $row [ 'ranking_k' ] == '1' && get ( 'mobile' ) != 0 ) {
echo '
//console.log(' . $row['ranking_k'] . ');
//console.log(' . $row['id'] . ');
' ;
$slider_MaxNumLabel = ( $spremenljivkaParams -> get ( 'slider_MaxNumLabel' ) ? $spremenljivkaParams -> get ( 'slider_MaxNumLabel' ) : 100 );
echo ' if (obj.value > ' . $slider_MaxNumLabel . ' && obj.value != \'\'){ ' . " \n " ;
echo ' ' . $bol_vsota . ' = false; ' . " \n " ;
echo ' num = false; ' . " \n " ;
echo ' submitAlert(\'#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'limit\', \'' . $bol_vsota . '\', validation, false, false, true, false); ' . " \n " ;
//echo ' } else { ' ."\n";
//echo ' $(\'#spremenljivka_'.$row['id'].'\').removeClass(\'required\'); ' ."\n";
echo ' } ' . " \n " ;
}
}
}
// konec pogoja, ce je vprasanje vidno
echo ' } //-- if display != none ' . " \n " ;
}
}
// posebno testiranje ce respondent ni izbral minimalnega stevila checkbox-ov
$sql = sisplet_query ( " SELECT * FROM srv_spremenljivka WHERE gru_id=' " . get ( 'grupa' ) . " ' AND gru_id != '0' AND (tip='2') ORDER BY vrstni_red ASC " );
while ( $row = mysqli_fetch_array ( $sql )) {
$spremenljivkaParams = new enkaParameters ( $row [ 'params' ]);
$checkbox_min_limit = ( $spremenljivkaParams -> get ( 'checkbox_min_limit' ) ? $spremenljivkaParams -> get ( 'checkbox_min_limit' ) : 0 );
$checkbox_min_limit_reminder = ( $spremenljivkaParams -> get ( 'checkbox_min_limit_reminder' ) ? $spremenljivkaParams -> get ( 'checkbox_min_limit_reminder' ) : 0 );
if ( $checkbox_min_limit > 0 ) { //ce je minimalni limit nastavljen
if ( $checkbox_min_limit_reminder == 1 ) {
$bol_min_limit = 'soft' ;
} else {
$bol_min_limit = 'hard' ;
}
// najprej damo pogoj, da se uposteva, samo ce je vprasanje vidno (ker je lahko v ifu)
echo ' if ( document.getElementById(\'spremenljivka_' . $row [ 'id' ] . '\').style.display != \'none\' ) { ' . " \n " ;
echo ' var checkbox_min_limit = ' . $checkbox_min_limit . '; ' . " \n " ;
echo ' var checkbox_min_limit_reminder = ' . $checkbox_min_limit_reminder . '; ' . " \n " ;
//ce je checkbox in ni drag drop, preveri, koliko je oznacenih odgovorov
if ( $row [ 'tip' ] == 2 && ( $row [ 'orientation' ] != 8 || get ( 'mobile' ) == 1 )){
echo ' obj = document.forms[\'vnos\'].elements[\'vrednost_\'+' . $row [ 'id' ] . '+\'[]\']; ' . " \n " ;
echo ' var len = obj.length; ' . " \n " ;
echo ' var count = 0; ' . " \n " ;
echo ' for (i=0; i<len; i++){ ' . " \n " ;
echo ' if (obj[i].checked){ ' . " \n " ;
echo ' count++; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
echo ' if ( count < checkbox_min_limit ){
checkbox_min_limit_alert = true ;
submitAlert ( \ '#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'checkbox_min_limit\', \'' . $bol_min_limit . ' \ ' , validation , false , true , false , false );
} else {
submitAlert ( \ '#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'checkbox_min_limit\', \'' . $bol_min_limit . ' \ ' , validation , false , true , false , false );
} ' . " \n " ;
}
//ce je check box in drag drop, preveri, koliko je oznacenih odgovorov
elseif ( $row [ 'tip' ] == 2 && $row [ 'orientation' ] == 8 ){
echo '
var prisotno = $ ( " #half2_frame_dropping_' . $row['id'] . ' " ) . children ( " div " ) . attr ( " value " );
var len = $ ( " #half2_frame_dropping_' . $row['id'] . ' " ) . children () . length ;
if ( len < checkbox_min_limit ){
checkbox_min_limit_alert = true ;
submitAlert ( \ '#spremenljivka_' . $row [ 'id' ] . '\', \'add\', \'checkbox_min_limit\', \'' . $bol_min_limit . ' \ ' , validation , false , true , false , false );
} else {
submitAlert ( \ '#spremenljivka_' . $row [ 'id' ] . '\', \'remove\', \'checkbox_min_limit\', \'' . $bol_min_limit . ' \ ' , validation , false , true , false , false );
}
' ;
}
// konec pogoja, ce je vprasanje vidno
echo '} //-- if display != none ' . " \n " ;
}
}
if ( isset ( $_GET [ 'disablealert' ]) && $_GET [ 'disablealert' ] == 1 ) {
echo ' vsota = true; ' . " \n " ;
echo ' hard = true; ' . " \n " ;
echo ' soft = true; ' . " \n " ;
}
echo ' if ( validation ) { ' ;
// validacija
$sqlv = sisplet_query ( " SELECT v.* FROM srv_validation v, srv_spremenljivka s WHERE v.spr_id=s.id AND s.gru_id=' " . get ( 'grupa' ) . " ' AND s.gru_id != '0' AND v.reminder>'0' " );
while ( $rowv = mysqli_fetch_array ( $sqlv )) {
if ( $rowv [ 'reminder' ] == 1 ) {
$bol = 'soft' ;
} else {
$bol = 'hard' ;
}
// Ce imamo vklopljene napredne parapodatke zabelezimo opozorilo
if ( SurveyAdvancedParadataLog :: getInstance () -> paradataEnabled ()){
echo 'odstrani_opozorilo(\'#spremenljivka_' . $rowv [ 'spr_id' ] . '\', false, false, true); ' ;
}
echo 'submitAlert(\'#spremenljivka_' . $rowv [ 'spr_id' ] . '\', \'remove\', \'validation\', \'' . $bol . '\', validation, false, false, false, true); ' ;
}
if ( mysqli_num_rows ( $sqlv ) > 0 ) mysqli_data_seek ( $sqlv , 0 );
while ( $rowv = mysqli_fetch_array ( $sqlv )) {
if ( $rowv [ 'reminder' ] == 1 ) {
$bol = 'soft' ;
} else {
$bol = 'hard' ;
}
?>
if ( < ? $this -> generateCondition ( $rowv [ 'if_id' ]); ?> ) {
< ?
// Ce imamo vklopljene napredne parapodatke zabelezimo opozorilo
if ( SurveyAdvancedParadataLog :: getInstance () -> paradataEnabled ()){
?>
< ? = ' dodaj_opozorilo_val(\'' . $bol . '\', \'#spremenljivka_' . $rowv [ 'spr_id' ] . '\'); ' ?>
< ?
} ?>
< ? = ' submitAlert(\'#spremenljivka_' . $rowv [ 'spr_id' ] . '\', \'add\', \'validation\', \'' . $bol . '\', validation, \'' . $rowv [ 'reminder_text' ] . '\', false, false, true); ' ?>
}
< ?
}
echo ' } else { ' ;
//alert za preseg limita vsote
echo ' if (!vsota) { ' . " \n " ;
echo ' if (!hard) { ' . " \n " ;
echo ' alert(\'' . $srv_remind_sum_hard . '\'); ' . " \n " ;
echo ' return; ' . " \n " ;
echo ' } else if (!soft) { ' . " \n " ;
echo ' if (!confirm(\'' . $srv_remind_sum_soft . '\')) { ' . " \n " ;
echo ' return; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
//alert za preseg limita stevila
echo ' if (!num) { ' . " \n " ;
echo ' if (!hard) { ' . " \n " ;
echo ' alert(\'' . $srv_remind_num_hard . '\'); ' . " \n " ;
echo ' return; ' . " \n " ;
echo ' } else if (!soft) { ' . " \n " ;
echo ' if (!confirm(\'' . $srv_remind_num_soft . '\')) { ' . " \n " ;
echo ' return; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
//alert za preseg limita besedila
echo ' if (!text_num) { ' . " \n " ;
echo ' if (!hard) { ' . " \n " ;
echo ' alert(\'' . $srv_remind_text_num_hard . '\'); ' . " \n " ;
echo ' return; ' . " \n " ;
echo ' } else if (!soft) { ' . " \n " ;
echo ' if (!confirm(\'' . $srv_remind_text_num_soft . '\')) { ' . " \n " ;
echo ' return; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
//alert za premalo izbranih checkboxov
echo ' if (checkbox_min_limit_alert) { ' . " \n " ;
echo ' if (checkbox_min_limit_reminder == 2) { ' . " \n " ;
echo ' alert(\'' . $srv_remind_checkbox_min_violated_hard . '\'); ' . " \n " ;
echo ' return; ' . " \n " ;
echo ' } else if (checkbox_min_limit_reminder == 1) { ' . " \n " ;
echo ' if (!confirm(\'' . $srv_remind_checkbox_min_violated_soft . '\')) { ' . " \n " ;
echo ' return; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
//alert za ostale tipe
echo ' if(text_num && num && vsota) { ' . " \n " ;
echo ' if (!hard) { ' . " \n " ;
echo ' if(\'' . $require . '\' == \'require2\') ' . " \n " ;
echo ' alert(\'' . $srv_remind_hard_99 . '\'); ' . " \n " ;
echo ' else if(\'' . $require . '\' == \'require3\') ' . " \n " ;
echo ' alert(\'' . $srv_remind_hard_98 . '\'); ' . " \n " ;
echo ' else if(\'' . $require . '\' == \'require4\') ' . " \n " ;
echo ' alert(\'' . $srv_remind_hard_97 . '\'); ' . " \n " ;
echo ' else if(\'' . $require . '\' == \'require5\') ' . " \n " ;
echo ' alert(\'' . $srv_remind_hard_multi . '\'); ' . " \n " ;
echo ' else ' . " \n " ;
echo ' alert(\'' . $srv_remind_hard . '\'); ' . " \n " ;
echo ' return; ' . " \n " ;
echo ' } else if (!soft) { ' . " \n " ;
echo ' if(\'' . $require . '\' == \'require2\'){ ' . " \n " ;
echo ' if (!confirm(\'' . $srv_remind_soft_99 . '\')) { ' . " \n " ;
echo ' return; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' }else if(\'' . $require . '\' == \'require3\'){ ' . " \n " ;
echo ' if (!confirm(\'' . $srv_remind_soft_98 . '\')) { ' . " \n " ;
echo ' return; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' }else if(\'' . $require . '\' == \'require4\'){ ' . " \n " ;
echo ' if (!confirm(\'' . $srv_remind_soft_97 . '\')) { ' . " \n " ;
echo ' return; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' }else if(\'' . $require . '\' == \'require5\'){ ' . " \n " ;
echo ' if (!confirm(\'' . $srv_remind_soft_multi . '\')) { ' . " \n " ;
echo ' return; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' }else{ ' . " \n " ;
echo ' if (!confirm(\'' . $srv_remind_soft . '\')) { ' . " \n " ;
echo ' return; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } ' . " \n " ;
// validacija
$sqlv = sisplet_query ( " SELECT v.* FROM srv_validation v, srv_spremenljivka s WHERE v.spr_id=s.id AND s.gru_id=' " . get ( 'grupa' ) . " ' AND s.gru_id != '0' " );
while ( $rowv = mysqli_fetch_array ( $sqlv )) {
?>
if ( < ? $this -> generateCondition ( $rowv [ 'if_id' ]); ?> ) {
< ? if ( $rowv [ 'reminder' ] == 1 ) {
?> $('#spremenljivka_<?= $rowv['spr_id'] ?>').addClass('required'); <?
/*?> if ( ! confirm('<?= $rowv['reminder_text'] ?>') ) return; else $('#spremenljivka_<?= $rowv['spr_id'] ?>').removeClass('required'); <?*/
/*?> console.log('Soft validacija se je sprozila za spremenljivko: <?= $rowv['spr_id'] ?>'); if ( ! confirm('<?= $rowv['reminder_text'] ?>') ) return; else $('#spremenljivka_<?= $rowv['spr_id'] ?>').removeClass('required'); <?*/
?> if ( ! confirm('<?= $rowv['reminder_text'] ?>') ) return; else $('#spremenljivka_<?= $rowv['spr_id'] ?>').removeClass('required'); <?
} elseif ( $rowv [ 'reminder' ] == 2 ) {
?> $('#spremenljivka_<?= $rowv['spr_id'] ?>').addClass('required'); <?
/*?> alert('<?= $rowv['reminder_text'] ?>'); return; <?*/
/*?> console.log('Hard validacija se je sprozila za spremenljivko: <?= $rowv['spr_id'] ?>'); alert('<?= $rowv['reminder_text'] ?>'); return; <?*/
?> alert('<?= $rowv['reminder_text'] ?>'); return; <?
} ?>
}
< ?
}
// preverjanje, da vnese inicialke
$question_resp_comment_inicialke = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'question_resp_comment_inicialke' );
$question_resp_comment_inicialke_alert = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'question_resp_comment_inicialke_alert' );
if ( $question_resp_comment_inicialke == 1 && $question_resp_comment_inicialke_alert == 2 ) {
?>
if ( ! check_inicialke () ) {
alert ( '<?= $lang[' srv_enter_inicialke '] ?>' );
preview_popup_open ();
return ;
}
< ? php
} elseif ( $question_resp_comment_inicialke == 1 && $question_resp_comment_inicialke_alert == 1 ) {
?>
if ( ! check_inicialke () ) {
if ( ! confirm ( '<?= $lang[' srv_enter_inicialke2 '] ?>' ) ) {
preview_popup_open ();
return ;
}
}
< ? php
}
echo ' if (parent_if == undefined) { ' . " \n " ;
// Ce imamo vklopljene napredne parapodatke zabelezimo cas post-a
if ( SurveyAdvancedParadataLog :: getInstance () -> paradataEnabled () && SurveyAdvancedParadataLog :: getInstance () -> collectPostTime ()){
echo ' logEvent ( \ ' page\ ' , \ ' unload_page\ ' , function (){
$ ( " form[name=vnos] " ) . submit ();
}); ' ;
}
else {
echo ' $("form[name=vnos]").submit(); ' . " \n " ;
}
echo ' } else { ' . " \n " ;
echo ' $.post($(\'form[name=vnos]\').attr(\'action\'), $(\'form[name=vnos]\').serialize(), function () { ' . " \n " ;
echo ' $.post(\'' . $site_url . 'main/survey/ajax.php?a=grupa_for_if\', {anketa:' . get ( 'anketa' ) . ', parent_if: parent_if}, function (data) { ' . " \n " ;
echo ' window.location.href = \'' . SurveyInfo :: getSurveyLink ( false , false ) . '&grupa=\'+data+\'' . Header :: getSurveyParams () . get ( 'cookie_url' ) . '\'; ' . " \n " ;
echo ' }) ' . " \n " ;
echo ' } ) ' . " \n " ;
echo ' } ' . " \n " ;
// if validation else
echo ' } ' ;
echo ' } ' . " \n " ;
//echo 'spr_id_indeks = 0; ' . "\n"; //za sledenje opozoril
echo ' </script> ' . " \n " ;
$sqlG = sisplet_query ( " SELECT spol FROM srv_glasovanje WHERE ank_id=' " . get ( 'anketa' ) . " ' " );
$rowG = mysqli_fetch_array ( $sqlG );
$sql1 = sisplet_query ( " SELECT MAX(vrstni_red) AS vrstni_red FROM srv_grupa WHERE ank_id = ' " . get ( 'anketa' ) . " ' " );
$row1 = mysqli_fetch_array ( $sql1 );
$rowa = SurveyInfo :: getInstance () -> getSurveyRow ();
//namesto naprej in nazaj se pri glasovanju izrise gumb potrdi oz. gumba moski/zenska pri izbiri spola
if ( $rowa [ 'survey_type' ] == 0 ) {
if ( ! get ( 'printPreview' )) {
if ( $rowG [ 'spol' ] == 0 ) {
$srv_potrdi = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_potrdi' . $_lang );
if ( $srv_potrdi == '' ) $srv_potrdi = $lang [ 'srv_potrdi' ];
echo ' < div class = " buttons " >
< input class = " next " type = " submit " value = " ' . $srv_potrdi . ' " onclick = " submitForm(); return false; " >
</ div > ' . " \n " ;
} else {
echo ' < div class = " buttons " >
< input class = " next " type = " submit " name = " submit " value = " ' . $lang['glasovanja_spol_moski'] . ' " onclick = " submitForm(); return false; " >
< input class = " next " type = " submit " name = " submit " value = " ' . $lang['glasovanja_spol_zenska'] . ' " onclick = " submitForm(); return false; " >
</ div > ' . " \n " ;
}
}
//namesto naprej in nazaj izrise pri formi gumb poslji
} elseif ( $rowa [ 'survey_type' ] == 1 ) {
SurveySetting :: getInstance () -> Init ( get ( 'anketa' ));
$srv_nextpage = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_forma_send' . $_lang );
if ( $srv_nextpage == '' ) $srv_nextpage = $lang [ 'srv_forma_send' ];
if ( ! get ( 'printPreview' )) {
echo ' <div class="buttons">' ;
echo ' <input class="next" type="submit" value="' . $srv_nextpage . ' " onclick= " submitForm (); return false ; " >
</ div > ' . " \n " ;
}
} else {
SurveySetting :: getInstance () -> Init ( get ( 'anketa' ));
$row = SurveyInfo :: getInstance () -> getSurveyRow ();
$sqlg = sisplet_query ( " SELECT vrstni_red FROM srv_grupa WHERE ID = ' " . get ( 'grupa' ) . " ' " );
$rowg = mysqli_fetch_array ( $sqlg );
// Smo na zadnji strani
if ( $row1 [ 'vrstni_red' ] == $rowg [ 'vrstni_red' ]) {
// Dodatno preverimo ce imamo loop
if ( isset ( $_GET [ 'loop_id' ]) && $_GET [ 'loop_id' ] > 0 ){
// Ce obstaja naslednji loop izpisemo "naslednja stran" in ne "zadnja stran"
if ( Find :: getInstance () -> findNextLoopId () > 0 ){
$srv_nextpage = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_nextpage' . $_lang );
if ( $srv_nextpage == '' ) $srv_nextpage = $lang [ 'srv_nextpage' ];
}
else {
$srv_nextpage = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_lastpage' . $_lang );
if ( $srv_nextpage == '' ) $srv_nextpage = $lang [ 'srv_lastpage' ];
}
}
else {
$srv_nextpage = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_lastpage' . $_lang );
if ( $srv_nextpage == '' ) $srv_nextpage = $lang [ 'srv_lastpage' ];
}
}
else {
$srv_nextpage = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_nextpage' . $_lang );
if ( $srv_nextpage == '' ) $srv_nextpage = $lang [ 'srv_nextpage' ];
}
$srv_prevpage = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'srvlang_srv_prevpage' . $_lang );
if ( $srv_prevpage == '' ) $srv_prevpage = $lang [ 'srv_prevpage' ];
$display_backlink = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'display_backlink' );
if ( ! get ( 'printPreview' )) {
echo '<div class="buttons" id="buttons_gru_' . get ( 'grupa' ) . '">' ;
//echo ' <input class="prev" type="submit" value="'.$lang['srv_prevpage'].'" onclick="document.location.href=\'index.php?anketa='.get('anketa').''.($this->findPrevGrupa()>0?'&grupa='.$this->findPrevGrupa().'':'').get('cookie_url').'\'; return false;">
if ( $row [ 'show_intro' ] == 1 || $rowg [ 'vrstni_red' ] > 1 ) {
#echo '<input class="prev" type="button" value="'.$srv_prevpage.'" onclick="history.back()">';
if ( ! SurveyInfo :: getInstance () -> checkSurveyModule ( 'slideshow' )) {
// Posebej za WebSM anketo - back naredimo tako, da poiscemo prejsnjo stran
if ( get ( 'anketa' ) == get ( 'webSMSurvey' ) && Common :: checkModule ( 'websmsurvey' ) == '1' ) {
$grupa = Find :: findPrevGrupa ();
$grupa = ( $grupa > 0 ) ? '&grupa=' . $grupa : '' ;
$lang_s = ( isset ( $_GET [ 'language' ])) ? '&language=' . $_GET [ 'language' ] : '' ;
$language = save ( 'language' , $lang_s , 1 );
$link = SurveyInfo :: getSurveyLink ( false , false ) . $grupa . $language ;
echo '<input class="prev" type="button" value="' . $srv_prevpage . '" onclick="location.href=\'' . $link . '\';">' ;
} elseif ( $display_backlink != '0' ) {
echo '<input class="prev" type="button" value="' . $srv_prevpage . '" onclick="javascript:history.go(-1)">' ;
}
} else {
# če smo v slideshowu prikazujemo gumb nazaj ali naprej na zahtevo
$ss = new SurveySlideshow ( get ( 'anketa' ));
$ss_setings = $ss -> getSettings ();
if ( $ss_setings [ 'back_btn' ] == 1 ) {
echo '<input class="prev" type="button" value="' . $srv_prevpage . '" onclick="javascript:history.go(-1)">' ;
}
}
}
if ( SurveyInfo :: getInstance () -> checkSurveyModule ( 'slideshow' )) {
# če smo v prezentaciji in imamo nastavljen pause button
$ss = new SurveySlideshow ( get ( 'anketa' ));
$ss_setings = $ss -> getSettings ();
if ( $ss_setings [ 'pause_btn' ] == 1 ) {
echo '<input id="btn_pause_on" class="pause" type="button" value="' . $lang [ 'srv_slideshow_btn_pause_on' ] . '" onclick="slide_timer_pause_ON();">' ;
echo '<input id="btn_pause_off" class="pause display_none" type="button" value="' . $lang [ 'srv_slideshow_btn_pause_off' ] . '" onclick="slide_timer_pause_OFF();">' ;
}
}
if ( ! SurveyInfo :: getInstance () -> checkSurveyModule ( 'slideshow' )) {
echo ' <input class="next" type="submit" value="' . $srv_nextpage . '" onclick="submitForm(); return false;">' ;
} else {
# če smo v slideshowu prikazujemo gumb nazaj ali naprej na zahtevo
$ss = new SurveySlideshow ( get ( 'anketa' ));
$ss_setings = $ss -> getSettings ();
if ( $ss_setings [ 'next_btn' ] == 1 ) {
echo ' <input class="next" type="submit" value="' . $srv_nextpage . '" onclick="submitForm(); return false;">' ;
}
}
echo '</div>' . " \n " ;
}
}
}
/**
* @ desc poklice generatorje JS kode za branching
*/
public function generateBranchingJS ()
{
echo '<script> ' . " \n " ;
echo ' function checkBranching () { ' . " \n " ;
$this -> generateComputeJS ();
// ce je preverjanje pogojev izklopljeno
if ( $_GET [ 'disableif' ] != 1 ) {
$this -> generateBranching ();
$this -> generateVrednostIf ();
}
// sprotna validacija v balonckih
echo ' submitForm(undefined, true); ' ;
// Popravek footerja pri temi Bled
$row = SurveyInfo :: getSurveyRow ();
if ( $row [ 'skin' ] == 'Bled' ){
echo ' footerBled(); ' . " \n " ;
}
echo ' } //-- function checkBranching() ' . " \n " ;
echo ' checkBranching(); ' . " \n " ;
echo '</script> ' . " \n " ;
}
/**
* zgenerira koda za compute spremenljivke , ki si vrednost napolnijo samodejno iz calculation izraza
*
*/
public function generateComputeJS ()
{
if ( get ( 'generateComputeJS' ) != '' ) {
echo 'try { ' . " \n " ;
echo ' ' . get ( 'generateComputeJS' ) . " \n " ;
echo '} catch (e) {} ' . " \n " ;
}
}
/**
* za podano spremenljivko zgenerira compute kodo , ki se shrani v začasno spremenljivko , da se na koncu izpiše s funkcijo generateComputeJS ()
*
* @ param mixed $spremenljivka
*/
public function generateCompute ( $spremenljivka )
{
// vrednost kalkulacije za ife
add ( 'generateComputeJS' , " document.getElementById('vrednost_ " . $spremenljivka . " ').value = " . $this -> generateCalculationJS ( - $spremenljivka ) . " ; \n \r " );
// vrednost se zapise v class .data-piping-SPR_ID za data-piping da se v zivo refresha
add ( 'generateComputeJS' , " var val; if ( ! isNaN(document.getElementById('vrednost_ " . $spremenljivka . " ').value) ) val = document.getElementById('vrednost_ " . $spremenljivka . " ').value; else val = ''; \n \r " );
add ( 'generateComputeJS' , " $ ('.data-piping- $spremenljivka ').html( val ); \n \r " );
}
/**
* @ desc zgenerira kodo za IFe na vrednostih ( podifi )
*/
public function generateVrednostIf ()
{
SurveySetting :: getInstance () -> Init ( get ( 'anketa' ));
$mobile_tables = SurveySetting :: getInstance () -> getSurveyMiscSetting ( 'mobile_tables' );
$sql = sisplet_query ( " SELECT v.*, s.tip AS tip, s.id AS spr_id, s.dynamic_mg AS dynamic_mg, s.vsota_limit, s.design, s.params FROM srv_vrednost v, srv_spremenljivka s WHERE v.if_id>'0' AND v.spr_id=s.id AND s.gru_id=' " . get ( 'grupa' ) . " ' AND s.gru_id != '0' " );
while ( $row = mysqli_fetch_array ( $sql )) {
// Ce je odgovor skrit ga nikoli ne prikazemo in preskocimo kar celotno proceduro za to vrednost
if ( $row [ 'hidden' ] == '1' ){
continue ;
}
//stavek za pobiranje informacij o tipu in orienataciji spremenljivke, potrebno za nadaljnje notranje pogoje za drag and drop
$sqldd = sisplet_query ( " SELECT id, enota, orientation FROM srv_spremenljivka WHERE id = ' $row[spr_id] ' " );
while ( $rowdd = mysqli_fetch_array ( $sqldd )) {
$spremenljivka_dd = $rowdd [ 'id' ];
$orientation_dd = $rowdd [ 'orientation' ];
$enota_dd = $rowdd [ 'enota' ];
}
// vsota - treba je se enkrat pognati racunanje
if ( $row [ 'tip' ] == 18 ) {
$sql1 = sisplet_query ( " SELECT id FROM srv_vrednost WHERE spr_id = ' $row[spr_id] ' AND vrstni_red>0 " );
$max = mysqli_num_rows ( $sql1 );
$sum = ' calcSum(\'' . $row [ 'spr_id' ] . '\', \'' . $max . '\', \'' . $row [ 'vsota_limit' ] . '\'); ' . " \n " ;
}
else
$sum = '' ;
// dinamicni multigrid (za mobilne naprave)
if ( $row [ 'tip' ] == 6 && $enota_dd != 9 && $enota_dd != 3 && $row [ 'dynamic_mg' ] > 0 ) {
echo ' try { ' . " \n " ;
echo ' if ( ' ;
$this -> generateCondition ( $row [ 'if_id' ]);
echo ' ) { ' . " \n " ;
echo ' dynamicMultigridSwitchIf(1, ' . $row [ 'id' ] . ', ' . $row [ 'spr_id' ] . '); ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' dynamicMultigridSwitchIf(0, ' . $row [ 'id' ] . ', ' . $row [ 'spr_id' ] . '); ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } catch (e) {} ' . " \n " ;
}
// Navaden multigrid
else if ( $row [ 'tip' ] == 6 && $enota_dd != 9 && $enota_dd != 3 ) {
echo ' try { ' . " \n " ;
echo ' if ( ' ;
$this -> generateCondition ( $row [ 'if_id' ]);
echo ' ) { ' . " \n " ;
// Element je viden
echo ' document.getElementById(\'vrednost_if_' . $row [ 'id' ] . '\').style.display = \'\'; ' . " \n " ;
echo ' var el = document.getElementById("branch_spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '")' . " \n " ;
echo ' el.parentNode.removeChild( el );' . " \n " ;
// Element ni viden
echo ' } else { ' . " \n " ;
// ker je element neviden, dodamo novega hidz vrednostjo -2
echo ' var el = document.getElementById(\'vrednost_if_' . $row [ 'id' ] . '\');' . " \n " ;
echo ' var hiddenEl = document.getElementById("branch_spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '")' . " \n " ;
echo ' var parent = el.parentNode.parentNode.parentNode;' . " \n " ;
// V kolikor je hidden polje že postavljeno potem ga ponovno ne ustvarjamo -> se izognemo podvojenim vpisom v bazi
echo ' if(!hiddenEl){' . " \n " ;
echo 'var newElement = document.createElement(\'input\');' . " \n " ;
echo ' newElement.setAttribute("id", "branch_spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '");' . " \n " ;
echo ' newElement.setAttribute("name", "cond_vrednost_' . $row [ 'id' ] . '");' . " \n " ;
echo ' newElement.setAttribute("value", "-2");' . " \n " ;
echo ' newElement.setAttribute("type", "hidden");' . " \n " ;
echo ' parent.appendChild(newElement);' . " \n " ;
echo ' }' . " \n " ;
echo ' document.getElementById(\'vrednost_if_' . $row [ 'id' ] . '\').style.display = \'none\'; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } catch (e) {} ' . " \n " ;
}
// checkbox in ne drag and drop
else if ( $row [ 'tip' ] == 2 && ( $row [ 'orientation' ] != 8 || get ( 'mobile' ) == 1 )) {
if ( $spremenljivka_dd == $row [ 'spr_id' ] && ( $orientation_dd == 8 || $enota_dd == 9 )) { //ce je drag and drop
echo ' try { ' . " \n " ;
echo ' if ( ' ;
$this -> generateCondition ( $row [ 'if_id' ]);
echo ' ) { ' . " \n " ;
echo ' document.getElementById(\'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '\').style.display = \'\'; ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' document.getElementById(\'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '\').style.display = \'none\'; ' . " \n " ;
echo ' } ' . " \n " ;
echo ' } catch (e) {} ' . " \n " ;
}
else {
echo ' try { ' . " \n " ;
echo ' if ( ' ;
$this -> generateCondition ( $row [ 'if_id' ]);
echo ' ) { ' . " \n " ;
// Element je viden
echo ' document.getElementById(\'vrednost_if_' . $row [ 'id' ] . '\').style.display = \'\'; ' . " \n " ;
echo ' var el = document.getElementById("branch_spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '")' . " \n " ;
echo ' el.parentNode.removeChild( el );' . " \n " ;
// Element ni viden
echo ' } else { ' . " \n " ;
// ker je element neviden, dodamo novega hidz vrednostjo -2
echo ' var el = document.getElementById(\'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '\');' . " \n " ;
echo ' var hiddenEl = document.getElementById("branch_spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '")' . " \n " ;
echo ' var parent = el.parentNode.parentNode.parentNode;' . " \n " ;
// V kolikor je hidden polje že postavljeno potem ga ponovno ne ustvarjamo -> se izognemo podvojenim vpisom v bazi
echo ' if(!hiddenEl){' . " \n " ;
echo 'var newElement = document.createElement(\'input\');' . " \n " ;
echo ' newElement.setAttribute("id", "branch_spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '");' . " \n " ;
echo ' newElement.setAttribute("name", "cond_vrednost_' . $row [ 'spr_id' ] . '[]");' . " \n " ;
echo ' newElement.setAttribute("value", "' . $row [ 'id' ] . '");' . " \n " ;
echo ' newElement.setAttribute("type", "hidden");' . " \n " ;
echo ' parent.appendChild(newElement);' . " \n " ;
echo ' }' . " \n " ;
echo ' document.getElementById(\'vrednost_if_' . $row [ 'id' ] . '\').style.display = \'none\'; ' . " \n " ;
echo ' } ' . " \n " ;
echo $sum ;
echo ' } catch (e) {} ' . " \n " ;
}
}
// roleta
else if ( $row [ 'tip' ] == 3 ) {
echo ' try { ' . " \n " ;
echo ' if ( ' ;
$this -> generateCondition ( $row [ 'if_id' ]);
echo ' ) { ' . " \n " ;
echo ' document.getElementById(\'vrednost_' . $row [ 'spr_id' ] . '_chzn_o_' . $row [ 'vrstni_red' ] . '\').style.display = \'\'; ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' document.getElementById(\'vrednost_' . $row [ 'spr_id' ] . '_chzn_o_' . $row [ 'vrstni_red' ] . '\').style.display = \'none\'; ' . " \n " ;
echo ' } ' . " \n " ;
echo $sum ;
echo ' } catch (e) {} ' . " \n " ;
}
// ranking premikanje
else if ( $row [ 'tip' ] == 17 && $row [ 'design' ] == 2 ) {
echo ' try { ' . " \n " ;
echo ' if ( ' ;
$this -> generateCondition ( $row [ 'if_id' ]);
echo ' ) { ' . " \n " ;
echo ' document.getElementById(\'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '\').style.display = \'\'; ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' $(\'#spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '\').hide(); ' . " \n " ;
echo ' $(\'#frame_spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '\').hide(); ' . " \n " ;
echo ' } ' . " \n " ;
echo $sum ;
echo ' } catch (e) {} ' . " \n " ;
}
// ranking prestavljanje
else if ( $row [ 'tip' ] == 17 && $row [ 'design' ] == 0 ) {
echo ' try { ' . " \n " ;
echo ' if ( ' ;
$this -> generateCondition ( $row [ 'if_id' ]);
echo ' ) { ' . " \n " ;
echo ' document.getElementById(\'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '\').style.display = \'\'; ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' $(\'#spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '\').hide(); ' . " \n " ;
echo ' $(\'#frame_spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '\').hide(); ' . " \n " ;
echo ' } ' . " \n " ;
echo $sum ;
echo ' } catch (e) {} ' . " \n " ;
}
else {
if ( $spremenljivka_dd == $row [ 'spr_id' ] && ( $orientation_dd == 8 || $enota_dd == 9 )) { //ce je drag and drop
echo ' try { ' . " \n " ;
echo ' if ( ' ;
$this -> generateCondition ( $row [ 'if_id' ]);
echo ' ) { ' . " \n " ;
echo ' document.getElementById(\'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '\').style.display = \'\'; ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' document.getElementById(\'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'id' ] . '\').style.display = \'none\'; ' . " \n " ;
echo ' } ' . " \n " ;
echo $sum ;
echo ' } catch (e) {} ' . " \n " ;
}
else {
echo ' try { ' . " \n " ;
echo ' if ( ' ;
$this -> generateCondition ( $row [ 'if_id' ]);
echo ' ) { ' . " \n " ;
echo ' document.getElementById(\'vrednost_if_' . $row [ 'id' ] . '\').style.display = \'\'; ' . " \n " ;
echo ' } else { ' . " \n " ;
echo ' document.getElementById(\'vrednost_if_' . $row [ 'id' ] . '\').style.display = \'none\'; ' . " \n " ;
echo ' } ' . " \n " ;
echo $sum ;
echo ' } catch (e) {} ' . " \n " ;
}
}
// Po notranjih pogojih prikazemo ponavljanje naslovne vrstice za tabele ce je to vklopljeno
if ( $row [ 'tip' ] == 6 || $row [ 'tip' ] == 16 ){
$spremenljivkaParams = new enkaParameters ( $row [ 'params' ]);
$grid_repeat_header = ( $spremenljivkaParams -> get ( 'grid_repeat_header' ) ? $spremenljivkaParams -> get ( 'grid_repeat_header' ) : 0 );
if ( $grid_repeat_header > 0 ){
echo ' gridRepeatHeader(\'' . $grid_repeat_header . '\', \'' . $row [ 'spr_id' ] . '\'); ' ;
}
}
}
}
/**
* @ desc zgenerira kodo za branching
*/
public function generateBranching ( $parent = 0 )
{
Cache :: cache_all_srv_branching ( get ( 'anketa' ));
Cache :: cache_all_srv_if ( get ( 'anketa' ));
foreach ( Cache :: srv_branching_parent ( get ( 'anketa' ), $parent ) AS $k => $row ) {
if ( $row [ 'element_if' ] > 0 ) {
$rowb = Cache :: srv_if ( $row [ 'element_if' ]);
// build conditions
//echo 'console.log("V generateBranching");';
echo ' try { ' . " \n " ;
echo ' if (' ;
if ( $rowb [ 'tip' ] == 0 ) { // if
if ( $rowb [ 'enabled' ] == 1 )
echo 'true' ;
elseif ( $rowb [ 'enabled' ] == 2 )
echo 'false' ;
else
$this -> generateCondition ( $row [ 'element_if' ]);
} else { // blok
if ( $rowb [ 'enabled' ] != 2 )
echo 'true' ;
else
echo 'false' ;
}
echo ' ) { ' . " \n " ;
// ko prikazujemo, prikazemo samo trenutni nivo
foreach ( Cache :: srv_branching_parent ( get ( 'anketa' ), $row [ 'element_if' ]) AS $k1 => $row1 ) {
if ( $row1 [ 'element_spr' ] > 0 ) {
if ( Helper :: getGrupa ( $row1 [ 'element_spr' ]) == get ( 'grupa' )) {
$rowc = Model :: select_from_srv_spremenljivka ( $row1 [ 'element_spr' ]);
if ( $rowc [ 'tip' ] != 22 && $rowc [ 'tip' ] != 25 ) { // spremenljivka tipa compute in quota je izvzeta iz pogojev
echo ' try { ' . " \n " ;
echo ' document.getElementById(\'spremenljivka_' . $row1 [ 'element_spr' ] . '\').style.display = "block"; ' . " \n " ;
echo ' document.getElementById(\'visible_' . $row1 [ 'element_spr' ] . '\').value = \'1\'; ' . " \n " ;
// Dodamo class da je vprasanje v bloku
echo ' $(\'#spremenljivka_' . $row1 [ 'element_spr' ] . '\').addClass(\'block_child\'); ' . " \n " ;
// Dodamo class ce je vprasanje v bloku in je prikazano horizontalno
if ( Helper :: checkParentHorizontal ( $row1 ) == 1 ) {
echo ' $(\'#spremenljivka_' . $row1 [ 'element_spr' ] . '\').addClass(\'horizontal_block\'); ' . " \n " ;
}
// Dodamo class ce je vprasanje v bloku in je prikazano z razpiranjem
if ( Helper :: checkParentHorizontal ( $row1 ) == 2 ) {
echo ' $(\'#spremenljivka_' . $row1 [ 'element_spr' ] . '\').addClass(\'expendable_block\'); ' . " \n " ;
}
// Dodamo class z id-jem bloka
echo ' $(\'#spremenljivka_' . $row1 [ 'element_spr' ] . '\').addClass(\'block_child_' . $row [ 'element_if' ] . '\'); ' . " \n " ;
//Uros - samo za tip 26
//ker se mapa ne kreira vredu, ce je hidden, jo je ob prikazu treba resizat ter nastavit bounds mape
echo '
if ( '.$rowc[' tip '].' == 26 ){
//resize map, ker je zaradi display=none postala velika 0
var map = document . getElementById ( " map_ " + ' . $row1[' element_spr '] . ' ) . gMap ;
google . maps . event . trigger ( map , \ ' resize\ ' );
//ce je 0 ali 1 marker, centriraj kot nastavi admin, drugace prilagodi markerjem
if ( st_markerjev [ ' . $row1[' element_spr '] . ' ] == 0 ){
if ( map . centerInMapKoordinate ){
map . setCenter ({ lat : parseFloat ( map . centerInMapKoordinate . center . lat ),
lng : parseFloat ( map . centerInMapKoordinate . center . lng )});
}
else
centrirajMap ( map . centerInMap , map );
}
else
map . fitBounds ( bounds [ ' . $row1[' element_spr '] . ' ]);
} ' ;
echo ' } catch (e) {} ' . " \n " ;
}
}
}
}
$this -> generateBranching ( $row [ 'element_if' ]);
// Ce imamo vklopljen modul panel moramo nastaviti status panelista glede na izpolnjen if
if ( SurveyInfo :: checkSurveyModule ( 'panel' ) == 1 ){
$sp = new SurveyPanel ( get ( 'anketa' ));
$panel_if = $sp -> getPanelIf ( $row [ 'element_if' ]);
if ( $panel_if != '' ){
echo '$(\'#panel_status\').val(\'' . $panel_if . '\'); ' . " \n " ;
}
}
echo ' } else { ' . " \n " ;
// ko skrivamo, skrijemo vse (tudi podnivoje) (zato klic rekurzivne funkcije)
foreach ( Helper :: getElements ( $row [ 'element_if' ]) AS $key ) {
if ( Helper :: getGrupa ( $key ) == get ( 'grupa' )) {
$rowc = Model :: select_from_srv_spremenljivka ( $key );
if ( $rowc [ 'tip' ] != 22 && $rowc [ 'tip' ] != 25 ) { // spremenljivka tipa compute in quota je izvzeta iz pogojev
echo ' try { ' . " \n " ;
echo ' document.getElementById(\'spremenljivka_' . $key . '\').style.display = "none"; ' . " \n " ;
echo ' document.getElementById(\'visible_' . $key . '\').value = \'0\'; ' . " \n " ;
// Dodamo class da je vprasanje v bloku
echo ' $(\'#spremenljivka_' . $row1 [ 'element_spr' ] . '\').addClass(\'block_child\'); ' . " \n " ;
// Dodamo class ce je vprasanje v bloku in je prikazano horizontalno
if ( Helper :: checkParentHorizontal ( $row ) == 1 ) {
echo ' $(\'#spremenljivka_' . $key . '\').addClass(\'horizontal_block\'); ' . " \n " ;
}
// Dodamo class ce je vprasanje v bloku in je prikazano z razpiranjem
if ( Helper :: checkParentHorizontal ( $row ) == 2 ) {
echo ' $(\'#spremenljivka_' . $key . '\').addClass(\'expendable_block\'); ' . " \n " ;
}
// Dodamo class z id-jem bloka
echo ' $(\'#spremenljivka_' . $key . '\').addClass(\'block_child_' . $row [ 'element_if' ] . '\'); ' . " \n " ;
echo ' } catch (e) {} ' . " \n " ;
}
}
}
echo ' } ' . " \n " ;
echo ' } catch (e) {} ' . " \n " ;
// RANDOMIZACIJA VSEBINE BLOKA
// Randomiziramo vprasanja v bloku (ce imamo to vklopljeno)
if ( $rowb [ 'random' ] >= 0 ) {
$questions = [];
foreach ( Cache :: srv_branching_parent ( get ( 'anketa' ), $rowb [ 'id' ]) AS $key => $val ) {
if ( $val [ 'element_spr' ] > 0 ) {
$questions [] = $val [ 'element_spr' ];
}
}
// Ce imamo nastavljen prikaz samo dolocenega stevila vprasanj
$spr_count = ( $rowb [ 'random' ] > 0 ) ? $rowb [ 'random' ] : count ( $questions );
// Napolnimo seed za posameznega respondenta (da dobi vsakic isti vrstni red)
mt_srand (( int ) get ( 'usr_id' ) + ( int ) $rowb [ 'id' ]);
// Zgeneriramo random vrstni red
$order = array_map ( create_function ( '$val' , 'return mt_rand();' ), range ( 1 , count ( $questions )));
array_multisort ( $order , $questions );
$order_in_block = json_encode ( $questions );
echo ' blockRandomizeQuestions(\'' . $rowb [ 'id' ] . '\', \'' . $order_in_block . '\', \'' . get ( 'usr_id' ) . '\', \'' . $spr_count . '\'); ' . " \n " ;
}
// Randomiziramo bloke v bloku (ce imamo to vklopljeno)
elseif ( $rowb [ 'random' ] == - 2 ) {
$blocks = [];
foreach ( Cache :: srv_branching_parent ( get ( 'anketa' ), $rowb [ 'id' ]) AS $key => $val ) {
if ( $val [ 'element_if' ] > 0 ) {
$if_el = Cache :: srv_if ( $val [ 'element_if' ]);
// blok
if ( $if_el [ 'tip' ] == 1 ) {
$blocks [] = $if_el [ 'id' ];
}
}
}
// Napolnimo seed za posameznega respondenta (da dobi vsakic isti vrstni red)
mt_srand (( int ) get ( 'usr_id' ) + ( int ) $rowb [ 'id' ]);
// Zgeneriramo random vrstni red
$order = array_map ( create_function ( '$val' , 'return mt_rand();' ), range ( 1 , count ( $blocks )));
array_multisort ( $order , $blocks );
$order_in_block = json_encode ( $blocks );
echo ' blockRandomizeBlocks(\'' . $rowb [ 'id' ] . '\', \'' . $order_in_block . '\', \'' . get ( 'usr_id' ) . '\'); ' . " \n " ;
}
}
}
// dodamo crte pri blokih, kjer so vprasanja postavljena horizontalno
echo ' blockHorizontalLine(); ' . " \n " ;
}
/**
* @ desc zgenerira pogoje za JS branching
*/
public function generateCondition ( $if )
{
$rowa = SurveyInfo :: getInstance () -> getSurveyRow ();
$echo = '' ;
$sql = Cache :: srv_condition ( $if );
if ( ! $sql ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
$i = 0 ;
while ( $row = mysqli_fetch_array ( $sql )) {
if ( $i ++ != 0 )
if ( $row [ 'conjunction' ] == 0 )
$echo .= ' && ' ;
else
$echo .= ' || ' ;
if ( $row [ 'negation' ] == 1 )
$echo .= ' ! ' ;
for ( $i = 1 ; $i <= $row [ 'left_bracket' ]; $i ++ )
$echo .= ' ( ' ;
// obicajne spremenljivke
if ( $row [ 'spr_id' ] > 0 ) {
$row2 = Model :: select_from_srv_spremenljivka ( $row [ 'spr_id' ]);
// obicne spremenljivke
if ( $row [ 'vre_id' ] == 0 ) {
$row1 = Model :: select_from_srv_spremenljivka ( $row [ 'spr_id' ]);
// multigrid
} elseif ( $row [ 'vre_id' ] > 0 ) {
$sql1 = sisplet_query ( " SELECT id FROM srv_vrednost WHERE id = ' $row[vre_id] ' " );
if ( ! $sql1 ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
$row1 = mysqli_fetch_array ( $sql1 );
} else
$row1 = null ; //<2F> ud not hepen
// kombinirana tabela
if ( in_array ( $row2 [ 'tip' ], array ( 6 , 16 , 19 , 20 )) && $row2 [ 'gru_id' ] == '-2' ) {
if ( in_array ( $row2 [ 'tip' ], array ( 6 , 16 ))) {
$sql3 = sisplet_query ( " SELECT * FROM srv_condition_grid c WHERE cond_id=' $row[id] ' " );
if ( ! $sql3 ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
$j = 0 ;
while ( $row3 = mysqli_fetch_array ( $sql3 )) {
if ( $j ++ != 0 ) $echo .= ' || ' ;
if ( $rowa [ 'mass_insert' ] != 1 || $row2 [ 'tip' ] != 6 || $_GET [ 'm' ] == 'quick_edit' ) { // normalno izpolnjevanje
// Ce imamo if pogoj za -1 -> neodgovor
if ( $row3 [ 'grd_id' ] == '-1' ) {
$condition = '' ;
// loop cez vse gride in preverimo ce je kaksen odkljukan
$sqlG = sisplet_query ( " SELECT id, part, other FROM srv_grid WHERE spr_id=' $row2[id] ' " );
while ( $rowG = mysqli_fetch_array ( $sqlG )) {
if ( $row2 [ 'enota' ] == 0 || $row2 [ 'enota' ] == 1 || $row2 [ 'enota' ] == 3 ) {
if ( $rowG [ 'other' ] == 0 )
$condition .= '!document.getElementById(\'multi_' . $row2 [ 'id' ] . '_' . $row1 [ 'id' ] . '_grid_' . $rowG [ 'id' ] . ( $rowG [ 'part' ] > 1 ? '_part_2' : '' ) . '\').checked ' ;
else
$condition .= '!document.getElementById(\'grid_missing_value_' . $row1 [ 'id' ] . '_grid_' . $rowG [ 'id' ] . ( $rowG [ 'part' ] > 1 ? '_part_2' : '' ) . '\').checked ' ;
} elseif ( $row2 [ 'enota' ] == 2 || $row2 [ 'enota' ] == 6 ) {
$condition .= '!document.getElementsByName(\'multi_' . $row2 [ 'id' ] . '_' . $row1 [ 'id' ] . '\')[0].options[document.getElementsByName(\'multi_' . $row2 [ 'id' ] . '_' . $row1 [ 'id' ] . '\')[0].selectedIndex].value == \'' . $rowG [ 'id' ] . '\' ' ;
}
$condition .= ' && ' ;
}
$echo .= '(' . substr ( $condition , 0 , - 3 ) . ')' ;
} else {
if ( $row2 [ 'enota' ] == 0 || $row2 [ 'enota' ] == 1 || $row2 [ 'enota' ] == 3 ) {
$sql4 = sisplet_query ( " SELECT part, other FROM srv_grid WHERE spr_id=' $row2[id] ' AND id=' $row3[grd_id] ' " );
$row4 = mysqli_fetch_array ( $sql4 );
if ( $row4 [ 'other' ] == 0 )
$echo .= 'document.getElementById(\'multi_' . $row2 [ 'id' ] . '_' . $row1 [ 'id' ] . '_grid_' . $row3 [ 'grd_id' ] . ( $row4 [ 'part' ] > 1 ? '_part_2' : '' ) . '\').checked ' ;
else
$echo .= 'document.getElementById(\'grid_missing_value_' . $row1 [ 'id' ] . '_grid_' . $row3 [ 'grd_id' ] . ( $row4 [ 'part' ] > 1 ? '_part_2' : '' ) . '\').checked ' ;
} elseif ( $row2 [ 'enota' ] == 2 || $row2 [ 'enota' ] == 6 ) {
$echo .= 'document.getElementsByName(\'multi_' . $row2 [ 'id' ] . '_' . $row1 [ 'id' ] . '\')[0].options[document.getElementsByName(\'multi_' . $row2 [ 'id' ] . '_' . $row1 [ 'id' ] . '\')[0].selectedIndex].value == \'' . $row3 [ 'grd_id' ] . '\' ' ;
}
}
// masovni vnos
} else {
$echo .= 'document.getElementById(\'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'vre_id' ] . '\').value == "' . $row3 [ 'grd_id' ] . '"' ;
}
}
} elseif ( in_array ( $row2 [ 'tip' ], array ( 19 , 20 ))) {
$echo .= ' ( ' ;
$echo .= ' document.getElementById(\'multi_' . $row2 [ 'id' ] . '_' . $row [ 'vre_id' ] . '_grid_' . $row [ 'grd_id' ] . '\').value' ;
if ( $row [ 'operator' ] == 0 )
$echo .= ' == ' ;
elseif ( $row [ 'operator' ] == 1 )
$echo .= ' !== ' ;
elseif ( $row [ 'operator' ] == 2 )
$echo .= ' < ' ;
elseif ( $row [ 'operator' ] == 3 )
$echo .= ' <= ' ;
elseif ( $row [ 'operator' ] == 4 )
$echo .= ' > ' ;
elseif ( $row [ 'operator' ] == 5 )
$echo .= ' >= ' ;
//if ($row['text'] == '')
$echo .= '"' . $row [ 'text' ] . '"' ;
/* else
$echo .= $row [ 'text' ]; */
$echo .= ' ) ' ;
}
// radio, checkbox, dropdown in multigrid (brez drag and drop)
} elseif ((( $row2 [ 'tip' ] <= 3 && ( $row2 [ 'orientation' ] != 8 || get ( 'mobile' ) == 1 )) || ( $row2 [ 'tip' ] == 6 || $row2 [ 'tip' ] == 16 ) && ( $row2 [ 'enota' ] != 9 )) && ( $row [ 'spr_id' ] || $row [ 'vre_id' ])) {
if ( $row [ 'operator' ] == 0 )
$echo .= ' ' ;
else
$echo .= ' ! ' ;
$echo .= ' ( ' ;
// obicne spremenljivke
if ( $row [ 'vre_id' ] == 0 ) {
$sql3 = sisplet_query ( " SELECT c.vre_id, v.id, v.vrstni_red, v.other FROM srv_condition_vre c, srv_vrednost v WHERE cond_id=' $row[id] ' AND c.vre_id=v.id " );
if ( ! $sql3 ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
$j = 0 ;
while ( $row3 = mysqli_fetch_array ( $sql3 )) {
if ( $j ++ != 0 ) $echo .= ' || ' ;
if ( $rowa [ 'mass_insert' ] != 1 || $_GET [ 'm' ] == 'quick_edit' ) { // normalno izpolnjevanje
// Ce imamo if pogoj za -1 -> neodgovor
if ( $row3 [ 'vre_id' ] == '-1' ) {
$condition = '' ;
// loop cez vse odgovore in preverimo ce je kaksen odkljukan
$sqlV = sisplet_query ( " SELECT id, other FROM srv_vrednost WHERE spr_id=' $row[spr_id] ' " );
while ( $rowV = mysqli_fetch_array ( $sqlV )) {
if ( $row2 [ 'tip' ] <= 2 && ( $row2 [ 'orientation' ] != 8 || get ( 'mobile' ) == 1 )) {
if ( $rowV [ 'other' ] >= 0 )
$condition .= '!document.getElementById(\'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $rowV [ 'id' ] . '\').checked ' ;
else
$condition .= '!document.getElementById(\'missing_value_spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $rowV [ 'id' ] . '\').checked ' ;
} else {
$condition .= '!document.getElementById(\'vrednost_' . $row [ 'spr_id' ] . '\').value == \'' . $rowV [ 'id' ] . '\' ' ;
}
$condition .= ' && ' ;
}
$echo .= '(' . substr ( $condition , 0 , - 3 ) . ')' ;
} else {
//if ($row2['tip'] <= 2) {
if ( $row2 [ 'tip' ] <= 2 && ( $row2 [ 'orientation' ] != 8 || get ( 'mobile' ) == 1 )) {
if ( $row3 [ 'other' ] >= 0 )
$echo .= 'document.getElementById(\'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row3 [ 'id' ] . '\').checked ' ;
else
$echo .= 'document.getElementById(\'missing_value_spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row3 [ 'id' ] . '\').checked ' ;
} else {
$echo .= 'document.getElementById(\'vrednost_' . $row [ 'spr_id' ] . '\').value == \'' . $row3 [ 'id' ] . '\' ' ;
}
}
// masovni vnos
} else {
if ( $row2 [ 'tip' ] != 2 ) { // radio, dropdown
$echo .= 'document.getElementById(\'vrednost_' . $row [ 'spr_id' ] . '\').value == "' . $row3 [ 'vrstni_red' ] . '"' ;
} else { // checkbox
$echo .= 'document.getElementById(\'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row3 [ 'id' ] . '\').value == "1"' ;
}
}
}
// multigrid
} elseif ( $row [ 'vre_id' ] > 0 ) {
$sql3 = sisplet_query ( " SELECT grd_id FROM srv_condition_grid WHERE cond_id=' $row[id] ' " );
if ( ! $sql3 ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
$j = 0 ;
while ( $row3 = mysqli_fetch_array ( $sql3 )) {
if ( $j ++ != 0 ) $echo .= ' || ' ;
if ( $rowa [ 'mass_insert' ] != 1 || $row2 [ 'tip' ] != 6 || $_GET [ 'm' ] == 'quick_edit' ) { // normalno izpolnjevanje
// Ce imamo if pogoj za -1 -> neodgovor
if ( $row3 [ 'grd_id' ] == '-1' ) {
$condition = '' ;
// loop cez vse gride in preverimo ce je kaksen odkljukan
$sqlG = sisplet_query ( " SELECT * FROM srv_grid WHERE spr_id=' $row2[id] ' " );
while ( $rowG = mysqli_fetch_array ( $sqlG )) {
if ( $row2 [ 'enota' ] == 0 || $row2 [ 'enota' ] == 1 || $row2 [ 'enota' ] == 3 ) {
if ( $rowG [ 'other' ] == 0 )
$condition .= '!document.getElementById(\'vrednost_' . $row1 [ 'id' ] . '_grid_' . $rowG [ 'id' ] . ( $rowG [ 'part' ] > 1 ? '_part_2' : '' ) . '\').checked ' ;
else
$condition .= '!document.getElementById(\'grid_missing_value_' . $row1 [ 'id' ] . '_grid_' . $rowG [ 'id' ] . ( $rowG [ 'part' ] > 1 ? '_part_2' : '' ) . '\').checked ' ;
//} elseif ($row2['enota'] == 2) {
} elseif ( $row2 [ 'enota' ] == 2 || $row2 [ 'enota' ] == 6 ) {
$condition .= '!document.getElementsByName(\'vrednost_' . $row1 [ 'id' ] . '\')[0].options[document.getElementsByName(\'vrednost_' . $row1 [ 'id' ] . '\')[0].selectedIndex].value == \'' . $rowG [ 'id' ] . '\' ' ;
}
$condition .= ' && ' ;
}
$echo .= '(' . substr ( $condition , 0 , - 3 ) . ')' ;
} else {
if ( $row2 [ 'enota' ] == 0 || $row2 [ 'enota' ] == 1 || $row2 [ 'enota' ] == 3 || $row2 [ 'enota' ] == 4 || $row2 [ 'enota' ] == 8 ) {
$sql4 = sisplet_query ( " SELECT * FROM srv_grid WHERE spr_id=' $row2[id] ' AND id=' $row3[grd_id] ' " );
$row4 = mysqli_fetch_array ( $sql4 );
if ( $row4 [ 'other' ] == 0 )
$echo .= 'document.getElementById(\'vrednost_' . $row1 [ 'id' ] . '_grid_' . $row3 [ 'grd_id' ] . ( $row4 [ 'part' ] > 1 ? '_part_2' : '' ) . '\').checked ' ;
else
$echo .= 'document.getElementById(\'grid_missing_value_' . $row1 [ 'id' ] . '_grid_' . $row3 [ 'grd_id' ] . ( $row4 [ 'part' ] > 1 ? '_part_2' : '' ) . '\').checked ' ;
//} elseif ($row2['enota'] == 2) {
} elseif ( $row2 [ 'enota' ] == 2 || $row2 [ 'enota' ] == 6 ) {
$echo .= 'document.getElementsByName(\'vrednost_' . $row1 [ 'id' ] . '\')[0].options[document.getElementsByName(\'vrednost_' . $row1 [ 'id' ] . '\')[0].selectedIndex].value == \'' . $row3 [ 'grd_id' ] . '\' ' ;
}
}
// masovni vnos
} else {
$echo .= 'document.getElementById(\'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'vre_id' ] . '\').value == "' . $row3 [ 'grd_id' ] . '"' ;
}
}
}
$echo .= ' ) ' ;
//drag and drop @ kategorije en odgovor
} elseif ( $row2 [ 'tip' ] == 1 && ( $row2 [ 'orientation' ] == 8 && get ( 'mobile' ) != 1 )) {
if ( $row [ 'operator' ] == 0 )
$echo .= ' ' ;
else
$echo .= ' ! ' ;
$echo .= ' ( ' ;
//SELECT * FROM srv_condition_vre c, srv_vrednost v WHERE cond_id='$row[id]' AND c.vre_id=v.id
$sql3 = sisplet_query ( " SELECT c.vre_id FROM srv_condition_vre c, srv_vrednost v WHERE cond_id=' $row[id] ' AND c.vre_id=v.id " );
if ( ! $sql3 ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
$j = 0 ;
while ( $row3 = mysqli_fetch_array ( $sql3 )) {
if ( $j ++ != 0 ) $echo .= ' || ' ;
//if ($row2['design'] == 0 && get('mobile') == 0)
$echo .= ' $("#half2_frame_dropping_' . $row2 [ 'id' ] . '").children("div").attr("value") == ' . $row3 [ 'vre_id' ];
//half2_frame_dropping_4271, half2_frame_dropping_1_4276 //spremenljivka_4276_vrednost_22811
}
$echo .= ' ) ' ;
//drag and drop @ kategorije vec odgovorov
} elseif ( $row2 [ 'tip' ] == 2 && ( $row2 [ 'orientation' ] == 8 && get ( 'mobile' ) != 1 )) {
$z = 0 ;
if ( $row [ 'operator' ] == 0 )
$echo .= ' ' ;
else
$echo .= ' ! ' ;
$echo .= ' ( ' ;
//SELECT * FROM srv_condition_vre c, srv_vrednost v WHERE cond_id='$row[id]' AND c.vre_id=v.id
$sql3 = sisplet_query ( " SELECT c.vre_id FROM srv_condition_vre c, srv_vrednost v WHERE cond_id=' $row[id] ' AND c.vre_id=v.id " );
if ( ! $sql3 ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
$j = 0 ;
while ( $row3 = mysqli_fetch_array ( $sql3 )) {
if ( $j ++ != 0 ) $echo .= ' || ' ;
//if ($row2['design'] == 0 && get('mobile') == 0)
for ( $z = 1 ; $z <= $row2 [ 'grids' ]; $z ++ ) { //preleti vse mozne odgovore in sestavi pogoj
$echo .= ' $("#half2_frame_dropping_' . $row2 [ 'id' ] . '").children("div :nth-child(' . $z . ')").attr("value") == ' . $row3 [ 'vre_id' ];
if ( $z < $row2 [ 'grids' ]) { //ce ni zadnji mozni odgovor dodaj ali (||)
$echo .= '||' ;
}
}
}
$echo .= ' ) ' ;
//drag and drop @ tabela en odgovor
} elseif (( $row2 [ 'tip' ] == 6 ) && ( $row2 [ 'enota' ] == 9 )) {
if ( $row [ 'operator' ] == 0 )
$echo .= ' ' ;
else
$echo .= ' ! ' ;
$echo .= ' ( ' ;
$sql3 = sisplet_query ( " SELECT grd_id FROM srv_condition_grid WHERE cond_id=' $row[id] ' " );
if ( ! $sql3 ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
$j = 0 ;
while ( $row3 = mysqli_fetch_array ( $sql3 )) {
if ( $j ++ != 0 ) $echo .= ' || ' ;
//if ($row2['design'] == 0 && get('mobile') == 0)
$echo .= ' $("#half2_frame_dropping_' . $row3 [ 'grd_id' ] . '_' . $row2 [ 'id' ] . '").children("div").attr("value") == ' . $row [ 'vre_id' ];
}
$echo .= ' ) ' ;
//drag and drop @ tabela vec odgovorov
} elseif (( $row2 [ 'tip' ] == 16 ) && ( $row2 [ 'enota' ] == 9 )) {
if ( $row [ 'operator' ] == 0 )
$echo .= ' ' ;
else
$echo .= ' ! ' ;
$echo .= ' ( ' ;
$sql3 = sisplet_query ( " SELECT grd_id FROM srv_condition_grid WHERE cond_id=' $row[id] ' " );
if ( ! $sql3 ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
$j = 0 ;
while ( $row3 = mysqli_fetch_array ( $sql3 )) {
if ( $j ++ != 0 ) $echo .= ' || ' ;
//if ($row2['design'] == 0 && get('mobile') == 0)
for ( $z = 1 ; $z <= $row2 [ 'grids' ]; $z ++ ) { //preleti vse mozne odgovore in sestavi pogoj
$echo .= ' $("#half2_frame_dropping_' . $row3 [ 'grd_id' ] . '_' . $row2 [ 'id' ] . '").children("div :nth-child(' . $z . ')").attr("value") == ' . $row [ 'vre_id' ];
if ( $z < $row2 [ 'grids' ]) { //ce ni zadnji mozni odgovor dodaj ali (||)
$echo .= '||' ;
}
}
}
$echo .= ' ) ' ;
// razvrscanje
} elseif ( $row2 [ 'tip' ] == 17 ) {
if ( $row [ 'operator' ] == 0 )
$echo .= ' ' ;
else
$echo .= ' ! ' ;
$echo .= ' ( ' ;
$sql3 = sisplet_query ( " SELECT grd_id FROM srv_condition_grid WHERE cond_id=' $row[id] ' " );
if ( ! $sql3 ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
$j = 0 ;
while ( $row3 = mysqli_fetch_array ( $sql3 )) {
if ( $j ++ != 0 ) $echo .= ' || ' ;
if ( $row2 [ 'design' ] == 0 && get ( 'mobile' ) == 0 ) // prestavljanje
$echo .= ' $(\'#half2_' . $row2 [ 'id' ] . '\').sortable(\'toArray\')[' . ( $row3 [ 'grd_id' ] - 1 ) . '] == \'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'vre_id' ] . '\' ' ;
elseif ( $row2 [ 'design' ] == 1 || get ( 'mobile' ) > 0 ) // ostevilcevanje
$echo .= ' document.getElementsByName(\'spremenljivka_' . $row2 [ 'id' ] . '_vrednost_' . $row [ 'vre_id' ] . '\')[0].value == \'' . ( $row3 [ 'grd_id' ]) . '\' ' ;
elseif ( $row2 [ 'design' ] == 2 && get ( 'mobile' ) == 0 ) // premikanje
$echo .= ' $(\'#sortzone_' . $row2 [ 'id' ] . '\').sortable(\'toArray\')[' . ( $row3 [ 'grd_id' ] - 1 ) . '] == \'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'vre_id' ] . '\' ' ;
}
$echo .= ' ) ' ;
// tabela text, tabela stevilo
} elseif ( $row2 [ 'tip' ] == 19 || $row2 [ 'tip' ] == 20 ) {
$echo .= ' ( ' ;
$echo .= ' document.getElementById(\'vrednost_' . $row [ 'vre_id' ] . '_grid_' . $row [ 'grd_id' ] . '\').value' ;
if ( $row [ 'operator' ] == 0 )
$echo .= ' == ' ;
elseif ( $row [ 'operator' ] == 1 )
$echo .= ' !== ' ;
elseif ( $row [ 'operator' ] == 2 )
$echo .= ' < ' ;
elseif ( $row [ 'operator' ] == 3 )
$echo .= ' <= ' ;
elseif ( $row [ 'operator' ] == 4 )
$echo .= ' > ' ;
elseif ( $row [ 'operator' ] == 5 )
$echo .= ' >= ' ;
//if ($row['text'] == '')
$echo .= '"' . $row [ 'text' ] . '"' ;
/* else
$echo .= $row [ 'text' ]; */
$echo .= ' ) ' ;
// textbox
} elseif ( $row2 [ 'tip' ] == 21 ) {
$echo .= ' ( ' ;
if ( $row [ 'operator' ] <= 5 )
$echo .= 'document.getElementsByName(\'vrednost_' . $row [ 'spr_id' ] . '_kos_' . $row [ 'vre_id' ] . '\')[0].value' ;
else
$echo .= 'document.getElementsByName(\'vrednost_' . $row [ 'spr_id' ] . '_kos_' . $row [ 'vre_id' ] . '\')[0].value.length' ;
if ( $row [ 'operator' ] == 0 )
$echo .= ' == ' ;
elseif ( $row [ 'operator' ] == 1 )
$echo .= ' !== ' ;
elseif ( $row [ 'operator' ] == 6 )
$echo .= ' == ' ;
elseif ( $row [ 'operator' ] == 7 )
$echo .= ' < ' ;
elseif ( $row [ 'operator' ] == 8 )
$echo .= ' > ' ;
$echo .= '"' . $row [ 'text' ] . '"' ;
$echo .= ' ) ' ;
// number, compute in kvota majo drugacne pogoje in opcije
} elseif ( $row2 [ 'tip' ] == 4 || $row2 [ 'tip' ] == 7 || $row2 [ 'tip' ] == 22 || $row2 [ 'tip' ] == 25 ) {
$echo .= ' ( ' ;
if ( $row2 [ 'tip' ] == 7 ) // number ma drugacen ID, ker ima lahko dva polja
$echo .= 'document.getElementById(\'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . ( $row [ 'grd_id' ] + 1 ) . '\').value' ;
else
$echo .= 'document.getElementById(\'vrednost_' . $row [ 'spr_id' ] . '\').value' ;
if ( $row [ 'operator' ] == 0 )
$echo .= ' == ' ;
elseif ( $row [ 'operator' ] == 1 )
$echo .= ' !== ' ;
elseif ( $row [ 'operator' ] == 2 )
$echo .= ' < ' ;
elseif ( $row [ 'operator' ] == 3 )
$echo .= ' <= ' ;
elseif ( $row [ 'operator' ] == 4 )
$echo .= ' > ' ;
elseif ( $row [ 'operator' ] == 5 )
$echo .= ' >= ' ;
if ( $row2 [ 'tip' ] == 4 || $row [ 'operator' ] == 0 || $row [ 'operator' ] == 1 )
$echo .= '"' . $row [ 'text' ] . '"' ;
else {
if ( $row [ 'text' ] == '' )
$echo .= '"' . $row [ 'text' ] . '"' ;
else
$echo .= $row [ 'text' ];
}
$echo .= ' ) ' ;
// datum
} elseif ( $row2 [ 'tip' ] == 8 ) {
$echo .= ' ( ' ;
$echo .= 'Date.parse(convertDate(document.getElementById(\'vrednost_' . $row [ 'spr_id' ] . '\').value))' ;
if ( $row [ 'operator' ] == 0 )
$echo .= ' == ' ;
elseif ( $row [ 'operator' ] == 1 )
$echo .= ' !== ' ;
elseif ( $row [ 'operator' ] == 2 )
$echo .= ' < ' ;
elseif ( $row [ 'operator' ] == 3 )
$echo .= ' <= ' ;
elseif ( $row [ 'operator' ] == 4 )
$echo .= ' > ' ;
elseif ( $row [ 'operator' ] == 5 )
$echo .= ' >= ' ;
if ( $row [ 'text' ] == '' )
$echo .= '"' . $row [ 'text' ] . '"' ;
else
$echo .= 'Date.parse(convertDate("' . $row [ 'text' ] . '"))' ;
$echo .= ' ) ' ;
// vsota
} elseif ( $row2 [ 'tip' ] == 18 ) {
$echo .= ' ( ' ;
$echo .= 'document.getElementsByName(\'spremenljivka_' . $row [ 'spr_id' ] . '_vrednost_' . $row [ 'vre_id' ] . '\')[0].value' ;
if ( $row [ 'operator' ] == 0 )
$echo .= ' == ' ;
elseif ( $row [ 'operator' ] == 1 )
$echo .= ' !== ' ;
elseif ( $row [ 'operator' ] == 2 )
$echo .= ' < ' ;
elseif ( $row [ 'operator' ] == 3 )
$echo .= ' <= ' ;
elseif ( $row [ 'operator' ] == 4 )
$echo .= ' > ' ;
elseif ( $row [ 'operator' ] == 5 )
$echo .= ' >= ' ;
if ( $row [ 'text' ] == '' )
$echo .= '"' . $row [ 'text' ] . '"' ;
else
$echo .= $row [ 'text' ];
$echo .= ' ) ' ;
}
// recnum
} elseif ( $row [ 'spr_id' ] == - 1 ) {
$echo .= ' ( _recnum % ' . $row [ 'modul' ] . ' == ' . $row [ 'ostanek' ] . ' ) ' ;
// calculations
} elseif ( $row [ 'spr_id' ] == - 2 ) {
$echo .= ' ( ' ;
$echo .= $this -> generateCalculationJS ( $row [ 'id' ]);
if ( $row [ 'operator' ] == 0 )
$echo .= ' == ' ;
elseif ( $row [ 'operator' ] == 1 )
$echo .= ' !== ' ;
elseif ( $row [ 'operator' ] == 2 )
$echo .= ' < ' ;
elseif ( $row [ 'operator' ] == 3 )
$echo .= ' <= ' ;
elseif ( $row [ 'operator' ] == 4 )
$echo .= ' > ' ;
elseif ( $row [ 'operator' ] == 5 )
$echo .= ' >= ' ;
if ( $row [ 'text' ] == '' )
$echo .= '"' . $row [ 'text' ] . '"' ;
else
$echo .= $row [ 'text' ];
$echo .= ' ) ' ;
// quotas
} elseif ( $row [ 'spr_id' ] == - 3 ) {
$quota = Check :: getInstance () -> checkQuota ( $row [ 'id' ]);
$echo .= ' ( ' ;
$echo .= $quota ;
if ( $row [ 'operator' ] == 0 )
$echo .= ' == ' ;
elseif ( $row [ 'operator' ] == 1 )
$echo .= ' !== ' ;
elseif ( $row [ 'operator' ] == 2 )
$echo .= ' < ' ;
elseif ( $row [ 'operator' ] == 3 )
$echo .= ' <= ' ;
elseif ( $row [ 'operator' ] == 4 )
$echo .= ' > ' ;
elseif ( $row [ 'operator' ] == 5 )
$echo .= ' >= ' ;
if ( $row [ 'text' ] == '' )
$echo .= '"' . $row [ 'text' ] . '"' ;
else
$echo .= $row [ 'text' ];
$echo .= ' ) ' ;
// naprava
} elseif ( $row [ 'spr_id' ] == - 4 ) {
if ( in_array ( $row [ 'text' ], array ( '0' , '1' , '2' , '3' ))){
2021-06-02 09:00:50 +02:00
// Star nacin detekcije - vedno vezan na prvi prihod, po novem detektiramo vsakic posebej
/* $sqlU = sisplet_query ( " SELECT device FROM srv_user WHERE ank_id=' " . get ( 'anketa' ) . " ' AND id=' " . get ( 'usr_id' ) . " ' " );
2020-08-14 13:36:36 +02:00
$rowU = mysqli_fetch_array ( $sqlU );
2021-06-02 09:00:50 +02:00
$echo .= $row [ 'text' ] . ' == ' . $rowU [ 'device' ]; */
2021-06-02 09:11:14 +02:00
$device = 0 ;
$useragent = $_SERVER [ 'HTTP_USER_AGENT' ];
2021-06-02 09:00:50 +02:00
2021-06-02 09:11:14 +02:00
if ( $useragent != '' && get_cfg_var ( 'browscap' )) {
2021-06-02 09:00:50 +02:00
$browser_detect = get_browser ( $useragent , true );
2020-08-14 13:36:36 +02:00
2021-06-02 09:00:50 +02:00
$detect = New Mobile_Detect ();
$detect -> setUserAgent ( $useragent );
// Detect naprave (pc, mobi, tablet, robot)
if ( $detect -> isMobile ()) {
if ( $detect -> isTablet ())
2021-06-02 09:11:14 +02:00
$device = 2 ;
2021-06-02 09:00:50 +02:00
else
2021-06-02 09:11:14 +02:00
$device = 1 ;
2021-06-02 09:00:50 +02:00
}
elseif ( $browser_detect [ 'crawler' ] == 1 ){
2021-06-02 09:11:14 +02:00
$device = 3 ;
2021-06-02 09:00:50 +02:00
}
}
$echo .= ' ( ' ;
2021-06-02 09:11:14 +02:00
$echo .= $row [ 'text' ] . ' == ' . $device ;
2020-08-14 13:36:36 +02:00
$echo .= ' ) ' ;
}
}
for ( $i = 1 ; $i <= $row [ 'right_bracket' ]; $i ++ )
$echo .= ' ) ' ;
}
// failsafe, ce se poklika if, pa se ne nastavi pogoja
if ( $echo == '' )
$echo .= ' true ' ;
echo $echo ;
}
/**
* @ desc zgenerira kalkulacijo za vstavitev v JS
*/
public function generateCalculationJS ( $condition )
{
$calculationSpr = Cache :: srv_spremenljivka ( - $condition );
$sql = sisplet_query ( " SELECT * FROM srv_calculation WHERE cnd_id = ' $condition ' ORDER BY vrstni_red ASC " );
if ( ! $sql ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
$i = 0 ;
$expression = '' ;
while ( $row = mysqli_fetch_array ( $sql )) {
if ( $i ++ != 0 )
if ( $row [ 'operator' ] == 0 )
$expression .= ' + ' ;
elseif ( $row [ 'operator' ] == 1 )
$expression .= ' - ' ;
elseif ( $row [ 'operator' ] == 2 )
$expression .= ' * ' ;
elseif ( $row [ 'operator' ] == 3 )
$expression .= ' / ' ;
for ( $i = 1 ; $i <= $row [ 'left_bracket' ]; $i ++ )
$expression .= ' ( ' ;
// spremenljivke
if ( $row [ 'spr_id' ] > 0 ) {
// obicne spremenljivke
if ( $row [ 'vre_id' ] == 0 ) {
$row1 = Model :: select_from_srv_spremenljivka ( $row [ 'spr_id' ]);
$spr = $row1 [ 'id' ];
$vre = 0 ;
$grd = $row [ 'grd_id' ];
$tip = $row1 [ 'tip' ];
} // checkbox, multigrid
elseif ( $row [ 'vre_id' ] > 0 ) {
$sql1 = sisplet_query ( " SELECT v.spr_id, v.id, s.tip AS tip FROM srv_vrednost v, srv_spremenljivka s WHERE v.id = ' $row[vre_id] ' AND v.spr_id=s.id " );
if ( ! $sql1 ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
$row1 = mysqli_fetch_array ( $sql1 );
$spr = $row1 [ 'spr_id' ];
$vre = $row1 [ 'id' ];
$tip = $row1 [ 'tip' ];
$grd = $row [ 'grd_id' ];
} else {
$spr = 0 ;
$vre = 0 ;
$tip = 0 ;
$grd = 0 ;
}
// Preverimo kako obravnavamo missinge - posamezno kot 0 ali kot -88 za celo kalkulacijo
$newParams = new enkaParameters ( $calculationSpr [ 'params' ]);
$calcMissing = $newParams -> get ( 'calcMissing' , '0' );
$expression .= " checkCalculation(' { $spr } ', ' { $vre } ', ' { $grd } ', ' { $tip } ', ' { $calcMissing } ') " ;
}
// konstante
elseif ( $row [ 'spr_id' ] == - 1 ) {
$expression .= $row [ 'number' ];
}
// recnum
elseif ( $row [ 'spr_id' ] == - 2 ) {
$sqlu = sisplet_query ( " SELECT recnum FROM srv_user WHERE id=' " . get ( 'usr_id' ) . " ' " );
$rowu = mysqli_fetch_array ( $sqlu );
$expression .= $rowu [ 'recnum' ];
}
for ( $i = 1 ; $i <= $row [ 'right_bracket' ]; $i ++ )
$expression .= ' ) ' ;
}
// Zaokrozimo na doloceno stevilo decimalk
$decimals = $calculationSpr [ 'decimalna' ];
$expression = 'parseFloat((' . $expression . ').toFixed(' . $decimals . '))' ;
return '(' . $expression . ')' ;
}
}