| 
						
						
						
					 | 
					 | 
					@ -1,6 +1,9 @@ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					<?php | 
					 | 
					 | 
					 | 
					<?php | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					/* For licensing terms, see /license.txt */ | 
					 | 
					 | 
					 | 
					/* For licensing terms, see /license.txt */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					/** | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 * Class GradingElectronicPlugin | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					class GradingElectronicPlugin extends Plugin | 
					 | 
					 | 
					 | 
					class GradingElectronicPlugin extends Plugin | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{ | 
					 | 
					 | 
					 | 
					{ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    const EXTRAFIELD_STUDENT_ID = 'fcdice_or_acadis_student_id'; | 
					 | 
					 | 
					 | 
					    const EXTRAFIELD_STUDENT_ID = 'fcdice_or_acadis_student_id'; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -23,8 +26,8 @@ class GradingElectronicPlugin extends Plugin | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    protected function __construct() | 
					 | 
					 | 
					 | 
					    protected function __construct() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    { | 
					 | 
					 | 
					 | 
					    { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        parent::__construct( | 
					 | 
					 | 
					 | 
					        parent::__construct( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            '0.6', | 
					 | 
					 | 
					 | 
					            '0.7', | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            'Angel Fernando Quiroz Campos', | 
					 | 
					 | 
					 | 
					            'Angel Fernando Quiroz Campos, Julio Montoya', | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            array( | 
					 | 
					 | 
					 | 
					            array( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'tool_enable' => 'boolean', | 
					 | 
					 | 
					 | 
					                'tool_enable' => 'boolean', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            ) | 
					 | 
					 | 
					 | 
					            ) | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -62,7 +65,9 @@ class GradingElectronicPlugin extends Plugin | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    { | 
					 | 
					 | 
					 | 
					    { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $uExtraField = new ExtraField('user'); | 
					 | 
					 | 
					 | 
					        $uExtraField = new ExtraField('user'); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (!$uExtraField->get_handler_field_info_by_field_variable(self::EXTRAFIELD_STUDENT_ID)) { | 
					 | 
					 | 
					 | 
					        if (!$uExtraField->get_handler_field_info_by_field_variable( | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            self::EXTRAFIELD_STUDENT_ID | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        )) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            $uExtraField->save([ | 
					 | 
					 | 
					 | 
					            $uExtraField->save([ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'variable' => self::EXTRAFIELD_STUDENT_ID, | 
					 | 
					 | 
					 | 
					                'variable' => self::EXTRAFIELD_STUDENT_ID, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'field_type' => ExtraField::FIELD_TYPE_TEXT, | 
					 | 
					 | 
					 | 
					                'field_type' => ExtraField::FIELD_TYPE_TEXT, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -74,7 +79,9 @@ class GradingElectronicPlugin extends Plugin | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $cExtraField = new ExtraField('course'); | 
					 | 
					 | 
					 | 
					        $cExtraField = new ExtraField('course'); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (!$cExtraField->get_handler_field_info_by_field_variable(self::EXTRAFIELD_COURSE_PROVIDER_ID)) { | 
					 | 
					 | 
					 | 
					        if (!$cExtraField->get_handler_field_info_by_field_variable( | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            self::EXTRAFIELD_COURSE_PROVIDER_ID | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        )) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            $cExtraField->save([ | 
					 | 
					 | 
					 | 
					            $cExtraField->save([ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'variable' => self::EXTRAFIELD_COURSE_PROVIDER_ID, | 
					 | 
					 | 
					 | 
					                'variable' => self::EXTRAFIELD_COURSE_PROVIDER_ID, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'field_type' => ExtraField::FIELD_TYPE_TEXT, | 
					 | 
					 | 
					 | 
					                'field_type' => ExtraField::FIELD_TYPE_TEXT, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -84,7 +91,9 @@ class GradingElectronicPlugin extends Plugin | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            ]); | 
					 | 
					 | 
					 | 
					            ]); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (!$cExtraField->get_handler_field_info_by_field_variable(self::EXTRAFIELD_COURSE_ID)) { | 
					 | 
					 | 
					 | 
					        if (!$cExtraField->get_handler_field_info_by_field_variable( | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            self::EXTRAFIELD_COURSE_ID | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        )) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            $cExtraField->save([ | 
					 | 
					 | 
					 | 
					            $cExtraField->save([ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'variable' => self::EXTRAFIELD_COURSE_ID, | 
					 | 
					 | 
					 | 
					                'variable' => self::EXTRAFIELD_COURSE_ID, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'field_type' => ExtraField::FIELD_TYPE_TEXT, | 
					 | 
					 | 
					 | 
					                'field_type' => ExtraField::FIELD_TYPE_TEXT, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -94,7 +103,9 @@ class GradingElectronicPlugin extends Plugin | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            ]); | 
					 | 
					 | 
					 | 
					            ]); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (!$cExtraField->get_handler_field_info_by_field_variable(self::EXTRAFIELD_COURSE_HOURS)) { | 
					 | 
					 | 
					 | 
					        if (!$cExtraField->get_handler_field_info_by_field_variable( | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            self::EXTRAFIELD_COURSE_HOURS | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        )) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            $cExtraField->save([ | 
					 | 
					 | 
					 | 
					            $cExtraField->save([ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'variable' => self::EXTRAFIELD_COURSE_HOURS, | 
					 | 
					 | 
					 | 
					                'variable' => self::EXTRAFIELD_COURSE_HOURS, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'field_type' => ExtraField::FIELD_TYPE_TEXT, | 
					 | 
					 | 
					 | 
					                'field_type' => ExtraField::FIELD_TYPE_TEXT, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -111,21 +122,27 @@ class GradingElectronicPlugin extends Plugin | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private function setDownExtraFields() | 
					 | 
					 | 
					 | 
					    private function setDownExtraFields() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    { | 
					 | 
					 | 
					 | 
					    { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $uExtraField = new ExtraField('user'); | 
					 | 
					 | 
					 | 
					        $uExtraField = new ExtraField('user'); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					        $studentIdField = $uExtraField->get_handler_field_info_by_field_variable( | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $studentIdField = $uExtraField->get_handler_field_info_by_field_variable(self::EXTRAFIELD_STUDENT_ID); | 
					 | 
					 | 
					 | 
					            self::EXTRAFIELD_STUDENT_ID | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if ($studentIdField) { | 
					 | 
					 | 
					 | 
					        if ($studentIdField) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            $uExtraField->delete($studentIdField['id']); | 
					 | 
					 | 
					 | 
					            $uExtraField->delete($studentIdField['id']); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $cExtraField = new ExtraField('course'); | 
					 | 
					 | 
					 | 
					        $cExtraField = new ExtraField('course'); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        $providerIdField = $cExtraField->get_handler_field_info_by_field_variable( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            self::EXTRAFIELD_COURSE_PROVIDER_ID | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        $courseIdField = $cExtraField->get_handler_field_info_by_field_variable( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            self::EXTRAFIELD_COURSE_ID | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        $courseHoursField = $cExtraField->get_handler_field_info_by_field_variable( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            self::EXTRAFIELD_COURSE_HOURS | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $proviedIdField = $cExtraField->get_handler_field_info_by_field_variable(self::EXTRAFIELD_COURSE_PROVIDER_ID); | 
					 | 
					 | 
					 | 
					        if ($providerIdField) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $courseIdField = $cExtraField->get_handler_field_info_by_field_variable(self::EXTRAFIELD_COURSE_ID); | 
					 | 
					 | 
					 | 
					            $cExtraField->delete($providerIdField['id']); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $courseHoursField = $cExtraField->get_handler_field_info_by_field_variable(self::EXTRAFIELD_COURSE_HOURS); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if ($proviedIdField) { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            $cExtraField->delete($proviedIdField['id']); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if ($courseIdField) { | 
					 | 
					 | 
					 | 
					        if ($courseIdField) { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -143,13 +160,15 @@ class GradingElectronicPlugin extends Plugin | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public function getForm() | 
					 | 
					 | 
					 | 
					    public function getForm() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    { | 
					 | 
					 | 
					 | 
					    { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $extraField = new ExtraField('course'); | 
					 | 
					 | 
					 | 
					        $extraField = new ExtraField('course'); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $courseIdField = $extraField->get_handler_field_info_by_field_variable(self::EXTRAFIELD_COURSE_ID); | 
					 | 
					 | 
					 | 
					        $courseIdField = $extraField->get_handler_field_info_by_field_variable( | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            self::EXTRAFIELD_COURSE_ID | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (!$courseIdField) { | 
					 | 
					 | 
					 | 
					        if (!$courseIdField) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return null; | 
					 | 
					 | 
					 | 
					            return null; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $extraFieldValue =  new ExtraFieldValue('course'); | 
					 | 
					 | 
					 | 
					        $extraFieldValue = new ExtraFieldValue('course'); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $courseIdValue = $extraFieldValue->get_values_by_handler_and_field_variable( | 
					 | 
					 | 
					 | 
					        $courseIdValue = $extraFieldValue->get_values_by_handler_and_field_variable( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            api_get_course_int_id(), | 
					 | 
					 | 
					 | 
					            api_get_course_int_id(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            self::EXTRAFIELD_COURSE_ID | 
					 | 
					 | 
					 | 
					            self::EXTRAFIELD_COURSE_ID | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |