forked from wallabag/wallabag
Compare commits
61 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7189067d38 | |||
| de286dc3cd | |||
| 41e79f9792 | |||
| 637dc4bb21 | |||
| a83fbf4504 | |||
| d098cb04a8 | |||
| 574d101561 | |||
| 386d1120c3 | |||
| 15e9483323 | |||
| c5dede8445 | |||
| e9497f6fc0 | |||
| c71d83b60c | |||
| f642863ff2 | |||
| 69c21157ba | |||
| 9b2fe57eb6 | |||
| b351d0494b | |||
| 6d0db75328 | |||
| 615fc1d237 | |||
| 61fcbe9f57 | |||
| eaec84fcd3 | |||
| 834efe84ac | |||
| 466c0c6684 | |||
| 661d5ae0cf | |||
| dd4997d705 | |||
| c29747357a | |||
| 0135c98b24 | |||
| cea846d407 | |||
| 54ecbb41d6 | |||
| 19a7ea2a44 | |||
| 2504fe46ed | |||
| 82dbd47391 | |||
| 7ead8a0d9d | |||
| cb48a569e0 | |||
| 5c3ca4fe9e | |||
| 808f541ea9 | |||
| 7a2157b8d7 | |||
| b00a89e08f | |||
| 015e4284f0 | |||
| f652f41dab | |||
| 7704ef5d3f | |||
| e969c2a7ef | |||
| 5b732257db | |||
| 0c608f1183 | |||
| 77b9db87b8 | |||
| 6a986910b6 | |||
| c6cbe75b2e | |||
| 9479ae834c | |||
| c802181126 | |||
| 8687bcd0c9 | |||
| 4b0b77e4d7 | |||
| e543d03fd7 | |||
| 6d3a3cfcda | |||
| 4a749cad8d | |||
| 3a7df76013 | |||
| af47742dd0 | |||
| 52d806ea6b | |||
| 48bb9675c1 | |||
| 6b82630838 | |||
| b5cf84bdf6 | |||
| 0bb5669cf6 | |||
| e71c376db9 |
2
.github/ISSUE_TEMPLATE.md
vendored
2
.github/ISSUE_TEMPLATE.md
vendored
@ -6,7 +6,7 @@ Remember, this is _not_ a place to ask questions. For that, go to http://gitter.
|
||||
### Environment
|
||||
|
||||
* wallabag version (or git revision) that exhibits the issue:
|
||||
* How did you install wallabag? Via `composer create-project` or by downloading the package?
|
||||
* How did you install wallabag? Via `git clone` or by downloading the package?
|
||||
* Last wallabag version that did not exhibit the issue (if applicable):
|
||||
* php version:
|
||||
* OS:
|
||||
|
||||
@ -54,8 +54,8 @@ before_install:
|
||||
- if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
|
||||
|
||||
script:
|
||||
- travis_wait composer install --no-interaction --no-progress --prefer-dist -o
|
||||
- travis_wait composer update --no-interaction --no-progress
|
||||
- ant prepare-$DB
|
||||
- bin/phpunit -v
|
||||
- if [ "$CS_FIXER" = "run" ]; then php bin/php-cs-fixer fix src/ --verbose --dry-run ; fi;
|
||||
- if [ "$VALIDATE_TRANSLATION_FILE" = "run" ]; then php bin/console lint:yaml src/Wallabag/CoreBundle/Resources/translations ; fi;
|
||||
- if [ "$VALIDATE_TRANSLATION_FILE" = "run" ]; then php bin/console lint:yaml src/Wallabag/CoreBundle/Resources/translations -v ; fi;
|
||||
|
||||
64
CHANGELOG.md
Normal file
64
CHANGELOG.md
Normal file
@ -0,0 +1,64 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## [2.0.1] - 2016-04-11
|
||||
### Added
|
||||
|
||||
- [Documentation about importing large file](http://doc.wallabag.org/en/v2/user/installation.html#installing-on-nginx) into nginx. (Nicolas Lœuillet)
|
||||
- [Documentation about wallabag API](http://doc.wallabag.org/en/v2/developer/api.html) (Nicolas Lœuillet)
|
||||
- [#1861](https://github.com/wallabag/wallabag/pull/1861) Round estimated time and add reading speed for Baggy (Nicolas Lœuillet)
|
||||
- [Documentation about wallabag v1 CLI import](http://doc.wallabag.org/en/v2/user/migration.html#import-via-command-line-interface-cli) (Nicolas Lœuillet)
|
||||
- [Add migrate link](http://doc.wallabag.org/en/v2/user/migration.html) in documentation (Nicolas Lœuillet)
|
||||
|
||||
### Changed
|
||||
|
||||
- [#1823](https://github.com/wallabag/wallabag/pull/1823) Persian translation (Masoud Abkenar)
|
||||
- [#1901](https://github.com/wallabag/wallabag/pull/1901) Spanish translation (Jeremy Benoist)
|
||||
- [#1879](https://github.com/wallabag/wallabag/pull/1879) Move tag form in Material theme (Nicolas Lœuillet)
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#1903](https://github.com/wallabag/wallabag/pull/1903) Force server version to avoid connection error (Jeremy Benoist)
|
||||
- [#1887](https://github.com/wallabag/wallabag/pull/1887) Fix duplicate article when added via the bookmarklet (Nicolas Lœuillet)
|
||||
- [#1895](https://github.com/wallabag/wallabag/pull/1895) API: All the entries are fetched via GET /api/entries (Nicolas Lœuillet)
|
||||
- [#1898](https://github.com/wallabag/wallabag/pull/1898) Fix estimated reading time in material view #1893 (Nicolas Lœuillet)
|
||||
- [#1896](https://github.com/wallabag/wallabag/pull/1896) remove download_picture setting and manage show_printlink in material theme #1867 (Nicolas Lœuillet)
|
||||
- [#1894](https://github.com/wallabag/wallabag/pull/1894) Fix documentation link in developer page (Nicolas Lœuillet)
|
||||
- [#1891](https://github.com/wallabag/wallabag/pull/1891) Fix typo on configuration page (Nicolas Lœuillet)
|
||||
- [#1884](https://github.com/wallabag/wallabag/pull/1884) Change the installation method in issue template (Nicolas Lœuillet)
|
||||
- [#1844](https://github.com/wallabag/wallabag/pull/1844) Lock ocramius/proxy-manager (Jeremy Benoist)
|
||||
- [#1840](https://github.com/wallabag/wallabag/pull/1840) Fix Archive page title translation (Nicolas Lœuillet)
|
||||
- [#1801](https://github.com/wallabag/wallabag/pull/1804) Force user-agent for iansommerville.com (Jeremy Benoist)
|
||||
|
||||
### Removed
|
||||
|
||||
- [#1900](https://github.com/wallabag/wallabag/pull/1900) Remove empty portugese documentation (Nicolas Lœuillet)
|
||||
- [#1868](https://github.com/wallabag/wallabag/pull/1868) Remove keyboard shortcut and add tagging rule panel in baggy (Nicolas Lœuillet)
|
||||
- [#1824](https://github.com/wallabag/wallabag/pull/1824) Remove SMTP configuration environment overrides (Mathieu Bruyen)
|
||||
|
||||
## [2.0.0] - 2016-04-03
|
||||
### Added
|
||||
|
||||
* save an article, read it, favorite it, archive it. (Hopefully)
|
||||
* annotations: In each article you read, you can write annotations. ([read the doc](http://doc.wallabag.org/en/v2/user/annotations.html))
|
||||
* filter entries by reading time, domain name, creation date, status, etc.
|
||||
* assign tags to entries
|
||||
* edit article titles
|
||||
* a REST API ([you can have a look to the documentation](http://v2.wallabag.org/api/doc))
|
||||
* authorization via oAuth2
|
||||
* a new default theme, called `material`
|
||||
* RSS feeds (with ability to limit number of articles)
|
||||
* create a new account from the config page (for super admin only)
|
||||
* recover passwords from login page (you have to fill your email on config page)
|
||||
* picture preview, if available, is displayed for each entry
|
||||
* Public registration
|
||||
* migration from wallabag v1/v2 (based on JSON export) ([read the doc](http://doc.wallabag.org/en/v2/user/import.html))
|
||||
* migration from Pocket (it works, but we need to implement asynchronous import: if you have too many articles, it can fail) ([read the doc](http://doc.wallabag.org/en/v2/user/import.html))
|
||||
* exports in many formats (PDF, JSON, EPUB, MOBI, XML, CSV and TXT).
|
||||
* 2-Factor authentication via email ([read the doc](http://doc.wallabag.org/en/v2/user/configuration.html#two-factor-authentication))
|
||||
* Tagging rule: create a rule to automatically assign tags to entries! ([read the doc](http://doc.wallabag.org/en/v2/user/configuration.html#tagging-rules))
|
||||
* Occitan, German, French, Turkish, Persian, Romanian, Polish, Danish, Spanish and English translations
|
||||
* Quickstart for beginners (when you don't have any entries)
|
||||
* Internal settings for administrator (the account created during installation)
|
||||
* For 3rd apps developers, a developer page is available to create API token
|
||||
@ -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.0
|
||||
git checkout 2.0.1
|
||||
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
||||
php bin/console wallabag:install --env=prod
|
||||
php bin/console server:run --env=prod
|
||||
|
||||
@ -28,7 +28,7 @@ framework:
|
||||
assets: ~
|
||||
|
||||
wallabag_core:
|
||||
version: 2.0.0
|
||||
version: 2.0.1
|
||||
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
|
||||
languages:
|
||||
en: 'English'
|
||||
@ -82,6 +82,7 @@ doctrine:
|
||||
password: "%database_password%"
|
||||
charset: UTF8
|
||||
path: "%database_path%"
|
||||
server_version: 5.6
|
||||
|
||||
orm:
|
||||
auto_generate_proxy_classes: "%kernel.debug%"
|
||||
|
||||
@ -80,7 +80,8 @@
|
||||
"paragonie/random_compat": "~1.0",
|
||||
"craue/config-bundle": "~1.4",
|
||||
"mnapoli/piwik-twig-extension": "^1.0",
|
||||
"lexik/maintenance-bundle": "~2.1"
|
||||
"lexik/maintenance-bundle": "~2.1",
|
||||
"ocramius/proxy-manager": "1.*"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/doctrine-fixtures-bundle": "~2.2",
|
||||
@ -90,11 +91,8 @@
|
||||
"fabpot/php-cs-fixer": "~1.9"
|
||||
},
|
||||
"scripts": {
|
||||
"build-parameters": [
|
||||
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters"
|
||||
],
|
||||
"post-cmd": [
|
||||
"@build-parameters",
|
||||
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
|
||||
@ -116,13 +114,7 @@
|
||||
"symfony-tests-dir": "tests",
|
||||
"symfony-assets-install": "relative",
|
||||
"incenteev-parameters": {
|
||||
"file": "app/config/parameters.yml",
|
||||
"env-map": {
|
||||
"mailer_host": "WALLABAG_MAILER_HOST",
|
||||
"mailer_user": "WALLABAG_MAILER_USER",
|
||||
"mailer_password": "WALLABAG_MAILER_PASSWORD",
|
||||
"secret": "WALLABAG_SECRET"
|
||||
}
|
||||
"file": "app/config/parameters.yml"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
||||
6042
composer.lock
generated
Normal file
6042
composer.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
235
docs/en/developer/api.rst
Normal file
235
docs/en/developer/api.rst
Normal file
File diff suppressed because one or more lines are too long
@ -24,6 +24,7 @@ The main documentation for this application is organized into a couple sections:
|
||||
:caption: User documentation
|
||||
|
||||
user/installation
|
||||
user/migration
|
||||
user/create_account
|
||||
user/login
|
||||
user/configuration
|
||||
@ -41,7 +42,7 @@ The main documentation for this application is organized into a couple sections:
|
||||
:maxdepth: 2
|
||||
:caption: Developer documentation
|
||||
|
||||
developer/api
|
||||
developer/docker
|
||||
developer/translate
|
||||
developer/maintenance
|
||||
developer/releasing
|
||||
|
||||
@ -50,7 +50,7 @@ To install wallabag itself, you must run these two commands:
|
||||
|
||||
git clone https://github.com/wallabag/wallabag.git
|
||||
cd wallabag
|
||||
git checkout 2.0.0
|
||||
git checkout 2.0.1
|
||||
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
||||
php bin/console wallabag:install --env=prod
|
||||
|
||||
@ -62,6 +62,11 @@ To start php's build-in server and test if everything did install correctly, you
|
||||
|
||||
And access wallabag at http://yourserverip:8000
|
||||
|
||||
.. note::
|
||||
|
||||
To define parameters with environment variables, you have to set these variables with ``SYMFONY__`` prefix. For example, ``SYMFONY__DATABASE_DRIVER``. You can have a look to the `Symfony documentation
|
||||
<http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__.
|
||||
|
||||
Installing on Apache
|
||||
--------------------
|
||||
|
||||
@ -146,3 +151,7 @@ Assuming you install wallabag in the /var/www/wallabag folder, here's the recipe
|
||||
}
|
||||
|
||||
After reloading or restarting nginx, you should now be able to access wallabag at http://domain.tld.
|
||||
|
||||
.. note::
|
||||
|
||||
When you want to import large file into wallabag, you need to add this line in your nginx configuration ``client_max_body_size XM; # allows file uploads up to X megabytes``.
|
||||
|
||||
@ -24,6 +24,28 @@ After creating an user account on your new wallabag v2 instance, you must head o
|
||||
:alt: Import from wallabag v1
|
||||
:align: center
|
||||
|
||||
Import via command-line interface (CLI)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you have a CLI access on your web server, you can execute this command to import your wallabag v1 export:
|
||||
|
||||
::
|
||||
|
||||
bin/console wallabag:import-v1 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
|
||||
|
||||
Please replace values:
|
||||
|
||||
* ``1`` is the user identifier in database (The ID of the first user created on wallabag is 1)
|
||||
* ``~/Downloads/wallabag-export-1-2016-04-05.json`` is the path of your wallabag v1 export
|
||||
|
||||
You'll have this in return:
|
||||
|
||||
::
|
||||
|
||||
Start : 05-04-2016 11:36:07 ---
|
||||
403 imported
|
||||
0 already saved
|
||||
End : 05-04-2016 11:36:09 ---
|
||||
|
||||
From wallabag 2.x
|
||||
-----------------
|
||||
|
||||
235
docs/fr/developer/api.rst
Normal file
235
docs/fr/developer/api.rst
Normal file
File diff suppressed because one or more lines are too long
@ -25,6 +25,7 @@ La documentation principale de cette application est découpée en plusieurs sec
|
||||
:caption: Documentation utilisateur
|
||||
|
||||
user/installation
|
||||
user/migration
|
||||
user/create_account
|
||||
user/login
|
||||
user/configuration
|
||||
@ -42,6 +43,7 @@ La documentation principale de cette application est découpée en plusieurs sec
|
||||
:maxdepth: 2
|
||||
:caption: Documentation développeur
|
||||
|
||||
developer/api
|
||||
developer/docker
|
||||
developer/translate
|
||||
developer/maintenance
|
||||
|
||||
@ -48,7 +48,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.0
|
||||
git checkout 2.0.1
|
||||
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
||||
php bin/console wallabag:install --env=prod
|
||||
|
||||
@ -60,6 +60,11 @@ Pour démarrer le serveur interne à php et vérifier que tout s'est installé c
|
||||
|
||||
Et accéder wallabag à l'adresse http://lipdevotreserveur:8000
|
||||
|
||||
.. note::
|
||||
|
||||
Pour définir des paramètres via des variables d'environnement, vous pouvez les spécifier avec le préfixe ``SYMFONY__``. Par exemple, ``SYMFONY__DATABASE_DRIVER``. Vous pouvez lire `documentation Symfony
|
||||
<http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__ pour en savoir plus.
|
||||
|
||||
Installation avec Apache
|
||||
------------------------
|
||||
|
||||
@ -144,3 +149,7 @@ En imaginant que vous vouliez installer wallabag dans le dossier /var/www/wallab
|
||||
}
|
||||
|
||||
Après que vous ayez rechargé/redémarré Nginx, vous devriez pouvoir avoir accès à wallabag à l'adresse http://domain.tld.
|
||||
|
||||
.. note::
|
||||
|
||||
Si vous voulez importer un fichier important dans wallabag, vous devez ajouter cette ligne dans votre configuration nginx ``client_max_body_size XM; # allows file uploads up to X megabytes``.
|
||||
|
||||
@ -24,6 +24,28 @@ Une fois que vous avez créé un compte utilisateur sur votre nouvelle instance
|
||||
:alt: Import depuis wallabag v1
|
||||
:align: center
|
||||
|
||||
Import via via la ligne de commande (CLI)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Si vous avez accès à la ligne de commandes de votre serveur web, vous pouvez exécuter cette commande pour import votre fichier wallabag v1 :
|
||||
|
||||
::
|
||||
|
||||
bin/console wallabag:import-v1 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
|
||||
|
||||
Remplacez les valeurs :
|
||||
|
||||
* ``1`` est l'identifiant de votre utilisateur en base (l'ID de votre premier utilisateur créé sur wallabag est 1)
|
||||
* ``~/Downloads/wallabag-export-1-2016-04-05.json`` est le chemin de votre export wallabag v1
|
||||
|
||||
Vous obtiendrez :
|
||||
|
||||
::
|
||||
|
||||
Start : 05-04-2016 11:36:07 ---
|
||||
403 imported
|
||||
0 already saved
|
||||
End : 05-04-2016 11:36:09 ---
|
||||
|
||||
Depuis wallabag 2.x
|
||||
-------------------
|
||||
|
||||
@ -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-pt'
|
||||
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 = 'wallabagfrdoc'
|
||||
|
||||
latex_elements = {
|
||||
}
|
||||
|
||||
latex_documents = [
|
||||
('index', 'wallabag-pt.tex', u'wallabag Documentation',
|
||||
u'Nicolas Lœuillet', 'manual'),
|
||||
]
|
||||
|
||||
man_pages = [
|
||||
('index', 'wallabagpt', 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")
|
||||
@ -1,36 +0,0 @@
|
||||
wallabag documentation
|
||||
======================
|
||||
|
||||
.. image:: ../img/wallabag.png
|
||||
:alt: wallabag logo
|
||||
:align: center
|
||||
|
||||
**wallabag** É uma aplicação "leia mais tarde": Ele salva páginas da web mantendo apenas o conteúdo. Elementos como ícones de navegação ou propaganda são deletedos.
|
||||
|
||||
A documentação principal desta aplicação é organizada em duas seções:
|
||||
|
||||
* :ref:`doc-usuario`
|
||||
* :ref:`doc-desenvolvedor`
|
||||
|
||||
.. _user-docs:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Documentação do usuário
|
||||
|
||||
user/criar_conta
|
||||
user/login
|
||||
user/configuração
|
||||
user/primeiro_artigo
|
||||
user/importar
|
||||
user/baixar_artigos
|
||||
user/filtros
|
||||
user/tags
|
||||
|
||||
.. _dev-docs:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Documentação do desenvolvedor
|
||||
|
||||
developer/docker
|
||||
@ -1,2 +0,0 @@
|
||||
Sphinx>=1.3.0,<1.4.0
|
||||
guzzle_sphinx_theme>=0.7.0,<0.8.0
|
||||
@ -43,8 +43,8 @@ class WallabagRestController extends FOSRestController
|
||||
{
|
||||
$this->validateAuthentication();
|
||||
|
||||
$isArchived = (int) $request->query->get('archive');
|
||||
$isStarred = (int) $request->query->get('starred');
|
||||
$isArchived = (null === $request->query->get('archive')) ? null : (bool) $request->query->get('archive');
|
||||
$isStarred = (null === $request->query->get('starred')) ? null : (bool) $request->query->get('starred');
|
||||
$sort = $request->query->get('sort', 'created');
|
||||
$order = $request->query->get('order', 'desc');
|
||||
$page = (int) $request->query->get('page', 1);
|
||||
@ -52,7 +52,7 @@ class WallabagRestController extends FOSRestController
|
||||
|
||||
$pager = $this->getDoctrine()
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->findEntries($this->getUser()->getId(), (bool) $isArchived, (bool) $isStarred, $sort, $order);
|
||||
->findEntries($this->getUser()->getId(), $isArchived, $isStarred, $sort, $order);
|
||||
|
||||
$pager->setCurrentPage($page);
|
||||
$pager->setMaxPerPage($perPage);
|
||||
|
||||
@ -60,6 +60,7 @@ class InstallCommand extends ContainerAwareCommand
|
||||
->checkRequirements()
|
||||
->setupDatabase()
|
||||
->setupAdmin()
|
||||
->setupConfig()
|
||||
->setupAsset()
|
||||
;
|
||||
|
||||
@ -69,7 +70,7 @@ class InstallCommand extends ContainerAwareCommand
|
||||
|
||||
protected function checkRequirements()
|
||||
{
|
||||
$this->defaultOutput->writeln('<info><comment>Step 1 of 4.</comment> Checking system requirements.</info>');
|
||||
$this->defaultOutput->writeln('<info><comment>Step 1 of 5.</comment> Checking system requirements.</info>');
|
||||
|
||||
$fulfilled = true;
|
||||
|
||||
@ -119,7 +120,7 @@ class InstallCommand extends ContainerAwareCommand
|
||||
|
||||
protected function setupDatabase()
|
||||
{
|
||||
$this->defaultOutput->writeln('<info><comment>Step 2 of 4.</comment> Setting up database.</info>');
|
||||
$this->defaultOutput->writeln('<info><comment>Step 2 of 5.</comment> Setting up database.</info>');
|
||||
|
||||
// user want to reset everything? Don't care about what is already here
|
||||
if (true === $this->defaultInput->getOption('reset')) {
|
||||
@ -190,7 +191,7 @@ class InstallCommand extends ContainerAwareCommand
|
||||
|
||||
protected function setupAdmin()
|
||||
{
|
||||
$this->defaultOutput->writeln('<info><comment>Step 3 of 4.</comment> Administration setup.</info>');
|
||||
$this->defaultOutput->writeln('<info><comment>Step 3 of 5.</comment> Administration setup.</info>');
|
||||
|
||||
$questionHelper = $this->getHelperSet()->get('question');
|
||||
$question = new ConfirmationQuestion('Would you like to create a new admin user (recommended) ? (Y/n)', true);
|
||||
@ -227,15 +228,20 @@ class InstallCommand extends ContainerAwareCommand
|
||||
|
||||
$em->persist($config);
|
||||
|
||||
$this->defaultOutput->writeln('');
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
protected function setupConfig()
|
||||
{
|
||||
$this->defaultOutput->writeln('<info><comment>Step 4 of 5.</comment> Config setup.</info>');
|
||||
$em = $this->getContainer()->get('doctrine.orm.entity_manager');
|
||||
|
||||
// cleanup before insert new stuff
|
||||
$em->createQuery('DELETE FROM CraueConfigBundle:Setting')->execute();
|
||||
|
||||
$settings = [
|
||||
[
|
||||
'name' => 'download_pictures',
|
||||
'value' => '1',
|
||||
'section' => 'entry',
|
||||
],
|
||||
[
|
||||
'name' => 'carrot',
|
||||
'value' => '1',
|
||||
@ -370,7 +376,7 @@ class InstallCommand extends ContainerAwareCommand
|
||||
|
||||
protected function setupAsset()
|
||||
{
|
||||
$this->defaultOutput->writeln('<info><comment>Step 4 of 4.</comment> Installing assets.</info>');
|
||||
$this->defaultOutput->writeln('<info><comment>Step 5 of 5.</comment> Installing assets.</info>');
|
||||
|
||||
$this
|
||||
->runCommand('assets:install')
|
||||
@ -460,7 +466,13 @@ class InstallCommand extends ContainerAwareCommand
|
||||
return false;
|
||||
}
|
||||
|
||||
return in_array($databaseName, $schemaManager->listDatabases());
|
||||
try {
|
||||
return in_array($databaseName, $schemaManager->listDatabases());
|
||||
} catch (\Doctrine\DBAL\Exception\ConnectionException $e) {
|
||||
// it means we weren't able to get database list, assume the database doesn't exist
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -49,8 +49,7 @@ class EntryController extends Controller
|
||||
$form->handleRequest($request);
|
||||
|
||||
if ($form->isValid()) {
|
||||
// check for existing entry, if it exists, redirect to it with a message
|
||||
$existingEntry = $this->get('wallabag_core.entry_repository')->findByUrlAndUserId($entry->getUrl(), $this->getUser()->getId());
|
||||
$existingEntry = $this->checkIfEntryAlreadyExists($entry);
|
||||
|
||||
if (false !== $existingEntry) {
|
||||
$this->get('session')->getFlashBag()->add(
|
||||
@ -86,7 +85,10 @@ class EntryController extends Controller
|
||||
{
|
||||
$entry = new Entry($this->getUser());
|
||||
$entry->setUrl($request->get('url'));
|
||||
$this->updateEntry($entry);
|
||||
|
||||
if (false === $this->checkIfEntryAlreadyExists($entry)) {
|
||||
$this->updateEntry($entry);
|
||||
}
|
||||
|
||||
return $this->redirect($this->generateUrl('homepage'));
|
||||
}
|
||||
@ -420,4 +422,16 @@ class EntryController extends Controller
|
||||
throw $this->createAccessDeniedException('You can not access this entry.');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check for existing entry, if it exists, redirect to it with a message.
|
||||
*
|
||||
* @param $entry
|
||||
*
|
||||
* @return array|bool
|
||||
*/
|
||||
private function checkIfEntryAlreadyExists($entry)
|
||||
{
|
||||
return $this->get('wallabag_core.entry_repository')->findByUrlAndUserId($entry->getUrl(), $this->getUser()->getId());
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,11 +15,6 @@ class LoadSettingData extends AbstractFixture implements OrderedFixtureInterface
|
||||
public function load(ObjectManager $manager)
|
||||
{
|
||||
$settings = [
|
||||
[
|
||||
'name' => 'download_pictures',
|
||||
'value' => '1',
|
||||
'section' => 'entry',
|
||||
],
|
||||
[
|
||||
'name' => 'carrot',
|
||||
'value' => '1',
|
||||
|
||||
@ -39,7 +39,22 @@ services:
|
||||
wallabag_core.graby:
|
||||
class: Graby\Graby
|
||||
arguments:
|
||||
- { error_message: "wallabag can't retrieve contents for this article. Please report this issue to us." }
|
||||
-
|
||||
error_message: "wallabag can't retrieve contents for this article. Please report this issue to us."
|
||||
http_client:
|
||||
user_agents:
|
||||
'lifehacker.com': 'PHP/5.2'
|
||||
'gawker.com': 'PHP/5.2'
|
||||
'deadspin.com': 'PHP/5.2'
|
||||
'kotaku.com': 'PHP/5.2'
|
||||
'jezebel.com': 'PHP/5.2'
|
||||
'io9.com': 'PHP/5.2'
|
||||
'jalopnik.com': 'PHP/5.2'
|
||||
'gizmodo.com': 'PHP/5.2'
|
||||
'.wikipedia.org': 'Mozilla/5.2'
|
||||
'.fok.nl': 'Googlebot/2.1'
|
||||
'getpocket.com': 'PHP/5.2'
|
||||
'iansommerville.com': 'PHP/5.2'
|
||||
calls:
|
||||
- [ setLogger, [ "@logger" ] ]
|
||||
tags:
|
||||
|
||||
@ -78,19 +78,6 @@ $.fn.ready(function() {
|
||||
event.preventDefault();
|
||||
});
|
||||
|
||||
/* ==========================================================================
|
||||
Keyboard gestion
|
||||
========================================================================== */
|
||||
|
||||
$(window).keydown(function(e){
|
||||
if ( ( e.target.tagName.toLowerCase() !== 'input' && e.keyCode == 83 ) || (e.keyCode == 27 && $bagitForm.is(':visible') ) ) {
|
||||
$bagit.removeClass("current");
|
||||
$("#bagit-arrow").removeClass("arrow-down");
|
||||
toggleSaveLinkForm();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
/* ==========================================================================
|
||||
Process all links inside an article
|
||||
========================================================================== */
|
||||
|
||||
@ -137,7 +137,7 @@ entry:
|
||||
page_titles:
|
||||
# unread: 'Unread entries'
|
||||
# starred: 'Starred entries'
|
||||
# archive: 'Archived entries'
|
||||
# archived: 'Archived entries'
|
||||
# filtered: 'Filtered entries'
|
||||
list:
|
||||
# number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
|
||||
@ -338,6 +338,7 @@ developer:
|
||||
# documentation: 'Documentation'
|
||||
# how_to_first_app: 'How to create my first application'
|
||||
# full_documentation: 'View full API documentation'
|
||||
# list_methods: 'List API methods'
|
||||
# clients:
|
||||
# title: 'Clients'
|
||||
# create_new: 'Create a new client'
|
||||
|
||||
@ -137,7 +137,7 @@ entry:
|
||||
page_titles:
|
||||
unread: 'Ungelesene Einträge'
|
||||
starred: 'Favorisierte Einträge'
|
||||
archive: 'Archivierte Einträge'
|
||||
archived: 'Archivierte Einträge'
|
||||
filtered: 'Gefilterte Einträge'
|
||||
list:
|
||||
number_on_the_page: '{0} Es gibt keine Einträge.|{1} Es gibt einen Eintrag.|]1,Inf[ Es gibt %count% Einträge.'
|
||||
@ -338,6 +338,7 @@ developer:
|
||||
documentation: 'Dokumentation'
|
||||
how_to_first_app: 'Wie erstelle ich meine erste Anwendung'
|
||||
full_documentation: 'Komplette API-Dokumentation einsehen'
|
||||
# list_methods: 'List API methods'
|
||||
clients:
|
||||
title: 'Clients'
|
||||
create_new: 'Neuen Client erstellen'
|
||||
|
||||
@ -137,7 +137,7 @@ entry:
|
||||
page_titles:
|
||||
unread: 'Unread entries'
|
||||
starred: 'Starred entries'
|
||||
archive: 'Archived entries'
|
||||
archived: 'Archived entries'
|
||||
filtered: 'Filtered entries'
|
||||
list:
|
||||
number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
|
||||
@ -176,7 +176,7 @@ entry:
|
||||
set_as_read: 'Mark as read'
|
||||
set_as_unread: 'Mark as unread'
|
||||
set_as_favorite: 'Favorite'
|
||||
view_original_article: 'Orignal article'
|
||||
view_original_article: 'Original article'
|
||||
re_fetch_content: 'Re-fetch content'
|
||||
delete: 'Delete'
|
||||
add_a_tag: 'Add a tag'
|
||||
@ -338,6 +338,7 @@ developer:
|
||||
documentation: 'Documentation'
|
||||
how_to_first_app: 'How to create my first application'
|
||||
full_documentation: 'View full API documentation'
|
||||
list_methods: 'List API methods'
|
||||
clients:
|
||||
title: 'Clients'
|
||||
create_new: 'Create a new client'
|
||||
|
||||
@ -19,9 +19,9 @@ menu:
|
||||
unread: 'Sin leer'
|
||||
starred: 'Favoritos'
|
||||
archive: 'Archivo'
|
||||
all_articles: 'Todos los artículos'
|
||||
all_articles: 'Todos artículos'
|
||||
config: 'Configuración'
|
||||
tags: 'Tags'
|
||||
tags: 'Etiquetas'
|
||||
internal_settings: 'Configuración interna'
|
||||
import: 'Importar'
|
||||
howto: 'Ayuda'
|
||||
@ -62,18 +62,18 @@ config:
|
||||
items_per_page_label: 'Número de artículos por página'
|
||||
language_label: 'Idioma'
|
||||
reading_speed:
|
||||
# label: 'Reading speed'
|
||||
# help_message: 'You can use online tools to estimate your reading speed:'
|
||||
# 100_word: 'I read ~100 words per minute'
|
||||
# 200_word: 'I read ~200 words per minute'
|
||||
# 300_word: 'I read ~300 words per minute'
|
||||
# 400_word: 'I read ~400 words per minute'
|
||||
label: 'Velocidad de leer'
|
||||
help_message: 'Se puede usar las técnicas para calcular su velocidad de leer:'
|
||||
100_word: 'Leo ~100 palabras por minuto'
|
||||
200_word: 'Leo ~200 palabras por minuto'
|
||||
300_word: 'Leo ~300 palabras por minuto'
|
||||
400_word: 'Leo ~400 palabras por minuto'
|
||||
form_rss:
|
||||
description: 'Los feeds RSS de wallabag permiten leer los artículos guardados con su lector RSS favorito. Necesita generar un token primero'
|
||||
token_label: 'RSS token'
|
||||
# no_token: 'No token'
|
||||
token_create: 'Crear token'
|
||||
token_reset: 'Resetear token'
|
||||
token_reset: 'Reiniciar token'
|
||||
rss_links: 'URL de su feed RSS'
|
||||
rss_link:
|
||||
unread: 'sin leer'
|
||||
@ -90,17 +90,17 @@ config:
|
||||
new_password_label: 'Nueva contraseña'
|
||||
repeat_new_password_label: 'Confirmar la nueva contraseña'
|
||||
form_rules:
|
||||
# if_label: 'if'
|
||||
# then_tag_as_label: 'then tag as'
|
||||
# delete_rule_label: 'delete'
|
||||
if_label: 'si'
|
||||
then_tag_as_label: 'Etiquete como'
|
||||
delete_rule_label: 'Borre'
|
||||
rule_label: 'Regla'
|
||||
tags_label: 'Tags'
|
||||
tags_label: 'Etiquetas'
|
||||
faq:
|
||||
title: 'FAQ'
|
||||
tagging_rules_definition_title: '¿Qué significa reglas de etiquetado autómaticas?'
|
||||
tagging_rules_definition_description: 'Son las reglas usadas por Wallabag para etiquetar automáticamente los nuevos artículos.<br />Cáda vez que un nuevo artículo es añadido, todas las reglas de etiquetado automáticas serán usadas para etiquetarlo, ayudandote a clasificar automáticamente los artículos.'
|
||||
tagging_rules_definition_description: 'Son las reglas usadas por Wallabag para etiquetar automáticamente los nuevos artículos.<br />Cada vez que un nuevo artículo sea añadido, todas las reglas de etiquetado automáticas serán usadas para etiquetarlo, ayudándole a clasificar automáticamente los artículos.'
|
||||
how_to_use_them_title: '¿Cómo se utilizan?'
|
||||
# how_to_use_them_description: 'Let assume you want to tag new entries as « <i>short reading</i> » when the reading time is inferior to 3 minutes.<br />In that case, you should put « readingTime <= 3 » in the <i>Rule</i> field and « <i>short reading</i> » in the <i>Tags</i> field.<br />Several tags can added simultaneously by separating them by a comma: « <i>short reading, must read</i> »<br />Complex rules can be written by using predefined operators: if « <i>readingTime >= 5 AND domainName = "github.com"</i> » then tag as « <i>long reading, github </i> »'
|
||||
how_to_use_them_description: 'Supongamos que quiere etiquetar nuevos artículos como « <i>lectura corta</i> » cuando el tiempo de leer sea menos de 3 minutos. <br /> En este caso, debe poner Let assume you want to tag new entries as « <i>short reading</i> » when the reading time is inferior to 3 minutes.<br />In that case, you should put « readingTime <= 3 » in the <i>Rule</i> field and « <i>short reading</i> » in the <i>Tags</i> field.<br />Several tags can added simultaneously by separating them by a comma: « <i>short reading, must read</i> »<br />Complex rules can be written by using predefined operators: if « <i>readingTime >= 5 AND domainName = "github.com"</i> » then tag as « <i>long reading, github </i> »'
|
||||
variables_available_title: '¿Qué variables y operadores se pueden utilizar para escribir las reglas?'
|
||||
variables_available_description: 'Las siguientes variables y operadores se pueden utilizar para crear las reglas de etiquetado automáticas:'
|
||||
meaning: 'Significado'
|
||||
@ -137,7 +137,7 @@ entry:
|
||||
page_titles:
|
||||
# unread: 'Unread entries'
|
||||
# starred: 'Starred entries'
|
||||
# archive: 'Archived entries'
|
||||
# archived: 'Archived entries'
|
||||
# filtered: 'Filtered entries'
|
||||
list:
|
||||
number_on_the_page: '{0} No hay artículos.|{1} Hay un artículo.|]1,Inf[ Hay %count% artículos.'
|
||||
@ -301,9 +301,9 @@ quickstart:
|
||||
gitter: 'En Gitter'
|
||||
|
||||
tag:
|
||||
page_title: 'Tags'
|
||||
page_title: 'Etiquetas'
|
||||
list:
|
||||
number_on_the_page: '{0} No hay ningun tag.|{1} Hay un tag.|]1,Inf[ Hay %count% tags.'
|
||||
number_on_the_page: '{0} No hay ningun etiqueta.|{1} Hay un etiqueta.|]1,Inf[ Hay %count% etiquetas.'
|
||||
|
||||
import:
|
||||
page_title: 'Importar'
|
||||
@ -338,6 +338,7 @@ developer:
|
||||
# documentation: 'Documentation'
|
||||
# how_to_first_app: 'How to create my first application'
|
||||
# full_documentation: 'View full API documentation'
|
||||
# list_methods: 'List API methods'
|
||||
# clients:
|
||||
# title: 'Clients'
|
||||
# create_new: 'Create a new client'
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
security:
|
||||
login:
|
||||
# page_title: 'Welcome to wallabag!'
|
||||
page_title: 'به wallabag خوش آمدید!'
|
||||
keep_logged_in: 'مرا به خاطر بسپار'
|
||||
forgot_password: ' رمزتان را گم کردهاید؟'
|
||||
submit: 'ورود'
|
||||
# register: 'Register'
|
||||
register: 'نامنویسی'
|
||||
username: 'نام کاربری'
|
||||
password: 'رمز'
|
||||
# cancel: 'Cancel'
|
||||
cancel: 'لغو'
|
||||
resetting:
|
||||
description: "نشانی ایمیل خود را بنویسید تا راهنمای تغییر رمز را برایتان بفرستیم."
|
||||
register:
|
||||
# page_title: 'Create an account'
|
||||
# go_to_account: 'Go to your account'
|
||||
page_title: 'حساب بسازید'
|
||||
go_to_account: 'حساب خود را ببینید'
|
||||
|
||||
menu:
|
||||
left:
|
||||
@ -22,28 +22,28 @@ menu:
|
||||
all_articles: 'همه'
|
||||
config: 'پیکربندی'
|
||||
tags: 'برچسبها'
|
||||
# internal_settings: 'Internal Settings'
|
||||
# import: 'Import'
|
||||
internal_settings: 'تنظیمات درونی'
|
||||
import: 'درونریزی'
|
||||
howto: 'خودآموز'
|
||||
# developer: 'Developer'
|
||||
developer: 'سازندگان'
|
||||
logout: 'خروج'
|
||||
about: 'درباره'
|
||||
search: 'جستجو'
|
||||
# save_link: 'Save a link'
|
||||
save_link: 'ذخیرهٔ یک پیوند'
|
||||
back_to_unread: 'بازگشت به خواندهنشدهها'
|
||||
top:
|
||||
add_new_entry: 'افزودن مقالهٔ تازه'
|
||||
search: 'جستجو'
|
||||
filter_entries: 'فیلترکردن مقالهها'
|
||||
# export: 'Export'
|
||||
export: 'برونبری'
|
||||
search_form:
|
||||
input_label: 'جستجوی خود را اینجا بنویسید:'
|
||||
|
||||
footer:
|
||||
wallabag:
|
||||
# elsewhere: 'Take wallabag with you'
|
||||
# social: 'Social'
|
||||
# powered_by: 'powered by'
|
||||
elsewhere: 'wallabag همراه شما'
|
||||
social: 'شبکههای اجتماعی'
|
||||
powered_by: 'توانمند با'
|
||||
about: 'درباره'
|
||||
|
||||
config:
|
||||
@ -53,7 +53,7 @@ config:
|
||||
rss: 'آر-اس-اس'
|
||||
user_info: 'اطلاعات کاربر'
|
||||
password: 'رمز'
|
||||
# rules: 'Tagging rules'
|
||||
rules: 'برچسبگذاری خودکار'
|
||||
new_user: 'افزودن کاربر'
|
||||
form:
|
||||
save: 'ذخیره'
|
||||
@ -62,12 +62,12 @@ config:
|
||||
items_per_page_label: 'تعداد مقاله در هر صفحه'
|
||||
language_label: 'زبان'
|
||||
reading_speed:
|
||||
# label: 'Reading speed'
|
||||
# help_message: 'You can use online tools to estimate your reading speed:'
|
||||
# 100_word: 'I read ~100 words per minute'
|
||||
# 200_word: 'I read ~200 words per minute'
|
||||
# 300_word: 'I read ~300 words per minute'
|
||||
# 400_word: 'I read ~400 words per minute'
|
||||
label: 'سرعت خواندن'
|
||||
help_message: 'سرعت خواندنتان را با ابزارهای آنلاین تخمین بزنید:'
|
||||
100_word: 'من تقریباً ۱۰۰ واژه را در دقیقه میخوانم'
|
||||
200_word: 'من تقریباً ۲۰۰ واژه را در دقیقه میخوانم'
|
||||
300_word: 'من تقریباً ۳۰۰ واژه را در دقیقه میخوانم'
|
||||
400_word: 'من تقریباً ۴۰۰ واژه را در دقیقه میخوانم'
|
||||
form_rss:
|
||||
description: 'با خوراک آر-اس-اس که wallabag در اختیارتان میگذارد، میتوانید مقالههای ذخیرهشده را در نرمافزار آر-اس-اس دلخواه خود بخوانید. برای این کار نخست باید یک کد بسازید.'
|
||||
token_label: 'کد آر-اس-اس'
|
||||
@ -81,23 +81,23 @@ config:
|
||||
archive: 'بایگانی'
|
||||
rss_limit: 'محدودیت آر-اس-اس'
|
||||
form_user:
|
||||
# two_factor_description: "Enabling two factor authentication means you'll receive an email with a code on every new untrusted connexion"
|
||||
two_factor_description: "با فعالکردن تأیید ۲مرحلهای هر بار که اتصال تأییدنشدهای برقرار شد، به شما یک کد از راه ایمیل فرستاده میشود"
|
||||
name_label: 'نام'
|
||||
email_label: 'نشانی ایمیل'
|
||||
# twoFactorAuthentication_label: 'Two factor authentication'
|
||||
twoFactorAuthentication_label: 'تأیید ۲مرحلهای'
|
||||
form_password:
|
||||
old_password_label: 'رمز قدیمی'
|
||||
new_password_label: 'رمز تازه'
|
||||
repeat_new_password_label: 'رمز تازه را دوباره بنویسید'
|
||||
form_rules:
|
||||
# if_label: 'if'
|
||||
# then_tag_as_label: 'then tag as'
|
||||
# delete_rule_label: 'delete'
|
||||
# rule_label: 'Rule'
|
||||
# tags_label: 'Tags'
|
||||
# faq:
|
||||
# title: 'FAQ'
|
||||
# tagging_rules_definition_title: 'What does « tagging rules » mean?'
|
||||
if_label: 'اگر'
|
||||
then_tag_as_label: 'این برچسب را بزن'
|
||||
delete_rule_label: 'پاک کن'
|
||||
rule_label: 'قانون'
|
||||
tags_label: 'برچسبها'
|
||||
faq:
|
||||
title: 'پرسشهای متداول'
|
||||
tagging_rules_definition_title: 'برچسبگذاری خودکار یعنی چه؟'
|
||||
# tagging_rules_definition_description: 'They are rules used by Wallabag to automatically tag new entries.<br />Each time a new entry is added, all the tagging rules will be used to add the tags you configured, thus saving you the trouble to manually classify your entries.'
|
||||
# how_to_use_them_title: 'How do I use them?'
|
||||
# how_to_use_them_description: 'Let assume you want to tag new entries as « <i>short reading</i> » when the reading time is inferior to 3 minutes.<br />In that case, you should put « readingTime <= 3 » in the <i>Rule</i> field and « <i>short reading</i> » in the <i>Tags</i> field.<br />Several tags can added simultaneously by separating them by a comma: « <i>short reading, must read</i> »<br />Complex rules can be written by using predefined operators: if « <i>readingTime >= 5 AND domainName = "github.com"</i> » then tag as « <i>long reading, github </i> »'
|
||||
@ -135,12 +135,12 @@ config:
|
||||
|
||||
entry:
|
||||
page_titles:
|
||||
# unread: 'Unread entries'
|
||||
# starred: 'Starred entries'
|
||||
# archive: 'Archived entries'
|
||||
# filtered: 'Filtered entries'
|
||||
unread: 'مقالههای خواندهنشده'
|
||||
starred: 'مقالههای برگزیده'
|
||||
archived: 'مقالههای بایگانیشده'
|
||||
filtered: 'مقالههای فیلترشده'
|
||||
list:
|
||||
# number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
|
||||
number_on_the_page: '{0} هیج مقالهای نیست.|{1} یک مقاله هست.|]1,Inf[ %count% مقاله هست.'
|
||||
reading_time: 'زمان تخمینی برای خواندن'
|
||||
reading_time_minutes: 'زمان تخمینی برای خواندن: %readingTime% min'
|
||||
reading_time_less_one_minute: 'زمان تخمینی برای خواندن: <small class="inferieur"><</small> 1 min'
|
||||
@ -148,7 +148,7 @@ entry:
|
||||
toogle_as_read: 'خواندهشده/خواندهنشده'
|
||||
toogle_as_star: 'برگزیده/نابرگزیده'
|
||||
delete: 'پاک کردن'
|
||||
# export_title: 'Export'
|
||||
export_title: 'برونبری'
|
||||
filters:
|
||||
title: 'فیلتر'
|
||||
status_label: 'وضعیت'
|
||||
@ -171,35 +171,35 @@ entry:
|
||||
filter: 'فیلتر'
|
||||
view:
|
||||
left_menu:
|
||||
# back_to_top: 'Back to top'
|
||||
back_to_top: 'بازگشت به بالای صفحه'
|
||||
back_to_homepage: 'بازگشت'
|
||||
set_as_read: 'خواندهشده'
|
||||
# set_as_unread: 'Mark as unread'
|
||||
set_as_unread: 'به عنوان خواندهنشده علامت بزن'
|
||||
set_as_favorite: 'برگزیده'
|
||||
view_original_article: 'مقالهٔ اصلی'
|
||||
# re_fetch_content: 'Re-fetch content'
|
||||
re_fetch_content: 'مقالهها را دوباره دریافت کن'
|
||||
delete: 'پاک کردن'
|
||||
add_a_tag: 'افزودن برچسب'
|
||||
share_content: 'همرسانی'
|
||||
share_email_label: 'نشانی ایمیل'
|
||||
download: 'بارگیری'
|
||||
# print: 'Print'
|
||||
print: 'چاپ'
|
||||
problem:
|
||||
label: 'مشکلات؟'
|
||||
description: 'آیا مقاله نادرست نشان داده شده؟'
|
||||
edit_title: 'ویرایش عنوان'
|
||||
original_article: 'original'
|
||||
# annotations_on_the_entry: '{0} No annotations|{1} One annotation|]1,Inf[ %nbAnnotations% annotations'
|
||||
original_article: 'اصلی'
|
||||
annotations_on_the_entry: '{0} بدون حاشیه|{1} یک حاشیه|]1,Inf[ %nbحاشیه% annotations'
|
||||
new:
|
||||
page_title: 'ذخیرهٔ مقالهٔ تازه'
|
||||
placeholder: 'http://website.com'
|
||||
form_new:
|
||||
# url_label: Url
|
||||
url_label: نشانی
|
||||
edit:
|
||||
# page_title: 'Edit an entry'
|
||||
# title_label: 'Title'
|
||||
# url_label: 'Url'
|
||||
# is_public_label: 'Public'
|
||||
page_title: 'ویرایش مقاله'
|
||||
title_label: 'عنوان'
|
||||
url_label: 'نشانی'
|
||||
is_public_label: 'عمومی'
|
||||
save_label: 'ذخیره'
|
||||
|
||||
about:
|
||||
@ -208,8 +208,8 @@ about:
|
||||
who_behind_wallabag: 'سازندگان wallabag'
|
||||
getting_help: 'گرفتن کمک'
|
||||
helping: 'کمککردن به wallabag'
|
||||
# contributors: 'Contributors'
|
||||
# third_party: 'Third-party libraries'
|
||||
contributors: 'مشارکتکنندگان'
|
||||
third_party: 'کتابخانههای نرمافزاری'
|
||||
who_behind_wallabag:
|
||||
developped_by: 'ساختهٔ'
|
||||
website: 'وبگاه'
|
||||
@ -227,15 +227,15 @@ about:
|
||||
by_contributing_2: 'فهرست نیازمندیهای ما در این صفحه است:'
|
||||
by_paypal: 'از راه Paypal'
|
||||
contributors:
|
||||
# description: 'Thank you to contributors on wallabag web application'
|
||||
description: 'از مشارکت شما در برنامهٔ وب wallabag ممنونیم.'
|
||||
third_party:
|
||||
# description: 'Here are the list of third-party libraries used in wallabag (with their licenses):'
|
||||
# package: 'Package'
|
||||
description: 'فهرست کتابخانههای نرمافزاری که در wallabag به کار رفتهاند (به همراه پروانهٔ آنها) :'
|
||||
package: 'بسته'
|
||||
license: 'پروانه'
|
||||
|
||||
howto:
|
||||
page_title: 'خودآموز'
|
||||
# page_description: 'There are several ways to save an article:'
|
||||
page_description: 'راههای زیادی برای ذخیرهٔ مقالهها هست:'
|
||||
top_menu:
|
||||
browser_addons: 'افزونه برای مرورگرها'
|
||||
mobile_apps: 'برنامههای موبایل'
|
||||
@ -255,82 +255,82 @@ howto:
|
||||
description: 'این پیوند را به نوار بوکمارک مرورگرتان بکشید:'
|
||||
|
||||
quickstart:
|
||||
# page_title: 'Quickstart'
|
||||
# intro:
|
||||
# title: 'Welcome to wallabag!'
|
||||
# paragraph_1: "We'll accompany you to visit wallabag and show you some features which can interest you."
|
||||
# paragraph_2: 'Follow us!'
|
||||
# configure:
|
||||
# title: 'Configure the application'
|
||||
# language: 'Change language and design'
|
||||
# rss: 'Enable RSS feeds'
|
||||
# tagging_rules: 'Write rules to automatically tag your articles'
|
||||
# admin:
|
||||
# title: 'Administration'
|
||||
# description: 'As an administrator, you have privileges on wallabag. You can:'
|
||||
# new_user: 'Create a new user'
|
||||
# analytics: 'Configure analytics'
|
||||
# sharing: 'Enable some parameters about article sharing'
|
||||
# export: 'Configure export'
|
||||
# import: 'Configure import'
|
||||
# first_steps:
|
||||
# title: 'First steps'
|
||||
# new_article: 'Save your first article'
|
||||
# unread_articles: 'And classify it!'
|
||||
# migrate:
|
||||
# title: 'Migrate from an existing service'
|
||||
# description: "Are you using another service? We'll help you to retrieve your data on wallabag."
|
||||
# pocket: 'Migrate from Pocket'
|
||||
# wallabag_v1: 'Migrate from wallabag v1'
|
||||
# wallabag_v2: 'Migrate from wallabag v2'
|
||||
# developer:
|
||||
# title: 'Developers'
|
||||
# create_application: 'Create your third application'
|
||||
# docs:
|
||||
# title: 'Full documentation'
|
||||
# annotate: 'Annotate your article'
|
||||
# export: 'Convert your articles into ePUB or PDF'
|
||||
# search_filters: 'See how you can look for an article by using search engine and filters'
|
||||
# fetching_errors: 'What can I do if an article encounters errors during fetching?'
|
||||
# all_docs: 'And so many other articles!'
|
||||
# support:
|
||||
# title: 'Support'
|
||||
# description: 'If you need some help, we are here for you.'
|
||||
# github: 'On GitHub'
|
||||
# email: 'By email'
|
||||
# gitter: 'On Gitter'
|
||||
page_title: 'Quickstart'
|
||||
intro:
|
||||
title: 'به wallabag خوش آمدید!!'
|
||||
paragraph_1: "به شما کمک خواهیم کرد تا wallabag را بشناسید و با برخی از ویژگیهای جالبش آشنا شوید"
|
||||
paragraph_2: 'ادامه دهید!'
|
||||
configure:
|
||||
title: 'برنامه را تنظیم کنید'
|
||||
language: 'زبان و نمای برنامه را تغییر دهید'
|
||||
rss: 'خوراک آر-اس-اس را فعال کنید'
|
||||
tagging_rules: 'قانونهای برچسبگذاری خودکار مقالههایتان را تعریف کنید'
|
||||
admin:
|
||||
title: 'مدیریت'
|
||||
description: 'به عنوان مدیر، شما دسترسیهای بیشتری به wallabag دارید. شما میتوانید:'
|
||||
new_user: 'کاربر تازهای بسازید'
|
||||
analytics: 'تحلیلهای آماری را تنظیم کنید'
|
||||
sharing: 'گزینههای مربوط به همرسانی مقالهها را فعال کنید'
|
||||
export: 'برونسپاری را تنظیم کنید'
|
||||
import: 'درونریزی را تنظیم کنید'
|
||||
first_steps:
|
||||
title: 'گام نخست'
|
||||
new_article: 'نخستین مقالهٔ خود را ذخیره کنید'
|
||||
unread_articles: 'و آن را طبقهبندی کنید!'
|
||||
migrate:
|
||||
title: 'از سرویس قبلی خود به اینجا مهاجرت کنید'
|
||||
description: "آیا سرویس دیگری را بهکار میبرید؟ دادههایتان را به wallabag بیاورید.."
|
||||
pocket: 'مهاجرت از Pocket'
|
||||
wallabag_v1: 'مهاجرت از نسخهٔ یکم wallabag'
|
||||
wallabag_v2: 'مهاجرت از نسخهٔ دوم wallabag'
|
||||
developer:
|
||||
title: 'برنامهنویسان'
|
||||
create_application: 'برنامهٔ wallabag خود را بسازید'
|
||||
docs:
|
||||
title: 'راهنمای کامل'
|
||||
annotate: 'روی مقالههایتان یادداشت بگذارید'
|
||||
export: 'مقالههایتان را به قالب ePUB یا PDF دربیاورید'
|
||||
search_filters: 'به کمک موتور جستجو و فیلترها به دنبال مقالههایتان بگردید'
|
||||
fetching_errors: 'اگر مقالهای هنگام ذخیره شدن به مشکل برخورد چه کار کنید؟'
|
||||
all_docs: 'و بسیاری از موضوعات دیگر'
|
||||
support:
|
||||
title: 'پشتیبانی'
|
||||
description: 'به کمک نیاز دارید؟ ما پشتیبان شما هستیم!'
|
||||
github: 'روی گیتهاب'
|
||||
email: 'با ایمیل'
|
||||
gitter: 'روی گیتر'
|
||||
|
||||
tag:
|
||||
page_title: 'برچسبها'
|
||||
list:
|
||||
# number_on_the_page: '{0} There is no tag.|{1} There is one tag.|]1,Inf[ There are %count% tags.'
|
||||
number_on_the_page: '{0} هیچ برچسبی نیست.|{1} یک برچسب هست.|]1,Inf[ %count% برچسب هست.'
|
||||
|
||||
import:
|
||||
# page_title: 'Import'
|
||||
# page_description: 'Welcome to wallabag importer. Please select your previous service that you want to migrate.'
|
||||
# action:
|
||||
# import_contents: 'Import contents'
|
||||
# form:
|
||||
# mark_as_read_title: 'Mark all as read?'
|
||||
# mark_as_read_label: 'Mark all imported entries as read'
|
||||
# file_label: 'File'
|
||||
# save_label: 'Upload file'
|
||||
# pocket:
|
||||
# page_title: 'Import > Pocket'
|
||||
# description: "This importer will import all your Pocket data. Pocket doesn't allow us to retrieve content from their service, so the readable content of each article will be re-fetched by wallabag."
|
||||
# config_missing:
|
||||
# description: "Pocket import isn't configured."
|
||||
# admin_message: 'You need to define %keyurls%a pocket_consumer_key%keyurle%.'
|
||||
# user_message: 'Your server admin needs to define an API Key for Pocket.'
|
||||
# authorize_message: 'You can import your data from your Pocket account. You just have to click on the below button and authorize the application to connect to getpocket.com.'
|
||||
# connect_to_pocket: 'Connect to Pocket and import data'
|
||||
# wallabag_v1:
|
||||
# page_title: 'Import > Wallabag v1'
|
||||
# description: 'This importer will import all your wallabag v1 articles. On your config page, click on "JSON export" in the "Export your wallabag data" section. You will have a "wallabag-export-1-xxxx-xx-xx.json" file.'
|
||||
# how_to: 'Please select your wallabag export and click on the below button to upload and import it.'
|
||||
# wallabag_v2:
|
||||
# page_title: 'Import > Wallabag v2'
|
||||
# description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.'
|
||||
page_title: 'درونریزی'
|
||||
page_description: 'به درونریز wallabag خوش آمدید. لطفاً سرویس قبلی خود را که میخواهید از آن مهاجرت کنید انتخاب کنید.'
|
||||
action:
|
||||
import_contents: 'درونریزی مقالهها'
|
||||
form:
|
||||
mark_as_read_title: 'علامتزدن همه به عنوان خواندهشده؟'
|
||||
mark_as_read_label: 'همهٔ مقالههای درونریزی شده را به عنوان خواندهشده علامت بزن'
|
||||
file_label: 'پرونده'
|
||||
save_label: 'بارگذاری پرونده'
|
||||
pocket:
|
||||
page_title: 'درونریزی > Pocket'
|
||||
description: "این برنامه همهٔ دادههای Pocket شما را درونریزی میکند. سرویس Pocket اجازه نمیدهد که متن مقالهها را درونریزی کنیم، بنابراین wallabag متن مقالهها را دوباره از اینترنت دریافت میکند."
|
||||
config_missing:
|
||||
description: "درونریزی از Pocket تنظیم نشده است."
|
||||
admin_message: 'شما باید %keyurls%یک pocket_consumer_key%keyurle% تعریف کنید.'
|
||||
user_message: 'مدیر سرور شما باید یک API Key برای Pocket تعریف کند.'
|
||||
authorize_message: 'شما میتوانید دادههایتان را از حساب Pocket خود درونریزی کنید. روی دکمهٔ زیر کلیک کنید و به برنامه اجازه دهید تا به getpocket.com وصل شود.'
|
||||
connect_to_pocket: 'به Pocket وصل شو و دادهها را دریافت کن'
|
||||
wallabag_v1:
|
||||
page_title: 'درونریزی > Wallabag v1'
|
||||
description: 'این برنامه همهٔ دادههای شما را در نسخهٔ ۱ wallabag درونریزی میکند. در صفحهٔ تنظیمات، روی "JSON export" در بخش "Export your wallabag data" کلیک کنید. با این کار شما پروندهای به شکل "wallabag-export-1-xxxx-xx-xx.json" دریافت خواهید کرد.'
|
||||
how_to: 'لطفاً پرونده را انتخاب کنید و روی دکمهٔ زیر کلیک کنید تا بارگذاری و درونریزی شود.'
|
||||
wallabag_v2:
|
||||
page_title: 'درونریزی > Wallabag v2'
|
||||
description: 'این برنامه همهٔ دادههای شما را در نسخهٔ ۲ wallabag درونریزی میکند. به بخش «همهٔ مقالهها» بروید و در بخش «برونریزی» روی "JSON" کلیک کنید. با این کار شما پروندهای به شکل "All articles.json" دریافت خواهید کرد.'
|
||||
|
||||
developer:
|
||||
# page_title: 'Developer'
|
||||
@ -338,6 +338,7 @@ developer:
|
||||
# documentation: 'Documentation'
|
||||
# how_to_first_app: 'How to create my first application'
|
||||
# full_documentation: 'View full API documentation'
|
||||
# list_methods: 'List API methods'
|
||||
# clients:
|
||||
# title: 'Clients'
|
||||
# create_new: 'Create a new client'
|
||||
@ -382,42 +383,42 @@ developer:
|
||||
validator:
|
||||
password_must_match: 'رمزها باید یکی باشند'
|
||||
password_too_short: 'رمز شما باید ۸ حرف یا بیشتر باشد'
|
||||
# password_wrong_value: 'Wrong value for your current password'
|
||||
# item_per_page_too_high: 'This will certainly kill the app'
|
||||
# rss_limit_too_hight: 'This will certainly kill the app'
|
||||
password_wrong_value: 'رمز فعلی را اشتباه وارد کردهاید'
|
||||
item_per_page_too_high: 'با این تعداد برنامه به فنا میرود'
|
||||
rss_limit_too_hight: 'با این تعداد برنامه به فنا میرود'
|
||||
|
||||
flashes:
|
||||
config:
|
||||
notice:
|
||||
config_saved: 'پیکربندی ذخیره شد. برخی از تنظیمات پس از این که قطع شدید اعمال میشود.'
|
||||
password_updated: 'رمز بهروز شد'
|
||||
# password_not_updated_demo: "In demonstration mode, you can't change password for this user."
|
||||
user_updated: 'اطلاعات بهروز شد'
|
||||
rss_updated: 'اطلاعات آر-اس-اس بهروز شد'
|
||||
# tagging_rules_updated: 'Tagging rules updated'
|
||||
# tagging_rules_deleted: 'Tagging rule deleted'
|
||||
# user_added: 'User "%username%" added'
|
||||
# rss_token_updated: 'RSS token updated'
|
||||
config_saved: 'پیکربندی ذخیره شد. برخی از تنظیمات پس از این که قطع شدید اعمال میشود.'
|
||||
password_updated: 'رمز بهروز شد'
|
||||
password_not_updated_demo: "در حالت نمایشی نمیتوانید رمز کاربر را عوض کنید."
|
||||
user_updated: 'اطلاعات بهروز شد'
|
||||
rss_updated: 'اطلاعات آر-اس-اس بهروز شد'
|
||||
tagging_rules_updated: 'برچسبگذاری خودکار بهروز شد'
|
||||
tagging_rules_deleted: 'قانون برچسبگذاری پاک شد'
|
||||
user_added: 'کابر "%username%" افزوده شد'
|
||||
rss_token_updated: 'کد آر-اس-اس بهروز شد'
|
||||
entry:
|
||||
notice:
|
||||
# entry_already_saved: 'Entry already saved on %date%'
|
||||
# entry_saved: 'Entry saved'
|
||||
# entry_updated: 'Entry updated'
|
||||
# entry_reloaded: 'Entry reloaded'
|
||||
# entry_reload_failed: 'Failed to reload entry'
|
||||
entry_archived: 'مقاله بایگانی شد'
|
||||
entry_unarchived: 'مقاله از بایگانی درآمد'
|
||||
entry_starred: 'مقاله برگزیده شد'
|
||||
entry_unstarred: 'مقاله نابرگزیده شد'
|
||||
entry_deleted: 'مقاله پاک شد'
|
||||
entry_already_saved: 'این مقاله در تاریخ %date% ذخیره شده بود'
|
||||
entry_saved: 'مقاله ذخیره شد'
|
||||
entry_updated: 'مقاله بهروز شد'
|
||||
entry_reloaded: 'مقاله بهروز شد'
|
||||
entry_reload_failed: 'بهروزرسانی مقاله شکست خورد'
|
||||
entry_archived: 'مقاله بایگانی شد'
|
||||
entry_unarchived: 'مقاله از بایگانی درآمد'
|
||||
entry_starred: 'مقاله برگزیده شد'
|
||||
entry_unstarred: 'مقاله نابرگزیده شد'
|
||||
entry_deleted: 'مقاله پاک شد'
|
||||
tag:
|
||||
notice:
|
||||
# tag_added: 'Tag added'
|
||||
tag_added: 'برچسب افزوده شد'
|
||||
import:
|
||||
notice:
|
||||
# failed: 'Import failed, please try again.'
|
||||
# failed_on_file: 'Error while processing import. Please verify your import file.'
|
||||
# summary: 'Import summary: %imported% imported, %skipped% already saved.'
|
||||
failed: 'درونریزی شکست خورد. لطفاً دوباره تلاش کنید.'
|
||||
failed_on_file: 'خطا هنگام پردازش پروندهٔ ورودی. آیا پروندهٔ درونریزی شده سالم است؟'
|
||||
summary: 'گزارش درونریزی: %imported% وارد شد, %skipped% از قبل ذخیره شده بود.'
|
||||
developer:
|
||||
notice:
|
||||
# client_created: 'New client created.'
|
||||
|
||||
@ -137,7 +137,7 @@ entry:
|
||||
page_titles:
|
||||
unread: 'Articles non lus'
|
||||
starred: 'Articles favoris'
|
||||
archive: 'Articles lus'
|
||||
archived: 'Articles lus'
|
||||
filtered: 'Articles filtrés'
|
||||
list:
|
||||
number_on_the_page: "{0} Il n'y a pas d'articles.|{1} Il y a un article.|]1,Inf[ Il y a %count% articles."
|
||||
@ -338,6 +338,7 @@ developer:
|
||||
documentation: 'Documentation'
|
||||
how_to_first_app: 'Comment créer votre première application'
|
||||
full_documentation: "Voir la documentation complète de l'API"
|
||||
list_methods: "Lister toutes les méthodes de l'API"
|
||||
clients:
|
||||
title: 'Clients'
|
||||
create_new: 'Créer une nouveau client'
|
||||
|
||||
@ -137,7 +137,7 @@ entry:
|
||||
page_titles:
|
||||
unread: 'Articles pas legits'
|
||||
starred: 'Articles favorits'
|
||||
archive: 'Articles legits'
|
||||
archived: 'Articles legits'
|
||||
filtered: 'Articles filtrats'
|
||||
list:
|
||||
number_on_the_page: "{0} I a pas cap d'article.|{1} I a un article.|]1,Inf[ I a %count% articles."
|
||||
@ -338,6 +338,7 @@ developer:
|
||||
documentation: 'Documentacion'
|
||||
how_to_first_app: 'Cossí crear vòstra primièra aplicacion'
|
||||
full_documentation: "Veire la documentacion completa de l'API"
|
||||
# list_methods: 'List API methods'
|
||||
clients:
|
||||
title: 'Clients'
|
||||
create_new: 'Crear un novèl client'
|
||||
|
||||
@ -137,7 +137,7 @@ entry:
|
||||
page_titles:
|
||||
unread: 'Nieprzeczytane wpisy'
|
||||
starred: 'Wpisy oznaczone gwiazdką'
|
||||
archive: 'Zarchiwizowane wpisy'
|
||||
archived: 'Zarchiwizowane wpisy'
|
||||
filtered: 'Odfiltrowane wpisy'
|
||||
list:
|
||||
number_on_the_page: '{0} Nie ma wpisów.|{1} Jest jeden wpis.|]1,Inf[ Są %count% wpisy.'
|
||||
@ -338,6 +338,7 @@ developer:
|
||||
documentation: 'Dokumentacja'
|
||||
how_to_first_app: 'Jak stworzyć moją pierwszą aplikację'
|
||||
full_documentation: 'Pokaż pełne API'
|
||||
# list_methods: 'List API methods'
|
||||
clients:
|
||||
title: 'Klienci'
|
||||
create_new: 'Utwórz nowego klienta'
|
||||
|
||||
@ -137,7 +137,7 @@ entry:
|
||||
page_titles:
|
||||
# unread: 'Unread entries'
|
||||
# starred: 'Starred entries'
|
||||
# archive: 'Archived entries'
|
||||
# archived: 'Archived entries'
|
||||
# filtered: 'Filtered entries'
|
||||
list:
|
||||
# number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
|
||||
@ -338,6 +338,7 @@ developer:
|
||||
# documentation: 'Documentation'
|
||||
# how_to_first_app: 'How to create my first application'
|
||||
# full_documentation: 'View full API documentation'
|
||||
# list_methods: 'List API methods'
|
||||
# clients:
|
||||
# title: 'Clients'
|
||||
# create_new: 'Create a new client'
|
||||
|
||||
@ -137,7 +137,7 @@ entry:
|
||||
page_titles:
|
||||
# unread: 'Unread entries'
|
||||
# starred: 'Starred entries'
|
||||
# archive: 'Archived entries'
|
||||
# archived: 'Archived entries'
|
||||
# filtered: 'Filtered entries'
|
||||
list:
|
||||
number_on_the_page: '{0} Herhangi bir makale yok.|{1} Burada bir adet makale var.|]1,Inf[ Burada %count% adet makale var.'
|
||||
@ -338,6 +338,7 @@ developer:
|
||||
# documentation: 'Documentation'
|
||||
# how_to_first_app: 'How to create my first application'
|
||||
# full_documentation: 'View full API documentation'
|
||||
# list_methods: 'List API methods'
|
||||
# clients:
|
||||
# title: 'Clients'
|
||||
# create_new: 'Create a new client'
|
||||
|
||||
@ -49,7 +49,7 @@
|
||||
|
||||
<h2>{{ 'config.tab_menu.rss'|trans }}</h2>
|
||||
|
||||
{{ form_start(form.rss) }}
|
||||
{{ form_start(form.rss) }}
|
||||
{{ form_errors(form.rss) }}
|
||||
|
||||
<div class="row">
|
||||
@ -169,7 +169,7 @@
|
||||
{{ form_rest(form.pwd) }}
|
||||
</form>
|
||||
|
||||
<h2>{{ 'config.tab_menu.rules'|trans }}}</h2>
|
||||
<h2>{{ 'config.tab_menu.rules'|trans }}</h2>
|
||||
|
||||
<ul>
|
||||
{% for tagging_rule in app.user.config.taggingRules %}
|
||||
@ -183,7 +183,7 @@
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
{{ form_start(form.new_tagging_rule) }}
|
||||
{{ form_start(form.new_tagging_rule) }}
|
||||
{{ form_errors(form.new_tagging_rule) }}
|
||||
|
||||
<fieldset class="w500p inline">
|
||||
@ -205,6 +205,91 @@
|
||||
{{ form_rest(form.new_tagging_rule) }}
|
||||
</form>
|
||||
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
<h3>{{ 'config.form_rules.faq.title'|trans }}</h3>
|
||||
|
||||
<h4>{{ 'config.form_rules.faq.tagging_rules_definition_title'|trans }}</h4>
|
||||
<p class="help">{{ 'config.form_rules.faq.tagging_rules_definition_description'|trans|raw }}</p>
|
||||
|
||||
<h4>{{ 'config.form_rules.faq.how_to_use_them_title'|trans }}</h4>
|
||||
<p class="help">{{ 'config.form_rules.faq.how_to_use_them_description'|trans|raw }}</p>
|
||||
|
||||
<h4>{{ 'config.form_rules.faq.variables_available_title'|trans }}</h4>
|
||||
<p class="help">
|
||||
{{ 'config.form_rules.faq.variables_available_description'|trans }}
|
||||
</p>
|
||||
|
||||
<table class="bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
|
||||
<th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
|
||||
<th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
|
||||
<th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>title</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
|
||||
<td><=</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>url</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
|
||||
<td><</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>isArchived</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
|
||||
<td>>=</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>isStarred</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
|
||||
<td>></td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>content</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
|
||||
<td>=</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>language</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
|
||||
<td>!=</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mimetype</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
|
||||
<td>OR</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>readingTime</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
|
||||
<td>AND</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>domainName</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
|
||||
<td>matches</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if is_granted('ROLE_SUPER_ADMIN') %}
|
||||
<h2>{{ 'config.tab_menu.new_user'|trans }}</h2>
|
||||
|
||||
|
||||
@ -14,7 +14,8 @@
|
||||
|
||||
<ul>
|
||||
<li><a href="{{ path('developer_howto_firstapp') }}">{{ 'developer.how_to_first_app'|trans }}</a></li>
|
||||
<li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.full_documentation'|trans }}</a></li>
|
||||
<li><a href="http://doc.wallabag.org/en/v2/developer/api.html">{{ 'developer.full_documentation'|trans }}</a></li>
|
||||
<li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.list_methods'|trans }}</a></li>
|
||||
</ul>
|
||||
|
||||
<h4>{{ 'developer.clients.title'|trans }}</h4>
|
||||
|
||||
@ -23,19 +23,17 @@
|
||||
{% for entry in entries %}
|
||||
<div id="entry-{{ entry.id|e }}" class="entry">
|
||||
<h2><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw }}</a></h2>
|
||||
{% if entry.readingTime > 0 %}
|
||||
<div class="estimatedTime">
|
||||
|
||||
{% set readingTime = entry.readingTime / app.user.config.readingSpeed %}
|
||||
<div class="estimatedTime">
|
||||
<span class="tool reading-time">
|
||||
{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': entry.readingTime}) }}
|
||||
</span>
|
||||
</div>
|
||||
{% if readingTime > 0 %}
|
||||
{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': readingTime|round}) }}
|
||||
{% else %}
|
||||
<div class="estimatedTime">
|
||||
<span class="tool reading-time">
|
||||
{{ 'entry.list.reading_time_less_one_minute'|trans|raw }}
|
||||
</span>
|
||||
</div>
|
||||
{{ 'entry.list.reading_time_less_one_minute'|trans|raw }}
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<ul class="tools links">
|
||||
<li><a title="{{ 'entry.list.toogle_as_read'|trans }}" class="tool icon-check icon {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{{ 'entry.list.toogle_as_read'|trans }}</span></a></li>
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
{% if craue_setting('share_shaarli') %}<li><a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="shaarli"><span>shaarli</span></a></li>{% endif %}
|
||||
{% if craue_setting('share_diaspora') %}<li><a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}¬es=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="diaspora"><span>diaspora</span></a></li>{% endif %}
|
||||
{% if craue_setting('carrot') %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="carrot"><span>Carrot</span></a></li>{% endif %}
|
||||
{% if craue_setting('show_printlink') %}<li><a title="{{ 'entry.view.left_menu.print'|trans }}" class="tool icon icon-print" href="javascript: window.print();"><span>{{ 'entry.view.left_menu.re_fetch_content'|trans }}</span></a></li>{% endif %}
|
||||
{% if craue_setting('show_printlink') %}<li><a title="{{ 'entry.view.left_menu.print'|trans }}" class="tool icon icon-print" href="javascript: window.print();"><span>{{ 'entry.view.left_menu.print'|trans }}</span></a></li>{% endif %}
|
||||
{% if craue_setting('export_epub') %}<li><a href="?epub&method=id&value={{ entry.id }}" title="Generate ePub file">EPUB</a></li>{% endif %}
|
||||
{% if craue_setting('export_mobi') %}<li><a href="?mobi&method=id&value={{ entry.id }}" title="Generate Mobi file">MOBI</a></li>{% endif %}
|
||||
{% if craue_setting('export_pdf') %}<li><a href="?pdf&method=id&value={{ entry.id }}" title="Generate PDF file">PDF</a></li>{% endif %}
|
||||
|
||||
@ -250,75 +250,75 @@
|
||||
<h5>{{ 'config.form_rules.faq.variables_available_title'|trans }}</h5>
|
||||
<p class="help">
|
||||
{{ 'config.form_rules.faq.variables_available_description'|trans }}
|
||||
|
||||
<table class="bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
|
||||
<th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
|
||||
<th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
|
||||
<th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>title</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
|
||||
<td><=</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>url</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
|
||||
<td><</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>isArchived</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
|
||||
<td>=></td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>isStarred</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
|
||||
<td>></td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>content</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
|
||||
<td>=</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>language</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
|
||||
<td>!=</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mimetype</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
|
||||
<td>OR</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>readingTime</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
|
||||
<td>AND</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>domainName</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
|
||||
<td>matches</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</p>
|
||||
|
||||
<table class="bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
|
||||
<th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
|
||||
<th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
|
||||
<th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>title</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
|
||||
<td><=</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>url</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
|
||||
<td><</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>isArchived</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
|
||||
<td>>=</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>isStarred</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
|
||||
<td>></td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>content</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
|
||||
<td>=</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>language</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
|
||||
<td>!=</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mimetype</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
|
||||
<td>OR</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>readingTime</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
|
||||
<td>AND</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>domainName</td>
|
||||
<td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
|
||||
<td>matches</td>
|
||||
<td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -14,7 +14,8 @@
|
||||
|
||||
<ul>
|
||||
<li><a href="{{ path('developer_howto_firstapp') }}">{{ 'developer.how_to_first_app'|trans }}</a></li>
|
||||
<li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.full_documentation'|trans }}</a></li>
|
||||
<li><a href="http://doc.wallabag.org/en/v2/developer/api.html">{{ 'developer.full_documentation'|trans }}</a></li>
|
||||
<li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.list_methods'|trans }}</a></li>
|
||||
</ul>
|
||||
|
||||
<h4>{{ 'developer.clients.title'|trans }}</h4>
|
||||
|
||||
@ -54,7 +54,7 @@
|
||||
<span class="tool reading-time">
|
||||
{% set readingTime = entry.readingTime / app.user.config.readingSpeed %}
|
||||
{% if readingTime > 0 %}
|
||||
{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': readingTime}) }}
|
||||
{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': readingTime|round}) }}
|
||||
{% else %}
|
||||
{{ 'entry.list.reading_time_less_one_minute'|trans|raw }}
|
||||
{% endif %}
|
||||
@ -74,8 +74,7 @@
|
||||
|
||||
<div class="estimatedTime grey-text">
|
||||
<span class="tool reading-time">
|
||||
{{ 'entry.list.reading_time'|trans }}
|
||||
{% if entry.readingTime > 0 %}{{ entry.readingTime }}{% else %}<small class="inferieur"><</small> 1{% endif %} min
|
||||
{% if readingTime > 0 %}{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': readingTime|round}) }}{% else %}{{ 'entry.list.reading_time_less_one_minute'|trans|raw }}{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
@ -138,6 +138,17 @@
|
||||
</div>
|
||||
</li>
|
||||
|
||||
{% if craue_setting('show_printlink') %}
|
||||
<li class="bold border-bottom hide-on-med-and-down">
|
||||
<a class="waves-effect collapsible-header" title="{{ 'entry.view.left_menu.print'|trans }}" href="javascript: window.print();">
|
||||
<i class="mdi-action-print small"></i>
|
||||
<span>{{ 'entry.view.left_menu.print'|trans }}</span>
|
||||
</a>
|
||||
<div class="collapsible-body"></div>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<li class="bold">
|
||||
<a class="waves-effect collapsible-header">
|
||||
<i class="mdi-file-file-download small"></i>
|
||||
@ -192,14 +203,14 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% if entry.previewPicture is not null %}
|
||||
<div><img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|raw }}" /></div>
|
||||
{% endif %}
|
||||
|
||||
<div class="input-field nav-panel-add-tag" style="display: none">
|
||||
{{ render(controller( "WallabagCoreBundle:Tag:addTagForm", { 'id': entry.id } )) }}
|
||||
</div>
|
||||
|
||||
{% if entry.previewPicture is not null %}
|
||||
<div><img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|raw }}" /></div>
|
||||
{% endif %}
|
||||
|
||||
</aside>
|
||||
<article>
|
||||
{{ entry.content | raw }}
|
||||
|
||||
@ -67,10 +67,11 @@ class InstallCommandTest extends WallabagCoreTestCase
|
||||
'command' => $command->getName(),
|
||||
));
|
||||
|
||||
$this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay());
|
||||
$this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay());
|
||||
$this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay());
|
||||
$this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay());
|
||||
$this->assertContains('Checking system requirements.', $tester->getDisplay());
|
||||
$this->assertContains('Setting up database.', $tester->getDisplay());
|
||||
$this->assertContains('Administration setup.', $tester->getDisplay());
|
||||
$this->assertContains('Config setup.', $tester->getDisplay());
|
||||
$this->assertContains('Installing assets.', $tester->getDisplay());
|
||||
}
|
||||
|
||||
public function testRunInstallCommandWithReset()
|
||||
@ -97,11 +98,12 @@ class InstallCommandTest extends WallabagCoreTestCase
|
||||
'--reset' => true,
|
||||
));
|
||||
|
||||
$this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay());
|
||||
$this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay());
|
||||
$this->assertContains('Checking system requirements.', $tester->getDisplay());
|
||||
$this->assertContains('Setting up database.', $tester->getDisplay());
|
||||
$this->assertContains('Droping database, creating database and schema, clearing the cache', $tester->getDisplay());
|
||||
$this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay());
|
||||
$this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay());
|
||||
$this->assertContains('Administration setup.', $tester->getDisplay());
|
||||
$this->assertContains('Config setup.', $tester->getDisplay());
|
||||
$this->assertContains('Installing assets.', $tester->getDisplay());
|
||||
|
||||
// we force to reset everything
|
||||
$this->assertContains('Droping database, creating database and schema, clearing the cache', $tester->getDisplay());
|
||||
@ -142,10 +144,11 @@ class InstallCommandTest extends WallabagCoreTestCase
|
||||
'command' => $command->getName(),
|
||||
));
|
||||
|
||||
$this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay());
|
||||
$this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay());
|
||||
$this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay());
|
||||
$this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay());
|
||||
$this->assertContains('Checking system requirements.', $tester->getDisplay());
|
||||
$this->assertContains('Setting up database.', $tester->getDisplay());
|
||||
$this->assertContains('Administration setup.', $tester->getDisplay());
|
||||
$this->assertContains('Config setup.', $tester->getDisplay());
|
||||
$this->assertContains('Installing assets.', $tester->getDisplay());
|
||||
|
||||
// the current database doesn't already exist
|
||||
$this->assertContains('Creating database and schema, clearing the cache', $tester->getDisplay());
|
||||
@ -179,10 +182,11 @@ class InstallCommandTest extends WallabagCoreTestCase
|
||||
'command' => $command->getName(),
|
||||
));
|
||||
|
||||
$this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay());
|
||||
$this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay());
|
||||
$this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay());
|
||||
$this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay());
|
||||
$this->assertContains('Checking system requirements.', $tester->getDisplay());
|
||||
$this->assertContains('Setting up database.', $tester->getDisplay());
|
||||
$this->assertContains('Administration setup.', $tester->getDisplay());
|
||||
$this->assertContains('Config setup.', $tester->getDisplay());
|
||||
$this->assertContains('Installing assets.', $tester->getDisplay());
|
||||
|
||||
$this->assertContains('Droping schema and creating schema', $tester->getDisplay());
|
||||
}
|
||||
@ -233,10 +237,11 @@ class InstallCommandTest extends WallabagCoreTestCase
|
||||
'command' => $command->getName(),
|
||||
));
|
||||
|
||||
$this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay());
|
||||
$this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay());
|
||||
$this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay());
|
||||
$this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay());
|
||||
$this->assertContains('Checking system requirements.', $tester->getDisplay());
|
||||
$this->assertContains('Setting up database.', $tester->getDisplay());
|
||||
$this->assertContains('Administration setup.', $tester->getDisplay());
|
||||
$this->assertContains('Config setup.', $tester->getDisplay());
|
||||
$this->assertContains('Installing assets.', $tester->getDisplay());
|
||||
|
||||
$this->assertContains('Creating schema', $tester->getDisplay());
|
||||
}
|
||||
@ -265,9 +270,10 @@ class InstallCommandTest extends WallabagCoreTestCase
|
||||
'--no-interaction' => true,
|
||||
));
|
||||
|
||||
$this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay());
|
||||
$this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay());
|
||||
$this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay());
|
||||
$this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay());
|
||||
$this->assertContains('Checking system requirements.', $tester->getDisplay());
|
||||
$this->assertContains('Setting up database.', $tester->getDisplay());
|
||||
$this->assertContains('Administration setup.', $tester->getDisplay());
|
||||
$this->assertContains('Config setup.', $tester->getDisplay());
|
||||
$this->assertContains('Installing assets.', $tester->getDisplay());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user