aboutsummaryrefslogtreecommitdiff
path: root/app/Models/UserDAO.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2014-07-03 21:26:30 +0200
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2014-07-03 21:26:30 +0200
commitd6f414108667f32fe2b480adeb7ec9c218db2f4a (patch)
treec2d9ff851776ebcd49242b2fb15456cc13be089e /app/Models/UserDAO.php
parent8a5050289ef695dc4d388eecee692ad9d83e00ce (diff)
Preparation for SQLite
https://github.com/marienfressinaud/FreshRSS/issues/100
Diffstat (limited to 'app/Models/UserDAO.php')
-rw-r--r--app/Models/UserDAO.php31
1 files changed, 21 insertions, 10 deletions
diff --git a/app/Models/UserDAO.php b/app/Models/UserDAO.php
index a25b57f89..dcf847a62 100644
--- a/app/Models/UserDAO.php
+++ b/app/Models/UserDAO.php
@@ -2,33 +2,44 @@
class FreshRSS_UserDAO extends Minz_ModelPdo {
public function createUser($username) {
- require_once(APP_PATH . '/sql.php');
$db = Minz_Configuration::dataBase();
+ require_once(APP_PATH . '/SQL/sql.' . $db['type'] . '.php');
+
+ if (defined('SQL_CREATE_TABLES')) {
+ $sql = sprintf(SQL_CREATE_TABLES, $db['prefix'] . $username . '_', Minz_Translate::t('default_category'));
+ $stm = $c->prepare($sql);
+ $ok = $stm && $stm->execute();
+ } else {
+ global $SQL_CREATE_TABLES;
+ if (is_array($SQL_CREATE_TABLES)) {
+ $ok = true;
+ foreach ($SQL_CREATE_TABLES as $instruction) {
+ $sql = sprintf($instruction, '', Minz_Translate::t('default_category'));
+ $stm = $c->prepare($sql);
+ $ok &= ($stm && $stm->execute());
+ }
+ }
+ }
- $sql = sprintf(SQL_CREATE_TABLES, $db['prefix'] . $username . '_');
- $stm = $this->bd->prepare($sql, array(PDO::ATTR_EMULATE_PREPARES => true));
- $values = array(
- 'catName' => Minz_Translate::t('default_category'),
- );
- if ($stm && $stm->execute($values)) {
+ if ($ok) {
return true;
} else {
- $info = $stm->errorInfo();
+ $info = $stm == null ? array(2 => 'syntax error') : $stm->errorInfo();
Minz_Log::record ('SQL error : ' . $info[2], Minz_Log::ERROR);
return false;
}
}
public function deleteUser($username) {
- require_once(APP_PATH . '/sql.php');
$db = Minz_Configuration::dataBase();
+ require_once(APP_PATH . '/SQL/sql.' . $db['type'] . '.php');
$sql = sprintf(SQL_DROP_TABLES, $db['prefix'] . $username . '_');
$stm = $this->bd->prepare($sql);
if ($stm && $stm->execute()) {
return true;
} else {
- $info = $stm->errorInfo();
+ $info = $stm == null ? array(2 => 'syntax error') : $stm->errorInfo();
Minz_Log::record ('SQL error : ' . $info[2], Minz_Log::ERROR);
return false;
}