Compare commits

...

493 Commits

Author SHA1 Message Date
94314e14ee Release wallabag 2.0.0-beta.1 2016-03-01 10:32:23 +01:00
4be43814e2 Merge pull request #1738 from wallabag/v2-prepare-beta1
Prepare wallabag for first beta 🚀
2016-03-01 09:00:42 +01:00
2ebbbb26ae Merge pull request #1739 from goofy-bz/patch-5
minor typofix + missing quotes
2016-03-01 06:15:49 +01:00
5d0f104bf0 minor typofix + missing quotes
Added quotes to be reviewed
2016-02-29 21:55:06 +01:00
6e3d65ccb0 Prepare wallabag for first beta 🚀 2016-02-29 21:34:36 +01:00
8808b79230 Merge pull request #1736 from wallabag/v2-update-capistrano-gem
Update Capistrano libraries with last versions
2016-02-29 18:55:33 +01:00
8edf89b29e Update Capistrano libraries with last versions 2016-02-29 17:20:20 +01:00
1e18360cc7 Merge pull request #1734 from wallabag/v2-todo
Remove extra definition
2016-02-29 17:19:39 +01:00
3c39f5ac41 Skipping all Posgres test for wallabag:install
We already faced this problem but we are facing it again.
d502762598

It seems we can drop a database properly using wallabag:install.

The server log keep saying:
ERROR:  source database "template1" is being accessed by other users
DETAIL:  There is 1 other session using the database.
STATEMENT:  CREATE DATABASE "wallabag_test"

