]> git.mxchange.org Git - friendica.git/commitdiff
Replace references to UTC_TIMESTAMP in SQL queries with a DateTimeFormat generated...
authorHypolite Petovan <hypolite@mrpetovan.com>
Thu, 2 Dec 2021 14:19:01 +0000 (09:19 -0500)
committerHypolite Petovan <hypolite@mrpetovan.com>
Sat, 4 Dec 2021 22:53:08 +0000 (17:53 -0500)
14 files changed:
mod/photos.php
mod/wallmessage.php
src/Core/Worker.php
src/Model/Item.php
src/Model/PushSubscriber.php
src/Model/Tag.php
src/Module/OAuth/Token.php
src/Worker/CleanWorkerQueue.php
src/Worker/ExpireAndRemoveUsers.php
src/Worker/ExpireConversations.php
src/Worker/ExpirePosts.php
src/Worker/PollContacts.php
src/Worker/RemoveUnusedContacts.php
src/Worker/UpdateGServers.php

index 4d756583159bb4ea72102bb80a8ce33647bf02e4..9b69867461a5d0f069be1f19d4dd8a3fb8875954 100644 (file)
@@ -604,7 +604,7 @@ function photos_post(App $a)
         * they acquire comments, likes, dislikes, and/or tags
         */
 
