]> git.mxchange.org Git - friendica.git/blobdiff - src/Worker/CronHooks.php
Merge pull request #4143 from annando/comment-public
[friendica.git] / src / Worker / CronHooks.php
index 5f15c93794e958c90ebe988d3368ea58e7685ec2..fed65b2291e757d484dd8a963456a981c1a14eb6 100644 (file)
@@ -1,54 +1,61 @@
 <?php
+/**
+ * @file src/Worker/CronHooks.php
+ */
+
+namespace Friendica\Worker;
 
 use Friendica\Core\Config;
 use Friendica\Core\Worker;
 
-function cronhooks_run(&$argv, &$argc) {
-       global $a;
+Class CronHooks {
+       public static function execute($hook = '') {
+               global $a;
 
-       require_once 'include/datetime.php';
+               require_once 'include/datetime.php';
 
-       if (($argc == 2) && is_array($a->hooks) && array_key_exists("cron", $a->hooks)) {
-               foreach ($a->hooks["cron"] as $hook) {
-                       if ($hook[1] == $argv[1]) {
-                               logger("Calling cron hook '" . $hook[1] . "'", LOGGER_DEBUG);
-                               call_single_hook($a, $name, $hook, $data);
+               if (($hook != '') && is_array($a->hooks) && array_key_exists("cron", $a->hooks)) {
+                       foreach ($a->hooks["cron"] as $single_hook) {
+                               if ($single_hook[1] == $hook) {
+                                       logger("Calling cron hook '" . $hook . "'", LOGGER_DEBUG);
+                                       call_single_hook($a, $hook, $single_hook);
+                               }
                        }
+                       return;
                }
-               return;
-       }
 
-       $last = Config::get('system', 'last_cronhook');
+               $last = Config::get('system', 'last_cronhook');
 
-       $poll_interval = intval(Config::get('system', 'cronhook_interval'));
-       if (! $poll_interval) {
-               $poll_interval = 9;
-       }
+               $poll_interval = intval(Config::get('system', 'cronhook_interval'));
+               if (!$poll_interval) {
+                       $poll_interval = 9;
+               }
 
-       if ($last) {
-               $next = $last + ($poll_interval * 60);
-               if ($next > time()) {
-                       logger('cronhook intervall not reached');
-                       return;
+               if ($last) {
+                       $next = $last + ($poll_interval * 60);
+                       if ($next > time()) {
+                               logger('cronhook intervall not reached');
+                               return;
+                       }
                }
-       }
 
-       $a->set_baseurl(Config::get('system', 'url'));
+               $a->set_baseurl(Config::get('system', 'url'));
 
-       logger('cronhooks: start');
+               logger('cronhooks: start');
 
-       $d = datetime_convert();
+               $d = datetime_convert();
 
-       if (is_array($a->hooks) && array_key_exists("cron", $a->hooks)) {
-               foreach ($a->hooks["cron"] as $hook) {
-                       logger("Calling cronhooks for '" . $hook[1] . "'", LOGGER_DEBUG);
-                       Worker::add(PRIORITY_MEDIUM, "cronhooks", $hook[1]);
+               if (is_array($a->hooks) && array_key_exists("cron", $a->hooks)) {
+                       foreach ($a->hooks["cron"] as $hook) {
+                               logger("Calling cronhooks for '" . $hook[1] . "'", LOGGER_DEBUG);
+                               Worker::add(PRIORITY_MEDIUM, "CronHooks", $hook[1]);
+                       }
                }
-       }
 
-       logger('cronhooks: end');
+               logger('cronhooks: end');
 
-       Config::set('system', 'last_cronhook', time());
+               Config::set('system', 'last_cronhook', time());
 
-       return;
+               return;
+       }
 }