Which means, it can't remove the database wallabag_test because one other person is using it.
2016-02-29 16:23:36 +01:00
dfad9ba0f9 Defining Github token is now useless
We are using it differently with .composer-auth.json file
2016-02-29 15:41:43 +01:00
bb0efca468 Fix postgres database creation
Test database was renamed in https://github.com/wallabag/wallabag/pull/1639 but the travis configuration was missed
2016-02-29 09:49:50 +01:00
a19a371ae7 Remove extra definition
Since Symfony 3.0.3 has been released
2016-02-29 09:23:15 +01:00
30e5174ea7 Merge pull request #1732 from mjjzf/v2
Adding Danish translations to Wallabag v2
2016-02-28 00:38:10 +01:00
8249b988cc added newline 2016-02-27 17:19:17 +01:00
449df236ac Fixed indentation issue 2016-02-27 16:33:16 +01:00
8ccc306468 config.yml edit to include Danish 2016-02-27 16:16:32 +01:00
2b788cadab Adding Danish translations to Wallabag v2 2016-02-27 16:00:19 +01:00
2481da00dc Merge pull request #1731 from wallabag/v2-fix-travis-auth
Fix: #1703: authentication for PR by external contributors
2016-02-27 15:21:35 +01:00
f06e268fc9 Replace token by a no scope one 2016-02-27 14:07:04 +01:00
6daadb6c44 Fix authentication for PR by external contributors 2016-02-27 11:26:09 +01:00
162954763e Merge pull request #1653 from wallabag/v2-annotator-comments
V2 annotator comments
2016-02-26 18:17:37 +01:00
b07c7dfe78 Regenerate Annotator with idAnnotation instead of idComment 2016-02-26 18:14:50 +01:00
4dc872238a Rename CommentBundle with AnnotationBundle 2016-02-26 18:14:42 +01:00
9eab365e28 changed french translation from commentaire to annotation 2016-02-26 18:14:42 +01:00
a772d16b12 display how much comments there are for an entry 2016-02-26 18:14:42 +01:00
2b6e65a5e3 Move annotatorjs to the bottom of the body
So that the "article" tag is loaded before
2016-02-26 18:14:27 +01:00
7720cca532 Add annotator in baggy theme
+ Documentation about annotations
2016-02-26 18:14:12 +01:00
f38e03dc02 Comment work with annotator v2
- add missing annotator.js file and fix typo
- edit & delete routes, started tests
- basic tests
2016-02-26 18:13:17 +01:00
d3f1a9dc1a Merge pull request #1728 from wallabag/v2-change-delete-tag-icon
Fix #1717: Change remove tag icon in entry view with material theme
2016-02-26 10:27:57 +01:00
575e6907e5 Change remove tag icon in entry view with material theme 2016-02-26 08:58:36 +01:00
74932af231 Merge pull request #1723 from shtrom/v2-lang-fix
Make English welcome message more natural
2016-02-25 08:01:00 +01:00
ef186de38a Make English welcome message more natural
sed -i "s/Welcome on wallabag/Welcome to wallabag/"

Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2016-02-25 11:32:40 +11:00
b60bff0c2a Merge pull request #1712 from wallabag/v2-contributing
Fix #1711: Update CONTRIBUTING file
2016-02-24 19:47:56 +01:00
3174b764bc fixes 2016-02-24 19:45:42 +01:00
f2fcb65b44 Fix wrong variable name
> The variable $requirement does not exist.
2016-02-24 14:49:51 +01:00
f83125d2f5 Merge pull request #1716 from wallabag/v2-enhance-requirements-installation
Fix #1603: Enhance requirements in InstallCommand
2016-02-24 14:47:35 +01:00
7af794e525 Remove gettext & lowerize 2016-02-24 14:19:47 +01:00
fd3fd481a6 Exclude v1 branches from Travis
Instead of allowing only v2.
Branches which didn't target v2 BUT related to v2 weren't tested on Travis
2016-02-24 13:50:29 +01:00
7447461352 Add namespace prefix for psr-4
> Defining autoload.psr-4 with an empty namespace prefix is a bad idea for performance
2016-02-24 13:43:02 +01:00
d7cc16c8b5 Merge pull request #1710 from wallabag/v2-message-graby-fails
Fix #811: Display a human message when graby fails to fetch articles
2016-02-24 08:43:17 +01:00
b091b1b330 Merge pull request #1715 from wallabag/v2-add-contributors-libraries
Fix #1694 #1669 #1684: Add contributors and 3rd party libraries
2016-02-24 08:39:17 +01:00
0a7e695975 remove unused functions & clean composer.json 2016-02-23 23:29:25 +01:00
db847ca0b7 add composer extensions check & function_exists checks 2016-02-23 19:06:37 +01:00
fc6020b2c8 Enhance requirements in InstallCommand 2016-02-23 16:41:38 +01:00
ff94ee94a6 Update issue template 2016-02-23 16:28:07 +01:00
ecb266d0ec replace contributors with a link to github 2016-02-23 16:18:13 +01:00
4a2c089c68 Add contributors and 3rd party libraries 2016-02-23 16:04:01 +01:00
754cb2abc0 Merge pull request #1714 from wallabag/v2-install-admin
Change wording for create a new user
2016-02-23 15:37:00 +01:00
90280df080 Change wording for create a new user 2016-02-23 14:38:42 +01:00
bb17ddea61 changed error message 2016-02-22 22:14:56 +01:00
0504f5660e Update CONTRIBUTING file 2016-02-22 22:10:26 +01:00
924ef7cacd Added documentation about errors during fetching 2016-02-22 22:00:52 +01:00
2aadeea8cd Merge pull request #1683 from wallabag/v2-demo
Demonstration mode to prevent password changes
2016-02-22 14:18:34 +01:00
2b71f68c95 Merge pull request #1701 from wallabag/v2-maintenance
Fix #1351: add maintenance mode
2016-02-22 13:40:15 +01:00
b6c00b0b80 Add tests 2016-02-22 13:33:22 +01:00
fe5597c433 Display a human message when graby fails to fetch articles 2016-02-22 13:30:17 +01:00
cd4d7f4b69 Merge pull request #1709 from wallabag/v2-typo-doc-fr
Fix #1708: typos in french documentation
2016-02-22 13:06:11 +01:00
7bf4dd891a typos in french documentation 2016-02-22 13:02:22 +01:00
437f1985b0 documentation for maintenance mode 2016-02-22 12:49:49 +01:00
5bcf1afd91 Use a tag for lexik/maintenance-bundle 2016-02-22 12:33:27 +01:00
fbbda94110 Fix #1351: add maintenance mode 2016-02-22 12:33:09 +01:00
e5b5270962 Add translation 2016-02-22 11:44:39 +01:00
a4f42c59f0 Use internal config instead for demo 2016-02-22 11:44:39 +01:00
d8d56448c9 add a username for demonstration mode 2016-02-22 11:43:29 +01:00
c3b43c8a3e change comment about demo parameter 2016-02-22 11:43:29 +01:00
36f20a6570 typo 2016-02-22 11:43:28 +01:00
6c9f50a662 Demonstration mode to prevent password changes 2016-02-22 11:43:28 +01:00
12b5a8cea1 Merge pull request #1702 from wallabag/v2-piwik
Added Piwik implementation
2016-02-22 11:24:41 +01:00
077ddbe1ae Use a different way to use piwik 2016-02-22 11:11:08 +01:00
eabb9771f4 Merge pull request #1707 from wallabag/nicosomb-patch-1
typo in french documentation
2016-02-21 17:42:01 +01:00
4bf0d4e0b5 typo in french documentation 2016-02-21 17:41:38 +01:00
c56abae16b Merge pull request #1706 from wallabag/v2-install-doc
Documentation for wallabag installation
2016-02-21 17:38:13 +01:00
426bfdc3f0 fix typos 2016-02-21 17:25:22 +01:00
89d95cdd18 improve installation documentation 2016-02-21 16:54:22 +01:00
e6ebb14f0f Documentation for wallabag installation 2016-02-21 13:55:10 +01:00
c90f8036ef Merge pull request #1705 from wallabag/v2-french-doc
French translation for documentation
2016-02-20 10:13:48 +01:00
8b197f27d8 import and first article french translations 2016-02-20 09:45:05 +01:00
8dbca9c133 french translation for login doc 2016-02-20 09:16:22 +01:00
9e60429c6d download articles in french 2016-02-20 09:09:33 +01:00
66755f8955 create account in french 2016-02-20 09:05:11 +01:00
91485cf27d forgot link for config page 2016-02-20 08:54:18 +01:00
05e173f283 typos on french homepage 2016-02-20 08:52:16 +01:00
ce168b6ead typos on french homepage 2016-02-20 08:50:36 +01:00
3495f78d77 French translation for documentation 2016-02-20 08:39:08 +01:00
0cde91cc6f Merge pull request #1699 from wallabag/v2-assign-tag
Move assignTagsToEntry in ContentProxy helper
2016-02-19 21:21:47 +01:00
a8c6b8ee0c Merge pull request #1700 from delyriand/v2-fix-1551
Fix #1551 - Redirect to the last page when current page is out of range
2016-02-19 16:21:31 +01:00
671a2b887f Fix #1551 - Redirect to the last page when current page is out of range 2016-02-19 16:02:31 +01:00
07643dde08 Fix #1137: implemented Piwik 2016-02-19 15:27:57 +01:00
c2656f96d4 Move assignTagsToEntry in ContentProxy helper 2016-02-19 14:22:20 +01:00
fa64d86110 Merge pull request #1693 from wallabag/v2-issue-template
Fix #1691 create ISSUE_TEMPLATE and PULL_REQUEST_TEMPLATE
2016-02-18 20:35:35 +01:00
befa6f2fe9 Merge pull request #1696 from wallabag/v2-french-translations-missing
Add some missing french translations
2016-02-18 14:44:26 +01:00
04c0737817 Add some missing french translations 2016-02-18 13:59:02 +01:00
88a5b0c753 typo 2016-02-18 13:19:07 +01:00
fdec3acab1 Merge pull request #1688 from mruminski/patch-1
Create messages.pl.yml
2016-02-18 13:16:49 +01:00
c665b863c7 Fix #1691 create ISSUE_TEMPLATE and PULL_REQUEST_TEMPLATE 2016-02-18 13:15:11 +01:00
660d66cabd Update messages.pl.yml
change ' to ""
2016-02-18 11:47:35 +01:00
1f8f9eaac8 Update messages.pl.yml
fix some mistakes in translation
2016-02-18 11:27:11 +01:00
bbbcd6997b Merge pull request #1690 from wallabag/v2-translate-min
translate estimated time minutes
2016-02-18 06:40:46 +01:00
f37c9c3348 translate estimated time minutes 2016-02-18 01:36:02 +01:00
93d0aa40bb Merge pull request #1689 from mruminski/patch-2
Create validators.pl.yml
2016-02-18 00:02:53 +01:00
7dc8fac718 Merge pull request #1686 from mruminski/v2
Polish translation
2016-02-18 00:01:37 +01:00
db0e34e2ce Merge pull request #1687 from 0wnrepo/v2
Translated another two files into romanian.
2016-02-18 00:00:46 +01:00
e87638227f Create validators.pl.yml
Polish translation
2016-02-17 22:23:51 +01:00
75ff0e6e32 Create messages.pl.yml
Polish translation
2016-02-17 22:18:30 +01:00
6a88b61cf1 Translated another two files into romanian. 2016-02-17 22:40:26 +02:00
ee40ccf260 Update config.yml
add Polish
2016-02-17 21:29:29 +01:00
109bda0672 Create CraueConfigBundle.pl.yml
Polish translation
2016-02-17 21:28:16 +01:00
45c4a616ec Merge pull request #1681 from wallabag/mabkenar-fa-translations
two more Persian translated files
2016-02-17 16:10:05 +01:00
c94779e499 Create CraueConfigBundle.fa.yml 2016-02-17 15:50:55 +01:00
ebac4090b5 Added Persian (fa) (فارسی) translation 2016-02-17 15:37:29 +01:00
c44cc178b5 Merge pull request #1679 from wallabag/v2-translation-doc
Documentation about translation
2016-02-17 15:33:21 +01:00
861bbfcbd4 Merge pull request #1680 from wallabag/v2-capistrano-sf3
Update Capistrano configuration for symfony3
2016-02-17 15:22:19 +01:00
28a5ee6fcf Update Capistrano configuration for symfony3 2016-02-17 15:02:50 +01:00
71d03b8536 typo 2016-02-17 14:48:41 +01:00
6a21cc6cf7 Merge pull request #1678 from 0wnrepo/v2
Translation file for the 'Romanian' language. Also recognised by ro_RO. Known in romanian as "Română".
2016-02-17 14:42:50 +01:00
29c9e8f18a Documentation about translation 2016-02-17 14:39:30 +01:00
ab25e399f0 Fix \&amp; 2016-02-17 13:39:23 +02:00
d8f5b27012 Translation file for the 'Romanian' language. Also recognised by ro_RO. Known in romanian as "Română". 2016-02-17 01:56:51 +02:00
2717089156 Merge pull request #1676 from mabkenar/v2
Translation for Persian
2016-02-16 17:08:22 +01:00
e2b4f0e2e7 Added Persian (fa) (فارسی) 2016-02-16 16:58:10 +01:00
b7c47a2a86 Create messages.fa.yml
Translation file for the 'Persian' language. Also recognized by fa_IR. Also known (in the Persian language) as Farsi. Also written like فارسی in Persian. All said, please call the language just 'Persian'.
2016-02-16 16:38:08 +01:00
f6249b67f6 Merge pull request #1668 from wallabag/v2-stuff
Few updates
2016-02-16 12:27:43 +01:00
8935a97c17 Update bin/symfony_requirements
Because of sensio/distribution-bundle (v5.0.4)
2016-02-16 11:51:31 +01:00
9e33bc9dfd Typos 2016-02-16 11:39:24 +01:00
559cd55bc8 Merge pull request #1672 from wallabag/v2-improve-baggy-theme
improve baggy theme (add new tag panel)
2016-02-15 19:22:13 +01:00
a8d5f8971e fix typos 2016-02-15 17:04:48 +01:00
4ead9c648f Merge pull request #1671 from wallabag/v2-fix-theme-img
display pictures properly
2016-02-15 08:31:46 +01:00
56349e470a improve baggy theme (add new tag panel) 2016-02-14 20:12:03 +01:00
e8d8026242 display pictures properly 2016-02-14 19:10:33 +01:00
daa2b7e7c3 More translations 2016-02-12 16:59:15 +01:00
cfc90f8422 Merge pull request #1658 from wallabag/v2-import-v1-tags
import tags from v1 (#1657)
2016-02-12 15:05:04 +01:00
fca2b05200 import tags from v1 (#1657) 2016-02-12 14:49:41 +01:00
9856805540 CS 2016-02-12 12:24:30 +01:00
0c6845a98f Add env=prod for server:run on install 2016-02-12 12:01:02 +01:00
55da765e11 Add missing translations 2016-02-12 12:00:49 +01:00
c7a4f74f9f Redirect to the right tab on /config 2016-02-12 12:00:26 +01:00
43e4a806bd Add missing @ in version number
[UnexpectedValueException]
  Could not parse version constraint 2.0.*alpha: Invalid version string "2.0.*alpha"
2016-02-12 10:21:22 +01:00
7a97c7d06f Merge pull request #1656 from wallabag/v2-fix-new-user-password-prompts
fix labels on new user prompt
2016-02-11 18:19:35 +01:00
6fa4be38eb fix labels on new user prompt
fix tests

nl

add translation validation length
2016-02-11 17:52:00 +01:00
06c190887f Merge pull request #1654 from wallabag/fix-add-button-mobile-view
fix #1636
2016-02-11 17:15:28 +01:00
a7c7de4e9b Better design of the close button 2016-02-11 16:51:12 +01:00
9b5edf33a0 Merge pull request #1663 from wallabag/v2-remove-tags-from-entry
remove tag from entry #1377
2016-02-11 16:49:03 +01:00
5db084e05b Merge pull request #1665 from wallabag/v2-translations
lots of diverse translation stuff & some typos
2016-02-11 16:48:46 +01:00
6896ae1dda Merge pull request #1666 from wallabag/v2-reimport-v1-articles-if-not-fetched
reimport v1 entries if they were not fetched
2016-02-11 16:47:58 +01:00
eaf9dad777 add tests 2016-02-11 15:48:20 +01:00
da0a9e01e9 CS 2016-02-11 13:39:21 +01:00
d7807ff5f6 translate craue config button 2016-02-11 13:37:28 +01:00
0783c99a19 reimport v1 entries if they were not fetched 2016-02-11 13:27:17 +01:00
e63252164f translation craue_config_panel 2016-02-11 12:49:25 +01:00
3a19060ca0 better translation 2016-02-11 12:39:35 +01:00
4c07a83b69 lots of diverse translation stuff & some typos 2016-02-11 01:42:37 +01:00
e686a76d34 improve test and change method name. Also, display number of entries for each tag 2016-02-10 18:40:15 +01:00
567421af50 remove tag from entry #1377 2016-02-10 17:41:28 +01:00
6e2ca4d825 Merge pull request #1659 from 0wnrepo/patch-1
Update README.md with the environment parameters
2016-02-09 17:21:42 +01:00
d3c0bc03cf Update README.md with the environment parameters 2016-02-09 16:30:32 +02:00
dcb6bd7a9d fix #1636 2016-02-08 21:30:11 +01:00
ae5b37ef2e Merge pull request #1651 from wallabag/v2-fix-wllbgv2-import
Test if some keys are missing in v2 import
2016-02-05 15:22:51 +01:00
4c46e2609f an other test for non empty fields 2016-02-05 14:52:35 +01:00
f21a5388f9 add test to check empty fields 2016-02-05 14:39:52 +01:00
565c8efb4f Merge pull request #1650 from wallabag/v2-fix-duplicate-exports
Exported entries were added twice in export file
2016-02-05 14:22:55 +01:00
cc67a81818 Merge pull request #1652 from wallabag/v2-superadmin
User created via wallabag:install is now a SUPER_ADMIN 👑
2016-02-05 14:13:13 +01:00
a0e6a6eb67 updated fixtures 2016-02-05 14:03:58 +01:00
8f06a8c416 User created via wallabag:install is now a SUPER_ADMIN 👑 2016-02-05 13:55:50 +01:00
de3b19b2ce Test if some keys are missing in v2 import 2016-02-05 13:50:16 +01:00
f898102c85 Exported entries were added twice in export file 2016-02-05 13:35:59 +01:00
704ed658a9 Merge pull request #1648 from lologhi/patch-1
Fix project version in installation command
2016-02-05 09:30:33 +01:00
eb79e1cc10 Merge branch 'v2' into patch-1 2016-02-05 16:23:22 +08:00
ea3b573653 Working generic command 2016-02-05 15:49:26 +08:00
7e48c04089 Merge pull request #1647 from wallabag/v2-install-prod
Force prod env on project creation
2016-02-05 08:38:45 +01:00
e3fc3fd4ca Fix project version in installation command 2016-02-05 11:32:44 +08:00
7e8e1178b4 Force prod env on project creation
So the only solution I found so far is to force the `prod` env when create the project with composer.
There is other solution.

Since the `cache:clear` task is using `dev` env by default, so it tries to load dev bundle, which aren't there since we specify `--no-dev`.

Fix #1617
2016-02-04 21:39:02 +01:00
22a267aeff Merge pull request #1633 from wallabag/exporttxt
Exporttxt
2016-02-04 20:53:42 +01:00
eb15061d0b Adjust export order
To be the same as on the entry page.
Also, export name doesn't need to be translated.
2016-02-04 20:41:30 +01:00
d3f31ec485 CS 2016-02-04 20:31:26 +01:00
f161122412 put the equals bar outside the loop 2016-02-04 20:31:26 +01:00
3b07d01937 remove old dependancy 2016-02-04 20:31:26 +01:00
3a2ada0be0 fix tests 2016-02-04 20:31:26 +01:00
365a38984e better display for txt 2016-02-04 20:31:26 +01:00
6c08fb68b8 add txt export 2016-02-04 20:30:51 +01:00
27c837dcd1 Merge pull request #1642 from wallabag/v2-escape-preview
Unescape content for Material card
2016-02-04 17:46:02 +01:00
2ab20ed6f9 Merge pull request #1644 from wallabag/v2-enable-confirmation-parameter
Fix #1622: parameter for FosUser confirmation
2016-02-04 17:45:50 +01:00
eb3e3969a2 Merge pull request #1645 from wallabag/v2-fix-loadtemplate-sendemail
Fix #1643: fix the way to load the HTML template in 2factor auth
2016-02-04 17:45:26 +01:00
855a4c680f Fix #1643: fix the way to load the HTML template in 2factor auth 2016-02-04 17:29:14 +01:00
bc358c9180 CS 2016-02-04 16:06:05 +01:00
3eb06f2891 Fix #1622: parameter for FosUser confirmation 2016-02-04 16:00:45 +01:00
e008c037f5 Merge pull request #1612 from wallabag/v2-settings-page
Settings page
2016-02-04 15:59:57 +01:00
0796532460 Unescape content for Material card
Using slice & striptags, the content is automatically escaped.
If some html character need to be displayed, they'll be escape too, sth like `&amp;`.
Using |raw, the content isn't escape twice and is well displayed.
2016-02-03 20:45:15 +01:00
74f39b0952 Merge pull request #1641 from wallabag/v2-doc-typo
Update import.rst to fix a doc typo
2016-02-01 14:25:22 +01:00
f4243aa75f Update import.rst 2016-02-01 14:22:19 +01:00
85ad629a3c Merge pull request #1601 from wallabag/v2-import-from-v2
[#1590] Add JSON import from wallabag v2
2016-02-01 14:17:20 +01:00
e43d27f845 Merge pull request #1605 from wallabag/v2-fix-sensiolabsinsight
[#1604] First draft to fix SensioLabsInsight report
2016-02-01 13:51:35 +01:00
74d8afa5fa Merge pull request #1639 from wallabag/v2-change-test-dbname
Fix #1635: change database name for test environments (mysql/pgsql)
2016-02-01 13:46:32 +01:00
79b9e49d94 Fix Shaarli url traduction 2016-02-01 13:42:27 +01:00
c7eef67291 Fix fos_user 2016-02-01 13:38:33 +01:00
61c640ed31 Fix #1635: change database name for test environments (mysql/pgsql) 2016-02-01 13:22:34 +01:00
48e3007b7f Fix from_email & fos_user 2016-01-31 15:31:34 +01:00
a74a6ca2b1 Add new export config 2016-01-31 15:31:30 +01:00
07c9b1c98a Fix permission to settings page 2016-01-31 14:48:26 +01:00
1c7d66645b CS 2016-01-31 14:48:26 +01:00
2a58606983 Fix tests 2016-01-31 14:48:26 +01:00
67c99849ae Use alias to get container parameters 2016-01-31 14:48:26 +01:00
d6ba77e888 Create internal setting on install & fixtures 2016-01-31 14:48:26 +01:00
278b221e65 We don't need migration yet 2016-01-31 14:48:26 +01:00
1e3ed71470 Add warning message for PocketImport
Warn user if pocket_consumer_key isn't defined
2016-01-31 14:48:26 +01:00
63e40f2d7c Add CraueConfig for internal settings 2016-01-31 14:48:26 +01:00
26975877d7 Always include warning message
We'll remove it later, on the stable release
2016-01-31 14:37:19 +01:00
bc78968764 Move default configuration out of parameters
These default configuration value shouldn't be in parameters.yml.
2016-01-31 14:37:19 +01:00
feb02cb709 Merge pull request #1630 from wallabag/v2-add-gitter-badge
Add @GitterHQ badge on README
2016-01-24 20:02:43 +01:00
51d8343954 Add @GitterHQ badge on README 2016-01-24 20:02:31 +01:00
143869525f Merge pull request #1629 from wallabag/fixexportformats
fix #1620 and introduce new parameters to export
2016-01-24 18:48:28 +01:00
2532f72c59 Merge pull request #1628 from ogunkarakus/v2-turkish-translation
Add Turkish translation
2016-01-24 18:44:58 +01:00
b89444ad8b fix #1620 and introduce new parameters to export 2016-01-24 18:21:09 +01:00
f47101e0c4 Add Turkish translation
Signed-off-by: Ogün Karakuş <kirk5bucuk@gmail.com>
2016-01-24 17:27:26 +02:00
95780f5abe Merge pull request #1625 from wallabag/v2-fix-1621
[#1621] Add default address for FosUser
2016-01-23 20:29:32 +01:00
a40dd9896b [#1621] Add default address for FosUser 2016-01-23 14:30:56 +01:00
5f8a785719 SensioLabsInsight fixes 2016-01-22 21:12:11 +01:00
b0b893eafd [#1604] First draft to fix SensioLabsInsight report 2016-01-22 21:12:11 +01:00
96fcb60c33 Merge pull request #1619 from wallabag/v2-themes-folder
Move public assets for themes
2016-01-22 20:54:17 +01:00
30d81a47c6 Move public assets for themes
So they can be installed using the `assets:install` command and there'll no longer symlink in the repo
They moved from `web/themes/...` to `bundles/wallabagcore/themes/...`
2016-01-22 13:45:14 +01:00
124f8091cb Merge pull request #1618 from wallabag/v2-readme
Updated version in README
2016-01-22 11:46:38 +01:00
06657cb73c Updated version in README 2016-01-22 11:45:43 +01:00
6c32aaae95 Merge pull request #1614 from wallabag/v2-few-fixes
Few fixes
2016-01-22 09:36:50 +01:00
23afdf3a70 CS 2016-01-22 08:01:32 +01:00
a3cac44c78 Add for deleting rule from an other user 2016-01-22 08:01:17 +01:00
0f0e8eb82a Use FOSUserEvents instead of c/p a controller
The `resetAction` was overriden to redirect user to the homepage instead of `fos_user_profile_show`.
Instead of copying the whole method we can simply use FOSUserEvents to handle that.
2016-01-21 16:39:13 +01:00
a0d6ccc5ca Fix bad type after using findByUrlAndUserId
It returns an object since few commits this part of (untested) code still use an array.
Also add test for that part of code.
2016-01-21 16:37:25 +01:00
e56983af1f Fix bad redirection when adding a new user 2016-01-21 16:36:30 +01:00
27ea492cf7 Add tests on TagAllCommand
Some simple tests
2016-01-21 16:36:17 +01:00
7a0e6970b4 Use PHP7 random_bytes to generate RSS Token
random_bytes is a PHP 7 function wich has been ported to PHP 5 using paragonie/random_compat
2016-01-21 16:35:41 +01:00
9aa66d6244 Merge pull request #1565 from wallabag/v2-2fa-html
Use HTML email for 2FA
2016-01-21 12:27:47 +01:00
abd454c456 Update HTML 2FA template
Split paragraph in translation
Inject wallabag_url for image in HTML template
Remove username & password from config_dev.yml (null are already the default value)
2016-01-21 11:03:27 +01:00
5f736213af #1490 HTML in E-Mails 2016-01-21 11:03:27 +01:00
d1f1333f48 CS 2016-01-21 11:03:27 +01:00
7ce895bf5e Use HTML email for 2FA
Related to #1490
2016-01-21 11:03:27 +01:00
e72a943ad2 Merge pull request #1610 from wallabag/v2-composer-lock-release
Disable xdebug all the time
2016-01-21 11:02:18 +01:00
3ee1582e60 Disable xdebug all the time
Use travis_wait to avoid travis timeout on `composer up`
Jump to `memory_limit -1` for `composer up`
Also, since composer.lock is ignored, we can remove it.
2016-01-21 09:29:14 +01:00
eff6a406f3 Merge pull request #1606 from wallabag/v2-tag-cascade
Remove tag relation when removing an entry
2016-01-21 08:38:37 +01:00
ff1c7d16be Merge pull request #1607 from wallabag/v2-composer-lock
Ignore composer.lock
2016-01-21 08:28:52 +01:00
173629a400 Ignore composer.lock
Having a big composer.lock on a final project can have side effect on incoming PR that add a new vendor.
Mostly because conflict are too frequent.

By ignoring composer.lock we ease the PR submission and rebase.

BUT we need to be careful when we release a new version of wallabag. We should manually `git add -f composer.lock` to update it.

Since composer.lock will no longer be commited I switch the `composer install` to a `composer up` in the travis configuration.
2016-01-20 18:49:45 +01:00
7e80861588 Remove tag relation when removing an entry
Fix #1453
2016-01-20 18:35:57 +01:00
6785f4aa74 [#1590] Add JSON import from wallabag v2 2016-01-20 14:37:01 +01:00
d481f42b7d Merge pull request #1599 from wallabag/v2-fix-pt-documentation
Add configuration for portuguese documentation
2016-01-20 13:00:43 +01:00
acc0160c29 Add configuration for portuguese documentation 2016-01-20 12:54:19 +01:00
3a59d13fd1 Merge pull request #1594 from araujo0205/patch-1
Create index.rst
2016-01-20 12:09:18 +01:00
e1101bee83 Create index.rst 2016-01-19 16:01:28 -02:00
3080a4afa4 Merge pull request #1587 from wallabag/v2-translator
Use translator interface instead of final class
2016-01-18 09:16:01 +01:00
e678c4752a Use translator interface instead of final class
Symfony use a different class when in dev mode and prod mode.

Prod loads `Symfony\Bundle\FrameworkBundle\Translation\Translator`.
Dev loads `Symfony\Component\Translation\DataCollectorTranslator` to gather information for the debug bar.

Fix #1585
2016-01-17 12:56:04 +01:00
3bcc4d4cb2 Merge pull request #1584 from wallabag/v2-cleanup
some cleanup
2016-01-15 16:29:06 +01:00
160e2d8f0b some cleanup:
* move capistrano config files
* remove useless files
2016-01-15 16:07:57 +01:00
f902d78153 Merge pull request #1564 from wallabag/v2-remove-flattr
Remove Flattr references
2016-01-15 16:01:13 +01:00
86719c63bf Merge pull request #1583 from wallabag/v2-fix-delete
Fix `findOneByUrl` side effect in tests
2016-01-15 15:47:13 +01:00
b91465c067 remove flattr on about page 2016-01-15 15:46:46 +01:00
1930c19d82 Merge pull request #1524 from wallabag/sf2.8
Upgrade to Symfony 3.0
2016-01-15 15:38:31 +01:00
7883367246 Fix findOneByUrl side effect in tests
Fix #1566
2016-01-15 15:28:32 +01:00
790573d458 Merge pull request #1560 from wallabag/v2-quickstart
Fix #1501 Quickstart for beginners
2016-01-15 15:21:43 +01:00
5c072d2b57 Quickstart for beginners 2016-01-15 15:01:30 +01:00
131eaa3e94 Update graby stuff 2016-01-15 11:05:51 +01:00
c7f622d369 Update readme & fix console permission 2016-01-15 09:36:32 +01:00
1fc8ed8794 Last deps update 2016-01-15 09:35:39 +01:00
d8dbe76bf5 Add assets config
To avoid :
> Twig_Error_Syntax: Unknown "asset" function in
2016-01-15 09:35:39 +01:00
ccf50a9fd8 Update path in build file 2016-01-15 09:35:39 +01:00
31e33fc42e Update to Symfony 3.0.x 2016-01-15 09:35:39 +01:00
73cd160bfc Switch to Symfony 3 structure 2016-01-15 09:35:39 +01:00
1d405d0e62 Remove some commented code 2016-01-15 09:35:39 +01:00
c38d27d421 Update to friendsofsymfony/oauth-server-bundle@1.5.0-BETA 2016-01-15 09:35:39 +01:00
27e475a941 Fix Pocket generateUrl parameters 2016-01-15 09:35:38 +01:00
6108b0f26c Update deps
LexikFormFilterBundle & RulerZBundle are now Symfony 3 compatible

There are still some issue with FOSOAuthServerBundle
2016-01-15 09:35:38 +01:00
1d76102a24 Fix recent update
- some missing url parameters from WallabagRestController & EntryController
- use a service for `EntryFilterType` to use fully qualified name instead (so changing class signature)
- update ImportBundle (url & form)
2016-01-15 09:35:38 +01:00
8ba854c068 TwoFactorBundle -> 2.0 2016-01-15 09:35:38 +01:00
b4faefc04d Switch to psr-4 2016-01-15 09:35:38 +01:00
5c895a7fd1 Update bundle & stock file
- update stock file (AppKernel, app.php, etc ..) from SymfonyStandard edition)
- update bundle to latest release
- remove security on profiler
2016-01-15 09:35:38 +01:00
619cc45359 Symfony Upgrade Fixer FTW
symfony-upgrade-fixer fix src/Wallabag/
2016-01-15 09:35:38 +01:00
516022d60e Improve composer.json
Following great article from Jordi: http://seld.be/notes/new-composer-patterns

Changelogs summary:

 - paragonie/random_compat updated from 1.1.1 to 1.1.4
   See changes: https://github.com/paragonie/random_compat/compare/1.1.1...1.1.4
   Release notes: https://github.com/paragonie/random_compat/releases/tag/1.1.4

 - doctrine/cache updated from v1.5.2 to v1.5.4
   See changes: https://github.com/doctrine/cache/compare/v1.5.2...v1.5.4
   Release notes: https://github.com/doctrine/cache/releases/tag/v1.5.4

 - sensio/framework-extra-bundle updated from v3.0.11 to v3.0.12
   See changes: https://github.com/sensiolabs/SensioFrameworkExtraBundle/compare/v3.0.11...v3.0.12
   Release notes: https://github.com/sensiolabs/SensioFrameworkExtraBundle/releases/tag/v3.0.12

 - nelmio/cors-bundle updated from 1.4.0 to 1.4.1
   See changes: https://github.com/nelmio/NelmioCorsBundle/compare/1.4.0...1.4.1
   Release notes: https://github.com/nelmio/NelmioCorsBundle/releases/tag/1.4.1

 - friendsofsymfony/rest-bundle updated from 1.7.4 to 1.7.6
   See changes: https://github.com/FriendsOfSymfony/FOSRestBundle/compare/1.7.4...1.7.6
   Release notes: https://github.com/FriendsOfSymfony/FOSRestBundle/releases/tag/1.7.6

 - nelmio/api-doc-bundle updated from 2.11.0 to 2.11.1
   See changes: https://github.com/nelmio/NelmioApiDocBundle/compare/2.11.0...2.11.1
   Release notes: https://github.com/nelmio/NelmioApiDocBundle/releases/tag/2.11.1

 - neitanod/forceutf8 updated from v1.5 to v2.0
   See changes: https://github.com/neitanod/forceutf8/compare/v1.5...v2.0
   Release notes: https://github.com/neitanod/forceutf8/releases/tag/v2.0

 - j0k3r/graby-site-config updated from 1.0.9 to 1.0.10
   See changes: https://github.com/j0k3r/graby-site-config/compare/1.0.9...1.0.10
   Release notes: https://github.com/j0k3r/graby-site-config/releases/tag/1.0.10

 - j0k3r/graby updated from 1.0.6 to 1.0.7
   See changes: https://github.com/j0k3r/graby/compare/1.0.6...1.0.7
   Release notes: https://github.com/j0k3r/graby/releases/tag/1.0.7

 - sebastian/diff updated from 1.4.0 to 1.4.1
   See changes: https://github.com/sebastianbergmann/diff/compare/1.4.0...1.4.1
   Release notes: https://github.com/sebastianbergmann/diff/releases/tag/1.4.1

 - phpunit/phpunit updated from 4.8.19 to 4.8.21
   See changes: https://github.com/sebastianbergmann/phpunit/compare/4.8.19...4.8.21
   Release notes: https://github.com/sebastianbergmann/phpunit/releases/tag/4.8.21

 - kphoen/rulerz updated from 0.16.1 to 0.16.2
   See changes: https://github.com/K-Phoen/rulerz/compare/0.16.1...0.16.2
   Release notes: https://github.com/K-Phoen/rulerz/releases/tag/0.16.2
2016-01-15 09:35:37 +01:00
bd2c8b4677 Wallabag now require PHP >= 5.5
See https://github.com/K-Phoen/rulerz/pull/21/files#diff-b5d0ee8c97c7abd7e3fa29b9a27d1780
2016-01-15 09:35:37 +01:00
30a40b0298 Remove weak deprecation 💥 2016-01-15 09:35:37 +01:00
e23edfd287 Update deps
Changelogs summary:

 - doctrine/cache updated from v1.5.1 to v1.5.2
   See changes: https://github.com/doctrine/cache/compare/v1.5.1...v1.5.2
   Release notes: https://github.com/doctrine/cache/releases/tag/v1.5.2

 - doctrine/common updated from v2.5.1 to v2.5.2
   See changes: https://github.com/doctrine/common/compare/v2.5.1...v2.5.2
   Release notes: https://github.com/doctrine/common/releases/tag/v2.5.2

 - symfony/polyfill-mbstring installed in version v1.0.0
   Release notes: https://github.com/symfony/polyfill-mbstring/releases/tag/v1.0.0

 - symfony/polyfill-util installed in version v1.0.0
   Release notes: https://github.com/symfony/polyfill-util/releases/tag/v1.0.0

 - paragonie/random_compat installed in version 1.1.1
   Release notes: https://github.com/paragonie/random_compat/releases/tag/1.1.1

 - symfony/polyfill-php70 installed in version v1.0.0
   Release notes: https://github.com/symfony/polyfill-php70/releases/tag/v1.0.0

 - symfony/polyfill-php56 installed in version v1.0.0
   Release notes: https://github.com/symfony/polyfill-php56/releases/tag/v1.0.0

 - ircmaxell/password-compat installed in version v1.0.4
   Release notes: https://github.com/ircmaxell/password_compat/releases/tag/v1.0.4

 - symfony/polyfill-php55 installed in version v1.0.0
   Release notes: https://github.com/symfony/polyfill-php55/releases/tag/v1.0.0

 - symfony/polyfill-php54 installed in version v1.0.0
   Release notes: https://github.com/symfony/polyfill-php54/releases/tag/v1.0.0

 - symfony/polyfill-intl-icu installed in version v1.0.0
   Release notes: https://github.com/symfony/polyfill-intl-icu/releases/tag/v1.0.0

 - symfony/symfony updated from v2.7.7 to v2.8.0
   See changes: https://github.com/symfony/symfony/compare/v2.7.7...v2.8.0
   Release notes: https://github.com/symfony/symfony/releases/tag/v2.8.0

 - symfony/security-acl installed in version v2.7.7
   Release notes: https://github.com/symfony/security-acl/releases/tag/v2.7.7

 - doctrine/orm updated from v2.5.1 to v2.5.2
   See changes: https://github.com/doctrine/doctrine2/compare/v2.5.1...v2.5.2
   Release notes: https://github.com/doctrine/doctrine2/releases/tag/v2.5.2

 - kriswallsmith/assetic updated from v1.3.1 to v1.3.2
   See changes: https://github.com/kriswallsmith/assetic/compare/v1.3.1...v1.3.2
   Release notes: https://github.com/kriswallsmith/assetic/releases/tag/v1.3.2

 - symfony/assetic-bundle updated from v2.7.0 to v2.7.1
   See changes: https://github.com/symfony/assetic-bundle/compare/v2.7.0...v2.7.1
   Release notes: https://github.com/symfony/assetic-bundle/releases/tag/v2.7.1

 - symfony/swiftmailer-bundle updated from v2.3.8 to v2.3.9
   See changes: https://github.com/symfony/swiftmailer-bundle/compare/v2.3.8...v2.3.9
   Release notes: https://github.com/symfony/swiftmailer-bundle/releases/tag/v2.3.9

 - symfony/monolog-bundle updated from 2.8.1 to v2.8.2
   See changes: https://github.com/symfony/monolog-bundle/compare/2.8.1...v2.8.2
   Release notes: https://github.com/symfony/monolog-bundle/releases/tag/v2.8.2

 - sensio/distribution-bundle updated from v3.0.33 to v3.0.34
   See changes: https://github.com/sensiolabs/SensioDistributionBundle/compare/v3.0.33...v3.0.34
   Release notes: https://github.com/sensiolabs/SensioDistributionBundle/releases/tag/v3.0.34

 - friendsofsymfony/rest-bundle updated from 1.7.2 to 1.7.4
   See changes: https://github.com/FriendsOfSymfony/FOSRestBundle/compare/1.7.2...1.7.4
   Release notes: https://github.com/FriendsOfSymfony/FOSRestBundle/releases/tag/1.7.4

 - nelmio/api-doc-bundle updated from 2.10.3 to 2.11.0
   See changes: https://github.com/nelmio/NelmioApiDocBundle/compare/2.10.3...2.11.0
   Release notes: https://github.com/nelmio/NelmioApiDocBundle/releases/tag/2.11.0

 - j0k3r/graby-site-config updated from 1.0.6 to 1.0.9
   See changes: https://github.com/j0k3r/graby-site-config/compare/1.0.6...1.0.9
   Release notes: https://github.com/j0k3r/graby-site-config/releases/tag/1.0.9

 - j0k3r/safecurl updated from v1.1.1 to 2.0.2
   See changes: https://github.com/j0k3r/safecurl/compare/v1.1.1...2.0.2
   Release notes: https://github.com/j0k3r/safecurl/releases/tag/2.0.2

 - j0k3r/graby updated from 1.0.4 to 1.0.6
   See changes: https://github.com/j0k3r/graby/compare/1.0.4...1.0.6
   Release notes: https://github.com/j0k3r/graby/releases/tag/1.0.6

 - scheb/two-factor-bundle updated from v1.4.7 to v1.5.0
   See changes: https://github.com/scheb/two-factor-bundle/compare/v1.4.7...v1.5.0
   Release notes: https://github.com/scheb/two-factor-bundle/releases/tag/v1.5.0

 - sebastian/recursion-context updated from 1.0.1 to 1.0.2
   See changes: https://github.com/sebastianbergmann/recursion-context/compare/1.0.1...1.0.2
   Release notes: https://github.com/sebastianbergmann/recursion-context/releases/tag/1.0.2

 - sebastian/environment updated from 1.3.2 to 1.3.3
   See changes: https://github.com/sebastianbergmann/environment/compare/1.3.2...1.3.3
   Release notes: https://github.com/sebastianbergmann/environment/releases/tag/1.3.3

 - sebastian/diff updated from 1.3.0 to 1.4.0
   See changes: https://github.com/sebastianbergmann/diff/compare/1.3.0...1.4.0
   Release notes: https://github.com/sebastianbergmann/diff/releases/tag/1.4.0

 - phpunit/phpunit updated from 4.8.18 to 4.8.19
   See changes: https://github.com/sebastianbergmann/phpunit/compare/4.8.18...4.8.19
   Release notes: https://github.com/sebastianbergmann/phpunit/releases/tag/4.8.19

 - symfony/phpunit-bridge updated from v2.7.7 to v2.8.0
   See changes: https://github.com/symfony/phpunit-bridge/compare/v2.7.7...v2.8.0
   Release notes: https://github.com/symfony/phpunit-bridge/releases/tag/v2.8.0

 - doctrine/doctrine-cache-bundle updated from 1.2.1 to 1.2.2
   See changes: https://github.com/doctrine/DoctrineCacheBundle/compare/1.2.1...1.2.2
   Release notes: https://github.com/doctrine/DoctrineCacheBundle/releases/tag/1.2.2

 - doctrine/doctrine-bundle updated from v1.5.2 to 1.6.1
   See changes: https://github.com/doctrine/DoctrineBundle/compare/v1.5.2...1.6.1
   Release notes: https://github.com/doctrine/DoctrineBundle/releases/tag/1.6.1

 - phpzip/phpzip updated from 2.0.7 to 2.0.8
   See changes: https://github.com/Grandt/PHPZip/compare/2.0.7...2.0.8
   Release notes: https://github.com/Grandt/PHPZip/releases/tag/2.0.8

 - kphoen/rulerz updated from 0.14.0 to 0.16.1
   See changes: https://github.com/K-Phoen/rulerz/compare/0.14.0...0.16.1
   Release notes: https://github.com/K-Phoen/rulerz/releases/tag/0.16.1

 - friendsofsymfony/user-bundle updated from dev-master to dev-master
   See changes: 45d6f40...e39b040
2016-01-15 09:35:37 +01:00
9ee44a109a Merge pull request #1574 from jjanvier/readme
Fix typo and set version in the README
2016-01-14 07:50:55 +01:00
6663d49329 Fix typo and set version in the README 2016-01-14 00:47:17 +01:00
0aafb8dfcb Merge pull request #1561 from FabienM/docker-compose
Add basic docker-compose configuration
2016-01-11 09:08:39 +01:00
8b909e7ea7 Add documentation to run docker-compose 2016-01-10 15:01:20 +01:00
1d41effebc Add Docker configuration for Postgres and MariaDB 2016-01-10 15:01:11 +01:00
540ef5e084 Add basic docker-compose configuration 2016-01-10 14:41:42 +01:00
4aa2997106 Merge pull request #1563 from wallabag/v2-fix-1394
#1394 Fixed 'mark as read' and 'mark as unread' links
2016-01-10 10:20:16 +01:00
c60b549313 Merge pull request #1562 from wallabag/v2-add-import-baggy
add import link on baggy theme
2016-01-10 10:17:27 +01:00
6c9bad13e1 Fixed 'mark as read' and 'mark as unread' links 2016-01-09 22:20:19 +01:00
da82839bf8 add import link on baggy theme 2016-01-09 20:33:09 +01:00
5ad863c63a Merge pull request #1558 from wallabag/v2-documentation
[v2] documentation cleaning
2016-01-09 17:33:27 +01:00
1caf557de7 Merge pull request #1559 from wallabag/v2-doctrine-migrations
Installation & configuration of Doctrine Migrations
2016-01-09 14:43:06 +01:00
e1b9f4fb37 Update deps
Changelogs summary:

 - doctrine/dbal updated from v2.5.3 to v2.5.4
   See changes: https://github.com/doctrine/dbal/compare/v2.5.3...v2.5.4
   Release notes: https://github.com/doctrine/dbal/releases/tag/v2.5.4

 - doctrine/orm updated from v2.5.3 to v2.5.4
   See changes: https://github.com/doctrine/doctrine2/compare/v2.5.3...v2.5.4
   Release notes: https://github.com/doctrine/doctrine2/releases/tag/v2.5.4

 - nelmio/api-doc-bundle updated from 2.11.1 to 2.11.2
   See changes: https://github.com/nelmio/NelmioApiDocBundle/compare/2.11.1...2.11.2
   Release notes: https://github.com/nelmio/NelmioApiDocBundle/releases/tag/2.11.2

 - friendsofsymfony/user-bundle updated from dev-master to dev-master
   See changes: e5e7a2b...6ccff96
2016-01-09 14:24:09 +01:00
a42938f42c documentation cleaning 2016-01-09 13:50:45 +01:00
292c1324e9 Installation & configuration of Doctrine Migrations 2016-01-08 16:27:29 +01:00
39643c6b76 Merge pull request #1493 from wallabag/v2-pocket-import
v2 – 1st draft for Pocket import via API & Wallabag v1 import
2016-01-07 22:15:08 +01:00
b88cf91fc8 updated tests 2016-01-07 21:00:04 +01:00
488a468e3e Merge pull request #1553 from wallabag/v2-hide-export-button
Hide export button if we are not on entries list
2016-01-06 21:25:41 +01:00
10b2411c10 Hide export button if we are not on entries list 2016-01-06 07:47:09 +01:00
d1af8ad4db Added french translations 2016-01-05 22:38:09 +01:00
8eedc8cfac Few phpDoc fix
And some little mistakes
2016-01-03 11:15:44 +01:00
c5c7f90a81 Fix tag related test for Pocket 2016-01-03 10:32:56 +01:00
5b2b5858fe Update deps 2016-01-02 23:31:41 +01:00
6d7c7a6e3f Remove real consumer key
We should never commit them :)
2016-01-02 23:27:41 +01:00
7019c7cf6c Add tagged services for import
- list services in /import
- add url to import service
- ImportBundle routing are now prefixed by /import
- optimize flush in each import (flushing each 20 contents)
- improve design of each import
- add more tests
2016-01-02 23:27:41 +01:00
b1d05721cf Rewrote Wallabag v1 import 2016-01-02 23:27:41 +01:00
252ebd6071 Rewrote Pocket Import
For the moment, we won't do a queue system, just a plain synchronous import.
We also use ContentProxy to grab content for each article from Pocket.
Error from Pocket are now logged using the logger.
The ImportInterface need to be simple and not related to oAuth (not all import will use that method).
2016-01-02 23:27:41 +01:00
b4b592a0c0 Fix the way to check for an existing entry
Instead of requiring more than 1 entry (> 1) we have to check for at least one entry (> 0)
2016-01-02 23:27:41 +01:00
77a7752a59 Update after previous merge
PR #1443 was merged into this branch to handle all import type in the same place.
2016-01-02 23:27:41 +01:00
7ec2897ee0 First test on PocketImport
Giving ability to define the Client add abitliy to easliy test the import.
2016-01-02 23:27:41 +01:00
0aa344dc24 Update url & service name
Prefix ur with service namel: [service]_[route name]
Add comment in Interface
2016-01-02 23:27:41 +01:00
5a4bbcc9a7 Change the way to check for an existing entry
The repository method return the entry found or false if nothing exists.
2016-01-02 23:27:41 +01:00
27a8708b67 Update deps 2016-01-02 23:27:41 +01:00
303768dfe9 - remove importers configuration
- add check on userId for findOneByURL for entries
2016-01-02 23:27:41 +01:00
dda57bb944 fix #1502 avoid duplicate entry and store pocket url in config 2016-01-02 23:24:17 +01:00
87f23b005c assign tags to entries and add lastPocketImport attribute to user 2016-01-02 23:24:17 +01:00
d51b38ed30 create ImportController to list importers 2016-01-02 23:24:17 +01:00
557e549db7 service call 2016-01-02 23:24:17 +01:00
9c9c23cf08 forgot test parameters 2016-01-02 23:24:17 +01:00
ff7b031d57 refactor pocket import 2016-01-02 23:24:17 +01:00
1f4408de9e 1st draft for Pocket import via API 2016-01-02 23:24:17 +01:00
10b40f85d6 add docs for Import feature 2016-01-02 23:24:17 +01:00
d275bdf4d3 form to upload file 2016-01-02 23:24:17 +01:00
8c3c77c1bd create controller to launch import command 2016-01-02 23:24:17 +01:00
a1bb1b3c2a userId is now set in parameters 2016-01-02 23:24:17 +01:00
56ea1de99b first draft for json import, needed for wallabag v1 migration 2016-01-02 23:24:17 +01:00
dad1c546a5 Merge pull request #1545 from wallabag/v2-user-tag
v2 – Remove user reference in tag
2016-01-02 12:46:52 +01:00
5432f61509 Merge pull request #1546 from wallabag/v2-reload-content
v2 – Ability to reload an entry
2016-01-02 12:46:09 +01:00
00a051add4 Merge pull request #1547 from wallabag/v2-mistakes
v2 – Fix wrong if when deleting an entry
2016-01-02 12:45:08 +01:00
e82160e5e9 Fix wrong if when deleting an entry
Bad condition when deleting an entry returned `true` instead of the referer url
2015-12-30 11:32:53 +01:00
0cf434c00f Backport all icomoon from v1
And add a reload icon
2015-12-30 09:53:52 +01:00
831b02aaf2 Ability to reload an entry
Could be useful when we want to update the content or when the content failed to be fetched.

Fix #1503
2015-12-30 09:41:17 +01:00
6be9750155 Removed comment
And move the SQL query inside the php doc
2015-12-29 21:59:34 +01:00
e6a228c43b Merge pull request #1544 from wallabag/2fa-email
v2 – Add custom email for 2FA
2015-12-29 20:32:58 +01:00
4059a061c0 Fix the way to remove a tag from all user entries 2015-12-29 15:43:32 +01:00
1bb1939ab7 Cleanup tests
- WallabagRestController: remove the tag deletion from the API since we can't remove a tag now, we only remove reference to entries
- RuleBasedTaggerTest: remove workaround for asserting tag are equal since problem was related to mock expects (_call instead of findOneByLabel which was removed from the tag repository)
2015-12-29 15:04:46 +01:00
01fddd0cb2 Fix parameters regarding documentation
Parameters are `star` & `archived`, not `is_starred` & `is_archived`
2015-12-29 14:54:55 +01:00
fc73222723 Remove user reference in tag
Fix #1543
2015-12-29 14:50:52 +01:00
ab64c3d9ac PHP 7.0 must not fail 2015-12-29 11:41:35 +01:00
23ff8d3619 Add custom email for 2FA
Related #1490
2015-12-29 11:17:06 +01:00
c997cfcc9c Merge pull request #1540 from wallabag/v2-fix-delete
v2 – 	Don't redirect to the content page after deletion
2015-12-28 13:51:48 +01:00
2863bf2ab5 Don't redirect to the content page after deletion
Fix #1512

We generate the url of the removed content and compare it to the referer url. If they matche, we redirect user to the homepage otherwise to the referer url.
2015-12-28 13:42:50 +01:00
71eff67f8b Entry data should have unique url 2015-12-28 13:42:50 +01:00
d25b828821 Merge pull request #1542 from wallabag/v2-avoid-duplicate-tag
v2 – 	Avoid multiple tag creation
2015-12-28 13:37:13 +01:00
e9fa8c40aa Add test on tagAllForUser
And fix multiplication of entries returned by `tagAllForUser`.
2015-12-28 13:20:48 +01:00
fc031e5706 Avoid multiple tag creation
When a new tag is created but not yet persisted, it can be duplicated.
It could happen when multiple rules match the content and at least 2 of them should attach same new tag.

Fix #1528
2015-12-28 13:20:48 +01:00
82899c0402 Merge pull request #1488 from wallabag/v2-slug-tags
Slug for tags
2015-12-28 13:12:30 +01:00
3c65dfb735 add slug for tags 2015-12-28 12:49:45 +01:00
22c1d29b89 Merge pull request #1537 from bdunogier/update_lock
Updated composer.lock
2015-12-24 08:37:27 +01:00
d4aa174367 Updated composer.lock
Had to restrict scheb/two-factor-bundle to ~1.4.0 because of a circular service reference.
See https://github.com/scheb/two-factor-bundle/issues/33.

Also updated php version requirement to 5.5.0.
2015-12-23 22:49:03 +01:00
da2240f9d4 Merge pull request #1529 from wallabag/v2-taggingrule-tablename
changed table name for tagging rule
2015-12-08 09:35:27 +01:00
347fa6beb0 php cs 2015-12-08 09:20:03 +01:00
c5d0db8b71 changed table name for tagging rule 2015-12-08 09:05:56 +01:00
a7f1921f7d Merge pull request #1478 from K-Phoen/rule-based-tags
Rule based tags
2015-12-06 14:31:26 +01:00
2e15e30bf0 Merge pull request #1523 from wallabag/tcitworld-patch-1
Typo
2015-12-04 06:43:40 +01:00
a24c1ee30a Typo 2015-12-04 00:17:07 +01:00
f4b617f2ff Merge pull request #1518 from mathbruyen/smtp-from-env
Set SMTP from environment variables
2015-12-03 08:43:40 +01:00
752b90d1f2 Fix tagging rules ordering 2015-11-29 16:19:02 +01:00
59507c5b24 SMTP configuration through environment
Configuring SMTP parameters required to be written in files which is not
convenient when using docker containers as the credentials need to be in
the filesystem.

Created environment parameters override for those parameters. A new build
script created in order to generate those parameters right before
launching the application.
2015-11-26 10:44:03 +01:00
c13eda461f Clean the tagging rule creation form 2015-11-16 14:01:43 +01:00
69edb774eb Assert that the tag has is the good one 2015-11-16 13:34:00 +01:00
958671a7ae Add a quick test 2015-11-13 22:53:28 +01:00
aeff8aa765 Document the matches operator in the FAQ 2015-11-13 20:57:46 +01:00
f27aca26f6 Add phpdoc for all Matches implementations 2015-11-13 20:50:09 +01:00
a6e27f7466 Add matches operator 2015-11-13 14:37:58 +01:00
5c514b0be3 Improve the tagging rules documentation 2015-11-11 17:06:36 +01:00
b7b2005494 Fix the creation of the repository services 2015-11-11 16:44:57 +01:00
6cbbf1481a Update rulerz-bundle 2015-11-11 16:39:28 +01:00
0c5bcd82ba Use Psr\Log\NullLogger instead of creating a mock 2015-11-11 16:27:53 +01:00
7b1648961d Fix incorrect comment. 2015-11-11 16:27:19 +01:00
8a99c7a86b Add a few functional tests for the tagging rules creation form 2015-11-11 16:27:19 +01:00
9b88658c04 Update baggy theme 2015-11-11 16:27:19 +01:00
52e423f307 Provide a way to delete tagging rules 2015-11-11 16:27:19 +01:00
625acf3352 Add a command to automatically tag all entries for a user 2015-11-11 16:27:19 +01:00
cad8cda7af Use a tagged version of kphoen/rulerz-bundle 2015-11-11 16:25:44 +01:00
c23fc05df8 Validate used operators when creating tagging rules 2015-11-11 16:23:49 +01:00
5a166c5c1a Add tests for the RuleBasedTagger class 2015-11-11 16:23:49 +01:00
1c9cd2a7f0 Errors in the automatic tagging do not prevent the entry from being added 2015-11-11 16:23:49 +01:00
1dc4e5da2e Also validate used variables when creating tagging rules 2015-11-11 16:23:49 +01:00
3447d1ee07 Add naïve validation for tagging rules (only checks the syntax) 2015-11-11 16:23:49 +01:00
71ef0ed254 Rename the « Tags » tab to « Tagging rules » 2015-11-11 16:23:49 +01:00
003fa77438 Add tests for the StringToListTransformer class 2015-11-11 16:23:49 +01:00
f530f7f5e1 Fix ContentProxyTest 2015-11-11 16:23:49 +01:00
1d7b350b25 Add missing use statement 2015-11-11 16:23:49 +01:00
e9fbd2d12e Add a table explaining the available variables 2015-11-11 16:23:49 +01:00
981cacf7b9 Display the tagging rules in the config 2015-11-11 16:23:49 +01:00
9cbb404b4a Add missing tagging rule repository 2015-11-11 16:23:49 +01:00
f19f9f62d1 Add a form to create tagging rules 2015-11-11 16:23:49 +01:00
ac9fec610a Add TaggingRule entity 2015-11-11 16:23:49 +01:00
c3510620ad PoC of rule-based tagging 2015-11-11 16:23:49 +01:00
0a0c600887 Merge pull request #1422 from wallabag/v2-ebook
V2 – Export entries
2015-11-09 16:45:48 +01:00
16bbb4aa41 Update deps 2015-11-09 16:35:09 +01:00
fba3f536a5 Fix tests 2015-11-09 16:32:48 +01:00
cceca9ea1d Fix route parameters
Improve export tests
Improve CSV export
2015-11-09 16:32:48 +01:00
268e9e7277 use JMS Serializer 2015-11-09 16:32:48 +01:00
5b7da07620 use the groups annotation instead of setIgnoredAttributes 2015-11-09 16:32:48 +01:00
8ac95cbfcc improved function 2015-11-09 16:32:48 +01:00
b3cc1a14e7 add json & xml 2015-11-09 16:32:48 +01:00
33c36f6b48 Fix tests on pgsql 2015-11-09 16:32:48 +01:00
add597bad9 Rework on export
- all export now return a `HttpFoundation\Response`
- return a 404 on unsupported format
- add tests
2015-11-09 16:32:48 +01:00
03690d1387 Start work on export
For now:
 - ebook
 - mobi
 - pdf
 - csv
2015-11-09 16:32:48 +01:00
f1eccfd63f Merge pull request #1500 from wallabag/v2-quote-pgsql
Fix quote strategy for reserved keyword in Postgres
2015-11-09 16:31:59 +01:00
53cf510689 Lock DoctrineBundle to 1.5.2
Because of a bad change, SQLite database cannot be created anymore.

➡️ https://github.com/doctrine/DoctrineBundle/pull/434
2015-11-08 10:47:56 +01:00
970e0e994f Remove duplicate comments 2015-11-07 14:18:38 +01:00
75c48e3ae0 CS 2015-11-07 14:16:13 +01:00
d502762598 Skipping PostgreSQL test that drop database
For a not-clear reason, I can't properly drop the current database. Even if Doctrine made a special case for that (https://github.com/doctrine/dbal/pull/849).

So instead of trying crazy things to achieve the test, better way is to skip test (too much wasted days ..)
2015-11-07 14:16:13 +01:00
8a493541fa Re-enable test on doctrine command
It will slow down the whole test suite (because it'll use doctrine command).
Remove unecessary `KernelTestCase`.
Also rename `AbstractControllerTest` to `WallabagApiTestCase` for consistency.
2015-11-07 14:16:13 +01:00
735068d181 Add tests on TablePrefixSubscriber 2015-11-07 14:15:33 +01:00
bd0f3d32c9 Quoted entity to avoid reserved keyword
Should fix #1498
2015-11-07 14:15:33 +01:00
54a2241e13 Fix database already exist detection
This is not the same message exception from MySQL & SQLite with Postgres.
2015-11-07 14:15:33 +01:00
4529d0f4b6 Merge pull request #1510 from wallabag/v2-sf3
v2 – Fix some deprecated for Symfony3
2015-11-07 13:39:30 +01:00
164d260c49 CS
Also force SYMFONY_DEPRECATIONS_HELPER for travis
2015-11-07 00:27:41 +01:00
b2a903feef Avoid other bundle deprecation to cancel the build 2015-11-07 00:18:46 +01:00
33fe61f92f Fix form_enctype deprecation
Use form_start instead
2015-11-07 00:18:06 +01:00
18f8f32f70 Fix security.context deprecation 2015-11-07 00:17:37 +01:00
5ead137fe6 Fix pattern deprecation
Replaced by path
2015-11-07 00:16:26 +01:00
78507d2835 Fix deprecated helper in command 2015-11-06 23:39:19 +01:00
872384b0c1 Update deps & add PHPUnit Bridge
Changelogs summary:

 - symfony/phpunit-bridge installed in version v2.7.6
   Release notes: https://github.com/symfony/phpunit-bridge/releases/tag/v2.7.6

 - twig/twig updated from v1.23.0 to v1.23.1
   See changes: https://github.com/twigphp/Twig/compare/v1.23.0...v1.23.1
   Release notes: https://github.com/twigphp/Twig/releases/tag/v1.23.1

 - doctrine/inflector updated from v1.0.1 to v1.1.0
   See changes: https://github.com/doctrine/inflector/compare/v1.0.1...v1.1.0
   Release notes: https://github.com/doctrine/inflector/releases/tag/v1.1.0

 - doctrine/cache updated from v1.5.0 to v1.5.1
   See changes: https://github.com/doctrine/cache/compare/v1.5.0...v1.5.1
   Release notes: https://github.com/doctrine/cache/releases/tag/v1.5.1

 - doctrine/doctrine-cache-bundle updated from v1.0.1 to 1.2.1
   See changes: https://github.com/doctrine/DoctrineCacheBundle/compare/v1.0.1...1.2.1
   Release notes: https://github.com/doctrine/DoctrineCacheBundle/releases/tag/1.2.1

 - doctrine/doctrine-bundle updated from v1.5.2 to 1.6.0
   See changes: https://github.com/doctrine/DoctrineBundle/compare/v1.5.2...1.6.0
   Release notes: https://github.com/doctrine/DoctrineBundle/releases/tag/1.6.0

 - friendsofsymfony/user-bundle updated from dev-master to dev-master
   See changes: d5b28c3...45d6f40
2015-11-06 23:39:14 +01:00
3d9ccf9390 Merge pull request #1505 from wallabag/v2-graby-log
Add graby log
2015-11-02 07:52:28 +01:00
386cd24663 Update deps
Changelogs summary:

 - twig/twig updated from v1.22.3 to v1.23.0
   See changes: https://github.com/twigphp/Twig/compare/v1.22.3...v1.23.0
   Release notes: https://github.com/twigphp/Twig/releases/tag/v1.23.0

 - doctrine/cache updated from v1.4.2 to v1.5.0
   See changes: https://github.com/doctrine/cache/compare/v1.4.2...v1.5.0
   Release notes: https://github.com/doctrine/cache/releases/tag/v1.5.0

 - symfony/symfony updated from v2.7.5 to v2.7.6
   See changes: https://github.com/symfony/symfony/compare/v2.7.5...v2.7.6
   Release notes: https://github.com/symfony/symfony/releases/tag/v2.7.6

 - sensio/distribution-bundle updated from v3.0.31 to v3.0.33
   See changes: https://github.com/sensiolabs/SensioDistributionBundle/compare/v3.0.31...v3.0.33
   Release notes: https://github.com/sensiolabs/SensioDistributionBundle/releases/tag/v3.0.33

 - nelmio/api-doc-bundle updated from 2.9.0 to 2.10.3
   See changes: https://github.com/nelmio/NelmioApiDocBundle/compare/2.9.0...2.10.3
   Release notes: https://github.com/nelmio/NelmioApiDocBundle/releases/tag/2.10.3

 - lexik/form-filter-bundle updated from v4.0.1 to v4.0.2
   See changes: https://github.com/lexik/LexikFormFilterBundle/compare/v4.0.1...v4.0.2
   Release notes: https://github.com/lexik/LexikFormFilterBundle/releases/tag/v4.0.2

 - j0k3r/graby-site-config updated from 1.0.5 to 1.0.6
   See changes: https://github.com/j0k3r/graby-site-config/compare/1.0.5...1.0.6
   Release notes: https://github.com/j0k3r/graby-site-config/releases/tag/1.0.6

 - j0k3r/graby updated from 1.0.2 to 1.0.4
   See changes: https://github.com/j0k3r/graby/compare/1.0.2...1.0.4
   Release notes: https://github.com/j0k3r/graby/releases/tag/1.0.4

 - phpunit/phpunit updated from 4.8.13 to 4.8.16
   See changes: https://github.com/sebastianbergmann/phpunit/compare/4.8.13...4.8.16
   Release notes: https://github.com/sebastianbergmann/phpunit/releases/tag/4.8.16
2015-10-30 08:00:43 +01:00
c929c88faf Enable graby log 2015-10-24 10:53:55 +02:00
e686b5e6fe Merge pull request #1495 from wallabag/v2-docs
add docs
2015-10-22 17:02:06 +02:00
71200c4155 Merge pull request #1496 from wallabag/v2-redirect-after-deletion
fix #1005 V2 redirect after deletion
2015-10-22 09:28:54 +02:00
18d5f4541e redirect on last page after deletion 2015-10-21 15:26:37 +02:00
59e91bc893 add docs 2015-10-21 14:14:51 +02:00
a4e1ddf2d6 Merge pull request #1491 from jlnostr/v2-german-translation
Add german translation.
2015-10-19 09:21:43 +02:00
57cf6fd76c Add language to config.yml 2015-10-18 22:04:50 +02:00
37a564a868 Add german translation. 2015-10-18 21:26:09 +02:00
fcc6949d4a Merge pull request #1446 from wallabag/v2-language-config
[WIP] language selection on config screen
2015-10-18 15:35:42 +02:00
2aac2f278f Add tests on listeners 2015-10-16 07:40:09 +02:00
c89d35e851 Language selection on config screen 2015-10-15 21:42:29 +02:00
3d3ed955f1 Merge pull request #1484 from wallabag/v2-2factor-auth
2factor authentication via email
2015-10-15 13:52:52 +02:00
e9b395ec4b forgot parameters for travis 2015-10-15 13:20:44 +02:00
18cf594f8a move 2factor activation in parameters 2015-10-15 13:17:21 +02:00
0d6a7929e1 add tests for 2factor authentication 2015-10-14 17:10:12 +02:00
f6af634aec Merge pull request #1475 from modos189/v2_material
V2 material
2015-10-14 12:01:30 +02:00
2db616b586 2factor authentication via email 2015-10-13 22:43:15 +02:00
c26a3edc0a Other improvements 2015-10-09 13:00:15 +03:00
ba873ae667 Icons in footer 2015-10-09 12:43:42 +03:00
cf0ea8f113 Merge pull request #1472 from wallabag/v2-clean-views
fix #1470: clean material theme
2015-10-08 13:44:04 +02:00
9dbcf9d418 Merge pull request #1471 from wallabag/v2-bookmarklet
implement bookmarklet
2015-10-08 13:43:53 +02:00
fa853bb603 fix #1470: clean material theme 2015-10-08 13:32:34 +02:00
880a0e1c0b implement bookmarklet 2015-10-08 13:29:41 +02:00
3bfbd22f13 Merge pull request #1468 from wallabag/v2-fix-detect-theme
fix bug on detect active theme
2015-10-06 20:57:54 +02:00
ce782c84b8 fix bug on detect active theme 2015-10-06 20:51:40 +02:00
3123b3c0c8 Merge pull request #1464 from wallabag/v2-fix-type-hint
fix type hint for User
2015-10-06 12:24:18 +02:00
1ce8f30342 fix type hint for User 2015-10-06 12:16:08 +02:00
16dabc3263 Merge pull request #1436 from wallabag/v2-register
Public registration & oAuth2 \o/
2015-10-06 09:19:06 +02:00
fdef5f4605 Merge pull request #1461 from wallabag/v2-test-for-www
fix #1433: add test for removeWww Twig Extension
2015-10-06 09:16:52 +02:00
794dc4ee8a Merge pull request #1459 from wallabag/v2-tags-chips
fix #1457 & update materialize
2015-10-06 09:09:56 +02:00
784bb4c38d add test for removeWww Twig Extension 2015-10-06 09:09:26 +02:00
8263e71192 use form widget for registration 2015-10-06 07:44:10 +02:00
68e9dcf615 restore blue color 2015-10-06 06:16:17 +02:00
e0d188809c move css 2015-10-05 22:49:46 +02:00
d30262154a last changes for baggy theme 2015-10-05 22:45:44 +02:00
ec3ce598f6 material design for register/login/recover pages 2015-10-05 22:16:18 +02:00
9c8f7af196 fix #1457 2015-10-05 21:37:17 +02:00
4c5e544183 Cleanup
- remove unecessary routing for UserBundle
- remove unused form type
2015-10-03 13:37:21 +02:00
0a878469d4 move some files to UserBundle 2015-10-03 13:31:48 +02:00
1210dae105 remove old implementation for login/register/recover 2015-10-03 13:31:48 +02:00
772d8c4b93 Add test on RegistrationConfirmedListener
And PLEASE @nicosomb, NEVER EVER inject the whole container inside a service.
2015-10-03 13:30:43 +02:00
2c13918acc add test for confirmed registration 2015-10-03 13:30:43 +02:00
359b3f43cc * rename AuthenticationListener
* add tests
2015-10-03 13:30:43 +02:00
772732531e check authentication on each API route 2015-10-03 13:30:43 +02:00
cd1298d6df allow API documentation for anonymous 2015-10-03 13:30:43 +02:00
fcb1fba5c2 * public registration
* remove WSSE implementation
* add oAuth2 implementation
2015-10-03 13:30:43 +02:00
8a60bc4cc2 Merge pull request #1447 from wallabag/v2-typo
typo
2015-10-01 19:58:58 +02:00
4b55e704ab typo 2015-10-01 18:48:38 +02:00
0e8f778199 Merge pull request #1441 from wallabag/v2-french-translation
Add french translation
2015-10-01 11:49:13 +02:00
4e9f656ecb restore footer 2015-10-01 11:38:59 +02:00
cfb28c9da0 french translation 2015-10-01 09:26:52 +02:00
8e417206d5 flash messages translation 2015-09-30 18:17:40 +02:00
4aafa7f0df french translation 2015-09-30 18:09:18 +02:00
4f0dfac6a6 add french translation 2015-09-30 17:06:41 +02:00
7c99da0c95 Merge pull request #1437 from wallabag/v2-clean-material
some cleanup on material theme
2015-09-30 09:05:03 +02:00
24429857d8 Merge pull request #1439 from wallabag/v2-fix-deploy
fix Capistrano configuration
2015-09-30 08:49:00 +02:00
d2755b1c30 Merge pull request #1440 from wallabag/v2-fix-1433
fix #1433: remove www. on entries view
2015-09-29 23:23:58 +02:00
2afdea1ccc forgot one file 2015-09-29 23:11:27 +02:00
72fcaf8a6c remove www. on entries view 2015-09-29 22:59:44 +02:00
e75b215a25 fix Capistrano configuration 2015-09-29 22:13:07 +02:00
b0b352fc8e some cleanup on material theme 2015-09-29 20:26:32 +02:00
917040d4a0 Merge pull request #1434 from wallabag/travis-db
Add multiple database tests on Travis
2015-09-28 22:57:11 +02:00
fef4124130 Enabled Tidy on travis for HHVM 2015-09-28 20:35:56 +02:00
02d17813a1 Fix tests for all 2015-09-28 20:26:37 +02:00
159986c4fb Fix Postgres tests 2015-09-28 19:35:55 +02:00
da3d4998c0 Move readingTime & domainName in ContentProxy
So, everything is centralized in one place when we save a new entry.
2015-09-28 19:35:33 +02:00
4180fddac1 Merge pull request #1435 from wallabag/v2-enabled-user
Enabled created user from Config
2015-09-26 20:19:42 +02:00
34c2cc7a1a Use tecnickcom/tcpdf
tecnick.com/tcpdf is abandonned.
2015-09-26 19:51:26 +02:00
0f30f48b93 Enabled created user from Config
By default, creating user with FOSUser are disabled by default.

Fix #1423
2015-09-26 19:45:14 +02:00
609594fa5e Fix authentication error from Github
From: http://blog.wyrihaximus.net/2015/09/github-auth-token-on-travis/
2015-09-26 19:23:20 +02:00
dc22b46bf3 Fix HHVM & PHP 7.0 2015-09-26 19:06:32 +02:00
03fb6fde5f Add multiple database tests on Travis 2015-09-26 11:56:15 +02:00
5716249455 Merge pull request #1429 from wallabag/v2-language
V2 – Handle language in entry
2015-09-23 09:13:34 +02:00
d4ebe5c5dc Entries filter on language
+ updated deps
2015-09-23 07:55:55 +02:00
0d3bafdfdf Remove tab from baggy css
And add a border left on the filter slider
2015-09-23 07:51:17 +02:00
98f0929f16 Handle entry in language
Fix #1333
2015-09-22 20:52:13 +02:00
db96045a0a Adjust preview picture 2015-09-20 22:36:51 +02:00
444 changed files with 24952 additions and 12930 deletions

7
.composer-auth.json Normal file
View File

@ -0,0 +1,7 @@
{
"github-oauth": {
"github.com": "PLEASE DO NOT USE THIS TOKEN IN YOUR OWN PROJECTS/FORKS",
"github.com": "This token is reserved for testing the wallabag/wallabag repository",
"github.com": "73d9411c719a0a56259dbfa16673793b39973091"
}
}

View File

@ -4,27 +4,21 @@
Please [open a new issue](https://github.com/wallabag/wallabag/issues/new).
To fix the bug quickly, we need some infos:
* your wallabag version (on top of the ./index.php file, and also on config page)
* your wallabag version (in `app/config/config.yml`, see `wallabag_core.version`)
* your webserver installation :
* type of hosting (shared or dedicated)
* in case of a dedicated server, the server and OS used
* the php version used, eventually `phpinfo()`
* which storage system you choose at install (SQLite, MySQL/MariaDB or PostgreSQL)
* any problem on the `wallabag_compatibility_test.php` page
* any particular details which could be related
If relevant :
* the link you want to save and which causes problem
* the file you want to import into wallabag, or just an extract
If you have the skills :
* enable DEBUG mode and look the output at cache/log.txt
* look for errors into php and server logs
If you have the skills, look for errors into php, server and application (see `var/logs`) logs
Note : If you have large portions of text, use [Github's Gist service](https://gist.github.com/) or other pastebin-like.
## You want to fix a bug or to add a feature
Please fork wallabag and work with **the dev branch** only. **Do not work on master branch**.
[Don't forget to read our guidelines](https://github.com/wallabag/wallabag/blob/dev/GUIDELINES.md).
Please fork wallabag and work with **the v2 branch** only. **Do not work on master branch**.

18
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,18 @@
### Issue details
Please provide issue details here.
Remember, this is _not_ a place to ask questions. For that, go to http://gitter.im/wallabag/wallabag.
### Environment
* wallabag version (or git revision) that exhibits the issue:
* Last wallabag version that did not exhibit the issue (if applicable):
* php version:
* OS:
* type of hosting (shared or dedicated):
* which storage system you choose at install (SQLite, MySQL/MariaDB or PostgreSQL):
### Steps to reproduce/test case
Please provide necessary steps for reproduction of this issue, or better the
reduced test case (without any external dependencies, if possible).

11
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,11 @@
| Q | A
| ------------- | ---
| Bug fix? | yes|no
| New feature? | yes|no
| BC breaks? | yes|no
| Deprecations? | yes|no
| Tests pass? | yes|no
| Documentation | yes|no
| Translation | yes|no
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License | MIT

30
.gitignore vendored
View File

@ -1,25 +1,20 @@
# Cache and logs (Symfony2)
/app/cache/*
/app/logs/*
!app/cache/.gitkeep
!app/logs/.gitkeep
# Cache and logs (Symfony3)
# Cache, logs & sessions
/var/*
!/var/cache
/var/cache/*
/var/logs/*
!var/cache/.gitkeep
!/var/logs
/var/logs/*
!var/logs/.gitkeep
!/var/sessions
/var/sessions/*
!var/sessions/.gitkeep
!var/SymfonyRequirements.php
# Parameters
/app/config/parameters.yml
/app/config/parameters.ini
# Managed by Composer
/app/bootstrap.php.cache
/var/bootstrap.php.cache
/bin/*
!bin/console
!bin/symfony_requirements
/vendor/
# Assets and user uploads
@ -36,3 +31,10 @@
# Data for wallabag
data/assets/*
data/db/wallabag*.sqlite
# Docker container logs and data
docker/logs/
docker/data/
# To avoid crazy stuff on some PR, we must manually FORCE ADD IT on each new release
composer.lock

View File

@ -4,6 +4,7 @@ filter:
excluded_paths:
- 'vendor/*'
- 'app/*'
- 'var/*'
- 'web/*'
- 'src/Wallabag/*Bundle/Tests/*'
- '*Test.php'

View File

@ -3,6 +3,12 @@ language: php
# faster builds on docker-container setup
sudo: false
# used for HHVM
addons:
apt:
packages:
- tidy
# cache vendor dirs
cache:
directories:
@ -10,36 +16,40 @@ cache:
- $HOME/.composer/cache
php:
- 5.4
- 5.5
- 5.6
- 7.0
- hhvm
- nightly
env:
- DB=mysql
- DB=pgsql
- DB=sqlite
matrix:
fast_finish: true
exclude:
- php: hhvm
env: DB=pgsql # driver for PostgreSQL currently unsupported by HHVM, requires 3rd party dependency
allow_failures:
- php: hhvm
- php: nightly
# exclude v1 branches
branches:
only:
- v2
except:
- master
- dev
install:
- composer self-update
before_script:
- if [[ $TRAVIS_PHP_VERSION != hhvm ]]; then echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; fi;
- if [[ $TRAVIS_PHP_VERSION != hhvm ]]; then phpenv config-rm xdebug.ini; fi;
- composer self-update --no-progress
- if [[ "$DB" = "pgsql" ]]; then psql -c 'create database wallabag_test;' -U postgres; fi;
# build coverage only on one build, to speed up results feedbacks
# before_script:
# - if [[ "$TRAVIS_PHP_VERSION" = "5.6" ]]; then PHPUNIT_FLAGS="--coverage-clover=coverage.clover"; else PHPUNIT_FLAGS=""; fi;
before_install:
- if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
script:
- ant prepare
- bin/phpunit --exclude-group command-doctrine --debug $PHPUNIT_FLAGS
# after_script:
# - |
# if [ $TRAVIS_PHP_VERSION = '5.6' ]; then
# wget https://scrutinizer-ci.com/ocular.phar
# php ocular.phar code-coverage:upload --format=php-clover coverage.clover
# fi
- travis_wait composer update --no-interaction --no-progress
- ant prepare-$DB
- bin/phpunit -v

View File

@ -1,19 +1,19 @@
Copyright (c) 2013-2015 Nicolas Lœuillet
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Copyright (c) 2013-2016 Nicolas Lœuillet
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -1,6 +1,3 @@
wallabag is mainly developed by [Nicolas Lœuillet](https://github.com/nicosomb) under the MIT License.
wallabag is mainly developed by [Nicolas Lœuillet](https://github.com/nicosomb), [@j0k3r](https://github.com/j0k3r) and [@tcitworld](https://github.com/tcitworld) under the MIT License.
Thank you so much to [@tcitworld](https://github.com/tcitworld) and [@j0k3r](https://github.com/j0k3r).
Thank you [to others contributors](https://github.com/wallabag/wallabag/graphs/contributors
).
Thank you [to others contributors](https://github.com/wallabag/wallabag/graphs/contributors).

22
Capfile
View File

@ -1,3 +1,6 @@
set :deploy_config_path, 'app/config/capistrano/deploy.rb'
set :stage_config_path, 'app/config/capistrano/deploy'
# Load DSL and set up stages
require 'capistrano/setup'
@ -6,24 +9,5 @@ require 'capistrano/deploy'
require 'capistrano/symfony'
# Include tasks from other gems included in your Gemfile
#
# For documentation on these, see for example:
#
# https://github.com/capistrano/rvm
# https://github.com/capistrano/rbenv
# https://github.com/capistrano/chruby
# https://github.com/capistrano/bundler
# https://github.com/capistrano/rails
# https://github.com/capistrano/passenger
#
# require 'capistrano/rvm'
# require 'capistrano/rbenv'
# require 'capistrano/chruby'
# require 'capistrano/bundler'
# require 'capistrano/rails/assets'
# require 'capistrano/rails/migrations'
# require 'capistrano/passenger'
# Load custom tasks from `lib/capistrano/tasks` if you have any defined
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }

View File

@ -1,53 +0,0 @@
# Guidelines for wallabag
If you want to contribute to wallabag, you have some rules to respect. These rules were defined by [PHP Framework Interop Group](http://www.php-fig.org).
## Basic Coding Standard (PSR-1)
This section of the standard comprises what should be considered the standard coding elements that are required to ensure a high level of technical interoperability between shared PHP code.
* Files MUST use only `<?php` and `<?=` tags.
* Files MUST use only UTF-8 without BOM for PHP code.
* Files SHOULD either declare symbols (classes, functions, constants, etc.) or cause side-effects (e.g. generate output, change .ini settings, etc.) but SHOULD NOT do both.
* Namespaces and classes MUST follow [PSR-0](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md).
* Class names MUST be declared in `StudlyCaps`.
* Class constants MUST be declared in all upper case with underscore separators.
* Method names MUST be declared in `camelCase`.
You can read details on [PHP FIG website](http://www.php-fig.org/psr/psr-1/).
## Coding Style Guide (PSR-2)
This guide extends and expands on PSR-1, the basic coding standard.
The intent of this guide is to reduce cognitive friction when scanning code from different authors. It does so by enumerating a shared set of rules and expectations about how to format PHP code.
The style rules herein are derived from commonalities among the various member projects. When various authors collaborate across multiple projects, it helps to have one set of guidelines to be used among all those projects. Thus, the benefit of this guide is not in the rules themselves, but in the sharing of those rules.
* Code MUST follow PSR-1.
* Code MUST use 4 spaces for indenting, not tabs.
* There MUST NOT be a hard limit on line length; the soft limit MUST be 120 characters; lines SHOULD be 80 characters or less.
* There MUST be one blank line after the `namespace` declaration, and there MUST be one blank line after the block of `use` declarations.
* Opening braces for classes MUST go on the next line, and closing braces MUST go on the next line after the body.
* Opening braces for methods MUST go on the next line, and closing braces MUST go on the next line after the body.
* Visibility MUST be declared on all properties and methods; `abstract` and `final` MUST be declared before the visibility; `static` MUST be declared after the visibility.
* Control structure keywords MUST have one space after them; method and function calls MUST NOT.
* Opening braces for control structures MUST go on the same line, and closing braces MUST go on the next line after the body.
* Opening parentheses for control structures MUST NOT have a space after them, and closing parentheses for control structures MUST NOT have a space before.
You can read details on [PHP FIG website](http://www.php-fig.org/psr/psr-2/).

View File

@ -1,5 +1,5 @@
source "https://rubygems.org"
gem 'capistrano', '~> 3.1'
gem 'capistrano-symfony', '~> 0.1', :github => 'capistrano/symfony'
gem 'capistrano', '~> 3.4'
gem 'capistrano-symfony', '~> 1.0.0.rc1'
gem 'capistrano-composer', '~> 0.0.3'

View File

@ -1,12 +1,3 @@
GIT
remote: git://github.com/capistrano/symfony.git
revision: ca56a01b817097d2831400ef9b1867fc8e07dcf8
specs:
capistrano-symfony (0.4.0)
capistrano (~> 3.1)
capistrano-composer (~> 0.0.3)
capistrano-file-permissions (~> 0.1.0)
GEM
remote: https://rubygems.org/
specs:
@ -16,8 +7,12 @@ GEM
sshkit (~> 1.3)
capistrano-composer (0.0.6)
capistrano (>= 3.0.0.pre)
capistrano-file-permissions (0.1.1)
capistrano-file-permissions (1.0.0)
capistrano (~> 3.0)
capistrano-symfony (1.0.0.rc1)
capistrano (~> 3.1)
capistrano-composer (~> 0.0.3)
capistrano-file-permissions (~> 1.0)
colorize (0.7.7)
i18n (0.7.0)
net-scp (1.2.1)
@ -33,9 +28,9 @@ PLATFORMS
ruby
DEPENDENCIES
capistrano (~> 3.1)
capistrano (~> 3.4)
capistrano-composer (~> 0.0.3)
capistrano-symfony (~> 0.1)!
capistrano-symfony (~> 1.0.0.rc1)
BUNDLED WITH
1.10.6
1.11.2

View File

@ -1,26 +1,25 @@
[![Build Status](https://travis-ci.org/wallabag/wallabag.svg?branch=v2)](https://travis-ci.org/wallabag/wallabag)
[![Code Coverage](https://scrutinizer-ci.com/g/wallabag/wallabag/badges/coverage.png?b=v2)](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=v2)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/wallabag/wallabag/badges/quality-score.png?b=v2)](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 ?
# What is wallabag?
wallabag is a self hostable application allowing you to not miss any content anymore.
Click, save, read it when you can. It extracts content so that you can read it when you have time.
Click, save and read it when you can. It extracts content so that you can read it when you have time.
More informations on our website: [wallabag.org](http://wallabag.org)
More informations on our website: [wallabag.org](https://wallabag.org)
# Want to test the v2 ?
# Want to test the v2?
Keep in mind it's an **unstable** branch, everything can be broken :)
Keep in mind it's an **instable** branch, everything can be broken :)
If you don't have it yet, please [install composer](https://getcomposer.org/download/). Then you can install wallabag by executing the following commands:
```
git clone https://github.com/wallabag/wallabag.git -b v2
cd wallabag
composer install
php app/console wallabag:install
php app/console server:run
SYMFONY_ENV=prod composer create-project wallabag/wallabag wallabag "2.0.0-beta.1" --no-dev
php bin/console wallabag:install --env=prod
php bin/console server:run --env=prod
```
## License
Copyright © 2013-2015 Nicolas Lœuillet <nicolas@loeuillet.org>
Copyright © 2013-2016 Nicolas Lœuillet <nicolas@loeuillet.org>
This work is free. You can redistribute it and/or modify it under the
terms of the MIT License. See the COPYING file for more details.

View File

@ -1,67 +0,0 @@
# How to manage translations for wallabag
This guide will describe the procedure of translation management of the wallabag web application.
All translations are made using [gettext](http://en.wikipedia.org/wiki/Gettext) system and tools.
You will need the [Poedit](http://www.poedit.net/download.php) editor to update, edit and create your translation files easily. However, you can also handle translations also without it: all can be done using gettext tools and your favorite plain text editor only. This guide, however, describes editing with Poedit. If you want to use gettext only, please refer to the xgettext manual page to update po files from sources (see also how it is used by Poedit below) and use msgunfmt tool to compile .mo files manually.
You need to know, that translation phrases are stored in **".po"** files (for example: `locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po`), which are then complied in **".mo"** files using **msgfmt** gettext tool or by Poedit, which will run msgfmt for you in background.
**It's assumed, that you have wallabag installed locally on your computer or on the server you have access to.**
## To change existing translation you will need to do:
### 1. Clear cache
You can do this using **http://your-wallabag-host.com/?empty-cache** link (replace http://your-wallabag-host.com/ with real url of your wallabag application)
OR
from command line:
go to root of your installation of wallabag project and run next command:
`rm -rf ./cache/*`
(this may require root privileges if you run, for example Apache web server with mod_php)
### 2. Generate php files from all twig templates
Do this using next command:
`php ./locale/tools/fillCache.php`
OR
from your browser: **http://your-wallabag-host.com/locale/tools/fillCache.php** (this may require removal of .htaccess file in locale/ directory).
### 3. Configure your Poedit
Open Poedit editor, open Edit->Preferences. Go to "Parsers" tab, click on PHP and press "Edit" button. Make sure your "Parser command:" looks like
`xgettext --no-location --force-po -o %o %C %K %F`
Usually it is required to add "--no-location" to default value.
### 4. Open .po file you want to edit in Poedit and change its settings
Open, for example `locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po` file in your Poedit.
Go to "Catalog"->"Settings..." menu. Then go to "Path" tab and add path to wallabag installation in your local file system. This step can't be omitted as you will not be able to update phrases otherwise.
You can also check "project into" tab to be sure, that "Language" is set correctly (this will allow you to spell check your translation).
### 5. Update opened .po file from sources
Once you have set your path correctly, you are able to update phrases from sources. Press "Update catalog - synchronize it with sources" button or go to "Catalog"->"Update from sources" menu.
As a result you will see confirmation popup with two tabs: "New strings" and "Obsolete strings". Please review and accept changes (or press "Undo" if you see too many obsolete strings, as Poedit will remove them all - in this case please make sure all previous steps are performed w/o errors).
### 6. Translate and save your .po file
If you have any difficulties on this step, please consult with Poedit manual.
Every time you save your .po file, Poedit will also compile appropriate .mo file by default (of course, if not disabled in preferences).
You are now almost done.
### 7. Clear cache again
This step may be required if your web server runs php scripts in name of, say, www user (i.e. Apache with mod_php, not cgi).
##To create new translation
You just have to copy the folder corresponding to the language you want to translate from, change language in the project settings and for the folder and files names. Then start replacing all existing translations with your own.

71
Vagrantfile vendored
View File

@ -1,71 +0,0 @@
$script_sqlite = <<SCRIPT
apt-get update
apt-get install -y apache2 php5 php5-sqlite php5-xdebug
apt-get clean -y
echo "ServerName localhost" >> /etc/apache2/apache2.conf
service apache2 restart
rm -f /var/www/html/index.html
date > /etc/vagrant_provisioned_at
SCRIPT
$script_mysql = <<SCRIPT
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y apache2 php5 php5-mysql php5-xdebug mysql-server mysql-client
apt-get clean -y
echo "ServerName localhost" >> /etc/apache2/apache2.conf
service apache2 restart
service mysql restart
echo "create database wallabag;" | mysql -u root
rm -f /var/www/html/index.html
date > /etc/vagrant_provisioned_at
SCRIPT
$script_postgres = <<SCRIPT
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y apache2 php5 php5-pgsql php5-xdebug postgresql postgresql-contrib
apt-get clean -y
echo "ServerName localhost" >> /etc/apache2/apache2.conf
service apache2 restart
service postgresql restart
rm -f /var/www/html/index.html
date > /etc/vagrant_provisioned_at
SCRIPT
Vagrant.configure("2") do |config|
config.vm.define "sqlite" do |m|
m.vm.box = "ubuntu/trusty64"
m.vm.provision "shell", inline: $script_sqlite
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
end
config.vm.define "mysql" do |m|
m.vm.box = "ubuntu/trusty64"
m.vm.provision "shell", inline: $script_mysql
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
end
config.vm.define "postgres" do |m|
m.vm.box = "ubuntu/trusty64"
m.vm.provision "shell", inline: $script_postgres
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
end
config.vm.define "debian7" do |m|
m.vm.box = "chef/debian-7.6"
m.vm.provision "shell", inline: $script_sqlite
m.vm.synced_folder ".", "/var/www", owner: "www-data", group: "www-data"
end
config.vm.define "debian6" do |m|
m.vm.box = "chef/debian-6.0.10"
m.vm.provision "shell", inline: $script_sqlite
m.vm.synced_folder ".", "/var/www", owner: "www-data", group: "www-data"
end
config.vm.network :forwarded_port, guest: 80, host: 8003
#config.vm.network "public_network", :bridge => "en0: Wi-Fi (AirPort)"
end

View File

@ -1,7 +1,5 @@
<?php
require_once __DIR__.'/AppKernel.php';
use Symfony\Bundle\FrameworkBundle\HttpCache\HttpCache;
class AppCache extends HttpCache

View File

@ -7,7 +7,7 @@ class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
$bundles = [
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
@ -26,9 +26,19 @@ class AppKernel extends Kernel
new Wallabag\ApiBundle\WallabagApiBundle(),
new Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle(),
new Lexik\Bundle\FormFilterBundle\LexikFormFilterBundle(),
);
new FOS\OAuthServerBundle\FOSOAuthServerBundle(),
new Wallabag\UserBundle\WallabagUserBundle(),
new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
new Scheb\TwoFactorBundle\SchebTwoFactorBundle(),
new KPhoen\RulerZBundle\KPhoenRulerZBundle(),
new Wallabag\ImportBundle\WallabagImportBundle(),
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
new Craue\ConfigBundle\CraueConfigBundle(),
new Lexik\Bundle\MaintenanceBundle\LexikMaintenanceBundle(),
new Wallabag\AnnotationBundle\WallabagAnnotationBundle(),
];
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
@ -39,8 +49,23 @@ class AppKernel extends Kernel
return $bundles;
}
public function getRootDir()
{
return __DIR__;
}
public function getCacheDir()
{
return dirname(__DIR__).'/var/cache/'.$this->getEnvironment();
}
public function getLogDir()
{
return dirname(__DIR__).'/var/logs';
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
$loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
}
}

View File

@ -0,0 +1,29 @@
download_pictures: Download billeder på din server
carrot: Aktiver deling til Carrot
diaspora_url: Diaspora URL, hvis tjenesten er aktiv
export_epub: Aktiver eksport til ePub
export_mobi: Aktiver eksport til .mobi
export_pdf: Aktiver eksport til PDF
export_csv: Aktiver eksport til CSV
export_json: Aktiver eksport til JSON
export_txt: Aktiver eksport til TXT
export_xml: Aktiver eksport til XML
pocket_consumer_key: Brugers nøgle til Pocket for at importere materialer (https://getpocket.com/developer/docs/authentication)
shaarli_url: Shaarli-URL, hvis tjenesten er aktiv
share_diaspora: Aktiver deling til Diaspora
share_mail: Aktiver deling med email
share_shaarli: Aktiver deling gennem Shaarli
share_twitter: Aktiver deling gennem Twitter
show_printlink: Vis et link til print-indhold
wallabag_support_url: Support-URL for wallabag
wallabag_url: URL for *sin* wallabag-installation
entry: "artikel"
export: "eksport"
import: "import"
misc: "misc"
modify_settings: "Gem ændring"
piwik_host: Hosting af din side hos Piwik
piwik_site_id: ID for din side hos Piwik
piwik_enabled: Aktiver Piwik
demo_mode_enabled: "Aktiver demo-indstilling? (anvendes kun til wallabags offentlige demo)"
demo_mode_username: "Demobruger"

View File

@ -0,0 +1,29 @@
download_pictures: Download pictures on your server
carrot: Enable share to Carrot
diaspora_url: Diaspora URL, if the service is enabled
export_epub: Enable ePub export
export_mobi: Enable .mobi export
export_pdf: Enable PDF export
export_csv: Enable CSV export
export_json: Enable JSON export
export_txt: Enable TXT export
export_xml: Enable XML export
pocket_consumer_key: Consumer key for Pocket to import contents (https://getpocket.com/developer/docs/authentication)
shaarli_url: Shaarli URL, if the service is enabled
share_diaspora: Enable share to Diaspora
share_mail: Enable share by email
share_shaarli: Enable share to Shaarli
share_twitter: Enable share to Twitter
show_printlink: Display a link to print content
wallabag_support_url: Support URL for wallabag
wallabag_url: URL of *your* wallabag instance
entry: "article"
export: "export"
import: "import"
misc: "misc"
modify_settings: "apply"
piwik_host: Host of your website in Piwik
piwik_site_id: ID of your website in Piwik
piwik_enabled: Enable Piwik
demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
demo_mode_username: "Demo user"

View File

@ -0,0 +1,24 @@
download_pictures: تصاویر را در کارگزار خودتان باربگیرید
carrot: فعال‌سازی هم‌رسانی به Carrot
diaspora_url: نشانی Diaspora، اگر فعال بود
export_epub: فعال‌سازی برون‌سپاری به ePub
export_mobi: فعال‌سازی برون‌سپاری به mobi
export_pdf: فعال‌سازی برون‌سپاری به PDF
export_csv: فعال‌سازی برون‌سپاری به CSV
export_json: فعال‌سازی برون‌سپاری به JSON
export_txt: فعال‌سازی برون‌سپاری به TXT
export_xml: فعال‌سازی برون‌سپاری به XML
pocket_consumer_key: کلید کاربری Pocket برای درون‌ریزی مطالب (https://getpocket.com/developer/docs/authentication)
shaarli_url: نشانی Shaarli، اگر فعال بود
share_diaspora: فعال‌سازی هم‌رسانی به Diaspora
share_mail: فعال‌سازی هم‌رسانی با ایمیل
share_shaarli: فعال‌سازی هم‌رسانی به Shaarli
share_twitter: فعال‌سازی هم‌رسانی به Twitter
show_printlink: نمایش پیوندی برای چاپ مطلب
wallabag_support_url: نشانی صفحهٔ پشتیبانی wallabag
wallabag_url: نشانی صفحهٔ wallabag *شما*
entry: "مقاله"
export: "برون‌سپاری"
import: "درون‌ریزی"
misc: "غیره"
modify_settings: "اعمال"

View File

@ -0,0 +1,29 @@
download_pictures: Télécharger les images sur le serveur
carrot: Activer le partage vers Carrot
diaspora_url: URL de Diaspora, si le service Diaspora est activé
export_epub: Activer l'export ePub
export_mobi: Activer l'export .mobi
export_pdf: Activer l'export PDF
export_csv: Activer l'export CSV
export_json: Activer l'export JSON
export_txt: Activer l'export TXT
export_xml: Activer l'export XML
pocket_consumer_key: Clé d'authentification Pocket pour importer les données (https://getpocket.com/developer/docs/authentication)
shaarli_url: URL de Shaarli, si le service Shaarli est activé
share_diaspora: Activer le partage vers Diaspora
share_mail: Activer le partage par email
share_shaarli: Activer le partage vers Shaarli
share_twitter: Activer le partage vers Twitter
show_printlink: Afficher un lien pour imprimer
wallabag_support_url: URL de support de wallabag
wallabag_url: URL de *votre* instance de wallabag
entry: "article"
export: "export"
import: "import"
misc: "divers"
modify_settings: "appliquer"
piwik_host: URL de votre site dans Piwik
piwik_site_id: ID de votre site dans Piwik
piwik_enabled: Activer Piwik
demo_mode_enabled: "Activer le mode démo ? (utiliser uniquement pour la démo publique de wallabag)"
demo_mode_username: "Utilisateur de la démo"

View File

@ -0,0 +1,24 @@
download_pictures: Pobierz obrazy na swój serwer
carrot: Włącz udostępnianie dla Carrot
diaspora_url: Adres URL Diaspora, jeżeli usługa jest włączona
export_epub: Włącz eksport do ePub
export_mobi: Włącz eksport do .mobi
export_pdf: Włącz eksport do PDF
export_csv: Włącz eksport do CSV
export_json: Włącz eksport do JSON
export_txt: Włącz eksport do TXT
export_xml: Włącz eksport do XML
pocket_consumer_key: Klucz klienta Pocket do importu zawartości (https://getpocket.com/developer/docs/authentication)
shaarli_url: Adress URL Shaarli, jeżeli usługa jest włączona
share_diaspora: Włącz udostępnianie dla Diaspora
share_mail: Włącz udostępnianie przez email
share_shaarli: Włącz udostępnianie dla Shaarli
share_twitter: Włącz udostępnianie dla Twitter
show_printlink: Pokaż link do wydrukowania zawartości
wallabag_support_url: Adres URL wsparcia dla wallabag
wallabag_url: Adres *twojej* instacji wallabag
entry: "artykuł"
export: "eksport"
import: "import"
misc: "różne"
modify_settings: "zatwierdz"

View File

@ -0,0 +1,24 @@
download_pictures: Descarcă poze pe server
carrot: Permite share către Carrot
diaspora_url: Diaspora URL, dacă serviciul este permis
export_epub: Permite exportare ePub
export_mobi: Permite exportare .mobi
export_pdf: Permite exportare PDF
export_csv: Permite exportare CSV
export_json: Permite exportare JSON
export_txt: Permite exportare TXT
export_xml: Permite exportare XML
pocket_consumer_key: Cheie consumator pentru importarea contentului din Pocket (https://getpocket.com/developer/docs/authentication)
shaarli_url: Shaarli URL, dacă serviciul este permis
share_diaspora: Permite share către Diaspora
share_mail: Permite share prin email
share_shaarli: Permite share către Shaarli
share_twitter: Permite share către Twitter
show_printlink: Afișează un link pentru a printa content-ul
wallabag_support_url: URL-ul de suport pentru wallabag
wallabag_url: URL-ul instanței tale wallabag
entry: "alticol"
export: "exportă"
import: "importă"
misc: "diverse"
modify_settings: "aplică"

View File

@ -0,0 +1,43 @@
{% extends "WallabagCoreBundle::layout.html.twig" %}
{% block title %}{% trans %}internal settings{% endtrans %}{% endblock %}
{% block content %}
<div class="row">
<div class="col s12">
<div class="card-panel settings">
{{ form_start(form, {'attr': {'class': 'craue_config_settings_modify'}}) }}
{{ form_errors(form) }}
<div class="row">
<div class="div_tabs col s12">
<ul class="tabs">
{% for section in sections | craue_sortSections %}
<li class="tab col s3"><a href="#set-{{ section }}">{{ section | trans({}, 'CraueConfigBundle') }}</a></li>
{% endfor %}
</ul>
</div>
{% for section in sections | craue_sortSections %}
<div id="set-{{ section }}" class="col s12">
{% for setting in form.settings if setting.section.vars.value == section %}
{{ form_row(setting.name) }}
{{ form_row(setting.section) }}
{{ form_row(setting.value, {
'label': setting.name.vars.value | trans({}, 'CraueConfigBundle'),
}) }}
{% endfor %}
</div>
{% endfor %}
</div>
<button class="btn waves-effect waves-light" type="submit" name="action">
{{ 'modify_settings' | trans({}, 'CraueConfigBundle') }}
</button>
{{ form_rest(form) }}
{{ form_end(form) }}
</div>
</div>
</div>
{% endblock %}

View File

@ -0,0 +1,2 @@
Login: "Log ind"
Enter your email address below and we'll send you password reset instructions.: "Indtast din emailadresse nedenfor, så sender vi dig instrukser til at nulstille din adgangskode."

View File

@ -0,0 +1,2 @@
Login: "Se connecter"
Enter your email address below and we'll send you password reset instructions.: "Renseignez votre adresse email, nous vous enverrons les instructions pour réinitialiser votre mot de passe."

View File

@ -8,6 +8,6 @@ use Composer\Autoload\ClassLoader;
*/
$loader = require __DIR__.'/../vendor/autoload.php';
AnnotationRegistry::registerLoader(array($loader, 'loadClass'));
AnnotationRegistry::registerLoader([$loader, 'loadClass']);
return $loader;

View File

@ -0,0 +1,26 @@
# config valid only for current version of Capistrano
lock '3.4.0'
set :log_path, "var/logs"
set :cache_path, "var/cache"
set :symfony_console_path, 'bin/console'
set :application, 'wallabag'
set :repo_url, 'git@github.com:wallabag/wallabag.git'
set :ssh_user, 'framasoft_bag'
server '78.46.248.87', user: fetch(:ssh_user), roles: %w{web app db}
set :scm, :git
set :format, :pretty
set :log_level, :info
# set :log_level, :debug
set :composer_install_flags, '--no-dev --prefer-dist --no-interaction --optimize-autoloader'
set :linked_files, %w{app/config/parameters.yml}
set :linked_dirs, [fetch(:log_path), "var/sessions", "web/uploads", "data"]
set :keep_releases, 3
after 'deploy:finishing', 'deploy:cleanup'

View File

@ -0,0 +1,2 @@
set :branch, 'v2'
set :deploy_to, '/var/www/v2.wallabag.org/web/'

View File

@ -21,36 +21,39 @@ framework:
trusted_proxies: ~
session:
# handler_id set to null will use default session handler from php.ini
handler_id: ~
handler_id: session.handler.native_file
save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%"
fragments: ~
http_method_override: true
assets: ~
wallabag_core:
version: 2.0.0-beta.1
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
languages:
en: 'English'
fr: 'Français'
de: 'Deutsch'
tr: 'Türkçe'
fa: 'فارسی'
ro: 'Română'
pl: 'Polish'
da: 'Dansk'
items_on_page: 12
theme: material
language: en
rss_limit: 50
wallabag_import:
allow_mimetypes: ['application/octet-stream', 'application/json', 'text/plain']
resource_dir: "%kernel.root_dir%/../web/uploads/import"
# Twig Configuration
twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
globals:
share_twitter: %share_twitter%
share_mail: %share_mail%
share_shaarli: %share_shaarli%
shaarli_url: %shaarli_url%
share_diaspora: %share_diaspora%
diaspora_url: %diaspora_url%
flattr: %flattr%
flattrable: 1
flattred: 2
carrot: %carrot%
show_printlink: %show_printlink%
export_epub: %export_epub%
export_mobi: %export_mobi%
export_pdf: %export_pdf%
version: %app.version%
warning_message: %warning_message%
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
flattr_url: "https://flattr.com/thing/1265480"
form:
resources:
- LexikFormFilterBundle:Form:form_div_layout.html.twig
form_themes:
- "LexikFormFilterBundle:Form:form_div_layout.html.twig"
# Assetic Configuration
assetic:
@ -81,9 +84,22 @@ doctrine:
auto_generate_proxy_classes: "%kernel.debug%"
entity_managers:
default:
naming_strategy: wallabag_core.doctrine.prefixed_naming_strategy
auto_mapping: true
stof_doctrine_extensions:
default_locale: "%locale%"
translation_fallback: true
orm:
default:
tree: true
sluggable: true
doctrine_migrations:
dir_name: "%kernel.root_dir%/DoctrineMigrations"
namespace: Application\Migrations
table_name: migration_versions
name: Application Migrations
# Swiftmailer Configuration
swiftmailer:
transport: "%mailer_transport%"
@ -110,7 +126,10 @@ fos_rest:
routing_loader:
default_format: json
nelmio_api_doc: ~
nelmio_api_doc:
sandbox:
enabled: false
name: wallabag API documentation
nelmio_cors:
defaults:
@ -144,16 +163,51 @@ liip_theme:
autodetect_theme: wallabag_core.helper.detect_active_theme
path_patterns:
# app_resource:
# - %%app_path%%/views/themes/%%current_theme%%/%%template%%
# - %%app_path%%/views/%%template%%
bundle_resource:
- %%bundle_path%%/Resources/views/themes/%%current_theme%%/%%template%%
# bundle_resource_dir:
# - %%dir%%/views/themes/%%current_theme%%/%%bundle_name%%/%%template%%
# - %%dir%%/views/%%bundle_name%%/%%override_path%%
fos_user:
db_driver: orm
firewall_name: main
user_class: Wallabag\CoreBundle\Entity\User
user_class: Wallabag\UserBundle\Entity\User
registration:
confirmation:
enabled: %fosuser_confirmation%
from_email:
address: %from_email%
sender_name: wallabag
fos_oauth_server:
db_driver: orm
client_class: Wallabag\ApiBundle\Entity\Client
access_token_class: Wallabag\ApiBundle\Entity\AccessToken
refresh_token_class: Wallabag\ApiBundle\Entity\RefreshToken
auth_code_class: Wallabag\ApiBundle\Entity\AuthCode
service:
user_provider: fos_user.user_manager
scheb_two_factor:
trusted_computer:
enabled: true
cookie_name: wllbg_trusted_computer
cookie_lifetime: 2592000
email:
enabled: %twofactor_auth%
sender_email: %twofactor_sender%
digits: 6
template: WallabagUserBundle:Authentication:form.html.twig
mailer: wallabag_user.auth_code_mailer
kphoen_rulerz:
executors:
doctrine: true
lexik_maintenance:
authorized:
ips: ['127.0.0.1']
driver:
ttl: 3600
class: 'Lexik\Bundle\MaintenanceBundle\Drivers\DatabaseDriver'
response:
code: 503
status: "wallabag Service Temporarily Unavailable"

View File

@ -17,13 +17,14 @@ monolog:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: [!event]
console:
type: console
bubble: false
verbosity_levels:
VERBOSITY_VERBOSE: INFO
VERBOSITY_VERY_VERBOSE: DEBUG
channels: ["!doctrine"]
channels: [!event, !doctrine]
console_very_verbose:
type: console
bubble: false
@ -31,15 +32,7 @@ monolog:
VERBOSITY_VERBOSE: NOTICE
VERBOSITY_VERY_VERBOSE: NOTICE
VERBOSITY_DEBUG: DEBUG
channels: ["doctrine"]
# uncomment to get logging in your browser
# you may have to allow bigger header sizes in your Web server configuration
#firephp:
# type: firephp
# level: info
#chromephp:
# type: chromephp
# level: info
channels: [doctrine]
assetic:
use_controller: true
@ -49,6 +42,3 @@ swiftmailer:
transport: smtp
host: 'localhost'
port: 1025
username: null
password: null

View File

@ -17,11 +17,6 @@ monolog:
type: fingers_crossed
action_level: error
handler: nested
wsse:
type: stream
path: %kernel.logs_dir%/%kernel.environment%.wsse.log
level: error
channels: [wsse]
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"

View File

@ -19,9 +19,14 @@ swiftmailer:
doctrine:
dbal:
driver: pdo_sqlite
path: %kernel.root_dir%/../data/db/wallabag_test.sqlite
host: localhost
driver: "%test_database_driver%"
host: "%test_database_host%"
port: "%test_database_port%"
dbname: "%test_database_name%"
user: "%test_database_user%"
password: "%test_database_password%"
charset: UTF8
path: "%test_database_path%"
orm:
metadata_cache_driver:
type: service

View File

@ -1,7 +1,17 @@
# This file is a "template" of what your parameters.yml file should look like
parameters:
database_driver: pdo_sqlite
database_host: 127.0.0.1
# Uncomment these settings or manually update your parameters.yml
# to use docker-compose
#
# database_driver: %env.database_driver%
# database_host: %env.database_host%
# database_port: %env.database_port%
# database_name: %env.database_name%
# database_user: %env.database_user%
# database_password: %env.database_password%
database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: ~
database_name: symfony
database_user: root
@ -9,6 +19,14 @@ parameters:
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
database_table_prefix: wallabag_
test_database_driver: pdo_sqlite
test_database_host: 127.0.0.1
test_database_port: ~
test_database_name: ~
test_database_user: ~
test_database_password: ~
test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite"
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
@ -17,34 +35,13 @@ parameters:
locale: en
# A secret key that's used to generate certain security-related tokens
secret: ThisTokenIsNotSoSecretChangeIt
secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
# wallabag misc
app.version: 2.0.0-alpha
# two factor stuff
twofactor_auth: true
twofactor_sender: no-reply@wallabag.org
# message to display at the bottom of the page
warning_message: >
You're trying wallabag v2, which is in alpha version. If you find a bug, please have a look to <a href="https://github.com/wallabag/wallabag/issues">our issues list</a> and <a href="https://github.com/wallabag/wallabag/issues/new">open a new if necessary</a>
# fosuser stuff
fosuser_confirmation: true
download_pictures: false # if true, pictures will be stored into data/assets for each article
# Entry view
share_twitter: true
share_mail: true
share_shaarli: true
shaarli_url: http://myshaarli.com
share_diaspora: true
diaspora_url: http://diasporapod.com
flattr: true
carrot: true
show_printlink: true
export_epub: true
export_mobi: true
export_pdf: true
# default user config
items_on_page: 12
theme: material
language: en_US
from_email: no-reply@wallabag.org
rss_limit: 50

View File

@ -1,32 +1,44 @@
wallabag_annotation:
type : rest
resource: "@WallabagAnnotationBundle/Resources/config/routing_annotations.yml"
wallabag_import:
resource: "@WallabagImportBundle/Controller/"
type: annotation
prefix: /import
wallabag_api:
resource: "@WallabagApiBundle/Resources/config/routing.yml"
prefix: /
prefix: /
app:
resource: @WallabagCoreBundle/Controller/
type: annotation
resource: "@WallabagCoreBundle/Controller/"
type: annotation
doc-api:
resource: "@NelmioApiDocBundle/Resources/config/routing.yml"
prefix: /api/doc
login:
pattern: /login
defaults: { _controller: WallabagCoreBundle:Security:login }
login_check:
pattern: /login_check
logout:
path: /logout
rest :
type : rest
resource : "routing_rest.yml"
prefix : /api
homepage:
pattern: "/{page}"
defaults: { _controller: WallabagCoreBundle:Entry:showUnread, page : 1 }
path: "/{page}"
defaults:
_controller: WallabagCoreBundle:Entry:showUnread
page : 1
requirements:
page: \d+
page: \d+
fos_user:
resource: "@FOSUserBundle/Resources/config/routing/all.xml"
fos_oauth_server_token:
resource: "@FOSOAuthServerBundle/Resources/config/routing/token.xml"
craue_config_settings_modify:
path: /settings
defaults:
_controller: CraueConfigBundle:Settings:modify

View File

@ -6,13 +6,9 @@ _profiler:
resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml"
prefix: /_profiler
_configurator:
resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml"
prefix: /_configurator
_errors:
resource: "@TwigBundle/Resources/config/routing/errors.xml"
prefix: /_error
_main:
resource: routing.yml
resource: routing.yml

View File

@ -1,3 +1,4 @@
Rest_Wallabag:
type : rest
resource: "@WallabagApiBundle/Resources/config/routing_rest.yml"

View File

@ -1,9 +1,6 @@
security:
encoders:
Wallabag\CoreBundle\Entity\User:
algorithm: sha1
encode_as_base64: false
iterations: 1
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
ROLE_ADMIN: ROLE_USER
@ -11,18 +8,28 @@ security:
providers:
administrators:
entity: { class: WallabagCoreBundle:User, property: username }
entity: { class: WallabagUserBundle:User, property: username }
fos_userbundle:
id: fos_user.user_provider.username
# the main part of the security, where you can set up firewalls
# for specific sections of your app
firewalls:
wsse_secured:
pattern: /api/.*
wsse: true
stateless: true
anonymous: true
# disables authentication for assets and the profiler, adapt it according to your needs
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
oauth_token:
pattern: ^/oauth/v2/token
security: false
api:
pattern: /api/.*
fos_oauth: true
stateless: true
anonymous: true
login_firewall:
pattern: ^/login$
anonymous: ~
@ -31,11 +38,11 @@ security:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: security.csrf.token_manager
csrf_token_generator: security.csrf.token_manager
anonymous: true
remember_me:
key: "%secret%"
secret: "%secret%"
lifetime: 31536000
path: /
domain: ~
@ -45,9 +52,11 @@ security:
target: /
access_control:
- { path: ^/api/salt, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/forgot-password, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: /(unread|starred|archive).xml$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/settings, roles: ROLE_SUPER_ADMIN }
- { path: ^/annotations, roles: ROLE_USER }
- { path: ^/, roles: ROLE_USER }

View File

@ -1,9 +1,4 @@
# Learn more about services, parameters and containers at
# http://symfony.com/doc/current/book/service_container.html
parameters:
security.authentication.provider.dao.class: Wallabag\CoreBundle\Security\Authentication\Provider\WallabagAuthenticationProvider
security.encoder.digest.class: Wallabag\CoreBundle\Security\Authentication\Encoder\WallabagPasswordEncoder
security.validator.user_password.class: Wallabag\CoreBundle\Security\Validator\WallabagUserPasswordValidator
lexik_form_filter.get_filter.doctrine_orm.class: Wallabag\CoreBundle\Event\Subscriber\CustomDoctrineORMSubscriber
services:
@ -17,3 +12,27 @@ services:
class: Twig_Extensions_Extension_Text
tags:
- { name: twig.extension }
wallabag.twig_extension:
class: Wallabag\CoreBundle\Twig\WallabagExtension
public: false
tags:
- { name: twig.extension }
wallabag.twig_piwik_extension:
class: PiwikTwigExtension\PiwikTwigExtension
public: false
tags:
- { name: twig.extension }
wallabag.locale_listener:
class: Wallabag\CoreBundle\EventListener\LocaleListener
arguments: ["%kernel.default_locale%"]
tags:
- { name: kernel.event_subscriber }
wallabag.user_locale_listener:
class: Wallabag\CoreBundle\EventListener\UserLocaleListener
arguments: ["@session"]
tags:
- { name: kernel.event_listener, event: security.interactive_login, method: onInteractiveLogin }

View File

@ -0,0 +1,37 @@
# This file is a "template" of what your parameters.yml file should look like
parameters:
database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: ~
database_name: symfony
database_user: root
database_password: ~
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
database_table_prefix: wallabag_
test_database_driver: pdo_mysql
test_database_host: localhost
test_database_port: 3306
test_database_name: wallabag_test
test_database_user: root
test_database_password: ~
test_database_path: ~
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
mailer_password: ~
locale: en
# A secret key that's used to generate certain security-related tokens
secret: ThisTokenIsNotSoSecretChangeIt
# two factor stuff
twofactor_auth: true
twofactor_sender: no-reply@wallabag.org
# fosuser stuff
fosuser_confirmation: true
from_email: no-reply@wallabag.org

View File

@ -0,0 +1,37 @@
# This file is a "template" of what your parameters.yml file should look like
parameters:
database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: ~
database_name: symfony
database_user: root
database_password: ~
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
database_table_prefix: wallabag_
test_database_driver: pdo_pgsql
test_database_host: localhost
test_database_port:
test_database_name: wallabag_test
test_database_user: travis
test_database_password: ~
test_database_path: ~
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
mailer_password: ~
locale: en
# A secret key that's used to generate certain security-related tokens
secret: ThisTokenIsNotSoSecretChangeIt
# two factor stuff
twofactor_auth: true
twofactor_sender: no-reply@wallabag.org
# fosuser stuff
fosuser_confirmation: true
from_email: no-reply@wallabag.org

View File

@ -0,0 +1,37 @@
# This file is a "template" of what your parameters.yml file should look like
parameters:
database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: ~
database_name: symfony
database_user: root
database_password: ~
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
database_table_prefix: wallabag_
test_database_driver: pdo_sqlite
test_database_host: localhost
test_database_port:
test_database_name: ~
test_database_user: ~
test_database_password: ~
test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite"
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
mailer_password: ~
locale: en
# A secret key that's used to generate certain security-related tokens
secret: ThisTokenIsNotSoSecretChangeIt
# two factor stuff
twofactor_auth: true
twofactor_sender: no-reply@wallabag.org
# fosuser stuff
fosuser_confirmation: true
from_email: no-reply@wallabag.org

View File

@ -1,22 +1,24 @@
#!/usr/bin/env php
<?php
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Debug\Debug;
// if you don't want to setup permissions the proper way, just uncomment the following PHP line
// read http://symfony.com/doc/current/book/installation.html#configuration-and-setup for more information
//umask(0000);
set_time_limit(0);
require_once __DIR__.'/bootstrap.php.cache';
require_once __DIR__.'/AppKernel.php';
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Debug\Debug;
/**
* @var Composer\Autoload\ClassLoader $loader
*/
$loader = require __DIR__.'/../app/autoload.php';
$input = new ArgvInput();
$env = $input->getParameterOption(array('--env', '-e'), getenv('SYMFONY_ENV') ?: 'dev');
$debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(array('--no-debug', '')) && $env !== 'prod';
$env = $input->getParameterOption(['--env', '-e'], getenv('SYMFONY_ENV') ?: 'dev');
$debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(['--no-debug', '']) && $env !== 'prod';
if ($debug) {
Debug::enable();

1
bin/doctrine Symbolic link
View File

@ -0,0 +1 @@
../vendor/doctrine/orm/bin/doctrine

1
bin/doctrine-dbal Symbolic link
View File

@ -0,0 +1 @@
../vendor/doctrine/dbal/bin/doctrine-dbal

1
bin/doctrine-migrations Symbolic link
View File

@ -0,0 +1 @@
../vendor/doctrine/migrations/bin/doctrine-migrations

1
bin/doctrine.php Symbolic link
View File

@ -0,0 +1 @@
../vendor/doctrine/orm/bin/doctrine.php

Binary file not shown.

1
bin/security-checker Symbolic link
View File

@ -0,0 +1 @@
../vendor/sensiolabs/security-checker/security-checker

15
app/check.php → bin/symfony_requirements Normal file → Executable file
View File

@ -1,12 +1,13 @@
#!/usr/bin/env php
<?php
require_once dirname(__FILE__).'/SymfonyRequirements.php';
require_once dirname(__FILE__).'/../var/SymfonyRequirements.php';
$lineSize = 70;
$symfonyRequirements = new SymfonyRequirements();
$iniPath = $symfonyRequirements->getPhpIniConfigPath();
echo_title('Symfony2 Requirements Checker');
echo_title('Symfony Requirements Checker');
echo '> PHP is using the following php.ini file:'.PHP_EOL;
if ($iniPath) {
@ -42,9 +43,9 @@ foreach ($symfonyRequirements->getRecommendations() as $req) {
}
if ($checkPassed) {
echo_block('success', 'OK', 'Your system is ready to run Symfony2 projects');
echo_block('success', 'OK', 'Your system is ready to run Symfony projects');
} else {
echo_block('error', 'ERROR', 'Your system is not ready to run Symfony2 projects');
echo_block('error', 'ERROR', 'Your system is not ready to run Symfony projects');
echo_title('Fix the following mandatory requirements', 'red');
@ -80,7 +81,7 @@ function get_error_message(Requirement $requirement, $lineSize)
return;
}
$errorMessage = wordwrap($requirement->getTestMessage(), $lineSize - 3, PHP_EOL.' ').PHP_EOL;
$errorMessage = wordwrap($requirement->getTestMessage(), $lineSize - 3, PHP_EOL.' ').PHP_EOL;
$errorMessage .= ' > '.wordwrap($requirement->getHelpText(), $lineSize - 5, PHP_EOL.' > ').PHP_EOL;
return $errorMessage;
@ -121,8 +122,8 @@ function echo_block($style, $title, $message)
echo PHP_EOL.PHP_EOL;
echo_style($style, str_repeat(' ', $width).PHP_EOL);
echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT).PHP_EOL);
echo_style($style, str_pad($message, $width, ' ', STR_PAD_RIGHT).PHP_EOL);
echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT).PHP_EOL);
echo_style($style, str_pad($message, $width, ' ', STR_PAD_RIGHT).PHP_EOL);
echo_style($style, str_repeat(' ', $width).PHP_EOL);
}

View File

@ -1,46 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="wallabag" default="build">
<target name="build" depends="prepare"/>
<target name="build" depends="clean,prepare,phpunit"/>
<target name="prepare-mysql" depends="clean,db_mysql,prepare"/>
<target name="prepare-sqlite" depends="clean,db_sqlite,prepare"/>
<target name="prepare-pgsql" depends="clean,db_pgsql,prepare"/>
<target name="clean" description="Cleanup build artifacts">
<delete dir="${basedir}/app/cache"/>
<delete dir="${basedir}/var/cache"/>
</target>
<target name="prepare" depends="clean" description="Prepare for build">
<exec executable="composer">
<arg value="install"/>
<arg value="--no-interaction"/>
<arg value="--no-progress"/>
</exec>
<target name="prepare" description="Prepare for build">
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:database:drop"/>
<arg value="--force"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:database:create"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:schema:create"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="${basedir}/bin/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:fixtures:load"/>
<arg value="--no-interaction"/>
<arg value="--env=test"/>
</exec>
</target>
<target name="db_mysql" description="Run test for MySQL">
<delete dir="${basedir}/app/config/parameters.yml"/>
<exec executable="cp">
<arg value="${basedir}/app/config/tests/parameters.yml.dist.mysql"/>
<arg value="${basedir}/app/config/parameters.yml"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
</target>
<target name="db_sqlite" description="Run test for SQLite">
<delete dir="${basedir}/app/config/parameters.yml"/>
<exec executable="cp">
<arg value="${basedir}/app/config/tests/parameters.yml.dist.sqlite"/>
<arg value="${basedir}/app/config/parameters.yml"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
</target>
<target name="db_pgsql" description="Run test for PostgreSQL">
<delete dir="${basedir}/app/config/parameters.yml"/>
<exec executable="cp">
<arg value="${basedir}/app/config/tests/parameters.yml.dist.pgsql"/>
<arg value="${basedir}/app/config/parameters.yml"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
</target>
<target name="phpunit" description="Run unit tests with PHPUnit + HTML Coverage">
<exec executable="phpunit" failonerror="true">
<arg value="--coverage-html"/>

View File

@ -28,64 +28,105 @@
"issues": "https://github.com/wallabag/wallabag/issues"
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "~2.7.0",
"doctrine/orm": "~2.3",
"doctrine/doctrine-bundle": "~1.2",
"php": ">=5.5.9",
"ext-pcre": "*",
"ext-dom": "*",
"ext-curl": "*",
"ext-gd": "*",
"ext-session": "*",
"ext-ctype": "*",
"ext-hash": "*",
"ext-simplexml": "*",
"ext-json": "*",
"ext-mbstring": "*",
"ext-xml": "*",
"ext-iconv": "*",
"ext-tokenizer": "*",
"ext-pdo": "*",
"symfony/symfony": "3.0.*",
"doctrine/orm": "^2.5",
"doctrine/doctrine-bundle": "^1.6",
"doctrine/doctrine-cache-bundle": "^1.2",
"twig/extensions": "~1.0",
"symfony/assetic-bundle": "~2.3",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~3.0.12",
"sensio/framework-extra-bundle": "~3.0",
"incenteev/composer-parameter-handler": "~2.0",
"symfony/swiftmailer-bundle": "^2.3",
"symfony/monolog-bundle": "^2.8",
"sensio/distribution-bundle": "^5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "^2.0",
"nelmio/cors-bundle": "~1.4.0",
"friendsofsymfony/rest-bundle": "~1.4",
"jms/serializer-bundle": "~0.13",
"jms/serializer-bundle": "~1.0",
"nelmio/api-doc-bundle": "~2.7",
"ezyang/htmlpurifier": "~4.6",
"mgargano/simplehtmldom": "~1.5",
"tecnick.com/tcpdf": "~6.2",
"tecnickcom/tcpdf": "~6.2",
"simplepie/simplepie": "~1.3.1",
"willdurand/hateoas-bundle": "~0.5.0",
"willdurand/hateoas-bundle": "~1.0",
"htmlawed/htmlawed": "~1.1.19",
"liip/theme-bundle": "~1.1.3",
"liip/theme-bundle": "~1.1",
"pagerfanta/pagerfanta": "~1.0.3",
"lexik/form-filter-bundle": "~4.0",
"lexik/form-filter-bundle": "~5.0",
"j0k3r/graby": "~1.0",
"friendsofsymfony/user-bundle": "dev-master"
"friendsofsymfony/user-bundle": "~2.0@dev",
"friendsofsymfony/oauth-server-bundle": "^1.5",
"stof/doctrine-extensions-bundle": "^1.2@dev",
"scheb/two-factor-bundle": "~2.0",
"grandt/phpepub": "~4.0",
"wallabag/php-mobi": "~1.0.0",
"kphoen/rulerz-bundle": "~0.10",
"guzzlehttp/guzzle": "^5.2.0",
"doctrine/doctrine-migrations-bundle": "^1.0",
"paragonie/random_compat": "~1.0",
"craue/config-bundle": "~1.4",
"mnapoli/piwik-twig-extension": "^1.0",
"lexik/maintenance-bundle": "~2.1"
},
"require-dev": {
"doctrine/doctrine-fixtures-bundle": "~2.2.0",
"sensio/generator-bundle": "~2.5",
"phpunit/phpunit": "~4.4"
"doctrine/doctrine-fixtures-bundle": "~2.2",
"sensio/generator-bundle": "^3.0",
"phpunit/phpunit": "~4.4",
"symfony/phpunit-bridge": "^2.7"
},
"scripts": {
"post-install-cmd": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"build-parameters": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters"
],
"post-cmd": [
"@build-parameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
],
"post-install-cmd": [
"@post-cmd"
],
"post-update-cmd": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
"@post-cmd"
]
},
"extra": {
"symfony-app-dir": "app",
"symfony-bin-dir": "bin",
"symfony-var-dir": "var",
"symfony-web-dir": "web",
"symfony-tests-dir": "tests",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
"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"
}
}
},
"autoload": {
"psr-0": { "": "src/" }
"psr-4": { "Wallabag\\": "src/Wallabag/" },
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},
"config": {
"bin-dir": "bin"

4340
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,66 +0,0 @@
# config valid only for current version of Capistrano
lock '3.4.0'
set :application, 'wallabag'
set :repo_url, 'git@github.com:wallabag/wallabag.git'
set :ssh_user, 'ssh_user'
server 'server_ip', user: fetch(:ssh_user), roles: %w{web app db}
set :scm, :git
set :format, :pretty
set :log_level, :info
# set :log_level, :debug
set :composer_install_flags, '--no-dev --prefer-dist --no-interaction --optimize-autoloader'
set :linked_files, %w{app/config/parameters.yml}
set :linked_dirs, %w{app/logs web/uploads}
set :keep_releases, 3
after 'deploy:finishing', 'deploy:cleanup'
# Default branch is :master
# ask :branch, `git rev-parse --abbrev-ref HEAD`.chomp
# Default deploy_to directory is /var/www/my_app_name
# set :deploy_to, '/var/www/my_app_name'
# Default value for :scm is :git
# set :scm, :git
# Default value for :format is :pretty
# set :format, :pretty
# Default value for :log_level is :debug
# set :log_level, :debug
# Default value for :pty is false
# set :pty, true
# Default value for :linked_files is []
# set :linked_files, fetch(:linked_files, []).push('config/database.yml', 'config/secrets.yml')
# Default value for linked_dirs is []
# set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'public/system')
# Default value for default_env is {}
# set :default_env, { path: "/opt/ruby/bin:$PATH" }
# Default value for keep_releases is 5
# set :keep_releases, 5
namespace :deploy do
after :restart, :clear_cache do
on roles(:web), in: :groups, limit: 3, wait: 10 do
# Here we can do anything such as:
# within release_path do
# execute :rake, 'cache:clear'
# end
end
end
end

View File

@ -1,61 +0,0 @@
# server-based syntax
# ======================
# Defines a single server with a list of roles and multiple properties.
# You can define all roles on a single server, or split them:
# server 'example.com', user: 'deploy', roles: %w{app db web}, my_property: :my_value
# server 'example.com', user: 'deploy', roles: %w{app web}, other_property: :other_value
# server 'db.example.com', user: 'deploy', roles: %w{db}
# role-based syntax
# ==================
# Defines a role with one or multiple servers. The primary server in each
# group is considered to be the first unless any hosts have the primary
# property set. Specify the username and a domain or IP for the server.
# Don't use `:all`, it's a meta role.
# role :app, %w{deploy@example.com}, my_property: :my_value
# role :web, %w{user1@primary.com user2@additional.com}, other_property: :other_value
# role :db, %w{deploy@example.com}
# Configuration
# =============
# You can set any configuration variable like in config/deploy.rb
# These variables are then only loaded and set in this stage.
# For available Capistrano configuration variables see the documentation page.
# http://capistranorb.com/documentation/getting-started/configuration/
# Feel free to add new variables to customise your setup.
# Custom SSH Options
# ==================
# You may pass any option but keep in mind that net/ssh understands a
# limited set of options, consult the Net::SSH documentation.
# http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start
#
# Global options
# --------------
# set :ssh_options, {
# keys: %w(/home/rlisowski/.ssh/id_rsa),
# forward_agent: false,
# auth_methods: %w(password)
# }
#
# The server-based syntax can be used to override options:
# ------------------------------------
# server 'example.com',
# user: 'user_name',
# roles: %w{web app},
# ssh_options: {
# user: 'user_name', # overrides user setting above
# keys: %w(/home/user_name/.ssh/id_rsa),
# forward_agent: false,
# auth_methods: %w(publickey password)
# # password: 'please use keys'
# }

View File

@ -1,64 +0,0 @@
# server-based syntax
# ======================
# Defines a single server with a list of roles and multiple properties.
# You can define all roles on a single server, or split them:
set :branch, 'v2'
set :deploy_to, '/var/www/'
# server 'example.com', user: 'deploy', roles: %w{app db web}, my_property: :my_value
# server 'example.com', user: 'deploy', roles: %w{app web}, other_property: :other_value
# server 'db.example.com', user: 'deploy', roles: %w{db}
# role-based syntax
# ==================
# Defines a role with one or multiple servers. The primary server in each
# group is considered to be the first unless any hosts have the primary
# property set. Specify the username and a domain or IP for the server.
# Don't use `:all`, it's a meta role.
# role :app, %w{deploy@example.com}, my_property: :my_value
# role :web, %w{user1@primary.com user2@additional.com}, other_property: :other_value
# role :db, %w{deploy@example.com}
# Configuration
# =============
# You can set any configuration variable like in config/deploy.rb
# These variables are then only loaded and set in this stage.
# For available Capistrano configuration variables see the documentation page.
# http://capistranorb.com/documentation/getting-started/configuration/
# Feel free to add new variables to customise your setup.
# Custom SSH Options
# ==================
# You may pass any option but keep in mind that net/ssh understands a
# limited set of options, consult the Net::SSH documentation.
# http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start
#
# Global options
# --------------
# set :ssh_options, {
# keys: %w(/home/rlisowski/.ssh/id_rsa),
# forward_agent: false,
# auth_methods: %w(password)
# }
#
# The server-based syntax can be used to override options:
# ------------------------------------
# server 'example.com',
# user: 'user_name',
# roles: %w{web app},
# ssh_options: {
# user: 'user_name', # overrides user setting above
# keys: %w(/home/user_name/.ssh/id_rsa),
# forward_agent: false,
# auth_methods: %w(publickey password)
# # password: 'please use keys'
# }

42
docker-compose.yml Normal file
View File

@ -0,0 +1,42 @@
nginx:
image: nginx
ports:
- "8080:80"
volumes:
- ./docker/nginx/nginx.conf:/nginx.conf
- ./docker/logs/nginx:/var/log/nginx
- .:/var/www/html
links:
- php:php
command: nginx -c /nginx.conf
php:
build: docker/php
ports:
- "9000:9000"
volumes:
- .:/var/www/html
#links:
# - "postgres:rdbms"
# - "mariadb:rdbms"
env_file:
- ./docker/php/env
# Comment non-used DBMS lines
# If all DBMS are commented out, sqlite will be used as default
# - ./docker/postgres/env
# - ./docker/mariadb/env
#postgres:
# image: postgres:9
# ports:
# - "5432:5432"
# volumes:
# - ./docker/data/pgsql:/var/lib/postgresql/data
# env_file:
# - ./docker/postgres/env
#mariadb:
# image: mariadb:10
# ports:
# - "3306:3306"
# volumes:
# - ./docker/data/mariadb:/var/lib/mysql
# env_file:
# - ./docker/mariadb/env

10
docker/mariadb/env Normal file
View File

@ -0,0 +1,10 @@
MYSQL_ROOT_PASSWORD=wallaroot
MYSQL_USER=wallabag
MYSQL_PASSWORD=wallapass
MYSQL_DATABASE=wallabag
SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
SYMFONY__ENV__DATABASE_HOST=rdbms
SYMFONY__ENV__DATABASE_PORT=3306
SYMFONY__ENV__DATABASE_NAME=wallabag
SYMFONY__ENV__DATABASE_USER=wallabag
SYMFONY__ENV__DATABASE_PASSWORD=wallapass

89
docker/nginx/nginx.conf Normal file
View File

@ -0,0 +1,89 @@
user nginx;
worker_processes 1;
pid /var/run/nginx.pid;
events {
worker_connections 2048;
multi_accept on;
use epoll;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
server_tokens off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 15;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log off;
error_log off;
gzip on;
gzip_disable "msie6";
open_file_cache max=100;
upstream php-upstream {
server php:9000;
}
server {
#server_name domain.tld www.domain.tld;
root /var/www/html/web;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
}
# DEV
# This rule should only be placed on your development environment
# In production, don't include this and don't deploy app_dev.php or config.php
location ~ ^/(app_dev|config)\.php(/|$) {
fastcgi_pass php-upstream;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
# When you are using symlinks to link the document root to the
# current version of your application, you should pass the real
# application path instead of the path to the symlink to PHP
# FPM.
# Otherwise, PHP's OPcache may not properly detect changes to
# your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
# for more information).
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
# PROD
location ~ ^/app\.php(/|$) {
fastcgi_pass php-upstream;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
# When you are using symlinks to link the document root to the
# current version of your application, you should pass the real
# application path instead of the path to the symlink to PHP
# FPM.
# Otherwise, PHP's OPcache may not properly detect changes to
# your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
# for more information).
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
# Prevents URIs that include the front controller. This will 404:
# http://domain.tld/app.php/some-path
# Remove the internal directive to allow URIs like this
internal;
}
error_log /var/log/nginx/project_error.log;
access_log /var/log/nginx/project_access.log;
}
}
daemon off;

10
docker/php/Dockerfile Normal file
View File

@ -0,0 +1,10 @@
FROM php:fpm
RUN apt-get update && apt-get install -y \
libmcrypt-dev libicu-dev libpq-dev libxml2-dev \
&& docker-php-ext-install \
iconv mcrypt mbstring intl pdo pdo_mysql pdo_pgsql
RUN usermod -u 1000 www-data
CMD ["php-fpm"]

6
docker/php/env Normal file
View File

@ -0,0 +1,6 @@
SYMFONY__ENV__DATABASE_DRIVER=pdo_sqlite
SYMFONY__ENV__DATABASE_HOST=127.0.0.1
SYMFONY__ENV__DATABASE_PORT=~
SYMFONY__ENV__DATABASE_NAME=symfony
SYMFONY__ENV__DATABASE_USER=root
SYMFONY__ENV__DATABASE_PASSWORD=~

9
docker/postgres/env Normal file
View File

@ -0,0 +1,9 @@
POSTGRES_USER=wallabag
POSTGRES_PASSWORD=wallapass
POSTGRES_DB=wallabag
export SYMFONY__ENV__DATABASE_DRIVER=pdo_pgsql
export SYMFONY__ENV__DATABASE_HOST=rdbms
export SYMFONY__ENV__DATABASE_PORT=5432
export SYMFONY__ENV__DATABASE_NAME=wallabag
export SYMFONY__ENV__DATABASE_USER=wallabag
export SYMFONY__ENV__DATABASE_PASSWORD=wallapass

0
docs/README.rst Normal file
View File

55
docs/en/conf.py Normal file
View File

@ -0,0 +1,55 @@
# -*- coding: utf-8 -*-
#
# wallabag documentation build configuration file, created by
# sphinx-quickstart on Fri Oct 16 06:47:23 2015.
import sys
import os
extensions = []
templates_path = ['_templates']
source_suffix = '.rst'
master_doc = 'index'
project = u'wallabag'
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 = 'wallabagdoc'
latex_elements = {
}
latex_documents = [
('index', 'wallabag.tex', u'wallabag Documentation',
u'Nicolas Lœuillet', 'manual'),
]
man_pages = [
('index', 'wallabag', 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

@ -0,0 +1,51 @@
Run wallabag in docker-compose
==============================
In order to run your own development instance of wallabag, you may
want to use the pre-configured docker compose files.
Requirements
------------
Make sure to have `Docker
<https://docs.docker.com/installation/ubuntulinux/>`__ and `Docker
Compose <https://docs.docker.com/compose/install/>`__ availables on
your system and up to date.
Switch DBMS
-----------
By default, wallabag will start with a SQLite database.
Since wallabag provides support for Postgresql and MySQL, docker
containers are also available for these ones.
In ``docker-compose.yml``, for the chosen DBMS uncomment:
- the container definition (``postgres`` or ``mariadb`` root level
block)
- the container link in the ``php`` container
- the container env file in the ``php`` container
In order to keep running Symfony commands on your host (such as
``wallabag:install``), you also should:
- source the proper env files on your command line, so variables
like ``SYMFONY__ENV__DATABASE_HOST`` will exist.
- create a ``127.0.0.1 rdbms`` on your system ``hosts`` file
Run wallabag
------------
#. Fork and clone the project
#. Edit ``app/config/parameters.yml`` to replace ``database_*``
properties with commented ones (with values prefixed by ``env.``)
#. ``composer install`` the project dependencies
#. ``php app/console wallabag:install`` to create the schema
#. ``docker-compose up`` to run the containers
#. Finally, browse to http://localhost:8080/ to find your freshly
installed wallabag.
At various step, you'll probably run into UNIX permission problems,
bad paths in generated cache, etc…
Operations like removing cache files or changing files owners might
be frequently required, so don't be afraid !

View File

@ -0,0 +1,32 @@
Maintenance mode
================
If you have some long tasks to do on your wallabag instance, you can enable a maintenance mode.
Nobody will have access to your instance.
Enable maintenance mode
-----------------------
To enable maintenance mode, execute this command:
::
bin/console lexik:maintenance:lock --no-interaction
You can set your IP address in ``app/config/config.yml`` if you want to access to wallabag even if maintenance mode is enabled. For example:
::
lexik_maintenance:
authorized:
ips: ['127.0.0.1']
Disable maintenance mode
------------------------
To disable maintenance mode, execute this command:
::
bin/console lexik:maintenance:unlock

View File

@ -0,0 +1,60 @@
Translate wallabag
==================
wallabag web application
------------------------
Translation files
~~~~~~~~~~~~~~~~~
.. note::
As wallabag is mainly developed by a French team, please consider that french
translation is the most updated one and please copy it to create your own translation.
You can find translation files here: https://github.com/wallabag/wallabag/tree/v2/src/Wallabag/CoreBundle/Resources/translations.
You have to create ``messages.CODE.yml`` and ``validators.CODE.yml``, where CODE
is the ISO 639-1 code of your language (`see wikipedia <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>`__).
Other files to translate:
- https://github.com/wallabag/wallabag/tree/v2/app/Resources/CraueConfigBundle/translations.
- https://github.com/wallabag/wallabag/tree/v2/app/Resources/FOSUserBundle/translations.
You have to create ``THE_TRANSLATION_FILE.CODE.yml`` files.
Configuration file
~~~~~~~~~~~~~~~~~~
You have to edit `app/config/config.yml
<https://github.com/wallabag/wallabag/blob/v2/app/config/config.yml>`__ to display
your language on Configuration page of wallabag (to allow users to switch to this new translation).
Under the ``wallabag_core.languages`` section, you have to add a new line with
your translation. For example:
::
wallabag_core:
...
languages:
en: 'English'
fr: 'Français'
For the first column (``en``, ``fr``, etc.), you have to add the ISO 639-1 code
of your language (see above).
For the second column, it's the name of your language. Just that.
wallabag documentation
----------------------
.. note::
Contrary to the web application, the main language for documentation is english.
Documentation files are stored here: https://github.com/wallabag/wallabag/tree/v2/docs
You need to respect the ``en`` folder structure when you create your own translation.

46
docs/en/index.rst Normal file
View File

@ -0,0 +1,46 @@
wallabag documentation
======================
.. image:: ../img/wallabag.png
:alt: wallabag logo
:align: center
**wallabag** is a read-it-later application: it saves a web page by
keeping content only. Elements like navigation or ads are deleted.
.. note::
This documentation is about wallabag v2. If you want to read documentation for wallabag v1, `please have a look here <https://github.com/wallabag/documentation>`__.
The main documentation for this application is organized into a couple sections:
* :ref:`user-docs`
* :ref:`dev-docs`
.. _user-docs:
.. toctree::
:maxdepth: 2
:caption: User documentation
user/installation
user/create_account
user/login
user/configuration
user/first_article
user/errors_during_fetching
user/annotations
user/import
user/download_articles
user/filters
user/tags
.. _dev-docs:
.. toctree::
:maxdepth: 2
:caption: Developer documentation
developer/docker
developer/translate
developer/maintenance

2
docs/en/requirements.txt Normal file
View File

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

View File

@ -0,0 +1,24 @@
Annotations
===========
In each article you read, you can write annotations. It's easier to understand with some pictures.
Select the part of the article that you want to annotate and click on the pencil:
.. image:: ../../img/user/annotations_1.png
:alt: Select your text
:align: center
Then, write your annotation:
.. image:: ../../img/user/annotations_2.png
:alt: Write your annotation
:align: center
The text is now highlighted and you can read your annotation if you move the mouse cursor over it.
.. image:: ../../img/user/annotations_3.png
:alt: Read your annotation
:align: center
You can create as many annotations as you wish.

View File

@ -0,0 +1,111 @@
Configuration
=============
Now you're logged in, it's time to configure your account as you want.
Click on ``Config`` menu. You have five tabs: ``Settings``, ``RSS``,
``User information``, ``Password`` and ``Tagging rules``.
Settings
--------
Theme
~~~~~
wallabag is customizable. You can choose your prefered theme here. You can also
create a new one, a chapter will be dedicated for this. The default theme is
``Material``, it's the theme used in the documentation screenshots.
Items per page
~~~~~~~~~~~~~~
You can change the number of articles displayed on each page.
Language
~~~~~~~~
You can change the language of wallabag interface. You need to logout for this change
to take effect.
RSS
---
wallabag provides RSS feeds for each article status: unread, starred and archive.
Firstly, you need to create a personal token: click on ``Create your token``.
It's possible to change your token by clicking on ``Reset your token``.
Now you have three links, one for each status: add them into your favourite RSS reader.
You can also define how many articles you want in each RSS feed (default value: 50).
User information
----------------
You can change your name, your email address and enable ``Two factor authentication``.
Two factor authentication
~~~~~~~~~~~~~~~~~~~~~~~~~
Two-factor authentication (also known as 2FA) is a technology patented in 1984
that provides identification of users by means of the combination of two different components.
https://en.wikipedia.org/wiki/Two-factor_authentication
If you enable 2FA, each time you want to login to wallabag, you'll receive
a code by email. You have to put this code on the following form.
.. image:: ../../img/user/2FA_form.png
:alt: Two factor authentication
:align: center
If you don't want to receive a code each time you want to login, you can check
the ``I'm on a trusted computer`` checkbox: wallabag will remember you for 15 days.
Password
--------
You can change your password here (8 characters minimum).
Tagging rules
-------------
If you want to automatically assign a tag to new articles, this part
of the configuration is for you.
What does « tagging rules » mean?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
They are rules used by wallabag to automatically tag new entries.
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 do I use them?
~~~~~~~~~~~~~~~~~~
Let assume you want to tag new entries as *« short reading »* when
the reading time is inferior to 3 minutes.
In that case, you should put « readingTime <= 3 » in the **Rule** field
and *« short reading »* in the **Tags** field.
Several tags can added simultaneously by separating them by a comma: *« short reading, must read »*.
Complex rules can be written by using predefined operators:
if *« readingTime >= 5 AND domainName = "github.com" »* then tag as *« long reading, github »*.
Which variables and operators can I use to write rules?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following variables and operators can be used to create tagging rules:
=========== ============================================== ======== ==========
Variable Meaning Operator Meaning
----------- ---------------------------------------------- -------- ----------
title Title of the entry <= Less than…
url URL of the entry < Strictly less than…
isArchived Whether the entry is archived or not => Greater than…
isStared Whether the entry is starred or not > Strictly greater than…
content The entry's content = Equal to…
language The entry's language != Not equal to…
mimetype The entry's mime-type OR One rule or another
readingTime The estimated entry's reading time, in minutes AND One rule and another
domainName The domain name of the entry matches Tests that a subject is matches a search (case-insensitive). Example: title matches "football"
=========== ============================================== ======== ==========

View File

@ -0,0 +1,46 @@
Create an account
=================
On the login page, click on ``Register`` button.
.. image:: ../../img/user/registration_form.png
:alt: Registration form
:align: center
You have to fill the form. Please sure to type a valid email address,
we'll send you an activation email.
.. image:: ../../img/user/sent_email.png
:alt: Email was sent to activate account
:align: center
Check your inbox, you now have a new mail with a link like this
``http://wallabag/register/confirm/Ba19wokGovN-DdBQNfg4YgRkUQWRP4-k2g0Bk-hBTX4``.
Click on it to activate your account.
Your account is now activated.
.. image:: ../../img/user/activated_account.png
:alt: Welcome on board!
:align: center
Frequently asked questions
--------------------------
I can't valid the registration form
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Make sure that all fields are well filled:
* valid email address
* same passwords in two fields
I don't receive my activation email
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Are you sure your email address was correct? Did you check your spams folder?
When I click on the activation link, I've got this message: ``The user with confirmation token "DtrOPfbQeVkWf6N" does not exist``.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You already enabled your account or the URL of the activation email is wrong.

View File

@ -0,0 +1,17 @@
Download articles
=================
You can download each article in several formats: ePUB, MOBI, PDF, XML, JSON, CSV.
On the article view, click on this icon, in the sidebar:
.. image:: ../../img/user/download_article.png
:alt: download article
:align: center
You can also download a full category (unread, starred, archive) in these formats.
For example, on **Unread** view, click on this icon in the top bar:
.. image:: ../../img/user/download_articles.png
:alt: download articles
:align: center

View File

@ -0,0 +1,27 @@
Errors during fetching articles
===============================
Why does the fetch of an article fail?
--------------------------------------
There may be several reasons:
- network problem
- wallabag can't fetch content due to the website structure
How can I help to fix that?
---------------------------
- `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/.
How can I try to re-fetch this article?
---------------------------------------
If wallabag failed when fetching an article, you can click on the reload button
(the third on the below picture).
.. image:: ../../img/user/refetch.png
:alt: Refetch content
:align: center

2
docs/en/user/filters.rst Normal file
View File

@ -0,0 +1,2 @@
Filters
=======

View File

@ -0,0 +1,66 @@
Save your first article
=======================
The main purpose of wallabag is to save web articles. You have many ways to do it.
.. note::
A quickstart will be displayed in the application until you save your first article.
By using a bookmarklet
----------------------
On the ``Howto`` page, you have a ``Bookmarklet`` tab. Drag and drop the ``bag it!``
link to your bookmarks bar of your browser.
Now, each time you're reading an article on the web and you want to save it,
click on the ``bag it!`` link in your bookmarks bar. The article is saved.
By using the classic form
-------------------------
In the top bar of your screen, you have 3 icons. With the first one, a plus sign,
you can easily save a new article.
.. image:: ../../img/user/topbar.png
:alt: Top bar
:align: center
Click on it to display a new field, paste the article URL inside and press your
``Return`` key. The article is saved.
By using a browser add-on
-------------------------
Firefox
~~~~~~~
*This addon is not yet available for wallabag v2*.
Chrome
~~~~~~
*This addon is not yet available for wallabag v2*.
By using your smarphone application
-----------------------------------
Android
~~~~~~~
*This application is not yet available for wallabag v2*.
Firefox OS
~~~~~~~~~~
*This application is not yet available for wallabag v2*.
Windows Phone
~~~~~~~~~~~~~
*This application is not yet available for wallabag v2*.
iOS
~~~
*This application is not yet available for wallabag v2*.

83
docs/en/user/import.rst Normal file
View File

@ -0,0 +1,83 @@
Migrate to wallabag
===================
From wallabag
-------------
Export your data from your wallabag 1.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On your config page, click on ``JSON export`` in the ``Export your wallabag data`` section.
.. image:: ../../img/user/export_wllbg_1.png
:alt: Export from wallabag 1.x
:align: center
You will have a ``wallabag-export-1-1970-01-01.json`` file.
Export your data from your wallabag 2.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On the export sidebar, click on ``JSON``.
.. image:: ../../img/user/export_wllbg_2.png
:alt: Export from wallabag 2.x
:align: center
You will have a ``Unread articles.json`` file.
Import your data into wallabag 2.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Click on ``Import`` link in the menu, choose the right wallabag version,
select your export file on your computer and import it.
.. image:: ../../img/user/import_wllbg.png
:alt: Import from wallabag 1.x
:align: center
All your wallabag articles will be imported.
From Pocket
-----------
Create a new application on Pocket
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To import your data from Pocket, we use the Pocket API. You need to create
a new application on their developer website to continue.
* Create a new application `on the developer website <https://getpocket.com/developer/apps/new>`_
* Fill in the required fields: application name, application description,
permissions (only **retrieve**), platform (**web**), accept the terms of service
and submit your new application
Pocket will give you a **Consumer Key** (for example, `49961-985e4b92fe21fe4c78d682c1`).
You need to configure the ``pocket_consumer_key`` into the ``app/config/parameters.yml`` file in wallabag.
Now, all is fine to migrate from Pocket.
Import your data into wallabag 2.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Click on ``Import`` link in the menu, on ``Import contents`` in Pocket section
and then on ``Connect to Pocket and import data``.
You need to authorize wallabag to interact with your Pocket account.
Your data will be imported. Data import can be a demanding process for your server
(we need to work on this import to improve it).
From Instapaper
---------------
*Feature not yet implemented in wallabag v2.*
From Readability
----------------
*Feature not yet implemented in wallabag v2.*
From HTML or JSON file
----------------------
*Feature not yet implemented in wallabag v2.*

View File

@ -0,0 +1,145 @@
Install wallabag
================
Requirements
------------
wallabag is compatible with php >= 5.5
You'll need the following extensions for wallabag to work. Some of these may already activated in your version of php, so you may not have to install all corresponding packages.
- php-session
- php-ctype
- php-dom
- pĥp-hash
- php-simplexml
- php-json
- php-gd
- php-mbstring
- php-xml
- php-tidy
- php-iconv
- php-curl
- php-gettext
- php-tokenizer
wallabag uses PDO to connect to database, so you'll need one of:
- php-pdo_mysql
- php-pdo_sqlite
- php-pdo_pgsql
and it's corresponding database server.
Installation
------------
wallabag uses a big number of libraries in order to function. These libraries must be installed with a tool called Composer. You need to install it if you don't already have.
Install Composer:
::
curl -s http://getcomposer.org/installer | php
You can find specific instructions here : __ https://getcomposer.org/doc/00-intro.md
To install wallabag itself, you must run these two commands:
::
SYMFONY_ENV=prod composer create-project wallabag/wallabag wallabag "2.0.0-beta.1" --no-dev
php bin/console wallabag:install --env=prod
To start php's build-in server and test if everything did install correctly, you can do:
::
php bin/console server:run --env=prod
And access wallabag at http://yourserverip:8000
Installing on Apache
--------------------
Assuming you install wallabag in the /var/www/wallabag folder and that you want to use php as an Apache module, here's a vhost for wallabag:
::
<VirtualHost *:80>
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot /var/www/wallabag/web
<Directory /var/www/wallabag/web>
AllowOverride None
Order Allow,Deny
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeScript assets
# <Directory /var/www/wallabag>
# Options FollowSymlinks
# </Directory>
# optionally disable the RewriteEngine for the asset directories
# which will allow apache to simply reply with a 404 when files are
# not found instead of passing the request into the full symfony stack
<Directory /var/www/wallabag/web/bundles>
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>
</Directory>
ErrorLog /var/log/apache2/wallabag_error.log
CustomLog /var/log/apache2/wallabag_access.log combined
</VirtualHost>
After reloading or restarting Apache, you should now be able to access wallabag at http://domain.tld.
Installing on Nginx
-------------------
Assuming you install wallabag in the /var/www/wallabag folder, here's the recipe for wallabag :
::
server {
server_name domain.tld www.domain.tld;
root /var/www/wallabag/web;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
}
location ~ ^/app\.php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
# When you are using symlinks to link the document root to the
# current version of your application, you should pass the real
# application path instead of the path to the symlink to PHP
# FPM.
# Otherwise, PHP's OPcache may not properly detect changes to
# your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
# for more information).
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
# Prevents URIs that include the front controller. This will 404:
# http://domain.tld/app.php/some-path
# Remove the internal directive to allow URIs like this
internal;
}
error_log /var/log/nginx/wallabag_error.log;
access_log /var/log/nginx/wallabag_access.log;
}
After reloading or restarting nginx, you should now be able to access wallabag at http://domain.tld.

23
docs/en/user/login.rst Normal file
View File

@ -0,0 +1,23 @@
Login
=====
Your account is now enabled, congratulations!
To login to wallabag, fill the form on login page.
If you are on your personal computer and you want to stay connected,
you can check the ``Keep me logged in`` checkbox: wallabag will remember you for one year.
.. image:: ../../img/user/login_form.png
:alt: Login form
:align: center
Frequently asked questions
--------------------------
I forgot my password
~~~~~~~~~~~~~~~~~~~~
You can reset your password by clicking on ``Forgot your password?`` link,
on the login page. Then, fill the form with your email address or your username,
you'll receive an email to reset your password.

2
docs/en/user/tags.rst Normal file
View File

@ -0,0 +1,2 @@
Tags
====

55
docs/fr/conf.py Normal file
View File

@ -0,0 +1,55 @@
# -*- coding: utf-8 -*-
#
# wallabag documentation build configuration file, created by
# sphinx-quickstart on Fri Oct 16 06:47:23 2015.
import sys
import os
extensions = []
templates_path = ['_templates']
source_suffix = '.rst'
master_doc = 'index'
project = u'wallabag-fr'
copyright = u'2013-2016, Nicolas Lœuillet - MIT Licence'
version = '2.0.0'
release = version
exclude_patterns = ['_build']
pygments_style = 'sphinx'
html_theme = 'default'
html_static_path = ['_static']
htmlhelp_basename = 'wallabagfrdoc'
latex_elements = {
}
latex_documents = [
('index', 'wallabag-fr.tex', u'wallabag Documentation',
u'Nicolas Lœuillet', 'manual'),
]
man_pages = [
('index', 'wallabagfr', 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

@ -0,0 +1,50 @@
Exécuter wallabag avec docker-compose
=====================================
Pour faire tourner votre propre instance de développement de wallabag, vous pouvez
utiliser les fichiers docker pré-configurés.
Pré-requis
----------
Soyez sur d'avoir `Docker
<https://docs.docker.com/installation/ubuntulinux/>`__ et `Docker
Compose <https://docs.docker.com/compose/install/>`__ installés et à jour sur votre
système.
Changer de SGBD
---------------
Par défaut, wallabag fonctionne avec une base de données SQLite.
Depuis que wallabag supporte Postgresql et MySQL, les conteneurs Docker sont
aussi disponibles pour ces SGBD.
Dans ``docker-compose.yml``, en fonction de votre SGBD, décommentez :
- la définition du conteneur (le block racine ``postgres`` ou ``mariadb``)
- le conteneur ``links`` dans le conteneur ``php``
- le conteneur ``env_file`` dans le conteneur ``php``
Pour que les commandes Symfony (par exemple ``wallabag:install``) continuent de
fonctionner sur votre système, vous devez aussi :
- charger le bon fichier d'environnement dans votre ligne de commandes (``source``),
pour que les variables comme ``SYMFONY__ENV__DATABASE_HOST`` existent.
- ajouter une ligne ``127.0.0.1 rdbms`` dans votre fichier ``hosts``
Exécuter wallabag
-----------------
#. Forker et cloner le projet
#. Editer ``app/config/parameters.yml`` pour remplacer les propriétés ``database_*``
par les lignes commentées (celles avec des valeurs préfixées par ``env.``)
#. ``composer install`` pour installer les dépendances
#. ``php app/console wallabag:install`` pour créer le schéma de la BDD
#. ``docker-compose up`` pour démarrer les conteneurs
#. Enfin, se rendre sur http://localhost:8080/ pour accéder à une installation
tout propre de wallabag.
Il est possible de rencontrer des problèmes de droits UNIX, de mauvais chemins
dans les fichiers de cache, etc…
Les opérations comme vider le cache ou restaurer les permissions des fichiers
peuvent être fréquemment nécessaires, n'ayez crainte !

View File

@ -0,0 +1,33 @@
Mode maintenance
================
Si vous devez effectuer de longues tâches sur votre instance de wallabag, vous pouvez activer le mode maintenance.
Plus personne ne pourra accéder à wallabag.
Activer le mode maintenance
---------------------------
Pour activer le mode maintenance, exécutez cette commande :
::
bin/console lexik:maintenance:lock --no-interaction
Vous pouvez spécifier votre adresse IP dans ``app/config/config.yml`` si vous souhaitez accéder à wallabag même si
le mode maintenance est activé. Par exemple :
::
lexik_maintenance:
authorized:
ips: ['127.0.0.1']
Désactiver le mode maintenance
------------------------------
Pour désactiver le mode maintenance, exécutez cette commande :
::
bin/console lexik:maintenance:unlock

View File

@ -0,0 +1,62 @@
Traduire wallabag
=================
L'application web
-----------------
Fichiers de traductions
~~~~~~~~~~~~~~~~~~~~~~~
.. note::
Comme wallabag est principalement dévelopée par une équipe française, c'est
cette traduction qui est considérée comme la plus récente. Merci de vous baser
sur celle-ci pour créer votre traduction.
Les principaux fichiers de traduction se trouvent ici : https://github.com/wallabag/wallabag/tree/v2/src/Wallabag/CoreBundle/Resources/translations.
Vous devez créer les fichiers ``messages.CODE.yml`` et ``validators.CODE.yml``,
où CODE est le code ISO 639-1 de votre langue (`cf wikipedia <https://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1>`__).
Autres fichiers à traduire :
- https://github.com/wallabag/wallabag/tree/v2/app/Resources/CraueConfigBundle/translations.
- https://github.com/wallabag/wallabag/tree/v2/app/Resources/FOSUserBundle/translations.
Vous devez créer les fichiers ``LE_FICHIER_DE_TRADUCTION.CODE.yml``.
Fichier de configuration
~~~~~~~~~~~~~~~~~~~~~~~~
Vous devez éditer `app/config/config.yml
<https://github.com/wallabag/wallabag/blob/v2/app/config/config.yml>`__ pour
afficher votre langue dans la page Configuration de wallabag (pour permettre aux
utilisateurs de choisir cette nouvelle traduction).
Dans la section ``wallabag_core.languages``, vous devez ajouter une nouvelle ligne
avec votre traduction. Par exemple :
::
wallabag_core:
...
languages:
en: 'English'
fr: 'Français'
Pour la première colonne (``en``, ``fr``, etc.), vous devez ajouter le code ISO 639-1
de votre langue (voir ci-dessus).
Pour la seconde colonne, c'est juste le nom de votre langue.
Documentation de wallabag
-------------------------
.. note::
Contrairement à l'application, la langue principale de la documentation est l'anglais
Les fichiers de documentation se trouvent ici : https://github.com/wallabag/wallabag/tree/v2/docs
Vous devez respecter la structure du dossier ``en`` quand vous crééz votre traduction.

47
docs/fr/index.rst Normal file
View File

@ -0,0 +1,47 @@
Documentation de wallabag
=========================
.. image:: ../img/wallabag.png
:alt: wallabag logo
:align: center
**wallabag** est une application de lecture différée : elle permet
simplement darchiver une page web en ne conservant que le contenu. Les
éléments superflus (menu, publicité, etc.) sont supprimés.
.. note::
Vous vous trouvez sur la documentation de wallabag v2. Si vous voulez lire la documentation de wallabag v1, `vous pouvez jeter un œil ici <https://github.com/wallabag/documentation>`__.
La documentation principale de cette application est découpée en plusieurs sections :
* :ref:`user-docs`
* :ref:`dev-docs`
.. _user-docs:
.. toctree::
:maxdepth: 2
:caption: Documentation utilisateur
user/installation
user/create_account
user/login
user/configuration
user/first_article
user/errors_during_fetching
user/annotations
user/import
user/download_articles
user/filters
user/tags
.. _dev-docs:
.. toctree::
:maxdepth: 2
:caption: Documentation développeur
developer/docker
developer/translate
developer/maintenance

2
docs/fr/requirements.txt Normal file
View File

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

View File

@ -0,0 +1,25 @@
Annotations
===========
Sur chaque article que vous lisez, vous pouvez écrire des annotations. Puisqu'une image vaut mieux qu'un long discours,
voici ce que ça donne.
Sélectionnez la zone du texte que vous souhaitez annoter et cliquez sur le crayon :
.. image:: ../../img/user/annotations_1.png
:alt: Sélectionnez votre texte
:align: center
Ensuite, écrivez votre annotation :
.. image:: ../../img/user/annotations_2.png
:alt: Écrivez votre annotation
:align: center
Le texte est maintenant surligné et vous pouvez lire le annotation en le survolant avec votre souris.
.. image:: ../../img/user/annotations_3.png
:alt: Lisez votre annotation
:align: center
Vous pouvez créer autant de annotations que vous le souhaitez.

View File

@ -0,0 +1,114 @@
Configuration
=============
Maintenant que vous êtes connecté, il est temps de confirurer votre compte.
Cliquez sur le menu ``Configuration``. Vous avez accès à 5 onglets:
``Paramètres``, ``RSS``, ``Mon compte``, ``Mot de passe`` and ``Règles de tag automatiques``.
Paramètres
----------
Thème
~~~~~
L'affichage de wallabag est personnalisable. C'est ici que vous choisissez le thème
que vous préférez. Vous pouvez aussi en créer un nouveau, une documentation sera
disponible pour apprendre comment. Le thème par défaut ``Material``, c'est ce thème
qui est utilisé dans les captures d'écran de la documentation.
Nombre d'articles par page
~~~~~~~~~~~~~~~~~~~~~~~~~~
Vous pouvez définir le nombre d'articles affichés sur chaque page.
Langue
~~~~~~
Vous pouvez définir la langue de l'interface de wallabag. Vous devrez vous déconnecter
pour que la nouvelle langue soit prise en compte.
RSS
---
wallabag propose un flux RSS for chaque statut d'article : non lus, favoris and lus.
Tout d'abord, vous devez vous créer un jeton personnel : cliquez sur ``Créez votre jeton``.
C'est possible de regénérer votre jeton en cliquant sur ``Réinitialisez votre jeton``.
Vous avez maintenant trois liens, un par statut : ajoutez les dans votre agrégateur de flux RSS préféré.
Vous pouvez aussi définir combien d'articles vous souhaitez dans vos flux RSS
(50 est la valeur par défaut).
Mon compte
----------
Vous pouvez ici modifier votre nom, votre adresse email et activer la ``Double authentification``.
Double authentification (2FA)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Two-factor authentication (also known as 2FA) is a technology patented in
1984 that provides identification of users by means of the combination of two different components.
https://en.wikipedia.org/wiki/Two-factor_authentication
Si vous activer 2FA, à chaque tentative de connexion à wallabag, vous recevrez
un code par email. Vous devez renseigner ce code dans le formulaire suivant :
.. image:: ../../img/user/2FA_form.png
:alt: Two factor authentication
:align: center
Si vous ne souhaitez pas recevoir un code à chaque fois que vous vous connectez,
vous pouvez cocher la case ``Je suis sur un ordinateur de confiance`` : wallabag
se souviendra de vous pour 15 jours.
Mot de passe
------------
Vous pouvez changer de mot de passe ici (8 caractères minimum).
Règles de tag automatiques
--------------------------
Si vous voulez automatiquement assigner un tag à de nouveaux articles en fonction de
certains critères, cette partie de la configuration est pour vous.
Que veut dire « règles de tag automatiques » ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ce sont des règles utilisées par wallabag pour automatiquement assigner un tag
à un nouvel article.
À chaque fois que vous ajoutez un nouvel article, toutes les règles sont utilisées pour ajouter
les tags que vous avez configurés, vous épargnant ainsi la peine de classer manuellement vos articles.
Comment les utiliser ?
~~~~~~~~~~~~~~~~~~~~~~
Admettons que vous voulez ajouter comme tag *« lecture rapide »* quand le temps de lecture
d'un article est inférieur à 3 minutes.
Dans ce cas, vous devez ajouter « readingTime <= 3 » dans le champ **Règle** et *« lecture rapide »* dans le champ **Tags**.
Plusieurs tags peuvent être ajoutés en même temps en les séparant par une virgule : *« lecture rapide, à lire »*.
Des règles complexes peuvent être écrites en utilisant les opérateurs pré-définis :
if *« readingTime >= 5 AND domainName = "github.com" »* then tag as *« long reading, github »*.
Quels variables et opérateurs puis-je utiliser pour écrire mes règles ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Les variables et opérateurs suivants peuvent être utilisés lors de la création de vos règles :
=========== ============================================== ========== ==========
Variable Sens Opérateur Sens
----------- ---------------------------------------------- ---------- ----------
title Titre de l'article <= Inférieur ou égal à …
url URL de l'article < Strictement inférieur à …
isArchived Si l'article est archivé ou non => Supérieur ou égal à …
isStared Si l'article est en favori ou non > Strictement supérieur à …
content Le contenu de l'article = Égal à …
language La langue de l'article != Différent de …
mimetype The type MIME de l'article OR Telle règle ou telle autre règle
readingTime Le temps de lecture de l'article, en minutes AND Telle règle et telle règle
domainName Le nom de domaine de l'article matches Contient telle chaine de caractère (insensible à la casse). Exemple : title matches "football"
=========== ============================================== ========== ==========

View File

@ -0,0 +1,46 @@
Se créer un compte
==================
Sur la page de connexion, cliquez sur le bouton ``Créer un compte``.
.. image:: ../../img/user/registration_form.png
:alt: Registration form
:align: center
Vous devez renseigner le formulaire. Faites attention de bien renseigner une adresse
email valide, nous allons vous envoyer un email d'activation.
.. image:: ../../img/user/sent_email.png
:alt: Email was sent to activate account
:align: center
Vérifiez votre boite de réception, vous avez un nouvel email avec un lien comme celui-ci
``http://wallabag/register/confirm/Ba19wokGovN-DdBQNfg4YgRkUQWRP4-k2g0Bk-hBTX4``.
Cliquez dessus pour activer votre compte.
Votre compte est maintenant actif.
.. image:: ../../img/user/activated_account.png
:alt: Welcome on board!
:align: center
Foire aux questions
-------------------
Je ne peux pas valider le formulaire de création de compte
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Soyez sur d'avoir bien renseigné tous les champs :
* une adresse email valide
* le même mot de passe dans les deux champs
Je n'ai pas reçu mon email d'activation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Êtes-vous sur d'avoir renseigné votre bonne adresse ? Avez-vous vérifié le dossier de spams ?
Quand je clique sur le lien d'activation, j'ai ce message : ``The user with confirmation token "DtrOPfbQeVkWf6N" does not exist``.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vous avez déjà activé votre compte ou l'URL d'activation n'est pas correcte.

View File

@ -0,0 +1,17 @@
Télécharger des articles
========================
Vous pouvez télécharger chaque article dans plusieurs formats : ePUB, MOBI, PDF, XML, JSON, CSV.
Lorsque vous lisez un article, cliquez sur cette icône dans la barre latérale :
.. image:: ../../img/user/download_article.png
:alt: download article
:align: center
Vous pouvez aussi télécharger une catégorie (non lus, favoris, lus) dans ces formats.
Par exemple, dans la vue **Non lus**, cliquez sur cette icône dans la barre supérieure :
.. image:: ../../img/user/download_articles.png
:alt: download articles
:align: center

View File

@ -0,0 +1,27 @@
Erreur durant la récupération des articles
==========================================
Pourquoi la récupération des articles échoue ?
----------------------------------------------
Il peut y avoir plusieurs raisons :
- problème de connexion internet
- wallabag ne peut pas récupérer le contenu à cause de la structure du site web
Comment puis-je aider pour réparer ça ?
---------------------------------------
- `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/.
Comment puis-je réessayer de récupérer le contenu ?
---------------------------------------------------
Si wallabag échoue en récupérant l'article, vous pouvez cliquer sur le bouton suivant
(le troisième sur l'image ci-dessous).
.. image:: ../../img/user/refetch.png
:alt: Refetch content
:align: center

2
docs/fr/user/filters.rst Normal file
View File

@ -0,0 +1,2 @@
Filtres
=======

View File

@ -0,0 +1,68 @@
Sauvegardez votre premier article
=================================
La fonctionnalité principale de wallabag est de sauvegarder des articles.
Vous avez plusieurs manières de le faire.
.. note::
Un guide de démarrage s'affichera dans l'application jusqu'à ce que vous
enregistriez votre premier article.
En utilisant le bookmarklet
---------------------------
Sur la page ``Aide``, vous avez un onglet ``Bookmarklet``. Glissez/déposez le lien ``bag it!``
dans votre barre de favoris de votre navigateur.
Maintennat, à chaque fois que vous lisez un article et que vous souhaitez le sauvegarder,
cliquez sur le lien ``bag it!`` dans votre barre de favoris. L'article est enregistré.
En utilisant le formulaire classique
------------------------------------
Dans la barre haut de wallabag, vous avez trois icônes. Avec la première icône,
un signe plus, vous pouvez facilement ajouter un nouvel article.
.. image:: ../../img/user/topbar.png
:alt: Top bar
:align: center
Cliquez dessus pour afficher un nouveau champ, collez-y l'URL de l'article et appuyez
sur la touche ``Entrée``. L'article est enregistré.
En utilisant l'extension de votre navigateur
--------------------------------------------
Firefox
~~~~~~~
*Cette extension n'est pas encore disponible pour wallabag v2*.
Chrome
~~~~~~
*Cette extension n'est pas encore disponible pour wallabag v2*.
En utilisant l'application de votre smartphone
----------------------------------------------
Android
~~~~~~~
*Cette application n'est pas encore disponible pour wallabag v2*.
Firefox OS
~~~~~~~~~~
*Cette application n'est pas encore disponible pour wallabag v2*.
Windows Phone
~~~~~~~~~~~~~
*Cette application n'est pas encore disponible pour wallabag v2*.
iOS
~~~
*Cette application n'est pas encore disponible pour wallabag v2*.

83
docs/fr/user/import.rst Normal file
View File

@ -0,0 +1,83 @@
Migrer à wallabag
=================
Depuis wallabag
---------------
Exportez vos données de wallabag 1.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sur la page de configuration, cliquez sur ``Export JSON`` dans la section ``Exportez vos données wallabag``.
.. image:: ../../img/user/export_wllbg_1.png
:alt: Export from wallabag 1.x
:align: center
Vous obtiendrez un fichier ``wallabag-export-1-1970-01-01.json``.
Exportez vos données de wallabag 2.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dans la barre latérale de téléchargement, cliquez sur ``JSON``.
.. image:: ../../img/user/export_wllbg_2.png
:alt: Export from wallabag 2.x
:align: center
Vous obtiendrez un fichier ``Unread articles.json``.
Importez vos données wallabag 2.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Cliquez sur le lien ``Importer`` dans le menu, choisissez la version de wallabag correspondante,
sélectionnez votre fichier d'export sur votre ordinateur et importez-le.
.. image:: ../../img/user/import_wllbg.png
:alt: Import from wallabag 1.x
:align: center
Tous vos articles wallabag seront importés.
Depuis Pocket
-------------
Créer une nouvelle application dans Pocket
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Pour importer vos données depuis Pocket, nous utilisons l'API de Pocket.
Vous devez créer une nouvelle application sur leur site dédié aux développeurs pour continuer.
* Créez une nouvelle application `sur leur site Développeurs <https://getpocket.com/developer/apps/new>`_
* Remplissez les champs requis : nom de l'application, description de l'application,
permissions (seulement **retrieve**), la plateforme (**web**), acceptez les
termes d'utilisation du service et soumettez votre application
Pocket vous fournira une **Consumer Key** (par exemple, `49961-985e4b92fe21fe4c78d682c1`).
Vous devez configurer la ``pocket_consumer_key`` dans le fichier ``app/config/parameters.yml``.
Maintenant, tout est bien configuré pour migrer depuis Pocket.
Importez vos données dans wallabag 2.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Cliquez sur le lien ``Importer`` dans le menu, sur ``Importer les contenus`` dans
la section Pocket puis sur ``Se connecter à Pocket et importer les données``.
Vous devez autoriser wallabag à se connecter à votre compte Pocket.
Vos données vont être importées. L'import de données est une action qui peut être couteuse
pour votre serveur (nous devons encore travailler pour améliorer cet import).
Depuis Instapaper
-----------------
*Fonctionnalité pas encore implémentée dans wallabag v2.*
Depuis Readability
------------------
*Fonctionnalité pas encore implémentée dans wallabag v2.*
Depuis un fichier HTML ou JSON
------------------------------
*Fonctionnalité pas encore implémentée dans wallabag v2.*

View File

@ -0,0 +1,143 @@
Installer wallabag
==================
Pré-requis
------------
wallabag est compatible avec php >= 5.5
Vous aurez besoin des extensions suivantes pour que wallabag fonctionne. Il est possible que certaines de ces extensions soient déjà activées dans votre version de php, donc vous n'avez pas forcément besoin d'installer tous les paquets correspondants.
- php-session
- php-ctype
- php-dom
- php-hash
- php-simplexml
- php-json
- php-gd
- php-mbstring
- php-xml
- php-tidy
- php-iconv
- php-curl
- php-gettext
- php-tokenizer
wallabag utilise PDO afin de se connecter à une base de données, donc vous aurez besoin d'une extension et d'un système de bases de données parmi :
- php-pdo_mysql
- php-pdo_sqlite
- php-pdo_pgsql
Installation
------------
wallabag utilise un grand nombre de bibliothèques pour fonctionner. Ces bibliothèques doivent être installées à l'aide d'un outil nommé Composer. Vous devez l'installer si ce n'est déjà fait.
Installation de Composer :
::
curl -s http://getcomposer.org/installer | php
Vous pouvez trouver des instructions spécifiques ici (en anglais) : __ https://getcomposer.org/doc/00-intro.md
Pour installer wallabag, vous devez exécuter ces deux commandes :
::
SYMFONY_ENV=prod composer create-project wallabag/wallabag wallabag "2.0.0-beta.1" --no-dev
php bin/console wallabag:install --env=prod
Pour démarrer le serveur interne à php et vérifier que tout s'est installé correctement, vous pouvez exécuter :
::
php bin/console server:run --env=prod
Et accéder wallabag à l'adresse http://lipdevotreserveur:8000
Installation avec Apache
------------------------
En imaginant que vous vouliez installer wallabag dans le dossier /var/www/wallabag et que vous utilisiez php comme un module Apache, voici un vhost pour wallabag :
::
<VirtualHost *:80>
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot /var/www/wallabag/web
<Directory /var/www/wallabag/web>
AllowOverride None
Order Allow,Deny
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeScript assets
# <Directory /var/www/wallabag>
# Options FollowSymlinks
# </Directory>
# optionally disable the RewriteEngine for the asset directories
# which will allow apache to simply reply with a 404 when files are
# not found instead of passing the request into the full symfony stack
<Directory /var/www/wallabag/web/bundles>
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>
</Directory>
ErrorLog /var/log/apache2/wallabag_error.log
CustomLog /var/log/apache2/wallabag_access.log combined
</VirtualHost>
Après que vous ayez rechargé/redémarré Apache, vous devriez pouvoir avoir accès à wallabag à l'adresse http://domain.tld.
Installation avec Nginx
-----------------------
En imaginant que vous vouliez installer wallabag dans le dossier /var/www/wallabag, voici un fichier de configuration Nginx pour wallabag :
::
server {
server_name domain.tld www.domain.tld;
root /var/www/wallabag/web;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
}
location ~ ^/app\.php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
# When you are using symlinks to link the document root to the
# current version of your application, you should pass the real
# application path instead of the path to the symlink to PHP
# FPM.
# Otherwise, PHP's OPcache may not properly detect changes to
# your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
# for more information).
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
# Prevents URIs that include the front controller. This will 404:
# http://domain.tld/app.php/some-path
# Remove the internal directive to allow URIs like this
internal;
}
error_log /var/log/nginx/wallabag_error.log;
access_log /var/log/nginx/wallabag_access.log;
}
Après que vous ayez rechargé/redémarré Nginx, vous devriez pouvoir avoir accès à wallabag à l'adresse http://domain.tld.

23
docs/fr/user/login.rst Normal file
View File

@ -0,0 +1,23 @@
Se connecter
============
Votre compte est maintenant actif, félicitations !
Pour vous connecter à wallabag, remplissez le formulaire de connexion.
Si vous êtes sur un ordinateur de confiance et que vous souhaitez rester connecté
vous pouvez cocher la case ``Restez connecté`` : wallabag se souviendra de vous pour un an.
.. image:: ../../img/user/login_form.png
:alt: Login form
:align: center
Foire aux questions
-------------------
J'ai oublié mon mot de passe
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vous pouvez réinitialiser votre mot de passe en cliquant sur ``Mot de passe oublié ?``,
sur la page de connexion. Ensuite, renseignez votre adresse email ou votre nom d'utilisateur,
un email vous sera envoyé.

2
docs/fr/user/tags.rst Normal file
View File

@ -0,0 +1,2 @@
Tags
====

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