Compare commits

..

1 Commits
2.0.8 ... 2.0.6

Author SHA1 Message Date
97781ee967 Release wallabag 2.0.6 2016-08-10 15:20:38 +02:00
52 changed files with 213 additions and 732 deletions

View File

@ -20,8 +20,8 @@ php:
- 5.5
- 5.6
- 7.0
- 7.1
- nightly
- hhvm
env:
- DB=mysql
@ -31,31 +31,13 @@ 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-3.12
- php: 7.1
- php: nightly
- php: hhvm
# exclude v1 branches
branches:
@ -63,10 +45,8 @@ branches:
- legacy
before_script:
- 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
- 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;
- composer self-update --no-progress
- if [[ "$DB" = "pgsql" ]]; then psql -c 'create database wallabag_test;' -U postgres; fi;

View File

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

View File

@ -2,41 +2,6 @@
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

View File

@ -1,5 +1,5 @@
[![Build Status](https://api.travis-ci.org/wallabag/wallabag.svg?branch=master)](https://travis-ci.org/wallabag/wallabag)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/wallabag/wallabag/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=master)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/wallabag/wallabag/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=v2)
[![Gitter](https://badges.gitter.im/gitterHQ/gitter.svg)](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.8
git checkout 2.0.6
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console wallabag:install --env=prod
php bin/console server:run --env=prod

View File

@ -30,7 +30,7 @@ framework:
assets: ~
wallabag_core:
version: 2.0.8
version: 2.0.6
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
languages:
en: 'English'
@ -151,11 +151,6 @@ 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
View File

@ -457,16 +457,16 @@
},
{
"name": "doctrine/doctrine-bundle",
"version": "1.6.4",
"version": "1.6.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineBundle.git",
"reference": "dd40b0a7fb16658cda9def9786992b8df8a49be7"
"reference": "fd51907c6c76acaa8a5234822a4f901c1500afc1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/dd40b0a7fb16658cda9def9786992b8df8a49be7",
"reference": "dd40b0a7fb16658cda9def9786992b8df8a49be7",
"url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/fd51907c6c76acaa8a5234822a4f901c1500afc1",
"reference": "fd51907c6c76acaa8a5234822a4f901c1500afc1",
"shasum": ""
},
"require": {
@ -475,7 +475,6 @@
"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"
},
@ -534,7 +533,7 @@
"orm",
"persistence"
],
"time": "2016-08-10 15:35:22"
"time": "2016-04-21 19:55:56"
},
{
"name": "doctrine/doctrine-cache-bundle",
@ -626,27 +625,24 @@
},
{
"name": "doctrine/doctrine-migrations-bundle",
"version": "v1.2.0",
"version": "1.1.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineMigrationsBundle.git",
"reference": "0b89ee55bceb53c60bc4ba32924ac5053e377abb"
"reference": "303a576e2124efb07ec215e34ea2480b841cf5e4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/0b89ee55bceb53c60bc4ba32924ac5053e377abb",
"reference": "0b89ee55bceb53c60bc4ba32924ac5053e377abb",
"url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/303a576e2124efb07ec215e34ea2480b841cf5e4",
"reference": "303a576e2124efb07ec215e34ea2480b841cf5e4",
"shasum": ""
},
"require": {
"doctrine/doctrine-bundle": "~1.0",
"doctrine/migrations": "^1.1",
"php": ">=5.4.0",
"doctrine/migrations": "~1.0",
"php": ">=5.3.2",
"symfony/framework-bundle": "~2.3|~3.0"
},
"require-dev": {
"phpunit/phpunit": "~4.8"
},
"type": "symfony-bundle",
"extra": {
"branch-alias": {
@ -683,7 +679,7 @@
"migrations",
"schema"
],
"time": "2016-06-30 19:26:35"
"time": "2015-11-04 13:45:30"
},
{
"name": "doctrine/inflector",
@ -1227,12 +1223,12 @@
"source": {
"type": "git",
"url": "https://github.com/FriendsOfSymfony/FOSUserBundle.git",
"reference": "af6bc6bf4ec303be3a82e1f64b0e6ac9e8ff00c7"
"reference": "07ec96d93f03650e7480e0637fcd51eee6575c12"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/FriendsOfSymfony/FOSUserBundle/zipball/af6bc6bf4ec303be3a82e1f64b0e6ac9e8ff00c7",
"reference": "af6bc6bf4ec303be3a82e1f64b0e6ac9e8ff00c7",
"url": "https://api.github.com/repos/FriendsOfSymfony/FOSUserBundle/zipball/07ec96d93f03650e7480e0637fcd51eee6575c12",
"reference": "07ec96d93f03650e7480e0637fcd51eee6575c12",
"shasum": ""
},
"require": {
@ -1291,20 +1287,20 @@
"keywords": [
"User management"
],
"time": "2016-09-07 09:22:55"
"time": "2016-08-04 10:13:39"
},
{
"name": "gedmo/doctrine-extensions",
"version": "v2.4.22",
"version": "v2.4.20",
"source": {
"type": "git",
"url": "https://github.com/Atlantic18/DoctrineExtensions.git",
"reference": "b8188801bafc420b86908ee5229a5e92143ce514"
"reference": "24cd861d755282f4c9fb1c8f4634ffd6ca12182b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Atlantic18/DoctrineExtensions/zipball/b8188801bafc420b86908ee5229a5e92143ce514",
"reference": "b8188801bafc420b86908ee5229a5e92143ce514",
"url": "https://api.github.com/repos/Atlantic18/DoctrineExtensions/zipball/24cd861d755282f4c9fb1c8f4634ffd6ca12182b",
"reference": "24cd861d755282f4c9fb1c8f4634ffd6ca12182b",
"shasum": ""
},
"require": {
@ -1370,7 +1366,7 @@
"tree",
"uploadable"
],
"time": "2016-08-30 18:42:36"
"time": "2016-07-30 15:51:52"
},
{
"name": "grandt/binstring",
@ -1765,16 +1761,16 @@
},
{
"name": "hoa/compiler",
"version": "3.16.08.15",
"version": "3.16.01.14",
"source": {
"type": "git",
"url": "https://github.com/hoaproject/Compiler.git",
"reference": "774f04e6ab1580392b35cae7d6f8dda165810c19"
"reference": "a1505e507e8368dbf7a5b490c4a5a90e06d7bd69"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/hoaproject/Compiler/zipball/774f04e6ab1580392b35cae7d6f8dda165810c19",
"reference": "774f04e6ab1580392b35cae7d6f8dda165810c19",
"url": "https://api.github.com/repos/hoaproject/Compiler/zipball/a1505e507e8368dbf7a5b490c4a5a90e06d7bd69",
"reference": "a1505e507e8368dbf7a5b490c4a5a90e06d7bd69",
"shasum": ""
},
"require": {
@ -1843,7 +1839,7 @@
"trace",
"uniform"
],
"time": "2016-08-15 09:25:24"
"time": "2016-01-14 20:44:59"
},
{
"name": "hoa/consistency",
@ -2136,16 +2132,16 @@
},
{
"name": "hoa/math",
"version": "1.16.08.29",
"version": "1.16.05.22",
"source": {
"type": "git",
"url": "https://github.com/hoaproject/Math.git",
"reference": "8be67cc378b043ccdd5896a3f1bb276af032f258"
"reference": "f3bcd84f4c6e3ba1c994969bd5163336500f20c8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/hoaproject/Math/zipball/8be67cc378b043ccdd5896a3f1bb276af032f258",
"reference": "8be67cc378b043ccdd5896a3f1bb276af032f258",
"url": "https://api.github.com/repos/hoaproject/Math/zipball/f3bcd84f4c6e3ba1c994969bd5163336500f20c8",
"reference": "f3bcd84f4c6e3ba1c994969bd5163336500f20c8",
"shasum": ""
},
"require": {
@ -2197,7 +2193,7 @@
"sampler",
"set"
],
"time": "2016-08-29 13:29:51"
"time": "2016-05-22 14:07:26"
},
{
"name": "hoa/protocol",
@ -2261,16 +2257,16 @@
},
{
"name": "hoa/regex",
"version": "1.16.09.06",
"version": "1.16.01.15",
"source": {
"type": "git",
"url": "https://github.com/hoaproject/Regex.git",
"reference": "2a787a49cc53a9ea009a1997085da9aff091e918"
"reference": "e7fb36fdea23ea9fc814a1a68bd0144df1891463"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/hoaproject/Regex/zipball/2a787a49cc53a9ea009a1997085da9aff091e918",
"reference": "2a787a49cc53a9ea009a1997085da9aff091e918",
"url": "https://api.github.com/repos/hoaproject/Regex/zipball/e7fb36fdea23ea9fc814a1a68bd0144df1891463",
"reference": "e7fb36fdea23ea9fc814a1a68bd0144df1891463",
"shasum": ""
},
"require": {
@ -2313,7 +2309,7 @@
"library",
"regex"
],
"time": "2016-09-06 11:08:23"
"time": "2016-01-14 21:10:33"
},
{
"name": "hoa/ruler",
@ -2375,16 +2371,16 @@
},
{
"name": "hoa/stream",
"version": "1.16.09.06",
"version": "1.16.01.14",
"source": {
"type": "git",
"url": "https://github.com/hoaproject/Stream.git",
"reference": "f8dec80b6ff3b7898a5604d304ecb73f53d04901"
"reference": "c00b35078ef8c0881b7d2ed533de19fe0aaf9896"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/hoaproject/Stream/zipball/f8dec80b6ff3b7898a5604d304ecb73f53d04901",
"reference": "f8dec80b6ff3b7898a5604d304ecb73f53d04901",
"url": "https://api.github.com/repos/hoaproject/Stream/zipball/c00b35078ef8c0881b7d2ed533de19fe0aaf9896",
"reference": "c00b35078ef8c0881b7d2ed533de19fe0aaf9896",
"shasum": ""
},
"require": {
@ -2432,7 +2428,7 @@
"stream",
"wrapper"
],
"time": "2016-09-06 11:14:23"
"time": "2016-01-14 20:11:37"
},
{
"name": "hoa/ustring",
@ -2603,16 +2599,16 @@
},
{
"name": "htmlawed/htmlawed",
"version": "1.1.22",
"version": "1.1.19",
"source": {
"type": "git",
"url": "https://github.com/kesar/HTMLawed.git",
"reference": "b270453ba016ee4c6dae585f047d1e4f3cc456a1"
"reference": "620c38edd57e680260ebd8dd0e98167d97e9a7bf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/kesar/HTMLawed/zipball/b270453ba016ee4c6dae585f047d1e4f3cc456a1",
"reference": "b270453ba016ee4c6dae585f047d1e4f3cc456a1",
"url": "https://api.github.com/repos/kesar/HTMLawed/zipball/620c38edd57e680260ebd8dd0e98167d97e9a7bf",
"reference": "620c38edd57e680260ebd8dd0e98167d97e9a7bf",
"shasum": ""
},
"require": {
@ -2636,7 +2632,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",
@ -2645,7 +2641,7 @@
"strip",
"tags"
],
"time": "2016-08-27 18:53:27"
"time": "2015-04-05 17:23:05"
},
{
"name": "incenteev/composer-parameter-handler",
@ -2700,16 +2696,16 @@
},
{
"name": "j0k3r/graby",
"version": "1.4.3",
"version": "1.4.2",
"source": {
"type": "git",
"url": "https://github.com/j0k3r/graby.git",
"reference": "8dbc799fac49d9c949a10c61e16cfec120c8dba9"
"reference": "f8ff3e4449fbee1681461550c48dc41efff833c0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/j0k3r/graby/zipball/8dbc799fac49d9c949a10c61e16cfec120c8dba9",
"reference": "8dbc799fac49d9c949a10c61e16cfec120c8dba9",
"url": "https://api.github.com/repos/j0k3r/graby/zipball/f8ff3e4449fbee1681461550c48dc41efff833c0",
"reference": "f8ff3e4449fbee1681461550c48dc41efff833c0",
"shasum": ""
},
"require": {
@ -2753,20 +2749,20 @@
}
],
"description": "Graby helps you extract article content from web pages",
"time": "2016-09-07 09:28:22"
"time": "2016-07-25 05:12:39"
},
{
"name": "j0k3r/graby-site-config",
"version": "1.0.23",
"version": "1.0.21",
"source": {
"type": "git",
"url": "https://github.com/j0k3r/graby-site-config.git",
"reference": "5db870f5dd880d19bc9330388d97ce43c8ed18fc"
"reference": "7db8e98e7e6dd80bf286100e1e5121dd64674805"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/j0k3r/graby-site-config/zipball/5db870f5dd880d19bc9330388d97ce43c8ed18fc",
"reference": "5db870f5dd880d19bc9330388d97ce43c8ed18fc",
"url": "https://api.github.com/repos/j0k3r/graby-site-config/zipball/7db8e98e7e6dd80bf286100e1e5121dd64674805",
"reference": "7db8e98e7e6dd80bf286100e1e5121dd64674805",
"shasum": ""
},
"require": {
@ -2789,7 +2785,7 @@
}
],
"description": "Graby site config files",
"time": "2016-09-07 10:00:08"
"time": "2016-08-01 09:26:59"
},
{
"name": "j0k3r/php-readability",
@ -3048,16 +3044,16 @@
},
{
"name": "jms/serializer",
"version": "1.3.1",
"version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/serializer.git",
"reference": "705d0b4633b9c44e6253aa18306b3972282cd3a3"
"reference": "ef0bfc44272a6439da7355f67904b9678c603e0a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/schmittjoh/serializer/zipball/705d0b4633b9c44e6253aa18306b3972282cd3a3",
"reference": "705d0b4633b9c44e6253aa18306b3972282cd3a3",
"url": "https://api.github.com/repos/schmittjoh/serializer/zipball/ef0bfc44272a6439da7355f67904b9678c603e0a",
"reference": "ef0bfc44272a6439da7355f67904b9678c603e0a",
"shasum": ""
},
"require": {
@ -3074,7 +3070,7 @@
},
"require-dev": {
"doctrine/orm": "~2.1",
"doctrine/phpcr-odm": "^1.3|^2.0",
"doctrine/phpcr-odm": "^1.3",
"jackalope/jackalope-doctrine-dbal": "^1.1.5",
"phpunit/phpunit": "^4.8|^5.0",
"propel/propel1": "~1.7",
@ -3091,7 +3087,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3-dev"
"dev-master": "1.1-dev"
}
},
"autoload": {
@ -3118,7 +3114,7 @@
"serialization",
"xml"
],
"time": "2016-08-23 17:20:24"
"time": "2016-08-03 12:52:48"
},
{
"name": "jms/serializer-bundle",
@ -4416,26 +4412,24 @@
},
{
"name": "scheb/two-factor-bundle",
"version": "v2.8.0",
"version": "v2.5.2",
"source": {
"type": "git",
"url": "https://github.com/scheb/two-factor-bundle.git",
"reference": "db77c00349d3679eac024a5295c3faa4a7605c55"
"reference": "fdf63e7515015045f039bf34502977f6180b28ed"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/scheb/two-factor-bundle/zipball/db77c00349d3679eac024a5295c3faa4a7605c55",
"reference": "db77c00349d3679eac024a5295c3faa4a7605c55",
"url": "https://api.github.com/repos/scheb/two-factor-bundle/zipball/fdf63e7515015045f039bf34502977f6180b28ed",
"reference": "fdf63e7515015045f039bf34502977f6180b28ed",
"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",
@ -4466,20 +4460,20 @@
"two-factor",
"two-step"
],
"time": "2016-09-05 19:03:16"
"time": "2016-07-28 08:07:15"
},
{
"name": "sensio/distribution-bundle",
"version": "v5.0.9",
"version": "v5.0.7",
"source": {
"type": "git",
"url": "https://github.com/sensiolabs/SensioDistributionBundle.git",
"reference": "e5e0d8d06b07864b2752bd865537b0817edf4c5a"
"reference": "a9c4723cbdbc6cf7fbfdfde3c639cb1943f0293a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/e5e0d8d06b07864b2752bd865537b0817edf4c5a",
"reference": "e5e0d8d06b07864b2752bd865537b0817edf4c5a",
"url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/a9c4723cbdbc6cf7fbfdfde3c639cb1943f0293a",
"reference": "a9c4723cbdbc6cf7fbfdfde3c639cb1943f0293a",
"shasum": ""
},
"require": {
@ -4518,7 +4512,7 @@
"configuration",
"distribution"
],
"time": "2016-09-06 01:05:01"
"time": "2016-06-23 16:11:33"
},
{
"name": "sensio/framework-extra-bundle",
@ -5360,16 +5354,16 @@
},
{
"name": "symfony/symfony",
"version": "v3.1.4",
"version": "v3.1.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/symfony.git",
"reference": "65ca9e4fbdb34f6d463ef77898ca583b101a4162"
"reference": "4478f047409028dc6e3ab320590f1247fec7a850"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/symfony/zipball/65ca9e4fbdb34f6d463ef77898ca583b101a4162",
"reference": "65ca9e4fbdb34f6d463ef77898ca583b101a4162",
"url": "https://api.github.com/repos/symfony/symfony/zipball/4478f047409028dc6e3ab320590f1247fec7a850",
"reference": "4478f047409028dc6e3ab320590f1247fec7a850",
"shasum": ""
},
"require": {
@ -5388,9 +5382,6 @@
"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",
@ -5412,7 +5403,6 @@
"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",
@ -5496,7 +5486,7 @@
"keywords": [
"framework"
],
"time": "2016-09-03 15:28:43"
"time": "2016-07-30 09:31:00"
},
{
"name": "tecnickcom/tcpdf",
@ -5661,16 +5651,16 @@
},
{
"name": "twig/twig",
"version": "v1.24.2",
"version": "v1.24.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "33093f6e310e6976baeac7b14f3a6ec02f2d79b7"
"reference": "3566d311a92aae4deec6e48682dc5a4528c4a512"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/33093f6e310e6976baeac7b14f3a6ec02f2d79b7",
"reference": "33093f6e310e6976baeac7b14f3a6ec02f2d79b7",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/3566d311a92aae4deec6e48682dc5a4528c4a512",
"reference": "3566d311a92aae4deec6e48682dc5a4528c4a512",
"shasum": ""
},
"require": {
@ -5718,7 +5708,7 @@
"keywords": [
"templating"
],
"time": "2016-09-01 17:50:53"
"time": "2016-05-30 09:11:59"
},
{
"name": "wallabag/php-mobi",
@ -5875,7 +5865,7 @@
"email": "adrien.brault@gmail.com"
},
{
"name": "William DURAND",
"name": "William Durand",
"email": "william.durand1@gmail.com"
}
],
@ -5925,7 +5915,7 @@
],
"authors": [
{
"name": "William DURAND",
"name": "William Durand",
"email": "william.durand1@gmail.com"
}
],
@ -6249,35 +6239,35 @@
},
{
"name": "friendsofphp/php-cs-fixer",
"version": "v1.12.1",
"version": "v1.11.6",
"source": {
"type": "git",
"url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git",
"reference": "d33ee60f3d3e6152888b7f3a385f49e5c43bf1bf"
"reference": "41dc93abd2937a85a3889e28765231d574d2bac8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/d33ee60f3d3e6152888b7f3a385f49e5c43bf1bf",
"reference": "d33ee60f3d3e6152888b7f3a385f49e5c43bf1bf",
"url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/41dc93abd2937a85a3889e28765231d574d2bac8",
"reference": "41dc93abd2937a85a3889e28765231d574d2bac8",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
"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"
"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"
},
"conflict": {
"hhvm": "<3.9"
},
"require-dev": {
"phpunit/phpunit": "^4.5|^5",
"satooshi/php-coveralls": "^1.0"
"satooshi/php-coveralls": "^0.7.1"
},
"bin": [
"php-cs-fixer"
@ -6303,7 +6293,7 @@
}
],
"description": "A tool to automatically fix PHP code style",
"time": "2016-09-07 06:48:24"
"time": "2016-07-22 06:46:28"
},
{
"name": "phpdocumentor/reflection-common",
@ -7002,23 +6992,23 @@
},
{
"name": "sebastian/environment",
"version": "1.3.8",
"version": "1.3.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
"reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea"
"reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea",
"reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716",
"reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716",
"shasum": ""
},
"require": {
"php": "^5.3.3 || ^7.0"
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "^4.8 || ^5.0"
"phpunit/phpunit": "~4.4"
},
"type": "library",
"extra": {
@ -7048,7 +7038,7 @@
"environment",
"hhvm"
],
"time": "2016-08-18 05:49:44"
"time": "2016-05-17 03:18:57"
},
{
"name": "sebastian/exporter",
@ -7258,16 +7248,16 @@
},
{
"name": "sensio/generator-bundle",
"version": "v3.0.8",
"version": "v3.0.7",
"source": {
"type": "git",
"url": "https://github.com/sensiolabs/SensioGeneratorBundle.git",
"reference": "3c20d16512f37d2be159eca0411b99a141b90fa4"
"reference": "d1be460925376703a470a3ac6ec034eb7eab3892"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/3c20d16512f37d2be159eca0411b99a141b90fa4",
"reference": "3c20d16512f37d2be159eca0411b99a141b90fa4",
"url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/d1be460925376703a470a3ac6ec034eb7eab3892",
"reference": "d1be460925376703a470a3ac6ec034eb7eab3892",
"shasum": ""
},
"require": {
@ -7306,20 +7296,20 @@
}
],
"description": "This bundle generates code for you",
"time": "2016-09-06 01:30:19"
"time": "2016-06-20 05:58:05"
},
{
"name": "symfony/phpunit-bridge",
"version": "v3.1.4",
"version": "v3.1.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/phpunit-bridge.git",
"reference": "1f4e2059cf4ecae1053b9c3027b3fc548fd077b9"
"reference": "eeb3bf9a195df7552fdda46f4724a9442d157413"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/1f4e2059cf4ecae1053b9c3027b3fc548fd077b9",
"reference": "1f4e2059cf4ecae1053b9c3027b3fc548fd077b9",
"url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/eeb3bf9a195df7552fdda46f4724a9442d157413",
"reference": "eeb3bf9a195df7552fdda46f4724a9442d157413",
"shasum": ""
},
"require": {
@ -7361,7 +7351,7 @@
],
"description": "Symfony PHPUnit Bridge",
"homepage": "https://symfony.com",
"time": "2016-08-19 06:48:39"
"time": "2016-06-29 05:42:25"
},
{
"name": "webmozart/assert",

View File

@ -1,55 +0,0 @@
# -*- 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")

View File

@ -1,2 +0,0 @@
Sphinx>=1.3.0,<1.4.0
guzzle_sphinx_theme>=0.7.0,<0.8.0

View File

@ -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.

View File

@ -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.8
git checkout 2.0.6
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console wallabag:install --env=prod
@ -86,8 +86,6 @@ 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``.

View File

@ -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.8`` 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.3`` mit der neuesten Releasenummer):
::
git fetch origin
git fetch --tags
git checkout 2.0.8
git checkout 2.0.3
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console cache:clear --env=prod
@ -25,8 +25,6 @@ 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.

View File

@ -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/>`__.

View File

@ -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.8
git checkout 2.0.6
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console wallabag:install --env=prod
@ -85,8 +85,6 @@ 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``.

View File

@ -4,29 +4,27 @@ 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.8`` 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.3`` by the last release number):
::
git fetch origin
git fetch --tags
git checkout 2.0.8
git checkout 2.0.3
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.

View File

@ -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/>`__.

View File

@ -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.8
git checkout 2.0.6
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console wallabag:install --env=prod
@ -82,8 +82,6 @@ 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``.

View File

@ -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.8`` 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.3`` par le numéro de la dernière version) :
::
git fetch origin
git fetch --tags
git checkout 2.0.8
git checkout 2.0.3
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console cache:clear --env=prod
@ -19,14 +19,12 @@ 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/``.

View File

@ -72,10 +72,8 @@ class InstallCommand extends ContainerAwareCommand
{
$this->defaultOutput->writeln('<info><comment>Step 1 of 5.</comment> Checking system requirements.</info>');
$rows = [];
// testing if database driver exists
$fulfilled = true;
$label = '<comment>PDO Driver</comment>';
$status = '<info>OK!</info>';
$help = '';
@ -86,23 +84,7 @@ class InstallCommand extends ContainerAwareCommand
$help = 'Database driver "'.$this->getContainer()->getParameter('database_driver').'" is not installed.';
}
$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 = [];
$rows[] = [$label, $status, $help];
foreach ($this->functionExists as $functionRequired) {
@ -474,7 +456,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'])) {

View File

@ -357,7 +357,7 @@ class EntryController extends Controller
}
/**
* Changes starred status for an entry.
* Changes favorite status for an entry.
*
* @param Request $request
* @param Entry $entry

View File

@ -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 = ',')
{

View File

@ -21,9 +21,7 @@ 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;

View File

@ -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
*/

