Skip to content

Commit

Permalink
Fix not using course image resize method - adhoc update task.
Browse files Browse the repository at this point in the history
  • Loading branch information
gjb2048 committed Sep 9, 2024
1 parent edaf514 commit acec136
Show file tree
Hide file tree
Showing 3 changed files with 128 additions and 0 deletions.
60 changes: 60 additions & 0 deletions classes/task/update_displayed_images_adhoc.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<?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/>.

/**
* Grid update displayed image adhoc task.
*
* @package format_grid
* @copyright 2024 G J Barnard.
* @author G J Barnard -
* {@link https://moodle.org/user/profile.php?id=442195}
* {@link https://gjbarnard.co.uk}
* @author Based on code originally written by Paul Krix and Julian Ridden.
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
*/
namespace format_grid\task;

/**
* Grid update displayed image adhoc task class.
*
* @package format_grid
* @copyright 2024 G J Barnard.
* @author G J Barnard -
* {@link https://moodle.org/user/profile.php?id=442195}
* {@link https://gjbarnard.co.uk}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
*/
class update_displayed_images_adhoc extends \core\task\adhoc_task {
/**
* Run the task.
*/
public function execute() {
$trace = new \text_progress_trace();
$courseid = $this->get_custom_data();
self::do_update_displayed_images_task($trace, $courseid);
}

/**
* Do the task.
*
* @param progress_trace $trace The trace object.
* @param $courseid Course id.
*/
protected static function do_update_displayed_images_task(\progress_trace $trace, $courseid) {
$trace->output('Executing Grid update displayed images adhoc task on course id ' . $courseid . '.');
\format_grid\toolbox::update_displayed_images($courseid);
}
}
55 changes: 55 additions & 0 deletions classes/task/update_displayed_images_task.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?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/>.

/**
* Update displayed images task.
*
* @package format_grid
* @copyright 2024 G J Barnard.
* @author G J Barnard -
* {@link https://moodle.org/user/profile.php?id=442195}
* {@link https://gjbarnard.co.uk}
* @author Based on code originally written by Paul Krix and Julian Ridden.
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
*/
namespace format_grid\task;

/**
* Grid update displayed images task.
*
* @package format_grid
* @copyright 2024 G J Barnard.
* @author G J Barnard -
* {@link https://moodle.org/user/profile.php?id=442195}
* {@link https://gjbarnard.co.uk}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
*/
class update_displayed_images_task {
/**
* Queue the tasks for each grid format course.
*/
public static function update_displayed_images() {
global $DB;

$gridcourses = $DB->get_records('course', ['format' => 'grid'], '', 'id');

foreach ($gridcourses as $gridcourse) {
$task = new update_displayed_images_adhoc();
$task->set_custom_data($gridcourse->id);
\core\task\manager::queue_adhoc_task($task);
}
}
}
13 changes: 13 additions & 0 deletions db/upgrade.php
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,19 @@ function xmldb_format_grid_upgrade($oldversion = 0) {
upgrade_plugin_savepoint(true, 2023051001, 'format', 'grid');
}

if ($oldversion < 2023101503) {
// Has the upgrade already happened? Thus in versions for Moodle 4.1+ ?
$codebase = get_config('format_grid', 'codebase');
if ((empty($codebase)) || ((!empty($codebase)) && ($codebase < 2024090700))) {
// No!
\format_grid\task\update_displayed_images_task::update_displayed_images();
set_config('codebase', 2024090700, 'format_grid');
}

// Grid savepoint reached.
upgrade_plugin_savepoint(true, 2023101503, 'format', 'grid');
}

// Automatic 'Purge all caches'....
purge_all_caches();

Expand Down

0 comments on commit acec136

Please sign in to comment.