123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <?php
- function get_comments($cmid, $id){
- global $DB, $USER, $CFG;
- $tp = $CFG->prefix;
- $sql = "
- SELECT gf.id gf_id,
- gf.grade,
- gf.comment gf_comment,
- gf.contextid gf_contextid,
- gf.fileid gf_fileid,
- gf.name gf_name,
- gs.name gs_name,
- gs.description gs_description,
- gst.name gst_name,
- gst.description gst_description,
- fileid
- FROM ".$tp."gradeimporter_feedback gf
- JOIN ".$tp."gradeimporter_submission gs
- ON gf.submissionid = gs.id
- JOIN ".$tp."gradeimporter_submissiontype gst
- ON gs.type = gst.id
- WHERE gf.studentid = ?";
- $records = $DB->get_records_sql($sql, array('studentid' => $USER->id));
- $data = array();
- if (count($records)) {
- foreach ($records as $value) {
- if (!array_key_exists($value->gst_name, $data)) $data[$value->gst_name] = array();
- $fileurl = buildurl($cmid, $value->gf_id, $value->gf_name);
- $data[$value->gst_name][] = array($value->gs_name, $value->grade, $value->gf_comment, $fileurl);
- }
- }
- return $data;
- }
- function get_teacher_view($cmid, $gradeimporterid, $enrolledusers){
- global $DB, $CFG;
-
- $tp = $CFG->prefix;
- $table = new html_table();
- $table->attributes['class'] = 'generaltable mod_index';
- $table->align = array();
-
-
- $subrow = array(get_string('nameCol', 'gradeimporter'));
- $table->align[] = 'center';
- $submissionsSQL = "SELECT id, name
- FROM mdl_gradeimporter_submission
- WHERE gradeimporterid = 1
- ORDER BY id";
- $submissions = $DB->get_records_sql($submissionsSQL);
- foreach ($submissions as $submission){
- $subrow[] = $submission->name;
- $table->align[] = 'center';
- }
- $table->head = $subrow;
-
-
-
- $sql = " SELECT gs.id gs_id,
- gs.gradeimporterid gs_gradeimporterid,
- gs.type gs_type,
- gs.name gs_name,
- gst.name gst_name,
- gf.id gf_id,
- gf.studentid gf_studentid,
- gf.grade gf_grade,
- gf.fileid gf_fileid,
- gf.contextid gf_contextid,
- gf.name gf_name,
- user.firstname user_firstname,
- user.lastname user_lastname
- FROM ".$tp."gradeimporter_feedback gf
- JOIN ".$tp."user user
- ON user.id = gf.studentid
- JOIN ".$tp."gradeimporter_submission gs
- ON gs.id = gf.submissionid
- JOIN ".$tp."gradeimporter_submissiontype gst
- ON gst.id = gs.type
- WHERE gs.gradeimporterid = $gradeimporterid
- ORDER BY user.firstname, user.lastname, gs.id, gf.id";
- $records = $DB->get_recordset_sql($sql);
-
- $usersList = array();
- foreach ($enrolledusers as $user){
- $usersList[$user->id] = array('name'=>$user->firstname." ".$user->lastname);
- }
- ksort($usersList);
- foreach ($records as $record){
- echo "passou userid $record->gf_studentid fileid $record->gf_fileid <br>";
- $url = buildurl($cmid, $record->gf_id, $record->gf_name);
- $usersList[$record->gf_studentid][$record->gs_id] = array('grade'=>$record->gf_grade, 'file'=>$url);
- }
-
- foreach($usersList as $user){
- $row = new html_table_row();
- $cell = new html_table_cell($user['name']);
- $row->cells[] = $cell;
- foreach ($submissions as $submission){
- if (array_key_exists($submission->id, $user)){
- $url = $user[$submission->id]['file'];
- $grade = $user[$submission->id]['grade'];
- } else{
- $url = '-';
- $grade = '-';
- }
- $cell = new html_table_cell ($grade);
- $row->cells[] = $cell;
- $cell = new html_table_cell ($url);
- $row->cells[] = $cell;
- }
- $table->data[] = $row;
- }
-
-
-
-
- echo html_writer::table($table);
- }
- require_once($CFG->libdir . '/filelib.php');
- require_once("$CFG->libdir/csvlib.class.php");
- function buildurl($cmid, $fileid, $filename){
- $fileurl = new moodle_url("/mod/gradeimporter/view.php", array('id' => $cmid, 'fileid' => $fileid, 'filename' => $filename, 'action' => 1));
- return "<a href=$fileurl> $filename</a>";
- }
- function exportCSV($context){
- $enrolledusers = get_enrolled_users($context, 'mod/gradeimporter:student');
- $header = array('id', 'name', 'email', 'grade', 'comment', 'file');
- $csvexport = new csv_export_writer();
- $csvexport->set_filename('config');
- $csvexport->add_data($header);
- foreach ($enrolledusers as $value) {
- $name = $value->firstname . ' ' . $value->lastname;
- $studententry = array($value->id, $name, $value->email, '', '', '');
- $csvexport->add_data($studententry);
- }
- $csvexport->download_file();
-
- }
|