View File

@ -52,7 +52,6 @@ body {
body.login main {
padding: 0;
min-height: 100vh;
}
.border-bottom {
@ -207,10 +206,6 @@ nav input {
display: none;
}
.input-field.nav-panel-add, .input-field.nav-panel-add form {
height: 100%;
}
/* ==========================================================================
2 = Side-nav
========================================================================== */
@ -290,12 +285,6 @@ 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 {

View File

@ -1,103 +0,0 @@
/*
* 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);
});
});

View File

@ -1 +0,0 @@
!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)})});

View File

@ -144,8 +144,6 @@ 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">&lt;</small> 1 min'
reading_time_minutes_short: '%readingTime% min'
reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min'
original_article: 'original'
toogle_as_read: 'Marker som læst'
toogle_as_star: 'Skift favoritstatus'
@ -178,7 +176,7 @@ entry:
back_to_homepage: 'Tilbage'
set_as_read: 'Marker som læst'
# set_as_unread: 'Mark as unread'
set_as_starred: 'Marker som favorit'
set_as_favorite: 'Marker som favorit'
view_original_article: 'Originalartikel'
# re_fetch_content: 'Re-fetch content'
delete: 'Slet'
@ -193,7 +191,6 @@ 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'

View File

@ -144,8 +144,6 @@ 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">&lt;</small> 1 min'
reading_time_minutes_short: '%readingTime% min'
reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min'
original_article: 'original'
toogle_as_read: 'Gelesen-Status ändern'
toogle_as_star: 'Favoriten-Status ändern'
@ -178,7 +176,7 @@ entry:
back_to_homepage: 'Zurück'
set_as_read: 'Als gelesen markieren'
set_as_unread: 'Als ungelesen markieren'
set_as_starred: 'Favorisieren'
set_as_favorite: 'Favorisieren'
view_original_article: 'Original-Artikel'
re_fetch_content: 'Inhalt neu laden'
delete: 'Löschen'
@ -193,7 +191,6 @@ 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'

View File

@ -144,11 +144,9 @@ 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">&lt;</small> 1 min'
reading_time_minutes_short: '%readingTime% min'
reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min'
original_article: 'original'
toogle_as_read: 'Toggle mark as read'
toogle_as_star: 'Toggle starred'
toogle_as_star: 'Toggle favorite'
delete: 'Delete'
export_title: 'Export'
filters:
@ -178,7 +176,7 @@ entry:
back_to_homepage: 'Back'
set_as_read: 'Mark as read'
set_as_unread: 'Mark as unread'
set_as_starred: 'Toggle starred'
set_as_favorite: 'Favorite'
view_original_article: 'Original article'
re_fetch_content: 'Re-fetch content'
delete: 'Delete'
@ -193,7 +191,6 @@ 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'

View File

@ -144,8 +144,6 @@ 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">&lt;</small> 1 min'
reading_time_minutes_short: '%readingTime% min'
reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min'
original_article: 'original'
toogle_as_read: 'Marcar como leído/ no leído'
toogle_as_star: 'Marcar como favorito/ no favorito'
@ -178,7 +176,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_starred: 'Marcar como favorito'
set_as_favorite: 'Marcar como favorito'
view_original_article: 'Artículo original'
re_fetch_content: 'Redescargar el contenido'
delete: 'Suprimir'
@ -193,7 +191,6 @@ 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'

View File

@ -144,8 +144,6 @@ entry:
reading_time: 'زمان تخمینی برای خواندن'
reading_time_minutes: 'زمان تخمینی برای خواندن: %readingTime% min'
reading_time_less_one_minute: 'زمان تخمینی برای خواندن: <small class="inferieur">&lt;</small> 1 min'
reading_time_minutes_short: '%readingTime% min'
reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min'
original_article: 'original'
toogle_as_read: 'خوانده‌شده/خوانده‌نشده'
toogle_as_star: 'برگزیده/نابرگزیده'
@ -178,7 +176,7 @@ entry:
back_to_homepage: 'بازگشت'
set_as_read: 'خوانده‌شده'
set_as_unread: 'به عنوان خوانده‌نشده علامت بزن'
set_as_starred: 'برگزیده'
set_as_favorite: 'برگزیده'
view_original_article: 'مقالهٔ اصلی'
re_fetch_content: 'مقاله‌ها را دوباره دریافت کن'
delete: 'پاک کردن'
@ -193,7 +191,6 @@ entry:
edit_title: 'ویرایش عنوان'
original_article: 'اصلی'
annotations_on_the_entry: '{0} بدون حاشیه|{1} یک حاشیه|]1,Inf[ %nbحاشیه% annotations'
created_at: 'زمان ساخت'
new:
page_title: 'ذخیرهٔ مقالهٔ تازه'
placeholder: 'http://website.com'

View File

@ -144,8 +144,6 @@ 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">&lt;</small> 1 min'
reading_time_minutes_short: '%readingTime% min'
reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min'
original_article: 'original'
toogle_as_read: 'Marquer comme lu/non lu'
toogle_as_star: 'Marquer comme favori'
@ -178,7 +176,7 @@ entry:
back_to_homepage: 'Retour'
set_as_read: 'Marquer comme lu'
set_as_unread: 'Marquer comme non lu'
set_as_starred: 'Mettre en favori'
set_as_favorite: 'Mettre en favori'
view_original_article: 'Article original'
re_fetch_content: 'Recharger le contenu'
delete: 'Supprimer'
@ -193,7 +191,6 @@ 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'

View File

@ -144,8 +144,6 @@ 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">&lt;</small> 1 min'
reading_time_minutes_short: '%readingTime% min'
reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min'
original_article: 'originale'
toogle_as_read: 'Segna come da leggere'
toogle_as_star: 'Segna come non preferito'
@ -177,7 +175,7 @@ entry:
back_to_homepage: 'Indietro'
set_as_read: 'Segna come già letto'
set_as_unread: 'Segna come da leggere'
set_as_starred: 'Segna come preferito'
set_as_favorite: 'Segna come preferito'
view_original_article: 'Contenuto originale'
re_fetch_content: 'Ri-ottieni pagina'
delete: 'Elimina'
@ -192,7 +190,6 @@ 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'

View File

@ -144,8 +144,6 @@ 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">&lt;</small> 1 min'
reading_time_minutes_short: '%readingTime% min'
reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min'
original_article: 'original'
toogle_as_read: 'Marcar coma legit/pas legit'
toogle_as_star: 'Marcar coma favorit'
@ -178,7 +176,7 @@ entry:
back_to_homepage: 'Tornar'
set_as_read: 'Marcar coma legit'
set_as_unread: 'Marcar coma pas legit'
set_as_starred: 'Metre en favori'
set_as_favorite: 'Metre en favori'
view_original_article: 'Article original'
re_fetch_content: 'Tornar cargar lo contengut'
delete: 'Suprimir'
@ -193,7 +191,6 @@ 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'

View File

@ -144,8 +144,6 @@ 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">&lt;</small> 1 min'
reading_time_minutes_short: '%readingTime% min'
reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min'
original_article: 'oryginał'
toogle_as_read: 'Oznacz jako przeczytane'
toogle_as_star: 'Oznacz jako ulubione'
@ -178,7 +176,7 @@ entry:
back_to_homepage: 'Cofnij'
set_as_read: 'Oznacz jako przeczytane'
set_as_unread: 'Oznacz jako nieprzeczytane'
set_as_starred: 'Ulubione'
set_as_favorite: 'Ulubione'
view_original_article: 'Oryginalny artykuł'
re_fetch_content: 'Pobierz ponownie treść'
delete: 'Usuń'
@ -193,7 +191,6 @@ 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'

View File

@ -144,8 +144,6 @@ 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">&lt;</small> 1 min'
reading_time_minutes_short: '%readingTime% min'
reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min'
original_article: 'original'
toogle_as_read: 'Comută marcat ca citit'
toogle_as_star: 'Comută marcat ca favorit'
@ -178,7 +176,7 @@ entry:
back_to_homepage: 'Înapoi'
set_as_read: 'Marchează ca citit'
# set_as_unread: 'Mark as unread'
set_as_starred: 'Favorit'
set_as_favorite: 'Favorit'
view_original_article: 'Articol original'
# re_fetch_content: 'Re-fetch content'
delete: 'Șterge'
@ -193,7 +191,6 @@ 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'

View File

@ -144,8 +144,6 @@ 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">&lt;</small> 1 min'
reading_time_minutes_short: '%readingTime% min'
reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min'
original_article: 'orijinal'
toogle_as_read: 'Okundu/okunmadı olarak işaretle'
toogle_as_star: 'Favorilere ekle/çıkar'
@ -178,7 +176,7 @@ entry:
back_to_homepage: 'Back'
set_as_read: 'Okundu olarak işaretle'
set_as_unread: 'Okunmadı olarak işaretle'
set_as_starred: 'Favorilere ekle/çıkar'
set_as_favorite: 'Favorilere ekle/çıkar'
view_original_article: 'Orijinal makale'
re_fetch_content: 'İçeriği yenile'
delete: 'Sil'
@ -193,7 +191,6 @@ 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'

View File

@ -134,8 +134,7 @@
</fieldset>
{% endif %}
{{ form_widget(form.user._token) }}
{{ form_widget(form.user.save) }}
{{ form_rest(form.user) }}
</form>
<h2>{{ 'config.tab_menu.password'|trans }}</h2>

View File

@ -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_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 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 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,19 +29,6 @@
<li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&amp;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">
@ -85,7 +72,7 @@
$("body").css("cursor", "auto");
});*/
// toggle starred property of current article
// toggle favorite property of current article
/* $('#setFav').click(function(){
$("body").css("cursor", "wait");
$.ajax( { url: '{{ path('star_entry', { 'id': entry.id }) }}' }).done(

View File

@ -158,7 +158,7 @@
{% endif %}
{{ form_widget(form.user.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
{{ form_widget(form.user._token) }}
{{ form_rest(form.user) }}
</form>
</div>

View File

@ -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 dot-ellipsis dot-resize-update"><a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title|raw }}">{{ entry.title|striptags|raw }}</a></span>
<span class="card-title"><a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title|raw }}">{{ entry.title|striptags|slice(0, 42)|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-toggle-star-outline{% else %}mdi-toggle-star{% 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-action-favorite-outline{% else %}mdi-action-favorite{% 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>

View File

@ -24,8 +24,8 @@
</a>
</li>
<li>
<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 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>
</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_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 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>
<div class="collapsible-body"></div>
</li>
@ -193,15 +193,6 @@
<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">

View File

@ -11,7 +11,6 @@
{% 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 %}

View File

@ -1,47 +0,0 @@
<?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;
}
}
}

View File

@ -2,6 +2,7 @@
namespace Wallabag\ImportBundle\Import;
use Psr\Log\LoggerInterface;
use Psr\Log\NullLogger;
use Doctrine\ORM\EntityManager;
use GuzzleHttp\Client;
@ -11,9 +12,12 @@ use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\CoreBundle\Helper\ContentProxy;
use Craue\ConfigBundle\Util\Config;
class PocketImport extends AbstractImport
class PocketImport implements ImportInterface
{
private $user;
private $em;
private $contentProxy;
private $logger;
private $client;
private $consumerKey;
private $skippedEntries = 0;
@ -30,6 +34,11 @@ class PocketImport extends AbstractImport
$this->logger = new NullLogger();
}
public function setLogger(LoggerInterface $logger)
{
$this->logger = $logger;
}
/**
* {@inheritdoc}
*/
@ -210,20 +219,14 @@ class PocketImport extends AbstractImport
}
$entry = new Entry($this->user);
$entry = $this->fetchContent($entry, $url);
// jump to next entry in case of problem while getting content
if (false === $entry) {
++$this->skippedEntries;
continue;
}
$entry = $this->contentProxy->updateEntry($entry, $url);
// 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 starred
// 0 or 1 - 1 If the item is favorited
if ($pocketEntry['favorite'] == 1) {
$entry->setStarred(true);
}

View File

@ -2,12 +2,19 @@
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 extends AbstractImport
abstract class WallabagImport implements ImportInterface
{
protected $user;
protected $em;
protected $logger;
protected $contentProxy;
protected $skippedEntries = 0;
protected $importedEntries = 0;
protected $filepath;
@ -28,6 +35,18 @@ abstract class WallabagImport extends AbstractImport
'',
];
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.
@ -140,18 +159,12 @@ abstract class WallabagImport extends AbstractImport
$data = $this->prepareEntry($importedEntry, $this->markAsRead);
$entry = $this->fetchContent(
$entry = $this->contentProxy->updateEntry(
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,

View File

@ -1,11 +0,0 @@
# 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"

View File

@ -39,7 +39,7 @@
<i class="mdi-content-send right"></i>
</button>
</div>
<div class="row center">
<div class="center">
<a href="{{ path('fos_user_resetting_request') }}">{{ 'security.login.forgot_password'|trans }}</a>
</div>
</form>

View File

@ -28,32 +28,16 @@ class InstallCommandTest extends WallabagCoreTestCase
*
* http://stackoverflow.com/a/14374832/569101
*/
$this->markTestSkipped('PostgreSQL spotted: can\'t find a good way to drop current database, skipping.');
$this->markTestSkipped('PostgreSQL spotted: can 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);
$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([
$code = $application->run(new ArrayInput([
'command' => 'doctrine:fixtures:load',
'--no-interaction' => true,
'--env' => 'test',
@ -127,12 +111,6 @@ 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());

View File

@ -390,55 +390,4 @@ 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());
}
}

View File

@ -143,44 +143,4 @@ 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());
}
}

View File

@ -681,17 +681,10 @@ 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 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.'
\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.'
);
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(