Parcourir la source

release version

Igor il y a 2 ans
Parent
commit
8c80b824fe
100 fichiers modifiés avec 160 ajouts et 359880 suppressions
  1. 8 5
      db/install.php
  2. 0 0
      db/messages.php
  3. 110 19
      db/upgrade.php
  4. 0 0
      iassign_form.php
  5. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/audio/index.html
  6. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/img/NOT-USED/index.html
  7. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/img/character/balloon/index.html
  8. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/img/character/index.html
  9. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/img/character/kid/index.html
  10. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/img/character/tractor/index.html
  11. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/img/flag/index.html
  12. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/img/index.html
  13. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/img/info_box/index.html
  14. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/img/interac_icon/index.html
  15. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/img/interac_icon/info.png
  16. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/img/levels/index.html
  17. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/img/navig_icon/index.html
  18. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/img/scene/index.html
  19. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/index.html
  20. 0 0
      ilm/iFractions/0.1.20200221/ifractions/assets/lang/index.html
  21. 0 0
      ilm/iFractions/0.1.20200221/ifractions/css/index.html
  22. 0 0
      ilm/iFractions/0.1.20200221/ifractions/js/customMenu.js
  23. 0 0
      ilm/iFractions/0.1.20200221/ifractions/js/gameMechanics.js
  24. 0 0
      ilm/iFractions/0.1.20200221/ifractions/js/index.html
  25. 0 0
      ilm/iFractions/0.1.20200221/ifractions/js/menu.js
  26. 0 0
      ilm/iFractions/0.1.20200221/ifractions/php/index.html
  27. 0 0
      ilm/iFractions/0.1.20200221/index.html
  28. 0 0
      ilm/iFractions/index.html
  29. 0 27656
      ilm/iVProg/1.0.20200221/ivprog/js/main.0dbe69c90e79a59997bc.js
  30. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/main.0dbe69c90e79a59997bc.js.map
  31. 0 27656
      ilm/iVProg/1.0.20200221/ivprog/js/main.178e3d646fb79d7bafa6.js
  32. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/main.178e3d646fb79d7bafa6.js.map
  33. 0 27651
      ilm/iVProg/1.0.20200221/ivprog/js/main.25bbb06803f26e12b972.js
  34. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/main.25bbb06803f26e12b972.js.map
  35. 0 27651
      ilm/iVProg/1.0.20200221/ivprog/js/main.308b4036355a0af3793b.js
  36. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/main.308b4036355a0af3793b.js.map
  37. 0 27656
      ilm/iVProg/1.0.20200221/ivprog/js/main.30fa082cc8a9942d60d0.js
  38. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/main.30fa082cc8a9942d60d0.js.map
  39. 0 27723
      ilm/iVProg/1.0.20200221/ivprog/js/main.5e7761a70f5b53c69b09.js
  40. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/main.5e7761a70f5b53c69b09.js.map
  41. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/main.62cc622a22001acbba1b.js.map
  42. 0 27741
      ilm/iVProg/1.0.20200221/ivprog/js/main.6c02d4b0a0f0875beb2e.js
  43. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/main.6c02d4b0a0f0875beb2e.js.map
  44. 0 27723
      ilm/iVProg/1.0.20200221/ivprog/js/main.7e850e1e799453d24cec.js
  45. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/main.7e850e1e799453d24cec.js.map
  46. 0 27656
      ilm/iVProg/1.0.20200221/ivprog/js/main.96c8c56bbdf2ab0724c3.js
  47. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/main.96c8c56bbdf2ab0724c3.js.map
  48. 0 27651
      ilm/iVProg/1.0.20200221/ivprog/js/main.d37a85f034d619e41454.js
  49. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/main.d37a85f034d619e41454.js.map
  50. 0 27651
      ilm/iVProg/1.0.20200221/ivprog/js/main.d3a24f40f33b9a1c322a.js
  51. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/main.d3a24f40f33b9a1c322a.js.map
  52. 0 27651
      ilm/iVProg/1.0.20200221/ivprog/js/main.d4ddc7e5339f9c968f82.js
  53. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/main.d4ddc7e5339f9c968f82.js.map
  54. 0 27756
      ilm/iVProg/1.0.20200221/ivprog/js/main.e0ee3563388774042d6b.js
  55. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/main.e0ee3563388774042d6b.js.map
  56. 0 1
      ilm/iVProg/1.0.20200221/ivprog/js/vendors~main.685d1cf2ece1ed4ebb99.js.map
  57. 8 14
      ilm/iVProg/1.0.20200221/ivprog/css/codemirror.css
  58. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/fonts/NimbusSanLConBold.ttf
  59. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/fonts/NimbusSanLConRegular.ttf
  60. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/fonts/cyrillic-ext-roboto.woff2
  61. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/fonts/cyrillic-roboto.woff2
  62. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/fonts/greek-ext-roboto.woff2
  63. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/fonts/greek-roboto.woff2
  64. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/fonts/latin-ext-roboto.woff2
  65. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/fonts/latin-roboto.woff2
  66. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/fonts/texgyreheros-regular.otf
  67. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/fonts/vietnamese-roboto.woff2
  68. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/ivprog-assessment.css
  69. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/ivprog-editor.css
  70. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/ivprog-term.css
  71. 21 0
      ilm/iVProg/1.0.20200221/ivprog/css/ivprog-visual-1.0.css
  72. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/roboto.css
  73. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/semantic.min.css
  74. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/show-hint.css
  75. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/brand-icons.eot
  76. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/brand-icons.svg
  77. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/brand-icons.ttf
  78. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/brand-icons.woff
  79. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/brand-icons.woff2
  80. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/icons.eot
  81. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/icons.otf
  82. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/icons.svg
  83. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/icons.ttf
  84. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/icons.woff
  85. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/icons.woff2
  86. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/outline-icons.eot
  87. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/outline-icons.svg
  88. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/outline-icons.ttf
  89. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/outline-icons.woff
  90. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/outline-icons.woff2
  91. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/images/flags.png
  92. 0 0
      ilm/iVProg/1.0.20200221/ivprog/css/ttcn.css
  93. 0 0
      ilm/iVProg/1.0.20200221/ivprog/img/empty.svg
  94. 0 0
      ilm/iVProg/1.0.20200221/ivprog/img/new_line.svg
  95. 0 0
      ilm/iVProg/1.0.20200221/ivprog/img/no_new_line.svg
  96. 0 0
      ilm/iVProg/1.0.20200221/ivprog/img/trash-icon.png
  97. 10 5
      ilm/iVProg/1.0.20200221/ivprog/index.html
  98. 0 0
      ilm/iVProg/1.0.20200221/ivprog/js/Sortable.js
  99. 3 0
      ilm/iVProg/1.0.20211130/ivprog/js/filesaver.min.js
  100. 0 0
      ilm/iVProg/1.0.20200221/ivprog/js/iassign-integration-functions.js

