mirror of
https://github.com/friendica/friendica
synced 2024-11-18 00:23:47 +00:00
Rewrite conditions for photo linked item to prevent crash on old photos
- Addresses https://github.com/friendica/friendica/issues/7297#issuecomment-509064260
This commit is contained in:
parent
8146ff1505
commit
b124c414dc
1 changed files with 15 additions and 15 deletions
|
@ -1301,6 +1301,10 @@ function photos_content(App $a)
|
||||||
'filename' => $hires['filename'],
|
'filename' => $hires['filename'],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$map = null;
|
||||||
|
$link_item = [];
|
||||||
|
$total = 0;
|
||||||
|
|
||||||
// Do we have an item for this photo?
|
// Do we have an item for this photo?
|
||||||
|
|
||||||
// FIXME! - replace following code to display the conversation with our normal
|
// FIXME! - replace following code to display the conversation with our normal
|
||||||
|
@ -1313,16 +1317,12 @@ function photos_content(App $a)
|
||||||
$linked_items = q("SELECT `id` FROM `item` WHERE `resource-id` = '%s' $sql_extra LIMIT 1",
|
$linked_items = q("SELECT `id` FROM `item` WHERE `resource-id` = '%s' $sql_extra LIMIT 1",
|
||||||
DBA::escape($datum)
|
DBA::escape($datum)
|
||||||
);
|
);
|
||||||
|
|
||||||
$map = null;
|
|
||||||
$link_item = [];
|
|
||||||
$total = 0;
|
|
||||||
|
|
||||||
if (DBA::isResult($linked_items)) {
|
if (DBA::isResult($linked_items)) {
|
||||||
// This is a workaround to not being forced to rewrite the while $sql_extra handling
|
// This is a workaround to not being forced to rewrite the while $sql_extra handling
|
||||||
// @TODO: On old photo items without a matching thread record, this sets $link_item to false
|
|
||||||
$link_item = Item::selectFirst([], ['id' => $linked_items[0]['id']]);
|
$link_item = Item::selectFirst([], ['id' => $linked_items[0]['id']]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($link_item['parent']) && !empty($link_item['uid'])) {
|
||||||
$condition = ["`parent` = ? AND `parent` != `id`", $link_item['parent']];
|
$condition = ["`parent` = ? AND `parent` != `id`", $link_item['parent']];
|
||||||
$total = DBA::count('item', $condition);
|
$total = DBA::count('item', $condition);
|
||||||
|
|
||||||
|
@ -1332,25 +1332,25 @@ function photos_content(App $a)
|
||||||
$result = Item::selectForUser($link_item['uid'], Item::ITEM_FIELDLIST, $condition, $params);
|
$result = Item::selectForUser($link_item['uid'], Item::ITEM_FIELDLIST, $condition, $params);
|
||||||
$items = Item::inArray($result);
|
$items = Item::inArray($result);
|
||||||
|
|
||||||
if (local_user() && (local_user() == $link_item['uid'])) {
|
if (local_user() == $link_item['uid']) {
|
||||||
Item::update(['unseen' => false], ['parent' => $link_item['parent']]);
|
Item::update(['unseen' => false], ['parent' => $link_item['parent']]);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($link_item['coord']) {
|
if (!empty($link_item['coord'])) {
|
||||||
$map = Map::byCoordinates($link_item['coord']);
|
$map = Map::byCoordinates($link_item['coord']);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$tags = null;
|
$tags = null;
|
||||||
|
|
||||||
if (count($linked_items) && strlen($link_item['tag'])) {
|
if (!empty($link_item['id']) && !empty($link_item['tag'])) {
|
||||||
$arr = explode(',', $link_item['tag']);
|
$arr = explode(',', $link_item['tag']);
|
||||||
// parse tags and add links
|
// parse tags and add links
|
||||||
$tag_arr = [];
|
$tag_arr = [];
|
||||||
foreach ($arr as $tag) {
|
foreach ($arr as $tag) {
|
||||||
$tag_arr[] = [
|
$tag_arr[] = [
|
||||||
'name' => BBCode::convert($tag),
|
'name' => BBCode::convert($tag),
|
||||||
'removeurl' => '/tagrm/'.$link_item['id'] . '/' . bin2hex($tag)
|
'removeurl' => '/tagrm/' . $link_item['id'] . '/' . bin2hex($tag)
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
$tags = ['title' => L10n::t('Tags: '), 'tags' => $tag_arr];
|
$tags = ['title' => L10n::t('Tags: '), 'tags' => $tag_arr];
|
||||||
|
@ -1383,7 +1383,7 @@ function photos_content(App $a)
|
||||||
'$permissions' => L10n::t('Permissions'),
|
'$permissions' => L10n::t('Permissions'),
|
||||||
'$aclselect' => $aclselect_e,
|
'$aclselect' => $aclselect_e,
|
||||||
|
|
||||||
'$item_id' => defaults($link_item, 'id', 0),
|
'$item_id' => $link_item['id'] ?? 0,
|
||||||
'$submit' => L10n::t('Submit'),
|
'$submit' => L10n::t('Submit'),
|
||||||
'$delete' => L10n::t('Delete Photo'),
|
'$delete' => L10n::t('Delete Photo'),
|
||||||
|
|
||||||
|
@ -1401,7 +1401,7 @@ function photos_content(App $a)
|
||||||
$paginate = '';
|
$paginate = '';
|
||||||
$responses = '';
|
$responses = '';
|
||||||
|
|
||||||
if (count($linked_items)) {
|
if (!empty($link_item['id']) && !empty($link_item['uri'])) {
|
||||||
$cmnt_tpl = Renderer::getMarkupTemplate('comment_item.tpl');
|
$cmnt_tpl = Renderer::getMarkupTemplate('comment_item.tpl');
|
||||||
$tpl = Renderer::getMarkupTemplate('photo_item.tpl');
|
$tpl = Renderer::getMarkupTemplate('photo_item.tpl');
|
||||||
$return_path = $a->cmd;
|
$return_path = $a->cmd;
|
||||||
|
@ -1539,7 +1539,7 @@ function photos_content(App $a)
|
||||||
}
|
}
|
||||||
$response_verbs = ['like'];
|
$response_verbs = ['like'];
|
||||||
$response_verbs[] = 'dislike';
|
$response_verbs[] = 'dislike';
|
||||||
$responses = get_responses($conv_responses, $response_verbs, $link_item ?: []);
|
$responses = get_responses($conv_responses, $response_verbs, $link_item);
|
||||||
|
|
||||||
$paginate = $pager->renderFull($total);
|
$paginate = $pager->renderFull($total);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue