]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Test each internal settings before creating them
authorJeremy Benoist <jeremy.benoist@gmail.com>
Wed, 27 Feb 2019 12:39:17 +0000 (13:39 +0100)
committerJeremy Benoist <jeremy.benoist@gmail.com>
Fri, 1 Mar 2019 19:26:58 +0000 (20:26 +0100)
app/DoctrineMigrations/Version20190129120000.php

index 61e0ef4cb538a51d6c453b438acebf142cab064b..5f25d67d0460823f5f8d53effd3bac448607bf99 100644 (file)
@@ -8,54 +8,132 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
 /**
  * Add missing entries in craue_config_setting.
  */
-class Version20190129120000 extends WallabagMigration
+final class Version20190129120000 extends WallabagMigration
 {
-    var $settings = array(
-        array("name" => "carrot", "value" => "1", "section" => "entry"),
-        array("name" => "share_diaspora", "value" => "1", "section" => "entry"),
-        array("name" => "diaspora_url", "value" => "http://diasporapod.com", "section" => "entry"),
-        array("name" => "share_shaarli", "value" => "1", "section" => "entry"),
-        array("name" => "shaarli_url", "value" => "http://myshaarli.com", "section" => "entry"),
-        array("name" => "share_mail", "value" => "1", "section" => "entry"),
-        array("name" => "share_twitter", "value" => "1", "section" => "entry"),
-        array("name" => "show_printlink", "value" => "1", "section" => "entry"),
-        array("name" => "export_epub", "value" => "1", "section" => "export"),
-        array("name" => "export_mobi", "value" => "1", "section" => "export"),
-        array("name" => "export_pdf", "value" => "1", "section" => "export"),
-        array("name" => "export_csv", "value" => "1", "section" => "export"),
-        array("name" => "export_json", "value" => "1", "section" => "export"),
-        array("name" => "export_txt", "value" => "1", "section" => "export"),
-        array("name" => "export_xml", "value" => "1", "section" => "export"),
-        array("name" => "piwik_enabled", "value" => "0", "section" => "analytics"),
-        array("name" => "piwik_host", "value" => "v2.wallabag.org", "section" => "analytics"),
-        array("name" => "piwik_site_id", "value" => "1", "section" => "analytics"),
-        array("name" => "demo_mode_enabled", "value" => "0", "section" => "misc"),
-        array("name" => "demo_mode_username", "value" => "wallabag", "section" => "misc"),
-        array("name" => "wallabag_support_url", "value" => "https://www.wallabag.org/pages/support.html", "section" => "misc"),
-    );
+    private $settings = [
+        [
+            'name' => 'carrot',
+            'value' => '1',
+            'section' => 'entry',
+        ],
+        [
+            'name' => 'share_diaspora',
+            'value' => '1',
+            'section' => 'entry',
+        ],
+        [
+            'name' => 'diaspora_url',
+            'value' => 'http://diasporapod.com',
+            'section' => 'entry',
+        ],
+        [
+            'name' => 'share_shaarli',
+            'value' => '1',
+            'section' => 'entry',
+        ],
+        [
+            'name' => 'shaarli_url',
+            'value' => 'http://myshaarli.com',
+            'section' => 'entry',
+        ],
+        [
+            'name' => 'share_mail',
+            'value' => '1',
+            'section' => 'entry',
+        ],
+        [
+            'name' => 'share_twitter',
+            'value' => '1',
+            'section' => 'entry',
+        ],
+        [
+            'name' => 'show_printlink',
+            'value' => '1',
+            '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' => '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' => 'wallabag_support_url',
+            'value' => 'https://www.wallabag.org/pages/support.html',
+            'section' => 'misc',
+        ],
+    ];
 
     /**
      * @param Schema $schema
      */
     public function up(Schema $schema)
     {
-        $piwikEnabled = $this->container
-            ->get('doctrine.orm.default_entity_manager')
-            ->getConnection()
-            ->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'piwik_enabled'");
+        foreach ($this->settings as $setting) {
+            $settingEnabled = $this->container
+                ->get('doctrine.orm.default_entity_manager')
+                ->getConnection()
+                ->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = '" . $setting['name'] . "'");
 
-        $this->skipIf(false !== $piwikEnabled, 'It seems that you already played this migration, or user the wallabag:install command.');
+            if (false !== $settingEnabled) {
+                continue;
+            }
 
-        foreach ($this->settings as $setting) {
-            $this->addSql("
-                INSERT INTO " . $this->getTable('craue_config_setting') . "
-                    (name, value, section)
-                    VALUES (
-                        '" . $setting['name'] . "',
-                        '" . $setting['value'] . "',
-                        '" . $setting['section'] . "'
-                    );
-            ");
+            $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('" . $setting['name'] . "', '" . $setting['value'] . "', '" . $setting['section'] . "');");
         }
     }
 
@@ -65,8 +143,8 @@ class Version20190129120000 extends WallabagMigration
     public function down(Schema $schema)
     {
         foreach ($this->settings as $setting) {
-            $this->addSql("
-                DELETE FROM " . $this->getTable('craue_config_setting') . "
+            $this->addSql('
+                DELETE FROM ' . $this->getTable('craue_config_setting') . "
                 WHERE name = '" . $setting['name'] . "';
             ");
         }