Commit graph

2127 commits

Author SHA1 Message Date
Jeremy Benoist
7abda3ba52
Drop SimplePie
It was only used to make an absolute url when downloading images.
The deps is still there (in the `composer.lock`) because Graby use it (not for absolute but for encoding).
2019-05-29 17:05:12 +02:00
Jeremy Benoist
f3bfb875e9
Use hash given url to avoid duplicate
Using hashed url we can ensure an index on them to ensure it's fast.
2019-05-29 15:56:20 +02:00
Nicolas Lœuillet
b7fa51ae7d
Added given_url in entry table
- Added index on entry table for given_url field
- Fix tests:

    The previous `bit.ly` url redirected to doc.wallabag but that url doesn't exist in the fixtures.
    I used our own internal "redirector" to create a redirect to an url which exist in the fixtures.

Also, updating current migration to use the new `WallabagMigration`.
2019-05-29 13:50:59 +02:00
Jeremy Benoist
52e8d93248
Fix some Scrutinizer issues 2019-05-29 12:50:44 +02:00
Jérémy Benoist
2cbee36a01
Merge pull request #3944 from shtrom/always-hash-exists-url
Always hash exists url
2019-05-28 14:18:33 +02:00
Jeremy Benoist
6e68417f03
Fix tests after rebase 2019-05-28 12:02:17 +02:00
Jeremy Benoist
b6c1e1bacc
Fix some tests 2019-05-28 11:44:20 +02:00
Jeremy Benoist
a91a3150fb
CS 2019-05-28 11:42:27 +02:00
Jeremy Benoist
448d99f84e
CS 2019-05-28 11:42:27 +02:00
adev
1048c9c4a8
Configure timeout 2019-05-28 11:42:27 +02:00
adev
5f08426201
Fix because of some breaking changes of Graby 2.0 2019-05-28 11:42:27 +02:00
adev
bf9ace0643
Use httplug 2019-05-28 11:40:41 +02:00
Kevin Decherf
5c0701ba41
Merge pull request #3965 from nicofrand/previewPic
Preview picture: use the 1st pic retrieved if no og:image set
2019-05-26 17:47:44 +02:00
Jeremy Benoist
629a3797bc
Remove useless methods
Also fix a phpdoc block
2019-05-24 15:46:28 +02:00
Jeremy Benoist
0132ccd2a2
Change the way to define algorithm for hashing url 2019-05-24 15:17:46 +02:00
Olivier Mehani
4a5516376b
Add Wallabag\CoreBundle\Helper\UrlHasher
Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2019-05-24 15:17:46 +02:00
Olivier Mehani
d5744bf0df
Delegate findByUrlAndUserId to findByHashedUrlAndUserId
Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2019-05-24 15:17:46 +02:00
Olivier Mehani
31e276fc16
EntryRestController::getEntriesExistsAction: always find by hashed url
Simplify the logic from #3158 by hashing all the urls from the request,
and only doing a search by hash. This allows to get performance benefits
from the new indexed hash column even when using older clients that do
not hash the URL in the request.

Fixes: #3158, #3919

Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2019-05-24 15:17:45 +02:00
Jeremy Benoist
9ca670c801
Fix Instapaper import date 2019-05-24 14:37:54 +02:00
nicofrand
423efadefc Set first picture as preview picture 2019-05-21 20:38:22 +02:00
Jérémy Benoist
a2b5d67560
Merge pull request #3960 from wallabag/api-entries-2817
api/entries: add parameter detail to exclude or include content in response
2019-05-21 11:18:19 +02:00
Kevin Decherf
feb239ea10 mysql: change collation of tag table
utf8mb4_unicode_ci considers that 'caché' is equal to 'cache' which
can lead to attaching incorrect tags to entries. This issue is due to
some unicode normalization done by MySQL.

utf8mb4_bin makes no unicode normalization, letting wallabag to consider
'cache' and 'caché' as two different tags.

We change the collation of the whole table as Doctrine does not support
setting a collation on a column for a specific platform (it tries to
apply utf8mb4_bin even for pgsql and sqlite).

Fixes #3302

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-05-19 23:37:49 +02:00
Kevin Decherf
2c290747cb api/entries: add parameter detail to exclude or include content in response
detail=metadata will nullify the content field of entries in order to
make smaller responses.

detail=full keeps the former behavior, it sends the content of entries.
It's the default, for backward compatibility.

