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)) {
--- /dev/null
+<?php
+
+namespace Application\Migrations;
+
+use Doctrine\DBAL\Migrations\AbstractMigration;
+use Doctrine\DBAL\Schema\Schema;
+
+/**
+ * Auto-generated Migration: Please modify to your needs!
+ */
+class Version20160120200534_settings extends AbstractMigration
+{
+ /**
+ * @param Schema $schema
+ */
+ public function up(Schema $schema)
+ {
+ // this up() 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('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');
+ }
+}
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+{% 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 %}
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'
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"
# 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
homepage:
path: "/{page}"
- defaults: { _controller: WallabagCoreBundle:Entry:showUnread, page : 1 }
+ defaults:
+ _controller: WallabagCoreBundle:Entry:showUnread
+ page : 1
requirements:
page: \d+
fos_oauth_server_token:
resource: "@FOSOAuthServerBundle/Resources/config/routing/token.xml"
+
+craue_config_settings_modify:
+ path: /settings
+ defaults:
+ _controller: CraueConfigBundle:Settings:modify
- { 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 }
# 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
# 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
# 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
"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",
"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",
'username' => $user->getUsername(),
'token' => $config->getRssToken(),
),
+ 'twofactor_auth' => $this->getParameter('twofactor_auth'),
));
}
{
return $this->render(
'WallabagCoreBundle:Static:about.html.twig',
- array()
+ array(
+ 'version' => $this->getParameter('wallabag_core.version'),
+ 'paypal_url' => $this->getParameter('wallabag_core.paypal_url'),
+ )
);
}
->integerNode('rss_limit')
->defaultValue(50)
->end()
+ ->scalarNode('version')
+ ->end()
+ ->scalarNode('paypal_url')
+ ->end()
->end()
;
$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');
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.
</div';
/**
- * @param string $wallabagUrl Wallabag instance url
+ * @param Config $craueConfig CraueConfig instance to get wallabag instance url from database
* @param string $logoPath Path to the logo FROM THE BUNDLE SCOPE
*/
- public function __construct($wallabagUrl, $logoPath)
+ public function __construct(Config $craueConfig, $logoPath)
{
- $this->wallabagUrl = $wallabagUrl;
+ $this->wallabagUrl = $craueConfig->get('wallabag_url');
$this->logoPath = $logoPath;
}
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:
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:
all: 'Tous les articles'
tags: 'Tags'
config: 'Configuration'
+internal settings: 'Configuration interne'
import: 'Importer'
howto: 'Aide'
logout: 'Déconnexion'
<li><a title="{% if entry.isArchived == 0 %}{% trans %}Mark as read{% endtrans %}{% else %}{% trans %}Mark as unread{% endtrans %}{% endif %}" class="tool icon icon-check {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% if entry.isArchived == 0 %}{% trans %}Mark as read{% endtrans %}{% else %}{% trans %}Mark as unread{% endtrans %}{% endif %}</span></a></li>
<li><a title="{% trans %}Favorite{% endtrans %}" class="tool icon icon-star {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle favorite{% endtrans %}</span></a></li>
<li><a title="{% trans %}Delete{% endtrans %}" class="tool delete icon icon-trash" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{% trans %}Delete{% endtrans %}</span></a></li>
- {% if share_twitter %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="{% trans %}Tweet{% endtrans %}"><span>{% trans %}Tweet{% endtrans %}</span></a></li>{% endif %}
- {% if share_mail %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans %}Email{% endtrans %}"><span>{% trans %}Email{% endtrans %}</span></a></li>{% endif %}
- {% if share_shaarli %}<li><a href="{{ shaarli_url }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans %}shaarli{% endtrans %}"><span>{% trans %}shaarli{% endtrans %}</span></a></li>{% endif %}
- {% if share_diaspora %}<li><a href="{{ diaspora_url }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}¬es=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="{% trans %}diaspora{% endtrans %}"><span>{% trans %}diaspora{% endtrans %}</span></a></li>{% endif %}
- {# {% if flattr %}{% if flattr.status == flattrable %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans %}flattr{% endtrans %}"><span>{% trans %}flattr{% endtrans %}</span></a></li>{% elseif flattr.status == flattred %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans %}flattr{% endtrans %}><span>{% trans %}flattr{% endtrans %}</span> ({{ flattr.numFlattrs }})</a></li>{% endif %}{% endif %} #}
- {% if carrot %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="{% trans %}carrot{% endtrans %}"><span>Carrot</span></a></li>{% endif %}
- {% if show_printlink %}<li><a title="{% trans %}Print{% endtrans %}" class="tool icon icon-print" href="javascript: window.print();"><span>{% trans %}Print{% endtrans %}</span></a></li>{% endif %}
- {% if export_epub %}<li><a href="?epub&method=id&value={{ entry.id }}" title="Generate ePub file">EPUB</a></li>{% endif %}
- {% if export_mobi %}<li><a href="?mobi&method=id&value={{ entry.id }}" title="Generate Mobi file">MOBI</a></li>{% endif %}
- {% if export_pdf %}<li><a href="?pdf&method=id&value={{ entry.id }}" title="Generate PDF file">PDF</a></li>{% endif %}
+ {% if craue_setting('share_twitter') %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="{% trans %}Tweet{% endtrans %}"><span>{% trans %}Tweet{% endtrans %}</span></a></li>{% endif %}
+ {% if craue_setting('share_mail') %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans %}Email{% endtrans %}"><span>{% trans %}Email{% endtrans %}</span></a></li>{% endif %}
+ {% if craue_setting('share_shaarli') %}<li><a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans %}shaarli{% endtrans %}"><span>{% trans %}shaarli{% endtrans %}</span></a></li>{% endif %}
+ {% if craue_setting('share_diaspora') %}<li><a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}¬es=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="{% trans %}diaspora{% endtrans %}"><span>{% trans %}diaspora{% endtrans %}</span></a></li>{% endif %}
+ {% if craue_setting('carrot') %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="{% trans %}carrot{% endtrans %}"><span>Carrot</span></a></li>{% endif %}
+ {% if craue_setting('show_printlink') %}<li><a title="{% trans %}Print{% endtrans %}" class="tool icon icon-print" href="javascript: window.print();"><span>{% trans %}Print{% endtrans %}</span></a></li>{% endif %}
+ {% if craue_setting('export_epub') %}<li><a href="?epub&method=id&value={{ entry.id }}" title="Generate ePub file">EPUB</a></li>{% endif %}
+ {% if craue_setting('export_mobi') %}<li><a href="?mobi&method=id&value={{ entry.id }}" title="Generate Mobi file">MOBI</a></li>{% endif %}
+ {% if craue_setting('export_pdf') %}<li><a href="?pdf&method=id&value={{ entry.id }}" title="Generate PDF file">PDF</a></li>{% endif %}
<li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{% trans %}Does this article appear wrong?{% endtrans %}" class="tool bad-display icon icon-delete"><span>{% trans %}Does this article appear wrong?{% endtrans %}</span></a></li>
</ul>
</div>
</div>
</li>
<li><a href="{{ path('config') }}">{% trans %}config{% endtrans %}</a></li>
+ {% if is_granted('ROLE_SUPER_ADMIN') %}
+ <li><a href="{{ path('craue_config_settings_modify') }}">{% trans %}internal settings{% endtrans %}</a></li>
+ {% endif %}
<li><a href="{{ path('import') }}">{% trans %}import{% endtrans %}</a></li>
<li><a href="{{ path('howto') }}">{% trans %}howto{% endtrans %}</a></li>
<li><a href="{{ path('about') }}">{% trans %}about{% endtrans %}</a></li>
</a>
<div class="collapsible-body">
<ul>
- {% if share_twitter %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="{% trans %}twitter{% endtrans %}"><span>{% trans %}twitter{% endtrans %}</span></a></li>{% endif %}
- {% if share_shaarli %}<li><a href="{{ shaarli_url }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans %}shaarli{% endtrans %}"><span>{% trans %}shaarli{% endtrans %}</span></a></li>{% endif %}
- {% if share_diaspora %}<li><a href="{{ diaspora_url }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}¬es=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="{% trans %}diaspora*{% endtrans %}"><span>{% trans %}diaspora*{% endtrans %}</span></a></li>{% endif %}
- {# {% if flattr %}{% if flattr.status == flattrable %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans %}flattr{% endtrans %}"><span>{% trans %}flattr{% endtrans %}</span></a></li>{% elseif flattr.status == flattred %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans %}flattr{% endtrans %}><span>{% trans %}flattr{% endtrans %}</span> ({{ flattr.numFlattrs }})</a></li>{% endif %}{% endif %} #}
- {% if carrot %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="{% trans %}carrot{% endtrans %}"><span>Carrot</span></a></li>{% endif %}
- {% if share_mail %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans %}Email{% endtrans %}"><span>{% trans %}Email{% endtrans %}</span></a></li>{% endif %}
+ {% if craue_setting('share_twitter') %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="{% trans %}twitter{% endtrans %}"><span>{% trans %}twitter{% endtrans %}</span></a></li>{% endif %}
+ {% if craue_setting('share_shaarli') %}<li><a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans %}shaarli{% endtrans %}"><span>{% trans %}shaarli{% endtrans %}</span></a></li>{% endif %}
+ {% if craue_setting('share_diaspora') %}<li><a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}¬es=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="{% trans %}diaspora*{% endtrans %}"><span>{% trans %}diaspora*{% endtrans %}</span></a></li>{% endif %}
+ {% if craue_setting('carrot') %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="{% trans %}carrot{% endtrans %}"><span>Carrot</span></a></li>{% endif %}
+ {% if craue_setting('share_mail') %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans %}Email{% endtrans %}"><span>{% trans %}Email{% endtrans %}</span></a></li>{% endif %}
</ul>
</div>
</li>
</a>
<div class="collapsible-body">
<ul>
- {% if export_epub %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'epub' }) }}" title="Generate ePub file">EPUB</a></li>{% endif %}
- {% if export_mobi %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'mobi' }) }}" title="Generate Mobi file">MOBI</a></li>{% endif %}
- {% if export_pdf %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'pdf' }) }}" title="Generate PDF file">PDF</a></li>{% endif %}
- {% if export_csv %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'csv' }) }}" title="Generate CSV file">CSV</a></li>{% endif %}
- {% if export_json %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'json' }) }}" title="Generate JSON file">JSON</a></li>{% endif %}
- {% if export_txt %}<li><del><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'txt' }) }}" title="Generate TXT file">TXT</a></del></li>{% endif %}
- {% if export_xml %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'xml' }) }}" title="Generate XML file">XML</a></li>{% endif %}
+ {% if craue_setting('export_epub') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'epub' }) }}" title="Generate ePub file">EPUB</a></li>{% endif %}
+ {% if craue_setting('export_mobi') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'mobi' }) }}" title="Generate Mobi file">MOBI</a></li>{% endif %}
+ {% if craue_setting('export_pdf') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'pdf' }) }}" title="Generate PDF file">PDF</a></li>{% endif %}
+ {% if craue_setting('export_csv') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'csv' }) }}" title="Generate CSV file">CSV</a></li>{% endif %}
+ {% if craue_setting('export_json') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'json' }) }}" title="Generate JSON file">JSON</a></li>{% endif %}
+ {% if craue_setting('export_txt') %}<li><del><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'txt' }) }}" title="Generate TXT file">TXT</a></del></li>{% endif %}
+ {% if craue_setting('export_xml') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'xml' }) }}" title="Generate XML file">XML</a></li>{% endif %}
</ul>
</div>
</li>
<li class="bold border-bottom {% if currentRoute == 'all' %}active{% endif %}"><a class="waves-effect" href="{{ path('all') }}">{% trans %}all{% endtrans %}</a></li>
<li class="bold border-bottom {% if currentRoute == 'tags' %}active{% endif %}"><a class="waves-effect" href="{{ path('tag') }}">{% trans %}tags{% endtrans %}</a></li>
<li class="bold {% if currentRoute == 'config' %}active{% endif %}"><a class="waves-effect" href="{{ path('config') }}">{% trans %}config{% endtrans %}</a></li>
+ {% if is_granted('ROLE_SUPER_ADMIN') %}
+ <li class="bold border-bottom {% if currentRoute == 'craue_config_settings_modify' %}active{% endif %}"><a class="waves-effect" href="{{ path('craue_config_settings_modify') }}">{% trans %}internal settings{% endtrans %}</a></li>
+ {% endif %}
<li class="bold {% if currentRoute == 'import' %}active{% endif %}"><a class="waves-effect" href="{{ path('import') }}">{% trans %}import{% endtrans %}</a></li>
<li class="bold {% if currentRoute == 'howto' %}active{% endif %}"><a class="waves-effect" href="{{ path('howto') }}">{% trans %}howto{% endtrans %}</a></li>
<li class="bold"><a class="waves-effect" class="icon icon-power" href="{{ path('fos_user_security_logout') }}" title="{% trans %}logout{% endtrans %}">{% trans %}logout{% endtrans %}</a></li>
use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\CoreBundle\Entity\Tag;
use Wallabag\CoreBundle\Helper\ContentProxy;
+use Craue\ConfigBundle\Util\Config;
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();
}
- "@security.token_storage"
- "@doctrine.orm.entity_manager"
- "@wallabag_core.content_proxy"
- - %pocket_consumer_key%
+ - "@craue_config"
calls:
- [ setClient, [ "@wallabag_import.pocket.client" ] ]
- [ setLogger, [ "@logger" ]]
->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();
use Scheb\TwoFactorBundle\Model\Email\TwoFactorInterface;
use Scheb\TwoFactorBundle\Mailer\AuthCodeMailerInterface;
+use Craue\ConfigBundle\Util\Config;
/**
* Custom mailer for TwoFactorBundle email.
* @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');
}
/**
- "@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