diff --git a/main/survey/app/Controllers/BodyController.php b/main/survey/app/Controllers/BodyController.php index cc6f6c41c..76e6aa9b9 100644 --- a/main/survey/app/Controllers/BodyController.php +++ b/main/survey/app/Controllers/BodyController.php @@ -1228,7 +1228,7 @@ class BodyController extends Controller // SKAVTI - prikaz povzetka odgovorov in grafa global $mysql_database_name; - //if($mysql_database_name == '1ka' && get('anketa') == '37') + //if($mysql_database_name == '1ka' && get('anketa') == '64'){ if($mysql_database_name == '1ka' && (get('anketa') == '293926' || get('anketa') == '314856')){ echo '
'; Display::getInstance()->displaySkavtiAnswers(); @@ -1242,9 +1242,7 @@ class BodyController extends Controller //$user_settings = GDPR::getSurveySettings(get('anketa')); echo '
'; - echo '

'.self::$lang['srv_gdpr_concl'].'

'; - echo '
'; } diff --git a/main/survey/app/Controllers/DisplayController.php b/main/survey/app/Controllers/DisplayController.php index 87dc2b1e8..64758c00d 100644 --- a/main/survey/app/Controllers/DisplayController.php +++ b/main/survey/app/Controllers/DisplayController.php @@ -581,15 +581,8 @@ class DisplayController extends Controller $spr_id = $vrednost['spr_id']; $vprasanje_number = $vprasanja[$spr_id]; - echo '
'; - - echo '
'.$pohvale_besedilo[$vprasanje_number].'
'; - /*echo '
'.$vprasanja[$vrednost['spr_id']]['spr_naslov'].'
'; - - echo '
'; - echo $vrednost['naslov'] . '('.$pohvala_vrednost.')'; - echo '
';*/ - + echo '
'; + echo '
'.$pohvale_besedilo[$vprasanje_number].'
'; echo '
'; $i++; @@ -607,19 +600,95 @@ class DisplayController extends Controller $spr_id = $vrednost['spr_id']; $vprasanje_number = $vprasanja[$spr_id]; - echo '
'; - - echo '
'.$graje_besedilo[$vprasanje_number].'
'; - /*echo '
'.$vprasanja[$vrednost['spr_id']]['spr_naslov'].'
'; - - echo '
'; - echo $vrednost['naslov'] . '('.$graja_vrednost.')'; - echo '
';*/ - + echo '
'; + echo '
'.$graje_besedilo[$vprasanje_number].'
'; echo '
'; $i++; - } + } + + $this->displaySkavtiRadar(); + } + + // SKAVTI - prikaze graf pajkovo mrezo + private function displaySkavtiRadar(){ + + // Include knjiznice Chart.JS + echo ''; + echo ''; + + + // Priprava podatkov za radar + $radar_data = array(); + $sqlB = sisplet_query("SELECT i.label, i.id + FROM srv_if i, srv_branching b + WHERE b.ank_id='".get('anketa')."' AND i.id=b.element_if + AND i.tip='1' + "); + if (!$sqlB) echo mysqli_error($GLOBALS['connect_db']); + + // Loop cez bloke (stranica radarja) + while($rowB = mysqli_fetch_array($sqlB)){ + + // Dobimo vsa ustrezna vprasanja z odgovori v tem bloku + $sqlQ = sisplet_query("SELECT s.id AS spr_id, s.variable AS spr_variable, v.naslov, v.variable, vd.* + FROM srv_branching b, srv_spremenljivka s, srv_vrednost v, srv_data_vrednost_active vd + WHERE b.ank_id='".get('anketa')."' AND b.parent='".$rowB['id']."' AND b.element_spr=s.id + AND s.variable LIKE 'R%' + AND vd.usr_id='".get('usr_id')."' AND vd.spr_id=s.id + AND v.id=vd.vre_id + "); + if (!$sqlQ) echo mysqli_error($GLOBALS['connect_db']); + + // Loop cez vprasanja in odgovore v bloku + $count_answers_pohvale = 0; + $count_answers_graje = 0; + while($rowQ = mysqli_fetch_array($sqlQ)){ + + // Pohvala + if((int)$rowQ['variable'] >= 1 && (int)$rowQ['variable'] <= 199){ + $count_answers_pohvale++; + } + // Graja + elseif((int)$rowQ['variable'] >= 201 && (int)$rowQ['variable'] <= 399){ + $count_answers_graje++; + } + } + + $count_answers_all = (int)$count_answers_pohvale + (int)$count_answers_graje; + if($count_answers_all > 0){ + $radar_data[$rowB['label']]['all'] = $count_answers_all; + $radar_data[$rowB['label']]['pohvale'] = $count_answers_pohvale; + $radar_data[$rowB['label']]['graje'] = $count_answers_graje; + } + } + echo '
' . var_export($radar_data, true) . '
'; + + $labels = array(); + $values = array(); + $i = 0; + foreach($radar_data as $radar_label => $radar_values){ + + $labels[$i] = $radar_label; + $pohvale[$i] = round($radar_values['pohvale'] / $radar_values['all'] * 10); + $graje[$i] = round($radar_values['graje'] / $radar_values['all'] * 10); + + $i++; + } + + $json_labels = json_encode($labels); + $json_pohvale = json_encode($pohvale); + $json_graje = json_encode($graje); + + echo '

Pajkova mreža

'; + + // Izris grafa + echo '
'; + + echo ''; + echo ''; + + echo '
'; } diff --git a/main/survey/js/ChartJS/chart_init.js b/main/survey/js/ChartJS/chart_init.js index bbca6c4d3..f1ac5eb49 100644 --- a/main/survey/js/ChartJS/chart_init.js +++ b/main/survey/js/ChartJS/chart_init.js @@ -214,3 +214,47 @@ function init_excell_matrix(x_axis, y_axis, rad){ } }); } + +// Funkcija za poseben modul radar chart - skavti +function init_skavti_radar(labels, pohvale, graje){ + + // Inicializiramo graf + var ctx = document.getElementById("skavti_radar_chart"); + + // Podatki grafa + var data = { + labels: labels, + datasets: [{ + data: pohvale, + label: "Pohvale", + backgroundColor: "rgba(30,136,229,0.6)" + }, + { + data: graje, + label: "Graje", + backgroundColor: "rgba(200,0,0,0.5)" + }] + }; + + // Nastavitve grafa + var options = { + scale: { + angleLines: { + display: false + }, + ticks: { + max: 10, + min: 0, + stepSize: 1 + }, + } + }; + + /*Chart.defaults.global.defaultFontSize = 15;*/ + + var radarChart = new Chart(ctx, { + type: 'radar', + data: data, + options: options + }); +}