| Server IP : 195.130.67.5 / Your IP : 216.73.217.154 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Old Sites/modip/infosystem_v7/application/views/ |
Upload File : |
<?php
function view_evaluation($id_course_assignment) {
if(!permission_exists("view_evaluation", $id_course_assignment)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
$colorize=0;
if(permission_exists("view_advanced_evaluation", $id_course_assignment)) {
$colorize=1;
}
$owner=course_assignment_owner($id_course_assignment);
if ($owner==$_SESSION['user_logged']) {
$owned=1;
}
else {
$owned=0;
}
$assignment_data_i=mysql_fetch_array(query("
SELECT ca.id_class, co.title, co.exam, ru.name, cl.semester, co.coursecode, u.last_name, u.first_name, u.id, a.no_eval_reason, co.id_unit, ca.questionnaire_code, ca.teaches FROM __course_assignments ca
INNER JOIN __classes cl ON cl.id=ca.id_class
INNER JOIN __courses co ON cl.id_course=co.id
INNER JOIN __relations r ON r.relation_chain = ca.relation_chain
INNER JOIN __users u ON u.id=r.id_user
INNER JOIN __units ru ON co.id_unit=ru.id
LEFT JOIN __answer_stats a ON a.id_course_assignment=ca.id
WHERE ca.id='".$id_course_assignment."'"));
if ($assignment_data_i['teaches']==0) {
$_SESSION['error_message']="Η συγκεκριμένη ανάθεση δεν έχε ρόλο διδασκαλίας (μόνο συμπλήρωση απογραφικού δελτίου) και δεν αξιολογείται.";
default_page();
return;
}
/*+++*/
//diakoptis gia provoli apotelesmaton trexontos eksaminou
if ($assignment_data_i['semester']==current_semester() && VIEW_CURRENT_SEMESTER_EVALUATION==0) {
$_SESSION['error_message']="Δεν έχετε δικαίωμα πρόσβασης στα αποτελέσματα αξιολόγησης, διότι δεν έχει ολοκληρωθεί η διαδικασία υποβολής των βαθμολογιών στις γραμματείες.";
default_page();
return;
}
if ($owned){
$_SESSION['title']="Η αξιολόγησή μου για το μάθημα <b>".$assignment_data_i['title']."</b>";
}else{
$_SESSION['title']="Αξιολόγηση ανάθεσης μαθήματος χρήστη <b>".$assignment_data_i['last_name']." ".$assignment_data_i['first_name']."</b> - ".semester_id_to_text($assignment_data_i['semester']);
}
$_SESSION['content']="
<table border='0' width='100%' cellpadding='0' cellspacing='0' id='custom-table'>
<tr valign='middle'>
<td class='celltint2'>Μάθημα: </td>
<td><b>".$assignment_data_i['title']."</b> - ".$assignment_data_i['name']."</td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Κωδικός Μαθήματος: </td>
<td>".$assignment_data_i['coursecode']."</td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Κωδικός Τάξης: </td>
<td>".$assignment_data_i['id_class']."</td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Τυπικό εξάμηνο: </td>
<td >".return_semester($assignment_data_i['exam'])."
</td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Εξάμηνο Αξιολόγησης: </td>
<td >".semester_id_to_text($assignment_data_i['semester'])."</td>
</tr>";
if (!$owned) $_SESSION['content'].="
<tr valign='middle'>
<td class='celltint2'>Διδάσκων: </td>
<td>
<a title='Προβολή στοιχείων χρήστη ".$assignment_data_i['last_name']." ".$assignment_data_i['first_name']." σε νέο παράθυρο' class='info-tooltip' target='_blank' href='?action=viewuser&userid=".$assignment_data_i['id']."'>".$assignment_data_i['last_name']." ".$assignment_data_i['first_name']."</a></td>
</tr>";
$_SESSION['content'].="
</table>
<div style='height:30px;'>
<form name='form' action='?action=viewevaluationpdf&id_course_assignment=".$id_course_assignment."' method='post'>
<input type='hidden' id='pdfimg' name='img' value='' />
<a class='info-tooltip' style='cursor:pointer;' title='Εξαγωγή αυτής της προβολής σε αρχείο PDF' onclick='document.forms[\"form\"].submit();'><img src='themes/".CURRENT_TEMPLATE."/images/shared/pdf_export.png' class='add_new_button' /></a>
</form>
</div>
<br />
";
$min_questionnaires_accepted=MINIMUM_QUESTIONNAIRES_ACCEPTED;
$id_questionnaire=course_assignment_to_questionnaire($id_course_assignment);
$id_unit=course_assignment_to_unit($id_course_assignment);
$semester=course_assignment_to_semester($id_course_assignment);
$questionnaire_data_i=mysql_fetch_array(query("SELECT q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12, q13, q14, q15, q16, q17, q18, q19, q20, q21, q22, q23, q24, q25, q26, q27, q28, q29, q30, q31, q32, q33, q34, q35, q36, q37, q38, q39, q40, q41, q42, q43, q44, q45, q46, q47, q48, q49, q50, q51, q52, q53, q54, q55, q56, q57, q58, q59, q60, id_questionnaire, id_unit, semester, description, type, no_questions FROM __questionnaires q WHERE id_questionnaire='".$id_questionnaire."'"));
$answers_avg_i=mysql_fetch_array(query("SELECT AVG(NULLIF(q1,0))q1, AVG(NULLIF(q2,0))q2, AVG(NULLIF(q3,0))q3, AVG(NULLIF(q4,0))q4, AVG(NULLIF(q5,0))q5, AVG(NULLIF(q6,0))q6, AVG(NULLIF(q7,0))q7, AVG(NULLIF(q8,0))q8, AVG(NULLIF(q9,0))q9, AVG(NULLIF(q10,0))q10, AVG(NULLIF(q11,0))q11, AVG(NULLIF(q12,0))q12, AVG(NULLIF(q13,0))q13, AVG(NULLIF(q14,0))q14, AVG(NULLIF(q15,0))q15, AVG(NULLIF(q16,0))q16, AVG(NULLIF(q17,0))q17, AVG(NULLIF(q18,0))q18, AVG(NULLIF(q19,0))q19, AVG(NULLIF(q20,0))q20, AVG(NULLIF(q21,0))q21, AVG(NULLIF(q22,0))q22, AVG(NULLIF(q23,0))q23, AVG(NULLIF(q24,0))q24, AVG(NULLIF(q25,0))q25, AVG(NULLIF(q26,0))q26, AVG(NULLIF(q27,0))q27, AVG(NULLIF(q28,0))q28, AVG(NULLIF(q29,0))q29, AVG(NULLIF(q30,0))q30, AVG(NULLIF(q31,0))q31, AVG(NULLIF(q32,0))q32, AVG(NULLIF(q33,0))q33, AVG(NULLIF(q34,0))q34, AVG(NULLIF(q35,0))q35, AVG(NULLIF(q36,0))q36, AVG(NULLIF(q37,0))q37, AVG(NULLIF(q38,0))q38, AVG(NULLIF(q39,0))q39, AVG(NULLIF(q40,0))q40, AVG(NULLIF(q41,0))q41, AVG(NULLIF(q42,0))q42, AVG(NULLIF(q43,0))q43, AVG(NULLIF(q44,0))q44, AVG(NULLIF(q45,0))q45, AVG(NULLIF(q46,0))q46, AVG(NULLIF(q47,0))q47, AVG(NULLIF(q48,0))q48, AVG(NULLIF(q49,0))q49, AVG(NULLIF(q50,0))q50, AVG(NULLIF(q51,0))q51, AVG(NULLIF(q52,0))q52, AVG(NULLIF(q53,0))q53, AVG(NULLIF(q54,0))q54, AVG(NULLIF(q55,0))q55, AVG(NULLIF(q56,0))q56, AVG(NULLIF(q57,0))q57, AVG(NULLIF(q58,0))q58, AVG(NULLIF(q59,0))q59, AVG(NULLIF(q60,0))q60, semester, id_unit, id_questionnaire, id_class, id_user, questionnaire_code, COUNT(id) no_questionnaires FROM __answers WHERE id_user=".$assignment_data_i['id']." AND id_class='".$assignment_data_i['id_class']."' AND id_questionnaire=".$questionnaire_data_i['id_questionnaire']." GROUP BY semester, id_unit, id_questionnaire, id_class, id_user, questionnaire_code"));
$unit_total_questionnaires_i=mysql_fetch_array(query("SELECT COUNT(id) no_questionnaires FROM __answers WHERE id_questionnaire=".$questionnaire_data_i['id_questionnaire'].""));
$answers_avg_unit_i=array();
for ($r=1; $r<=$questionnaire_data_i["no_questions"]; $r++){
$assignments_weight_d=query("SELECT COUNT(NULLIF(q".$r.",0))*AVG(NULLIF(q".$r.",0)) as rating, questionnaire_code
FROM __answers a
WHERE a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.id_questionnaire='".$id_questionnaire."' GROUP BY questionnaire_code HAVING COUNT(NULLIF(q".$r.",0))>=".$min_questionnaires_accepted."");
$assignments_total_weight=0;
while ($assignments_weight_i=mysql_fetch_array($assignments_weight_d)){
$assignments_total_weight+=$assignments_weight_i["rating"];
}
$assignments_count_d=query("SELECT COUNT(NULLIF(q".$r.",0)) as total, questionnaire_code
FROM __answers a
WHERE a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.id_questionnaire='".$id_questionnaire."' GROUP BY questionnaire_code HAVING COUNT(NULLIF(q".$r.",0))>=".$min_questionnaires_accepted);
$assignments_total_count=0;
while ($assignments_count_i=mysql_fetch_array($assignments_count_d)){
$assignments_total_count+=$assignments_count_i["total"];
}
$dep_average=$assignments_total_weight/$assignments_total_count;
$answers_avg_unit_i[($r-1)]=$dep_average;
}
if (!(was_course_assignment_evaluated($id_course_assignment))) {
//Δεν αξιολογήθηκε
$_SESSION['content'].="
<div class='message-cpanel'>
<div class='message-cpanel-img'><img src='themes/".CURRENT_TEMPLATE."/images/shared/warning.png' alt='' align='top' /></div>
Ο διδάσκων ".$assignment_data_i['last_name']." ".$assignment_data_i['first_name']." δεν αξιολογήθηκε σε αυτό το μάθημα κατά το ".semester_id_to_text($assignment_data_i['semester'],1). ($assignment_data_i['no_eval_reason']!=NULL ? " διότι<br /><i>".$assignment_data_i['no_eval_reason']."</i>" : ""). (permission_exists("update_no_evaluation_reason", $id_course_assignment) ? "<br /><br /><div align='center'>".update_no_evaluation_box($id_course_assignment,"edit")." </div>" : "").
"</div>
";
}else if(!permission_exists("view_advanced_evaluation", $id_course_assignment) && $answers_avg_i['no_questionnaires']<MINIMUM_QUESTIONNAIRES_ACCEPTED) {
//Αξιολογήθηκε. Μη εμφάνιση αποτελεσμάτων
$_SESSION['content'].="
<div class='message-cpanel'>
<div class='message-cpanel-img'><img src='themes/".CURRENT_TEMPLATE."/images/shared/warning.png' alt='' align='top' /></div>
Δεν έχετε δικαίωμα προβολής των αποτελεσμάτων αξιολόγησης διότι το πλήθος των συμπληρωμένων ερωτηματολογίων είναι πολύ μικρό (μη αξιόπιστο δείγμα).
</div>
";
}else{
//Αξιολογήθηκε. Εμφάνιση αποτελεσμάτων
$_SESSION['content'].="
".(permission_exists("view_advanced_evaluation", $id_course_assignment) && $answers_avg_i['no_questionnaires']<MINIMUM_QUESTIONNAIRES_ACCEPTED ? "<div class='message-cpanel'>
<div class='message-cpanel-img'><img src='themes/".CURRENT_TEMPLATE."/images/shared/warning.png' alt='' align='top' /></div>
Το πλήθος των συμπληρωμένων ερωτηματολογίων σε αυτή την ανάθεση είναι πολύ μικρό, συνεπώς <b>το δείγμα είναι μη αξιόπιστο</b>. Δεν λαμβάνεται υπόψη στον υπολογισμό του Μ.Ο. του Τμήματος.
</div>" : "")."
<div id='tabs'>
<ul>
<li><a href='#results'><span>Αποτελέσματα Αξιολόγησης</span></a></li>
<li><a href='#graph'><span>Γράφημα</span></a></li>
<li><a href='#comments'><span>Σχόλια</span></a></li>
</ul>
<div id='results'>
<table border='0' width='100%' cellpadding='0' cellspacing='0' id='product-table'>
<tr class='header font16' style='background:#eeeeee!important; color:#787878;'>
<td align='center' colspan=".($colorize?"5":"4")."><div>Ερωτηματολόγιο Αξιολόγησης Εκπαιδευτικού Έργου</div><div class='font10'>".semester_id_to_text($assignment_data_i['semester'])." - ".$assignment_data_i['name'].($questionnaire_data_i['description']!=NULL ? " (".$questionnaire_data_i['description'].")" : "") ."</div></td>
</tr>
<tr class='header'>
<td width=30px align='center'>Α/Α</td>
<td align='center'>Ερώτηση</td>
<td align='center'>Μέσος όρος διδάσκοντα</td>
<td align='center'".($colorize?" colspan=2":"").">Μέσος όρος τμήματος</td>
</tr>";
$alternate='1';
for ($i=0; $i<$questionnaire_data_i['no_questions']; $i++){
$_SESSION['content'].="
<tr".($alternate=="-1" ? " class='alternate-row'" : "").">
<td align=center>".($i+1).".</td>
<td align=justify style='padding-right:20px; padding-left:10px;'><span class='font11'>".$questionnaire_data_i[$i]."</span></td>
<td align=center><b>";
$answer=number_format($answers_avg_i[$i],2);
$answer_dep=number_format($answers_avg_unit_i[$i],2);
if($colorize){
if($answer==0){
$_SESSION['content'].="<span>";
}elseif($answer>$answer_dep){
$_SESSION['content'].="<span style='color:#009900;'>";
}elseif($answer<$answer_dep){
$_SESSION['content'].="<span style='color:#cc0000;'>";
}else{
$_SESSION['content'].="<span>";
}
}
$_SESSION['content'].=
($answer==0 ? "-": $answer) .($colorize ? "</span>" : "")."</b></td>
<td align=center>".($answer_dep==0 || $answer==0 ? "-": $answer_dep) ."</td>";
if ($colorize){
$_SESSION['content'].="<td align='center' width=20px>";
if($answer==0){
$_SESSION['content'].="";
}elseif($answer>$answer_dep){
$_SESSION['content'].="
<a title='Άνω του Μ.Ο. - κατά ".number_format(($answer-$answer_dep),1)."%' class='info-tooltip'>
<img src='themes/".CURRENT_TEMPLATE."/images/shared/over.png' />
</a>";
}elseif($answer<$answer_dep){
$_SESSION['content'].="
<a title='Κάτω του Μ.Ο. - κατά ".number_format(($answer_dep-$answer),1)."%' class='info-tooltip'>
<img src='themes/".CURRENT_TEMPLATE."/images/shared/under.png' />
</a>";
}else{
$_SESSION['content'].="
<a title='Ίσο με το Μ.Ο.' class='info-tooltip'>
<img src='themes/".CURRENT_TEMPLATE."/images/shared/equal.png' />
</a>";
}
$_SESSION['content'].="</td>";
}
$_SESSION['content'].="
</tr>";
$alternate*=-1;
}
$_SESSION['content'].="
<tr class='header'>
<td align=center>#</td>
<td>Συμπληρωμένα ερωτηματολόγια: </td>
<td align=center><b><span class='font16'>".$answers_avg_i['no_questionnaires']."</span></b></td>
<td align=center".($colorize?" colspan=2":"")."><b>".$unit_total_questionnaires_i["no_questionnaires"]."</b></td>
</tr>
</table>
</div>
<div id='graph'>
<script type='text/javascript'>
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
zoomType: 'x',
defaultSeriesType: 'column'
},
title: {
text: '".$assignment_data_i['title']."'
},
subtitle: {
text: '".$assignment_data_i['name']."<br /><b>".$assignment_data_i['last_name']." ".$assignment_data_i['first_name']."</b> - ".semester_id_to_text($assignment_data_i['semester'])."'
},
xAxis: {
categories: [";
for ($i=0; $i<$questionnaire_data_i['no_questions']; $i++){
$_SESSION['content'].="'".($i+1)."',";
}
$_SESSION['content'].="],
title: {
text: 'Ερωτήσεις'
}
},
yAxis: {
min: 0,
max: 5,
title: {
text: 'Βαθμολογία (1-5)',
align: 'high'
}
},
tooltip: {
formatter: function() {
var s = '<b>Ερώτηση '+this.x+'</b><br />';
$.each(this.points, function(i, point) {
s += (i==0) ? this.point.name : '';
s += (point.y!=0) ? '<br /><span style=\"color:'+point.series.color+'\">'+point.series.name +'</span>: <b>'+ point.y+'</b>' : (i==0) ? '<br /><b>Δεν υφίσταται.</b>' : '';
});
return s;
},
style: {
width: '350px',
},
shared: true,
crosshairs: true
},
plotOptions: {
column: {
pointPadding: 0.05,
borderWidth: 0,
shadow: false
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -20,
y: 380,
floating: true,
borderWidth: 1,
backgroundColor: '#FFFFFF',
shadow: true
},
credits: {
enabled: false
},
series: [{
name: 'Μ.Ο. Διδάσκοντα',
data: [";
for ($i=0; $i<$questionnaire_data_i['no_questions']; $i++){
if($answers_avg_i[$i]!=0) $_SESSION['content'].="{name: '".str_replace("<","<",$questionnaire_data_i[$i])."', y: ".number_format($answers_avg_i[$i],2)."}, ";
else $_SESSION['content'].="{name: '".$questionnaire_data_i[$i]."', y: ".number_format($answers_avg_i[$i],2)."}, ";
}
$_SESSION['content'].="
]
}, {
name: 'Μ.Ο. Τμήματος',
data: [";
for ($i=0; $i<$questionnaire_data_i['no_questions']; $i++){
if($answers_avg_i[$i]!=0) $_SESSION['content'].="{y: ".number_format($answers_avg_unit_i[$i],2).", name: '".$questionnaire_data_i[$i]."'}, ";
else $_SESSION['content'].="{name: '".str_replace("<","<",$questionnaire_data_i[$i])."', y: ".number_format($answers_avg_i[$i],2)."}, ";
}
$_SESSION['content'].="
]
}]
});
});
</script>
<div id='container' style='width: 99%; height: 500px; margin: 0 auto'></div>
<div id='exportcontainer' style='width: 800px; height: 600px; display:none;'>
<script type='text/javascript'>
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'exportcontainer',
defaultSeriesType: 'column',
animation: false
},
title: {
text: '".$assignment_data_i['title']."',
align: 'left'
},
subtitle: {
text: '".$assignment_data_i['name']." - <b>".$assignment_data_i['last_name']." ".$assignment_data_i['first_name']."</b> - ".semester_id_to_text($assignment_data_i['semester'])."',
align: 'left'
},
xAxis: {
categories: [";
for ($i=0; $i<$questionnaire_data_i['no_questions']; $i++){
$_SESSION['content'].="'".($i+1)."',";
}
$_SESSION['content'].="],
title: {
text: 'Ερωτήσεις',
align: 'low'
}
},
yAxis: {
min: 0,
max: 5,
title: {
text: 'Βαθμολογία (1-5)',
align: 'low'
}
},
plotOptions: {
column: {
pointPadding: 0.05,
borderWidth: 0,
shadow: false
}
},
legend: {
layout: 'horizontal',
align: 'center',
verticalAlign: 'bottom',
floating: false,
borderWidth: 1,
backgroundColor: '#FFFFFF',
shadow: true
},
credits: {
enabled: false
},
series: [{
name: 'Μ.Ο. Διδάσκοντα',
animation: false,
data: [";
for ($i=0; $i<$questionnaire_data_i['no_questions']; $i++){
if($answers_avg_i[$i]!=0)$_SESSION['content'].="{name: '".str_replace("<","<",$questionnaire_data_i[$i])."', y: ".number_format($answers_avg_i[$i],2)."}, ";
else $_SESSION['content'].="{name: '".$questionnaire_data_i[$i]."', y: ".number_format($answers_avg_i[$i],2)."}, ";
}
$_SESSION['content'].="
]
}, {
name: 'Μ.Ο. Τμήματος',
animation: false,
data: [";
for ($i=0; $i<$questionnaire_data_i['no_questions']; $i++){
if($answers_avg_i[$i]!=0) $_SESSION['content'].="{y: ".number_format($answers_avg_unit_i[$i],2).", name: '".$questionnaire_data_i[$i]."'}, ";
else $_SESSION['content'].="{name: '".str_replace("<","<",$questionnaire_data_i[$i])."', y: ".number_format($answers_avg_i[$i],2)."}, ";
}
$_SESSION['content'].="
]
}]
});
});
</script>
</div>
</div>
<div id='comments'>
<div class='description comments-container'>";
if ($questionnaire_data_i['type']=='printed'){
$files = glob("files/comments/".$assignment_data_i['semester']."/".leading_zeros($assignment_data_i['questionnaire_code'],3)."*.{jpg,gif,png,tif}", GLOB_BRACE);
if (count($files)==0) $_SESSION['content'].="Δεν έχουν συμπληρωθεί σχόλια.";
foreach ($files as $file) {
$_SESSION['content'].="<img class='comment-container' src='".encode_image($file)."'/><br />";
}
}
if ($questionnaire_data_i['type']=='online'){
$comments_d=query("SELECT comments FROM __answers WHERE id_user=".$assignment_data_i['id']." AND id_class='".$assignment_data_i['id_class']."' AND id_questionnaire=".$questionnaire_data_i['id_questionnaire']." AND comments IS NOT NULL");
if (mysql_num_rows($comments_d)==0) $_SESSION['content'].="Δεν έχουν συμπληρωθεί σχόλια.";
while($comments_i=mysql_fetch_array($comments_d)) {
$_SESSION['content'].="<div class='comment-container'><div class='textcomments'>".$comments_i['comments']."</div></div>";
}
}
$_SESSION['content'].="</div>
</div>
</div>
<script>
$(function() {
$( '#tabs' ).tabs({
cookie: {
// store cookie for a day, without, it would be a session cookie
expires: 1
}
});
});
</script>";
}
$_SESSION['content'].="<br /><br />
<div align='center'>";
if(permission_exists("manage_unit_evaluations", course_assignment_to_unit($id_course_assignment))) $_SESSION['content'].="<input type='button' value='Επιστροφή στο τμήμα' class='form-reset' onclick=\"location.href='?action=manageunitevaluations&id_unit=".$assignment_data_i['id_unit']."&semester=".$assignment_data_i['semester']."'\" /> ";
if($owned){
$_SESSION['content'].="<input type='button' value='Επιστροφή' class='form-reset' onclick=\"location.href='?action=manageuserevaluations'\" />";
}else{
$_SESSION['content'].="<input type='button' value='Επιστροφή στο διδάσκοντα' class='form-reset' onclick=\"location.href='?action=manageuserevaluations&id_user=".$owner."'\" />";
}
$_SESSION['content'].="</div>";
$_SESSION['content'].="
<script>
$(document).ready(function(){
document.getElementById('pdfimg').value=document.getElementById('exportcontainer').innerHTML;
});
</script> ";
}
function manage_unit_evaluations($id_unit, $semester) {
if(!permission_exists("manage_unit_evaluations", $id_unit)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
if(semester_data($semester)==0){
if (evaluation_period_closed(current_semester())) $semester=current_semester();
else $semester=previous_semester();
}
$semester_data_i=semester_data($semester);
$_SESSION['title']="Αξιολογήσεις χρηστών ".unit_id_to_name_gen($id_unit)." - <b>".semester_id_to_text($semester)."</b>";
$all_semesters_d=query("SELECT * FROM __semesters WHERE semester<=".current_semester()." ORDER BY semester DESC");
$semester_options="";
while($all_semesters_i=mysql_fetch_array($all_semesters_d)) {
$semester_options.="<option value='?action=manageunitevaluations&id_unit=".$id_unit."&semester=".$all_semesters_i['semester']."'".
($all_semesters_i['semester']==$semester?" selected":"").">".semester_id_to_text($all_semesters_i['semester'])."</option>
";
}
$eval_data=mysql_fetch_array(query("SELECT count(id) as total FROM __answers a WHERE id_unit='".$id_unit."' AND a.semester=".$semester));
$eval_data_total=$eval_data['total'];
$eval_data=mysql_fetch_array(query("SELECT count(DISTINCT questionnaire_code) as anatheseis FROM __answers a WHERE id_unit='".$id_unit."' AND a.semester=".$semester));
$eval_data_anatheseis=$eval_data['anatheseis'];
if ($semester==current_semester() && evaluation_moderation_period_is_open($semester)){
/* ΠΑΛΙΑ ΜΕΘΟΔΟΣ - Το no_eval_reason μετακινήθηκε στο answer_stats
$eval_data=mysql_fetch_array(query("SELECT count(*) as unjustified
FROM __course_assignments ca
INNER JOIN __classes cl ON cl.id=ca.id_class
INNER JOIN __courses co ON cl.id_course=co.id
INNER JOIN __relations r ON r.relation_chain = ca.relation_chain
LEFT JOIN __answers a ON a.id_class=cl.id AND a.id_user=r.id_user
WHERE cl.semester='".$semester."' AND co.id_unit='".$id_unit."' AND count(a.id) = 0 AND ca.no_eval_reason IS NULL "));
*/
//νέα ultra fast μέθοδος με τον πίνακα answer_stats
$eval_data=mysql_fetch_array(query("SELECT count(*) as unjustified
FROM __answer_stats
WHERE semester='".current_semester()."' AND id_unit='".$id_unit."' AND no_questionnaires=0 AND no_eval_reason IS NULL "));
$dep_unjustified_assignments=$eval_data['unjustified'];
}
else{
$dep_unjustified_assignments=0;
}
$eval_data_didaskontes=mysql_num_rows(query("SELECT DISTINCT id_user as didaskontes FROM __answers a WHERE id_unit='".$id_unit."' AND a.semester=".$semester));
$eval_data_mathimata=mysql_num_rows(query("SELECT DISTINCT id_class as mathimata FROM __answers a WHERE id_unit='".$id_unit."'AND a.semester=".$semester));
$eval_graph_data_d=query("SELECT u.id, concat(u.last_name, \" \", u.first_name) as name, count(a.id) as total FROM __answers a INNER JOIN __users u ON u.id=a.id_user WHERE a.id_unit='".$id_unit."' AND a.semester=".$semester." group by u.id ORDER BY last_name, first_name ");
$eval_graph_data="";
while($eval_graph_data_i=mysql_fetch_assoc($eval_graph_data_d)) {
$eval_graph_data.="{name: '".$eval_graph_data_i['name']."', y: ".$eval_graph_data_i['total'].", url: '?action=manageunitevaluations&id_user=".$eval_graph_data_i['id']."&id_unit=".$id_unit."&semester=".$semester."'}, ";
}
$_SESSION['content']="
<table border='0' width='100%' cellpadding='0' cellspacing='0'>
<tr>
<td>
<table border='0' width='250px' height='270px' cellpadding='0' cellspacing='0' id='custom-table'>
<tr valign='middle'>
<td class='celltint2'>Αξιολόγηση: </td>
<td><select class='styledselect_form_1a' onchange=\"document.location.href=this.value;\">".$semester_options."</select></td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Έναρξη: </td>
<td><span class='sciworknum2'>".convert_date($semester_data_i["start_eval"])."</span></td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Λήξη: </td>
<td><span class='sciworknum2'>".convert_date($semester_data_i["end_eval"])."</span></td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Μαθήματα: </td>
<td class='font14'>".$eval_data_mathimata." <span class='font10 text-gray'> αξιολογήθηκαν</span></td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Διδάσκοντες: </td>
<td class='font14'>".$eval_data_didaskontes." <span class='font10 text-gray'> αξιολογήθηκαν</span></td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Αναθέσεις: </td>
<td class='font14'>".$eval_data_anatheseis." <span class='font10 text-gray'> αξιολογήθηκαν</span></td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Συμπληρωμένα<br />Ερωτηματολόγια: </td>
<td class='font18'><b>".($eval_data_total=="" ? "-" : $eval_data_total) ."</b></td>
</tr>
</table>
</td>
<td width='100%'>
<script type='text/javascript'>
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
zoomType: 'x,y',
defaultSeriesType: 'column'
},
title: {
text: 'Συμπληρωμένα ερωτηματολόγια ανά διδάσκοντα',
style: {
fontSize: '13px',
fontWeight: 'bold'
}
},
subtitle: {
text: '".unit_id_to_name($id_unit)."<br/>".semester_id_to_text($semester)."'
},
xAxis: {
categories: [],
title: {
text: 'Διδάσκοντες'
},
labels: {
enabled: false
}
},
yAxis: {
min: 0,
title: {
text: null,
align: 'high'
}
},
tooltip: {
formatter: function() {
return this.point.name+'<br />'+
'<span style=\"color:'+this.series.color+'\">'+this.series.name +'</span>: <b>'+ this.y+'</b>';
},
crosshairs: true
},
plotOptions: {
column: {
cursor: 'pointer',
pointPadding: 0.05,
borderWidth: 0,
shadow: false,
point: {
events: {
click: function() {
window.location=this.options.url;
}
}
}
}
},
legend: {
enabled: false
},
credits: {
enabled: false
},
series: [{
name: 'Ερωτηματολόγια',
data: [".$eval_graph_data."],
color: '#89A54E'
}]
});
});
</script>
<div id='container' style='width: 99%; height: 320px; margin: 0 auto'></div>
</td>
</tr>
</table>";
if ($dep_unjustified_assignments>0) {
$_SESSION['content'].="
<div class='message-cpanel'>
<div class='message-cpanel-img'><img src='themes/".CURRENT_TEMPLATE."/images/shared/warning.png' alt='' align='top' /></div>
Απαιτείται αιτιολόγηση σε <span class='font15'><b>".$dep_unjustified_assignments."</b></span> ".($dep_unjustified_assignments==1 ? "ανάθεση, στην οποία" : "αναθέσεις, στις οποίες")." δεν πραγματοποιήθηκε αξιολόγηση.
</div>";
}
$_SESSION['content'].="
<table border='0' width='100%' cellpadding='0' cellspacing='0' id='product-table'>
<thead>
<tr class='header'>
<th class='table-header'>Α/Α</th>
<th class='table-header'>Ονοματεπώνυμο Διδάσκοντα</th>
<th class='table-header'>Τίτλος Μαθήματος</th>
<th class='table-header'><a title='Τυπικό Εξάμηνο Διδασκαλίας Μαθήματος' class='info-tooltip'>Εξάμηνο</a></th>
<th class='table-header'><a title='Συμπληρωμένα Ερωτηματολόγια' class='info-tooltip'>Ερωτηματολόγια</a></th>
<th class='table-header'><a title='Κατάσταση αξιολόγησης ανάθεσης' class='info-tooltip'>Κατάσταση</a></th>
</tr>
</thead>
<tbody>";
$unit_users_d=query("SELECT DISTINCT u.id, u.last_name, u.first_name, u.email, u.scientific_specialization
FROM __users as u INNER JOIN
__relations as r ON r.id_user=u.id INNER JOIN
__course_assignments ca ON ca.relation_chain=r.relation_chain INNER JOIN
__classes cl ON cl.id=ca.id_class
WHERE cl.semester='".$semester."' AND
r.id_unit='".$id_unit."'
ORDER BY u.last_name asc, u.first_name asc");
$i=1;
$dep_eval_assignments=0;
$dep_total_assignments=0;
while($unit_users_i=mysql_fetch_array($unit_users_d)) {
$course_assignments_d=query("SELECT ca.id, co.title, co.exam, co.coursecode, IFNULL(a.no_questionnaires,0) no_questionnaires, a.no_eval_reason
FROM __course_assignments ca
INNER JOIN __classes cl ON cl.id=ca.id_class
INNER JOIN __courses co ON cl.id_course=co.id
INNER JOIN __relations r ON r.relation_chain = ca.relation_chain
LEFT JOIN __answer_stats a ON a.semester=cl.semester AND a.id_unit=co.id_unit AND a.id_class=ca.id_class AND a.id_user=r.id_user
WHERE r.id_user='".$unit_users_i['id']."' AND cl.semester='".$semester."' AND co.id_unit='".$id_unit."' AND ca.teaches=1
GROUP BY ca.id, co.title, co.exam, co.coursecode, a.no_eval_reason
ORDER BY exam, title");
// $course_assignments_d=query("SELECT ca.id, co.title, co.exam, co.coursecode, IFNULL(a.no_questionnaires,0) no_questionnaires, a.no_eval_reason
// FROM __course_assignments ca
// INNER JOIN __classes cl ON cl.id=ca.id_class
// INNER JOIN __courses co ON cl.id_course=co.id
// INNER JOIN __relations r ON r.relation_chain = ca.relation_chain
// LEFT JOIN __answer_stats a ON a.id_course_assignment=ca.id
// WHERE r.id_user='".$unit_users_i['id']."' AND cl.semester='".$semester."' AND co.id_unit='".$id_unit."' AND ca.teaches=1
// GROUP BY ca.id, co.title, co.exam, co.coursecode, a.no_eval_reason
// ORDER BY exam, title");
while($course_assignments_i=mysql_fetch_array($course_assignments_d)) {
$_SESSION['content'].="
<tr>
<td style='cursor:pointer;' onclick=\"location.href='?action=viewevaluation&id_course_assignment=".$course_assignments_i['id']."'\" align=center>".$i."</td>
<td style='cursor:pointer;' onclick=\"location.href='?action=viewevaluation&id_course_assignment=".$course_assignments_i['id']."'\">".$unit_users_i['last_name']." ".$unit_users_i['first_name']."</td>
<td style='cursor:pointer;' onclick=\"location.href='?action=viewevaluation&id_course_assignment=".$course_assignments_i['id']."'\" align=center>".$course_assignments_i['title']."<br />(".$course_assignments_i['coursecode'].")</td>
<td style='cursor:pointer;' onclick=\"location.href='?action=viewevaluation&id_course_assignment=".$course_assignments_i['id']."'\" align=center>".return_semester($course_assignments_i['exam'])."</td>
<td style='cursor:pointer;' onclick=\"location.href='?action=viewevaluation&id_course_assignment=".$course_assignments_i['id']."'\" align=center>".($course_assignments_i['no_questionnaires']==0 ? "-" : $course_assignments_i['no_questionnaires'])."</td>
<td class='font11' align=center>
<span class='font13'>".($course_assignments_i['no_questionnaires']!=0 ? ($course_assignments_i['no_questionnaires']>=MINIMUM_QUESTIONNAIRES_ACCEPTED ? "<a class='info-tooltip' title='Έχει αξιολογηθεί η ανάθεση'><img style='padding:5px;' src='themes/".CURRENT_TEMPLATE."/images/shared/status-green.png' alt='' align='top'/></a>" : "<a class='info-tooltip' title='Η ανάθεση αξιολογήθηκε αλλά το δείγμα είναι πολύ μικρό και μη αξιόπιστο.<br>Δεν λαμβάνεται υπόψη στον υπολογισμό του Μ.Ο. Τμήματος'><img style='padding:5px;' src='themes/".CURRENT_TEMPLATE."/images/shared/status-yellow.png' alt='' align='top'/></a>") : "<a class='info-tooltip' title='Δεν αξιολογήθηκε η ανάθεση".($course_assignments_i['no_eval_reason']!=NULL ? " διότι ".$course_assignments_i['no_eval_reason']."'><img style='padding:5px;' src='themes/".CURRENT_TEMPLATE."/images/shared/status-blue.png' alt='' align='top'/>": "'><img style='padding:5px;' src='themes/".CURRENT_TEMPLATE."/images/shared/status-red.png' alt='' align='top'/>")."</a>". (permission_exists("update_no_evaluation_reason", $course_assignments_i['id']) && $dep_unjustified_assignments>0 ? ($course_assignments_i['no_eval_reason']==NULL ? "<br />".update_no_evaluation_box($course_assignments_i['id']) : "<br />".update_no_evaluation_box($course_assignments_i['id'], "edit")): ""))."
</td>
</tr>";
$i++;
if($course_assignments_i['no_questionnaires']!=0) $dep_eval_assignments++;
$dep_total_assignments++;
}
}
if($i==1) $_SESSION['content'].="<tr><td colspan=6 align=center>Δεν υπάρχουν δεδομένα αξιολόγησης για τις αναθέσεις μαθημάτων σε χρήστες για αυτό το εξάμηνο.</td></tr>";
else $_SESSION['content'].="<tfoot><tr class='header'>
<td align=center>-</td>
<td colspan=3 align=center>ΑΝΑΘΕΣΕΙΣ ΠΟΥ ΑΞΙΟΛΟΓΗΘΗΚΑΝ ΣΤΟ ΤΜΗΜΑ</td>
<td align=center class='font17' colspan=2>".$dep_eval_assignments." / ".$dep_total_assignments."</td>
</tr></tfoot>";
//TABLE SORTABLE
$_SESSION['content'].="</tbody></table>";
if ($i>1) $_SESSION['content'].="
<script>
$(document).ready(function() {
oTable = $('#product-table').dataTable({
'aaSorting': [],
'bJQueryUI': true,
'bPaginate': false,
'oLanguage': {
'sUrl': 'js/evaluations.txt'
},
'aLengthMenu': [[-1], ['όλων των ']],
'iDisplayLength' : -1,
'bStateSave': false,
'aoColumns': [
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': false}
]
});
});
</script>";
}
function manage_user_evaluations($id_user) {
if($id_user==NULL) $id_user=$_SESSION['user_logged'];
if(!permission_exists("manage_user_evaluations", $id_user)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
if($id_user==$_SESSION['user_logged']) $_SESSION['title']="Οι αξιολογήσεις του διδακτικού μου έργου";
else $_SESSION['title']="Αξιολογήσεις διδακτικού έργου χρήστη <b>".user_id_to_fullname($id_user)."</b>";
$course_assignments_d=query("SELECT ca.id, co.title, co.exam, co.coursecode, a.no_questionnaires, ru.name as dep_name, cl.semester, ru.id AS id_unit
FROM __course_assignments ca
INNER JOIN __classes cl ON cl.id=ca.id_class
INNER JOIN __courses co ON cl.id_course=co.id
INNER JOIN __relations r ON r.relation_chain = ca.relation_chain
INNER JOIN __units as ru ON co.id_unit=ru.id
LEFT JOIN __answer_stats a ON a.id_class=cl.id AND a.id_user='".$id_user."'
WHERE r.id_user='".$id_user."' AND ca.teaches=1
GROUP BY ca.id, co.title, co.exam, co.coursecode, ru.name, cl.semester, ru.id
ORDER BY cl.semester DESC, dep_name, exam, title");
$_SESSION['content']="
<table border='0' width='100%' cellpadding='0' cellspacing='0' id='product-table'>
<thead>
<tr>
<th class='table-header'>Α/Α</th>
<th class='table-header'>Ακαδημαϊκό Εξάμηνο</th>
<th class='table-header'>Τίτλος Μαθήματος</th>
<th class='table-header'>Κωδικός Μαθήματος</th>
<th class='table-header'><a title='Τυπικό Εξάμηνο Διδασκαλίας Μαθήματος' class='info-tooltip' href='#'>Εξάμηνο Μαθήματος</a></th>
<th class='table-header'>Συμπληρωμένα Ερωτηματολόγια</th>
</tr>
</thead>
<tbody>";
$i=1;
while($course_assignments_i=mysql_fetch_array($course_assignments_d)) {
if($id_user!=$_SESSION['user_logged'] && !permission_exists("manage_unit_evaluations", $course_assignments_i['id_unit'])) continue;
if($course_assignments_i['semester']==current_semester() && !evaluation_period_closed($course_assignments_i['semester'])) continue;
$_SESSION['content'].="
<tr style='cursor:pointer;'
onclick=\"location.href='?action=viewevaluation&id_course_assignment=".$course_assignments_i['id']."'\">
<td align=center>".$i."</td>
<td><div style='display:none;'>".$course_assignments_i['semester']."</div>".semester_id_to_text($course_assignments_i['semester'])."</td>
<td><a href='?action=viewevaluation&id_course_assignment=".$course_assignments_i['id']."'>".$course_assignments_i['title']."<br /><i>".$course_assignments_i['dep_name']."</i></a></td>
<td align=center>".$course_assignments_i['coursecode']."</td>
<td align=center>".return_semester($course_assignments_i['exam'])."</td>
<td align=center>".($course_assignments_i['no_questionnaires']==NULL ? "-" : $course_assignments_i['no_questionnaires'])."</td>
</tr>";
$i++;
}
if($i==1) $_SESSION['content'].="<tr><td colspan=6 align=center>Δεν υπάρχουν διαθέσιμες αξιολογήσεις διδακτικου έργου.</td></tr>";
//TABLE SORTABLE
$_SESSION['content'].="</tbody></table>
<script>
$(document).ready(function() {
oTable2 = $('#product-table').dataTable({
'bJQueryUI': true,
'bPaginate': false,
'oLanguage': {
'sUrl': 'js/evaluations.txt'
},
'bStateSave': false,
'aoColumns': [
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': true}
]
});
} );
</script>
";
}
function view_questionnaire_codes($id_unit, $semester) {
if(!permission_exists("view_questionnaire_codes", $id_unit)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
if(semester_data($semester)==0){
$semester=current_semester();
}
$semester_data_i=semester_data($semester);
$_SESSION['title']="Κωδικοί αναθέσεων ".unit_id_to_name_gen($id_unit)." - <b>".semester_id_to_text($semester,1)."</b>";
$assignments_d=query("SELECT courses.title, courses.exam, users.first_name, users.last_name, courses.coursecode, assignments.questionnaire_code, assignments.eval_method, classes.id, classes.registered, assignments.id AS id_course_assignment
FROM __course_assignments AS assignments
INNER JOIN __relations AS relations ON relations.relation_chain=assignments.relation_chain
INNER JOIN __users AS users ON users.id=relations.id_user
INNER JOIN __classes AS classes ON assignments.id_class=classes.id
INNER JOIN __courses AS courses ON classes.id_course=courses.id
WHERE courses.id_unit='".$id_unit."' AND classes.semester='".$semester."' AND assignments.teaches=1 AND relations.evolved_to_id IS NULL
ORDER BY courses.exam ASC, courses.title ASC, users.last_name ASC, users.first_name ASC");
$i=1;
$all_semesters_d=query("SELECT * FROM __semesters WHERE semester<=".current_semester()." ORDER BY semester DESC");
$semester_options="";
while($all_semesters_i=mysql_fetch_array($all_semesters_d)) {
$semester_options.="<option value='?action=viewquestionnairecodes&id_unit=".$id_unit."&semester=".$all_semesters_i['semester']."'".
($all_semesters_i['semester']==$semester?" selected":"").">".semester_id_to_text($all_semesters_i['semester'])."</option>
";
}
$_SESSION['content']="
<table border='0' width='100%' cellpadding='0' cellspacing='0'>
<tr>
<td width=45%>
<table border='0' width='100%' height='50px' cellpadding='0' cellspacing='0' id='custom-table'>
<tr valign='middle'>
<td class='celltint2'>Ακαδημαϊκό Εξάμηνο: </td>
<td><select class='styledselect_form_1a' onchange=\"document.location.href=this.value;\">".$semester_options."</select></td>
</tr>
</table>
</td>
<td width=10%></td>
<td width=45%>
<table border='0' width='100%' height='50px' cellpadding='0' cellspacing='0' id='custom-table'>
<tr valign='middle'>
<td class='celltint2' width=70%>Αναθέσεις που αξιολογούνται: </td>
<td class='font14' align=center>".mysql_num_rows($assignments_d)."</td>
</tr>
</table>
</td>
</tr>
</table>
<div style='float:left; margin-bottom:10px;'><table width=100%>
<tr>
<td width=25px><img align='left' src='themes/".CURRENT_TEMPLATE."/images/forms/help.png' /> </td>
<td><span class='description'> Οι κωδικοί των αναθέσεων χρησιμοποιούνται για τη συμπλήρωση των έντυπων ερωτηματολογίων από τους φοιτητές.<br />Κάθε κωδικός είναι μοναδικός σε όλο το ίδρυμα και προσδιορίζει αμφιμονοσήμαντα μία ανάθεση μαθήματος.<br />Στην περίπτωση των ηλ. ερωτηματολογίων, ο κωδικός ανάθεσης αποτελεί μέρος της ηλ. διεύθυνσης του ερωτηματολογίου.</span></td>
</tr>
</table></div>
<a class='info-tooltip' title='Εξαγωγή αυτής της προβολής σε αρχείο PDF' href='?action=viewquestionnairecodespdf&id_unit=".$id_unit."&semester=".$semester."'><img src='themes/".CURRENT_TEMPLATE."/images/shared/pdf_export.png' class='add_new_button' /></a>
<br />
";
$questionnaires_with_printable_tokens=0;
if(mysql_num_rows($assignments_d)==0){
$_SESSION['content'].="<div class='no-records'>Δεν υπάρχουν διαθέσιμες αναθέσεις στο ".semester_id_to_text($semester,1)."</div>";
}else{
$_SESSION['content'].="<table border='0' width='100%' cellpadding='0' cellspacing='0' class='product-table' id='questionnairecodes'>
<thead>
<tr class='header'>
<th class='table-header'>Α/Α</th>
<th class='table-header'><a title='Τίτλος Μαθήματος<br />(σύμφωνα με το egram)' class='info-tooltip'>Τίτλος Μαθήματος</a></th>
<th class='table-header'><a title='Τυπικό Εξάμηνο Διδασκαλίας' class='info-tooltip' >Εξ.</a></th>
<th class='table-header'><a title='Κωδικός Μαθήματος<br />(σύμφωνα με το egram)' class='info-tooltip' >Κωδ. Μαθ.</a></th>
<th class='table-header'><a title='Διδάσκων μαθήματος' class='info-tooltip'>Διδάσκων</a></th>
<th class='table-header'><a title='Κωδικός που καταγράφεται στο ερωτηματολόγιο' class='info-tooltip' width=100>Κωδ. Ανάθ.</a></th>
<th class='table-header'><a title='Τύπος και κατάσταση ηλεκτρονικού ερωτηματολογίου' class='info-tooltip' width=100>Κατάσταση</a></th>
<th class='table-header'><a title='Διαθέσιμες ενέργειες' class='info-tooltip' width=100>Ενερ.</a></th>
</tr>
</thead>
<tbody>
";
while($assignments_i=mysql_fetch_array($assignments_d)) {
$_SESSION['content'].="
<tr>
<td align='center' style='font-size:10px;'>".$i."</td>
<td>".$assignments_i['title']."</td>
<td align='center'><span style='font-size:10px;'>".return_semester($assignments_i['exam'])."</span></td>
<td align='center'><span style='font-size:11px; cursor:default;'><a title='Κωδικός τάξης: ".$assignments_i['id']."' class='info-tooltip'>".$assignments_i['coursecode']."</a></span></td>
<td>".$assignments_i['last_name']." ".$assignments_i['first_name']."</td>
<td align='center'><span class='font15 code'><b>
".($assignments_i['questionnaire_code']==0?"-":leading_zeros($assignments_i['questionnaire_code'],3))."
</b></span></td>
";
if ($assignments_i['eval_method']==2){
$lime_questionnaire=mysql_num_rows(query("SELECT * FROM lime_surveys WHERE sid=".$assignments_i['questionnaire_code']));
if (!$lime_questionnaire){
$_SESSION['content'].="<td align='center'><img style='padding:5px;' src='themes/".CURRENT_TEMPLATE."/images/shared/status-red.png' class='info-tooltip' title='Δεν έχει παραχθεί ηλεκτρονικό ερωτηματολόγιο' alt='' align='top'/></td><td></td>";
}else{
$lime_tokens=mysql_num_rows(query("SELECT * FROM lime_tokens_".$assignments_i['questionnaire_code'].""));
if (!$lime_tokens){
$_SESSION['content'].="<td align='center'><img style='padding:5px;' src='themes/".CURRENT_TEMPLATE."/images/shared/status-yellow.png' class='info-tooltip' title='Υπάρχει ηλ. ερωτηματολόγιο. Δεν έχουν παραχθεί κουπόνια' alt='' align='top'/></td>";
$_SESSION['content'].="<td align='center'>";
if(permission_exists("generate_questionnaire_tokens", $assignments_i['id_course_assignment'])) {
$_SESSION['content'].="
<a style='cursor:pointer;' href='?action=generatequestionnairetokens&id_course_assignment=".$assignments_i['id_course_assignment']."'>
<img width=20 height=20 class='info-tooltip' title='Παραγωγή κουπονιών' src='themes/".CURRENT_TEMPLATE."/images/ico/Light_File_add.png' />
</a>
";
}
$_SESSION['content'].="</td>";
}elseif ($lime_tokens < $assignments_i['registered']){
$_SESSION['content'].="<td align='center'><img style='padding:5px;' src='themes/".CURRENT_TEMPLATE."/images/shared/status-yellow.png' class='info-tooltip' title='Υπάρχει ηλ. ερωτηματολόγιο. Δεν έχει παραχθεί επαρκής αριθμός κουπονιών' alt='' align='top'/></td>";
$_SESSION['content'].="<td align='center'>";
if(permission_exists("generate_questionnaire_tokens", $assignments_i['id_course_assignment'])) {
$_SESSION['content'].="
<a style='cursor:pointer;' href='?action=generatequestionnairetokens&id_course_assignment=".$assignments_i['id_course_assignment']."'>
<img width=20 height=20 class='info-tooltip' title='Παραγωγή κουπονιών' src='themes/".CURRENT_TEMPLATE."/images/ico/Light_File_add.png' />
</a>
";
}
$questionnaires_with_printable_tokens++;
$_SESSION['content'].="</td>";
}else{
$_SESSION['content'].="<td align='center'><img style='padding:5px;' src='themes/".CURRENT_TEMPLATE."/images/shared/status-green.png' class='info-tooltip' title='Υπάρχει ηλ. ερωτηματολόγιο και επαρκής αριθμός κουπονιών' alt='' align='top'/></td><td></td>";
$questionnaires_with_printable_tokens++;
}
}
}else{
$_SESSION['content'].="<td align='center'><img style='padding:5px;' src='themes/".CURRENT_TEMPLATE."/images/shared/status-blue.png' class='info-tooltip' title='Η ανάθεση δεν αξιολογείται με ηλεκτρονικό ερωτηματολόγιο' alt='' align='top'/></td><td></td>";
}
$_SESSION['content'].="
</tr>
";
$i++;
}
//TABLE SORTABLE
$_SESSION['content'].="</tbody></table>
<script>
$(document).ready(function() {
oTable2 = $('#questionnairecodes').dataTable({
'bJQueryUI': true,
'bPaginate': false,
'oLanguage': {
'sUrl': 'js/codes.txt'
},
'bStateSave': true,
'aoColumns': [
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': false},
{'bSortable': true},
{'bSortable': true},
{'bSortable': false},
{'bSortable': false}
]
});
} );
</script>
";
if ($semester==current_semester() && (evaluation_period_is_open($semester) || assignment_period_closed($semester))) {
$_SESSION['content'].="<br/><div align='center'><input type='button' value='Παραγωγή κωδικών' class='form-submit' onClick=\"
window.location.href='?action=generateunitquestionnairecodes&id_unit=".$id_unit."';
\"/></div>";
}
if ($semester==current_semester() && permission_exists("generate_unit_questionnaire_codes", $id_unit) && $questionnaires_with_printable_tokens>0) {
$_SESSION['content'].="<br/><div align='center'><input type='button' value='Παραγωγή pdf κουπονιών όλων των ερωτηματολογίων' class='form-reset' onClick=\"
window.location.href='?action=printunitquestionnairetokens&id_unit=".$id_unit."';
\"/></div>";
}
}
}
function view_unit_evaluations($id_unit, $id_questionnaire, $id_question, $semester){
if(!permission_exists("view_unit_evaluations", $id_unit)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
if(semester_data($semester)==0){
if (evaluation_period_closed(current_semester())) $semester=current_semester();
else $semester=previous_semester();
}
$semester_data_i=semester_data($semester);
$question_mode=0;
if(($id_question!=NULL)&& ($id_questionnaire!=NULL)){
$question_mode=1;
//έλεγχος για έγκυρα question & questionnaire
$check_q=mysql_fetch_array(query("SELECT count(*) as n FROM __questionnaires WHERE semester='".$semester."' AND id_unit='".$id_unit."' AND id_questionnaire='".$id_questionnaire."' AND ".$id_question." BETWEEN 1 AND no_questions"));
$are_q_ids_ok=$check_q['n'];
if (!$are_q_ids_ok){
default_page();
return;
}
}
$min_questionnaires_accepted=MINIMUM_QUESTIONNAIRES_ACCEPTED;
//******************************************************************
/*
if(!isset($_GET['min'])){
$min_questionnaires_accepted=MINIMUM_QUESTIONNAIRES_ACCEPTED;
}else{
$min_questionnaires_accepted=$_GET['min'];
if ($min_questionnaires_accepted<1) $min_questionnaires_accepted=1;
}
if(!isset($_GET['k'])){
$index_k=3;
}else{
$index_k=floatval($_GET['k']);
if ($index_k<1) $index_k=1;
if ($index_k>10) $index_k=10;
}
if(!isset($_GET['type'])){
$course_type=3;
}else{
$course_type=intval($_GET['type']);
if ($course_type<1) $course_type=1;
if ($course_type>3) $course_type=3;
}
if ($course_type==1) $course_query=" AND a.id_class NOT LIKE '%Ε-".$semester."' ";
if ($course_type==2) $course_query=" AND a.id_class LIKE '%Ε-".$semester."' ";
if ($course_type==3) $course_query="";
if ($course_type==1) $course_query2=" AND n.id_class NOT LIKE '%Ε-".$semester."' ";
if ($course_type==2) $course_query2=" AND n.id_class LIKE '%Ε-".$semester."' ";
if ($course_type==3) $course_query2="";
*/
//******************************************************************
if (!$question_mode){
//QUESTIONNAIRE MODE
$_SESSION['title']="Ερωτηματολόγιο αξιολόγησης ".unit_id_to_name_gen($id_unit)." - <b>".semester_id_to_text($semester)."</b>";
$all_semesters_d=query("SELECT * FROM __semesters WHERE semester<=".current_semester()." ORDER BY semester DESC");
$semester_options="";
while($all_semesters_i=mysql_fetch_array($all_semesters_d)) {
$semester_options.="<option value='?action=viewunitevaluations&id_unit=".$id_unit."&semester=".$all_semesters_i['semester']."'";
if($all_semesters_i['semester']==$semester) $semester_options.=" selected";
$semester_options.=">".semester_id_to_text($all_semesters_i['semester'])."</option>
";
}
$questionnaire_d=query("SELECT DISTINCT q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12, q13, q14, q15, q16, q17, q18, q19, q20, q21, q22, q23, q24, q25, q26, q27, q28, q29, q30, q31, q32, q33, q34, q35, q36, q37, q38, q39, q40, q41, q42, q43, q44, q45, q46, q47, q48, q49, q50, q51, q52, q53, q54, q55, q56, q57, q58, q59, q60, id_questionnaire, id_unit, semester, description, no_questions FROM __questionnaires WHERE id_unit='".$id_unit."' AND semester='".$semester."'");
$no_questionnaires=mysql_num_rows($questionnaire_d);
$eval_data=mysql_fetch_array(query("SELECT count(id) as total FROM __answers a WHERE id_unit='".$id_unit."' AND a.semester=".$semester));
$eval_data_total=$eval_data['total'];
$_SESSION['content']="
<table border='0' width='100%' cellpadding='0' cellspacing='0'>
<tr valign='bottom'>
<td width=45%>
<table border='0' width='100%' height='100px' cellpadding='0' cellspacing='0' id='custom-table'>
<tr valign='middle'>
<td class='celltint2'>Ακαδημαϊκό Εξάμηνο: </td>
<td><select class='styledselect_form_1a' onchange=\"document.location.href=this.value;\">".$semester_options."</select></td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Τύποι ερωτηματολογίων: </td>
<td class='font14'>".($no_questionnaires=="0" ? "-" : $no_questionnaires)."</td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Συμπληρωμένα<br />Ερωτηματολόγια: </td>
<td class='font18'><b>".($eval_data_total=="" ? "-" : $eval_data_total) ."</b></td>
</tr>
</table>
</td>
<td width=10%></td>
<td width=45%>
<table border='0' width='100%' height='100px' cellpadding='0' cellspacing='0' id='custom-table'>
<tr valign='middle'>
<td class='celltint2'>Έναρξη: </td>
<td><span class='sciworknum2'>".convert_date($semester_data_i["start_eval"])."</span></td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Λήξη: </td>
<td><span class='sciworknum2'>".convert_date($semester_data_i["end_eval"])."</span></td>
</tr>
</table>
</td>
</tr>
</table>
<img src='themes/".CURRENT_TEMPLATE."/images/forms/help.png' align='top'/><span class='description'> Κάντε κλικ πάνω σε μία ερώτηση για να δείτε την συγκριτική αξιολόγηση των αναθέσεων.</span><br /><br />
";
if ($no_questionnaires>1){
$_SESSION['content'].="
<div id='tabs_questionnaire'>
<ul>";
for ($j=1; $j<=$no_questionnaires; $j++){
$_SESSION['content'].="<li><a href='#questionnaire".$j."'><span>Ερωτηματολόγιο ".$j." από ".$no_questionnaires."</span></a></li>";
}
$_SESSION['content'].="
</ul>";
}
for ($k=1; $k<=$no_questionnaires; $k++){
$questionnaire=mysql_fetch_array($questionnaire_d);
$_SESSION['content'].="
<div id='questionnaire".$k."'>
<table border='0' width='100%' cellpadding='0' cellspacing='0' id='product-table' class='table".$k."'>
<thead>
".($no_questionnaires >1 ? "<tr class='header font12' style='background:#eeeeee!important; color:#787878;'>
<td align='center' colspan=5><div>Τύπος ερωτηματολογίου: <span class='celnormal font14'>".$questionnaire['description']."</span></div></td>
</tr>" : "")."
<tr class='header'>
<th class='table-header'>Α/Α</th>
<th class='table-header'><div style='min-width:500px'>Ερώτηση</div></th>
<th class='table-header'>Μέσος όρος τμήματος</th>
</tr>
</thead>
<tbody>";
for ($i=0; $i<$questionnaire['no_questions']; $i++){
$unit_total_questionnaires_i=mysql_fetch_array(query("SELECT count(id) no_questionnaires FROM __answers WHERE id_questionnaire=".$questionnaire['id_questionnaire'].""));
$answers_dep_avg=mysql_fetch_array(query("SELECT AVG(NULLIF(q".($i+1).",0)), id_questionnaire FROM __answers WHERE id_questionnaire=".$questionnaire['id_questionnaire']." GROUP BY id_questionnaire HAVING count(q".($i+1).")>=".$min_questionnaires_accepted.""));
$_SESSION['content'].="
<tr style='cursor:pointer;' onclick=\"location.href='?action=viewunitevaluations&id_unit=".$id_unit."&qid=".$questionnaire['id_questionnaire']."&n=".($i+1)."&semester=".$semester."'\">
<td align=center>".($i+1).".</td>
<td align=justify style='padding-right:20px; padding-left:10px;'><span class='font11'>".$questionnaire[$i]."</span></td>";
$answer_dep=number_format($answers_dep_avg[0],2);
$_SESSION['content'].=
"<td align=center><b>".($answer_dep==0 ? "-": number_format($answer_dep,2).percentage_bar5(100, 3, $answer_dep)) ."<b></td>";
$_SESSION['content'].="
</tr>";
}
$_SESSION['content'].="
<tfoot>
<tr class='header'>
<td align=center>#</td>
<td>Συμπληρωμένα ερωτηματολόγια: </td>
<td align=center colspan=2><b>".$unit_total_questionnaires_i['no_questionnaires']."</b></td>
</tr>
</tfoot>
</tbody></table>
<script>
$(document).ready(function() {
oTable = $('.table".$k."').dataTable({
'bJQueryUI': true,
'bPaginate': false,
'oLanguage': {
'sUrl': 'js/questions.txt'
},
'bStateSave': false,
'aoColumns': [
{'bSortable': true},
{'bSortable': false},
{'bSortable': true}
]
});
});
</script>
</div>";
}
if ($no_questionnaires>1){
$_SESSION['content'].="
</div>
<script>
$(function() {
$( '#tabs_questionnaire' ).tabs({
cookie: {
expires: 1
}
});
});
</script>";
}
if ($no_questionnaires==0){
$_SESSION['content'].="<div class='message-cpanel'><div class='message-cpanel-img'><img src='themes/".CURRENT_TEMPLATE."/images/shared/warning.png' alt='' align='top' /></div>Δεν έχει γίνει αξιολόγηση σε αυτό το εξάμηνο.</div>";
}
}
else {
//QUESTION MODE
$_SESSION['title']="Συγκεντρωτικά αποτελέσματα αξιολόγησης αναθέσεων - <b>Ερώτηση </b>[<b>".$id_question."</b>]<br />".unit_id_to_name($id_unit)." - ".semester_id_to_text($semester);
$question_d=mysql_fetch_array(query("SELECT q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12, q13, q14, q15, q16, q17, q18, q19, q20, q21, q22, q23, q24, q25, q26, q27, q28, q29, q30, q31, q32, q33, q34, q35, q36, q37, q38, q39, q40, q41, q42, q43, q44, q45, q46, q47, q48, q49, q50, q51, q52, q53, q54, q55, q56, q57, q58, q59, q60, description FROM __questionnaires q WHERE id_questionnaire='".$id_questionnaire."'"));
$question=$question_d[($id_question-1)];
$description=$question_d['description'];
$_SESSION['content']="
<script>
var sidebar = $.cookie('sidebar');
if (sidebar != 'closed') {
$.cookie('sidebar', 'closed' );
$(document).ready(function() {
$.msgbox('<b>ΑΥΤΟΜΑΤΗ ΠΡΟΣΑΡΜΟΓΗ ΠΡΟΒΟΛΗΣ</b><br />Έχει γίνει αυτόματη απόκρυψη της πλευρικής στήλης για τη βέλτιστη εμφάνιση της τρέχουσας σελίδας.<br />Μπορείτε να επαναφέρετε την πλευρική στήλη, ανά πάσα στιγμή, από το κουμπί \"Εμφάνιση\" στα αριστερά.',
{type: 'alert', buttons : [{type: 'cancel', value: 'ΟΚ'}]}
);
});
};
</script>
<table border='0' width='100%' cellpadding='0' cellspacing='0' id='custom-table'>
<tr valign='middle'>
<td class='celltint2' width=200>Τμήμα: </td>
<td colspan=2>".unit_id_to_name($id_unit)."</td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Εξάμηνο Αξιολόγησης: </td>
<td colspan=2>".semester_id_to_text($semester)."</td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Ερώτηση: </td>
<td>".($description == NULL ? "" : "[".$description."] - ")."<div class='sciworknum2'>".$id_question."</div></td><td> <span class='font13'><b>".$question."</b></span></td>
</tr>";
$_SESSION['content'].="
</table>
<div align='center'>
<input type='button' value='<< Προηγούμενη Ερώτηση' class='form-reset' onclick=\"location.href='?action=viewunitevaluations&id_unit=".$id_unit."&qid=".$id_questionnaire."&n=".previous_question($id_questionnaire, $id_question)."&semester=".$semester."'\" />
<input type='button' value='Επόμενη Ερώτηση >>' class='form-reset' onclick=\"location.href='?action=viewunitevaluations&id_unit=".$id_unit."&qid=".$id_questionnaire."&n=".next_question($id_questionnaire, $id_question)."&semester=".$semester."'\" />
</div>
<br />
";
$assignments_evaluation_d=query("SELECT DISTINCT u.last_name, a.id_user, a.id_class, co.title, co.exam, co.coursecode, COUNT(a.q".$id_question.") no_questionnaires, AVG(NULLIF(a.q".$id_question.",0)) as rating
FROM __classes cl
INNER JOIN __courses co ON cl.id_course=co.id
INNER JOIN __answers a ON a.id_class=cl.id
INNER JOIN __users u ON a.id_user=u.id
WHERE a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.id_questionnaire='".$id_questionnaire."'
GROUP BY u.last_name, a.id_user, a.id_class, co.title, co.exam, co.coursecode
HAVING AVG(NULLIF(a.q".$id_question.",0))>0 AND COUNT(a.id)>=".$min_questionnaires_accepted."
ORDER BY last_name ASC");
$teacher_evaluation_d=query("SELECT DISTINCT u.last_name, a.id_user, COUNT(a.q".$id_question.") total, AVG(NULLIF(a.q".$id_question.",0)) as rating
FROM __answers a
INNER JOIN __users u ON a.id_user=u.id
WHERE a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.id_questionnaire='".$id_questionnaire."'
GROUP BY u.last_name, a.id_user
HAVING AVG(NULLIF(a.q".$id_question.",0))>0 AND COUNT(a.id)>=".$min_questionnaires_accepted."
ORDER BY last_name ASC
"); //ORDER BY rating DESC
$course_evaluation_d=query("SELECT DISTINCT a.id_class, co.title, co.exam, co.coursecode, COUNT(a.q".$id_question.") total, AVG(NULLIF(a.q".$id_question.",0)) as rating
FROM __classes cl
INNER JOIN __courses co ON cl.id_course=co.id
INNER JOIN __answers a ON a.id_class=cl.id
WHERE a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.id_questionnaire='".$id_questionnaire."'
GROUP BY a.id_class, co.title, co.exam, co.coursecode
HAVING AVG(NULLIF(a.q".$id_question.",0))>0 AND COUNT(a.id)>=".$min_questionnaires_accepted."
ORDER BY exam, title ASC");
//old method department average
/*
$dep_average_d=mysql_fetch_array(query("SELECT AVG(NULLIF(q".$id_question.",0)) as rating
FROM __answers_avg
WHERE semester='".$semester."' AND id_unit='".$id_unit."' AND id_questionnaire='".$id_questionnaire."' AND no_questionnaires>=".$min_questionnaires_accepted." AND id_user<>0 AND id_class<>0"));
$dep_average=$dep_average_d['rating'];
*/
//new method department average
$assignments_weight_d=query("SELECT COUNT(NULLIF(q".$id_question.",0))*AVG(NULLIF(q".$id_question.",0)) as rating, questionnaire_code
FROM __answers a
WHERE a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.id_questionnaire='".$id_questionnaire."' ".$course_query." GROUP BY questionnaire_code HAVING COUNT(NULLIF(q".$id_question.",0))>=".$min_questionnaires_accepted."");
$assignments_total_weight=0;
while ($assignments_weight_i=mysql_fetch_array($assignments_weight_d)){
$assignments_total_weight+=$assignments_weight_i["rating"];
}
$assignments_count_d=query("SELECT COUNT(NULLIF(q".$id_question.",0)) as total, questionnaire_code
FROM __answers a
WHERE a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.id_questionnaire='".$id_questionnaire."' ".$course_query." GROUP BY questionnaire_code HAVING COUNT(NULLIF(q".$id_question.",0))>=".$min_questionnaires_accepted."");
$assignments_total_count=0;
while ($assignments_count_i=mysql_fetch_array($assignments_count_d)){
$assignments_total_count+=$assignments_count_i["total"];
}
$dep_average=$assignments_total_weight/$assignments_total_count;
$_SESSION['content'].="
<div id='tabs'>
<ul>
<li><a href='#comptable_assignment'><span>Ανά Ανάθεση</span></a></li>
<li><a href='#comptable_teacher'><span>Ανά Διδάσκοντα</span></a></li>
<li><a href='#comptable_course'><span>Ανά Μάθημα</span></a></li>
<!--<li><a href='#control_limits'><span>Ακραίες Τιμές</span></a></li>-->
</ul>";
$_SESSION['content'].="
<div id='comptable_assignment'>
<table border='0' width='100%' cellpadding='0' cellspacing='0' class='product-table' id='comptassignments'>
<thead>
<tr class='header'>
<th class='table-header' width=30px align='center'>A/A</th>
<th class='table-header' align='center'>Ονοματεπώνυμο Διδάσκοντα</th>
<th class='table-header' align='center'>Τίτλος Μαθήματος</th>
<th class='table-header' align='center'>Εξάμηνο</th>
<th class='table-header' align='center'><a href='#' title='Μ.Ο. υπολογισμένος για κάθε ανάθεση' class='info-tooltip'>Μ.Ο. Διδάσκοντα</a></th>
<th class='table-header' align='center'>Μ.Ο. Τμήματος</th>
<th class='table-header' align='center'><a href='#' title='Πλήθος απαντήσεων από τις οποίες προέκυψε ο μέσος όρος ανάθεσης διδάσκοντα' class='info-tooltip'>Πλήθος</a></th>
</tr>
</thead>
<tbody>
";
$i=1;
//table anatheseis
while($assignments_evaluation=mysql_fetch_array($assignments_evaluation_d)) {
$_SESSION['content'].="
<tr style='cursor:default;'>
<td align='center'>".$i."</td>
<td class='font11'> ".user_id_to_fullname($assignments_evaluation["id_user"])."</td>
<td class='font11'>".$assignments_evaluation["title"]."</td>
<td class='font11' align='center'>".return_semester($assignments_evaluation["exam"])."</td>
<td class='font12' align='center'><b>".number_format($assignments_evaluation["rating"],2)."</b></td>
<td class='font11' align='center'>".number_format($dep_average,2)."</td>
<td class='font11' align='center'>".$assignments_evaluation["no_questionnaires"]."</td>
</tr>";
$i++;
}
//TABLE SORTABLE
$_SESSION['content'].="
</tbody></table>
<script>
$(document).ready(function() {
oTable1 = $('#comptassignments').dataTable({
'bJQueryUI': true,
'bPaginate': false,
'oLanguage': {
'sUrl': 'js/codes.txt'
},
'bStateSave': false,
'aoColumns': [
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': false},
{'bSortable': true}
]
});
} );
</script>
<br/><br/><br/>";
//graph anatheseis
$eval_graph_data_d=query("SELECT DISTINCT u.id, concat(u.last_name, \" \", u.first_name) as name, a.id_user, a.id_class, co.title, co.exam, co.coursecode, COUNT(a.id) no_questionnaires, AVG(NULLIF(a.q".$id_question.",0)) as rating
FROM __classes cl
INNER JOIN __courses co ON cl.id_course=co.id
INNER JOIN __answers a ON a.id_class=cl.id
INNER JOIN __users u ON u.id=a.id_user
WHERE a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.id_questionnaire='".$id_questionnaire."'
GROUP BY u.id, name, a.id_user, a.id_class, co.title, co.exam, co.coursecode
HAVING AVG(NULLIF(a.q".$id_question.",0))>0 AND COUNT(a.id)>=".$min_questionnaires_accepted."
ORDER BY name ASC"); //ORDER BY rating ASC
$eval_graph_data="";
while($eval_graph_data_i=mysql_fetch_assoc($eval_graph_data_d)) {
$eval_graph_data.="{name: 'Διδάσκων: <b>".$eval_graph_data_i['name']." </b><br />Μάθημα: <b>".$eval_graph_data_i['title']."</b><br />Πλήθος ερωτηματολογίων: <b>".$eval_graph_data_i['no_questionnaires']."</b>', y: ".number_format($eval_graph_data_i['rating'],2).", url: '?action=manageunitevaluations&id_user=".$eval_graph_data_i['id']."&id_unit=".$id_unit."&semester=".$semester."'}, ";
}
$_SESSION['content'].="
<script type='text/javascript'>
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
zoomType: 'x',
defaultSeriesType: 'column'
},
title: {
text: 'Συγκεντρωτικά αποτελέσματα αξιολόγησης αναθέσεων- Ερώτηση: #".$id_question."',
style: {
fontSize: '13px',
fontWeight: 'bold'
}
},
subtitle: {
text: '".unit_id_to_name($id_unit)."<br/>".semester_id_to_text($semester)."'
},
xAxis: {
categories: [],
title: {
text: 'Αναθέσεις'
},
labels: {
enabled: false
}
},
yAxis: {
min: 0,
max: 5,
title: {
text: 'Βαθμολογία (1-5)',
align: 'high'
},
plotBands: [{
color: '#FF4444',
width: 1,
value: ".$dep_average.",
zIndex: 5,
label: {
text: 'Μ.Ο. Τμήματος: <b>".number_format($dep_average,2)."</b>',
verticalAlign: 'middle',
textAlign: 'left',
rotation: 0,
align: 'left',
x: 5,
style: {color: '#000000', fontSize: '10px'}
}
}]
},
tooltip: {
formatter: function() {
return this.point.name+'<br />'+
'<span style=\"color:#527BAA\">'+this.series.name +'</span>: <b>'+ this.y+'</b>';
},
crosshairs: true
},
plotOptions: {
column: {
cursor: 'pointer',
pointPadding: 0.05,
borderWidth: 0,
shadow: false,
point: {
events: {
click: function() {
//window.location=this.options.url;
}
}
}
}
},
legend: {
enabled: false
},
credits: {
enabled: false
},
series: [{
name: 'Μέσος όρος διδάσκοντα',
data: [".$eval_graph_data."],
color: '#9CC2ED'
}]
});
});
</script>
<div id='container' style='width: 99%; height: 500px; margin: 0 auto'></div>
</div>";
//TABLE TEACHER
$_SESSION['content'].="
<div id='comptable_teacher'>
<table border='0' width='100%' cellpadding='0' cellspacing='0' class='product-table' id='comptteachers'>
<thead>
<tr class='header'>
<th class='table-header' width=30px align='center'>A/A</th>
<th class='table-header' align='center'>Ονοματεπώνυμο Διδάσκοντα</th>
<th class='table-header' align='center'>Γενικός Μ.Ο. Διδάσκοντα</th>
<th class='table-header' align='center'>Μ.Ο. Τμήματος</th>
<th class='table-header' align='center'><a href='#' title='Πλήθος απαντήσεων από τις οποίες προέκυψε ο γενικός μέσος όρος διδάσκοντα' class='info-tooltip'>Πλήθος</a></th>
</tr>
</thead>
<tbody>
";
$i=1;
while($teacher_evaluation=mysql_fetch_array($teacher_evaluation_d)) {
$_SESSION['content'].="
<tr style='cursor:default;'>
<td align='center'>".$i."</td>
<td class='font11'> ".user_id_to_fullname($teacher_evaluation["id_user"])."</td>
<td class='font12' align='center'><b>".number_format($teacher_evaluation["rating"],2)."</b></td>
<td class='font11' align='center'>".number_format($dep_average,2)."</td>
<td class='font11' align='center'>".$teacher_evaluation["total"]."</td>
</tr>";
$i++;
}
//TABLE SORTABLE
$_SESSION['content'].="
</tbody></table>
<script>
$(document).ready(function() {
oTable2 = $('#comptteachers').dataTable({
'bJQueryUI': true,
'bPaginate': false,
'oLanguage': {
'sUrl': 'js/codes.txt'
},
'bStateSave': false,
'aoColumns': [
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': false},
{'bSortable': true}
]
});
} );
</script>
<br /><br /><br />";
//graph teacher
$eval_graph_data_d=query("SELECT DISTINCT concat(u.last_name, \" \", u.first_name) as name, a.id_user, COUNT(a.q".$id_question.") total, AVG(NULLIF(a.q".$id_question.",0)) as rating
FROM __answers a
INNER JOIN __users u ON a.id_user=u.id
WHERE a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.id_questionnaire='".$id_questionnaire."'
GROUP BY name, a.id_user
HAVING AVG(NULLIF(a.q".$id_question.",0))>0 AND COUNT(a.id)>=".$min_questionnaires_accepted."
ORDER BY last_name ASC"); //ORDER BY rating ASC
$eval_graph_data="";
while($eval_graph_data_i=mysql_fetch_assoc($eval_graph_data_d)) {
$eval_graph_data.="{name: 'Διδάσκων: <b>".$eval_graph_data_i['name']." </b><br />Πλήθος ερωτηματολογίων: <b>".$eval_graph_data_i['total']."</b>', y: ".number_format($eval_graph_data_i['rating'],2).", url: '?action=manageunitevaluations&id_user=".$eval_graph_data_i['id']."&id_unit=".$id_unit."&semester=".$semester."'}, ";
}
$_SESSION['content'].="
<script type='text/javascript'>
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container2',
zoomType: 'x',
defaultSeriesType: 'column'
},
title: {
text: 'Συγκεντρωτικά αποτελέσματα αξιολόγησης διδασκόντων - Ερώτηση: #".$id_question."',
style: {
fontSize: '13px',
fontWeight: 'bold'
}
},
subtitle: {
text: '".unit_id_to_name($id_unit)."<br/>".semester_id_to_text($semester)."'
},
xAxis: {
categories: [],
title: {
text: 'Διδάσκοντες'
},
labels: {
enabled: false
}
},
yAxis: {
min: 0,
max: 5,
title: {
text: 'Βαθμολογία (1-5)',
align: 'high'
},
plotBands: [{
color: '#FF4444',
width: 1,
value: ".$dep_average.",
zIndex: 5,
label: {
text: 'Μ.Ο. Τμήματος: <b>".number_format($dep_average,2)."</b>',
verticalAlign: 'middle',
textAlign: 'left',
rotation: 0,
align: 'left',
x: 5,
style: {color: '#000000', fontSize: '10px'}
}
}]
},
tooltip: {
formatter: function() {
return this.point.name+'<br />'+
'<span style=\"color:#527BAA\">'+this.series.name +'</span>: <b>'+ this.y+'</b>';
},
crosshairs: true
},
plotOptions: {
column: {
cursor: 'pointer',
pointPadding: 0.05,
borderWidth: 0,
shadow: false,
point: {
events: {
click: function() {
//window.location=this.options.url;
}
}
}
}
},
legend: {
enabled: false
},
credits: {
enabled: false
},
series: [{
name: 'Μέσος όρος διδάσκοντα',
data: [".$eval_graph_data."],
color: '#9CC2ED'
}]
});
});
</script>
<div id='container2' style='width: 99%; height: 500px; margin: 0 auto'></div>
</div>";
//ana mathima
$_SESSION['content'].="
<div id='comptable_course'>
<table border='0' width='100%' cellpadding='0' cellspacing='0' class='product-table' id='comptcourses'>
<thead>
<tr class='header'>
<th class='table-header' width=30px align='center'>A/A</th>
<th class='table-header' align='center'>Τίτλος Μαθήματος</th>
<th class='table-header' align='center'>Εξάμηνο</th>
<th class='table-header' align='center'>Γενικός Μ.Ο. Μαθήματος</th>
<th class='table-header' align='center'>Μ.Ο. Τμήματος</th>
<th class='table-header' align='center'><a href='#' title='Πλήθος απαντήσεων από τις οποίες προέκυψε ο γενικός μέσος όρος μαθήματος' class='info-tooltip'>Πλήθος</a></th>
</tr>
</thead>
<tbody>
";
$i=1;
while($course_evaluation=mysql_fetch_array($course_evaluation_d)) {
$_SESSION['content'].="
<tr style='cursor:default;'>
<td align='center'>".$i."</td>
<td class='font11'> ".$course_evaluation["title"]."</td>
<td class='font11' align='center'>".return_semester($course_evaluation["exam"])."</td>
<td class='font12' align='center'><b>".number_format($course_evaluation["rating"],2)."</b></td>
<td class='font11' align='center'>".number_format($dep_average,2)."</td>
<td class='font11' align='center'>".$course_evaluation["total"]."</td>
</tr>";
$i++;
}
//TABLE SORTABLE
$_SESSION['content'].="
</tbody></table>
<script>
$(document).ready(function() {
oTable3 = $('#comptcourses').dataTable({
'bJQueryUI': true,
'bPaginate': false,
'oLanguage': {
'sUrl': 'js/codes.txt'
},
'bStateSave': false,
'aoColumns': [
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': false},
{'bSortable': true}
]
});
} );
</script>
<br /><br /><br />";
//graph course
$eval_graph_data_d=query("SELECT DISTINCT a.id_class, co.title, co.exam, co.coursecode, COUNT(a.q".$id_question.") total, AVG(NULLIF(a.q".$id_question.",0)) as rating
FROM __classes cl
INNER JOIN __courses co ON cl.id_course=co.id
INNER JOIN __answers a ON a.id_class=cl.id
WHERE a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.id_questionnaire='".$id_questionnaire."'
GROUP BY a.id_class, co.title, co.exam, co.coursecode
HAVING AVG(NULLIF(a.q".$id_question.",0))>0 AND COUNT(a.id)>=".$min_questionnaires_accepted."
ORDER BY exam, title ASC"); //ORDER BY rating ASC
$eval_graph_data="";
while($eval_graph_data_i=mysql_fetch_assoc($eval_graph_data_d)) {
$eval_graph_data.="{name: 'Μάθημα: <b>".$eval_graph_data_i['title']." </b><br />Πλήθος ερωτηματολογίων: <b>".$eval_graph_data_i['total']."</b>', y: ".number_format($eval_graph_data_i['rating'],2)."}, ";
}
$_SESSION['content'].="
<script type='text/javascript'>
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container6',
zoomType: 'x',
defaultSeriesType: 'column'
},
title: {
text: 'Συγκεντρωτικά αποτελέσματα αξιολόγησης μαθημάτων - Ερώτηση: #".$id_question."',
style: {
fontSize: '13px',
fontWeight: 'bold'
}
},
subtitle: {
text: '".unit_id_to_name($id_unit)."<br/>".semester_id_to_text($semester)."'
},
xAxis: {
categories: [],
title: {
text: 'Μαθήματα'
},
labels: {
enabled: false
}
},
yAxis: {
min: 0,
max: 5,
title: {
text: 'Βαθμολογία (1-5)',
align: 'high'
},
plotBands: [{
color: '#FF4444',
width: 1,
value: ".$dep_average.",
zIndex: 5,
label: {
text: 'Μ.Ο. Τμήματος: <b>".number_format($dep_average,2)."</b>',
verticalAlign: 'middle',
textAlign: 'left',
rotation: 0,
align: 'left',
x: 5,
style: {color: '#000000', fontSize: '10px'}
}
}]
},
tooltip: {
formatter: function() {
return this.point.name+'<br />'+
'<span style=\"color:#527BAA\">'+this.series.name +'</span>: <b>'+ this.y+'</b>';
},
crosshairs: true
},
plotOptions: {
column: {
cursor: 'pointer',
pointPadding: 0.05,
borderWidth: 0,
shadow: false,
point: {
events: {
click: function() {
//window.location=this.options.url;
}
}
}
}
},
legend: {
enabled: false
},
credits: {
enabled: false
},
series: [{
name: 'Μέσος όρος μαθήματος',
data: [".$eval_graph_data."],
color: '#9CC2ED'
}]
});
});
</script>
<div id='container6' style='width: 99%; height: 500px; margin: 0 auto'></div>
</div>";
function normalDist($zScore) {
$p = floatval(0.2316419);
$b1 = floatval(0.319381530);
$b2 = floatval(-0.356563782);
$b3 = floatval(1.781477937);
$b4 = floatval(-1.821255978);
$b5 = floatval(1.330274429);
$t = 1/(1 + ($p * floatval($zScore)));
$zx = (1/(sqrt(2 * pi())) * (exp(0 - pow($zScore, 2)/2)));
$px = 1 - floatval($zx) * (($b1 * $t) + ($b2 * pow($t, 2)) + ($b3 * pow($t, 3)) + ($b4 * pow($t, 4)) + ($b5 * pow($t,5)));
return $px;
}
//akraies times
/*
$_SESSION['content'].="
<div id='control_limits'>
<form action='".$_SERVER['PHP_SELF']."' method='get' style='border:1px solid #aaaaaa; background:#F6FFD8; margin:auto; padding:10px 20px; width:350px; border-radius:10px;'>
<input type='hidden' name='action' value='viewunitevaluations'>
<input type='hidden' name='id_unit' value='".$id_unit."'>
<input type='hidden' name='qid' value='".$id_questionnaire."'>
<input type='hidden' name='n' value='".$id_question."'>
<input type='hidden' name='semester' value='".$semester."'>
<table width='100%' border='0' cellpadding='0' cellspacing='0'>
<tr valign='middle'>
<td height='40px'>Ελάχιστο αποδεκτό μέγεθος δείγματος <b>n</b>:</td>
<td><input type='text' name='min' class='inp-form2' id='num' value='".$min_questionnaires_accepted."'></td>
</tr>
<tr valign='middle'>
<td height='40px'>Σταθερά <b>k</b> για τα Α3, Β3, Β4:</td>
<td><input type='text' name='k' class='inp-form2' id='num' value='".$index_k."'></td>
</tr>
<tr valign='middle'>
<td height='40px'>Πιθανότητα <b>α</b> για k=".$index_k.":</td>
<td>".number_format((1-normalDist($index_k))*2*100,2)."%</td>
</tr>
<tr valign='middle'>
<td height='40px'>Τύπος Μαθήματος:</td>
<td>
<select name='type' class='sel-form' style='width:150px;'>
<option value='1' ".($course_type==1 ? "selected" : "").">Μόνο Θεωρία</option>
<option value='2' ".($course_type==2 ? "selected" : "").">Μόνο Εργαστήριο</option>
<option value='3' ".($course_type==3 ? "selected" : "").">Όλοι οι τύποι</option>
</select>
</td>
</tr>
<tr valign='middle'>
<td colspan=2 align='center' height='40px'><input type='submit' value='Ενημέρωση Στοιχείων' class='form-submit'></td>
</tr>
</table>
<script type='text/javascript'>$('#num').numeric({decimal: false, negative: false});</script>
</form><br />
<div align='center'><img src='themes/".CURRENT_TEMPLATE."/images/forms/help.png' align='top'/><span class='description'> Μπορείτε να δείτε την κατανομή των απαντήσεων μιας ανάθεσης, φέροντας τουν δείκτη του ποντικιού επάνω από την τιμή της στήλης \"<b>n</b>\".</span></div><br /><br />
<table border='0' width='100%' cellpadding='0' cellspacing='0' class='product-table' id='comptcontrollimits'>
<thead>
<tr class='header'>
<th class='table-header' width=30px align='center'>A/A</th>
<th class='table-header' align='center'>Ονοματεπώνυμο Διδάσκοντα</th>
<th class='table-header' align='center'>Τίτλος Μαθήματος</th>
<th class='table-header' align='center'>Εξάμηνο</th>
<th class='table-header' align='center'><a title='Μ.Ο. υπολογισμένος για κάθε ανάθεση' class='info-tooltip'>Μ.Ο. Ανάθεσης</a></th>
<th class='table-header' align='center'><a title='Πλήθος απαντήσεων στη συγκεκριμένη ερώτηση αυτής της ανάθεσης' class='info-tooltip'>n</a></th>
<th class='table-header' align='center'><a title='Τυπική Απόκλιση των απαντήσεων στη συγκεκριμένη ερώτηση αυτής της ανάθεσης' class='info-tooltip'>s</a></th>
<th class='table-header' align='center'>Μ.Ο. Τμήματος</th>
<th class='table-header' align='center'>S Τμήματος</th>
<th class='table-header' align='center'><a title='Άνω Όριο ΕΛέγχου (Upper Control Limit)' class='info-tooltip'>UCL</a></th>
<th class='table-header' align='center'><a title='Κάτω Όριο ΕΛέγχου (Lower Control Limit)' class='info-tooltip'>LCL</a></th>
</tr>
</thead>
<tbody>
";
$dep_std_d=query("SELECT DISTINCT s.q".$id_question." as std, n.q".$id_question." as n
FROM __answers_std s
INNER JOIN __answers_cnt n ON n.id_class=s.id_class AND n.id_user=s.id_user
WHERE n.semester='".$semester."' AND n.id_unit='".$id_unit."' AND n.id_questionnaire='".$id_questionnaire."' AND n.id_user<>0 AND n.id_class<>0 ".$course_query2." AND n.q".$id_question.">0 AND n.no_questionnaires>=".$min_questionnaires_accepted);
$arithmitis=0;
$paranomastis=0;
$plithos=mysql_num_rows($dep_std_d);
while ($dep_std_i=mysql_fetch_array($dep_std_d)){
$arithmitis=$arithmitis+(($dep_std_i['n']-1)*pow($dep_std_i['std'],2));
$paranomastis=$paranomastis+$dep_std_i['n'];
}
$dep_std=sqrt($arithmitis/($paranomastis-$plithos));
$assignments_control_limits_d=query("SELECT DISTINCT a.id_user, concat(u.last_name, \" \", u.first_name) as name, a.id_class, co.title, co.exam, co.coursecode, a.no_questionnaires, a.q".$id_question." as rating, s.q".$id_question." as std, n.q".$id_question." as n, a.questionnaire_code
FROM __classes cl
INNER JOIN __courses co ON cl.id_course=co.id
INNER JOIN __answers_avg a ON a.id_class=cl.id
INNER JOIN __answers_std s ON s.id_class=cl.id AND s.id_user=a.id_user
INNER JOIN __answers_cnt n ON n.id_class=cl.id AND n.id_user=a.id_user
INNER JOIN __users u ON u.id=a.id_user
WHERE a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.id_questionnaire='".$id_questionnaire."' ".$course_query." AND a.q".$id_question.">0 AND n.q".$id_question.">=".$min_questionnaires_accepted."
ORDER BY name ASC");
$assignments_control_limits_d=query("SELECT DISTINCT a.id_user, concat(\"Διδάσκων no.\", CAST(u.id as CHAR)) as name, a.id_class, concat(\"ΜΑΘΗΜΑ \", co.coursecode)as title, co.exam, co.coursecode, a.no_questionnaires, a.q".$id_question." as rating, s.q".$id_question." as std, n.q".$id_question." as n, a.questionnaire_code
FROM __classes cl
INNER JOIN __courses co ON cl.id_course=co.id
INNER JOIN __answers_avg a ON a.id_class=cl.id
INNER JOIN __answers_std s ON s.id_class=cl.id AND s.id_user=a.id_user
INNER JOIN __answers_cnt n ON n.id_class=cl.id AND n.id_user=a.id_user
INNER JOIN __users u ON u.id=a.id_user
WHERE a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.id_questionnaire='".$id_questionnaire."' AND a.id_user<>0 AND a.q".$id_question.">0 AND n.q".$id_question.">=".$min_questionnaires_accepted."
ORDER BY name ASC");
$eval_graph_data="";
$eval_graph_data_limits="";
$eval_graph_data_s="";
$eval_graph_data_limits_s="";
$graph_min=5;
$graph_min_s=5;
$i=1;
while($assignments_control_limits=mysql_fetch_array($assignments_control_limits_d)) {
$c4=4*($assignments_control_limits["n"]-1)/(4*$assignments_control_limits["n"]-3);
$a3=$index_k/($c4*sqrt($assignments_control_limits["n"]));
$ucl=$dep_average+$a3*$dep_std;
$lcl=$dep_average-$a3*$dep_std;
if ($ucl>5) $ucl=5;
if ($lcl<1) $lcl=1;
if ($lcl<$graph_min) $graph_min=$lcl;
if ($assignments_control_limits["rating"]<$graph_min) $graph_min=number_format($assignments_control_limits["rating"],2);
$b3=1-$index_k/$c4*sqrt(1-pow($c4,2));
$b4=1+$index_k/$c4*sqrt(1-pow($c4,2));
$ucl_s=$b4*$dep_std;
$lcl_s=$b3*$dep_std;
if($lcl_s<0) $lcl_s=0;
if ($lcl_s<$graph_min_s) $graph_min_s=$lcl_s;
if ($assignments_control_limits["std"]<$graph_min_s) $graph_min_s=number_format($assignments_control_limits["std"],2);
$rating_color="#676767";
if ($assignments_control_limits["rating"]>$ucl) $rating_color="#00aa00";
if ($assignments_control_limits["rating"]<$lcl) $rating_color="#cc0000";
$rating_color_s="#676767";
$s_out_of_limmits=0;
if ($assignments_control_limits["std"]>$ucl_s) $rating_color_s="#cc0000";
if ($assignments_control_limits["std"]<$lcl_s) $rating_color_s="#cc0000";
//************************************
$answers_0_d=mysql_fetch_array(query("SELECT count(q".$id_question.") as count FROM __answers a WHERE q".$id_question."=0 AND a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.questionnaire_code='".$assignments_control_limits['questionnaire_code']."'"));
$answers_1_d=mysql_fetch_array(query("SELECT count(q".$id_question.") as count FROM __answers a WHERE q".$id_question."=1 AND a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.questionnaire_code='".$assignments_control_limits['questionnaire_code']."'"));
$answers_2_d=mysql_fetch_array(query("SELECT count(q".$id_question.") as count FROM __answers a WHERE q".$id_question."=2 AND a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.questionnaire_code='".$assignments_control_limits['questionnaire_code']."'"));
$answers_3_d=mysql_fetch_array(query("SELECT count(q".$id_question.") as count FROM __answers a WHERE q".$id_question."=3 AND a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.questionnaire_code='".$assignments_control_limits['questionnaire_code']."'"));
$answers_4_d=mysql_fetch_array(query("SELECT count(q".$id_question.") as count FROM __answers a WHERE q".$id_question."=4 AND a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.questionnaire_code='".$assignments_control_limits['questionnaire_code']."'"));
$answers_5_d=mysql_fetch_array(query("SELECT count(q".$id_question.") as count FROM __answers a WHERE q".$id_question."=5 AND a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.questionnaire_code='".$assignments_control_limits['questionnaire_code']."'"));
$answers_0=$answers_0_d['count'];
$answers_1=$answers_1_d['count'];
$answers_2=$answers_2_d['count'];
$answers_3=$answers_3_d['count'];
$answers_4=$answers_4_d['count'];
$answers_5=$answers_5_d['count'];
$label=" - Πλήθος τιμής 1: <b>".($answers_1>0 ? $answers_1 : "-")."</b><br/>";
$label.="Πλήθος τιμής 2: <b>".($answers_2>0 ? $answers_2 : "-")."</b><br/>";
$label.="Πλήθος τιμής 3: <b>".($answers_3>0 ? $answers_3 : "-")."</b><br/>";
$label.="Πλήθος τιμής 4: <b>".($answers_4>0 ? $answers_4 : "-")."</b><br/>";
$label.="Πλήθος τιμής 5: <b>".($answers_5>0 ? $answers_5 : "-")."</b><br/>";
$label.="Χωρίς Απάντηση: <b>".($answers_0>0 ? $answers_0 : "-")."</b>";
//************************************
$_SESSION['content'].="
<tr style='cursor:default;'>
<td align='center'>".$i."</td>
<td class='font11'> ".$assignments_control_limits["name"]."</td>
<td class='font11'>".$assignments_control_limits["title"]."</td>
<td class='font11' align='center'>".return_semester($assignments_control_limits["exam"])."</td>
<td class='font12' align='center'><b><span style='color:".$rating_color.";'>".number_format($assignments_control_limits["rating"],2)."</span></b></td>
<td class='font11' align='center'><u><a title='".$label."' class='info-tooltip'>".$assignments_control_limits["n"]."<a></u></td>
<td class='font11' align='center'><b><span style='color:".$rating_color_s.";'>".number_format($assignments_control_limits["std"],2)."</span></b></td>
<td class='font11' align='center'>".number_format($dep_average,2)."</td>
<td class='font11' align='center'>".number_format($dep_std,2)."</td>
<td class='font11' align='center'>".number_format(($ucl>5 ? 5 : $ucl),2)."</td>
<td class='font11' align='center'>".number_format(($lcl<1 ? 1 : $lcl),2)."</td>
</tr>";
$eval_graph_data.="{name: 'Διδάσκων: <b>".$assignments_control_limits['name']." </b><br />Μάθημα: <b>".$assignments_control_limits['title']."</b><br />Πλήθος ερωτηματολογίων: <b>".$assignments_control_limits['no_questionnaires']."</b>', y: ".number_format($assignments_control_limits['rating'],2).", lim: '<i>Άνω όριο ελέγχου:</i> ".number_format($ucl,2)."<br><i>Κάτω όριο ελέγχου:</i> ".number_format($lcl,2)."', url: '?action=manageunitevaluations&id_user=".$assignments_control_limits['id_user']."&id_unit=".$id_unit."&semester=".$semester."', fillColor: '".$rating_color."', color: '".$rating_color."'},";
$eval_graph_data_limits.="{name: 'Όριο ελέγχου', type: 'area', data: [
{name: 'Διδάσκων: <b>".$assignments_control_limits['name']." </b><br />Μάθημα: <b>".$assignments_control_limits['title']."</b>', x: ".($i-1.4).", y: ".number_format($ucl,2)."},
{name: 'Διδάσκων: <b>".$assignments_control_limits['name']." </b><br />Μάθημα: <b>".$assignments_control_limits['title']."</b>', x: ".($i-0.6).", y: ".number_format($ucl,2)."},
{name: 'Διδάσκων: <b>".$assignments_control_limits['name']." </b><br />Μάθημα: <b>".$assignments_control_limits['title']."</b>', x: ".($i-0.6).", y: ".number_format($lcl,2)."},
{name: 'Διδάσκων: <b>".$assignments_control_limits['name']." </b><br />Μάθημα: <b>".$assignments_control_limits['title']."</b>', x: ".($i-1.4).", y: ".number_format($lcl,2)."}]}, ";
$eval_graph_data_s.="{name: 'Διδάσκων: <b>".$assignments_control_limits['name']." </b><br />Μάθημα: <b>".$assignments_control_limits['title']."</b><br />Πλήθος ερωτηματολογίων: <b>".$assignments_control_limits['no_questionnaires']."</b>', y: ".number_format($assignments_control_limits['std'],2).", lim: '<i>Άνω όριο ελέγχου:</i> ".number_format($ucl_s,2)."<br><i>Κάτω όριο ελέγχου:</i> ".number_format($lcl_s,2)."', url: '?action=manageunitevaluations&id_user=".$assignments_control_limits['id_user']."&id_unit=".$id_unit."&semester=".$semester."', fillColor: '".$rating_color_s."', color: '".$rating_color_s."'},";
$eval_graph_data_limits_s.="{name: 'Όριο ελέγχου', type: 'area', data: [
{name: 'Διδάσκων: <b>".$assignments_control_limits['name']." </b><br />Μάθημα: <b>".$assignments_control_limits['title']."</b>', x: ".($i-1.4).", y: ".number_format($ucl_s,2)."},
{name: 'Διδάσκων: <b>".$assignments_control_limits['name']." </b><br />Μάθημα: <b>".$assignments_control_limits['title']."</b>', x: ".($i-0.6).", y: ".number_format($ucl_s,2)."},
{name: 'Διδάσκων: <b>".$assignments_control_limits['name']." </b><br />Μάθημα: <b>".$assignments_control_limits['title']."</b>', x: ".($i-0.6).", y: ".number_format($lcl_s,2)."},
{name: 'Διδάσκων: <b>".$assignments_control_limits['name']." </b><br />Μάθημα: <b>".$assignments_control_limits['title']."</b>', x: ".($i-1.4).", y: ".number_format($lcl_s,2)."}]}, ";
$i++;
}
//TABLE SORTABLE
$_SESSION['content'].="
</tbody></table>
<script>
$(document).ready(function() {
oTable4 = $('#comptcontrollimits').dataTable({
'bJQueryUI': true,
'bPaginate': false,
'oLanguage': {
'sUrl': 'js/codes.txt'
},
'bStateSave': false,
'aoColumns': [
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': false},
{'bSortable': false},
{'bSortable': false},
{'bSortable': false}
]
});
} );
</script>
<br /><br /><br />
<script type='text/javascript'>
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container4',
zoomType: 'xy',
defaultSeriesType: 'scatter'
},
title: {
text: 'Διάγραμμα ελέγχου μέσης τιμής χαρακτηριστικού ποιότητας (x control chart) - Ερώτηση: #".$id_question."',
style: {
fontSize: '13px',
fontWeight: 'bold'
}
},
subtitle: {
text: '".unit_id_to_name($id_unit)."<br/>".semester_id_to_text($semester)."'
},
xAxis: {
categories: [],
title: {
text: 'Αναθέσεις'
},
labels: {
enabled: true,
formatter: function() {
return this.value+1;
}
}
},
yAxis: {
min: ".($graph_min).",
title: {
text: 'Βαθμολογία (1-5)',
align: 'high'
},
plotBands: [{
color: '#6D86BF',
width: 1,
value: ".$dep_average.",
zIndex: 4,
label: {
text: 'Κεντρική γραμμή Χ: <b>".number_format($dep_average,2)."</b>',
verticalAlign: 'middle',
textAlign: 'left',
rotation: 0,
align: 'left',
x: 5,
style: {color: '#000000', fontSize: '10px'}
}
}]
},
tooltip: {
formatter: function() {
return this.points[0].point.name+'<br />'+
'<span style=\"color:#527BAA\">'+ this.points[0].series.name +'</span>: <b>'+ this.points[0].point.y+'</b><br>'+this.points[0].point.lim;
},
snap: 5/10,
crosshairs: true,
shared: true
},
plotOptions: {
scatter: {
zIndex: 10,
marker: {
radius: 5,
lineColor: '#ffffff',
lineWidth: 1,
states: {
hover: {
enabled: true,
lineColor: '#ffffff',
fillColor: '#000000'
}
}
},
states: {
hover: {
marker: {
enabled: false
}
}
},
cursor: 'pointer',
point: {
events: {
click: function() {
//window.location=this.options.url;
}
}
}
},
area: {
enableMouseTracking: false,
lineWidth:0,
zIndex:1,
color: 'rgba(215, 215, 215, .1)'
}
},
legend: {
enabled: false
},
credits: {
enabled: false
},
series: [{
name: 'Μέση τιμή',
data: [".$eval_graph_data."]
},".$eval_graph_data_limits."]
});
});
</script>
<div id='container4' style='width: 99%; height: 500px; margin: 0 auto'></div>
<br /><hr><hr><br />
<script type='text/javascript'>
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container5',
zoomType: 'xy',
defaultSeriesType: 'scatter'
},
title: {
text: 'Διάγραμμα ελέγχου μέσης τιμής χαρακτηριστικού ποιότητας (s control chart) - Ερώτηση: #".$id_question."',
style: {
fontSize: '13px',
fontWeight: 'bold'
}
},
subtitle: {
text: '".unit_id_to_name($id_unit)."<br/>".semester_id_to_text($semester)."'
},
xAxis: {
categories: [],
title: {
text: 'Αναθέσεις'
},
labels: {
enabled: true,
formatter: function() {
return this.value+1;
}
}
},
yAxis: {
min: ".($graph_min_s-0.1).",
title: {
text: 'Τυπική Απόκλιση',
align: 'high'
},
plotBands: [{
color: '#6D86BF',
width: 1,
value: ".$dep_std.",
zIndex: 4,
label: {
text: 'Κεντρική γραμμή S: <b>".number_format($dep_std,2)."</b>',
verticalAlign: 'middle',
textAlign: 'left',
rotation: 0,
align: 'left',
x: 5,
style: {color: '#000000', fontSize: '10px'}
}
}]
},
tooltip: {
formatter: function() {
return this.points[0].point.name+'<br />'+
'<span style=\"color:#527BAA\">'+ this.points[0].series.name +'</span>: <b>'+ this.points[0].point.y+'</b><br>'+this.points[0].point.lim;
},
snap: 5/10,
crosshairs: true,
shared: true
},
plotOptions: {
scatter: {
zIndex: 10,
marker: {
radius: 5,
lineColor: '#ffffff',
lineWidth: 1,
states: {
hover: {
enabled: true,
lineColor: '#ffffff',
fillColor: '#000000'
}
}
},
states: {
hover: {
marker: {
enabled: false
}
}
},
cursor: 'pointer',
point: {
events: {
click: function() {
//window.location=this.options.url;
}
}
}
},
area: {
enableMouseTracking: false,
lineWidth:0,
zIndex:1,
color: 'rgba(215, 215, 215, .1)'
}
},
legend: {
enabled: false
},
credits: {
enabled: false
},
series: [{
name: 'Τυπική απόκλιση',
data: [".$eval_graph_data_s."]
},".$eval_graph_data_limits_s."]
});
});
</script>
<div id='container5' style='width: 99%; height: 500px; margin: 0 auto'></div>
</div> ";
*/ $_SESSION['content'].="
</div>
<script>
$(function() {
$( '#tabs' ).tabs({
cookie: {
// store cookie for a day, without, it would be a session cookie
expires: 1
}
});
});
</script>
<br />
<div align='center'>
<input type='button' value='<< Προηγούμενη Ερώτηση' class='form-reset' onclick=\"location.href='?action=viewunitevaluations&id_unit=".$id_unit."&qid=".$id_questionnaire."&n=".previous_question($id_questionnaire, $id_question)."&semester=".$semester."'\" />
<input type='button' value='Επόμενη Ερώτηση >>' class='form-reset' onclick=\"location.href='?action=viewunitevaluations&id_unit=".$id_unit."&qid=".$id_questionnaire."&n=".next_question($id_questionnaire, $id_question)."&semester=".$semester."'\" />
</div>
<br />
<div align='center'><input type='button' value='Επιστροφή στο Ερωτηματολόγιο' class='form-reset' onclick=\"location.href='?action=viewunitevaluations&id_unit=".$id_unit."&semester=".$semester."'\" /></div>
";
}
}
function view_questionnaire_progress($id_course_assignment){
if(!permission_exists("view_questionnaire_progress", $id_course_assignment)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
$owner=course_assignment_owner($id_course_assignment);
if ($owner==$_SESSION['user_logged']) {
$owned=1;
}
else {
$owned=0;
}
$assignment=mysql_fetch_array(query("
SELECT ca.id_class, co.title, co.exam, ru.name, cl.semester, co.coursecode, u.last_name, u.first_name, u.id, co.id_unit, ca.questionnaire_code FROM __course_assignments ca
INNER JOIN __classes cl ON cl.id=ca.id_class
INNER JOIN __courses co ON cl.id_course=co.id
INNER JOIN __relations r ON r.relation_chain = ca.relation_chain
INNER JOIN __users u ON u.id=r.id_user
INNER JOIN __units as ru ON co.id_unit=ru.id
WHERE ca.id='".$id_course_assignment."'"));
//Μόνο για ηλεκτρονικά
if(assignment_eval_method($id_course_assignment)!=2){
//$_SESSION['error_message']="Η αξιολόγηση αυτής της ανάθεσης δεν πραγματοποιείται με ηλ. ερωτηματολόγια.";
default_page();
return;
}
//Αν είμαστε πριν την έναρξη
//?????????
$date_range=mysql_fetch_array(mysql_query("SELECT startdate, expires FROM lime_surveys WHERE sid=".$assignment['questionnaire_code']));
$submitted_d=mysql_fetch_array(query("
SELECT count(*) as submitted FROM lime_tokens_".$assignment["questionnaire_code"]." WHERE completed='Y'
"));
$submitted=$submitted_d["submitted"];
$_SESSION['title']="Κατάσταση συμπλήρωσης ηλ. ερωτηματολογίου μαθήματος <b>".$assignment['title']."</b> - ".semester_id_to_text($assignment['semester'], 1);
$_SESSION['content']="
<table border='0' width='100%' cellpadding='0' cellspacing='0' id='custom-table'>
<tr valign='middle'>
<td class='celltint2' width=250px>Μάθημα: </td>
<td><b>".$assignment['title']."</b><br />".$assignment['name']."</td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Κωδικός Μαθήματος: </td>
<td>".$assignment['coursecode']."</td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Κωδικός Τάξης: </td>
<td>".$assignment['id_class']."</td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Τυπικό εξάμηνο: </td>
<td >".return_semester($assignment['exam'])."
</td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Εξάμηνο Αξιολόγησης: </td>
<td >".semester_id_to_text($assignment['semester'])."</td>
</tr>
<tr valign='middle'>
<td class='celltint2'>Περίοδος Αξιολόγησης: </td>
<td ><b>".date('d/m/Y',strtotime($date_range['startdate']))."</b> μέχρι <b>".date('d/m/Y',strtotime($date_range['expires']))."</b></td>
</tr>
";
if (!$owned) $_SESSION['content'].="
<tr valign='middle'>
<td class='celltint2'>Διδάσκων: </td>
<td>
<a title='Προβολή στοιχείων χρήστη ".$assignment['last_name']." ".$assignment['first_name']." σε νέο παράθυρο' class='info-tooltip' target='_blank' href='?action=viewuser&userid=".$assignment['id']."'>".$assignment['last_name']." ".$assignment['first_name']."</a></td>
</tr>";
$_SESSION['content'].="
<tr valign='middle'>
<td class='celltint2'>Συμπληρωμένα Ερωτηματολόγια: </td>
<td class='font18'><b>".($submitted==0 ? "-" : $submitted)."</b></td>
</tr>
</table>
<br />
";
$graph_data_d=query("SELECT submitdate FROM lime_survey_".$assignment["questionnaire_code"]." WHERE submitdate IS NOT NULL ORDER BY submitdate ASC");
$k=1;
$graph_time_data="";
while($graph_data_i=mysql_fetch_assoc($graph_data_d)) {
$graph_time_data.="{x: Date.UTC(".datetime('Y, m, d, H, i, s',$graph_data_i['submitdate'],'java')."), y: ".$k."}, ";
$k++;
}
if ($submitted>0)
$_SESSION['content'].= "
<script type='text/javascript'>
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
zoomType: 'x',
defaultSeriesType: 'area'
},
title: {
text: '".$assignment['title']."'
},
subtitle: {
text: '".$assignment['name']."<br /><b>".$assignment['last_name']." ".$assignment['first_name']."</b> - ".semester_id_to_text($assignment['semester'],1)."'
},
credits: {
enabled: false
},
xAxis: {
type: 'datetime',
dateTimeLabelFormats: {
second: '%H:%M:%S',
minute: '%H:%M<br/>%d/%m/%y',
hour: '%H:%M<br/>%d/%m/%Y',
day: '%d/%m<br/>%Y',
week: '%d/%m<br/>%Y',
month: '%m/%Y',
year: '%Y'
},
endOnTick: false,
showLastLabel: true,
startOnTick: false,
maxZoom: 3600000,
plotBands: [{
color: '#55dd55',
width: 1,
value: Date.UTC(2012, 05, 18, 00, 00),
zIndex: 10,
label: {
text: 'Λήξη Αξιολόγησης',
verticalAlign: 'middle',
textAlign: 'left',
rotation: -90,
x: -6,
style: {color: '#888888'}
}
},{
color: '#55dd55',
width: 1,
value: Date.UTC(2012, 04, 07, 00, 00),
zIndex: 10,
label: {
text: 'Έναρξη αξιολόγησης',
verticalAlign: 'middle',
textAlign: 'center',
rotation: -90,
x: 12,
style: {color: '#888888'}
}
}]
},
yAxis: {
title: {
text: 'Συμπληρωμένα ερωτηματολόγια'
},
min: 0
},
tooltip: {
formatter: function() {
return '<b>Ημ. και ώρα υποβολής</b>: '+
Highcharts.dateFormat('%A, %d/%m/%Y - %H:%M:%S', this.x) +'<br /><span style=\"color:'+this.series.color+'\">Σύνολο ερωτηματολογίων:</span> <b>'+ this.y +'</b>';
},
crosshairs: true
},
legend: {
enabled: false
},
series: [{
name: 'Συμπληρωμένα ερωτηματολόγια',
data: [".$graph_time_data."]
}]
});
});
</script>
<div id='container' style='width:100%; height:500px;'></div>
<br /><br />
<div align='center'>";
if(permission_exists("manage_unit_questionnaire_progress", course_assignment_to_unit($id_course_assignment))) $_SESSION['content'].="<input type='button' value='Επιστροφή στο τμήμα' class='form-reset' onclick=\"location.href='?action=manageunitquestionnaireprogress&id_unit=".$assignment['id_unit']."'\"/> ";
if($owned){
$_SESSION['content'].="<input type='button' value='Επιστροφή' class='form-reset' onclick=\"location.href='?action=manageuserquestionnaireprogress'\" />";
}else{
$_SESSION['content'].="<input type='button' value='Επιστροφή στο διδάσκοντα' class='form-reset' onclick=\"location.href='?action=manageuserquestionnaireprogress&id_user=".$owner."'\" />";
}
$_SESSION['content'].="</div>";
}
function manage_unit_questionnaire_progress($id_unit) {
if(!permission_exists("manage_unit_questionnaire_progress", $id_unit)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
//μόνο για το τρέχον εξάμηνο αφού θα καταργούμε τους πίνακες του lime survey όταν εξάγουμε τις απαντήσεις
$semester=current_semester();
$_SESSION['title']="Κατάσταση συμπλήρωσης ηλ. ερωτηματολογίων <b>".unit_id_to_name_gen($id_unit)."</b> - ".semester_id_to_text($semester, 1);
$assignments_d=query("SELECT courses.title, courses.exam, users.first_name, users.last_name, courses.coursecode, assignments.questionnaire_code, classes.id, assignments.id as caid
FROM __course_assignments AS assignments
INNER JOIN __relations AS relations ON relations.relation_chain=assignments.relation_chain
INNER JOIN __users AS users ON users.id=relations.id_user
INNER JOIN __classes AS classes ON assignments.id_class=classes.id
INNER JOIN __courses AS courses ON classes.id_course=courses.id
WHERE courses.id_unit='".$id_unit."' AND classes.semester='".$semester."' AND assignments.eval_method=2
ORDER BY courses.exam ASC, courses.title ASC, users.last_name ASC, users.first_name ASC");
$_SESSION['content']="
<table border='0' width='100%' height='50px' cellpadding='0' cellspacing='0' id='custom-table'>
<tr valign='middle'>
<td class='celltint2' width=50%>Σύνολο αναθέσεων που αξιολογούνται με ηλ. ερωτηματολόγια: </td>
<td class='font14' align=center>".mysql_num_rows($assignments_d)."</td>
</tr>
</table>
<div style='float:left; margin-bottom:10px;'>
<table width=100%>
<tr>
<td width=25px><img align='left' src='themes/".CURRENT_TEMPLATE."/images/forms/help.png' /> </td>
<td><span class='description'> Για να δείτε την πρόοδο συμπλήρωσης μιας ανάθεσης, κάντε κλικ στην αντίστοιχη γραμμή του πίνακα.</span></td>
</tr>
</table>
</div>
<br />
";
$i=1;
if(mysql_num_rows($assignments_d)==0){
$_SESSION['content'].="<div class='no-records'>Δεν υπάρχουν αναθέσεις που αξιολογήθηκαν με ηλεκτρονικά ερωτηματολόγια στο ".semester_id_to_text($semester,1)."</div>";
}else{
$_SESSION['content'].="<table border='0' width='100%' cellpadding='0' cellspacing='0' class='product-table' id='questionnairecodes'>
<thead>
<tr class='header'>
<th class='table-header'>Α/Α</th>
<th class='table-header'><a title='Τίτλος Μαθήματος<br />(σύμφωνα με το egram)' class='info-tooltip'>Τίτλος Μαθήματος</a></th>
<th class='table-header'><a title='Τυπικό Εξάμηνο Διδασκαλίας' class='info-tooltip' >Εξ.</a></th>
<th class='table-header'><a title='Κωδικός Μαθήματος<br />(σύμφωνα με το egram)' class='info-tooltip' >Κωδ. Μαθ.</a></th>
<th class='table-header'><a title='Διδάσκων μαθήματος' class='info-tooltip'>Διδάσκων</a></th>
<th class='table-header'><a title='Ερωτηματολόγια που έχουν συμπληρωθεί' class='info-tooltip'>Ερ.</a></th>
</tr>
</thead>
<tbody>";
while($assignments_i=mysql_fetch_array($assignments_d)) {
$submitted_d=mysql_fetch_array(query("
SELECT count(completed) as submitted FROM lime_tokens_".$assignments_i["questionnaire_code"]." WHERE completed='Y'
"));
$submitted=$submitted_d["submitted"];
$_SESSION['content'].="
<tr style='cursor:pointer;' onclick=\"location.href='?action=viewquestionnaireprogress&id_course_assignment=".$assignments_i['caid']."'\">
<td align='center' style='font-size:10px;'>".$i."</td>
<td>".$assignments_i['title']."</td>
<td align='center'><span style='font-size:10px;'>";
$_SESSION['content'].=return_semester($assignments_i['exam']);
$_SESSION['content'].="</span></td>
<td align='center'><span style='font-size:11px; cursor:default;'><a title='Κωδικός τάξης: ".$assignments_i['id']."' class='info-tooltip'>".$assignments_i['coursecode']."</a></span></td>
<td>".$assignments_i['last_name']." ".$assignments_i['first_name']." </td>
<td align=center>".($submitted==0 ? "-" : $submitted)." </td>
</tr>
";
$i++;
}
//TABLE SORTABLE
$_SESSION['content'].="</tbody></table>
<script>
$(document).ready(function() {
oTable2 = $('#questionnairecodes').dataTable({
'bJQueryUI': true,
'bPaginate': false,
'oLanguage': {
'sUrl': 'js/codes.txt'
},
'bStateSave': true,
'aoColumns': [
{'bSortable': true},
{'bSortable': true},
{'bSortable': true},
{'bSortable': false},
{'bSortable': true},
{'bSortable': true}
]
});
} );
</script>
";
}
}
function manage_user_questionnaire_progress($id_user) {
if($id_user==NULL) $id_user=$_SESSION['user_logged'];
if(!permission_exists("manage_user_questionnaire_progress", $id_user)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
$semester=current_semester();
if($id_user==$_SESSION['user_logged']) $_SESSION['title']="Πρόοδος συμπλήρωσης ηλ. ερωτηματολογίων των μαθημάτων μου<br /><b>".semester_id_to_text($semester,1)."</b>";
else $_SESSION['title']="Πρόοδος συμπλήρωσης ηλ. ερωτηματολογίων αναθέσεων χρήστη<br /><b>".user_id_to_fullname($id_user)."</b> - ".semester_id_to_text($semester,1);
$course_assignments_d=query("SELECT ca.id, co.title, co.exam, co.coursecode, ru.name as dep_name, cl.semester, co.id_unit
FROM __course_assignments ca
INNER JOIN __classes cl ON cl.id=ca.id_class
INNER JOIN __courses co ON cl.id_course=co.id
INNER JOIN __relations r ON r.relation_chain = ca.relation_chain
INNER JOIN __units as ru ON co.id_unit=ru.id
WHERE r.id_user='".$id_user."' AND ca.eval_method=2 AND cl.semester=".$semester."
ORDER BY dep_name, exam, title");
$_SESSION['content']="
<table border='0' width='100%' cellpadding='0' cellspacing='0' id='product-table'>
<tr>
<th class='table-header-check' style='width:30px;'><a href='#'>Α/Α</a></th>
<th class='table-header-repeat line-left'><a href='#'>Τμήμα</a></th>
<th class='table-header-repeat line-left'><a href='#'>Τίτλος Μαθήματος</a></th>
<th class='table-header-repeat line-left' style='text-align:center!important;'><a href='#'>Κωδικός Μαθήματος</a></th>
<th class='table-header-options line-left' style='text-align:center!important;'><a title='Τυπικό Εξάμηνο Διδασκαλίας Μαθήματος' class='info-tooltip' href='#'>Εξάμηνο Μαθήματος</a></th>
</tr>";
$alternate='1';
$i=1;
while($course_assignments_i=mysql_fetch_array($course_assignments_d)) {
if(!permission_exists("manage_unit_questionnaire_progress", $course_assignments_i['id_unit']) && !permission_exists("manage_user_questionnaire_progress", $id_user)) continue;
$_SESSION['content'].="
<tr style='cursor:pointer;'".($alternate=="-1" ? " class='alternate-row'" : "")." onclick=\"location.href='?action=viewquestionnaireprogress&id_course_assignment=".$course_assignments_i['id']."'\">
<td align=center>".$i."</td>
<td>".$course_assignments_i['dep_name']."</td>
<td>".$course_assignments_i['title']."</td>
<td align=center>".$course_assignments_i['coursecode']."</td>
<td align=center>".return_semester($course_assignments_i['exam'])."</td>
</tr>";
$alternate*="-1";
$i++;
}
if($i==1)$_SESSION['content'].="<tr><td colspan=5 align=center>Δεν έχετε αναθέσεις που αξιολογούνται με ηλ. ερωτηματολόγια.</td></tr>";
$_SESSION['content'].="</table>
";
}
//ΔΕΝ ΧΡΗΣΙΜΟΠΟΙΕΙΤΑΙ. Ή ΒΕΛΤΙΩΣΗ Ή ΑΛΛΙΩΣ ΠΕΤΑΜΑ!
function view_answers($id_unit, $questionnaire_code, $id_question, $semester) {
if(!permission_exists("view_unit_evaluations", $id_unit)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
if(semester_data($semester)==0) $semester=current_semester();
$semester_data_i=semester_data($semester);
$_SESSION['title']="Απαντήσεις στην ερώτηση ".$id_question." της ανάθεσης ".$questionnaire_code." στο ".unit_id_to_name_gen($id_unit)." - <b>".semester_id_to_text($semester)."</b>";
$answers_0_d=mysql_fetch_array(query("SELECT count(q".$id_question.") as count FROM __answers a WHERE q".$id_question."=0 AND a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.questionnaire_code='".$questionnaire_code."'"));
$answers_1_d=mysql_fetch_array(query("SELECT count(q".$id_question.") as count FROM __answers a WHERE q".$id_question."=1 AND a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.questionnaire_code='".$questionnaire_code."'"));
$answers_2_d=mysql_fetch_array(query("SELECT count(q".$id_question.") as count FROM __answers a WHERE q".$id_question."=2 AND a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.questionnaire_code='".$questionnaire_code."'"));
$answers_3_d=mysql_fetch_array(query("SELECT count(q".$id_question.") as count FROM __answers a WHERE q".$id_question."=3 AND a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.questionnaire_code='".$questionnaire_code."'"));
$answers_4_d=mysql_fetch_array(query("SELECT count(q".$id_question.") as count FROM __answers a WHERE q".$id_question."=4 AND a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.questionnaire_code='".$questionnaire_code."'"));
$answers_5_d=mysql_fetch_array(query("SELECT count(q".$id_question.") as count FROM __answers a WHERE q".$id_question."=5 AND a.semester='".$semester."' AND a.id_unit='".$id_unit."' AND a.questionnaire_code='".$questionnaire_code."'"));
$answers_0=$answers_0_d['count'];
$answers_1=$answers_1_d['count'];
$answers_2=$answers_2_d['count'];
$answers_3=$answers_3_d['count'];
$answers_4=$answers_4_d['count'];
$answers_5=$answers_5_d['count'];
}
?>