| 
					
				 | 
			
			
				@@ -1,51 +1,86 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <?php 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-namespace gradeimporter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-class feedback { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static function get_comments() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        global $DB, $USER, $CFG; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $tp = $CFG->prefix; // gets moodle tables prefix, not everyone uses mdl_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $sql = " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        SELECT gf.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               gf.grade, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               gf.comment, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               gf.contextid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               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 = ?"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $comments = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $records = $DB->get_records_sql($sql, array('studentid'=>$USER->id)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $data = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (count($records)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          foreach ($records as $key => $value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!array_key_exists($value->gst_name, $data)) $data[$value->gst_name] = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              //$fileurl = moodle_url::make_pluginfile_url($value->gf_contextid, 'mod_gradeimporter', 'gradeimporter_feedback', $value->gf_submissionid, '/', $value->gf_filename, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              $data[$value->gst_name][] = array($value->gs_name, $value->grade, $value->gf_name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              //$data[$value->gst_name][] = array($value->gs_name, $value->grade, $value->fileid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+namespace gradeimporter{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  class feedback { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      public static function get_comments($cmid, $id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          global $DB, $USER, $CFG; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $tp = $CFG->prefix; // gets moodle tables prefix, not everyone uses mdl_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $sql = " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          SELECT gf.id gf_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gf.grade, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                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 = ?"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $comments = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $records = $DB->get_records_sql($sql, array('studentid'=>$USER->id)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $data = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (count($records)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            foreach ($records as $key => $value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (!array_key_exists($value->gst_name, $data)) $data[$value->gst_name] = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $fileurl = buildurl ($cmid, $id, $value->gf_id, $value->gf_name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $data[$value->gst_name][] = array($value->gs_name, $value->grade, $fileurl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //$data[$value->gst_name][] = array($value->gs_name, $value->grade, $value->fileid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return $data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return $data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+namespace{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  require_once($CFG->libdir.'/filelib.php'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  require_once("$CFG->libdir/csvlib.class.php"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function buildurl($cmid, $id, $fileid, $filename){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $fileurl = new moodle_url("/mod/gradeimporter/view.php", array('cmid'=>$cmid, 'id'=>$id, 'fileid'=>$fileid, 'filename'=>$filename, 'action'=>1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return "<a href=$fileurl> $filename</a>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /*$fs = get_file_storage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $file = $fs->get_file($contextid, 'mod_gradeimporter', 'gradeimporter_feedback', $fileid, '/', $filename); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if ($file){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      send_stored_file($file, 86400, 0, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return moodle_url::make_pluginfile_url($contextid, 'mod_gradeimporter', 'gradeimporter_feedback', $fileid, '/', $filename, $forcedownload);*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function exportCSV($context){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $enrolledusers = get_enrolled_users ($context, 'mod/gradeimporter:student'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $data = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $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(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //$dlfile = $csvexporter->download_array('config', $data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// INSERT INTO `mdl_gradeimporter_feedback` (`id`, `submissionid`, `studentid`, `grade`, `comment`, `fileid`, `usermodified`, `timecreated`, `timemodified`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// VALUES 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 	(1, 10, 1, 10.00, 'ok muito bem', 100, 0, 0, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |