From: Jeremy Benoist Date: Thu, 21 Jan 2016 07:53:09 +0000 (+0100) Subject: Add CraueConfig for internal settings X-Git-Tag: 2.0.0-beta.1~58^2~10 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=63e40f2d7c4074aff0be587c828eb511a6b7c878;p=github%2Fwallabag%2Fwallabag.git Add CraueConfig for internal settings --- diff --git a/app/AppKernel.php b/app/AppKernel.php index 7e76a9e9..82d3aa38 100644 --- a/app/AppKernel.php +++ b/app/AppKernel.php @@ -33,6 +33,7 @@ class AppKernel extends Kernel new KPhoen\RulerZBundle\KPhoenRulerZBundle(), new Wallabag\ImportBundle\WallabagImportBundle(), new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(), + new Craue\ConfigBundle\CraueConfigBundle(), ]; if (in_array($this->getEnvironment(), ['dev', 'test'], true)) { diff --git a/app/DoctrineMigrations/Version20160120200534_settings.php b/app/DoctrineMigrations/Version20160120200534_settings.php new file mode 100644 index 00000000..34809ff9 --- /dev/null +++ b/app/DoctrineMigrations/Version20160120200534_settings.php @@ -0,0 +1,51 @@ +abortIf($this->connection->getDatabasePlatform()->getName() != 'mysql', 'Migration can only be executed safely on \'mysql\'.'); + + $this->addSql('CREATE TABLE craue_config_setting (name VARCHAR(255) NOT NULL, value VARCHAR(255) DEFAULT NULL, section VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_B95BA9425E237E06 (name), PRIMARY KEY(name)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); + $this->addSql("INSERT INTO `craue_config_setting` (`name`, `value`, `section`) VALUES + ('download_pictures', '1', 'entry'), + ('carrot', '1', 'entry'), + ('share_diaspora', '1', 'entry'), + ('diaspora_url', 'http://diasporapod.com', 'entry'), + ('share_shaarli', '1', 'entry'), + ('shaarli_url', 'http://myshaarli.com', 'entry'), + ('share_mail', '1', 'entry'), + ('share_twitter', '1', 'entry'), + ('export_epub', '1', 'export'), + ('export_mobi', '1', 'export'), + ('export_pdf', '1', 'export'), + ('pocket_consumer_key', NULL, 'import'), + ('show_printlink', '1', 'entry'), + ('wallabag_support_url', 'https://www.wallabag.org/pages/support.html', 'misc'), + ('wallabag_url', 'http://v2.wallabag.org', 'misc')" + ); + } + + /** + * @param Schema $schema + */ + public function down(Schema $schema) + { + // this down() migration is auto-generated, please modify it to your needs + $this->abortIf($this->connection->getDatabasePlatform()->getName() != 'mysql', 'Migration can only be executed safely on \'mysql\'.'); + + $this->addSql('DROP TABLE craue_config_setting'); + } +} diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml new file mode 100644 index 00000000..ea90460e --- /dev/null +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml @@ -0,0 +1,15 @@ +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 +pocket_consumer_key: Consumer key for Pocket to import contents (https://getpocket.com/developer/docs/authentication) +shaarli_url: URL de Shaarli, 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 diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml new file mode 100644 index 00000000..19600045 --- /dev/null +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml @@ -0,0 +1,15 @@ +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 +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 Diaspora 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 diff --git a/app/Resources/CraueConfigBundle/views/Settings/modify.html.twig b/app/Resources/CraueConfigBundle/views/Settings/modify.html.twig new file mode 100644 index 00000000..f44db420 --- /dev/null +++ b/app/Resources/CraueConfigBundle/views/Settings/modify.html.twig @@ -0,0 +1,43 @@ +{% extends "WallabagCoreBundle::layout.html.twig" %} + +{% block title %}{% trans %}internal settings{% endtrans %}{% endblock %} + +{% block content %} +
+
+
+ {{ form_start(form, {'attr': {'class': 'craue_config_settings_modify'}}) }} + {{ form_errors(form) }} + +
+
+ +
+ + {% for section in sections | craue_sortSections %} +
+ {% 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 %} +
+ {% endfor %} +
+ + + + {{ form_rest(form) }} + {{ form_end(form) }} +
+
+
+{% endblock %} diff --git a/app/config/config.yml b/app/config/config.yml index 58e1dd66..3c278ea6 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -28,6 +28,8 @@ framework: assets: ~ wallabag_core: + version: 2.0.0-alpha.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' @@ -46,28 +48,6 @@ wallabag_import: 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% - export_csv: %export_csv% - export_json: %export_json% - export_txt: %export_txt% - export_xml: %export_xml% - version: %app.version% - twofactor_auth: %twofactor_auth% - paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb" form_themes: - "LexikFormFilterBundle:Form:form_div_layout.html.twig" diff --git a/app/config/parameters.yml.dist b/app/config/parameters.yml.dist index 52d26cb4..3eeedb78 100644 --- a/app/config/parameters.yml.dist +++ b/app/config/parameters.yml.dist @@ -37,32 +37,6 @@ parameters: # A secret key that's used to generate certain security-related tokens secret: ThisTokenIsNotSoSecretChangeIt - # wallabag misc - app.version: 2.0.0-alpha + # two factor stuff twofactor_auth: true twofactor_sender: no-reply@wallabag.org - - 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 - export_csv: true - export_json: true - export_txt: true - export_xml: true - wallabag_url: http://v2.wallabag.org - wallabag_support_url: 'https://www.wallabag.org/pages/support.html' - - # pocket import - pocket_consumer_key: xxxxxxxx diff --git a/app/config/routing.yml b/app/config/routing.yml index 84b98d23..c491d35d 100644 --- a/app/config/routing.yml +++ b/app/config/routing.yml @@ -22,7 +22,9 @@ rest : homepage: path: "/{page}" - defaults: { _controller: WallabagCoreBundle:Entry:showUnread, page : 1 } + defaults: + _controller: WallabagCoreBundle:Entry:showUnread + page : 1 requirements: page: \d+ @@ -31,3 +33,8 @@ fos_user: fos_oauth_server_token: resource: "@FOSOAuthServerBundle/Resources/config/routing/token.xml" + +craue_config_settings_modify: + path: /settings + defaults: + _controller: CraueConfigBundle:Settings:modify diff --git a/app/config/security.yml b/app/config/security.yml index a99a7d80..6f20490b 100644 --- a/app/config/security.yml +++ b/app/config/security.yml @@ -58,3 +58,4 @@ security: - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: /(unread|starred|archive).xml$, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/, roles: ROLE_USER } + - { path: ^/settings, roles: ROLE_SUPER_ADMIN } diff --git a/app/config/tests/parameters.yml.dist.mysql b/app/config/tests/parameters.yml.dist.mysql index 073f6c27..3244fd3a 100644 --- a/app/config/tests/parameters.yml.dist.mysql +++ b/app/config/tests/parameters.yml.dist.mysql @@ -27,32 +27,6 @@ parameters: # A secret key that's used to generate certain security-related tokens secret: ThisTokenIsNotSoSecretChangeIt - # wallabag misc - app.version: 2.0.0-alpha + # two factor stuff twofactor_auth: true twofactor_sender: no-reply@wallabag.org - - 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 - export_csv: true - export_json: true - export_txt: true - export_xml: true - wallabag_url: http://v2.wallabag.org - wallabag_support_url: 'https://www.wallabag.org/pages/support.html' - - # pocket import - pocket_consumer_key: xxxxxxxx diff --git a/app/config/tests/parameters.yml.dist.pgsql b/app/config/tests/parameters.yml.dist.pgsql index 24a1818a..cee34473 100644 --- a/app/config/tests/parameters.yml.dist.pgsql +++ b/app/config/tests/parameters.yml.dist.pgsql @@ -27,32 +27,6 @@ parameters: # A secret key that's used to generate certain security-related tokens secret: ThisTokenIsNotSoSecretChangeIt - # wallabag misc - app.version: 2.0.0-alpha + # two factor stuff twofactor_auth: true twofactor_sender: no-reply@wallabag.org - - 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 - export_csv: true - export_json: true - export_txt: true - export_xml: true - wallabag_url: http://v2.wallabag.org - wallabag_support_url: 'https://www.wallabag.org/pages/support.html' - - # pocket import - pocket_consumer_key: xxxxxxxx diff --git a/app/config/tests/parameters.yml.dist.sqlite b/app/config/tests/parameters.yml.dist.sqlite index c739f89b..a1535bc9 100644 --- a/app/config/tests/parameters.yml.dist.sqlite +++ b/app/config/tests/parameters.yml.dist.sqlite @@ -27,32 +27,6 @@ parameters: # A secret key that's used to generate certain security-related tokens secret: ThisTokenIsNotSoSecretChangeIt - # wallabag misc - app.version: 2.0.0-alpha + # two factor stuff twofactor_auth: true twofactor_sender: no-reply@wallabag.org - - 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 - export_csv: true - export_json: true - export_txt: true - export_xml: true - wallabag_url: http://v2.wallabag.org - wallabag_support_url: 'https://www.wallabag.org/pages/support.html' - - # pocket import - pocket_consumer_key: xxxxxxxx diff --git a/composer.json b/composer.json index d84e1f8b..1c07c209 100644 --- a/composer.json +++ b/composer.json @@ -55,7 +55,7 @@ "lexik/form-filter-bundle": "~5.0", "j0k3r/graby": "~1.0", "friendsofsymfony/user-bundle": "dev-master", - "friendsofsymfony/oauth-server-bundle": "^1.5@dev", + "friendsofsymfony/oauth-server-bundle": "^1.5", "stof/doctrine-extensions-bundle": "^1.2@dev", "scheb/two-factor-bundle": "~2.0", "grandt/phpepub": "~4.0", @@ -63,7 +63,8 @@ "kphoen/rulerz-bundle": "~0.10", "guzzlehttp/guzzle": "^5.2.0", "doctrine/doctrine-migrations-bundle": "^1.0", - "paragonie/random_compat": "~1.0" + "paragonie/random_compat": "~1.0", + "craue/config-bundle": "~1.4" }, "require-dev": { "doctrine/doctrine-fixtures-bundle": "~2.2", diff --git a/src/Wallabag/CoreBundle/Controller/ConfigController.php b/src/Wallabag/CoreBundle/Controller/ConfigController.php index 4ece6431..c7513f79 100644 --- a/src/Wallabag/CoreBundle/Controller/ConfigController.php +++ b/src/Wallabag/CoreBundle/Controller/ConfigController.php @@ -163,6 +163,7 @@ class ConfigController extends Controller 'username' => $user->getUsername(), 'token' => $config->getRssToken(), ), + 'twofactor_auth' => $this->getParameter('twofactor_auth'), )); } diff --git a/src/Wallabag/CoreBundle/Controller/StaticController.php b/src/Wallabag/CoreBundle/Controller/StaticController.php index 9ada371b..5b7bd56e 100644 --- a/src/Wallabag/CoreBundle/Controller/StaticController.php +++ b/src/Wallabag/CoreBundle/Controller/StaticController.php @@ -25,7 +25,10 @@ class StaticController extends Controller { return $this->render( 'WallabagCoreBundle:Static:about.html.twig', - array() + array( + 'version' => $this->getParameter('wallabag_core.version'), + 'paypal_url' => $this->getParameter('wallabag_core.paypal_url'), + ) ); } diff --git a/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php b/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php index 4d5a63f8..bc405fdc 100644 --- a/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php +++ b/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php @@ -29,6 +29,10 @@ class Configuration implements ConfigurationInterface ->integerNode('rss_limit') ->defaultValue(50) ->end() + ->scalarNode('version') + ->end() + ->scalarNode('paypal_url') + ->end() ->end() ; diff --git a/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php b/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php index 73bbffe1..9b4703e4 100644 --- a/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php +++ b/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php @@ -19,6 +19,8 @@ class WallabagCoreExtension extends Extension $container->setParameter('wallabag_core.theme', $config['theme']); $container->setParameter('wallabag_core.language', $config['language']); $container->setParameter('wallabag_core.rss_limit', $config['rss_limit']); + $container->setParameter('wallabag_core.version', $config['version']); + $container->setParameter('wallabag_core.paypal_url', $config['paypal_url']); $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); $loader->load('services.yml'); diff --git a/src/Wallabag/CoreBundle/Helper/EntriesExport.php b/src/Wallabag/CoreBundle/Helper/EntriesExport.php index 31a80d6e..965a40b6 100644 --- a/src/Wallabag/CoreBundle/Helper/EntriesExport.php +++ b/src/Wallabag/CoreBundle/Helper/EntriesExport.php @@ -8,6 +8,7 @@ use JMS\Serializer\SerializerBuilder; use PHPePub\Core\EPub; use PHPePub\Core\Structure\OPF\DublinCore; use Symfony\Component\HttpFoundation\Response; +use Craue\ConfigBundle\Util\Config; /** * This class doesn't have unit test BUT it's fully covered by a functional test with ExportControllerTest. @@ -27,12 +28,12 @@ class EntriesExport wallabagUrl = $wallabagUrl; + $this->wallabagUrl = $craueConfig->get('wallabag_url'); $this->logoPath = $logoPath; } diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml index 6a1afcc0..813f8a96 100644 --- a/src/Wallabag/CoreBundle/Resources/config/services.yml +++ b/src/Wallabag/CoreBundle/Resources/config/services.yml @@ -3,7 +3,7 @@ services: class: Wallabag\CoreBundle\Helper\DetectActiveTheme arguments: - "@security.token_storage" - - %theme% # default theme from parameters.yml + - %wallabag_core.theme% # custom form type wallabag_core.form.type.config: @@ -86,7 +86,7 @@ services: wallabag_core.helper.entries_export: class: Wallabag\CoreBundle\Helper\EntriesExport arguments: - - %wallabag_url% + - "@craue_config" - src/Wallabag/CoreBundle/Resources/public/themes/_global/img/appicon/apple-touch-icon-152.png wallabag.operator.array.matches: diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml index 20f4352b..cc814cc4 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml @@ -13,6 +13,7 @@ archive: 'Lus' all: 'Tous les articles' tags: 'Tags' config: 'Configuration' +internal settings: 'Configuration interne' import: 'Importer' howto: 'Aide' logout: 'Déconnexion' diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig index c23d0e27..27a88287 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig @@ -11,16 +11,15 @@
  • {% if entry.isArchived == 0 %}{% trans %}Mark as read{% endtrans %}{% else %}{% trans %}Mark as unread{% endtrans %}{% endif %}
  • {% trans %}Toggle favorite{% endtrans %}
  • {% trans %}Delete{% endtrans %}
  • - {% if share_twitter %}
  • {% endif %} - {% if share_mail %}
  • {% endif %} - {% if share_shaarli %}
  • {% trans %}shaarli{% endtrans %}
  • {% endif %} - {% if share_diaspora %}
  • {% trans %}diaspora{% endtrans %}
  • {% endif %} - {# {% if flattr %}{% if flattr.status == flattrable %}
  • {% trans %}flattr{% endtrans %}
  • {% elseif flattr.status == flattred %}
  • Carrot
  • {% endif %} - {% if show_printlink %}
  • {% trans %}Print{% endtrans %}
  • {% endif %} - {% if export_epub %}
  • EPUB
  • {% endif %} - {% if export_mobi %}
  • MOBI
  • {% endif %} - {% if export_pdf %}
  • PDF
  • {% endif %} + {% if craue_setting('share_twitter') %}
  • {% endif %} + {% if craue_setting('share_mail') %}
  • {% endif %} + {% if craue_setting('share_shaarli') %}
  • {% trans %}shaarli{% endtrans %}
  • {% endif %} + {% if craue_setting('share_diaspora') %}
  • {% trans %}diaspora{% endtrans %}
  • {% endif %} + {% if craue_setting('carrot') %}
  • Carrot
  • {% endif %} + {% if craue_setting('show_printlink') %}
  • {% trans %}Print{% endtrans %}
  • {% endif %} + {% if craue_setting('export_epub') %}
  • EPUB
  • {% endif %} + {% if craue_setting('export_mobi') %}
  • MOBI
  • {% endif %} + {% if craue_setting('export_pdf') %}
  • PDF
  • {% endif %}
  • {% trans %}Does this article appear wrong?{% endtrans %}
  • diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig index 3aead497..b630070c 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig @@ -51,6 +51,9 @@
  • {% trans %}config{% endtrans %}
  • + {% if is_granted('ROLE_SUPER_ADMIN') %} +
  • {% trans %}internal settings{% endtrans %}
  • + {% endif %}
  • {% trans %}import{% endtrans %}
  • {% trans %}howto{% endtrans %}
  • {% trans %}about{% endtrans %}
  • diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig index 31963ae8..dad96187 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig @@ -97,12 +97,11 @@
    @@ -114,13 +113,13 @@
    diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig index a8b6dc3f..dff9e612 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig @@ -45,6 +45,9 @@
  • {% trans %}all{% endtrans %}
  • {% trans %}tags{% endtrans %}
  • {% trans %}config{% endtrans %}
  • + {% if is_granted('ROLE_SUPER_ADMIN') %} +
  • {% trans %}internal settings{% endtrans %}
  • + {% endif %}
  • {% trans %}import{% endtrans %}
  • {% trans %}howto{% endtrans %}
  • {% trans %}logout{% endtrans %}
  • diff --git a/src/Wallabag/ImportBundle/Import/PocketImport.php b/src/Wallabag/ImportBundle/Import/PocketImport.php index 72b9047c..0463a739 100644 --- a/src/Wallabag/ImportBundle/Import/PocketImport.php +++ b/src/Wallabag/ImportBundle/Import/PocketImport.php @@ -11,6 +11,7 @@ use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInt use Wallabag\CoreBundle\Entity\Entry; use Wallabag\CoreBundle\Entity\Tag; use Wallabag\CoreBundle\Helper\ContentProxy; +use Craue\ConfigBundle\Util\Config; class PocketImport implements ImportInterface { @@ -25,12 +26,12 @@ class PocketImport implements ImportInterface protected $accessToken; private $translator; - public function __construct(TokenStorageInterface $tokenStorage, EntityManager $em, ContentProxy $contentProxy, $consumerKey) + public function __construct(TokenStorageInterface $tokenStorage, EntityManager $em, ContentProxy $contentProxy, Config $craueConfig) { $this->user = $tokenStorage->getToken()->getUser(); $this->em = $em; $this->contentProxy = $contentProxy; - $this->consumerKey = $consumerKey; + $this->consumerKey = $craueConfig->get('pocket_consumer_key'); $this->logger = new NullLogger(); } diff --git a/src/Wallabag/ImportBundle/Resources/config/services.yml b/src/Wallabag/ImportBundle/Resources/config/services.yml index e4dde100..dc536808 100644 --- a/src/Wallabag/ImportBundle/Resources/config/services.yml +++ b/src/Wallabag/ImportBundle/Resources/config/services.yml @@ -17,7 +17,7 @@ services: - "@security.token_storage" - "@doctrine.orm.entity_manager" - "@wallabag_core.content_proxy" - - %pocket_consumer_key% + - "@craue_config" calls: - [ setClient, [ "@wallabag_import.pocket.client" ] ] - [ setLogger, [ "@logger" ]] diff --git a/src/Wallabag/ImportBundle/Tests/Import/PocketImportTest.php b/src/Wallabag/ImportBundle/Tests/Import/PocketImportTest.php index 76225fe4..25359d56 100644 --- a/src/Wallabag/ImportBundle/Tests/Import/PocketImportTest.php +++ b/src/Wallabag/ImportBundle/Tests/Import/PocketImportTest.php @@ -55,11 +55,20 @@ class PocketImportTest extends \PHPUnit_Framework_TestCase ->disableOriginalConstructor() ->getMock(); + $config = $this->getMockBuilder('Craue\ConfigBundle\Util\Config') + ->disableOriginalConstructor() + ->getMock(); + + $config->expects($this->any()) + ->method('get') + ->with('pocket_consumer_key') + ->willReturn($consumerKey); + $pocket = new PocketImportMock( $this->tokenStorage, $this->em, $this->contentProxy, - $consumerKey + $config ); $this->logHandler = new TestHandler(); diff --git a/src/Wallabag/UserBundle/Mailer/AuthCodeMailer.php b/src/Wallabag/UserBundle/Mailer/AuthCodeMailer.php index 6b108dd3..4ab6051b 100644 --- a/src/Wallabag/UserBundle/Mailer/AuthCodeMailer.php +++ b/src/Wallabag/UserBundle/Mailer/AuthCodeMailer.php @@ -4,6 +4,7 @@ namespace Wallabag\UserBundle\Mailer; use Scheb\TwoFactorBundle\Model\Email\TwoFactorInterface; use Scheb\TwoFactorBundle\Mailer\AuthCodeMailerInterface; +use Craue\ConfigBundle\Util\Config; /** * Custom mailer for TwoFactorBundle email. @@ -60,17 +61,16 @@ class AuthCodeMailer implements AuthCodeMailerInterface * @param \Twig_Environment $twig * @param string $senderEmail * @param string $senderName - * @param string $supportUrl - * @param string $wallabagUrl + * @param Config $craueConfig Craue\Config instance to get wallabag support url from database */ - public function __construct(\Swift_Mailer $mailer, \Twig_Environment $twig, $senderEmail, $senderName, $supportUrl, $wallabagUrl) + public function __construct(\Swift_Mailer $mailer, \Twig_Environment $twig, $senderEmail, $senderName, Config $craueConfig) { $this->mailer = $mailer; $this->twig = $twig; $this->senderEmail = $senderEmail; $this->senderName = $senderName; - $this->supportUrl = $supportUrl; - $this->wallabagUrl = $wallabagUrl; + $this->supportUrl = $craueConfig->get('wallabag_support_url'); + $this->wallabagUrl = $craueConfig->get('wallabag_url'); } /** diff --git a/src/Wallabag/UserBundle/Resources/config/services.yml b/src/Wallabag/UserBundle/Resources/config/services.yml index bf9e036a..d79d8fa2 100644 --- a/src/Wallabag/UserBundle/Resources/config/services.yml +++ b/src/Wallabag/UserBundle/Resources/config/services.yml @@ -6,8 +6,7 @@ services: - "@twig" - "%scheb_two_factor.email.sender_email%" - "%scheb_two_factor.email.sender_name%" - - "%wallabag_support_url%" - - "%wallabag_url%" + - "@craue_config" wallabag_user.password_resetting: class: Wallabag\UserBundle\EventListener\PasswordResettingListener