diff --git a/server/moodle/blocks/homework/classes/external/filter_homework.php b/server/moodle/blocks/homework/classes/external/filter_homework.php index 2492696e..22935880 100644 --- a/server/moodle/blocks/homework/classes/external/filter_homework.php +++ b/server/moodle/blocks/homework/classes/external/filter_homework.php @@ -26,21 +26,20 @@ namespace block_homework\external; defined('MOODLE_INTERNAL') || die(); - global $CFG; -require_once("$CFG->libdir/externallib.php"); -use coding_exception; +use core_external\external_api; +use core_external\external_function_parameters; +use core_external\external_value; +use core_external\external_single_structure; + use dml_exception; -use external_function_parameters; -use external_value; -use external_single_structure; use JsonException; /** * Class used to filter homework on block plugin. */ -class filter_homework extends \external_api { +class filter_homework extends external_api { /** * * @return external_function_parameters Is a definition of the functions parameter type and a description of it. diff --git a/server/moodle/blocks/homework/classes/external/get_courses.php b/server/moodle/blocks/homework/classes/external/get_courses.php index 5f96fde0..9a00c9f6 100644 --- a/server/moodle/blocks/homework/classes/external/get_courses.php +++ b/server/moodle/blocks/homework/classes/external/get_courses.php @@ -26,22 +26,19 @@ namespace block_homework\external; defined('MOODLE_INTERNAL') || die(); - global $CFG; -require_once("$CFG->libdir/externallib.php"); -use coding_exception; use core_external\external_api; -use dml_exception; -use external_function_parameters; -use external_value; -use external_single_structure; +use core_external\external_function_parameters; +use core_external\external_value; +use core_external\external_single_structure; + use JsonException; /** * */ -class get_courses extends \external_api { +class get_courses extends external_api { /** * * @return external_function_parameters diff --git a/server/moodle/blocks/homework/classes/external/get_homework.php b/server/moodle/blocks/homework/classes/external/get_homework.php index e65ee47f..1da2174b 100644 --- a/server/moodle/blocks/homework/classes/external/get_homework.php +++ b/server/moodle/blocks/homework/classes/external/get_homework.php @@ -26,18 +26,16 @@ namespace block_homework\external; defined('MOODLE_INTERNAL') || die(); - global $CFG; -use coding_exception; -use dml_exception; -use JsonException; - use core_external\external_api; use core_external\external_function_parameters; use core_external\external_value; use core_external\external_single_structure; +use dml_exception; +use JsonException; + /** * */ @@ -60,10 +58,13 @@ public static function execute_parameters() { */ public static function execute($sort) { global $DB, $USER; + $usercourses = enrol_get_users_courses($USER->id, true); $homeworkarray = []; + foreach ($usercourses as $course) { $homeworkrecords = $DB->get_records('homework', ['course_id' => $course->id]); + foreach ($homeworkrecords as $homework) { $homeworkarray[] = [ 'id' => $homework->id, @@ -75,6 +76,7 @@ public static function execute($sort) { ]; } } + if ($sort === 'due') { $homeworkarray = self::sortDueDate($homeworkarray); } diff --git a/server/moodle/blocks/homework/classes/external/get_infohomework_modal.php b/server/moodle/blocks/homework/classes/external/get_infohomework_modal.php index 11164505..fb9c0d82 100644 --- a/server/moodle/blocks/homework/classes/external/get_infohomework_modal.php +++ b/server/moodle/blocks/homework/classes/external/get_infohomework_modal.php @@ -15,17 +15,16 @@ // along with Moodle. If not, see . namespace block_homework\external; - defined('MOODLE_INTERNAL') || die(); global $CFG; -use coding_exception; use core_external\external_api; -use dml_exception; use core_external\external_function_parameters; use core_external\external_value; use core_external\external_single_structure; -use JsonException; + +use coding_exception; +use dml_exception; use Mustache_Engine; /** @@ -56,24 +55,30 @@ public static function execute_parameters(): external_function_parameters { */ public static function execute(int $homeworkid, float $readingspeed): array { global $DB, $USER; + $homework = $DB->get_record('homework', ['id' => $homeworkid], '*', MUST_EXIST); $course = $DB->get_record('course', ['id' => $homework->course_id]); $materials = $DB->get_records('homework_materials', ['homework_id' => $homework->id]); $completedmaterials = $DB->get_records('completions', ['usermodified' => $USER->id]); + $literaturearray = []; $linksarray = []; $videosarray = []; + foreach ($materials as $material) { $completed = false; + foreach ($completedmaterials as $completedmaterial) { if ($completedmaterial->material_id === $material->id) { $completed = true; break; } } + if ($completed) { continue; } + if ($material->startpage !== null && $material->endpage !== null) { if ($material->file_id !== null) { $material->fileurl = self::get_file_link_by_id($material->file_id); @@ -88,6 +93,7 @@ public static function execute(int $homeworkid, float $readingspeed): array { } $videosarray[] = $material; } + if ($material->starttime != null && $material->endtime != null) { $material->expectedTime = ceil(($material->endtime - $material->starttime)/60); } diff --git a/server/moodle/blocks/homework/classes/external/get_stats_modal.php b/server/moodle/blocks/homework/classes/external/get_stats_modal.php index 7a4b5b1c..cc01440f 100644 --- a/server/moodle/blocks/homework/classes/external/get_stats_modal.php +++ b/server/moodle/blocks/homework/classes/external/get_stats_modal.php @@ -15,18 +15,16 @@ // along with Moodle. If not, see . namespace block_homework\external; - defined('MOODLE_INTERNAL') || die(); global $CFG; -use coding_exception; -use core\router\schema\objects\array_of_things; use core_external\external_api; -use dml_exception; use core_external\external_function_parameters; use core_external\external_value; use core_external\external_single_structure; -use core_external\external_multiple_structure; + +use coding_exception; +use dml_exception; use JsonException; use Mustache_Engine; @@ -54,7 +52,7 @@ public static function execute_parameters(): external_function_parameters { /** * Generates the custom HTML for the stats modal. * - * @param array_of_things $stats The stats array + * @param string[] $stats The stats array * @return string[] - The HTML to be shown client-side * @throws dml_exception|JsonException */ diff --git a/server/moodle/blocks/homework/classes/external/save_homeworktime.php b/server/moodle/blocks/homework/classes/external/save_homeworktime.php index b7175121..fe1a9472 100644 --- a/server/moodle/blocks/homework/classes/external/save_homeworktime.php +++ b/server/moodle/blocks/homework/classes/external/save_homeworktime.php @@ -15,10 +15,8 @@ // along with Moodle. If not, see . namespace block_homework\external; - defined('MOODLE_INTERNAL') || die(); global $CFG; -// Comment out line below for test if phpunit does not respond to putting run in separate process. use core_external\external_api; use core_external\external_multiple_structure; diff --git a/server/moodle/mod/homework/classes/external/delete_file.php b/server/moodle/mod/homework/classes/external/delete_file.php index aca1cfe3..074fe2bc 100644 --- a/server/moodle/mod/homework/classes/external/delete_file.php +++ b/server/moodle/mod/homework/classes/external/delete_file.php @@ -24,13 +24,14 @@ namespace mod_homework\external; +use core_external\external_api; +use core_external\external_function_parameters; +use core_external\external_value; + use core\exception\coding_exception; use core\exception\invalid_parameter_exception; use core\exception\moodle_exception; use core\exception\require_login_exception; -use core_external\external_api; -use core_external\external_function_parameters; -use core_external\external_value; use context_system; /** diff --git a/server/moodle/mod/homework/classes/external/delete_homework_material.php b/server/moodle/mod/homework/classes/external/delete_homework_material.php index a3adcdcc..7a38ed81 100644 --- a/server/moodle/mod/homework/classes/external/delete_homework_material.php +++ b/server/moodle/mod/homework/classes/external/delete_homework_material.php @@ -23,20 +23,13 @@ */ namespace mod_homework\external; - defined('MOODLE_INTERNAL') || die(); - global $CFG; -use core\exception\coding_exception; -use core\exception\invalid_parameter_exception; -use core\exception\moodle_exception; -use core\exception\require_login_exception; use core_external\external_api; use core_external\external_function_parameters; use core_external\external_value; use core_external\external_single_structure; -use Matrix\Exception; /** * Class for editing homework materials. diff --git a/server/moodle/mod/homework/classes/external/edit_homework_material.php b/server/moodle/mod/homework/classes/external/edit_homework_material.php index 347544f2..87d8d938 100644 --- a/server/moodle/mod/homework/classes/external/edit_homework_material.php +++ b/server/moodle/mod/homework/classes/external/edit_homework_material.php @@ -23,9 +23,7 @@ */ namespace mod_homework\external; - defined('MOODLE_INTERNAL') || die(); - global $CFG; use core_external\external_api; diff --git a/server/moodle/mod/homework/classes/external/get_events_for_homework.php b/server/moodle/mod/homework/classes/external/get_events_for_homework.php index 257f827b..39509ffa 100644 --- a/server/moodle/mod/homework/classes/external/get_events_for_homework.php +++ b/server/moodle/mod/homework/classes/external/get_events_for_homework.php @@ -22,12 +22,14 @@ * @author group 11 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ + namespace mod_homework\external; use core_external\external_api; use core_external\external_function_parameters; use core_external\external_single_structure; use core_external\external_value; + use dml_exception; /** diff --git a/server/moodle/mod/homework/classes/external/get_homework_chooser.php b/server/moodle/mod/homework/classes/external/get_homework_chooser.php index 65f5b0a5..f4c54d6d 100644 --- a/server/moodle/mod/homework/classes/external/get_homework_chooser.php +++ b/server/moodle/mod/homework/classes/external/get_homework_chooser.php @@ -26,14 +26,14 @@ namespace mod_homework\external; defined('MOODLE_INTERNAL') || die(); - global $CFG; -use core\exception\coding_exception; use core_external\external_api; use core_external\external_function_parameters; use core_external\external_value; use core_external\external_single_structure; + +use core\exception\coding_exception; use core\output\mustache_engine; /** diff --git a/server/moodle/mod/homework/classes/external/homework_event_link.php b/server/moodle/mod/homework/classes/external/homework_event_link.php index cdebc7e5..6e5cb4de 100644 --- a/server/moodle/mod/homework/classes/external/homework_event_link.php +++ b/server/moodle/mod/homework/classes/external/homework_event_link.php @@ -22,16 +22,17 @@ * @author group 11 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ + namespace mod_homework\external; use core_external\external_api; use core_external\external_function_parameters; use core_external\external_single_structure; use core_external\external_value; + use dml_exception; use invalid_parameter_exception; - /** * Class for linking homework and events. */ diff --git a/server/moodle/mod/homework/classes/external/save_homework_material.php b/server/moodle/mod/homework/classes/external/save_homework_material.php index f60da47b..d758828a 100644 --- a/server/moodle/mod/homework/classes/external/save_homework_material.php +++ b/server/moodle/mod/homework/classes/external/save_homework_material.php @@ -23,9 +23,7 @@ */ namespace mod_homework\external; - defined('MOODLE_INTERNAL') || die(); - global $CFG; use core_external\external_api;