forked from wallabag/wallabag
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 345a373dc8 |
@ -8,7 +8,3 @@ indent_style = space
|
|||||||
indent_size = 4
|
indent_size = 4
|
||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
|
|
||||||
[*.{js,css}]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
|
|||||||
@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": "airbnb-base",
|
|
||||||
"parser": "babel-eslint",
|
|
||||||
"env": {
|
|
||||||
"browser": true,
|
|
||||||
"es6": true
|
|
||||||
},
|
|
||||||
"globals": {
|
|
||||||
"Routing": true
|
|
||||||
},
|
|
||||||
"rules": {
|
|
||||||
"import/no-extraneous-dependencies": ["error", {"devDependencies": true, "optionalDependencies": true, "peerDependencies": true}]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
2
.github/ISSUE_TEMPLATE.md
vendored
2
.github/ISSUE_TEMPLATE.md
vendored
@ -1,5 +1,3 @@
|
|||||||
:warning: If your issue is about an error during fetching a link, please read: http://doc.wallabag.org/en/master/user/errors_during_fetching.html#how-can-i-help-to-fix-that
|
|
||||||
|
|
||||||
### Issue details
|
### Issue details
|
||||||
|
|
||||||
Please provide issue details here.
|
Please provide issue details here.
|
||||||
|
|||||||
21
.github/PULL_REQUEST_TEMPLATE.md
vendored
21
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,16 +1,11 @@
|
|||||||
| Q | A
|
| Q | A
|
||||||
| ------------- | ---
|
| ------------- | ---
|
||||||
| Bug fix? | yes/no
|
| Bug fix? | yes|no
|
||||||
| New feature? | yes/no
|
| New feature? | yes|no
|
||||||
| BC breaks? | yes/no
|
| BC breaks? | yes|no
|
||||||
| Deprecations? | yes/no
|
| Deprecations? | yes|no
|
||||||
| Tests pass? | yes/no
|
| Tests pass? | yes|no
|
||||||
| Documentation | yes/no
|
| Documentation | yes|no
|
||||||
| Translation | yes/no
|
| Translation | yes|no
|
||||||
| Fixed tickets | #...
|
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
|
||||||
| License | MIT
|
| License | MIT
|
||||||
|
|
||||||
<!--
|
|
||||||
- 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.
|
|
||||||
-->
|
|
||||||
|
|||||||
20
.gitignore
vendored
20
.gitignore
vendored
@ -21,12 +21,8 @@
|
|||||||
/vendor/
|
/vendor/
|
||||||
|
|
||||||
# Assets and user uploads
|
# Assets and user uploads
|
||||||
web/uploads/
|
/web/bundles/
|
||||||
!web/bundles
|
/web/uploads/
|
||||||
web/bundles/*
|
|
||||||
!web/bundles/wallabagcore
|
|
||||||
/web/assets/images/*
|
|
||||||
!web/assets/images/.gitkeep
|
|
||||||
|
|
||||||
# Build
|
# Build
|
||||||
/app/build
|
/app/build
|
||||||
@ -36,6 +32,7 @@ web/bundles/*
|
|||||||
/composer.phar
|
/composer.phar
|
||||||
|
|
||||||
# Data for wallabag
|
# Data for wallabag
|
||||||
|
data/assets/*
|
||||||
data/db/wallabag*.sqlite
|
data/db/wallabag*.sqlite
|
||||||
|
|
||||||
# Docker container logs and data
|
# Docker container logs and data
|
||||||
@ -44,14 +41,3 @@ docker/data/
|
|||||||
|
|
||||||
# To avoid crazy stuff on some PR, we must manually FORCE ADD IT on each new release
|
# To avoid crazy stuff on some PR, we must manually FORCE ADD IT on each new release
|
||||||
composer.lock
|
composer.lock
|
||||||
|
|
||||||
# assets stuff
|
|
||||||
node_modules/
|
|
||||||
bin
|
|
||||||
app/Resources/build/
|
|
||||||
!/src/Wallabag/CoreBundle/Resources/public
|
|
||||||
/src/Wallabag/CoreBundle/Resources/public/*
|
|
||||||
|
|
||||||
# Test-generated files
|
|
||||||
admin-export.json
|
|
||||||
specialexport.json
|
|
||||||
|
|||||||
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": "stylelint-config-standard"
|
|
||||||
}
|
|
||||||
49
.travis.yml
49
.travis.yml
@ -1,9 +1,5 @@
|
|||||||
language: php
|
language: php
|
||||||
|
|
||||||
services:
|
|
||||||
- rabbitmq
|
|
||||||
- redis
|
|
||||||
|
|
||||||
# faster builds on docker-container setup
|
# faster builds on docker-container setup
|
||||||
sudo: false
|
sudo: false
|
||||||
|
|
||||||
@ -19,9 +15,6 @@ cache:
|
|||||||
directories:
|
directories:
|
||||||
- vendor
|
- vendor
|
||||||
- $HOME/.composer/cache
|
- $HOME/.composer/cache
|
||||||
- node_modules
|
|
||||||
- $HOME/.cache/bower
|
|
||||||
- $HOME/.npm
|
|
||||||
|
|
||||||
php:
|
php:
|
||||||
- 5.5
|
- 5.5
|
||||||
@ -30,9 +23,6 @@ php:
|
|||||||
- 7.1
|
- 7.1
|
||||||
- nightly
|
- nightly
|
||||||
|
|
||||||
node_js:
|
|
||||||
- "5"
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- DB=mysql
|
- DB=mysql
|
||||||
- DB=pgsql
|
- DB=pgsql
|
||||||
@ -41,9 +31,30 @@ env:
|
|||||||
matrix:
|
matrix:
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
include:
|
include:
|
||||||
|
# driver for PostgreSQL currently unsupported by HHVM, requires 3rd party dependency
|
||||||
|
- php: hhvm-3.12
|
||||||
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
group: edge
|
||||||
|
env: DB=mysql
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- mysql-server-5.6
|
||||||
|
- mysql-client-core-5.6
|
||||||
|
- mysql-client-5.6
|
||||||
|
services:
|
||||||
|
- mysql
|
||||||
|
- php: hhvm-3.12
|
||||||
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
group: edge
|
||||||
|
env: DB=sqlite
|
||||||
- php: 7.0
|
- php: 7.0
|
||||||
env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run ASSETS=build DB=sqlite
|
env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run DB=sqlite
|
||||||
allow_failures:
|
allow_failures:
|
||||||
|
- php: hhvm-3.12
|
||||||
|
- php: 7.1
|
||||||
- php: nightly
|
- php: nightly
|
||||||
|
|
||||||
# exclude v1 branches
|
# exclude v1 branches
|
||||||
@ -57,12 +68,7 @@ before_script:
|
|||||||
# xdebug isn't enable for PHP 7.1
|
# xdebug isn't enable for PHP 7.1
|
||||||
- if [[ ! $PHP = hhvm* ]]; then phpenv config-rm xdebug.ini || echo "xdebug not available"; fi
|
- if [[ ! $PHP = hhvm* ]]; then phpenv config-rm xdebug.ini || echo "xdebug not available"; fi
|
||||||
- composer self-update --no-progress
|
- composer self-update --no-progress
|
||||||
- if [[ $DB = pgsql ]]; then psql -c 'create database wallabag_test;' -U postgres; fi;
|
- if [[ "$DB" = "pgsql" ]]; then psql -c 'create database wallabag_test;' -U postgres; fi;
|
||||||
|
|
||||||
install:
|
|
||||||
- if [[ $ASSETS = build ]]; then source ~/.nvm/nvm.sh && nvm install 6.7; fi;
|
|
||||||
- if [[ $ASSETS = build ]]; then npm install -g npm@latest; fi;
|
|
||||||
- if [[ $ASSETS = build ]]; then npm install; fi;
|
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
|
- if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
|
||||||
@ -70,9 +76,6 @@ before_install:
|
|||||||
script:
|
script:
|
||||||
- travis_wait composer update --no-interaction --no-progress
|
- travis_wait composer update --no-interaction --no-progress
|
||||||
- ant prepare-$DB
|
- ant prepare-$DB
|
||||||
- if [[ $VALIDATE_TRANSLATION_FILE = '' ]]; then ./bin/simple-phpunit -v ; fi;
|
- phpunit -v
|
||||||
- if [[ $CS_FIXER = run ]]; then php bin/php-cs-fixer fix src/ --verbose --dry-run ; fi;
|
- if [ "$CS_FIXER" = "run" ]; then php bin/php-cs-fixer fix src/ --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 src/Wallabag/CoreBundle/Resources/translations -v ; fi;
|
||||||
- if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml app/Resources/CraueConfigBundle/translations -v ; fi;
|
|
||||||
- if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml src/Wallabag/UserBundle/Resources/translations -v ; fi;
|
|
||||||
- if [[ $ASSETS = build ]]; then ./node_modules/grunt-cli/bin/grunt tests; fi;
|
|
||||||
|
|||||||
737
CHANGELOG.md
737
CHANGELOG.md
@ -1,650 +1,193 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## [2.2.3](https://github.com/wallabag/wallabag/tree/2.2.3) (2017-05-17)
|
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.2.2...2.2.3)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Lock guzzle-site-authenticator to avoid errors [\#3124](https://github.com/wallabag/wallabag/pull/3124) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- reorder contrib strings in about page [\#3123](https://github.com/wallabag/wallabag/pull/3123) ([X-dark](https://github.com/X-dark))
|
|
||||||
- Fixed documentation URL [\#3117](https://github.com/wallabag/wallabag/pull/3117) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Update graby\* licenses [\#3097](https://github.com/wallabag/wallabag/pull/3097) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Fix API pagination is broken if perPage is custom value [\#3096](https://github.com/wallabag/wallabag/pull/3096) ([aaa2000](https://github.com/aaa2000))
|
|
||||||
- Create a new entry via API even when its content can't be retrieved [\#3095](https://github.com/wallabag/wallabag/pull/3095) ([aaa2000](https://github.com/aaa2000))
|
|
||||||
- Translate error message in login page [\#3090](https://github.com/wallabag/wallabag/pull/3090) ([aaa2000](https://github.com/aaa2000))
|
|
||||||
- Fix display the form errors correctly [\#3082](https://github.com/wallabag/wallabag/pull/3082) ([aaa2000](https://github.com/aaa2000))
|
|
||||||
- Disable negative numbers in filters [\#3076](https://github.com/wallabag/wallabag/pull/3076) ([bourvill](https://github.com/bourvill))
|
|
||||||
- Small typo in documentation fix \#3061 [\#3072](https://github.com/wallabag/wallabag/pull/3072) ([bourvill](https://github.com/bourvill))
|
|
||||||
- Ignore tests exported files [\#3066](https://github.com/wallabag/wallabag/pull/3066) ([tcitworld](https://github.com/tcitworld))
|
|
||||||
- Correct create\_application en string [\#3064](https://github.com/wallabag/wallabag/pull/3064) ([gileri](https://github.com/gileri))
|
|
||||||
- Make symfony-assets-install use `relative` symlinks [\#3052](https://github.com/wallabag/wallabag/pull/3052) ([shtrom](https://github.com/shtrom))
|
|
||||||
- Add export notice at the end of the epub [\#3023](https://github.com/wallabag/wallabag/pull/3023) ([mart-e](https://github.com/mart-e))
|
|
||||||
- Save alpha channel when downloading PNG images [\#3017](https://github.com/wallabag/wallabag/pull/3017) ([Kdecherf](https://github.com/Kdecherf))
|
|
||||||
- Update paywall.rst \(more details and clear cache\) [\#2985](https://github.com/wallabag/wallabag/pull/2985) ([etiess](https://github.com/etiess))
|
|
||||||
- Update paywall.rst \(EN\) with details + clear cache [\#2971](https://github.com/wallabag/wallabag/pull/2971) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- remove language on html tag [\#2968](https://github.com/wallabag/wallabag/pull/2968) ([chrido](https://github.com/chrido))
|
|
||||||
|
|
||||||
## [2.2.2](https://github.com/wallabag/wallabag/tree/2.2.2) (2017-03-02)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.2.1...2.2.2)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Changed wallabag version [\#2954](https://github.com/wallabag/wallabag/pull/2954) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Update Polish translation [\#2932](https://github.com/wallabag/wallabag/pull/2932) ([mruminski](https://github.com/mruminski))
|
|
||||||
- Update Spanish translation [\#2917](https://github.com/wallabag/wallabag/pull/2917) ([ngosang](https://github.com/ngosang))
|
|
||||||
- Remove word repetition from german translation [\#2911](https://github.com/wallabag/wallabag/pull/2911) ([jlnostr](https://github.com/jlnostr))
|
|
||||||
- Italian documentation added [\#2878](https://github.com/wallabag/wallabag/pull/2878) ([matteocoder](https://github.com/matteocoder))
|
|
||||||
- Add informations about Apache 2.4 [\#2874](https://github.com/wallabag/wallabag/pull/2874) ([kgaut](https://github.com/kgaut))
|
|
||||||
- Fixed symlinks issue during release creation [\#2950](https://github.com/wallabag/wallabag/pull/2950) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Use wallabag/tcpdf [\#2931](https://github.com/wallabag/wallabag/pull/2931) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Add activation of 'rewrite' mod of Apache [\#2926](https://github.com/wallabag/wallabag/pull/2926) ([qtheuret](https://github.com/qtheuret))
|
|
||||||
- Updated CHANGELOG with latest changes [\#2916](https://github.com/wallabag/wallabag/pull/2916) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Import: we now skip messages when user is null [\#2915](https://github.com/wallabag/wallabag/pull/2915) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Added wallabag.it link in README [\#2913](https://github.com/wallabag/wallabag/pull/2913) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Moved :it: documentation into it folder [\#2908](https://github.com/wallabag/wallabag/pull/2908) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Alert that 2FA must be authorized in app/config/parameters.yml [\#2905](https://github.com/wallabag/wallabag/pull/2905) ([nicofrand](https://github.com/nicofrand))
|
|
||||||
- Update Spanish translation [\#2892](https://github.com/wallabag/wallabag/pull/2892) ([ngosang](https://github.com/ngosang))
|
|
||||||
- Doc: translated mobile apps configuration in french [\#2882](https://github.com/wallabag/wallabag/pull/2882) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fixed typo in "first\_steps" [\#2879](https://github.com/wallabag/wallabag/pull/2879) ([matteocoder](https://github.com/matteocoder))
|
|
||||||
- Doc - information about Apache 2.4 [\#2875](https://github.com/wallabag/wallabag/pull/2875) ([kgaut](https://github.com/kgaut))
|
|
||||||
- Log restricted access value [\#2869](https://github.com/wallabag/wallabag/pull/2869) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- docs 3rd party tools: update java wrapper, add cmd tool to add article [\#2860](https://github.com/wallabag/wallabag/pull/2860) ([Strubbl](https://github.com/Strubbl))
|
|
||||||
- fix misspells in polish translation [\#2846](https://github.com/wallabag/wallabag/pull/2846) ([mruminski](https://github.com/mruminski))
|
|
||||||
- Update RulerZ [\#2842](https://github.com/wallabag/wallabag/pull/2842) ([K-Phoen](https://github.com/K-Phoen))
|
|
||||||
- Show active list in the left menu during search [\#2841](https://github.com/wallabag/wallabag/pull/2841) ([Kdecherf](https://github.com/Kdecherf))
|
|
||||||
- Restored correct version for framework-extra-bundle [\#2840](https://github.com/wallabag/wallabag/pull/2840) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- scripts/update.sh: 18: scripts/update.sh: composer.phar: not found [\#2839](https://github.com/wallabag/wallabag/pull/2839) ([foxmask](https://github.com/foxmask))
|
|
||||||
- Update Oc version [\#2838](https://github.com/wallabag/wallabag/pull/2838) ([Quent-in](https://github.com/Quent-in))
|
|
||||||
- Search by term: extend to entries url [\#2832](https://github.com/wallabag/wallabag/pull/2832) ([Kdecherf](https://github.com/Kdecherf))
|
|
||||||
- Update of CraueConfigBundle in Occitan [\#2831](https://github.com/wallabag/wallabag/pull/2831) ([Quent-in](https://github.com/Quent-in))
|
|
||||||
- Fix rendering of entry title in Twig views [\#2830](https://github.com/wallabag/wallabag/pull/2830) ([Kdecherf](https://github.com/Kdecherf))
|
|
||||||
- Translate missing strings for de-DE. [\#2826](https://github.com/wallabag/wallabag/pull/2826) ([jlnostr](https://github.com/jlnostr))
|
|
||||||
- Renamed Developer section to API client management [\#2824](https://github.com/wallabag/wallabag/pull/2824) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fix nav-panel-search height [\#2818](https://github.com/wallabag/wallabag/pull/2818) ([Kdecherf](https://github.com/Kdecherf))
|
|
||||||
- Added details about upgrade from 2.1.x or 2.2.0 [\#2816](https://github.com/wallabag/wallabag/pull/2816) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Documentation on how to configure mobile apps to work with wallabag.it [\#2788](https://github.com/wallabag/wallabag/pull/2788) ([Zettt](https://github.com/Zettt))
|
|
||||||
- first\_article.rst already inside articles.rst [\#2785](https://github.com/wallabag/wallabag/pull/2785) ([matteocoder](https://github.com/matteocoder))
|
|
||||||
- share.rst already integrated inside articles.rst [\#2784](https://github.com/wallabag/wallabag/pull/2784) ([matteocoder](https://github.com/matteocoder))
|
|
||||||
|
|
||||||
## [2.2.1](https://github.com/wallabag/wallabag/tree/2.2.1) (2017-01-31)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.2.0...2.2.1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Prepare wallabag 2.2.1 :rocket: [\#2812](https://github.com/wallabag/wallabag/pull/2812) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fixed duplicate entry for share\_public in craue\_setting\_table [\#2809](https://github.com/wallabag/wallabag/pull/2809) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [2.2.0](https://github.com/wallabag/wallabag/tree/2.2.0) (2017-01-28)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.1.6.1...2.2.0)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Prepare wallabag 2.2.0 🚀 [\#2790](https://github.com/wallabag/wallabag/pull/2790) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Added indexes on is\_archived and is\_starred [\#2789](https://github.com/wallabag/wallabag/pull/2789) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fix \#2056 update config.yml [\#2624](https://github.com/wallabag/wallabag/pull/2624) ([Rurik19](https://github.com/Rurik19))
|
|
||||||
- Change version to 2.2.0-dev [\#2608](https://github.com/wallabag/wallabag/pull/2608) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- wallabag 2.2.0 [\#2416](https://github.com/wallabag/wallabag/pull/2416) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
|
|
||||||
## [2.1.6.1](https://github.com/wallabag/wallabag/tree/2.1.6.1) (2017-01-23)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.1.6...2.1.6.1)
|
|
||||||
|
|
||||||
## [2.1.6](https://github.com/wallabag/wallabag/tree/2.1.6) (2017-01-18)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.1.5...2.1.6)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Update copyright year [\#2736](https://github.com/wallabag/wallabag/pull/2736) ([lex111](https://github.com/lex111))
|
|
||||||
- Prepare wallabag 2.1.6 :rocket: [\#2759](https://github.com/wallabag/wallabag/pull/2759) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fixed possible JS injection via the title edition [\#2758](https://github.com/wallabag/wallabag/pull/2758) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [2.1.5](https://github.com/wallabag/wallabag/tree/2.1.5) (2016-11-21)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.1.4...2.1.5)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Prepare wallabag 2.1.5 [\#2625](https://github.com/wallabag/wallabag/pull/2625) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Force composer to run as PHP 5.5.9 [\#2623](https://github.com/wallabag/wallabag/pull/2623) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
|
|
||||||
## [2.1.4](https://github.com/wallabag/wallabag/tree/2.1.4) (2016-11-19)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.1.3...2.1.4)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Updated changelog for 2.1.4 [\#2607](https://github.com/wallabag/wallabag/pull/2607) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Add .travis.yml change to RELEASE\_PROCESS [\#2605](https://github.com/wallabag/wallabag/pull/2605) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- wallabag can’t work on PostgreSQL \<= 9.1 [\#2604](https://github.com/wallabag/wallabag/pull/2604) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Fix clear-cache problem using —no-dev [\#2603](https://github.com/wallabag/wallabag/pull/2603) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Prepare wallabag 2.1.4 :rocket: [\#2596](https://github.com/wallabag/wallabag/pull/2596) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- User-agents have moved to site-config [\#2587](https://github.com/wallabag/wallabag/pull/2587) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- fix \#2582 - Documentation, Nginx config: disable all other PHP file from symphony [\#2584](https://github.com/wallabag/wallabag/pull/2584) ([blankoworld](https://github.com/blankoworld))
|
|
||||||
- Added help on config screen [\#2578](https://github.com/wallabag/wallabag/pull/2578) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Added tooltips in header bar [\#2577](https://github.com/wallabag/wallabag/pull/2577) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Changed behavior when we change language [\#2571](https://github.com/wallabag/wallabag/pull/2571) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Added creation date on entries view [\#2570](https://github.com/wallabag/wallabag/pull/2570) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Removed support website on about page [\#2565](https://github.com/wallabag/wallabag/pull/2565) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Improve PR template [\#2563](https://github.com/wallabag/wallabag/pull/2563) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Bigger image preview in case of only image content [\#2562](https://github.com/wallabag/wallabag/pull/2562) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Improve tags list on small screen [\#2561](https://github.com/wallabag/wallabag/pull/2561) ([Rurik19](https://github.com/Rurik19))
|
|
||||||
- Replaced TokenStorage with TokenStorageInterface [\#2556](https://github.com/wallabag/wallabag/pull/2556) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Reorder variable assignation in update.sh script, fix \#2554 [\#2555](https://github.com/wallabag/wallabag/pull/2555) ([dkrmr](https://github.com/dkrmr))
|
|
||||||
- Round readingtime to avoid crazy number [\#2552](https://github.com/wallabag/wallabag/pull/2552) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Reordered documentation [\#2550](https://github.com/wallabag/wallabag/pull/2550) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Updated default parameters.yml file in documentation [\#2546](https://github.com/wallabag/wallabag/pull/2546) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Update the upgrade documentation [\#2545](https://github.com/wallabag/wallabag/pull/2545) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [2.1.3](https://github.com/wallabag/wallabag/tree/2.1.3) (2016-11-04)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.1.2...2.1.3)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Force user-agent for .slashdot.org [\#2528](https://github.com/wallabag/wallabag/pull/2528) ([Kdecherf](https://github.com/Kdecherf))
|
|
||||||
- Translation update - French [\#2519](https://github.com/wallabag/wallabag/pull/2519) ([Jibec](https://github.com/Jibec))
|
|
||||||
- docs: fix link to wallabag-stats project [\#2518](https://github.com/wallabag/wallabag/pull/2518) ([Strubbl](https://github.com/Strubbl))
|
|
||||||
- docs: update 3rd party projects by Strubbl [\#2514](https://github.com/wallabag/wallabag/pull/2514) ([Strubbl](https://github.com/Strubbl))
|
|
||||||
- Fix missing words in Android application documentation [\#2485](https://github.com/wallabag/wallabag/pull/2485) ([bmillemathias](https://github.com/bmillemathias))
|
|
||||||
- Removed MD5 hash in documentation [\#2466](https://github.com/wallabag/wallabag/pull/2466) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Prepare wallabag 2.1.3 :rocket: [\#2536](https://github.com/wallabag/wallabag/pull/2536) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Use created\_at as default sort [\#2534](https://github.com/wallabag/wallabag/pull/2534) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Added documentation about failed to load external entity error [\#2530](https://github.com/wallabag/wallabag/pull/2530) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Add Instapaper to CLI import [\#2524](https://github.com/wallabag/wallabag/pull/2524) ([lologhi](https://github.com/lologhi))
|
|
||||||
- fix path for the install scripts [\#2521](https://github.com/wallabag/wallabag/pull/2521) ([foxmask](https://github.com/foxmask))
|
|
||||||
- Inject parameter instead of service [\#2520](https://github.com/wallabag/wallabag/pull/2520) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Updated Capistrano configuration [\#2513](https://github.com/wallabag/wallabag/pull/2513) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Exploded WallabagRestController into many controllers [\#2509](https://github.com/wallabag/wallabag/pull/2509) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Added the whole path to parameters.yml file [\#2508](https://github.com/wallabag/wallabag/pull/2508) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Added require.sh to check if composer is installed [\#2507](https://github.com/wallabag/wallabag/pull/2507) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fixed entries export filtered with a tag [\#2506](https://github.com/wallabag/wallabag/pull/2506) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Added tag label in the page title [\#2504](https://github.com/wallabag/wallabag/pull/2504) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Added a check in Makefile to see if composer is installed [\#2500](https://github.com/wallabag/wallabag/pull/2500) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Add relevant links to fetch content error page [\#2493](https://github.com/wallabag/wallabag/pull/2493) ([bmillemathias](https://github.com/bmillemathias))
|
|
||||||
- Added :fr: documentation for wallabag backup [\#2486](https://github.com/wallabag/wallabag/pull/2486) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Document what to backup in Wallabag [\#2484](https://github.com/wallabag/wallabag/pull/2484) ([bmillemathias](https://github.com/bmillemathias))
|
|
||||||
- If reload content failed, don’t update it [\#2482](https://github.com/wallabag/wallabag/pull/2482) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Some fixes [\#2481](https://github.com/wallabag/wallabag/pull/2481) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Portuguese \(Brazilian\) translation [\#2473](https://github.com/wallabag/wallabag/pull/2473) ([pmichelazzo](https://github.com/pmichelazzo))
|
|
||||||
- Update wallabag version for master branch [\#2467](https://github.com/wallabag/wallabag/pull/2467) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- UI Changes [\#2460](https://github.com/wallabag/wallabag/pull/2460) ([tcitworld](https://github.com/tcitworld))
|
|
||||||
|
|
||||||
## [2.1.2](https://github.com/wallabag/wallabag/tree/2.1.2) (2016-10-17)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.1.1...2.1.2)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- German: improve existing and add missing translation [\#2459](https://github.com/wallabag/wallabag/pull/2459) ([Strubbl](https://github.com/Strubbl))
|
|
||||||
- add link to German documentation in about page [\#2457](https://github.com/wallabag/wallabag/pull/2457) ([Strubbl](https://github.com/Strubbl))
|
|
||||||
- Bring make dev [\#2451](https://github.com/wallabag/wallabag/pull/2451) ([tcitworld](https://github.com/tcitworld))
|
|
||||||
- Update ISSUE\_TEMPLATE.md [\#2432](https://github.com/wallabag/wallabag/pull/2432) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Define a dev version for the master [\#2417](https://github.com/wallabag/wallabag/pull/2417) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- try to reduce assets build npm connection failing by updating nodejs [\#2375](https://github.com/wallabag/wallabag/pull/2375) ([tcitworld](https://github.com/tcitworld))
|
|
||||||
- Fixed hardcoded title for internal settings [\#2464](https://github.com/wallabag/wallabag/pull/2464) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fix tabs on material [\#2455](https://github.com/wallabag/wallabag/pull/2455) ([tcitworld](https://github.com/tcitworld))
|
|
||||||
- Fix baggy display on small screens [\#2454](https://github.com/wallabag/wallabag/pull/2454) ([tcitworld](https://github.com/tcitworld))
|
|
||||||
- Prepare wallabag 2.1.2 :rocket: [\#2452](https://github.com/wallabag/wallabag/pull/2452) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- View improvements [\#2450](https://github.com/wallabag/wallabag/pull/2450) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fixed french and german doc homepages [\#2447](https://github.com/wallabag/wallabag/pull/2447) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Added information about tagging rules in documentation [\#2446](https://github.com/wallabag/wallabag/pull/2446) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Mention example instance in docs [\#2444](https://github.com/wallabag/wallabag/pull/2444) ([Kaligule](https://github.com/Kaligule))
|
|
||||||
- Minor fixes in the english documentation [\#2439](https://github.com/wallabag/wallabag/pull/2439) ([zertrin](https://github.com/zertrin))
|
|
||||||
- Added french documentation for upgrade [\#2435](https://github.com/wallabag/wallabag/pull/2435) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Added french documentation for parameters.yml [\#2434](https://github.com/wallabag/wallabag/pull/2434) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Lock deps for FOSUser [\#2429](https://github.com/wallabag/wallabag/pull/2429) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Fix links on english documentation homepage [\#2426](https://github.com/wallabag/wallabag/pull/2426) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fixed display for note in installation page [\#2422](https://github.com/wallabag/wallabag/pull/2422) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Avoid error when Redis isn't here in tests [\#2420](https://github.com/wallabag/wallabag/pull/2420) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Fixed Twitter Cards by adding a description tag [\#2419](https://github.com/wallabag/wallabag/pull/2419) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Added support of Twitter Cards for public articles [\#2418](https://github.com/wallabag/wallabag/pull/2418) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Remove automatic closing of the window from bookmarklet [\#2414](https://github.com/wallabag/wallabag/pull/2414) ([szafranek](https://github.com/szafranek))
|
|
||||||
- When a sub command fail, display error message [\#2413](https://github.com/wallabag/wallabag/pull/2413) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Fix PostgreSQL migrations [\#2412](https://github.com/wallabag/wallabag/pull/2412) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Fix entities definition [\#2411](https://github.com/wallabag/wallabag/pull/2411) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Optimize tag list display [\#2410](https://github.com/wallabag/wallabag/pull/2410) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Show number of annotations instead of nbAnnotations placeholder [\#2406](https://github.com/wallabag/wallabag/pull/2406) ([szafranek](https://github.com/szafranek))
|
|
||||||
- Fix few invalid HTML tags [\#2405](https://github.com/wallabag/wallabag/pull/2405) ([szafranek](https://github.com/szafranek))
|
|
||||||
- Cleaned up documentation for installation process [\#2403](https://github.com/wallabag/wallabag/pull/2403) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Removed 1.x stuff in CHANGELOG [\#2402](https://github.com/wallabag/wallabag/pull/2402) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Set env to prod in documentation [\#2400](https://github.com/wallabag/wallabag/pull/2400) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Use default locale for user config [\#2399](https://github.com/wallabag/wallabag/pull/2399) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Ensure orphan tag are remove in API [\#2397](https://github.com/wallabag/wallabag/pull/2397) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Update messages.pl.yml [\#2396](https://github.com/wallabag/wallabag/pull/2396) ([mruminski](https://github.com/mruminski))
|
|
||||||
- Add ability to use socket [\#2395](https://github.com/wallabag/wallabag/pull/2395) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Ability to check multiple urls in API [\#2393](https://github.com/wallabag/wallabag/pull/2393) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Added default picture if preview picture is null [\#2389](https://github.com/wallabag/wallabag/pull/2389) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fixed two-factor checkbox display in user admin panel [\#2388](https://github.com/wallabag/wallabag/pull/2388) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Changed Changelog by using github-changelog-generator from @skywinder [\#2386](https://github.com/wallabag/wallabag/pull/2386) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Added documentation about siteconfig fix [\#2385](https://github.com/wallabag/wallabag/pull/2385) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Added OpenGraph support for public articles [\#2383](https://github.com/wallabag/wallabag/pull/2383) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fix exists API call [\#2377](https://github.com/wallabag/wallabag/pull/2377) ([tcitworld](https://github.com/tcitworld))
|
|
||||||
- Clickable tags [\#2374](https://github.com/wallabag/wallabag/pull/2374) ([tcitworld](https://github.com/tcitworld))
|
|
||||||
- Remove mouf/nodejs-installer from composer [\#2363](https://github.com/wallabag/wallabag/pull/2363) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Changed relation between API client and refresh token [\#2351](https://github.com/wallabag/wallabag/pull/2351) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fix relations export for Entry [\#2332](https://github.com/wallabag/wallabag/pull/2332) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
|
|
||||||
## [2.1.1](https://github.com/wallabag/wallabag/tree/2.1.1) (2016-10-04)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.1.0...2.1.1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Create config even if user is disabled [\#2359](https://github.com/wallabag/wallabag/pull/2359) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Add php-bcmath extension to requirements [\#2354](https://github.com/wallabag/wallabag/pull/2354) ([Zayon](https://github.com/Zayon))
|
|
||||||
- Basically, fix everything [\#2353](https://github.com/wallabag/wallabag/pull/2353) ([tcitworld](https://github.com/tcitworld))
|
|
||||||
- Prepare wallabag 2.1.1 [\#2349](https://github.com/wallabag/wallabag/pull/2349) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Update messages.pl.yml [\#2341](https://github.com/wallabag/wallabag/pull/2341) ([mruminski](https://github.com/mruminski))
|
|
||||||
- small improvement for german translation [\#2340](https://github.com/wallabag/wallabag/pull/2340) ([Strubbl](https://github.com/Strubbl))
|
|
||||||
- Fix for 2.1 installation [\#2338](https://github.com/wallabag/wallabag/pull/2338) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
|
|
||||||
## [2.1.0](https://github.com/wallabag/wallabag/tree/2.1.0) (2016-10-03)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.0.8...2.1.0)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Docker : install PHP 'gd' extension [\#2319](https://github.com/wallabag/wallabag/pull/2319) ([pmartin](https://github.com/pmartin))
|
|
||||||
- Fix issue \#2296: epub export with special chars in the title. [\#2297](https://github.com/wallabag/wallabag/pull/2297) ([egilli](https://github.com/egilli))
|
|
||||||
- Remove error message when creating ePub versions [\#2330](https://github.com/wallabag/wallabag/pull/2330) ([pmichelazzo](https://github.com/pmichelazzo))
|
|
||||||
- wallabag 2.1 [\#1999](https://github.com/wallabag/wallabag/pull/1999) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [2.0.8](https://github.com/wallabag/wallabag/tree/2.0.8) (2016-09-07)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.0.7...2.0.8)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Allow failure for PHP 7.1 [\#2236](https://github.com/wallabag/wallabag/pull/2236) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Prepare wallabag 2.0.8 [\#2271](https://github.com/wallabag/wallabag/pull/2271) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Add a check for the database connection [\#2262](https://github.com/wallabag/wallabag/pull/2262) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Fix issue \#1991: correction of the height field to add articles [\#2241](https://github.com/wallabag/wallabag/pull/2241) ([modos189](https://github.com/modos189))
|
|
||||||
- V2 improve view [\#2238](https://github.com/wallabag/wallabag/pull/2238) ([modos189](https://github.com/modos189))
|
|
||||||
- Add configuration for german documentation [\#2235](https://github.com/wallabag/wallabag/pull/2235) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fixes mailto link in documentation [\#2234](https://github.com/wallabag/wallabag/pull/2234) ([cstuder](https://github.com/cstuder))
|
|
||||||
- Cut entries title in card view: continued [\#2230](https://github.com/wallabag/wallabag/pull/2230) ([modos189](https://github.com/modos189))
|
|
||||||
|
|
||||||
## [2.0.7](https://github.com/wallabag/wallabag/tree/2.0.7) (2016-08-22)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.0.6...2.0.7)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Prepare wallabag 2.0.7 [\#2226](https://github.com/wallabag/wallabag/pull/2226) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Avoid breaking import when fetching fail [\#2224](https://github.com/wallabag/wallabag/pull/2224) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Added creation date and reading time on article view [\#2222](https://github.com/wallabag/wallabag/pull/2222) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Replaced favorite word/icon with star one [\#2221](https://github.com/wallabag/wallabag/pull/2221) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Enable PATCH method for CORS in API part [\#2220](https://github.com/wallabag/wallabag/pull/2220) ([Rurik19](https://github.com/Rurik19))
|
|
||||||
- Enable CORS headers for OAUTH part [\#2216](https://github.com/wallabag/wallabag/pull/2216) ([Rurik19](https://github.com/Rurik19))
|
|
||||||
- Run tests on an uptodate HHVM [\#2134](https://github.com/wallabag/wallabag/pull/2134) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Fix form user display when 2FA is disabled [\#2095](https://github.com/wallabag/wallabag/pull/2095) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [2.0.6](https://github.com/wallabag/wallabag/tree/2.0.6) (2016-08-10)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.0.5...2.0.6)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Run PHP 7.1 on Travis [\#2048](https://github.com/wallabag/wallabag/pull/2048) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Prepare release 2.0.6 [\#2212](https://github.com/wallabag/wallabag/pull/2212) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fixed typo in entry:notice:entry\_saved [\#2200](https://github.com/wallabag/wallabag/pull/2200) ([charno6](https://github.com/charno6))
|
|
||||||
- Handling socials links into a config file [\#2199](https://github.com/wallabag/wallabag/pull/2199) ([Simounet](https://github.com/Simounet))
|
|
||||||
- FIX image inside a figure element max-width [\#2198](https://github.com/wallabag/wallabag/pull/2198) ([Simounet](https://github.com/Simounet))
|
|
||||||
- Remove binary from repo [\#2195](https://github.com/wallabag/wallabag/pull/2195) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Fixed spelling Artúclos --\> Artículos [\#2194](https://github.com/wallabag/wallabag/pull/2194) ([benages](https://github.com/benages))
|
|
||||||
- Fix 3rd-Party Apps links \(Chrome & Firefox\) [\#2185](https://github.com/wallabag/wallabag/pull/2185) ([tcitworld](https://github.com/tcitworld))
|
|
||||||
- Change the way to login user in tests [\#2172](https://github.com/wallabag/wallabag/pull/2172) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Fix a few french translations typos [\#2165](https://github.com/wallabag/wallabag/pull/2165) ([tcitworld](https://github.com/tcitworld))
|
|
||||||
- Update symlink to php-cs-fixer [\#2160](https://github.com/wallabag/wallabag/pull/2160) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Handle only upper or only lower reading filter [\#2157](https://github.com/wallabag/wallabag/pull/2157) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Try to find bad redirection after delete [\#2156](https://github.com/wallabag/wallabag/pull/2156) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Use friendsofphp instead of fabpot [\#2155](https://github.com/wallabag/wallabag/pull/2155) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- translate documentation to German [\#2148](https://github.com/wallabag/wallabag/pull/2148) ([Strubbl](https://github.com/Strubbl))
|
|
||||||
- Corrected Regex for lighttpd rewrite [\#2145](https://github.com/wallabag/wallabag/pull/2145) ([even-allmighty](https://github.com/even-allmighty))
|
|
||||||
- Jump to Symfony 3.1 [\#2132](https://github.com/wallabag/wallabag/pull/2132) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
|
|
||||||
## [2.0.5](https://github.com/wallabag/wallabag/tree/2.0.5) (2016-05-31)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.0.4...2.0.5)
|
|
||||||
|
|
||||||
|
|
||||||
|
## [2.0.8] - 2016-09-07
|
||||||
|
|
||||||
- Improve English translation [\#2109](https://github.com/wallabag/wallabag/pull/2109) ([Poorchop](https://github.com/Poorchop))
|
### Added
|
||||||
- Update api.rst [\#2044](https://github.com/wallabag/wallabag/pull/2044) ([joshp23](https://github.com/joshp23))
|
|
||||||
- new details in the doc about the rights access again;\) [\#2038](https://github.com/wallabag/wallabag/pull/2038) ([foxmask](https://github.com/foxmask))
|
|
||||||
- Fix the deletion of Tags/Entries relation when delete an entry [\#2122](https://github.com/wallabag/wallabag/pull/2122) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Prepare wallabag 2.0.5 [\#2118](https://github.com/wallabag/wallabag/pull/2118) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Docs proposal [\#2112](https://github.com/wallabag/wallabag/pull/2112) ([Poorchop](https://github.com/Poorchop))
|
|
||||||
- add screenshots of android docu in English [\#2111](https://github.com/wallabag/wallabag/pull/2111) ([Strubbl](https://github.com/Strubbl))
|
|
||||||
- CS [\#2098](https://github.com/wallabag/wallabag/pull/2098) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Fix image path in 2-factor authentification email [\#2097](https://github.com/wallabag/wallabag/pull/2097) ([bmillemathias](https://github.com/bmillemathias))
|
|
||||||
- Update CONTRIBUTING file [\#2094](https://github.com/wallabag/wallabag/pull/2094) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Replace vertical dots in material theme with horizontal dots [\#2093](https://github.com/wallabag/wallabag/pull/2093) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Starred and Archived clears if article is already exists [\#2092](https://github.com/wallabag/wallabag/pull/2092) ([Rurik19](https://github.com/Rurik19))
|
|
||||||
- Do not specify language in Firefox addon link [\#2069](https://github.com/wallabag/wallabag/pull/2069) ([merwan](https://github.com/merwan))
|
|
||||||
- Added information about permissions on data/ [\#2068](https://github.com/wallabag/wallabag/pull/2068) ([mariovor](https://github.com/mariovor))
|
|
||||||
- Update CraueConfigBundle.it.yml [\#2054](https://github.com/wallabag/wallabag/pull/2054) ([jamiroconca](https://github.com/jamiroconca))
|
|
||||||
- Add unread filter to entries pages [\#2052](https://github.com/wallabag/wallabag/pull/2052) ([danbartram](https://github.com/danbartram))
|
|
||||||
- Update api.rst [\#2049](https://github.com/wallabag/wallabag/pull/2049) ([joshp23](https://github.com/joshp23))
|
|
||||||
|
|
||||||
## [2.0.4](https://github.com/wallabag/wallabag/tree/2.0.4) (2016-05-07)
|
- [#2262](https://github.com/wallabag/wallabag/pull/2262) Added a check for the database connection during installation (Jeremy Benoist)
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.0.3...2.0.4)
|
- [#2235](https://github.com/wallabag/wallabag/pull/2235) Added configuration for german documentation website, [available here](http://doc.wallabag.org/de/latest/) (Nicolas Lœuillet)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- [graby](https://github.com/j0k3r/graby/releases/tag/1.4.3) Update Graby version, which now handles ZIP files (Jeremy Benoist)
|
||||||
|
- [#2230](https://github.com/wallabag/wallabag/pull/2230) Changed title display in card view (Danilow Alexandr)
|
||||||
|
|
||||||
- Prepare wallabag 2.0.4 [\#2035](https://github.com/wallabag/wallabag/pull/2035) ([nicosomb](https://github.com/nicosomb))
|
### Fixed
|
||||||
- Change Travis/Scrutinizer pictures in README [\#2029](https://github.com/wallabag/wallabag/pull/2029) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Docu for android app [\#2028](https://github.com/wallabag/wallabag/pull/2028) ([Strubbl](https://github.com/Strubbl))
|
|
||||||
- Update messages.it.yml [\#2024](https://github.com/wallabag/wallabag/pull/2024) ([jamiroconca](https://github.com/jamiroconca))
|
|
||||||
- Fix translation for validators [\#2023](https://github.com/wallabag/wallabag/pull/2023) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fix pagination bar on small devices [\#2022](https://github.com/wallabag/wallabag/pull/2022) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fix number of entries in tag/list [\#2020](https://github.com/wallabag/wallabag/pull/2020) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Create CraueConfigBundle.it.yml [\#2019](https://github.com/wallabag/wallabag/pull/2019) ([jamiroconca](https://github.com/jamiroconca))
|
|
||||||
- Update config.yml, add italian as available language [\#2018](https://github.com/wallabag/wallabag/pull/2018) ([jamiroconca](https://github.com/jamiroconca))
|
|
||||||
- Create messages.it.yml [\#2017](https://github.com/wallabag/wallabag/pull/2017) ([jamiroconca](https://github.com/jamiroconca))
|
|
||||||
- Update documentation [\#2016](https://github.com/wallabag/wallabag/pull/2016) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fix tags listing [\#2013](https://github.com/wallabag/wallabag/pull/2013) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- integrate upgrade.rst [\#2012](https://github.com/wallabag/wallabag/pull/2012) ([biva](https://github.com/biva))
|
|
||||||
- upgrade.rst \(Creation of an upgrade page in the documentation\) [\#2011](https://github.com/wallabag/wallabag/pull/2011) ([biva](https://github.com/biva))
|
|
||||||
- Set the title via POST /api/entries [\#2010](https://github.com/wallabag/wallabag/pull/2010) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fix reading speed not defined when user was created via config page [\#2005](https://github.com/wallabag/wallabag/pull/2005) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fix old branch name urls [\#2001](https://github.com/wallabag/wallabag/pull/2001) ([tcitworld](https://github.com/tcitworld))
|
|
||||||
- Update CraueConfigBundle.es.yml [\#1992](https://github.com/wallabag/wallabag/pull/1992) ([jami7](https://github.com/jami7))
|
|
||||||
- Rights access to the folders of the project [\#1985](https://github.com/wallabag/wallabag/pull/1985) ([foxmask](https://github.com/foxmask))
|
|
||||||
- Es translation [\#1977](https://github.com/wallabag/wallabag/pull/1977) ([j0k3r](https://github.com/j0k3r))
|
|
||||||
- Fix filter reading time [\#1976](https://github.com/wallabag/wallabag/pull/1976) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Fix typos in API documentation [\#1970](https://github.com/wallabag/wallabag/pull/1970) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Create 3rd Resources chapter in API documentation [\#1969](https://github.com/wallabag/wallabag/pull/1969) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Add FAQ page in documentation [\#1967](https://github.com/wallabag/wallabag/pull/1967) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [2.0.3](https://github.com/wallabag/wallabag/tree/2.0.3) (2016-04-22)
|
- [#2234](https://github.com/wallabag/wallabag/pull/2234) Fixed mailto link in documentation (Christian Studer)
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.0.2...2.0.3)
|
- [#2241](https://github.com/wallabag/wallabag/pull/2241) Fixed the height of the "Add new article" field in Chrome (Danilow Alexandr)
|
||||||
|
- [#2238](https://github.com/wallabag/wallabag/pull/2238) Fixed login page in Qupzilla (Danilow Alexandr)
|
||||||
|
|
||||||
|
## [2.0.7] - 2016-08-22
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
- Prepare release 2.0.3 [\#1965](https://github.com/wallabag/wallabag/pull/1965) ([nicosomb](https://github.com/nicosomb))
|
- [#2222](https://github.com/wallabag/wallabag/pull/2222) Added creation date and reading time on article view (Nicolas Lœuillet)
|
||||||
- Update API documentation with cURL examples [\#1962](https://github.com/wallabag/wallabag/pull/1962) ([nicosomb](https://github.com/nicosomb))
|
- [#2134](https://github.com/wallabag/wallabag/pull/2134) Run tests on an uptodate HHVM (Jeremy Benoist)
|
||||||
|
|
||||||
## [2.0.2](https://github.com/wallabag/wallabag/tree/2.0.2) (2016-04-21)
|
### Changed
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.9.2...2.0.2)
|
|
||||||
|
|
||||||
|
- [#2221](https://github.com/wallabag/wallabag/pull/2221) Replaced favorite word/icon with star one (Nicolas Lœuillet)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
- Fix translation for Go to your account button after subscription [\#1957](https://github.com/wallabag/wallabag/pull/1957) ([nicosomb](https://github.com/nicosomb))
|
- [#2224](https://github.com/wallabag/wallabag/pull/2224) Avoid breaking import when fetching fail (Jeremy Benoist)
|
||||||
- Update links in documentation [\#1954](https://github.com/wallabag/wallabag/pull/1954) ([nicosomb](https://github.com/nicosomb))
|
- [#2216](https://github.com/wallabag/wallabag/pull/2216), [#2220](https://github.com/wallabag/wallabag/pull/2220) Enable CORS headers for OAUTH part (Rurik19)
|
||||||
- Actualisation des liens morts \(Documentation de traduction\) [\#1953](https://github.com/wallabag/wallabag/pull/1953) ([maxi62330](https://github.com/maxi62330))
|
- [#2095](https://github.com/wallabag/wallabag/pull/2095) Fix form user display when 2FA is disabled (Nicolas Lœuillet)
|
||||||
- Prepare release 2.0.2 [\#1948](https://github.com/wallabag/wallabag/pull/1948) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Added some curl examples [\#1945](https://github.com/wallabag/wallabag/pull/1945) ([ddeimeke](https://github.com/ddeimeke))
|
|
||||||
- Update Travis configuration with branches renaming [\#1944](https://github.com/wallabag/wallabag/pull/1944) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- Optimize import [\#1942](https://github.com/wallabag/wallabag/pull/1942) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.9.2](https://github.com/wallabag/wallabag/tree/1.9.2) (2016-04-18)
|
## [2.0.6] - 2016-08-10
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.0.1...1.9.2)
|
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- [#2199](https://github.com/wallabag/wallabag/pull/2199) Handling socials links into a config file (Simon Alberny)
|
||||||
|
- [#2172](https://github.com/wallabag/wallabag/pull/2172) Change the way to login user in tests (Jeremy Benoist)
|
||||||
|
- [#2155](https://github.com/wallabag/wallabag/pull/2155) Use friendsofphp instead of fabpot for PHP CS Fixer (Jeremy Benoist)
|
||||||
|
|
||||||
- \[Do Not Merge\] Wallabag 1.9.2 [\#1814](https://github.com/wallabag/wallabag/pull/1814) ([tcitworld](https://github.com/tcitworld))
|
### Fixed
|
||||||
|
|
||||||
## [2.0.1](https://github.com/wallabag/wallabag/tree/2.0.1) (2016-04-11)
|
- [#2200](https://github.com/wallabag/wallabag/pull/2200) Fixed typo in entry:notice:entry_saved (charno6)
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.0.0...2.0.1)
|
- [#2185](https://github.com/wallabag/wallabag/pull/2185) Fix 3rd-Party Apps links (Chrome & Firefox) (Thomas Citharel)
|
||||||
|
- [#2165](https://github.com/wallabag/wallabag/pull/2165) Fix a few french translations typos (Thomas Citharel)
|
||||||
|
- [#2157](https://github.com/wallabag/wallabag/pull/2157) Handle only upper or only lower reading filter (Jeremy Benoist)
|
||||||
|
- [#2156](https://github.com/wallabag/wallabag/pull/2156) Try to find bad redirection after delete (Jeremy Benoist)
|
||||||
|
|
||||||
## [2.0.0](https://github.com/wallabag/wallabag/tree/2.0.0) (2016-04-03)
|
## [2.0.5] - 2016-05-31
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.0.0-beta.2...2.0.0)
|
|
||||||
|
|
||||||
## [2.0.0-beta.2](https://github.com/wallabag/wallabag/tree/2.0.0-beta.2) (2016-03-12)
|
### Added
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.0.0-beta.1...2.0.0-beta.2)
|
|
||||||
|
|
||||||
## [2.0.0-beta.1](https://github.com/wallabag/wallabag/tree/2.0.0-beta.1) (2016-03-01)
|
- [#2052](https://github.com/wallabag/wallabag/pull/2052) Add unread filter to entries pages (Dan Bartram)
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.0.0-alpha.2...2.0.0-beta.1)
|
|
||||||
|
|
||||||
## [2.0.0-alpha.2](https://github.com/wallabag/wallabag/tree/2.0.0-alpha.2) (2016-01-22)
|
### Changed
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.0.0-alpha.1...2.0.0-alpha.2)
|
|
||||||
|
|
||||||
## [2.0.0-alpha.1](https://github.com/wallabag/wallabag/tree/2.0.0-alpha.1) (2016-01-07)
|
- [#2093](https://github.com/wallabag/wallabag/pull/2093) Replace vertical dots in material theme with horizontal dots (Nicolas Lœuillet)
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.0.0-alpha.0...2.0.0-alpha.1)
|
- [#2054](https://github.com/wallabag/wallabag/pull/2054) Update italian translation (Daniele Conca)
|
||||||
|
- [#2068](https://github.com/wallabag/wallabag/pull/2068), [#2049](https://github.com/wallabag/wallabag/pull/2049) Update documentation (Josh Panter, Mario Vormstein)
|
||||||
|
|
||||||
## [2.0.0-alpha.0](https://github.com/wallabag/wallabag/tree/2.0.0-alpha.0) (2015-09-14)
|
### Fixed
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.9.1-b...2.0.0-alpha.0)
|
|
||||||
|
|
||||||
|
- [#2122](https://github.com/wallabag/wallabag/pull/2122) Fix the deletion of Tags/Entries relation when delete an entry (Jeremy Benoist, Nicolas Lœuillet)
|
||||||
|
- [#2095](https://github.com/wallabag/wallabag/pull/2095) Fix form user display when 2FA is disabled (Nicolas Lœuillet)
|
||||||
|
- [#2092](https://github.com/wallabag/wallabag/pull/2092) API: Starred and archived clears if article is already exists (Rurik19)
|
||||||
|
- [#2097](https://github.com/wallabag/wallabag/issues/2097) Fix image path in 2-factor authentification email (Baptiste Mille-Mathias)
|
||||||
|
- [#2069](https://github.com/wallabag/wallabag/pull/2069) Do not specify language in Firefox addon link (Merouane Atig)
|
||||||
|
|
||||||
|
## [2.0.4] - 2016-05-07
|
||||||
|
|
||||||
- Update CONTRIBUTING.md [\#1415](https://github.com/wallabag/wallabag/pull/1415) ([sridharrajs](https://github.com/sridharrajs))
|
### Added
|
||||||
|
|
||||||
## [1.9.1-b](https://github.com/wallabag/wallabag/tree/1.9.1-b) (2015-08-04)
|
- [#2016](https://github.com/wallabag/wallabag/pull/2016) Big updates in [our documentation](http://doc.wallabag.org/en/master/) (Nicolas Lœuillet)
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.9.1...1.9.1-b)
|
- [#2028](https://github.com/wallabag/wallabag/pull/2028) Documentation about android application (Strubbl)
|
||||||
|
- [#2019](https://github.com/wallabag/wallabag/pull/2019) Italian translation (Daniele Conca)
|
||||||
|
- [#2011](https://github.com/wallabag/wallabag/pull/2011) Documentation about wallabag upgrade (biva)
|
||||||
|
- [#1985](https://github.com/wallabag/wallabag/pull/1985) Documentation about rights access (FoxMaSk)
|
||||||
|
- [#1969](https://github.com/wallabag/wallabag/pull/1969) Third resources for API in documentation (Nicolas Lœuillet)
|
||||||
|
- [#1967](https://github.com/wallabag/wallabag/pull/1967) FAQ page in documentation (Nicolas Lœuillet)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- [#1977](https://github.com/wallabag/wallabag/pull/1977) Spanish documentation (jami7)
|
||||||
|
|
||||||
- 1.9.1-b [\#1274](https://github.com/wallabag/wallabag/pull/1274) ([nicosomb](https://github.com/nicosomb))
|
### Fixed
|
||||||
|
|
||||||
## [1.9.1](https://github.com/wallabag/wallabag/tree/1.9.1) (2015-08-03)
|
- [#2023](https://github.com/wallabag/wallabag/pull/2023) Fix translation for validators (Nicolas Lœuillet)
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.9.1beta3...1.9.1)
|
- [#2020](https://github.com/wallabag/wallabag/pull/2020) Fix number of entries in tag/list (Nicolas Lœuillet)
|
||||||
|
- [#2022](https://github.com/wallabag/wallabag/pull/2022) Fix pagination bar on small devices (Nicolas Lœuillet)
|
||||||
|
- [#2013](https://github.com/wallabag/wallabag/pull/2013) Fix tag listing (Nicolas Lœuillet)
|
||||||
|
- [#1976](https://github.com/wallabag/wallabag/pull/1976) Fix filter reading time (Nicolas Lœuillet)
|
||||||
|
- [#2005](https://github.com/wallabag/wallabag/pull/2005) Fix reading speed not defined when user was created via config page (Nicolas Lœuillet)
|
||||||
|
- [#2010](https://github.com/wallabag/wallabag/pull/2010) Set the title via POST /api/entries (Nicolas Lœuillet)
|
||||||
|
|
||||||
|
## [2.0.3] - 2016-04-22
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
- Revert "fix link to save your first article" [\#1248](https://github.com/wallabag/wallabag/pull/1248) ([tcitworld](https://github.com/tcitworld))
|
- [#1962](https://github.com/wallabag/wallabag/pull/1962) cURL examples in documentation about API (Dirk Deimeke)
|
||||||
- fix link to save your first article [\#1247](https://github.com/wallabag/wallabag/pull/1247) ([axelsimon](https://github.com/axelsimon))
|
|
||||||
- 1.9.1 [\#1267](https://github.com/wallabag/wallabag/pull/1267) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.9.1beta3](https://github.com/wallabag/wallabag/tree/1.9.1beta3) (2015-06-06)
|
### Fixed
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.9.1beta2...1.9.1beta3)
|
|
||||||
|
|
||||||
## [1.9.1beta2](https://github.com/wallabag/wallabag/tree/1.9.1beta2) (2015-05-09)
|
- Forgot `composer.lock` file in 2.0.2 release so some users may encounter `Fatal error: Out of memory` error during installation
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.9.1beta1...1.9.1beta2)
|
|
||||||
|
|
||||||
## [1.9.1beta1](https://github.com/wallabag/wallabag/tree/1.9.1beta1) (2015-04-08)
|
## [2.0.2] - 2016-04-21
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.9.1alpha2...1.9.1beta1)
|
|
||||||
|
|
||||||
## [1.9.1alpha2](https://github.com/wallabag/wallabag/tree/1.9.1alpha2) (2015-04-07)
|
### Added
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.9.1alpha1...1.9.1alpha2)
|
|
||||||
|
|
||||||
## [1.9.1alpha1](https://github.com/wallabag/wallabag/tree/1.9.1alpha1) (2015-03-08)
|
- [#1945](https://github.com/wallabag/wallabag/pull/1945) cURL examples in documentation about API (Dirk Deimeke)
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.9...1.9.1alpha1)
|
- [#1911](https://github.com/wallabag/wallabag/pull/1911) Add title hover on entry titles (Thomas Citharel)
|
||||||
|
|
||||||
## [1.9](https://github.com/wallabag/wallabag/tree/1.9) (2015-02-18)
|
### Changed
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.9RC1...1.9)
|
|
||||||
|
|
||||||
|
- [#1944](https://github.com/wallabag/wallabag/pull/1944), [#1953](https://github.com/wallabag/wallabag/pull/1953), [#1954](https://github.com/wallabag/wallabag/pull/1954) Due to branches renaming, update documentation and configuration (maxi62330, Nicolas Lœuillet)
|
||||||
|
- [#1942](https://github.com/wallabag/wallabag/pull/1942) Optimize import (Nicolas Lœuillet)
|
||||||
|
- [#1935](https://github.com/wallabag/wallabag/pull/1935) Update spanish translation (jami7)
|
||||||
|
- [#1929](https://github.com/wallabag/wallabag/pull/1929) Change guid and link in RSS feeds to give original entry URL (Nicolas Lœuillet)
|
||||||
|
- [#1918](https://github.com/wallabag/wallabag/pull/1918) Improve pagination when user has lot of entries (Nicolas Lœuillet)
|
||||||
|
- [#1916](https://github.com/wallabag/wallabag/pull/1916) Change PHP arrays and move test parameters in a separated file (Jeremy Benoist)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
- Version 1.9.0 [\#1081](https://github.com/wallabag/wallabag/pull/1081) ([tcitworld](https://github.com/tcitworld))
|
- [#1957](https://github.com/wallabag/wallabag/pull/1957) Fix translation for `Go to your account` button (Nicolas Lœuillet)
|
||||||
|
- [#1925](https://github.com/wallabag/wallabag/pull/1925) Redirect to homepage if refered is null (Nicolas Lœuillet)
|
||||||
|
- [#1912](https://github.com/wallabag/wallabag/pull/1912) Fix 500 Internal Server Error -> "Setting piwik_enabled couldn't be found" (Jeremy Benoist)
|
||||||
|
|
||||||
## [1.9RC1](https://github.com/wallabag/wallabag/tree/1.9RC1) (2015-02-16)
|
## [2.0.1] - 2016-04-11
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.9beta2...1.9RC1)
|
### Added
|
||||||
|
|
||||||
## [1.9beta2](https://github.com/wallabag/wallabag/tree/1.9beta2) (2015-02-15)
|
- [Documentation about importing large file](http://doc.wallabag.org/en/v2/user/installation.html#installing-on-nginx) into nginx. (Nicolas Lœuillet)
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.9beta...1.9beta2)
|
- [Documentation about wallabag API](http://doc.wallabag.org/en/v2/developer/api.html) (Nicolas Lœuillet)
|
||||||
|
- [#1861](https://github.com/wallabag/wallabag/pull/1861) Round estimated time and add reading speed for Baggy (Nicolas Lœuillet)
|
||||||
|
- [Documentation about wallabag v1 CLI import](http://doc.wallabag.org/en/v2/user/migration.html#import-via-command-line-interface-cli) (Nicolas Lœuillet)
|
||||||
|
- [Add migrate link](http://doc.wallabag.org/en/v2/user/migration.html) in documentation (Nicolas Lœuillet)
|
||||||
|
|
||||||
## [1.9beta](https://github.com/wallabag/wallabag/tree/1.9beta) (2015-02-14)
|
### Changed
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.8.1old...1.9beta)
|
|
||||||
|
|
||||||
|
- [#1823](https://github.com/wallabag/wallabag/pull/1823) Persian translation (Masoud Abkenar)
|
||||||
|
- [#1901](https://github.com/wallabag/wallabag/pull/1901) Spanish translation (Jeremy Benoist)
|
||||||
|
- [#1879](https://github.com/wallabag/wallabag/pull/1879) Move tag form in Material theme (Nicolas Lœuillet)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
- Revert "Update german localisation." [\#1030](https://github.com/wallabag/wallabag/pull/1030) ([tcitworld](https://github.com/tcitworld))
|
- [#1903](https://github.com/wallabag/wallabag/pull/1903) Force server version to avoid connection error (Jeremy Benoist)
|
||||||
- Update german localisation. [\#1028](https://github.com/wallabag/wallabag/pull/1028) ([jlnostr](https://github.com/jlnostr))
|
- [#1887](https://github.com/wallabag/wallabag/pull/1887) Fix duplicate article when added via the bookmarklet (Nicolas Lœuillet)
|
||||||
- Fixed \#993: add wallabag to packagist [\#1004](https://github.com/wallabag/wallabag/pull/1004) ([nicosomb](https://github.com/nicosomb))
|
- [#1895](https://github.com/wallabag/wallabag/pull/1895) API: All the entries are fetched via GET /api/entries (Nicolas Lœuillet)
|
||||||
- Update fr\_FR.utf8.po [\#986](https://github.com/wallabag/wallabag/pull/986) ([goofy-bz](https://github.com/goofy-bz))
|
- [#1898](https://github.com/wallabag/wallabag/pull/1898) Fix estimated reading time in material view #1893 (Nicolas Lœuillet)
|
||||||
- Make call to FTRSS silent to avoid warnings which can break import [\#974](https://github.com/wallabag/wallabag/pull/974) ([jbfavre](https://github.com/jbfavre))
|
- [#1896](https://github.com/wallabag/wallabag/pull/1896) remove download_picture setting and manage show_printlink in material theme #1867 (Nicolas Lœuillet)
|
||||||
|
- [#1894](https://github.com/wallabag/wallabag/pull/1894) Fix documentation link in developer page (Nicolas Lœuillet)
|
||||||
## [1.8.1old](https://github.com/wallabag/wallabag/tree/1.8.1old) (2014-11-16)
|
- [#1891](https://github.com/wallabag/wallabag/pull/1891) Fix typo on configuration page (Nicolas Lœuillet)
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.8.1bis...1.8.1old)
|
- [#1884](https://github.com/wallabag/wallabag/pull/1884) Change the installation method in issue template (Nicolas Lœuillet)
|
||||||
|
- [#1844](https://github.com/wallabag/wallabag/pull/1844) Lock ocramius/proxy-manager (Jeremy Benoist)
|
||||||
## [1.8.1bis](https://github.com/wallabag/wallabag/tree/1.8.1bis) (2014-11-16)
|
- [#1840](https://github.com/wallabag/wallabag/pull/1840) Fix Archive page title translation (Nicolas Lœuillet)
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.8.1b...1.8.1bis)
|
- [#1801](https://github.com/wallabag/wallabag/pull/1804) Force user-agent for iansommerville.com (Jeremy Benoist)
|
||||||
|
|
||||||
## [1.8.1b](https://github.com/wallabag/wallabag/tree/1.8.1b) (2014-11-16)
|
### Removed
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.8.1...1.8.1b)
|
|
||||||
|
- [#1900](https://github.com/wallabag/wallabag/pull/1900) Remove empty portugese documentation (Nicolas Lœuillet)
|
||||||
|
- [#1868](https://github.com/wallabag/wallabag/pull/1868) Remove keyboard shortcut and add tagging rule panel in baggy (Nicolas Lœuillet)
|
||||||
|
- [#1824](https://github.com/wallabag/wallabag/pull/1824) Remove SMTP configuration environment overrides (Mathieu Bruyen)
|
||||||
- 1.8.1b [\#933](https://github.com/wallabag/wallabag/pull/933) ([tcitworld](https://github.com/tcitworld))
|
|
||||||
|
## [2.0.0] - 2016-04-03
|
||||||
## [1.8.1](https://github.com/wallabag/wallabag/tree/1.8.1) (2014-11-15)
|
### Added
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.8.0...1.8.1)
|
|
||||||
|
* save an article, read it, favorite it, archive it. (Hopefully)
|
||||||
|
* annotations: In each article you read, you can write annotations. ([read the doc](http://doc.wallabag.org/en/v2/user/annotations.html))
|
||||||
|
* filter entries by reading time, domain name, creation date, status, etc.
|
||||||
- 1.8.1 [\#932](https://github.com/wallabag/wallabag/pull/932) ([nicosomb](https://github.com/nicosomb))
|
* assign tags to entries
|
||||||
|
* edit article titles
|
||||||
## [1.8.0](https://github.com/wallabag/wallabag/tree/1.8.0) (2014-10-10)
|
* a REST API ([you can have a look to the documentation](http://v2.wallabag.org/api/doc))
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.7.2...1.8.0)
|
* authorization via oAuth2
|
||||||
|
* a new default theme, called `material`
|
||||||
|
* RSS feeds (with ability to limit number of articles)
|
||||||
|
* create a new account from the config page (for super admin only)
|
||||||
- 1.8.0 [\#863](https://github.com/wallabag/wallabag/pull/863) ([nicosomb](https://github.com/nicosomb))
|
* recover passwords from login page (you have to fill your email on config page)
|
||||||
|
* picture preview, if available, is displayed for each entry
|
||||||
## [1.7.2](https://github.com/wallabag/wallabag/tree/1.7.2) (2014-07-24)
|
* Public registration
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.7.1...1.7.2)
|
* migration from wallabag v1/v2 (based on JSON export) ([read the doc](http://doc.wallabag.org/en/v2/user/import.html))
|
||||||
|
* migration from Pocket (it works, but we need to implement asynchronous import: if you have too many articles, it can fail) ([read the doc](http://doc.wallabag.org/en/v2/user/import.html))
|
||||||
|
* exports in many formats (PDF, JSON, EPUB, MOBI, XML, CSV and TXT).
|
||||||
|
* 2-Factor authentication via email ([read the doc](http://doc.wallabag.org/en/v2/user/configuration.html#two-factor-authentication))
|
||||||
- security fix [\#791](https://github.com/wallabag/wallabag/pull/791) ([mariroz](https://github.com/mariroz))
|
* Tagging rule: create a rule to automatically assign tags to entries! ([read the doc](http://doc.wallabag.org/en/v2/user/configuration.html#tagging-rules))
|
||||||
|
* Occitan, German, French, Turkish, Persian, Romanian, Polish, Danish, Spanish and English translations
|
||||||
## [1.7.1](https://github.com/wallabag/wallabag/tree/1.7.1) (2014-07-15)
|
* Quickstart for beginners (when you don't have any entries)
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.7.0...1.7.1)
|
* Internal settings for administrator (the account created during installation)
|
||||||
|
* For 3rd apps developers, a developer page is available to create API token
|
||||||
|
|
||||||
|
|
||||||
- 1.7.1 [\#761](https://github.com/wallabag/wallabag/pull/761) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.7.0](https://github.com/wallabag/wallabag/tree/1.7.0) (2014-05-29)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.6.1b...1.7.0)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- 1.7, call me "Premium version" [\#712](https://github.com/wallabag/wallabag/pull/712) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.6.1b](https://github.com/wallabag/wallabag/tree/1.6.1b) (2014-04-11)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.6.1...1.6.1b)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- 1.6.1 [\#634](https://github.com/wallabag/wallabag/pull/634) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.6.1](https://github.com/wallabag/wallabag/tree/1.6.1) (2014-04-03)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.6.0...1.6.1)
|
|
||||||
|
|
||||||
## [1.6.0](https://github.com/wallabag/wallabag/tree/1.6.0) (2014-04-03)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.5.2...1.6.0)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- wallabag 1.6.0 [\#595](https://github.com/wallabag/wallabag/pull/595) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.5.2](https://github.com/wallabag/wallabag/tree/1.5.2) (2014-02-21)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.5.1.1...1.5.2)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- 1.5.2 [\#481](https://github.com/wallabag/wallabag/pull/481) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- version number 1.5.1 [\#469](https://github.com/wallabag/wallabag/pull/469) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.5.1.1](https://github.com/wallabag/wallabag/tree/1.5.1.1) (2014-02-19)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.5.1...1.5.1.1)
|
|
||||||
|
|
||||||
## [1.5.1](https://github.com/wallabag/wallabag/tree/1.5.1) (2014-02-19)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.5.0...1.5.1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- 1.5.1 [\#468](https://github.com/wallabag/wallabag/pull/468) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.5.0](https://github.com/wallabag/wallabag/tree/1.5.0) (2014-02-13)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.4.0...1.5.0)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- 1.5.0 [\#450](https://github.com/wallabag/wallabag/pull/450) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.4.0](https://github.com/wallabag/wallabag/tree/1.4.0) (2014-02-03)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.3.1...1.4.0)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- changelog 1.4 [\#427](https://github.com/wallabag/wallabag/pull/427) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.3.1](https://github.com/wallabag/wallabag/tree/1.3.1) (2014-01-07)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.3.0...1.3.1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- poche 1.3.1 [\#387](https://github.com/wallabag/wallabag/pull/387) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.3.0](https://github.com/wallabag/wallabag/tree/1.3.0) (2013-12-23)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.2.0...1.3.0)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- poche 1.3.0 [\#363](https://github.com/wallabag/wallabag/pull/363) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- 1.2.0 [\#326](https://github.com/wallabag/wallabag/pull/326) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.2.0](https://github.com/wallabag/wallabag/tree/1.2.0) (2013-11-25)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.1.0...1.2.0)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- 1.1.0 [\#289](https://github.com/wallabag/wallabag/pull/289) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.1.0](https://github.com/wallabag/wallabag/tree/1.1.0) (2013-10-25)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.0.0...1.1.0)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- merge 1.0.0 [\#256](https://github.com/wallabag/wallabag/pull/256) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.0.0](https://github.com/wallabag/wallabag/tree/1.0.0) (2013-10-03)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.0-beta5.2...1.0.0)
|
|
||||||
|
|
||||||
## [1.0-beta5.2](https://github.com/wallabag/wallabag/tree/1.0-beta5.2) (2013-09-20)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.0-beta5.1...1.0-beta5.2)
|
|
||||||
|
|
||||||
## [1.0-beta5.1](https://github.com/wallabag/wallabag/tree/1.0-beta5.1) (2013-09-20)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.0-beta5...1.0-beta5.1)
|
|
||||||
|
|
||||||
## [1.0-beta5](https://github.com/wallabag/wallabag/tree/1.0-beta5) (2013-09-20)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.0-beta4...1.0-beta5)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- beta5 [\#226](https://github.com/wallabag/wallabag/pull/226) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- beta4 [\#181](https://github.com/wallabag/wallabag/pull/181) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.0-beta4](https://github.com/wallabag/wallabag/tree/1.0-beta4) (2013-08-25)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.0-beta3...1.0-beta4)
|
|
||||||
|
|
||||||
## [1.0-beta3](https://github.com/wallabag/wallabag/tree/1.0-beta3) (2013-08-17)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.0-beta2...1.0-beta3)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- beta3 [\#141](https://github.com/wallabag/wallabag/pull/141) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
- merge with beta2 [\#132](https://github.com/wallabag/wallabag/pull/132) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.0-beta2](https://github.com/wallabag/wallabag/tree/1.0-beta2) (2013-08-11)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/1.0-beta1...1.0-beta2)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- merge dev into master [\#109](https://github.com/wallabag/wallabag/pull/109) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [1.0-beta1](https://github.com/wallabag/wallabag/tree/1.0-beta1) (2013-08-07)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/0.3...1.0-beta1)
|
|
||||||
|
|
||||||
## [0.3](https://github.com/wallabag/wallabag/tree/0.3) (2013-07-31)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/0.2.1...0.3)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- v0.2.1 [\#74](https://github.com/wallabag/wallabag/pull/74) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [0.2.1](https://github.com/wallabag/wallabag/tree/0.2.1) (2013-04-23)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/0.2...0.2.1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- tag 0.2 [\#67](https://github.com/wallabag/wallabag/pull/67) ([nicosomb](https://github.com/nicosomb))
|
|
||||||
|
|
||||||
## [0.2](https://github.com/wallabag/wallabag/tree/0.2) (2013-04-21)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/0.11...0.2)
|
|
||||||
|
|
||||||
## [0.11](https://github.com/wallabag/wallabag/tree/0.11) (2013-04-19)
|
|
||||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/0.1...0.11)
|
|
||||||
|
|
||||||
## [0.1](https://github.com/wallabag/wallabag/tree/0.1) (2013-04-19)
|
|
||||||
|
|
||||||
|
|
||||||
- Ajout conf nginx pour la protection de la bdd [\#50](https://github.com/wallabag/wallabag/pull/50) ([Gregoire-M](https://github.com/Gregoire-M))
|
|
||||||
- Modifications css [\#19](https://github.com/wallabag/wallabag/pull/19) ([tmos](https://github.com/tmos))
|
|
||||||
- Some fixes and improvements [\#5](https://github.com/wallabag/wallabag/pull/5) ([fatihorhan](https://github.com/fatihorhan))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2013-2017 Nicolas Lœuillet
|
Copyright (c) 2013-2016 Nicolas Lœuillet
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
2
Capfile
2
Capfile
@ -7,8 +7,6 @@ require 'capistrano/setup'
|
|||||||
# Include default deployment tasks
|
# Include default deployment tasks
|
||||||
require 'capistrano/deploy'
|
require 'capistrano/deploy'
|
||||||
|
|
||||||
require 'capistrano/composer'
|
|
||||||
require 'capistrano/file-permissions'
|
|
||||||
require 'capistrano/symfony'
|
require 'capistrano/symfony'
|
||||||
|
|
||||||
# Load custom tasks from `lib/capistrano/tasks` if you have any defined
|
# Load custom tasks from `lib/capistrano/tasks` if you have any defined
|
||||||
|
|||||||
3
Gemfile
3
Gemfile
@ -1,6 +1,5 @@
|
|||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
||||||
gem 'capistrano', '~> 3.4'
|
gem 'capistrano', '~> 3.4'
|
||||||
gem 'capistrano-composer'
|
|
||||||
gem 'capistrano-symfony', '~> 1.0.0.rc1'
|
gem 'capistrano-symfony', '~> 1.0.0.rc1'
|
||||||
gem 'capistrano-file-permissions'
|
gem 'capistrano-composer', '~> 0.0.3'
|
||||||
|
|||||||
@ -29,9 +29,8 @@ PLATFORMS
|
|||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
capistrano (~> 3.4)
|
capistrano (~> 3.4)
|
||||||
capistrano-composer
|
capistrano-composer (~> 0.0.3)
|
||||||
capistrano-file-permissions
|
|
||||||
capistrano-symfony (~> 1.0.0.rc1)
|
capistrano-symfony (~> 1.0.0.rc1)
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.13.5
|
1.11.2
|
||||||
|
|||||||
230
Gruntfile.js
230
Gruntfile.js
@ -1,230 +0,0 @@
|
|||||||
module.exports = function (grunt) {
|
|
||||||
require('load-grunt-tasks')(grunt);
|
|
||||||
|
|
||||||
grunt.initConfig({
|
|
||||||
appDir: 'app/Resources/static',
|
|
||||||
buildDir: 'app/Resources/build',
|
|
||||||
modulesDir: 'node_modules',
|
|
||||||
releaseDir: 'web/bundles/wallabagcore',
|
|
||||||
|
|
||||||
postcss: {
|
|
||||||
material: {
|
|
||||||
options: {
|
|
||||||
processors: [
|
|
||||||
require('pixrem')(),
|
|
||||||
require('autoprefixer')({ browsers: 'last 2 versions' }),
|
|
||||||
require('cssnano')(),
|
|
||||||
],
|
|
||||||
},
|
|
||||||
src: '<%= buildDir %>/material.css',
|
|
||||||
dest: '<%= releaseDir %>/themes/material/css/style.min.css',
|
|
||||||
},
|
|
||||||
baggy: {
|
|
||||||
options: {
|
|
||||||
processors: [
|
|
||||||
require('pixrem')(),
|
|
||||||
require('autoprefixer')({ browsers: 'last 2 versions' }),
|
|
||||||
require('cssnano')(),
|
|
||||||
],
|
|
||||||
},
|
|
||||||
src: '<%= buildDir %>/baggy.css',
|
|
||||||
dest: '<%= releaseDir %>/themes/baggy/css/style.min.css',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
concat: {
|
|
||||||
options: {
|
|
||||||
separator: ';',
|
|
||||||
},
|
|
||||||
cssMaterial: {
|
|
||||||
src: [
|
|
||||||
'node_modules/materialize-css/bin/materialize.css',
|
|
||||||
'<%= appDir %>/themes/material/css/*.css',
|
|
||||||
],
|
|
||||||
dest: '<%= buildDir %>/material.css',
|
|
||||||
},
|
|
||||||
cssBaggy: {
|
|
||||||
src: [
|
|
||||||
'<%= appDir %>/themes/baggy/css/*.css',
|
|
||||||
],
|
|
||||||
dest: '<%= buildDir %>/baggy.css',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
browserify: {
|
|
||||||
dist: {
|
|
||||||
files: {
|
|
||||||
'<%= buildDir %>/material.browser.js': ['<%= appDir %>/themes/material/js/init.js'],
|
|
||||||
'<%= buildDir %>/baggy.browser.js': ['<%= appDir %>/themes/baggy/js/init.js']
|
|
||||||
}
|
|
||||||
},
|
|
||||||
options: {
|
|
||||||
sourceType: "module",
|
|
||||||
transform: [
|
|
||||||
["babelify", {
|
|
||||||
presets: ["es2015"]
|
|
||||||
}], ["browserify-shim", {
|
|
||||||
"jquery": {
|
|
||||||
"exports": "$"
|
|
||||||
},
|
|
||||||
"materialize": "materialize",
|
|
||||||
"jquery-ui": {
|
|
||||||
"depends": "jquery",
|
|
||||||
"exports": null
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
],
|
|
||||||
browserifyOptions: {
|
|
||||||
browser: {
|
|
||||||
"jQuery": "./node_modules/jquery/dist/jquery.js",
|
|
||||||
"jquery.tinydot": "./node_modules/jquery.tinydot/src/jquery.tinydot.js",
|
|
||||||
"jquery.ui": "./node_modules/jquery-ui-browserify/dist/jquery-ui.js"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
uglify: {
|
|
||||||
material: {
|
|
||||||
files: {
|
|
||||||
'<%= releaseDir %>/themes/material/js/material.min.js':
|
|
||||||
['<%= buildDir %>/material.browser.js'],
|
|
||||||
}
|
|
||||||
},
|
|
||||||
baggy: {
|
|
||||||
files: {
|
|
||||||
'<%= releaseDir %>/themes/baggy/js/baggy.min.js':
|
|
||||||
['<%= buildDir %>/baggy.browser.js'],
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
copy: {
|
|
||||||
pickerjs: {
|
|
||||||
expand: true,
|
|
||||||
cwd: '<%= modulesDir %>/pickadate/lib',
|
|
||||||
src: 'picker.js',
|
|
||||||
dest: '<%= buildDir %>',
|
|
||||||
},
|
|
||||||
annotator: {
|
|
||||||
expand: true,
|
|
||||||
cwd: '<%= modulesDir %>/annotator/pkg',
|
|
||||||
src: 'annotator.min.js',
|
|
||||||
dest: '<%= buildDir %>/themes/_global/js/',
|
|
||||||
},
|
|
||||||
baggyfonts: {
|
|
||||||
files: [
|
|
||||||
{
|
|
||||||
expand: true,
|
|
||||||
cwd: '<%= modulesDir %>/icomoon-free-npm/Font',
|
|
||||||
src: 'IcoMoon-Free.ttf',
|
|
||||||
dest: '<%= releaseDir %>/themes/baggy/fonts/',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
expand: true,
|
|
||||||
cwd: '<%= modulesDir %>/ptsans-npm-webfont/fonts',
|
|
||||||
src: 'ptsansbold.woff',
|
|
||||||
dest: '<%= releaseDir %>/themes/baggy/fonts/',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
expand: true,
|
|
||||||
cwd: '<%= modulesDir %>/material-design-icons-iconfont/dist/fonts/',
|
|
||||||
src: ['MaterialIcons-Regular.eot', 'MaterialIcons-Regular.woff2', 'MaterialIcons-Regular.woff', 'MaterialIcons-Regular.ttf'],
|
|
||||||
dest: '<%= releaseDir %>/themes/baggy/fonts/',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
materialfonts: {
|
|
||||||
files: [
|
|
||||||
{
|
|
||||||
expand: true,
|
|
||||||
overwrite: true,
|
|
||||||
cwd: '<%= modulesDir %>/icomoon-free-npm/Font',
|
|
||||||
src: 'IcoMoon-Free.ttf',
|
|
||||||
dest: '<%= releaseDir %>/themes/material/fonts',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
expand: true,
|
|
||||||
overwrite: true,
|
|
||||||
cwd: '<%= modulesDir %>/roboto-fontface/fonts/Roboto',
|
|
||||||
src: '*',
|
|
||||||
dest: '<%= releaseDir %>/themes/material/font/roboto',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
expand: true,
|
|
||||||
overwrite: true,
|
|
||||||
cwd: '<%= modulesDir %>/material-design-icons-iconfont/dist/fonts/',
|
|
||||||
src: ['MaterialIcons-Regular.eot', 'MaterialIcons-Regular.woff2', 'MaterialIcons-Regular.woff', 'MaterialIcons-Regular.ttf'],
|
|
||||||
dest: '<%= releaseDir %>/themes/material/fonts/',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
symlink: {
|
|
||||||
pics: {
|
|
||||||
files: [
|
|
||||||
{
|
|
||||||
expand: true,
|
|
||||||
overwrite: true,
|
|
||||||
cwd: '<%= appDir %>/themes/_global/',
|
|
||||||
src: 'img',
|
|
||||||
dest: '<%= releaseDir %>/themes/_global/',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
clean: {
|
|
||||||
css: {
|
|
||||||
src: ['<%= buildDir %>/**/*.css'],
|
|
||||||
},
|
|
||||||
js: {
|
|
||||||
src: ['<%= buildDir %>/**/*.js', '<%= buildDir %>/**/*.map'],
|
|
||||||
},
|
|
||||||
all: {
|
|
||||||
src: ['./<%= buildDir %>'],
|
|
||||||
},
|
|
||||||
release: {
|
|
||||||
src: ['./<%= releaseDir %>/*'],
|
|
||||||
}
|
|
||||||
},
|
|
||||||
eslint: {
|
|
||||||
target: ['<%= appDir %>/themes/material/js/init.js', '<%= appDir %>/themes/baggy/js/init.js']
|
|
||||||
},
|
|
||||||
stylelint: {
|
|
||||||
target: ['<%= appDir %>/themes/material/css/*.css', '<%= appDir %>/themes/baggy/css/*.css']
|
|
||||||
},
|
|
||||||
watch: {
|
|
||||||
files: ['<%= appDir %>/**/*.css', '<%= appDir %>/**/*.js'],
|
|
||||||
tasks: ['css', 'js']
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
grunt.registerTask(
|
|
||||||
'fonts',
|
|
||||||
'Install fonts',
|
|
||||||
['copy:baggyfonts', 'copy:materialfonts']
|
|
||||||
);
|
|
||||||
|
|
||||||
grunt.registerTask(
|
|
||||||
'js',
|
|
||||||
'Build and install js files',
|
|
||||||
['clean:js', 'copy:pickerjs', 'browserify', 'uglify']
|
|
||||||
);
|
|
||||||
|
|
||||||
grunt.registerTask(
|
|
||||||
'default',
|
|
||||||
'Build and install everything',
|
|
||||||
['clean', 'copy:pickerjs', 'concat', 'browserify', 'uglify', 'postcss', 'copy', 'symlink']
|
|
||||||
);
|
|
||||||
|
|
||||||
grunt.registerTask(
|
|
||||||
'css',
|
|
||||||
'Compiles the stylesheets.',
|
|
||||||
['clean:css', 'concat:cssMaterial', 'concat:cssBaggy', 'postcss']
|
|
||||||
);
|
|
||||||
|
|
||||||
grunt.registerTask(
|
|
||||||
'tests',
|
|
||||||
'Test css and js style conformity',
|
|
||||||
['eslint', 'stylelint', 'default']
|
|
||||||
),
|
|
||||||
|
|
||||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
|
||||||
};
|
|
||||||
45
Makefile
45
Makefile
@ -1,45 +0,0 @@
|
|||||||
TMP_FOLDER=/tmp
|
|
||||||
RELEASE_FOLDER=wllbg-release
|
|
||||||
|
|
||||||
ifndef ENV
|
|
||||||
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
|
|
||||||
@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=$(ENV)
|
|
||||||
|
|
||||||
build: ## Run grunt
|
|
||||||
@grunt
|
|
||||||
|
|
||||||
test: ## Launch wallabag testsuite
|
|
||||||
@ant prepare && 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)
|
|
||||||
|
|
||||||
travis: ## Make some stuff for Travis-CI
|
|
||||||
|
|
||||||
deploy: ## Deploy wallabag
|
|
||||||
@bundle exec cap staging deploy
|
|
||||||
|
|
||||||
.PHONY: help clean install update build test release travis deploy run dev
|
|
||||||
|
|
||||||
.DEFAULT_GOAL := install
|
|
||||||
21
README.md
21
README.md
@ -6,24 +6,23 @@
|
|||||||
wallabag is a self hostable application allowing you to not miss any content anymore.
|
wallabag is a self hostable application allowing you to not miss any content anymore.
|
||||||
Click, save and read it when you can. It extracts content so that you can read it when you have time.
|
Click, save and read it when you can. It extracts content so that you can read it when you have time.
|
||||||
|
|
||||||
More information on our website: [wallabag.org](https://wallabag.org).
|
More informations on our website: [wallabag.org](https://wallabag.org)
|
||||||
|
|
||||||
If you do not have your own server, consider [the wallabag.it hosting solution](https://wallabag.it).
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
# Install wallabag
|
# Install wallabag
|
||||||
Please read [the documentation to see the wallabag requirements](http://doc.wallabag.org/en/master/user/installation.html#requirements).
|
|
||||||
|
|
||||||
|
If you don't have it yet, please [install composer](https://getcomposer.org/download/) or be sure to use Composer 1.2 (`composer selfupdate` can help you about that).
|
||||||
Then you can install wallabag by executing the following commands:
|
Then you can install wallabag by executing the following commands:
|
||||||
|
|
||||||
```
|
```
|
||||||
git clone https://github.com/wallabag/wallabag.git
|
git clone https://github.com/wallabag/wallabag.git
|
||||||
cd wallabag && make install
|
cd wallabag
|
||||||
make run
|
git checkout 2.0.8
|
||||||
|
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
||||||
|
php bin/console wallabag:install --env=prod
|
||||||
|
php bin/console server:run --env=prod
|
||||||
```
|
```
|
||||||
|
|
||||||
# License
|
## License
|
||||||
Copyright © 2013-2017 Nicolas Lœuillet <nicolas@loeuillet.org>
|
Copyright © 2013-2016 Nicolas Lœuillet <nicolas@loeuillet.org>
|
||||||
This work is free. You can redistribute it and/or modify it under the
|
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.
|
terms of the MIT License. See the COPYING file for more details.
|
||||||
|
|||||||
@ -1,58 +1,47 @@
|
|||||||
## Definition
|
## Definition
|
||||||
|
|
||||||
A release is mostly a git tag of http://github.com/wallabag/wallabag, following [semantic versioning](http://semver.org).
|
A release is mostly a git tag of http://github.com/wallabag/wallabag, following [semantic versioning](http://semver.org).
|
||||||
|
The last release at the time of writing is 2.0.0-alpha.2, from the v2 branch.
|
||||||
|
|
||||||
### Steps to release
|
### Steps to release
|
||||||
|
|
||||||
During this documentation, we assume the release is `$LAST_WALLABAG_RELEASE`.
|
During this documentation, we assume the release is `release-2.0.0-beta.1`.
|
||||||
|
|
||||||
#### Files to edit
|
#### Files to edit
|
||||||
|
|
||||||
- `app/config/config.yml` (`wallabag_core.version`)
|
- `app/config/config.yml` (`wallabag_core.version`)
|
||||||
- `CHANGELOG.md` (by using this command `github-changes -o wallabag -r wallabag -k YOURGITHUBTOKEN --only-pulls --use-commit-body --title Changelog --date-format YYYY/MM/DD --between-tags 2.0.0-alpha.0...master -n 2.1.3`. [github-changes is available here](https://github.com/lalitkapoor/github-changes))
|
- `README.md` (`composer create-project` command)
|
||||||
|
- `docs/en/user/installation.rst` and its translations (`composer create-project` command)
|
||||||
|
|
||||||
#### Create release on GitHub
|
#### Create release on GitHub
|
||||||
|
|
||||||
- Run these commands to create the tag:
|
- Run these commands to create the tag:
|
||||||
|
|
||||||
```
|
```
|
||||||
git checkout master
|
git checkout v2
|
||||||
git pull origin master
|
git pull origin v2
|
||||||
git checkout -b release-$LAST_WALLABAG_RELEASE
|
git checkout -b release-2.0.0-beta.1
|
||||||
SYMFONY_ENV=prod composer up --no-dev
|
SYMFONY_ENV=prod composer up --no-dev
|
||||||
|
git add --force composer.lock
|
||||||
|
git add README.md
|
||||||
|
git commit -m "Release wallabag 2.0.0-beta.1"
|
||||||
|
git push origin release-2.0.0-beta.1
|
||||||
```
|
```
|
||||||
|
|
||||||
- Update `.travis.yml` file and replace the composer line with this one:
|
- Create a new pull request with this title `DON'T MERGE Release wallabag 2.0.0-beta.1`. This pull request is used to launch builds on Travis-CI.
|
||||||
|
- Run these commands to create the package:
|
||||||
```diff
|
|
||||||
script:
|
|
||||||
- - travis_wait bash composer install -o --no-interaction --no-progress --prefer-dist
|
|
||||||
+ - travis_wait composer update --no-interaction --no-progress
|
|
||||||
```
|
|
||||||
|
|
||||||
- Then continue with these commands:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
git add --force composer.lock .travis.yml
|
git clone git@github.com:wallabag/wallabag.git -b release-2.0.0-beta.1 release-2.0.0-beta.1
|
||||||
git commit -m "Release wallabag $LAST_WALLABAG_RELEASE"
|
SYMFONY_ENV=prod composer up -d=release-2.0.0-beta.1 --no-dev
|
||||||
git push origin release-$LAST_WALLABAG_RELEASE
|
tar czf wallabag-release-2.0.0-beta.1.tar.gz --exclude="var/*" --exclude=".git" release-2.0.0-beta.1
|
||||||
```
|
|
||||||
|
|
||||||
- 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:
|
|
||||||
|
|
||||||
```
|
|
||||||
make release master /tmp wllbg-release prod
|
|
||||||
```
|
```
|
||||||
|
|
||||||
- [Create the new release on GitHub](https://github.com/wallabag/wallabag/releases/new). You have to upload on this page the package.
|
- [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**).
|
- Delete the `release-2.0.0-beta.1` 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 URL shortener (used on `wllbg.org` to generate links like `http://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)
|
- Update [the downloads page](https://github.com/wallabag/wallabag.org/blob/master/content/pages/download.md) on the website (MD5 sum, release date)
|
||||||
- Update Dockerfile https://github.com/wallabag/docker (and create a new tag)
|
- Drink a beer!
|
||||||
- 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`)
|
|
||||||
- Drink a :beer:!
|
|
||||||
|
|
||||||
### `composer.lock`
|
### `composer.lock`
|
||||||
A release tag must contain a `composer.lock` file. It sets which dependencies were available at the time a release was done,
|
A release tag must contain a `composer.lock` file. It sets which dependencies were available at the time a release was done,
|
||||||
|
|||||||
@ -13,6 +13,7 @@ class AppKernel extends Kernel
|
|||||||
new Symfony\Bundle\TwigBundle\TwigBundle(),
|
new Symfony\Bundle\TwigBundle\TwigBundle(),
|
||||||
new Symfony\Bundle\MonologBundle\MonologBundle(),
|
new Symfony\Bundle\MonologBundle\MonologBundle(),
|
||||||
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
|
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
|
||||||
|
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
|
||||||
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
|
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
|
||||||
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
|
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
|
||||||
new FOS\RestBundle\FOSRestBundle(),
|
new FOS\RestBundle\FOSRestBundle(),
|
||||||
@ -29,9 +30,8 @@ class AppKernel extends Kernel
|
|||||||
new KPhoen\RulerZBundle\KPhoenRulerZBundle(),
|
new KPhoen\RulerZBundle\KPhoenRulerZBundle(),
|
||||||
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
|
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
|
||||||
new Craue\ConfigBundle\CraueConfigBundle(),
|
new Craue\ConfigBundle\CraueConfigBundle(),
|
||||||
|
new Lexik\Bundle\MaintenanceBundle\LexikMaintenanceBundle(),
|
||||||
new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
|
new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
|
||||||
new FOS\JsRoutingBundle\FOSJsRoutingBundle(),
|
|
||||||
new BD\GuzzleSiteAuthenticatorBundle\BDGuzzleSiteAuthenticatorBundle(),
|
|
||||||
|
|
||||||
// wallabag bundles
|
// wallabag bundles
|
||||||
new Wallabag\CoreBundle\WallabagCoreBundle(),
|
new Wallabag\CoreBundle\WallabagCoreBundle(),
|
||||||
@ -39,7 +39,6 @@ class AppKernel extends Kernel
|
|||||||
new Wallabag\UserBundle\WallabagUserBundle(),
|
new Wallabag\UserBundle\WallabagUserBundle(),
|
||||||
new Wallabag\ImportBundle\WallabagImportBundle(),
|
new Wallabag\ImportBundle\WallabagImportBundle(),
|
||||||
new Wallabag\AnnotationBundle\WallabagAnnotationBundle(),
|
new Wallabag\AnnotationBundle\WallabagAnnotationBundle(),
|
||||||
new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(),
|
|
||||||
];
|
];
|
||||||
|
|
||||||
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
|
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
|
||||||
|
|||||||
@ -1,64 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Added foreign keys for account resetting
|
|
||||||
*/
|
|
||||||
class Version20160410190541 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
|
||||||
|
|
||||||
$this->skipIf($entryTable->hasColumn('uid') || $entryTable->hasColumn('uuid'), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$entryTable->addColumn('uid', 'string', [
|
|
||||||
'notnull' => false,
|
|
||||||
'length' => 23,
|
|
||||||
]);
|
|
||||||
|
|
||||||
$sharePublic = $this->container
|
|
||||||
->get('doctrine.orm.default_entity_manager')
|
|
||||||
->getConnection()
|
|
||||||
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'share_public'");
|
|
||||||
|
|
||||||
if (false === $sharePublic) {
|
|
||||||
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('share_public', '1', 'entry')");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function down(Schema $schema)
|
|
||||||
{
|
|
||||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
|
||||||
$entryTable->dropColumn('uid');
|
|
||||||
|
|
||||||
$this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'share_public'");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Added name field on wallabag_oauth2_clients
|
|
||||||
*/
|
|
||||||
class Version20160812120952 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
|
|
||||||
$this->skipIf($clientsTable->hasColumn('name'), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$clientsTable->addColumn('name', 'blob');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function down(Schema $schema)
|
|
||||||
{
|
|
||||||
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
|
|
||||||
$clientsTable->dropColumn('name');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,64 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Added settings for RabbitMQ and Redis imports
|
|
||||||
*/
|
|
||||||
class Version20160911214952 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$redis = $this->container
|
|
||||||
->get('doctrine.orm.default_entity_manager')
|
|
||||||
->getConnection()
|
|
||||||
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'import_with_redis'");
|
|
||||||
|
|
||||||
if (false === $redis) {
|
|
||||||
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('import_with_redis', 0, 'import')");
|
|
||||||
}
|
|
||||||
|
|
||||||
$rabbitmq = $this->container
|
|
||||||
->get('doctrine.orm.default_entity_manager')
|
|
||||||
->getConnection()
|
|
||||||
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'import_with_rabbitmq'");
|
|
||||||
|
|
||||||
if (false === $rabbitmq) {
|
|
||||||
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('import_with_rabbitmq', 0, 'import')");
|
|
||||||
}
|
|
||||||
|
|
||||||
$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';");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,52 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Added pocket_consumer_key field on wallabag_config
|
|
||||||
*/
|
|
||||||
class Version20160916201049 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$configTable = $schema->getTable($this->getTable('config'));
|
|
||||||
|
|
||||||
$this->skipIf($configTable->hasColumn('pocket_consumer_key'), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$configTable->addColumn('pocket_consumer_key', 'string', ['notnull' => false]);
|
|
||||||
$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')");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,127 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
use Doctrine\DBAL\Migrations\SkipMigrationException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Added pocket_consumer_key field on wallabag_config
|
|
||||||
*/
|
|
||||||
class Version20161001072726 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$this->skipIf($this->connection->getDatabasePlatform()->getName() == 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
|
|
||||||
|
|
||||||
// remove all FK from entry_tag
|
|
||||||
switch ($this->connection->getDatabasePlatform()->getName()) {
|
|
||||||
case 'mysql':
|
|
||||||
$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_%'
|
|
||||||
AND TABLE_SCHEMA = '".$this->connection->getDatabase()."'"
|
|
||||||
);
|
|
||||||
$query->execute();
|
|
||||||
|
|
||||||
foreach ($query->fetchAll() as $fk) {
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('entry_tag').' DROP FOREIGN KEY '.$fk['CONSTRAINT_NAME']);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'postgresql':
|
|
||||||
// http://dba.stackexchange.com/questions/36979/retrieving-all-pk-and-fk
|
|
||||||
$query = $this->connection->query("
|
|
||||||
SELECT conrelid::regclass AS table_from
|
|
||||||
,conname
|
|
||||||
,pg_get_constraintdef(c.oid)
|
|
||||||
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 n.nspname = 'public';"
|
|
||||||
);
|
|
||||||
$query->execute();
|
|
||||||
|
|
||||||
foreach ($query->fetchAll() as $fk) {
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('entry_tag').' DROP CONSTRAINT '.$fk['conname']);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('entry_tag').' ADD CONSTRAINT FK_entry_tag_entry FOREIGN KEY (entry_id) REFERENCES '.$this->getTable('entry').' (id) ON DELETE CASCADE');
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('entry_tag').' ADD CONSTRAINT FK_entry_tag_tag FOREIGN KEY (tag_id) REFERENCES '.$this->getTable('tag').' (id) ON DELETE CASCADE');
|
|
||||||
|
|
||||||
// remove entry FK from annotation
|
|
||||||
|
|
||||||
switch ($this->connection->getDatabasePlatform()->getName()) {
|
|
||||||
case 'mysql':
|
|
||||||
$query = $this->connection->query("
|
|
||||||
SELECT CONSTRAINT_NAME
|
|
||||||
FROM information_schema.key_column_usage
|
|
||||||
WHERE TABLE_NAME = '".$this->getTable('annotation')."'
|
|
||||||
AND CONSTRAINT_NAME LIKE 'FK_%'
|
|
||||||
AND COLUMN_NAME = 'entry_id'
|
|
||||||
AND TABLE_SCHEMA = '".$this->connection->getDatabase()."'"
|
|
||||||
);
|
|
||||||
$query->execute();
|
|
||||||
|
|
||||||
foreach ($query->fetchAll() as $fk) {
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' DROP FOREIGN KEY '.$fk['CONSTRAINT_NAME']);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'postgresql':
|
|
||||||
// http://dba.stackexchange.com/questions/36979/retrieving-all-pk-and-fk
|
|
||||||
$query = $this->connection->query("
|
|
||||||
SELECT conrelid::regclass AS table_from
|
|
||||||
,conname
|
|
||||||
,pg_get_constraintdef(c.oid)
|
|
||||||
FROM pg_constraint c
|
|
||||||
JOIN pg_namespace n ON n.oid = c.connamespace
|
|
||||||
WHERE contype = 'f'
|
|
||||||
AND conrelid::regclass::text = '".$this->getTable('annotation')."'
|
|
||||||
AND n.nspname = 'public'
|
|
||||||
AND pg_get_constraintdef(c.oid) LIKE '%entry_id%';"
|
|
||||||
);
|
|
||||||
$query->execute();
|
|
||||||
|
|
||||||
foreach ($query->fetchAll() as $fk) {
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' DROP CONSTRAINT '.$fk['conname']);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
$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 ...');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,85 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Converted database to utf8mb4 encoding (for MySQL only)
|
|
||||||
*/
|
|
||||||
class Version20161022134138 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$this->skipIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'This migration only apply to MySQL');
|
|
||||||
|
|
||||||
$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
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('user').' CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL;');
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('user').' CHANGE salt salt VARCHAR(180) NOT NULL;');
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('user').' CHANGE password password VARCHAR(180) NOT NULL;');
|
|
||||||
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('tag').' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('user').' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
|
|
||||||
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' CHANGE `text` `text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' CHANGE `quote` `quote` VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
|
|
||||||
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CHANGE `title` `title` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CHANGE `content` `content` longtext 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;');
|
|
||||||
|
|
||||||
$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($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'This migration only apply to MySQL');
|
|
||||||
|
|
||||||
$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;');
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('tag').' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('user').' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
|
|
||||||
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' CHANGE `text` `text` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' CHANGE `quote` `quote` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
|
|
||||||
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CHANGE `title` `title` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CHANGE `content` `content` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
|
|
||||||
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('tag').' CHANGE `label` `label` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
|
|
||||||
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('user').' CHANGE `name` `name` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,67 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Added user_id column on oauth2_clients to prevent users to delete API clients from other users
|
|
||||||
*/
|
|
||||||
class Version20161024212538 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
private $constraintName = 'IDX_user_oauth_client';
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
|
|
||||||
|
|
||||||
$this->skipIf($clientsTable->hasColumn('user_id'), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$clientsTable->addColumn('user_id', 'integer', ['notnull' => false]);
|
|
||||||
|
|
||||||
$clientsTable->addForeignKeyConstraint(
|
|
||||||
$this->getTable('user'),
|
|
||||||
['user_id'],
|
|
||||||
['id'],
|
|
||||||
['onDelete' => 'CASCADE'],
|
|
||||||
$this->constraintName
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function down(Schema $schema)
|
|
||||||
{
|
|
||||||
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
|
|
||||||
|
|
||||||
$this->skipIf(!$clientsTable->hasColumn('user_id'), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$clientsTable->dropColumn('user_id', 'integer');
|
|
||||||
|
|
||||||
if ($this->connection->getDatabasePlatform()->getName() != 'sqlite') {
|
|
||||||
$clientsTable->removeForeignKey($this->constraintName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,52 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Added the internal setting to enable/disable downloading pictures
|
|
||||||
*/
|
|
||||||
class Version20161031132655 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$images = $this->container
|
|
||||||
->get('doctrine.orm.default_entity_manager')
|
|
||||||
->getConnection()
|
|
||||||
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'download_images_enabled'");
|
|
||||||
|
|
||||||
$this->skipIf(false !== $images, 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$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';");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,53 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Added created_at index on entry table
|
|
||||||
*/
|
|
||||||
class Version20161104073720 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
private $indexName = 'IDX_entry_created_at';
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
|
||||||
$this->skipIf($entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$entryTable->addIndex(['created_at'], $this->indexName);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function down(Schema $schema)
|
|
||||||
{
|
|
||||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
|
||||||
$this->skipIf(false === $entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$entryTable->dropIndex($this->indexName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,56 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Added action_mark_as_read field on config table
|
|
||||||
*/
|
|
||||||
class Version20161106113822 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$configTable = $schema->getTable($this->getTable('config'));
|
|
||||||
|
|
||||||
$this->skipIf($configTable->hasColumn('action_mark_as_read'), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$configTable->addColumn('action_mark_as_read', 'integer', [
|
|
||||||
'default' => 0,
|
|
||||||
'notnull' => false,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function down(Schema $schema)
|
|
||||||
{
|
|
||||||
$configTable = $schema->getTable($this->getTable('config'));
|
|
||||||
|
|
||||||
$this->skipIf(!$configTable->hasColumn('action_mark_as_read'), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$configTable->dropColumn('action_mark_as_read');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,64 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Added the internal setting to share articles to unmark.it
|
|
||||||
*/
|
|
||||||
class Version20161117071626 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$share = $this->container
|
|
||||||
->get('doctrine.orm.default_entity_manager')
|
|
||||||
->getConnection()
|
|
||||||
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'share_unmark'");
|
|
||||||
|
|
||||||
if (false === $share) {
|
|
||||||
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('share_unmark', 0, 'entry')");
|
|
||||||
}
|
|
||||||
|
|
||||||
$unmark = $this->container
|
|
||||||
->get('doctrine.orm.default_entity_manager')
|
|
||||||
->getConnection()
|
|
||||||
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'unmark_url'");
|
|
||||||
|
|
||||||
if (false === $unmark) {
|
|
||||||
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')");
|
|
||||||
}
|
|
||||||
|
|
||||||
$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';");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,56 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add http_status in `entry_table`.
|
|
||||||
*/
|
|
||||||
class Version20161118134328 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
|
||||||
|
|
||||||
$this->skipIf($entryTable->hasColumn('http_status'), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$entryTable->addColumn('http_status', 'string', [
|
|
||||||
'length' => 3,
|
|
||||||
'notnull' => false,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function down(Schema $schema)
|
|
||||||
{
|
|
||||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
|
||||||
|
|
||||||
$this->skipIf(!$entryTable->hasColumn('http_status'), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$entryTable->dropColumn('http_status');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,52 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the restricted_access internal setting for articles with paywall.
|
|
||||||
*/
|
|
||||||
class Version20161122144743 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$access = $this->container
|
|
||||||
->get('doctrine.orm.default_entity_manager')
|
|
||||||
->getConnection()
|
|
||||||
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'restricted_access'");
|
|
||||||
|
|
||||||
$this->skipIf(false !== $access, 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$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';");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,63 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Methods and properties removed from `FOS\UserBundle\Model\User`.
|
|
||||||
*
|
|
||||||
* - `$expired`
|
|
||||||
* - `$credentialsExpired`
|
|
||||||
* - `setExpired()` (use `setExpiresAt(\DateTime::now()` instead)
|
|
||||||
* - `setCredentialsExpired()` (use `setCredentialsExpireAt(\DateTime::now()` instead)
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$userTable = $schema->getTable($this->getTable('user'));
|
|
||||||
|
|
||||||
$this->skipIf(false === $userTable->hasColumn('expired') || false === $userTable->hasColumn('credentials_expired'), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$userTable->dropColumn('expired');
|
|
||||||
$userTable->dropColumn('credentials_expired');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function down(Schema $schema)
|
|
||||||
{
|
|
||||||
$userTable = $schema->getTable($this->getTable('user'));
|
|
||||||
|
|
||||||
$this->skipIf(true === $userTable->hasColumn('expired') || true === $userTable->hasColumn('credentials_expired'), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$userTable->addColumn('expired', 'smallint', ['notnull' => false]);
|
|
||||||
$userTable->addColumn('credentials_expired', 'smallint', ['notnull' => false]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Added list_mode in user config.
|
|
||||||
*/
|
|
||||||
class Version20161128084725 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$configTable = $schema->getTable($this->getTable('config'));
|
|
||||||
$this->skipIf($configTable->hasColumn('list_mode'), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$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');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,61 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removed locked, credentials_expire_at and expires_at.
|
|
||||||
*/
|
|
||||||
class Version20161128131503 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
private $fields = [
|
|
||||||
'locked' => 'smallint',
|
|
||||||
'credentials_expire_at' => 'datetime',
|
|
||||||
'expires_at' => 'datetime',
|
|
||||||
];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$userTable = $schema->getTable($this->getTable('user'));
|
|
||||||
|
|
||||||
foreach ($this->fields as $field => $type) {
|
|
||||||
$this->skipIf(!$userTable->hasColumn($field), 'It seems that you already played this migration.');
|
|
||||||
$userTable->dropColumn($field);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function down(Schema $schema)
|
|
||||||
{
|
|
||||||
$userTable = $schema->getTable($this->getTable('user'));
|
|
||||||
|
|
||||||
foreach ($this->fields as $field => $type) {
|
|
||||||
$this->skipIf($userTable->hasColumn($field), 'It seems that you already played this migration.');
|
|
||||||
$userTable->addColumn($field, $type, ['notnull' => false]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,75 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renamed uuid to uid in entry table
|
|
||||||
*/
|
|
||||||
class Version20161214094402 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
|
||||||
|
|
||||||
$this->skipIf($entryTable->hasColumn('uid'), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
switch ($this->connection->getDatabasePlatform()->getName()) {
|
|
||||||
case 'sqlite':
|
|
||||||
$this->addSql('CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM '.$this->getTable('entry'));
|
|
||||||
$this->addSql('DROP TABLE '.$this->getTable('entry'));
|
|
||||||
$this->addSql('CREATE TABLE '.$this->getTable('entry').' (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid CLOB DEFAULT NULL COLLATE BINARY, 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, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT "0", PRIMARY KEY(id));');
|
|
||||||
$this->addSql('INSERT INTO '.$this->getTable('entry').' (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry;');
|
|
||||||
$this->addSql('DROP TABLE __temp__wallabag_entry');
|
|
||||||
break;
|
|
||||||
case 'mysql':
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CHANGE uuid uid VARCHAR(23)');
|
|
||||||
break;
|
|
||||||
case 'postgresql':
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('entry').' RENAME uuid TO uid');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function down(Schema $schema)
|
|
||||||
{
|
|
||||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
|
||||||
|
|
||||||
$this->skipIf($entryTable->hasColumn('uuid'), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
switch ($this->connection->getDatabasePlatform()->getName()) {
|
|
||||||
case 'sqlite':
|
|
||||||
throw new SkipMigrationException('Too complex ...');
|
|
||||||
break;
|
|
||||||
case 'mysql':
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CHANGE uid uuid VARCHAR(23)');
|
|
||||||
break;
|
|
||||||
case 'postgresql':
|
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('entry').' RENAME uid TO uuid');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,53 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Added index on wallabag_entry.uid
|
|
||||||
*/
|
|
||||||
class Version20161214094403 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
private $indexName = 'IDX_entry_uid';
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
|
||||||
$this->skipIf($entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$entryTable->addIndex(['uid'], $this->indexName);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function down(Schema $schema)
|
|
||||||
{
|
|
||||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
|
||||||
$this->skipIf(false === $entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$entryTable->dropIndex($this->indexName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,56 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Application\Migrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Added indexes on wallabag_entry.is_starred and wallabag_entry.is_archived
|
|
||||||
*/
|
|
||||||
class Version20170127093841 extends AbstractMigration implements ContainerAwareInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var ContainerInterface
|
|
||||||
*/
|
|
||||||
private $container;
|
|
||||||
|
|
||||||
private $indexStarredName = 'IDX_entry_starred';
|
|
||||||
private $indexArchivedName = 'IDX_entry_archived';
|
|
||||||
|
|
||||||
public function setContainer(ContainerInterface $container = null)
|
|
||||||
{
|
|
||||||
$this->container = $container;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getTable($tableName)
|
|
||||||
{
|
|
||||||
return $this->container->getParameter('database_table_prefix').$tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function up(Schema $schema)
|
|
||||||
{
|
|
||||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
|
||||||
$this->skipIf($entryTable->hasIndex($this->indexStarredName) && $entryTable->hasIndex($this->indexArchivedName), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$entryTable->addIndex(['is_starred'], $this->indexStarredName);
|
|
||||||
$entryTable->addIndex(['is_archived'], $this->indexArchivedName);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Schema $schema
|
|
||||||
*/
|
|
||||||
public function down(Schema $schema)
|
|
||||||
{
|
|
||||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
|
||||||
$this->skipIf(false === $entryTable->hasIndex($this->indexStarredName) && false === $entryTable->hasIndex($this->indexArchivedName), 'It seems that you already played this migration.');
|
|
||||||
|
|
||||||
$entryTable->dropIndex($this->indexStarredName);
|
|
||||||
$entryTable->dropIndex($this->indexArchivedName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,4 +1,3 @@
|
|||||||
# settings_changed: Configuration updated
|
|
||||||
download_pictures: Download billeder på din server
|
download_pictures: Download billeder på din server
|
||||||
carrot: Aktiver deling til Carrot
|
carrot: Aktiver deling til Carrot
|
||||||
diaspora_url: Diaspora URL, hvis tjenesten er aktiv
|
diaspora_url: Diaspora URL, hvis tjenesten er aktiv
|
||||||
@ -9,14 +8,12 @@ export_csv: Aktiver eksport til CSV
|
|||||||
export_json: Aktiver eksport til JSON
|
export_json: Aktiver eksport til JSON
|
||||||
export_txt: Aktiver eksport til TXT
|
export_txt: Aktiver eksport til TXT
|
||||||
export_xml: Aktiver eksport til XML
|
export_xml: Aktiver eksport til XML
|
||||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
pocket_consumer_key: Brugers nøgle til Pocket for at importere materialer (https://getpocket.com/developer/docs/authentication)
|
||||||
# import_with_redis: Enable Redis to import data asynchronously
|
|
||||||
shaarli_url: Shaarli-URL, hvis tjenesten er aktiv
|
shaarli_url: Shaarli-URL, hvis tjenesten er aktiv
|
||||||
share_diaspora: Aktiver deling til Diaspora
|
share_diaspora: Aktiver deling til Diaspora
|
||||||
share_mail: Aktiver deling med email
|
share_mail: Aktiver deling med email
|
||||||
share_shaarli: Aktiver deling gennem Shaarli
|
share_shaarli: Aktiver deling gennem Shaarli
|
||||||
share_twitter: Aktiver deling gennem Twitter
|
share_twitter: Aktiver deling gennem Twitter
|
||||||
share_unmark: Aktiver deling gennem Unmark.it
|
|
||||||
show_printlink: Vis et link til print-indhold
|
show_printlink: Vis et link til print-indhold
|
||||||
wallabag_support_url: Support-URL for wallabag
|
wallabag_support_url: Support-URL for wallabag
|
||||||
wallabag_url: URL for *sin* wallabag-installation
|
wallabag_url: URL for *sin* wallabag-installation
|
||||||
@ -25,11 +22,8 @@ export: "eksport"
|
|||||||
import: "import"
|
import: "import"
|
||||||
misc: "misc"
|
misc: "misc"
|
||||||
modify_settings: "Gem ændring"
|
modify_settings: "Gem ændring"
|
||||||
piwik_host: Hosting af din side hos Piwik (uden http:// eller https://)
|
piwik_host: Hosting af din side hos Piwik
|
||||||
piwik_site_id: ID for din side hos Piwik
|
piwik_site_id: ID for din side hos Piwik
|
||||||
piwik_enabled: Aktiver Piwik
|
piwik_enabled: Aktiver Piwik
|
||||||
demo_mode_enabled: "Aktiver demo-indstilling? (anvendes kun til wallabags offentlige demo)"
|
demo_mode_enabled: "Aktiver demo-indstilling? (anvendes kun til wallabags offentlige demo)"
|
||||||
demo_mode_username: "Demobruger"
|
demo_mode_username: "Demobruger"
|
||||||
# share_public: Allow public url for entries
|
|
||||||
# download_images_enabled: Download images locally
|
|
||||||
# restricted_access: Enable authentication for websites with paywall
|
|
||||||
|
|||||||
@ -1,22 +1,19 @@
|
|||||||
# settings_changed: Configuration updated
|
|
||||||
download_pictures: Bilder auf den Server herunterladen
|
download_pictures: Bilder auf den Server herunterladen
|
||||||
carrot: Teilen zu Carrot aktivieren
|
carrot: Teilen zu Carrot aktivieren
|
||||||
diaspora_url: Diaspora-URL, sofern der Service aktiviert ist
|
diaspora_url: Diaspora-URL, sofern der Service aktiviert ist
|
||||||
export_epub: ePUB-Export aktivieren
|
export_epub: ePUB-Export aktivieren
|
||||||
export_mobi: mobi-Export aktivieren
|
export_mobi: .mobi-Export aktivieren
|
||||||
export_pdf: PDF-Export aktivieren
|
export_pdf: PDF-Export aktivieren
|
||||||
export_csv: CSV-Export aktivieren
|
export_csv: CSV-Export aktivieren
|
||||||
export_json: JSON-Export aktivieren
|
export_json: JSON-Export aktivieren
|
||||||
export_txt: TXT-Export aktivieren
|
export_txt: TXT-Export aktivieren
|
||||||
export_xml: XML-Export aktivieren
|
export_xml: XML-Export aktivieren
|
||||||
import_with_rabbitmq: Aktiviere RabbitMQ, um Artikel asynchron zu importieren
|
pocket_consumer_key: Consumer-Key für Pocket, um Inhalte zu importieren (https://getpocket.com/developer/docs/authentication)
|
||||||
import_with_redis: Aktiviere Redis, um Artikel asynchron zu importieren
|
|
||||||
shaarli_url: Shaarli-URL, sofern der Service aktiviert ist
|
shaarli_url: Shaarli-URL, sofern der Service aktiviert ist
|
||||||
share_diaspora: Teilen zu Diaspora aktiveren
|
share_diaspora: Teilen zu Diaspora aktiveren
|
||||||
share_mail: Teilen via E-Mail aktiveren
|
share_mail: Teilen via E-Mail aktiveren
|
||||||
share_shaarli: Teilen zu Shaarli aktiveren
|
share_shaarli: Teilen zu Shaarli aktiveren
|
||||||
share_twitter: Teilen zu Twitter aktiveren
|
share_twitter: Teilen zu Twitter aktiveren
|
||||||
share_unmark: Teilen zu Unmark.it aktiveren
|
|
||||||
show_printlink: Link anzeigen, um den Inhalt auszudrucken
|
show_printlink: Link anzeigen, um den Inhalt auszudrucken
|
||||||
wallabag_support_url: Support-URL für wallabag
|
wallabag_support_url: Support-URL für wallabag
|
||||||
wallabag_url: URL von *deiner* wallabag-Instanz
|
wallabag_url: URL von *deiner* wallabag-Instanz
|
||||||
@ -25,11 +22,8 @@ export: "Export"
|
|||||||
import: "Import"
|
import: "Import"
|
||||||
misc: "Verschiedenes"
|
misc: "Verschiedenes"
|
||||||
modify_settings: "Übernehmen"
|
modify_settings: "Übernehmen"
|
||||||
piwik_host: Host deiner Webseite in Piwik (ohne http:// oder https://)
|
piwik_host: Host deiner Webseite in Piwik
|
||||||
piwik_site_id: ID deiner Webseite in Piwik
|
piwik_site_id: ID deiner Webseite in Piwik
|
||||||
piwik_enabled: Piwik aktivieren
|
piwik_enabled: Piwik aktivieren
|
||||||
demo_mode_enabled: "Test-Modus aktivieren? (nur für die öffentliche wallabag-Demo genutzt)"
|
demo_mode_enabled: "Test-Modus aktivieren? (nur für die öffentliche wallabag-Demo genutzt)"
|
||||||
demo_mode_username: "Test-Benutzer"
|
demo_mode_username: "Test-Benutzer"
|
||||||
share_public: Erlaube eine öffentliche URL für Einträge
|
|
||||||
# download_images_enabled: Download images locally
|
|
||||||
# restricted_access: Enable authentication for websites with paywall
|
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
settings_changed: Configuration updated
|
|
||||||
download_pictures: Download pictures on your server
|
download_pictures: Download pictures on your server
|
||||||
carrot: Enable share to Carrot
|
carrot: Enable share to Carrot
|
||||||
diaspora_url: Diaspora URL, if the service is enabled
|
diaspora_url: Diaspora URL, if the service is enabled
|
||||||
@ -9,14 +8,12 @@ export_csv: Enable CSV export
|
|||||||
export_json: Enable JSON export
|
export_json: Enable JSON export
|
||||||
export_txt: Enable TXT export
|
export_txt: Enable TXT export
|
||||||
export_xml: Enable XML export
|
export_xml: Enable XML export
|
||||||
import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
pocket_consumer_key: Consumer key for Pocket to import contents (https://getpocket.com/developer/docs/authentication)
|
||||||
import_with_redis: Enable Redis to import data asynchronously
|
|
||||||
shaarli_url: Shaarli URL, if the service is enabled
|
shaarli_url: Shaarli URL, if the service is enabled
|
||||||
share_diaspora: Enable share to Diaspora
|
share_diaspora: Enable share to Diaspora
|
||||||
share_mail: Enable share by email
|
share_mail: Enable share by email
|
||||||
share_shaarli: Enable share to Shaarli
|
share_shaarli: Enable share to Shaarli
|
||||||
share_twitter: Enable share to Twitter
|
share_twitter: Enable share to Twitter
|
||||||
share_unmark: Enable share to Unmark.it
|
|
||||||
show_printlink: Display a link to print content
|
show_printlink: Display a link to print content
|
||||||
wallabag_support_url: Support URL for wallabag
|
wallabag_support_url: Support URL for wallabag
|
||||||
wallabag_url: URL of *your* wallabag instance
|
wallabag_url: URL of *your* wallabag instance
|
||||||
@ -25,11 +22,8 @@ export: "export"
|
|||||||
import: "import"
|
import: "import"
|
||||||
misc: "misc"
|
misc: "misc"
|
||||||
modify_settings: "apply"
|
modify_settings: "apply"
|
||||||
piwik_host: Host of your website in Piwik (without http:// ou https://)
|
piwik_host: Host of your website in Piwik
|
||||||
piwik_site_id: ID of your website in Piwik
|
piwik_site_id: ID of your website in Piwik
|
||||||
piwik_enabled: Enable Piwik
|
piwik_enabled: Enable Piwik
|
||||||
demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
|
demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
|
||||||
demo_mode_username: "Demo user"
|
demo_mode_username: "Demo user"
|
||||||
share_public: Allow public url for entries
|
|
||||||
download_images_enabled: Download images locally
|
|
||||||
restricted_access: Enable authentication for websites with paywall
|
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
settings_changed: Configuración actualizada
|
download_pictures: Descargar imágenes
|
||||||
download_pictures: Descargar imágenes en el servidor
|
|
||||||
carrot: Activar compartir con Carrot
|
carrot: Activar compartir con Carrot
|
||||||
diaspora_url: URL de Diaspora, si el servicio está activado
|
diaspora_url: Diaspora URL, si el servicio está activado
|
||||||
export_epub: Activar exportación a ePub
|
export_epub: Activar exportación a ePub
|
||||||
export_mobi: Activar exportación a .mobi
|
export_mobi: Activar exportación a .mobi
|
||||||
export_pdf: Activar exportación a PDF
|
export_pdf: Activar exportación a PDF
|
||||||
@ -9,14 +8,12 @@ export_csv: Activar exportación a CSV
|
|||||||
export_json: Activar exportación a JSON
|
export_json: Activar exportación a JSON
|
||||||
export_txt: Activar exportación a TXT
|
export_txt: Activar exportación a TXT
|
||||||
export_xml: Activar exportación a XML
|
export_xml: Activar exportación a XML
|
||||||
import_with_rabbitmq: Activar RabbitMQ para importar datos de forma asíncrona
|
pocket_consumer_key: Consumer key for Pocket to import contents (https://getpocket.com/developer/docs/authentication)
|
||||||
import_with_redis: Activar Redis para importar datos de forma asíncrona
|
shaarli_url: Shaarli URL, si el servicio está activado
|
||||||
shaarli_url: URL de Shaarli, si el servicio está activado
|
|
||||||
share_diaspora: Activar compartir con Diaspora
|
share_diaspora: Activar compartir con Diaspora
|
||||||
share_mail: Activar compartir con Email
|
share_mail: Activar compartir con email
|
||||||
share_shaarli: Activar compartir con Shaarli
|
share_shaarli: Activar compartir con Shaarli
|
||||||
share_twitter: Activar compartir con Twitter
|
share_twitter: Activar compartir con Twitter
|
||||||
share_unmark: Activar compartir con Unmark.it
|
|
||||||
show_printlink: Mostrar un enlace para imprimir contenido
|
show_printlink: Mostrar un enlace para imprimir contenido
|
||||||
wallabag_support_url: URL de soporte de wallabag
|
wallabag_support_url: URL de soporte de wallabag
|
||||||
wallabag_url: URL de *tu* instancia de wallabag
|
wallabag_url: URL de *tu* instancia de wallabag
|
||||||
@ -24,12 +21,9 @@ entry: "artículo"
|
|||||||
export: "exportar"
|
export: "exportar"
|
||||||
import: "importar"
|
import: "importar"
|
||||||
misc: "misc"
|
misc: "misc"
|
||||||
modify_settings: "guardar"
|
modify_settings: "modificar configuración"
|
||||||
piwik_host: Host de tu website en Piwik (sin http:// o https://)
|
piwik_host: Host de tu website de Piwik
|
||||||
piwik_site_id: ID de tu website en Piwik
|
piwik_site_id: ID de tu website de Piwik
|
||||||
piwik_enabled: Activar Piwik
|
piwik_enabled: Activar Piwik
|
||||||
demo_mode_enabled: "Activar modo demo (sólo usado en la demo pública de wallabag)"
|
demo_mode_enabled: "Activar modo demo (sólo usado para la demo de wallabag)"
|
||||||
demo_mode_username: "Nombre de usuario demo"
|
demo_mode_username: "Nombre de usuario demo"
|
||||||
share_public: Permitir URL pública para los artículos
|
|
||||||
download_images_enabled: Descargar imágenes localmente
|
|
||||||
restricted_access: Activar autenticación para websites con paywall
|
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
# settings_changed: Configuration updated
|
|
||||||
download_pictures: تصاویر را در کارگزار خودتان باربگیرید
|
download_pictures: تصاویر را در کارگزار خودتان باربگیرید
|
||||||
carrot: فعالسازی همرسانی به Carrot
|
carrot: فعالسازی همرسانی به Carrot
|
||||||
diaspora_url: نشانی Diaspora، اگر فعال بود
|
diaspora_url: نشانی Diaspora، اگر فعال بود
|
||||||
@ -9,14 +8,12 @@ export_csv: فعالسازی برونسپاری به CSV
|
|||||||
export_json: فعالسازی برونسپاری به JSON
|
export_json: فعالسازی برونسپاری به JSON
|
||||||
export_txt: فعالسازی برونسپاری به TXT
|
export_txt: فعالسازی برونسپاری به TXT
|
||||||
export_xml: فعالسازی برونسپاری به XML
|
export_xml: فعالسازی برونسپاری به XML
|
||||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
pocket_consumer_key: کلید کاربری Pocket برای درونریزی مطالب (https://getpocket.com/developer/docs/authentication)
|
||||||
# import_with_redis: Enable Redis to import data asynchronously
|
|
||||||
shaarli_url: نشانی Shaarli، اگر فعال بود
|
shaarli_url: نشانی Shaarli، اگر فعال بود
|
||||||
share_diaspora: فعالسازی همرسانی به Diaspora
|
share_diaspora: فعالسازی همرسانی به Diaspora
|
||||||
share_mail: فعالسازی همرسانی با ایمیل
|
share_mail: فعالسازی همرسانی با ایمیل
|
||||||
share_shaarli: فعالسازی همرسانی به Shaarli
|
share_shaarli: فعالسازی همرسانی به Shaarli
|
||||||
share_twitter: فعالسازی همرسانی به Twitter
|
share_twitter: فعالسازی همرسانی به Twitter
|
||||||
share_unmark: فعالسازی همرسانی به Unmark.it
|
|
||||||
show_printlink: نمایش پیوندی برای چاپ مطلب
|
show_printlink: نمایش پیوندی برای چاپ مطلب
|
||||||
wallabag_support_url: نشانی صفحهٔ پشتیبانی wallabag
|
wallabag_support_url: نشانی صفحهٔ پشتیبانی wallabag
|
||||||
wallabag_url: نشانی صفحهٔ wallabag *شما*
|
wallabag_url: نشانی صفحهٔ wallabag *شما*
|
||||||
@ -25,11 +22,3 @@ export: "برونسپاری"
|
|||||||
import: "درونریزی"
|
import: "درونریزی"
|
||||||
misc: "غیره"
|
misc: "غیره"
|
||||||
modify_settings: "اعمال"
|
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
|
|
||||||
# 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
|
|
||||||
# download_images_enabled: Download images locally
|
|
||||||
# restricted_access: Enable authentication for websites with paywall
|
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
settings_changed: Configuration mise à jour
|
|
||||||
download_pictures: Télécharger les images sur le serveur
|
download_pictures: Télécharger les images sur le serveur
|
||||||
carrot: Activer le partage vers Carrot
|
carrot: Activer le partage vers Carrot
|
||||||
diaspora_url: URL de Diaspora, si le service Diaspora est activé
|
diaspora_url: URL de Diaspora, si le service Diaspora est activé
|
||||||
@ -9,14 +8,12 @@ export_csv: Activer l'export CSV
|
|||||||
export_json: Activer l'export JSON
|
export_json: Activer l'export JSON
|
||||||
export_txt: Activer l'export TXT
|
export_txt: Activer l'export TXT
|
||||||
export_xml: Activer l'export XML
|
export_xml: Activer l'export XML
|
||||||
import_with_rabbitmq: Activer RabbitMQ pour gérer les imports de façon asynchrone
|
pocket_consumer_key: Clé d'authentification Pocket pour importer les données (https://getpocket.com/developer/docs/authentication)
|
||||||
import_with_redis: Activer Redis pour gérer les imports de façon asynchrone
|
|
||||||
shaarli_url: URL de Shaarli, si le service Shaarli est activé
|
shaarli_url: URL de Shaarli, si le service Shaarli est activé
|
||||||
share_diaspora: Activer le partage vers Diaspora
|
share_diaspora: Activer le partage vers Diaspora
|
||||||
share_mail: Activer le partage par email
|
share_mail: Activer le partage par email
|
||||||
share_shaarli: Activer le partage vers Shaarli
|
share_shaarli: Activer le partage vers Shaarli
|
||||||
share_twitter: Activer le partage vers Twitter
|
share_twitter: Activer le partage vers Twitter
|
||||||
share_unmark: Activer le partage vers Unmark.it
|
|
||||||
show_printlink: Afficher un lien pour imprimer
|
show_printlink: Afficher un lien pour imprimer
|
||||||
wallabag_support_url: URL de support de wallabag
|
wallabag_support_url: URL de support de wallabag
|
||||||
wallabag_url: URL de *votre* instance de wallabag
|
wallabag_url: URL de *votre* instance de wallabag
|
||||||
@ -25,11 +22,8 @@ export: "export"
|
|||||||
import: "import"
|
import: "import"
|
||||||
misc: "divers"
|
misc: "divers"
|
||||||
modify_settings: "appliquer"
|
modify_settings: "appliquer"
|
||||||
piwik_host: URL de votre site dans Piwik (sans http:// ou https://)
|
piwik_host: URL de votre site dans Piwik
|
||||||
piwik_site_id: ID de votre site dans Piwik
|
piwik_site_id: ID de votre site dans Piwik
|
||||||
piwik_enabled: Activer Piwik
|
piwik_enabled: Activer Piwik
|
||||||
demo_mode_enabled: "Activer le mode démo ? (utiliser uniquement pour la démo publique de wallabag)"
|
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"
|
demo_mode_username: "Utilisateur de la démo"
|
||||||
share_public: Autoriser une URL publique pour les articles
|
|
||||||
download_images_enabled: Télécharger les images en local
|
|
||||||
restricted_access: Activer l'authentification pour les articles derrière un paywall
|
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
# settings_changed: Configuration updated
|
|
||||||
download_pictures: Scarica le immagini sul tuo server
|
download_pictures: Scarica le immagini sul tuo server
|
||||||
carrot: Abilita la condivisione con Carrot
|
carrot: Abilita la condivisione con Carrot
|
||||||
diaspora_url: Diaspora URL, se il servizio è abilitato
|
diaspora_url: Diaspora URL, se il servizio è abilitato
|
||||||
@ -9,14 +8,12 @@ export_csv: Abilita esportazione CSV
|
|||||||
export_json: Abilita esportazione JSON
|
export_json: Abilita esportazione JSON
|
||||||
export_txt: Abilita esportazione TXT
|
export_txt: Abilita esportazione TXT
|
||||||
export_xml: Abilita esportazione XML
|
export_xml: Abilita esportazione XML
|
||||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
pocket_consumer_key: Consumer key per Pocket per importare i contenuti (https://getpocket.com/developer/docs/authentication)
|
||||||
# import_with_redis: Enable Redis to import data asynchronously
|
|
||||||
shaarli_url: Shaarli URL, se il servizio è abilitato
|
shaarli_url: Shaarli URL, se il servizio è abilitato
|
||||||
share_diaspora: Abilita la condivisione con Diaspora
|
share_diaspora: Abilita la condivisione con Diaspora
|
||||||
share_mail: Abilita la condivisione per email
|
share_mail: Abilita la condivisione per email
|
||||||
share_shaarli: Abilita la condivisione con Shaarli
|
share_shaarli: Abilita la condivisione con Shaarli
|
||||||
share_twitter: Abilita la condivisione con Twitter
|
share_twitter: Abilita la condivisione con Twitter
|
||||||
share_unmark: Abilita la condivisione con Unmark.it
|
|
||||||
show_printlink: Mostra un collegamento per stampare il contenuto
|
show_printlink: Mostra un collegamento per stampare il contenuto
|
||||||
wallabag_support_url: URL di supporto per wallabag
|
wallabag_support_url: URL di supporto per wallabag
|
||||||
wallabag_url: URL della *tua* installazione di wallabag
|
wallabag_url: URL della *tua* installazione di wallabag
|
||||||
@ -25,11 +22,8 @@ export: "esporta"
|
|||||||
import: "importa"
|
import: "importa"
|
||||||
misc: "misc"
|
misc: "misc"
|
||||||
modify_settings: "applica"
|
modify_settings: "applica"
|
||||||
piwik_host: Host del tuo sito in Piwik (senza http:// o https://)
|
piwik_host: Host del tuo sito in Piwik
|
||||||
piwik_site_id: ID del tuo sito in Piwik
|
piwik_site_id: ID del tuo sito in Piwik
|
||||||
piwik_enabled: Abilita Piwik
|
piwik_enabled: Abilita Piwik
|
||||||
demo_mode_enabled: "Abilita modalità demo ? (usato solo per la demo pubblica di wallabag)"
|
demo_mode_enabled: "Abilita modalità demo ? (usato solo per la demo pubblica di wallabag)"
|
||||||
demo_mode_username: "Utente Demo"
|
demo_mode_username: "Utente Demo"
|
||||||
# share_public: Allow public url for entries
|
|
||||||
# download_images_enabled: Download images locally
|
|
||||||
# restricted_access: Enable authentication for websites with paywall
|
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
settings_changed: Configuracion mesa a jorn
|
|
||||||
download_pictures: Telecargar los imatges sul servidor
|
download_pictures: Telecargar los imatges sul servidor
|
||||||
carrot: Activar lo partatge cap a Carrot
|
carrot: Activar lo partatge cap a Carrot
|
||||||
diaspora_url: URL de Diaspora, se lo servici Diaspora es activat
|
diaspora_url: URL de Diaspora, se lo servici Diaspora es activat
|
||||||
@ -9,14 +8,12 @@ export_csv: Activar l'expòrt CSV
|
|||||||
export_json: Activar l'expòrt JSON
|
export_json: Activar l'expòrt JSON
|
||||||
export_txt: Activar l'expòrt TXT
|
export_txt: Activar l'expòrt TXT
|
||||||
export_xml: Activar l'expòrt XML
|
export_xml: Activar l'expòrt XML
|
||||||
import_with_rabbitmq: Activar Enable RabbitMQ per importar de donadas de manièra asincròna
|
pocket_consumer_key: Clau d'autentificacion Pocket per importar las donadas (https://getpocket.com/developer/docs/authentication)
|
||||||
import_with_redis: Activar Redis per importar de donadas de manièra asincròna
|
|
||||||
shaarli_url: URL de Shaarli, se lo servici Shaarli es activat
|
shaarli_url: URL de Shaarli, se lo servici Shaarli es activat
|
||||||
share_diaspora: Activar lo partatge cap a Diaspora
|
share_diaspora: Activar lo partatge cap a Diaspora
|
||||||
share_mail: Activar lo partatge per corrièl
|
share_mail: Activar lo partatge per corrièl
|
||||||
share_shaarli: Activar lo partatge cap a Shaarli
|
share_shaarli: Activar lo partatge cap a Shaarli
|
||||||
share_twitter: Activar lo partatge cap a Twitter
|
share_twitter: Activar lo partatge cap a Twitter
|
||||||
share_unmark: Activar lo partatge cap a Unmark.it
|
|
||||||
show_printlink: Afichar un ligam per imprimir
|
show_printlink: Afichar un ligam per imprimir
|
||||||
wallabag_support_url: URL d'assisténcia de wallabag
|
wallabag_support_url: URL d'assisténcia de wallabag
|
||||||
wallabag_url: URL de *vòstra* instància de wallabag
|
wallabag_url: URL de *vòstra* instància de wallabag
|
||||||
@ -25,11 +22,8 @@ export: "expòrt"
|
|||||||
import: "impòrt"
|
import: "impòrt"
|
||||||
misc: "divèrs"
|
misc: "divèrs"
|
||||||
modify_settings: "aplicar"
|
modify_settings: "aplicar"
|
||||||
piwik_host: URL de vòstre site dins Piwik (sense http:// o https://)
|
piwik_host: URL de vòstre site dins Piwik
|
||||||
piwik_site_id: ID de vòstre site dins Piwik
|
piwik_site_id: ID de vòstre site dins Piwik
|
||||||
piwik_enabled: Activar Piwik
|
piwik_enabled: Activar Piwik
|
||||||
demo_mode_enabled: "Activar lo mode demostracion ? (utilizar solament per la demostracion publica de wallabag)"
|
demo_mode_enabled: "Activar lo mode demostracion ? (utilizar solament per la demostracion publica de wallabag)"
|
||||||
demo_mode_username: "Utilizaire de la demostracion"
|
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
|
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
settings_changed: Konfiguracja zaktualizowana
|
|
||||||
download_pictures: Pobierz obrazy na swój serwer
|
download_pictures: Pobierz obrazy na swój serwer
|
||||||
carrot: Włącz udostępnianie dla Carrot
|
carrot: Włącz udostępnianie dla Carrot
|
||||||
diaspora_url: Adres URL Diaspora, jeżeli usługa jest włączona
|
diaspora_url: Adres URL Diaspora, jeżeli usługa jest włączona
|
||||||
@ -9,14 +8,12 @@ export_csv: Włącz eksport do CSV
|
|||||||
export_json: Włącz eksport do JSON
|
export_json: Włącz eksport do JSON
|
||||||
export_txt: Włącz eksport do TXT
|
export_txt: Włącz eksport do TXT
|
||||||
export_xml: Włącz eksport do XML
|
export_xml: Włącz eksport do XML
|
||||||
import_with_rabbitmq: Włącz RabbitMQ dla asynchronicznego importu danych
|
pocket_consumer_key: Klucz klienta Pocket do importu zawartości (https://getpocket.com/developer/docs/authentication)
|
||||||
import_with_redis: Włącz Redis dla asynchronicznego importu danych
|
|
||||||
shaarli_url: Adress URL Shaarli, jeżeli usługa jest włączona
|
shaarli_url: Adress URL Shaarli, jeżeli usługa jest włączona
|
||||||
share_diaspora: Włącz udostępnianie dla Diaspora
|
share_diaspora: Włącz udostępnianie dla Diaspora
|
||||||
share_mail: Włącz udostępnianie przez email
|
share_mail: Włącz udostępnianie przez email
|
||||||
share_shaarli: Włącz udostępnianie dla Shaarli
|
share_shaarli: Włącz udostępnianie dla Shaarli
|
||||||
share_twitter: Włącz udostępnianie dla Twitter
|
share_twitter: Włącz udostępnianie dla Twitter
|
||||||
share_unmark: Włącz udostępnianie dla Unmark.it
|
|
||||||
show_printlink: Pokaż link do wydrukowania zawartości
|
show_printlink: Pokaż link do wydrukowania zawartości
|
||||||
wallabag_support_url: Adres URL wsparcia dla wallabag
|
wallabag_support_url: Adres URL wsparcia dla wallabag
|
||||||
wallabag_url: Adres *twojej* instacji wallabag
|
wallabag_url: Adres *twojej* instacji wallabag
|
||||||
@ -24,12 +21,4 @@ entry: "artykuł"
|
|||||||
export: "eksport"
|
export: "eksport"
|
||||||
import: "import"
|
import: "import"
|
||||||
misc: "różne"
|
misc: "różne"
|
||||||
modify_settings: "zatwierdź"
|
modify_settings: "zatwierdz"
|
||||||
piwik_host: Host twojej strony Piwik (bez http:// lub https://)
|
|
||||||
piwik_site_id: ID twojej strony Piwik
|
|
||||||
piwik_enabled: Włacz Piwik
|
|
||||||
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
|
|
||||||
download_images_enabled: Pobierz obrazy lokalnie
|
|
||||||
restricted_access: Włącz autoryzację dla stron z paywallem
|
|
||||||
|
|||||||
@ -1,35 +0,0 @@
|
|||||||
# settings_changed: Configuration updated
|
|
||||||
download_pictures: Download imagens no seu servidor
|
|
||||||
carrot: Habilitar compartilhamento para o Carrot
|
|
||||||
diaspora_url: URL Diaspora, se o serviço está habilitado
|
|
||||||
export_epub: Habilita exportação para ePub
|
|
||||||
export_mobi: Habilita exportação para .mobi
|
|
||||||
export_pdf: Habilita exportação para PDF
|
|
||||||
export_csv: Habilita exportação para CSV
|
|
||||||
export_json: Habilita exportação para JSON
|
|
||||||
export_txt: Habilita exportação para TXT
|
|
||||||
export_xml: Habilita exportação para XML
|
|
||||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
|
||||||
# import_with_redis: Enable Redis to import data asynchronously
|
|
||||||
shaarli_url: URL Shaarli, se o serviço está habilitado
|
|
||||||
share_diaspora: Habilitar compartilhamento para o Diaspora
|
|
||||||
share_mail: Habilitar compartilhamento por e-mail
|
|
||||||
share_shaarli: Habilitar compartilhamento para o Shaarli
|
|
||||||
share_twitter: Habilitar compartilhamento para o Twitter
|
|
||||||
share_unmark: Habilitar compartilhamento para o Unmark.it
|
|
||||||
show_printlink: Mostrar um link para imprimir o conteúdo
|
|
||||||
wallabag_support_url: URL de Suporte do wallabag
|
|
||||||
wallabag_url: URL de *sua* instância do wallabag
|
|
||||||
entry: "artigo"
|
|
||||||
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
|
|
||||||
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
|
|
||||||
# download_images_enabled: Download images locally
|
|
||||||
# restricted_access: Enable authentication for websites with paywall
|
|
||||||
@ -1,4 +1,3 @@
|
|||||||
# settings_changed: Configuration updated
|
|
||||||
download_pictures: Descarcă poze pe server
|
download_pictures: Descarcă poze pe server
|
||||||
carrot: Permite share către Carrot
|
carrot: Permite share către Carrot
|
||||||
diaspora_url: Diaspora URL, dacă serviciul este permis
|
diaspora_url: Diaspora URL, dacă serviciul este permis
|
||||||
@ -9,14 +8,12 @@ export_csv: Permite exportare CSV
|
|||||||
export_json: Permite exportare JSON
|
export_json: Permite exportare JSON
|
||||||
export_txt: Permite exportare TXT
|
export_txt: Permite exportare TXT
|
||||||
export_xml: Permite exportare XML
|
export_xml: Permite exportare XML
|
||||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
pocket_consumer_key: Cheie consumator pentru importarea contentului din Pocket (https://getpocket.com/developer/docs/authentication)
|
||||||
# import_with_redis: Enable Redis to import data asynchronously
|
|
||||||
shaarli_url: Shaarli URL, dacă serviciul este permis
|
shaarli_url: Shaarli URL, dacă serviciul este permis
|
||||||
share_diaspora: Permite share către Diaspora
|
share_diaspora: Permite share către Diaspora
|
||||||
share_mail: Permite share prin email
|
share_mail: Permite share prin email
|
||||||
share_shaarli: Permite share către Shaarli
|
share_shaarli: Permite share către Shaarli
|
||||||
share_twitter: Permite share către Twitter
|
share_twitter: Permite share către Twitter
|
||||||
share_unmark: Permite share către Unmark.it
|
|
||||||
show_printlink: Afișează un link pentru a printa content-ul
|
show_printlink: Afișează un link pentru a printa content-ul
|
||||||
wallabag_support_url: URL-ul de suport pentru wallabag
|
wallabag_support_url: URL-ul de suport pentru wallabag
|
||||||
wallabag_url: URL-ul instanței tale wallabag
|
wallabag_url: URL-ul instanței tale wallabag
|
||||||
@ -25,11 +22,3 @@ export: "exportă"
|
|||||||
import: "importă"
|
import: "importă"
|
||||||
misc: "diverse"
|
misc: "diverse"
|
||||||
modify_settings: "aplică"
|
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
|
|
||||||
# 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
|
|
||||||
# download_images_enabled: Download images locally
|
|
||||||
# restricted_access: Enable authentication for websites with paywall
|
|
||||||
|
|||||||
@ -1,35 +0,0 @@
|
|||||||
# settings_changed: Configuration updated
|
|
||||||
# download_pictures: Download pictures on your server
|
|
||||||
# carrot: Enable share to Carrot
|
|
||||||
# diaspora_url: Diaspora URL, if the service is enabled
|
|
||||||
# export_epub: Enable ePub export
|
|
||||||
# export_mobi: Enable .mobi export
|
|
||||||
# export_pdf: Enable PDF export
|
|
||||||
# export_csv: Enable CSV export
|
|
||||||
# export_json: Enable JSON export
|
|
||||||
# export_txt: Enable TXT export
|
|
||||||
# export_xml: Enable XML export
|
|
||||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
|
||||||
# import_with_redis: Enable Redis to import data asynchronously
|
|
||||||
# shaarli_url: Shaarli URL, if the service is enabled
|
|
||||||
# share_diaspora: Enable share to Diaspora
|
|
||||||
# share_mail: Enable share by email
|
|
||||||
# share_shaarli: Enable share to Shaarli
|
|
||||||
# share_twitter: Enable share to Twitter
|
|
||||||
# share_unmark: Enable share to Unmark.it
|
|
||||||
# show_printlink: Display a link to print content
|
|
||||||
# wallabag_support_url: Support URL for wallabag
|
|
||||||
# wallabag_url: URL of *your* wallabag instance
|
|
||||||
# entry: "article"
|
|
||||||
# export: "export"
|
|
||||||
# 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
|
|
||||||
# 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
|
|
||||||
# download_images_enabled: Download images locally
|
|
||||||
# restricted_access: Enable authentication for websites with paywall
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
||||||
|
|
||||||
{% block title %}{{ 'menu.left.internal_settings'|trans }}{% endblock %}
|
{% block title %}{% trans %}internal settings{% endtrans %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@ -13,7 +13,7 @@
|
|||||||
<div class="div_tabs col s12">
|
<div class="div_tabs col s12">
|
||||||
<ul class="tabs">
|
<ul class="tabs">
|
||||||
{% for section in sections | craue_sortSections %}
|
{% for section in sections | craue_sortSections %}
|
||||||
<li class="tab col s12 m6 l3"><a href="#set-{{ section }}">{{ section | trans({}, 'CraueConfigBundle') }}</a></li>
|
<li class="tab col s3"><a href="#set-{{ section }}">{{ section | trans({}, 'CraueConfigBundle') }}</a></li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -0,0 +1,2 @@
|
|||||||
|
Login: "Log ind"
|
||||||
|
Enter your email address below and we'll send you password reset instructions.: "Indtast din emailadresse nedenfor, så sender vi dig instrukser til at nulstille din adgangskode."
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
Login: "Anmelden"
|
||||||
|
Enter your email address below and we'll send you password reset instructions.: "Tippe deine E-Mail-Adresse unten ein und wir senden dir die Anweisungen, wie du dein Kennwort zurücksetzen kannst."
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
Login: "Logearse"
|
||||||
|
Enter your email address below and we'll send you password reset instructions.: "Introduzca su dirección de email y le enviaremos las instrucciones para resetear su contraseña."
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
Login: "Se connecter"
|
||||||
|
Enter your email address below and we'll send you password reset instructions.: "Renseignez votre adresse email, nous vous enverrons les instructions pour réinitialiser votre mot de passe."
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
Login: "Se connectar"
|
||||||
|
Enter your email address below and we'll send you password reset instructions.: "Picatz vòstra adreça de corrièl çai-jos, vos mandarem las instruccions per reïnicializar vòstre senhal."
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
Login: "Logowanie"
|
||||||
|
Enter your email address below and we'll send you password reset instructions.: "Wpisz poniżej swój adres email, abyśmy mogli wysłać ci instrukcję resetowania hasła."
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 926 B |
@ -1,5 +0,0 @@
|
|||||||
top['bookmarklet-url@wallabag.org'] =
|
|
||||||
'<!DOCTYPE html><html><head><title>bag it!</title>' +
|
|
||||||
'<link rel="icon" href="tpl/img/favicon.ico" />' +
|
|
||||||
'</head><body><script>window.onload=function(){window.setTimeout' +
|
|
||||||
'(function(){history.back();},250);};</script></body></html>';
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
import Mousetrap from 'mousetrap';
|
|
||||||
|
|
||||||
/** Shortcuts **/
|
|
||||||
|
|
||||||
/* Go to */
|
|
||||||
Mousetrap.bind('g u', () => { window.location.href = Routing.generate('homepage'); });
|
|
||||||
Mousetrap.bind('g s', () => { window.location.href = Routing.generate('starred'); });
|
|
||||||
Mousetrap.bind('g r', () => { window.location.href = Routing.generate('archive'); });
|
|
||||||
Mousetrap.bind('g a', () => { window.location.href = Routing.generate('all'); });
|
|
||||||
Mousetrap.bind('g t', () => { window.location.href = Routing.generate('tag'); });
|
|
||||||
Mousetrap.bind('g c', () => { window.location.href = Routing.generate('config'); });
|
|
||||||
Mousetrap.bind('g i', () => { window.location.href = Routing.generate('import'); });
|
|
||||||
Mousetrap.bind('g d', () => { window.location.href = Routing.generate('developer'); });
|
|
||||||
Mousetrap.bind('?', () => { window.location.href = Routing.generate('howto'); });
|
|
||||||
Mousetrap.bind('g l', () => { window.location.href = Routing.generate('fos_user_security_logout'); });
|
|
||||||
@ -1,55 +0,0 @@
|
|||||||
import $ from 'jquery';
|
|
||||||
import './shortcuts/main';
|
|
||||||
import './shortcuts/entry';
|
|
||||||
|
|
||||||
/* Allows inline call qr-code call */
|
|
||||||
import jrQrcode from 'jr-qrcode'; // eslint-disable-line
|
|
||||||
|
|
||||||
function supportsLocalStorage() {
|
|
||||||
try {
|
|
||||||
return 'localStorage' in window && window.localStorage !== null;
|
|
||||||
} catch (e) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function savePercent(id, percent) {
|
|
||||||
if (!supportsLocalStorage()) { return false; }
|
|
||||||
localStorage[`wallabag.article.${id}.percent`] = percent;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function retrievePercent(id) {
|
|
||||||
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');
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function initFilters() {
|
|
||||||
// no display if filters not available
|
|
||||||
if ($('div').is('#filters')) {
|
|
||||||
$('#button_filters').show();
|
|
||||||
$('.js-filters-action').sideNav({ edge: 'right' });
|
|
||||||
$('#clear_form_filters').on('click', () => {
|
|
||||||
$('#filters input').val('');
|
|
||||||
$('#filters :checked').removeAttr('checked');
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function initExport() {
|
|
||||||
// no display if export not available
|
|
||||||
if ($('div').is('#export')) {
|
|
||||||
$('#button_export').show();
|
|
||||||
$('.js-export-action').sideNav({ edge: 'right' });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export { savePercent, retrievePercent, initFilters, initExport };
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
@font-face {
|
|
||||||
font-family: "PT Sans";
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 700;
|
|
||||||
src: local("PT Sans Bold"), local("PTSans-Bold"), url("../fonts/ptsansbold.woff") format("woff");
|
|
||||||
}
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
.messages.error.install {
|
|
||||||
border: 1px solid #c42608;
|
|
||||||
color: #c00 !important;
|
|
||||||
background: #fff0ef;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.messages.notice.install {
|
|
||||||
border: 1px solid #ebcd41;
|
|
||||||
color: #000;
|
|
||||||
background: #fffcd3;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.messages.success.install {
|
|
||||||
border: 1px solid #6dc70c;
|
|
||||||
background: #e0fbcc !important;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
@ -1,66 +0,0 @@
|
|||||||
@media print {
|
|
||||||
/* ### Layout ### */
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: Serif;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
@page {
|
|
||||||
margin: 1cm;
|
|
||||||
}
|
|
||||||
|
|
||||||
img {
|
|
||||||
max-width: 100% !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ### Content ### */
|
|
||||||
|
|
||||||
/* Hide useless blocks */
|
|
||||||
body > header,
|
|
||||||
#article_toolbar,
|
|
||||||
#links,
|
|
||||||
#sort,
|
|
||||||
body > footer,
|
|
||||||
.top_link,
|
|
||||||
div.tools,
|
|
||||||
header div,
|
|
||||||
.messages,
|
|
||||||
.entrie + .results,
|
|
||||||
#article .mbm a,
|
|
||||||
#article-informations {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
article {
|
|
||||||
border: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Add URL after links */
|
|
||||||
.vieworiginal a::after {
|
|
||||||
content: " (" attr(href) ")";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Add explanation after abbr */
|
|
||||||
abbr[title]::after {
|
|
||||||
content: " (" attr(title) ")";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Change border on current pager item */
|
|
||||||
.pagination span.current {
|
|
||||||
border-style: dashed;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main {
|
|
||||||
width: 100%;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
margin-left: 0;
|
|
||||||
padding-right: 0;
|
|
||||||
padding-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#article {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Binary file not shown.
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 307 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 201 B |
Binary file not shown.
|
Before Width: | Height: | Size: 229 B |
@ -1,8 +0,0 @@
|
|||||||
function split(val) {
|
|
||||||
return val.split(/,\s*/);
|
|
||||||
}
|
|
||||||
function extractLast(term) {
|
|
||||||
return split(term).pop();
|
|
||||||
}
|
|
||||||
|
|
||||||
export default { split, extractLast };
|
|
||||||
@ -1,329 +0,0 @@
|
|||||||
/* jQuery */
|
|
||||||
import $ from 'jquery';
|
|
||||||
|
|
||||||
/* eslint-disable no-unused-vars */
|
|
||||||
/* jquery has default scope */
|
|
||||||
import cookie from 'jquery.cookie';
|
|
||||||
import ui from 'jquery-ui-browserify';
|
|
||||||
/* eslint-enable no-unused-vars */
|
|
||||||
|
|
||||||
/* Annotations */
|
|
||||||
import annotator from 'annotator';
|
|
||||||
|
|
||||||
/* Shortcuts */
|
|
||||||
import './shortcuts/main';
|
|
||||||
import './shortcuts/entry';
|
|
||||||
import '../../_global/js/shortcuts/main';
|
|
||||||
import '../../_global/js/shortcuts/entry';
|
|
||||||
|
|
||||||
/* Tools */
|
|
||||||
import { savePercent, retrievePercent } from '../../_global/js/tools';
|
|
||||||
import toggleSaveLinkForm from './uiTools';
|
|
||||||
|
|
||||||
global.jquery = $;
|
|
||||||
|
|
||||||
$.fn.ready(() => {
|
|
||||||
const $listmode = $('#listmode');
|
|
||||||
const $listentries = $('#list-entries');
|
|
||||||
|
|
||||||
/* ==========================================================================
|
|
||||||
Menu
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
$('#menu').click(() => {
|
|
||||||
$('#links').toggleClass('menu--open');
|
|
||||||
const content = $('#content');
|
|
||||||
if (content.hasClass('opacity03')) {
|
|
||||||
content.removeClass('opacity03');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
/* ==========================================================================
|
|
||||||
List mode or Table Mode
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
$listmode.click(() => {
|
|
||||||
if ($.cookie('listmode') === 1) {
|
|
||||||
// Cookie
|
|
||||||
$.removeCookie('listmode');
|
|
||||||
|
|
||||||
$listentries.removeClass('listmode');
|
|
||||||
$listmode.removeClass('tablemode');
|
|
||||||
$listmode.addClass('listmode');
|
|
||||||
} else {
|
|
||||||
// Cookie
|
|
||||||
$.cookie('listmode', 1, { expires: 365 });
|
|
||||||
|
|
||||||
$listentries.addClass('listmode');
|
|
||||||
$listmode.removeClass('listmode');
|
|
||||||
$listmode.addClass('tablemode');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
/* ==========================================================================
|
|
||||||
Cookie listmode
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
if ($.cookie('listmode') === 1) {
|
|
||||||
$listentries.addClass('listmode');
|
|
||||||
$listmode.removeClass('listmode');
|
|
||||||
$listmode.addClass('tablemode');
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ==========================================================================
|
|
||||||
Add tag panel
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
|
|
||||||
$('#nav-btn-add-tag').on('click', () => {
|
|
||||||
$('.nav-panel-add-tag').toggle(100);
|
|
||||||
$('.nav-panel-menu').addClass('hidden');
|
|
||||||
$('#tag_label').focus();
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Filters & Export
|
|
||||||
*/
|
|
||||||
// no display if filters not available
|
|
||||||
if ($('div').is('#filters')) {
|
|
||||||
$('#button_filters').show();
|
|
||||||
$('#clear_form_filters').on('click', () => {
|
|
||||||
$('#filters input').val('');
|
|
||||||
$('#filters :checked').removeAttr('checked');
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ==========================================================================
|
|
||||||
Annotations & Remember position
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
if ($('article').length) {
|
|
||||||
const app = new annotator.App();
|
|
||||||
|
|
||||||
app.include(annotator.ui.main, {
|
|
||||||
element: document.querySelector('article'),
|
|
||||||
});
|
|
||||||
|
|
||||||
const x = JSON.parse($('#annotationroutes').html());
|
|
||||||
app.include(annotator.storage.http, x);
|
|
||||||
|
|
||||||
app.start().then(() => {
|
|
||||||
app.annotations.load({ entry: x.entryId });
|
|
||||||
});
|
|
||||||
|
|
||||||
$(window).scroll(() => {
|
|
||||||
const scrollTop = $(window).scrollTop();
|
|
||||||
const docHeight = $(document).height();
|
|
||||||
const scrollPercent = (scrollTop) / (docHeight);
|
|
||||||
const scrollPercentRounded = Math.round(scrollPercent * 100) / 100;
|
|
||||||
savePercent(x.entryId, scrollPercentRounded);
|
|
||||||
});
|
|
||||||
|
|
||||||
retrievePercent(x.entryId);
|
|
||||||
|
|
||||||
$(window).resize(() => {
|
|
||||||
retrievePercent(x.entryId);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Close window after adding entry if popup
|
|
||||||
*/
|
|
||||||
const currentUrl = window.location.href;
|
|
||||||
if (currentUrl.match('&closewin=true')) {
|
|
||||||
window.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tags autocomplete
|
|
||||||
*/
|
|
||||||
/**
|
|
||||||
* Not working on v2
|
|
||||||
*
|
|
||||||
|
|
||||||
$('#value').bind('keydown', (event) => {
|
|
||||||
if (event.keyCode === $.ui.keyCode.TAB && $(this).data('ui-autocomplete').menu.active) {
|
|
||||||
event.preventDefault();
|
|
||||||
}
|
|
||||||
}).autocomplete({
|
|
||||||
source: function source(request, response) {
|
|
||||||
$.getJSON('./?view=tags', {
|
|
||||||
term: extractLast(request.term),
|
|
||||||
//id: $(':hidden#entry_id').val()
|
|
||||||
}, response);
|
|
||||||
},
|
|
||||||
search: function search() {
|
|
||||||
// custom minLength
|
|
||||||
const term = extractLast(this.value);
|
|
||||||
return term.length >= 1;
|
|
||||||
},
|
|
||||||
focus: function focus() {
|
|
||||||
// prevent value inserted on focus
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
select: function select(event, ui) {
|
|
||||||
const terms = split(this.value);
|
|
||||||
// remove the current input
|
|
||||||
terms.pop();
|
|
||||||
// add the selected item
|
|
||||||
terms.push(ui.item.value);
|
|
||||||
// add placeholder to get the comma-and-space at the end
|
|
||||||
terms.push('');
|
|
||||||
this.value = terms.join(', ');
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
|
||||||
// Close the message box when the user clicks the close icon
|
|
||||||
//---------------------------------------------------------------------------
|
|
||||||
$('a.closeMessage').on('click', () => {
|
|
||||||
$(this).parents('div.messages').slideUp(300, () => { $(this).remove(); });
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#search-form').hide();
|
|
||||||
$('#bagit-form').hide();
|
|
||||||
$('#filters').hide();
|
|
||||||
$('#download-form').hide();
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
|
||||||
// Toggle the 'Search' popup in the sidebar
|
|
||||||
//---------------------------------------------------------------------------
|
|
||||||
function toggleSearch() {
|
|
||||||
$('#search-form').toggle();
|
|
||||||
$('#search').toggleClass('current');
|
|
||||||
$('#search').toggleClass('active-current');
|
|
||||||
$('#search-arrow').toggleClass('arrow-down');
|
|
||||||
if ($('#search').hasClass('current')) {
|
|
||||||
$('#content').addClass('opacity03');
|
|
||||||
} else {
|
|
||||||
$('#content').removeClass('opacity03');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
|
||||||
// Toggle the 'Filter' popup on entries list
|
|
||||||
//---------------------------------------------------------------------------
|
|
||||||
function toggleFilter() {
|
|
||||||
$('#filters').toggle();
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
|
||||||
// Toggle the 'Download' popup on entries list
|
|
||||||
//---------------------------------------------------------------------------
|
|
||||||
function toggleDownload() {
|
|
||||||
$('#download-form').toggle();
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
|
||||||
// Toggle the 'Save a Link' popup in the sidebar
|
|
||||||
//---------------------------------------------------------------------------
|
|
||||||
function toggleBagit() {
|
|
||||||
$('#bagit-form').toggle();
|
|
||||||
$('#bagit').toggleClass('current');
|
|
||||||
$('#bagit').toggleClass('active-current');
|
|
||||||
$('#bagit-arrow').toggleClass('arrow-down');
|
|
||||||
if ($('#bagit').hasClass('current')) {
|
|
||||||
$('#content').addClass('opacity03');
|
|
||||||
} else {
|
|
||||||
$('#content').removeClass('opacity03');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
|
||||||
// Close all #links popups in the sidebar
|
|
||||||
//---------------------------------------------------------------------------
|
|
||||||
function closePopups() {
|
|
||||||
$('#links .messages').hide();
|
|
||||||
$('#links > li > a').removeClass('active-current');
|
|
||||||
$('#links > li > a').removeClass('current');
|
|
||||||
$('[id$=-arrow]').removeClass('arrow-down');
|
|
||||||
$('#content').removeClass('opacity03');
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#search').click(() => {
|
|
||||||
closePopups();
|
|
||||||
toggleSearch();
|
|
||||||
$('#searchfield').focus();
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.filter-btn').click(() => {
|
|
||||||
closePopups();
|
|
||||||
toggleFilter();
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.download-btn').click(() => {
|
|
||||||
closePopups();
|
|
||||||
toggleDownload();
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#bagit').click(() => {
|
|
||||||
closePopups();
|
|
||||||
toggleBagit();
|
|
||||||
$('#plainurl').focus();
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#search-form-close').click(() => {
|
|
||||||
toggleSearch();
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#filter-form-close').click(() => {
|
|
||||||
toggleFilter();
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#download-form-close').click(() => {
|
|
||||||
toggleDownload();
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#bagit-form-close').click(() => {
|
|
||||||
toggleBagit();
|
|
||||||
});
|
|
||||||
|
|
||||||
const $bagitFormForm = $('#bagit-form-form');
|
|
||||||
|
|
||||||
/* ==========================================================================
|
|
||||||
bag it link and close button
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
// send 'bag it link' form request via ajax
|
|
||||||
$bagitFormForm.submit((event) => {
|
|
||||||
$('body').css('cursor', 'wait');
|
|
||||||
$('#add-link-result').empty();
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: $bagitFormForm.attr('method'),
|
|
||||||
url: $bagitFormForm.attr('action'),
|
|
||||||
data: $bagitFormForm.serialize(),
|
|
||||||
success: function success() {
|
|
||||||
$('#add-link-result').html('Done!');
|
|
||||||
$('#plainurl').val('');
|
|
||||||
$('#plainurl').blur('');
|
|
||||||
$('body').css('cursor', 'auto');
|
|
||||||
},
|
|
||||||
error: function error() {
|
|
||||||
$('#add-link-result').html('Failed!');
|
|
||||||
$('body').css('cursor', 'auto');
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
event.preventDefault();
|
|
||||||
});
|
|
||||||
|
|
||||||
/* ==========================================================================
|
|
||||||
Process all links inside an article
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
$('article a[href^="http"]').after(
|
|
||||||
() => `<a href="${$(this).attr('href')}" class="add-to-wallabag-link-after" ` +
|
|
||||||
'alt="add to wallabag" title="add to wallabag"></a>'
|
|
||||||
);
|
|
||||||
|
|
||||||
$('.add-to-wallabag-link-after').click((event) => {
|
|
||||||
toggleSaveLinkForm($(this).attr('href'), event);
|
|
||||||
event.preventDefault();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
import Mousetrap from 'mousetrap';
|
|
||||||
import $ from 'jquery';
|
|
||||||
|
|
||||||
$(document).ready(() => {
|
|
||||||
if ($('#article').length > 0) {
|
|
||||||
/* Article view */
|
|
||||||
Mousetrap.bind('o', () => {
|
|
||||||
$('div#article_toolbar ul.links a.original')[0].click();
|
|
||||||
});
|
|
||||||
|
|
||||||
/* mark as favorite */
|
|
||||||
Mousetrap.bind('f', () => {
|
|
||||||
$('div#article_toolbar ul.links a.favorite')[0].click();
|
|
||||||
});
|
|
||||||
|
|
||||||
/* mark as read */
|
|
||||||
Mousetrap.bind('a', () => {
|
|
||||||
$('div#article_toolbar ul.links a.markasread')[0].click();
|
|
||||||
});
|
|
||||||
|
|
||||||
/* delete */
|
|
||||||
Mousetrap.bind('del', () => {
|
|
||||||
$('div#article_toolbar ul.links a.delete')[0].click();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
$(document).ready(() => {
|
|
||||||
Mousetrap.bind('s', () => {
|
|
||||||
$('#search').trigger('click');
|
|
||||||
$('#search_entry_term').focus();
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
import $ from 'jquery';
|
|
||||||
|
|
||||||
function toggleSaveLinkForm(url, event) {
|
|
||||||
$('#add-link-result').empty();
|
|
||||||
|
|
||||||
const $bagit = $('#bagit');
|
|
||||||
const $bagitForm = $('#bagit-form');
|
|
||||||
|
|
||||||
$bagit.toggleClass('active-current');
|
|
||||||
|
|
||||||
// only if bag-it link is not presented on page
|
|
||||||
if ($bagit.length === 0) {
|
|
||||||
if (event !== 'undefined' && event) {
|
|
||||||
$bagitForm.css({ position: 'absolute', top: event.pageY, left: event.pageX - 200 });
|
|
||||||
} else {
|
|
||||||
$bagitForm.css({ position: 'relative', top: 'auto', left: 'auto' });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const searchForm = $('#search-form');
|
|
||||||
const plainUrl = $('#plainurl');
|
|
||||||
if (searchForm.length !== 0) {
|
|
||||||
$('#search').removeClass('current');
|
|
||||||
$('#search-arrow').removeClass('arrow-down');
|
|
||||||
searchForm.hide();
|
|
||||||
}
|
|
||||||
$bagitForm.toggle();
|
|
||||||
$('#content').toggleClass('opacity03');
|
|
||||||
if (url !== 'undefined' && url) {
|
|
||||||
plainUrl.val(url);
|
|
||||||
}
|
|
||||||
plainUrl.focus();
|
|
||||||
}
|
|
||||||
|
|
||||||
export default toggleSaveLinkForm;
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -1,77 +0,0 @@
|
|||||||
@media print {
|
|
||||||
/* ### Layout ### */
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: Serif;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
@page {
|
|
||||||
margin: 1cm;
|
|
||||||
}
|
|
||||||
|
|
||||||
img {
|
|
||||||
max-width: 100% !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ### Content ### */
|
|
||||||
|
|
||||||
/* Hide useless blocks */
|
|
||||||
body > header,
|
|
||||||
#article_toolbar,
|
|
||||||
#links,
|
|
||||||
#sort,
|
|
||||||
body > footer,
|
|
||||||
.top_link,
|
|
||||||
div.tools,
|
|
||||||
header div,
|
|
||||||
.messages,
|
|
||||||
.entry + .results,
|
|
||||||
#slide-out,
|
|
||||||
.progress,
|
|
||||||
.hide-on-large-only,
|
|
||||||
#article > aside,
|
|
||||||
#article .mbm a {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
main {
|
|
||||||
padding-left: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#article {
|
|
||||||
margin: inherit !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
article {
|
|
||||||
border: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Add URL after links */
|
|
||||||
.vieworiginal a::after {
|
|
||||||
content: " (" attr(href) ")";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Add explanation after abbr */
|
|
||||||
abbr[title]::after {
|
|
||||||
content: " (" attr(title) ")";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Change border on current pager item */
|
|
||||||
.pagination span.current {
|
|
||||||
border-style: dashed;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main {
|
|
||||||
width: 100%;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
margin-left: 0;
|
|
||||||
padding-right: 0;
|
|
||||||
padding-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#article {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,110 +0,0 @@
|
|||||||
/* jQuery */
|
|
||||||
import $ from 'jquery';
|
|
||||||
|
|
||||||
/* Annotations */
|
|
||||||
import annotator from 'annotator';
|
|
||||||
|
|
||||||
/* Tools */
|
|
||||||
import { savePercent, retrievePercent, initFilters, initExport } from '../../_global/js/tools';
|
|
||||||
|
|
||||||
/* Import shortcuts */
|
|
||||||
import './shortcuts/main';
|
|
||||||
import './shortcuts/entry';
|
|
||||||
import '../../_global/js/shortcuts/main';
|
|
||||||
import '../../_global/js/shortcuts/entry';
|
|
||||||
|
|
||||||
require('materialize'); // eslint-disable-line
|
|
||||||
|
|
||||||
global.jQuery = $;
|
|
||||||
|
|
||||||
$(document).ready(() => {
|
|
||||||
// sideNav
|
|
||||||
$('.button-collapse').sideNav();
|
|
||||||
$('select').material_select();
|
|
||||||
$('.collapsible').collapsible({
|
|
||||||
accordion: false,
|
|
||||||
});
|
|
||||||
$('.datepicker').pickadate({
|
|
||||||
selectMonths: true,
|
|
||||||
selectYears: 15,
|
|
||||||
formatSubmit: 'dd/mm/yyyy',
|
|
||||||
hiddenName: true,
|
|
||||||
format: 'dd/mm/yyyy',
|
|
||||||
});
|
|
||||||
initFilters();
|
|
||||||
initExport();
|
|
||||||
|
|
||||||
$('#nav-btn-add-tag').on('click', () => {
|
|
||||||
$('.nav-panel-add-tag').toggle(100);
|
|
||||||
$('.nav-panel-menu').addClass('hidden');
|
|
||||||
$('#tag_label').focus();
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('#nav-btn-add').on('click', () => {
|
|
||||||
$('.nav-panel-buttom').hide(100);
|
|
||||||
$('.nav-panel-add').show(100);
|
|
||||||
$('.nav-panels .action').hide(100);
|
|
||||||
$('.nav-panel-menu').addClass('hidden');
|
|
||||||
$('.nav-panels').css('background', 'white');
|
|
||||||
$('#entry_url').focus();
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('#nav-btn-search').on('click', () => {
|
|
||||||
$('.nav-panel-buttom').hide(100);
|
|
||||||
$('.nav-panel-search').show(100);
|
|
||||||
$('.nav-panels .action').hide(100);
|
|
||||||
$('.nav-panel-menu').addClass('hidden');
|
|
||||||
$('.nav-panels').css('background', 'white');
|
|
||||||
$('#search_entry_term').focus();
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('.close').on('click', () => {
|
|
||||||
$('.nav-panel-add').hide(100);
|
|
||||||
$('.nav-panel-search').hide(100);
|
|
||||||
$('.nav-panel-buttom').show(100);
|
|
||||||
$('.nav-panels .action').show(100);
|
|
||||||
$('.nav-panel-menu').removeClass('hidden');
|
|
||||||
$('.nav-panels').css('background', 'transparent');
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$(window).scroll(() => {
|
|
||||||
const s = $(window).scrollTop();
|
|
||||||
const d = $(document).height();
|
|
||||||
const c = $(window).height();
|
|
||||||
const scrollPercent = (s / (d - c)) * 100;
|
|
||||||
$('.progress .determinate').css('width', `${scrollPercent}%`);
|
|
||||||
});
|
|
||||||
|
|
||||||
/* ==========================================================================
|
|
||||||
Annotations & Remember position
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
if ($('article').length) {
|
|
||||||
const app = new annotator.App();
|
|
||||||
const x = JSON.parse($('#annotationroutes').html());
|
|
||||||
|
|
||||||
app.include(annotator.ui.main, {
|
|
||||||
element: document.querySelector('article'),
|
|
||||||
});
|
|
||||||
|
|
||||||
app.include(annotator.storage.http, x);
|
|
||||||
|
|
||||||
app.start().then(() => {
|
|
||||||
app.annotations.load({ entry: x.entryId });
|
|
||||||
});
|
|
||||||
|
|
||||||
$(window).scroll(() => {
|
|
||||||
const scrollTop = $(window).scrollTop();
|
|
||||||
const docHeight = $(document).height();
|
|
||||||
const scrollPercent = (scrollTop) / (docHeight);
|
|
||||||
const scrollPercentRounded = Math.round(scrollPercent * 100) / 100;
|
|
||||||
savePercent(x.entryId, scrollPercentRounded);
|
|
||||||
});
|
|
||||||
|
|
||||||
retrievePercent(x.entryId);
|
|
||||||
|
|
||||||
$(window).resize(() => {
|
|
||||||
retrievePercent(x.entryId);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
import Mousetrap from 'mousetrap';
|
|
||||||
import $ from 'jquery';
|
|
||||||
|
|
||||||
$(document).ready(() => {
|
|
||||||
if ($('#article').length > 0) {
|
|
||||||
/* open original article */
|
|
||||||
Mousetrap.bind('o', () => {
|
|
||||||
$('ul.side-nav a.original i')[0].click();
|
|
||||||
});
|
|
||||||
|
|
||||||
/* mark as favorite */
|
|
||||||
Mousetrap.bind('f', () => {
|
|
||||||
$('ul.side-nav a.favorite i')[0].click();
|
|
||||||
});
|
|
||||||
|
|
||||||
/* mark as read */
|
|
||||||
Mousetrap.bind('a', () => {
|
|
||||||
$('ul.side-nav a.markasread i')[0].click();
|
|
||||||
});
|
|
||||||
|
|
||||||
/* delete */
|
|
||||||
Mousetrap.bind('del', () => {
|
|
||||||
$('ul.side-nav a.delete i')[0].click();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
@ -1,75 +0,0 @@
|
|||||||
import Mousetrap from 'mousetrap';
|
|
||||||
import $ from 'jquery';
|
|
||||||
|
|
||||||
function toggleFocus(cardToToogleFocus) {
|
|
||||||
if (cardToToogleFocus) {
|
|
||||||
$(cardToToogleFocus).toggleClass('z-depth-4');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$(document).ready(() => {
|
|
||||||
const cards = $('#content').find('.card');
|
|
||||||
const cardNumber = cards.length;
|
|
||||||
let cardIndex = 0;
|
|
||||||
/* If we come from next page */
|
|
||||||
if (window.location.hash === '#prev') {
|
|
||||||
cardIndex = cardNumber - 1;
|
|
||||||
}
|
|
||||||
let card = cards[cardIndex];
|
|
||||||
const pagination = $('.pagination');
|
|
||||||
|
|
||||||
/* Show nothing on quickstart */
|
|
||||||
if ($('#content > div.quickstart').length > 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Focus current card */
|
|
||||||
toggleFocus(card);
|
|
||||||
|
|
||||||
/* Actions */
|
|
||||||
Mousetrap.bind('g n', () => {
|
|
||||||
$('#nav-btn-add').trigger('click');
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
Mousetrap.bind('s', () => {
|
|
||||||
$('#nav-btn-search').trigger('click');
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
Mousetrap.bind('esc', () => {
|
|
||||||
$('.close').trigger('click');
|
|
||||||
});
|
|
||||||
|
|
||||||
/* Select right card. If there's a next page, go to next page */
|
|
||||||
Mousetrap.bind('right', () => {
|
|
||||||
if (cardIndex >= 0 && cardIndex < cardNumber - 1) {
|
|
||||||
toggleFocus(card);
|
|
||||||
cardIndex += 1;
|
|
||||||
card = cards[cardIndex];
|
|
||||||
toggleFocus(card);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (pagination.length > 0 && pagination.find('li.next:not(.disabled)').length > 0 && cardIndex === cardNumber - 1) {
|
|
||||||
window.location.href = window.location.origin + $(pagination).find('li.next a').attr('href');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
/* Select previous card. If there's a previous page, go to next page */
|
|
||||||
Mousetrap.bind('left', () => {
|
|
||||||
if (cardIndex > 0 && cardIndex < cardNumber) {
|
|
||||||
toggleFocus(card);
|
|
||||||
cardIndex -= 1;
|
|
||||||
card = cards[cardIndex];
|
|
||||||
toggleFocus(card);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (pagination.length > 0 && $(pagination).find('li.prev:not(.disabled)').length > 0 && cardIndex === 0) {
|
|
||||||
window.location.href = `${window.location.origin + $(pagination).find('li.prev a').attr('href')}#prev`;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Mousetrap.bind('enter', () => {
|
|
||||||
window.location.href = window.location.origin + $(card).find('span.card-title a').attr('href');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@ -1,4 +1,9 @@
|
|||||||
# config valid only for current version of Capistrano
|
# config valid only for current version of Capistrano
|
||||||
|
lock '3.4.0'
|
||||||
|
|
||||||
|
set :log_path, "var/logs"
|
||||||
|
set :cache_path, "var/cache"
|
||||||
|
set :symfony_console_path, 'bin/console'
|
||||||
|
|
||||||
set :application, 'wallabag'
|
set :application, 'wallabag'
|
||||||
set :repo_url, 'git@github.com:wallabag/wallabag.git'
|
set :repo_url, 'git@github.com:wallabag/wallabag.git'
|
||||||
@ -6,6 +11,8 @@ set :repo_url, 'git@github.com:wallabag/wallabag.git'
|
|||||||
set :ssh_user, 'framasoft_bag'
|
set :ssh_user, 'framasoft_bag'
|
||||||
server '78.46.248.87', user: fetch(:ssh_user), roles: %w{web app db}
|
server '78.46.248.87', user: fetch(:ssh_user), roles: %w{web app db}
|
||||||
|
|
||||||
|
set :scm, :git
|
||||||
|
|
||||||
set :format, :pretty
|
set :format, :pretty
|
||||||
set :log_level, :info
|
set :log_level, :info
|
||||||
# set :log_level, :debug
|
# set :log_level, :debug
|
||||||
@ -16,4 +23,4 @@ set :linked_files, %w{app/config/parameters.yml}
|
|||||||
set :linked_dirs, [fetch(:log_path), "var/sessions", "web/uploads", "data"]
|
set :linked_dirs, [fetch(:log_path), "var/sessions", "web/uploads", "data"]
|
||||||
set :keep_releases, 3
|
set :keep_releases, 3
|
||||||
|
|
||||||
after 'deploy:updated', 'symfony:cache:clear'
|
after 'deploy:finishing', 'deploy:cleanup'
|
||||||
|
|||||||
@ -30,7 +30,7 @@ framework:
|
|||||||
assets: ~
|
assets: ~
|
||||||
|
|
||||||
wallabag_core:
|
wallabag_core:
|
||||||
version: 2.2.3
|
version: 2.0.8
|
||||||
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
|
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
|
||||||
languages:
|
languages:
|
||||||
en: 'English'
|
en: 'English'
|
||||||
@ -44,23 +44,14 @@ wallabag_core:
|
|||||||
es: 'Español'
|
es: 'Español'
|
||||||
oc: 'Occitan'
|
oc: 'Occitan'
|
||||||
it: 'Italiano'
|
it: 'Italiano'
|
||||||
pt: 'Português'
|
|
||||||
items_on_page: 12
|
items_on_page: 12
|
||||||
theme: material
|
theme: material
|
||||||
language: '%locale%'
|
language: en
|
||||||
rss_limit: 50
|
rss_limit: 50
|
||||||
reading_speed: 1
|
reading_speed: 1
|
||||||
cache_lifetime: 10
|
|
||||||
action_mark_as_read: 1
|
|
||||||
list_mode: 1
|
|
||||||
fetching_error_message: |
|
|
||||||
wallabag can't retrieve contents for this article. Please <a href="http://doc.wallabag.org/en/master/user/errors_during_fetching.html#how-can-i-help-to-fix-that">troubleshoot this issue</a>.
|
|
||||||
|
|
||||||
wallabag_user:
|
|
||||||
registration_enabled: "%fosuser_registration%"
|
|
||||||
|
|
||||||
wallabag_import:
|
wallabag_import:
|
||||||
allow_mimetypes: ['application/octet-stream', 'application/json', 'text/plain', 'text/csv']
|
allow_mimetypes: ['application/octet-stream', 'application/json', 'text/plain']
|
||||||
resource_dir: "%kernel.root_dir%/../web/uploads/import"
|
resource_dir: "%kernel.root_dir%/../web/uploads/import"
|
||||||
|
|
||||||
# Twig Configuration
|
# Twig Configuration
|
||||||
@ -69,7 +60,19 @@ twig:
|
|||||||
strict_variables: "%kernel.debug%"
|
strict_variables: "%kernel.debug%"
|
||||||
form_themes:
|
form_themes:
|
||||||
- "LexikFormFilterBundle:Form:form_div_layout.html.twig"
|
- "LexikFormFilterBundle:Form:form_div_layout.html.twig"
|
||||||
exception_controller: wallabag_core.exception_controller:showAction
|
|
||||||
|
# Assetic Configuration
|
||||||
|
assetic:
|
||||||
|
debug: "%kernel.debug%"
|
||||||
|
use_controller: false
|
||||||
|
bundles: [ ]
|
||||||
|
#java: /usr/bin/java
|
||||||
|
filters:
|
||||||
|
cssrewrite: ~
|
||||||
|
#closure:
|
||||||
|
# jar: "%kernel.root_dir%/Resources/java/compiler.jar"
|
||||||
|
#yui_css:
|
||||||
|
# jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"
|
||||||
|
|
||||||
# Doctrine Configuration
|
# Doctrine Configuration
|
||||||
doctrine:
|
doctrine:
|
||||||
@ -80,9 +83,8 @@ doctrine:
|
|||||||
dbname: "%database_name%"
|
dbname: "%database_name%"
|
||||||
user: "%database_user%"
|
user: "%database_user%"
|
||||||
password: "%database_password%"
|
password: "%database_password%"
|
||||||
charset: "%database_charset%"
|
charset: UTF8
|
||||||
path: "%database_path%"
|
path: "%database_path%"
|
||||||
unix_socket: "%database_socket%"
|
|
||||||
server_version: 5.6
|
server_version: 5.6
|
||||||
|
|
||||||
orm:
|
orm:
|
||||||
@ -117,26 +119,12 @@ swiftmailer:
|
|||||||
fos_rest:
|
fos_rest:
|
||||||
param_fetcher_listener: true
|
param_fetcher_listener: true
|
||||||
body_listener: true
|
body_listener: true
|
||||||
|
format_listener: true
|
||||||
view:
|
view:
|
||||||
mime_types:
|
|
||||||
csv:
|
|
||||||
- 'text/csv'
|
|
||||||
- 'text/plain'
|
|
||||||
pdf:
|
|
||||||
- 'application/pdf'
|
|
||||||
epub:
|
|
||||||
- 'application/epub+zip'
|
|
||||||
mobi:
|
|
||||||
- 'application/x-mobipocket-ebook'
|
|
||||||
view_response_listener: 'force'
|
view_response_listener: 'force'
|
||||||
formats:
|
formats:
|
||||||
xml: true
|
xml: true
|
||||||
json: true
|
json : true
|
||||||
txt: true
|
|
||||||
csv: true
|
|
||||||
pdf: true
|
|
||||||
epub: true
|
|
||||||
mobi: true
|
|
||||||
templating_formats:
|
templating_formats:
|
||||||
html: true
|
html: true
|
||||||
force_redirects:
|
force_redirects:
|
||||||
@ -145,21 +133,10 @@ fos_rest:
|
|||||||
default_engine: twig
|
default_engine: twig
|
||||||
routing_loader:
|
routing_loader:
|
||||||
default_format: json
|
default_format: json
|
||||||
format_listener:
|
|
||||||
enabled: true
|
|
||||||
rules:
|
|
||||||
- { path: "^/api/entries/([0-9]+)/export.(.*)", priorities: ['epub', 'mobi', 'pdf', 'txt', 'csv'], fallback_format: json, prefer_extension: false }
|
|
||||||
- { path: "^/api", priorities: ['json', 'xml'], fallback_format: json, prefer_extension: false }
|
|
||||||
- { path: "^/annotations", priorities: ['json', 'xml'], fallback_format: json, prefer_extension: false }
|
|
||||||
# for an unknown reason, EACH REQUEST goes to FOS\RestBundle\EventListener\FormatListener
|
|
||||||
# so we need to add custom rule for custom api export but also for all other routes of the application...
|
|
||||||
- { path: '^/', priorities: ['text/html', '*/*'], fallback_format: html, prefer_extension: false }
|
|
||||||
|
|
||||||
nelmio_api_doc:
|
nelmio_api_doc:
|
||||||
sandbox:
|
sandbox:
|
||||||
enabled: false
|
enabled: false
|
||||||
cache:
|
|
||||||
enabled: true
|
|
||||||
name: wallabag API documentation
|
name: wallabag API documentation
|
||||||
|
|
||||||
nelmio_cors:
|
nelmio_cors:
|
||||||
@ -212,7 +189,6 @@ fos_user:
|
|||||||
from_email:
|
from_email:
|
||||||
address: "%from_email%"
|
address: "%from_email%"
|
||||||
sender_name: wallabag
|
sender_name: wallabag
|
||||||
|
|
||||||
fos_oauth_server:
|
fos_oauth_server:
|
||||||
db_driver: orm
|
db_driver: orm
|
||||||
client_class: Wallabag\ApiBundle\Entity\Client
|
client_class: Wallabag\ApiBundle\Entity\Client
|
||||||
@ -220,9 +196,7 @@ fos_oauth_server:
|
|||||||
refresh_token_class: Wallabag\ApiBundle\Entity\RefreshToken
|
refresh_token_class: Wallabag\ApiBundle\Entity\RefreshToken
|
||||||
auth_code_class: Wallabag\ApiBundle\Entity\AuthCode
|
auth_code_class: Wallabag\ApiBundle\Entity\AuthCode
|
||||||
service:
|
service:
|
||||||
user_provider: fos_user.user_provider.username_email
|
user_provider: fos_user.user_manager
|
||||||
options:
|
|
||||||
refresh_token_lifetime: 1209600
|
|
||||||
|
|
||||||
scheb_two_factor:
|
scheb_two_factor:
|
||||||
trusted_computer:
|
trusted_computer:
|
||||||
@ -238,143 +212,15 @@ scheb_two_factor:
|
|||||||
mailer: wallabag_user.auth_code_mailer
|
mailer: wallabag_user.auth_code_mailer
|
||||||
|
|
||||||
kphoen_rulerz:
|
kphoen_rulerz:
|
||||||
targets:
|
executors:
|
||||||
doctrine: true
|
doctrine: true
|
||||||
|
|
||||||
old_sound_rabbit_mq:
|
lexik_maintenance:
|
||||||
connections:
|
authorized:
|
||||||
default:
|
ips: ['127.0.0.1']
|
||||||
host: "%rabbitmq_host%"
|
driver:
|
||||||
port: "%rabbitmq_port%"
|
ttl: 3600
|
||||||
user: "%rabbitmq_user%"
|
class: 'Lexik\Bundle\MaintenanceBundle\Drivers\DatabaseDriver'
|
||||||
password: "%rabbitmq_password%"
|
response:
|
||||||
vhost: /
|
code: 503
|
||||||
lazy: true
|
status: "wallabag Service Temporarily Unavailable"
|
||||||
producers:
|
|
||||||
import_pocket:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.pocket'
|
|
||||||
type: topic
|
|
||||||
import_readability:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.readability'
|
|
||||||
type: topic
|
|
||||||
import_pinboard:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.pinboard'
|
|
||||||
type: topic
|
|
||||||
import_instapaper:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.instapaper'
|
|
||||||
type: topic
|
|
||||||
import_wallabag_v1:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.wallabag_v1'
|
|
||||||
type: topic
|
|
||||||
import_wallabag_v2:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.wallabag_v2'
|
|
||||||
type: topic
|
|
||||||
import_firefox:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.firefox'
|
|
||||||
type: topic
|
|
||||||
import_chrome:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.chrome'
|
|
||||||
type: topic
|
|
||||||
consumers:
|
|
||||||
import_pocket:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.pocket'
|
|
||||||
type: topic
|
|
||||||
queue_options:
|
|
||||||
name: 'wallabag.import.pocket'
|
|
||||||
callback: wallabag_import.consumer.amqp.pocket
|
|
||||||
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
|
|
||||||
import_readability:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.readability'
|
|
||||||
type: topic
|
|
||||||
queue_options:
|
|
||||||
name: 'wallabag.import.readability'
|
|
||||||
callback: wallabag_import.consumer.amqp.readability
|
|
||||||
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
|
|
||||||
import_instapaper:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.instapaper'
|
|
||||||
type: topic
|
|
||||||
queue_options:
|
|
||||||
name: 'wallabag.import.instapaper'
|
|
||||||
callback: wallabag_import.consumer.amqp.instapaper
|
|
||||||
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
|
|
||||||
import_pinboard:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.pinboard'
|
|
||||||
type: topic
|
|
||||||
queue_options:
|
|
||||||
name: 'wallabag.import.pinboard'
|
|
||||||
callback: wallabag_import.consumer.amqp.pinboard
|
|
||||||
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
|
|
||||||
import_wallabag_v1:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.wallabag_v1'
|
|
||||||
type: topic
|
|
||||||
queue_options:
|
|
||||||
name: 'wallabag.import.wallabag_v1'
|
|
||||||
callback: wallabag_import.consumer.amqp.wallabag_v1
|
|
||||||
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
|
|
||||||
import_wallabag_v2:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.wallabag_v2'
|
|
||||||
type: topic
|
|
||||||
queue_options:
|
|
||||||
name: 'wallabag.import.wallabag_v2'
|
|
||||||
callback: wallabag_import.consumer.amqp.wallabag_v2
|
|
||||||
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
|
|
||||||
import_firefox:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.firefox'
|
|
||||||
type: topic
|
|
||||||
queue_options:
|
|
||||||
name: 'wallabag.import.firefox'
|
|
||||||
callback: wallabag_import.consumer.amqp.firefox
|
|
||||||
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
|
|
||||||
import_chrome:
|
|
||||||
connection: default
|
|
||||||
exchange_options:
|
|
||||||
name: 'wallabag.import.chrome'
|
|
||||||
type: topic
|
|
||||||
queue_options:
|
|
||||||
name: 'wallabag.import.chrome'
|
|
||||||
callback: wallabag_import.consumer.amqp.chrome
|
|
||||||
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
|
|
||||||
|
|
||||||
fos_js_routing:
|
|
||||||
routes_to_expose:
|
|
||||||
- homepage
|
|
||||||
- starred
|
|
||||||
- archive
|
|
||||||
- all
|
|
||||||
- tag
|
|
||||||
- config
|
|
||||||
- import
|
|
||||||
- developer
|
|
||||||
- howto
|
|
||||||
- fos_user_security_logout
|
|
||||||
- new
|
|
||||||
|
|||||||
@ -35,16 +35,11 @@ monolog:
|
|||||||
VERBOSITY_DEBUG: DEBUG
|
VERBOSITY_DEBUG: DEBUG
|
||||||
channels: [doctrine]
|
channels: [doctrine]
|
||||||
|
|
||||||
|
assetic:
|
||||||
|
use_controller: true
|
||||||
|
|
||||||
swiftmailer:
|
swiftmailer:
|
||||||
# see http://mailcatcher.me/
|
# see http://mailcatcher.me/
|
||||||
transport: smtp
|
transport: smtp
|
||||||
host: 'localhost'
|
host: 'localhost'
|
||||||
port: 1025
|
port: 1025
|
||||||
|
|
||||||
# If you want to use cache for queries used in WallabagExtension
|
|
||||||
# Uncomment the following lines
|
|
||||||
#doctrine:
|
|
||||||
# orm:
|
|
||||||
# metadata_cache_driver: apcu
|
|
||||||
# result_cache_driver: apcu
|
|
||||||
# query_cache_driver: apcu
|
|
||||||
|
|||||||
@ -28,7 +28,7 @@ doctrine:
|
|||||||
dbname: "%test_database_name%"
|
dbname: "%test_database_name%"
|
||||||
user: "%test_database_user%"
|
user: "%test_database_user%"
|
||||||
password: "%test_database_password%"
|
password: "%test_database_password%"
|
||||||
charset: "%test_database_charset%"
|
charset: UTF8
|
||||||
path: "%test_database_path%"
|
path: "%test_database_path%"
|
||||||
orm:
|
orm:
|
||||||
metadata_cache_driver:
|
metadata_cache_driver:
|
||||||
|
|||||||
@ -18,45 +18,22 @@ parameters:
|
|||||||
database_password: ~
|
database_password: ~
|
||||||
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
|
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
|
||||||
database_table_prefix: wallabag_
|
database_table_prefix: wallabag_
|
||||||
database_socket: null
|
|
||||||
# with MySQL, use "utf8mb4" if you got problem with content with emojis
|
|
||||||
database_charset: utf8
|
|
||||||
|
|
||||||
mailer_transport: smtp
|
mailer_transport: smtp
|
||||||
mailer_host: 127.0.0.1
|
mailer_host: 127.0.0.1
|
||||||
mailer_user: ~
|
mailer_user: ~
|
||||||
mailer_password: ~
|
mailer_password: ~
|
||||||
|
|
||||||
locale: en
|
locale: en
|
||||||
|
|
||||||
# A secret key that's used to generate certain security-related tokens
|
# A secret key that's used to generate certain security-related tokens
|
||||||
secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
|
secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
|
||||||
|
|
||||||
# two factor stuff
|
# two factor stuff
|
||||||
twofactor_auth: true
|
twofactor_auth: true
|
||||||
twofactor_sender: no-reply@wallabag.org
|
twofactor_sender: no-reply@wallabag.org
|
||||||
|
|
||||||
# fosuser stuff
|
# fosuser stuff
|
||||||
fosuser_registration: true
|
|
||||||
fosuser_confirmation: true
|
fosuser_confirmation: true
|
||||||
|
|
||||||
from_email: no-reply@wallabag.org
|
from_email: no-reply@wallabag.org
|
||||||
|
|
||||||
rss_limit: 50
|
|
||||||
|
|
||||||
# RabbitMQ processing
|
|
||||||
rabbitmq_host: localhost
|
|
||||||
rabbitmq_port: 5672
|
|
||||||
rabbitmq_user: guest
|
|
||||||
rabbitmq_password: guest
|
|
||||||
rabbitmq_prefetch_count: 10
|
|
||||||
|
|
||||||
# Redis processing
|
|
||||||
redis_scheme: tcp
|
|
||||||
redis_host: localhost
|
|
||||||
redis_port: 6379
|
|
||||||
redis_path: null
|
|
||||||
redis_password: null
|
|
||||||
|
|
||||||
# sites credentials
|
|
||||||
sites_credentials: {}
|
|
||||||
|
|||||||
@ -5,5 +5,4 @@ parameters:
|
|||||||
test_database_name: null
|
test_database_name: null
|
||||||
test_database_user: null
|
test_database_user: null
|
||||||
test_database_password: null
|
test_database_password: null
|
||||||
test_database_path: '%kernel.root_dir%/../data/db/wallabag_test.sqlite'
|
test_database_path: '%kernel.root_dir%/../data/db/wallabag_testYO.sqlite'
|
||||||
test_database_charset: utf8
|
|
||||||
|
|||||||
@ -7,14 +7,8 @@ wallabag_import:
|
|||||||
type: annotation
|
type: annotation
|
||||||
prefix: /import
|
prefix: /import
|
||||||
|
|
||||||
wallabag_user:
|
|
||||||
resource: "@WallabagUserBundle/Controller/"
|
|
||||||
type: annotation
|
|
||||||
prefix: /users
|
|
||||||
|
|
||||||
wallabag_api:
|
wallabag_api:
|
||||||
resource: "@WallabagApiBundle/Controller/"
|
resource: "@WallabagApiBundle/Resources/config/routing.yml"
|
||||||
type: annotation
|
|
||||||
prefix: /
|
prefix: /
|
||||||
|
|
||||||
app:
|
app:
|
||||||
@ -48,6 +42,3 @@ craue_config_settings_modify:
|
|||||||
path: /settings
|
path: /settings
|
||||||
defaults:
|
defaults:
|
||||||
_controller: CraueConfigBundle:Settings:modify
|
_controller: CraueConfigBundle:Settings:modify
|
||||||
|
|
||||||
fos_js_routing:
|
|
||||||
resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml"
|
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
Rest_Wallabag:
|
Rest_Wallabag:
|
||||||
type : rest
|
type : rest
|
||||||
resource: "@WallabagApiBundle/Resources/config/routing_rest.yml"
|
resource: "@WallabagApiBundle/Resources/config/routing_rest.yml"
|
||||||
|
|
||||||
|
|||||||
@ -60,8 +60,6 @@ security:
|
|||||||
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||||
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||||
- { path: /(unread|starred|archive).xml$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
- { path: /(unread|starred|archive).xml$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||||
- { path: ^/share, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
|
||||||
- { path: ^/settings, roles: ROLE_SUPER_ADMIN }
|
- { path: ^/settings, roles: ROLE_SUPER_ADMIN }
|
||||||
- { path: ^/annotations, roles: ROLE_USER }
|
- { path: ^/annotations, roles: ROLE_USER }
|
||||||
- { path: ^/users, roles: ROLE_SUPER_ADMIN }
|
|
||||||
- { path: ^/, roles: ROLE_USER }
|
- { path: ^/, roles: ROLE_USER }
|
||||||
|
|||||||
@ -16,12 +16,6 @@ services:
|
|||||||
wallabag.twig_extension:
|
wallabag.twig_extension:
|
||||||
class: Wallabag\CoreBundle\Twig\WallabagExtension
|
class: Wallabag\CoreBundle\Twig\WallabagExtension
|
||||||
public: false
|
public: false
|
||||||
arguments:
|
|
||||||
- "@wallabag_core.entry_repository"
|
|
||||||
- "@wallabag_core.tag_repository"
|
|
||||||
- "@security.token_storage"
|
|
||||||
- "%wallabag_core.cache_lifetime%"
|
|
||||||
- "@translator"
|
|
||||||
tags:
|
tags:
|
||||||
- { name: twig.extension }
|
- { name: twig.extension }
|
||||||
|
|
||||||
@ -32,13 +26,13 @@ services:
|
|||||||
- { name: twig.extension }
|
- { name: twig.extension }
|
||||||
|
|
||||||
wallabag.locale_listener:
|
wallabag.locale_listener:
|
||||||
class: Wallabag\CoreBundle\Event\Listener\LocaleListener
|
class: Wallabag\CoreBundle\EventListener\LocaleListener
|
||||||
arguments: ["%kernel.default_locale%"]
|
arguments: ["%kernel.default_locale%"]
|
||||||
tags:
|
tags:
|
||||||
- { name: kernel.event_subscriber }
|
- { name: kernel.event_subscriber }
|
||||||
|
|
||||||
wallabag.user_locale_listener:
|
wallabag.user_locale_listener:
|
||||||
class: Wallabag\CoreBundle\Event\Listener\UserLocaleListener
|
class: Wallabag\CoreBundle\EventListener\UserLocaleListener
|
||||||
arguments: ["@session"]
|
arguments: ["@session"]
|
||||||
tags:
|
tags:
|
||||||
- { name: kernel.event_listener, event: security.interactive_login, method: onInteractiveLogin }
|
- { name: kernel.event_listener, event: security.interactive_login, method: onInteractiveLogin }
|
||||||
|
|||||||
@ -6,4 +6,3 @@ parameters:
|
|||||||
test_database_user: root
|
test_database_user: root
|
||||||
test_database_password: ~
|
test_database_password: ~
|
||||||
test_database_path: ~
|
test_database_path: ~
|
||||||
test_database_charset: utf8mb4
|
|
||||||
|
|||||||
@ -6,4 +6,3 @@ parameters:
|
|||||||
test_database_user: travis
|
test_database_user: travis
|
||||||
test_database_password: ~
|
test_database_password: ~
|
||||||
test_database_path: ~
|
test_database_path: ~
|
||||||
test_database_charset: utf8
|
|
||||||
|
|||||||
@ -5,5 +5,4 @@ parameters:
|
|||||||
test_database_name: ~
|
test_database_name: ~
|
||||||
test_database_user: ~
|
test_database_user: ~
|
||||||
test_database_password: ~
|
test_database_password: ~
|
||||||
test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite"
|
test_database_path: "%kernel.root_dir%/../data/db/wallabag_testHU.sqlite"
|
||||||
test_database_charset: utf8
|
|
||||||
|
|||||||
@ -22,6 +22,7 @@ echo '> Checking Symfony requirements:'.PHP_EOL.' ';
|
|||||||
|
|
||||||
$messages = array();
|
$messages = array();
|
||||||
foreach ($symfonyRequirements->getRequirements() as $req) {
|
foreach ($symfonyRequirements->getRequirements() as $req) {
|
||||||
|
/** @var $req Requirement */
|
||||||
if ($helpText = get_error_message($req, $lineSize)) {
|
if ($helpText = get_error_message($req, $lineSize)) {
|
||||||
echo_style('red', 'E');
|
echo_style('red', 'E');
|
||||||
$messages['error'][] = $helpText;
|
$messages['error'][] = $helpText;
|
||||||
@ -120,14 +121,10 @@ function echo_block($style, $title, $message)
|
|||||||
|
|
||||||
echo PHP_EOL.PHP_EOL;
|
echo PHP_EOL.PHP_EOL;
|
||||||
|
|
||||||
echo_style($style, str_repeat(' ', $width));
|
echo_style($style, str_repeat(' ', $width).PHP_EOL);
|
||||||
echo PHP_EOL;
|
echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT).PHP_EOL);
|
||||||
echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT));
|
echo_style($style, str_pad($message, $width, ' ', STR_PAD_RIGHT).PHP_EOL);
|
||||||
echo PHP_EOL;
|
echo_style($style, str_repeat(' ', $width).PHP_EOL);
|
||||||
echo_style($style, $message);
|
|
||||||
echo PHP_EOL;
|
|
||||||
echo_style($style, str_repeat(' ', $width));
|
|
||||||
echo PHP_EOL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function has_color_support()
|
function has_color_support()
|
||||||
|
|||||||
110
build.xml
110
build.xml
@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project name="wallabag" default="build">
|
<project name="wallabag" default="build">
|
||||||
<target name="build" depends="clean,prepare,phpunit"/>
|
<target name="build" depends="clean,prepare,phpunit"/>
|
||||||
<target name="prepare-mysql" depends="clean,prepare_mysql"/>
|
<target name="prepare-mysql" depends="clean,db_mysql,prepare"/>
|
||||||
<target name="prepare-sqlite" depends="clean,prepare_sqlite"/>
|
<target name="prepare-sqlite" depends="clean,db_sqlite,prepare"/>
|
||||||
<target name="prepare-pgsql" depends="clean,prepare_pgsql"/>
|
<target name="prepare-pgsql" depends="clean,db_pgsql,prepare"/>
|
||||||
|
|
||||||
<target name="clean" description="Cleanup build artifacts">
|
<target name="clean" description="Cleanup build artifacts">
|
||||||
<delete dir="${basedir}/var/cache"/>
|
<delete dir="${basedir}/var/cache"/>
|
||||||
@ -26,6 +26,11 @@
|
|||||||
<arg value="doctrine:schema:create"/>
|
<arg value="doctrine:schema:create"/>
|
||||||
<arg value="--env=test"/>
|
<arg value="--env=test"/>
|
||||||
</exec>
|
</exec>
|
||||||
|
<exec executable="php">
|
||||||
|
<arg value="${basedir}/bin/console"/>
|
||||||
|
<arg value="cache:clear"/>
|
||||||
|
<arg value="--env=test"/>
|
||||||
|
</exec>
|
||||||
<exec executable="php">
|
<exec executable="php">
|
||||||
<arg value="${basedir}/bin/console"/>
|
<arg value="${basedir}/bin/console"/>
|
||||||
<arg value="doctrine:fixtures:load"/>
|
<arg value="doctrine:fixtures:load"/>
|
||||||
@ -34,133 +39,46 @@
|
|||||||
</exec>
|
</exec>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="prepare_mysql" description="Run test for MySQL">
|
<target name="db_mysql" description="Run test for MySQL">
|
||||||
<delete dir="${basedir}/app/config/parameters.yml"/>
|
<delete dir="${basedir}/app/config/parameters.yml"/>
|
||||||
<exec executable="cp">
|
<exec executable="cp">
|
||||||
<arg value="${basedir}/app/config/tests/parameters_test.mysql.yml"/>
|
<arg value="${basedir}/app/config/tests/parameters_test.mysql.yml"/>
|
||||||
<arg value="${basedir}/app/config/parameters_test.yml"/>
|
<arg value="${basedir}/app/config/parameters_test.yml"/>
|
||||||
</exec>
|
</exec>
|
||||||
|
|
||||||
<exec executable="php">
|
<exec executable="php">
|
||||||
<arg value="${basedir}/bin/console"/>
|
<arg value="${basedir}/bin/console"/>
|
||||||
<arg value="cache:clear"/>
|
<arg value="cache:clear"/>
|
||||||
<arg value="--env=test"/>
|
<arg value="--env=test"/>
|
||||||
</exec>
|
</exec>
|
||||||
<exec executable="php">
|
|
||||||
<arg value="${basedir}/bin/console"/>
|
|
||||||
<arg value="doctrine:database:drop"/>
|
|
||||||
<arg value="--force"/>
|
|
||||||
<arg value="--env=test"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="php">
|
|
||||||
<arg value="${basedir}/bin/console"/>
|
|
||||||
<arg value="doctrine:database:create"/>
|
|
||||||
<arg value="--env=test"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="php">
|
|
||||||
<arg value="${basedir}/bin/console"/>
|
|
||||||
<arg value="doctrine:database:import"/>
|
|
||||||
<arg value="data/sql/mysql_base.sql"/>
|
|
||||||
<arg value="--env=test"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="php">
|
|
||||||
<arg value="${basedir}/bin/console"/>
|
|
||||||
<arg value="doctrine:migrations:migrate"/>
|
|
||||||
<arg value="--no-interaction"/>
|
|
||||||
<arg value="--env=test"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="php">
|
|
||||||
<arg value="${basedir}/bin/console"/>
|
|
||||||
<arg value="doctrine:fixtures:load"/>
|
|
||||||
<arg value="--no-interaction"/>
|
|
||||||
<arg value="--env=test"/>
|
|
||||||
</exec>
|
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="prepare_sqlite" description="Run test for SQLite">
|
<target name="db_sqlite" description="Run test for SQLite">
|
||||||
<delete dir="${basedir}/app/config/parameters.yml"/>
|
<delete dir="${basedir}/app/config/parameters.yml"/>
|
||||||
<exec executable="cp">
|
<exec executable="cp">
|
||||||
<arg value="${basedir}/app/config/tests/parameters_test.sqlite.yml"/>
|
<arg value="${basedir}/app/config/tests/parameters_test.sqlite.yml"/>
|
||||||
<arg value="${basedir}/app/config/parameters_test.yml"/>
|
<arg value="${basedir}/app/config/parameters_test.yml"/>
|
||||||
</exec>
|
</exec>
|
||||||
|
|
||||||
<exec executable="php">
|
<exec executable="php">
|
||||||
<arg value="${basedir}/bin/console"/>
|
<arg value="${basedir}/bin/console"/>
|
||||||
<arg value="cache:clear"/>
|
<arg value="cache:clear"/>
|
||||||
<arg value="--env=test"/>
|
<arg value="--env=test"/>
|
||||||
</exec>
|
</exec>
|
||||||
<exec executable="php">
|
|
||||||
<arg value="${basedir}/bin/console"/>
|
|
||||||
<arg value="doctrine:database:drop"/>
|
|
||||||
<arg value="--force"/>
|
|
||||||
<arg value="--env=test"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="php">
|
|
||||||
<arg value="${basedir}/bin/console"/>
|
|
||||||
<arg value="doctrine:database:create"/>
|
|
||||||
<arg value="--env=test"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="php">
|
|
||||||
<arg value="${basedir}/bin/console"/>
|
|
||||||
<arg value="doctrine:schema:create"/>
|
|
||||||
<arg value="--env=test"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="php">
|
|
||||||
<arg value="${basedir}/bin/console"/>
|
|
||||||
<arg value="doctrine:migrations:migrate"/>
|
|
||||||
<arg value="--no-interaction"/>
|
|
||||||
<arg value="--env=test"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="php">
|
|
||||||
<arg value="${basedir}/bin/console"/>
|
|
||||||
<arg value="doctrine:fixtures:load"/>
|
|
||||||
<arg value="--no-interaction"/>
|
|
||||||
<arg value="--env=test"/>
|
|
||||||
</exec>
|
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="prepare_pgsql" description="Run test for PostgreSQL">
|
<target name="db_pgsql" description="Run test for PostgreSQL">
|
||||||
<delete dir="${basedir}/app/config/parameters.yml"/>
|
<delete dir="${basedir}/app/config/parameters.yml"/>
|
||||||
<exec executable="cp">
|
<exec executable="cp">
|
||||||
<arg value="${basedir}/app/config/tests/parameters_test.pgsql.yml"/>
|
<arg value="${basedir}/app/config/tests/parameters_test.pgsql.yml"/>
|
||||||
<arg value="${basedir}/app/config/parameters_test.yml"/>
|
<arg value="${basedir}/app/config/parameters_test.yml"/>
|
||||||
</exec>
|
</exec>
|
||||||
|
|
||||||
<exec executable="php">
|
<exec executable="php">
|
||||||
<arg value="${basedir}/bin/console"/>
|
<arg value="${basedir}/bin/console"/>
|
||||||
<arg value="cache:clear"/>
|
<arg value="cache:clear"/>
|
||||||
<arg value="--env=test"/>
|
<arg value="--env=test"/>
|
||||||
</exec>
|
</exec>
|
||||||
<exec executable="php">
|
|
||||||
<arg value="${basedir}/bin/console"/>
|
|
||||||
<arg value="doctrine:database:drop"/>
|
|
||||||
<arg value="--force"/>
|
|
||||||
<arg value="--env=test"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="php">
|
|
||||||
<arg value="${basedir}/bin/console"/>
|
|
||||||
<arg value="doctrine:database:create"/>
|
|
||||||
<arg value="--env=test"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="psql">
|
|
||||||
<arg value="-h"/>
|
|
||||||
<arg value="localhost"/>
|
|
||||||
<arg value="-d"/>
|
|
||||||
<arg value="wallabag_test"/>
|
|
||||||
<arg value="-U"/>
|
|
||||||
<arg value="travis"/>
|
|
||||||
<arg value="-f"/>
|
|
||||||
<arg value="data/sql/pgsql_base.sql"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="php">
|
|
||||||
<arg value="${basedir}/bin/console"/>
|
|
||||||
<arg value="doctrine:migrations:migrate"/>
|
|
||||||
<arg value="--no-interaction"/>
|
|
||||||
<arg value="--env=test"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="php">
|
|
||||||
<arg value="${basedir}/bin/console"/>
|
|
||||||
<arg value="doctrine:fixtures:load"/>
|
|
||||||
<arg value="--no-interaction"/>
|
|
||||||
<arg value="--env=test"/>
|
|
||||||
</exec>
|
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="phpunit" description="Run unit tests with PHPUnit + HTML Coverage">
|
<target name="phpunit" description="Run unit tests with PHPUnit + HTML Coverage">
|
||||||
|
|||||||
@ -43,56 +43,53 @@
|
|||||||
"ext-iconv": "*",
|
"ext-iconv": "*",
|
||||||
"ext-tokenizer": "*",
|
"ext-tokenizer": "*",
|
||||||
"ext-pdo": "*",
|
"ext-pdo": "*",
|
||||||
"symfony/symfony": "3.2.*",
|
"symfony/symfony": "3.1.*",
|
||||||
"doctrine/orm": "^2.5",
|
"doctrine/orm": "^2.5",
|
||||||
"doctrine/doctrine-bundle": "^1.6",
|
"doctrine/doctrine-bundle": "^1.6",
|
||||||
"doctrine/doctrine-cache-bundle": "^1.2",
|
"doctrine/doctrine-cache-bundle": "^1.2",
|
||||||
"twig/extensions": "~1.0",
|
"twig/extensions": "~1.0",
|
||||||
|
"symfony/assetic-bundle": "~2.3",
|
||||||
"symfony/swiftmailer-bundle": "^2.3",
|
"symfony/swiftmailer-bundle": "^2.3",
|
||||||
"symfony/monolog-bundle": "^3.0",
|
"symfony/monolog-bundle": "^2.8",
|
||||||
"sensio/distribution-bundle": "^5.0",
|
"sensio/distribution-bundle": "^5.0",
|
||||||
"sensio/framework-extra-bundle": "^3.0.2",
|
"sensio/framework-extra-bundle": "^3.0.2",
|
||||||
"incenteev/composer-parameter-handler": "^2.0",
|
"incenteev/composer-parameter-handler": "^2.0",
|
||||||
"nelmio/cors-bundle": "~1.4.0",
|
"nelmio/cors-bundle": "~1.4.0",
|
||||||
"friendsofsymfony/rest-bundle": "~2.1",
|
"friendsofsymfony/rest-bundle": "~1.4",
|
||||||
"jms/serializer-bundle": "~1.1",
|
"jms/serializer-bundle": "~1.0",
|
||||||
"nelmio/api-doc-bundle": "~2.7",
|
"nelmio/api-doc-bundle": "~2.7",
|
||||||
"mgargano/simplehtmldom": "~1.5",
|
"mgargano/simplehtmldom": "~1.5",
|
||||||
"wallabag/tcpdf": "^6.2",
|
"tecnickcom/tcpdf": "~6.2",
|
||||||
"simplepie/simplepie": "~1.3.1",
|
"simplepie/simplepie": "~1.3.1",
|
||||||
"willdurand/hateoas-bundle": "~1.0",
|
"willdurand/hateoas-bundle": "~1.0",
|
||||||
"htmlawed/htmlawed": "~1.1.19",
|
"htmlawed/htmlawed": "~1.1.19",
|
||||||
"liip/theme-bundle": "~1.1",
|
"liip/theme-bundle": "~1.1",
|
||||||
|
"pagerfanta/pagerfanta": "~1.0.3",
|
||||||
"lexik/form-filter-bundle": "~5.0",
|
"lexik/form-filter-bundle": "~5.0",
|
||||||
"j0k3r/graby": "~1.0",
|
"j0k3r/graby": "~1.0",
|
||||||
"friendsofsymfony/user-bundle": "2.0.x-dev",
|
"friendsofsymfony/user-bundle": "~2.0@dev",
|
||||||
"friendsofsymfony/oauth-server-bundle": "^1.5",
|
"friendsofsymfony/oauth-server-bundle": "^1.5",
|
||||||
"stof/doctrine-extensions-bundle": "^1.2",
|
"stof/doctrine-extensions-bundle": "^1.2@dev",
|
||||||
"scheb/two-factor-bundle": "~2.0",
|
"scheb/two-factor-bundle": "~2.0",
|
||||||
"grandt/phpepub": "~4.0",
|
"grandt/phpepub": "~4.0",
|
||||||
"wallabag/php-mobi": "~1.0.0",
|
"wallabag/php-mobi": "~1.0.0",
|
||||||
"kphoen/rulerz-bundle": "~0.13",
|
"kphoen/rulerz-bundle": "~0.10",
|
||||||
"guzzlehttp/guzzle": "^5.3.1",
|
"guzzlehttp/guzzle": "^5.3.1",
|
||||||
"doctrine/doctrine-migrations-bundle": "^1.0",
|
"doctrine/doctrine-migrations-bundle": "^1.0",
|
||||||
"paragonie/random_compat": "~1.0",
|
"paragonie/random_compat": "~1.0",
|
||||||
"craue/config-bundle": "~1.4",
|
"craue/config-bundle": "~1.4",
|
||||||
"mnapoli/piwik-twig-extension": "^1.0",
|
"mnapoli/piwik-twig-extension": "^1.0",
|
||||||
|
"lexik/maintenance-bundle": "~2.1",
|
||||||
"ocramius/proxy-manager": "1.*",
|
"ocramius/proxy-manager": "1.*",
|
||||||
"white-october/pagerfanta-bundle": "^1.0",
|
"white-october/pagerfanta-bundle": "^1.0"
|
||||||
"php-amqplib/rabbitmq-bundle": "^1.8",
|
|
||||||
"predis/predis": "^1.0",
|
|
||||||
"javibravo/simpleue": "^1.0",
|
|
||||||
"symfony/dom-crawler": "^3.1",
|
|
||||||
"friendsofsymfony/jsrouting-bundle": "^1.6",
|
|
||||||
"bdunogier/guzzle-site-authenticator": "1.0.0-beta1"
|
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/doctrine-fixtures-bundle": "~2.2",
|
"doctrine/doctrine-fixtures-bundle": "~2.2",
|
||||||
"doctrine/data-fixtures": "~1.1.1",
|
"doctrine/data-fixtures": "~1.1.1",
|
||||||
"sensio/generator-bundle": "^3.0",
|
"sensio/generator-bundle": "^3.0",
|
||||||
|
"phpunit/phpunit": "~4.4",
|
||||||
"symfony/phpunit-bridge": "^3.0",
|
"symfony/phpunit-bridge": "^3.0",
|
||||||
"friendsofphp/php-cs-fixer": "~1.9",
|
"friendsofphp/php-cs-fixer": "~1.9"
|
||||||
"m6web/redis-mock": "^2.0"
|
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"post-cmd": [
|
"post-cmd": [
|
||||||
@ -100,7 +97,8 @@
|
|||||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
|
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
|
||||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
|
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
|
||||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
|
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
|
||||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
|
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
|
||||||
|
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
|
||||||
],
|
],
|
||||||
"post-install-cmd": [
|
"post-install-cmd": [
|
||||||
"@post-cmd"
|
"@post-cmd"
|
||||||
@ -128,10 +126,7 @@
|
|||||||
"psr-4": { "Tests\\": "tests/" }
|
"psr-4": { "Tests\\": "tests/" }
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"bin-dir": "bin",
|
"bin-dir": "bin"
|
||||||
"platform": {
|
|
||||||
"php": "5.5.9"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"minimum-stability": "dev",
|
"minimum-stability": "dev",
|
||||||
"prefer-stable": true
|
"prefer-stable": true
|
||||||
|
|||||||
2904
composer.lock
generated
2904
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,25 +0,0 @@
|
|||||||
CREATE TABLE wallabag_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 `wallabag_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 wallabag_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 `wallabag_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 `wallabag_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 `wallabag_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 wallabag_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 wallabag_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 wallabag_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 wallabag_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 `wallabag_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 wallabag_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 `wallabag_entry` ADD CONSTRAINT FK_F4D18282A76ED395 FOREIGN KEY (user_id) REFERENCES `wallabag_user` (id);
|
|
||||||
ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_C9F0DD7CBA364942 FOREIGN KEY (entry_id) REFERENCES `wallabag_entry` (id);
|
|
||||||
ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_C9F0DD7CBAD26311 FOREIGN KEY (tag_id) REFERENCES `wallabag_tag` (id);
|
|
||||||
ALTER TABLE `wallabag_config` ADD CONSTRAINT FK_87E64C53A76ED395 FOREIGN KEY (user_id) REFERENCES `wallabag_user` (id);
|
|
||||||
ALTER TABLE `wallabag_tagging_rule` ADD CONSTRAINT FK_2D9B3C5424DB0683 FOREIGN KEY (config_id) REFERENCES `wallabag_config` (id);
|
|
||||||
ALTER TABLE wallabag_oauth2_access_tokens ADD CONSTRAINT FK_368A420919EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id);
|
|
||||||
ALTER TABLE wallabag_oauth2_access_tokens ADD CONSTRAINT FK_368A4209A76ED395 FOREIGN KEY (user_id) REFERENCES `wallabag_user` (id);
|
|
||||||
ALTER TABLE wallabag_oauth2_refresh_tokens ADD CONSTRAINT FK_20C9FB2419EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id);
|
|
||||||
ALTER TABLE wallabag_oauth2_refresh_tokens ADD CONSTRAINT FK_20C9FB24A76ED395 FOREIGN KEY (user_id) REFERENCES `wallabag_user` (id);
|
|
||||||
ALTER TABLE wallabag_oauth2_auth_codes ADD CONSTRAINT FK_EE52E3FA19EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id);
|
|
||||||
ALTER TABLE wallabag_oauth2_auth_codes ADD CONSTRAINT FK_EE52E3FAA76ED395 FOREIGN KEY (user_id) REFERENCES `wallabag_user` (id);
|
|
||||||
ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_A7AED006A76ED395 FOREIGN KEY (user_id) REFERENCES `wallabag_user` (id);
|
|
||||||
ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_A7AED006BA364942 FOREIGN KEY (entry_id) REFERENCES `wallabag_entry` (id);
|
|
||||||
@ -1,62 +0,0 @@
|
|||||||
CREATE TABLE wallabag_craue_config_setting (name VARCHAR(255) NOT NULL, value VARCHAR(255) DEFAULT NULL, section VARCHAR(255) DEFAULT NULL, PRIMARY KEY(name));
|
|
||||||
CREATE UNIQUE INDEX UNIQ_5D9649505E237E06 ON wallabag_craue_config_setting (name);
|
|
||||||
CREATE TABLE "wallabag_entry" (id INT NOT NULL, user_id INT DEFAULT NULL, title TEXT DEFAULT NULL, url TEXT DEFAULT NULL, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content TEXT DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, mimetype TEXT DEFAULT NULL, language TEXT DEFAULT NULL, reading_time INT DEFAULT NULL, domain_name TEXT DEFAULT NULL, preview_picture TEXT DEFAULT NULL, is_public BOOLEAN DEFAULT 'false', PRIMARY KEY(id));
|
|
||||||
CREATE INDEX IDX_F4D18282A76ED395 ON "wallabag_entry" (user_id);
|
|
||||||
CREATE TABLE wallabag_entry_tag (entry_id INT NOT NULL, tag_id INT NOT NULL, PRIMARY KEY(entry_id, tag_id));
|
|
||||||
CREATE INDEX IDX_C9F0DD7CBA364942 ON wallabag_entry_tag (entry_id);
|
|
||||||
CREATE INDEX IDX_C9F0DD7CBAD26311 ON wallabag_entry_tag (tag_id);
|
|
||||||
CREATE TABLE "wallabag_config" (id INT 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, PRIMARY KEY(id));
|
|
||||||
CREATE UNIQUE INDEX UNIQ_87E64C53A76ED395 ON "wallabag_config" (user_id);
|
|
||||||
CREATE TABLE "wallabag_tagging_rule" (id INT NOT NULL, config_id INT DEFAULT NULL, rule VARCHAR(255) NOT NULL, tags TEXT NOT NULL, PRIMARY KEY(id));
|
|
||||||
CREATE INDEX IDX_2D9B3C5424DB0683 ON "wallabag_tagging_rule" (config_id);
|
|
||||||
COMMENT ON COLUMN "wallabag_tagging_rule".tags IS '(DC2Type:simple_array)';
|
|
||||||
CREATE TABLE "wallabag_tag" (id INT NOT NULL, label TEXT NOT NULL, slug VARCHAR(128) NOT NULL, PRIMARY KEY(id));
|
|
||||||
CREATE UNIQUE INDEX UNIQ_4CA58A8C989D9B62 ON "wallabag_tag" (slug);
|
|
||||||
CREATE TABLE wallabag_oauth2_clients (id INT NOT NULL, random_id VARCHAR(255) NOT NULL, redirect_uris TEXT NOT NULL, secret VARCHAR(255) NOT NULL, allowed_grant_types TEXT NOT NULL, PRIMARY KEY(id));
|
|
||||||
COMMENT ON COLUMN wallabag_oauth2_clients.redirect_uris IS '(DC2Type:array)';
|
|
||||||
COMMENT ON COLUMN wallabag_oauth2_clients.allowed_grant_types IS '(DC2Type:array)';
|
|
||||||
CREATE TABLE wallabag_oauth2_access_tokens (id INT 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, PRIMARY KEY(id));
|
|
||||||
CREATE UNIQUE INDEX UNIQ_368A42095F37A13B ON wallabag_oauth2_access_tokens (token);
|
|
||||||
CREATE INDEX IDX_368A420919EB6921 ON wallabag_oauth2_access_tokens (client_id);
|
|
||||||
CREATE INDEX IDX_368A4209A76ED395 ON wallabag_oauth2_access_tokens (user_id);
|
|
||||||
CREATE TABLE wallabag_oauth2_refresh_tokens (id INT 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, PRIMARY KEY(id));
|
|
||||||
CREATE UNIQUE INDEX UNIQ_20C9FB245F37A13B ON wallabag_oauth2_refresh_tokens (token);
|
|
||||||
CREATE INDEX IDX_20C9FB2419EB6921 ON wallabag_oauth2_refresh_tokens (client_id);
|
|
||||||
CREATE INDEX IDX_20C9FB24A76ED395 ON wallabag_oauth2_refresh_tokens (user_id);
|
|
||||||
CREATE TABLE wallabag_oauth2_auth_codes (id INT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, redirect_uri TEXT NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id));
|
|
||||||
CREATE UNIQUE INDEX UNIQ_EE52E3FA5F37A13B ON wallabag_oauth2_auth_codes (token);
|
|
||||||
CREATE INDEX IDX_EE52E3FA19EB6921 ON wallabag_oauth2_auth_codes (client_id);
|
|
||||||
CREATE INDEX IDX_EE52E3FAA76ED395 ON wallabag_oauth2_auth_codes (user_id);
|
|
||||||
CREATE TABLE "wallabag_user" (id INT 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, salt VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, last_login TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, locked BOOLEAN NOT NULL, expired BOOLEAN NOT NULL, expires_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, confirmation_token VARCHAR(255) DEFAULT NULL, password_requested_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, roles TEXT NOT NULL, credentials_expired BOOLEAN NOT NULL, credentials_expire_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, name TEXT DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, authCode INT DEFAULT NULL, twoFactorAuthentication BOOLEAN NOT NULL, trusted TEXT DEFAULT NULL, PRIMARY KEY(id));
|
|
||||||
CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON "wallabag_user" (username_canonical);
|
|
||||||
CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON "wallabag_user" (email_canonical);
|
|
||||||
CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON "wallabag_user" (confirmation_token);
|
|
||||||
COMMENT ON COLUMN "wallabag_user".roles IS '(DC2Type:array)';
|
|
||||||
COMMENT ON COLUMN "wallabag_user".trusted IS '(DC2Type:json_array)';
|
|
||||||
CREATE TABLE wallabag_annotation (id INT NOT NULL, user_id INT DEFAULT NULL, entry_id INT DEFAULT NULL, text TEXT NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, quote VARCHAR(255) NOT NULL, ranges TEXT NOT NULL, PRIMARY KEY(id));
|
|
||||||
CREATE INDEX IDX_A7AED006A76ED395 ON wallabag_annotation (user_id);
|
|
||||||
CREATE INDEX IDX_A7AED006BA364942 ON wallabag_annotation (entry_id);
|
|
||||||
COMMENT ON COLUMN wallabag_annotation.ranges IS '(DC2Type:array)';
|
|
||||||
CREATE SEQUENCE "entry_id_seq" INCREMENT BY 1 MINVALUE 1 START 1;
|
|
||||||
CREATE SEQUENCE "config_id_seq" INCREMENT BY 1 MINVALUE 1 START 1;
|
|
||||||
CREATE SEQUENCE "tagging_rule_id_seq" INCREMENT BY 1 MINVALUE 1 START 1;
|
|
||||||
CREATE SEQUENCE "tag_id_seq" INCREMENT BY 1 MINVALUE 1 START 1;
|
|
||||||
CREATE SEQUENCE oauth2_clients_id_seq INCREMENT BY 1 MINVALUE 1 START 1;
|
|
||||||
CREATE SEQUENCE oauth2_access_tokens_id_seq INCREMENT BY 1 MINVALUE 1 START 1;
|
|
||||||
CREATE SEQUENCE oauth2_refresh_tokens_id_seq INCREMENT BY 1 MINVALUE 1 START 1;
|
|
||||||
CREATE SEQUENCE oauth2_auth_codes_id_seq INCREMENT BY 1 MINVALUE 1 START 1;
|
|
||||||
CREATE SEQUENCE "user_id_seq" INCREMENT BY 1 MINVALUE 1 START 1;
|
|
||||||
CREATE SEQUENCE annotation_id_seq INCREMENT BY 1 MINVALUE 1 START 1;
|
|
||||||
ALTER TABLE "wallabag_entry" ADD CONSTRAINT FK_F4D18282A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
|
|
||||||
ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_C9F0DD7CBA364942 FOREIGN KEY (entry_id) REFERENCES "wallabag_entry" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
|
|
||||||
ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_C9F0DD7CBAD26311 FOREIGN KEY (tag_id) REFERENCES "wallabag_tag" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
|
|
||||||
ALTER TABLE "wallabag_config" ADD CONSTRAINT FK_87E64C53A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
|
|
||||||
ALTER TABLE "wallabag_tagging_rule" ADD CONSTRAINT FK_2D9B3C5424DB0683 FOREIGN KEY (config_id) REFERENCES "wallabag_config" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
|
|
||||||
ALTER TABLE wallabag_oauth2_access_tokens ADD CONSTRAINT FK_368A420919EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
|
|
||||||
ALTER TABLE wallabag_oauth2_access_tokens ADD CONSTRAINT FK_368A4209A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
|
|
||||||
ALTER TABLE wallabag_oauth2_refresh_tokens ADD CONSTRAINT FK_20C9FB2419EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
|
|
||||||
ALTER TABLE wallabag_oauth2_refresh_tokens ADD CONSTRAINT FK_20C9FB24A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
|
|
||||||
ALTER TABLE wallabag_oauth2_auth_codes ADD CONSTRAINT FK_EE52E3FA19EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
|
|
||||||
ALTER TABLE wallabag_oauth2_auth_codes ADD CONSTRAINT FK_EE52E3FAA76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
|
|
||||||
ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_A7AED006A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
|
|
||||||
ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_A7AED006BA364942 FOREIGN KEY (entry_id) REFERENCES "wallabag_entry" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user