summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2000-12-10 15:44:23 +0000
committerDries Buytaert <dries@buytaert.net>2000-12-10 15:44:23 +0000
commit1e993e9367e628c529a7864c1354ca40e39881ff (patch)
tree33ac33a76d55c6d6e15119179fda2f94bfabc847
parentfc8fa68b6f6a4b968f187cc621d9cc9fd585de28 (diff)
downloadbrdo-1e993e9367e628c529a7864c1354ca40e39881ff.tar.gz
brdo-1e993e9367e628c529a7864c1354ca40e39881ff.tar.bz2
- added a new cron deamon as discussed earlier!
-rw-r--r--cron.php12
-rw-r--r--includes/cron.inc24
2 files changed, 36 insertions, 0 deletions
diff --git a/cron.php b/cron.php
new file mode 100644
index 000000000..ebde1b30b
--- /dev/null
+++ b/cron.php
@@ -0,0 +1,12 @@
+<?
+
+include "includes/theme.inc";
+include "includes/cron.inc";
+
+$result = db_query("SELECT * FROM cron");
+
+while ($cron = db_fetch_object($result)) {
+ if (time() - $cron->timestamp > $cron->scheduled) cron_execute($cron);
+}
+
+?>
diff --git a/includes/cron.inc b/includes/cron.inc
new file mode 100644
index 000000000..59ff0a07c
--- /dev/null
+++ b/includes/cron.inc
@@ -0,0 +1,24 @@
+<?
+
+function cron_add($name, $help, $code, $scheduled, $message = "") {
+ if (empty($name) || empty($code) || empty($scheduled)) {
+ $message = "failed: information missing";
+ }
+ else {
+ $result = db_query("INSERT INTO cron (name, help, code, scheduled) VALUES ('". check_input($name) ."', '". check_input($help) ."', '". check_code($code) ."', '". check_input($scheduled) ."')");
+ }
+}
+
+function cron_delete($id) {
+ $result = db_query("DELETE FROM cron WHERE id = $id");
+}
+
+function cron_execute($cron) {
+ eval($cron->code);
+
+ db_query("UPDATE cron SET timestamp = '". time() ."' WHERE id = $cron->id");
+
+ watchdog("message", "cron: executed '$cron->name'");
+}
+
+?>