*/
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')) {
*/
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')) {
private $baseFolder;
private $logger;
private $mimeGuesser;
+ private $wallabagUrl;
public function __construct(Client $client, $baseFolder, LoggerInterface $logger)
{
$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.
*/
imagedestroy($im);
- return '/assets/images/'.$relativePath.'/'.$hashImage.'.'.$ext;
+ return $this->wallabagUrl.'/assets/images/'.$relativePath.'/'.$hashImage.'.'.$ext;
}
/**
$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()