]> git.mxchange.org Git - friendica.git/blobdiff - mod/photos.php
Merge pull request #12807 from HankG/mastodon-trending-api-updates
[friendica.git] / mod / photos.php
index d7d25c0ed821f36c752d3fa47932e173142d2643..050a254af381d4ce41d7c34e51cfe3a34294e68c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2022, the Friendica project
+ * @copyright Copyright (C) 2010-2023, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -31,6 +31,7 @@ use Friendica\Core\Logger;
 use Friendica\Core\Renderer;
 use Friendica\Core\System;
 use Friendica\Database\DBA;
+use Friendica\Database\DBStructure;
 use Friendica\DI;
 use Friendica\Model\Contact;
 use Friendica\Model\Item;
@@ -61,7 +62,7 @@ function photos_init(App $a)
        Nav::setSelected('home');
 
        if (DI::args()->getArgc() > 1) {
-               $owner = User::getOwnerDataByNick(DI::args()->getArgv()[1]);
+               $owner = Profile::load(DI::app(), DI::args()->getArgv()[1], false);
                if (!isset($owner['account_removed']) || $owner['account_removed']) {
                        throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
                }
@@ -110,12 +111,6 @@ function photos_init(App $a)
                        ]);
                }
 
-               if (empty(DI::page()['aside'])) {
-                       DI::page()['aside'] = '';
-               }
-
-               DI::page()['aside'] .= Widget\VCard::getHTML($owner);
-
                if (!empty($photo_albums_widget)) {
                        DI::page()['aside'] .= $photo_albums_widget;
                }
@@ -923,7 +918,7 @@ function photos_content(App $a)
 
                        if ($order_field === 'created') {
                                $params = ['order' => [$order_field]];
-                       } elseif (!empty($order_field)) {
+                       } elseif (!empty($order_field) && DBStructure::existsColumn('photo', [$order_field])) {
                                $params = ['order' => [$order_field => true]];
                        } else {
                                $params = [];
@@ -936,11 +931,17 @@ function photos_content(App $a)
                                $nxt = null;
                                foreach ($prvnxt as $z => $entry) {
                                        if ($entry['resource-id'] == $ph[0]['resource-id']) {
-                                               $prv = $z - 1;
-                                               $nxt = $z + 1;
+                                               $prv = $order_field === 'created' ? $z - 1 : $z + 1;
+                                               $nxt = $order_field === 'created' ? $z + 1 : $z - 1;
                                                if ($prv < 0) {
                                                        $prv = count($prvnxt) - 1;
                                                }
+                                               if ($nxt < 0) {
+                                                       $nxt = count($prvnxt) - 1;
+                                               }
+                                               if ($prv >= count($prvnxt)) {
+                                                       $prv = 0;
+                                               }
                                                if ($nxt >= count($prvnxt)) {
                                                        $nxt = 0;
                                                }