]> git.mxchange.org Git - friendica.git/blobdiff - include/poller.php
New cache system with subdirectories
[friendica.git] / include / poller.php
index 6b12445d195004f53d54bbc9143bf1f6dff49bb9..6f2eeed822b80f757adafaf269caac0c656ee91e 100644 (file)
@@ -3,7 +3,7 @@
 require_once("boot.php");
 
 
-function poller_run($argv, $argc){
+function poller_run(&$argv, &$argc){
        global $a, $db;
 
        if(is_null($a)) {
@@ -67,6 +67,16 @@ function poller_run($argv, $argc){
        q("UPDATE user SET `account_expired` = 1 where `account_expired` = 0 
                AND `account_expires_on` != '0000-00-00 00:00:00' 
                AND `account_expires_on` < UTC_TIMESTAMP() ");
+       
+       // delete user and contact records for recently removed accounts
+
+       $r = q("SELECT * FROM `user` WHERE `account_removed` = 1 AND `account_expires_on` < UTC_TIMESTAMP() - INTERVAL 3 DAY");
+       if ($r) {
+               foreach($r as $user) {
+                       q("DELETE FROM `contact` WHERE `uid` = %d", intval($user['uid']));
+                       q("DELETE FROM `user` WHERE `uid` = %d", intval($user['uid']));
+               }
+       }
   
        $abandon_days = intval(get_config('system','account_abandon_days'));
        if($abandon_days < 1)
@@ -92,18 +102,8 @@ function poller_run($argv, $argc){
        // clear old cache
        Cache::clear();
 
-       // clear item cache files if they are older than one day
-       $cache = get_config('system','itemcache');
-       if (($cache != '') and is_dir($cache)) {
-               if ($dh = opendir($cache)) {
-                       while (($file = readdir($dh)) !== false) {
-                               $fullpath = $cache."/".$file;
-                               if ((filetype($fullpath) == "file") and filectime($fullpath) < (time() - 86400))
-                                       unlink($fullpath);
-                       }
-                       closedir($dh);
-               }
-       }
+       // clear old item cache files
+       clear_cache();
 
        $manual_id  = 0;
        $generation = 0;
@@ -118,7 +118,7 @@ function poller_run($argv, $argc){
                $restart = true;
                $generation = intval($argv[2]);
                if(! $generation)
-                       killme();               
+                       killme();
        }
 
        if(($argc > 1) && intval($argv[1])) {
@@ -154,7 +154,7 @@ function poller_run($argv, $argc){
                $sql_extra 
                AND `self` = 0 AND `contact`.`blocked` = 0 AND `contact`.`readonly` = 0 
                AND `contact`.`archive` = 0 
-               AND `user`.`account_expired` = 0 $abandon_sql ORDER BY RAND()",
+               AND `user`.`account_expired` = 0 AND `user`.`account_removed` = 0 $abandon_sql ORDER BY RAND()",
                intval(CONTACT_IS_SHARING),
                intval(CONTACT_IS_FRIEND),
                dbesc(NETWORK_DIASPORA),
@@ -201,8 +201,8 @@ function poller_run($argv, $argc){
 
 
                                if($contact['subhub']) {
-                                       $interval = get_config('system','pushpoll_frequency');
-                                       $contact['priority'] = (($interval !== false) ? intval($interval) : 3);
+                                       $poll_interval = get_config('system','pushpoll_frequency');
+                                       $contact['priority'] = (($poll_interval !== false) ? intval($poll_interval) : 3);
                                        $hub_update = false;
        
                                        if((datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day")) || $force)