From e1c8099581cbc779bba710532aa10cd1ca2f3b80 Mon Sep 17 00:00:00 2001
From: Gero Lueckemeyer <gero.lueckemeyer@hft-stuttgart.de>
Date: Mon, 13 Nov 2023 23:56:53 +0100
Subject: [PATCH] adjusted comments and lines

---
 dta.zip                  | Bin 20531 -> 20533 bytes
 dta/models/DtaResult.php |   8 ++++++++
 dta/utils/backend.php    |   4 ++--
 dta/utils/database.php   |   2 +-
 dta/utils/view.php       |   6 +++---
 5 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/dta.zip b/dta.zip
index 1bd75c975448401504ff29c99df5ee9695cad245..1dc2cab2e4b76667b091b2d6c98f629ee9e195a3 100644
GIT binary patch
delta 10542
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

delta 10577
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
RNN@0ovNW8i-2XK4e*kg&`3?X8

diff --git a/dta/models/DtaResult.php b/dta/models/DtaResult.php
index 13ff012..85e1ee7 100644
--- a/dta/models/DtaResult.php
+++ b/dta/models/DtaResult.php
@@ -14,6 +14,13 @@
 // You should have received a copy of the GNU General Public License
 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
 
+/**
+ * entity classes for DTA submission plugin result summary and test results
+ *
+ * @package assignsubmission_dta
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ * @copyright Gero Lueckemeyer and student project teams
+ */
 defined('MOODLE_INTERNAL') || die();
 
 /**
@@ -85,6 +92,7 @@ class DtaResult {
 
     /**
      * Returns the name of a state with the given number of display.
+     * @param $state number of the state
      * @return name of state as defined
      */
     public static function getstatename(int $state): string {
diff --git a/dta/utils/backend.php b/dta/utils/backend.php
index 772e735..a881f9f 100644
--- a/dta/utils/backend.php
+++ b/dta/utils/backend.php
@@ -21,14 +21,14 @@
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  * @copyright Gero Lueckemeyer and student project teams
  */
- 
+
 /**
  * backend webservice contact utility class
  *
  * @package assignsubmission_dta
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  * @copyright Gero Lueckemeyer and student project teams
- */ 
+ */
 class DtaBackendUtils {
 
     /**
diff --git a/dta/utils/database.php b/dta/utils/database.php
index 1877851..8d54c06 100644
--- a/dta/utils/database.php
+++ b/dta/utils/database.php
@@ -20,7 +20,7 @@
  * @package assignsubmission_dta
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  * @copyright Gero Lueckemeyer and student project teams
- */ 
+ */
 class DbUtils {
 
     /**
diff --git a/dta/utils/view.php b/dta/utils/view.php
index 14d5e44..34d0881 100644
--- a/dta/utils/view.php
+++ b/dta/utils/view.php
@@ -74,7 +74,7 @@ class view_submission_utils {
             $comp = $overallcompetencies[$index];
             // If the competency was actually assessed by the assignment and tests, add a summary entry.
             if ($shown != "0") {
-                $tmp .= get_string("comp" . $index, self::COMPONENT_NAME) . 
+                $tmp .= get_string("comp" . $index, self::COMPONENT_NAME) .
                 " " . 100 * floatval($shown) / floatval($comp) . "% " . "<br />";
             }
         }
@@ -237,7 +237,7 @@ class view_submission_utils {
             $comp = $overallcompetencies[$index];
             $shown = $showncompetencies[$index];
             // If the competency was actually assessed by the assignment and tests, add a row in the table.
-            if($comp != "0") {
+            if ($comp != "0") {
                 // New copy of base attributes array.
                 $resultrowattributes = $tablerowattributes;
                 $tmp = "";
@@ -299,7 +299,7 @@ class view_submission_utils {
                 "td",
                 get_string("unit_name", self::COMPONENT_NAME),
                 $attributes);
-                
+
             $tmp .= html_writer::tag(
                 "td",
                 $r->classname,
-- 
GitLab