diff options
author | fabrixxm <fabrix.xm@gmail.com> | 2011-01-29 09:39:38 +0100 |
---|---|---|
committer | fabrixxm <fabrix.xm@gmail.com> | 2011-01-29 09:39:38 +0100 |
commit | 5b35ceefb96f7122f210e2160c45bb4f8b9917b8 (patch) | |
tree | b687508bd7247100ac0dd51ecf36aed9ea97d5cd /addon/poormancron | |
parent | 8257b1b684d2c6087a93ae690aa27c907e578aa3 (diff) | |
parent | 26cc2e02fe6e075cd35a3069edbc006219f5b435 (diff) | |
download | volse-hubzilla-5b35ceefb96f7122f210e2160c45bb4f8b9917b8.tar.gz volse-hubzilla-5b35ceefb96f7122f210e2160c45bb4f8b9917b8.tar.bz2 volse-hubzilla-5b35ceefb96f7122f210e2160c45bb4f8b9917b8.zip |
Merge branch 'friendika-master'
Diffstat (limited to 'addon/poormancron')
-rw-r--r-- | addon/poormancron/poormancron.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/addon/poormancron/poormancron.php b/addon/poormancron/poormancron.php new file mode 100644 index 000000000..c31d2772c --- /dev/null +++ b/addon/poormancron/poormancron.php @@ -0,0 +1,48 @@ +<?php +/** + * Poor Man Cron. Execute updates on pageviews + * + * Addon Name: poormancron + * + */ + +function poormancron_install() { + register_hook('page_end', 'addon/poormancron/poormancron.php', 'poormancron_hook'); + register_hook('proc_run', 'addon/poormancron/poormancron.php','poormancron_procrun'); + logger("installed poormancron"); +} + +function poormancron_uninstall() { + unregister_hook('page_end', 'addon/poormancron/poormancron.php', 'poormancron_hook'); + unregister_hook('proc_run', 'addon/poormancron/poormancron.php','poormancron_procrun'); + logger("removed poormancron"); +} + + + +function poormancron_hook($a,&$b) { + $now = time(); + $lastupdate = get_config('poormancron', 'lastupdate'); + + // 300 secs, 5 mins + if (!$lastupdate || ($now-$lastupdate)>300) { + set_config('poormancron','lastupdate', $now); + $php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php'); + proc_run($php_path,"include/poller.php"); + } +} + +function poormancron_procrun($a, $argv) { + logger("poormancron procrun ".implode(", ",$argv)); + array_shift($argv); + $argc = count($argv); + logger("poormancron procrun require_once ".basename($argv[0])); + require_once(basename($argv[0])); + $funcname=str_replace(".php", "", basename($argv[0]))."_run"; + + $funcname($argv, $argc); +} + + + +?> |