[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/enrol/ldap/cli/ -> sync.php (source)

   1  <?php
   2  // This file is part of Moodle - http://moodle.org/
   3  //
   4  // Moodle is free software: you can redistribute it and/or modify
   5  // it under the terms of the GNU General Public License as published by
   6  // the Free Software Foundation, either version 3 of the License, or
   7  // (at your option) any later version.
   8  //
   9  // Moodle is distributed in the hope that it will be useful,
  10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12  // GNU General Public License for more details.
  13  //
  14  // You should have received a copy of the GNU General Public License
  15  // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
  16  
  17  /**
  18   * CLI sync for full LDAP synchronisation.
  19   *
  20   * This script is meant to be called from a cronjob to sync moodle with the LDAP
  21   * backend in those setups where the LDAP backend acts as 'master' for enrolment.
  22   *
  23   * Sample cron entry:
  24   * # 5 minutes past 4am
  25   * 5 4 * * * $sudo -u www-data /usr/bin/php /var/www/moodle/enrol/ldap/cli/sync.php
  26   *
  27   * Notes:
  28   *   - it is required to use the web server account when executing PHP CLI scripts
  29   *   - you need to change the "www-data" to match the apache user account
  30   *   - use "su" if "sudo" not available
  31   *   - If you have a large number of users, you may want to raise the memory limits
  32   *     by passing -d momory_limit=256M
  33   *   - For debugging & better logging, you are encouraged to use in the command line:
  34   *     -d log_errors=1 -d error_reporting=E_ALL -d display_errors=0 -d html_errors=0
  35   *
  36   * @package    enrol_ldap
  37   * @author     Iñaki Arenaza - based on code by Martin Dougiamas, Martin Langhoff and others
  38   * @copyright  1999 onwards Martin Dougiamas {@link http://moodle.com}
  39   * @copyright  2010 Iñaki Arenaza <iarenaza@eps.mondragon.edu>
  40   * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  41   */
  42  
  43  define('CLI_SCRIPT', true);
  44  
  45  require(__DIR__.'/../../../config.php');
  46  require_once("$CFG->libdir/clilib.php");
  47  
  48  // Ensure errors are well explained.
  49  set_debugging(DEBUG_DEVELOPER, true);
  50  
  51  if (!enrol_is_enabled('ldap')) {
  52      cli_error(get_string('pluginnotenabled', 'enrol_ldap'), 2);
  53  }
  54  
  55  /** @var enrol_ldap_plugin $enrol */
  56  $enrol = enrol_get_plugin('ldap');
  57  
  58  $trace = new text_progress_trace();
  59  
  60  // Update enrolments -- these handlers should autocreate courses if required.
  61  $enrol->sync_enrolments($trace);
  62  
  63  exit(0);


Generated: Thu Aug 11 10:00:09 2016 Cross-referenced by PHPXref 0.7.1