Compare commits

..

871 Commits

Author SHA1 Message Date
42c4ad0f93 WIP 2020-06-15 10:33:58 +02:00
d388debcab Merge pull request #4439 from wallabag/dependabot/composer/symfony/symfony-3.4.42
Bump symfony/symfony from 3.4.41 to 3.4.42
2020-06-15 07:04:24 +02:00
a3da7e0686 Bump symfony/symfony from 3.4.41 to 3.4.42
Bumps [symfony/symfony](https://github.com/symfony/symfony) from 3.4.41 to 3.4.42.
- [Release notes](https://github.com/symfony/symfony/releases)
- [Changelog](https://github.com/symfony/symfony/blob/v3.4.42/CHANGELOG-3.4.md)
- [Commits](https://github.com/symfony/symfony/compare/v3.4.41...v3.4.42)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 02:23:05 +00:00
a29a15c98d Merge pull request #4438 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.18.0
Bump scheb/two-factor-bundle from 4.16.0 to 4.18.0
2020-06-13 10:10:48 +02:00
bd79c8244e Bump scheb/two-factor-bundle from 4.16.0 to 4.18.0
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 4.16.0 to 4.18.0.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v4.16.0...v4.18.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-13 05:43:07 +00:00
6c56444c4e Merge pull request #4421 from wallabag/fix/security-two-factor
Upgrade scheb/two-factor-bundle to fix vulnerability
2020-06-13 07:38:37 +02:00
a0c838507d Merge pull request #4433 from wallabag/dependabot/npm_and_yarn/websocket-extensions-0.1.4
Bump websocket-extensions from 0.1.3 to 0.1.4
2020-06-08 05:05:18 +02:00
ba6d991f6e Bump websocket-extensions from 0.1.3 to 0.1.4
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4.
- [Release notes](https://github.com/faye/websocket-extensions-node/releases)
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)

Signed-off-by: dependabot[bot] <support@github.com>
2020-06-06 13:56:31 +00:00
79f1a8a0cc Merge pull request #4428 from wallabag/dependabot/composer/j0k3r/graby-2.2.1
Bump j0k3r/graby from 2.2.0 to 2.2.1
2020-06-04 04:52:37 +02:00
c99caa0968 Bump j0k3r/graby from 2.2.0 to 2.2.1
Bumps [j0k3r/graby](https://github.com/j0k3r/graby) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/j0k3r/graby/releases)
- [Commits](https://github.com/j0k3r/graby/compare/2.2.0...2.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-04 02:16:58 +00:00
2a253d24ca Upgrade scheb/two-factor-bundle to fix vulnerability
The bundle was locked to a version which contains a security bug.
Jumping to the most recent fix the issue.

But we'll have the `ListenerInterface` issue, again.
So, downgrading sentry-symfony instead.

See 0cf743f6fb
2020-06-02 07:53:26 +02:00
3095c0d51f Merge pull request #4425 from wallabag/dependabot/composer/symfony/symfony-3.4.41
Bump symfony/symfony from 3.4.40 to 3.4.41
2020-06-02 07:45:49 +02:00
e2a6487b4f Merge pull request #4423 from wallabag/dependabot/composer/symfony/maker-bundle-1.19.0
Bump symfony/maker-bundle from 1.18.0 to 1.19.0
2020-06-02 05:48:01 +02:00
aaedb0ad3c Bump symfony/symfony from 3.4.40 to 3.4.41
Bumps [symfony/symfony](https://github.com/symfony/symfony) from 3.4.40 to 3.4.41.
- [Release notes](https://github.com/symfony/symfony/releases)
- [Changelog](https://github.com/symfony/symfony/blob/v3.4.41/CHANGELOG-3.4.md)
- [Commits](https://github.com/symfony/symfony/compare/v3.4.40...v3.4.41)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 02:24:42 +00:00
b83855b00b Bump symfony/maker-bundle from 1.18.0 to 1.19.0
Bumps [symfony/maker-bundle](https://github.com/symfony/maker-bundle) from 1.18.0 to 1.19.0.
- [Release notes](https://github.com/symfony/maker-bundle/releases)
- [Changelog](https://github.com/symfony/maker-bundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/maker-bundle/compare/v1.18.0...v1.19.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 02:19:10 +00:00
b75b649eff Merge pull request #4418 from wallabag/dependabot/composer/doctrine/doctrine-bundle-1.12.10
Bump doctrine/doctrine-bundle from 1.12.8 to 1.12.10
2020-05-26 06:05:09 +02:00
03ac06a84e Bump doctrine/doctrine-bundle from 1.12.8 to 1.12.10
Bumps [doctrine/doctrine-bundle](https://github.com/doctrine/DoctrineBundle) from 1.12.8 to 1.12.10.
- [Release notes](https://github.com/doctrine/DoctrineBundle/releases)
- [Commits](https://github.com/doctrine/DoctrineBundle/compare/1.12.8...1.12.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-26 02:43:32 +00:00
d647e50597 Merge pull request #4416 from wallabag/update-deps
Update deps
2020-05-25 18:10:41 +02:00
0cf743f6fb Lock scheb/two-factor-bundle to avoid issue with ListenerInterface / TwoFactorListener
- v4.6.0 introduce a fix for "deprecated listener for Symfony < 4.3"
- but sentry-symfony 3.3.0 introduce a bug in the workaround previous fix
- which was fixed in sentry-symfony 3.4.2
- we can't upgrade to that version because it requires sentry/sdk 2.1 which use `php-http/guzzle6-adapter` instead of curl
- as we are using guzzle5, we can't upgrade and fix the listerner issue
2020-05-25 07:14:00 +02:00
2a74acb77f Update deps
- Clean Travis config file
  - Only cache deps from composer (avoiding metadata to invalid Travis cache)
  - Update config file to match future version from Travis
  - Remove useless (not so working) `travis_fold`
- Remove `SensioGeneratorBundle` and use `MakerBundle`
  ```
  Package sensio/generator-bundle is abandoned, you should avoid using it. Use symfony/maker-bundle instead.
  ```
- Sort packages in `composer.json`
- Use `laminas/*` package to remove deprecated `zendframework/*` ones:
  ```
  Package zendframework/zend-code is abandoned, you should avoid using it. Use laminas/laminas-code instead.
  Package zendframework/zend-diactoros is abandoned, you should avoid using it. Use laminas/laminas-diactoros instead.
  Package zendframework/zend-eventmanager is abandoned, you should avoid using it. Use laminas/laminas-eventmanager instead.
  ```
2020-05-25 06:28:04 +02:00
372810b687 Merge pull request #4410 from wallabag/dependabot/composer/friendsofsymfony/jsrouting-bundle-2.6.0
Bump friendsofsymfony/jsrouting-bundle from 2.5.4 to 2.6.0
2020-05-25 06:09:33 +02:00
9dfceff022 Fix test 2020-05-25 05:50:11 +02:00
0db1322941 Bump friendsofsymfony/jsrouting-bundle from 2.5.4 to 2.6.0
Bumps [friendsofsymfony/jsrouting-bundle](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle) from 2.5.4 to 2.6.0.
- [Release notes](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/releases)
- [Changelog](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/compare/2.5.4...2.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-21 02:18:41 +00:00
bf7cf20b44 Merge pull request #4385 from Simounet/feat/side-nav-hidden-mobile-add-tag
Side nav hidden on mobile tag adding
2020-05-13 05:05:15 +02:00
29e16095f4 Merge pull request #4392 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.16.0
Bump scheb/two-factor-bundle from 4.15.0 to 4.16.0
2020-05-11 05:16:33 +02:00
27113f4562 Bump scheb/two-factor-bundle from 4.15.0 to 4.16.0
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 4.15.0 to 4.16.0.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v4.15.0...v4.16.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 02:23:56 +00:00
a5ac604683 Side nav hidden on mobile tag adding 2020-05-06 22:27:11 +02:00
557e810c1f Merge pull request #4363 from wallabag/piwik-to-matomo
Upgrade Piwik Twig Extension to Matomo
2020-04-30 09:14:52 +02:00
23ea2c8f74 Merge pull request #4370 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.15.0
Bump scheb/two-factor-bundle from 4.14.0 to 4.15.0
2020-04-30 06:28:38 +02:00
b3223101d0 Bump scheb/two-factor-bundle from 4.14.0 to 4.15.0
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 4.14.0 to 4.15.0.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v4.14.0...v4.15.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-30 02:19:01 +00:00
9717d01298 Upgrade Piwik Twig Extension to Matomo 2020-04-29 14:19:31 +02:00
0914a6f2fd Merge pull request #4366 from AKKED/patch-8
Update Japanese translation (messages.ja.yml)
2020-04-29 09:54:48 +02:00
438a05c3c8 Update Japanese translation (messages.ja.yml) 2020-04-29 15:53:37 +09:00
ba9e1c02ae Merge pull request #4364 from wallabag/dependabot/composer/symfony/symfony-3.4.40
Bump symfony/symfony from 3.4.39 to 3.4.40
2020-04-29 04:43:16 +02:00
5e39e5b6a9 Bump symfony/symfony from 3.4.39 to 3.4.40
Bumps [symfony/symfony](https://github.com/symfony/symfony) from 3.4.39 to 3.4.40.
- [Release notes](https://github.com/symfony/symfony/releases)
- [Changelog](https://github.com/symfony/symfony/blob/v3.4.40/CHANGELOG-3.4.md)
- [Commits](https://github.com/symfony/symfony/compare/v3.4.39...v3.4.40)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-29 02:19:13 +00:00
d50c93f055 Merge pull request #4358 from JeanGauthier/master
Update messages.oc.yml
2020-04-28 09:21:54 +02:00
976b4bbb11 Merge pull request #4360 from wallabag/config-mass-delete
Added confirmation before mass deleting articles
2020-04-27 17:57:25 +02:00
b33226c3a2 Update messages.oc.yml 2020-04-27 11:49:02 +02:00
e247450ade Added confirmation before mass deleting articles 2020-04-27 11:42:41 +02:00
61007d58dd Update messages.oc.yml 2020-04-27 11:17:57 +02:00
34fe51454a Merge pull request #4309 from wallabag/fix/php-7.4
Replace wallabag's fork of tcpdf with the original one, PHP 7.4 support
2020-04-27 08:59:56 +02:00
b23d9403ec Merge pull request #4343 from wallabag/enhance-material-nav
Enhanced navigation menu in material theme
2020-04-27 06:08:10 +02:00
a08b0bf828 Update messages.oc.yml 2020-04-26 22:56:18 +02:00
d9a68f6ced Enhanced navigation menu in material theme 2020-04-26 21:08:22 +02:00
7f88c7423f Replace wallabag's fork of tcpdf with the original one, fix notices for PHP 7.4
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-04-26 18:29:34 +02:00
0e8a0f77d0 Merge pull request #4026 from wallabag/3760-ignorelist-db
Move Ignore Origin rules to database
2020-04-26 15:39:57 +02:00
71f7e58fbd tests: add a NetworkCalls group for tests making network calls
Excluding this group can decrease the run time of tests during
development.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-04-25 15:59:23 +02:00
25c754f62f views: Add doc and translations on ignore origin rules forms
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-04-25 15:59:23 +02:00
7408a6cb68 Add controller, views and translations for ignore origin instance rules
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-04-25 15:59:23 +02:00
b22eb27623 ContentProxy: replace ignoreUrl with new RuleBasedIgnoreOriginProcessor
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-04-25 15:59:23 +02:00
2495b19761 Add default system-wide ignore origin rules with install support
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-04-25 15:59:23 +02:00
f39c5a2a70 Add new Helper to process Ignore Origin rules and RulerZ operator
This commits adds a new helper like RuleBasedTagger for processing
ignore origin rules. It also adds a new custom RulerZ operator for the
'~' pattern matching rule.

Renames 'pattern' with '_all' in IgnoreOriginRule entity.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-04-25 15:59:23 +02:00
24230a5130 Add new Ignore Origin rules tab, update ConfigController
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-04-25 15:59:23 +02:00
c675bd11c6 Add IgnoreOriginRule-related entities, db migration, update config
Add IgnoreOriginUserRule for user-defined rules and
IgnoreOriginInstanceRule for system-wide rules. Add an interface for
these two new entities.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-04-25 15:59:23 +02:00
8a8a78a64c Merge pull request #4326 from wallabag/mass-actions
Added mass actions for Material design in list view
2020-04-24 09:37:23 +02:00
467327771a Added mass actions for Material design in list view 2020-04-24 09:12:57 +02:00
31e3a233a4 Merge pull request #4353 from wallabag/dependabot/composer/friendsofsymfony/rest-bundle-2.7.4
Bump friendsofsymfony/rest-bundle from 2.7.3 to 2.7.4
2020-04-24 05:43:54 +02:00
4e3d0afc73 Merge pull request #4354 from wallabag/dependabot/composer/doctrine/doctrine-bundle-1.12.8
Bump doctrine/doctrine-bundle from 1.12.7 to 1.12.8
2020-04-24 05:43:16 +02:00
1ae6f32b82 Bump doctrine/doctrine-bundle from 1.12.7 to 1.12.8
Bumps [doctrine/doctrine-bundle](https://github.com/doctrine/DoctrineBundle) from 1.12.7 to 1.12.8.
- [Release notes](https://github.com/doctrine/DoctrineBundle/releases)
- [Commits](https://github.com/doctrine/DoctrineBundle/compare/1.12.7...1.12.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-24 02:27:52 +00:00
26e5b452a6 Bump friendsofsymfony/rest-bundle from 2.7.3 to 2.7.4
Bumps [friendsofsymfony/rest-bundle](https://github.com/FriendsOfSymfony/FOSRestBundle) from 2.7.3 to 2.7.4.
- [Release notes](https://github.com/FriendsOfSymfony/FOSRestBundle/releases)
- [Changelog](https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfSymfony/FOSRestBundle/compare/2.7.3...2.7.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-24 02:20:59 +00:00
3252f20102 Merge pull request #4349 from wallabag/dependabot/composer/j0k3r/graby-2.2.0
Bump j0k3r/graby from 2.1.1 to 2.2.0
2020-04-23 06:41:30 +02:00
692501f23e Bump j0k3r/graby from 2.1.1 to 2.2.0
Bumps [j0k3r/graby](https://github.com/j0k3r/graby) from 2.1.1 to 2.2.0.
- [Release notes](https://github.com/j0k3r/graby/releases)
- [Commits](https://github.com/j0k3r/graby/compare/2.1.1...2.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-23 02:15:52 +00:00
6bd8f626e4 Merge pull request #4347 from wallabag/article-stats-grey
🎨 Changed visibility for article stats
2020-04-22 15:12:37 +02:00
01f8a776a4 Fixed unit tests 2020-04-22 14:58:37 +02:00
a6b5b8f7a9 Changed visibility for article stats 2020-04-22 14:58:24 +02:00
b367534991 Merge pull request #4346 from wallabag/add-color-coherence
🎨 Added more coherence with color links for material theme
2020-04-22 12:25:26 +02:00
558651783a Added more coherence with color links for material theme 2020-04-21 17:30:39 +02:00
2ca2ed39fd Merge pull request #4310 from wallabag/fix/4216
TagController: fix duplicated tags when renaming them
2020-04-20 18:02:31 +02:00
7443da479f Merge pull request #4136 from wallabag/improve-tags-list
Improved tags list
2020-04-20 12:14:54 +02:00
5434577883 Improved tags list for material view 2020-04-20 11:39:35 +02:00
361aa02e2a Merge pull request #4338 from wallabag/dependabot/composer/html2text/html2text-4.3.1
Bump html2text/html2text from 4.2.1 to 4.3.1
2020-04-20 05:20:49 +02:00
ca7e0756db Bump html2text/html2text from 4.2.1 to 4.3.1
Bumps [html2text/html2text](https://github.com/mtibben/html2text) from 4.2.1 to 4.3.1.
- [Release notes](https://github.com/mtibben/html2text/releases)
- [Commits](https://github.com/mtibben/html2text/compare/4.2.1...4.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-20 02:41:47 +00:00
48f9a9632d TagController: support merging labels when renaming one with label of another
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-04-18 18:12:33 +02:00
a19caf8a37 TagController: prevent tag deletion when renaming a tag with the same label
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-04-18 18:09:07 +02:00
39133eb796 TagController: fix duplicated tags when renaming them
The fix relies on a workaround available on TagsAssigner, see the
AssignTagsToEntry() signature for detail.

I replaced the findOneByLabel in the corresponding test to assert that
there is no duplicate.

Fixes #4216

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-04-18 18:09:07 +02:00
f3565ea2bf Merge pull request #4336 from wallabag/dependabot/composer/friendsofsymfony/jsrouting-bundle-2.5.4
Bump friendsofsymfony/jsrouting-bundle from 2.5.3 to 2.5.4
2020-04-16 05:05:19 +02:00
395e6bfcee Bump friendsofsymfony/jsrouting-bundle from 2.5.3 to 2.5.4
Bumps [friendsofsymfony/jsrouting-bundle](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle) from 2.5.3 to 2.5.4.
- [Release notes](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/releases)
- [Changelog](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/compare/2.5.3...2.5.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-16 02:36:24 +00:00
7b948005be Merge pull request #4335 from wallabag/dependabot/composer/friendsofphp/php-cs-fixer-2.16.3
Bump friendsofphp/php-cs-fixer from 2.16.2 to 2.16.3
2020-04-16 04:36:09 +02:00
facf7511ca Bump friendsofphp/php-cs-fixer from 2.16.2 to 2.16.3
Bumps [friendsofphp/php-cs-fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) from 2.16.2 to 2.16.3.
- [Release notes](https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases)
- [Changelog](https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/2.16/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfPHP/PHP-CS-Fixer/compare/v2.16.2...v2.16.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-16 02:21:51 +00:00
35359a23c1 Merge pull request #4329 from wallabag/add-2fa-disable
Added a button to disable 2FA when enabled
2020-04-14 19:59:54 +02:00
e349c879fa Changed color for disable button 2020-04-14 16:12:55 +02:00
2b21cc8869 Merge pull request #4325 from wallabag/fix-paywall-import-cron
Added authentication during import command for paywalled websites
2020-04-13 18:27:52 +02:00
4ff1efa418 Added a button to disable 2FA when enabled 2020-04-13 17:00:53 +02:00
b4ecbf2bb2 Merge pull request #4328 from wallabag/dependabot/composer/doctrine/doctrine-fixtures-bundle-3.3.1
Bump doctrine/doctrine-fixtures-bundle from 3.3.0 to 3.3.1
2020-04-13 05:36:53 +02:00
fc096bdc32 Merge pull request #4327 from wallabag/dependabot/composer/friendsofphp/php-cs-fixer-2.16.2
Bump friendsofphp/php-cs-fixer from 2.16.1 to 2.16.2
2020-04-13 05:36:22 +02:00
20a99c772a Bump doctrine/doctrine-fixtures-bundle from 3.3.0 to 3.3.1
Bumps [doctrine/doctrine-fixtures-bundle](https://github.com/doctrine/DoctrineFixturesBundle) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/doctrine/DoctrineFixturesBundle/releases)
- [Changelog](https://github.com/doctrine/DoctrineFixturesBundle/blob/master/CHANGELOG-3.1.md)
- [Commits](https://github.com/doctrine/DoctrineFixturesBundle/compare/3.3.0...3.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 02:32:39 +00:00
78eae449aa Bump friendsofphp/php-cs-fixer from 2.16.1 to 2.16.2
Bumps [friendsofphp/php-cs-fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) from 2.16.1 to 2.16.2.
- [Release notes](https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases)
- [Changelog](https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/2.16/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfPHP/PHP-CS-Fixer/compare/v2.16.1...v2.16.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 02:18:53 +00:00
607e1a1a13 Added authentication during import command for paywalled websites 2020-04-12 15:35:00 +02:00
365b3dd21f Merge pull request #4319 from wallabag/feature/token-lifetime-parameters
Add ability to define lifetime token for the API
2020-04-08 15:18:21 +02:00
d20a8c5fb4 Add ability to define lifetime token for the API
It'll allow admin of a wallabag instance to define its own lifetime for the refresh token and the access token.
The default value are the recommended one from the wallabag team.
2020-04-08 09:18:17 +02:00
023c8117ec Merge pull request #4318 from wallabag/change-auth-graby
Changed authentication order in GrabySiteConfigBuilder
2020-04-07 17:23:20 +02:00
de9b5b5f4c Changed authentication order in GrabySiteConfigBuilder 2020-04-07 17:12:19 +02:00
b283ee0d6d Merge pull request #4315 from wallabag/add-published-date-epub
Added publication date on epub export
2020-04-06 19:58:33 +02:00
4d3478ec53 Merge pull request #4317 from wallabag/enhance-article-display
Enhanced article display
2020-04-06 18:00:36 +02:00
a0cb41c509 Merge pull request #4316 from wallabag/fix-remove-pictures-api
Fixed bug when we delete entry via API
2020-04-06 17:59:58 +02:00
1598d13248 Enhanced article display
Fixes #4153
2020-04-06 16:32:09 +02:00
0bddd34847 Added publication date on epub export 2020-04-06 16:14:36 +02:00
a07872238b Fixed bug when we delete entry via API
Fixes #4291
2020-04-06 16:11:05 +02:00
fbfeb20062 Merge pull request #4308 from AKKED/patch-6
update Japanese translation
2020-04-03 23:39:26 +02:00
f547e4a7d4 update Japanese translation
- Some mistranslations have been corrected.
- Some expressions have been updated to make them easier to understand.
2020-04-04 04:31:05 +09:00
8b165a9a50 Merge pull request #4305 from wallabag/dependabot/composer/symfony/symfony-3.4.39
Bump symfony/symfony from 3.4.38 to 3.4.39
2020-03-31 16:11:28 +02:00
3cd659fc34 Fix tests 2020-03-31 15:56:48 +02:00
fdf90f8411 Bump symfony/symfony from 3.4.38 to 3.4.39
Bumps [symfony/symfony](https://github.com/symfony/symfony) from 3.4.38 to 3.4.39.
- [Release notes](https://github.com/symfony/symfony/releases)
- [Changelog](https://github.com/symfony/symfony/blob/v3.4.39/CHANGELOG-3.4.md)
- [Commits](https://github.com/symfony/symfony/compare/v3.4.38...v3.4.39)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-31 02:28:49 +00:00
d31f70bfac Merge pull request #4302 from wallabag/9f88d2f8
Replace grandt/phpepub with wallabag version
2020-03-30 10:14:19 +02:00
bbf909ae6e Merge pull request #4304 from wallabag/dependabot/composer/friendsofsymfony/rest-bundle-2.7.3
Bump friendsofsymfony/rest-bundle from 2.7.2 to 2.7.3
2020-03-30 05:48:32 +02:00
ff6272204e Bump friendsofsymfony/rest-bundle from 2.7.2 to 2.7.3
Bumps [friendsofsymfony/rest-bundle](https://github.com/FriendsOfSymfony/FOSRestBundle) from 2.7.2 to 2.7.3.
- [Release notes](https://github.com/FriendsOfSymfony/FOSRestBundle/releases)
- [Changelog](https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfSymfony/FOSRestBundle/compare/2.7.2...2.7.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-30 02:39:21 +00:00
9d196fcc15 composer: replace grandt/phpepub with wallabag version
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-03-29 16:27:31 +02:00
6277578d4f Merge pull request #4303 from wallabag/fix/cleanup-cookie
Cleanup cookie jar
2020-03-29 15:30:13 +02:00
b12e23ad8a Cleanup cookie jar
As of latest Guzzle release, it's fixed so we can removed that code.
2020-03-29 11:39:49 +02:00
c9b83a13c0 Merge pull request #4274 from AKKED/add_ja
add Japanese translation
2020-03-28 17:16:37 +01:00
11079d204d Merge pull request #4272 from Simounet/feat/load-custom-css-only-if-exists
Load custom.css only if exists
2020-03-28 16:49:29 +01:00
7d4176b27b Add Japanese translation 2020-03-28 16:47:44 +01:00
d8a40d703e Merge pull request #4281 from lizyn/zh_translation
Added language support for Simplified Chinese(简体中文)
2020-03-28 16:39:17 +01:00
26467fa6b4 Merge pull request #4299 from wallabag/fix/4133
Fix createdAt filter on material
2020-03-28 16:38:12 +01:00
dcfce54681 Merge pull request #4285 from wallabag/dependabot/composer/symfony/symfony-3.4.38
Bump symfony/symfony from 3.4.37 to 3.4.38
2020-03-27 15:55:49 +01:00
d15be99648 Merge pull request #4295 from wallabag/dependabot/composer/incenteev/composer-parameter-handler-2.1.4
Bump incenteev/composer-parameter-handler from 2.1.3 to 2.1.4
2020-03-27 15:52:14 +01:00
8ee7b1603d Fix createdAt date range filter
- hiddenName has been disabled in order to fix the missing date range
  values when using the material theme
- data format has been changed to 'Y-m-d' in order to comply with the
  browser date input default format
- tests: date() and strtotime have been replaced with DateTime-related
  objects

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-03-22 17:01:39 +01:00
ef81e3c89b tests: replace baggy theme used in EntryController tests
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-03-22 17:01:39 +01:00
7fc38f667b misc: reindent EntryFilterType
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-03-21 00:43:01 +01:00
91c318e870 Bump incenteev/composer-parameter-handler from 2.1.3 to 2.1.4
Bumps [incenteev/composer-parameter-handler](https://github.com/Incenteev/ParameterHandler) from 2.1.3 to 2.1.4.
- [Release notes](https://github.com/Incenteev/ParameterHandler/releases)
- [Changelog](https://github.com/Incenteev/ParameterHandler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Incenteev/ParameterHandler/compare/v2.1.3...v2.1.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-18 03:54:46 +00:00
f3b1ec121d Merge pull request #4293 from wallabag/dependabot/composer/friendsofsymfony/oauth2-php-1.3.0
[Security] Bump friendsofsymfony/oauth2-php from 1.2.3 to 1.3.0
2020-03-15 16:51:37 +01:00
2226c81340 Merge pull request #4290 from wallabag/ab0c5ef1
Remove capistrano-related files
2020-03-15 13:55:14 +01:00
f38b8f0d86 Merge pull request #4278 from wallabag/fix/4240
Fix entries export from search view
2020-03-15 13:54:44 +01:00
f3db257902 [Security] Bump friendsofsymfony/oauth2-php from 1.2.3 to 1.3.0
Bumps [friendsofsymfony/oauth2-php](https://github.com/FriendsOfSymfony/oauth2-php) from 1.2.3 to 1.3.0. **This update includes a security fix.**
- [Release notes](https://github.com/FriendsOfSymfony/oauth2-php/releases)
- [Changelog](https://github.com/FriendsOfSymfony/oauth2-php/blob/master/CHANGELOG.txt)
- [Commits](https://github.com/FriendsOfSymfony/oauth2-php/compare/1.2.3...1.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-15 11:27:16 +00:00
899ab0d04f Remove capistrano-related files
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-03-08 17:00:51 +01:00
ba820b12b6 Merge pull request #4287 from wallabag/dependabot/composer/friendsofsymfony/rest-bundle-2.7.2
Bump friendsofsymfony/rest-bundle from 2.7.1 to 2.7.2
2020-03-06 16:52:04 +01:00
552957bbf1 Bump friendsofsymfony/rest-bundle from 2.7.1 to 2.7.2
Bumps [friendsofsymfony/rest-bundle](https://github.com/FriendsOfSymfony/FOSRestBundle) from 2.7.1 to 2.7.2.
- [Release notes](https://github.com/FriendsOfSymfony/FOSRestBundle/releases)
- [Changelog](https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfSymfony/FOSRestBundle/compare/2.7.1...2.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-05 03:49:44 +00:00
ec37106f32 Bump symfony/symfony from 3.4.37 to 3.4.38
Bumps [symfony/symfony](https://github.com/symfony/symfony) from 3.4.37 to 3.4.38.
- [Release notes](https://github.com/symfony/symfony/releases)
- [Changelog](https://github.com/symfony/symfony/blob/v3.4.38/CHANGELOG-3.4.md)
- [Commits](https://github.com/symfony/symfony/compare/v3.4.37...v3.4.38)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 03:30:42 +00:00
a167f002bb Merge pull request #4282 from wallabag/dependabot/composer/friendsofsymfony/rest-bundle-2.7.1
Bump friendsofsymfony/rest-bundle from 2.7.0 to 2.7.1
2020-02-29 12:20:33 +01:00
d3c8bf87c2 Bump friendsofsymfony/rest-bundle from 2.7.0 to 2.7.1
Bumps [friendsofsymfony/rest-bundle](https://github.com/FriendsOfSymfony/FOSRestBundle) from 2.7.0 to 2.7.1.
- [Release notes](https://github.com/FriendsOfSymfony/FOSRestBundle/releases)
- [Changelog](https://github.com/FriendsOfSymfony/FOSRestBundle/blob/2.7.1/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfSymfony/FOSRestBundle/compare/2.7.0...2.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-25 04:01:53 +00:00
9ce18f06c3 Added Simplified Chinese as a language option 2020-02-25 00:19:04 +08:00
4a654ae49a Added translation in Simplified Chinese(简体中文) 2020-02-25 00:13:26 +08:00
b19df31d78 Merge pull request #1 from wallabag/master
Keep up with the master again
2020-02-24 10:04:13 +08:00
80609790ca travis: remove double triggers for PR, remove nightly
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-02-23 00:43:26 +01:00
93c5b47e88 ExportController: fix entries export from search view
Fixes #4240

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-02-23 00:43:21 +01:00
04d918cae0 Merge pull request #4280 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.14.0
Bump scheb/two-factor-bundle from 4.13.0 to 4.14.0
2020-02-19 21:35:16 +01:00
de166a37d4 Bump scheb/two-factor-bundle from 4.13.0 to 4.14.0
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 4.13.0 to 4.14.0.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v4.13.0...v4.14.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 04:06:40 +00:00
33e3eeaec8 Load custom.css only if exists 2020-02-07 13:21:48 +01:00
3bf941c4a4 Merge pull request #4277 from wallabag/dependabot/composer/symfony/phpunit-bridge-4.3.11
Bump symfony/phpunit-bridge from 4.3.10 to 4.3.11
2020-02-03 07:23:56 +01:00
c1a201a472 Merge pull request #4276 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.13.0
Bump scheb/two-factor-bundle from 4.12.0 to 4.13.0
2020-02-03 07:23:22 +01:00
e09f585232 Merge pull request #4275 from wallabag/dependabot/composer/friendsofsymfony/rest-bundle-2.7.0
Bump friendsofsymfony/rest-bundle from 2.6.0 to 2.7.0
2020-02-03 07:22:35 +01:00
2a59cfa331 Bump symfony/phpunit-bridge from 4.3.10 to 4.3.11
Bumps [symfony/phpunit-bridge](https://github.com/symfony/phpunit-bridge) from 4.3.10 to 4.3.11.
- [Release notes](https://github.com/symfony/phpunit-bridge/releases)
- [Changelog](https://github.com/symfony/phpunit-bridge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/phpunit-bridge/compare/v4.3.10...v4.3.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 04:16:45 +00:00
2ffaf28458 Bump scheb/two-factor-bundle from 4.12.0 to 4.13.0
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 4.12.0 to 4.13.0.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v4.12.0...v4.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 04:08:18 +00:00
0c801a4758 Bump friendsofsymfony/rest-bundle from 2.6.0 to 2.7.0
Bumps [friendsofsymfony/rest-bundle](https://github.com/FriendsOfSymfony/FOSRestBundle) from 2.6.0 to 2.7.0.
- [Release notes](https://github.com/FriendsOfSymfony/FOSRestBundle/releases)
- [Changelog](https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfSymfony/FOSRestBundle/compare/2.6.0...2.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 03:57:51 +00:00
62107f50d3 Merge pull request #4264 from herrriehm/master
cosmetic changes
2020-01-28 10:07:22 +01:00
8afcb3a647 Merge pull request #4257 from Simounet/feat/lang-attribute
Use lang attribute
2020-01-28 10:06:30 +01:00
1de4a8f938 Update messages.es.yml 2020-01-27 20:05:49 +01:00
97c6561d5c Merge pull request #4263 from wallabag/4251-firefox-print
Fix print of long pages
2020-01-27 08:50:57 +01:00
6fb7d4a7ae fixed annoying typo 2020-01-26 09:48:17 +01:00
20349b02dd Update wallabag.yml
reverted generic urls
2020-01-26 09:45:31 +01:00
1e921a657f cosmetic changes:
- http to https
- replaced generic .com by specific TLD
- updated some dead urls
2020-01-25 16:16:43 +01:00
3dcb701975 baggy: remove logo from printed pages
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-01-25 15:42:43 +01:00
45582f2992 material: replace display: flex with block in print mode
This change is a workaround for a reported issue with printing flex
items on Firefox

See: https://bugzilla.mozilla.org/show_bug.cgi?id=939897

Fixes #4251

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2020-01-25 15:40:29 +01:00
52cd86f1c2 Merge pull request #4261 from wallabag/dependabot/composer/j0k3r/graby-2.1.1
Bump j0k3r/graby from 2.1.0 to 2.1.1
2020-01-24 07:26:32 +01:00
514c55a161 Bump j0k3r/graby from 2.1.0 to 2.1.1
Bumps [j0k3r/graby](https://github.com/j0k3r/graby) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/j0k3r/graby/releases)
- [Commits](https://github.com/j0k3r/graby/compare/2.1.0...2.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-24 03:48:48 +00:00
416d44d0ae Use lang attribute 2020-01-23 21:21:54 +01:00
fdb885ddbf Merge pull request #4260 from wallabag/dependabot/composer/symfony/symfony-3.4.37
Bump symfony/symfony from 3.4.36 to 3.4.37
2020-01-23 07:09:29 +01:00
94e7ba3174 Bump symfony/symfony from 3.4.36 to 3.4.37
Bumps [symfony/symfony](https://github.com/symfony/symfony) from 3.4.36 to 3.4.37.
- [Release notes](https://github.com/symfony/symfony/releases)
- [Changelog](https://github.com/symfony/symfony/blob/v3.4.37/CHANGELOG-3.4.md)
- [Commits](https://github.com/symfony/symfony/compare/v3.4.36...v3.4.37)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-23 04:33:53 +00:00
6f43803c58 Merge pull request #4258 from wallabag/dependabot/composer/symfony/phpunit-bridge-4.3.10
Bump symfony/phpunit-bridge from 4.3.9 to 4.3.10
2020-01-22 06:02:53 +01:00
509097b841 Bump symfony/phpunit-bridge from 4.3.9 to 4.3.10
Bumps [symfony/phpunit-bridge](https://github.com/symfony/phpunit-bridge) from 4.3.9 to 4.3.10.
- [Release notes](https://github.com/symfony/phpunit-bridge/releases)
- [Changelog](https://github.com/symfony/phpunit-bridge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/phpunit-bridge/compare/v4.3.9...v4.3.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-22 04:21:14 +00:00
7937ed0c20 Merge pull request #4255 from Simounet/feat/actions-from-sticky-btn
Feat/actions from sticky btn
2020-01-21 15:32:41 +01:00
dc23bf9f29 Entry action buttons displayed on page end reached 2020-01-21 14:06:08 +01:00
cfd77d1c2a Sticky nav on entry action button click 2020-01-21 12:00:21 +01:00
996b2ec170 Merge pull request #4254 from Simounet/feat/sidebar-sub-entries-no-hover
Sidebar sub entries not conditioned by hover anymore
2020-01-21 10:31:03 +01:00
a5afdc539f Merge pull request #4256 from wallabag/dependabot/composer/doctrine/doctrine-bundle-1.12.7
Bump doctrine/doctrine-bundle from 1.12.6 to 1.12.7
2020-01-20 06:54:33 +01:00
0f4e90c1ac Bump doctrine/doctrine-bundle from 1.12.6 to 1.12.7
Bumps [doctrine/doctrine-bundle](https://github.com/doctrine/DoctrineBundle) from 1.12.6 to 1.12.7.
- [Release notes](https://github.com/doctrine/DoctrineBundle/releases)
- [Commits](https://github.com/doctrine/DoctrineBundle/compare/1.12.6...1.12.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 04:02:00 +00:00
0a81f9b9d9 Sidebar sub entries not conditioned by hover anymore 2020-01-19 11:01:24 +01:00
913c3bc7aa Merge pull request #4249 from wallabag/fix/env-not-well-defined
Ensure ENV is well defined when using make
2020-01-14 14:30:17 +01:00
29f5515959 Improve check by using list
See https://stackoverflow.com/a/27335439/569101
2020-01-13 15:58:59 +01:00
7dc4cbe70f Merge pull request #4250 from wallabag/fix-twitter-sharing
Fixed URL to share entry via twitter
2020-01-13 15:38:03 +01:00
62682c073b Fixed URL to share entry via twitter 2020-01-13 15:17:06 +01:00
49eb5405de Ensure ENV is well defined when using make
This command should fail before calling other commands (which will fail to because the environment is wrong):

```
ENV=toto make install
```
2020-01-13 14:26:10 +01:00
68fd40e4fc Merge pull request #4247 from wallabag/dependabot/composer/friendsofsymfony/jsrouting-bundle-2.5.3
Bump friendsofsymfony/jsrouting-bundle from 2.5.1 to 2.5.3
2020-01-13 06:58:54 +01:00
15f8a1f09c Merge pull request #4248 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.12.0
Bump scheb/two-factor-bundle from 4.11.1 to 4.12.0
2020-01-13 06:45:40 +01:00
36eab58bb3 Bump scheb/two-factor-bundle from 4.11.1 to 4.12.0
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 4.11.1 to 4.12.0.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v4.11.1...v4.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 03:58:51 +00:00
3d850ba9ac Bump friendsofsymfony/jsrouting-bundle from 2.5.1 to 2.5.3
Bumps [friendsofsymfony/jsrouting-bundle](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle) from 2.5.1 to 2.5.3.
- [Release notes](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/releases)
- [Changelog](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/compare/2.5.1...v2.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 03:50:53 +00:00
66d91fa116 Merge pull request #4245 from wallabag/dependabot/composer/m6web/redis-mock-5.0.0
Bump m6web/redis-mock from 4.7.0 to 5.0.0
2020-01-09 11:36:49 +01:00
501d5fd102 Bump m6web/redis-mock from 4.7.0 to 5.0.0
Bumps [m6web/redis-mock](https://github.com/M6Web/RedisMock) from 4.7.0 to 5.0.0.
- [Release notes](https://github.com/M6Web/RedisMock/releases)
- [Commits](https://github.com/M6Web/RedisMock/compare/v4.7.0...v5.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-09 03:56:31 +00:00
27db0551c9 Merge pull request #4238 from prcmt/master
Change API URL used in dev docs to app.wallabag.it
2020-01-02 08:17:08 +01:00
3f3b5058aa Change API URL used in dev docs to app.wallabag.it
Currently the documentation uses the defunct v2.wallabag.org URL which
can be confusing to someone configuring their first API client with
wallabag.it.
2019-12-31 21:31:59 +00:00
3a9576a889 Merge pull request #4237 from JENkt4k/master
Fix broken ENV file - removed "export"s
2019-12-31 09:32:09 +01:00
0ca270f385 Update env 2019-12-31 09:19:02 +01:00
5a071f29b7 Fix broken ENV file - removed "export"s 2019-12-30 14:29:20 -06:00
bdb66a226e Merge pull request #4235 from wallabag/update-deps
Update deps
2019-12-28 15:28:35 +01:00
0f38757722 Update deps
- Updating fig/link-util (1.0.0 => 1.1.0)
  - Updating j0k3r/graby-site-config (1.0.97 => 1.0.98)
  - Updating monolog/monolog (1.25.2 => 1.25.3)
  - Updating simplepie/simplepie (1.5.3 => 1.5.4)
  - Updating symfony/mime (v4.4.1 => v4.4.2)
  - Updating php-http/httplug (v2.0.0 => 2.1.0)
  - Updating php-http/stopwatch-plugin (1.2.0 => 1.3.0)
  - Updating nette/utils (v3.0.2 => v3.0.3)
  - Updating nette/robot-loader (v3.2.0 => v3.2.1)
  - Updating nette/neon (v3.0.0 => v3.1.0)
  - Updating nette/di (v3.0.1 => v3.0.2)
  - Updating egulias/email-validator (2.1.11 => 2.1.12)
  - Updating php-http/discovery (1.7.0 => 1.7.2)
  - Updating php-http/curl-client (2.0.0 => 2.1.0)
2019-12-27 17:45:16 +01:00
de686b43e5 Merge pull request #4230 from wallabag/dependabot/composer/sentry/sentry-symfony-3.2.1
Bump sentry/sentry-symfony from 3.2.0 to 3.2.1
2019-12-20 07:30:39 +01:00
139b9aeadc Merge pull request #4233 from wallabag/dependabot/composer/doctrine/doctrine-bundle-1.12.6
Bump doctrine/doctrine-bundle from 1.12.5 to 1.12.6
2019-12-20 07:27:49 +01:00
2b90f21fe0 Merge pull request #4232 from wallabag/dependabot/composer/php-http/mock-client-1.3.1
Bump php-http/mock-client from 1.3.0 to 1.3.1
2019-12-20 07:27:06 +01:00
6e8f2ff97d Merge pull request #4231 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.11.1
Bump scheb/two-factor-bundle from 4.11.0 to 4.11.1
2019-12-20 07:26:39 +01:00
afe5e7f4ba Bump doctrine/doctrine-bundle from 1.12.5 to 1.12.6
Bumps [doctrine/doctrine-bundle](https://github.com/doctrine/DoctrineBundle) from 1.12.5 to 1.12.6.
- [Release notes](https://github.com/doctrine/DoctrineBundle/releases)
- [Commits](https://github.com/doctrine/DoctrineBundle/compare/1.12.5...1.12.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-20 04:22:48 +00:00
5619a0f7ac Bump php-http/mock-client from 1.3.0 to 1.3.1
Bumps [php-http/mock-client](https://github.com/php-http/mock-client) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/php-http/mock-client/releases)
- [Changelog](https://github.com/php-http/mock-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/php-http/mock-client/compare/1.3.0...1.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-20 04:11:15 +00:00
725a702eb0 Bump scheb/two-factor-bundle from 4.11.0 to 4.11.1
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 4.11.0 to 4.11.1.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v4.11.0...v4.11.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-20 04:08:45 +00:00
8a74cb8338 Bump sentry/sentry-symfony from 3.2.0 to 3.2.1
Bumps [sentry/sentry-symfony](https://github.com/getsentry/sentry-symfony) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/getsentry/sentry-symfony/releases)
- [Changelog](https://github.com/getsentry/sentry-symfony/blob/3.2.1/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-symfony/compare/3.2.0...3.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-20 04:05:33 +00:00
2e267a88a5 Merge pull request #4229 from wallabag/dependabot/composer/doctrine/doctrine-bundle-1.12.5
Bump doctrine/doctrine-bundle from 1.12.2 to 1.12.5
2019-12-19 08:01:47 +01:00
34154ecf1d Bump doctrine/doctrine-bundle from 1.12.2 to 1.12.5
Bumps [doctrine/doctrine-bundle](https://github.com/doctrine/DoctrineBundle) from 1.12.2 to 1.12.5.
- [Release notes](https://github.com/doctrine/DoctrineBundle/releases)
- [Commits](https://github.com/doctrine/DoctrineBundle/compare/1.12.2...1.12.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-19 04:13:45 +00:00
878a886365 Merge pull request #4227 from wallabag/update-deps
Update deps
2019-12-17 18:50:11 +01:00
6ba1d7345b Update deps
- Updating doctrine/persistence (1.2.0 => 1.3.3)
  - Updating j0k3r/graby-site-config (1.0.95 => 1.0.97)
  - Updating phpoption/phpoption (1.5.2 => 1.7.2)
  - Updating michelf/php-markdown (1.8.0 => 1.9.0)
  - Updating symfony/polyfill-php72 (v1.12.0 => v1.13.1)
  - Updating symfony/polyfill-intl-idn (v1.12.0 => v1.13.1)
  - Updating symfony/mime (v4.4.0 => v4.4.1)
  - Updating zendframework/zend-code (3.4.0 => 3.4.1)
  - Updating symfony/polyfill-php73 (v1.12.0 => v1.13.1)
  - Updating gedmo/doctrine-extensions (v2.4.37 => v2.4.38)
  - Updating symfony/polyfill-iconv (v1.12.0 => v1.13.1)
  - Updating ramsey/uuid (3.8.0 => 3.9.2)
  - Installing symfony/service-contracts (v1.1.8)
  - Updating symfony/http-client (v4.3.8 => v4.4.1)
  - Updating sentry/sentry (2.2.4 => 2.2.5)
2019-12-17 12:47:29 +01:00
817b3a2157 Merge pull request #4223 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.11.0
Bump scheb/two-factor-bundle from 4.10.0 to 4.11.0
2019-12-15 19:21:46 -08:00
c8c656fa23 Bump scheb/two-factor-bundle from 4.10.0 to 4.11.0
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 4.10.0 to 4.11.0.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v4.10.0...v4.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 04:10:15 +00:00
d816ef0530 Merge pull request #4161 from aaa2000/bug-empty-quote
API return an error with empty quote
2019-12-04 16:09:49 -08:00
43141054d1 Merge pull request #4220 from wallabag/dependabot/composer/craue/config-bundle-2.4.0
Bump craue/config-bundle from 2.3.0 to 2.4.0
2019-12-04 11:58:44 -08:00
f28720f81a Bump craue/config-bundle from 2.3.0 to 2.4.0
Bumps [craue/config-bundle](https://github.com/craue/CraueConfigBundle) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/craue/CraueConfigBundle/releases)
- [Changelog](https://github.com/craue/CraueConfigBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/craue/CraueConfigBundle/compare/2.3.0...2.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-04 03:56:35 +00:00
7b8f63f731 Merge pull request #4213 from wallabag/fix-elcurator
Fixed elCurator check for RabbitMQ / Redis
2019-12-03 15:33:34 +01:00
e32e6c27f1 Merge pull request #4218 from wallabag/dependabot/composer/white-october/pagerfanta-bundle-1.3.2
Bump white-october/pagerfanta-bundle from 1.3.1 to 1.3.2
2019-12-03 08:26:30 +01:00
6f6037d19e Merge pull request #4219 from wallabag/dependabot/composer/friendsofsymfony/jsrouting-bundle-2.5.1
Bump friendsofsymfony/jsrouting-bundle from 2.5.0 to 2.5.1
2019-12-03 08:26:07 +01:00
1f767ffe9b Bump friendsofsymfony/jsrouting-bundle from 2.5.0 to 2.5.1
Bumps [friendsofsymfony/jsrouting-bundle](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle) from 2.5.0 to 2.5.1.
- [Release notes](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/releases)
- [Changelog](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/compare/2.5.0...2.5.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-03 04:09:48 +00:00
28236284c3 Bump white-october/pagerfanta-bundle from 1.3.1 to 1.3.2
Bumps [white-october/pagerfanta-bundle](https://github.com/whiteoctober/WhiteOctoberPagerfantaBundle) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/whiteoctober/WhiteOctoberPagerfantaBundle/releases)
- [Commits](https://github.com/whiteoctober/WhiteOctoberPagerfantaBundle/compare/v1.3.1...v1.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-03 03:58:21 +00:00
304d0cb6bf Merge pull request #4209 from wallabag/dependabot/composer/doctrine/doctrine-cache-bundle-1.4.0
Bump doctrine/doctrine-cache-bundle from 1.3.5 to 1.4.0
2019-12-02 17:43:09 +01:00
f2ee6af467 Merge pull request #4210 from wallabag/dependabot/composer/symfony/phpunit-bridge-4.3.9
Bump symfony/phpunit-bridge from 4.3.8 to 4.3.9
2019-12-02 17:42:45 +01:00
adedf85602 Merge pull request #4211 from wallabag/dependabot/composer/friendsofsymfony/jsrouting-bundle-2.5.0
Bump friendsofsymfony/jsrouting-bundle from 2.4.0 to 2.5.0
2019-12-02 17:42:25 +01:00
9773c082c4 Merge pull request #4212 from wallabag/dependabot/composer/symfony/symfony-3.4.36
Bump symfony/symfony from 3.4.35 to 3.4.36
2019-12-02 17:41:55 +01:00
f3d20097cd Fixed elCurator check for RabbitMQ / Redis 2019-12-02 12:36:05 +01:00
d063ef651b Bump symfony/symfony from 3.4.35 to 3.4.36
Bumps [symfony/symfony](https://github.com/symfony/symfony) from 3.4.35 to 3.4.36.
- [Release notes](https://github.com/symfony/symfony/releases)
- [Changelog](https://github.com/symfony/symfony/blob/v3.4.36/CHANGELOG-3.4.md)
- [Commits](https://github.com/symfony/symfony/compare/v3.4.35...v3.4.36)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 04:17:20 +00:00
149b8c1b1d Bump friendsofsymfony/jsrouting-bundle from 2.4.0 to 2.5.0
Bumps [friendsofsymfony/jsrouting-bundle](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/releases)
- [Changelog](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/compare/2.4.0...2.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 04:08:58 +00:00
83d2c0a25c Bump symfony/phpunit-bridge from 4.3.8 to 4.3.9
Bumps [symfony/phpunit-bridge](https://github.com/symfony/phpunit-bridge) from 4.3.8 to 4.3.9.
- [Release notes](https://github.com/symfony/phpunit-bridge/releases)
- [Changelog](https://github.com/symfony/phpunit-bridge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/phpunit-bridge/compare/v4.3.8...v4.3.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 04:05:44 +00:00
7dddb5bc24 Bump doctrine/doctrine-cache-bundle from 1.3.5 to 1.4.0
Bumps [doctrine/doctrine-cache-bundle](https://github.com/doctrine/DoctrineCacheBundle) from 1.3.5 to 1.4.0.
- [Release notes](https://github.com/doctrine/DoctrineCacheBundle/releases)
- [Commits](https://github.com/doctrine/DoctrineCacheBundle/compare/1.3.5...1.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 03:57:54 +00:00
b76bf31bca Merge pull request #4207 from wallabag/dependabot/composer/doctrine/doctrine-bundle-1.12.2
Bump doctrine/doctrine-bundle from 1.12.0 to 1.12.2
2019-11-29 07:38:20 +01:00
c6663a8853 Bump doctrine/doctrine-bundle from 1.12.0 to 1.12.2
Bumps [doctrine/doctrine-bundle](https://github.com/doctrine/DoctrineBundle) from 1.12.0 to 1.12.2.
- [Release notes](https://github.com/doctrine/DoctrineBundle/releases)
- [Commits](https://github.com/doctrine/DoctrineBundle/compare/1.12.0...1.12.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-29 03:52:14 +00:00
6a0d49ab7a Fix tests 2019-11-27 14:46:27 +01:00
86c1751186 Optionnal quote because the frontend does not use it 2019-11-27 14:38:35 +01:00
8197f08266 API return an error with empty quote
Fix #4137
2019-11-27 14:38:35 +01:00
a406434701 Merge pull request #4203 from wallabag/dependabot/composer/friendsofphp/php-cs-fixer-2.16.1
Bump friendsofphp/php-cs-fixer from 2.16.0 to 2.16.1
2019-11-26 06:55:23 +01:00
02cf65ee47 Bump friendsofphp/php-cs-fixer from 2.16.0 to 2.16.1
Bumps [friendsofphp/php-cs-fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) from 2.16.0 to 2.16.1.
- [Release notes](https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases)
- [Changelog](https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/2.16/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfPHP/PHP-CS-Fixer/compare/v2.16.0...v2.16.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-26 04:18:05 +00:00
4c43b82fed Merge pull request #4202 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.10.0
Bump scheb/two-factor-bundle from 4.9.0 to 4.10.0
2019-11-25 07:56:10 +01:00
33aa6ef110 Bump scheb/two-factor-bundle from 4.9.0 to 4.10.0
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 4.9.0 to 4.10.0.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v4.9.0...v4.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 04:22:25 +00:00
77728731a4 Merge pull request #4200 from wallabag/dependabot/composer/symfony/phpunit-bridge-5.0.0
Lock symfony/phpunit-bridge to 4.3.8
2019-11-22 23:01:04 +01:00
d3847ac125 Lock PHPUnit-Bridge
Version 4.4.0 & 5.0.0 will install PHPUnit 8.3.x by default which required PHP > 7.1.
We could lock the PHPUnit version using `SYMFONY_PHPUNIT_VERSION` env variable but we'll have an issue with PHP 5 then because there is no PHPUnit version compatible with both PHP 5 & PHP 7.

Also update deps:
  - Updating ocramius/package-versions (1.4.0 => 1.4.2)
  - Updating j0k3r/graby-site-config (1.0.94 => 1.0.95)
  - Updating php-http/client-common (2.0.0 => 2.1.0)
  - Updating symfony/mime (v4.3.8 => v4.4.0)
  - Updating white-october/pagerfanta-bundle (v1.2.4 => v1.3.1)
  - Installing phpseclib/phpseclib (2.0.23)
  - Updating php-amqplib/php-amqplib (v2.10.1 => v2.11.0)
  - Updating nette/php-generator (v3.2.3 => v3.3.1)
  - Updating zendframework/zend-diactoros (2.2.0 => 2.2.1)
2019-11-22 22:38:42 +01:00
df5f0990ec Merge pull request #4199 from wallabag/dependabot/composer/white-october/pagerfanta-bundle-1.3.1
Bump white-october/pagerfanta-bundle from 1.2.4 to 1.3.1
2019-11-22 09:57:29 +01:00
47b1f433dd Bump symfony/phpunit-bridge from 4.3.8 to 5.0.0
Bumps [symfony/phpunit-bridge](https://github.com/symfony/phpunit-bridge) from 4.3.8 to 5.0.0.
- [Release notes](https://github.com/symfony/phpunit-bridge/releases)
- [Changelog](https://github.com/symfony/phpunit-bridge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/phpunit-bridge/compare/v4.3.8...v5.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-22 04:15:10 +00:00
4421e2a402 Bump white-october/pagerfanta-bundle from 1.2.4 to 1.3.1
Bumps [white-october/pagerfanta-bundle](https://github.com/whiteoctober/WhiteOctoberPagerfantaBundle) from 1.2.4 to 1.3.1.
- [Release notes](https://github.com/whiteoctober/WhiteOctoberPagerfantaBundle/releases)
- [Commits](https://github.com/whiteoctober/WhiteOctoberPagerfantaBundle/compare/v1.2.4...v1.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-22 04:11:00 +00:00
a43ebdb6a3 Merge pull request #4198 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.9.0
Bump scheb/two-factor-bundle from 4.8.0 to 4.9.0
2019-11-21 06:56:52 +01:00
8d84ed16b7 Bump scheb/two-factor-bundle from 4.8.0 to 4.9.0
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 4.8.0 to 4.9.0.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v4.8.0...v4.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-21 04:06:32 +00:00
bda2e169aa Merge pull request #4197 from wallabag/dependabot/composer/doctrine/doctrine-bundle-1.12.0
Bump doctrine/doctrine-bundle from 1.11.2 to 1.12.0
2019-11-20 06:20:34 +01:00
38adc00267 Bump doctrine/doctrine-bundle from 1.11.2 to 1.12.0
Bumps [doctrine/doctrine-bundle](https://github.com/doctrine/DoctrineBundle) from 1.11.2 to 1.12.0.
- [Release notes](https://github.com/doctrine/DoctrineBundle/releases)
- [Commits](https://github.com/doctrine/DoctrineBundle/compare/1.11.2...1.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 04:09:50 +00:00
48b0163d24 Merge pull request #4151 from ldidry/fix-4060
 Allow custom styles system wide
2019-11-19 14:25:41 +01:00
8668796106 Merge pull request #4152 from ldidry/add-env-var-dev.sh
Add environment variables to control scripts/dev.sh behavior
2019-11-19 14:24:35 +01:00
a9753ef990 Merge pull request #4150 from ldidry/fix-3804
💄 Add untagged list link to filter menu
2019-11-19 14:23:49 +01:00
31579b75fc Merge pull request #4195 from wallabag/dependabot/composer/doctrine/orm-2.6.6
Bump doctrine/orm from 2.6.4 to 2.6.6
2019-11-19 14:22:42 +01:00
bff82c3202 Fix tests (again..) 2019-11-19 13:28:32 +01:00
93a4cefdbc Bump doctrine/orm from 2.6.4 to 2.6.6
Bumps [doctrine/orm](https://github.com/doctrine/orm) from 2.6.4 to 2.6.6.
- [Release notes](https://github.com/doctrine/orm/releases)
- [Commits](https://github.com/doctrine/orm/compare/v2.6.4...v2.6.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-19 04:03:23 +00:00
069229e19c Merge pull request #4175 from wallabag/import-elcurator
Added elCurator import
2019-11-15 16:38:30 +01:00
958e77e6a7 Added elCurator import 2019-11-15 16:08:36 +01:00
3c5aa05311 Merge pull request #4190 from wallabag/dependabot/composer/symfony/monolog-bundle-3.5.0
Bump symfony/monolog-bundle from 3.4.0 to 3.5.0
2019-11-14 16:47:00 +01:00
e5bc1e84d1 Merge pull request #4188 from wallabag/dependabot/composer/doctrine/doctrine-fixtures-bundle-3.3.0
Bump doctrine/doctrine-fixtures-bundle from 3.2.2 to 3.3.0
2019-11-14 16:46:52 +01:00
1ddd66ae70 Bump doctrine/doctrine-fixtures-bundle from 3.2.2 to 3.3.0
Bumps [doctrine/doctrine-fixtures-bundle](https://github.com/doctrine/DoctrineFixturesBundle) from 3.2.2 to 3.3.0.
- [Release notes](https://github.com/doctrine/DoctrineFixturesBundle/releases)
- [Changelog](https://github.com/doctrine/DoctrineFixturesBundle/blob/master/CHANGELOG-3.1.md)
- [Commits](https://github.com/doctrine/DoctrineFixturesBundle/compare/3.2.2...3.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-14 14:24:20 +00:00
9baf99adb4 Bump symfony/monolog-bundle from 3.4.0 to 3.5.0
Bumps [symfony/monolog-bundle](https://github.com/symfony/monolog-bundle) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/symfony/monolog-bundle/releases)
- [Changelog](https://github.com/symfony/monolog-bundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/monolog-bundle/compare/v3.4.0...v3.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-14 14:24:11 +00:00
98d8e0c1b9 Merge pull request #4183 from wallabag/update-deps
Update deps
2019-11-14 15:19:18 +01:00
4a31f3b6a2 Fix tests 2019-11-13 13:05:58 +01:00
092b042342 Security update
- Updating symfony/symfony (v3.4.34 => v3.4.35)
  - Updating monolog/monolog (1.25.1 => 1.25.2)
  - Updating j0k3r/graby (2.0.2 => 2.1.0)
  - Updating symfony/http-client (v4.3.7 => v4.3.8)
  - Updating symfony/mime (v4.3.7 => v4.3.8)
  - Updating symfony/phpunit-bridge (v4.3.7 => v4.3.8)
  - Updating zendframework/zend-diactoros (2.1.5 => 2.2.0)
2019-11-13 12:59:33 +01:00
7f2ae89d0d Locked dbal to 2.9.2
Because the 2.9.3 seems to break test.
Like a conflict with `DoctrineTestBundle` I guess (which can't be updated because we are still allowing PHP 7.1 and is not).

The generated error usually appear when we update data using a service during test (like changing the craue config).
Here is the error:

```
Testing tests/Wallabag/CoreBundle/Controller/
PHP Fatal error:  Uncaught PDOException: There is no active transaction in /Users/jeremy/Sites/github/wallabag/vendor/dama/doctrine-test-bundle/src/DAMA/DoctrineTestBundle/Doctrine/DBAL/StaticDriver.php:142
Stack trace:
#0 /Users/jeremy/Sites/github/wallabag/vendor/dama/doctrine-test-bundle/src/DAMA/DoctrineTestBundle/Doctrine/DBAL/StaticDriver.php(142): PDO->rollBack()
#1 /Users/jeremy/Sites/github/wallabag/vendor/dama/doctrine-test-bundle/src/DAMA/DoctrineTestBundle/PHPUnit/PHPUnitListener.php(39): DAMA\DoctrineTestBundle\Doctrine\DBAL\StaticDriver::rollBack()
#2 /Users/jeremy/Sites/github/wallabag/vendor/bin/.phpunit/phpunit-7.4/src/Framework/TestResult.php(412): DAMA\DoctrineTestBundle\PHPUnit\PHPUnitListener->endTest(Object(Tests\Wallabag\CoreBundle\Controller\ConfigControllerTest), 3.3917479515076)
#3 /Users/jeremy/Sites/github/wallabag/vendor/bin/.phpunit/phpunit-7.4/src/Framework/TestResult.php(893): PHPUnit\Framework\TestResult->endTest(Object(Tests\Wallabag\CoreBundle\Controller\ConfigControllerTest), 3.3917479515076 in /Users/jeremy/Sites/github/wallabag/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php on line 91

Fatal error: Uncaught PDOException: There is no active transaction in /Users/jeremy/Sites/github/wallabag/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php on line 91

InvalidArgumentException: The controller for URI "/config" is not callable. The "kernel" service is synthetic, it needs to be set at boot time before it can be used. in /Users/jeremy/Sites/github/wallabag/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php on line 91

Call Stack:
    3.4732   57305872   1. Symfony\Component\Debug\ErrorHandler->handleException() /Users/jeremy/Sites/github/wallabag/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php:0
    3.5000   58014320   2. Symfony\Component\Debug\ErrorHandler->handleException() /Users/jeremy/Sites/github/wallabag/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php:613
```
2019-11-12 15:34:10 +01:00
075a3b3e0a Fix tests 2019-11-12 14:33:45 +01:00
8d4ed0df06 Update deps
Also CS (because cs-fixer got an update)

Package operations: 0 installs, 26 updates, 0 removals
  - Updating twig/twig (v2.12.1 => v2.12.2)
  - Updating symfony/symfony (v3.4.33 => v3.4.34)
  - Updating doctrine/event-manager (v1.0.0 => 1.1.0)
  - Updating doctrine/collections (v1.6.2 => 1.6.3)
  - Updating doctrine/cache (v1.8.1 => 1.9.0)
  - Updating doctrine/persistence (1.1.1 => 1.2.0)
  - Updating doctrine/inflector (v1.3.0 => 1.3.1)
  - Updating symfony/mime (v4.3.5 => v4.3.7)
  - Updating swiftmailer/swiftmailer (v6.2.1 => v6.2.3)
  - Updating symfony/swiftmailer-bundle (v3.3.0 => v3.3.1)
  - Updating doctrine/dbal (v2.9.2 => v2.9.3)
  - Updating doctrine/instantiator (1.2.0 => 1.3.0)
  - Updating j0k3r/graby-site-config (1.0.93 => 1.0.94)
  - Updating phpoption/phpoption (1.5.0 => 1.5.2)
  - Updating symfony/http-client-contracts (v1.1.7 => v1.1.8)
  - Updating symfony/http-client (v4.3.5 => v4.3.7)
  - Updating sensiolabs/security-checker (v6.0.2 => v6.0.3)
  - Updating paragonie/constant_time_encoding (v2.2.3 => v2.3.0)
  - Updating scheb/two-factor-bundle (v4.7.1 => v4.8.0)
  - Updating symfony/phpunit-bridge (v4.3.6 => v4.3.7)
  - Updating composer/xdebug-handler (1.3.3 => 1.4.0)
  - Updating friendsofphp/php-cs-fixer (v2.15.3 => v2.16.0)
  - Updating doctrine/data-fixtures (v1.3.2 => 1.3.3)
  - Updating nette/schema (v1.0.0 => v1.0.1)
  - Updating nikic/php-parser (v4.2.4 => v4.3.0)
  - Updating sentry/sentry (2.2.2 => 2.2.4)
2019-11-12 14:18:58 +01:00
8d8d6818fb Merge pull request #4163 from aaa2000/docker-increase-php-memory-limit
Increase php memory limit PHP Docker
2019-11-12 13:58:13 +01:00
638f799af3 Merge pull request #4162 from aaa2000/docker-add-extensions
Add package and PHP extension to PHP docker
2019-11-12 13:57:49 +01:00
76fe5dfb71 Merge pull request #4171 from wallabag/dependabot/composer/symfony/phpunit-bridge-4.3.6
Bump symfony/phpunit-bridge from 4.3.5 to 4.3.6
2019-11-11 11:49:08 +01:00
240aff0df6 Merge pull request #4170 from wallabag/dependabot/composer/symfony/symfony-3.4.33
Bump symfony/symfony from 3.4.32 to 3.4.33
2019-11-11 11:48:47 +01:00
3b51b1e438 Merge pull request #4167 from wallabag/dependabot/composer/guzzlehttp/guzzle-5.3.4
Bump guzzlehttp/guzzle from 5.3.3 to 5.3.4
2019-11-11 11:48:25 +01:00
3ae2549537 Merge pull request #4174 from wallabag/dependabot/composer/m6web/redis-mock-4.7.0
Bump m6web/redis-mock from 4.6.1 to 4.7.0
2019-11-11 11:47:54 +01:00
34e5cf096d Bump m6web/redis-mock from 4.6.1 to 4.7.0
Bumps [m6web/redis-mock](https://github.com/M6Web/RedisMock) from 4.6.1 to 4.7.0.
- [Release notes](https://github.com/M6Web/RedisMock/releases)
- [Commits](https://github.com/M6Web/RedisMock/compare/v4.6.1...v4.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-05 04:08:03 +00:00
a4141aa934 Bump symfony/phpunit-bridge from 4.3.5 to 4.3.6
Bumps [symfony/phpunit-bridge](https://github.com/symfony/phpunit-bridge) from 4.3.5 to 4.3.6.
- [Release notes](https://github.com/symfony/phpunit-bridge/releases)
- [Changelog](https://github.com/symfony/phpunit-bridge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/phpunit-bridge/compare/v4.3.5...v4.3.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-04 05:29:05 +00:00
ddd3700cb5 Bump symfony/symfony from 3.4.32 to 3.4.33
Bumps [symfony/symfony](https://github.com/symfony/symfony) from 3.4.32 to 3.4.33.
- [Release notes](https://github.com/symfony/symfony/releases)
- [Changelog](https://github.com/symfony/symfony/blob/v3.4.33/CHANGELOG-3.4.md)
- [Commits](https://github.com/symfony/symfony/compare/v3.4.32...v3.4.33)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-04 05:21:32 +00:00
181dbaaadf Bump guzzlehttp/guzzle from 5.3.3 to 5.3.4
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 5.3.3 to 5.3.4.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/5.3.4/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/5.3.3...5.3.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-31 11:55:16 +00:00
64885da458 Increase php memory limit PHP Docker 2019-10-27 19:25:47 +01:00
2068b4458d Add package and PHP extension to PHP docker 2019-10-27 19:04:04 +01:00
3b79c1ac4e Merge pull request #4160 from wallabag/dependabot/composer/phpstan/phpstan-0.11.19
Bump phpstan/phpstan from 0.11.18 to 0.11.19
2019-10-23 07:08:31 +02:00
3d8eaa3ade Bump phpstan/phpstan from 0.11.18 to 0.11.19
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 0.11.18 to 0.11.19.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Commits](https://github.com/phpstan/phpstan/compare/0.11.18...0.11.19)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-23 02:42:25 +00:00
ba32a8a7c5 Merge pull request #4159 from wallabag/fix/tests-update-deps
Fix tests & update deps
2019-10-22 20:48:27 +02:00
987237d588 Fix tests & update deps
- Updating twig/twig (v2.12.0 => v2.12.1)
  - Updating symfony/mime (v4.3.4 => v4.3.5)
  - Updating friendsofsymfony/rest-bundle (2.5.0 => 2.6.0)
  - Updating j0k3r/graby-site-config (1.0.91 => 1.0.93)
  - Updating monolog/monolog (1.24.0 => 1.25.1)
  - Updating simplepie/simplepie (1.5.2 => 1.5.3)
  - Updating symfony/http-client-contracts (v1.1.6 => v1.1.7)
  - Updating symfony/http-client (v4.3.4 => v4.3.5)
  - Updating nette/utils (v3.0.1 => v3.0.2)
  - Updating phpstan/phpstan (0.11.17 => 0.11.18)
  - Updating zendframework/zend-code (3.3.2 => 3.4.0)
  - Updating php-amqplib/php-amqplib (v2.10.0 => v2.10.1)
  - Updating beberlei/assert (v3.2.3 => v3.2.6)
  - Updating zendframework/zend-diactoros (2.1.3 => 2.1.5)
  - Updating sentry/sentry (2.2.1 => 2.2.2)
2019-10-22 16:56:33 +02:00
d69cdfbd74 Merge pull request #4156 from wallabag/dependabot/composer/phpstan/phpstan-0.11.17
Bump phpstan/phpstan from 0.11.16 to 0.11.17
2019-10-21 11:32:23 +02:00
96d5bb1bf5 Merge pull request #4155 from wallabag/dependabot/composer/symfony/swiftmailer-bundle-3.3.0
Bump symfony/swiftmailer-bundle from 3.2.8 to 3.3.0
2019-10-21 11:18:02 +02:00
07c66a7435 Bump phpstan/phpstan from 0.11.16 to 0.11.17
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 0.11.16 to 0.11.17.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Commits](https://github.com/phpstan/phpstan/compare/0.11.16...0.11.17)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 02:27:02 +00:00
bc3ebfd1a8 Bump symfony/swiftmailer-bundle from 3.2.8 to 3.3.0
Bumps [symfony/swiftmailer-bundle](https://github.com/symfony/swiftmailer-bundle) from 3.2.8 to 3.3.0.
- [Release notes](https://github.com/symfony/swiftmailer-bundle/releases)
- [Changelog](https://github.com/symfony/swiftmailer-bundle/blob/master/CHANGELOG)
- [Commits](https://github.com/symfony/swiftmailer-bundle/compare/v3.2.8...v3.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 02:19:58 +00:00
7a4c375ebf Allow custom styles system wide
Should fix #4060
2019-10-11 10:40:25 +02:00
ce4c2ead4b Merge pull request #4149 from ldidry/fix-4130
🐛 — Fix duplicated icons on "Search engine" and "new link" forms
2019-10-11 09:08:58 +02:00
d8e961bdb5 💄 Add untagged list link to filter menu
Fix #3804
2019-10-10 10:37:29 +02:00
488e3d7a91 Add environment variables to control scripts/dev.sh behavior 2019-10-09 19:33:27 +02:00
652cb58d59 🐛 — Fix duplicated icons on "Search engine" and "new link" forms 2019-10-09 00:57:08 +02:00
afe486531d Merge pull request #4141 from SofLesc/portuguese-translations
Updating portuguese translations
2019-10-08 11:19:00 +02:00
797fd5fa24 Merge pull request #4147 from wallabag/add-code-of-conduct-1
Create code of conduct
2019-10-08 10:56:12 +02:00
0d0d1dae5a Create code of conduct 2019-10-08 09:50:06 +02:00
0e23ce4ac6 Merge pull request #4145 from wallabag/dependabot/composer/symfony/phpunit-bridge-4.3.5
Bump symfony/phpunit-bridge from 4.3.4 to 4.3.5
2019-10-08 06:37:44 +02:00
195414ef0a Bump symfony/phpunit-bridge from 4.3.4 to 4.3.5
Bumps [symfony/phpunit-bridge](https://github.com/symfony/phpunit-bridge) from 4.3.4 to 4.3.5.
- [Release notes](https://github.com/symfony/phpunit-bridge/releases)
- [Changelog](https://github.com/symfony/phpunit-bridge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/phpunit-bridge/compare/v4.3.4...v4.3.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-08 03:49:20 +00:00
5ab30ba997 Merge pull request #4146 from wallabag/dependabot/composer/symfony/symfony-3.4.32
Bump symfony/symfony from 3.4.31 to 3.4.32
2019-10-08 05:43:37 +02:00
41fd648711 Bump symfony/symfony from 3.4.31 to 3.4.32
Bumps [symfony/symfony](https://github.com/symfony/symfony) from 3.4.31 to 3.4.32.
- [Release notes](https://github.com/symfony/symfony/releases)
- [Changelog](https://github.com/symfony/symfony/blob/v3.4.32/CHANGELOG-3.4.md)
- [Commits](https://github.com/symfony/symfony/compare/v3.4.31...v3.4.32)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-08 02:32:27 +00:00
7ed081fbce Updating portuguese translations 2019-10-07 18:46:07 +02:00
1d7c4e75d3 Merge pull request #4139 from SofLesc/spanish-translations
Update spanish translations
2019-10-07 15:20:52 +02:00
0ff962829a Update spanish translations 2019-10-07 13:33:20 +02:00
ad5213609f Merge pull request #4143 from wallabag/dependabot/composer/sentry/sentry-symfony-3.2.0
Bump sentry/sentry-symfony from 3.1.0 to 3.2.0
2019-10-07 09:11:38 +02:00
eb0fa19089 Bump sentry/sentry-symfony from 3.1.0 to 3.2.0
Bumps [sentry/sentry-symfony](https://github.com/getsentry/sentry-symfony) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/getsentry/sentry-symfony/releases)
- [Changelog](https://github.com/getsentry/sentry-symfony/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-symfony/compare/3.1.0...3.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-07 02:17:57 +00:00
43fab7363d Merge pull request #4134 from wallabag/fix-2fa-translation
Fixed translation for 2FA
2019-09-30 13:38:16 +02:00
3824f0dc3c Fixed translation for 2FA 2019-09-30 11:46:08 +02:00
14b73c6a1e Merge pull request #4128 from wallabag/add-mathjax
Added MathJax support
2019-09-27 17:08:20 +02:00
819269f0f2 Merge pull request #4129 from wallabag/fix-fr-translation
Fixed some 🇫🇷 typos
2019-09-27 16:46:03 +02:00
088804537e Added prod js files 2019-09-27 16:27:47 +02:00
90d28270d5 Fixed some 🇫🇷 typos 2019-09-27 16:20:35 +02:00
2f5fa30aad Added MathJax support 2019-09-27 16:01:55 +02:00
ed59ec63aa Merge pull request #4124 from wallabag/dependabot/composer/doctrine/orm-2.6.4
Bump doctrine/orm from 2.6.3 to 2.6.4
2019-09-24 08:43:48 +02:00
2133ca3116 Bump doctrine/orm from 2.6.3 to 2.6.4
Bumps [doctrine/orm](https://github.com/doctrine/orm) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/doctrine/orm/releases)
- [Commits](https://github.com/doctrine/orm/compare/v2.6.3...v2.6.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-24 02:20:34 +00:00
492aacd194 Merge pull request #4123 from wallabag/fix-reading-speed-install
Fixed default value for reading speed
2019-09-19 14:51:30 +02:00
af7b22a3be Fixed default value for reading speed 2019-09-19 14:23:06 +02:00
c7fce40b44 Bump phpstan/phpstan from 0.11.15 to 0.11.16 (#4121)
Bump phpstan/phpstan from 0.11.15 to 0.11.16
2019-09-18 07:44:25 +02:00
1a75823045 Bump phpstan/phpstan from 0.11.15 to 0.11.16
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 0.11.15 to 0.11.16.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Commits](https://github.com/phpstan/phpstan/compare/0.11.15...0.11.16)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-18 02:22:26 +00:00
ad8971856a Merge pull request #4119 from wallabag/dependabot/composer/phpstan/phpstan-doctrine-0.11.6
Bump phpstan/phpstan-doctrine from 0.11.5 to 0.11.6
2019-09-16 06:58:50 +02:00
cc7b2b912a Bump phpstan/phpstan-doctrine from 0.11.5 to 0.11.6
Bumps [phpstan/phpstan-doctrine](https://github.com/phpstan/phpstan-doctrine) from 0.11.5 to 0.11.6.
- [Release notes](https://github.com/phpstan/phpstan-doctrine/releases)
- [Commits](https://github.com/phpstan/phpstan-doctrine/compare/0.11.5...0.11.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-16 02:30:17 +00:00
63e4ce5ce3 Merge pull request #4111 from wallabag/update-deps
Update deps
2019-09-04 16:20:31 +02:00
3f6700fd6c Merge pull request #4105 from shtrom/dev-build
Make dev depend on build
2019-09-04 09:19:20 +02:00
3f2e602f36 Update deps 2019-09-04 09:17:08 +02:00
33b75b3b51 Merge pull request #4109 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.7.1
Bump scheb/two-factor-bundle from 4.7.0 to 4.7.1
2019-09-03 06:20:56 +02:00
31363f3687 Bump scheb/two-factor-bundle from 4.7.0 to 4.7.1
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 4.7.0 to 4.7.1.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v4.7.0...v4.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-03 02:21:33 +00:00
bdf8630c8d Merge pull request #4107 from wallabag/dependabot/composer/friendsofphp/php-cs-fixer-2.15.3
Bump friendsofphp/php-cs-fixer from 2.15.2 to 2.15.3
2019-09-02 08:10:17 +02:00
6642600115 Bump friendsofphp/php-cs-fixer from 2.15.2 to 2.15.3
Bumps [friendsofphp/php-cs-fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) from 2.15.2 to 2.15.3.
- [Release notes](https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases)
- [Changelog](https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/2.15/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfPHP/PHP-CS-Fixer/compare/v2.15.2...v2.15.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-02 02:27:16 +00:00
b1574a3987 Make dev depend on build
Also, run `npm install` before building.

Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2019-08-29 21:27:56 +10:00
e337267d76 Merge pull request #4104 from wallabag/dependabot/npm_and_yarn/mixin-deep-1.3.2
Bump mixin-deep from 1.3.1 to 1.3.2
2019-08-29 08:57:35 +02:00
77808a1874 Bump mixin-deep from 1.3.1 to 1.3.2
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-08-29 02:07:29 +00:00
ba863a801e Merge pull request #4103 from wallabag/dependabot/composer/friendsofphp/php-cs-fixer-2.15.2
Bump friendsofphp/php-cs-fixer from 2.15.1 to 2.15.2
2019-08-28 10:23:23 +02:00
5e8d8ff594 Bump friendsofphp/php-cs-fixer from 2.15.1 to 2.15.2
Bumps [friendsofphp/php-cs-fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) from 2.15.1 to 2.15.2.
- [Release notes](https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases)
- [Changelog](https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/2.15/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfPHP/PHP-CS-Fixer/compare/v2.15.1...v2.15.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-28 02:17:17 +00:00
ea1a9f6f4d Merge pull request #4100 from wallabag/dependabot/npm_and_yarn/fstream-1.0.12
Bump fstream from 1.0.11 to 1.0.12
2019-08-27 09:37:24 +02:00
5c3f772c34 Bump fstream from 1.0.11 to 1.0.12
Bumps [fstream](https://github.com/npm/fstream) from 1.0.11 to 1.0.12.
- [Release notes](https://github.com/npm/fstream/releases)
- [Commits](https://github.com/npm/fstream/compare/v1.0.11...v1.0.12)

Signed-off-by: dependabot[bot] <support@github.com>
2019-08-27 06:59:53 +00:00
7c12ee1d94 Merge pull request #4099 from wallabag/dependabot/composer/symfony/symfony-3.4.31
Bump symfony/symfony from 3.4.30 to 3.4.31
2019-08-27 08:59:07 +02:00
86e60812fb Merge pull request #4098 from wallabag/dependabot/composer/symfony/phpunit-bridge-4.3.4
Bump symfony/phpunit-bridge from 4.3.3 to 4.3.4
2019-08-27 08:46:33 +02:00
a123881a83 Bump symfony/symfony from 3.4.30 to 3.4.31
Bumps [symfony/symfony](https://github.com/symfony/symfony) from 3.4.30 to 3.4.31.
- [Release notes](https://github.com/symfony/symfony/releases)
- [Changelog](https://github.com/symfony/symfony/blob/v3.4.31/CHANGELOG-3.4.md)
- [Commits](https://github.com/symfony/symfony/compare/v3.4.30...v3.4.31)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-27 02:27:17 +00:00
89b23fb8ed Bump symfony/phpunit-bridge from 4.3.3 to 4.3.4
Bumps [symfony/phpunit-bridge](https://github.com/symfony/phpunit-bridge) from 4.3.3 to 4.3.4.
- [Release notes](https://github.com/symfony/phpunit-bridge/releases)
- [Changelog](https://github.com/symfony/phpunit-bridge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/phpunit-bridge/compare/v4.3.3...v4.3.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-27 02:24:22 +00:00
e7ceabf476 Merge pull request #4096 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.7.0
Bump scheb/two-factor-bundle from 4.6.0 to 4.7.0
2019-08-26 08:53:21 +02:00
dab8b3958b Bump scheb/two-factor-bundle from 4.6.0 to 4.7.0
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 4.6.0 to 4.7.0.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v4.6.0...v4.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-26 02:18:12 +00:00
0c46b5469a Merge pull request #4095 from wallabag/update-deps
Update deps
2019-08-24 13:36:26 +02:00
61e53dda3c Update deps
Which aren't handled by dependabot.
2019-08-23 08:09:45 +02:00
02efa4d457 Merge pull request #4094 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.6.0
Bump scheb/two-factor-bundle from 4.5.0 to 4.6.0
2019-08-23 07:49:32 +02:00
997d10a06d Bump scheb/two-factor-bundle from 4.5.0 to 4.6.0
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v4.5.0...v4.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-23 02:17:32 +00:00
795de6daa7 Merge pull request #4093 from Simounet/feat/material-design-icons-iconfont-from-3.0.3-to-5.0.1
material-design-icons-iconfont upgraded from 3.0.3 to 5.0.1
2019-08-22 07:43:05 +02:00
b2439a8e4e material-design-icons-iconfont upgraded from 3.0.3 to 5.0.1 2019-08-21 19:20:26 +02:00
8ecab22d32 Merge pull request #4092 from wallabag/dependabot/composer/m6web/redis-mock-4.6.1
Bump m6web/redis-mock from 4.6.0 to 4.6.1
2019-08-21 07:30:57 +02:00
984d63df8d Bump m6web/redis-mock from 4.6.0 to 4.6.1
Bumps [m6web/redis-mock](https://github.com/M6Web/RedisMock) from 4.6.0 to 4.6.1.
- [Release notes](https://github.com/M6Web/RedisMock/releases)
- [Commits](https://github.com/M6Web/RedisMock/compare/v4.6.0...v4.6.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-21 02:24:46 +00:00
1b49417fc6 Merge pull request #4091 from wallabag/dependabot/composer/phpstan/phpstan-0.11.15
Bump phpstan/phpstan from 0.11.12 to 0.11.15
2019-08-19 11:42:24 +02:00
773cf64c20 Merge pull request #4087 from wallabag/dependabot/composer/friendsofsymfony/jsrouting-bundle-2.4.0
Bump friendsofsymfony/jsrouting-bundle from 2.3.1 to 2.4.0
2019-08-19 11:24:47 +02:00
e9ccc686ac Bump phpstan/phpstan from 0.11.12 to 0.11.15
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 0.11.12 to 0.11.15.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Commits](https://github.com/phpstan/phpstan/compare/0.11.12...0.11.15)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-19 02:23:17 +00:00
56d3942385 Bump friendsofsymfony/jsrouting-bundle from 2.3.1 to 2.4.0
Bumps [friendsofsymfony/jsrouting-bundle](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle) from 2.3.1 to 2.4.0.
- [Release notes](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/releases)
- [Changelog](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/compare/2.3.1...2.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-12 02:24:17 +00:00
5d08dd2799 Merge pull request #4084 from wallabag/feature/internal-setting
Rename internal settings table
2019-08-08 16:40:59 +02:00
1576905e03 Rename internal settings table
In fact it's not _just_ a rename.
We are now able to use our own entity with the CraueConfigBundle which allow us to enforce a custom length on string field and avoid error with utf8mb4 on MySQL.
To fix that issue before we were in need to fork CraueConfigBundle to hard apply these length changes.

The recent 2.3.0 release fix that issue. That's why we are in need to rename the table (getting rid of the bundle name from it)

Also updating deps:
  - Updating symfony/polyfill-mbstring (v1.11.0 => v1.12.0)
  - Updating symfony/polyfill-ctype (v1.11.0 => v1.12.0)
  - Updating symfony/polyfill-php70 (v1.11.0 => v1.12.0)
  - Updating symfony/polyfill-util (v1.11.0 => v1.12.0)
  - Updating symfony/polyfill-php56 (v1.11.0 => v1.12.0)
  - Updating symfony/polyfill-intl-icu (v1.11.0 => v1.12.0)
  - Updating symfony/polyfill-apcu (v1.11.0 => v1.12.0)
  - Updating j0k3r/graby-site-config (1.0.88 => 1.0.89)
  - Updating php-http/message (1.7.2 => 1.8.0)
  - Updating symfony/polyfill-php73 (v1.11.0 => v1.12.0)
  - Updating symfony/http-client (v4.3.2 => v4.3.3)
  - Updating symfony/polyfill-php72 (v1.11.0 => v1.12.0)
  - Updating symfony/polyfill-intl-idn (v1.11.0 => v1.12.0)
  - Updating symfony/mime (v4.3.2 => v4.3.3)
  - Updating craue/config-bundle (dev-utf8mb4 46cfd37 => 2.3.0)
  - Updating masterminds/html5 (2.6.0 => 2.7.0)
  - Updating nette/di (v3.0.0 => v3.0.1)
  - Updating symfony/polyfill-iconv (v1.11.0 => v1.12.0)
  - Updating wallabag/php-mobi (1.0.1 => 1.1.0)
2019-08-08 16:03:20 +02:00
97c678a0b2 Merge pull request #4081 from shtrom/fix-slow-queries
Fix slow/unindexed queries
2019-08-08 15:27:49 +02:00
00567d9ccd CS 2019-08-08 11:45:39 +02:00
0810c75e0b Add tag_label & config_feed_token index 2019-08-08 09:36:03 +02:00
1a6980dbd1 Merge pull request #4082 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.5.0
Bump scheb/two-factor-bundle from 4.4.0 to 4.5.0
2019-08-08 07:50:18 +02:00
06825216bc Merge pull request #4083 from wallabag/dependabot/composer/m6web/redis-mock-4.6.0
Bump m6web/redis-mock from 4.5.0 to 4.6.0
2019-08-08 07:48:52 +02:00
a634bcee1e Bump m6web/redis-mock from 4.5.0 to 4.6.0
Bumps [m6web/redis-mock](https://github.com/M6Web/RedisMock) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/M6Web/RedisMock/releases)
- [Commits](https://github.com/M6Web/RedisMock/compare/v4.5.0...v4.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-08 02:26:25 +00:00
ccf0fa9d70 Bump scheb/two-factor-bundle from 4.4.0 to 4.5.0
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v4.4.0...v4.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-08 02:23:48 +00:00
2b0f4e86b2 Add user_created index
Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2019-08-07 22:02:37 +10:00
588de419e0 Add user_archived index
Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2019-08-07 21:44:00 +10:00
b700b38e17 Fix PG migration 2019-08-07 11:46:58 +02:00
24acf2e0f3 Fix migrations 2019-08-07 11:25:55 +02:00
5071c8c9cf Add index on starred entries
Fixes #4079

Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2019-08-06 23:21:47 +10:00
d1dbe10e84 Update language in Entry model, and add index
Fixes #4080

Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2019-08-06 23:21:18 +10:00
08a3ed1c68 Merge pull request #4077 from wallabag/dependabot/composer/m6web/redis-mock-4.5.0
Bump m6web/redis-mock from 4.4.1 to 4.5.0
2019-08-01 07:46:01 +02:00
12c03239b3 Bump m6web/redis-mock from 4.4.1 to 4.5.0
Bumps [m6web/redis-mock](https://github.com/M6Web/RedisMock) from 4.4.1 to 4.5.0.
- [Release notes](https://github.com/M6Web/RedisMock/releases)
- [Commits](https://github.com/M6Web/RedisMock/compare/v4.4.1...v4.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-01 02:16:43 +00:00
7f0e0b3f38 Merge pull request #4072 from wallabag/fix/travis-php-7.4
Test on PHP 7.4 instead of PHP 8.0 on Travis
2019-07-29 09:20:16 +02:00
03c818bbfb Merge pull request #4075 from wallabag/dependabot/composer/symfony/phpunit-bridge-4.3.3
Bump symfony/phpunit-bridge from 4.3.2 to 4.3.3
2019-07-29 09:11:21 +02:00
8f015c2107 Bump symfony/phpunit-bridge from 4.3.2 to 4.3.3
Bumps [symfony/phpunit-bridge](https://github.com/symfony/phpunit-bridge) from 4.3.2 to 4.3.3.
- [Release notes](https://github.com/symfony/phpunit-bridge/releases)
- [Changelog](https://github.com/symfony/phpunit-bridge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/phpunit-bridge/compare/v4.3.2...v4.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-29 05:46:41 +00:00
8bbd0bf0a1 Merge pull request #4074 from wallabag/dependabot/composer/m6web/redis-mock-4.4.1
Bump m6web/redis-mock from 4.3.0 to 4.4.1
2019-07-29 07:41:25 +02:00
aea7d05770 Merge pull request #4076 from wallabag/dependabot/composer/symfony/symfony-3.4.30
Bump symfony/symfony from 3.4.29 to 3.4.30
2019-07-29 07:40:29 +02:00
38d2e25123 Bump symfony/symfony from 3.4.29 to 3.4.30
Bumps [symfony/symfony](https://github.com/symfony/symfony) from 3.4.29 to 3.4.30.
- [Release notes](https://github.com/symfony/symfony/releases)
- [Changelog](https://github.com/symfony/symfony/blob/v3.4.30/CHANGELOG-3.4.md)
- [Commits](https://github.com/symfony/symfony/compare/v3.4.29...v3.4.30)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-29 02:26:53 +00:00
4c25546235 Bump m6web/redis-mock from 4.3.0 to 4.4.1
Bumps [m6web/redis-mock](https://github.com/M6Web/RedisMock) from 4.3.0 to 4.4.1.
- [Release notes](https://github.com/M6Web/RedisMock/releases)
- [Commits](https://github.com/M6Web/RedisMock/compare/v4.3.0...4.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-29 02:20:32 +00:00
883ccc235e Re-add nightly 2019-07-26 16:37:12 +02:00
13fddc353e Merge pull request #4068 from wallabag/dependabot/composer/scheb/two-factor-bundle-4.4.0
Bump scheb/two-factor-bundle from 3.21.0 to 4.4.0
2019-07-26 14:10:17 +02:00
affa6602f0 Test on PHP 7.4 instead of PHP 8.0 on Travis
PHP 7.4 will be available before the 8.0
2019-07-26 13:59:39 +02:00
1ebc8e1f02 Fix tests 2019-07-26 13:37:44 +02:00
02a7eb8435 Merge pull request #4071 from Quenty31/master
Update of Occitan language
2019-07-26 13:36:32 +02:00
62665a32bb Upgrade to 4.0 2019-07-26 13:22:48 +02:00
b0ba7ff446 Update of Occitan language 2019-07-26 13:16:18 +02:00
b7cf2fa190 Merge pull request #4069 from wallabag/dependabot/composer/j0k3r/graby-2.0.2
Bump j0k3r/graby from 2.0.1 to 2.0.2
2019-07-26 07:57:14 +02:00
313d735078 Bump j0k3r/graby from 2.0.1 to 2.0.2
Bumps [j0k3r/graby](https://github.com/j0k3r/graby) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/j0k3r/graby/releases)
- [Commits](https://github.com/j0k3r/graby/compare/2.0.1...2.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-26 02:26:53 +00:00
28378675f1 Bump scheb/two-factor-bundle from 3.21.0 to 4.4.0
Bumps [scheb/two-factor-bundle](https://github.com/scheb/two-factor-bundle) from 3.21.0 to 4.4.0.
- [Release notes](https://github.com/scheb/two-factor-bundle/releases)
- [Upgrade guide](https://github.com/scheb/two-factor-bundle/blob/master/UPGRADE.md)
- [Commits](https://github.com/scheb/two-factor-bundle/compare/v3.21.0...v4.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-26 02:18:22 +00:00
3a9aa28558 Merge pull request #4063 from wallabag/fix/cookiejar
Use a custom cookiejar to avoid error when the cookie is badly saved
2019-07-24 16:57:04 +02:00
51d7f62b31 Add logger to FileCookieJar 2019-07-24 16:07:38 +02:00
9a80dcf11e Use a custom cookiejar to avoid error when the cookie is badly saved
It happens sometimes on wallabag.it, the json inside the cookie is badly saved and the json isn't valid. It generates an exception and avoid people to use the api and import contents.
To fix that, we use a dedicated `FileCookieJar`, which extends the default one from Guzzle to fix these issues.

Also updated deps
2019-07-24 10:42:20 +02:00
3a08e81969 Merge pull request #4058 from wallabag/feature/copy-client-info
Copy client info to clipboard
2019-07-17 17:04:14 +02:00
4910361ac4 Merge pull request #4059 from wallabag/dependabot/npm_and_yarn/lodash.mergewith-4.6.2
Bump lodash.mergewith from 4.6.1 to 4.6.2
2019-07-11 11:14:35 +02:00
f5f759e389 Bump lodash.mergewith from 4.6.1 to 4.6.2
Bumps [lodash.mergewith](https://github.com/lodash/lodash) from 4.6.1 to 4.6.2.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2019-07-11 08:48:07 +00:00
879f8eaa18 Fixed typo in wallabag name 2019-07-10 09:59:07 +02:00
df45126a14 Update translations
Remove log
2019-07-09 15:54:59 +02:00
2f62f3abfe Fix tests 2019-07-09 14:02:58 +02:00
66fa0c26ab Copy client info to clipboard
From the listing page and the create summary page, you can now copy client info to the clipboard using dedicated buttons.
2019-07-09 13:46:02 +02:00
ff8fe22f2e Merge pull request #4054 from wallabag/fix/phpunit-lock
Remove PHPUnit lock
2019-07-09 11:53:49 +02:00
4f46330087 Merge pull request #4053 from wallabag/feature/manual-input-reading-speed
Add ability to manually define the reading speed
2019-07-09 11:53:20 +02:00
41022cb289 Add ability to manually define the reading speed
Instead of using a select, let the user decide its own speed.
2019-07-08 20:18:59 +02:00
d0cf488dd4 Remove PHPUnit lock
It should now be PHPUnit 7.4.
Update PHPStan configuration accordingly.
Also, enable `inferPrivatePropertyTypeFromConstructor` for better phpDoc support in constructors.
2019-07-08 14:12:53 +02:00
8effd6e99e Merge pull request #4028 from wallabag/feature/import-export-tagging-rules
Add ability to import/export tagging rules
2019-07-08 12:48:25 +02:00
34be2d5de4 Add ability to import/export tagging rules
- Add missing translations
- Add some tests
- Add `/api/taggingrule/export` API endpoint
- Add baggy theme
- Add error message when importing tagging rules failed
- Also fix all translations (I think we are good now)
2019-07-08 09:38:32 +02:00
92cd51aa2c Merge pull request #4052 from wallabag/dependabot/composer/phpstan/phpstan-0.11.10
Bump phpstan/phpstan from 0.11.9 to 0.11.10
2019-07-08 07:59:02 +02:00
849959e380 Bump phpstan/phpstan from 0.11.9 to 0.11.10
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 0.11.9 to 0.11.10.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Commits](https://github.com/phpstan/phpstan/compare/0.11.9...0.11.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-08 02:16:55 +00:00
d0841c7a27 Merge pull request #4049 from wallabag/fix/tidy-docker
Add missing tidy extension on Docker
2019-07-07 23:03:44 +02:00
8b0aa0a39d Merge pull request #4050 from wallabag/update-deps
Update deps
2019-07-07 00:43:36 +02:00
154d09745f Update deps
They are not direct deps, which means dependabot can't submit them.

  - Updating ralouphie/getallheaders (2.0.5 => 3.0.3)
  - Updating guzzlehttp/psr7 (1.5.2 => 1.6.1)
  - Updating symfony/http-client (v4.3.1 => v4.3.2)
  - Updating symfony/mime (v4.3.1 => v4.3.2)
  - Updating scheb/two-factor-bundle (v3.19.0 => v3.19.1)
  - Updating egulias/email-validator (2.1.8 => 2.1.9)
  - Updating nette/php-generator (v3.2.2 => v3.2.3)
2019-07-06 23:00:57 +02:00
0deec4082f Add missing tidy extension on Docker
It's required in the 2.4 version
2019-07-06 22:03:40 +02:00
830cce45b3 Merge pull request #4045 from wallabag/dependabot/composer/phpstan/phpstan-0.11.9
Bump phpstan/phpstan from 0.11.8 to 0.11.9
2019-07-04 06:52:04 +02:00
eba75bf295 Merge pull request #4044 from wallabag/dependabot/composer/sensio/framework-extra-bundle-5.4.0
Bump sensio/framework-extra-bundle from 5.3.1 to 5.4.0
2019-07-04 06:51:37 +02:00
6f80db6970 Bump phpstan/phpstan from 0.11.8 to 0.11.9
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 0.11.8 to 0.11.9.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Commits](https://github.com/phpstan/phpstan/compare/0.11.8...0.11.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-04 02:20:25 +00:00
2c8dcab738 Bump sensio/framework-extra-bundle from 5.3.1 to 5.4.0
Bumps [sensio/framework-extra-bundle](https://github.com/sensiolabs/SensioFrameworkExtraBundle) from 5.3.1 to 5.4.0.
- [Release notes](https://github.com/sensiolabs/SensioFrameworkExtraBundle/releases)
- [Changelog](https://github.com/sensiolabs/SensioFrameworkExtraBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sensiolabs/SensioFrameworkExtraBundle/compare/v5.3.1...v5.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-04 02:16:23 +00:00
d269cf1257 Merge pull request #4040 from wallabag/dependabot/composer/sentry/sentry-symfony-3.1.0
Bump sentry/sentry-symfony from 3.0.0 to 3.1.0
2019-07-03 06:46:23 +02:00
4ef4b64cc2 Bump sentry/sentry-symfony from 3.0.0 to 3.1.0
Bumps [sentry/sentry-symfony](https://github.com/getsentry/sentry-symfony) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/getsentry/sentry-symfony/releases)
- [Changelog](https://github.com/getsentry/sentry-symfony/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-symfony/compare/3.0.0...3.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-03 02:16:39 +00:00
bbc67a5589 Merge pull request #4039 from wallabag/fix/missing-wallabag-prefix-migration
Fix hardcoded `wallabag_` prefix in migrations
2019-07-01 20:35:09 +02:00
b8fa1b13a6 Fix hardcoded wallabag_ prefix in migration
Again.
Looks like there are still some which were missing to be replaced.
2019-07-01 13:38:53 +02:00
5c29ae4cf6 Merge pull request #4033 from wallabag/dependabot/composer/j0k3r/graby-2.0.1
Bump j0k3r/graby from 2.0.0 to 2.0.1
2019-06-28 07:34:47 +02:00
b0817af024 Bump j0k3r/graby from 2.0.0 to 2.0.1
Bumps [j0k3r/graby](https://github.com/j0k3r/graby) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/j0k3r/graby/releases)
- [Commits](https://github.com/j0k3r/graby/compare/2.0.0...2.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-28 02:21:00 +00:00
cfff90c5af Merge pull request #4029 from wallabag/dependabot/composer/symfony/symfony-3.4.29
Bump symfony/symfony from 3.4.28 to 3.4.29
2019-06-27 08:59:31 +02:00
04bc1faa73 Merge pull request #4030 from wallabag/dependabot/composer/symfony/phpunit-bridge-4.3.2
Bump symfony/phpunit-bridge from 4.3.1 to 4.3.2
2019-06-27 08:58:37 +02:00
38f87f5d61 Bump symfony/phpunit-bridge from 4.3.1 to 4.3.2
Bumps [symfony/phpunit-bridge](https://github.com/symfony/phpunit-bridge) from 4.3.1 to 4.3.2.
- [Release notes](https://github.com/symfony/phpunit-bridge/releases)
- [Changelog](https://github.com/symfony/phpunit-bridge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/phpunit-bridge/compare/v4.3.1...v4.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-27 02:24:19 +00:00
dbe56d5c4f Bump symfony/symfony from 3.4.28 to 3.4.29
Bumps [symfony/symfony](https://github.com/symfony/symfony) from 3.4.28 to 3.4.29.
- [Release notes](https://github.com/symfony/symfony/releases)
- [Changelog](https://github.com/symfony/symfony/blob/v3.4.29/CHANGELOG-3.4.md)
- [Commits](https://github.com/symfony/symfony/compare/v3.4.28...v3.4.29)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-27 02:19:44 +00:00
689b5fdf80 Merge pull request #4027 from wallabag/dependabot/composer/mnapoli/piwik-twig-extension-2.0.1
Bump mnapoli/piwik-twig-extension from 1.0.0 to 2.0.1
2019-06-24 10:18:07 +02:00
c546548ec3 Bump mnapoli/piwik-twig-extension from 1.0.0 to 2.0.1
Bumps [mnapoli/piwik-twig-extension](https://github.com/mnapoli/PiwikTwigExtension) from 1.0.0 to 2.0.1.
- [Release notes](https://github.com/mnapoli/PiwikTwigExtension/releases)
- [Commits](https://github.com/mnapoli/PiwikTwigExtension/compare/1.0.0...2.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-24 05:35:27 +00:00
ac4fda6ae9 Merge pull request #4021 from wallabag/doc/improve-contributing
Improve CONTRIBUTING guide
2019-06-24 07:31:25 +02:00
bd6a7622d3 Merge pull request #4020 from wallabag/fix/sqlite-reading-time-null
Fix `reading_time` being NULL on SQLite
2019-06-24 07:31:13 +02:00
29fa957587 Merge pull request #4018 from wallabag/fix/wallabag_user-migration
Fix migration with prefix table name
2019-06-24 07:30:57 +02:00
cdf458722d Merge pull request #4024 from wallabag/update-deps
Update deps
2019-06-24 07:30:35 +02:00
ac5844a68e Typo 2019-06-21 12:54:52 +02:00
a2f4efe6d2 Use Twig 2.0
`mnapoli/piwik-twig-extension` locked Twig to the 1.10 version. The new version is compatible with Twig 2.0
2019-06-21 12:46:53 +02:00
0a01a5f195 Update deps 2019-06-21 11:34:26 +02:00
c1a5dfe5e4 Use skipIf instead of abortIf
This is to avoid migration using an other SGBD to break.
2019-06-21 09:15:35 +02:00
8bfcb20f65 Merge pull request #4023 from wallabag/dependabot/composer/symfony/monolog-bundle-3.4.0
Bump symfony/monolog-bundle from 3.3.1 to 3.4.0
2019-06-21 07:04:45 +02:00
7319e7e0b3 Bump symfony/monolog-bundle from 3.3.1 to 3.4.0
Bumps [symfony/monolog-bundle](https://github.com/symfony/monolog-bundle) from 3.3.1 to 3.4.0.
- [Release notes](https://github.com/symfony/monolog-bundle/releases)
- [Changelog](https://github.com/symfony/monolog-bundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/monolog-bundle/compare/v3.3.1...v3.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-21 02:21:27 +00:00
1f36a21887 Fix reading_time being NULL on SQLite 2019-06-20 09:50:07 +02:00
0896bb3067 Merge pull request #4019 from wallabag/dependabot/composer/sensio/distribution-bundle-5.0.25
Bump sensio/distribution-bundle from 5.0.24 to 5.0.25
2019-06-20 09:49:29 +02:00
e06303d8ec Bump sensio/distribution-bundle from 5.0.24 to 5.0.25
Bumps [sensio/distribution-bundle](https://github.com/sensiolabs/SensioDistributionBundle) from 5.0.24 to 5.0.25.
- [Release notes](https://github.com/sensiolabs/SensioDistributionBundle/releases)
- [Commits](https://github.com/sensiolabs/SensioDistributionBundle/compare/v5.0.24...v5.0.25)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-20 04:52:35 +00:00
a59227db6b Merge pull request #4022 from wallabag/dependabot/composer/liip/theme-bundle-1.7.0
Bump liip/theme-bundle from 1.6.1 to 1.7.0
2019-06-20 06:47:19 +02:00
a531536522 Bump liip/theme-bundle from 1.6.1 to 1.7.0
Bumps [liip/theme-bundle](https://github.com/liip/LiipThemeBundle) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/liip/LiipThemeBundle/releases)
- [Commits](https://github.com/liip/LiipThemeBundle/compare/1.6.1...1.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-20 02:21:25 +00:00
2a61e13fae Improve CONTRIBUTING guide
Also:

- update the docker-compose to use Alpine image (lighter)
- update the PHP Dockerfile to use Imagick instead of GD (for GIF support when downloading images) and add support for SQLite
2019-06-19 14:54:38 +02:00
227e44d49c Fix PG migration 2019-06-19 09:06:58 +02:00
4552f1c117 Update test url
The previous URL started to report title as `snippet intertitre` instead of the previous title which contains Google.
It looks like a bug on the website side. Instead of updating the test to match that new title, I prefer to use a more recent url instead.
2019-06-18 22:40:05 +02:00
22807de7c5 Fix migration with prefix table name
Looks like we missed one `wallabag_user` in migration.
It can work for most people but if someone use a different prefix, it'll break.
2019-06-18 22:10:46 +02:00
3ed30d3415 Merge pull request #4016 from wallabag/dependabot/composer/nelmio/cors-bundle-1.5.6
Bump nelmio/cors-bundle from 1.5.5 to 1.5.6
2019-06-18 10:17:51 +02:00
1d699489b5 Merge pull request #4017 from wallabag/dependabot/composer/friendsofsymfony/jsrouting-bundle-2.3.1
Bump friendsofsymfony/jsrouting-bundle from 2.3.0 to 2.3.1
2019-06-18 09:41:59 +02:00
9b36a93b52 Bump friendsofsymfony/jsrouting-bundle from 2.3.0 to 2.3.1
Bumps [friendsofsymfony/jsrouting-bundle](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/releases)
- [Changelog](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/compare/2.3.0...2.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-18 02:25:21 +00:00
6657b11995 Bump nelmio/cors-bundle from 1.5.5 to 1.5.6
Bumps [nelmio/cors-bundle](https://github.com/nelmio/NelmioCorsBundle) from 1.5.5 to 1.5.6.
- [Release notes](https://github.com/nelmio/NelmioCorsBundle/releases)
- [Changelog](https://github.com/nelmio/NelmioCorsBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nelmio/NelmioCorsBundle/compare/1.5.5...1.5.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-18 02:17:58 +00:00
f981d1d732 Merge pull request #4009 from wallabag/fix/check-git-directory
Check if .git directory exist before making the update
2019-06-17 08:19:16 +02:00
0a258f85be Return a different code when git isn't installed 2019-06-14 11:28:23 +02:00
1bbdd35731 Merge pull request #4010 from wallabag/dependabot/composer/doctrine/doctrine-fixtures-bundle-3.2.2
Bump doctrine/doctrine-fixtures-bundle from 3.2.0 to 3.2.2
2019-06-14 10:29:05 +02:00
7a82953b3e Check if .git directory exist
If that folder doesn’t exist, it means the udpate script won’t be able to run because it uses git to retrieve the update.
2019-06-14 10:13:40 +02:00
be8e2916c5 Bump doctrine/doctrine-fixtures-bundle from 3.2.0 to 3.2.2
Bumps [doctrine/doctrine-fixtures-bundle](https://github.com/doctrine/DoctrineFixturesBundle) from 3.2.0 to 3.2.2.
- [Release notes](https://github.com/doctrine/DoctrineFixturesBundle/releases)
- [Changelog](https://github.com/doctrine/DoctrineFixturesBundle/blob/master/CHANGELOG-3.1.md)
- [Commits](https://github.com/doctrine/DoctrineFixturesBundle/compare/3.2.0...3.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-14 08:08:21 +00:00
50bcf225e9 Merge pull request #4008 from wallabag/travis-xenial
Fix Travis build on Xenial dist
2019-06-14 10:01:36 +02:00
1009b286c9 Merge pull request #3995 from wallabag/feature/config-display-login
Display login in config / user
2019-06-12 21:36:00 +02:00
865707f929 Fix Travis build on Xenial dist 2019-06-12 20:34:12 +02:00
eeae34375d Typo 2019-06-12 17:44:28 +02:00
76cc8ca26f Update FUNDING.yml
"Some users provided are not enrolled in GitHub Sponsors."
2019-06-12 17:43:15 +02:00
12d7edd0d5 Merge pull request #4006 from wallabag/add-sponsor-badge
Create FUNDING.yml
2019-06-12 17:42:22 +02:00
a73b74a0f2 Create FUNDING.yml 2019-06-12 10:48:46 +02:00
a97f2bb8ed Merge pull request #4004 from wallabag/dependabot/composer/php-http/httplug-bundle-1.16.0
Bump php-http/httplug-bundle from 1.15.2 to 1.16.0
2019-06-12 07:24:36 +02:00
de6171a531 Bump php-http/httplug-bundle from 1.15.2 to 1.16.0
Bumps [php-http/httplug-bundle](https://github.com/php-http/HttplugBundle) from 1.15.2 to 1.16.0.
- [Release notes](https://github.com/php-http/HttplugBundle/releases)
- [Changelog](https://github.com/php-http/HttplugBundle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/php-http/HttplugBundle/compare/1.15.2...1.16.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-12 02:18:54 +00:00
8d37ca56f6 Merge pull request #3999 from wallabag/dependabot/composer/symfony/phpunit-bridge-4.3.1
Bump symfony/phpunit-bridge from 4.3.0 to 4.3.1
2019-06-11 10:47:45 +02:00
90cf1e358f Bump symfony/phpunit-bridge from 4.3.0 to 4.3.1
Bumps [symfony/phpunit-bridge](https://github.com/symfony/phpunit-bridge) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/symfony/phpunit-bridge/releases)
- [Changelog](https://github.com/symfony/phpunit-bridge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/phpunit-bridge/compare/v4.3.0...v4.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-11 07:20:04 +00:00
d4f465526e Merge pull request #3998 from wallabag/dependabot/composer/doctrine/doctrine-fixtures-bundle-3.2.0
Bump doctrine/doctrine-fixtures-bundle from 3.1.0 to 3.2.0
2019-06-11 09:12:54 +02:00
cb4108b44e Bump doctrine/doctrine-fixtures-bundle from 3.1.0 to 3.2.0
Bumps [doctrine/doctrine-fixtures-bundle](https://github.com/doctrine/DoctrineFixturesBundle) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/doctrine/DoctrineFixturesBundle/releases)
- [Changelog](https://github.com/doctrine/DoctrineFixturesBundle/blob/master/CHANGELOG-3.1.md)
- [Commits](https://github.com/doctrine/DoctrineFixturesBundle/compare/3.1.0...3.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-11 02:26:46 +00:00
871216861a Update translations 2019-06-06 15:14:41 +02:00
9c7997db8e Show untagged entries count on tag list (#3993)
Show untagged entries count on tag list
2019-06-06 14:09:23 +02:00
35c4c80148 Display login in config / user
Just so the user can see its login
2019-06-06 13:51:25 +02:00
35c7819cb6 Remove link when there are no untagged articles 2019-06-06 13:34:20 +02:00
c19845a7ae Merge pull request #3959 from wallabag/mig-tag-collation
mysql: change collation of tag label
2019-06-06 12:03:37 +02:00
2b04b300f8 Merge pull request #3994 from wallabag/feature/revoke-feed-token
Add ability to revoke feed token
2019-06-05 18:32:21 +02:00
c4bf12aade Add ability to revoke feed token 2019-06-05 17:55:13 +02:00
757ca53f63 Merge pull request #3992 from wallabag/feature/menu-quickstart
Add quickstart into the menu
2019-06-05 17:13:21 +02:00
0f2d24feb4 Fix typo & CS 2019-06-05 17:09:05 +02:00
ad51743e8b Show untagged entries count on tag list
Closes #3235

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-06-05 17:03:51 +02:00
d010bdd44b Add quickstart into the menu
Just in case people want to see that page again.
2019-06-05 15:51:22 +02:00
7e5b7e029a Merge pull request #3990 from wallabag/feature/sentry
Add Sentry support
2019-06-05 14:41:42 +02:00
4fa63260e4 Merge pull request #3991 from wallabag/fix/secret
Try to force people to update the secret
2019-06-05 14:37:11 +02:00
c822b20835 Try to force people to update the secret 2019-06-05 14:14:17 +02:00
955a3bde17 Add Sentry support
Only enable in production
2019-06-05 13:15:15 +02:00
16e1c07553 Merge pull request #3271 from wallabag/store-resolved-url
Add `given_url` in Entry table to check if a redirected url has already added
2019-06-05 11:38:00 +02:00
d8809f70ea Typos 2019-06-05 10:54:43 +02:00
70df4c3359 Use two indexes instead of one for hashed urls
When using `OR` in a where clause, a composite index can't be used. We should use a `UNION` to take advantages of it.
Instead, create 2 indexes on each hashed urls and make 2 queries to find an url. It'll be faster than the previous solution.
2019-06-05 10:53:15 +02:00
8671da5ead Merge pull request #3987 from wallabag/fix/drop-simplepie
Drop SimplePie
2019-05-29 21:00:36 +02:00
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
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
ecd54aa57e Merge pull request #3986 from wallabag/fix/scrutinizer-issues
Fix some Scrutinizer issues
2019-05-29 14:40:01 +02:00
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
52e8d93248 Fix some Scrutinizer issues 2019-05-29 12:50:44 +02:00
e9579d6de9 Merge pull request #3985 from wallabag/update-composer
Keep composer.lock
2019-05-29 12:49:32 +02:00
2770b6d77d Typos 2019-05-29 12:02:24 +02:00
6546aca4a3 Keep composer.lock
We initially ignored the `composer.lock` because it generated a lock of rebase on PR when someone updated it and the master updated it too.
Now we have less contributions (sadly) so I think we won't run against that problem.
Also, it'll solve issue about people cloning the master and got angry because composer eat all the available memory to determine packages to install.
It'll also be much easier to make release.
Scrutinizer & Travis will be faster too.
2019-05-29 11:41:07 +02:00
73ec68b1ff Merge pull request #3984 from wallabag/2.4
Merge 2.4 into master
2019-05-29 11:14:00 +02:00
2cbee36a01 Merge pull request #3944 from shtrom/always-hash-exists-url
Always hash exists url
2019-05-28 14:18:33 +02:00
48d136d3a0 Merge pull request #3390 from aaa2000/httplug
Use httplug and graby 2.0
2019-05-28 14:00:22 +02:00
6e68417f03 Fix tests after rebase 2019-05-28 12:02:17 +02:00
36b0d52ee4 CS & fix tests 2019-05-28 11:44:21 +02:00
b6c1e1bacc Fix some tests 2019-05-28 11:44:20 +02:00
a91a3150fb CS 2019-05-28 11:42:27 +02:00
448d99f84e CS 2019-05-28 11:42:27 +02:00
1048c9c4a8 Configure timeout 2019-05-28 11:42:27 +02:00
5f08426201 Fix because of some breaking changes of Graby 2.0 2019-05-28 11:42:27 +02:00
bf9ace0643 Use httplug 2019-05-28 11:40:41 +02:00
92a6683562 Merge remote-tracking branch 'origin/master' into 2.4 2019-05-27 10:46:01 +02:00
2ba365c7c4 Merge pull request #3982 from wallabag/fix/https-test
Fix http/https test
2019-05-27 10:22:03 +02:00
d6cc0b249e Fix test 2019-05-27 09:38:07 +02:00
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
cc9731bf2b Merge pull request #3980 from wallabag/fix/instapaper-date-import
Fix Instapaper import date order
2019-05-24 16:03:05 +02:00
629a3797bc Remove useless methods
Also fix a phpdoc block
2019-05-24 15:46:28 +02:00
0132ccd2a2 Change the way to define algorithm for hashing url 2019-05-24 15:17:46 +02:00
4a5516376b Add Wallabag\CoreBundle\Helper\UrlHasher
Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2019-05-24 15:17:46 +02:00
d5744bf0df Delegate findByUrlAndUserId to findByHashedUrlAndUserId
Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2019-05-24 15:17:46 +02:00
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
9ca670c801 Fix Instapaper import date 2019-05-24 14:37:54 +02:00
65b495e75b Merge pull request #3977 from wallabag/fix/7.2-dockerfile
Force PHP version in Dockerfile
2019-05-23 11:57:07 +02:00
c1a1c46e9d Force PHP version in Dockerfile 2019-05-23 08:51:54 +02:00
d99e6423f4 [tests] Fix pre-existing tests (preview now imported + records added) 2019-05-21 20:38:22 +02:00
715fabf8f2 [tests] Set first picture as preview picture 2019-05-21 20:38:22 +02:00
423efadefc Set first picture as preview picture 2019-05-21 20:38:22 +02:00
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
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
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
b8b37ccdea CS 2019-05-15 14:58:40 +02:00
9f0957b831 Merge remote-tracking branch 'origin/master' into 2.4 2019-05-15 14:38:07 +02:00
227a1a27f1 Merge pull request #3966 from wallabag/prepare-2.3.8
Prepare 2.3.8 release
2019-05-14 11:14:37 +02:00
cc181629a0 Prepare 2.3.8 release 2019-05-14 10:16:46 +02:00
eb06edba0c Merge pull request #3964 from wallabag/fix/intl
Fix Intl Locale issue
2019-05-14 09:36:46 +02:00
b50ecd0c8a Fix Intl Locale issue
Some issue appeared after the release of PHP 7.2.17 about Intl Memory
Leak / infinite loop.
To fix it we should upgrade to Symfony 3.4 (which is done in wallabag
2.4) but for the 2.3 branch, we'll use a temporary fix for the Locale
issue.
2019-05-13 14:04:33 +02:00
9e2194e9cb Merge pull request #3956 from wallabag/fix/delete-cascade-oauth2
Cascade delete on oauth2 table when deleting a user
2019-05-13 06:41:16 +02:00
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
295b714426 Merge pull request #3943 from wallabag/img-referrer
Enable no-referrer on img tags, enable strict-origin-when-cross-origin by default
2019-05-12 23:44:33 +02:00
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
9ae5bd9e10 assets: regenerate material.css
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-05-10 23:08:23 +02:00
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
754bf12e67 Fix SQLite constraint 2019-05-10 21:15:46 +02:00
d2ef2d6df8 Fix SQLite migration 2019-05-10 20:36:45 +02:00
637f0df976 Cascade delete on oauth2 table when deleting a user 2019-05-10 20:36:45 +02:00
de1162b91a Merge pull request #3955 from wallabag/fix/gif-animation-imagick
Use Imagick to keep GIF animation
2019-05-10 21:24:06 +03:00
844fd9fafc Fallback to default solution if Imagick fails 2019-05-10 16:52:01 +02:00
77bd7f690d CS 2019-05-10 15:49:39 +02:00
1ca9310f5e Setup Imagick for Travis
To avoid error from phpstan about class not found
2019-05-10 15:47:47 +02:00
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
570113208b Merge pull request #3942 from wallabag/issue-3838
material: add metadata to list view
2019-05-09 15:45:07 +03:00
6e67f41152 Merge pull request #3223 from wallabag/rss2atom
Changed RSS to Atom feed and improve paging
2019-05-09 15:21:21 +03:00
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
ea54c2adb1 Merge pull request #3937 from wallabag/fix/credential-subdomain
Add ability to match many domains for credentials
2019-04-27 10:58:26 +02:00
68a90821a3 Handle redirection from previous feeds 2019-04-26 13:40:58 +02:00
f277bc042c Fix tests & cs & migration 2019-04-26 12:53:21 +02:00
531c8d0a5c Changed RSS to Atom feed and improve paging 2019-04-25 13:46:31 +02:00
522e37ad27 Merge pull request #3158 from wallabag/hash-exist-url
Hash exist url
2019-04-25 13:28:09 +02:00
35359bd3c6 Adding more tests to cover different scenario 2019-04-24 15:28:15 +02:00
ff8f338dc2 FIx unrelated failing test 2019-04-23 22:48:04 +02:00
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
76bc05ebc0 Fix ApiDoc about md5/sha1 2019-04-02 22:59:50 +02:00
5cc0646e66 Fix index on MySQL 2019-04-01 15:45:17 +02:00
c579ce2306 Some cleanup
Also, do not run the hashed_url migration into a Doctrine migration
2019-04-01 14:34:20 +02:00
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
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
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
3620dae1e6 Merge remote-tracking branch 'origin/master' into 2.4 2019-04-01 13:16:15 +02:00
bfd69c74e5 Merge pull request #3909 from wallabag/fix/html-not-defined
Fix PHP warning
2019-03-18 09:26:33 +01:00
8ab5dcc467 Merge pull request #3908 from wallabag/epub-issue-3642
epub: fix exception when articles have the same title
2019-03-18 09:26:16 +01:00
893f107fa1 Merge pull request #3860 from baurmatt/fix/posix_compatibility
Make dev/install/update script posix compatible
2019-03-18 09:25:00 +01:00
8ca858ee73 Fix PHP warning
Looks like sometimes (usually from import) the `html` key isn’t available.
2019-03-18 06:23:41 +01:00
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
7c553a6017 Properly source require.sh
Fixes #3571.
2019-03-12 15:44:38 +01:00
a48ff25d4c Merge pull request #3901 from wallabag/fix-pr-3893
material: fix left padding on non-entry pages introduced by #3893
2019-03-09 12:19:31 +01:00
cf0010cf4a material: fix left padding on non-entry pages introduced by #3893
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-03-09 00:27:50 +01:00
13d2fe6d2e Merge pull request #3897 from wallabag/2.3.8-dev
Jump to 2.3.8-dev
2019-03-04 15:23:06 +01:00
3d7a1f4caf Jump to 2.3.8-dev 2019-03-04 13:49:23 +01:00
36fd8e5fde Merge pull request #3895 from wallabag/prepare-2.3.7
Prepare 2.3.7 release
2019-03-04 12:06:22 +01:00
f2aa373054 Prepare 2.3.7 release 2019-03-04 09:32:26 +01:00
4ae4fa7b89 Merge pull request #3894 from wallabag/issue-3851
material: hide creation date from card actions on specific sizes
2019-03-03 20:22:30 +01:00
6640a922d1 material: update prod assets
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-03-03 19:24:34 +01:00
246cc9ac93 material: add media queries to hide creation date from card actions
Hide the creation date from card actions on specific sizes when there's
not enough space for all parts.

Fixes #3851

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-03-03 19:22:32 +01:00
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
806635f7d5 Merge pull request #3893 from wallabag/issue-3877
material: fix left padding of content on medium screens
2019-03-03 19:22:03 +01:00
05232afe32 material: fix left padding of content on medium screens
Fixes #3877

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-03-02 23:46:00 +01:00
fb7dedf36c material: move a media query from cards to dedicated scss file
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-03-02 22:48:43 +01:00
b886ee923d Merge pull request #3868 from Nadrieril/fix-3662
Add missing entries in craue_config_setting.
2019-03-02 17:20:18 +01:00
85403dae04 Disable down for that migration 2019-03-01 20:26:59 +01:00
fcd54e2447 Test each internal settings before creating them 2019-03-01 20:26:58 +01:00
c2efb5a306 Add missing entries in craue_config_setting.
Should fix https://github.com/wallabag/wallabag/issues/3662
2019-03-01 20:26:58 +01:00
1e9c710fdd Merge pull request #3885 from mart-e/script-ignore-root
Allow optional --ignore-root-warning
2019-03-01 20:22:22 +01:00
fc4c1f50b4 Merge pull request #3857 from wallabag/php73
Replace continue; with break; to avoid PHP 7.3 warnings
2019-02-27 15:31:57 +01:00
8c0ba95307 Adding more tests 2019-02-27 15:01:03 +01:00
ea925bb112 CS 2019-02-27 14:33:26 +01:00
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
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
4de99d1ab1 Merge pull request #3887 from wallabag/issue-3711
Add support of expect parameter to change return object when deleting entry
2019-02-25 10:56:07 +01:00
12a97c3522 tests: fix broken session clients for rest entry deletion tests
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-02-20 15:57:56 +01:00
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
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
4e0ed3368d tests: create entry for testDeleteEntry, fix missing id
When using the entity manager to retrieve an already stored entry, the
id disapears from $entry after the first delete call. This leads to
testing a nonexistent endpoint (api/entries/.json) during the second
delete call.

This change now creates an entry specifically for the test.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-02-17 15:25:21 +01:00
c01bda038e Allow optional --ignore-root-warning
Now both
./install prod --ignore-root-warning
./install --ignore-root-warning prod

will work

$1 was both used for the environment and the root flag

Fixes wallabag/wallabag#3884
2019-02-14 16:42:57 +05:30
b1992b340e Merge pull request #3882 from wallabag/fix/cors
Fix CORS for API
2019-02-13 15:05:57 +01:00
44560c7767 CS 2019-02-13 14:06:57 +01:00
0182cdaec4 CS 2019-02-11 11:57:52 +01:00
a9f61d3dbb CORS repare for api 2019-02-11 11:57:52 +01:00
a86c3f1759 Merge pull request #3879 from wallabag/fix/url-default-protocol
Force default_protocol to generate an url input
2019-02-08 15:39:51 +01:00
baa5ee2d42 Force default_protocol to generate an url input 2019-02-08 15:03:52 +01:00
18460b2d79 Merge remote-tracking branch 'origin/master' into 2.4 2019-02-07 18:01:15 +01:00
47e4784110 Merge pull request #3869 from itsthejb/fix-2factor-email-image
Fix broken 2 factor auth logo image
2019-02-01 12:58:31 +01:00
7e04bd4ca4 Fix broken 2 factor auth logo image 2019-01-31 22:14:53 +01:00
2e5b3fa361 Merge pull request #3798 from wallabag/update-two-factor-bundle
Enable OTP 2FA
2019-01-30 01:02:27 +01:00
755753e3ef Merge pull request #3819 from stan3/pocket-import
Fix read & starred status in Pocket import
2019-01-28 11:34:37 +01:00
8d082488e9 Improve checks & add tests 2019-01-28 06:03:16 +01:00
a2e60dd393 status and favourite are actually strings in the import so use == 2019-01-27 18:39:26 +01:00
4654a83b64 Hash backup codes in the database using password_hash 2019-01-23 14:43:39 +01:00
7485a272ff Revert PG on Travis about drop/create the database 2019-01-23 13:47:51 +01:00
c416ed485f CS 2019-01-23 13:28:24 +01:00
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
4c0e747940 Remove secret from admin 2019-01-23 13:28:24 +01:00
e073090b8d Update translation 2019-01-23 13:28:24 +01:00
6df8b9c6a9 Fix PG & Travis drop/create database 2019-01-23 13:28:24 +01:00
842af5c357 Add SQLite & PG migration
Also remove the forced `server_version` from dbal config to avoid an
hard overriding across all database.
2019-01-23 13:28:23 +01:00
dfd0a7bc5f Add backup codes 2019-01-23 13:28:03 +01:00
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
43ccf4b178 Cleanup 2019-01-23 13:28:02 +01:00
2dfbe9e5fa Fix tests 2019-01-23 13:28:02 +01:00
edc79ad886 Fix test for custom version of the tidy extension 2019-01-23 13:28:02 +01:00
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
acd4412080 Create a dedicated tab to reset data 2019-01-23 13:28:01 +01:00
c6024246b7 Merge pull request #3627 from craig0990/feature/add-search-api-endpoint
Add a basic Search REST endpoint
2019-01-23 09:19:37 +01:00
a8f4f7665c Merge pull request #3864 from wallabag/fix/database-init-version
Removed hardcoded database version
2019-01-23 09:04:54 +01:00
e19fc02665 Avoid creating PG database on Travis
And Travis build on PHP 7.3 should not fail.
2019-01-22 21:43:15 +01:00
8010425444 Fix third argument to Route 2019-01-22 20:42:25 +01:00
019e1acc49 Factorize sendResponse between Api controllers
And run newer cs fixer
2019-01-22 20:42:25 +01:00
9133bd02d1 [wallabag/wallabag#2611] Fix PHPCS lint errors 2019-01-22 20:42:25 +01:00
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
6113dbbc20 Removed hardcoded database version 2019-01-22 20:38:28 +01:00
3527c30021 Merge pull request #3526 from wallabag/add-random-article
Add random feature
2019-01-22 18:30:02 +01:00
fe5850d6e2 Update icon to casino 2019-01-22 17:05:21 +01:00
091bafeb4c Handle no random result found 2019-01-19 22:30:50 +01:00
2491c50b6b Fix status from Instapaper
That status was used as `http_status` in ContentProxy->stockEntry
2019-01-19 22:24:52 +01:00
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
9a57653aec Redirect to the current view instead of homepage 2019-01-19 21:10:16 +01:00
90a0d086a8 Better icon 2019-01-19 21:10:16 +01:00
062fad434a Better random function 2019-01-19 21:09:33 +01:00
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
f85d220c19 Fix tests 2019-01-19 21:09:33 +01:00
09ef25c3c3 Added random feature 2019-01-19 21:09:32 +01:00
c73025ad8b Merge pull request #3858 from wallabag/bump-ocramius
Bump ocramius/proxy-manager
2019-01-18 16:50:24 +01:00
963b873626 CS 2019-01-18 16:05:20 +01:00
6bfbf16eeb Merge pull request #3859 from wallabag/phpstan
Enable PHPStan
2019-01-18 15:56:39 +01:00
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
b992522d85 Merge pull request #3861 from wallabag/fix/siteconfig-email
Add dedicated email for site config issue
2019-01-18 13:20:38 +01:00
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
9666fb70fc Bump ocramius/proxy-manager
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-17 12:47:24 +01:00
6b32cf0c73 Merge pull request #3853 from techexo/patch-2
Update composer.json to add php-tidy (ext-tidy)
2019-01-17 12:09:07 +01:00
1ec44a346b Update composer.json to add php-tidy (ext-tidy)
Should fix https://github.com/wallabag/wallabag/issues/3844 for milestone https://github.com/wallabag/wallabag/milestone/63.
2019-01-16 21:54:38 +01:00
8445ad4790 Merge pull request #3845 from wallabag/feature/api-info-endpoint
Add a new endpoint to retrieve information from the wallabag instance
2019-01-15 12:22:35 +01:00
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
3afc87426d CS 2019-01-15 09:49:22 +01:00
5419a8368e Merge remote-tracking branch 'origin/master' into 2.4 2019-01-15 09:41:18 +01:00
f6b9e883c0 Merge pull request #3841 from wallabag/fix/bad-order-api
Fix bad order parameter in the API
2019-01-14 22:24:40 +01:00
78e3fafa3f Avoid error when a bad order parameter is given
Only allowed parameter are asc & desc
2019-01-14 17:01:21 +01:00
a5e9a98aa3 Come back to stable version
Previous one was used because some PHPUnit version where deleted and tests can't be run anymore.
2019-01-14 17:00:32 +01:00
f083836cc4 Merge pull request #3837 from wallabag/2.3.7-dev
Jump to 2.3.7-dev
2019-01-12 11:19:19 +01:00
314f647238 Jump to 2.3.7-dev 2019-01-11 22:17:48 +01:00
c17d1ab033 Merge pull request #3835 from wallabag/prepare-2.3.6
Prepare 2.3.6 release
2019-01-11 17:12:13 +01:00
3bed2e440e Prepare 2.3.6 release 2019-01-11 14:16:41 +01:00
3625833b2c Merge pull request #3826 from wallabag/epub-toc
Rework of EPUB/PDF exports
2019-01-11 13:34:38 +01:00
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
ca990600da Merge pull request #3833 from techexo/patch-1
Fix settings field inverted
2019-01-10 10:02:34 +01:00
bb8ad42b27 Update entries.html.twig
Should fix https://github.com/wallabag/wallabag/issues/3832
2019-01-10 04:25:51 +01:00
d4466a37fe Update entries.html.twig
Should fix https://github.com/wallabag/wallabag/issues/3832
2019-01-10 04:23:08 +01:00
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
5e1f27767b EntriesExport: avoid else on $authors
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-01-09 16:26:19 +01:00
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
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
af83d05ce2 Add translations
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-01-07 23:06:02 +01:00
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
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
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
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
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
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
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
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
7f8630b91c Counting two characters together as a word in CJK 2019-01-06 01:21:13 +08:00
35983eb9bb Improve reading time tests 2019-01-04 11:23:33 +01:00
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
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
2378fd6347 Merge pull request #3823 from wallabag/fix-tag-api-leak
Fix tag API leak
2019-01-03 09:14:26 +01:00
6c40d7fc85 TagRestController: fix test for tag without entries
As the deletion now requires that at least one entry for the user must
be linked to the given tag, we fix the test testDeleteUserTag by linking
it to an entry.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-12-30 01:34:49 +01:00
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
0ee9848231 TagRestController: add tests to ensure that other user's tags are unreachable
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-12-30 01:34:49 +01:00
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
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
5becf260fa fix incorrect reading time calculation for entries with CJK characters 2018-12-25 15:31:44 +08:00
4d0c632c70 Merge pull request #3814 from wallabag/2.3.6-dev
Jump to 2.3.6-dev and update release process
2018-12-17 09:34:15 +01:00
4fd5f670fe Jump to 2.3.6-dev and update release process
Fix release archive in `release.sh` and also fix a typo in the release process
2018-12-15 08:14:47 +01:00
45e26a7fc8 Merge pull request #3812 from wallabag/prepare-2.3.5
Prepare 2.3.5 release
2018-12-14 22:53:07 +01:00
a1272ab84d Prepare 2.3.5 release 2018-12-14 20:59:16 +01:00
4840d618c2 Merge pull request #3810 from wallabag/remove-guzzle-site-authenticator-dev
No more dev for guzzle-site-authenticator
2018-12-14 10:46:44 +01:00
ac20dc6155 Merge pull request #3781 from wallabag/yarn-up
build: upgrade yarn dependencies, update prod assets
2018-12-13 22:13:34 +01:00
8bb381e78c No more dev for guzzle-site-authenticator 2018-12-13 22:12:21 +01:00
63fb9d6f07 build: upgrade yarn dependencies, update prod assets
Production assets are rebuilt against new dependency versions.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-12-10 22:56:20 +01:00
5c331bf0f9 Merge pull request #3799 from wallabag/mruminski-patch-1
Update messages.pl.yml
2018-12-02 19:30:13 +01:00
e014fa0395 Update messages.pl.yml
Add missing translation
2018-12-02 18:14:21 +01:00
39502b4748 Merge pull request #3758 from wallabag/dropping-php5
Dropping PHP < 7.1
2018-11-29 16:41:23 +01:00
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
9a8a1bdfdb Use our own fork for CraueConfigBundle
Mostly to fix utf8mb4 issue
2018-11-28 22:04:55 +01:00
f168642b50 Force PHPUnit
Looks like "dama/doctrine-test-bundle" isn't compatible with PHPUnit 5.7
(required automatically by PHPUnit Bridge)
2018-11-28 22:04:55 +01:00
b13b2ef052 CS 2018-11-28 22:04:55 +01:00
8f2038e5b1 Fix tests 2018-11-28 22:04:55 +01:00
1b6b77f029 Remove custom Postgres class
Because PG > 10 is now supported by DBAL >= 2.6.0
2018-11-28 22:04:54 +01:00
db9b6d8d0d Update fixtures 2018-11-28 22:04:54 +01:00
9394e8098a Jump to unrelease predis
To fix deprecated message regarding `each()`
2018-11-28 22:04:54 +01:00
6fc95673df Cleanup 2018-11-28 22:04:54 +01:00
20898d5ef4 Merge pull request #3783 from wallabag/issue-3780
material: decrease size of tags on list view
2018-11-26 18:45:38 +01:00
72efc8ceeb Merge pull request #3782 from wallabag/issue-3779
material: fix missing thumbnail on list view
2018-11-26 18:45:12 +01:00
6f2287da69 Merge pull request #3784 from giuppi/master
Fix Android app login issue
2018-11-26 13:57:16 +01:00
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
bf483b628e Merge pull request #3778 from wallabag/better-release
Jump to 2.3.5-dev and update release process
2018-11-25 22:21:19 +01:00
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
13d94929ec material: decrease size of tags on list view
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-11-25 15:38:17 +01:00
e5de9917fd material: fix missing thumbnail on list view
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-11-25 15:00:08 +01:00
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
3c7900d0cd Jump to PHP 7.1+ 2018-11-25 10:08:45 +01:00
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
a03c4d90b2 Jump to 2.3.5-dev and update release process
After the latest release, I update the documentation about it so it’s more clear
2018-11-25 09:43:21 +01:00
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
bffe65478d Merge pull request #3775 from wallabag/prepare-2.3.4
Prepare 2.3.4 release
2018-11-24 21:13:03 +01:00
5a4cbf5b70 Create a custom swap to avoid error 2018-11-23 22:11:10 +01:00
ea60d76e60 Use latest bridge to avoid PHPUnit break
Because branch 4.8 & 5.7 have been removed
2018-11-23 22:11:10 +01:00
d470f817ac Use new Travis infra 2018-11-23 22:11:04 +01:00
dc90eab32b Prepare 2.3.4 release 2018-11-23 08:34:13 +01:00
e01b00298a Merge pull request #3774 from Simounet/feature/card-ui
Card no preview replaced by wallabag logo
2018-11-21 20:56:09 +01:00
2daae77094 Card no preview replaced by wallabag logo 2018-11-21 18:51:44 +01:00
59a31ed07f Merge pull request #3772 from techexo/patch-1
Update translation when marking as read
2018-11-16 14:34:41 +01:00
060f3ce34c Update messages.en.yml 2018-11-16 14:16:38 +01:00
ccc3b0a531 Update messages.fr.yml 2018-11-16 01:45:16 +01:00
0ddfb2956c Update messages.fr.yml
Modification pour éclaircir le sens de l'option
2018-11-16 01:37:53 +01:00
b3bcc6aa06 Merge pull request #3769 from burkemw3/patch-4
Add rel=noopener to target=_blank links
2018-11-09 16:08:27 +01:00
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
078d54411b Merge pull request #3766 from merwan/patch-1
Fix link to wallabag requirements in documentation
2018-11-06 05:20:28 +00:00
c7e9610b3f Fix link to wallabag requirements in documentation 2018-11-05 10:17:50 +01:00
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
3f0dd0f0bc fixup! fixup! Fix documentation wording for matches/notmatches tagging rules 2018-11-01 19:40:17 +11:00
da7b8e256f fixup! Fix documentation wording for matches/notmatches tagging rules 2018-11-01 19:26:06 +11:00
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
385dac6d31 Merge pull request #3763 from wallabag/ghpr-template-update
Add note on GitHub PR template to auto-close issues
2018-10-27 06:15:03 +00:00
96823682f9 misc: add note on GitHub PR template to auto-close issues
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-26 23:50:55 +02:00
a6e4e83809 Merge pull request #3553 from wallabag/url-3529
Swap entry url with origin url if graby provides an updated one
2018-10-26 11:31:41 +02:00
1b220426e2 phpcs
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-24 22:33:32 +02:00
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
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
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
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
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
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
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
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
ae4f7dceec Merge pull request #3733 from Deuchnord/root-abort-update
Abort running install and update script if root
2018-10-17 11:26:12 +02:00
c2bd272cf3 Added argument to ignore the warning. 2018-10-16 20:34:28 +02:00
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
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
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
5bb01c0344 Merge pull request #3216 from wallabag/change-locale-register
Added possibility to change locale from login/register pages
2018-10-15 08:31:42 +00:00
fbdc665487 Merge pull request #3606 from mritzmann/master
add manifest.json for android pwa
2018-10-15 08:30:26 +00:00
0ebf595c11 Merge pull request #3706 from shtrom/fix/gnu-make-bash
Makefile fixes for non GNU systems
2018-10-14 20:07:42 +02:00
ba69c04c27 Merge pull request #3743 from burkemw3/patch-1
Show tags on non-image gallery preview card
2018-10-13 12:00:00 +00:00
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
be417ef236 Added possibility to change locale from login/register pages 2018-10-13 09:39:00 +02:00
78ef840eda Merge pull request #3734 from davidmohamedfr/fix-dockerfile-php72
Fix dockerfile php72
2018-10-13 06:30:10 +00:00
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
43b6f3a8a8 Merge pull request #3596 from glego/add-secure-email
Add secure email
2018-10-11 09:34:52 +00:00
6a3187066f Add secure email 2018-10-11 07:57:11 +02:00
102f57941e Merge pull request #3731 from wallabag/symfony3.4
Jump to Symfony 3.4
2018-10-08 08:00:07 +00:00
f5c862640b libpng12-dev was rename as libpng-dev 2018-10-06 14:15:59 +02:00
9e83c3bdf0 remove mcrypt since openssl is included in php 7.2
mcrypt extension doesn't exist anymore
2018-10-06 14:15:01 +02:00
23aa47d828 Abort running install and update script if root (closes #3590) 2018-10-06 12:23:40 +02:00
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
84d59603c5 Update assets 2018-09-25 10:21:21 +02:00
03b2058dbe Add tests about the tag renaming process. 2018-09-25 10:18:36 +02:00
32968bd30e Add specific styles for the card tag form element.
Also add a `.hidden` class in the baggy theme to have consistency with material.
2018-09-25 10:18:35 +02:00
559f708cae Add translations about latest Tag changes.
Add new translations in each language file.
2018-09-25 10:18:08 +02:00
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
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
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
a664a1d876 Rename Tag : Add a new FormType 2018-09-25 10:18:08 +02:00
0f5c15d543 Merge pull request #3725 from Tobi823/master
Bugfix: Sanitize the title of a saved webpage from invalid UTF-8 characters.
2018-09-24 18:34:16 +02:00
28cc645b93 Run php-cs-fixer for fixing coding standard issues (on ContentProxyTest) 2018-09-23 23:42:05 +02:00
83f1c3274f Run php-cs-fixer for fixing coding standard issues 2018-09-23 22:20:43 +02:00
d64139d812 Make helper methods strToHex and hexToStr in ContentProxyTest.php private
to prevent misusage (from outside this class)
2018-09-21 13:31:28 +02:00
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
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
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
8648f0c005 Remove type declaration for PHP 5 compatibility 2018-09-21 13:15:00 +02:00
d76a5a6d60 Bugfix: Sanitize the title of a saved webpage from invalid UTF-8 characters 2018-09-21 13:15:00 +02:00
2b6380f5ac Merge pull request #3630 from sviande/archived_at
Entry: add archived_at property and updateArchived method
2018-09-21 09:46:58 +00:00
9007fe0062 Sort archive page by archived at 2018-09-21 11:18:29 +02:00
7c0d682687 Code Style 2018-09-21 10:33:33 +02:00
0e70e81227 Entry: add sort parameter archived 2018-09-21 10:33:33 +02:00
7975395d10 Entry: add archived_at property and updateArchived method 2018-09-21 10:33:33 +02:00
2f3af70e1a Merge remote-tracking branch 'origin/master' into 2.4 2018-09-21 10:17:38 +02:00
759c91940b Merge pull request #3726 from wallabag/fix-tests
Liberation goes https
2018-09-21 08:16:27 +00:00
84b3bdaac0 Liberation goes https 2018-09-21 09:07:40 +02:00
b6d72e0c91 Merge remote-tracking branch 'origin/master' into 2.4 2018-09-16 19:45:37 +02:00
8013f35d96 Merge pull request #3719 from wallabag/fix-sort-parameters
Fix sort parameters
2018-09-07 17:02:39 +02:00
c0b65ad1c9 Updating node to 6.10
Same as defined in .travis.yml
2018-09-07 15:18:00 +02:00
4408ebd40a Fix tests 2018-09-07 15:18:00 +02:00
8d109df851 Jump to the new Scrutinizer PHP analysis engine 2018-09-07 15:18:00 +02:00
17476f4d8d Add missing parameters
Parameters weren’t passed to the sub function.
2018-09-07 13:56:14 +02:00
7083c0a21d Merge remote-tracking branch 'origin/master' into 2.4 2018-09-07 13:46:30 +02:00
495f83c925 Merge pull request #3712 from wallabag/refactor-entry-queries
Rename getBuilderByUser and refactor query for untagged entries
2018-09-07 11:43:07 +00:00
eb5e3f1d1d Merge pull request #3717 from wallabag/php-72
PHP 7.2 shouldn't fail
2018-09-06 11:28:57 +02:00
04f85fd9a8 PHP 7.2 shouldn't fail 2018-09-06 07:58:26 +02:00
b8115ff46b php-cs-fixer
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-09-05 18:44:08 +02:00
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
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
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
ada5d5b269 Merge pull request #3716 from wallabag/csfixer
php-cs-fixer: native_function_invocation
2018-09-05 16:38:20 +00:00
2a1ceb67b4 php-cs-fixer
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-09-05 14:25:32 +02:00
685a5d745e Merge pull request #3707 from wallabag/fix-test-de-at
Removing failing test from Travis
2018-08-19 18:15:11 +02:00
72efc80fdc Removing failing test from Travis 2018-08-19 16:38:48 +02:00
fea06d19f3 Merge pull request #3705 from wallabag/update-release
Update release script
2018-08-19 09:17:40 +02:00
681e04b060 Makefile fixes for non GNU systems
* Move `Makefile` to `GNUmakefile`, which GNU `make` picks first
* Add `Makefile` so other `make`s forward to `gmake`
* Set the `SHELL` variable and let `make` handle the shell

Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2018-08-18 18:50:18 +10:00
2bf568ff46 Update release script 2018-08-17 14:40:06 +02:00
1421236800 Merge pull request #3702 from aleksandar-todorovic/patch-1
Fixes a typo
2018-08-16 14:45:23 +02:00
e0a9791412 Fixes another typo 2018-08-10 20:28:48 +02:00
7fd4ad6564 Fixes a typo 2018-08-10 20:15:46 +02:00
d29b18e82e Merge pull request #3690 from Simounet/fix/srcset-attribute
More robust srcset image attribute handling
2018-07-23 16:24:20 +00:00
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
0f36a88e16 Merge pull request #3692 from Simounet/feature/svg-logo
Feature/svg logo
2018-07-12 11:31:30 +00:00
e93f37206a wallabag logo (side-nav) replaced by an SVG one 2018-07-11 21:57:53 +02:00
4c78612eb4 wallabag logo with typo replaced by an SVG one 2018-07-11 21:51:52 +02:00
2fdd512488 Fake wallabag logo data image replaced by real SVG 2018-07-11 21:25:46 +02:00
9b12f822e1 Merge pull request #3691 from Simounet/feature/login-username-autofocus
Autofocus the username field on the login page
2018-07-11 18:49:38 +00:00
d02e6850c2 Autofocus the username field on the login page 2018-07-11 20:10:51 +02:00
6337b46e80 Merge pull request #3678 from anmol26s/patch-1
Propose YunoHost badge for installing
2018-07-06 05:40:03 +00:00
9216bab8c9 Merge pull request #3683 from Simounet/fix/iframe-video-width-shared
Fix mobile viewport on big iframe and video elements
2018-07-06 05:38:39 +00:00
9bc086071a Merge pull request #3686 from wallabag/remove-trusted-proxies
Remove remaining deprecation notices
2018-07-06 05:38:02 +00:00
80336f77fd The 'framework.trusted_proxies' configuration key has been deprecated in Symfony 3.3 2018-07-05 21:01:45 +02:00
200392b462 Merge pull request #3685 from wallabag/fix-random-failing-test
Replace SO url by lemonde.fr to avoid random failing test
2018-07-05 13:37:28 +00:00
9c48053b14 Replace SO url by lemonde
Looks like we got a lot of random failing while grabing SO content, replacing it might fix the problem.
2018-07-05 14:50:27 +02:00
18167b9a24 Merge pull request #3684 from Simounet/fix/empty-image-download-error
Fix image downloading on null image path
2018-07-05 12:15:50 +00:00
3fbbe0d9f1 Fix image downloading on null image path 2018-07-05 11:40:51 +02:00
44043ebe82 Merge remote-tracking branch 'origin/master' into 2.4 2018-07-03 13:55:25 +02:00
6cf7f21dcb Fix mobile viewport on big iframe and video elements 2018-06-28 15:22:51 +02:00
8d09f57c0d Propose YunoHost badge for installing
The YunoHost have working Wallabag package with working install,remove,update,backup and restore scripts. YunoHost makes self -hosting easy for the end users. Please add the this badge so that people can find this solution.
2018-06-22 02:43:43 +05:30
e586d65b64 Merge pull request #3675 from wallabag/prepare-2.3.3
Prepare 2.3.3 release
2018-06-19 07:44:48 +00:00
7ddba67745 Prepare 2.3.3 release 2018-06-19 06:50:13 +02:00
7ebd4bdcf7 Merge pull request #3538 from wallabag/fix-migrations-dash
Fixed migrations with dash into db names
2018-06-15 05:25:44 +00:00
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
bfe7a69226 Fixed migrations with dash into db name 2018-06-14 13:43:09 +02:00
36054f5dd4 Merge pull request #3636 from flozz/syntax-highlight
Highlight code in articles using highlight.js
2018-06-07 06:22:14 +00:00
c00a691019 Merge pull request #3668 from wallabag/fix-tests
Fix tests
2018-06-07 06:21:06 +00:00
778543311f Fix tests 2018-06-06 17:34:20 +02:00
a550a64c84 Merge pull request #3614 from comradekingu/patch-3
Spelling: GitHub, Log out, of the dev
2018-06-06 14:26:40 +00:00
def73759ae Merge pull request #3664 from Simounet/fix/entry-attributes-encoding
Fix authors and preview alt encoding display
2018-06-05 04:33:37 +00:00
03f2cacb58 Fix authors and preview alt encoding display 2018-06-04 12:04:37 +02:00
fea68d1a72 Merge pull request #3646 from Quenty31/master
[i18n] Occitan update
2018-06-01 14:53:49 +02:00
8fe73e076c Merge pull request #3661 from Simounet/fix/2981-srcset-image
Fix srcset attribute on images downloaded
2018-06-01 14:53:04 +02:00
c15bb5ad72 Fix srcset attribute on images downloaded 2018-06-01 13:49:16 +02:00
9707ac4661 Merge pull request #3653 from Simounet/fix/firefox-mobile-unneeded-resize
Fix/firefox mobile unneeded resize
2018-05-24 21:36:51 +02:00
53ec80be94 Fix missing generated CSS 2018-05-24 11:57:22 +02:00
f136d288d6 Fix Firefox mobile unneeded resize
Before that, on Firefox Mobile, when you were moving to the top or to
the bottom of the page, you were stopped before to go to the opposite
side.
2018-05-24 09:04:02 +02:00
1d770f9867 Merge pull request #3652 from Simounet/fix/overflow-wrap
Fix overflow wrap issue
2018-05-24 07:16:36 +02:00
a6e5637507 Fix overflow wrap issue 2018-05-21 19:47:28 +02:00
65f499b4ac Update wallabag_user.oc.yml 2018-05-06 12:36:55 +02:00
4745ca3fde Update CraueConfigBundle.oc.yml 2018-05-05 21:16:20 +02:00
7c3184376c Update wallabag_user.oc.yml
Mens dialectal, mai estandard
2018-05-05 21:15:01 +02:00
609adaca9b Update messages.oc.yml 2018-05-05 21:13:55 +02:00
9562a8aca8 Update CraueConfigBundle.oc.yml 2018-05-05 21:09:00 +02:00
b2e7b8b600 Highlight code in articles using highlight.js 2018-04-23 19:11:24 +02:00
11f15430ff Merge pull request #3615 from notFloran/3612-login-by-email
Allow login by email
2018-04-03 22:08:42 +02:00
a0f126b973 Merge pull request #3616 from notFloran/3404-bookmarklet-encoding
Better encoding of the URI for the bookmarklet
2018-04-03 22:07:52 +02:00
08d6bedcaa Allow login by email 2018-04-01 20:57:10 +02:00
8e5b91180e Better encoding of the URI for the bookmarklet 2018-04-01 20:55:45 +02:00
3b46d0f947 Merge pull request #3619 from notFloran/fix-tests
Fix tests
2018-04-01 11:12:32 +02:00
80d4260a8e Fix CS in UtilsTest.php 2018-03-31 12:55:27 +02:00
739a4024fa Replace zataz url 2018-03-30 23:09:03 +02:00
3be96dcb17 Use https instead of http for bild.de to fix tests 2018-03-29 22:58:40 +02:00
f400aa1281 GitHub, Log out, of the dev 2018-03-25 04:31:22 +02:00
ed148f6685 add 512x512 appicon 2018-03-20 08:43:46 +01:00
10f31ac572 change href link for manifest.json 2018-03-19 08:32:33 +01:00
35ce4d5e5f add manifest.json for android pwa 2018-03-18 19:58:34 +01:00
727880c950 Merge pull request #3597 from wallabag/fix-tests
Fix tests
2018-03-17 13:28:10 +01:00
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
ad77c3451f Looked UserBundle again.
See https://github.com/FriendsOfSymfony/FOSUserBundle/compare/v2.0.2...v2.1.0#diff-8a79d0e62995dd549be4e463c35a8cc3

It generate an error about a variable called `registration_enabled` which can not be found.
So I guess we are in the case of “such usage” about BC in UserBundle. Don’t want to loose time finding how to fix it. Rollback to the working version.
2018-02-24 22:12:48 +01:00
bf283db8e6 20 Minutes is now https 2018-02-24 22:02:52 +01:00
228d317204 Merge pull request #3573 from shulard/fix/unknown-withremove-variable
Fix error when withRemove variable is not defined.
2018-02-24 21:52:56 +01:00
4d9128ded9 Fix title card HTML parsing 2018-02-12 22:19:15 +01:00
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
440 changed files with 23396 additions and 7985 deletions

View File

@ -13,5 +13,5 @@ insert_final_newline = true
indent_style = space
indent_size = 2
[Makefile]
[*akefile]
indent_style = tab

View File

@ -1,11 +1,41 @@
# How to contribute
## Test it locally
### Using Docker
- Clone the repository
- Ensure your Docker daemon is running
- Launch `docker-compose up`
You'll then have:
- a web server (nginx)
- a PHP daemon (using FPM)
- a Redis database (to handle imports)
- a SQLite database to store articles
You can now access your wallabag instance using that url: `http://127.0.0.1:8000`
If you want to test using an other database than SQLite, uncomment the `postgres` or `mariadb` code from the `docker-compose.yml` file at the root of the repo. Also uncomment related line in the `php` section so the database will be linked to your PHP instance.
### Using your own PHP server
- Ensure you are running PHP > 7.1.
- Clone the repository
- Launch `composer install`
- If you got some errors, fix them (they might be related to some missing PHP extension from your machine)
- Then `php bin/console wallabag:install`
- If you got some errors, fix them (they might be related to some missing PHP extension from your machine)
- Run `php bin/console server:run`
You can now access your wallabag instance using that url: `http://127.0.0.1:8000`
## You found a bug
Please [open a new issue](https://github.com/wallabag/wallabag/issues/new).
To fix the bug quickly, we need some infos: please answer to the questions in the issue form.
If you have the skills, look for errors into php, server and application (see `var/logs`) logs.
If you have the skills, look for errors into PHP, server and application logs (see `var/logs`).
Note : If you have large portions of text, use [Github's Gist service](https://gist.github.com/) or other pastebin-like.

2
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,2 @@
# github: [nicosomb, j0k3r, tcitworld, Kdecherf]
liberapay: wallabag

View File

@ -8,9 +8,15 @@
| Documentation | yes/no
| Translation | yes/no
| CHANGELOG.md | yes/no
| Fixed tickets | #...
| License | MIT
<!--
Please list the issues your PR fixes using special keywords, see
https://help.github.com/articles/closing-issues-using-keywords/
Fixes #…
-->
<!--
- Please fill in this template according to the PR you're about to submit.
- Replace this comment by a description of what your PR is solving.

7
.gitignore vendored
View File

@ -32,6 +32,7 @@ web/uploads/
# Build
/app/build
/build
/coverage
# Composer PHAR
/composer.phar
@ -43,9 +44,6 @@ data/db/wallabag*.sqlite
docker/logs/
docker/data/
# To avoid crazy stuff on some PR, we must manually FORCE ADD IT on each new release
composer.lock
# assets stuff
node_modules/
bin
@ -57,3 +55,6 @@ app/Resources/build/
admin-export.json
specialexport.json
/data/site-credentials-secret-key.txt
# Custom CSS file
web/custom.css

View File

@ -26,3 +26,18 @@ tools:
checks:
php:
code_rating: true
# use the new PHP analysis engine
# https://scrutinizer-ci.com/docs/tools/php/php-analyzer/guides/migrate_to_new_php_analysis
build:
nodes:
analysis:
tests:
override:
- php-scrutinizer-run
dependencies:
override:
- npm install -g 'yarn'
- yarn install --force
- COMPOSER_MEMORY_LIMIT=-1 composer install -o --no-interaction --no-progress --prefer-dist

View File

@ -1,34 +1,31 @@
os: linux
dist: xenial
language: php
services:
- rabbitmq
- redis
# faster builds on docker-container setup
sudo: false
# used for HHVM
addons:
apt:
packages:
- tidy
- mysql
- postgresql
- rabbitmq
- redis
# cache vendor dirs
cache:
apt: true
directories:
- vendor
- $HOME/.composer/cache
- $HOME/.composer/cache/files
- node_modules
- $HOME/.npm
- $HOME/.yarn-cache
if: |
type = pull_request OR \
branch = master
php:
- 5.6
- 7.0
- 7.1
- 7.2
- nightly
- 7.3
- 7.4
node_js:
- "5"
@ -38,47 +35,43 @@ env:
- DB=pgsql
- DB=sqlite
matrix:
jobs:
fast_finish: true
include:
- php: 7.0
- php: 7.3
env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run ASSETS=build DB=sqlite
allow_failures:
- php: 7.2
- php: nightly
# exclude v1 branches
branches:
except:
- legacy
before_script:
before_install:
- if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
- PHP=$TRAVIS_PHP_VERSION
- if [[ ! $PHP = hhvm* ]]; then echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; fi;
# xdebug isn't enable for PHP 7.1
- if [[ ! $PHP = hhvm* ]]; then phpenv config-rm xdebug.ini || echo "xdebug not available"; fi
- echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
- phpenv config-rm xdebug.ini || echo "xdebug not available"
- composer self-update --no-progress
- if [[ $DB = pgsql ]]; then psql -c 'create database wallabag_test;' -U postgres; fi;
# install imagick
- pear config-set preferred_state beta
- pecl channel-update pecl.php.net
- yes | pecl install imagick
install:
- if [[ $ASSETS = build ]]; then source ~/.nvm/nvm.sh && nvm install 6.10; fi;
- if [[ $ASSETS = build ]]; then npm install -g yarn@latest; fi;
- if [[ $ASSETS = build ]]; then yarn install; fi;
- composer install -o --no-interaction --no-progress --prefer-dist --no-suggest
- php bin/simple-phpunit install
before_install:
- if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
before_script:
- make prepare DB=$DB
- make fixtures
script:
- travis_wait composer update --no-interaction --no-progress
- echo "travis_fold:start:prepare"
- make prepare DB=$DB
- echo "travis_fold:end:prepare"
- echo "travis_fold:start:fixtures"
- php bin/console doctrine:fixtures:load --no-interaction --env=test
- echo "travis_fold:end:fixtures"
- if [[ $VALIDATE_TRANSLATION_FILE = '' ]]; then ./bin/simple-phpunit -v ; fi;
# PHPStan needs PHPUnit to be installed and cache app to be generated
- if [[ $VALIDATE_TRANSLATION_FILE = '' ]]; then php bin/phpstan analyse src tests --no-progress --level 1 ; fi;
- if [[ $CS_FIXER = run ]]; then php bin/php-cs-fixer fix --verbose --dry-run ; fi;
- if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml src/Wallabag/CoreBundle/Resources/translations -v ; fi;
- if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml app/Resources/CraueConfigBundle/translations -v ; fi;

View File

@ -1,26 +0,0 @@
# see https://zappr.opensource.zalan.do/
autobranch: false
commit: false
approvals:
minimum: 1
ignore: pr_opener
pattern: "^(:\\+1:|👍)$"
veto:
pattern: "^(:\\-1:|👎)$"
from:
orgs:
- wallabag
collaborators: true
specification:
title:
minimum-length:
enabled: true
length: 8
body:
minimum-length:
enabled: true
length: 8
contains-url: false
contains-issue-number: false
template:
differs-from-body: true

View File

@ -1,5 +1,127 @@
# Changelog
## [2.3.8](https://github.com/wallabag/wallabag/tree/2.3.8)
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.3.7...2.3.8)
### Fixes
- Jump to 2.3.8-dev [#3897](https://github.com/wallabag/wallabag/pull/3897)
- material: fix left padding on non-entry pages [#3901](https://github.com/wallabag/wallabag/pull/3901)
- Make dev/install/update script posix compatible [#3860](https://github.com/wallabag/wallabag/pull/3860)
- epub: fix exception when articles have the same title [#3908](https://github.com/wallabag/wallabag/pull/3908)
- Fix PHP warning [#3909](https://github.com/wallabag/wallabag/pull/3909)
- Add ability to match many domains for credentials [#3937](https://github.com/wallabag/wallabag/pull/3937)
- material: add metadata to list view [#3942](https://github.com/wallabag/wallabag/pull/3942)
- Enable no-referrer on img tags, enable strict-origin-when-cross-origin by default [#3943](https://github.com/wallabag/wallabag/pull/3943)
- Remove preview picture from share view page#3922
- Fix Intl Locale issue [#3964](https://github.com/wallabag/wallabag/pull/3964)
## [2.3.7](https://github.com/wallabag/wallabag/tree/2.3.7)
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.3.6...2.3.7)
### Fixes
- Jump to 2.3.7-dev [#3837](https://github.com/wallabag/wallabag/pull/3837)
- Fix bad order parameter in the API [#3841](https://github.com/wallabag/wallabag/pull/3841)
- Update composer.json to add php-tidy (ext-tidy) [#3853](https://github.com/wallabag/wallabag/pull/3853)
- Add dedicated email for site config issue [#3861](https://github.com/wallabag/wallabag/pull/3861)
- Fix read & starred status in Pocket import [#3819](https://github.com/wallabag/wallabag/pull/3819)
- Fix broken 2 factor auth logo image [#3869](https://github.com/wallabag/wallabag/pull/3869)
- Fix CORS for API [#3882](https://github.com/wallabag/wallabag/pull/3882)
- Add support of expect parameter to change return object when deleting entry [#3887](https://github.com/wallabag/wallabag/pull/3887)
- epub export: fix missing cover image, only for exports of one article [#3886](https://github.com/wallabag/wallabag/pull/3886)
- Allow optional --ignore-root-warning [#3885](https://github.com/wallabag/wallabag/pull/3885)
- material: fix left padding of content on medium screens [#3893](https://github.com/wallabag/wallabag/pull/3893)
- material: hide creation date from card actions on specific sizes [#3894](https://github.com/wallabag/wallabag/pull/3894)
## [2.3.6](https://github.com/wallabag/wallabag/tree/2.3.6)
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.3.5...2.3.6)
### Fixes
- Jump to 2.3.6-dev and update release process [#3814](https://github.com/wallabag/wallabag/pull/3814)
- Fix tag API leak [#3823](https://github.com/wallabag/wallabag/pull/3823)
- Validate imported entry to avoid error on import [#3816](https://github.com/wallabag/wallabag/pull/3816)
- Fix incorrect reading time calculation for entries with CJK characters [#3820](https://github.com/wallabag/wallabag/pull/3820)
- EntriesExport/epub: replace epub identifier with unique urn [#3827](https://github.com/wallabag/wallabag/pull/3827)
- Fix settings field inverted [#3833](https://github.com/wallabag/wallabag/pull/3833)
- Cast client id to avoid PG error [#3831](https://github.com/wallabag/wallabag/pull/3831)
- Rework of EPUB/PDF exports [#3826](https://github.com/wallabag/wallabag/pull/3826)
## [2.3.5](https://github.com/wallabag/wallabag/tree/2.3.5)
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.3.4...2.3.5)
### Fixes
- Jump to 2.3.5-dev and update release process [#3778](https://github.com/wallabag/wallabag/pull/3778)
- Remove preview picture from single entry view page [#3765](https://github.com/wallabag/wallabag/pull/3765)
- Fix Android app login issue [#3784](https://github.com/wallabag/wallabag/pull/3784)
- material: fix missing thumbnail on list view [#3782](https://github.com/wallabag/wallabag/pull/3782)
- material: decrease size of tags on list view [#3783](https://github.com/wallabag/wallabag/pull/3783)
- build: upgrade yarn dependencies, update prod assets [#3781](https://github.com/wallabag/wallabag/pull/3781)
- No more dev for guzzle-site-authenticator [#3810](https://github.com/wallabag/wallabag/pull/3810)
## [2.3.4](https://github.com/wallabag/wallabag/tree/2.3.4)
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.3.3...2.3.4)
### Fixes
- Fix image downloading on null image path [#3684](https://github.com/wallabag/wallabag/pull/3684)
- Remove remaining deprecation notices [#3686](https://github.com/wallabag/wallabag/pull/3686)
- Fix mobile viewport on big iframe and video elements [#3683](https://github.com/wallabag/wallabag/pull/3683)
- Autofocus the username field on the login page [#3691](https://github.com/wallabag/wallabag/pull/3691)
- Feature/svg logo [#3692](https://github.com/wallabag/wallabag/pull/3692)
- Fixes a typo [#3702](https://github.com/wallabag/wallabag/pull/3702)
- Update release script [#3705](https://github.com/wallabag/wallabag/pull/3705)
- Removing failing test from Travis [#3707](https://github.com/wallabag/wallabag/pull/3707)
- Replace SO url by lemonde.fr to avoid random failing test [#3685](https://github.com/wallabag/wallabag/pull/3685)
- php-cs-fixer: native_function_invocation [#3716](https://github.com/wallabag/wallabag/pull/3716)
- PHP 7.2 shouldn't fail [#3717](https://github.com/wallabag/wallabag/pull/3717)
- Liberation goes https [#3726](https://github.com/wallabag/wallabag/pull/3726)
- Bugfix: Sanitize the title of a saved webpage from invalid UTF-8 characters. [#3725](https://github.com/wallabag/wallabag/pull/3725)
- Fix dockerfile php72 [#3734](https://github.com/wallabag/wallabag/pull/3734)
- Fix sort parameters [#3719](https://github.com/wallabag/wallabag/pull/3719)
- Add note on GitHub PR template to auto-close issues [#3763](https://github.com/wallabag/wallabag/pull/3763)
- Fix link to wallabag requirements in documentation [#3766](https://github.com/wallabag/wallabag/pull/3766)
- Update translation when marking as read [#3772](https://github.com/wallabag/wallabag/pull/3772)
- Makefile fixes for non GNU systems [#3706](https://github.com/wallabag/wallabag/pull/3706)
- Card no preview replaced by wallabag logo [#3774](https://github.com/wallabag/wallabag/pull/3774)
### Changes
- Propose YunoHost badge for installing [#3678](https://github.com/wallabag/wallabag/pull/3678)
- More robust srcset image attribute handling [#3690](https://github.com/wallabag/wallabag/pull/3690)
- Rename getBuilderByUser and refactor query for untagged entries [#3712](https://github.com/wallabag/wallabag/pull/3712)
- Show tags on non-image gallery preview card [#3743](https://github.com/wallabag/wallabag/pull/3743)
- add manifest.json for android pwa [#3606](https://github.com/wallabag/wallabag/pull/3606)
- Add placeholder image to card-based gallery entries page [#3745](https://github.com/wallabag/wallabag/pull/3745)
- Abort running install and update script if root [#3733](https://github.com/wallabag/wallabag/pull/3733)
- Swap entry url with origin url if graby provides an updated one [#3553](https://github.com/wallabag/wallabag/pull/3553)
## [2.3.3](https://github.com/wallabag/wallabag/tree/2.3.3)
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.3.2...2.3.3)
### Fixes
- Fix error when withRemove variable is not defined. [#3573](https://github.com/wallabag/wallabag/pull/3573)
- Fix title card HTML parsing [#3592](https://github.com/wallabag/wallabag/pull/3592)
- Fix tests [#3597](https://github.com/wallabag/wallabag/pull/3597)
- Fix tests [#3619](https://github.com/wallabag/wallabag/pull/3619)
- Better encoding of the URI for the bookmarklet [#3616](https://github.com/wallabag/wallabag/pull/3616)
- Fix overflow wrap issue [#3652](https://github.com/wallabag/wallabag/pull/3652)
- Fix/firefox mobile unneeded resize [#3653](https://github.com/wallabag/wallabag/pull/3653)
- Fix srcset attribute on images downloaded [#3661](https://github.com/wallabag/wallabag/pull/3661)
- Fix authors and preview alt encoding display [#3664](https://github.com/wallabag/wallabag/pull/3664)
- Spelling: GitHub, Log out, of the dev [#3614](https://github.com/wallabag/wallabag/pull/3614)
- Fix tests [#3668](https://github.com/wallabag/wallabag/pull/3668)
- Fixed migrations with dash into db names [#3538](https://github.com/wallabag/wallabag/pull/3538)
### Changes
- Allow login by email [#3615](https://github.com/wallabag/wallabag/pull/3615)
- Occitan update [#3646](https://github.com/wallabag/wallabag/pull/3646)
- Highlight code in articles using highlight.js [#3636](https://github.com/wallabag/wallabag/pull/3636)
## [2.3.2](https://github.com/wallabag/wallabag/tree/2.3.2)
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.3.1...2.3.2)

76
CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at hello@wallabag.org. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq

View File

@ -1,4 +1,4 @@
Copyright (c) 2013-2017 Nicolas Lœuillet
Copyright (c) 2013-current Nicolas Lœuillet
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

15
Capfile
View File

@ -1,15 +0,0 @@
set :deploy_config_path, 'app/config/capistrano/deploy.rb'
set :stage_config_path, 'app/config/capistrano/deploy'
# Load DSL and set up stages
require 'capistrano/setup'
# Include default deployment tasks
require 'capistrano/deploy'
require 'capistrano/composer'
require 'capistrano/file-permissions'
require 'capistrano/symfony'
# Load custom tasks from `lib/capistrano/tasks` if you have any defined
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }

62
GNUmakefile Executable file
View File

@ -0,0 +1,62 @@
SHELL=bash
TMP_FOLDER=/tmp
RELEASE_FOLDER=wllbg-release
# ensure the ENV variable is well defined
AVAILABLE_ENV := prod dev test
ifneq ($(filter $(ENV),$(AVAILABLE_ENV)),)
# all good
else
# not good, force it to "prod"
override ENV = prod
endif
help: ## Display this help menu
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
clean: ## Clear the application cache
rm -rf var/cache/*
install: ## Install wallabag with the latest version
@./scripts/install.sh $(ENV)
update: ## Update the wallabag installation to the latest version
@./scripts/update.sh $(ENV)
dev: ENV=dev
dev: build ## Install the latest dev version
@./scripts/dev.sh
run: ## Run the wallabag built-in server
@php bin/console server:run --env=dev
build: ## Run webpack
@npm install
@npm run build:$(ENV)
prepare: clean ## Prepare database for testsuite
ifdef DB
cp app/config/tests/parameters_test.$(DB).yml app/config/parameters_test.yml
endif
-php bin/console doctrine:database:drop --force --env=test
php bin/console doctrine:database:create --env=test
php bin/console doctrine:migrations:migrate --no-interaction --env=test
fixtures: ## Load fixtures into database
php bin/console doctrine:fixtures:load --no-interaction --env=test
test: prepare fixtures ## Launch wallabag testsuite
bin/simple-phpunit -v
release: ## Create a package. Need a VERSION parameter (eg: `make release VERSION=master`).
ifndef VERSION
$(error VERSION is not set)
endif
@./scripts/release.sh $(VERSION) $(TMP_FOLDER) $(RELEASE_FOLDER) $(ENV)
deploy: ## Deploy wallabag
@bundle exec cap staging deploy
.PHONY: help clean prepare install fixtures update build test release deploy run dev
.DEFAULT_GOAL := install

View File

@ -1,6 +0,0 @@
source "https://rubygems.org"
gem 'capistrano', '~> 3.4'
gem 'capistrano-composer'
gem 'capistrano-symfony', '~> 1.0.0.rc1'
gem 'capistrano-file-permissions'

View File

@ -1,37 +0,0 @@
GEM
remote: https://rubygems.org/
specs:
capistrano (3.4.0)
i18n
rake (>= 10.0.0)
sshkit (~> 1.3)
capistrano-composer (0.0.6)
capistrano (>= 3.0.0.pre)
capistrano-file-permissions (1.0.0)
capistrano (~> 3.0)
capistrano-symfony (1.0.0.rc1)
capistrano (~> 3.1)
capistrano-composer (~> 0.0.3)
capistrano-file-permissions (~> 1.0)
colorize (0.7.7)
i18n (0.7.0)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-ssh (2.9.2)
rake (10.4.2)
sshkit (1.7.1)
colorize (>= 0.7.0)
net-scp (>= 1.1.2)
net-ssh (>= 2.8.0)
PLATFORMS
ruby
DEPENDENCIES
capistrano (~> 3.4)
capistrano-composer
capistrano-file-permissions
capistrano-symfony (~> 1.0.0.rc1)
BUNDLED WITH
1.13.5

54
Makefile Executable file → Normal file
View File

@ -1,52 +1,2 @@
TMP_FOLDER=/tmp
RELEASE_FOLDER=wllbg-release
ENV ?= prod
help: ## Display this help menu
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
clean: ## Clear the application cache
rm -rf var/cache/*
install: ## Install wallabag with the latest version
@sh scripts/install.sh $(ENV)
update: ## Update the wallabag installation to the latest version
@sh scripts/update.sh $(ENV)
dev: ## Install the latest dev version
@sh scripts/dev.sh
run: ## Run the wallabag built-in server
@php bin/console server:run --env=dev
build: ## Run webpack
@npm run build:$(ENV)
prepare: clean ## Prepare database for testsuite
ifdef DB
cp app/config/tests/parameters_test.$(DB).yml app/config/parameters_test.yml
endif
-php bin/console doctrine:database:drop --force --env=test
php bin/console doctrine:database:create --env=test
php bin/console doctrine:migrations:migrate --no-interaction --env=test
fixtures: ## Load fixtures into database
php bin/console doctrine:fixtures:load --no-interaction --env=test
test: prepare fixtures ## Launch wallabag testsuite
bin/simple-phpunit -v
release: ## Create a package. Need a VERSION parameter (eg: `make release VERSION=master`).
ifndef VERSION
$(error VERSION is not set)
endif
@sh scripts/release.sh $(VERSION) $(TMP_FOLDER) $(RELEASE_FOLDER) $(ENV)
deploy: ## Deploy wallabag
@bundle exec cap staging deploy
.PHONY: help clean prepare install fixtures update build test release deploy run dev
.DEFAULT_GOAL := install
.DEFAULT:
gmake $@

View File

@ -13,18 +13,23 @@ If you do not have your own server, consider [the wallabag.it hosting solution](
![wallabag logo](https://raw.githubusercontent.com/wallabag/logo/master/_default/typo-horizontal/png/sm/logo-typo-horizontal-black-no-bg-no-border-sm.png)
# Install wallabag
Please read [the documentation to see the wallabag requirements](http://doc.wallabag.org/en/master/user/installation.html#requirements).
Please read [the documentation to see the wallabag requirements](https://doc.wallabag.org/en/admin/installation/requirements.html).
Then you can install wallabag by executing the following commands:
```
git clone https://github.com/wallabag/wallabag.git
cd wallabag && make install
cd wallabag && make install
```
Now, [configure a virtual host](https://doc.wallabag.org/en/admin/installation/virtualhosts.html) to use your wallabag.
Now, [configure a virtual host](https://doc.wallabag.org/en/admin/installation/virtualhosts.html) to use your wallabag.
# Run on YunoHost
[![Install Wallabag with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=wallabag2)
Wallabag app for [YunoHost](https://yunohost.org). See [here](https://github.com/YunoHost-Apps/wallabag2_ynh)
# License
Copyright © 2013-2018 Nicolas Lœuillet <nicolas@loeuillet.org>
Copyright © 2013-current Nicolas Lœuillet <nicolas@loeuillet.org>
This work is free. You can redistribute it and/or modify it under the
terms of the MIT License. See the COPYING file for more details.

View File

@ -4,14 +4,17 @@ A release is mostly a git tag of http://github.com/wallabag/wallabag, following
### Steps to release
During this documentation, we assume the release is `$LAST_WALLABAG_RELEASE`.
During this documentation, we assume the release is `$LAST_WALLABAG_RELEASE` (like 2.3.4).
#### Files to edit
#### Prepare the release
- `app/config/wallabag.yml` (`wallabag_core.version`)
- `CHANGELOG.md`
- Update these files with new information
- `app/config/wallabag.yml` (`wallabag_core.version`)
- `CHANGELOG.md`
- Create a PR named "Prepare $LAST_WALLABAG_RELEASE release".
- Wait for test to be ok, merge it.
#### Create release on GitHub
#### Create a new release on GitHub
- Run these commands to create the tag:
@ -19,59 +22,42 @@ During this documentation, we assume the release is `$LAST_WALLABAG_RELEASE`.
git checkout master
git pull origin master
git checkout -b release-$LAST_WALLABAG_RELEASE
SYMFONY_ENV=prod composer up --no-dev
```
- Update `.travis.yml` file and replace the composer line with this one:
```diff
script:
- - travis_wait bash composer install -o --no-interaction --no-progress --prefer-dist
+ - travis_wait composer update --no-interaction --no-progress
composer up
```
- Then continue with these commands:
```
git add --force composer.lock .travis.yml
git add composer.lock
git commit -m "Release wallabag $LAST_WALLABAG_RELEASE"
git push origin release-$LAST_WALLABAG_RELEASE
```
- Create a new pull request with this title `DON'T MERGE Release wallabag $LAST_WALLABAG_RELEASE`. This pull request is used to launch builds on Travis-CI.
- Run these command to create the package:
- Create a new pull request with this title `Release wallabag $LAST_WALLABAG_RELEASE`. This pull request is used to launch builds on Travis-CI.
- Once PR is green, merge it and delete the branch.
- Run this command to create the package:
```
make release master /tmp wllbg-release prod
make release VERSION=$LAST_WALLABAG_RELEASE
```
- [Create the new release on GitHub](https://github.com/wallabag/wallabag/releases/new). You have to upload on this page the package.
- Delete the `release-$LAST_WALLABAG_RELEASE` branch and close the pull request (**DO NOT MERGE IT**).
- Update the URL shortener (used on `wllbg.org` to generate links like `https://wllbg.org/latest-v2-package` or `http://wllbg.org/latest-v2`)
- Update [the downloads page](https://github.com/wallabag/wallabag.org/blob/master/content/pages/download.md) on the website (MD5 sum, release date)
- [Create the new release on GitHub](https://github.com/wallabag/wallabag/releases/new) by targetting the `master` branch or any appropriate branch (for instance backports). You have to upload the package (generated previously).
- Update the URL shortener (used on `wllbg.org` to update links like `https://wllbg.org/latest-v2-package` or `http://wllbg.org/latest-v2`)
- Update Dockerfile https://github.com/wallabag/docker (and create a new tag)
- Update wallabag.org website (downloads, releases and new blog post)
- Put the next patch version suffixed with `-dev` in `app/config/config.yml` (`wallabag_core.version`)
- Update wallabag.org website (downloads, MD5 sum, releases and new blog post)
- Put the next patch version suffixed with `-dev` in `app/config/wallabag.yml` (`wallabag_core.version`)
- Drink a :beer:!
### `composer.lock`
A release tag must contain a `composer.lock` file. It sets which dependencies were available at the time a release was done,
making it easier to fix issues after the release. It also speeds up `composer install` on stable versions a LOT, by skipping the
dependencies resolution part.
Since `composer.lock` is ignored by default, either it must be removed from `.gitignore` _in the release branch_,
or it must be added using `git add --force composer.lock`.
### Target PHP version
`composer.lock` is _always_ built for a particular version, by default the one it is generated (with `composer update`).
If the PHP version used to generate the .lock isn't a widely available one (like PHP 7), a more common one should
If the PHP version used to generate the .lock isn't a widely available one (like PHP 8), a more common one should
be locally specified in `composer.lock`:
```json
"config": {
"platform": {
"php": "5.5.9",
"php": "7.1.3",
"ext-something": "4.0"
}
}

View File

@ -1,6 +1,7 @@
<?php
use Symfony\Component\Config\Loader\LoaderInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Kernel;
class AppKernel extends Kernel
@ -32,6 +33,9 @@ class AppKernel extends Kernel
new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
new FOS\JsRoutingBundle\FOSJsRoutingBundle(),
new BD\GuzzleSiteAuthenticatorBundle\BDGuzzleSiteAuthenticatorBundle(),
new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(),
new Http\HttplugBundle\HttplugBundle(),
new Sentry\SentryBundle\SentryBundle(),
// wallabag bundles
new Wallabag\CoreBundle\WallabagCoreBundle(),
@ -39,25 +43,32 @@ class AppKernel extends Kernel
new Wallabag\UserBundle\WallabagUserBundle(),
new Wallabag\ImportBundle\WallabagImportBundle(),
new Wallabag\AnnotationBundle\WallabagAnnotationBundle(),
new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(),
];
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
$bundles[] = new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle();
$bundles[] = new Symfony\Bundle\WebServerBundle\WebServerBundle();
if ('test' === $this->getEnvironment()) {
$bundles[] = new DAMA\DoctrineTestBundle\DAMADoctrineTestBundle();
}
if ('dev' === $this->getEnvironment()) {
$bundles[] = new Symfony\Bundle\MakerBundle\MakerBundle();
$bundles[] = new Symfony\Bundle\WebServerBundle\WebServerBundle();
}
}
return $bundles;
}
public function getRootDir()
{
return __DIR__;
}
public function getCacheDir()
{
return dirname(__DIR__) . '/var/cache/' . $this->getEnvironment();
@ -70,7 +81,8 @@ class AppKernel extends Kernel
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load($this->getProjectDir() . '/app/config/config_' . $this->getEnvironment() . '.yml');
$loader->load($this->getRootDir() . '/config/config_' . $this->getEnvironment() . '.yml');
$loader->load(function ($container) {
if ($container->getParameter('use_webpack_dev_server')) {
$container->loadFromExtension('framework', [
@ -86,5 +98,11 @@ class AppKernel extends Kernel
]);
}
});
$loader->load(function (ContainerBuilder $container) {
// $container->setParameter('container.autowiring.strict_mode', true);
// $container->setParameter('container.dumper.inline_class_loader', true);
$container->addObjectResource($this);
});
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Initial database structure.
*/
class Version20160401000000 extends AbstractMigration implements ContainerAwareInterface
class Version20160401000000 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$this->skipIf($schema->hasTable($this->getTable('entry')), 'Database already initialized');
@ -76,30 +61,30 @@ SQL
case 'mysql':
$sql = <<<SQL
CREATE TABLE {$this->getTable('craue_config_setting')} (name VARCHAR(255) NOT NULL, value VARCHAR(255) DEFAULT NULL, section VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_5D9649505E237E06 (name), PRIMARY KEY(name)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE `{$this->getTable('entry')}` (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, title LONGTEXT DEFAULT NULL, url LONGTEXT DEFAULT NULL, is_archived TINYINT(1) NOT NULL, is_starred TINYINT(1) NOT NULL, content LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype LONGTEXT DEFAULT NULL, language LONGTEXT DEFAULT NULL, reading_time INT DEFAULT NULL, domain_name LONGTEXT DEFAULT NULL, preview_picture LONGTEXT DEFAULT NULL, is_public TINYINT(1) DEFAULT '0', INDEX IDX_F4D18282A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('entry')} (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, title LONGTEXT DEFAULT NULL, url LONGTEXT DEFAULT NULL, is_archived TINYINT(1) NOT NULL, is_starred TINYINT(1) NOT NULL, content LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype LONGTEXT DEFAULT NULL, language LONGTEXT DEFAULT NULL, reading_time INT DEFAULT NULL, domain_name LONGTEXT DEFAULT NULL, preview_picture LONGTEXT DEFAULT NULL, is_public TINYINT(1) DEFAULT '0', INDEX IDX_F4D18282A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('entry_tag')} (entry_id INT NOT NULL, tag_id INT NOT NULL, INDEX IDX_C9F0DD7CBA364942 (entry_id), INDEX IDX_C9F0DD7CBAD26311 (tag_id), PRIMARY KEY(entry_id, tag_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE `{$this->getTable('config')}` (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, theme VARCHAR(255) NOT NULL, items_per_page INT NOT NULL, language VARCHAR(255) NOT NULL, rss_token VARCHAR(255) DEFAULT NULL, rss_limit INT DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, UNIQUE INDEX UNIQ_87E64C53A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE `{$this->getTable('tagging_rule')}` (id INT AUTO_INCREMENT NOT NULL, config_id INT DEFAULT NULL, rule VARCHAR(255) NOT NULL, tags LONGTEXT NOT NULL COMMENT '(DC2Type:simple_array)', INDEX IDX_2D9B3C5424DB0683 (config_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE `{$this->getTable('tag')}` (id INT AUTO_INCREMENT NOT NULL, `label` LONGTEXT NOT NULL, slug VARCHAR(128) NOT NULL, UNIQUE INDEX UNIQ_4CA58A8C989D9B62 (slug), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('config')} (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, theme VARCHAR(255) NOT NULL, items_per_page INT NOT NULL, language VARCHAR(255) NOT NULL, rss_token VARCHAR(255) DEFAULT NULL, rss_limit INT DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, UNIQUE INDEX UNIQ_87E64C53A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('tagging_rule')} (id INT AUTO_INCREMENT NOT NULL, config_id INT DEFAULT NULL, rule VARCHAR(255) NOT NULL, tags LONGTEXT NOT NULL COMMENT '(DC2Type:simple_array)', INDEX IDX_2D9B3C5424DB0683 (config_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('tag')} (id INT AUTO_INCREMENT NOT NULL, `label` LONGTEXT NOT NULL, slug VARCHAR(128) NOT NULL, UNIQUE INDEX UNIQ_4CA58A8C989D9B62 (slug), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('oauth2_clients')} (id INT AUTO_INCREMENT NOT NULL, random_id VARCHAR(255) NOT NULL, redirect_uris LONGTEXT NOT NULL COMMENT '(DC2Type:array)', secret VARCHAR(255) NOT NULL, allowed_grant_types LONGTEXT NOT NULL COMMENT '(DC2Type:array)', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('oauth2_access_tokens')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_368A42095F37A13B (token), INDEX IDX_368A420919EB6921 (client_id), INDEX IDX_368A4209A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('oauth2_refresh_tokens')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_20C9FB245F37A13B (token), INDEX IDX_20C9FB2419EB6921 (client_id), INDEX IDX_20C9FB24A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('oauth2_auth_codes')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, redirect_uri LONGTEXT NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_EE52E3FA5F37A13B (token), INDEX IDX_EE52E3FA19EB6921 (client_id), INDEX IDX_EE52E3FAA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE `{$this->getTable('user')}` (id INT AUTO_INCREMENT NOT NULL, username VARCHAR(180) NOT NULL, username_canonical VARCHAR(180) NOT NULL, email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL, enabled TINYINT(1) NOT NULL, salt VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, last_login DATETIME DEFAULT NULL, locked TINYINT(1) NOT NULL, expired TINYINT(1) NOT NULL, expires_at DATETIME DEFAULT NULL, confirmation_token VARCHAR(255) DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, roles LONGTEXT NOT NULL COMMENT '(DC2Type:array)', credentials_expired TINYINT(1) NOT NULL, credentials_expire_at DATETIME DEFAULT NULL, name LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INT DEFAULT NULL, twoFactorAuthentication TINYINT(1) NOT NULL, trusted LONGTEXT DEFAULT NULL COMMENT '(DC2Type:json_array)', UNIQUE INDEX UNIQ_1D63E7E592FC23A8 (username_canonical), UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF (email_canonical), UNIQUE INDEX UNIQ_1D63E7E5C05FB297 (confirmation_token), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('user')} (id INT AUTO_INCREMENT NOT NULL, username VARCHAR(180) NOT NULL, username_canonical VARCHAR(180) NOT NULL, email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL, enabled TINYINT(1) NOT NULL, salt VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, last_login DATETIME DEFAULT NULL, locked TINYINT(1) NOT NULL, expired TINYINT(1) NOT NULL, expires_at DATETIME DEFAULT NULL, confirmation_token VARCHAR(255) DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, roles LONGTEXT NOT NULL COMMENT '(DC2Type:array)', credentials_expired TINYINT(1) NOT NULL, credentials_expire_at DATETIME DEFAULT NULL, name LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INT DEFAULT NULL, twoFactorAuthentication TINYINT(1) NOT NULL, trusted LONGTEXT DEFAULT NULL COMMENT '(DC2Type:json_array)', UNIQUE INDEX UNIQ_1D63E7E592FC23A8 (username_canonical), UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF (email_canonical), UNIQUE INDEX UNIQ_1D63E7E5C05FB297 (confirmation_token), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('annotation')} (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, entry_id INT DEFAULT NULL, text LONGTEXT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, quote VARCHAR(255) NOT NULL, ranges LONGTEXT NOT NULL COMMENT '(DC2Type:array)', INDEX IDX_A7AED006A76ED395 (user_id), INDEX IDX_A7AED006BA364942 (entry_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
ALTER TABLE `{$this->getTable('entry')}` ADD CONSTRAINT FK_F4D18282A76ED395 FOREIGN KEY (user_id) REFERENCES `{$this->getTable('user')}` (id);
ALTER TABLE {$this->getTable('entry_tag')} ADD CONSTRAINT FK_C9F0DD7CBA364942 FOREIGN KEY (entry_id) REFERENCES `{$this->getTable('entry')}` (id);
ALTER TABLE {$this->getTable('entry_tag')} ADD CONSTRAINT FK_C9F0DD7CBAD26311 FOREIGN KEY (tag_id) REFERENCES `{$this->getTable('tag')}` (id);
ALTER TABLE `{$this->getTable('config')}` ADD CONSTRAINT FK_87E64C53A76ED395 FOREIGN KEY (user_id) REFERENCES `{$this->getTable('user')}` (id);
ALTER TABLE `{$this->getTable('tagging_rule')}` ADD CONSTRAINT FK_2D9B3C5424DB0683 FOREIGN KEY (config_id) REFERENCES `{$this->getTable('config')}` (id);
ALTER TABLE {$this->getTable('entry')} ADD CONSTRAINT FK_F4D18282A76ED395 FOREIGN KEY (user_id) REFERENCES {$this->getTable('user')} (id);
ALTER TABLE {$this->getTable('entry_tag')} ADD CONSTRAINT FK_C9F0DD7CBA364942 FOREIGN KEY (entry_id) REFERENCES {$this->getTable('entry')} (id);
ALTER TABLE {$this->getTable('entry_tag')} ADD CONSTRAINT FK_C9F0DD7CBAD26311 FOREIGN KEY (tag_id) REFERENCES {$this->getTable('tag')} (id);
ALTER TABLE {$this->getTable('config')} ADD CONSTRAINT FK_87E64C53A76ED395 FOREIGN KEY (user_id) REFERENCES {$this->getTable('user')} (id);
ALTER TABLE {$this->getTable('tagging_rule')} ADD CONSTRAINT FK_2D9B3C5424DB0683 FOREIGN KEY (config_id) REFERENCES {$this->getTable('config')} (id);
ALTER TABLE {$this->getTable('oauth2_access_tokens')} ADD CONSTRAINT FK_368A420919EB6921 FOREIGN KEY (client_id) REFERENCES {$this->getTable('oauth2_clients')} (id);
ALTER TABLE {$this->getTable('oauth2_access_tokens')} ADD CONSTRAINT FK_368A4209A76ED395 FOREIGN KEY (user_id) REFERENCES `{$this->getTable('user')}` (id);
ALTER TABLE {$this->getTable('oauth2_access_tokens')} ADD CONSTRAINT FK_368A4209A76ED395 FOREIGN KEY (user_id) REFERENCES {$this->getTable('user')} (id);
ALTER TABLE {$this->getTable('oauth2_refresh_tokens')} ADD CONSTRAINT FK_20C9FB2419EB6921 FOREIGN KEY (client_id) REFERENCES {$this->getTable('oauth2_clients')} (id);
ALTER TABLE {$this->getTable('oauth2_refresh_tokens')} ADD CONSTRAINT FK_20C9FB24A76ED395 FOREIGN KEY (user_id) REFERENCES `{$this->getTable('user')}` (id);
ALTER TABLE {$this->getTable('oauth2_refresh_tokens')} ADD CONSTRAINT FK_20C9FB24A76ED395 FOREIGN KEY (user_id) REFERENCES {$this->getTable('user')} (id);
ALTER TABLE {$this->getTable('oauth2_auth_codes')} ADD CONSTRAINT FK_EE52E3FA19EB6921 FOREIGN KEY (client_id) REFERENCES {$this->getTable('oauth2_clients')} (id);
ALTER TABLE {$this->getTable('oauth2_auth_codes')} ADD CONSTRAINT FK_EE52E3FAA76ED395 FOREIGN KEY (user_id) REFERENCES `{$this->getTable('user')}` (id);
ALTER TABLE {$this->getTable('annotation')} ADD CONSTRAINT FK_A7AED006A76ED395 FOREIGN KEY (user_id) REFERENCES `{$this->getTable('user')}` (id);
ALTER TABLE {$this->getTable('annotation')} ADD CONSTRAINT FK_A7AED006BA364942 FOREIGN KEY (entry_id) REFERENCES `{$this->getTable('entry')}` (id);
ALTER TABLE {$this->getTable('oauth2_auth_codes')} ADD CONSTRAINT FK_EE52E3FAA76ED395 FOREIGN KEY (user_id) REFERENCES {$this->getTable('user')} (id);
ALTER TABLE {$this->getTable('annotation')} ADD CONSTRAINT FK_A7AED006A76ED395 FOREIGN KEY (user_id) REFERENCES {$this->getTable('user')} (id);
ALTER TABLE {$this->getTable('annotation')} ADD CONSTRAINT FK_A7AED006BA364942 FOREIGN KEY (entry_id) REFERENCES {$this->getTable('entry')} (id);
SQL
;
foreach (explode("\n", $sql) as $query) {
@ -179,9 +164,6 @@ SQL
}
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql("DROP TABLE {$this->getTable('craue_config_setting')}");
@ -197,9 +179,4 @@ SQL
$this->addSql("DROP TABLE {$this->getTable('user')}");
$this->addSql("DROP TABLE {$this->getTable('annotation')}");
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added foreign keys for account resetting.
*/
class Version20160410190541 extends AbstractMigration implements ContainerAwareInterface
class Version20160410190541 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -46,9 +31,6 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI
}
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -56,9 +38,4 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_public'");
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added name field on wallabag_oauth2_clients.
*/
class Version20160812120952 extends AbstractMigration implements ContainerAwareInterface
class Version20160812120952 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
@ -46,9 +31,6 @@ class Version20160812120952 extends AbstractMigration implements ContainerAwareI
}
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
@ -65,9 +47,4 @@ class Version20160812120952 extends AbstractMigration implements ContainerAwareI
$clientsTable->dropColumn('name');
}
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added settings for RabbitMQ and Redis imports.
*/
class Version20160911214952 extends AbstractMigration implements ContainerAwareInterface
class Version20160911214952 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$redis = $this->container
@ -48,17 +33,9 @@ class Version20160911214952 extends AbstractMigration implements ContainerAwareI
$this->skipIf(false !== $rabbitmq && false !== $redis, 'It seems that you already played this migration.');
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_redis';");
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_rabbitmq';");
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added pocket_consumer_key field on wallabag_config.
*/
class Version20160916201049 extends AbstractMigration implements ContainerAwareInterface
class Version20160916201049 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$configTable = $schema->getTable($this->getTable('config'));
@ -35,18 +20,10 @@ class Version20160916201049 extends AbstractMigration implements ContainerAwareI
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'pocket_consumer_key';");
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$configTable = $schema->getTable($this->getTable('config'));
$configTable->dropColumn('pocket_consumer_key');
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('pocket_consumer_key', NULL, 'import')");
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,30 +2,15 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Migrations\SkipMigrationException;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added pocket_consumer_key field on wallabag_config.
*/
class Version20161001072726 extends AbstractMigration implements ContainerAwareInterface
class Version20161001072726 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
@ -36,7 +21,7 @@ class Version20161001072726 extends AbstractMigration implements ContainerAwareI
$query = $this->connection->query("
SELECT CONSTRAINT_NAME
FROM information_schema.key_column_usage
WHERE TABLE_NAME = '" . $this->getTable('entry_tag') . "' AND CONSTRAINT_NAME LIKE 'FK_%'
WHERE TABLE_NAME = '" . $this->getTable('entry_tag', WallabagMigration::UN_ESCAPED_TABLE) . "' AND CONSTRAINT_NAME LIKE 'FK_%'
AND TABLE_SCHEMA = '" . $this->connection->getDatabase() . "'"
);
$query->execute();
@ -54,7 +39,7 @@ class Version20161001072726 extends AbstractMigration implements ContainerAwareI
FROM pg_constraint c
JOIN pg_namespace n ON n.oid = c.connamespace
WHERE contype = 'f'
AND conrelid::regclass::text = '" . $this->getTable('entry_tag') . "'
AND conrelid::regclass::text = '" . $this->getTable('entry_tag', WallabagMigration::UN_ESCAPED_TABLE) . "'
AND n.nspname = 'public';"
);
$query->execute();
@ -75,7 +60,7 @@ class Version20161001072726 extends AbstractMigration implements ContainerAwareI
$query = $this->connection->query("
SELECT CONSTRAINT_NAME
FROM information_schema.key_column_usage
WHERE TABLE_NAME = '" . $this->getTable('annotation') . "'
WHERE TABLE_NAME = '" . $this->getTable('annotation', WallabagMigration::UN_ESCAPED_TABLE) . "'
AND CONSTRAINT_NAME LIKE 'FK_%'
AND COLUMN_NAME = 'entry_id'
AND TABLE_SCHEMA = '" . $this->connection->getDatabase() . "'"
@ -95,7 +80,7 @@ class Version20161001072726 extends AbstractMigration implements ContainerAwareI
FROM pg_constraint c
JOIN pg_namespace n ON n.oid = c.connamespace
WHERE contype = 'f'
AND conrelid::regclass::text = '" . $this->getTable('annotation') . "'
AND conrelid::regclass::text = '" . $this->getTable('annotation', WallabagMigration::UN_ESCAPED_TABLE) . "'
AND n.nspname = 'public'
AND pg_get_constraintdef(c.oid) LIKE '%entry_id%';"
);
@ -110,16 +95,8 @@ class Version20161001072726 extends AbstractMigration implements ContainerAwareI
$this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES ' . $this->getTable('entry') . ' (id) ON DELETE CASCADE');
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
throw new SkipMigrationException('Too complex ...');
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,34 +2,19 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Converted database to utf8mb4 encoding (for MySQL only).
*/
class Version20161022134138 extends AbstractMigration implements ContainerAwareInterface
class Version20161022134138 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');
$this->addSql('ALTER DATABASE ' . $this->connection->getParams()['dbname'] . ' CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;');
$this->addSql('ALTER DATABASE `' . $this->connection->getParams()['dbname'] . '` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;');
// convert field length for utf8mb4
// http://stackoverflow.com/a/31474509/569101
@ -53,14 +38,11 @@ class Version20161022134138 extends AbstractMigration implements ContainerAwareI
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' CHANGE `name` `name` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');
$this->addSql('ALTER DATABASE ' . $this->connection->getParams()['dbname'] . ' CHARACTER SET = utf8 COLLATE = utf8_unicode_ci;');
$this->addSql('ALTER DATABASE `' . $this->connection->getParams()['dbname'] . '` CHARACTER SET = utf8 COLLATE = utf8_unicode_ci;');
$this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
$this->addSql('ALTER TABLE ' . $this->getTable('entry') . ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
@ -77,9 +59,4 @@ class Version20161022134138 extends AbstractMigration implements ContainerAwareI
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' CHANGE `name` `name` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,31 +2,16 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added user_id column on oauth2_clients to prevent users to delete API clients from other users.
*/
class Version20161024212538 extends AbstractMigration implements ContainerAwareInterface
class Version20161024212538 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
private $constraintName = 'IDX_user_oauth_client';
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
@ -44,9 +29,6 @@ class Version20161024212538 extends AbstractMigration implements ContainerAwareI
);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
@ -59,9 +41,4 @@ class Version20161024212538 extends AbstractMigration implements ContainerAwareI
$clientsTable->removeForeignKey($this->constraintName);
}
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added the internal setting to enable/disable downloading pictures.
*/
class Version20161031132655 extends AbstractMigration implements ContainerAwareInterface
class Version20161031132655 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$images = $this->container
@ -37,16 +22,8 @@ class Version20161031132655 extends AbstractMigration implements ContainerAwareI
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('download_images_enabled', 0, 'misc')");
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_images_enabled';");
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,31 +2,16 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added created_at index on entry table.
*/
class Version20161104073720 extends AbstractMigration implements ContainerAwareInterface
class Version20161104073720 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
private $indexName = 'IDX_entry_created_at';
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -35,9 +20,6 @@ class Version20161104073720 extends AbstractMigration implements ContainerAwareI
$entryTable->addIndex(['created_at'], $this->indexName);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -45,9 +27,4 @@ class Version20161104073720 extends AbstractMigration implements ContainerAwareI
$entryTable->dropIndex($this->indexName);
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added action_mark_as_read field on config table.
*/
class Version20161106113822 extends AbstractMigration implements ContainerAwareInterface
class Version20161106113822 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$configTable = $schema->getTable($this->getTable('config'));
@ -37,9 +22,6 @@ class Version20161106113822 extends AbstractMigration implements ContainerAwareI
]);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$configTable = $schema->getTable($this->getTable('config'));
@ -48,9 +30,4 @@ class Version20161106113822 extends AbstractMigration implements ContainerAwareI
$configTable->dropColumn('action_mark_as_read');
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added the internal setting to share articles to unmark.it.
*/
class Version20161117071626 extends AbstractMigration implements ContainerAwareInterface
class Version20161117071626 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$share = $this->container
@ -48,17 +33,9 @@ class Version20161117071626 extends AbstractMigration implements ContainerAwareI
$this->skipIf(false !== $share && false !== $unmark, 'It seems that you already played this migration.');
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_unmark';");
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'unmark_url';");
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add http_status in `entry_table`.
*/
class Version20161118134328 extends AbstractMigration implements ContainerAwareInterface
class Version20161118134328 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -37,9 +22,6 @@ class Version20161118134328 extends AbstractMigration implements ContainerAwareI
]);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -48,9 +30,4 @@ class Version20161118134328 extends AbstractMigration implements ContainerAwareI
$entryTable->dropColumn('http_status');
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add the restricted_access internal setting for articles with paywall.
*/
class Version20161122144743 extends AbstractMigration implements ContainerAwareInterface
class Version20161122144743 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$access = $this->container
@ -37,16 +22,8 @@ class Version20161122144743 extends AbstractMigration implements ContainerAwareI
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('restricted_access', 0, 'entry')");
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'restricted_access';");
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,10 +2,8 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Methods and properties removed from `FOS\UserBundle\Model\User`.
@ -18,21 +16,8 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
* You need to drop the fields `expired` and `credentials_expired` from your database
* schema, because they aren't mapped anymore.
*/
class Version20161122203647 extends AbstractMigration implements ContainerAwareInterface
class Version20161122203647 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$userTable = $schema->getTable($this->getTable('user'));
@ -43,9 +28,6 @@ class Version20161122203647 extends AbstractMigration implements ContainerAwareI
$userTable->dropColumn('credentials_expired');
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$userTable = $schema->getTable($this->getTable('user'));
@ -55,9 +37,4 @@ class Version20161122203647 extends AbstractMigration implements ContainerAwareI
$userTable->addColumn('expired', 'smallint', ['notnull' => false]);
$userTable->addColumn('credentials_expired', 'smallint', ['notnull' => false]);
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added list_mode in user config.
*/
class Version20161128084725 extends AbstractMigration implements ContainerAwareInterface
class Version20161128084725 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$configTable = $schema->getTable($this->getTable('config'));
@ -33,17 +18,9 @@ class Version20161128084725 extends AbstractMigration implements ContainerAwareI
$configTable->addColumn('list_mode', 'integer', ['notnull' => false]);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$configTable = $schema->getTable($this->getTable('config'));
$configTable->dropColumn('list_mode');
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,15 +2,13 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Removed locked, credentials_expire_at and expires_at.
*/
class Version20161128131503 extends AbstractMigration implements ContainerAwareInterface
class Version20161128131503 extends WallabagMigration
{
private $fields = [
'locked' => 'smallint',
@ -18,19 +16,6 @@ class Version20161128131503 extends AbstractMigration implements ContainerAwareI
'expires_at' => 'datetime',
];
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$userTable = $schema->getTable($this->getTable('user'));
@ -41,9 +26,6 @@ class Version20161128131503 extends AbstractMigration implements ContainerAwareI
}
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$userTable = $schema->getTable($this->getTable('user'));
@ -53,9 +35,4 @@ class Version20161128131503 extends AbstractMigration implements ContainerAwareI
$userTable->addColumn($field, $type, ['notnull' => false]);
}
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Renamed uuid to uid in entry table.
*/
class Version20161214094402 extends AbstractMigration implements ContainerAwareInterface
class Version20161214094402 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -47,9 +32,6 @@ class Version20161214094402 extends AbstractMigration implements ContainerAwareI
}
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -67,9 +49,4 @@ class Version20161214094402 extends AbstractMigration implements ContainerAwareI
$this->addSql('ALTER TABLE ' . $this->getTable('entry') . ' RENAME uid TO uuid');
}
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,31 +2,16 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added index on wallabag_entry.uid.
*/
class Version20161214094403 extends AbstractMigration implements ContainerAwareInterface
class Version20161214094403 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
private $indexName = 'IDX_entry_uid';
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -35,9 +20,6 @@ class Version20161214094403 extends AbstractMigration implements ContainerAwareI
$entryTable->addIndex(['uid'], $this->indexName);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -45,9 +27,4 @@ class Version20161214094403 extends AbstractMigration implements ContainerAwareI
$entryTable->dropIndex($this->indexName);
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,32 +2,17 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added indexes on wallabag_entry.is_starred and wallabag_entry.is_archived.
*/
class Version20170127093841 extends AbstractMigration implements ContainerAwareInterface
class Version20170127093841 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
private $indexStarredName = 'IDX_entry_starred';
private $indexArchivedName = 'IDX_entry_archived';
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -37,9 +22,6 @@ class Version20170127093841 extends AbstractMigration implements ContainerAwareI
$entryTable->addIndex(['is_archived'], $this->indexArchivedName);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -48,9 +30,4 @@ class Version20170127093841 extends AbstractMigration implements ContainerAwareI
$entryTable->dropIndex($this->indexStarredName);
$entryTable->dropIndex($this->indexArchivedName);
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add the share_scuttle internal setting.
*/
class Version20170327194233 extends AbstractMigration implements ContainerAwareInterface
class Version20170327194233 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$scuttle = $this->container
@ -38,17 +23,9 @@ class Version20170327194233 extends AbstractMigration implements ContainerAwareI
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('scuttle_url', 'http://scuttle.org', 'entry')");
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_scuttle';");
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'scuttle_url';");
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add published_at and published_by in `entry` table.
*/
class Version20170405182620 extends AbstractMigration implements ContainerAwareInterface
class Version20170405182620 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -42,9 +27,6 @@ class Version20170405182620 extends AbstractMigration implements ContainerAwareI
]);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -57,9 +39,4 @@ class Version20170405182620 extends AbstractMigration implements ContainerAwareI
$entryTable->dropColumn('published_by');
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Remove isPublic in Entry Table.
*/
class Version20170407200919 extends AbstractMigration implements ContainerAwareInterface
class Version20170407200919 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -33,9 +18,6 @@ class Version20170407200919 extends AbstractMigration implements ContainerAwareI
$entryTable->dropColumn('is_public');
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -43,9 +25,4 @@ class Version20170407200919 extends AbstractMigration implements ContainerAwareI
$entryTable->addColumn('is_public', 'boolean', ['notnull' => false, 'default' => 0]);
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,37 +2,19 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Remove download_pictures in craue_config_setting.
*/
class Version20170420134133 extends AbstractMigration implements ContainerAwareInterface
class Version20170420134133 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_pictures';");
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$downloadPictures = $this->container
@ -44,9 +26,4 @@ class Version20170420134133 extends AbstractMigration implements ContainerAwareI
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('download_pictures', '1', 'entry')");
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add site credential table to store username & password for some website (behind authentication or paywall).
*/
class Version20170501115751 extends AbstractMigration implements ContainerAwareInterface
class Version20170501115751 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$this->skipIf($schema->hasTable($this->getTable('site_credential')), 'It seems that you already played this migration.');
@ -46,16 +31,8 @@ class Version20170501115751 extends AbstractMigration implements ContainerAwareI
}
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$schema->dropTable($this->getTable('site_credential'));
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,15 +2,13 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Changed length for username, username_canonical, email and email_canonical fields in wallabag_user table.
*/
class Version20170510082609 extends AbstractMigration implements ContainerAwareInterface
class Version20170510082609 extends WallabagMigration
{
private $fields = [
'username',
@ -19,19 +17,6 @@ class Version20170510082609 extends AbstractMigration implements ContainerAwareI
'email_canonical',
];
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');
@ -41,9 +26,6 @@ class Version20170510082609 extends AbstractMigration implements ContainerAwareI
}
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');
@ -52,9 +34,4 @@ class Version20170510082609 extends AbstractMigration implements ContainerAwareI
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' CHANGE ' . $field . ' ' . $field . ' VARCHAR(255) NOT NULL;');
}
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added `headers` field in entry table.
*/
class Version20170511115400 extends AbstractMigration implements ContainerAwareInterface
class Version20170511115400 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -36,9 +21,6 @@ class Version20170511115400 extends AbstractMigration implements ContainerAwareI
]);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -47,9 +29,4 @@ class Version20170511115400 extends AbstractMigration implements ContainerAwareI
$entryTable->dropColumn('headers');
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,42 +2,32 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Migrations\SkipMigrationException;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Increase the length of the "quote" column of "annotation" table.
*/
class Version20170511211659 extends AbstractMigration implements ContainerAwareInterface
class Version20170511211659 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
public function up(Schema $schema)
{
$tableName = $this->getTable('annotation');
switch ($this->connection->getDatabasePlatform()->getName()) {
case 'sqlite':
$annotationTableName = $this->getTable('annotation', true);
$userTableName = $this->getTable('user', true);
$entryTableName = $this->getTable('entry', true);
$this->addSql(<<<EOD
CREATE TEMPORARY TABLE __temp__wallabag_annotation AS
SELECT id, user_id, entry_id, text, created_at, updated_at, quote, ranges
FROM ${tableName}
CREATE TEMPORARY TABLE __temp__wallabag_annotation AS
SELECT id, user_id, entry_id, text, created_at, updated_at, quote, ranges
FROM ${annotationTableName}
EOD
);
$this->addSql('DROP TABLE ' . $tableName);
$this->addSql('DROP TABLE ' . $annotationTableName);
$this->addSql(<<<EOD
CREATE TABLE ${tableName}
CREATE TABLE ${annotationTableName}
(
id INTEGER PRIMARY KEY NOT NULL,
user_id INTEGER DEFAULT NULL,
@ -47,27 +37,27 @@ CREATE TABLE ${tableName}
updated_at DATETIME NOT NULL,
quote CLOB NOT NULL,
ranges CLOB NOT NULL,
CONSTRAINT FK_A7AED006A76ED395 FOREIGN KEY (user_id) REFERENCES wallabag_user (id),
CONSTRAINT FK_A7AED006BA364942 FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
CONSTRAINT FK_A7AED006A76ED395 FOREIGN KEY (user_id) REFERENCES ${userTableName} (id),
CONSTRAINT FK_A7AED006BA364942 FOREIGN KEY (entry_id) REFERENCES ${entryTableName} (id) ON DELETE CASCADE
);
CREATE INDEX IDX_A7AED006A76ED395 ON wallabag_annotation (user_id);
CREATE INDEX IDX_A7AED006BA364942 ON wallabag_annotation (entry_id);
CREATE INDEX IDX_A7AED006A76ED395 ON ${annotationTableName} (user_id);
CREATE INDEX IDX_A7AED006BA364942 ON ${annotationTableName} (entry_id);
EOD
);
$this->addSql(<<<EOD
INSERT INTO ${tableName} (id, user_id, entry_id, text, created_at, updated_at, quote, ranges)
SELECT id, user_id, entry_id, text, created_at, updated_at, quote, ranges
INSERT INTO ${annotationTableName} (id, user_id, entry_id, text, created_at, updated_at, quote, ranges)
SELECT id, user_id, entry_id, text, created_at, updated_at, quote, ranges
FROM __temp__wallabag_annotation;
EOD
);
$this->addSql('DROP TABLE __temp__wallabag_annotation');
break;
case 'mysql':
$this->addSql('ALTER TABLE ' . $tableName . ' MODIFY quote TEXT NOT NULL');
$this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' MODIFY quote TEXT NOT NULL');
break;
case 'postgresql':
$this->addSql('ALTER TABLE ' . $tableName . ' ALTER COLUMN quote TYPE TEXT');
$this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' ALTER COLUMN quote TYPE TEXT');
break;
}
}
@ -88,9 +78,4 @@ EOD
break;
}
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add api_user_registration in craue_config_setting.
*/
class Version20170602075214 extends AbstractMigration implements ContainerAwareInterface
class Version20170602075214 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$apiUserRegistration = $this->container
@ -37,16 +22,8 @@ class Version20170602075214 extends AbstractMigration implements ContainerAwareI
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('api_user_registration', '0', 'api')");
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'api_user_registration';");
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,30 +2,15 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Remove wallabag_url from craue_config_setting.
* It has been moved into the parameters.yml.
*/
class Version20170606155640 extends AbstractMigration implements ContainerAwareInterface
class Version20170606155640 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$apiUserRegistration = $this->container
@ -38,16 +23,8 @@ class Version20170606155640 extends AbstractMigration implements ContainerAwareI
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'wallabag_url'");
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('wallabag_url', 'wallabag.me', 'misc')");
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Changed tags to lowercase.
*/
class Version20170719231144 extends AbstractMigration implements ContainerAwareInterface
class Version20170719231144 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
@ -67,7 +52,7 @@ class Version20170719231144 extends AbstractMigration implements ContainerAwareI
}
// Just in case...
if (count($ids) > 0) {
if (\count($ids) > 0) {
// Merge tags
$this->addSql('
UPDATE ' . $this->getTable('entry_tag') . '
@ -101,16 +86,8 @@ class Version20170719231144 extends AbstractMigration implements ContainerAwareI
);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
throw new SkipMigrationException('Too complex ...');
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add starred_at column and set its value to updated_at for is_starred entries.
*/
class Version20170824113337 extends AbstractMigration implements ContainerAwareInterface
class Version20170824113337 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -49,9 +34,6 @@ class Version20170824113337 extends AbstractMigration implements ContainerAwareI
);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -60,9 +42,4 @@ class Version20170824113337 extends AbstractMigration implements ContainerAwareI
$entryTable->dropColumn('starred_at');
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Changed reading_time field to prevent null value.
*/
class Version20171008195606 extends AbstractMigration implements ContainerAwareInterface
class Version20171008195606 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
@ -41,9 +26,6 @@ class Version20171008195606 extends AbstractMigration implements ContainerAwareI
}
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
@ -57,9 +39,4 @@ class Version20171008195606 extends AbstractMigration implements ContainerAwareI
break;
}
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add origin_url column.
*/
class Version20171105202000 extends AbstractMigration implements ContainerAwareInterface
class Version20171105202000 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -36,9 +21,6 @@ class Version20171105202000 extends AbstractMigration implements ContainerAwareI
]);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
@ -47,9 +29,4 @@ class Version20171105202000 extends AbstractMigration implements ContainerAwareI
$entryTable->dropColumn('origin_url');
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add store_article_headers in craue_config_setting.
*/
class Version20171120163128 extends AbstractMigration implements ContainerAwareInterface
class Version20171120163128 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$storeArticleHeaders = $this->container
@ -37,16 +22,8 @@ class Version20171120163128 extends AbstractMigration implements ContainerAwareI
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('store_article_headers', '0', 'entry')");
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'store_article_headers';");
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -2,29 +2,14 @@
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add shaarli_share_origin_url in craue_config_setting.
*/
class Version20171125164500 extends AbstractMigration implements ContainerAwareInterface
class Version20171125164500 extends WallabagMigration
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$shaarliShareOriginUrl = $this->container
@ -37,16 +22,8 @@ class Version20171125164500 extends AbstractMigration implements ContainerAwareI
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('shaarli_share_origin_url', '0', 'entry')");
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'shaarli_share_origin_url';");
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
}
}

View File

@ -0,0 +1,45 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add archived_at column and set its value to updated_at for is_archived entries.
*/
class Version20180405182455 extends WallabagMigration
{
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf($entryTable->hasColumn('archived_at'), 'It seems that you already played this migration.');
$entryTable->addColumn('archived_at', 'datetime', [
'notnull' => false,
]);
}
public function postUp(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf(!$entryTable->hasColumn('archived_at'), 'Unable to add archived_at colum');
$this->connection->executeQuery(
'UPDATE ' . $this->getTable('entry') . ' SET archived_at = updated_at WHERE is_archived = :is_archived',
[
'is_archived' => true,
]
);
}
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf(!$entryTable->hasColumn('archived_at'), 'It seems that you already played this migration.');
$entryTable->dropColumn('archived_at');
}
}

View File

@ -0,0 +1,42 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Fix varchar field from vendor to work with utf8mb4.
*/
class Version20181128203230 extends WallabagMigration
{
public function up(Schema $schema)
{
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration can only be applied on \'mysql\'.');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_access_tokens') . ' CHANGE `token` `token` varchar(191) NOT NULL');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_access_tokens') . ' CHANGE `scope` `scope` varchar(191)');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_auth_codes') . ' CHANGE `token` `token` varchar(191) NOT NULL');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_auth_codes') . ' CHANGE `scope` `scope` varchar(191)');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_refresh_tokens') . ' CHANGE `token` `token` varchar(191) NOT NULL');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_refresh_tokens') . ' CHANGE `scope` `scope` varchar(191)');
$this->addSql('ALTER TABLE ' . $this->getTable('craue_config_setting') . ' CHANGE `name` `name` varchar(191)');
$this->addSql('ALTER TABLE ' . $this->getTable('craue_config_setting') . ' CHANGE `section` `section` varchar(191)');
$this->addSql('ALTER TABLE ' . $this->getTable('craue_config_setting') . ' CHANGE `value` `value` varchar(191)');
}
public function down(Schema $schema)
{
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration can only be applied on \'mysql\'.');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_access_tokens') . ' CHANGE `token` `token` varchar(255) NOT NULL');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_access_tokens') . ' CHANGE `scope` `scope` varchar(255)');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_auth_codes') . ' CHANGE `token` `token` varchar(255) NOT NULL');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_auth_codes') . ' CHANGE `scope` `scope` varchar(255)');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_refresh_tokens') . ' CHANGE `token` `token` varchar(255) NOT NULL');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_refresh_tokens') . ' CHANGE `scope` `scope` varchar(255)');
$this->addSql('ALTER TABLE ' . $this->getTable('craue_config_setting') . ' CHANGE `name` `name` varchar(255)');
$this->addSql('ALTER TABLE ' . $this->getTable('craue_config_setting') . ' CHANGE `section` `section` varchar(255)');
$this->addSql('ALTER TABLE ' . $this->getTable('craue_config_setting') . ' CHANGE `value` `value` varchar(255)');
}
}

View File

@ -0,0 +1,76 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add 2fa OTP stuff.
*/
final class Version20181202073750 extends WallabagMigration
{
public function up(Schema $schema): void
{
switch ($this->connection->getDatabasePlatform()->getName()) {
case 'sqlite':
$this->addSql('DROP INDEX UNIQ_1D63E7E5C05FB297');
$this->addSql('DROP INDEX UNIQ_1D63E7E5A0D96FBF');
$this->addSql('DROP INDEX UNIQ_1D63E7E592FC23A8');
$this->addSql('CREATE TEMPORARY TABLE __temp__' . $this->getTable('user', true) . ' AS SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication FROM ' . $this->getTable('user', true) . '');
$this->addSql('DROP TABLE ' . $this->getTable('user', true) . '');
$this->addSql('CREATE TABLE ' . $this->getTable('user', true) . ' (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, username VARCHAR(180) NOT NULL COLLATE BINARY, username_canonical VARCHAR(180) NOT NULL COLLATE BINARY, email VARCHAR(180) NOT NULL COLLATE BINARY, email_canonical VARCHAR(180) NOT NULL COLLATE BINARY, enabled BOOLEAN NOT NULL, password VARCHAR(255) NOT NULL COLLATE BINARY, last_login DATETIME DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, name CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, emailTwoFactor BOOLEAN NOT NULL, salt VARCHAR(255) DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL, roles CLOB NOT NULL --(DC2Type:array)
, googleAuthenticatorSecret VARCHAR(255) DEFAULT NULL, backupCodes CLOB DEFAULT NULL --(DC2Type:json_array)
)');
$this->addSql('INSERT INTO ' . $this->getTable('user', true) . ' (id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, emailTwoFactor) SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication FROM __temp__' . $this->getTable('user', true) . '');
$this->addSql('DROP TABLE __temp__' . $this->getTable('user', true) . '');
$this->addSql('CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON ' . $this->getTable('user', true) . ' (confirmation_token)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON ' . $this->getTable('user', true) . ' (email_canonical)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON ' . $this->getTable('user', true) . ' (username_canonical)');
break;
case 'mysql':
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' ADD googleAuthenticatorSecret VARCHAR(191) DEFAULT NULL');
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' CHANGE twoFactorAuthentication emailTwoFactor BOOLEAN NOT NULL');
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' DROP trusted');
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' ADD backupCodes LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json_array)\'');
break;
case 'postgresql':
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' ADD googleAuthenticatorSecret VARCHAR(191) DEFAULT NULL');
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' RENAME COLUMN twofactorauthentication TO emailTwoFactor');
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' DROP trusted');
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' ADD backupCodes TEXT DEFAULT NULL');
break;
}
}
public function down(Schema $schema): void
{
switch ($this->connection->getDatabasePlatform()->getName()) {
case 'sqlite':
$this->addSql('DROP INDEX UNIQ_1D63E7E592FC23A8');
$this->addSql('DROP INDEX UNIQ_1D63E7E5A0D96FBF');
$this->addSql('DROP INDEX UNIQ_1D63E7E5C05FB297');
$this->addSql('CREATE TEMPORARY TABLE __temp__' . $this->getTable('user', true) . ' AS SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, emailTwoFactor FROM "' . $this->getTable('user', true) . '"');
$this->addSql('DROP TABLE "' . $this->getTable('user', true) . '"');
$this->addSql('CREATE TABLE "' . $this->getTable('user', true) . '" (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, username VARCHAR(180) NOT NULL, username_canonical VARCHAR(180) NOT NULL, email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL, enabled BOOLEAN NOT NULL, password VARCHAR(255) NOT NULL, last_login DATETIME DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, name CLOB DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, twoFactorAuthentication BOOLEAN NOT NULL, salt VARCHAR(255) NOT NULL COLLATE BINARY, confirmation_token VARCHAR(255) DEFAULT NULL COLLATE BINARY, roles CLOB NOT NULL COLLATE BINARY, trusted CLOB DEFAULT NULL COLLATE BINARY)');
$this->addSql('INSERT INTO "' . $this->getTable('user', true) . '" (id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication) SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, emailTwoFactor FROM __temp__' . $this->getTable('user', true) . '');
$this->addSql('DROP TABLE __temp__' . $this->getTable('user', true) . '');
$this->addSql('CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON "' . $this->getTable('user', true) . '" (username_canonical)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON "' . $this->getTable('user', true) . '" (email_canonical)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON "' . $this->getTable('user', true) . '" (confirmation_token)');
break;
case 'mysql':
$this->addSql('ALTER TABLE `' . $this->getTable('user') . '` DROP googleAuthenticatorSecret');
$this->addSql('ALTER TABLE `' . $this->getTable('user') . '` CHANGE emailtwofactor twoFactorAuthentication BOOLEAN NOT NULL');
$this->addSql('ALTER TABLE `' . $this->getTable('user') . '` ADD trusted TEXT DEFAULT NULL');
$this->addSql('ALTER TABLE `' . $this->getTable('user') . '` DROP backupCodes');
break;
case 'postgresql':
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' DROP googleAuthenticatorSecret');
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' RENAME COLUMN emailTwoFactor TO twofactorauthentication');
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' ADD trusted TEXT DEFAULT NULL');
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' DROP backupCodes');
break;
}
}
}

View File

@ -0,0 +1,32 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add updated_at fields to site_credential table.
*/
final class Version20190117131816 extends WallabagMigration
{
public function up(Schema $schema): void
{
$siteCredentialTable = $schema->getTable($this->getTable('site_credential'));
$this->skipIf($siteCredentialTable->hasColumn('updated_at'), 'It seems that you already played this migration.');
$siteCredentialTable->addColumn('updated_at', 'datetime', [
'notnull' => false,
]);
}
public function down(Schema $schema): void
{
$siteCredentialTable = $schema->getTable($this->getTable('site_credential'));
$this->skipIf(!$siteCredentialTable->hasColumn('updated_at'), 'It seems that you already played this migration.');
$siteCredentialTable->dropColumn('updated_at');
}
}

View File

@ -0,0 +1,141 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add missing entries in craue_config_setting.
*/
final class Version20190129120000 extends WallabagMigration
{
private $settings = [
[
'name' => 'carrot',
'value' => '1',
'section' => 'entry',
],
[
'name' => 'share_diaspora',
'value' => '1',
'section' => 'entry',
],
[
'name' => 'diaspora_url',
'value' => 'http://diasporapod.com',
'section' => 'entry',
],
[
'name' => 'share_shaarli',
'value' => '1',
'section' => 'entry',
],
[
'name' => 'shaarli_url',
'value' => 'http://myshaarli.com',
'section' => 'entry',
],
[
'name' => 'share_mail',
'value' => '1',
'section' => 'entry',
],
[
'name' => 'share_twitter',
'value' => '1',
'section' => 'entry',
],
[
'name' => 'show_printlink',
'value' => '1',
'section' => 'entry',
],
[
'name' => 'export_epub',
'value' => '1',
'section' => 'export',
],
[
'name' => 'export_mobi',
'value' => '1',
'section' => 'export',
],
[
'name' => 'export_pdf',
'value' => '1',
'section' => 'export',
],
[
'name' => 'export_csv',
'value' => '1',
'section' => 'export',
],
[
'name' => 'export_json',
'value' => '1',
'section' => 'export',
],
[
'name' => 'export_txt',
'value' => '1',
'section' => 'export',
],
[
'name' => 'export_xml',
'value' => '1',
'section' => 'export',
],
[
'name' => 'piwik_enabled',
'value' => '0',
'section' => 'analytics',
],
[
'name' => 'piwik_host',
'value' => 'v2.wallabag.org',
'section' => 'analytics',
],
[
'name' => 'piwik_site_id',
'value' => '1',
'section' => 'analytics',
],
[
'name' => 'demo_mode_enabled',
'value' => '0',
'section' => 'misc',
],
[
'name' => 'demo_mode_username',
'value' => 'wallabag',
'section' => 'misc',
],
[
'name' => 'wallabag_support_url',
'value' => 'https://www.wallabag.org/pages/support.html',
'section' => 'misc',
],
];
public function up(Schema $schema)
{
foreach ($this->settings as $setting) {
$settingEnabled = $this->container
->get('doctrine.orm.default_entity_manager')
->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = '" . $setting['name'] . "'");
if (false !== $settingEnabled) {
continue;
}
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('" . $setting['name'] . "', '" . $setting['value'] . "', '" . $setting['section'] . "');");
}
}
public function down(Schema $schema)
{
$this->skipIf(true, 'These settings are required and should not be removed.');
}
}

View File

@ -0,0 +1,36 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add hashed_url in entry.
*/
class Version20190401105353 extends WallabagMigration
{
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf($entryTable->hasColumn('hashed_url'), 'It seems that you already played this migration.');
$entryTable->addColumn('hashed_url', 'text', [
'length' => 40,
'notnull' => false,
]);
$entryTable->addIndex(['user_id', 'hashed_url'], 'hashed_url_user_id', [], ['lengths' => [null, 40]]);
}
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf(!$entryTable->hasColumn('hashed_url'), 'It seems that you already played this migration.');
$entryTable->dropIndex('hashed_url_user_id');
$entryTable->dropColumn('hashed_url');
}
}

View File

@ -0,0 +1,58 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Rename rss_token & rss_limit to feed_token & feed_limit.
*/
final class Version20190425115043 extends WallabagMigration
{
public function up(Schema $schema): void
{
switch ($this->connection->getDatabasePlatform()->getName()) {
case 'sqlite':
$this->addSql('DROP INDEX UNIQ_87E64C53A76ED395');
$this->addSql('CREATE TEMPORARY TABLE __temp__' . $this->getTable('config', true) . ' AS SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key, action_mark_as_read, list_mode FROM ' . $this->getTable('config', true));
$this->addSql('DROP TABLE ' . $this->getTable('config', true));
$this->addSql('CREATE TABLE ' . $this->getTable('config', true) . ' (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id INTEGER DEFAULT NULL, theme VARCHAR(255) NOT NULL COLLATE BINARY, items_per_page INTEGER NOT NULL, language VARCHAR(255) NOT NULL COLLATE BINARY, reading_speed DOUBLE PRECISION DEFAULT NULL, pocket_consumer_key VARCHAR(255) DEFAULT NULL COLLATE BINARY, action_mark_as_read INTEGER DEFAULT 0, list_mode INTEGER DEFAULT NULL, feed_token VARCHAR(255) DEFAULT NULL, feed_limit INTEGER DEFAULT NULL, CONSTRAINT FK_87E64C53A76ED395 FOREIGN KEY (user_id) REFERENCES "' . $this->getTable('user', true) . '" (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
$this->addSql('INSERT INTO ' . $this->getTable('config', true) . ' (id, user_id, theme, items_per_page, language, feed_token, feed_limit, reading_speed, pocket_consumer_key, action_mark_as_read, list_mode) SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key, action_mark_as_read, list_mode FROM __temp__' . $this->getTable('config', true));
$this->addSql('DROP TABLE __temp__' . $this->getTable('config', true));
$this->addSql('CREATE UNIQUE INDEX UNIQ_87E64C53A76ED395 ON ' . $this->getTable('config', true) . ' (user_id)');
break;
case 'mysql':
$this->addSql('ALTER TABLE ' . $this->getTable('config') . ' CHANGE rss_token feed_token VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE ' . $this->getTable('config') . ' CHANGE rss_limit feed_limit INT DEFAULT NULL');
break;
case 'postgresql':
$this->addSql('ALTER TABLE ' . $this->getTable('config') . ' RENAME COLUMN rss_token TO feed_token');
$this->addSql('ALTER TABLE ' . $this->getTable('config') . ' RENAME COLUMN rss_limit TO feed_limit');
break;
}
}
public function down(Schema $schema): void
{
switch ($this->connection->getDatabasePlatform()->getName()) {
case 'sqlite':
$this->addSql('DROP INDEX UNIQ_87E64C53A76ED395');
$this->addSql('CREATE TEMPORARY TABLE __temp__' . $this->getTable('config', true) . ' AS SELECT id, user_id, theme, items_per_page, language, feed_token, feed_limit, reading_speed, pocket_consumer_key, action_mark_as_read, list_mode FROM "' . $this->getTable('config', true) . '"');
$this->addSql('DROP TABLE "' . $this->getTable('config', true) . '"');
$this->addSql('CREATE TABLE "' . $this->getTable('config', true) . '" (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id INTEGER DEFAULT NULL, theme VARCHAR(255) NOT NULL, items_per_page INTEGER NOT NULL, language VARCHAR(255) NOT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, pocket_consumer_key VARCHAR(255) DEFAULT NULL, action_mark_as_read INTEGER DEFAULT 0, list_mode INTEGER DEFAULT NULL, rss_token VARCHAR(255) DEFAULT NULL COLLATE BINARY, rss_limit INTEGER DEFAULT NULL)');
$this->addSql('INSERT INTO "' . $this->getTable('config', true) . '" (id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key, action_mark_as_read, list_mode) SELECT id, user_id, theme, items_per_page, language, feed_token, feed_limit, reading_speed, pocket_consumer_key, action_mark_as_read, list_mode FROM __temp__' . $this->getTable('config', true));
$this->addSql('DROP TABLE __temp__' . $this->getTable('config', true));
$this->addSql('CREATE UNIQUE INDEX UNIQ_87E64C53A76ED395 ON "' . $this->getTable('config', true) . '" (user_id)');
break;
case 'mysql':
$this->addSql('ALTER TABLE ' . $this->getTable('config') . ' CHANGE feed_token rss_token');
$this->addSql('ALTER TABLE ' . $this->getTable('config') . ' CHANGE feed_limit rss_limit');
break;
case 'postgresql':
$this->addSql('ALTER TABLE ' . $this->getTable('config') . ' RENAME COLUMN feed_token TO rss_token');
$this->addSql('ALTER TABLE ' . $this->getTable('config') . ' RENAME COLUMN feed_limit TO rss_limit');
break;
}
}
}

View File

@ -0,0 +1,96 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\SkipMigrationException;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Enable cascade delete when deleting a user on:
* - oauth2_access_tokens
* - oauth2_clients
* - oauth2_refresh_tokens
* - oauth2_auth_codes.
*/
final class Version20190510141130 extends WallabagMigration
{
public function up(Schema $schema): void
{
switch ($this->connection->getDatabasePlatform()->getName()) {
case 'sqlite':
$this->addSql('DROP INDEX IDX_368A4209A76ED395');
$this->addSql('DROP INDEX IDX_368A420919EB6921');
$this->addSql('DROP INDEX UNIQ_368A42095F37A13B');
$this->addSql('CREATE TEMPORARY TABLE __temp__' . $this->getTable('oauth2_access_tokens', true) . ' AS SELECT id, client_id, user_id, token, expires_at, scope FROM ' . $this->getTable('oauth2_access_tokens', true));
$this->addSql('DROP TABLE ' . $this->getTable('oauth2_access_tokens', true));
$this->addSql('CREATE TABLE ' . $this->getTable('oauth2_access_tokens', true) . ' (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, client_id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, expires_at INTEGER DEFAULT NULL, token VARCHAR(191) NOT NULL, scope VARCHAR(191) NULL, CONSTRAINT FK_368A420919EB6921 FOREIGN KEY (client_id) REFERENCES ' . $this->getTable('oauth2_clients', true) . ' (id) NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_368A4209A76ED395 FOREIGN KEY (user_id) REFERENCES "' . $this->getTable('oauth2_clients', true) . '" (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE)');
$this->addSql('INSERT INTO ' . $this->getTable('oauth2_access_tokens', true) . ' (id, client_id, user_id, token, expires_at, scope) SELECT id, client_id, user_id, token, expires_at, scope FROM __temp__' . $this->getTable('oauth2_access_tokens', true));
$this->addSql('DROP TABLE __temp__' . $this->getTable('oauth2_access_tokens', true));
$this->addSql('CREATE INDEX IDX_368A4209A76ED395 ON ' . $this->getTable('oauth2_access_tokens', true) . ' (user_id)');
$this->addSql('CREATE INDEX IDX_368A420919EB6921 ON ' . $this->getTable('oauth2_access_tokens', true) . ' (client_id)');
$this->addSql('DROP INDEX IDX_635D765EA76ED395');
$this->addSql('CREATE TEMPORARY TABLE __temp__' . $this->getTable('oauth2_clients', true) . ' AS SELECT id, user_id, random_id, secret, redirect_uris, allowed_grant_types, name FROM ' . $this->getTable('oauth2_clients', true));
$this->addSql('DROP TABLE ' . $this->getTable('oauth2_clients', true));
$this->addSql('CREATE TABLE ' . $this->getTable('oauth2_clients', true) . ' (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id INTEGER DEFAULT NULL, random_id VARCHAR(255) NOT NULL COLLATE BINARY, secret VARCHAR(255) NOT NULL COLLATE BINARY, name CLOB NOT NULL COLLATE BINARY, redirect_uris CLOB NOT NULL, allowed_grant_types CLOB NOT NULL, CONSTRAINT FK_635D765EA76ED395 FOREIGN KEY (user_id) REFERENCES "' . $this->getTable('oauth2_clients', true) . '" (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
$this->addSql('INSERT INTO ' . $this->getTable('oauth2_clients', true) . ' (id, user_id, random_id, secret, redirect_uris, allowed_grant_types, name) SELECT id, user_id, random_id, secret, redirect_uris, allowed_grant_types, name FROM __temp__' . $this->getTable('oauth2_clients', true));
$this->addSql('DROP TABLE __temp__' . $this->getTable('oauth2_clients', true));
$this->addSql('CREATE INDEX IDX_635D765EA76ED395 ON ' . $this->getTable('oauth2_clients', true) . ' (user_id)');
$this->addSql('DROP INDEX IDX_20C9FB24A76ED395');
$this->addSql('DROP INDEX IDX_20C9FB2419EB6921');
$this->addSql('DROP INDEX UNIQ_20C9FB245F37A13B');
$this->addSql('CREATE TEMPORARY TABLE __temp__' . $this->getTable('oauth2_refresh_tokens', true) . ' AS SELECT id, client_id, user_id, token, expires_at, scope FROM ' . $this->getTable('oauth2_refresh_tokens', true));
$this->addSql('DROP TABLE ' . $this->getTable('oauth2_refresh_tokens', true));
$this->addSql('CREATE TABLE ' . $this->getTable('oauth2_refresh_tokens', true) . ' (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, client_id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, expires_at INTEGER DEFAULT NULL, token VARCHAR(191) NOT NULL, scope VARCHAR(191) NULL, CONSTRAINT FK_20C9FB2419EB6921 FOREIGN KEY (client_id) REFERENCES ' . $this->getTable('oauth2_clients', true) . ' (id) NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_20C9FB24A76ED395 FOREIGN KEY (user_id) REFERENCES "' . $this->getTable('oauth2_clients', true) . '" (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE)');
$this->addSql('INSERT INTO ' . $this->getTable('oauth2_refresh_tokens', true) . ' (id, client_id, user_id, token, expires_at, scope) SELECT id, client_id, user_id, token, expires_at, scope FROM __temp__' . $this->getTable('oauth2_refresh_tokens', true));
$this->addSql('DROP TABLE __temp__' . $this->getTable('oauth2_refresh_tokens', true));
$this->addSql('CREATE INDEX IDX_20C9FB24A76ED395 ON ' . $this->getTable('oauth2_refresh_tokens', true) . ' (user_id)');
$this->addSql('CREATE INDEX IDX_20C9FB2419EB6921 ON ' . $this->getTable('oauth2_refresh_tokens', true) . ' (client_id)');
$this->addSql('DROP INDEX IDX_EE52E3FAA76ED395');
$this->addSql('DROP INDEX IDX_EE52E3FA19EB6921');
$this->addSql('DROP INDEX UNIQ_EE52E3FA5F37A13B');
$this->addSql('CREATE TEMPORARY TABLE __temp__' . $this->getTable('oauth2_auth_codes', true) . ' AS SELECT id, client_id, user_id, token, redirect_uri, expires_at, scope FROM ' . $this->getTable('oauth2_auth_codes', true));
$this->addSql('DROP TABLE ' . $this->getTable('oauth2_auth_codes', true));
$this->addSql('CREATE TABLE ' . $this->getTable('oauth2_auth_codes', true) . ' (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, client_id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, redirect_uri CLOB NOT NULL COLLATE BINARY, expires_at INTEGER DEFAULT NULL, token VARCHAR(191) NOT NULL, scope VARCHAR(191) NULL, CONSTRAINT FK_EE52E3FA19EB6921 FOREIGN KEY (client_id) REFERENCES ' . $this->getTable('oauth2_clients', true) . ' (id) NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_EE52E3FAA76ED395 FOREIGN KEY (user_id) REFERENCES "' . $this->getTable('oauth2_clients', true) . '" (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE)');
$this->addSql('INSERT INTO ' . $this->getTable('oauth2_auth_codes', true) . ' (id, client_id, user_id, token, redirect_uri, expires_at, scope) SELECT id, client_id, user_id, token, redirect_uri, expires_at, scope FROM __temp__' . $this->getTable('oauth2_auth_codes', true));
$this->addSql('DROP TABLE __temp__' . $this->getTable('oauth2_auth_codes', true));
$this->addSql('CREATE INDEX IDX_EE52E3FAA76ED395 ON ' . $this->getTable('oauth2_auth_codes', true) . ' (user_id)');
$this->addSql('CREATE INDEX IDX_EE52E3FA19EB6921 ON ' . $this->getTable('oauth2_auth_codes', true) . ' (client_id)');
break;
case 'mysql':
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_access_tokens') . ' DROP FOREIGN KEY FK_368A4209A76ED395');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_access_tokens') . ' ADD CONSTRAINT FK_368A4209A76ED395 FOREIGN KEY (user_id) REFERENCES ' . $this->getTable('user') . ' (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_clients') . ' DROP FOREIGN KEY IDX_user_oauth_client');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_clients') . ' ADD CONSTRAINT FK_635D765EA76ED395 FOREIGN KEY (user_id) REFERENCES ' . $this->getTable('user') . ' (id)');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_refresh_tokens') . ' DROP FOREIGN KEY FK_20C9FB24A76ED395');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_refresh_tokens') . ' ADD CONSTRAINT FK_20C9FB24A76ED395 FOREIGN KEY (user_id) REFERENCES ' . $this->getTable('user') . ' (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_auth_codes') . ' DROP FOREIGN KEY FK_EE52E3FAA76ED395');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_auth_codes') . ' ADD CONSTRAINT FK_EE52E3FAA76ED395 FOREIGN KEY (user_id) REFERENCES ' . $this->getTable('user') . ' (id) ON DELETE CASCADE');
break;
case 'postgresql':
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_access_tokens') . ' DROP CONSTRAINT FK_368A4209A76ED395');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_access_tokens') . ' ADD CONSTRAINT FK_368A4209A76ED395 FOREIGN KEY (user_id) REFERENCES ' . $this->getTable('user') . ' (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_clients') . ' DROP CONSTRAINT idx_user_oauth_client');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_clients') . ' ADD CONSTRAINT FK_635D765EA76ED395 FOREIGN KEY (user_id) REFERENCES ' . $this->getTable('user') . ' (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_refresh_tokens') . ' DROP CONSTRAINT FK_20C9FB24A76ED395');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_refresh_tokens') . ' ADD CONSTRAINT FK_20C9FB24A76ED395 FOREIGN KEY (user_id) REFERENCES ' . $this->getTable('user') . ' (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_auth_codes') . ' DROP CONSTRAINT FK_EE52E3FAA76ED395');
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_auth_codes') . ' ADD CONSTRAINT FK_EE52E3FAA76ED395 FOREIGN KEY (user_id) REFERENCES ' . $this->getTable('user') . ' (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
break;
}
}
public function down(Schema $schema): void
{
throw new SkipMigrationException('Too complex ...');
}
}

View File

@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Convert tab label to utf8mb4_bin (MySQL only).
*/
final class Version20190511165128 extends WallabagMigration
{
public function up(Schema $schema): void
{
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');
$this->addSql('ALTER TABLE ' . $this->getTable('tag') . ' CHANGE `label` `label` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;');
$this->addSql('ALTER TABLE ' . $this->getTable('tag') . ' CHANGE `slug` `slug` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;');
}
public function down(Schema $schema): void
{
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');
$this->addSql('ALTER TABLE ' . $this->getTable('tag') . ' CHANGE `slug` `slug` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
$this->addSql('ALTER TABLE ' . $this->getTable('tag') . ' CHANGE `label` `label` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
}
}

View File

@ -0,0 +1,48 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Added `given_url` & `hashed_given_url` field in entry table.
*/
class Version20190601125843 extends WallabagMigration
{
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
if (!$entryTable->hasColumn('given_url')) {
$entryTable->addColumn('given_url', 'text', [
'notnull' => false,
]);
}
if (!$entryTable->hasColumn('hashed_given_url')) {
$entryTable->addColumn('hashed_given_url', 'text', [
'length' => 40,
'notnull' => false,
]);
}
// 40 = length of sha1 field hashed_given_url
$entryTable->addIndex(['user_id', 'hashed_given_url'], 'hashed_given_url_user_id', [], ['lengths' => [null, 40]]);
}
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
if ($entryTable->hasColumn('given_url')) {
$entryTable->dropColumn('given_url');
}
if ($entryTable->hasColumn('hashed_given_url')) {
$entryTable->dropColumn('hashed_given_url');
}
$entryTable->dropIndex('hashed_given_url_user_id');
}
}

View File

@ -0,0 +1,65 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Change reading_time field on SQLite to be integer NOT NULL
* It was forgotten in a previous migration (Version20171008195606.php).
*/
final class Version20190619093534 extends WallabagMigration
{
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->skipIf('sqlite' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'sqlite\'.');
$this->addSql('UPDATE ' . $this->getTable('entry', true) . ' SET reading_time = 0 WHERE reading_time IS NULL;');
$this->addSql('DROP INDEX hashed_given_url_user_id');
$this->addSql('DROP INDEX IDX_entry_uid');
$this->addSql('DROP INDEX IDX_F4D18282A76ED395');
$this->addSql('DROP INDEX IDX_entry_created_at');
$this->addSql('DROP INDEX IDX_entry_starred');
$this->addSql('DROP INDEX IDX_entry_archived');
$this->addSql('DROP INDEX hashed_url_user_id');
$this->addSql('CREATE TEMPORARY TABLE __temp__' . $this->getTable('entry', true) . ' AS SELECT id, user_id, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, uid, http_status, published_at, published_by, headers, starred_at, origin_url, archived_at, hashed_url, given_url, hashed_given_url FROM ' . $this->getTable('entry', true) . '');
$this->addSql('DROP TABLE ' . $this->getTable('entry', true) . '');
$this->addSql('CREATE TABLE ' . $this->getTable('entry', true) . ' (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id INTEGER DEFAULT NULL, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, uid VARCHAR(23) DEFAULT NULL COLLATE BINARY, http_status VARCHAR(3) DEFAULT NULL COLLATE BINARY, published_at DATETIME DEFAULT NULL, starred_at DATETIME DEFAULT NULL, origin_url CLOB DEFAULT NULL COLLATE BINARY, archived_at DATETIME DEFAULT NULL, given_url CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER NOT NULL, published_by CLOB DEFAULT NULL --(DC2Type:array)
, headers CLOB DEFAULT NULL --(DC2Type:array)
, hashed_url VARCHAR(40) DEFAULT NULL, hashed_given_url VARCHAR(40) DEFAULT NULL, CONSTRAINT FK_F4D18282A76ED395 FOREIGN KEY (user_id) REFERENCES "' . $this->getTable('user', true) . '" (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
$this->addSql('INSERT INTO ' . $this->getTable('entry', true) . ' (id, user_id, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, uid, http_status, published_at, published_by, headers, starred_at, origin_url, archived_at, hashed_url, given_url, hashed_given_url) SELECT id, user_id, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, uid, http_status, published_at, published_by, headers, starred_at, origin_url, archived_at, hashed_url, given_url, hashed_given_url FROM __temp__' . $this->getTable('entry', true) . '');
$this->addSql('DROP TABLE __temp__' . $this->getTable('entry', true) . '');
$this->addSql('CREATE INDEX hashed_given_url_user_id ON ' . $this->getTable('entry', true) . ' (user_id, hashed_given_url)');
$this->addSql('CREATE INDEX IDX_F4D18282A76ED395 ON ' . $this->getTable('entry', true) . ' (user_id)');
$this->addSql('CREATE INDEX hashed_url_user_id ON ' . $this->getTable('entry', true) . ' (user_id, hashed_url)');
$this->addSql('CREATE INDEX created_at ON ' . $this->getTable('entry', true) . ' (created_at)');
$this->addSql('CREATE INDEX uid ON ' . $this->getTable('entry', true) . ' (uid)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->skipIf('sqlite' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'sqlite\'.');
$this->addSql('DROP INDEX IDX_F4D18282A76ED395');
$this->addSql('DROP INDEX created_at');
$this->addSql('DROP INDEX uid');
$this->addSql('DROP INDEX hashed_url_user_id');
$this->addSql('DROP INDEX hashed_given_url_user_id');
$this->addSql('CREATE TEMPORARY TABLE __temp__' . $this->getTable('entry', true) . ' AS SELECT id, user_id, uid, title, url, hashed_url, origin_url, given_url, hashed_given_url, is_archived, archived_at, is_starred, content, created_at, updated_at, published_at, published_by, starred_at, mimetype, language, reading_time, domain_name, preview_picture, http_status, headers FROM "' . $this->getTable('entry', true) . '"');
$this->addSql('DROP TABLE "' . $this->getTable('entry', true) . '"');
$this->addSql('CREATE TABLE "' . $this->getTable('entry', true) . '" (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id INTEGER DEFAULT NULL, uid VARCHAR(23) DEFAULT NULL, title CLOB DEFAULT NULL, url CLOB DEFAULT NULL, origin_url CLOB DEFAULT NULL, given_url CLOB DEFAULT NULL, is_archived BOOLEAN NOT NULL, archived_at DATETIME DEFAULT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, published_at DATETIME DEFAULT NULL, starred_at DATETIME DEFAULT NULL, mimetype CLOB DEFAULT NULL, language CLOB DEFAULT NULL, domain_name CLOB DEFAULT NULL, preview_picture CLOB DEFAULT NULL, http_status VARCHAR(3) DEFAULT NULL, hashed_url CLOB DEFAULT NULL COLLATE BINARY, hashed_given_url CLOB DEFAULT NULL COLLATE BINARY, published_by CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, headers CLOB DEFAULT NULL COLLATE BINARY)');
$this->addSql('INSERT INTO "' . $this->getTable('entry', true) . '" (id, user_id, uid, title, url, hashed_url, origin_url, given_url, hashed_given_url, is_archived, archived_at, is_starred, content, created_at, updated_at, published_at, published_by, starred_at, mimetype, language, reading_time, domain_name, preview_picture, http_status, headers) SELECT id, user_id, uid, title, url, hashed_url, origin_url, given_url, hashed_given_url, is_archived, archived_at, is_starred, content, created_at, updated_at, published_at, published_by, starred_at, mimetype, language, reading_time, domain_name, preview_picture, http_status, headers FROM __temp__' . $this->getTable('entry', true) . '');
$this->addSql('DROP TABLE __temp__' . $this->getTable('entry', true) . '');
$this->addSql('CREATE INDEX IDX_F4D18282A76ED395 ON "' . $this->getTable('entry', true) . '" (user_id)');
$this->addSql('CREATE INDEX hashed_url_user_id ON "' . $this->getTable('entry', true) . '" (user_id, hashed_url)');
$this->addSql('CREATE INDEX hashed_given_url_user_id ON "' . $this->getTable('entry', true) . '" (user_id, hashed_given_url)');
$this->addSql('CREATE INDEX IDX_entry_starred ON "' . $this->getTable('entry', true) . '" (is_starred)');
$this->addSql('CREATE INDEX IDX_entry_archived ON "' . $this->getTable('entry', true) . '" (is_archived)');
$this->addSql('CREATE INDEX IDX_entry_uid ON "' . $this->getTable('entry', true) . '" (uid)');
$this->addSql('CREATE INDEX IDX_entry_created_at ON "' . $this->getTable('entry', true) . '" (created_at)');
}
}

View File

@ -0,0 +1,22 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Change reading speed value.
*/
final class Version20190708122957 extends WallabagMigration
{
public function up(Schema $schema): void
{
$this->addSql('UPDATE ' . $this->getTable('config', true) . ' SET reading_speed = reading_speed*200');
}
public function down(Schema $schema): void
{
$this->addSql('UPDATE ' . $this->getTable('config', true) . ' SET reading_speed = reading_speed/200');
}
}

View File

@ -0,0 +1,116 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Adding more index to kill some slow queries:
* - user_language
* - user_archived
* - user_created
* - user_starred
* - tag_label
* - config_feed_token.
*/
final class Version20190806130304 extends WallabagMigration
{
public function up(Schema $schema): void
{
switch ($this->connection->getDatabasePlatform()->getName()) {
case 'sqlite':
$this->addSql('DROP INDEX uid');
$this->addSql('DROP INDEX created_at');
$this->addSql('DROP INDEX hashed_url_user_id');
$this->addSql('DROP INDEX IDX_F4D18282A76ED395');
$this->addSql('DROP INDEX hashed_given_url_user_id');
$this->addSql('CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, domain_name, preview_picture, uid, http_status, published_at, starred_at, origin_url, archived_at, given_url, reading_time, published_by, headers, hashed_url, hashed_given_url FROM ' . $this->getTable('entry', true));
$this->addSql('DROP TABLE ' . $this->getTable('entry', true));
$this->addSql('CREATE TABLE ' . $this->getTable('entry', true) . ' (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id INTEGER DEFAULT NULL, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, uid VARCHAR(23) DEFAULT NULL COLLATE BINARY, http_status VARCHAR(3) DEFAULT NULL COLLATE BINARY, published_at DATETIME DEFAULT NULL, starred_at DATETIME DEFAULT NULL, origin_url CLOB DEFAULT NULL COLLATE BINARY, archived_at DATETIME DEFAULT NULL, given_url CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER NOT NULL, published_by CLOB DEFAULT NULL COLLATE BINARY --(DC2Type:array)
, headers CLOB DEFAULT NULL COLLATE BINARY --(DC2Type:array)
, hashed_url VARCHAR(40) DEFAULT NULL COLLATE BINARY, hashed_given_url VARCHAR(40) DEFAULT NULL COLLATE BINARY, language VARCHAR(20) DEFAULT NULL, CONSTRAINT FK_F4D18282A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
$this->addSql('INSERT INTO ' . $this->getTable('entry', true) . ' (id, user_id, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, domain_name, preview_picture, uid, http_status, published_at, starred_at, origin_url, archived_at, given_url, reading_time, published_by, headers, hashed_url, hashed_given_url) SELECT id, user_id, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, domain_name, preview_picture, uid, http_status, published_at, starred_at, origin_url, archived_at, given_url, reading_time, published_by, headers, hashed_url, hashed_given_url FROM __temp__wallabag_entry');
$this->addSql('DROP TABLE __temp__wallabag_entry');
$this->addSql('CREATE INDEX uid ON ' . $this->getTable('entry', true) . ' (uid)');
$this->addSql('CREATE INDEX created_at ON ' . $this->getTable('entry', true) . ' (created_at)');
$this->addSql('CREATE INDEX hashed_url_user_id ON ' . $this->getTable('entry', true) . ' (user_id, hashed_url)');
$this->addSql('CREATE INDEX IDX_F4D18282A76ED395 ON ' . $this->getTable('entry', true) . ' (user_id)');
$this->addSql('CREATE INDEX hashed_given_url_user_id ON ' . $this->getTable('entry', true) . ' (user_id, hashed_given_url)');
$this->addSql('CREATE INDEX user_language ON ' . $this->getTable('entry', true) . ' (language, user_id)');
$this->addSql('CREATE INDEX user_archived ON ' . $this->getTable('entry', true) . ' (user_id, is_archived, archived_at)');
$this->addSql('CREATE INDEX user_created ON ' . $this->getTable('entry', true) . ' (user_id, created_at)');
$this->addSql('CREATE INDEX user_starred ON ' . $this->getTable('entry', true) . ' (user_id, is_starred, starred_at)');
$this->addSql('CREATE INDEX tag_label ON ' . $this->getTable('tag', true) . ' (label)');
$this->addSql('CREATE INDEX config_feed_token ON ' . $this->getTable('config', true) . ' (feed_token)');
break;
case 'mysql':
$this->addSql('ALTER TABLE ' . $this->getTable('entry') . ' MODIFY language VARCHAR(20) DEFAULT NULL');
$this->addSql('CREATE INDEX user_language ON ' . $this->getTable('entry') . ' (language, user_id)');
$this->addSql('CREATE INDEX user_archived ON ' . $this->getTable('entry') . ' (user_id, is_archived, archived_at)');
$this->addSql('CREATE INDEX user_created ON ' . $this->getTable('entry') . ' (user_id, created_at)');
$this->addSql('CREATE INDEX user_starred ON ' . $this->getTable('entry') . ' (user_id, is_starred, starred_at)');
$this->addSql('CREATE INDEX tag_label ON ' . $this->getTable('tag') . ' (label (255))');
$this->addSql('CREATE INDEX config_feed_token ON ' . $this->getTable('config') . ' (feed_token (255))');
break;
case 'postgresql':
$this->addSql('ALTER TABLE ' . $this->getTable('entry') . ' ALTER language TYPE VARCHAR(20)');
$this->addSql('CREATE INDEX user_language ON ' . $this->getTable('entry') . ' (language, user_id)');
$this->addSql('CREATE INDEX user_archived ON ' . $this->getTable('entry') . ' (user_id, is_archived, archived_at)');
$this->addSql('CREATE INDEX user_created ON ' . $this->getTable('entry') . ' (user_id, created_at)');
$this->addSql('CREATE INDEX user_starred ON ' . $this->getTable('entry') . ' (user_id, is_starred, starred_at)');
$this->addSql('CREATE INDEX tag_label ON ' . $this->getTable('tag') . ' (label)');
$this->addSql('CREATE INDEX config_feed_token ON ' . $this->getTable('config') . ' (feed_token)');
break;
}
}
public function down(Schema $schema): void
{
switch ($this->connection->getDatabasePlatform()->getName()) {
case 'sqlite':
$this->addSql('DROP INDEX IDX_F4D18282A76ED395');
$this->addSql('DROP INDEX created_at');
$this->addSql('DROP INDEX uid');
$this->addSql('DROP INDEX hashed_url_user_id');
$this->addSql('DROP INDEX hashed_given_url_user_id');
$this->addSql('DROP INDEX user_language');
$this->addSql('DROP INDEX user_archived');
$this->addSql('DROP INDEX user_created');
$this->addSql('DROP INDEX user_starred');
$this->addSql('DROP INDEX tag_label');
$this->addSql('DROP INDEX config_feed_token');
$this->addSql('CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, hashed_url, origin_url, given_url, hashed_given_url, is_archived, archived_at, is_starred, content, created_at, updated_at, published_at, published_by, starred_at, mimetype, language, reading_time, domain_name, preview_picture, http_status, headers FROM ' . $this->getTable('entry', true));
$this->addSql('DROP TABLE ' . $this->getTable('entry', true));
$this->addSql('CREATE TABLE ' . $this->getTable('entry', true) . ' (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id INTEGER DEFAULT NULL, uid VARCHAR(23) DEFAULT NULL, title CLOB DEFAULT NULL, url CLOB DEFAULT NULL, hashed_url VARCHAR(40) DEFAULT NULL, origin_url CLOB DEFAULT NULL, given_url CLOB DEFAULT NULL, hashed_given_url VARCHAR(40) DEFAULT NULL, is_archived BOOLEAN NOT NULL, archived_at DATETIME DEFAULT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, published_at DATETIME DEFAULT NULL, published_by CLOB DEFAULT NULL --(DC2Type:array)
, starred_at DATETIME DEFAULT NULL, mimetype CLOB DEFAULT NULL, reading_time INTEGER NOT NULL, domain_name CLOB DEFAULT NULL, preview_picture CLOB DEFAULT NULL, http_status VARCHAR(3) DEFAULT NULL, headers CLOB DEFAULT NULL --(DC2Type:array)
, language CLOB DEFAULT NULL COLLATE BINARY)');
$this->addSql('INSERT INTO ' . $this->getTable('entry', true) . ' (id, user_id, uid, title, url, hashed_url, origin_url, given_url, hashed_given_url, is_archived, archived_at, is_starred, content, created_at, updated_at, published_at, published_by, starred_at, mimetype, language, reading_time, domain_name, preview_picture, http_status, headers) SELECT id, user_id, uid, title, url, hashed_url, origin_url, given_url, hashed_given_url, is_archived, archived_at, is_starred, content, created_at, updated_at, published_at, published_by, starred_at, mimetype, language, reading_time, domain_name, preview_picture, http_status, headers FROM __temp__wallabag_entry');
$this->addSql('DROP TABLE __temp__wallabag_entry');
$this->addSql('CREATE INDEX IDX_F4D18282A76ED395 ON ' . $this->getTable('entry', true) . ' (user_id)');
$this->addSql('CREATE INDEX created_at ON ' . $this->getTable('entry', true) . ' (created_at)');
$this->addSql('CREATE INDEX uid ON ' . $this->getTable('entry', true) . ' (uid)');
$this->addSql('CREATE INDEX hashed_url_user_id ON ' . $this->getTable('entry', true) . ' (user_id, hashed_url)');
$this->addSql('CREATE INDEX hashed_given_url_user_id ON ' . $this->getTable('entry', true) . ' (user_id, hashed_given_url)');
break;
case 'mysql':
$this->addSql('ALTER TABLE ' . $this->getTable('entry') . ' MODIFY language LONGTEXT DEFAULT NULL');
$this->addSql('DROP INDEX user_language ON ' . $this->getTable('entry'));
$this->addSql('DROP INDEX user_archived ON ' . $this->getTable('entry'));
$this->addSql('DROP INDEX user_created ON ' . $this->getTable('entry'));
$this->addSql('DROP INDEX user_starred ON ' . $this->getTable('entry'));
$this->addSql('DROP INDEX tag_label ON ' . $this->getTable('tag'));
$this->addSql('DROP INDEX config_feed_token ON ' . $this->getTable('config'));
break;
case 'postgresql':
$this->addSql('ALTER TABLE ' . $this->getTable('entry') . ' ALTER language TYPE TEXT');
$this->addSql('DROP INDEX user_language ON ' . $this->getTable('entry'));
$this->addSql('DROP INDEX user_archived ON ' . $this->getTable('entry'));
$this->addSql('DROP INDEX user_created ON ' . $this->getTable('entry'));
$this->addSql('DROP INDEX user_starred ON ' . $this->getTable('entry'));
$this->addSql('DROP INDEX tag_label ON ' . $this->getTable('tag'));
$this->addSql('DROP INDEX config_feed_token ON ' . $this->getTable('config'));
break;
}
}
}

View File

@ -0,0 +1,42 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Change the internal setting table name.
*/
final class Version20190808124957 extends WallabagMigration
{
public function up(Schema $schema): void
{
switch ($this->connection->getDatabasePlatform()->getName()) {
case 'sqlite':
$this->addSql('ALTER TABLE ' . $this->getTable('craue_config_setting', true) . ' RENAME TO ' . $this->getTable('internal_setting', true));
break;
case 'mysql':
$this->addSql('ALTER TABLE ' . $this->getTable('craue_config_setting') . ' RENAME ' . $this->getTable('internal_setting'));
break;
case 'postgresql':
$this->addSql('ALTER TABLE ' . $this->getTable('craue_config_setting') . ' RENAME TO ' . $this->getTable('internal_setting'));
break;
}
}
public function down(Schema $schema): void
{
switch ($this->connection->getDatabasePlatform()->getName()) {
case 'sqlite':
$this->addSql('ALTER TABLE ' . $this->getTable('internal_setting', true) . ' RENAME TO ' . $this->getTable('craue_config_setting', true));
break;
case 'mysql':
$this->addSql('ALTER TABLE ' . $this->getTable('internal_setting') . ' RENAME ' . $this->getTable('craue_config_setting'));
break;
case 'postgresql':
$this->addSql('ALTER TABLE ' . $this->getTable('internal_setting') . ' RENAME TO ' . $this->getTable('craue_config_setting'));
break;
}
}
}

View File

@ -0,0 +1,64 @@
<?php
declare(strict_types=1);
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Add tables for the ignore origin rules.
*/
final class Version20190826204730 extends WallabagMigration
{
public function up(Schema $schema): void
{
if (false === $schema->hasTable($this->getTable('ignore_origin_user_rule'))) {
$userTable = $schema->createTable($this->getTable('ignore_origin_user_rule', true));
$userTable->addColumn('id', 'integer', ['autoincrement' => true]);
$userTable->addColumn('config_id', 'integer');
$userTable->addColumn('rule', 'string', ['length' => 255]);
$userTable->addIndex(['config_id'], 'idx_config');
$userTable->setPrimaryKey(['id']);
$userTable->addForeignKeyConstraint($this->getTable('config'), ['config_id'], ['id'], [], 'fk_config');
if ('postgresql' === $this->connection->getDatabasePlatform()->getName()) {
$schema->dropSequence('ignore_origin_user_rule_id_seq');
$schema->createSequence('ignore_origin_user_rule_id_seq');
}
}
if (false === $schema->hasTable($this->getTable('ignore_origin_instance_rule'))) {
$instanceTable = $schema->createTable($this->getTable('ignore_origin_instance_rule', true));
$instanceTable->addColumn('id', 'integer', ['autoincrement' => true]);
$instanceTable->addColumn('rule', 'string', ['length' => 255]);
$instanceTable->setPrimaryKey(['id']);
if ('postgresql' === $this->connection->getDatabasePlatform()->getName()) {
$schema->dropSequence('ignore_origin_instance_rule_id_seq');
$schema->createSequence('ignore_origin_instance_rule_id_seq');
}
}
}
public function postUp(Schema $schema): void
{
foreach ($this->container->getParameter('wallabag_core.default_ignore_origin_instance_rules') as $entity) {
$previous_rule = $this->container
->get('doctrine.orm.default_entity_manager')
->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('ignore_origin_instance_rule') . " WHERE rule = '" . $entity['rule'] . "'");
if (false === $previous_rule) {
$this->addSql('INSERT INTO ' . $this->getTable('ignore_origin_instance_rule') . " (rule) VALUES ('" . $entity['rule'] . "');");
}
}
}
public function down(Schema $schema): void
{
$schema->dropTable($this->getTable('ignore_origin_user_rule'));
$schema->dropTable($this->getTable('ignore_origin_instance_rule'));
}
}

View File

@ -0,0 +1,28 @@
<?php
declare(strict_types=1);
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Renamed Piwik to Matomo in configuration.
*/
final class Version20200428072628 extends WallabagMigration
{
public function up(Schema $schema): void
{
$this->addSql('UPDATE ' . $this->getTable('internal_setting', true) . " SET name = 'matomo_enabled' where name = 'piwik_enabled';");
$this->addSql('UPDATE ' . $this->getTable('internal_setting', true) . " SET name = 'matomo_host' where name = 'piwik_host';");
$this->addSql('UPDATE ' . $this->getTable('internal_setting', true) . " SET name = 'matomo_site_id' where name = 'piwik_site_id';");
}
public function down(Schema $schema): void
{
$this->addSql('UPDATE ' . $this->getTable('internal_setting', true) . " SET name = 'piwik_enabled' where name = 'matomo_enabled';");
$this->addSql('UPDATE ' . $this->getTable('internal_setting', true) . " SET name = 'piwik_host' where name = 'matomo_host';");
$this->addSql('UPDATE ' . $this->getTable('internal_setting', true) . " SET name = 'piwik_site_id' where name = 'matomo_site_id';");
}
}

View File

@ -27,9 +27,9 @@ export: "eksport"
import: "import"
misc: "misc"
modify_settings: "Gem ændring"
piwik_host: Hosting af din side hos Piwik (uden http:// eller https://)
piwik_site_id: ID for din side hos Piwik
piwik_enabled: Aktiver Piwik
matomo_host: Hosting af din side hos Matomo (uden http:// eller https://)
matomo_site_id: ID for din side hos Matomo
matomo_enabled: Aktiver Matomo
demo_mode_enabled: "Aktiver demo-indstilling? (anvendes kun til wallabags offentlige demo)"
demo_mode_username: "Demobruger"
# share_public: Allow public url for entries

View File

@ -27,9 +27,9 @@ export: 'Export'
import: 'Import'
misc: 'Verschiedenes'
modify_settings: 'Übernehmen'
piwik_host: 'Host deiner Webseite in Piwik (ohne http:// oder https://)'
piwik_site_id: 'ID deiner Webseite in Piwik'
piwik_enabled: 'Piwik aktivieren'
matomo_host: 'Host deiner Webseite in Matomo (ohne http:// oder https://)'
matomo_site_id: 'ID deiner Webseite in Matomo'
matomo_enabled: 'Matomo aktivieren'
demo_mode_enabled: 'Test-Modus aktivieren? (nur für die öffentliche wallabag-Demo genutzt)'
demo_mode_username: 'Test-Benutzer'
share_public: 'Erlaube eine öffentliche URL für Einträge'

View File

@ -27,9 +27,9 @@ export: "export"
import: "import"
misc: "misc"
modify_settings: "apply"
piwik_host: Host of your website in Piwik (without http:// ou https://)
piwik_site_id: ID of your website in Piwik
piwik_enabled: Enable Piwik
matomo_host: Host of your website in Matomo (without http:// or https://)
matomo_site_id: ID of your website in Matomo
matomo_enabled: Enable Matomo
demo_mode_enabled: "Enable demo mode? (Only used for the public wallabag demo)"
demo_mode_username: "Demo user"
share_public: Allow public URL for entries
@ -37,4 +37,4 @@ download_images_enabled: Download images locally
restricted_access: Enable authentication for paywalled websites
api_user_registration: Enable user to be registered using the API
store_article_headers: Enable if wallabag stores HTTP headers for each article
shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled
shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled

View File

@ -27,9 +27,9 @@ export: "exportar"
import: "importar"
misc: "misc"
modify_settings: "guardar"
piwik_host: Host de tu website en Piwik (sin http:// o https://)
piwik_site_id: ID de tu website en Piwik
piwik_enabled: Activar Piwik
matomo_host: Host de tu website en Matomo (sin http:// o https://)
matomo_site_id: ID de tu website en Matomo
matomo_enabled: Activar Matomo
demo_mode_enabled: "Activar modo demo (sólo usado en la demo pública de wallabag)"
demo_mode_username: "Nombre de usuario demo"
share_public: Permitir URL pública para los artículos

View File

@ -27,9 +27,9 @@ export: "برون‌سپاری"
import: "درون‌ریزی"
misc: "غیره"
modify_settings: "اعمال"
# piwik_host: Host of your website in Piwik (without http:// or https://)
# piwik_site_id: ID of your website in Piwik
# piwik_enabled: Enable Piwik
# matomo_host: Host of your website in Matomo (without http:// or https://)
# matomo_site_id: ID of your website in Matomo
# matomo_enabled: Enable Matomo
# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
# demo_mode_username: "Demo user"
# share_public: Allow public url for entries

View File

@ -27,9 +27,9 @@ export: "export"
import: "import"
misc: "divers"
modify_settings: "appliquer"
piwik_host: URL de votre site dans Piwik (sans http:// ou https://)
piwik_site_id: ID de votre site dans Piwik
piwik_enabled: Activer Piwik
matomo_host: URL de votre site dans Matomo (sans http:// ou https://)
matomo_site_id: ID de votre site dans Matomo
matomo_enabled: Activer Matomo
demo_mode_enabled: "Activer le mode démo ? (utiliser uniquement pour la démo publique de wallabag)"
demo_mode_username: "Utilisateur de la démo"
share_public: Autoriser une URL publique pour les articles

View File

@ -27,9 +27,9 @@ export: "esporta"
import: "importa"
misc: "misc"
modify_settings: "applica"
piwik_host: Host del tuo sito in Piwik (senza http:// o https://)
piwik_site_id: ID del tuo sito in Piwik
piwik_enabled: Abilita Piwik
matomo_host: Host del tuo sito in Matomo (senza http:// o https://)
matomo_site_id: ID del tuo sito in Matomo
matomo_enabled: Abilita Matomo
demo_mode_enabled: "Abilita modalità demo ? (usato solo per la demo pubblica di wallabag)"
demo_mode_username: "Utente Demo"
# share_public: Allow public url for entries

View File

@ -0,0 +1,40 @@
settings_changed: 構成が更新されました
download_pictures: 画像をあなたのサーバにダウンロード
carrot: Carrot への共有を有効にする
diaspora_url: diaspora* URL、サービスが有効な場合
export_epub: ePub 形式でのエクスポートを有効にする
export_mobi: .mobi 形式でのエクスポートを有効にする
export_pdf: PDF 形式でのエクスポートを有効にする
export_csv: CSV 形式でのエクスポートを有効にする
export_json: JSON 形式でのエクスポートを有効にする
export_txt: TXT 形式でのエクスポートを有効にする
export_xml: XML 形式でのエクスポートを有効にする
import_with_rabbitmq: データを非同期的にインポートする RabbitMQ を有効にする
import_with_redis: データを非同期的にインポートする Redis を有効にする
shaarli_url: Shaarli URL、サービスが有効な場合
scuttle_url: Scuttle URL、サービスが有効な場合
unmark_url: Unmark URL、サービスが有効な場合
share_diaspora: diaspora* への共有を有効にする
share_mail: 電子メールでの共有を有効にする
share_shaarli: Shaarli への共有を有効にする
share_scuttle: Scuttle への共有を有効にする
share_twitter: Twitter への共有を有効にする
share_unmark: Unmark.it への共有を有効にする
show_printlink: コンテンツを印刷するためのリンクを表示する
wallabag_support_url: Wallabag のサポート URL
entry: "記事"
export: "エクスポート"
import: "インポート"
misc: "misc"
modify_settings: "適用"
matomo_host: Matomo でのウェブサイトのホスト (http:// または https:// は不要)
matomo_site_id: Matomo でのあなたのウェブサイトの ID
matomo_enabled: Matomo を有効にする
demo_mode_enabled: "デモモードを有効にしますか? (パブリック Wallabag のデモにのみ使用)"
demo_mode_username: "デモユーザー"
share_public: 記事の公開 URL を許可する
download_images_enabled: 画像をローカルにダウンロードする
restricted_access: ペイウォールウェブサイトの認証を有効にする
api_user_registration: API を使用してユーザーを登録できるようにする
store_article_headers: 各記事の HTTP ヘッダーを Wallabag が格納する場合に有効にする
shaarli_share_origin_url: サービスが有効になっている場合、Shaarli へのオリジン URL の共有を有効にする

View File

@ -27,14 +27,14 @@ export: "expòrt"
import: "impòrt"
misc: "divèrs"
modify_settings: "aplicar"
piwik_host: URL de vòstre site dins Piwik (sense http:// o https://)
piwik_site_id: ID de vòstre site dins Piwik
piwik_enabled: Activar Piwik
matomo_host: URL de vòstre site dins Matomo (sense http:// o https://)
matomo_site_id: ID de vòstre site dins Matomo
matomo_enabled: Activar Matomo
demo_mode_enabled: "Activar lo mode demostracion ? (utilizar solament per la demostracion publica de wallabag)"
demo_mode_username: "Utilizaire de la demostracion"
share_public: Autorizar una URL publica pels articles
download_images_enabled: Telecargar los imatges en local
restricted_access: Activar l'autenticacion pels sites amb peatge
api_user_registration: Autorizar los utilizaires a se marcar amb l'API
# store_article_headers: Enable if wallabag stores HTTP headers for each article
# shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled
store_article_headers: Activar se wallabag garda las entèstas HTTP per cada article
shaarli_share_origin_url: Activar lo partatge de lurl amb Shaarli, se lo servici es activat

View File

@ -26,9 +26,9 @@ export: "eksport"
import: "import"
misc: "różne"
modify_settings: "zatwierdź"
piwik_host: Host twojej strony Piwik (bez http:// lub https://)
piwik_site_id: ID twojej strony Piwik
piwik_enabled: Włacz Piwik
matomo_host: Host twojej strony Matomo (bez http:// lub https://)
matomo_site_id: ID twojej strony Matomo
matomo_enabled: Włacz Matomo
demo_mode_enabled: "Włacz tryb demo? (używany wyłącznie dla publicznej demonstracji Wallabag)"
demo_mode_username: "Użytkownik Demonstracyjny"
share_public: Zezwalaj na publiczny adres url dla wpisow

View File

@ -28,9 +28,9 @@ export: "exportar"
import: "importar"
misc: "misc"
modify_settings: "aplicar"
piwik_host: Host de seu website Piwik
piwik_site_id: ID de seu website Piwik
piwik_enabled: Habilitar Piwik
matomo_host: Host de seu website Matomo
matomo_site_id: ID de seu website Matomo
matomo_enabled: Habilitar Matomo
demo_mode_enabled: "Habilitar modo demo? (somente usado para o demo público do wallabag)"
demo_mode_username: "Usuário demo"
# share_public: Allow public url for entries

View File

@ -27,9 +27,9 @@ export: "exportă"
import: "importă"
misc: "diverse"
modify_settings: "aplică"
# piwik_host: Host of your website in Piwik (without http:// or https://)
# piwik_site_id: ID of your website in Piwik
# piwik_enabled: Enable Piwik
# matomo_host: Host of your website in Matomo (without http:// or https://)
# matomo_site_id: ID of your website in Matomo
# matomo_enabled: Enable Matomo
# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
# demo_mode_username: "Demo user"
# share_public: Allow public url for entries

View File

@ -27,9 +27,9 @@ export: "экспорт"
import: "импорт"
misc: "разное"
modify_settings: "применить"
piwik_host: "Ссылка на Ваш сайт на Piwik (с http:// или https://)"
piwik_site_id: "ID Вашего сайта на Piwik"
piwik_enabled: "Включить Piwik"
matomo_host: "Ссылка на Ваш сайт на Matomo (с http:// или https://)"
matomo_site_id: "ID Вашего сайта на Matomo"
matomo_enabled: "Включить Matomo"
demo_mode_enabled: "Включить демо режим ? (только для публичной демонстрации wallabag)"
demo_mode_username: "Демо пользователь"
share_public: "Разрешить публичные ссылки на записи"

View File

@ -25,9 +25,9 @@ export: "นำข้อมูลออก"
import: "นำเข้าข้อมูล"
misc: "เบ็ดเตล็ด"
modify_settings: "ปรับใช้"
piwik_host: โฮสบนเว็บไซต์ของคุณใน Piwik (ยกเว้น http:// หรือ https://)
piwik_site_id: ไอดีบนเว็บไซต์ของคุณใน Piwik
piwik_enabled: เปิดการใช้ Piwik
matomo_host: โฮสบนเว็บไซต์ของคุณใน Matomo (ยกเว้น http:// หรือ https://)
matomo_site_id: ไอดีบนเว็บไซต์ของคุณใน Matomo
matomo_enabled: เปิดการใช้ Matomo
demo_mode_enabled: "เปิดการใช้งานโหมดเดโม ? (เฉพาะการใช้สำหรับเดโมสาธารณะของ wallabag)"
demo_mode_username: "ผู้ใช้ส่วนเดโม"
share_public: ยอมรับ URL สาธารณะจากการเข้าถึงข้อมูล

View File

@ -28,9 +28,9 @@
# import: "import"
# misc: "misc"
# modify_settings: "apply"
# piwik_host: Host of your website in Piwik (without http:// or https://)
# piwik_site_id: ID of your website in Piwik
# piwik_enabled: Enable Piwik
# matomo_host: Host of your website in Matomo (without http:// or https://)
# matomo_site_id: ID of your website in Matomo
# matomo_enabled: Enable Matomo
# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
# demo_mode_username: "Demo user"
# share_public: Allow public url for entries

View File

@ -0,0 +1,40 @@
settings_changed: 配置已更新
download_pictures: 在你的服务器上缓存图片
carrot: 启用分享到 Carrot
diaspora_url: diaspora* 链接,如果该服务已被启用
export_epub: 启用 ePub 导出
export_mobi: 启用 .mobi 导出
export_pdf: 启用 PDF 导出
export_csv: 启用 CSV 导出
export_json: 启用 JSON 导出
export_txt: 启用 TXT 导出
export_xml: 启用 XML 导出
import_with_rabbitmq: 启用 RabbitMQ 来异步导入数据
import_with_redis: 启用 Redis 来异步导入数据
shaarli_url: Shaarli 链接,如果该服务已被启用
scuttle_url: Scuttle 链接,如果该服务已被启用
unmark_url: Unmark 链接,如果该服务已被启用
share_diaspora: 启用分享到 diaspora*
share_mail: 启用邮件分享
share_shaarli: 启用分享到 Shaarli
share_scuttle: 启用分享到 Scuttle
share_twitter: 启用分享到 Twitter
share_unmark: 启用分享到 Unmark.it
show_printlink: 展示一个用于打印内容的链接
wallabag_support_url: wallabag 的支持链接
entry: "文章"
export: "导出"
import: "导入"
misc: "杂项"
modify_settings: "申请"
matomo_host: 你的网站在 Matomo 的主机名(不包括 http:// or https://
matomo_site_id: 你的网站在 Matomo 的 ID
matomo_enabled: 启用 Matomo
demo_mode_enabled: "启用演示模式?(仅用于 wallabag 公开演示)"
demo_mode_username: "Demo user"
share_public: 允许为项目启用公开链接
download_images_enabled: 在本地缓存图片
restricted_access: 启用针对带有付费墙网站的认证
api_user_registration: 允许新用户通过 API 注册
store_article_headers: 让 wallabag 存储每篇文章的 HTTP header
shaarli_share_origin_url: 选择分享原始链接到 Shaarli如果该服务已被启用

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path fill="none" d="M0 0h200v200H0z"/><path d="M75.899 72.438c1.597-.981 10.207-5.556 24.098.178 14.289 5.897 23.154.776 24.253.079-3.454-5.678-7.562-10.62-12.104-13.943.303-.083.612-.167.939-.263 6.023-1.742 7.553-6.842 7.875-11.21.364-4.954.616-5.03 1.692-9.487 1.032-4.281-.119-5.137-1.181-4.273-.572.465-5.552 1.616-8.505 3.919-4.768 3.72-7.707 10.794-9.039 14.706-.025.06-.205.604-.265.792-.621 1.498-1.857 1.494-1.857 1.494v.001c-.6-.065-1.202-.1-1.809-.1-.54 0-1.079.029-1.616.081-.012.002-.019 0-.031.001-1.581.233-2.45-1.697-2.632-2.157-1.847-5.304-6.816-15.763-17.984-18.577 0 0-2.028-1.554-1.41 1.074.588 2.511 1.804 5.049 1.534 8.741-.124 1.704-1.181 10.442 6.85 14.99.763.432 1.441.795 2.051 1.101-4.042 3.235-7.716 7.74-10.859 12.853zM128.626 152.353c-9.842-6.098-13.153-8.242-12.946-10.575 0 0 .002-.379.099-.957.239-1.236.995-3.348 3.407-4.552.079-.039.146-.084.208-.129 7.668-4.45 13.27-11.614 15.246-20.56-1.99 4.941-16.735 8.78-34.645 8.78-17.903 0-32.651-3.839-34.641-8.78.442 2.008 1.073 3.923 1.864 5.742.666 3.745 1.562 12.563-2.673 20.282-3.731 6.8-22.15 16.069-49.485 10.748 0 0-1.096-.766-1.428-.136-.491.932 1.517 1.685 3.583 2.229 19.031 5.04 47.756 2.989 56.777-4.443 4.116-3.388 5.704-7.953 6.107-12.865l.003.008s.11-1.287 1.719-.32c.461.277 2.125 1.36 2.39 2.585.232 1.743.248 3.883-.652 5.382-1.287 2.144-1.301 2.452.393 3.662 1.04.742 5.287 3.864 11.198 7.415.015.01.023.019.038.027 1.25.753 2.987 2.597 2.987 2.597 2.662 3.079 8.452 9.275 10.972 8.108 1.19-.551-.051-3.032-.051-3.032s1.98 2.571 3.043 1.694c.809-.668-.473-3.229-.473-3.229s1.729 1.499 2.757.944c1.258-.679-.187-4.614-10.079-10.627-9.896-6.018-12.578-6.94-12.814-9.626 0 0-.004-.135.004-.366.077-.593.414-1.847 1.852-1.712 2.141.346 4.348.531 6.608.531 2.587 0 5.107-.237 7.536-.69l.001.003s.127-.025.164-.031c.284-.036.838-.018.84.671-.09.873-.331 1.751-.845 2.519-1.447 2.168-.972 2.466.54 3.859.933.859 5.211 4.622 11.07 8.264.012.009.017.016.031.023 1.249.752 3.41 2.816 3.41 2.816v-.001c2.428 2.466 6.894 6.596 9.327 6.347 1.646-.168.306-3.002.306-3.002s2.078 2.006 3.099 1.416c1.142-.659-.474-2.755-.474-2.755s1.338.708 2.283.473c.948-.236 1.185-2.644-8.656-8.737z"/><path d="M117.631 83.452c-1.181 0-2.161.355-2.912 1.057-.76.71-1.144 1.531-1.144 2.438v16.056c0 2.154-.382 3.742-1.135 4.721-.728.946-1.892 1.406-3.556 1.406-1.703 0-2.863-.457-3.549-1.396-.716-.979-1.078-2.571-1.078-4.731V86.884c0-1.098-.5-1.996-1.448-2.596-1.289-.812-2.57-1.105-4.129-.587-.476.159-.924.366-1.333.615-.435.265-.802.597-1.093.985-.322.432-.486.901-.486 1.396v16.307c0 2.158-.363 3.75-1.079 4.73-.688.939-1.849 1.396-3.548 1.396-1.705 0-2.877-.459-3.584-1.401-.734-.979-1.107-2.57-1.107-4.726V86.947c0-.908-.384-1.728-1.145-2.438-.751-.702-1.751-1.057-2.973-1.057-1.258 0-2.296.352-3.085 1.045-.811.71-1.222 1.535-1.222 2.45v15.806c0 1.988.194 3.869.575 5.588.393 1.758 1.077 3.3 2.035 4.586.968 1.299 2.282 2.323 3.906 3.05 1.607.716 3.617 1.079 5.975 1.079 2.457 0 4.515-.455 6.115-1.354 1.342-.754 2.473-1.744 3.371-2.951.866 1.207 1.971 2.197 3.294 2.95 1.58.899 3.669 1.354 6.211 1.354 2.357 0 4.359-.364 5.947-1.081 1.601-.726 2.902-1.751 3.872-3.048.96-1.29 1.645-2.833 2.034-4.586.381-1.719.575-3.6.575-5.588V86.947c0-.911-.398-1.733-1.184-2.445-.767-.697-1.818-1.05-3.12-1.05z"/></svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@ -4,6 +4,9 @@ import $ from 'jquery';
/* Annotations */
import annotator from 'annotator';
import ClipboardJS from 'clipboard';
import 'mathjax/es5/tex-svg';
/* Fonts */
import 'material-design-icons-iconfont/dist/material-design-icons.css';
import 'lato-font/css/lato-font.css';
@ -13,8 +16,10 @@ import './global.scss';
import './js/shortcuts/entry';
import './js/shortcuts/main';
import { savePercent, retrievePercent } from './js/tools';
/* Hightlight */
import './js/highlight';
import { savePercent, retrievePercent } from './js/tools';
/* ==========================================================================
Annotations & Remember position
@ -65,7 +70,50 @@ $(document).ready(() => {
retrievePercent(x.entryId);
$(window).resize(() => {
retrievePercent(x.entryId);
retrievePercent(x.entryId, true);
});
}
document.querySelectorAll('[data-handler=tag-rename]').forEach((item) => {
const current = item;
current.wallabag_edit_mode = false;
current.onclick = (event) => {
const target = event.currentTarget;
if (target.wallabag_edit_mode === false) {
$(target.parentNode.querySelector('[data-handle=tag-link]')).addClass('hidden');
$(target.parentNode.querySelector('[data-handle=tag-rename-form]')).removeClass('hidden');
target.parentNode.querySelector('[data-handle=tag-rename-form] input').focus();
target.querySelector('.material-icons').innerHTML = 'done';
target.wallabag_edit_mode = true;
} else {
target.parentNode.querySelector('[data-handle=tag-rename-form]').submit();
}
};
});
// mimic radio button because emailTwoFactor is a boolean
$('#update_user_googleTwoFactor').on('change', () => {
$('#update_user_emailTwoFactor').prop('checked', false);
});
$('#update_user_emailTwoFactor').on('change', () => {
$('#update_user_googleTwoFactor').prop('checked', false);
});
// same mimic for super admin
$('#user_googleTwoFactor').on('change', () => {
$('#user_emailTwoFactor').prop('checked', false);
});
$('#user_emailTwoFactor').on('change', () => {
$('#user_googleTwoFactor').prop('checked', false);
});
// handle copy to clipboard for developer stuff
const clipboard = new ClipboardJS('.btn');
clipboard.on('success', (e) => {
e.clearSelection();
});
});

View File

@ -0,0 +1,8 @@
import 'highlight.js/styles/atom-one-light.css';
import * as hljs from 'highlight.js';
window.addEventListener('load', () => {
document.querySelectorAll('pre').forEach((node) => {
hljs.highlightBlock(node);
});
});

View File

@ -19,14 +19,16 @@ function savePercent(id, percent) {
return true;
}
function retrievePercent(id) {
function retrievePercent(id, resized) {
if (!supportsLocalStorage()) { return false; }
const bheight = $(document).height();
const percent = localStorage[`wallabag.article.${id}.percent`];
const scroll = bheight * percent;
$('html,body').animate({ scrollTop: scroll }, 'fast');
if (!resized) {
$('html,body').animate({ scrollTop: scroll }, 'fast');
}
return true;
}

View File

@ -221,6 +221,12 @@ ol li:last-child {
padding-bottom: 0;
}
iframe,
video {
max-width: 100%;
height: auto;
}
mark {
padding: 0 0.2em;
}

View File

@ -85,7 +85,7 @@ blockquote {
color: #999;
}
.icon-rss {
.icon-feed {
background-color: #000;
color: #fff;
padding: 0.2em 0.5em;
@ -101,8 +101,8 @@ blockquote {
margin-bottom: 0.5em;
}
.icon-rss:hover,
.icon-rss:focus {
.icon-feed:hover,
.icon-feed:focus {
background-color: #fff;
color: #000;
text-decoration: none;

View File

@ -295,6 +295,15 @@ div.pagination ul {
}
}
.hide {
.card-tag-form {
display: inline-block;
}
.card-tag-form input[type="text"] {
min-width: 20em;
}
.hide,
.hidden {
display: none;
}

View File

@ -170,3 +170,9 @@
width: 100%;
}
}
@media only print {
header h1.logo {
display: none;
}
}

View File

@ -136,7 +136,7 @@
content: "\ea3a";
}
.icon-rss::before {
.icon-feed::before {
content: "\e808";
}

View File

@ -6,11 +6,15 @@
font-size: 20px;
margin: 0 auto;
max-width: 45em;
padding: 5px 20px;
background-color: #fff;
box-shadow: 0 0 10px #ccc;
article {
color: #424242;
font-size: 18px;
line-height: 1.7em;
overflow-wrap: break-word;
h1,
h2,
@ -50,7 +54,7 @@
}
a {
border-bottom: 1px dotted #03a9f4;
border-bottom: 1px dotted $blueAccentColor;
text-decoration: none;
}
@ -107,7 +111,7 @@
flex-flow: row wrap;
.stats {
font-size: 0.8em;
font-size: 0.7em;
margin: 8px 5px 5px;
li {
@ -118,6 +122,7 @@
i.material-icons {
color: #3e3e3e;
margin-right: 3px;
font-size: 18px;
}
}
@ -134,10 +139,12 @@
}
.chip {
background-color: $blueAccentColor;
background-color: #9e9e9e;
padding: 0 15px 0 10px;
margin: auto 2px;
border-radius: 6px;
height: 18px;
line-height: 18px;
a,
i {
@ -146,8 +153,8 @@
i.material-icons {
float: right;
font-size: 20px;
line-height: 32px;
font-size: 16px;
line-height: 18px;
padding-left: 8px;
}
}
@ -171,18 +178,18 @@
&:hover {
width: 260px !important;
.collapsible-body {
height: auto;
li a i.material-icons {
margin: auto 5px auto -8px;
}
}
span {
opacity: 1;
}
}
.collapsible-body {
height: auto;
li a i.material-icons {
margin: auto 5px auto -8px;
}
}
}
.progress {

Some files were not shown because too many files have changed in this diff Show More