WIP: revamp projects: redesign webpage
This commit is contained in:
@@ -6,30 +6,91 @@ namespace pvv\side;
|
||||
|
||||
class Project {
|
||||
private $id;
|
||||
private $name;
|
||||
private $descr;
|
||||
private $active;
|
||||
private $title;
|
||||
private $descrition_en;
|
||||
private $description_no;
|
||||
private $gitea_link;
|
||||
private $issue_board_link;
|
||||
private $wiki_link;
|
||||
private $languages;
|
||||
private $technologies;
|
||||
private $keywords;
|
||||
private $license;
|
||||
private $logo_url;
|
||||
|
||||
public function __construct($id, $name, $descr, $active) {
|
||||
public function __construct(
|
||||
int $id,
|
||||
string $title,
|
||||
string $description_en,
|
||||
string $description_no,
|
||||
string $gitea_link,
|
||||
string $issue_board_link,
|
||||
string $wiki_link,
|
||||
string $languages,
|
||||
string $technologies,
|
||||
string $keywords,
|
||||
string $license,
|
||||
string $logo_url
|
||||
) {
|
||||
$this->id = $id;
|
||||
$this->name = $name;
|
||||
$this->descr = explode("\n", $descr);
|
||||
$this->active = $active;
|
||||
$this->title = $title;
|
||||
$this->description_en = explode("\n", $description_en);
|
||||
$this->description_no = explode("\n", $description_no);
|
||||
$this->gitea_link = $gitea_link;
|
||||
$this->issue_board_link = $issue_board_link;
|
||||
$this->wiki_link = $wiki_link;
|
||||
$this->languages = $languages;
|
||||
$this->technologies = $technologies;
|
||||
$this->keywords = $keywords;
|
||||
$this->license = $license;
|
||||
$this->logo_url = $logo_url;
|
||||
}
|
||||
|
||||
public function getID() {
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function getName() {
|
||||
return $this->name;
|
||||
public function getTitle() {
|
||||
return $this->title;
|
||||
}
|
||||
|
||||
public function getDescription() {
|
||||
return $this->descr;
|
||||
|
||||
public function getDescriptionEn() {
|
||||
return $this->description_en;
|
||||
}
|
||||
|
||||
public function getActive() {
|
||||
return $this->active;
|
||||
|
||||
public function getDescriptionNo() {
|
||||
return $this->description_no;
|
||||
}
|
||||
|
||||
public function getGiteaLink() {
|
||||
return $this->gitea_link;
|
||||
}
|
||||
|
||||
public function getIssueBoardLink() {
|
||||
return $this->issue_board_link;
|
||||
}
|
||||
|
||||
public function getWikiLink() {
|
||||
return $this->wiki_link;
|
||||
}
|
||||
|
||||
public function getLanguages() {
|
||||
return $this->languages;
|
||||
}
|
||||
|
||||
public function getTechnologies() {
|
||||
return $this->technologies;
|
||||
}
|
||||
|
||||
public function getKeywords() {
|
||||
return $this->keywords;
|
||||
}
|
||||
|
||||
public function getLicense() {
|
||||
return $this->license;
|
||||
}
|
||||
|
||||
public function getLogoURL() {
|
||||
return $this->logo_url;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ class ProjectManager {
|
||||
}
|
||||
|
||||
public function getAll() {
|
||||
$query = 'SELECT * FROM projects ORDER BY id ASC';
|
||||
$query = 'SELECT * FROM project ORDER BY id ASC';
|
||||
$statement = $this->pdo->prepare($query);
|
||||
$statement->execute();
|
||||
|
||||
@@ -20,9 +20,17 @@ class ProjectManager {
|
||||
foreach ($statement->fetchAll() as $dbProj) {
|
||||
$project = new Project(
|
||||
$dbProj['id'],
|
||||
$dbProj['name'],
|
||||
$dbProj['description'],
|
||||
$dbProj['active']
|
||||
$dbProj['title'],
|
||||
$dbProj['description_en'],
|
||||
$dbProj['description_no'],
|
||||
$dbProj['gitea_link'],
|
||||
$dbProj['issue_board_link'],
|
||||
$dbProj['wiki_link'],
|
||||
$dbProj['languages'],
|
||||
$dbProj['technologies'],
|
||||
$dbProj['keywords'],
|
||||
$dbProj['license'],
|
||||
$dbProj['logo_url']
|
||||
);
|
||||
$projects[] = $project;
|
||||
}
|
||||
@@ -31,7 +39,7 @@ class ProjectManager {
|
||||
}
|
||||
|
||||
public function getByID($id) {
|
||||
$query = 'SELECT * FROM projects WHERE id=:id LIMIT 1';
|
||||
$query = 'SELECT * FROM project WHERE id=:id LIMIT 1';
|
||||
$statement = $this->pdo->prepare($query);
|
||||
$statement->bindParam(':id', $id, \PDO::PARAM_INT);
|
||||
$statement->execute();
|
||||
@@ -43,14 +51,28 @@ class ProjectManager {
|
||||
|
||||
return new Project(
|
||||
$dbProj['id'],
|
||||
$dbProj['name'],
|
||||
$dbProj['description'],
|
||||
$dbProj['active']
|
||||
$dbProj['title'],
|
||||
$dbProj['description_en'],
|
||||
$dbProj['description_no'],
|
||||
$dbProj['gitea_link'],
|
||||
$dbProj['issue_board_link'],
|
||||
$dbProj['wiki_link'],
|
||||
$dbProj['languages'],
|
||||
$dbProj['technologies'],
|
||||
$dbProj['keywords'],
|
||||
$dbProj['license'],
|
||||
$dbProj['logo_url']
|
||||
);
|
||||
}
|
||||
|
||||
public function getByOwner($uname) {
|
||||
$query = 'SELECT projectid FROM projectmembers WHERE uname=:uname';
|
||||
$query = '
|
||||
SELECT projectid FROM project
|
||||
JOIN project__project_maintainer ON project.id = project__project_maintainer.project_id
|
||||
JOIN project_maintainer ON project__project_maintainer.uname = project_maintainer.uname
|
||||
WHERE project_maintainer.uname = :uname
|
||||
';
|
||||
|
||||
$statement = $this->pdo->prepare($query);
|
||||
$statement->bindParam(':uname', $uname, \PDO::PARAM_STR);
|
||||
$statement->execute();
|
||||
@@ -68,9 +90,17 @@ class ProjectManager {
|
||||
foreach ($statement->fetchAll() as $dbProj) {
|
||||
$project = new Project(
|
||||
$dbProj['id'],
|
||||
$dbProj['name'],
|
||||
$dbProj['description'],
|
||||
$dbProj['active']
|
||||
$dbProj['title'],
|
||||
$dbProj['description_en'],
|
||||
$dbProj['description_no'],
|
||||
$dbProj['gitea_link'],
|
||||
$dbProj['issue_board_link'],
|
||||
$dbProj['wiki_link'],
|
||||
$dbProj['languages'],
|
||||
$dbProj['technologies'],
|
||||
$dbProj['keywords'],
|
||||
$dbProj['license'],
|
||||
$dbProj['logo_url']
|
||||
);
|
||||
$projects[] = $project;
|
||||
}
|
||||
@@ -79,42 +109,28 @@ class ProjectManager {
|
||||
return $projects;
|
||||
}
|
||||
|
||||
public function getProjectMembers($id) {
|
||||
$query = 'SELECT * FROM projectmembers WHERE projectid=:id';
|
||||
public function getProjectMaintainers($id) {
|
||||
$query = '
|
||||
SELECT id FROM project
|
||||
JOIN project__project_maintainer ON project.id = project__project_maintainer.project_id
|
||||
JOIN project_maintainer ON project__project_maintainer.uname = project_maintainer.uname
|
||||
WHERE project.id = :id
|
||||
';
|
||||
|
||||
$statement = $this->pdo->prepare($query);
|
||||
$statement->bindParam(':id', $id, \PDO::PARAM_STR);
|
||||
$statement->execute();
|
||||
|
||||
$members = [];
|
||||
$maintainers = [];
|
||||
foreach ($statement->fetchAll() as $dbUsr) {
|
||||
$members[] = [
|
||||
$maintainers[] = [
|
||||
'name' => $dbUsr['name'],
|
||||
'uname' => $dbUsr['uname'],
|
||||
'link' => $dbOwner['link'],
|
||||
'mail' => $dbUsr['mail'],
|
||||
'role' => $dbUsr['role'],
|
||||
'lead' => $dbUsr['lead'],
|
||||
'owner' => $dbUsr['owner'],
|
||||
];
|
||||
}
|
||||
|
||||
return $members;
|
||||
}
|
||||
|
||||
public function getProjectOwner($id) {
|
||||
$query = 'SELECT * FROM projectmembers WHERE (projectid=:id AND owner=1)';
|
||||
$statement = $this->pdo->prepare($query);
|
||||
$statement->bindParam(':id', $id, \PDO::PARAM_STR);
|
||||
$statement->execute();
|
||||
|
||||
$dbOwner = $statement->fetch();
|
||||
|
||||
return [
|
||||
'name' => $dbOwner['name'],
|
||||
'uname' => $dbOwner['uname'],
|
||||
'mail' => $dbOwner['mail'],
|
||||
'role' => $dbOwner['role'],
|
||||
'lead' => $dbOwner['lead'],
|
||||
'owner' => $dbOwner['owner'],
|
||||
];
|
||||
return maintainers;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user