45 lines
1.3 KiB
PHP
45 lines
1.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @file
|
|
* Handles incoming requests to fire off regularly-scheduled tasks (cron jobs).
|
|
*/
|
|
|
|
if (!file_exists('includes/bootstrap.inc')) {
|
|
if (!empty($_SERVER['DOCUMENT_ROOT']) && file_exists($_SERVER['DOCUMENT_ROOT'] . '/includes/bootstrap.inc')) {
|
|
chdir($_SERVER['DOCUMENT_ROOT']);
|
|
} elseif (preg_match('@^(.*)[\\\\/]sites[\\\\/][^\\\\/]+[\\\\/]modules[\\\\/]([^\\\\/]+[\\\\/])?elysia(_cron)?$@', getcwd(), $r) && file_exists($r[1] . '/includes/bootstrap.inc')) {
|
|
chdir($r[1]);
|
|
} else {
|
|
die("Cron Fatal Error: Can't locate bootstrap.inc. Check cron.php position.");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Root directory of Drupal installation.
|
|
*/
|
|
define('DRUPAL_ROOT', getcwd());
|
|
|
|
include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
|
|
drupal_override_server_variables(array(
|
|
'SCRIPT_NAME' => '/cron.php',
|
|
));
|
|
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
|
|
|
|
if (!isset($_GET['cron_key']) || variable_get('cron_key', 'drupal') != $_GET['cron_key']) {
|
|
watchdog('cron', 'Cron could not run because an invalid key was used.', array(), WATCHDOG_NOTICE);
|
|
drupal_access_denied();
|
|
}
|
|
elseif (variable_get('maintenance_mode', 0)) {
|
|
watchdog('cron', 'Cron could not run because the site is in maintenance mode.', array(), WATCHDOG_NOTICE);
|
|
drupal_access_denied();
|
|
}
|
|
else {
|
|
if (function_exists('elysia_cron_run')) {
|
|
elysia_cron_run();
|
|
}
|
|
else {
|
|
drupal_cron_run();
|
|
}
|
|
}
|