locallib.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace gradeimporter{
  3. class feedback {
  4. public static function get_comments($cmid, $id) {
  5. global $DB, $USER, $CFG;
  6. $tp = $CFG->prefix; // gets moodle tables prefix, not everyone uses mdl_
  7. $sql = "
  8. SELECT gf.id gf_id,
  9. gf.grade,
  10. gf.comment,
  11. gf.contextid gf_contextid,
  12. gf.fileid gf_fileid,
  13. gf.name gf_name,
  14. gs.name gs_name,
  15. gs.description gs_description,
  16. gst.name gst_name,
  17. gst.description gst_description,
  18. fileid
  19. FROM ".$tp."gradeimporter_feedback gf
  20. JOIN ".$tp."gradeimporter_submission gs
  21. ON gf.submissionid = gs.id
  22. JOIN ".$tp."gradeimporter_submissiontype gst
  23. ON gs.type = gst.id
  24. WHERE gf.studentid = ?";
  25. $comments = array();
  26. $records = $DB->get_records_sql($sql, array('studentid'=>$USER->id));
  27. $data = array();
  28. if (count($records)) {
  29. foreach ($records as $key => $value) {
  30. if (!array_key_exists($value->gst_name, $data)) $data[$value->gst_name] = array();
  31. $fileurl = buildurl ($cmid, $id, $value->gf_id, $value->gf_name);
  32. $data[$value->gst_name][] = array($value->gs_name, $value->grade, $fileurl);
  33. //$data[$value->gst_name][] = array($value->gs_name, $value->grade, $value->fileid);
  34. }
  35. }
  36. return $data;
  37. }
  38. }
  39. }
  40. namespace{
  41. require_once($CFG->libdir.'/filelib.php');
  42. require_once("$CFG->libdir/csvlib.class.php");
  43. function buildurl($cmid, $id, $fileid, $filename){
  44. $fileurl = new moodle_url("/mod/gradeimporter/view.php", array('cmid'=>$cmid, 'id'=>$id, 'fileid'=>$fileid, 'filename'=>$filename, 'action'=>1));
  45. return "<a href=$fileurl> $filename</a>";
  46. /*$fs = get_file_storage();
  47. $file = $fs->get_file($contextid, 'mod_gradeimporter', 'gradeimporter_feedback', $fileid, '/', $filename);
  48. if ($file){
  49. send_stored_file($file, 86400, 0, true);
  50. }
  51. return moodle_url::make_pluginfile_url($contextid, 'mod_gradeimporter', 'gradeimporter_feedback', $fileid, '/', $filename, $forcedownload);*/
  52. }
  53. function exportCSV($context){
  54. $enrolledusers = get_enrolled_users ($context, 'mod/gradeimporter:student');
  55. $data = array();
  56. $header = array('id', 'name', 'email', 'grade', 'comment', 'file');
  57. $csvexport = new csv_export_writer();
  58. $csvexport->set_filename('config');
  59. $csvexport->add_data($header);
  60. foreach ($enrolledusers as $value){
  61. $name = $value->firstname.' '.$value->lastname;
  62. $studententry = array($value->id, $name, $value->email,'','','');
  63. $csvexport->add_data($studententry);
  64. }
  65. $csvexport->download_file();
  66. //$dlfile = $csvexporter->download_array('config', $data);
  67. }
  68. }