semanas==0)?7:$semanas->semanas):$_POST['numerosemanas']; Database::query("REPLACE INTO $table_semanas_curso (course_code , semanas) VALUES ('$course_code','$numero_semanas')"); if(intval($obj->cant) != $numero_semanas){ if(intval($obj->cant) > $numero_semanas){ $sql ="DELETE FROM $table_reporte_semanas WHERE week_id > $numero_semanas AND course_code = '$course_code'"; Database::query("DELETE FROM $table_reporte_semanas WHERE week_id > $numero_semanas AND course_code = '$course_code'"); }else{ for ($i = $obj->cant+1 ; $i <= $numero_semanas ; $i++){ if(!Database::query("INSERT INTO $table_reporte_semanas (week_id,course_code,forum_id,work_id,quiz_id,pc_id) VALUES ('$i','$course_code','0','0','0','0' )")){ return false; } } } } $sql = "REPLACE INTO $table_students_report (user_id,week_report_id, work_ok , thread_ok , quiz_ok , pc_ok) SELECT cu.user_id, rs.id, 0, 0, 0, 0 FROM $table_course_rel_user cu LEFT JOIN $table_reporte_semanas rs ON cu.course_code = rs.course_code WHERE cu.status = '5' AND rs.course_code = '$course_code' ORDER BY cu.user_id, rs.id"; if(!Database::query($sql)){ return false; }else{ $pagina = (!isset($_GET['page']))?1:$_GET['page']; Database::query("UPDATE $table_students_report sr SET sr.work_ok = 1 WHERE CONCAT (sr.user_id,',',sr.week_report_id) IN (SELECT DISTINCT CONCAT(w.user_id,',',rs.id) FROM $table_work w JOIN $table_reporte_semanas rs ON w.parent_id = rs.work_id)"); Database::query("UPDATE $table_students_report sr SET sr.thread_ok = 1 WHERE CONCAT (sr.user_id,',',sr.week_report_id) IN (SELECT DISTINCT CONCAT(f.poster_id,',',rs.id) FROM $table_post f JOIN $table_reporte_semanas rs ON f.thread_id = rs.forum_id)"); return mostrarResultados($course_info,$numero_semanas,$pagina); } } function mostrarResultados($course_info,$numero_semanas, $pagina){ $course_code = $course_info['code']; $table_reporte_semanas = Database::get_main_table('rp_reporte_semanas'); $table_students_report = Database::get_main_table('rp_students_report'); $table_course_rel_user = Database::get_main_table(TABLE_MAIN_COURSE_USER); $table_user = Database::get_main_table(TABLE_MAIN_USER ); $table_thread = Database::get_course_table(TABLE_FORUM_THREAD, $course_info['dbName']); $table_work = Database::get_course_table(TABLE_STUDENT_PUBLICATION, $course_info['dbName']); $resultados = array(); $table_export = array(); $sql_encabezado = "SELECT rs.id as id,rs.week_id, w.title AS work_title, t.thread_title ,'EVALUACION' as eval_title ,'QUIZ' as pc_title FROM $table_reporte_semanas rs LEFT JOIN $table_thread t ON t.thread_id = rs.forum_id LEFT JOIN $table_work w ON w.id = rs.work_id WHERE rs.course_code = '$course_code' ORDER BY rs.week_id"; $result_encabezado = Database::query($sql_encabezado) ; $ids = array(); $fila = ' '; $fila_export_encabezado = array(null,null); $fila_export_encabezado2 = array(null,ull); while ($rowe = Database::fetch_assoc($result_encabezado)){ $fila_export_encabezado[] = utf8_decode('Tarea'.$rowe['week_id']); $fila_export_encabezado[] = utf8_decode('Foro'.$rowe['week_id']); //$fila_export_encabezado[] = utf8_decode('Eval'.$rowe['week_id']); //$fila_export_encabezado[] = utf8_decode('PC'.$rowe['week_id']); $fila_export_encabezado2[] = utf8_decode($rowe['work_title']); $fila_export_encabezado2[] = utf8_decode($rowe['thread_title']); //$fila_export_encabezado2[] = utf8_decode($rowe['eval_title']); //$fila_export_encabezado2[] = utf8_decode($rowe['pc_title']); $fila_export = array('Tarea'.$rowe['week_id'],'Foro'.$rowe['week_id'],'Eval'.$rowe['week_id'],'PC'.$rowe['week_id']); if ($rowe['week_id'] > (($pagina-1)*7) && $rowe['week_id'] <= (7*$pagina)){ $ids[$rowe['week_id']] = $rowe['id']; $fila.=' Tarea'.$rowe['week_id'].'
'.$rowe['work_title'].'
'; $fila.= ' Foro'.$rowe['week_id'].'
'.$rowe['thread_title'].'
'; /*$fila.= ' Eval'.$rowe['week_id'].'
'.$rowe['eval_title'].'
'; $fila.= ' PC'.$rowe['week_id'].'
'.$rowe['pc_title'].'
';*/ } } $table_export[] = $fila_export_encabezado; $table_export[] = $fila_export_encabezado2; $fila.= ''; $html = '
Seleccione cantidad de semanas: '; if($numero_semanas == 14) { $html .= ''.(($pagina == 1)?"Siguiente":"Anterior").''; } $html .= ''.Display::return_icon('import_excel.png',get_lang('Export'),'','32').''; $html .= ''; $html .= ''; $html .= ''; for ($i=(7*$pagina-6); $i <= $pagina*7;$i++){ $html .= ''; } $html .= ''; $html .= $fila; $sql = "SELECT u.username , u.user_id , CONCAT(u.lastname,' ', u.firstname ) as fullname , rs.week_id , sr.work_ok ,sr.thread_ok , sr.quiz_ok , sr.pc_ok , rs.course_code FROM $table_students_report sr JOIN $table_reporte_semanas rs ON sr.week_report_id = rs.id JOIN $table_user u ON u.user_id = sr.user_id WHERE rs.course_code = '$course_code' ORDER BY u.lastname , u.username , rs.week_id "; $result = Database::query($sql); while ($row = Database::fetch_assoc($result)){ $resultadose[$row['username']][$row['week_id']] = $row; if ($row['week_id'] > (($pagina-1)*7) && $row['week_id'] <= (7*$pagina) ){ $resultados[$row['username']][$row['week_id']] = $row; if(count($resultados[$row['username']]) == 7 ){ $html.= mostrarResultadoAlumno($resultados[$row['username']],$pagina); } } if(count($resultadose[$row['username']]) == $numero_semanas ){ $table_export[] = mostrarResultadoAlumnoExportar($resultadose[$row['username']],$numero_semanas); } } $html .= '
Semana '.$i.''.Display::return_icon('edit.png', get_lang('Edit'), array('width'=>'16','height'=>'16'), 22).'
'; return array('mostrar'=>$html,'exportar'=>$table_export); } function mostrarResultadoAlumno($datos,$pagina){ $inicio = (7*$pagina-6); $fila = ''; $fila.= ''.$datos[$inicio]['username'].''; foreach ($datos as $dato){ $fila.= ''.(($dato['work_ok']==1)?Display::return_icon('check.png'):Display::return_icon('aspa.png')).''; $fila.= ''.(($dato['thread_ok']==1)?Display::return_icon('check.png'):Display::return_icon('aspa.png')).''; //$fila.= ''.(($dato['quiz_ok']==1)?Display::return_icon('check.png'):Display::return_icon('aspa.png')).''; //$fila.= ''.(($dato['pc_ok']==1)?Display::return_icon('check.png'):Display::return_icon('aspa.png')).''; } $fila.= ''; return $fila; } function mostrarResultadoAlumnoExportar($datos ,$numero_semanas){ $fila = array(); $fila[] = utf8_decode($datos[1]['username']); $fila[]= utf8_decode($datos[1]['fullname']); foreach ($datos as $dato){ //if ($datos['week_id'] < $numero_semanas){ $fila[]= ($dato['work_ok']==1)?"SI":"NO"; $fila[]= ($dato['thread_ok']==1)?"SI":"NO"; //$fila[]= ($dato['quiz_ok']==1)?"SI":"NO"; //$fila[]= ($dato['pc_ok']==1)?"SI":"NO"; //} } return $fila; } ?>