This repository has been archived on 2024-07-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
nettsiden-old/src/pvv/side/projectmanager.php
Markus d984dfb89c Begin work on project pages
Also store project owners' emails as contact info
2018-02-24 19:41:57 +01:00

77 lines
1.6 KiB
PHP

<?php
namespace pvv\side;
use \PDO;
class ProjectManager{
private $pdo;
public function __construct(PDO $pdo){
$this->pdo = $pdo;
}
public function getAll() {
$query = 'SELECT * FROM projects ORDER BY id ASC';
$statement = $this->pdo->prepare($query);
$statement->execute();
$projects = [];
foreach($statement->fetchAll() as $dbProj){
$project = new Project(
$dbProj['id'],
$dbProj['name'],
$dbProj['description'],
$dbProj['owner'],
$dbProj['owneruname'],
$dbProj['owneremail'],
$dbProj['active']
);
$projects[] = $project;
}
return $projects;
}
public function getByID($id){
$query = 'SELECT * FROM projects WHERE id=:id LIMIT 1';
$statement = $this->pdo->prepare($query);
$statement->bindParam(':id', $id, PDO::PARAM_INT);
$statement->execute();
$dbProj = $statement->fetch();
$project = new Project(
$dbProj['id'],
$dbProj['name'],
$dbProj['description'],
$dbProj['owner'],
$dbProj['owneruname'],
$dbProj['owneremail'],
$dbProj['active']
);
return $project;
}
public function getByUName($uname){
$query = 'SELECT * FROM projects WHERE owneruname=:uname';
$statement = $this->pdo->prepare($query);
$statement->bindParam(':uname', $uname, PDO::PARAM_STR);
$statement->execute();
$projects = [];
foreach($statement->fetchAll() as $dbProj){
$project = new Project(
$dbProj['id'],
$dbProj['name'],
$dbProj['description'],
$dbProj['owner'],
$dbProj['owneruname'],
$dbproj['owneremail'],
$dbProj['active']
);
$projects[] = $project;
}
return $projects;
}
}