MDL-51824 core: initial deprecation of auth sync CLI scripts
authorSimey Lameze <simey@moodle.com>
Thu, 22 Oct 2015 02:59:23 +0000 (10:59 +0800)
committerSimey Lameze <simey@moodle.com>
Mon, 26 Oct 2015 05:36:27 +0000 (13:36 +0800)
This commit does the initial deprecation of the CLI scripts of CAS and LDAP authentication plugins.

auth/cas/cli/sync_users.php
auth/ldap/cli/sync_users.php

index a02c32f..3498f8f 100644 (file)
  * This script is meant to be called from a cronjob to sync moodle with the CAS
  * backend in those setups where the CAS backend acts as 'master'.
  *
- * Sample cron entry:
- * # 5 minutes past 4am
- * 5 4 * * * $sudo -u www-data /usr/bin/php /var/www/moodle/auth/cas/cli/sync_users.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
@@ -40,6 +36,8 @@
  * @package    auth_cas
  * @copyright  2007 Jerome Gutierrez - based on code by Martin Langhoff
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ * @deprecated since Moodle 3.0 MDL-51824 - please do not use this CLI script any more, use scheduled task instead.
+ * @todo MDL-50264 This will be deleted in Moodle 3.2.
  */
 
 define('CLI_SCRIPT', true);
@@ -55,6 +53,14 @@ if (!is_enabled_auth('cas')) {
     die;
 }
 
+cli_problem('[AUTH CAS] The sync users cron has been deprecated. Please use the scheduled task instead.');
+
+// Abort execution of the CLI script if the auth_cas\task\sync_task is enabled.
+$task = \core\task\manager::get_scheduled_task('auth_cas\task\sync_task');
+if (!$task->get_disabled()) {
+    cli_error('[AUTH CAS] The scheduled task sync_task is enabled, the cron execution has been aborted.');
+}
+
 $casauth = get_auth_plugin('cas');
 $casauth->sync_users(true);
 
index 6898293..5de52e0 100644 (file)
  * This script is meant to be called from a cronjob to sync moodle with the LDAP
  * backend in those setups where the LDAP backend acts as 'master'.
  *
- * Sample cron entry:
- * # 5 minutes past 4am
- * 5 4 * * * $sudo -u www-data /usr/bin/php /var/www/moodle/auth/ldap/cli/sync_users.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
@@ -44,6 +40,8 @@
  * @package    auth_ldap
  * @copyright  2004 Martin Langhoff
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ * @deprecated since Moodle 3.0 MDL-51824 - please do not use this CLI script any more, use scheduled task instead.
+ * @todo MDL-50264 This will be deleted in Moodle 3.2.
  */
 
 define('CLI_SCRIPT', true);
@@ -59,6 +57,14 @@ if (!is_enabled_auth('ldap')) {
     die;
 }
 
+cli_problem('[AUTH LDAP] The users sync cron has been deprecated. Please use the scheduled task instead.');
+
+// Abort execution of the CLI script if the auth_ldap\task\sync_task is enabled.
+$taskdisabled = \core\task\manager::get_scheduled_task('auth_ldap\task\sync_task');
+if (!$taskdisabled->get_disabled()) {
+    cli_error('[AUTH LDAP] The scheduled task sync_task is enabled, the cron execution has been aborted.');
+}
+
 $ldapauth = get_auth_plugin('ldap');
 $ldapauth->sync_users(true);