]> git.mxchange.org Git - friendica.git/blobdiff - src/Worker/ClearCache.php
Merge pull request #12680 from nupplaphil/feat/addon_logger
[friendica.git] / src / Worker / ClearCache.php
index 692a462a77cc66efb64f9e0bf7706c37c5d7babe..593395ad092b8f448c7877135e592943981ef8d0 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2023, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
 
 namespace Friendica\Worker;
 
-use Friendica\Core\Logger;
 use Friendica\Database\DBA;
 use Friendica\DI;
-use Friendica\Model\Photo;
-use Friendica\Util\Proxy as ProxyUtils;
+use Friendica\Util\DateTimeFormat;
 
 /**
  * Clear cache entries
@@ -34,66 +32,13 @@ class ClearCache
 {
        public static function execute()
        {
-               $a = DI::app();
-               $last = DI::config()->get('system', 'cache_last_cleared');
-
-               if ($last) {
-                       $next = $last + (3600); // Once per hour
-                       $clear_cache = ($next <= time());
-               } else {
-                       $clear_cache = true;
-               }
-
-               if (!$clear_cache) {
-                       return;
-               }
-
                // clear old cache
                DI::cache()->clear();
 
-               // clear old item cache files
-               clear_cache();
-
-               // clear cache for photos
-               clear_cache($a->getBasePath(), $a->getBasePath() . "/photo");
-
-               // clear smarty cache
-               clear_cache($a->getBasePath() . "/view/smarty3/compiled", $a->getBasePath() . "/view/smarty3/compiled");
-
-               // clear cache for image proxy
-               if (!DI::config()->get("system", "proxy_disabled")) {
-                       clear_cache($a->getBasePath(), $a->getBasePath() . "/proxy");
-
-                       $cachetime = DI::config()->get('system', 'proxy_cache_time');
-
-                       if (!$cachetime) {
-                               $cachetime = ProxyUtils::DEFAULT_TIME;
-                       }
-
-                       $condition = ['`uid` = 0 AND `resource-id` LIKE "pic:%" AND `created` < NOW() - INTERVAL ? SECOND', $cachetime];
-                       Photo::delete($condition);
-               }
-
                // Delete the cached OEmbed entries that are older than three month
-               DBA::delete('oembed', ["`created` < NOW() - INTERVAL 3 MONTH"]);
-
-               // Delete the cached "parse_url" entries that are older than three month
-               DBA::delete('parsed_url', ["`created` < NOW() - INTERVAL 3 MONTH"]);
-
-               if (DI::config()->get('system', 'optimize_tables')) {
-                       Logger::info('Optimize start');
-                       DBA::e("OPTIMIZE TABLE `auth_codes`");
-                       DBA::e("OPTIMIZE TABLE `cache`");
-                       DBA::e("OPTIMIZE TABLE `challenge`");
-                       DBA::e("OPTIMIZE TABLE `locks`");
-                       DBA::e("OPTIMIZE TABLE `oembed`");
-                       DBA::e("OPTIMIZE TABLE `parsed_url`");
-                       DBA::e("OPTIMIZE TABLE `profile_check`");
-                       DBA::e("OPTIMIZE TABLE `session`");
-                       DBA::e("OPTIMIZE TABLE `tokens`");
-                       Logger::info('Optimize finished');                      
-               }
+               DBA::delete('oembed', ["`created` < ?", DateTimeFormat::utc('now - 3 months')]);
 
-               DI::config()->set('system', 'cache_last_cleared', time());
+               // Delete the cached "parsed_url" entries that are expired
+               DBA::delete('parsed_url', ["`expires` < ?", DateTimeFormat::utcNow()]);
        }
 }