diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Wallabag/CoreBundle/Command/InstallCommand.php | 24 | ||||
-rw-r--r-- | src/Wallabag/CoreBundle/Helper/EntriesExport.php | 6 |
2 files changed, 26 insertions, 4 deletions
diff --git a/src/Wallabag/CoreBundle/Command/InstallCommand.php b/src/Wallabag/CoreBundle/Command/InstallCommand.php index bd7b55f9..3873d2d3 100644 --- a/src/Wallabag/CoreBundle/Command/InstallCommand.php +++ b/src/Wallabag/CoreBundle/Command/InstallCommand.php | |||
@@ -71,8 +71,10 @@ class InstallCommand extends ContainerAwareCommand | |||
71 | { | 71 | { |
72 | $this->defaultOutput->writeln('<info><comment>Step 1 of 4.</comment> Checking system requirements.</info>'); | 72 | $this->defaultOutput->writeln('<info><comment>Step 1 of 4.</comment> Checking system requirements.</info>'); |
73 | 73 | ||
74 | $fulfilled = true; | 74 | $rows = []; |
75 | 75 | ||
76 | // testing if database driver exists | ||
77 | $fulfilled = true; | ||
76 | $label = '<comment>PDO Driver</comment>'; | 78 | $label = '<comment>PDO Driver</comment>'; |
77 | $status = '<info>OK!</info>'; | 79 | $status = '<info>OK!</info>'; |
78 | $help = ''; | 80 | $help = ''; |
@@ -83,7 +85,23 @@ class InstallCommand extends ContainerAwareCommand | |||
83 | $help = 'Database driver "'.$this->getContainer()->getParameter('database_driver').'" is not installed.'; | 85 | $help = 'Database driver "'.$this->getContainer()->getParameter('database_driver').'" is not installed.'; |
84 | } | 86 | } |
85 | 87 | ||
86 | $rows = []; | 88 | $rows[] = [$label, $status, $help]; |
89 | |||
90 | // testing if connection to the database can be etablished | ||
91 | $label = '<comment>Database connection</comment>'; | ||
92 | $status = '<info>OK!</info>'; | ||
93 | $help = ''; | ||
94 | |||
95 | try { | ||
96 | $this->getContainer()->get('doctrine')->getManager()->getConnection()->connect(); | ||
97 | } catch (\Exception $e) { | ||
98 | if (false === strpos($e->getMessage(), 'Unknown database')) { | ||
99 | $fulfilled = false; | ||
100 | $status = '<error>ERROR!</error>'; | ||
101 | $help = 'Can\'t connect to the database: '.$e->getMessage(); | ||
102 | } | ||
103 | } | ||
104 | |||
87 | $rows[] = [$label, $status, $help]; | 105 | $rows[] = [$label, $status, $help]; |
88 | 106 | ||
89 | foreach ($this->functionExists as $functionRequired) { | 107 | foreach ($this->functionExists as $functionRequired) { |
@@ -451,7 +469,7 @@ class InstallCommand extends ContainerAwareCommand | |||
451 | } | 469 | } |
452 | 470 | ||
453 | // custom verification for sqlite, since `getListDatabasesSQL` doesn't work for sqlite | 471 | // custom verification for sqlite, since `getListDatabasesSQL` doesn't work for sqlite |
454 | if ('sqlite' == $schemaManager->getDatabasePlatform()->getName()) { | 472 | if ('sqlite' === $schemaManager->getDatabasePlatform()->getName()) { |
455 | $params = $this->getContainer()->get('doctrine.dbal.default_connection')->getParams(); | 473 | $params = $this->getContainer()->get('doctrine.dbal.default_connection')->getParams(); |
456 | 474 | ||
457 | if (isset($params['path']) && file_exists($params['path'])) { | 475 | if (isset($params['path']) && file_exists($params['path'])) { |
diff --git a/src/Wallabag/CoreBundle/Helper/EntriesExport.php b/src/Wallabag/CoreBundle/Helper/EntriesExport.php index 73276319..1dfa12c8 100644 --- a/src/Wallabag/CoreBundle/Helper/EntriesExport.php +++ b/src/Wallabag/CoreBundle/Helper/EntriesExport.php | |||
@@ -163,8 +163,12 @@ class EntriesExport | |||
163 | $book->setSubject($tag['value']); | 163 | $book->setSubject($tag['value']); |
164 | } | 164 | } |
165 | 165 | ||
166 | // the reader in Kobo Devices doesn't likes special caracters | ||
167 | // in filenames, we limit to A-z/0-9 | ||
168 | $filename = preg_replace('/[^A-Za-z0-9\-]/', '', $entry->getTitle()); | ||
169 | |||
166 | $chapter = $content_start.$entry->getContent().$bookEnd; | 170 | $chapter = $content_start.$entry->getContent().$bookEnd; |
167 | $book->addChapter($entry->getTitle(), htmlspecialchars($entry->getTitle()).'.html', $chapter, true, EPub::EXTERNAL_REF_ADD); | 171 | $book->addChapter($entry->getTitle(), htmlspecialchars($filename).'.html', $chapter, true, EPub::EXTERNAL_REF_ADD); |
168 | } | 172 | } |
169 | 173 | ||
170 | return Response::create( | 174 | return Response::create( |