MDL-63266 core: Final deprecation enrol/cli/sync.php
authorPeter Dias <peter@moodle.com>
Mon, 16 Nov 2020 15:11:17 +0000 (23:11 +0800)
committerPeter Dias <peter@moodle.com>
Mon, 16 Nov 2020 15:11:17 +0000 (23:11 +0800)
enrol/database/cli/sync.php [deleted file]
enrol/database/upgrade.txt

diff --git a/enrol/database/cli/sync.php b/enrol/database/cli/sync.php
deleted file mode 100644 (file)
index 9a78691..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-<?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/>.
-
-/**
- * CLI sync for full external database synchronisation.
- *
- * Sample cron entry:
- * # 5 minutes past 4am
- * 5 4 * * * $sudo -u www-data /usr/bin/php /var/www/moodle/enrol/database/cli/sync.php
- *
- * Notes:
- *   - it is required to use the web server account when executing PHP CLI scripts
- *   - you need to change the "www-data" to match the apache user account
- *   - use "su" if "sudo" not available
- *
- * @deprecated since Moodle 3.7 MDL-59986 - please do not use this CLI script any more, use scheduled task instead.
- * @todo       MDL-63266 This will be deleted in Moodle 3.11.
- * @package    enrol_database
- * @copyright  2010 Petr Skoda {@link http://skodak.org}
- * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
-
-define('CLI_SCRIPT', true);
-
-require(__DIR__.'/../../../config.php');
-require_once("$CFG->libdir/clilib.php");
-
-// Now get cli options.
-list($options, $unrecognized) = cli_get_params(array('verbose'=>false, 'help'=>false), array('v'=>'verbose', 'h'=>'help'));
-
-if ($unrecognized) {
-    $unrecognized = implode("\n  ", $unrecognized);
-    cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
-}
-
-if ($options['help']) {
-    $help =
-"Execute enrol sync with external database.
-The enrol_database plugin must be enabled and properly configured.
-
-Options:
--v, --verbose         Print verbose progress information
--h, --help            Print out this help
-
-Example:
-\$ sudo -u www-data /usr/bin/php enrol/database/cli/sync.php
-
-Sample cron entry:
-# 5 minutes past 4am
-5 4 * * * sudo -u www-data /usr/bin/php /var/www/moodle/enrol/database/cli/sync.php
-";
-
-    echo $help;
-    die;
-}
-
-cli_problem('[ENROL DATABASE] The sync enrolments cron script has been deprecated. Please use the scheduled task instead.');
-
-// Abort execution of the CLI script if the enrol_database\task\sync_enrolments is enabled.
-$task = \core\task\manager::get_scheduled_task('enrol_database\task\sync_enrolments');
-if (!$task->get_disabled()) {
-    cli_error('[ENROL DATABASE] The scheduled task sync_enrolments is enabled, the cron execution has been aborted.');
-}
-
-if (!enrol_is_enabled('database')) {
-    cli_error('enrol_database plugin is disabled, synchronisation stopped', 2);
-}
-
-if (empty($options['verbose'])) {
-    $trace = new null_progress_trace();
-} else {
-    $trace = new text_progress_trace();
-}
-
-/** @var enrol_database_plugin $enrol  */
-$enrol = enrol_get_plugin('database');
-$result = 0;
-
-$result = $result | $enrol->sync_courses($trace);
-$result = $result | $enrol->sync_enrolments($trace);
-
-exit($result);
index 53c0931..fb5d57c 100644 (file)
@@ -1,5 +1,8 @@
 This files describes API changes in the enrol_database code.
 
+=== 3.11 ===
+* Final deprecation enrol/database/cli/sync.php. Refer below for substitute.
+
 === 3.9 ===
 * Class enrol_database_admin_setting_category has been removed. This class was only used by the database
   enrolment plugin settings and it was replaced by admin_settings_coursecat_select.