| 
					
				 | 
			
			
				@@ -17,156 +17,80 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 require_once('../../config.php'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 require_once('locallib.php'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 require_once('lib.php'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-require_once('submission_form.php'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once('forms/submission_form.php'); // Requires Form class File 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once('forms/submission_form_functions.php'); // Require functions file for submission form 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $cmid = required_param('cmid', PARAM_INT);            // Course Module ID. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $id = optional_param('id', 0, PARAM_INT);           // Gradeimporter id. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$subid = optional_param('subid', 1, PARAM_INT);       // Submission id. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$update = optional_param('update', 0, PARAM_INT);      // If 1 the submission is beign updated. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$subid = optional_param('subid', -1, PARAM_INT);       // Submission id. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// $update = optional_param('update', 0, PARAM_INT);      // If 1 the submission is beign updated. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Checks if everything is correct 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// If any of the queries fail, throw error because of MUST_EXIST clause 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$cm = get_coursemodule_from_id('gradeimporter', $cmid, 0, false, MUST_EXIST); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$gradeimporter = $DB->get_record('gradeimporter', array('id' => $cm->instance), '*', MUST_EXIST); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if (!$cm = get_coursemodule_from_id('gradeimporter', $cmid)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    throw new moodle_exception('invalidcoursemodule'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if (!$course = $DB->get_record('course', array('id' => $cm->course))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    throw new moodle_exception('coursemisconf'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Gets context for File API 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $context = context_module::instance($cm->id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-require_capability('mod/gradeimporter:edit', $context); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if (!$gradeimporter = $DB->get_record('gradeimporter', array('id' => $cm->instance))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    throw new moodle_exception(get_string('invalidid', 'gradeimporter')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Sets URL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $url = new moodle_url('/mod/gradeimporter/submission.php', array('cmid' => $cm->id)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if (!empty($id)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $url->param('id', $id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $PAGE->set_url($url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Requires capabilities 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 require_login($course, false, $cm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_capability('mod/gradeimporter:edit', $context); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Prepare data for submission form 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if (isset($submission)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (isguestuser()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        throw new moodle_exception(get_string('guestnoedit', 'gradeimporter'). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            " $CFG->wwwroot/mod/gradeimporter/view.php?id=$cmid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if (!isset($submission)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // If its creating new submission 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $submission = new stdClass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $submission->id = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$maxfiles = 50; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$maxbytes = $course->maxbytes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$descriptionoptions = array('trusttext' => true, 'maxfiles' => $maxfiles, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        'maxbytes' => $maxbytes, 'context' => $context, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        'subdirs' => file_area_contains_subdirs($context, 'mod_gradeimporter', 'submission', $submission->id)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$submissionoptions = array('subdirs' => false, 'maxfiles' => $maxfiles, 'maxbytes' => $maxbytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$submission = file_prepare_standard_editor($submission, 'description', $descriptionoptions, $context, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            'mod_gradeimporter', 'description', $submission->id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$submission = file_prepare_standard_filemanager($submission, 'submission', $submissionoptions, $context, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                'mod_gradeimporter', 'submission', $submission->id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Set parameters to sendo to the form 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $submission->cmid = $cm->id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$maxbytes = $course->maxbytes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $mform = new mod_gradeimporter_submission_form(null, array('submission' => $submission, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                     'cm' => $cm, 'descriptionoptions' => $descriptionoptions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                     'submissionoptions' => $submissionoptions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                     'gradeimporterid' => $gradeimporter->id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                    )); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if ($update == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $subtoupdate = $DB->get_record('gradeimporter_submission', array('id' => $subid)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $array = (array) $subtoupdate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    echo 'aaaa'.$array['description']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $mform->set_data($subtoupdate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                            'maxbytes' => $maxbytes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if ($mform->is_cancelled()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if ($id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        redirect("view.php?id=$cm->id&mode=entry&hook=$id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        redirect("view.php?id=$cm->id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} else if ($submission = $mform->get_data()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $timenow = time(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (empty($submission->id)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $submission->gradeimporterid    = $gradeimporter->id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $submission->userid             = $USER->id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $submission->timecreated        = $timenow; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $isnewentry                     = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $isnewentry                     = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $submission->description        = '';           // Updated later. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $submission->descriptionformat  = FORMAT_HTML;  // Updated later. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $submission->definitiontrust    = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $submission->timemodified       = $timenow; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $submission->position           = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if ($isnewentry) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // Add new entry. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $submission->id = $DB->insert_record('gradeimporter_submission', $submission); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // Update existing entry. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $DB->update_record('gradeimporter', $submission); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $submission = file_postupdate_standard_editor($submission, 'description', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            $descriptionoptions, $context, 'mod_gradeimporter', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            'description', $submission->id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $submission = file_postupdate_standard_filemanager($submission, 'submission', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            $submissionoptions, $context, 'mod_gradeimporter', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            'submission', $submission->id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    gradeimporter_check_for_zips($context, $cm, $submission); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // Store updated values. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // Error: write to database invalid. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $DB->update_record('gradeimporter_submission', $submission); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // Refetch complete entry. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $submission = $DB->get_record('gradeimporter_submission', array('id' => $submission->id)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // Trigger event and update completion (if entry was created). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $eventparams = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        'context' => $context, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        'objectid' => $submission->id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if ($isnewentry) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // Update completion state. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $completion = new completion_info($course); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if ($completion->is_enabled($cm) == COMPLETION_TRACKING_AUTOMATIC && $gradeimporter->completionentries) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $completion->update_state($cm, COMPLETION_COMPLETE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Handle form cancel operation, if cancel button is present on form 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo("form is cancelled"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} else if ($formdata = $mform->get_data()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    create_submission($formdata, $gradeimporter->id, $USER->id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // When complete redirect to view.php 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    redirect("view.php?id=$cm->id&edit=1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // In this case you process validated data. $mform->get_data() returns data posted in form. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // This branch is executed if the form is submitted but the data doesn't validate and the form should be redisplayed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // ...or on the first display of the form. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if ($subid != -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // If its updating an existing submission 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // Get data from db and insert into form 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $subdata = $DB->get_record('gradeimporter_submission', array('id' => $subid)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $subdata->description = array('text' => $subdata->description, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        'format' => $subdata->descriptionformat 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $mform->set_data($subdata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    redirect("view.php?id=$cm->id&edit=1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $PAGE->set_title($gradeimporter->name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $PAGE->set_heading($course->fullname); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo $OUTPUT->header(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo $OUTPUT->heading(format_string($gradeimporter->name), 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if (!empty($id)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $PAGE->navbar->add(get_string('edit')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $mform->display(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$PAGE->set_title($gradeimporter->name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$PAGE->set_heading($course->fullname); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-echo $OUTPUT->header(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-echo $OUTPUT->heading(format_string($gradeimporter->name), 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if ($gradeimporter->intro) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    echo $OUTPUT->box(format_module_intro('gradeimporter', $gradeimporter, $cm->id), 'generalbox', 'intro'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo $OUTPUT->footer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$mform->display(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-echo $OUTPUT->footer(); 
			 |