mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-26 19:11:07 +00:00
Add instance url to the downloaded images
This commit is contained in:
parent
48656e0eaa
commit
41ada277f0
3 changed files with 20 additions and 2 deletions
|
@ -110,6 +110,8 @@ class DownloadImagesSubscriber implements EventSubscriber
|
|||
*/
|
||||
public function downloadImages(Config $config, Entry $entry)
|
||||
{
|
||||
$this->downloadImages->setWallabagUrl($config->get('wallabag_url'));
|
||||
|
||||
// if ($config->get('download_images_with_rabbitmq')) {
|
||||
|
||||
// } else if ($config->get('download_images_with_redis')) {
|
||||
|
@ -132,6 +134,8 @@ class DownloadImagesSubscriber implements EventSubscriber
|
|||
*/
|
||||
public function downloadPreviewImage(Config $config, Entry $entry)
|
||||
{
|
||||
$this->downloadImages->setWallabagUrl($config->get('wallabag_url'));
|
||||
|
||||
// if ($config->get('download_images_with_rabbitmq')) {
|
||||
|
||||
// } else if ($config->get('download_images_with_redis')) {
|
||||
|
|
|
@ -15,6 +15,7 @@ class DownloadImages
|
|||
private $baseFolder;
|
||||
private $logger;
|
||||
private $mimeGuesser;
|
||||
private $wallabagUrl;
|
||||
|
||||
public function __construct(Client $client, $baseFolder, LoggerInterface $logger)
|
||||
{
|
||||
|
@ -26,6 +27,17 @@ class DownloadImages
|
|||
$this->setFolder();
|
||||
}
|
||||
|
||||
/**
|
||||
* Since we can't inject CraueConfig service because it'll generate a circular reference when injected in the subscriber
|
||||
* we use a different way to inject the current wallabag url.
|
||||
*
|
||||
* @param string $url Usually from `$config->get('wallabag_url')`
|
||||
*/
|
||||
public function setWallabagUrl($url)
|
||||
{
|
||||
$this->wallabagUrl = rtrim($url, '/');
|
||||
}
|
||||
|
||||
/**
|
||||
* Setup base folder where all images are going to be saved.
|
||||
*/
|
||||
|
@ -143,7 +155,7 @@ class DownloadImages
|
|||
|
||||
imagedestroy($im);
|
||||
|
||||
return '/assets/images/'.$relativePath.'/'.$hashImage.'.'.$ext;
|
||||
return $this->wallabagUrl.'/assets/images/'.$relativePath.'/'.$hashImage.'.'.$ext;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -27,9 +27,11 @@ class DownloadImagesTest extends \PHPUnit_Framework_TestCase
|
|||
$logger = new Logger('test', array($logHandler));
|
||||
|
||||
$download = new DownloadImages($client, sys_get_temp_dir().'/wallabag_test', $logger);
|
||||
$download->setWallabagUrl('http://wallabag.io/');
|
||||
|
||||
$res = $download->processHtml('<div><img src="http://i.imgur.com/T9qgcHc.jpg" /></div>', 'http://imgur.com/gallery/WxtWY');
|
||||
|
||||
$this->assertContains('/assets/images/4/2/4258f71e/c638b4c2.png', $res);
|
||||
$this->assertContains('http://wallabag.io/assets/images/4/2/4258f71e/c638b4c2.png', $res);
|
||||
}
|
||||
|
||||
public function testProcessHtmlWithBadImage()
|
||||
|
|
Loading…
Reference in a new issue