Browse Source

Editing new config for iLM

Igor 3 years ago
parent
commit
ee9db7667e
12 changed files with 87 additions and 11 deletions
  1. 1 1
      db/install.php
  2. 1 1
      db/upgrade.php
  3. 5 0
      iassign_form.php
  4. 7 1
      ilm_handlers/html5.php
  5. 12 0
      lang/en/iassign.php
  6. 10 0
      lang/es/iassign.php
  7. 10 0
      lang/fr/iassign.php
  8. 10 1
      lang/pt_br/iassign.php
  9. 7 2
      locallib.php
  10. 17 1
      settings.php
  11. 6 3
      settings_form.php
  12. 1 1
      version.php

+ 1 - 1
db/install.php

@@ -90,7 +90,7 @@ function xmldb_iassign_install () {
         array('iFractions', 'http://www.matematica.br/ifractions', '0.1.20200221', 'HTML5', '{"en":"Interactive Fractions game","pt_br":"Jogo interativa de frações"}',
               'frc', 'ilm/iFractions/0.1.20200221/ifractions/', 'index.html', 1000, 600,
               1, 1, 0, time(), $USER->id, time(),
-              0, 0)),
+              0, 1)),
       array_combine( // iGeom 5.9.22 - Java
         array('name', 'url', 'version', 'type', 'description',
               'extension', 'file_jar', 'file_class', 'width', 'height',

+ 1 - 1
db/upgrade.php

@@ -400,7 +400,7 @@ function xmldb_iassign_upgrade ($oldversion) {
         }
         if (($iassign->name == 'iFractions' && $iassign->type == 'HTML5')) {
           $updateentry->editingbehavior = 0;
-          $updateentry->submissionbehavior = 0;
+          $updateentry->submissionbehavior = 1;
         }
         if (($iassign->name == 'Risko' && $iassign->type == 'Java')) {
           $updateentry->editingbehavior = 1;

+ 5 - 0
iassign_form.php

@@ -368,6 +368,11 @@ class mod_iassign_form extends moodleform {
     $mform->addElement('html', $html_div);
 
 
+    $mform->addElement('selectyesno', 'store_all_submissions', get_string('store_all_submissions', 'iassign'));
+    $mform->setDefault('store_all_submissions', 1);
+    $mform->addHelpButton('store_all_submissions', 'store_all_submissions_help', 'iassign');
+
+
     //Applies only iLM iGeom
     $mform->addElement('selectyesno', 'special_param1', get_string('special_param', 'iassign')); //$ynoptions
     $mform->setDefault('special_param1', 0);

+ 7 - 1
ilm_handlers/html5.php

@@ -498,7 +498,7 @@ class html5 implements ilm_handle {
     $iassign_ilm = $DB->get_record('iassign_ilm', array('id' => $ilm_id));
 
     $iassign_ilm_configs = $DB->get_records('iassign_ilm_config', array('iassign_ilmid' => $ilm_id)); //MOOC 2016
-    if (!$iassign_ilm_configs) return;
+    /*if (!$iassign_ilm_configs) return;*/
 
     $files_jar = $iassign_ilm->file_jar;
 
@@ -540,6 +540,8 @@ class html5 implements ilm_handle {
     $application_descriptor .= '  <height>' . $iassign_ilm->height . '</height>' . "\n";
     $application_descriptor .= '  <evaluate>' . $iassign_ilm->evaluate . '</evaluate>' . "\n";
     $application_descriptor .= '  <reevaluate>' . $iassign_ilm->reevaluate . '</reevaluate>' . "\n";
+    $application_descriptor .= '  <editingbehavior>' . $iassign_ilm->editingbehavior . '</editingbehavior>' . "\n";
+    $application_descriptor .= '  <submissionbehavior>' . $iassign_ilm->submissionbehavior . '</submissionbehavior>' . "\n";
 
     if ($iassign_ilm_configs) { //MOOC 2016
       $application_descriptor .= '   <params>' . "\n";
@@ -813,6 +815,8 @@ class html5 implements ilm_handle {
         $newentry->evaluate = (String) $application_xml->evaluate;
         $newentry->reevaluate = (String) $application_xml->reevaluate;
         $newentry->parent = $iassign_ilm->id;
+        $newentry->editingbehavior = (String) $application_xml->editingbehavior;
+        $newentry->submissionbehavior = (String) $application_xml->submissionbehavior;
 
         $newentry->id = $DB->insert_record("iassign_ilm", $newentry);
 
@@ -901,6 +905,8 @@ class html5 implements ilm_handle {
         $newentry->timecreated = time();
         $newentry->evaluate = (String) $application_xml->evaluate;
         $newentry->reevaluate = (String) $application_xml->reevaluate;
+        $newentry->editingbehavior = (String) $application_xml->editingbehavior;
+        $newentry->submissionbehavior = (String) $application_xml->submissionbehavior;
         $newentry->parent = $iassign_ilm->id;
 
         //MOOC 2016 $newentry->id = $DB->insert_record("iassign_ilm", $newentry);

+ 12 - 0
lang/en/iassign.php

@@ -165,6 +165,9 @@ $string['duration_activity']              = 'Duration of activity';
 $string['E']                              = 'AND';
 $string['E_legend']                       = '(activity sent) ';
 $string['edit']                           = 'Edit';
+$string['editing_behavior_0']             = 'This iLM does not allow editing the submission, the student needs to redo the activity.';
+$string['editing_behavior_1']             = 'This iLM allows the editing of a previous submission.';
+$string['editing_behavior_view']          = 'Edition';
 $string['edit_add_ilm']                   = 'Add new iLM or change an existing iLM';
 $string['edit_iassign']                   = 'Edit activity';
 $string['edit_iassign_disable']           = 'File locked for editing';
@@ -496,9 +499,18 @@ $string['special_param']                  = 'Assignment with script(algorithm)?
 $string['standard_deviation']             = 'Standard deviation';
 $string['statistics']                     = 'Statistics';
 $string['status']                         = 'Status:';
+$string['store_all_submissions']          = 'Store all submissions? <br> (Applicable to compatible iMA)';
+$string['store_all_submissions_help']     = 'Storage of all submissions.';
+$string['store_all_submissions_help_help'] = '<p> Enable this option only if you want to store all submissions sent by each student. </p>';
+$string['store_all_submissions_help_help'] = '<p> Enable this option only if you want to store all submissions sent by each student. </p>';
 $string['student']                        = 'Student:';
 $string['students']                       = 'Students';
+$string['submissionbehavior_view']        = 'Submission';
 $string['submissions']                    = 'Submissions';
+$string['submission_behavior_0']          = 'After submission, this iLM remains on the same page.';
+$string['submission_behavior_1']          = 'After submission, this iLM changes the current page.';
+$string['submission_behavior_0']          = 'After submission, this iLM remains on the same page.';
+$string['submission_behavior_1']          = 'After submission, this iLM changes the current page.';
 $string['submit']                         = 'Submit the selected file';
 $string['submit_assign']                  = 'Send activity';
 $string['submit_comment']                 = 'Send message';

+ 10 - 0
lang/es/iassign.php

@@ -165,6 +165,9 @@ $string['duration_activity']              = 'Plazo de la tarea';
 $string['E']                              = 'Y';
 $string['E_legend']                       = '(tarea enviada) ';
 $string['edit']                           = 'Editar';
+$string['editing_behavior_0']             = 'Esta iMA no permite editar el envío, el alumno debe rehacer la actividad.';
+$string['editing_behavior_1']             = 'Esta iMA permite la edición de un envío anterior.';
+$string['editing_behavior_view']          = 'Edición';
 $string['edit_add_ilm']                   = 'Agregar nuevo iMA o cambiar un iMA existente';
 $string['edit_iassign']                   = 'Editar tarea';
 $string['edit_iassign_disable']           = 'Archivo bloqueado para edição';
@@ -496,9 +499,16 @@ $string['special_param']                  = 'actividad com script (algoritmo)?<b
 $string['standard_deviation']             = 'Desviación Estándar';
 $string['statistics']                     = 'Datos estadísticos';
 $string['status']                         = 'Situación:';
+$string['store_all_submissions']          = '¿Almacenar todos los envíos? <br> (aplicable a iMA compatible)';
+$string['store_all_submissions_help']     = 'Almacenamiento de todas las presentaciones.';
+$string['store_all_submissions_help_help'] = '<p> Habilite esta opción solo si desea almacenar todos los envíos enviados por cada estudiante. </p>';
+$string['store_all_submissions_help_help'] = '<p> Habilite esta opción solo si desea almacenar todos los envíos enviados por cada estudiante. </p>';
 $string['student']                        = 'Estudiante:';
 $string['students']                       = 'Estudiantes';
+$string['submissionbehavior_view']        = 'Sumisión';
 $string['submissions']                    = 'Envios';
+$string['submission_behavior_0']          = 'Después del envío, esta iMA permanece en la misma página.';
+$string['submission_behavior_1']          = 'Después del envío, este iMA cambia a la página actual.';
 $string['submit']                         = 'Enviar el archivo seleccionado';
 $string['submit_assign']                  = 'Enviar tarea';
 $string['submit_comment']                 = 'Enviar comentário';

+ 10 - 0
lang/fr/iassign.php

@@ -165,6 +165,9 @@ $string['duration_activity']              = 'Délais de la tâche';
 $string['E']                              = 'Et';
 $string['E_legend']                       = '(solution envoyée) ';
 $string['edit']                           = 'Modifier';
+$string['editing_behavior_0']             = 'This iLM does not allow editing the submission, the student needs to redo the activity.';
+$string['editing_behavior_1']             = 'This iLM allows the editing of a previous submission.';
+$string['editing_behavior_view']          = 'Edition';
 $string['edit_add_ilm']                   = 'Ajouter un nouvel iMA ou modifier un iMA existant';
 $string['edit_iassign']                   = 'Editer la tâche';
 $string['edit_iassign_disable']           = 'Fichier verrouillé pour l\'édition';
@@ -495,9 +498,16 @@ $string['special_param']                  = 'Activité avec "script" (algorithme
 $string['standard_deviation']             = 'L\'écart type';
 $string['statistics']                     = 'Statistiques';
 $string['status']                         = 'Situation :';
+$string['store_all_submissions']          = 'Store all submissions? <br> (Applicable to compatible iMA)';
+$string['store_all_submissions_help']     = 'Storage of all submissions.';
+$string['store_all_submissions_help_help'] = '<p> Enable this option only if you want to store all submissions sent by each student. </p>';
 $string['student']                        = 'Etudiant :';
 $string['students']                       = 'Etudiants';
+$string['submissionbehavior_view']        = 'Submission';
+$string['submissionbehavior_view']        = 'Submission';
 $string['submissions']                    = 'Envois';
+$string['submission_behavior_0']          = 'After submission, this iLM remains on the same page.';
+$string['submission_behavior_1']          = 'After submission, this iLM changes the current page.';
 $string['submit']                         = 'Envoyer le fichier sélectionné';
 $string['submit_assign']                  = 'Envoyer tâche';
 $string['submit_comment']                 = 'Envoyer la message';

+ 10 - 1
lang/pt_br/iassign.php

@@ -126,7 +126,7 @@ $string['data_activity']                  = 'Dados da atividade';
 $string['data_file_html']                 = 'Informações básicas sobre o novo iMA';
 $string['data_file_html5']                = 'Pacote do iMA em HTML/JavaScript (ZIP ou TGZ)';
 $string['data_file_html_static']          = 'Para adicionar iMA (codificado em HTML/JavaScript), basta enviar o pacote correspondente no campo abaixo.';
-$string['data_file_jar']                  = 'Pacote do novo iMA (Java) a ser inserido (JAR)';
+$string['data_file_jar']                  = 'Pacote do novo iMA a ser inserido';
 $string['data_ilm']                       = 'Dados do iMA';
 $string['data_param']                     = 'Dados do Parâmetro';
 $string['default_ilm']                    = 'Este iMA é o principal e os arquivos estão associados a ele.';
@@ -165,6 +165,9 @@ $string['duration_activity']              = 'Prazo da atividade';
 $string['E']                              = 'E';
 $string['E_legend']                       = '(atividade enviada) ';
 $string['edit']                           = 'Edição';
+$string['editing_behavior_0']             = 'Este iMA não permite editar a submissão, o aluno precisa refazer a atividade.';
+$string['editing_behavior_1']             = 'Este iMA permite a edição de uma submissão anterior.';
+$string['editing_behavior_view']          = 'Edição';
 $string['edit_add_ilm']                   = 'Adicionar ou Editar iMA';
 $string['edit_iassign']                   = 'Editar atividade';
 $string['edit_iassign_disable']           = 'Arquivo bloqueado para edição';
@@ -493,9 +496,15 @@ $string['special_param']                  = 'Atividade com script (algoritmo)?<b
 $string['standard_deviation']             = 'Desvio padrão';
 $string['statistics']                     = 'Dados estatísticos';
 $string['status']                         = 'Situação:';
+$string['store_all_submissions']          = 'Armazenar todas as submissões? <br> (Aplicável aos iMA compatíveis)';
+$string['store_all_submissions_help']     = 'Armazenamento de todas as submissões.';
+$string['store_all_submissions_help_help'] = '<p>Ative esta opção apenas se deseja armazenar todas as submissões enviadas por cada aluno.</p>';
 $string['student']                        = 'Estudante:';
 $string['students']                       = 'Estudantes';
+$string['submissionbehavior_view']        = 'Submissão';
 $string['submissions']                    = 'Submissões';
+$string['submission_behavior_0']          = 'Após a submissão, esse iMA permanece na mesma página.';
+$string['submission_behavior_1']          = 'Após a submissão, esse iMA troca a página atual.';
 $string['submit']                         = 'Enviar arquivo selecionado';
 $string['submit_assign']                  = 'Envia sua atividade';
 $string['submit_comment']                 = 'Enviar comentário';

+ 7 - 2
locallib.php

@@ -1544,6 +1544,7 @@ class iassign {
         $param->name = $iassign_statement_current->name;
         $param->oldname = $iassign_statement_current->name;
         $param->type_iassign = $iassign_statement_current->type_iassign;
+        $param->store_all_submissions = $iassign_statement_current->store_all_submissions;
 
         //2019: Moodle 3 uses proposition in 'textarea' as "('text' => <text>, 'format' => '')
         //2019  $param->proposition = $iassign_statement_current->proposition;
@@ -4264,6 +4265,7 @@ class activity {
     $newentry->iassignid = $param->iassignid;
     $newentry->name = $param->name;
     $newentry->type_iassign = $param->type_iassign;
+    $newentry->store_all_submissions = $param->store_all_submissions;
 
     // $newentry->proposition = $param->proposition; // 2019/02/13 - With the use of 'editor' in 'mform', field 'proposition' is Array ( [text] => <DESCRIPTION> [format] => 1 )
     $proposition = $param->proposition;
@@ -4476,6 +4478,7 @@ class activity {
     $newentry->id = $param->iassign_id;
     $newentry->name = $param->name;
     $newentry->type_iassign = $param->type_iassign;
+    $newentry->store_all_submissions = $param->store_all_submissions;
 
     //2019 $newentry->proposition = $param->proposition;
     $proposition = $param->proposition;
@@ -4832,6 +4835,8 @@ class ilm_settings {
         $param->ilm_type = $iassign_ilm->type;
         $param->type = $iassign_ilm->type; // using as 'type' in ilm_handlers/html5.php
         $param->url = $iassign_ilm->url;
+        $param->submissionbehavior = $iassign_ilm->submissionbehavior;
+        $param->editingbehavior = $iassign_ilm->editingbehavior;
 
         // If the iLM does not present curret language => Notice: Undefined property: stdClass::$en_us in...
         if (!isset($description->{current_language()})) {
@@ -4867,8 +4872,8 @@ class ilm_settings {
       if (!$iassign_ilm) { // The second turn (form sended) reaches this point - Just in case (if the admin use back and forward in the browser)
         print get_string('empty_file', 'iassign') . "?<br/>\n"; //TODO warning not to use back?
         // echo "Sem dados<br/>"; exit;
-	return;
-	}
+	      return;
+	    }
       $description = json_decode($iassign_ilm->description);
       if ($iassign_ilm) {
         if ($iassign_ilm->parent == 0)

+ 17 - 1
settings.php

@@ -384,8 +384,23 @@ else if ($action == 'config') { // Administration > plugins > iAssign : after se
       else
         $reevaluate = get_string('no', 'iassign');
       $str .= '<td width="50%"><strong>' . get_string('auto_evaluate_name_config', 'iassign') . ':</strong>&nbsp;' . $reevaluate . '</td></tr>';
-
       
+      $str .= '<tr><td><strong>' . get_string('editing_behavior_view', 'iassign') . ':</strong> ';
+
+      if ($ilm_parent->editingbehavior == 0) {
+        $str .=  get_string('editing_behavior_0', 'iassign');
+      } elseif ($ilm_parent->editingbehavior == 1) {
+        $str .=  get_string('editing_behavior_1', 'iassign');
+      }
+      $str .= ' </td><td><strong>' . get_string('submissionbehavior_view', 'iassign') . ':</strong> ';
+
+      if ($ilm_parent->submissionbehavior == 0) {
+        $str .= get_string('submission_behavior_0', 'iassign');
+      } elseif ($ilm_parent->submissionbehavior == 1) {
+        $str .= get_string('submission_behavior_1', 'iassign');
+      }
+      $str .= '</td></tr>';
+
       $str .= '<tr>' . chr(13);
       $str .= '<td width="50%"><strong>' . get_string('file_created', 'iassign') . ':</strong>&nbsp;' . userdate($ilm_parent->timecreated) . '</td>';
       $str .= '<td width="50%"><strong>' . get_string('file_modified', 'iassign') . ':</strong>&nbsp;' . userdate($ilm_parent->timemodified) . '</td>' . chr(13);
@@ -398,6 +413,7 @@ else if ($action == 'config') { // Administration > plugins > iAssign : after se
         $str .= '<td colspan=2><strong>' . get_string('author', 'iassign') . ':</strong>&nbsp;' . $user_ilm->firstname . '&nbsp;' . $user_ilm->lastname . '</td>';
         $str .= '</tr>' . chr(13);
         }
+        
       $str .= '<tr>' . chr(13);
       $str .= '<td colspan=2><center>';
 

+ 6 - 3
settings_form.php

@@ -201,11 +201,11 @@ class mod_ilm_form extends moodleform {
           $mform->addElement('static', 'name_ilm', get_string('name_ilm', 'iassign'));
           $mform->addElement('hidden', 'name');
           $mform->setType('name', PARAM_TEXT);
-          }
-	else {
+        } 
+        else {
           $mform->addElement('text', 'name', get_string('name_ilm', 'iassign'), array('size' => '55', 'onchange' => 'search_name(this.value);'));
           $mform->setType('name', PARAM_TEXT);
-          }
+        }
 
         // Adding the standard "version" field
         $mform->addElement('text', 'version', get_string('version_ilm', 'iassign'), array('size' => '55'));
@@ -281,6 +281,9 @@ class mod_ilm_form extends moodleform {
         //$mform->addRule('evaluate', get_string('required', 'iassign'), 'required');
         $mform->addHelpButton('evaluate', 'auto_evaluate', 'iassign');
 
+        // Adding the standard "submissionbehavior" field
+        $mform->addElement('text', 'submissionbehavior', get_string('auto_evaluate', 'iassign'));
+
         // Adding the "data_file_jar" fieldset, where all the common settings are showed
         $mform->addElement('header', 'data_file_html', get_string('data_file_html', 'iassign'));
 

+ 1 - 1
version.php

@@ -90,7 +90,7 @@ defined('MOODLE_INTERNAL') || die();
 // v 1.0 2012/10/16
 $plugin->component = 'mod_iassign';  // Full name of the plugin (used for diagnostics)
 $plugin->release = '2.8.01 (Build: 2020080300)'; // Human-readable version name
-$plugin->version = 2020102907;       // The current module version (Date: YYYYMMDDXX)
+$plugin->version = 2020102908;       // The current module version (Date: YYYYMMDDXX)
 $plugin->requires = 2014021100;      // Requires this Moodle version since 3.0.0)
 $plugin->maturity = MATURITY_STABLE; // How stable the plugin is: MATURITY_ALPHA, MATURITY_BETA, MATURITY_RC, MATURITY_STABLE (Moodle 2.0 and above)
 $plugin->cron = 60;