X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FPost%2FHistory.php;h=e7699e20c9b0b0f580b8965fea6b6757ab2b5653;hb=ac56dcd50fe0060c96d8430e82513800af5bdb05;hp=e889ccf20559b0344e308fb22646ee26cb3de59e;hpb=324cce7a19a61ed3d305c508ad233ee0ab29323d;p=friendica.git diff --git a/src/Model/Post/History.php b/src/Model/Post/History.php index e889ccf205..e7699e20c9 100644 --- a/src/Model/Post/History.php +++ b/src/Model/Post/History.php @@ -24,7 +24,7 @@ namespace Friendica\Model\Post; use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\Database\Database; -use Friendica\Database\DBStructure; +use Friendica\DI; use Friendica\Model\Post; class History @@ -37,16 +37,22 @@ class History */ public static function add(int $uri_id, array $item) { - $allfields = DBStructure::definition('', false); - $fields = array_keys($allfields['post-history']['fields']); + $allfields = DI::dbaDefinition()->getAll(); + $fields = array_keys($allfields['post-history']['fields']); $post = Post::selectFirstPost($fields, ['uri-id' => $uri_id]); if (empty($post)) { + Logger::warning('Post not found', ['uri-id' => $uri_id]); return; } - $update = false; - $changed = DBStructure::getFieldsForTable('post-history', $item); + if ($item['edited'] <= $post['edited']) { + Logger::info('New edit date is not newer than the old one', ['uri-id' => $uri_id, 'old' => $post['edited'], 'new' => $item['edited']]); + return; + } + + $update = false; + $changed = DI::dbaDefinition()->truncateFieldsForTable('post-history', $item); unset($changed['uri-id']); unset($changed['edited']); foreach ($changed as $field => $content) {