]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Post/Media.php
Check the edit date before storing history
[friendica.git] / src / Model / Post / Media.php
index c9e3128c4e53710fcdb2945b2ed255d300263418..b783fb6a4fc6c8532c1c2a639ea82c9b7952dce2 100644 (file)
@@ -30,6 +30,7 @@ use Friendica\DI;
 use Friendica\Model\Item;
 use Friendica\Model\Photo;
 use Friendica\Model\Post;
+use Friendica\Network\HTTPClient\Client\HttpClientAccept;
 use Friendica\Network\HTTPClient\Client\HttpClientOptions;
 use Friendica\Util\Images;
 use Friendica\Util\Network;
@@ -169,6 +170,12 @@ class Media
                if (empty($media['mimetype']) || empty($media['size'])) {
                        $timeout = DI::config()->get('system', 'xrd_timeout');
                        $curlResult = DI::httpClient()->head($media['url'], [HttpClientOptions::TIMEOUT => $timeout]);
+
+                       // Workaround for systems that can't handle a HEAD request
+                       if (!$curlResult->isSuccess() && ($curlResult->getReturnCode() == 405)) {
+                               $curlResult = DI::httpClient()->get($media['url'], HttpClientAccept::DEFAULT, [HttpClientOptions::TIMEOUT => $timeout]);
+                       }
+
                        if ($curlResult->isSuccess()) {
                                if (empty($media['mimetype'])) {
                                        $media['mimetype'] = $curlResult->getHeader('Content-Type')[0] ?? '';
@@ -512,7 +519,7 @@ class Media
                        $condition = DBA::mergeConditions($condition, ['type' => $types]);
                }
 
-               return DBA::selectToArray('post-media', [], $condition);
+               return DBA::selectToArray('post-media', [], $condition, ['order' => ['id']]);
        }
 
        /**