forked from wallabag/wallabag
Compare commits
53 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 345a373dc8 | |||
| 48a692c143 | |||
| 5bdec0195f | |||
| 94d1dae4ef | |||
| 2b9c5097d4 | |||
| 5070644a12 | |||
| f62c3faf88 | |||
| 001a7bad66 | |||
| 985f5f9d05 | |||
| f7de67e26f | |||
| ceebf13fe8 | |||
| bf0d9ef534 | |||
| 538587855a | |||
| 5aba43d92c | |||
| c6d77eaf51 | |||
| ddb49dd931 | |||
| a5684f6a23 | |||
| cc654b427f | |||
| 18545173a6 | |||
| cdf405ad8f | |||
| cdfeea0a96 | |||
| cf967401b0 | |||
| 2f9927404d | |||
| 28388e15c3 | |||
| d5de909bbc | |||
| 474b086656 | |||
| e32aea53ab | |||
| 80bb0b7344 | |||
| 5068544e10 | |||
| c649d43381 | |||
| d35ba2c3d6 | |||
| 4e4e8e9899 | |||
| 8642f14220 | |||
| 19d9efab32 | |||
| e7732deb1f | |||
| eecd7e406d | |||
| 4e1be104ab | |||
| 519ba0b5e7 | |||
| e408d7e895 | |||
| 41c9eecfa7 | |||
| b762ab3cce | |||
| fc41abb990 | |||
| 782390a80e | |||
| 0cecfa2536 | |||
| 6dfac457d8 | |||
| 9a5c5c330e | |||
| 7dbedfc8a3 | |||
| e49c62fac8 | |||
| 8f5e220327 | |||
| 2e16a90339 | |||
| 848c2e1b97 | |||
| 00acc0d006 | |||
| 4b2774f8db |
34
.travis.yml
34
.travis.yml
@ -20,8 +20,8 @@ php:
|
||||
- 5.5
|
||||
- 5.6
|
||||
- 7.0
|
||||
- 7.1
|
||||
- nightly
|
||||
- hhvm
|
||||
|
||||
env:
|
||||
- DB=mysql
|
||||
@ -31,13 +31,31 @@ env:
|
||||
matrix:
|
||||
fast_finish: true
|
||||
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
|
||||
env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run DB=sqlite
|
||||
exclude:
|
||||
- php: hhvm
|
||||
env: DB=pgsql # driver for PostgreSQL currently unsupported by HHVM, requires 3rd party dependency
|
||||
allow_failures:
|
||||
- php: hhvm
|
||||
- php: hhvm-3.12
|
||||
- php: 7.1
|
||||
- php: nightly
|
||||
|
||||
# exclude v1 branches
|
||||
branches:
|
||||
@ -45,8 +63,10 @@ branches:
|
||||
- legacy
|
||||
|
||||
before_script:
|
||||
- if [[ $TRAVIS_PHP_VERSION != hhvm ]]; then echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; fi;
|
||||
- if [[ $TRAVIS_PHP_VERSION != hhvm ]]; then phpenv config-rm xdebug.ini; fi;
|
||||
- PHP=$TRAVIS_PHP_VERSION
|
||||
- if [[ ! $PHP = hhvm* ]]; then echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; fi;
|
||||
# xdebug isn't enable for PHP 7.1
|
||||
- if [[ ! $PHP = hhvm* ]]; then phpenv config-rm xdebug.ini || echo "xdebug not available"; fi
|
||||
- composer self-update --no-progress
|
||||
- if [[ "$DB" = "pgsql" ]]; then psql -c 'create database wallabag_test;' -U postgres; fi;
|
||||
|
||||
|
||||
26
.zappr.yaml
Normal file
26
.zappr.yaml
Normal file
@ -0,0 +1,26 @@
|
||||
# see https://zappr.opensource.zalan.do/
|
||||
autobranch: false
|
||||
commit: false
|
||||
approvals:
|
||||
minimum: 1
|
||||
ignore: pr_opener
|
||||
pattern: "^(:\\+1:|👍)$"
|
||||
veto:
|
||||
pattern: "^(:\\-1:|👎)$"
|
||||
from:
|
||||
orgs:
|
||||
- wallabag
|
||||
collaborators: true
|
||||
specification:
|
||||
title:
|
||||
minimum-length:
|
||||
enabled: true
|
||||
length: 8
|
||||
body:
|
||||
minimum-length:
|
||||
enabled: true
|
||||
length: 8
|
||||
contains-url: false
|
||||
contains-issue-number: false
|
||||
template:
|
||||
differs-from-body: true
|
||||
35
CHANGELOG.md
35
CHANGELOG.md
@ -2,6 +2,41 @@
|
||||
|
||||
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## [2.0.8] - 2016-09-07
|
||||
|
||||
### Added
|
||||
|
||||
- [#2262](https://github.com/wallabag/wallabag/pull/2262) Added a check for the database connection during installation (Jeremy Benoist)
|
||||
- [#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)
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#2234](https://github.com/wallabag/wallabag/pull/2234) Fixed mailto link in documentation (Christian Studer)
|
||||
- [#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
|
||||
|
||||
- [#2222](https://github.com/wallabag/wallabag/pull/2222) Added creation date and reading time on article view (Nicolas Lœuillet)
|
||||
- [#2134](https://github.com/wallabag/wallabag/pull/2134) Run tests on an uptodate HHVM (Jeremy Benoist)
|
||||
|
||||
### Changed
|
||||
|
||||
- [#2221](https://github.com/wallabag/wallabag/pull/2221) Replaced favorite word/icon with star one (Nicolas Lœuillet)
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#2224](https://github.com/wallabag/wallabag/pull/2224) Avoid breaking import when fetching fail (Jeremy Benoist)
|
||||
- [#2216](https://github.com/wallabag/wallabag/pull/2216), [#2220](https://github.com/wallabag/wallabag/pull/2220) Enable CORS headers for OAUTH part (Rurik19)
|
||||
- [#2095](https://github.com/wallabag/wallabag/pull/2095) Fix form user display when 2FA is disabled (Nicolas Lœuillet)
|
||||
|
||||
## [2.0.6] - 2016-08-10
|
||||
|
||||
### Changed
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
[](https://travis-ci.org/wallabag/wallabag)
|
||||
[](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=v2)
|
||||
[](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=master)
|
||||
[](https://gitter.im/wallabag/wallabag)
|
||||
|
||||
# What is wallabag?
|
||||
@ -16,7 +16,7 @@ Then you can install wallabag by executing the following commands:
|
||||
```
|
||||
git clone https://github.com/wallabag/wallabag.git
|
||||
cd wallabag
|
||||
git checkout 2.0.6
|
||||
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
|
||||
|
||||
@ -30,7 +30,7 @@ framework:
|
||||
assets: ~
|
||||
|
||||
wallabag_core:
|
||||
version: 2.0.6
|
||||
version: 2.0.8
|
||||
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
|
||||
languages:
|
||||
en: 'English'
|
||||
@ -151,6 +151,11 @@ nelmio_cors:
|
||||
#origin_regex: false
|
||||
paths:
|
||||
'^/api/':
|
||||
allow_origin: ['*']
|
||||
allow_headers: ['X-Custom-Auth']
|
||||
allow_methods: ['POST', 'PUT', 'PATCH','GET', 'DELETE']
|
||||
max_age: 3600
|
||||
'^/oauth/':
|
||||
allow_origin: ['*']
|
||||
allow_headers: ['X-Custom-Auth']
|
||||
allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
|
||||
|
||||
244
composer.lock
generated
244
composer.lock
generated
@ -457,16 +457,16 @@
|
||||
},
|
||||
{
|
||||
"name": "doctrine/doctrine-bundle",
|
||||
"version": "1.6.3",
|
||||
"version": "1.6.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/DoctrineBundle.git",
|
||||
"reference": "fd51907c6c76acaa8a5234822a4f901c1500afc1"
|
||||
"reference": "dd40b0a7fb16658cda9def9786992b8df8a49be7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/fd51907c6c76acaa8a5234822a4f901c1500afc1",
|
||||
"reference": "fd51907c6c76acaa8a5234822a4f901c1500afc1",
|
||||
"url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/dd40b0a7fb16658cda9def9786992b8df8a49be7",
|
||||
"reference": "dd40b0a7fb16658cda9def9786992b8df8a49be7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -475,6 +475,7 @@
|
||||
"jdorn/sql-formatter": "~1.1",
|
||||
"php": ">=5.3.2",
|
||||
"symfony/console": "~2.3|~3.0",
|
||||
"symfony/dependency-injection": "~2.3|~3.0",
|
||||
"symfony/doctrine-bridge": "~2.2|~3.0",
|
||||
"symfony/framework-bundle": "~2.3|~3.0"
|
||||
},
|
||||
@ -533,7 +534,7 @@
|
||||
"orm",
|
||||
"persistence"
|
||||
],
|
||||
"time": "2016-04-21 19:55:56"
|
||||
"time": "2016-08-10 15:35:22"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/doctrine-cache-bundle",
|
||||
@ -625,24 +626,27 @@
|
||||
},
|
||||
{
|
||||
"name": "doctrine/doctrine-migrations-bundle",
|
||||
"version": "1.1.1",
|
||||
"version": "v1.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/DoctrineMigrationsBundle.git",
|
||||
"reference": "303a576e2124efb07ec215e34ea2480b841cf5e4"
|
||||
"reference": "0b89ee55bceb53c60bc4ba32924ac5053e377abb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/303a576e2124efb07ec215e34ea2480b841cf5e4",
|
||||
"reference": "303a576e2124efb07ec215e34ea2480b841cf5e4",
|
||||
"url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/0b89ee55bceb53c60bc4ba32924ac5053e377abb",
|
||||
"reference": "0b89ee55bceb53c60bc4ba32924ac5053e377abb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"doctrine/doctrine-bundle": "~1.0",
|
||||
"doctrine/migrations": "~1.0",
|
||||
"php": ">=5.3.2",
|
||||
"doctrine/migrations": "^1.1",
|
||||
"php": ">=5.4.0",
|
||||
"symfony/framework-bundle": "~2.3|~3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.8"
|
||||
},
|
||||
"type": "symfony-bundle",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
@ -679,7 +683,7 @@
|
||||
"migrations",
|
||||
"schema"
|
||||
],
|
||||
"time": "2015-11-04 13:45:30"
|
||||
"time": "2016-06-30 19:26:35"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/inflector",
|
||||
@ -1223,12 +1227,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/FriendsOfSymfony/FOSUserBundle.git",
|
||||
"reference": "07ec96d93f03650e7480e0637fcd51eee6575c12"
|
||||
"reference": "af6bc6bf4ec303be3a82e1f64b0e6ac9e8ff00c7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/FriendsOfSymfony/FOSUserBundle/zipball/07ec96d93f03650e7480e0637fcd51eee6575c12",
|
||||
"reference": "07ec96d93f03650e7480e0637fcd51eee6575c12",
|
||||
"url": "https://api.github.com/repos/FriendsOfSymfony/FOSUserBundle/zipball/af6bc6bf4ec303be3a82e1f64b0e6ac9e8ff00c7",
|
||||
"reference": "af6bc6bf4ec303be3a82e1f64b0e6ac9e8ff00c7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1287,20 +1291,20 @@
|
||||
"keywords": [
|
||||
"User management"
|
||||
],
|
||||
"time": "2016-08-04 10:13:39"
|
||||
"time": "2016-09-07 09:22:55"
|
||||
},
|
||||
{
|
||||
"name": "gedmo/doctrine-extensions",
|
||||
"version": "v2.4.20",
|
||||
"version": "v2.4.22",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Atlantic18/DoctrineExtensions.git",
|
||||
"reference": "24cd861d755282f4c9fb1c8f4634ffd6ca12182b"
|
||||
"reference": "b8188801bafc420b86908ee5229a5e92143ce514"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Atlantic18/DoctrineExtensions/zipball/24cd861d755282f4c9fb1c8f4634ffd6ca12182b",
|
||||
"reference": "24cd861d755282f4c9fb1c8f4634ffd6ca12182b",
|
||||
"url": "https://api.github.com/repos/Atlantic18/DoctrineExtensions/zipball/b8188801bafc420b86908ee5229a5e92143ce514",
|
||||
"reference": "b8188801bafc420b86908ee5229a5e92143ce514",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1366,7 +1370,7 @@
|
||||
"tree",
|
||||
"uploadable"
|
||||
],
|
||||
"time": "2016-07-30 15:51:52"
|
||||
"time": "2016-08-30 18:42:36"
|
||||
},
|
||||
{
|
||||
"name": "grandt/binstring",
|
||||
@ -1761,16 +1765,16 @@
|
||||
},
|
||||
{
|
||||
"name": "hoa/compiler",
|
||||
"version": "3.16.01.14",
|
||||
"version": "3.16.08.15",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/hoaproject/Compiler.git",
|
||||
"reference": "a1505e507e8368dbf7a5b490c4a5a90e06d7bd69"
|
||||
"reference": "774f04e6ab1580392b35cae7d6f8dda165810c19"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/hoaproject/Compiler/zipball/a1505e507e8368dbf7a5b490c4a5a90e06d7bd69",
|
||||
"reference": "a1505e507e8368dbf7a5b490c4a5a90e06d7bd69",
|
||||
"url": "https://api.github.com/repos/hoaproject/Compiler/zipball/774f04e6ab1580392b35cae7d6f8dda165810c19",
|
||||
"reference": "774f04e6ab1580392b35cae7d6f8dda165810c19",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1839,7 +1843,7 @@
|
||||
"trace",
|
||||
"uniform"
|
||||
],
|
||||
"time": "2016-01-14 20:44:59"
|
||||
"time": "2016-08-15 09:25:24"
|
||||
},
|
||||
{
|
||||
"name": "hoa/consistency",
|
||||
@ -2132,16 +2136,16 @@
|
||||
},
|
||||
{
|
||||
"name": "hoa/math",
|
||||
"version": "1.16.05.22",
|
||||
"version": "1.16.08.29",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/hoaproject/Math.git",
|
||||
"reference": "f3bcd84f4c6e3ba1c994969bd5163336500f20c8"
|
||||
"reference": "8be67cc378b043ccdd5896a3f1bb276af032f258"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/hoaproject/Math/zipball/f3bcd84f4c6e3ba1c994969bd5163336500f20c8",
|
||||
"reference": "f3bcd84f4c6e3ba1c994969bd5163336500f20c8",
|
||||
"url": "https://api.github.com/repos/hoaproject/Math/zipball/8be67cc378b043ccdd5896a3f1bb276af032f258",
|
||||
"reference": "8be67cc378b043ccdd5896a3f1bb276af032f258",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2193,7 +2197,7 @@
|
||||
"sampler",
|
||||
"set"
|
||||
],
|
||||
"time": "2016-05-22 14:07:26"
|
||||
"time": "2016-08-29 13:29:51"
|
||||
},
|
||||
{
|
||||
"name": "hoa/protocol",
|
||||
@ -2257,16 +2261,16 @@
|
||||
},
|
||||
{
|
||||
"name": "hoa/regex",
|
||||
"version": "1.16.01.15",
|
||||
"version": "1.16.09.06",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/hoaproject/Regex.git",
|
||||
"reference": "e7fb36fdea23ea9fc814a1a68bd0144df1891463"
|
||||
"reference": "2a787a49cc53a9ea009a1997085da9aff091e918"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/hoaproject/Regex/zipball/e7fb36fdea23ea9fc814a1a68bd0144df1891463",
|
||||
"reference": "e7fb36fdea23ea9fc814a1a68bd0144df1891463",
|
||||
"url": "https://api.github.com/repos/hoaproject/Regex/zipball/2a787a49cc53a9ea009a1997085da9aff091e918",
|
||||
"reference": "2a787a49cc53a9ea009a1997085da9aff091e918",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2309,7 +2313,7 @@
|
||||
"library",
|
||||
"regex"
|
||||
],
|
||||
"time": "2016-01-14 21:10:33"
|
||||
"time": "2016-09-06 11:08:23"
|
||||
},
|
||||
{
|
||||
"name": "hoa/ruler",
|
||||
@ -2371,16 +2375,16 @@
|
||||
},
|
||||
{
|
||||
"name": "hoa/stream",
|
||||
"version": "1.16.01.14",
|
||||
"version": "1.16.09.06",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/hoaproject/Stream.git",
|
||||
"reference": "c00b35078ef8c0881b7d2ed533de19fe0aaf9896"
|
||||
"reference": "f8dec80b6ff3b7898a5604d304ecb73f53d04901"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/hoaproject/Stream/zipball/c00b35078ef8c0881b7d2ed533de19fe0aaf9896",
|
||||
"reference": "c00b35078ef8c0881b7d2ed533de19fe0aaf9896",
|
||||
"url": "https://api.github.com/repos/hoaproject/Stream/zipball/f8dec80b6ff3b7898a5604d304ecb73f53d04901",
|
||||
"reference": "f8dec80b6ff3b7898a5604d304ecb73f53d04901",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2428,7 +2432,7 @@
|
||||
"stream",
|
||||
"wrapper"
|
||||
],
|
||||
"time": "2016-01-14 20:11:37"
|
||||
"time": "2016-09-06 11:14:23"
|
||||
},
|
||||
{
|
||||
"name": "hoa/ustring",
|
||||
@ -2599,16 +2603,16 @@
|
||||
},
|
||||
{
|
||||
"name": "htmlawed/htmlawed",
|
||||
"version": "1.1.19",
|
||||
"version": "1.1.22",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/kesar/HTMLawed.git",
|
||||
"reference": "620c38edd57e680260ebd8dd0e98167d97e9a7bf"
|
||||
"reference": "b270453ba016ee4c6dae585f047d1e4f3cc456a1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/kesar/HTMLawed/zipball/620c38edd57e680260ebd8dd0e98167d97e9a7bf",
|
||||
"reference": "620c38edd57e680260ebd8dd0e98167d97e9a7bf",
|
||||
"url": "https://api.github.com/repos/kesar/HTMLawed/zipball/b270453ba016ee4c6dae585f047d1e4f3cc456a1",
|
||||
"reference": "b270453ba016ee4c6dae585f047d1e4f3cc456a1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2632,7 +2636,7 @@
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "htmLawed - Process text with HTML markup to make it more compliant with HTML standards and administrative policies",
|
||||
"description": "htmLawed - Process text with HTML markup to make it more compliant with HTML standards and administrative policies",
|
||||
"homepage": "http://www.bioinformatics.org/phplabware/internal_utilities/htmLawed/",
|
||||
"keywords": [
|
||||
"HTMLtidy",
|
||||
@ -2641,7 +2645,7 @@
|
||||
"strip",
|
||||
"tags"
|
||||
],
|
||||
"time": "2015-04-05 17:23:05"
|
||||
"time": "2016-08-27 18:53:27"
|
||||
},
|
||||
{
|
||||
"name": "incenteev/composer-parameter-handler",
|
||||
@ -2696,16 +2700,16 @@
|
||||
},
|
||||
{
|
||||
"name": "j0k3r/graby",
|
||||
"version": "1.4.2",
|
||||
"version": "1.4.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/j0k3r/graby.git",
|
||||
"reference": "f8ff3e4449fbee1681461550c48dc41efff833c0"
|
||||
"reference": "8dbc799fac49d9c949a10c61e16cfec120c8dba9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/j0k3r/graby/zipball/f8ff3e4449fbee1681461550c48dc41efff833c0",
|
||||
"reference": "f8ff3e4449fbee1681461550c48dc41efff833c0",
|
||||
"url": "https://api.github.com/repos/j0k3r/graby/zipball/8dbc799fac49d9c949a10c61e16cfec120c8dba9",
|
||||
"reference": "8dbc799fac49d9c949a10c61e16cfec120c8dba9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2749,20 +2753,20 @@
|
||||
}
|
||||
],
|
||||
"description": "Graby helps you extract article content from web pages",
|
||||
"time": "2016-07-25 05:12:39"
|
||||
"time": "2016-09-07 09:28:22"
|
||||
},
|
||||
{
|
||||
"name": "j0k3r/graby-site-config",
|
||||
"version": "1.0.21",
|
||||
"version": "1.0.23",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/j0k3r/graby-site-config.git",
|
||||
"reference": "7db8e98e7e6dd80bf286100e1e5121dd64674805"
|
||||
"reference": "5db870f5dd880d19bc9330388d97ce43c8ed18fc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/j0k3r/graby-site-config/zipball/7db8e98e7e6dd80bf286100e1e5121dd64674805",
|
||||
"reference": "7db8e98e7e6dd80bf286100e1e5121dd64674805",
|
||||
"url": "https://api.github.com/repos/j0k3r/graby-site-config/zipball/5db870f5dd880d19bc9330388d97ce43c8ed18fc",
|
||||
"reference": "5db870f5dd880d19bc9330388d97ce43c8ed18fc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2785,7 +2789,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Graby site config files",
|
||||
"time": "2016-08-01 09:26:59"
|
||||
"time": "2016-09-07 10:00:08"
|
||||
},
|
||||
{
|
||||
"name": "j0k3r/php-readability",
|
||||
@ -3044,16 +3048,16 @@
|
||||
},
|
||||
{
|
||||
"name": "jms/serializer",
|
||||
"version": "1.2.0",
|
||||
"version": "1.3.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/schmittjoh/serializer.git",
|
||||
"reference": "ef0bfc44272a6439da7355f67904b9678c603e0a"
|
||||
"reference": "705d0b4633b9c44e6253aa18306b3972282cd3a3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/schmittjoh/serializer/zipball/ef0bfc44272a6439da7355f67904b9678c603e0a",
|
||||
"reference": "ef0bfc44272a6439da7355f67904b9678c603e0a",
|
||||
"url": "https://api.github.com/repos/schmittjoh/serializer/zipball/705d0b4633b9c44e6253aa18306b3972282cd3a3",
|
||||
"reference": "705d0b4633b9c44e6253aa18306b3972282cd3a3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3070,7 +3074,7 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/orm": "~2.1",
|
||||
"doctrine/phpcr-odm": "^1.3",
|
||||
"doctrine/phpcr-odm": "^1.3|^2.0",
|
||||
"jackalope/jackalope-doctrine-dbal": "^1.1.5",
|
||||
"phpunit/phpunit": "^4.8|^5.0",
|
||||
"propel/propel1": "~1.7",
|
||||
@ -3087,7 +3091,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.1-dev"
|
||||
"dev-master": "1.3-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -3114,7 +3118,7 @@
|
||||
"serialization",
|
||||
"xml"
|
||||
],
|
||||
"time": "2016-08-03 12:52:48"
|
||||
"time": "2016-08-23 17:20:24"
|
||||
},
|
||||
{
|
||||
"name": "jms/serializer-bundle",
|
||||
@ -4412,24 +4416,26 @@
|
||||
},
|
||||
{
|
||||
"name": "scheb/two-factor-bundle",
|
||||
"version": "v2.5.2",
|
||||
"version": "v2.8.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/scheb/two-factor-bundle.git",
|
||||
"reference": "fdf63e7515015045f039bf34502977f6180b28ed"
|
||||
"reference": "db77c00349d3679eac024a5295c3faa4a7605c55"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/scheb/two-factor-bundle/zipball/fdf63e7515015045f039bf34502977f6180b28ed",
|
||||
"reference": "fdf63e7515015045f039bf34502977f6180b28ed",
|
||||
"url": "https://api.github.com/repos/scheb/two-factor-bundle/zipball/db77c00349d3679eac024a5295c3faa4a7605c55",
|
||||
"reference": "db77c00349d3679eac024a5295c3faa4a7605c55",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ocramius/proxy-manager": "~1.0|~2.0",
|
||||
"paragonie/random_compat": "~1.0|~2.0",
|
||||
"sonata-project/google-authenticator": "~1.0",
|
||||
"symfony/symfony": "~2.6|~3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/orm": "~2.4,>=2.4.5",
|
||||
"phpunit/phpunit": ">=4.8,<6.0",
|
||||
"satooshi/php-coveralls": "~0.6",
|
||||
"swiftmailer/swiftmailer": ">=4.3,<6.0",
|
||||
@ -4460,20 +4466,20 @@
|
||||
"two-factor",
|
||||
"two-step"
|
||||
],
|
||||
"time": "2016-07-28 08:07:15"
|
||||
"time": "2016-09-05 19:03:16"
|
||||
},
|
||||
{
|
||||
"name": "sensio/distribution-bundle",
|
||||
"version": "v5.0.7",
|
||||
"version": "v5.0.9",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sensiolabs/SensioDistributionBundle.git",
|
||||
"reference": "a9c4723cbdbc6cf7fbfdfde3c639cb1943f0293a"
|
||||
"reference": "e5e0d8d06b07864b2752bd865537b0817edf4c5a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/a9c4723cbdbc6cf7fbfdfde3c639cb1943f0293a",
|
||||
"reference": "a9c4723cbdbc6cf7fbfdfde3c639cb1943f0293a",
|
||||
"url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/e5e0d8d06b07864b2752bd865537b0817edf4c5a",
|
||||
"reference": "e5e0d8d06b07864b2752bd865537b0817edf4c5a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -4512,7 +4518,7 @@
|
||||
"configuration",
|
||||
"distribution"
|
||||
],
|
||||
"time": "2016-06-23 16:11:33"
|
||||
"time": "2016-09-06 01:05:01"
|
||||
},
|
||||
{
|
||||
"name": "sensio/framework-extra-bundle",
|
||||
@ -5354,16 +5360,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/symfony",
|
||||
"version": "v3.1.3",
|
||||
"version": "v3.1.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/symfony.git",
|
||||
"reference": "4478f047409028dc6e3ab320590f1247fec7a850"
|
||||
"reference": "65ca9e4fbdb34f6d463ef77898ca583b101a4162"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/symfony/zipball/4478f047409028dc6e3ab320590f1247fec7a850",
|
||||
"reference": "4478f047409028dc6e3ab320590f1247fec7a850",
|
||||
"url": "https://api.github.com/repos/symfony/symfony/zipball/65ca9e4fbdb34f6d463ef77898ca583b101a4162",
|
||||
"reference": "65ca9e4fbdb34f6d463ef77898ca583b101a4162",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5382,6 +5388,9 @@
|
||||
"phpdocumentor/reflection-docblock": "<3.0",
|
||||
"phpdocumentor/type-resolver": "<0.2.0"
|
||||
},
|
||||
"provide": {
|
||||
"psr/cache-implementation": "1.0"
|
||||
},
|
||||
"replace": {
|
||||
"symfony/asset": "self.version",
|
||||
"symfony/browser-kit": "self.version",
|
||||
@ -5403,6 +5412,7 @@
|
||||
"symfony/framework-bundle": "self.version",
|
||||
"symfony/http-foundation": "self.version",
|
||||
"symfony/http-kernel": "self.version",
|
||||
"symfony/inflector": "self.version",
|
||||
"symfony/intl": "self.version",
|
||||
"symfony/ldap": "self.version",
|
||||
"symfony/monolog-bridge": "self.version",
|
||||
@ -5486,7 +5496,7 @@
|
||||
"keywords": [
|
||||
"framework"
|
||||
],
|
||||
"time": "2016-07-30 09:31:00"
|
||||
"time": "2016-09-03 15:28:43"
|
||||
},
|
||||
{
|
||||
"name": "tecnickcom/tcpdf",
|
||||
@ -5651,16 +5661,16 @@
|
||||
},
|
||||
{
|
||||
"name": "twig/twig",
|
||||
"version": "v1.24.1",
|
||||
"version": "v1.24.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/twigphp/Twig.git",
|
||||
"reference": "3566d311a92aae4deec6e48682dc5a4528c4a512"
|
||||
"reference": "33093f6e310e6976baeac7b14f3a6ec02f2d79b7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/3566d311a92aae4deec6e48682dc5a4528c4a512",
|
||||
"reference": "3566d311a92aae4deec6e48682dc5a4528c4a512",
|
||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/33093f6e310e6976baeac7b14f3a6ec02f2d79b7",
|
||||
"reference": "33093f6e310e6976baeac7b14f3a6ec02f2d79b7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5708,7 +5718,7 @@
|
||||
"keywords": [
|
||||
"templating"
|
||||
],
|
||||
"time": "2016-05-30 09:11:59"
|
||||
"time": "2016-09-01 17:50:53"
|
||||
},
|
||||
{
|
||||
"name": "wallabag/php-mobi",
|
||||
@ -5865,7 +5875,7 @@
|
||||
"email": "adrien.brault@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "William Durand",
|
||||
"name": "William DURAND",
|
||||
"email": "william.durand1@gmail.com"
|
||||
}
|
||||
],
|
||||
@ -5915,7 +5925,7 @@
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "William Durand",
|
||||
"name": "William DURAND",
|
||||
"email": "william.durand1@gmail.com"
|
||||
}
|
||||
],
|
||||
@ -6239,35 +6249,35 @@
|
||||
},
|
||||
{
|
||||
"name": "friendsofphp/php-cs-fixer",
|
||||
"version": "v1.11.6",
|
||||
"version": "v1.12.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git",
|
||||
"reference": "41dc93abd2937a85a3889e28765231d574d2bac8"
|
||||
"reference": "d33ee60f3d3e6152888b7f3a385f49e5c43bf1bf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/41dc93abd2937a85a3889e28765231d574d2bac8",
|
||||
"reference": "41dc93abd2937a85a3889e28765231d574d2bac8",
|
||||
"url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/d33ee60f3d3e6152888b7f3a385f49e5c43bf1bf",
|
||||
"reference": "d33ee60f3d3e6152888b7f3a385f49e5c43bf1bf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-tokenizer": "*",
|
||||
"php": ">=5.3.6",
|
||||
"sebastian/diff": "~1.1",
|
||||
"symfony/console": "~2.3|~3.0",
|
||||
"symfony/event-dispatcher": "~2.1|~3.0",
|
||||
"symfony/filesystem": "~2.1|~3.0",
|
||||
"symfony/finder": "~2.1|~3.0",
|
||||
"symfony/process": "~2.3|~3.0",
|
||||
"symfony/stopwatch": "~2.5|~3.0"
|
||||
"php": "^5.3.6 || >=7.0 <7.2",
|
||||
"sebastian/diff": "^1.1",
|
||||
"symfony/console": "^2.3 || ^3.0",
|
||||
"symfony/event-dispatcher": "^2.1 || ^3.0",
|
||||
"symfony/filesystem": "^2.1 || ^3.0",
|
||||
"symfony/finder": "^2.1 || ^3.0",
|
||||
"symfony/process": "^2.3 || ^3.0",
|
||||
"symfony/stopwatch": "^2.5 || ^3.0"
|
||||
},
|
||||
"conflict": {
|
||||
"hhvm": "<3.9"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.5|^5",
|
||||
"satooshi/php-coveralls": "^0.7.1"
|
||||
"satooshi/php-coveralls": "^1.0"
|
||||
},
|
||||
"bin": [
|
||||
"php-cs-fixer"
|
||||
@ -6293,7 +6303,7 @@
|
||||
}
|
||||
],
|
||||
"description": "A tool to automatically fix PHP code style",
|
||||
"time": "2016-07-22 06:46:28"
|
||||
"time": "2016-09-07 06:48:24"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-common",
|
||||
@ -6992,23 +7002,23 @@
|
||||
},
|
||||
{
|
||||
"name": "sebastian/environment",
|
||||
"version": "1.3.7",
|
||||
"version": "1.3.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/environment.git",
|
||||
"reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716"
|
||||
"reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716",
|
||||
"reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea",
|
||||
"reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
"php": "^5.3.3 || ^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.4"
|
||||
"phpunit/phpunit": "^4.8 || ^5.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@ -7038,7 +7048,7 @@
|
||||
"environment",
|
||||
"hhvm"
|
||||
],
|
||||
"time": "2016-05-17 03:18:57"
|
||||
"time": "2016-08-18 05:49:44"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/exporter",
|
||||
@ -7248,16 +7258,16 @@
|
||||
},
|
||||
{
|
||||
"name": "sensio/generator-bundle",
|
||||
"version": "v3.0.7",
|
||||
"version": "v3.0.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sensiolabs/SensioGeneratorBundle.git",
|
||||
"reference": "d1be460925376703a470a3ac6ec034eb7eab3892"
|
||||
"reference": "3c20d16512f37d2be159eca0411b99a141b90fa4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/d1be460925376703a470a3ac6ec034eb7eab3892",
|
||||
"reference": "d1be460925376703a470a3ac6ec034eb7eab3892",
|
||||
"url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/3c20d16512f37d2be159eca0411b99a141b90fa4",
|
||||
"reference": "3c20d16512f37d2be159eca0411b99a141b90fa4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -7296,20 +7306,20 @@
|
||||
}
|
||||
],
|
||||
"description": "This bundle generates code for you",
|
||||
"time": "2016-06-20 05:58:05"
|
||||
"time": "2016-09-06 01:30:19"
|
||||
},
|
||||
{
|
||||
"name": "symfony/phpunit-bridge",
|
||||
"version": "v3.1.3",
|
||||
"version": "v3.1.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/phpunit-bridge.git",
|
||||
"reference": "eeb3bf9a195df7552fdda46f4724a9442d157413"
|
||||
"reference": "1f4e2059cf4ecae1053b9c3027b3fc548fd077b9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/eeb3bf9a195df7552fdda46f4724a9442d157413",
|
||||
"reference": "eeb3bf9a195df7552fdda46f4724a9442d157413",
|
||||
"url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/1f4e2059cf4ecae1053b9c3027b3fc548fd077b9",
|
||||
"reference": "1f4e2059cf4ecae1053b9c3027b3fc548fd077b9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -7351,7 +7361,7 @@
|
||||
],
|
||||
"description": "Symfony PHPUnit Bridge",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2016-06-29 05:42:25"
|
||||
"time": "2016-08-19 06:48:39"
|
||||
},
|
||||
{
|
||||
"name": "webmozart/assert",
|
||||
|
||||
55
docs/de/conf.py
Normal file
55
docs/de/conf.py
Normal file
@ -0,0 +1,55 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# wallabag documentation build configuration file, created by
|
||||
# sphinx-quickstart on Fri Oct 16 06:47:23 2015.
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
extensions = []
|
||||
templates_path = ['_templates']
|
||||
source_suffix = '.rst'
|
||||
master_doc = 'index'
|
||||
project = u'wallabag-fr'
|
||||
copyright = u'2013-2016, Nicolas Lœuillet - MIT Licence'
|
||||
version = '2.0.0'
|
||||
release = version
|
||||
exclude_patterns = ['_build']
|
||||
pygments_style = 'sphinx'
|
||||
html_theme = 'default'
|
||||
html_static_path = ['_static']
|
||||
htmlhelp_basename = 'wallabagdedoc'
|
||||
|
||||
latex_elements = {
|
||||
}
|
||||
|
||||
latex_documents = [
|
||||
('index', 'wallabag-de.tex', u'wallabag Documentation',
|
||||
u'Nicolas Lœuillet', 'manual'),
|
||||
]
|
||||
|
||||
man_pages = [
|
||||
('index', 'wallabagde', u'wallabag Documentation',
|
||||
[u'Nicolas Lœuillet'], 1)
|
||||
]
|
||||
|
||||
texinfo_documents = [
|
||||
('index', 'wallabag', u'wallabag Documentation',
|
||||
u'Nicolas Lœuillet', 'wallabag', 'wallabag is an opensource read-it-later.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
##### Guzzle sphinx theme
|
||||
|
||||
import guzzle_sphinx_theme
|
||||
html_translator_class = 'guzzle_sphinx_theme.HTMLTranslator'
|
||||
html_theme_path = guzzle_sphinx_theme.html_theme_path()
|
||||
html_theme = 'guzzle_sphinx_theme'
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
html_sidebars = {
|
||||
'**': ['logo-text.html', 'globaltoc.html', 'searchbox.html']
|
||||
}
|
||||
|
||||
# Register the theme as an extension to generate a sitemap.xml
|
||||
extensions.append("guzzle_sphinx_theme")
|
||||
2
docs/de/requirements.txt
Normal file
2
docs/de/requirements.txt
Normal file
@ -0,0 +1,2 @@
|
||||
Sphinx>=1.3.0,<1.4.0
|
||||
guzzle_sphinx_theme>=0.7.0,<0.8.0
|
||||
@ -12,7 +12,7 @@ Das kann verschiedene Ursachen haben:
|
||||
Wie kann ich helfen das zu beheben?
|
||||
-----------------------------------
|
||||
|
||||
- `indem du uns eine Mail mit der URL des Artikels sendest <mailto:hello\@wallabag.org>`_
|
||||
- `indem du uns eine Mail mit der URL des Artikels sendest <mailto:hello@wallabag.org>`_
|
||||
- indem du versuchst das Laden des Artikels durch Erstellen einer Datei für den Artikel
|
||||
selbst zu beheben
|
||||
Du kannst `dieses Tool <http://siteconfig.fivefilters.org/>`__ nutzen.
|
||||
|
||||
@ -54,7 +54,7 @@ Um wallabag selbst zu installieren, musst du die folgenden Kommandos ausführen:
|
||||
|
||||
git clone https://github.com/wallabag/wallabag.git
|
||||
cd wallabag
|
||||
git checkout 2.0.6
|
||||
git checkout 2.0.8
|
||||
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
||||
php bin/console wallabag:install --env=prod
|
||||
|
||||
@ -86,6 +86,8 @@ Führe dieses Kommando aus, um das neueste Paket herunterzuladen und zu entpacke
|
||||
|
||||
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
|
||||
|
||||
(md5 hash: ``18aadd1003a08eb11f5341b9755029f8``)
|
||||
|
||||
Jetzt lese die Dokumentation, um einen Virtualhost zu erstellen, dann greife auf dein wallabag zu.
|
||||
Wenn du die Datenbankkonfiguration eingestellt hast, MySQL oder PostgreSQL zu nutzen, musst du einen Nutzer über das folgende Kommando erstellen ``php bin/console wallabag:install --env=prod``.
|
||||
|
||||
|
||||
@ -4,13 +4,13 @@ Wallabag updaten
|
||||
Update auf einem dedizierten Webserver
|
||||
--------------------------------------
|
||||
|
||||
Das neueste Release ist auf https://www.wallabag.org/pages/download-wallabag.html veröffentlicht. Um deine wallabag Installation auf die neueste Version upzudaten, führe die folgenden Kommandos in deinem wallabag Ordner aus (ersetze ``2.0.3`` mit der neuesten Releasenummer):
|
||||
Das neueste Release ist auf https://www.wallabag.org/pages/download-wallabag.html veröffentlicht. Um deine wallabag Installation auf die neueste Version upzudaten, führe die folgenden Kommandos in deinem wallabag Ordner aus (ersetze ``2.0.8`` mit der neuesten Releasenummer):
|
||||
|
||||
::
|
||||
|
||||
git fetch origin
|
||||
git fetch --tags
|
||||
git checkout 2.0.3
|
||||
git checkout 2.0.8
|
||||
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
||||
php bin/console cache:clear --env=prod
|
||||
|
||||
@ -25,6 +25,8 @@ Lade das neueste Release von wallabag herunter:
|
||||
|
||||
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
|
||||
|
||||
(md5 hash: ``18aadd1003a08eb11f5341b9755029f8``)
|
||||
|
||||
Entpacke das Archiv in deinen wallabag Ordner und ersetze ``app/config/parameters.yml`` mit deiner Datei.
|
||||
|
||||
Wenn du SQLite nutzt, musst auch das ``data/`` Verzeichnis in die neue Installation kopieren.
|
||||
|
||||
@ -12,7 +12,7 @@ There may be several reasons:
|
||||
How can I help to fix that?
|
||||
---------------------------
|
||||
|
||||
- `by sending us an email with the article's URL <mailto:hello\@wallabag.org>`_
|
||||
- `by sending us an email with the article's URL <mailto:hello@wallabag.org>`_
|
||||
- by trying to fix this article by yourself :) by creating a file for the article.
|
||||
You can use `this tool <http://siteconfig.fivefilters.org/>`__.
|
||||
|
||||
|
||||
@ -53,7 +53,7 @@ To install wallabag itself, you must run the following commands:
|
||||
|
||||
git clone https://github.com/wallabag/wallabag.git
|
||||
cd wallabag
|
||||
git checkout 2.0.6
|
||||
git checkout 2.0.8
|
||||
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
||||
php bin/console wallabag:install --env=prod
|
||||
|
||||
@ -85,6 +85,8 @@ Execute this command to download and extract the latest package:
|
||||
|
||||
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
|
||||
|
||||
(md5 hash of the package: ``18aadd1003a08eb11f5341b9755029f8``)
|
||||
|
||||
Now, read the following documentation to create your virtual host, then access your wallabag.
|
||||
If you changed the database configuration to use MySQL or PostgreSQL, you need to create a user via this command ``php bin/console wallabag:install --env=prod``.
|
||||
|
||||
|
||||
@ -4,27 +4,29 @@ Upgrade wallabag
|
||||
Upgrade on a dedicated web server
|
||||
---------------------------------
|
||||
|
||||
The last release is published on https://www.wallabag.org/pages/download-wallabag.html. In order to upgrade your wallabag installation and get the last version, run the following commands in you wallabag folder (replace ``2.0.3`` by the last release number):
|
||||
The last release is published on https://www.wallabag.org/pages/download-wallabag.html. In order to upgrade your wallabag installation and get the last version, run the following commands in you wallabag folder (replace ``2.0.8`` by the last release number):
|
||||
|
||||
::
|
||||
|
||||
git fetch origin
|
||||
git fetch --tags
|
||||
git checkout 2.0.3
|
||||
git checkout 2.0.8
|
||||
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
||||
php bin/console cache:clear --env=prod
|
||||
|
||||
Upgrade on a shared hosting
|
||||
Upgrade on a shared hosting
|
||||
---------------------------
|
||||
|
||||
Backup your ``app/config/parameters.yml`` file.
|
||||
|
||||
Download the last release of wallabag:
|
||||
Download the last release of wallabag:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
|
||||
|
||||
(md5 hash of the package: ``18aadd1003a08eb11f5341b9755029f8``)
|
||||
|
||||
Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours.
|
||||
|
||||
If you use SQLite, you must also copy your ``data/`` folder inside the new installation.
|
||||
|
||||
@ -12,7 +12,7 @@ Il peut y avoir plusieurs raisons :
|
||||
Comment puis-je aider pour réparer ça ?
|
||||
---------------------------------------
|
||||
|
||||
- `en nous envoyant un email avec l'URL de l'article <mailto:hello\@wallabag.org>`_
|
||||
- `en nous envoyant un email avec l'URL de l'article <mailto:hello@wallabag.org>`_
|
||||
- en essayant de réparer cet article par vous-même :) en créant un fichier pour l'article.
|
||||
Vous pouvez utiliser `cet outil <http://siteconfig.fivefilters.org/>`__.
|
||||
|
||||
|
||||
@ -51,7 +51,7 @@ Pour installer wallabag, vous devez exécuter ces deux commandes :
|
||||
|
||||
git clone https://github.com/wallabag/wallabag.git
|
||||
cd wallabag
|
||||
git checkout 2.0.6
|
||||
git checkout 2.0.8
|
||||
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
||||
php bin/console wallabag:install --env=prod
|
||||
|
||||
@ -82,6 +82,8 @@ Exécutez cette commande pour télécharger et décompresser l'archive :
|
||||
|
||||
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
|
||||
|
||||
(hash md5 de l'archive : ``18aadd1003a08eb11f5341b9755029f8``)
|
||||
|
||||
Maintenant, lisez la documentation ci-dessous pour crééer un virtual host. Accédez ensuite à votre installation de wallabag.
|
||||
Si vous avez changé la configuration pour modifier le type de stockage (MySQL ou PostgreSQL), vous devrez vous créer un utilisateur via la commande ``php bin/console wallabag:install --env=prod``.
|
||||
|
||||
|
||||
@ -4,13 +4,13 @@ Mettre à jour wallabag
|
||||
Mise à jour sur un serveur dédié
|
||||
--------------------------------
|
||||
|
||||
La dernière version de wallabag est publiée à cette adresse : https://www.wallabag.org/pages/download-wallabag.html. Pour mettre à jour votre installation de wallabag, exécutez les commandes suivantes dans votre répertoire d'installation (remplacez ``2.0.3`` par le numéro de la dernière version) :
|
||||
La dernière version de wallabag est publiée à cette adresse : https://www.wallabag.org/pages/download-wallabag.html. Pour mettre à jour votre installation de wallabag, exécutez les commandes suivantes dans votre répertoire d'installation (remplacez ``2.0.8`` par le numéro de la dernière version) :
|
||||
|
||||
::
|
||||
|
||||
git fetch origin
|
||||
git fetch --tags
|
||||
git checkout 2.0.3
|
||||
git checkout 2.0.8
|
||||
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
||||
php bin/console cache:clear --env=prod
|
||||
|
||||
@ -19,12 +19,14 @@ Mise à jour sur un hébergement mutualisé
|
||||
|
||||
Effectuez une sauvegarde du fichier ``app/config/parameters.yml``.
|
||||
|
||||
Téléchargez la dernière version de wallabag :
|
||||
Téléchargez la dernière version de wallabag :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
|
||||
|
||||
(hash md5 de l'archive : ``18aadd1003a08eb11f5341b9755029f8``)
|
||||
|
||||
Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre.
|
||||
|
||||
Si vous utilisez SQLite, vous devez également conserver le contenu du répertoire ``data/``.
|
||||
|
||||
@ -72,8 +72,10 @@ class InstallCommand extends ContainerAwareCommand
|
||||
{
|
||||
$this->defaultOutput->writeln('<info><comment>Step 1 of 5.</comment> Checking system requirements.</info>');
|
||||
|
||||
$fulfilled = true;
|
||||
$rows = [];
|
||||
|
||||
// testing if database driver exists
|
||||
$fulfilled = true;
|
||||
$label = '<comment>PDO Driver</comment>';
|
||||
$status = '<info>OK!</info>';
|
||||
$help = '';
|
||||
@ -84,7 +86,23 @@ class InstallCommand extends ContainerAwareCommand
|
||||
$help = 'Database driver "'.$this->getContainer()->getParameter('database_driver').'" is not installed.';
|
||||
}
|
||||
|
||||
$rows = [];
|
||||
$rows[] = [$label, $status, $help];
|
||||
|
||||
// testing if connection to the database can be etablished
|
||||
$label = '<comment>Database connection</comment>';
|
||||
$status = '<info>OK!</info>';
|
||||
$help = '';
|
||||
|
||||
try {
|
||||
$this->getContainer()->get('doctrine')->getManager()->getConnection()->connect();
|
||||
} catch (\Exception $e) {
|
||||
if (false === strpos($e->getMessage(), 'Unknown database')) {
|
||||
$fulfilled = false;
|
||||
$status = '<error>ERROR!</error>';
|
||||
$help = 'Can\'t connect to the database: '.$e->getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
$rows[] = [$label, $status, $help];
|
||||
|
||||
foreach ($this->functionExists as $functionRequired) {
|
||||
@ -456,7 +474,7 @@ class InstallCommand extends ContainerAwareCommand
|
||||
}
|
||||
|
||||
// custom verification for sqlite, since `getListDatabasesSQL` doesn't work for sqlite
|
||||
if ('sqlite' == $schemaManager->getDatabasePlatform()->getName()) {
|
||||
if ('sqlite' === $schemaManager->getDatabasePlatform()->getName()) {
|
||||
$params = $this->getContainer()->get('doctrine.dbal.default_connection')->getParams();
|
||||
|
||||
if (isset($params['path']) && file_exists($params['path'])) {
|
||||
|
||||
@ -357,7 +357,7 @@ class EntryController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes favorite status for an entry.
|
||||
* Changes starred status for an entry.
|
||||
*
|
||||
* @param Request $request
|
||||
* @param Entry $entry
|
||||
|
||||
@ -16,7 +16,7 @@ class StringToListTransformer implements DataTransformerInterface
|
||||
private $separator;
|
||||
|
||||
/**
|
||||
* @param string $separator The separator used in the list.
|
||||
* @param string $separator The separator used in the list
|
||||
*/
|
||||
public function __construct($separator = ',')
|
||||
{
|
||||
|
||||
@ -21,7 +21,9 @@ class ConfigType extends AbstractType
|
||||
{
|
||||
$this->themes = array_combine(
|
||||
$themes,
|
||||
array_map(function ($s) { return ucwords(strtolower(str_replace('-', ' ', $s))); }, $themes)
|
||||
array_map(function ($s) {
|
||||
return ucwords(strtolower(str_replace('-', ' ', $s)));
|
||||
}, $themes)
|
||||
);
|
||||
|
||||
$this->languages = $languages;
|
||||
|
||||
@ -25,7 +25,7 @@ class RuleBasedTagger
|
||||
/**
|
||||
* Add tags from rules defined by the user.
|
||||
*
|
||||
* @param Entry $entry Entry to tag.
|
||||
* @param Entry $entry Entry to tag
|
||||
*/
|
||||
public function tag(Entry $entry)
|
||||
{
|
||||
@ -49,7 +49,7 @@ class RuleBasedTagger
|
||||
*
|
||||
* @param User $user
|
||||
*
|
||||
* @return array<Entry> A list of modified entries.
|
||||
* @return array<Entry> A list of modified entries
|
||||
*/
|
||||
public function tagAllForUser(User $user)
|
||||
{
|
||||
@ -75,7 +75,7 @@ class RuleBasedTagger
|
||||
/**
|
||||
* Fetch a tag.
|
||||
*
|
||||
* @param string $label The tag's label.
|
||||
* @param string $label The tag's label
|
||||
*
|
||||
* @return Tag
|
||||
*/
|
||||
|
||||
@ -52,6 +52,7 @@ body {
|
||||
|
||||
body.login main {
|
||||
padding: 0;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.border-bottom {
|
||||
@ -206,6 +207,10 @@ nav input {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.input-field.nav-panel-add, .input-field.nav-panel-add form {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
2 = Side-nav
|
||||
========================================================================== */
|
||||
@ -285,6 +290,12 @@ main ul.row {
|
||||
|
||||
.card .card-content .card-title {
|
||||
line-height: 32px;
|
||||
max-height: 64px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.card .card-content i.right, .card .card-reveal i.right {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.card .card-content .estimatedTime {
|
||||
|
||||
@ -0,0 +1,103 @@
|
||||
/*
|
||||
* jQuery tinydot 0.2.0
|
||||
*
|
||||
* Copyright (c) Alexander Danilov
|
||||
* modos189.ru
|
||||
*
|
||||
* Plugin website:
|
||||
* tinydot.modos189.ru
|
||||
*
|
||||
* Licensed under the MIT license.
|
||||
* http://en.wikipedia.org/wiki/MIT_License
|
||||
*/
|
||||
|
||||
(function( $, undef )
|
||||
{
|
||||
if ( $.fn.tinydot )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$.fn.tinydot = function( o ) {
|
||||
|
||||
var $dot = this;
|
||||
$dot.child = getChildOrDie($dot);
|
||||
$dot.orgContent = $($dot.child).html();
|
||||
ellipsis( $dot );
|
||||
|
||||
$dot.watch = function()
|
||||
{
|
||||
$(window).on('resize', function(){
|
||||
if ( watchInt )
|
||||
{
|
||||
clearInterval( watchInt );
|
||||
}
|
||||
watchInt = setTimeout(
|
||||
function()
|
||||
{
|
||||
reinitialize($dot);
|
||||
}, 100
|
||||
);
|
||||
});
|
||||
|
||||
return $dot;
|
||||
};
|
||||
|
||||
var opts = $.extend( true, {}, $.fn.tinydot.defaults, o ),
|
||||
watchInt = null;
|
||||
|
||||
if ( opts.watch )
|
||||
{
|
||||
$dot.watch();
|
||||
}
|
||||
}
|
||||
|
||||
// public
|
||||
$.fn.tinydot.defaults = {
|
||||
'watch' : false
|
||||
};
|
||||
|
||||
function getChildOrDie( $elem )
|
||||
{
|
||||
var childrens = $elem.children();
|
||||
if (childrens.length == 0) {
|
||||
// create children
|
||||
var data = $($elem).html();
|
||||
$elem.html('');
|
||||
$elem.append('<span />');
|
||||
return $elem.children('span').html(data);
|
||||
} else {
|
||||
return childrens[0];
|
||||
}
|
||||
}
|
||||
|
||||
function reinitialize( $elem )
|
||||
{
|
||||
$($elem.child).html($elem.orgContent);
|
||||
ellipsis( $elem );
|
||||
}
|
||||
|
||||
function ellipsis( $elem ) {
|
||||
var divh=$($elem).height();
|
||||
while ($($elem.child).outerHeight()>divh) {
|
||||
$($elem.child).html(function (index, html) {
|
||||
return html.replace(/\W*\s(\S)*$/, '...');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
})( jQuery );
|
||||
|
||||
jQuery(document).ready(function($) {
|
||||
//We only invoke jQuery.tinydot on elements that have dot-ellipsis class
|
||||
$(".dot-ellipsis").each(function(){
|
||||
//Checking if update on window resize required
|
||||
var watch_window=$(this).hasClass("dot-resize-update");
|
||||
|
||||
//Invoking jQuery.tinydot
|
||||
var x = new Object();
|
||||
if (watch_window)
|
||||
x.watch='window';
|
||||
$(this).tinydot(x);
|
||||
});
|
||||
});
|
||||
1
src/Wallabag/CoreBundle/Resources/public/themes/material/js/jquery.tinydot.min.js
vendored
Normal file
1
src/Wallabag/CoreBundle/Resources/public/themes/material/js/jquery.tinydot.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
!function(a,b){function c(b){var c=b.children();if(0==c.length){var d=a(b).html();return b.html(""),b.append("<span />"),b.children("span").html(d)}return c[0]}function d(b){a(b.child).html(b.orgContent),e(b)}function e(b){for(var c=a(b).height();a(b.child).outerHeight()>c;)a(b.child).html(function(a,b){return b.replace(/\W*\s(\S)*$/,"...")})}a.fn.tinydot||(a.fn.tinydot=function(b){var f=this;f.child=c(f),f.orgContent=a(f.child).html(),e(f),f.watch=function(){return a(window).on("resize",function(){h&&clearInterval(h),h=setTimeout(function(){d(f)},100)}),f};var g=a.extend(!0,{},a.fn.tinydot.defaults,b),h=null;g.watch&&f.watch()},a.fn.tinydot.defaults={watch:!1})}(jQuery),jQuery(document).ready(function(a){a(".dot-ellipsis").each(function(){var b=a(this).hasClass("dot-resize-update"),c=new Object;b&&(c.watch="window"),a(this).tinydot(c)})});
|
||||
@ -144,6 +144,8 @@ entry:
|
||||
reading_time: 'estimeret læsetid'
|
||||
reading_time_minutes: 'estimeret læsetid: %readingTime% min'
|
||||
reading_time_less_one_minute: 'estimeret læsetid: <small class="inferieur"><</small> 1 min'
|
||||
reading_time_minutes_short: '%readingTime% min'
|
||||
reading_time_less_one_minute_short: '<small class="inferieur"><</small> 1 min'
|
||||
original_article: 'original'
|
||||
toogle_as_read: 'Marker som læst'
|
||||
toogle_as_star: 'Skift favoritstatus'
|
||||
@ -176,7 +178,7 @@ entry:
|
||||
back_to_homepage: 'Tilbage'
|
||||
set_as_read: 'Marker som læst'
|
||||
# set_as_unread: 'Mark as unread'
|
||||
set_as_favorite: 'Marker som favorit'
|
||||
set_as_starred: 'Marker som favorit'
|
||||
view_original_article: 'Originalartikel'
|
||||
# re_fetch_content: 'Re-fetch content'
|
||||
delete: 'Slet'
|
||||
@ -191,6 +193,7 @@ entry:
|
||||
edit_title: 'Rediger titel'
|
||||
original_article: 'original'
|
||||
# annotations_on_the_entry: '{0} No annotations|{1} One annotation|]1,Inf[ %nbAnnotations% annotations'
|
||||
created_at: 'Oprettelsesdato'
|
||||
new:
|
||||
page_title: 'Gem ny artikel'
|
||||
placeholder: 'http://website.com'
|
||||
|
||||
@ -144,6 +144,8 @@ entry:
|
||||
reading_time: 'geschätzte Lesezeit'
|
||||
reading_time_minutes: 'geschätzte Lesezeit: %readingTime% min'
|
||||
reading_time_less_one_minute: 'geschätzte Lesezeit: <small class="inferieur"><</small> 1 min'
|
||||
reading_time_minutes_short: '%readingTime% min'
|
||||
reading_time_less_one_minute_short: '<small class="inferieur"><</small> 1 min'
|
||||
original_article: 'original'
|
||||
toogle_as_read: 'Gelesen-Status ändern'
|
||||
toogle_as_star: 'Favoriten-Status ändern'
|
||||
@ -176,7 +178,7 @@ entry:
|
||||
back_to_homepage: 'Zurück'
|
||||
set_as_read: 'Als gelesen markieren'
|
||||
set_as_unread: 'Als ungelesen markieren'
|
||||
set_as_favorite: 'Favorisieren'
|
||||
set_as_starred: 'Favorisieren'
|
||||
view_original_article: 'Original-Artikel'
|
||||
re_fetch_content: 'Inhalt neu laden'
|
||||
delete: 'Löschen'
|
||||
@ -191,6 +193,7 @@ entry:
|
||||
edit_title: 'Titel ändern'
|
||||
original_article: 'original'
|
||||
annotations_on_the_entry: '{0} Keine Anmerkungen|{1} Eine Anmerkung|]1,Inf[ %nbAnnotations% Anmerkungen'
|
||||
created_at: 'Erstellungsdatum'
|
||||
new:
|
||||
page_title: 'Neuen Artikel speichern'
|
||||
placeholder: 'https://website.de'
|
||||
|
||||
@ -144,9 +144,11 @@ entry:
|
||||
reading_time: 'estimated reading time'
|
||||
reading_time_minutes: 'estimated reading time: %readingTime% min'
|
||||
reading_time_less_one_minute: 'estimated reading time: <small class="inferieur"><</small> 1 min'
|
||||
reading_time_minutes_short: '%readingTime% min'
|
||||
reading_time_less_one_minute_short: '<small class="inferieur"><</small> 1 min'
|
||||
original_article: 'original'
|
||||
toogle_as_read: 'Toggle mark as read'
|
||||
toogle_as_star: 'Toggle favorite'
|
||||
toogle_as_star: 'Toggle starred'
|
||||
delete: 'Delete'
|
||||
export_title: 'Export'
|
||||
filters:
|
||||
@ -176,7 +178,7 @@ entry:
|
||||
back_to_homepage: 'Back'
|
||||
set_as_read: 'Mark as read'
|
||||
set_as_unread: 'Mark as unread'
|
||||
set_as_favorite: 'Favorite'
|
||||
set_as_starred: 'Toggle starred'
|
||||
view_original_article: 'Original article'
|
||||
re_fetch_content: 'Re-fetch content'
|
||||
delete: 'Delete'
|
||||
@ -191,6 +193,7 @@ entry:
|
||||
edit_title: 'Edit title'
|
||||
original_article: 'original'
|
||||
annotations_on_the_entry: '{0} No annotations|{1} One annotation|]1,Inf[ %nbAnnotations% annotations'
|
||||
created_at: 'Creation date'
|
||||
new:
|
||||
page_title: 'Save new entry'
|
||||
placeholder: 'http://website.com'
|
||||
|
||||
@ -144,6 +144,8 @@ entry:
|
||||
reading_time: 'tiempo estimado de lectura'
|
||||
reading_time_minutes: 'tiempo estimado de lectura: %readingTime% min'
|
||||
reading_time_less_one_minute: 'tiempo estimado de lectura: <small class="inferieur"><</small> 1 min'
|
||||
reading_time_minutes_short: '%readingTime% min'
|
||||
reading_time_less_one_minute_short: '<small class="inferieur"><</small> 1 min'
|
||||
original_article: 'original'
|
||||
toogle_as_read: 'Marcar como leído/ no leído'
|
||||
toogle_as_star: 'Marcar como favorito/ no favorito'
|
||||
@ -176,7 +178,7 @@ entry:
|
||||
back_to_homepage: 'Regrese a la página principal'
|
||||
set_as_read: 'Marcar como leído'
|
||||
set_as_unread: 'Marcar como no leído'
|
||||
set_as_favorite: 'Marcar como favorito'
|
||||
set_as_starred: 'Marcar como favorito'
|
||||
view_original_article: 'Artículo original'
|
||||
re_fetch_content: 'Redescargar el contenido'
|
||||
delete: 'Suprimir'
|
||||
@ -191,6 +193,7 @@ entry:
|
||||
edit_title: 'Modificar el título'
|
||||
original_article: 'original'
|
||||
annotations_on_the_entry: '{0} Sin anotaciones|{1} Una anotación|]1,Inf[ %nbAnnotations% anotaciones'
|
||||
created_at: 'Fecha de creación'
|
||||
new:
|
||||
page_title: 'Guardar un nuevo artículo'
|
||||
placeholder: 'http://website.com'
|
||||
|
||||
@ -144,6 +144,8 @@ entry:
|
||||
reading_time: 'زمان تخمینی برای خواندن'
|
||||
reading_time_minutes: 'زمان تخمینی برای خواندن: %readingTime% min'
|
||||
reading_time_less_one_minute: 'زمان تخمینی برای خواندن: <small class="inferieur"><</small> 1 min'
|
||||
reading_time_minutes_short: '%readingTime% min'
|
||||
reading_time_less_one_minute_short: '<small class="inferieur"><</small> 1 min'
|
||||
original_article: 'original'
|
||||
toogle_as_read: 'خواندهشده/خواندهنشده'
|
||||
toogle_as_star: 'برگزیده/نابرگزیده'
|
||||
@ -176,7 +178,7 @@ entry:
|
||||
back_to_homepage: 'بازگشت'
|
||||
set_as_read: 'خواندهشده'
|
||||
set_as_unread: 'به عنوان خواندهنشده علامت بزن'
|
||||
set_as_favorite: 'برگزیده'
|
||||
set_as_starred: 'برگزیده'
|
||||
view_original_article: 'مقالهٔ اصلی'
|
||||
re_fetch_content: 'مقالهها را دوباره دریافت کن'
|
||||
delete: 'پاک کردن'
|
||||
@ -191,6 +193,7 @@ entry:
|
||||
edit_title: 'ویرایش عنوان'
|
||||
original_article: 'اصلی'
|
||||
annotations_on_the_entry: '{0} بدون حاشیه|{1} یک حاشیه|]1,Inf[ %nbحاشیه% annotations'
|
||||
created_at: 'زمان ساخت'
|
||||
new:
|
||||
page_title: 'ذخیرهٔ مقالهٔ تازه'
|
||||
placeholder: 'http://website.com'
|
||||
|
||||
@ -144,6 +144,8 @@ entry:
|
||||
reading_time: 'durée de lecture'
|
||||
reading_time_minutes: 'durée de lecture: %readingTime% min'
|
||||
reading_time_less_one_minute: 'durée de lecture: <small class="inferieur"><</small> 1 min'
|
||||
reading_time_minutes_short: '%readingTime% min'
|
||||
reading_time_less_one_minute_short: '<small class="inferieur"><</small> 1 min'
|
||||
original_article: 'original'
|
||||
toogle_as_read: 'Marquer comme lu/non lu'
|
||||
toogle_as_star: 'Marquer comme favori'
|
||||
@ -176,7 +178,7 @@ entry:
|
||||
back_to_homepage: 'Retour'
|
||||
set_as_read: 'Marquer comme lu'
|
||||
set_as_unread: 'Marquer comme non lu'
|
||||
set_as_favorite: 'Mettre en favori'
|
||||
set_as_starred: 'Mettre en favori'
|
||||
view_original_article: 'Article original'
|
||||
re_fetch_content: 'Recharger le contenu'
|
||||
delete: 'Supprimer'
|
||||
@ -191,6 +193,7 @@ entry:
|
||||
edit_title: 'Modifier le titre'
|
||||
original_article: 'original'
|
||||
annotations_on_the_entry: '{0} Aucune annotation|{1} Une annotation|]1,Inf[ %nbAnnotations% annotations'
|
||||
created_at: 'Date de création'
|
||||
new:
|
||||
page_title: 'Sauvegarder un nouvel article'
|
||||
placeholder: 'http://website.com'
|
||||
|
||||
@ -144,6 +144,8 @@ entry:
|
||||
reading_time: 'tempo di lettura stimato'
|
||||
reading_time_minutes: 'tempo di lettura stimato: %readingTime% min'
|
||||
reading_time_less_one_minute: 'tempo di lettura stimato: <small class="inferieur"><</small> 1 min'
|
||||
reading_time_minutes_short: '%readingTime% min'
|
||||
reading_time_less_one_minute_short: '<small class="inferieur"><</small> 1 min'
|
||||
original_article: 'originale'
|
||||
toogle_as_read: 'Segna come da leggere'
|
||||
toogle_as_star: 'Segna come non preferito'
|
||||
@ -175,7 +177,7 @@ entry:
|
||||
back_to_homepage: 'Indietro'
|
||||
set_as_read: 'Segna come già letto'
|
||||
set_as_unread: 'Segna come da leggere'
|
||||
set_as_favorite: 'Segna come preferito'
|
||||
set_as_starred: 'Segna come preferito'
|
||||
view_original_article: 'Contenuto originale'
|
||||
re_fetch_content: 'Ri-ottieni pagina'
|
||||
delete: 'Elimina'
|
||||
@ -190,6 +192,7 @@ entry:
|
||||
edit_title: 'Modifica titolo'
|
||||
original_article: 'originale'
|
||||
annotations_on_the_entry: '{0} Nessuna annotazione|{1} Una annotazione|]1,Inf[ %nbAnnotations% annotazioni'
|
||||
created_at: 'Data di creazione'
|
||||
new:
|
||||
page_title: 'Salva un nuovo contenuto'
|
||||
placeholder: 'http://website.com'
|
||||
|
||||
@ -144,6 +144,8 @@ entry:
|
||||
reading_time: 'durada de lectura'
|
||||
reading_time_minutes: 'durada de lectura : %readingTime% min'
|
||||
reading_time_less_one_minute: 'durada de lectura : <small class="inferieur"><</small> 1 min'
|
||||
reading_time_minutes_short: '%readingTime% min'
|
||||
reading_time_less_one_minute_short: '<small class="inferieur"><</small> 1 min'
|
||||
original_article: 'original'
|
||||
toogle_as_read: 'Marcar coma legit/pas legit'
|
||||
toogle_as_star: 'Marcar coma favorit'
|
||||
@ -176,7 +178,7 @@ entry:
|
||||
back_to_homepage: 'Tornar'
|
||||
set_as_read: 'Marcar coma legit'
|
||||
set_as_unread: 'Marcar coma pas legit'
|
||||
set_as_favorite: 'Metre en favori'
|
||||
set_as_starred: 'Metre en favori'
|
||||
view_original_article: 'Article original'
|
||||
re_fetch_content: 'Tornar cargar lo contengut'
|
||||
delete: 'Suprimir'
|
||||
@ -191,6 +193,7 @@ entry:
|
||||
edit_title: 'Modificar lo títol'
|
||||
original_article: 'original'
|
||||
annotations_on_the_entry: "{0} Pas cap d'anotacion|{1} Una anotacion|]1,Inf[ %nbAnnotations% anotacions"
|
||||
created_at: 'Data de creacion'
|
||||
new:
|
||||
page_title: 'Enregistrar un novèl article'
|
||||
placeholder: 'http://website.com'
|
||||
|
||||
@ -144,6 +144,8 @@ entry:
|
||||
reading_time: 'szacunkowy czas czytania'
|
||||
reading_time_minutes: 'szacunkowy czas czytania: %readingTime% min'
|
||||
reading_time_less_one_minute: 'szacunkowy czas czytania: <small class="inferieur"><</small> 1 min'
|
||||
reading_time_minutes_short: '%readingTime% min'
|
||||
reading_time_less_one_minute_short: '<small class="inferieur"><</small> 1 min'
|
||||
original_article: 'oryginał'
|
||||
toogle_as_read: 'Oznacz jako przeczytane'
|
||||
toogle_as_star: 'Oznacz jako ulubione'
|
||||
@ -176,7 +178,7 @@ entry:
|
||||
back_to_homepage: 'Cofnij'
|
||||
set_as_read: 'Oznacz jako przeczytane'
|
||||
set_as_unread: 'Oznacz jako nieprzeczytane'
|
||||
set_as_favorite: 'Ulubione'
|
||||
set_as_starred: 'Ulubione'
|
||||
view_original_article: 'Oryginalny artykuł'
|
||||
re_fetch_content: 'Pobierz ponownie treść'
|
||||
delete: 'Usuń'
|
||||
@ -191,6 +193,7 @@ entry:
|
||||
edit_title: 'Edytuj tytuł'
|
||||
original_article: 'oryginalny'
|
||||
annotations_on_the_entry: '{0} Nie ma adnotacji |{1} Jedna adnotacja |]1,Inf[ %nbAnnotations% adnotacji'
|
||||
created_at: 'Czas stworzenia'
|
||||
new:
|
||||
page_title: 'Zapisz nowy wpis'
|
||||
placeholder: 'http://website.com'
|
||||
|
||||
@ -144,6 +144,8 @@ entry:
|
||||
reading_time: 'timp estimat de citire'
|
||||
reading_time_minutes: 'timp estimat de citire: %readingTime% min'
|
||||
reading_time_less_one_minute: 'timp estimat de citire: <small class="inferieur"><</small> 1 min'
|
||||
reading_time_minutes_short: '%readingTime% min'
|
||||
reading_time_less_one_minute_short: '<small class="inferieur"><</small> 1 min'
|
||||
original_article: 'original'
|
||||
toogle_as_read: 'Comută marcat ca citit'
|
||||
toogle_as_star: 'Comută marcat ca favorit'
|
||||
@ -176,7 +178,7 @@ entry:
|
||||
back_to_homepage: 'Înapoi'
|
||||
set_as_read: 'Marchează ca citit'
|
||||
# set_as_unread: 'Mark as unread'
|
||||
set_as_favorite: 'Favorit'
|
||||
set_as_starred: 'Favorit'
|
||||
view_original_article: 'Articol original'
|
||||
# re_fetch_content: 'Re-fetch content'
|
||||
delete: 'Șterge'
|
||||
@ -191,6 +193,7 @@ entry:
|
||||
edit_title: 'Editează titlul'
|
||||
original_article: 'original'
|
||||
# annotations_on_the_entry: '{0} No annotations|{1} One annotation|]1,Inf[ %nbAnnotations% annotations'
|
||||
created_at: 'Data creării'
|
||||
new:
|
||||
page_title: 'Salvează un nou articol'
|
||||
placeholder: 'http://website.com'
|
||||
|
||||
@ -144,6 +144,8 @@ entry:
|
||||
reading_time: 'tahmini okuma süresi'
|
||||
reading_time_minutes: 'tahmini okuma süresi: %readingTime% min'
|
||||
reading_time_less_one_minute: 'tahmini okuma süresi: <small class="inferieur"><</small> 1 min'
|
||||
reading_time_minutes_short: '%readingTime% min'
|
||||
reading_time_less_one_minute_short: '<small class="inferieur"><</small> 1 min'
|
||||
original_article: 'orijinal'
|
||||
toogle_as_read: 'Okundu/okunmadı olarak işaretle'
|
||||
toogle_as_star: 'Favorilere ekle/çıkar'
|
||||
@ -176,7 +178,7 @@ entry:
|
||||
back_to_homepage: 'Back'
|
||||
set_as_read: 'Okundu olarak işaretle'
|
||||
set_as_unread: 'Okunmadı olarak işaretle'
|
||||
set_as_favorite: 'Favorilere ekle/çıkar'
|
||||
set_as_starred: 'Favorilere ekle/çıkar'
|
||||
view_original_article: 'Orijinal makale'
|
||||
re_fetch_content: 'İçeriği yenile'
|
||||
delete: 'Sil'
|
||||
@ -191,6 +193,7 @@ entry:
|
||||
edit_title: 'Başlığı düzenle'
|
||||
original_article: 'orijinal'
|
||||
# annotations_on_the_entry: '{0} No annotations|{1} One annotation|]1,Inf[ %nbAnnotations% annotations'
|
||||
created_at: 'Oluşturulma tarihi'
|
||||
new:
|
||||
page_title: 'Yeni makaleyi kaydet'
|
||||
placeholder: 'http://website.com'
|
||||
|
||||
@ -134,7 +134,8 @@
|
||||
</fieldset>
|
||||
{% endif %}
|
||||
|
||||
{{ form_rest(form.user) }}
|
||||
{{ form_widget(form.user._token) }}
|
||||
{{ form_widget(form.user.save) }}
|
||||
</form>
|
||||
|
||||
<h2>{{ 'config.tab_menu.password'|trans }}</h2>
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
<li><a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|e }}" class="tool link icon icon-link"><span>{{ entry.domainName|removeWww }}</span></a></li>
|
||||
<li><a title="{{ 'entry.view.left_menu.re_fetch_content'|trans }}" class="tool icon icon-reload" href="{{ path('reload_entry', { 'id': entry.id }) }}"><span>{{ 'entry.view.left_menu.re_fetch_content'|trans }}</span></a></li>
|
||||
<li><a title="{% if entry.isArchived == 0 %}{{ 'entry.view.left_menu.set_as_read'|trans }}{% else %}{{ 'entry.view.left_menu.set_as_unread'|trans }}{% endif %}" class="tool icon icon-check {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% if entry.isArchived == 0 %}{{ 'entry.view.left_menu.set_as_read'|trans }}{% else %}{{ 'entry.view.left_menu.set_as_unread'|trans }}{% endif %}</span></a></li>
|
||||
<li><a title="{{ 'entry.view.left_menu.set_as_favorite'|trans }}" class="tool icon icon-star {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{{ 'entry.view.left_menu.set_as_favorite'|trans }}</span></a></li>
|
||||
<li><a title="{{ 'entry.view.left_menu.set_as_starred'|trans }}" class="tool icon icon-star {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{{ 'entry.view.left_menu.set_as_starred'|trans }}</span></a></li>
|
||||
<li><a id="nav-btn-add-tag" title="{{ 'entry.view.left_menu.add_a_tag'|trans }}"><span>{{ 'entry.view.left_menu.add_a_tag'|trans }}</span></a></li>
|
||||
<li><a title="{{ 'entry.view.left_menu.delete'|trans }}" class="tool delete icon icon-trash" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{{ 'entry.view.left_menu.delete'|trans }}</span></a></li>
|
||||
{% if craue_setting('share_twitter') %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="Tweet"><span>Tweet</span></a></li>{% endif %}
|
||||
@ -29,6 +29,19 @@
|
||||
<li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{{ 'entry.view.left_menu.problem.label'|trans }}" class="tool bad-display icon icon-delete"><span>{{ 'entry.view.left_menu.problem.label'|trans }}</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="link mdi-action-today">
|
||||
{{ 'entry.view.created_at'|trans }}: {{ entry.createdAt|date('Y-m-d') }}
|
||||
</div>
|
||||
|
||||
<div class="link mdi-action-query-builder">
|
||||
{% set readingTime = entry.readingTime / app.user.config.readingSpeed %}
|
||||
{% if readingTime > 0 %}
|
||||
{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': readingTime|round})|capitalize }}
|
||||
{% else %}
|
||||
{{ 'entry.list.reading_time_less_one_minute'|trans|raw }}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% set nbAnnotations = entry.annotations | length %}
|
||||
<span class="tool link mdi-communication-comment"> {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }}</span>
|
||||
<aside class="tags">
|
||||
@ -72,7 +85,7 @@
|
||||
$("body").css("cursor", "auto");
|
||||
});*/
|
||||
|
||||
// toggle favorite property of current article
|
||||
// toggle starred property of current article
|
||||
/* $('#setFav').click(function(){
|
||||
$("body").css("cursor", "wait");
|
||||
$.ajax( { url: '{{ path('star_entry', { 'id': entry.id }) }}' }).done(
|
||||
|
||||
@ -158,7 +158,7 @@
|
||||
{% endif %}
|
||||
|
||||
{{ form_widget(form.user.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
|
||||
{{ form_rest(form.user) }}
|
||||
{{ form_widget(form.user._token) }}
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
<i class="card-title grey-text text-darken-4 activator mdi-navigation-more-horiz right"></i>
|
||||
{% endif %}
|
||||
|
||||
<span class="card-title"><a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title|raw }}">{{ entry.title|striptags|slice(0, 42)|raw }}</a></span>
|
||||
<span class="card-title dot-ellipsis dot-resize-update"><a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title|raw }}">{{ entry.title|striptags|raw }}</a></span>
|
||||
|
||||
<div class="estimatedTime grey-text">
|
||||
<span class="tool reading-time">
|
||||
@ -77,7 +77,7 @@
|
||||
<ul class="tools links right">
|
||||
<li>
|
||||
<a title="{{ 'entry.list.toogle_as_read'|trans }}" class="tool grey-text {% if entry.isArchived == 0 %}mdi-action-done{% else %}mdi-content-redo{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"></a>
|
||||
<a title="{{ 'entry.list.toogle_as_star'|trans }}" class="tool grey-text {% if entry.isStarred == 0 %}mdi-action-favorite-outline{% else %}mdi-action-favorite{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"></a>
|
||||
<a title="{{ 'entry.list.toogle_as_star'|trans }}" class="tool grey-text {% if entry.isStarred == 0 %}mdi-toggle-star-outline{% else %}mdi-toggle-star{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"></a>
|
||||
<a title="{{ 'entry.list.delete'|trans }}" class="tool grey-text delete mdi-action-delete " href="{{ path('delete_entry', { 'id': entry.id }) }}"></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@ -24,8 +24,8 @@
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="waves-effect" title="{{ 'entry.view.left_menu.set_as_favorite'|trans }}" href="{{ path('star_entry', { 'id': entry.id }) }}" id="setFav">
|
||||
<i class="{% if entry.isStarred == 0 %}mdi-action-favorite-outline{% else %}mdi-action-favorite{% endif %} small"></i>
|
||||
<a class="waves-effect" title="{{ 'entry.view.left_menu.set_as_starred'|trans }}" href="{{ path('star_entry', { 'id': entry.id }) }}" id="setFav">
|
||||
<i class="{% if entry.isStarred == 0 %}mdi-toggle-star-outline{% else %}mdi-toggle-star{% endif %} small"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
@ -70,9 +70,9 @@
|
||||
</li>
|
||||
|
||||
<li class="bold hide-on-med-and-down">
|
||||
<a class="waves-effect collapsible-header" title="{{ 'entry.view.left_menu.set_as_favorite'|trans }}" href="{{ path('star_entry', { 'id': entry.id }) }}" id="setFav">
|
||||
<i class="{% if entry.isStarred == 0 %}mdi-action-favorite-outline{% else %}mdi-action-favorite{% endif %} small"></i>
|
||||
<span>{{ 'entry.view.left_menu.set_as_favorite'|trans }}</span>
|
||||
<a class="waves-effect collapsible-header" title="{{ 'entry.view.left_menu.set_as_starred'|trans }}" href="{{ path('star_entry', { 'id': entry.id }) }}" id="setFav">
|
||||
<i class="{% if entry.isStarred == 0 %}mdi-toggle-star-outline{% else %}mdi-toggle-star{% endif %} small"></i>
|
||||
<span>{{ 'entry.view.left_menu.set_as_starred'|trans }}</span>
|
||||
</a>
|
||||
<div class="collapsible-body"></div>
|
||||
</li>
|
||||
@ -193,6 +193,15 @@
|
||||
<h1>{{ entry.title|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1>
|
||||
</header>
|
||||
<aside>
|
||||
<span class="link mdi-action-today" title="{{ 'entry.view.created_at'|trans }}"> {{ entry.createdAt|date('Y-m-d') }}</span>
|
||||
{% set readingTime = entry.readingTime / app.user.config.readingSpeed %}
|
||||
<span class="link mdi-action-query-builder">
|
||||
{% if readingTime > 0 %}
|
||||
{{ 'entry.list.reading_time_minutes_short'|trans({'%readingTime%': readingTime|round}) }}
|
||||
{% else %}
|
||||
{{ 'entry.list.reading_time_less_one_minute_short'|trans|raw }}
|
||||
{% endif %}
|
||||
</span>
|
||||
<a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|e }}" class="tool link mdi-content-link"> <span>{{ entry.domainName|removeWww }}</span></a>
|
||||
<span class="tool link mdi-communication-comment"> {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }}</span>
|
||||
<div id="list">
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
{% block scripts %}
|
||||
{{ parent() }}
|
||||
|
||||
<script src="{{ asset('bundles/wallabagcore/themes/material/js/jquery.tinydot.min.js') }}"></script>
|
||||
<script src="{{ asset('bundles/wallabagcore/themes/material/js/materialize.min.js') }}"></script>
|
||||
<script src="{{ asset('bundles/wallabagcore/themes/material/js/init.js') }}"></script>
|
||||
{% endblock %}
|
||||
|
||||
47
src/Wallabag/ImportBundle/Import/AbstractImport.php
Normal file
47
src/Wallabag/ImportBundle/Import/AbstractImport.php
Normal file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace Wallabag\ImportBundle\Import;
|
||||
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Psr\Log\NullLogger;
|
||||
use Doctrine\ORM\EntityManager;
|
||||
use Wallabag\CoreBundle\Helper\ContentProxy;
|
||||
use Wallabag\CoreBundle\Entity\Entry;
|
||||
|
||||
abstract class AbstractImport implements ImportInterface
|
||||
{
|
||||
protected $em;
|
||||
protected $logger;
|
||||
protected $contentProxy;
|
||||
|
||||
public function __construct(EntityManager $em, ContentProxy $contentProxy)
|
||||
{
|
||||
$this->em = $em;
|
||||
$this->logger = new NullLogger();
|
||||
$this->contentProxy = $contentProxy;
|
||||
}
|
||||
|
||||
public function setLogger(LoggerInterface $logger)
|
||||
{
|
||||
$this->logger = $logger;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch content from the ContentProxy (using graby).
|
||||
* If it fails return false instead of the updated entry.
|
||||
*
|
||||
* @param Entry $entry Entry to update
|
||||
* @param string $url Url to grab content for
|
||||
* @param array $content An array with AT LEAST keys title, html, url, language & content_type to skip the fetchContent from the url
|
||||
*
|
||||
* @return Entry|false
|
||||
*/
|
||||
protected function fetchContent(Entry $entry, $url, array $content = [])
|
||||
{
|
||||
try {
|
||||
return $this->contentProxy->updateEntry($entry, $url, $content);
|
||||
} catch (\Exception $e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2,7 +2,6 @@
|
||||
|
||||
namespace Wallabag\ImportBundle\Import;
|
||||
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Psr\Log\NullLogger;
|
||||
use Doctrine\ORM\EntityManager;
|
||||
use GuzzleHttp\Client;
|
||||
@ -12,12 +11,9 @@ use Wallabag\CoreBundle\Entity\Entry;
|
||||
use Wallabag\CoreBundle\Helper\ContentProxy;
|
||||
use Craue\ConfigBundle\Util\Config;
|
||||
|
||||
class PocketImport implements ImportInterface
|
||||
class PocketImport extends AbstractImport
|
||||
{
|
||||
private $user;
|
||||
private $em;
|
||||
private $contentProxy;
|
||||
private $logger;
|
||||
private $client;
|
||||
private $consumerKey;
|
||||
private $skippedEntries = 0;
|
||||
@ -34,11 +30,6 @@ class PocketImport implements ImportInterface
|
||||
$this->logger = new NullLogger();
|
||||
}
|
||||
|
||||
public function setLogger(LoggerInterface $logger)
|
||||
{
|
||||
$this->logger = $logger;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
@ -219,14 +210,20 @@ class PocketImport implements ImportInterface
|
||||
}
|
||||
|
||||
$entry = new Entry($this->user);
|
||||
$entry = $this->contentProxy->updateEntry($entry, $url);
|
||||
$entry = $this->fetchContent($entry, $url);
|
||||
|
||||
// jump to next entry in case of problem while getting content
|
||||
if (false === $entry) {
|
||||
++$this->skippedEntries;
|
||||
continue;
|
||||
}
|
||||
|
||||
// 0, 1, 2 - 1 if the item is archived - 2 if the item should be deleted
|
||||
if ($pocketEntry['status'] == 1 || $this->markAsRead) {
|
||||
$entry->setArchived(true);
|
||||
}
|
||||
|
||||
// 0 or 1 - 1 If the item is favorited
|
||||
// 0 or 1 - 1 If the item is starred
|
||||
if ($pocketEntry['favorite'] == 1) {
|
||||
$entry->setStarred(true);
|
||||
}
|
||||
|
||||
@ -2,19 +2,12 @@
|
||||
|
||||
namespace Wallabag\ImportBundle\Import;
|
||||
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Psr\Log\NullLogger;
|
||||
use Doctrine\ORM\EntityManager;
|
||||
use Wallabag\CoreBundle\Entity\Entry;
|
||||
use Wallabag\UserBundle\Entity\User;
|
||||
use Wallabag\CoreBundle\Helper\ContentProxy;
|
||||
|
||||
abstract class WallabagImport implements ImportInterface
|
||||
abstract class WallabagImport extends AbstractImport
|
||||
{
|
||||
protected $user;
|
||||
protected $em;
|
||||
protected $logger;
|
||||
protected $contentProxy;
|
||||
protected $skippedEntries = 0;
|
||||
protected $importedEntries = 0;
|
||||
protected $filepath;
|
||||
@ -35,18 +28,6 @@ abstract class WallabagImport implements ImportInterface
|
||||
'',
|
||||
];
|
||||
|
||||
public function __construct(EntityManager $em, ContentProxy $contentProxy)
|
||||
{
|
||||
$this->em = $em;
|
||||
$this->logger = new NullLogger();
|
||||
$this->contentProxy = $contentProxy;
|
||||
}
|
||||
|
||||
public function setLogger(LoggerInterface $logger)
|
||||
{
|
||||
$this->logger = $logger;
|
||||
}
|
||||
|
||||
/**
|
||||
* We define the user in a custom call because on the import command there is no logged in user.
|
||||
* So we can't retrieve user from the `security.token_storage` service.
|
||||
@ -159,12 +140,18 @@ abstract class WallabagImport implements ImportInterface
|
||||
|
||||
$data = $this->prepareEntry($importedEntry, $this->markAsRead);
|
||||
|
||||
$entry = $this->contentProxy->updateEntry(
|
||||
$entry = $this->fetchContent(
|
||||
new Entry($this->user),
|
||||
$importedEntry['url'],
|
||||
$data
|
||||
);
|
||||
|
||||
// jump to next entry in case of problem while getting content
|
||||
if (false === $entry) {
|
||||
++$this->skippedEntries;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (array_key_exists('tags', $data)) {
|
||||
$this->contentProxy->assignTagsToEntry(
|
||||
$entry,
|
||||
|
||||
@ -0,0 +1,11 @@
|
||||
# Two factor mail
|
||||
auth_code:
|
||||
on: 'sus'
|
||||
mailer:
|
||||
subject: "Còdi d'autentificacion wallabag"
|
||||
body:
|
||||
hello: "Bonjorn %user%,"
|
||||
first_para: "Estant qu'avètz activat la dobla autentificacion sus vòtre compte wallabag e que venètz de vos conectar dempuèi un novèl aparelh (ordinador, mobil, etc.) vos mandem un còdi per validar la connexion."
|
||||
second_para: "Vaquí lo còdi a dintrar :"
|
||||
support: "S'avètz un problèma de connexion, dobtetz pas a contacter l'assisténcia : "
|
||||
signature: "La còla de wallabag"
|
||||
@ -39,7 +39,7 @@
|
||||
<i class="mdi-content-send right"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="center">
|
||||
<div class="row center">
|
||||
<a href="{{ path('fos_user_resetting_request') }}">{{ 'security.login.forgot_password'|trans }}</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@ -28,16 +28,32 @@ class InstallCommandTest extends WallabagCoreTestCase
|
||||
*
|
||||
* http://stackoverflow.com/a/14374832/569101
|
||||
*/
|
||||
$this->markTestSkipped('PostgreSQL spotted: can find a good way to drop current database, skipping.');
|
||||
$this->markTestSkipped('PostgreSQL spotted: can\'t find a good way to drop current database, skipping.');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensure next tests will have a clean database
|
||||
*/
|
||||
public static function tearDownAfterClass()
|
||||
{
|
||||
$application = new Application(static::$kernel);
|
||||
$application->setAutoExit(false);
|
||||
|
||||
$code = $application->run(new ArrayInput([
|
||||
$application->run(new ArrayInput([
|
||||
'command' => 'doctrine:schema:drop',
|
||||
'--no-interaction' => true,
|
||||
'--force' => true,
|
||||
'--env' => 'test',
|
||||
]), new NullOutput());
|
||||
|
||||
$application->run(new ArrayInput([
|
||||
'command' => 'doctrine:schema:create',
|
||||
'--no-interaction' => true,
|
||||
'--env' => 'test',
|
||||
]), new NullOutput());
|
||||
|
||||
$application->run(new ArrayInput([
|
||||
'command' => 'doctrine:fixtures:load',
|
||||
'--no-interaction' => true,
|
||||
'--env' => 'test',
|
||||
@ -111,6 +127,12 @@ class InstallCommandTest extends WallabagCoreTestCase
|
||||
|
||||
public function testRunInstallCommandWithDatabaseRemoved()
|
||||
{
|
||||
// skipped SQLite check when database is removed because while testing for the connection,
|
||||
// the driver will create the file (so the database) before testing if database exist
|
||||
if ($this->getClient()->getContainer()->get('doctrine')->getConnection()->getDriver() instanceof \Doctrine\DBAL\Driver\PDOSqlite\Driver) {
|
||||
$this->markTestSkipped('SQLite spotted: can\'t test with database removed.');
|
||||
}
|
||||
|
||||
$application = new Application($this->getClient()->getKernel());
|
||||
$application->add(new DropDatabaseDoctrineCommand());
|
||||
|
||||
|
||||
@ -390,4 +390,55 @@ class PocketImportTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertContains('PocketImport: Failed to import', $records[0]['message']);
|
||||
$this->assertEquals('ERROR', $records[0]['level_name']);
|
||||
}
|
||||
|
||||
public function testImportWithExceptionFromGraby()
|
||||
{
|
||||
$client = new Client();
|
||||
|
||||
$mock = new Mock([
|
||||
new Response(200, ['Content-Type' => 'application/json'], Stream::factory(json_encode(['access_token' => 'wunderbar_token']))),
|
||||
new Response(200, ['Content-Type' => 'application/json'], Stream::factory('
|
||||
{
|
||||
"status": 1,
|
||||
"list": {
|
||||
"229279689": {
|
||||
"resolved_url": "http://www.grantland.com/blog/the-triangle/post/_/id/38347/ryder-cup-preview"
|
||||
}
|
||||
}
|
||||
}
|
||||
')),
|
||||
]);
|
||||
|
||||
$client->getEmitter()->attach($mock);
|
||||
|
||||
$pocketImport = $this->getPocketImport();
|
||||
|
||||
$entryRepo = $this->getMockBuilder('Wallabag\CoreBundle\Repository\EntryRepository')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$entryRepo->expects($this->once())
|
||||
->method('findByUrlAndUserId')
|
||||
->will($this->onConsecutiveCalls(false, true));
|
||||
|
||||
$this->em
|
||||
->expects($this->once())
|
||||
->method('getRepository')
|
||||
->willReturn($entryRepo);
|
||||
|
||||
$entry = new Entry($this->user);
|
||||
|
||||
$this->contentProxy
|
||||
->expects($this->once())
|
||||
->method('updateEntry')
|
||||
->will($this->throwException(new \Exception()));
|
||||
|
||||
$pocketImport->setClient($client);
|
||||
$pocketImport->authorize('wunderbar_code');
|
||||
|
||||
$res = $pocketImport->import();
|
||||
|
||||
$this->assertTrue($res);
|
||||
$this->assertEquals(['skipped' => 1, 'imported' => 0], $pocketImport->getSummary());
|
||||
}
|
||||
}
|
||||
|
||||
@ -143,4 +143,44 @@ class WallabagV2ImportTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertContains('WallabagImport: user is not defined', $records[0]['message']);
|
||||
$this->assertEquals('ERROR', $records[0]['level_name']);
|
||||
}
|
||||
|
||||
public function testImportEmptyFile()
|
||||
{
|
||||
$wallabagV2Import = $this->getWallabagV2Import();
|
||||
$wallabagV2Import->setFilepath(__DIR__.'/../fixtures/wallabag-v2-empty.json');
|
||||
|
||||
$res = $wallabagV2Import->import();
|
||||
|
||||
$this->assertFalse($res);
|
||||
$this->assertEquals(['skipped' => 0, 'imported' => 0], $wallabagV2Import->getSummary());
|
||||
}
|
||||
|
||||
public function testImportWithExceptionFromGraby()
|
||||
{
|
||||
$wallabagV2Import = $this->getWallabagV2Import();
|
||||
$wallabagV2Import->setFilepath(__DIR__.'/../fixtures/wallabag-v2.json');
|
||||
|
||||
$entryRepo = $this->getMockBuilder('Wallabag\CoreBundle\Repository\EntryRepository')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$entryRepo->expects($this->exactly(24))
|
||||
->method('findByUrlAndUserId')
|
||||
->will($this->onConsecutiveCalls(false, true, false));
|
||||
|
||||
$this->em
|
||||
->expects($this->any())
|
||||
->method('getRepository')
|
||||
->willReturn($entryRepo);
|
||||
|
||||
$this->contentProxy
|
||||
->expects($this->exactly(2))
|
||||
->method('updateEntry')
|
||||
->will($this->throwException(new \Exception()));
|
||||
|
||||
$res = $wallabagV2Import->import();
|
||||
|
||||
$this->assertTrue($res);
|
||||
$this->assertEquals(['skipped' => 24, 'imported' => 0], $wallabagV2Import->getSummary());
|
||||
}
|
||||
}
|
||||
|
||||
@ -681,10 +681,17 @@ class SymfonyRequirements extends RequirementCollection
|
||||
|
||||
if (class_exists('Symfony\Component\Intl\Intl')) {
|
||||
$this->addRecommendation(
|
||||
\Symfony\Component\Intl\Intl::getIcuDataVersion() === \Symfony\Component\Intl\Intl::getIcuVersion(),
|
||||
sprintf('intl ICU version installed on your system (%s) should match the ICU data bundled with Symfony (%s)', \Symfony\Component\Intl\Intl::getIcuVersion(), \Symfony\Component\Intl\Intl::getIcuDataVersion()),
|
||||
'In most cases you should be fine, but please verify there is no inconsistencies between data provided by Symfony and the intl extension. See https://github.com/symfony/symfony/issues/15007 for an example of inconsistencies you might run into.'
|
||||
\Symfony\Component\Intl\Intl::getIcuDataVersion() <= \Symfony\Component\Intl\Intl::getIcuVersion(),
|
||||
sprintf('intl ICU version installed on your system is outdated (%s) and does not match the ICU data bundled with Symfony (%s)', \Symfony\Component\Intl\Intl::getIcuVersion(), \Symfony\Component\Intl\Intl::getIcuDataVersion()),
|
||||
'To get the latest internationalization data upgrade the ICU system package and the intl PHP extension.'
|
||||
);
|
||||
if (\Symfony\Component\Intl\Intl::getIcuDataVersion() <= \Symfony\Component\Intl\Intl::getIcuVersion()) {
|
||||
$this->addRecommendation(
|
||||
\Symfony\Component\Intl\Intl::getIcuDataVersion() === \Symfony\Component\Intl\Intl::getIcuVersion(),
|
||||
sprintf('intl ICU version installed on your system (%s) does not match the ICU data bundled with Symfony (%s)', \Symfony\Component\Intl\Intl::getIcuVersion(), \Symfony\Component\Intl\Intl::getIcuDataVersion()),
|
||||
'To avoid internationalization data incosistencies upgrade the symfony/intl component.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$this->addPhpIniRecommendation(
|
||||
|
||||
Reference in New Issue
Block a user