-       $r = Photo::selectToArray([], ['`album` = ? AND `uid` = ? AND `created` > UTC_TIMESTAMP() - INTERVAL 3 HOUR', $album, $page_owner_uid]);
+       $r = Photo::selectToArray([], ['`album` = ? AND `uid` = ? AND `created` > ?', $album, $page_owner_uid, DateTimeFormat::utc('now - 3 hours')]);
 
        if (!DBA::isResult($r) || ($album == DI::l10n()->t(Photo::PROFILE_PHOTOS))) {
                $visible = 1;
index 3f9d24ac35cffd65b1b3b19fd2c754a852b86672..d4988aa0cae385a7a73bb007d4bc64ebb49edf05 100644 (file)
@@ -27,6 +27,7 @@ use Friendica\DI;
 use Friendica\Model\Mail;
 use Friendica\Model\Profile;
 use Friendica\Model\User;
+use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Strings;
 
 function wallmessage_post(App $a) {
@@ -56,7 +57,7 @@ function wallmessage_post(App $a) {
                return;
        }
 
-       $total = DBA::count('mail', ["`uid` = ? AND `created` > UTC_TIMESTAMP() - INTERVAL 1 DAY AND `unknown`", $user['uid']]);
+       $total = DBA::count('mail', ["`uid` = ? AND `created` > ? AND `unknown`", $user['uid'], DateTimeFormat::utc('now - 1 day')]);
        if ($total > $user['cntunkmail']) {
                notice(DI::l10n()->t('Number of daily wall messages for %s exceeded. Message failed.', $user['username']));
                return;
@@ -110,7 +111,7 @@ function wallmessage_content(App $a) {
                return;
        }
 
-       $total = DBA::count('mail', ["`uid` = ? AND `created` > UTC_TIMESTAMP() - INTERVAL 1 DAY AND `unknown`", $user['uid']]);
+       $total = DBA::count('mail', ["`uid` = ? AND `created` > ? AND `unknown`", $user['uid'], DateTimeFormat::utc('now - 1 day')]);
        if ($total > $user['cntunkmail']) {
                notice(DI::l10n()->t('Number of daily wall messages for %s exceeded. Message failed.', $user['username']));
                return;
index 8dd1ece8e5e41ada1cc0bfb4a9ed85de59ce219a..7149dd9ce34289545057115702ca4e5fca92e2a2 100644 (file)
@@ -754,7 +754,7 @@ class Worker
                                        }
 
                                        $stamp = (float)microtime(true);
-                                       $jobs = DBA::count('workerqueue', ["`done` AND `executed` > UTC_TIMESTAMP() - INTERVAL ? MINUTE", $interval]);
+                                       $jobs = DBA::count('workerqueue', ["`done` AND `executed` > ?", DateTimeFormat::utc('now - ' . $interval . ' minute')]);
                                        self::$db_duration += (microtime(true) - $stamp);
                                        self::$db_duration_stat += (microtime(true) - $stamp);
                                        $jobs_per_minute[$interval] = number_format($jobs / $interval, 0);
index 50246553ae729e180e42d0a73455024a415d8f90..ca5e4bec02b94fa4231bba30082a09f0a6f50a56 100644 (file)
@@ -2258,8 +2258,8 @@ class Item
                        $condition[] = $network;
                }
 
-               $condition[0] .= " AND `received` < UTC_TIMESTAMP() - INTERVAL ? DAY";
-               $condition[] = $days;
+               $condition[0] .= " AND `received` < ?";
+               $condition[] = DateTimeFormat::utc('now - ' . $days . ' day');
 
                $items = Post::select(['resource-id', 'starred', 'id', 'post-type', 'uid', 'uri-id'], $condition);
 
index 8593478dea27812ec814a0f44397c08e9a8e471c..400336970c886b7f73ccc8f409ed6948246ddfe6 100644 (file)
@@ -54,7 +54,7 @@ class PushSubscriber
        {
                // We'll push to each subscriber that has push > 0,
                // i.e. there has been an update (set in notifier.php).
-               $subscribers = DBA::select('push_subscriber', ['id', 'push', 'callback_url', 'nickname'], ["`push` > 0 AND `next_try` < UTC_TIMESTAMP()"]);
+               $subscribers = DBA::select('push_subscriber', ['id', 'push', 'callback_url', 'nickname'], ["`push` > 0 AND `next_try` < ?", DateTimeFormat::utcNow()]);
 
                while ($subscriber = DBA::fetch($subscribers)) {
                        // We always handle retries with low priority
index fb301d1436299e828913503dcbd55537c7dd4cc6..a61d0e785b7a40c4593eb5244c2235457a367c92 100644 (file)
@@ -29,6 +29,7 @@ use Friendica\Core\System;
 use Friendica\Database\Database;
 use Friendica\Database\DBA;
 use Friendica\DI;
+use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Strings;
 
 /**
@@ -547,7 +548,7 @@ class Tag
        {
                // Get a uri-id that is at least X hours old.
                // We use the uri-id in the query for the hash tags since this is much faster
-               $post = Post::selectFirstThread(['uri-id'], ["`uid` = ? AND `received` < UTC_TIMESTAMP() - INTERVAL ? HOUR", 0, $period],
+               $post = Post::selectFirstThread(['uri-id'], ["`uid` = ? AND `received` < ?", 0, DateTimeFormat::utc('now - ' . $period . ' hour')],
                        ['order' => ['received' => true]]);
                if (empty($post['uri-id'])) {
                        return [];
@@ -600,7 +601,7 @@ class Tag
        {
                // Get a uri-id that is at least X hours old.
                // We use the uri-id in the query for the hash tags since this is much faster
-               $post = Post::selectFirstThread(['uri-id'], ["`uid` = ? AND `received` < UTC_TIMESTAMP() - INTERVAL ? HOUR", 0, $period],
+               $post = Post::selectFirstThread(['uri-id'], ["`uid` = ? AND `received` < ?", 0, DateTimeFormat::utc('now - ' . $period . ' hour')],
                        ['order' => ['received' => true]]);
                if (empty($post['uri-id'])) {
                        return [];
index d41708a092c4f8ab224a278e7dec5ba46cbe50a0..efd4000f676541bbeec65bf160bbad16e5382eef 100644 (file)
@@ -27,6 +27,7 @@ use Friendica\Database\DBA;
 use Friendica\DI;
 use Friendica\Module\BaseApi;
 use Friendica\Security\OAuth;
+use Friendica\Util\DateTimeFormat;
 
 /**
  * @see https://docs.joinmastodon.org/spec/oauth/
@@ -76,8 +77,8 @@ class Token extends BaseApi
                        $token = OAuth::createTokenForUser($application, 0, '');
                } elseif ($request['grant_type'] == 'authorization_code') {
                        // For security reasons only allow freshly created tokens
-                       $condition = ["`redirect_uri` = ? AND `id` = ? AND `code` = ? AND `created_at` > UTC_TIMESTAMP() - INTERVAL ? MINUTE",
-                               $request['redirect_uri'], $application['id'], $request['code'], 5];
+                       $condition = ["`redirect_uri` = ? AND `id` = ? AND `code` = ? AND `created_at` > ?",
+                               $request['redirect_uri'], $application['id'], $request['code'], DateTimeFormat::utc('now - 5 minutes')];
 
                        $token = DBA::selectFirst('application-view', ['access_token', 'created_at'], $condition);
                        if (!DBA::isResult($token)) {
index 15b0a4db1e84392b6dd425d5c7b06bf722b19589..b4fb92732480a3e22a1a380289f09c6201118391 100644 (file)
@@ -24,6 +24,7 @@ namespace Friendica\Worker;
 use Friendica\Core\Worker;
 use Friendica\Database\DBA;
 use Friendica\DI;
+use Friendica\Util\DateTimeFormat;
 
 /**
  * Delete all done workerqueue entries
@@ -32,7 +33,7 @@ class CleanWorkerQueue
 {
        public static function execute()
        {
-               DBA::delete('workerqueue', ['`done` AND `executed` < UTC_TIMESTAMP() - INTERVAL 1 HOUR']);
+               DBA::delete('workerqueue', ["`done` AND `executed` < ?", DateTimeFormat::utc('now - 1 hour')]);
 
                // Optimizing this table only last seconds
                if (DI::config()->get('system', 'optimize_tables')) {
index c2da44d3699e4728c4b71f912c7c6c9b23da8a52..419069d30299830628516b7998843bef50cec0f6 100644 (file)
@@ -25,6 +25,7 @@ use Friendica\Database\DBA;
 use Friendica\Database\DBStructure;
 use Friendica\Model\Photo;
 use Friendica\Model\User;
+use Friendica\Util\DateTimeFormat;
 
 /**
  * Expire and remove user entries
@@ -34,8 +35,8 @@ class ExpireAndRemoveUsers
        public static function execute()
        {
                // expire any expired regular accounts. Don't expire forums.
-               $condition = ["NOT `account_expired` AND `account_expires_on` > ? AND `account_expires_on` < UTC_TIMESTAMP() AND `page-flags` = ? AND `uid` != ?",
-                       DBA::NULL_DATETIME, User::PAGE_FLAGS_NORMAL, 0];
+               $condition = ["NOT `account_expired` AND `account_expires_on` > ? AND `account_expires_on` < ? AND `page-flags` = ? AND `uid` != ?",
+                       DBA::NULL_DATETIME, DateTimeFormat::utcNow(), User::PAGE_FLAGS_NORMAL, 0];
                DBA::update('user', ['account_expired' => true], $condition);
 
                // Ensure to never remove the user with uid=0
@@ -52,7 +53,7 @@ class ExpireAndRemoveUsers
                DBA::close($users);
 
                // delete user records for recently removed accounts
-               $users = DBA::select('user', ['uid'], ["`account_removed` AND `account_expires_on` < UTC_TIMESTAMP()  AND `uid` != ?", 0]);
+               $users = DBA::select('user', ['uid'], ["`account_removed` AND `account_expires_on` < ? AND `uid` != ?", DateTimeFormat::utcNow(), 0]);
                while ($user = DBA::fetch($users)) {
                        // We have to delete photo entries by hand because otherwise the photo data won't be deleted
                        Photo::delete(['uid' => $user['uid']]);
index f7aa593cf6f3cd9fb9e6b35877951b0097f7186c..019b4e1085aaf438e662410b2a2935b543c41062 100644 (file)
@@ -23,6 +23,7 @@ namespace Friendica\Worker;
 
 use Friendica\Database\DBA;
 use Friendica\DI;
+use Friendica\Util\DateTimeFormat;
 
 class ExpireConversations
 {
@@ -36,6 +37,6 @@ class ExpireConversations
                        return;
                }
 
-               DBA::delete('conversation', ["`received` < UTC_TIMESTAMP() - INTERVAL ? DAY", $days]);
+               DBA::delete('conversation', ["`received` < ?", DateTimeFormat::utc('now - ' . $days . ' days')]);
        }
 }
index 8d7b8c6eeaea645988048a255e55d99f453dc90f..d1aa98d05dbac91318965a517f67996c805fa7f5 100644 (file)
@@ -29,6 +29,7 @@ use Friendica\Database\DBStructure;
 use Friendica\DI;
 use Friendica\Model\Item;
 use Friendica\Model\Post;
+use Friendica\Util\DateTimeFormat;
 
 class ExpirePosts
 {
@@ -67,7 +68,7 @@ class ExpirePosts
        {
                Logger::notice('Delete expired posts');
                // physically remove anything that has been deleted for more than two months
-               $condition = ["`gravity` = ? AND `deleted` AND `changed` < UTC_TIMESTAMP() - INTERVAL 60 DAY", GRAVITY_PARENT];
+               $condition = ["`gravity` = ? AND `deleted` AND `changed` < ?", GRAVITY_PARENT, DateTimeFormat::utc('now - 60 days')];
                $rows = Post::select(['guid', 'uri-id', 'uid'],  $condition);
                while ($row = Post::fetch($rows)) {
                        Logger::info('Delete expired item', ['uri-id' => $row['uri-id'], 'guid' => $row['guid']]);
@@ -170,7 +171,7 @@ class ExpirePosts
        {
                // We have to avoid deleting newly created "item-uri" entries.
                // So we fetch a post that had been stored yesterday and only delete older ones.
-               $item = Post::selectFirstThread(['uri-id'], ["`uid` = ? AND `received` < UTC_TIMESTAMP() - INTERVAL ? DAY", 0, 1],
+               $item = Post::selectFirstThread(['uri-id'], ["`uid` = ? AND `received` < ?", 0, DateTimeFormat::utc('now - 1 day')],
                        ['order' => ['received' => true]]);
                if (empty($item['uri-id'])) {
                        Logger::warning('No item with uri-id found - we better quit here');
@@ -222,7 +223,7 @@ class ExpirePosts
                if (!empty($expire_days)) {
                        Logger::notice('Start collecting expired threads', ['expiry_days' => $expire_days]);
                        $uris = DBA::select('item-uri', ['id'], ["`id` IN
-                               (SELECT `uri-id` FROM `post-thread` WHERE `received` < UTC_TIMESTAMP() - INTERVAL ? DAY
+                               (SELECT `uri-id` FROM `post-thread` WHERE `received` < ?
                                        AND NOT `uri-id` IN (SELECT `uri-id` FROM `post-thread-user`
                                                WHERE (`mention` OR `starred` OR `wall` OR `pinned`) AND `uri-id` = `post-thread`.`uri-id`)
                                        AND NOT `uri-id` IN (SELECT `uri-id` FROM `post-category`
@@ -235,7 +236,7 @@ class ExpirePosts
                                                WHERE (`origin` OR `event-id` != 0 OR `post-type` = ?) AND `parent-uri-id` = `post-thread`.`uri-id`)
                                        AND NOT `uri-id` IN (SELECT `uri-id` FROM `post-content`
                                                WHERE `resource-id` != 0 AND `uri-id` = `post-thread`.`uri-id`))",
-                               $expire_days, Item::PT_PERSONAL_NOTE]);
+                           DateTimeFormat::utc('now - ' . (int)$expire_days . ' days'), Item::PT_PERSONAL_NOTE]);
 
                        Logger::notice('Start deleting expired threads');
                        $affected_count = 0;
@@ -252,12 +253,12 @@ class ExpirePosts
                if (!empty($expire_days_unclaimed)) {
                        Logger::notice('Start collecting unclaimed public items', ['expiry_days' => $expire_days_unclaimed]);
                        $uris = DBA::select('item-uri', ['id'], ["`id` IN
-                               (SELECT `uri-id` FROM `post-user` WHERE `gravity` = ? AND `uid` = ? AND `received` < UTC_TIMESTAMP() - INTERVAL ? DAY
+                               (SELECT `uri-id` FROM `post-user` WHERE `gravity` = ? AND `uid` = ? AND `received` < ?
                                        AND NOT `uri-id` IN (SELECT `parent-uri-id` FROM `post-user` AS `i` WHERE `i`.`uid` != ?
                                                AND `i`.`parent-uri-id` = `post-user`.`uri-id`)
                                        AND NOT `uri-id` IN (SELECT `parent-uri-id` FROM `post-user` AS `i` WHERE `i`.`uid` = ?
-                                               AND `i`.`parent-uri-id` = `post-user`.`uri-id` AND `i`.`received` > UTC_TIMESTAMP() - INTERVAL ? DAY))",
-                               GRAVITY_PARENT, 0, $expire_days_unclaimed, 0, 0, $expire_days_unclaimed]);
+                                               AND `i`.`parent-uri-id` = `post-user`.`uri-id` AND `i`.`received` > ?))",
+                               GRAVITY_PARENT, 0, DateTimeFormat::utc('now - ' . (int)$expire_days_unclaimed . ' days'), 0, 0, DateTimeFormat::utc('now - ' . (int)$expire_days_unclaimed . ' days')]);
 
                        Logger::notice('Start deleting unclaimed public items');
                        $affected_count = 0;
index da4ac21420449f49d189667bfed366ed6e859903..313a8c6812b9472425dd38c943011f889f7d62ea 100644 (file)
@@ -45,7 +45,7 @@ class PollContacts
 
                if (!empty($abandon_days)) {
                        $condition = DBA::mergeConditions($condition,
-                               ["`uid` != ? AND `uid` IN (SELECT `uid` FROM `user` WHERE NOT `account_expired` AND NOT `account_removed`  AND `login_date` > UTC_TIMESTAMP() - INTERVAL ? DAY)", 0, $abandon_days]);
+                               ["`uid` != ? AND `uid` IN (SELECT `uid` FROM `user` WHERE NOT `account_expired` AND NOT `account_removed`  AND `login_date` > ?)", 0, DateTimeFormat::utc('now - ' . $abandon_days . ' days')]);
                } else  {
                        $condition = DBA::mergeConditions($condition,
                                ["`uid` != ? AND `uid` IN (SELECT `uid` FROM `user` WHERE NOT `account_expired` AND NOT `account_removed`)", 0]);
index f93e3eb50716ac36eae5323d6d289bcddb34441d..1a184478aa8fadd3a89642819f5037beb4230914 100644 (file)
@@ -26,6 +26,7 @@ use Friendica\Core\Protocol;
 use Friendica\Database\DBA;
 use Friendica\Database\DBStructure;
 use Friendica\Model\Photo;
+use Friendica\Util\DateTimeFormat;
 
 /**
  * Removes public contacts that aren't in use
@@ -35,13 +36,13 @@ class RemoveUnusedContacts
        public static function execute()
        {
                $condition = ["`id` != ? AND `uid` = ? AND NOT `self` AND NOT `nurl` IN (SELECT `nurl` FROM `contact` WHERE `uid` != ?)
-                       AND (NOT `network` IN (?, ?, ?, ?, ?, ?) OR (`archive` AND `success_update` < UTC_TIMESTAMP() - INTERVAL ? DAY))
+                       AND (NOT `network` IN (?, ?, ?, ?, ?, ?) OR (`archive` AND `success_update` < ?))
                        AND NOT `id` IN (SELECT `author-id` FROM `post-user`) AND NOT `id` IN (SELECT `owner-id` FROM `post-user`)
                        AND NOT `id` IN (SELECT `causer-id` FROM `post-user`) AND NOT `id` IN (SELECT `cid` FROM `post-tag`)
                        AND NOT `id` IN (SELECT `contact-id` FROM `post-user`) AND NOT `id` IN (SELECT `cid` FROM `user-contact`)
                        AND NOT `id` IN (SELECT `cid` FROM `event`) AND NOT `id` IN (SELECT `contact-id` FROM `group_member`)
-                       AND `created` < UTC_TIMESTAMP() - INTERVAL ? DAY",
-                       0, 0, 0, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, Protocol::FEED, Protocol::MAIL, Protocol::ACTIVITYPUB, 365, 30];
+                       AND `created` < ?",
+                       0, 0, 0, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, Protocol::FEED, Protocol::MAIL, Protocol::ACTIVITYPUB, DateTimeFormat::utc('now - 365 days'), DateTimeFormat::utc('now - 30 days')];
 
                $total = DBA::count('contact', $condition);
                Logger::notice('Starting removal', ['total' => $total]);
index 38ab6e5d3079f0e55cc3dc4d7cfe9671eaa7c85c..7581065d9141cdb3d1e424b2d87da8b8730e5a51 100644 (file)
@@ -25,6 +25,7 @@ use Friendica\Core\Logger;
 use Friendica\Core\Worker;
 use Friendica\Database\DBA;
 use Friendica\DI;
+use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Strings;
 
 class UpdateGServers
@@ -47,7 +48,7 @@ class UpdateGServers
                }
 
                $total = DBA::count('gserver');
-               $condition = ["`next_contact` < UTC_TIMESTAMP() AND (`nurl` != ? OR `url` != ?)", '', ''];
+               $condition = ["`next_contact` < ? AND (`nurl` != ? OR `url` != ?)",  DateTimeFormat::utcNow(), '', ''];
                $outdated = DBA::count('gserver', $condition);
                Logger::info('Server status', ['total' => $total, 'outdated' => $outdated, 'updating' => $limit]);