Jelajahi Sumber

Preparation #2 for SQLite

https://github.com/marienfressinaud/FreshRSS/issues/100
Alexandre Alapetite 11 tahun lalu
induk
melakukan
2501bb337e

+ 1 - 1
app/Models/EntryDAO_SQLite.php → app/Models/EntryDAOSQLite.php

@@ -1,6 +1,6 @@
 <?php
 
-class FreshRSS_EntryDAO_SQLite extends FreshRSS_EntryDAO {
+class FreshRSS_EntryDAOSQLite extends FreshRSS_EntryDAO {
 
 	public function markRead($ids, $is_read = true) {
 		if (is_array($ids)) {	//Many IDs at once

+ 1 - 1
app/Models/Factory.php

@@ -5,7 +5,7 @@ class FreshRSS_Factory {
 	public static function createEntryDao() {
 		$db = Minz_Configuration::dataBase();
 		if ($db['type'] === 'sqlite') {
-			return new FreshRSS_EntryDAO_SQLite();
+			return new FreshRSS_EntryDAOSQLite();
 		} else {
 			return new FreshRSS_EntryDAO();
 		}

+ 1 - 1
app/SQL/install.sql.sqlite.php

@@ -49,7 +49,7 @@ $SQL_CREATE_TABLES = array(
 'CREATE INDEX IF NOT EXISTS entry_is_favorite_index ON `%1$sentry`(`is_favorite`);',
 'CREATE INDEX IF NOT EXISTS entry_is_read_index ON `%1$sentry`(`is_read`);',
 
-'INSERT OR IGNORE INTO `%1$scategory` (id, name) VALUES(1, "%1$s");',
+'INSERT OR IGNORE INTO `%1$scategory` (id, name) VALUES(1, "%2$s");',
 );
 
 define('SQL_DROP_TABLES', 'DROP TABLES %1$sentry, %1$sfeed, %1$scategory');

+ 12 - 4
app/install.php

@@ -366,7 +366,7 @@ function newPdo() {
 			);
 			break;
 		case 'sqlite':
-			$str = 'sqlite:' . DATA_PATH . '/' . $_SESSION['bd_base'] . '.sqlite';
+			$str = 'sqlite:' . DATA_PATH . '/' . $_SESSION['default_user'] . '.sqlite';
 			$driver_options = array(
 				PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
 			);
@@ -407,7 +407,7 @@ function postUpdate() {
 }
 
 function deleteInstall () {
-	$res = unlink (DATA_PATH . 'do-install.txt');
+	$res = unlink (DATA_PATH . '/do-install.txt');
 	if ($res) {
 		header ('Location: index.php');
 	}
@@ -665,7 +665,7 @@ function checkBD () {
 				$str = 'mysql:host=' . $_SESSION['bd_host'] . ';dbname=' . $_SESSION['bd_base'];
 				break;
 			case 'sqlite':
-				$str = 'sqlite:' . DATA_PATH . '/' . $_SESSION['bd_base'] . '.sqlite';
+				$str = 'sqlite:' . DATA_PATH . '/' . $_SESSION['default_user'] . '.sqlite';
 				$driver_options = array(
 					PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
 				);
@@ -921,7 +921,7 @@ function printStep3 () {
 		<div class="form-group">
 			<label class="group-name" for="type"><?php echo _t ('bdd_type'); ?></label>
 			<div class="group-controls">
-				<select name="type" id="type">
+				<select name="type" id="type" onchange="mySqlShowHide()">
 				<option value="mysql"
 					<?php echo (isset($_SESSION['bd_type']) && $_SESSION['bd_type'] === 'mysql') ? 'selected="selected"' : ''; ?>>
 					MySQL
@@ -934,6 +934,7 @@ function printStep3 () {
 			</div>
 		</div>
 
+		<div id="mysql">
 		<div class="form-group">
 			<label class="group-name" for="host"><?php echo _t ('host'); ?></label>
 			<div class="group-controls">
@@ -968,6 +969,13 @@ function printStep3 () {
 				<input type="text" id="prefix" name="prefix" maxlength="16" pattern="[0-9A-Za-z_]{1,16}" value="<?php echo isset ($_SESSION['bd_prefix']) ? $_SESSION['bd_prefix'] : 'freshrss_'; ?>" />
 			</div>
 		</div>
+		</div>
+		<script>
+			function mySqlShowHide() {
+				document.getElementById('mysql').style.display = document.getElementById('type').value === 'mysql' ? 'block' : 'none';
+			}
+			mySqlShowHide();
+		</script>
 
 		<div class="form-group form-actions">
 			<div class="group-controls">