aboutsummaryrefslogtreecommitdiffhomepage
path: root/app
diff options
context:
space:
mode:
authorJérémy Benoist <j0k3r@users.noreply.github.com>2017-06-20 16:40:48 +0200
committerGitHub <noreply@github.com>2017-06-20 16:40:48 +0200
commit80784b782becfaa297e6d9cbb0584e27739cffc8 (patch)
treefc201969597b16070d890b0703568618a81a76bc /app
parent604cca1f4247f9f905e57b9276cf2543cfa41a5d (diff)
parentf44dba22fc1a566cb156d9e6eda5afc353163eda (diff)
downloadwallabag-80784b782becfaa297e6d9cbb0584e27739cffc8.tar.gz
wallabag-80784b782becfaa297e6d9cbb0584e27739cffc8.tar.zst
wallabag-80784b782becfaa297e6d9cbb0584e27739cffc8.zip
Merge pull request #2683 from wallabag/credentials-in-db
Store credentials in DB
Diffstat (limited to 'app')
-rw-r--r--app/DoctrineMigrations/Version20170501115751.php61
-rw-r--r--app/config/parameters.yml.dist3
-rw-r--r--app/config/wallabag.yml1
3 files changed, 62 insertions, 3 deletions
diff --git a/app/DoctrineMigrations/Version20170501115751.php b/app/DoctrineMigrations/Version20170501115751.php
new file mode 100644
index 00000000..7f068eb8
--- /dev/null
+++ b/app/DoctrineMigrations/Version20170501115751.php
@@ -0,0 +1,61 @@
1<?php
2
3namespace Application\Migrations;
4
5use Doctrine\DBAL\Migrations\AbstractMigration;
6use Doctrine\DBAL\Schema\Schema;
7use Symfony\Component\DependencyInjection\ContainerAwareInterface;
8use Symfony\Component\DependencyInjection\ContainerInterface;
9
10/**
11 * Add site credential table to store username & password for some website (behind authentication or paywall)
12 */
13class Version20170501115751 extends AbstractMigration implements ContainerAwareInterface
14{
15 /**
16 * @var ContainerInterface
17 */
18 private $container;
19
20 public function setContainer(ContainerInterface $container = null)
21 {
22 $this->container = $container;
23 }
24
25 private function getTable($tableName)
26 {
27 return $this->container->getParameter('database_table_prefix').$tableName;
28 }
29
30 /**
31 * @param Schema $schema
32 */
33 public function up(Schema $schema)
34 {
35 $this->skipIf($schema->hasTable($this->getTable('site_credential')), 'It seems that you already played this migration.');
36
37 $table = $schema->createTable($this->getTable('site_credential'));
38 $table->addColumn('id', 'integer', ['autoincrement' => true]);
39 $table->addColumn('user_id', 'integer');
40 $table->addColumn('host', 'string', ['length' => 255]);
41 $table->addColumn('username', 'text');
42 $table->addColumn('password', 'text');
43 $table->addColumn('createdAt', 'datetime');
44 $table->addIndex(['user_id'], 'idx_user');
45 $table->setPrimaryKey(['id']);
46 $table->addForeignKeyConstraint($this->getTable('user'), ['user_id'], ['id'], [], 'fk_user');
47
48 if ('postgresql' === $this->connection->getDatabasePlatform()->getName()) {
49 $schema->dropSequence('site_credential_id_seq');
50 $schema->createSequence('site_credential_id_seq');
51 }
52 }
53
54 /**
55 * @param Schema $schema
56 */
57 public function down(Schema $schema)
58 {
59 $schema->dropTable($this->getTable('site_credential'));
60 }
61}
diff --git a/app/config/parameters.yml.dist b/app/config/parameters.yml.dist
index 914fb1ef..b3fe11c8 100644
--- a/app/config/parameters.yml.dist
+++ b/app/config/parameters.yml.dist
@@ -60,6 +60,3 @@ parameters:
60 redis_port: 6379 60 redis_port: 6379
61 redis_path: null 61 redis_path: null
62 redis_password: null 62 redis_password: null
63
64 # sites credentials
65 sites_credentials: {}
diff --git a/app/config/wallabag.yml b/app/config/wallabag.yml
index 51b7e4e3..b45934e4 100644
--- a/app/config/wallabag.yml
+++ b/app/config/wallabag.yml
@@ -26,6 +26,7 @@ wallabag_core:
26 fetching_error_message: | 26 fetching_error_message: |
27 wallabag can't retrieve contents for this article. Please <a href="http://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that">troubleshoot this issue</a>. 27 wallabag can't retrieve contents for this article. Please <a href="http://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that">troubleshoot this issue</a>.
28 api_limit_mass_actions: 10 28 api_limit_mass_actions: 10
29 encryption_key_path: "%kernel.root_dir%/../data/site-credentials-secret-key.txt"
29 default_internal_settings: 30 default_internal_settings:
30 - 31 -
31 name: share_public 32 name: share_public