diff options
-rw-r--r-- | app/Resources/static/themes/_global/share.scss | 6 | ||||
-rw-r--r-- | app/config/config.yml | 1 | ||||
-rw-r--r-- | src/Wallabag/CoreBundle/Helper/DownloadImages.php | 4 | ||||
-rw-r--r-- | tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php | 23 | ||||
-rw-r--r-- | tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php | 8 | ||||
-rw-r--r-- | tests/Wallabag/ImportBundle/fixtures/firefox-bookmarks.json | 4 | ||||
-rw-r--r-- | web/wallassets/public.css | 2 |
7 files changed, 40 insertions, 8 deletions
diff --git a/app/Resources/static/themes/_global/share.scss b/app/Resources/static/themes/_global/share.scss index 72e73a9a..ac26a350 100644 --- a/app/Resources/static/themes/_global/share.scss +++ b/app/Resources/static/themes/_global/share.scss | |||
@@ -221,6 +221,12 @@ ol li:last-child { | |||
221 | padding-bottom: 0; | 221 | padding-bottom: 0; |
222 | } | 222 | } |
223 | 223 | ||
224 | iframe, | ||
225 | video { | ||
226 | max-width: 100%; | ||
227 | height: auto; | ||
228 | } | ||
229 | |||
224 | mark { | 230 | mark { |
225 | padding: 0 0.2em; | 231 | padding: 0 0.2em; |
226 | } | 232 | } |
diff --git a/app/config/config.yml b/app/config/config.yml index 04d757c1..0c2b6a1d 100644 --- a/app/config/config.yml +++ b/app/config/config.yml | |||
@@ -26,7 +26,6 @@ framework: | |||
26 | engines: ['twig'] | 26 | engines: ['twig'] |
27 | default_locale: "%locale%" | 27 | default_locale: "%locale%" |
28 | trusted_hosts: ~ | 28 | trusted_hosts: ~ |
29 | trusted_proxies: ~ | ||
30 | session: | 29 | session: |
31 | # handler_id set to null will use default session handler from php.ini | 30 | # handler_id set to null will use default session handler from php.ini |
32 | handler_id: session.handler.native_file | 31 | handler_id: session.handler.native_file |
diff --git a/src/Wallabag/CoreBundle/Helper/DownloadImages.php b/src/Wallabag/CoreBundle/Helper/DownloadImages.php index 9c9452dd..f91cdf5e 100644 --- a/src/Wallabag/CoreBundle/Helper/DownloadImages.php +++ b/src/Wallabag/CoreBundle/Helper/DownloadImages.php | |||
@@ -85,6 +85,10 @@ class DownloadImages | |||
85 | */ | 85 | */ |
86 | public function processSingleImage($entryId, $imagePath, $url, $relativePath = null) | 86 | public function processSingleImage($entryId, $imagePath, $url, $relativePath = null) |
87 | { | 87 | { |
88 | if (null === $imagePath) { | ||
89 | return false; | ||
90 | } | ||
91 | |||
88 | if (null === $relativePath) { | 92 | if (null === $relativePath) { |
89 | $relativePath = $this->getRelativePath($entryId); | 93 | $relativePath = $this->getRelativePath($entryId); |
90 | } | 94 | } |
diff --git a/tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php b/tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php index 51ab1bcd..faa803fa 100644 --- a/tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php +++ b/tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php | |||
@@ -204,4 +204,27 @@ class DownloadImagesTest extends TestCase | |||
204 | 204 | ||
205 | $this->assertNotContains('http://piketty.blog.lemonde.fr/', $res, 'Image srcset attribute were not replaced'); | 205 | $this->assertNotContains('http://piketty.blog.lemonde.fr/', $res, 'Image srcset attribute were not replaced'); |
206 | } | 206 | } |
207 | |||
208 | public function testProcessImageWithNullPath() | ||
209 | { | ||
210 | $client = new Client(); | ||
211 | |||
212 | $mock = new Mock([ | ||
213 | new Response(200, ['content-type' => null], Stream::factory(file_get_contents(__DIR__ . '/../fixtures/image-no-content-type.jpg'))), | ||
214 | ]); | ||
215 | |||
216 | $client->getEmitter()->attach($mock); | ||
217 | |||
218 | $logHandler = new TestHandler(); | ||
219 | $logger = new Logger('test', [$logHandler]); | ||
220 | |||
221 | $download = new DownloadImages($client, sys_get_temp_dir() . '/wallabag_test', 'http://wallabag.io/', $logger); | ||
222 | |||
223 | $res = $download->processSingleImage( | ||
224 | 123, | ||
225 | null, | ||
226 | 'https://framablog.org/2018/06/30/engagement-atypique/' | ||
227 | ); | ||
228 | $this->assertFalse($res); | ||
229 | } | ||
207 | } | 230 | } |
diff --git a/tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php b/tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php index dc9d9a8f..fc02c813 100644 --- a/tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php +++ b/tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php | |||
@@ -128,14 +128,14 @@ class FirefoxControllerTest extends WallabagCoreTestCase | |||
128 | ->get('doctrine.orm.entity_manager') | 128 | ->get('doctrine.orm.entity_manager') |
129 | ->getRepository('WallabagCoreBundle:Entry') | 129 | ->getRepository('WallabagCoreBundle:Entry') |
130 | ->findByUrlAndUserId( | 130 | ->findByUrlAndUserId( |
131 | 'https://stackoverflow.com/questions/15017163/parser-for-exported-bookmarks-html-file-of-google-chrome-and-mozilla-in-java', | 131 | 'https://www.lemonde.fr/disparitions/article/2018/07/05/le-journaliste-et-cineaste-claude-lanzmann-est-mort_5326313_3382.html', |
132 | $this->getLoggedInUserId() | 132 | $this->getLoggedInUserId() |
133 | ); | 133 | ); |
134 | 134 | ||
135 | $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content); | 135 | $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content); |
136 | $this->assertNotEmpty($content->getMimetype(), 'Mimetype for https://stackoverflow.com is ok'); | 136 | $this->assertNotEmpty($content->getMimetype(), 'Mimetype for https://www.lemonde.fr is ok'); |
137 | $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for https://stackoverflow.com is ok'); | 137 | $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for https://www.lemonde.fr is ok'); |
138 | $this->assertEmpty($content->getLanguage(), 'Language for https://stackoverflow.com is ok'); | 138 | $this->assertNotEmpty($content->getLanguage(), 'Language for https://www.lemonde.fr is ok'); |
139 | 139 | ||
140 | $createdAt = $content->getCreatedAt(); | 140 | $createdAt = $content->getCreatedAt(); |
141 | $this->assertSame('2013', $createdAt->format('Y')); | 141 | $this->assertSame('2013', $createdAt->format('Y')); |
diff --git a/tests/Wallabag/ImportBundle/fixtures/firefox-bookmarks.json b/tests/Wallabag/ImportBundle/fixtures/firefox-bookmarks.json index 406b5697..3d90b489 100644 --- a/tests/Wallabag/ImportBundle/fixtures/firefox-bookmarks.json +++ b/tests/Wallabag/ImportBundle/fixtures/firefox-bookmarks.json | |||
@@ -39,13 +39,13 @@ | |||
39 | }, | 39 | }, |
40 | { | 40 | { |
41 | "guid": "E385l9vZ_LVn", | 41 | "guid": "E385l9vZ_LVn", |
42 | "title": "Parser for Exported Bookmarks HTML file of Google Chrome and Mozilla in Java", | 42 | "title": "Le journaliste et cinéaste Claude Lanzmann est mort", |
43 | "index": 1, | 43 | "index": 1, |
44 | "dateAdded": 1388166091544000, | 44 | "dateAdded": 1388166091544000, |
45 | "lastModified": 1388166091545000, | 45 | "lastModified": 1388166091545000, |
46 | "id": 5, | 46 | "id": 5, |
47 | "type": "text/x-moz-place", | 47 | "type": "text/x-moz-place", |
48 | "uri": "http://stackoverflow.com/questions/15017163/parser-for-exported-bookmarks-html-file-of-google-chrome-and-mozilla-in-java" | 48 | "uri": "https://www.lemonde.fr/disparitions/article/2018/07/05/le-journaliste-et-cineaste-claude-lanzmann-est-mort_5326313_3382.html" |
49 | } | 49 | } |
50 | ] | 50 | ] |
51 | }, | 51 | }, |
diff --git a/web/wallassets/public.css b/web/wallassets/public.css index 1a5a23f4..4d578c6d 100644 --- a/web/wallassets/public.css +++ b/web/wallassets/public.css | |||
@@ -1,2 +1,2 @@ | |||
1 | a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-spacing:0}body{background-color:#fff;color:#444;font-family:Georgia;line-height:1.7;-ms-content-zooming:none;margin-bottom:64px}h1,h2,h3,h4,h5,h6{font-weight:600;margin:.2em 0}article h1,article h2,article h3,article h4,article h5,article h6{text-align:left;line-height:1.3}h1{font-size:1.4em}h2{font-size:1.3em}h3,h4{font-size:1.2em}h5,h6{font-size:1.1em}p{margin-bottom:.75em}b,strong{font-weight:700}em,i{font-style:italic}a{color:#444;text-decoration:underline}a:active,a:hover{outline:0}dl,ol,p,ul{margin:0 0 1.75em}ol,ul{padding-left:1.25em}li{padding-bottom:.2em;line-height:1.6}li li:last-child,li p:last-child{margin-bottom:-.2em}ol li:last-child,ul li:last-child{padding-bottom:0}mark{padding:0 .2em}mark a{text-decoration:none}blockquote{font-style:italic;border-left:.25em solid #000;margin-left:-20px;padding-left:17px;margin-bottom:.5em;margin-top:.5em}blockquote cite{text-transform:uppercase;font-size:.8em;font-style:normal}blockquote cite:before{content:"\2014";margin-right:.5em}img{display:block;height:auto;margin-bottom:.5em;max-width:100%}figure{margin:0}figure figcaption{display:block;margin-top:.3em;font-style:italic;font-size:.8em}button{display:none!important}hr{display:block;height:1px;border:solid #666;border-width:1px 0 0;margin:1.6em 0;padding:0}small{font-size:.7em}dl{margin:1.6em 0}dl dt{float:left;width:11.25em;overflow:hidden;clear:left;text-align:right;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;font-weight:700}dl dd,dl dt{margin-bottom:1em}dl dd{margin-left:12.5em}pre{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4em 0;border:.0625em solid #efefef;width:100%;padding:1em;font-family:Consolas,monospace;white-space:pre;overflow:auto}pre code{line-height:1.6em;white-space:pre-wrap;background:transparent;border:none;padding:0;vertical-align:inherit}code,pre code{font-size:.8em}code{padding:.125em .375em;margin:0 .2em;font-family:Consolas,monospace;white-space:pre;border:1px solid #d3d3d3;overflow:auto}audio,video{max-width:43.75em}::selection,mark{background:#666;color:#fff}table{border-collapse:collapse;margin-bottom:2em;width:100%}td,th{padding:.25em;text-align:left}thead tr{text-transform:uppercase;font-size:.85em;letter-spacing:1px;font-family:Segoe UI,sans-serif;font-weight:600}tbody tr:nth-child(odd){background:rgba(0,0,0,.1)}tbody{border:solid #999;border-width:1px 0}figure{text-align:center}figure>*{margin:0 auto}header{text-align:center}.shared-by{margin-bottom:1em}@media (max-width:719px){article,header>:not(.preview){padding:0 1em}}@media (min-width:720px){blockquote{margin-left:-1.4375em;padding-left:1.25em}header{margin-top:32px}.block{margin-left:auto;margin-right:auto;max-width:43.75em;padding:0 1.25em}} | 1 | a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-spacing:0}body{background-color:#fff;color:#444;font-family:Georgia;line-height:1.7;-ms-content-zooming:none;margin-bottom:64px}h1,h2,h3,h4,h5,h6{font-weight:600;margin:.2em 0}article h1,article h2,article h3,article h4,article h5,article h6{text-align:left;line-height:1.3}h1{font-size:1.4em}h2{font-size:1.3em}h3,h4{font-size:1.2em}h5,h6{font-size:1.1em}p{margin-bottom:.75em}b,strong{font-weight:700}em,i{font-style:italic}a{color:#444;text-decoration:underline}a:active,a:hover{outline:0}dl,ol,p,ul{margin:0 0 1.75em}ol,ul{padding-left:1.25em}li{padding-bottom:.2em;line-height:1.6}li li:last-child,li p:last-child{margin-bottom:-.2em}ol li:last-child,ul li:last-child{padding-bottom:0}iframe,video{max-width:100%;height:auto}mark{padding:0 .2em}mark a{text-decoration:none}blockquote{font-style:italic;border-left:.25em solid #000;margin-left:-20px;padding-left:17px;margin-bottom:.5em;margin-top:.5em}blockquote cite{text-transform:uppercase;font-size:.8em;font-style:normal}blockquote cite:before{content:"\2014";margin-right:.5em}img{display:block;height:auto;margin-bottom:.5em;max-width:100%}figure{margin:0}figure figcaption{display:block;margin-top:.3em;font-style:italic;font-size:.8em}button{display:none!important}hr{display:block;height:1px;border:solid #666;border-width:1px 0 0;margin:1.6em 0;padding:0}small{font-size:.7em}dl{margin:1.6em 0}dl dt{float:left;width:11.25em;overflow:hidden;clear:left;text-align:right;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;font-weight:700}dl dd,dl dt{margin-bottom:1em}dl dd{margin-left:12.5em}pre{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4em 0;border:.0625em solid #efefef;width:100%;padding:1em;font-family:Consolas,monospace;white-space:pre;overflow:auto}pre code{line-height:1.6em;white-space:pre-wrap;background:transparent;border:none;padding:0;vertical-align:inherit}code,pre code{font-size:.8em}code{padding:.125em .375em;margin:0 .2em;font-family:Consolas,monospace;white-space:pre;border:1px solid #d3d3d3;overflow:auto}audio,video{max-width:43.75em}::selection,mark{background:#666;color:#fff}table{border-collapse:collapse;margin-bottom:2em;width:100%}td,th{padding:.25em;text-align:left}thead tr{text-transform:uppercase;font-size:.85em;letter-spacing:1px;font-family:Segoe UI,sans-serif;font-weight:600}tbody tr:nth-child(odd){background:rgba(0,0,0,.1)}tbody{border:solid #999;border-width:1px 0}figure{text-align:center}figure>*{margin:0 auto}header{text-align:center}.shared-by{margin-bottom:1em}@media (max-width:719px){article,header>:not(.preview){padding:0 1em}}@media (min-width:720px){blockquote{margin-left:-1.4375em;padding-left:1.25em}header{margin-top:32px}.block{margin-left:auto;margin-right:auto;max-width:43.75em;padding:0 1.25em}} |
2 | /*# sourceMappingURL=public.css.map*/ \ No newline at end of file | 2 | /*# sourceMappingURL=public.css.map*/ \ No newline at end of file |