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['origin']        = 1;
 | 
			
		||||
 | 
			
		||||
			$arr['body']          = '[url=' . DI::baseUrl() . '/photos/' . $user['nickname'] . '/image/' . $photo['resource-id'] . ']'
 | 
			
		||||
						. '[img]' . DI::baseUrl() . '/photo/' . $photo['resource-id'] . '-' . $photo['scale'] . '.'. $ext . '[/img]'
 | 
			
		||||
						. '[/url]';
 | 
			
		||||
			$arr['body']          = Images::getImageUrl($photo['resource-id'], $user['nickname'], $photo['scale'], $ext, '');
 | 
			
		||||
 | 
			
		||||
			$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)) {
 | 
			
		||||
			foreach ($pictures as $picture) {
 | 
			
		||||
				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)) {
 | 
			
		||||
			foreach ($pictures as $picture) {
 | 
			
		||||
				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 (!empty($media['preview'])) {
 | 
			
		||||
					if (!empty($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]';
 | 
			
		||||
					}
 | 
			
		||||
					$body .= "\n" . Images::getPictureUrl($media['url'], $media['preview'], $media['description']);
 | 
			
		||||
				} else {
 | 
			
		||||
					if (!empty($media['description'])) {
 | 
			
		||||
						$body .= "\n[img=" . $media['url'] . ']' . $media['description'] . '[/img]';
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -180,7 +180,7 @@ class Upload extends \Friendica\BaseModule
 | 
			
		|||
		}
 | 
			
		||||
 | 
			
		||||
		$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['origin']        = 1;
 | 
			
		||||
 | 
			
		||||
		$arr['body']          = '[url=' . $this->baseUrl . '/photos/' . $this->owner['nickname'] . '/image/' . $resource_id . ']'
 | 
			
		||||
			. '[img]' . $this->baseUrl . "/photo/{$resource_id}-{$preview}.".$image->getExt() . '[/img]'
 | 
			
		||||
			. '[/url]';
 | 
			
		||||
		$arr['body']          = Images::getImageUrl($resource_id, $this->owner['nickname'], $preview, $image->getExt(), '');
 | 
			
		||||
 | 
			
		||||
		$item_id = Item::insert($arr);
 | 
			
		||||
		// Update the photo albums cache
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -316,4 +316,32 @@ class Images
 | 
			
		|||
 | 
			
		||||
		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…
	
	Add table
		Add a link
		
	
		Reference in a new issue