Fixes #2817

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-05-18 18:11:08 +02:00
Jeremy Benoist
9f0957b831
Merge remote-tracking branch 'origin/master' into 2.4 2019-05-15 14:38:07 +02:00
Doma Gergő
9da1efd343
Translated using Weblate (Hungarian)
Currently translated at 63.8% (308 of 483 strings)
2019-05-15 02:49:40 +02:00
Jérémy Benoist
a73cb8a689
Merge pull request #3922 from burkemw3/patch-5
Remove preview picture from share view page for #1875
2019-05-13 06:40:16 +02:00
Matt Burke
19822ecb31 Remove preview picture from share view page for #1875
Essentially, same as commit 038fccd for single entry views. From that commit:
> Showing the preview picture usually leads to showing a duplicate
> image, and frequently leads to showing duplicate images directly
> adjacent to each other.
2019-05-12 12:32:22 -04:00
Kevin Decherf
2dbb5b2307 Enable no-referrer on img tags, enable strict-origin-when-cross-origin by default
Fixes #3889

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-05-10 23:07:26 +02:00
Jeremy Benoist
637f0df976
Cascade delete on oauth2 table when deleting a user 2019-05-10 20:36:45 +02:00
Jeremy Benoist
844fd9fafc
Fallback to default solution if Imagick fails 2019-05-10 16:52:01 +02:00
Jeremy Benoist
9306c2a368
Use Imagick to keep GIF animation
If Imagick is available, GIF will be saved using it to keep animation.
Otherwise the previous method will be used and the animation won't be kept.
2019-05-10 15:33:36 +02:00
ssantos
45bf1d6772
Translated using Weblate (German)
Currently translated at 100.0% (6 of 6 strings)
2019-05-09 00:49:21 +02:00
ssantos
bc895d71a2
Translated using Weblate (German)
Currently translated at 100.0% (483 of 483 strings)
2019-05-09 00:49:20 +02:00
ssantos
e5d069f0b9
Translated using Weblate (Portuguese)
Currently translated at 100.0% (6 of 6 strings)
2019-05-06 16:49:35 +02:00
Doma Gergő
a15a5e0a87
Translated using Weblate (Hungarian)
Currently translated at 60.5% (292 of 483 strings)
2019-05-02 13:49:27 +02:00
Kevin Decherf
4b5b228650 material: add metadata to list view
Add reading time and creation date to rows of list view.
Refactor styles using a sass mixin.

