Unifiy the creation of photo links
This commit is contained in:
parent
4c40bc164d
commit
7d91cc73de
5 changed files with 34 additions and 14 deletions
|
@ -375,9 +375,7 @@ function photos_post(App $a)
|
||||||
$arr['visible'] = 0;
|
$arr['visible'] = 0;
|
||||||
$arr['origin'] = 1;
|
$arr['origin'] = 1;
|
||||||
|
|
||||||
$arr['body'] = '[url=' . DI::baseUrl() . '/photos/' . $user['nickname'] . '/image/' . $photo['resource-id'] . ']'
|
$arr['body'] = Images::getImageUrl($photo['resource-id'], $user['nickname'], $photo['scale'], $ext, '');
|
||||||
. '[img]' . DI::baseUrl() . '/photo/' . $photo['resource-id'] . '-' . $photo['scale'] . '.'. $ext . '[/img]'
|
|
||||||
. '[/url]';
|
|
||||||
|
|
||||||
$item_id = Item::insert($arr);
|
$item_id = Item::insert($arr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -489,7 +489,7 @@ class Media
|
||||||
if (preg_match_all("#\[url=([^\]]+?)\]\s*\[img=([^\[\]]*)\]([^\[\]]*)\[\/img\]\s*\[/url\]#ism", $body, $pictures, PREG_SET_ORDER)) {
|
if (preg_match_all("#\[url=([^\]]+?)\]\s*\[img=([^\[\]]*)\]([^\[\]]*)\[\/img\]\s*\[/url\]#ism", $body, $pictures, PREG_SET_ORDER)) {
|
||||||
foreach ($pictures as $picture) {
|
foreach ($pictures as $picture) {
|
||||||
if (self::isLinkToImagePage($picture[1], $picture[2])) {
|
if (self::isLinkToImagePage($picture[1], $picture[2])) {
|
||||||
$body = str_replace($picture[0], '[url=' . str_replace(['-1.', '-2.'], '-0.', $picture[2]) . '][img=' . $picture[2] . ']' . $picture[3] . '[/img][/url]', $body);
|
$body = str_replace($picture[0], Images::getPictureUrl(str_replace(['-1.', '-2.'], '-0.', $picture[2]), $picture[2], $picture[3]), $body);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -497,7 +497,7 @@ class Media
|
||||||
if (preg_match_all("#\[url=([^\]]+?)\]\s*\[img\]([^\[]+?)\[/img\]\s*\[/url\]#ism", $body, $pictures, PREG_SET_ORDER)) {
|
if (preg_match_all("#\[url=([^\]]+?)\]\s*\[img\]([^\[]+?)\[/img\]\s*\[/url\]#ism", $body, $pictures, PREG_SET_ORDER)) {
|
||||||
foreach ($pictures as $picture) {
|
foreach ($pictures as $picture) {
|
||||||
if (self::isLinkToImagePage($picture[1], $picture[2])) {
|
if (self::isLinkToImagePage($picture[1], $picture[2])) {
|
||||||
$body = str_replace($picture[0], '[url=' . str_replace(['-1.', '-2.'], '-0.', $picture[2]) . '][img]' . $picture[2] . '[/img][/url]', $body);
|
$body = str_replace($picture[0], Images::getPictureUrl(str_replace(['-1.', '-2.'], '-0.', $picture[2]), $picture[2], ''), $body);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1005,11 +1005,7 @@ class Media
|
||||||
|
|
||||||
if ($media['type'] == self::IMAGE) {
|
if ($media['type'] == self::IMAGE) {
|
||||||
if (!empty($media['preview'])) {
|
if (!empty($media['preview'])) {
|
||||||
if (!empty($media['description'])) {
|
$body .= "\n" . Images::getPictureUrl($media['url'], $media['preview'], $media['description']);
|
||||||
$body .= "\n[url=" . $media['url'] . "][img=" . $media['preview'] . ']' . $media['description'] . '[/img][/url]';
|
|
||||||
} else {
|
|
||||||
$body .= "\n[url=" . $media['url'] . "][img]" . $media['preview'] . '[/img][/url]';
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (!empty($media['description'])) {
|
if (!empty($media['description'])) {
|
||||||
$body .= "\n[img=" . $media['url'] . ']' . $media['description'] . '[/img]';
|
$body .= "\n[img=" . $media['url'] . ']' . $media['description'] . '[/img]';
|
||||||
|
|
|
@ -180,7 +180,7 @@ class Upload extends \Friendica\BaseModule
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->logger->info('upload done');
|
$this->logger->info('upload done');
|
||||||
$this->return(200, "\n\n" . '[url=' . $this->baseUrl . '/photos/' . $owner['nickname'] . '/image/' . $resource_id . '][img=' . $this->baseUrl . "/photo/$resource_id-$preview." . $image->getExt() . "][/img][/url]\n\n");
|
$this->return(200, "\n\n" . Images::getImageUrl($resource_id, $owner['nickname'], $preview, $image->getExt(), '') . "\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -273,9 +273,7 @@ class Photos extends \Friendica\Module\BaseProfile
|
||||||
$arr['visible'] = $visible;
|
$arr['visible'] = $visible;
|
||||||
$arr['origin'] = 1;
|
$arr['origin'] = 1;
|
||||||
|
|
||||||
$arr['body'] = '[url=' . $this->baseUrl . '/photos/' . $this->owner['nickname'] . '/image/' . $resource_id . ']'
|
$arr['body'] = Images::getImageUrl($resource_id, $this->owner['nickname'], $preview, $image->getExt(), '');
|
||||||
. '[img]' . $this->baseUrl . "/photo/{$resource_id}-{$preview}.".$image->getExt() . '[/img]'
|
|
||||||
. '[/url]';
|
|
||||||
|
|
||||||
$item_id = Item::insert($arr);
|
$item_id = Item::insert($arr);
|
||||||
// Update the photo albums cache
|
// Update the photo albums cache
|
||||||
|
|
|
@ -316,4 +316,32 @@ class Images
|
||||||
|
|
||||||
return ['width' => $dest_width, 'height' => $dest_height];
|
return ['width' => $dest_width, 'height' => $dest_height];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a link to a an image link with a preview
|
||||||
|
*
|
||||||
|
* @param string $resource_id
|
||||||
|
* @param string $nickname
|
||||||
|
* @param integer $preview
|
||||||
|
* @param string $ext
|
||||||
|
* @param string $description
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function getImageUrl(string $resource_id, string $nickname, int $preview, string $ext, string $description): string
|
||||||
|
{
|
||||||
|
return '[url=' . DI::baseUrl() . '/photos/' . $nickname . '/image/' . $resource_id . '][img=' . DI::baseUrl() . '/photo/' . $resource_id . '-' . $preview. '.' . $ext . ']' . $description . '[/img][/url]';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a link to a picture with a preview
|
||||||
|
*
|
||||||
|
* @param string $photo
|
||||||
|
* @param string $preview
|
||||||
|
* @param string $description
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function getPictureUrl(string $photo, string $preview, string $description): string
|
||||||
|
{
|
||||||
|
return '[url=' . $photo . '][img=' . $preview . ']' . $description . '[/img][/url]';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue