From 1bfbcb8b7e91f4b36b703eeee7e6eeb99fbca3a0 Mon Sep 17 00:00:00 2001 From: Igor Wiedler Date: Thu, 28 Oct 2010 21:38:50 +0200 Subject: [feature/system-cron] remove cron_ prefix from files PHPBB3-9596 --- phpBB/includes/cron/lock.php | 80 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 phpBB/includes/cron/lock.php (limited to 'phpBB/includes/cron/lock.php') diff --git a/phpBB/includes/cron/lock.php b/phpBB/includes/cron/lock.php new file mode 100644 index 0000000000..64b82128ce --- /dev/null +++ b/phpBB/includes/cron/lock.php @@ -0,0 +1,80 @@ += time()) + { + return false; + } + } + + $this->cron_id = time() . ' ' . unique_id(); + + $sql = 'UPDATE ' . CONFIG_TABLE . " + SET config_value = '" . $db->sql_escape($this->cron_id) . "' + WHERE config_name = 'cron_lock' AND config_value = '" . $db->sql_escape($config['cron_lock']) . "'"; + $db->sql_query($sql); + + // another cron process altered the table between script start and UPDATE query so exit + if ($db->sql_affectedrows() != 1) + { + return false; + } + + return true; + } + + /** + * Releases cron lock. + * + * Attempting to release a cron lock that is already released is harmless. + */ + public function unlock() + { + global $db; + + $sql = 'UPDATE ' . CONFIG_TABLE . " + SET config_value = '0' + WHERE config_name = 'cron_lock' AND config_value = '" . $db->sql_escape($this->cron_id) . "'"; + $db->sql_query($sql); + } +} -- cgit v1.2.1