Fixes #3838

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-05-01 15:47:48 +02:00
Jeremy Benoist
f277bc042c
Fix tests & cs & migration 2019-04-26 12:53:21 +02:00
Thomas Citharel
531c8d0a5c
Changed RSS to Atom feed and improve paging 2019-04-25 13:46:31 +02:00
Jeremy Benoist
35359bd3c6
Adding more tests to cover different scenario 2019-04-24 15:28:15 +02:00
Jeremy Benoist
f45496336f
Add ability to match many domains for credentials
Instead of fetching one domain, we use the same method as in site config (to retrieve the matching file) and handle api.example.org, example.org, .org (yes the last one isn’t useful).
If one of these match, we got it and use it.
2019-04-23 22:39:31 +02:00
Louies
a68fd9b61d
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (6 of 6 strings)
2019-04-07 10:05:02 +02:00
Louies
076f1e1fcd
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (7 of 7 strings)
2019-04-07 10:05:01 +02:00
Weblate
0eb987b583
Added translation using Weblate (Chinese (Traditional)) 2019-04-06 09:55:09 +02:00
Weblate
c144e05457
Added translation using Weblate (Chinese (Traditional)) 2019-04-06 09:55:06 +02:00
Weblate
016784f535
Added translation using Weblate (Chinese (Traditional)) 2019-04-06 09:54:58 +02:00
Jérémy Benoist
76bc05ebc0
Fix ApiDoc about md5/sha1 2019-04-02 22:59:50 +02:00
Jeremy Benoist
5cc0646e66
Fix index on MySQL 2019-04-01 15:45:17 +02:00
Jeremy Benoist
c579ce2306
Some cleanup
Also, do not run the hashed_url migration into a Doctrine migration
2019-04-01 14:34:20 +02:00
Jeremy Benoist
8a64566298
Use a better index for hashed_url
It'll most often be used in addition to the `user_id`.
Also, automatically generate the hash when saving the url.
Switch from `md5` to `sha1`.
2019-04-01 13:51:57 +02:00
Jeremy Benoist
9c2b2aae70
Keep url in exists endpoint
- Add migration
- Use md5 instead of sha512 (we don't need security here, just a hash)
- Update tests
2019-04-01 13:24:40 +02:00
Thomas Citharel
bfe02a0b48
Hash the urls to check if they exist
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-01 13:24:40 +02:00
Jeremy Benoist
3620dae1e6
Merge remote-tracking branch 'origin/master' into 2.4 2019-04-01 13:16:15 +02:00
Doma Gergő
db900a83ae
Translated using Weblate (Hungarian)
Currently translated at 58.2% (281 of 483 strings)
2019-03-31 18:09:28 +02:00
Yuichi MITA
1616f53ea2
Translated using Weblate (Japanese)
Currently translated at 61.5% (297 of 483 strings)
2019-03-25 16:39:11 +01:00
Doma Gergő
61106f6d80
Translated using Weblate (Hungarian)
Currently translated at 100.0% (6 of 6 strings)
2019-03-24 01:39:31 +01:00
Doma Gergő
ab9a02754e
Translated using Weblate (Hungarian)
Currently translated at 57.6% (278 of 483 strings)
2019-03-24 01:39:30 +01:00
Étienne Gilli
d00f5f22ca
Translated using Weblate (French)
Currently translated at 100.0% (483 of 483 strings)
2019-03-20 16:04:30 +01:00
Doma Gergő
7822a62e36
Translated using Weblate (Hungarian)
Currently translated at 100.0% (7 of 7 strings)
2019-03-20 00:46:42 +01:00
Jérémy Benoist
bfd69c74e5
Merge pull request #3909 from wallabag/fix/html-not-defined
Fix PHP warning
2019-03-18 09:26:33 +01:00
Jeremy Benoist
8ca858ee73
Fix PHP warning
Looks like sometimes (usually from import) the `html` key isn’t available.
2019-03-18 06:23:41 +01:00
Kevin Decherf
41d476d7e7 epub: fix exception when articles have the same title
This commit fixes an exception occuring when exporting as epub several
articles with the same title. The chapter filename is now derived from
title and url.

Fixes #3642

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-03-17 23:36:10 +01:00
Doma Gergő
77dc50a74f
Added translation using Weblate (Hungarian) 2019-03-16 19:58:49 +01:00
Weblate
a69c7fc5f1
Added translation using Weblate (Hungarian) 2019-03-16 19:58:41 +01:00
Weblate
2be507564f
Added translation using Weblate (Hungarian) 2019-03-16 19:58:38 +01:00
Arda Kilicdagi
4b1c0226f1
Translated using Weblate (Turkish)
Currently translated at 100.0% (483 of 483 strings)
2019-03-15 18:04:14 +01:00
Arda Kilicdagi
fc380182d6
Translated using Weblate (Turkish)
Currently translated at 87.8% (424 of 483 strings)
2019-03-14 13:04:37 +01:00
Arda Kilicdagi
44984d2aa7
Translated using Weblate (Turkish)
Currently translated at 81.6% (394 of 483 strings)
2019-03-09 16:04:33 +01:00
Arda Kilicdagi
a27b2ecc57
Translated using Weblate (Turkish)
Currently translated at 100.0% (6 of 6 strings)
2019-03-08 13:04:10 +01:00
Arda Kilicdagi
acc81fa387
Translated using Weblate (Turkish)
Currently translated at 56.9% (275 of 483 strings)
2019-03-08 13:04:09 +01:00
Kevin Decherf
f1f1efb5de material: wrap card actions, remove class hiding of creation date
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-03-03 19:22:32 +01:00
Jeremy Benoist
8c0ba95307
Adding more tests 2019-02-27 15:01:03 +01:00
Jeremy Benoist
ea925bb112
CS 2019-02-27 14:33:26 +01:00
Thomas Citharel
3784688a88
Replace continue; with break; to avoid PHP 7.3 warnings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-27 14:29:14 +01:00
Jérémy Benoist
d5154ee2ae
Merge pull request #3886 from wallabag/issue-3602
epub export: fix missing cover image, only for exports of one article
2019-02-25 14:03:41 +01:00
Allan Nordhøy
fdd3a2bb87
Translated using Weblate (Polish)
Currently translated at 98.8% (477 of 483 strings)
2019-02-25 02:19:16 +01:00
Allan Nordhøy
9b044c7702
Translated using Weblate (Occitan)
Currently translated at 98.8% (477 of 483 strings)
2019-02-25 02:19:15 +01:00
naofum
443a237f25
Translated using Weblate (Japanese)
Currently translated at 58.0% (280 of 483 strings)
2019-02-25 02:19:13 +01:00
Allan Nordhøy
5f9eb33f8f
Translated using Weblate (English)
Currently translated at 99.8% (482 of 483 strings)
2019-02-25 02:18:46 +01:00
naofum
3c8bd4cc33
Translated using Weblate (Japanese)
Currently translated at 100.0% (7 of 7 strings)
2019-02-24 01:54:48 +01:00
naofum
55dd64dd47
Translated using Weblate (Japanese)
Currently translated at 100.0% (6 of 6 strings)
2019-02-24 01:47:51 +01:00
naofum
53162bf4d8
Added translation using Weblate (Japanese) 2019-02-24 01:43:46 +01:00
Weblate
bd0961d25f
Added translation using Weblate (Japanese) 2019-02-24 01:43:45 +01:00
Weblate
4f83b83e4a
Added translation using Weblate (Japanese) 2019-02-24 01:43:44 +01:00
Allan Nordhøy
4e4bd772d0
Translated using Weblate (Persian)
Currently translated at 53.6% (259 of 483 strings)
2019-02-23 15:25:01 +01:00
Kevin Decherf
508302042f EntryRestController: add support of expect parameter to delete action
The expect parameter enables an application to request the whole entry
or only the id when requesting its deletion.

`expects` defaults to `entry` to prevent any API breakage.

Fixes #3711

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-02-20 15:57:50 +01:00
Kevin Decherf
9a7a0e1e6b epub export: fix missing cover image, only for exports of one article
Fixes #3602

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-02-18 00:16:05 +01:00
Jeremy Benoist
44560c7767
CS 2019-02-13 14:06:57 +01:00
Jeremy Benoist
0182cdaec4
CS 2019-02-11 11:57:52 +01:00
Jeremy Benoist
baa5ee2d42
Force default_protocol to generate an url input 2019-02-08 15:03:52 +01:00
Jeremy Benoist
18460b2d79
Merge remote-tracking branch 'origin/master' into 2.4 2019-02-07 18:01:15 +01:00
Jonathan Crooke
7e04bd4ca4
Fix broken 2 factor auth logo image 2019-01-31 22:14:53 +01:00
Weblate
b97123c39f
Merge branch 'origin/master' into Weblate. 2019-01-28 11:34:42 +01:00
Jeremy Benoist
8d082488e9
Improve checks & add tests 2019-01-28 06:03:16 +01:00
Tristan Hill
a2e60dd393
status and favourite are actually strings in the import so use == 2019-01-27 18:39:26 +01:00
Allan Nordhøy
78e24f8954
Translated using Weblate (Norwegian Bokmål)
Currently translated at 85.7% (6 of 7 strings)
2019-01-27 16:06:14 +01:00
Allan Nordhøy
1e4dd73b07
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (6 of 6 strings)
2019-01-24 12:06:33 +01:00
Allan Nordhøy
606ab37b6a
Translated using Weblate (English)
Currently translated at 100.0% (6 of 6 strings)
2019-01-24 12:06:32 +01:00
Jeremy Benoist
4654a83b64
Hash backup codes in the database using password_hash 2019-01-23 14:43:39 +01:00
Jeremy Benoist
c416ed485f
CS 2019-01-23 13:28:24 +01:00
Jeremy Benoist
a0c5eb003f
Change the way to enable 2FA
And add a step to validate a generated code from the OTP app
2019-01-23 13:28:24 +01:00
Jeremy Benoist
4c0e747940
Remove secret from admin 2019-01-23 13:28:24 +01:00
Jeremy Benoist
e073090b8d
Update translation 2019-01-23 13:28:24 +01:00
Jeremy Benoist
dfd0a7bc5f
Add backup codes 2019-01-23 13:28:03 +01:00
Jeremy Benoist
6e4fc956ab
Better translations
Replace “Google Authenticator” by “Google Authenticator, Authy or FreeOTP” in all text.

Translate how to use the code / qr code.
2019-01-23 13:28:02 +01:00
Jeremy Benoist
43ccf4b178
Cleanup 2019-01-23 13:28:02 +01:00
Jeremy Benoist
2dfbe9e5fa
Fix tests 2019-01-23 13:28:02 +01:00
Jeremy Benoist
a6b242a1fd
Enable OTP 2FA
- Update SchebTwoFactorBundle to version 3
- Enable Google 2fa on the bundle
- Disallow ability to use both email and google as 2fa
- Update Ocramius Proxy Manager to handle typed function & attributes (from PHP 7)
- use `$this->addFlash` shortcut instead of `$this->get('session')->getFlashBag()->add`
- update admin to be able to create/reset the 2fa
2019-01-23 13:28:02 +01:00
Jeremy Benoist
acd4412080
Create a dedicated tab to reset data 2019-01-23 13:28:01 +01:00
Allan Nordhøy
7005e55f36
Translated using Weblate (Norwegian Bokmål)
Currently translated at 85.7% (6 of 7 strings)
2019-01-23 09:34:53 +01:00
Allan Nordhøy
bfa267fc12
Translated using Weblate (Norwegian Bokmål)
Currently translated at 14.7% (65 of 442 strings)
2019-01-23 09:34:52 +01:00
Weblate
356f0f46a4 Added translation using Weblate (Norwegian Bokmål) 2019-01-23 09:34:29 +01:00
Weblate
61b7af80f0 Added translation using Weblate (Norwegian Bokmål) 2019-01-23 09:34:19 +01:00
Weblate
683511c32a Added translation using Weblate (Norwegian Bokmål) 2019-01-23 09:33:37 +01:00
Jeremy Benoist
8010425444
Fix third argument to Route 2019-01-22 20:42:25 +01:00
Jeremy Benoist
019e1acc49
Factorize sendResponse between Api controllers
And run newer cs fixer
2019-01-22 20:42:25 +01:00
Craig Roberts
9133bd02d1
[wallabag/wallabag#2611] Fix PHPCS lint errors 2019-01-22 20:42:25 +01:00
Craig Roberts
b32057980e
Fixes [wallabag/wallabag#2611] Add a basic Search REST endpoint
- Adds a new `search` key to `src/Wallabag/ApiBundle/Resources/config/routing_rest.yml`
- Reuses the `getBuilderForSearchByUser` method from the EntryRepository
- Supports, `term`, `page`, and `perPage` query parameters
- Some very basic tests
2019-01-22 20:42:24 +01:00
Jeremy Benoist
fe5850d6e2
Update icon to casino 2019-01-22 17:05:21 +01:00
Jeremy Benoist
091bafeb4c
Handle no random result found 2019-01-19 22:30:50 +01:00
Jeremy Benoist
2491c50b6b
Fix status from Instapaper
That status was used as `http_status` in ContentProxy->stockEntry
2019-01-19 22:24:52 +01:00
Jeremy Benoist
50f35f0db2
Move icon into the top menu bar
Change the way to select a random entry:
- select all ids from the given user (with filters)
- choose randomly one in php
- find that entry
2019-01-19 22:24:10 +01:00
Jeremy Benoist
9a57653aec
Redirect to the current view instead of homepage 2019-01-19 21:10:16 +01:00
Jeremy Benoist
90a0d086a8
Better icon 2019-01-19 21:10:16 +01:00
Jeremy Benoist
062fad434a
Better random function 2019-01-19 21:09:33 +01:00
Jeremy Benoist
0447a75b06
Use only one method to randomize
Instead of one per type, one for all is ok.
2019-01-19 21:09:33 +01:00
Jeremy Benoist
f85d220c19
Fix tests 2019-01-19 21:09:33 +01:00
Nicolas Lœuillet
09ef25c3c3
Added random feature 2019-01-19 21:09:32 +01:00
Jeremy Benoist
1e0d8ad7b7
Enable PHPStan
- Fix error for level 0 & 1 (level 7 has 699 errors...)
- Add `updated_at` to site_credential (so the `timestamps()` method applies correctly)
2019-01-18 15:25:50 +01:00
Jeremy Benoist
293730656d Add dedicated email for site config issue
Instead of sending an email to the devs, it now creates an issue on GitHub using a zap from zapier.
2019-01-18 11:15:23 +01:00
Jeremy Benoist
3bd65991ad
Add a new endpoint to retrieve information from the wallabag instance
Useful for api client which required some information.
We might add more inside them in the future.

The endpoint /api/version should be avoided now as it contains not so much information rather the version.
2019-01-15 10:17:11 +01:00
Jeremy Benoist
3afc87426d
CS 2019-01-15 09:49:22 +01:00
Jeremy Benoist
5419a8368e
Merge remote-tracking branch 'origin/master' into 2.4 2019-01-15 09:41:18 +01:00
Jeremy Benoist
78e3fafa3f
Avoid error when a bad order parameter is given
Only allowed parameter are asc & desc
2019-01-14 17:01:21 +01:00
Jérémy Benoist
3625833b2c
Merge pull request #3826 from wallabag/epub-toc
Rework of EPUB/PDF exports
2019-01-11 13:34:38 +01:00
Jérémy Benoist
03663530ed
Merge pull request #3831 from wallabag/fix/api-bad-client-id
Cast client id to avoid PG error
2019-01-10 17:03:03 +01:00
Eloi Coutant
bb8ad42b27
Update entries.html.twig
Should fix https://github.com/wallabag/wallabag/issues/3832
2019-01-10 04:25:51 +01:00
Eloi Coutant
d4466a37fe
Update entries.html.twig
Should fix https://github.com/wallabag/wallabag/issues/3832
2019-01-10 04:23:08 +01:00
Jeremy Benoist
3a2d4cf9fd
Cast client id to avoid PG error
If someone send a malformated client_id when trying to authenticate using the API we got a 500 if wallabag use postgres because the request send a string instead of an integer.
2019-01-09 23:31:14 +01:00
Kevin Decherf
5e1f27767b EntriesExport: avoid else on $authors
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-01-09 16:26:19 +01:00
Kevin Decherf
dac93644e8 EntriesExport: sanitize filename and fix tests
Filename will now only use a-zA-Z0-9-' and space.

Fixes remaining filename issue on #3811

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-01-08 15:13:35 +01:00
Kevin Decherf
ad5ef8bca0 EntriesExport/pdf: move notice to the end, add metadata cover
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-01-07 23:36:41 +01:00
Kevin Decherf
af83d05ce2 Add translations
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-01-07 23:06:02 +01:00
Kevin Decherf
4944703edc EntriesExport/epub: add metadata to each entry's cover
Add metadata to the cover of each entry:

- Publishers
- Estimated reading time
- Date of creation ("Added on")
- Address (URL)

Related to #2821

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-01-07 21:44:14 +01:00
Kevin Decherf
f810834623 EntriesExport: change authors and title when not single entry export
Change '{method} authors' (which gives 'Tag_entries authors' when
exporting a tag) to 'Various authors'.

When exporting a tag (tag_entries), change the title from 'Tag_entries
articles' to 'Tag {tag} articles'.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-01-07 21:44:14 +01:00
Kevin Decherf
30cf72bf55 EntriesExport/epub: revert c779373f, move exportinfo to the end of the book
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-01-07 21:43:16 +01:00
Kevin Decherf
edd1825b58 EntriesExport/epub: use sha1 sums for filenames, fix and rename title chapters
This commit renames entry chapters file using a sha1 sum of their title
for simplicity. Also we fix the 'Title' chapter duplicate issue by using
the hash of the related entry and the suffix '_title'.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-01-07 21:41:12 +01:00
Kevin Decherf
063d5e7bda EntriesExport/epub: remove TOC page
This change only remove the rendered page of the TOC at the end of the
book, the TOC remains available to readers.

Fixes #3603

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-01-07 21:11:05 +01:00
Kevin Decherf
5de17117a1
Merge pull request #3827 from wallabag/epub-quote
EntriesExport/epub: replace epub identifier with unique urn
2019-01-07 11:59:38 +01:00
Jérémy Benoist
d2aec7096d
Merge pull request #3820 from lizyn/bugfix/incorrect-calculation-of-CJK-characters-in-reading-time-estimation
Fix incorrect reading time calculation for entries with CJK characters
2019-01-07 10:17:29 +01:00
Kevin Decherf
bf22266a62 EntriesExport/epub: replace epub identifier with unique urn
We replace the title used as the unique identifier of the epub file with
a urn following the format:

  urn:wallabag:{sha1("wallabagUrl:listOfEntryIdsSeparatedByComma")}

This format is repeatable: it always gives the same uid for the same
list of entries.

Fixes #3811

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-01-06 23:29:32 +01:00
lizyn
7f8630b91c Counting two characters together as a word in CJK 2019-01-06 01:21:13 +08:00
Jeremy Benoist
35983eb9bb
Improve reading time tests 2019-01-04 11:23:33 +01:00
Jérémy Benoist
8f5c4b083c
Merge pull request #3816 from wallabag/validate-import-entry
Validate imported entry to avoid error on import
2019-01-04 11:06:53 +01:00
Jeremy Benoist
9f8f188d92
Validate imported entry to avoid error on import
We got some imports with a missing `url` field generating some errors while trying to retrieve an existing entry with that url.
Introducing the `validateEntry` allow us to dismiss a message when it doesn't have an url (or other missing stuff in the future)
2019-01-03 09:42:06 +01:00
Kevin Decherf
2a0e0a47d8 TagRestController: rewrite delete actions to only retrieve tags related to the user
Fixes #3815

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-12-30 01:34:49 +01:00
Kevin Decherf
6708bf238d TagRepository: refactor query builder for queries by userId
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-12-30 01:34:44 +01:00
Kevin Decherf
bafb9744c8 fixtures: refactor EntryData, TagData, add a new tag
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-12-29 19:22:05 +01:00
lizyn
5becf260fa fix incorrect reading time calculation for entries with CJK characters 2018-12-25 15:31:44 +08:00
Mateusz Rumiński
e014fa0395
Update messages.pl.yml
Add missing translation
2018-12-02 18:14:21 +01:00
Jeremy Benoist
877787e5fe
Fix utf8mb4 on vendor tables
When creating the schema for test these tables use default length for
string: 255. Which fail when using utf8mb4.

> Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

Also move the `setKeepStaticConnections` in before and after class to
avoid:

> SAVEPOINT DOCTRINE2_SAVEPOINT_2 does not exist

See https://github.com/dmaicher/doctrine-test-bundle#troubleshooting
2018-11-28 22:04:55 +01:00
Jeremy Benoist
b13b2ef052
CS 2018-11-28 22:04:55 +01:00
Jeremy Benoist
1b6b77f029
Remove custom Postgres class
Because PG > 10 is now supported by DBAL >= 2.6.0
2018-11-28 22:04:54 +01:00
Jeremy Benoist
db9b6d8d0d
Update fixtures 2018-11-28 22:04:54 +01:00
Jeremy Benoist
6fc95673df
Cleanup 2018-11-28 22:04:54 +01:00
Kevin Decherf
72efc8ceeb
Merge pull request #3782 from wallabag/issue-3779
material: fix missing thumbnail on list view
2018-11-26 18:45:12 +01:00
Jérémy Benoist
6f2287da69
Merge pull request #3784 from giuppi/master
Fix Android app login issue
2018-11-26 13:57:16 +01:00
Jérémy Benoist
8896f0f988
Merge pull request #3765 from burkemw3/patch-2
Remove preview picture from single entry view page for #1875
2018-11-26 13:51:00 +01:00
giuppi
b34b489cfd
Fix Android app login issue
class and alt tags must be in the correct order for the android app to recognize the wallabag server
2018-11-25 16:07:08 +01:00
Kevin Decherf
e5de9917fd material: fix missing thumbnail on list view
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-11-25 15:00:08 +01:00
Jeremy Benoist
0f159f8fc1
Fix RulerZBundle
People should really follow semver and provide UPGRADE file when they
provide a library ...
2018-11-25 10:08:45 +01:00
Jeremy Benoist
b878be4cc9
Merge remote-tracking branch 'origin/master' into 2.4
# Conflicts:
#	web/wallassets/baggy.js
#	web/wallassets/manifest.json
#	web/wallassets/material.css
#	web/wallassets/material.js
2018-11-25 09:58:18 +01:00
Matt Burke
038fccd244 Remove preview picture from single entry view page for #1875
Showing the preview picture usually leads to showing a duplicate
image, and frequently leads to showing duplicate images directly
adjacent to each other.
2018-11-24 19:29:58 -05:00
Simounet
2daae77094 Card no preview replaced by wallabag logo 2018-11-21 18:51:44 +01:00
Eloi Coutant
060f3ce34c
Update messages.en.yml 2018-11-16 14:16:38 +01:00
Eloi Coutant
ccc3b0a531
Update messages.fr.yml 2018-11-16 01:45:16 +01:00
Eloi Coutant
0ddfb2956c
Update messages.fr.yml
Modification pour éclaircir le sens de l'option
2018-11-16 01:37:53 +01:00
Matt Burke
a22b8043b4 Add rel=noopener to target=_blank links
From https://developers.google.com/web/tools/lighthouse/audits/noopener:
- new pages will run in separate processes, avoiding any performance
  intermingling impacts
- new pages won't have access to current page's window object via JavaScript
2018-11-07 20:34:54 -05:00
Kevin Decherf
3a69628007
Merge pull request #3764 from shtrom/fix-matches-notmatches-language
Fix documentation wording for matches/notmatches tagging rules
2018-11-01 12:04:55 +01:00
Olivier Mehani
3f0dd0f0bc
fixup! fixup! Fix documentation wording for matches/notmatches tagging rules 2018-11-01 19:40:17 +11:00
Olivier Mehani
da7b8e256f
fixup! Fix documentation wording for matches/notmatches tagging rules 2018-11-01 19:26:06 +11:00
Olivier Mehani
0452e869ec
Fix documentation wording for matches/notmatches tagging rules
Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2018-10-31 19:56:48 +11:00
Kevin Decherf
1b220426e2 phpcs
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-24 22:33:32 +02:00
Kevin Decherf
6059967951 updateOriginUrl: remove 'query string' case from ignore list
Two urls with a different query string may refer to two different pages
so keep them both.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-24 22:27:27 +02:00
Kevin Decherf
44e63667d9 updateOriginUrl: add comment blocks for the parse_url diff check
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-24 22:13:03 +02:00
Kevin Decherf
5ba5e22a09 updateOriginUrl: rewrite some if, resolving feedbacks from PR
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-24 21:54:09 +02:00
Kevin Decherf
b49c87acf1 ignoreOriginUrl: add initial support of ignore lists
Add the ability to specify hosts and patterns lists to ignore the given
entry url and replace it with the fetched content url without touching
to origin_url.

This initial support should be reworked in the following months to move
the hardcoded ignore lists in the database.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-22 23:42:09 +02:00
Kevin Decherf
fc040c749d updateOriginUrl: add behavior when diff is fragment and query
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-22 23:08:58 +02:00
Kevin Decherf
e07fadea76 Refactor updateOriginUrl to include new behaviors behaviors
- Leave origin_url unchanged if difference is an ending slash
- Leave origin_url unchanged if difference is scheme
- Ignore (noop) if difference is query string or fragment

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-22 23:01:16 +02:00
Kevin Decherf
781864b954 ContentProxy: swap entry url to origin_url and set new url according to graby content
Closes #3529

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-21 16:15:31 +02:00
Kevin Decherf
4a81360efc ContentProxy: fix a corner case when entry.url is empty in updateEntry
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-21 16:13:20 +02:00
Jérémy Benoist
0658ce4f11
Merge pull request #3745 from burkemw3/patch-3
Add placeholder image to card-based gallery entries page
2018-10-16 07:45:22 +00:00
Matt Burke
cefbe6a87f Add placeholder image to card-based gallery entries page for #3651
I referenced https://css-tricks.com/using-svg/ for using the SVG icon.
The icon has a black foreground and white background, which doesn't
look very good as a placeholder. So, using the background-image style
to show the svg and the inversion filter to make it white on gray.

With the image always present, there isn't much difference between
the with and without image preview templates, so I merged them.

Tested on Chrome, Firefox, and Safari on OSX.
2018-10-15 23:59:39 -04:00
Jérémy Benoist
e673b54f70
Merge pull request #3574 from shulard/feature/rename-tags
Allow to rename tags from the web interface.
2018-10-15 08:32:59 +00:00
Jérémy Benoist
fbdc665487
Merge pull request #3606 from mritzmann/master
add manifest.json for android pwa
2018-10-15 08:30:26 +00:00
Jeremy Benoist
4d4147b228
Ensure language is valid
- Do not override locale if user has choosen a locale from the login screen.
- Add some tests about locale url
2018-10-13 09:39:00 +02:00
Nicolas Lœuillet
be417ef236
Added possibility to change locale from login/register pages 2018-10-13 09:39:00 +02:00
Matt Burke
d73bfdbddb
Show tags on non-image gallery preview card
Tags and images aren't coupled, so they shouldn't be coupled in
the UI, either. This also makes the titles and source domains show
up consistently for image and non-image entry cards.
2018-10-11 19:47:48 -04:00
Jeremy Benoist
115de64e5b
Jump to Symfony 3.4
Thanks to the BC compatibility, almost nothing have to be changed.
All changes are related to new bundle version of:
- SensioFrameworkExtraBundle
- DoctrineFixturesBundle
2018-10-04 14:11:57 +02:00
Stéphane HULARD
559f708cae
Add translations about latest Tag changes.
Add new translations in each language file.
2018-09-25 10:18:08 +02:00
Stéphane HULARD
9b0aef9171
Update tag list template to allow renaming.
* Add a form on each tag to handle rename action.
* Add JavaScript to handle action on the corresponding page inside the global index.js file.
* Add support for the 2 active themes : material / baggy

The form solution is cleaner than an Ajax one because it let the browser validate input data and make the POST easier without the need to handle JSON response.
2018-09-25 10:18:08 +02:00
Stéphane HULARD
b846c1e4d0
Add RenameForm as tag list view parameters.
This will help handling the CSRF protection token and use symfony HTML generation layer.
Also a FormView instance is generated for each tag because we need to render a form for each tag and FormView are not reusable.
2018-09-25 10:18:08 +02:00
Stéphane HULARD
be326a22f9
Create a new Tag action to rename tags.
The current tag is removed from all the current logged user entries. Then the new one is created and attached.
2018-09-25 10:18:08 +02:00
Stéphane HULARD
a664a1d876
Rename Tag : Add a new FormType 2018-09-25 10:18:08 +02:00
Tobi823
83f1c3274f Run php-cs-fixer for fixing coding standard issues 2018-09-23 22:20:43 +02:00
Tobi823
7a65c2017b Override the value of the given parameter ($title) with the (hopefully)
correct (to UTF-8) converted PDF title
2018-09-21 13:23:39 +02:00
Tobi823
c01d953292 Add tests for logic
Try to translate the title of a PDF from UTF-8 (then UTF-16BE, then WINDOWS-1252) to UTF-8
2018-09-21 13:15:00 +02:00
Tobi823
f80f16dfc8 Try to detect the character encoding in PDFs and try to translate
the title from the PDF to UTF-8
2018-09-21 13:15:00 +02:00
Tobi823
8648f0c005 Remove type declaration for PHP 5 compatibility 2018-09-21 13:15:00 +02:00
Tobi823
d76a5a6d60 Bugfix: Sanitize the title of a saved webpage from invalid UTF-8 characters 2018-09-21 13:15:00 +02:00
Jeremy Benoist
9007fe0062
Sort archive page by archived at 2018-09-21 11:18:29 +02:00
Sébastien Viande
7c0d682687
Code Style 2018-09-21 10:33:33 +02:00
Sébastien Viande
0e70e81227
Entry: add sort parameter archived 2018-09-21 10:33:33 +02:00
Sébastien Viande
7975395d10
Entry: add archived_at property and updateArchived method 2018-09-21 10:33:33 +02:00
Jeremy Benoist
17476f4d8d
Add missing parameters
Parameters weren’t passed to the sub function.
2018-09-07 13:56:14 +02:00
Kevin Decherf
b8115ff46b php-cs-fixer
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-09-05 18:44:08 +02:00
Kevin Decherf
0636697289 EntryRepository: refactor getBuilderForUntaggedByUser
Improve SQL performance by replacing size(e.tags) with a left join and a
null condition

Move the QueryBuilder logic into getRawBuilderForUntaggedByUser

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-09-05 18:44:08 +02:00
Kevin Decherf
b7c5fda512 EntryRepository: refactor getBuilderByUser
We refactor getBuilderByUser to separate QueryBuilder getter and the
orderBy(). The previous code of getBuilderByUser() has been moved to
getSortedQueryBuilderByUser(). getBuildByUser() now returns a
QueryBuilder without the call to orderBy().

A new method named sortQueryBuilder() returns a given QueryBuilder with
an orderBy() call using given sort parameters.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-09-05 18:44:08 +02:00
Kevin Decherf
69b563948d AnnotationRepository: rename getBuilderByUser
We rename getBuilderByUser to getSortedQueryBuilderByUser as long as the
method currently returns a QueryBuilder with an orderBy()

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-09-05 18:44:08 +02:00
Kevin Decherf
2a1ceb67b4 php-cs-fixer
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-09-05 14:25:32 +02:00
Aleksandar Todorović (r3bl)
7fd4ad6564
Fixes a typo 2018-08-10 20:15:46 +02:00
Simounet
e6f12c0734 More robust srcset image attribute handling
Linked to HTMLawed PR https://github.com/kesar/HTMLawed/pull/17
2018-07-12 14:29:30 +02:00
Simounet
e93f37206a wallabag logo (side-nav) replaced by an SVG one 2018-07-11 21:57:53 +02:00
Simounet
4c78612eb4 wallabag logo with typo replaced by an SVG one 2018-07-11 21:51:52 +02:00
Simounet
d02e6850c2 Autofocus the username field on the login page 2018-07-11 20:10:51 +02:00
Simounet
3fbbe0d9f1 Fix image downloading on null image path 2018-07-05 11:40:51 +02:00
Jeremy Benoist
49b4c87598
We should able to get the table name unescaped
When we want to perform complex queries to retrieve metadata from the database
2018-06-14 14:15:07 +02:00
Jeremy Benoist
bfe7a69226
Fixed migrations with dash into db name 2018-06-14 13:43:09 +02:00
Jérémy Benoist
c00a691019
Merge pull request #3668 from wallabag/fix-tests
Fix tests
2018-06-07 06:21:06 +00:00
Jeremy Benoist
778543311f
Fix tests 2018-06-06 17:34:20 +02:00
Jérémy Benoist
a550a64c84
Merge pull request #3614 from comradekingu/patch-3
Spelling: GitHub, Log out, of the dev
2018-06-06 14:26:40 +00:00
Simounet
03f2cacb58 Fix authors and preview alt encoding display 2018-06-04 12:04:37 +02:00
Jérémy Benoist
fea68d1a72
Merge pull request #3646 from Quenty31/master
[i18n] Occitan update
2018-06-01 14:53:49 +02:00
Simounet
c15bb5ad72 Fix srcset attribute on images downloaded 2018-06-01 13:49:16 +02:00
Quentí
65f499b4ac
Update wallabag_user.oc.yml 2018-05-06 12:36:55 +02:00
Quentí
7c3184376c
Update wallabag_user.oc.yml
Mens dialectal, mai estandard
2018-05-05 21:15:01 +02:00
Quentí
609adaca9b
Update messages.oc.yml 2018-05-05 21:13:55 +02:00
Floran Brutel
8e5b91180e
Better encoding of the URI for the bookmarklet 2018-04-01 20:55:45 +02:00
Allan Nordhøy
f400aa1281
GitHub, Log out, of the dev 2018-03-25 04:31:22 +02:00
Markus Ritzmann
10f31ac572 change href link for manifest.json 2018-03-19 08:32:33 +01:00
mritzmann
35ce4d5e5f add manifest.json for android pwa 2018-03-18 19:58:34 +01:00
Jérémy Benoist
2ff26deaf8
Merge pull request #3592 from Simounet/fix/html-entities-on-default-title
Fix title card HTML parsing
2018-02-24 22:24:24 +01:00
Simounet
4d9128ded9 Fix title card HTML parsing 2018-02-12 22:19:15 +01:00
Stéphane HULARD
cc09434ea4
Fix error when withRemove variable is not defined.
Since the withRemove variable is a template flag, it can be undefined.

In the Entry\Card\_content.html.twig template for example, the withRemove variable is not defined.
2018-01-23 18:51:52 +01:00
Simounet
2831e77cce Nav close button alignment and nav boxes improved 2018-01-12 10:07:46 +01:00
Simounet
f86c2b5fa6 Label replaced by a button on the nav search form 2018-01-12 10:07:46 +01:00
Simounet
e9e3f93805 Label replaced by a button on the nav new entry form 2018-01-12 10:07:46 +01:00
Nicolas Lœuillet
410216f435
Merge pull request #3536 from wallabag/tag-link-3534
Fix broken link to remove tags from entries
2018-01-03 20:37:57 +01:00
Nicolas Lœuillet
8fa6d62197
Replaced Create new client link with a button 2017-12-28 10:21:28 +01:00
Kevin Decherf
8e15ece7df Fix broken link to remove tags from entries
Fixes #3534

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2017-12-27 22:53:03 +01:00
Nicolas Lœuillet
c04bde29a3
Added default value for title on entry view 2017-12-26 15:40:38 +01:00