+ 8 - 5
db/install.php

@@ -9,6 +9,8 @@
  * like iVProg (www.matematica.br/ivprog) and iFractions (www.matematica.br/ifractions).
  * The purpose of this scritp is to insert theses initial iLM in your iAssign module.
  * 
+ * - v 1.5.4 2021/12/23
+ *     + Added new version of iVProg 2021_11_30_22_06
  * - v 1.5.3 2020/08/30
  *     + Removed all commands associated to 'upgrade'
  * - v 1.5.2 2020/08/03
@@ -26,6 +28,7 @@
  * @author Leônidas O. Brandão
  * @author Patricia Alves Rodrigues
  * @author Igor Moreira Félix
+ * @version v 1.5.4 2021/12/23: iVProg 2021_11_30_22_06
  * @version v 1.5.3 2020/08/30
  * @version v 1.5.1 2020/05/28-30
  * @version v 1.5 2019/03/13
@@ -64,13 +67,13 @@ function xmldb_iassign_install () {
       }
 
     $records = array(
-      array_combine( // iVProg 1.0.20200121 - HTML5
+      array_combine( // iVProg 1.0.20211130 - HTML5
         array('name', 'url', 'version', 'type', 'description',
               'extension', 'file_jar', 'file_class', 'width', 'height',
               'enable', 'evaluate', 'reevaluate', 'timemodified', 'author', 'timecreated',
               'editingbehavior', 'submissionbehavior', 'action_buttons'),
-        array('iVProg', 'http://www.usp.br/line/ivprog/', '1.0.20200121', 'HTML5', '{"en":"Visual Interactive Programming on the Internet (HTML)","pt_br":"Programação visual interativa na Internet"}',
-              'ivph', 'ilm/iVProg/1.0.20200221/ivprog/', 'index.html', 800, 600,
+        array('iVProg', 'http://www.usp.br/line/ivprog/', '1.0.20211130', 'HTML5', '{"en":"Visual Interactive Programming on the Internet (HTML)","pt_br":"Programação visual interativa na Internet"}',
+              'ivph', 'ilm/iVProg/1.0.20211130/ivprog/', 'index.html', 800, 600,
               1, 1, 1, time(), $USER->id, time(),
               1, 0, 1)),
       array_combine( // iHanoi 1.0.20200803 - HTML5
@@ -88,7 +91,7 @@ function xmldb_iassign_install () {
               'enable', 'evaluate', 'reevaluate', 'timemodified', 'author', 'timecreated',
               'editingbehavior', 'submissionbehavior', 'action_buttons'),
         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, 800,
+              'frc', 'ilm/iFractions/0.1.20200221/ifractions/', 'index.html', 1000, 600,
               1, 1, 0, time(), $USER->id, time(),
               0, 1, 0)),
       array_combine( // iGeom 5.9.22 - Java
@@ -179,4 +182,4 @@ function xmldb_iassign_install () {
 
   return true;
 
-  } // function xmldb_iassign_install()
+  } // function xmldb_iassign_install()

+ 0 - 0
db/messages.php


+ 110 - 19
db/upgrade.php

@@ -14,6 +14,8 @@
  * The commands in here will all be database-neutral,
  * using the functions defined in lib/ddllib.php
  * 
+ * - v 1.5.4 2021/12/23
+ *     + Added new version of iVProg 2021_11_30_22_06
  * - v 1.5.2 2020/08/03
  *     + Fixed 'ALTER TABLE' of 'iassign_submission.grade' from BIGINT(11) to REAL 
  *     + New version of iHanoi 1.0.20200803
@@ -50,8 +52,15 @@ function xmldb_iassign_upgrade ($oldversion) {
 
   $dbman = $DB->get_manager();
 
-  //L if ($oldversion < 2019112219) {
-  if ($oldversion < 2020070613) {
+  // Sequence of updates:
+  // - 2020070613: structure
+  // - 2020080300
+  // - 2020120500
+  // - 2020122900
+  // - 2021020700
+  // - 2021122300: new version iVProg "1.0.20211130"
+
+  if ($oldversion < 2020070613) { // < 2020070613
     $table = new xmldb_table('iassign_submission');
     $field = new xmldb_field('previous_grade', XMLDB_TYPE_FLOAT, null, null, null, null, null);
     if (!$dbman->field_exists($table, $field)) {
@@ -68,9 +77,9 @@ function xmldb_iassign_upgrade ($oldversion) {
       array_combine( // iHanoi 1.0.20200803
         array('name', 'url', 'version', 'type', 'description', 'extension', 'file_jar', 'file_class', 'width', 'height', 'enable', 'timemodified', 'author', 'timecreated', 'evaluate', 'reevaluate'),
         array('iHanoi', 'http://www.matematica.br/ihanoi', '1.0.20200803', 'HTML5', '{"en":"interactive Tower os Hanoi (by LInE)", "pt_br":"Torres de Hanói (do LInE)"}', 'ihn', 'ilm/iHanoi/1.0.20200803/ihanoi/', 'index.html', 1100, 500, 1, time(), $USER->id, time(), 1, 0)),
-      array_combine( // iVProg 1.0.20200221/ - HTML5 - 2020
+      array_combine( // iVProg 1.0.20211130/ - HTML5 - 2020
         array('name', 'url', 'version', 'type', 'description', 'extension', 'file_jar', 'file_class', 'width', 'height', 'enable', 'timemodified', 'author', 'timecreated', 'evaluate', 'reevaluate'),
-        array('iVProg', 'http://www.usp.br/line/ivprog/', '1.0.20200221', 'HTML5', '{"en":"Visual Interactive Programming on the Internet (HTML)","pt_br":"Programação visual interativa na Internet"}', 'ivph', 'ilm/iVProg/1.0.20200221/ivprog/', 'index.html', 800, 600, 1, time(), $USER->id, time(), 1, 1)),
+        array('iVProg', 'http://www.usp.br/line/ivprog/', '1.0.20211130', 'HTML5', '{"en":"Visual Interactive Programming on the Internet (HTML)","pt_br":"Programação visual interativa na Internet"}', 'ivph', 'ilm/iVProg/1.0.20211130/ivprog/', 'index.html', 800, 600, 1, time(), $USER->id, time(), 1, 1)),
       array_combine( // iFractions 0.1.20200221 - HTML5
         array('name', 'url', 'version', 'type', 'description', 'extension', 'file_jar', 'file_class', 'width', 'height', 'enable', 'timemodified', 'author', 'timecreated', 'evaluate', 'reevaluate'), 
         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, time(), $USER->id, time(), 1, 0))
@@ -202,7 +211,7 @@ function xmldb_iassign_upgrade ($oldversion) {
       $DB->execute($sql);
       }
 
-    // Update iHanoi, iVProg, iFractions and iGeom
+    // Update iHanoi
     $records = array(
       array_combine( // iHanoi 1.0.20200803
         array('name', 'url', 'version', 'type', 'description',
@@ -215,10 +224,11 @@ function xmldb_iassign_upgrade ($oldversion) {
     $iassign_ilm = $DB->get_records('iassign_ilm');
     foreach ($records as $record) { // For each iLM in the current version of iAssign
       $newentry = new stdClass();
+
       $newentry->name = $record['name'];
+      $newentry->url = $record['url'];
       $newentry->version = $record['version'];
       $newentry->type = $record['type'];
-      $newentry->url = $record['url'];
       $newentry->description = $record['description'];
       $newentry->extension = $record['extension'];
       $newentry->file_jar = $record['file_jar'];
@@ -231,7 +241,6 @@ function xmldb_iassign_upgrade ($oldversion) {
       $newentry->reevaluate = $record['reevaluate'];
       $newentry->author = $USER->id;
       $newentry->timecreated = time();
-      $newentry->evaluate = $record['evaluate'];
 
       $exists = 0;
       $last_id = -1;
@@ -298,7 +307,6 @@ function xmldb_iassign_upgrade ($oldversion) {
     // Updating all registers from iassing_statement.filesid
     $DB->execute("UPDATE {iassign_statement} SET filesid = file");
 
-
     // 1. encontrar os contextos dos arquivos do itarefa:
     $iassign_contexts_list = $DB->get_records_sql("SELECT DISTINCT contextid FROM {files} f WHERE component='mod_iassign'");
     // 2. compor um array com todos os contextos encontrados: 
@@ -348,9 +356,9 @@ function xmldb_iassign_upgrade ($oldversion) {
       } // foreach ($iassign_statement_list as $iassign_statement_activity_item)
     } // if ($oldversion < 2020120500)
 
-  /// @Igor - adicionar a tabela iassign_allsubmissions
-  if ($oldversion < 2020122900) { 
 
+  /// @Igor - adicionar a tabela iassign_allsubmissions
+  if ($oldversion < 2020122900) { // < 2020122900
     // Define table iassign_allsubmissions to be created.
     $table = new xmldb_table('iassign_allsubmissions');
 
@@ -476,16 +484,99 @@ function xmldb_iassign_upgrade ($oldversion) {
 
     } // if ($oldversion < 2020122900)
 
-    if ($oldversion < 2021020700) { 
-
-      // Update SAW iVProg to inform reevalute is enabled:
-      $updateentry = new stdClass();
-      $updateentry->id = 57;
-      $updateentry->reevaluate = 1;
-      $updateentry->timemodified = time();
-      $DB->update_record("iassign_ilm", $updateentry); // insert new iLM
+  if ($oldversion < 2021020700) { 
+    // Update SAW iVProg to inform reevalute is enabled:
+    $updateentry = new stdClass();
+    $updateentry->id = 57;
+    $updateentry->reevaluate = 1;
+    $updateentry->timemodified = time();
+    $DB->update_record("iassign_ilm", $updateentry); // insert new iLM
     }
-    
+
+  if ($oldversion < 2021122300) {
+
+    // Update iHanoi
+    $records = array(
+      array_combine( // iVProg 1.0.20211130/ - HTML5 - 2021/12/30
+        array('name', 'url', 'version', 'type', 'description', 'extension', 'file_jar', 'file_class', 'width', 'height', 'enable', 'timemodified', 'author', 'timecreated', 'evaluate', 'reevaluate'),
+        array('iVProg', 'http://www.usp.br/line/ivprog/', '1.0.20211130', 'HTML5', '{"en":"Visual Interactive Programming on the Internet (HTML)","pt_br":"Programação visual interativa na Internet"}',
+              'ivph', 'ilm/iVProg/1.0.20211123/ivprog/', 'index.html', 800, 600, 1, time(), $USER->id, time(), 1, 1))
+        );
+    $iassign_ilm = $DB->get_records('iassign_ilm');
+    foreach ($records as $record) { // For each iLM in the current version of iAssign
+      $newentry = new stdClass();
+      $newentry->name = $record['name'];
+      $newentry->url = $record['url'];
+      $newentry->version = $record['version'];
+      $newentry->type = $record['type'];
+      $newentry->description = $record['description'];
+      $newentry->extension = $record['extension'];
+      $newentry->file_jar = $record['file_jar'];
+      $newentry->file_class = $record['file_class'];
+      $newentry->width = $record['width'];
+      $newentry->height = $record['height'];
+      $newentry->enable = $record['enable'];
+      $newentry->timemodified = time();
+      $newentry->author = $USER->id;
+      $newentry->timecreated = time();
+      $newentry->evaluate = $record['evaluate'];
+      $newentry->reevaluate = $record['reevaluate'];
+
+//parent
+//16 => NULL,
+      $exists = 0;
+      $last_id = -1;
+      if ($iassign_ilm) { // Search if there is any previous installed iLM that is also in the current version of iAssign
+        $record_type = strtolower($record['type']);
+        foreach ($iassign_ilm as $iassign) {
+          if ($iassign->name == $record['name'] && strtolower($iassign->type) == $record_type) {
+            if ($iassign->id > $last_id)
+              $last_id = $iassign->id; // last ID => last version (hopefully)
+            if ($iassign->version == $record['version']) { // or with the one with the same version
+              $exists = 1; // iLM found - exit with the last one, same version
+              $strNot_installed += "\n" + '  <li>' + $record['name'] + ';' + $record['type'] + ';' + $record['version'] + ' </li>' + "\n";
+              break;
+              }
+            }
+          }
+        $newentry->parent = $last_id; // parent is the last iLM found (corresponde to the smallest ID)
+        }
+      else
+        $newentry->parent = -1; // first iLM of this one
+      if ($exists == 0) { // iLM does not exists or it has old version
+        // $newentry->parent = $record['parent'];
+        $DB->insert_record("iassign_ilm", $newentry, false);
+        }
+      } // foreach ($records as $record)
+
+    if ($strNot_installed != '') {
+      print '<div class="alert alert-warning alert-block fade in " role="alert" data-aria-autofocus="true" tabindex="0" >' + "\n";
+      print get_string('upgrade_alert_exists', 'iassign'); // iLM previouly existent
+      print ' <ul style="margin-top: 1rem;">' + "\n";
+      print $strNot_installed;
+      print ' </ul>' + "\n";
+      print '</div>' + "\n";
+      }
+
+    // iassign_ilm: atualizou iHanoi existente, mas nao era isso! Deveria ter inserido novo!
+    //   id name   version type  ...  parent file_jar              file_class  width height  ...  evaluate reevaluate
+    //   53 iHanoi 2       HTML5 ...  0      ilm/iHanoi/2/ihanoi/  index.html  1100  700     ...  1        0
+    $iassign_ilm = $DB->get_records('iassign_ilm');
+    foreach ($iassign_ilm as $iassign) { // for iLM iHanoi update the new field 'reevaluate' as 1
+      if ($iassign->name == 'iHanoi' && $iassign->type == 'HTML5' && $iassign->reevaluate!=1) {
+        $updateentry = new stdClass();
+        $updateentry->id = $iassign->id;
+        $updateentry->reevaluate = 1;
+        $updateentry->timemodified = time();
+        $DB->update_record("iassign_ilm", $updateentry);
+        break;
+        }
+      }
+
+    // iAssign savepoint reached.
+    upgrade_mod_savepoint(true, 2021122300, 'iassign');
+    } // if ($oldversion < 2021122300)
+
 
   // log event -----------------------------------------------------
   if (class_exists('plugin_manager'))

+ 0 - 0
iassign_form.php


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/audio/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/img/NOT-USED/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/img/character/balloon/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/img/character/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/img/character/kid/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/img/character/tractor/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/img/flag/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/img/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/img/info_box/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/img/interac_icon/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/img/interac_icon/info.png


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/img/levels/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/img/navig_icon/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/img/scene/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/assets/lang/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/css/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/js/customMenu.js


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/js/gameMechanics.js


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/js/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/js/menu.js


+ 0 - 0
ilm/iFractions/0.1.20200221/ifractions/php/index.html


+ 0 - 0
ilm/iFractions/0.1.20200221/index.html


+ 0 - 0
ilm/iFractions/index.html


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 27656
ilm/iVProg/1.0.20200221/ivprog/js/main.0dbe69c90e79a59997bc.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/main.0dbe69c90e79a59997bc.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 27656
ilm/iVProg/1.0.20200221/ivprog/js/main.178e3d646fb79d7bafa6.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/main.178e3d646fb79d7bafa6.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 27651
ilm/iVProg/1.0.20200221/ivprog/js/main.25bbb06803f26e12b972.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/main.25bbb06803f26e12b972.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 27651
ilm/iVProg/1.0.20200221/ivprog/js/main.308b4036355a0af3793b.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/main.308b4036355a0af3793b.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 27656
ilm/iVProg/1.0.20200221/ivprog/js/main.30fa082cc8a9942d60d0.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/main.30fa082cc8a9942d60d0.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 27723
ilm/iVProg/1.0.20200221/ivprog/js/main.5e7761a70f5b53c69b09.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/main.5e7761a70f5b53c69b09.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/main.62cc622a22001acbba1b.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 27741
ilm/iVProg/1.0.20200221/ivprog/js/main.6c02d4b0a0f0875beb2e.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/main.6c02d4b0a0f0875beb2e.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 27723
ilm/iVProg/1.0.20200221/ivprog/js/main.7e850e1e799453d24cec.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/main.7e850e1e799453d24cec.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 27656
ilm/iVProg/1.0.20200221/ivprog/js/main.96c8c56bbdf2ab0724c3.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/main.96c8c56bbdf2ab0724c3.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 27651
ilm/iVProg/1.0.20200221/ivprog/js/main.d37a85f034d619e41454.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/main.d37a85f034d619e41454.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 27651
ilm/iVProg/1.0.20200221/ivprog/js/main.d3a24f40f33b9a1c322a.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/main.d3a24f40f33b9a1c322a.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 27651
ilm/iVProg/1.0.20200221/ivprog/js/main.d4ddc7e5339f9c968f82.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/main.d4ddc7e5339f9c968f82.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 27756
ilm/iVProg/1.0.20200221/ivprog/js/main.e0ee3563388774042d6b.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/main.e0ee3563388774042d6b.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
ilm/iVProg/1.0.20200221/ivprog/js/vendors~main.685d1cf2ece1ed4ebb99.js.map


+ 8 - 14
ilm/iVProg/1.0.20200221/ivprog/css/codemirror.css

@@ -60,20 +60,13 @@
 .cm-fat-cursor div.CodeMirror-cursors {
   z-index: 1;
 }
-.cm-fat-cursor-mark {
-  background-color: rgba(20, 255, 20, 0.5);
-  -webkit-animation: blink 1.06s steps(1) infinite;
-  -moz-animation: blink 1.06s steps(1) infinite;
-  animation: blink 1.06s steps(1) infinite;
-}
-.cm-animate-fat-cursor {
-  width: auto;
-  border: 0;
-  -webkit-animation: blink 1.06s steps(1) infinite;
-  -moz-animation: blink 1.06s steps(1) infinite;
-  animation: blink 1.06s steps(1) infinite;
-  background-color: #7e7;
-}
+.cm-fat-cursor .CodeMirror-line::selection,
+.cm-fat-cursor .CodeMirror-line > span::selection, 
+.cm-fat-cursor .CodeMirror-line > span > span::selection { background: transparent; }
+.cm-fat-cursor .CodeMirror-line::-moz-selection,
+.cm-fat-cursor .CodeMirror-line > span::-moz-selection,
+.cm-fat-cursor .CodeMirror-line > span > span::-moz-selection { background: transparent; }
+.cm-fat-cursor { caret-color: transparent; }
 @-moz-keyframes blink {
   0% {}
   50% { background-color: transparent; }
@@ -184,6 +177,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
   position: absolute;
   z-index: 6;
   display: none;
+  outline: none;
 }
 .CodeMirror-vscrollbar {
   right: 0; top: 0;

+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/fonts/NimbusSanLConBold.ttf


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/fonts/NimbusSanLConRegular.ttf


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/fonts/cyrillic-ext-roboto.woff2


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/fonts/cyrillic-roboto.woff2


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/fonts/greek-ext-roboto.woff2


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/fonts/greek-roboto.woff2


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/fonts/latin-ext-roboto.woff2


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/fonts/latin-roboto.woff2


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/fonts/texgyreheros-regular.otf


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/fonts/vietnamese-roboto.woff2


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/ivprog-assessment.css


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/ivprog-editor.css


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/ivprog-term.css


+ 21 - 0
ilm/iVProg/1.0.20200221/ivprog/css/ivprog-visual-1.0.css

@@ -1140,4 +1140,25 @@ i.button_alternate_expression {
 	padding-left: .25rem;
 	cursor: pointer;
 	margin-top: .15rem;
+}
+
+.button_write_expression {
+	cursor: pointer;
+	margin-left: 1rem !important;
+}
+
+.input-expression-field {
+	width: 50%;
+}
+
+.expression-edit-confirm {
+	color: #32a852;
+	font-size: 1.2rem !important;
+	cursor: pointer;
+	margin-left: 1rem !important;
+  margin-right: 1rem !important;
+}
+
+.expression-edit-cancel {
+	cursor: pointer;
 }

+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/roboto.css


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/semantic.min.css


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/show-hint.css


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/brand-icons.eot


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/brand-icons.svg


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/brand-icons.ttf


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/brand-icons.woff


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/brand-icons.woff2


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/icons.eot


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/icons.otf


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/icons.svg


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/icons.ttf


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/icons.woff


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/icons.woff2


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/outline-icons.eot


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/outline-icons.svg


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/outline-icons.ttf


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/outline-icons.woff


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/fonts/outline-icons.woff2


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/themes/default/assets/images/flags.png


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/css/ttcn.css


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/img/empty.svg


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/img/new_line.svg


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/img/no_new_line.svg


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/img/trash-icon.png


+ 10 - 5
ilm/iVProg/1.0.20200221/ivprog/index.html

@@ -2,6 +2,7 @@
 <html>
   <head>
     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+    <meta http-equiv="Pragma" content="no-cache">
     <title></title>
     <link href="css/roboto.css" type="text/css" rel="stylesheet">
     <link rel="stylesheet" href="css/semantic.min.css"/>
@@ -15,10 +16,14 @@
     <script src="js/jquery-ui.min.js"></script>
     <script src="js/semantic.min.js"></script>
     <script src="js/Sortable.js"></script>
+    <script src="js/filesaver.min.js"></script>
     <script src="js/iassign-integration-functions.js"></script>
-  </head>
+
+  <script defer src="js/vendors-node_modules_babel_runtime_helpers_asyncToGenerator_js-node_modules_babel_runtime_hel-72ab78.b1705086fd0a8b295b42.js"></script><script defer src="js/main.351fa5be475052d189cc.js"></script></head>
   <body>
 
+    <input type="file" name="ivph_file" id="ivph_file" style="position:absolute;margin-top: -500px !important;">
+
     <div class="ui height_100 add_accordion" id="ui_main_div">
 
       <div class="title default_visual_title">
@@ -40,10 +45,10 @@
           <a class="item textual_coding_button">
             <i class="code icon"></i>
           </a>
-          <a class="item upload_file_button disabled">
+          <a class="item upload_file_button" id="upload_file_button">
             <i class="upload icon"></i>
           </a>
-          <a class="item download_file_button disabled">
+          <a class="item download_file_button" id="download_file_button">
             <i class="download icon"></i>
           </a>
           <a class="item undo_button disabled">
@@ -111,11 +116,11 @@
     </div>
     <div class="dimmer_content_message">
       <h3>Aconteceu um erro ao processar a atividade. <br> Recarregue a página para tentar novamente.</h3>
-      <button class="positive ui button" onclick="window.parent.location.reload()">Recarregar</button>
+      <button class="positive ui button">Recarregar</button>
     </div>
     <script src="js/iassign-integration-functions.js"></script>
   </div>
-  <script src="js/vendors~main.685d1cf2ece1ed4ebb99.js"></script><script src="js/main.62cc622a22001acbba1b.js"></script></body>
+  </body>
   <script>
     var mouseX;
     var mouseY;

+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/js/Sortable.js


Fichier diff supprimé car celui-ci est trop grand
+ 3 - 0
ilm/iVProg/1.0.20211130/ivprog/js/filesaver.min.js


+ 0 - 0
ilm/iVProg/1.0.20200221/ivprog/js/iassign-integration-functions.js


Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff