]> git.mxchange.org Git - friendica.git/blobdiff - mod/photos.php
Fix off-by-one error in Message ID header count check in Util\Emailer
[friendica.git] / mod / photos.php
index 88cd8782de6381c3e6486d08fe184985e4f5a012..977cebf20db20be6403c7568e521d9e2404a1d32 100644 (file)
@@ -187,7 +187,7 @@ function photos_post(App $a)
        }
 
        if (DI::args()->getArgc() > 3 && DI::args()->getArgv()[2] === 'album') {
-               if (!Strings::isHex(DI::args()->getArgv()[3])) {
+               if (!Strings::isHex(DI::args()->getArgv()[3] ?? '')) {
                        DI::baseUrl()->redirect('photos/' . $user['nickname'] . '/album');
                }
                $album = hex2bin(DI::args()->getArgv()[3]);
@@ -355,12 +355,6 @@ function photos_post(App $a)
                        if ($albname !== $origaname) {
                                Photo::clearAlbumCache($page_owner_uid);
                        }
-                       /* Don't make the item visible if the only change was the album name */
-
-                       $visibility = 0;
-                       if ($photo['desc'] !== $desc || strlen($rawtags)) {
-                               $visibility = 1;
-                       }
                }
 
                if (DBA::isResult($photos) && !$item_id) {
@@ -387,7 +381,7 @@ function photos_post(App $a)
                        $arr['allow_gid']     = $photo['allow_gid'];
                        $arr['deny_cid']      = $photo['deny_cid'];
                        $arr['deny_gid']      = $photo['deny_gid'];
-                       $arr['visible']       = $visibility;
+                       $arr['visible']       = 0;
                        $arr['origin']        = 1;
 
                        $arr['body']          = '[url=' . DI::baseUrl() . '/photos/' . $user['nickname'] . '/image/' . $photo['resource-id'] . ']'
@@ -549,7 +543,7 @@ function photos_post(App $a)
                                        $arr['allow_gid']     = $photo['allow_gid'];
                                        $arr['deny_cid']      = $photo['deny_cid'];
                                        $arr['deny_gid']      = $photo['deny_gid'];
-                                       $arr['visible']       = 1;
+                                       $arr['visible']       = 0;
                                        $arr['verb']          = Activity::TAG;
                                        $arr['gravity']       = GRAVITY_PARENT;
                                        $arr['object-type']   = Activity\ObjectType::PERSON;
@@ -898,7 +892,7 @@ function photos_content(App $a)
                        return;
                }
 
-               $selname = Strings::isHex($datum) ? hex2bin($datum) : '';
+               $selname = (!is_null($datum) && Strings::isHex($datum)) ? hex2bin($datum) : '';
 
                $albumselect = '';
 
@@ -960,7 +954,7 @@ function photos_content(App $a)
        // Display a single photo album
        if ($datatype === 'album') {
                // if $datum is not a valid hex, redirect to the default page
-               if (!Strings::isHex($datum)) {
+               if (is_null($datum) || !Strings::isHex($datum)) {
                        DI::baseUrl()->redirect('photos/' . $user['nickname']. '/album');
                }
                $album = hex2bin($datum);
@@ -1090,7 +1084,7 @@ function photos_content(App $a)
        // Display one photo
        if ($datatype === 'image') {
                // fetch image, item containing image, then comments
-               $ph = Photo::selectToArray([], ["`uid` = ? AND `resource-id` = ? " . $sql_extra, $owner_uid, $datum], ['order' => ['scale' => true]]);
+               $ph = Photo::selectToArray([], ["`uid` = ? AND `resource-id` = ? " . $sql_extra, $owner_uid, $datum], ['order' => ['scale']]);
 
                if (!DBA::isResult($ph)) {
                        if (DBA::exists('photo', ['resource-id' => $datum, 'uid' => $owner_uid])) {
@@ -1129,12 +1123,14 @@ function photos_content(App $a)
                        $order_field = $_GET['order'] ?? '';
 
                        if ($order_field === 'posted') {
-                               $order = 'ASC';
+                               $params = ['order' => [$order_field]];
+                       } elseif (!empty($order_field)) {
+                               $params = ['order' => [$order_field => true]];
                        } else {
-                               $order = 'DESC';
+                               $params = [];
                        }
 
-                       $prvnxt = Photo::selectToArray(['resource-id'], ["`album` = ? AND `uid` = ? AND `scale` = ?" . $sql_extra, $ph[0]['album'], $owner_uid, 0]);
+                       $prvnxt = Photo::selectToArray(['resource-id'], ["`album` = ? AND `uid` = ? AND `scale` = ?" . $sql_extra, $ph[0]['album'], $owner_uid, 0], $params);
 
                        if (DBA::isResult($prvnxt)) {
                                $prv = null;