From 348d8bed610bd310516f7eed1bd596fd961b60c3 Mon Sep 17 00:00:00 2001 From: Gero Lueckemeyer <gero.lueckemeyer@hft-stuttgart.de> Date: Mon, 30 Oct 2023 10:42:37 +0100 Subject: [PATCH] added gpl v3 preamble required for moodle approval --- dta.zip | Bin 14582 -> 17975 bytes dta/db/upgrade.php | 26 ++++++++++++---------- dta/lang/en/assignsubmission_dta.php | 14 ++++++++++++ dta/lib.php | 14 ++++++++++++ dta/locallib.php | 14 ++++++++++++ dta/models/DtaResult.php | 14 ++++++++++++ dta/settings.php | 14 ++++++++++++ dta/styles.css | 32 +++++++++++++-------------- dta/utils/backend.php | 14 ++++++++++++ dta/utils/database.php | 14 ++++++++++++ dta/utils/view.php | 14 ++++++++++++ dta/version.php | 15 +++++++++++++ 12 files changed, 157 insertions(+), 28 deletions(-) diff --git a/dta.zip b/dta.zip index 0989f34f5c9409feed051c194fad6f36ec252ac7..97275a3081dca3d9f2c3bec385c0939025ecf263 100644 GIT binary patch delta 15935 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 delta 12516 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
%_ywG8X(6iGwE7V!(b1l+|p?S1nAGTz=ogdPC>j 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 diff --git a/dta/db/upgrade.php b/dta/db/upgrade.php index e869825..66321f5 100644 --- a/dta/db/upgrade.php +++ b/dta/db/upgrade.php @@ -1,4 +1,18 @@ <?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Upgrade code for install @@ -17,17 +31,5 @@ defined('MOODLE_INTERNAL') || die(); function xmldb_assignsubmission_dta_upgrade($oldversion) { global $CFG; - // Moodle v2.8.0 release upgrade line. - // Put any upgrade step following this. - - // Moodle v2.9.0 release upgrade line. - // Put any upgrade step following this. - - // Moodle v3.0.0 release upgrade line. - // Put any upgrade step following this. - - // Moodle v3.1.0 release upgrade line. - // Put any upgrade step following this. - return true; } diff --git a/dta/lang/en/assignsubmission_dta.php b/dta/lang/en/assignsubmission_dta.php index cf15ad2..dced807 100644 --- a/dta/lang/en/assignsubmission_dta.php +++ b/dta/lang/en/assignsubmission_dta.php @@ -1,4 +1,18 @@ <?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Strings for component "assignsubmission_dta", language "en" diff --git a/dta/lib.php b/dta/lib.php index a28c90b..058e217 100644 --- a/dta/lib.php +++ b/dta/lib.php @@ -1,4 +1,18 @@ <?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * This file contains the moodle hooks for the submission DTA plugin diff --git a/dta/locallib.php b/dta/locallib.php index f0fff61..25bba02 100644 --- a/dta/locallib.php +++ b/dta/locallib.php @@ -1,4 +1,18 @@ <?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see <http://www.gnu.org/licenses/>. defined('MOODLE_INTERNAL') || die(); diff --git a/dta/models/DtaResult.php b/dta/models/DtaResult.php index 97d67bd..e96e84b 100644 --- a/dta/models/DtaResult.php +++ b/dta/models/DtaResult.php @@ -1,4 +1,18 @@ <?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see <http://www.gnu.org/licenses/>. class DtaResult { diff --git a/dta/settings.php b/dta/settings.php index 1ec52a8..1dcd60a 100644 --- a/dta/settings.php +++ b/dta/settings.php @@ -1,4 +1,18 @@ <?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * This file defines the admin settings for this plugin diff --git a/dta/styles.css b/dta/styles.css index 2f74951..0919503 100644 --- a/dta/styles.css +++ b/dta/styles.css @@ -1,15 +1,15 @@ /* Prevent word breaking in the grading table */ -.dttSubmissionSummary { +.dtaSubmissionSummary { white-space: nowrap; } -.dttSubmissionSummary, -.dttSubmissionDetails { +.dtaSubmissionSummary, +.dtaSubmissionDetails { margin-top: 15px; } /* empty div between summary and detail table */ -.dttSpacer { +.dtaSpacer { margin-top: 30px; } @@ -17,7 +17,7 @@ * Layout for the Detail view ****************************************************************/ -.dttTable { +.dtaTable { display: inline-block; max-width: 100%; overflow: auto; @@ -27,48 +27,48 @@ overflow-x: hidden; } -.dttTableHeaderRow { +.dtaTableHeaderRow { font-weight: bold; color: white !important; background-color: gray !important; } -.dttTableRow { +.dtaTableRow { background-color: unset !important; border-top: .05rem solid lightgray; } -.dttTableHeaderRow th, -.dttTableRow td { +.dtaTableHeaderRow th, +.dtaTableRow td { padding: .9375em 1.25em; } -.dttStacktraceDetails { +.dtaStacktraceDetails { max-height: 300px; max-width: 70%; overflow: auto; } -.dttResultUnknown { +.dtaResultUnknown { border-left: 10px solid gray; } -.dttResultSuccess { +.dtaResultSuccess { border-left: 10px solid green; } -.dttResultFailure { +.dtaResultFailure { border-left: 10px solid orange; } -.dttResultCompilationError { +.dtaResultCompilationError { border-left: 10px solid red; } -.dttTableRow:hover { +.dtaTableRow:hover { background-color: lightgray !important; } -.dttTableSpacer { +.dtaTableSpacer { border-bottom: 2px solid darkgray; } diff --git a/dta/utils/backend.php b/dta/utils/backend.php index f6d4420..4e790a8 100644 --- a/dta/utils/backend.php +++ b/dta/utils/backend.php @@ -1,4 +1,18 @@ <?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see <http://www.gnu.org/licenses/>. class DtaBackendUtils { diff --git a/dta/utils/database.php b/dta/utils/database.php index 182ad5f..a704541 100644 --- a/dta/utils/database.php +++ b/dta/utils/database.php @@ -1,4 +1,18 @@ <?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see <http://www.gnu.org/licenses/>. class DbUtils { diff --git a/dta/utils/view.php b/dta/utils/view.php index 4c494c5..8487870 100644 --- a/dta/utils/view.php +++ b/dta/utils/view.php @@ -1,4 +1,18 @@ <?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see <http://www.gnu.org/licenses/>. class ViewSubmissionUtils { diff --git a/dta/version.php b/dta/version.php index c411f6c..ddff0ae 100644 --- a/dta/version.php +++ b/dta/version.php @@ -1,4 +1,19 @@ <?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see <http://www.gnu.org/licenses/>. + /** * This file contains the version information for the onlinetext DTA plugin * -- GitLab