Create User & Media models/controllers, remove Task & Project

# Created:

#  - UserModel + UserController

#  - MediaModel + MediaController

# Removed:

#  - TaskModel + TaskController

#  - ProjectModel + ProjectController
This commit is contained in:
MosLaptop\Not.Reda
2025-09-05 12:04:18 +02:00
parent 69dd02eb91
commit 4efea20fae
18 changed files with 405 additions and 227 deletions

76
Model/UserModel.php Normal file
View File

@@ -0,0 +1,76 @@
<?php
// Mohammad Reda Mohammad
namespace ppb\Model;
use ppb\Library\Msg;
class UserModel extends Database
{
public function getAll()
{
$pdo = $this->linkDB();
$sql = "SELECT uid, username, email, created_at FROM users"; // dont expose password hash
try {
$pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$sth = $pdo->prepare($sql);
$sth->execute();
$result = $sth->fetchAll(\PDO::FETCH_ASSOC);
$sth->closeCursor();
$pdo = null;
return $result;
} catch (\PDOException $e) {
return ["error" => $e->getMessage()];
}
}
public function insert($data)
{
$pdo = $this->linkDB();
$sql = "INSERT INTO users (username, email, password_hash)
VALUES (:username, :email, :password_hash)";
try {
$pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$sth = $pdo->prepare($sql);
$sth->bindValue(':username', $data['username']);
$sth->bindValue(':email', $data['email']);
$sth->bindValue(':password_hash', password_hash($data['password'], PASSWORD_BCRYPT));
$sth->execute();
$sth->closeCursor();
$pdo = null;
return ["success" => true, "message" => "User created"];
} catch (\PDOException $e) {
return ["error" => $e->getMessage()];
}
}
public function update($data)
{
$pdo = $this->linkDB();
$sql = "UPDATE users
SET username = :username,
email = :email
WHERE uid = :uid";
try {
$pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$sth = $pdo->prepare($sql);
$sth->bindValue(':uid', $data['uid']);
$sth->bindValue(':username', $data['username']);
$sth->bindValue(':email', $data['email']);
$sth->execute();
$sth->closeCursor();
$pdo = null;
return ["success" => true, "message" => "User updated"];
} catch (\PDOException $e) {
return ["error" => $e->getMessage()];
}
}
}