';
echo '
';
}
}
}
// Prikaze url za naknadno popravljanje odgovorov (od zacetka ankete) v zakljucku
public function displayReturnEditURL()
{
$row = SurveyInfo::getInstance()->getSurveyRow();
if ((int)$row['concl_return_edit'] == 1) {
$return_url = $_POST['url'] . '&return=1';
$return_url = SurveyInfo::getSurveyLink() . get('cookie_url') . '&return=1';
echo '
';
echo self::$lang['srv_concl_return_edit_URL'].':
';
echo ''.$return_url.'';
echo '
';
}
}
// Prikaze pravilne rezultate v primeru modula KVIZ
public function displayQuizAnswers()
{
// echo '
'.self::$lang['results'].'
';
// Loop cez vsa ustrezna vprasanja (ki imajo oznacen vsaj en pravilen odgovor)
$sqlS = sisplet_query("SELECT s.id, s.naslov, s.info FROM srv_spremenljivka s, srv_grupa g
WHERE g.ank_id='".get('anketa')."' AND s.gru_id=g.id AND s.tip IN ('1', '2', '3') AND s.visible='1'
AND EXISTS (SELECT q.* FROM srv_quiz_vrednost q WHERE q.spr_id=s.id)
AND NOT EXISTS (SELECT d.* FROM srv_data_vrednost_active d WHERE d.spr_id=s.id AND usr_id='".get('usr_id')."' AND d.vre_id='-2')");
if (!$sqlS) echo mysqli_error($GLOBALS['connect_db']);
while($rowS = mysqli_fetch_array($sqlS)){
echo '
';
//Vprasanja::getInstance()->displaySpremenljivka($rowS['id']);
echo '
'.$rowS['naslov'];
if ($rowS['info'] != '')
echo '
' . $rowS['info'] . '
';
echo '
';
echo '
';
// Loop cez vse vrednosti v vprasanju
$sqlV = sisplet_query("SELECT id, naslov FROM srv_vrednost WHERE spr_id='".$rowS['id']."' ORDER BY vrstni_red ASC");
while($rowV = mysqli_fetch_array($sqlV)){
// Za vsako pogledamo ce je pravilna oz napacna
$answer = false;
$correct = false;
$sqlAnswer = sisplet_query("SELECT * FROM srv_data_vrednost_active WHERE spr_id='".$rowS['id']."' AND vre_id='".$rowV['id']."' AND usr_id='".get('usr_id')."'");
if(mysqli_num_rows($sqlAnswer) == 1)
$answer = true;
$sqlQuiz = sisplet_query("SELECT * FROM srv_quiz_vrednost WHERE spr_id='".$rowS['id']."' AND vre_id='".$rowV['id']."'");
if(mysqli_num_rows($sqlQuiz) == 1)
$correct = true;
if($correct && $answer){
echo '
';
echo $rowV['naslov'] . '';
echo '
';
}
elseif($correct){
echo '
';
//echo $rowV['naslov'] . '';
echo $rowV['naslov'];
echo '
';
}
elseif($answer){
echo '
';
echo $rowV['naslov'] . '';
echo '
';
}
else{
echo '
';
echo $rowV['naslov'];
echo '
';
}
}
echo '
';
echo '
';
}
}
// Prikaze graf rezultatov v primeru modula KVIZ
public function displayQuizChart()
{
//echo '
'.self::$lang['results'].'
';
$cnt_all = 0;
$cnt_answered = 0;
$cnt_unanswered = 0;
$cnt_correct = 0;
$cnt_incorrect = 0;
// Loop cez vsa ustrezna vprasanja (ki imajo oznacen vsaj en pravilen odgovor)
$sqlS = sisplet_query("SELECT s.id, s.naslov, s.info FROM srv_spremenljivka s, srv_grupa g
WHERE g.ank_id='".get('anketa')."' AND s.gru_id=g.id AND s.tip IN ('1', '2', '3') AND s.visible='1'
AND EXISTS (SELECT q.* FROM srv_quiz_vrednost q WHERE q.spr_id=s.id)
AND NOT EXISTS (SELECT d.* FROM srv_data_vrednost_active d WHERE d.spr_id=s.id AND usr_id='".get('usr_id')."' AND d.vre_id='-2')");
if (!$sqlS) echo mysqli_error($GLOBALS['connect_db']);
while($rowS = mysqli_fetch_array($sqlS)){
$cnt_all++;
$answer = false;
$correct = false;
// Loop cez vse vrednosti v vprasanju
$sqlV = sisplet_query("SELECT id, naslov FROM srv_vrednost WHERE spr_id='".$rowS['id']."' ORDER BY vrstni_red ASC");
while($rowV = mysqli_fetch_array($sqlV)){
// Za vsako pogledamo ce je odgovorjena
$sqlAnswer = sisplet_query("SELECT * FROM srv_data_vrednost_active WHERE spr_id='".$rowS['id']."' AND vre_id='".$rowV['id']."' AND usr_id='".get('usr_id')."'");
if(mysqli_num_rows($sqlAnswer) == 1){
$answer = true;
// Za vsako pogledamo ce je pravilna oz napacna
$sqlQuiz = sisplet_query("SELECT * FROM srv_quiz_vrednost WHERE spr_id='".$rowS['id']."' AND vre_id='".$rowV['id']."'");
if(mysqli_num_rows($sqlQuiz) == 1){
$correct = true;
}
// Ce je oznacil napacno breakamo
else{
$correct = false;
break;
}
}
}
if($answer)
$cnt_answered++;
else
$cnt_unanswered++;
if($correct)
$cnt_correct++;
else
$cnt_incorrect++;
}
// Izrisemo graf
/*echo 'Vseh: '.$cnt_all;
echo '
odgovorjen: '.$cnt_answered;
echo '
neodg: '.$cnt_unanswered;
echo '
pravilen: '.$cnt_correct;
echo '
nepravilen: '.$cnt_incorrect;*/
// Include knjiznice Chart.JS
echo '';
echo '';
// Izris grafa
echo '
';
echo '';
echo '';
echo '
';
}
// Prikaze graf za matriko odlicnosti (excell_matrix) v primeru modula Excelleration matrix
public function displayExcellChart()
{
echo '
'.self::$lang['srv_excell_matrix_title'].'
';
// Loop cez vsa ustrezna vprasanja in njihove vrednosti (jih zakesiramo)
$variables = array();
$variable_marza = array();
$variable_lp = array();
$spr_ids = '';
$sqlS = sisplet_query("SELECT s.id AS spr_id, s.naslov AS spr_naslov, s.variable AS spr_variable, v.id AS vre_id, v.variable AS vre_variable, v.naslov AS vre_naslov
FROM srv_spremenljivka s, srv_grupa g, srv_vrednost v
WHERE g.ank_id='".get('anketa')."' AND s.gru_id=g.id
AND s.variable LIKE 'em%'
AND v.spr_id=s.id");
if (!$sqlS) echo mysqli_error($GLOBALS['connect_db']);
while($rowS = mysqli_fetch_array($sqlS)){
// Marza
if($rowS['spr_variable'] == 'emM'){
// ID-ji vprasanj za query
if(!isset($variable_marza['id']))
$spr_ids .= $rowS['spr_id'].',';
$variable_marza['naslov'] = strip_tags($rowS['spr_naslov']);
$variable_marza['id'] = $rowS['spr_id'];
$variable_marza['vrednosti'][$rowS['vre_id']]['variable'] = $rowS['vre_variable'];
$variable_marza['vrednosti'][$rowS['vre_id']]['naslov'] = $rowS['vre_naslov'];
}
// Letni promet
elseif($rowS['spr_variable'] == 'emLP'){
$variable_lp['naslov'] = strip_tags($rowS['spr_naslov']);
$variable_lp['id'] = $rowS['spr_id'];
}
// Ostali
else{
// ID-ji vprasanj za query
if(!isset($variables[$rowS['spr_id']]['variable']))
$spr_ids .= $rowS['spr_id'].',';
$variables[$rowS['spr_id']]['naslov'] = strip_tags($rowS['spr_naslov']);
$variables[$rowS['spr_id']]['variable'] = $rowS['spr_variable'];
$variables[$rowS['spr_id']]['vrednosti'][$rowS['vre_id']]['variable'] = $rowS['vre_variable'];
$variables[$rowS['spr_id']]['vrednosti'][$rowS['vre_id']]['naslov'] = $rowS['vre_naslov'];
}
}
$spr_ids = substr($spr_ids, 0, -1);
// Loop cez vse respondente s statusom 6 - vsak je svoj bubble
$data = array();
$sum = 0;
$cnt = 0;
$sqlAnswers = sisplet_query("SELECT * FROM srv_data_vrednost_active WHERE usr_id='".get('usr_id')."' AND spr_id IN (".$spr_ids.")");
while($rowAnswers = mysqli_fetch_array($sqlAnswers)){
// Marzo normalno preberemo
if($rowAnswers['spr_id'] == $variable_marza['id']){
$value = $variable_marza['vrednosti'][$rowAnswers['vre_id']]['variable'];
$data['marza'] = $value;
$variable_marza['value'] = $rowAnswers['vre_id'];
}
// Pri ostalih racunamo povprecje
else{
$value = $variables[$rowAnswers['spr_id']]['vrednosti'][$rowAnswers['vre_id']]['variable'];
$sum += (int)$value;
$cnt++;
$variables[$rowAnswers['spr_id']]['value'] = $rowAnswers['vre_id'];
}
}
$data['excell'] = round($sum/$cnt, 1);
// Posebej pridobimo tudi letni promet
$sqlAnswers = sisplet_query("SELECT text FROM srv_data_text_active WHERE usr_id='".get('usr_id')."' AND spr_id='".$variable_lp['id']."'");
$rowAnswers = mysqli_fetch_array($sqlAnswers);
$data['letni_promet'] = $rowAnswers['text'];
$variable_lp['value'] = $rowAnswers['text'];
// Max radius=80 (vrednost 1000), min radius=8 (vrednost 100)
$radius = $data['letni_promet'];
// Include knjiznice Chart.JS
echo '';
echo '';
// Izris grafa
echo '
';
echo '';
echo '';
echo '
';
// Izrisemo se seznam vprasanj
foreach($variables as $spr_id => $spremenljivka){
echo '
';
echo '
'.$spremenljivka['naslov'].'
';
echo '
';
foreach($spremenljivka['vrednosti'] as $vre_id => $vrednost){
echo '
'.$vrednost['naslov'].'
';
}
echo '
';
echo '
';
}
// Marza
echo '
';
echo '
'.$variable_marza['naslov'].'
';
echo '
';
foreach($variable_marza['vrednosti'] as $vre_id => $vrednost){
echo '
'.$vrednost['naslov'].'
';
}
echo '
';
echo '
';
// Letni promet
echo '
';
echo '
'.$variable_lp['naslov'].'
';
echo '
';
echo '
'.$variable_lp['value'].'
';
echo '
';
echo '
';
}
// SKAVTI - prikaze povzetek in graf za njihovo anketo
public function displaySkavtiAnswers(){
// Stevilo top pohval in graj, ki jih izpisemo v zakljucku
$max_odgovorov = 3;
$vprasanja = array();
$spr_ids = '';
// Loop cez vsa ustrezna vprasanja in njihove vrednosti (jih zakesiramo)
$sqlS = sisplet_query("SELECT s.id AS spr_id, s.naslov AS spr_naslov, s.variable AS spr_variable
FROM srv_spremenljivka s, srv_grupa g
WHERE g.ank_id='".get('anketa')."' AND s.gru_id=g.id
AND (s.variable LIKE 'P%' OR s.variable LIKE 'G%')
");
if (!$sqlS) echo mysqli_error($GLOBALS['connect_db']);
while($rowS = mysqli_fetch_array($sqlS)){
$vprasanja[$rowS['spr_id']] = $rowS;
// ID-ji vprasanj za query
$spr_ids .= $rowS['spr_id'].',';
// Pohvala
if(substr($rowS['spr_variable'], 0, 1) == 'P')
$vprasanja[$rowS['spr_id']]['tip'] = 'pohvala';
// Graja
else
$vprasanja[$rowS['spr_id']]['tip'] = 'graja';
}
$spr_ids = substr($spr_ids, 0, -1);
// Loop cez vse response za vprasanja
$pohvale = array();
$graje = array();
$sqlAnswers = sisplet_query("SELECT vd.*, v.naslov, v.variable
FROM srv_data_vrednost_active vd, srv_vrednost v
WHERE vd.usr_id='".get('usr_id')."' AND vd.spr_id IN (".$spr_ids.")
AND v.id=vd.vre_id
");
while($rowAnswers = mysqli_fetch_array($sqlAnswers)){
// Graja
if((int)$rowAnswers['variable'] > 199){
$graje[(int)$rowAnswers['variable']] = $rowAnswers;
}
// Pohvala
else{
$pohvale[(int)$rowAnswers['variable']] = $rowAnswers;
}
}
// Sortiramo po velikosti
ksort($pohvale, SORT_NUMERIC);
ksort($graje, SORT_NUMERIC);
// Izrisemo seznam vprasanj s pohvalami
echo '
POHVALE
';
$i = 1;
foreach($pohvale as $pohvala_vrednost => $vrednost){
if($i > $max_odgovorov)
break;
echo '
';
echo '
'.$vprasanja[$vrednost['spr_id']]['spr_naslov'].'
';
echo '
';
echo $vrednost['naslov'] . '('.$pohvala_vrednost.')';
echo '
';
echo '
';
$i++;
}
// Izrisemo seznam vprasanj z grajami
echo '
GRAJE
';
$i = 1;
foreach($graje as $graja_vrednost => $vrednost){
if($i > $max_odgovorov)
break;
echo '
';
echo '
'.$vprasanja[$vrednost['spr_id']]['spr_naslov'].'
';
echo '
';
echo $vrednost['naslov'] . '('.$graja_vrednost.')';
echo '
';
echo '
';
$i++;
}
}
/**
* prikaze lepo obvestilo o napaki (anketa je zaključena itd...)
*
* @param mixed $text
*/
public function displayNapaka($text)
{
Header::getInstance()->header();
$anketa = get('anketa');
echo '
';
echo '
';
echo ' ';
echo '
';
$this->logo();
echo '
' . Helper::getInstance()->displayAkronim() . '
';
echo '
';
echo '
';
echo '
' . $text . '
';
echo '
';
echo '
'; // -grupa
echo '
'; // -container
Body::getInstance()->displayFooterNote();
echo '
'; // -outercontainer
echo '
'; // -outercontainer_holder
}
/**
* Prikaze zavihke za bloke, ce obstajajo
*
*/
public function display_tabs()
{
$sql = sisplet_query("SELECT * FROM srv_if i, srv_branching b WHERE i.tab='1' AND i.tip='1' AND i.id=b.element_if AND b.ank_id='" . get('anketa') . "' ORDER BY b.parent, b.vrstni_red");
if (mysqli_num_rows($sql) > 0) {
echo '
';
}
}
/**
* @desc konstruktor
*/
public function PrintSurvey()
{
if (isset($_GET['anketa'])) {
save('anketa', $_GET['anketa']);
$rowa = SurveyInfo::getInstance()->getSurveyRow();
// uvodni nagovor
if ($rowa['show_intro'] != 0) {
Body::getInstance()->displayIntroduction();
}
// prikažemo ankete
do {
save('grupa', Find::getInstance()->findNextGrupa());
Body::getInstance()->displayAnketa();
} while (get('grupa') != Find::getInstance()->findNextGrupa() && Find::getInstance()->findNextGrupa() > 0);
// prikažemo konec
Body::getInstance()->displayKonec();
} else
echo 'Ni podatkov o anketi!';
}
/**
* @desc prikaze chat okno za tawk chat, ce je modul vklopljen (js koda)
*/
public function displayChatTAWK(){
echo '
';
$sql = sisplet_query("SELECT code, chat_type FROM srv_chat_settings WHERE ank_id='".get('anketa')."'");
if(mysqli_num_rows($sql) > 0){
$row = mysqli_fetch_array($sql);
if($row['code'] != ''){
// JS koda za widget
echo $row['code'];
echo "";
}
}
echo '
';
}
}