locallib.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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 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, $value->gf_comment, $fileurl);
  33. }
  34. }
  35. return $data;
  36. }
  37. }
  38. }
  39. namespace{
  40. require_once($CFG->libdir.'/filelib.php');
  41. require_once("$CFG->libdir/csvlib.class.php");
  42. function buildurl($cmid, $id, $fileid, $filename){
  43. $fileurl = new moodle_url("/mod/gradeimporter/view.php", array('cmid'=>$cmid, 'id'=>$id, 'fileid'=>$fileid, 'filename'=>$filename, 'action'=>1));
  44. return "<a href=$fileurl> $filename</a>";
  45. /*$fs = get_file_storage();
  46. $file = $fs->get_file($contextid, 'mod_gradeimporter', 'gradeimporter_feedback', $fileid, '/', $filename);
  47. if ($file){
  48. send_stored_file($file, 86400, 0, true);
  49. }
  50. return moodle_url::make_pluginfile_url($contextid, 'mod_gradeimporter', 'gradeimporter_feedback', $fileid, '/', $filename, $forcedownload);*/
  51. }
  52. function exportCSV($context){
  53. $enrolledusers = get_enrolled_users ($context, 'mod/gradeimporter:student');
  54. $data = array();
  55. $header = array('id', 'name', 'email', 'grade', 'comment', 'file');
  56. $csvexport = new csv_export_writer();
  57. $csvexport->set_filename('config');
  58. $csvexport->add_data($header);
  59. foreach ($enrolledusers as $value){
  60. $name = $value->firstname.' '.$value->lastname;
  61. $studententry = array($value->id, $name, $value->email,'','','');
  62. $csvexport->add_data($studententry);
  63. }
  64. $csvexport->download_file();
  65. //$dlfile = $csvexporter->download_array('config', $data);
  66. }
  67. }