aboutsummaryrefslogtreecommitdiffhomepage
path: root/inc/store/sqlite.class.php
diff options
context:
space:
mode:
authorNicolas LÅ“uillet <nicolas.loeuillet@gmail.com>2013-08-06 14:18:03 +0200
committerNicolas LÅ“uillet <nicolas.loeuillet@gmail.com>2013-08-06 14:18:03 +0200
commit7ce7ec4c942e0a3567858ad0ec8e654000b49a3f (patch)
tree8de9df7ff2ddfe980f8247e2305ad4b1b27194fa /inc/store/sqlite.class.php
parent17a9cb96088d4634deca29c8be9f90d94c0f6473 (diff)
downloadwallabag-7ce7ec4c942e0a3567858ad0ec8e654000b49a3f.tar.gz
wallabag-7ce7ec4c942e0a3567858ad0ec8e654000b49a3f.tar.zst
wallabag-7ce7ec4c942e0a3567858ad0ec8e654000b49a3f.zip
prepare to multi users
Diffstat (limited to 'inc/store/sqlite.class.php')
-rw-r--r--inc/store/sqlite.class.php68
1 files changed, 34 insertions, 34 deletions
diff --git a/inc/store/sqlite.class.php b/inc/store/sqlite.class.php
index 3e391e40..3cc5276d 100644
--- a/inc/store/sqlite.class.php
+++ b/inc/store/sqlite.class.php
@@ -25,59 +25,59 @@ class Sqlite extends Store {
25 } 25 }
26 26
27 public function isInstalled() { 27 public function isInstalled() {
28 $sql = "SELECT name FROM sqlite_sequence WHERE name=?"; 28 $sql = "SELECT username FROM users WHERE id=?";
29 $query = $this->executeQuery($sql, array('config')); 29 $query = $this->executeQuery($sql, array('1'));
30 $hasConfig = $query->fetchAll(); 30 $hasAdmin = $query->fetchAll();
31 31
32 if (count($hasConfig) == 0) 32 if (count($hasAdmin) == 0)
33 return FALSE;
34
35 if (!$this->getLogin() || !$this->getPassword())
36 return FALSE; 33 return FALSE;
37 34
38 return TRUE; 35 return TRUE;
39 } 36 }
40 37
41 public function install($login, $password) { 38 public function install($login, $password) {
42 $this->getHandle()->exec('CREATE TABLE IF NOT EXISTS "config" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE , "name" VARCHAR UNIQUE, "value" BLOB)'); 39 $sql = 'INSERT INTO users ( username, password ) VALUES (?, ?)';
43 40 $params = array($login, $password);
44 $this->handle->exec('CREATE TABLE IF NOT EXISTS "entries" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE , "title" VARCHAR, "url" VARCHAR UNIQUE , "is_read" INTEGER DEFAULT 0, "is_fav" INTEGER DEFAULT 0, "content" BLOB)'); 41 $query = $this->executeQuery($sql, $params);
45 42
46 if (!$this->getLogin()) { 43 return TRUE;
47 $sql_login = 'INSERT INTO config ( name, value ) VALUES (?, ?)'; 44 }
48 $params_login = array('login', $login);
49 $query = $this->executeQuery($sql_login, $params_login);
50 }
51 45
52 if (!$this->getPassword()) { 46 private function getConfigUser($id) {
53 $sql_pass = 'INSERT INTO config ( name, value ) VALUES (?, ?)'; 47 $sql = "SELECT * FROM users_config WHERE user_id = ?";
54 $params_pass = array('password', $password); 48 $query = $this->executeQuery($sql, array($id));
55 $query = $this->executeQuery($sql_pass, $params_pass); 49 $result = $query->fetchAll();
50 $user_config = array();
51
52 foreach ($result as $key => $value) {
53 $user_config[$value['name']] = $value['value'];
56 } 54 }
57 55
58 return TRUE; 56 return $user_config;
59 } 57 }
60 58
61 public function getLogin() { 59 public function login($username, $password) {
62 $sql = "SELECT value FROM config WHERE name=?"; 60 $sql = "SELECT * FROM users WHERE username=? AND password=?";
63 $query = $this->executeQuery($sql, array('login')); 61 $query = $this->executeQuery($sql, array($username, $password));
64 $login = $query->fetchAll(); 62 $login = $query->fetchAll();
65 63
66 return isset($login[0]['value']) ? $login[0]['value'] : FALSE; 64 $user = array();
67 } 65 if (isset($login[0])) {
68 66 $user['id'] = $login[0]['id'];
69 public function getPassword() { 67 $user['username'] = $login[0]['username'];
70 $sql = "SELECT value FROM config WHERE name=?"; 68 $user['password'] = $login[0]['password'];
71 $query = $this->executeQuery($sql, array('password')); 69 $user['name'] = $login[0]['name'];
72 $pass = $query->fetchAll(); 70 $user['email'] = $login[0]['email'];
71 $user['config'] = $this->getConfigUser($login[0]['id']);
72 }
73 73
74 return isset($pass[0]['value']) ? $pass[0]['value'] : FALSE; 74 return $user;
75 } 75 }
76 76
77 public function updatePassword($password) 77 public function updatePassword($id, $password)
78 { 78 {
79 $sql_update = "UPDATE config SET value=? WHERE name='password'"; 79 $sql_update = "UPDATE users SET password=? WHERE id=?";
80 $params_update = array($password); 80 $params_update = array($password, $id);
81 $query = $this->executeQuery($sql_update, $params_update); 81 $query = $this->executeQuery($sql_update, $params_update);
82 } 82 }
83 83