<?php
/**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
if (DI::args()->getArgc() > 1) {
$owner = User::getOwnerDataByNick(DI::args()->getArgv()[1]);
- if (!$owner) {
+ if (empty($owner) || $owner['account_removed']) {
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
}
if (!$can_post) {
notice(DI::l10n()->t('Permission denied.'));
- exit();
+ System::exit();
}
$owner_record = User::getOwnerDataById($page_owner_uid);
if (!$owner_record) {
notice(DI::l10n()->t('Contact information unavailable'));
DI::logger()->info('photos_post: unable to locate contact record for page owner. uid=' . $page_owner_uid);
- exit();
+ System::exit();
}
$aclFormatter = DI::aclFormatter();
}
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]);
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) {
$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'] . ']'
$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;
return;
}
- $selname = Strings::isHex($datum) ? hex2bin($datum) : '';
+ $selname = (!is_null($datum) && Strings::isHex($datum)) ? hex2bin($datum) : '';
$albumselect = '';
// 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);
// 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])) {
$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;
$tags = null;
if (!empty($link_item['id'])) {
- $tag_text = Tag::getCSVByURIId($link_item['uri-id']);
- $arr = explode(',', $tag_text);
// parse tags and add links
$tag_arr = [];
- foreach ($arr as $tag) {
+ foreach (Tag::getByURIId($link_item['uri-id']) as $tag) {
$tag_arr[] = [
- 'name' => BBCode::convert($tag),
- 'removeurl' => '/tagrm/' . $link_item['id'] . '/' . bin2hex($tag)
+ 'name' => $tag['name'],
+ 'removeurl' => '/tagrm/' . $link_item['id'] . '/' . bin2hex($tag['name'])
];
}
$tags = ['title' => DI::l10n()->t('Tags: '), 'tags' => $tag_arr];