From 426bb453d295900fb3e35dce2f9081a42639cf27 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Fri, 2 Jun 2017 10:19:33 +0200 Subject: API user creation behing a toggle I've added a toggle feature (in internal settings) so that user api creation can be disabled while form registration still can be enabled. Also, the /api/user endpoint shouldn't require authentication. Even if we check the authentication when sending a GET request, to retrieve current user information. I've moved all the internal settings definition to config to avoid duplicated place to define them. I don't know why we didn't did that earlier. --- app/DoctrineMigrations/Version20170602075214.php | 52 +++++++++ app/config/config.yml | 129 +++++++++++++++++++++++ app/config/security.yml | 1 + 3 files changed, 182 insertions(+) create mode 100644 app/DoctrineMigrations/Version20170602075214.php (limited to 'app') diff --git a/app/DoctrineMigrations/Version20170602075214.php b/app/DoctrineMigrations/Version20170602075214.php new file mode 100644 index 00000000..451d16ba --- /dev/null +++ b/app/DoctrineMigrations/Version20170602075214.php @@ -0,0 +1,52 @@ +container = $container; + } + + private function getTable($tableName) + { + return $this->container->getParameter('database_table_prefix').$tableName; + } + + /** + * @param Schema $schema + */ + public function up(Schema $schema) + { + $apiUserRegistration = $this->container + ->get('doctrine.orm.default_entity_manager') + ->getConnection() + ->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'api_user_registration'"); + + $this->skipIf(false !== $apiUserRegistration, 'It seems that you already played this migration.'); + + $this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('api_user_registration', '0', 'api')"); + } + + /** + * @param Schema $schema + */ + public function down(Schema $schema) + { + $this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'api_user_registration';"); + } +} diff --git a/app/config/config.yml b/app/config/config.yml index 04f8547d..b0d330ab 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -62,6 +62,135 @@ wallabag_core: fetching_error_message: | wallabag can't retrieve contents for this article. Please troubleshoot this issue. api_limit_mass_actions: 10 + default_internal_settings: + - + name: share_public + value: 1 + section: entry + - + name: carrot + value: 1 + section: entry + - + name: share_diaspora + value: 1 + section: entry + - + name: diaspora_url + value: http://diasporapod.com + section: entry + - + name: share_unmark + value: 1 + section: entry + - + name: unmark_url + value: https://unmark.it + section: entry + - + name: share_shaarli + value: 1 + section: entry + - + name: share_scuttle + value: 1 + section: entry + - + name: shaarli_url + value: http://myshaarli.com + section: entry + - + name: scuttle_url + value: http://scuttle.org + section: entry + - + name: share_mail + value: 1 + section: entry + - + name: share_twitter + value: 1 + section: entry + - + name: show_printlink + value: 1 + section: entry + - + name: restricted_access + value: 0 + section: entry + - + name: export_epub + value: 1 + section: export + - + name: export_mobi + value: 1 + section: export + - + name: export_pdf + value: 1 + section: export + - + name: export_csv + value: 1 + section: export + - + name: export_json + value: 1 + section: export + - + name: export_txt + value: 1 + section: export + - + name: export_xml + value: 1 + section: export + - + name: import_with_redis + value: 0 + section: import + - + name: import_with_rabbitmq + value: 0 + section: import + - + name: piwik_enabled + value: 0 + section: analytics + - + name: piwik_host + value: v2.wallabag.org + section: analytics + - + name: piwik_site_id + value: 1 + section: analytics + - + name: demo_mode_enabled + value: 0 + section: misc + - + name: demo_mode_username + value: wallabag + section: misc + - + name: download_images_enabled + value: 0 + section: misc + - + name: wallabag_support_url + value: https://www.wallabag.org/pages/support.html + section: misc + - + name: wallabag_url + value: http://v2.wallabag.org + section: misc + - + name: api_user_registration + value: 0 + section: api wallabag_user: registration_enabled: "%fosuser_registration%" diff --git a/app/config/security.yml b/app/config/security.yml index efb00a53..ffb1d356 100644 --- a/app/config/security.yml +++ b/app/config/security.yml @@ -56,6 +56,7 @@ security: access_control: - { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/api/version, roles: IS_AUTHENTICATED_ANONYMOUSLY } + - { path: ^/api/user, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } -- cgit v1.2.3 From 1b9cd91782ed8341d2e608371201348c59986f23 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Fri, 2 Jun 2017 10:27:15 +0200 Subject: Add translation --- app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml | 1 + app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml | 1 + app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml | 1 + app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml | 1 + app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml | 1 + app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml | 1 + app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml | 1 + app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml | 1 + app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml | 1 + app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pt.yml | 1 + app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml | 1 + app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml | 1 + 12 files changed, 12 insertions(+) (limited to 'app') diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml index d1f7e3b5..20e938f5 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml @@ -34,3 +34,4 @@ demo_mode_username: "Demobruger" # share_public: Allow public url for entries # download_images_enabled: Download images locally # restricted_access: Enable authentication for websites with paywall +# api_user_registration: Enable user to be registered using the API diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml index 1105675b..526d41bc 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml @@ -34,3 +34,4 @@ demo_mode_username: "Test-Benutzer" share_public: Erlaube eine öffentliche URL für Einträge # download_images_enabled: Download images locally # restricted_access: Enable authentication for websites with paywall +# api_user_registration: Enable user to be registered using the API diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml index 802599b3..3c0037f3 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml @@ -34,3 +34,4 @@ demo_mode_username: "Demo user" share_public: Allow public url for entries download_images_enabled: Download images locally restricted_access: Enable authentication for websites with paywall +api_user_registration: Enable user to be registered using the API diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml index b3ac18ed..99869669 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml @@ -34,3 +34,4 @@ demo_mode_username: "Nombre de usuario demo" share_public: Permitir URL pública para los artículos download_images_enabled: Descargar imágenes localmente restricted_access: Activar autenticación para websites con paywall +# api_user_registration: Enable user to be registered using the API diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml index c73d63e2..2e1307e5 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml @@ -34,3 +34,4 @@ modify_settings: "اعمال" # share_public: Allow public url for entries # download_images_enabled: Download images locally # restricted_access: Enable authentication for websites with paywall +# api_user_registration: Enable user to be registered using the API diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml index a53174ae..454053ad 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml @@ -34,3 +34,4 @@ demo_mode_username: "Utilisateur de la démo" share_public: Autoriser une URL publique pour les articles download_images_enabled: Télécharger les images en local restricted_access: Activer l'authentification pour les articles derrière un paywall +api_user_registration: Activer la création de compte depuis l'API diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml index 3d53fc8d..7d5ac3d2 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml @@ -34,3 +34,4 @@ demo_mode_username: "Utente Demo" # share_public: Allow public url for entries # download_images_enabled: Download images locally # restricted_access: Enable authentication for websites with paywall +# api_user_registration: Enable user to be registered using the API diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml index 79f75245..00c06638 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml @@ -34,3 +34,4 @@ demo_mode_username: "Utilizaire de la demostracion" share_public: Autorizar una URL publica pels articles download_images_enabled: Telecargar los imatges en local restricted_access: Activar l'autenticacion pels sites amb peatge +# api_user_registration: Enable user to be registered using the API diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml index 02fe98e3..81ddefd1 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml @@ -34,3 +34,4 @@ demo_mode_username: "Użytkownik Demonstracyjny" share_public: Zezwalaj na publiczny adres url dla wpisow download_images_enabled: Pobierz obrazy lokalnie restricted_access: Włącz autoryzację dla stron z paywallem +# api_user_registration: Enable user to be registered using the API diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pt.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pt.yml index 4a061bce..59af9610 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pt.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pt.yml @@ -34,3 +34,4 @@ demo_mode_username: "Usuário demo" # share_public: Allow public url for entries # download_images_enabled: Download images locally # restricted_access: Enable authentication for websites with paywall +# api_user_registration: Enable user to be registered using the API diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml index 5ee48074..104e37c6 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml @@ -34,3 +34,4 @@ modify_settings: "aplică" # share_public: Allow public url for entries # download_images_enabled: Download images locally # restricted_access: Enable authentication for websites with paywall +# api_user_registration: Enable user to be registered using the API diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml index d83a4b7b..1579366d 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml @@ -34,3 +34,4 @@ # share_public: Allow public url for entries # download_images_enabled: Download images locally # restricted_access: Enable authentication for websites with paywall +# api_user_registration: Enable user to be registered using the API -- cgit v1.2.3 From bf7f0cb5a310f661d969199d7f01b738f5804f3b Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Fri, 2 Jun 2017 10:46:04 +0200 Subject: Use a dedicated file for wallabag config --- app/config/config.yml | 166 +----------------------------------------------- app/config/wallabag.yml | 164 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 165 insertions(+), 165 deletions(-) create mode 100644 app/config/wallabag.yml (limited to 'app') diff --git a/app/config/config.yml b/app/config/config.yml index b0d330ab..2bc5e3b3 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -2,6 +2,7 @@ imports: - { resource: parameters.yml } - { resource: security.yml } - { resource: services.yml } + - { resource: wallabag.yml } parameters: # Allows to use the live reload feature for changes in assets @@ -34,171 +35,6 @@ framework: http_method_override: true assets: ~ -wallabag_core: - version: 2.2.3 - 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' - es: 'Español' - oc: 'Occitan' - it: 'Italiano' - pt: 'Português' - items_on_page: 12 - theme: material - language: '%locale%' - rss_limit: 50 - reading_speed: 1 - cache_lifetime: 10 - action_mark_as_read: 1 - list_mode: 0 - fetching_error_message_title: 'No title found' - fetching_error_message: | - wallabag can't retrieve contents for this article. Please troubleshoot this issue. - api_limit_mass_actions: 10 - default_internal_settings: - - - name: share_public - value: 1 - section: entry - - - name: carrot - value: 1 - section: entry - - - name: share_diaspora - value: 1 - section: entry - - - name: diaspora_url - value: http://diasporapod.com - section: entry - - - name: share_unmark - value: 1 - section: entry - - - name: unmark_url - value: https://unmark.it - section: entry - - - name: share_shaarli - value: 1 - section: entry - - - name: share_scuttle - value: 1 - section: entry - - - name: shaarli_url - value: http://myshaarli.com - section: entry - - - name: scuttle_url - value: http://scuttle.org - section: entry - - - name: share_mail - value: 1 - section: entry - - - name: share_twitter - value: 1 - section: entry - - - name: show_printlink - value: 1 - section: entry - - - name: restricted_access - value: 0 - section: entry - - - name: export_epub - value: 1 - section: export - - - name: export_mobi - value: 1 - section: export - - - name: export_pdf - value: 1 - section: export - - - name: export_csv - value: 1 - section: export - - - name: export_json - value: 1 - section: export - - - name: export_txt - value: 1 - section: export - - - name: export_xml - value: 1 - section: export - - - name: import_with_redis - value: 0 - section: import - - - name: import_with_rabbitmq - value: 0 - section: import - - - name: piwik_enabled - value: 0 - section: analytics - - - name: piwik_host - value: v2.wallabag.org - section: analytics - - - name: piwik_site_id - value: 1 - section: analytics - - - name: demo_mode_enabled - value: 0 - section: misc - - - name: demo_mode_username - value: wallabag - section: misc - - - name: download_images_enabled - value: 0 - section: misc - - - name: wallabag_support_url - value: https://www.wallabag.org/pages/support.html - section: misc - - - name: wallabag_url - value: http://v2.wallabag.org - section: misc - - - name: api_user_registration - value: 0 - section: api - -wallabag_user: - registration_enabled: "%fosuser_registration%" - -wallabag_import: - allow_mimetypes: ['application/octet-stream', 'application/json', 'text/plain', 'text/csv'] - resource_dir: "%kernel.root_dir%/../web/uploads/import" - # Twig Configuration twig: debug: "%kernel.debug%" diff --git a/app/config/wallabag.yml b/app/config/wallabag.yml new file mode 100644 index 00000000..d8c593c6 --- /dev/null +++ b/app/config/wallabag.yml @@ -0,0 +1,164 @@ +wallabag_core: + version: 2.2.3 + 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' + es: 'Español' + oc: 'Occitan' + it: 'Italiano' + pt: 'Português' + items_on_page: 12 + theme: material + language: '%locale%' + rss_limit: 50 + reading_speed: 1 + cache_lifetime: 10 + action_mark_as_read: 1 + list_mode: 0 + fetching_error_message_title: 'No title found' + fetching_error_message: | + wallabag can't retrieve contents for this article. Please troubleshoot this issue. + api_limit_mass_actions: 10 + default_internal_settings: + - + name: share_public + value: 1 + section: entry + - + name: carrot + value: 1 + section: entry + - + name: share_diaspora + value: 1 + section: entry + - + name: diaspora_url + value: http://diasporapod.com + section: entry + - + name: share_unmark + value: 1 + section: entry + - + name: unmark_url + value: https://unmark.it + section: entry + - + name: share_shaarli + value: 1 + section: entry + - + name: share_scuttle + value: 1 + section: entry + - + name: shaarli_url + value: http://myshaarli.com + section: entry + - + name: scuttle_url + value: http://scuttle.org + section: entry + - + name: share_mail + value: 1 + section: entry + - + name: share_twitter + value: 1 + section: entry + - + name: show_printlink + value: 1 + section: entry + - + name: restricted_access + value: 0 + section: entry + - + name: export_epub + value: 1 + section: export + - + name: export_mobi + value: 1 + section: export + - + name: export_pdf + value: 1 + section: export + - + name: export_csv + value: 1 + section: export + - + name: export_json + value: 1 + section: export + - + name: export_txt + value: 1 + section: export + - + name: export_xml + value: 1 + section: export + - + name: import_with_redis + value: 0 + section: import + - + name: import_with_rabbitmq + value: 0 + section: import + - + name: piwik_enabled + value: 0 + section: analytics + - + name: piwik_host + value: v2.wallabag.org + section: analytics + - + name: piwik_site_id + value: 1 + section: analytics + - + name: demo_mode_enabled + value: 0 + section: misc + - + name: demo_mode_username + value: wallabag + section: misc + - + name: download_images_enabled + value: 0 + section: misc + - + name: wallabag_support_url + value: https://www.wallabag.org/pages/support.html + section: misc + - + name: wallabag_url + value: http://v2.wallabag.org + section: misc + - + name: api_user_registration + value: 0 + section: api + +wallabag_user: + registration_enabled: "%fosuser_registration%" + +wallabag_import: + allow_mimetypes: ['application/octet-stream', 'application/json', 'text/plain', 'text/csv'] + resource_dir: "%kernel.root_dir%/../web/uploads/import" -- cgit v1.2.3 From 044079967b18f9e02b1d2bd838b1b79a5b047548 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Benoist?= Date: Fri, 2 Jun 2017 11:45:45 +0200 Subject: Add :it: translation --- app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app') diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml index 7d5ac3d2..4dbd2ff8 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml @@ -34,4 +34,4 @@ demo_mode_username: "Utente Demo" # share_public: Allow public url for entries # download_images_enabled: Download images locally # restricted_access: Enable authentication for websites with paywall -# api_user_registration: Enable user to be registered using the API +api_user_registration: Abilita la registrazione dell'utente attraverso l'API -- cgit v1.2.3 From d0f7b0cc60899ec821aaa1bb48c057a704c3004c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Rumi=C5=84ski?= Date: Fri, 2 Jun 2017 19:35:25 +0200 Subject: Update PL transation add missing translation --- app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app') diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml index 81ddefd1..ada11b3a 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml @@ -34,4 +34,4 @@ demo_mode_username: "Użytkownik Demonstracyjny" share_public: Zezwalaj na publiczny adres url dla wpisow download_images_enabled: Pobierz obrazy lokalnie restricted_access: Włącz autoryzację dla stron z paywallem -# api_user_registration: Enable user to be registered using the API +api_user_registration: Włącz rejestrację użytkownika przy użyciu API -- cgit v1.2.3