mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-26 11:01:04 +00:00
Test each internal settings before creating them
This commit is contained in:
parent
c2efb5a306
commit
fcd54e2447
1 changed files with 120 additions and 42 deletions
|
@ -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
|
||||
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 = 'piwik_enabled'");
|
||||
->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'] . "';
|
||||
");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue