parent::__construct();
$this->handle = new PDO(self::$db_path);
- $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)');
$this->handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
return $this->handle;
}
+ public function isInstalled() {
+ $sql = "SELECT username FROM users WHERE id=?";
+ $query = $this->executeQuery($sql, array('1'));
+ $hasAdmin = $query->fetchAll();
+
+ if (count($hasAdmin) == 0)
+ return FALSE;
+
+ return TRUE;
+ }
+
+ public function install($login, $password) {
+ $sql = 'INSERT INTO users ( username, password ) VALUES (?, ?)';
+ $params = array($login, $password);
+ $query = $this->executeQuery($sql, $params);
+
+ return TRUE;
+ }
+
+ private function getConfigUser($id) {
+ $sql = "SELECT * FROM users_config WHERE user_id = ?";
+ $query = $this->executeQuery($sql, array($id));
+ $result = $query->fetchAll();
+ $user_config = array();
+
+ foreach ($result as $key => $value) {
+ $user_config[$value['name']] = $value['value'];
+ }
+
+ return $user_config;
+ }
+
+ public function login($username, $password) {
+ $sql = "SELECT * FROM users WHERE username=? AND password=?";
+ $query = $this->executeQuery($sql, array($username, $password));
+ $login = $query->fetchAll();
+
+ $user = array();
+ if (isset($login[0])) {
+ $user['id'] = $login[0]['id'];
+ $user['username'] = $login[0]['username'];
+ $user['password'] = $login[0]['password'];
+ $user['name'] = $login[0]['name'];
+ $user['email'] = $login[0]['email'];
+ $user['config'] = $this->getConfigUser($login[0]['id']);
+ }
+
+ return $user;
+ }
+
+ public function updatePassword($id, $password)
+ {
+ $sql_update = "UPDATE users SET password=? WHERE id=?";
+ $params_update = array($password, $id);
+ $query = $this->executeQuery($sql_update, $params_update);
+ }
+
private function executeQuery($sql, $params) {
try
{
}
catch (Exception $e)
{
- logm('execute query error : '.$e->getMessage());
+ Tools::logm('execute query error : '.$e->getMessage());
}
}
+ public function retrieveAll() {
+ $sql = "SELECT * FROM entries ORDER BY id";
+ $query = $this->executeQuery($sql, array());
+ $entries = $query->fetchAll();
+
+ return $entries;
+ }
+
public function retrieveOneById($id) {
parent::__construct();
return $entry[0];
}
- public function getEntriesByView($view) {
+ public function getEntriesByView($view, $limit = '') {
parent::__construct();
switch ($_SESSION['sort'])
break;
}
+ $sql .= ' ' . $limit;
+
$query = $this->executeQuery($sql, $params);
$entries = $query->fetchAll();
return $entries;
}
- public function add() {
+ public function add($url, $title, $content) {
parent::__construct();
$sql_action = 'INSERT INTO entries ( url, title, content ) VALUES (?, ?, ?)';
- $params_action = array($url, $parametres_url['title'], $parametres_url['content']);
+ $params_action = array($url, $title, $content);
$query = $this->executeQuery($sql_action, $params_action);
+ return $query;
}
public function deleteById($id) {
$sql_action = "DELETE FROM entries WHERE id=?";
$params_action = array($id);
$query = $this->executeQuery($sql_action, $params_action);
+ return $query;
}
public function favoriteById($id) {
$params_update = array($content, $id);
$query = $this->executeQuery($sql_update, $params_update);
}
-}
\ No newline at end of file
+}