fixup! WIP: revamp projects: redesign webpage

This commit is contained in:
2025-12-18 22:58:54 +09:00
parent 732c36c428
commit 89b980e3bd
5 changed files with 109 additions and 40 deletions

View File

@@ -68,10 +68,16 @@ class Project {
return $this->title;
}
/**
* @return string[]
*/
public function getDescriptionEn(): array {
return $this->description_en;
}
/**
* @return string[]
*/
public function getDescriptionNo(): array {
return $this->description_no;
}
@@ -88,14 +94,23 @@ class Project {
return $this->wiki_link;
}
/**
* @return string[]
*/
public function getProgrammingLanguages(): array {
return $this->programming_languages;
}
/**
* @return string[]
*/
public function getTechnologies(): array {
return $this->technologies;
}
/**
* @return string[]
*/
public function getKeywords(): array {
return $this->keywords;
}

View File

@@ -142,4 +142,33 @@ class ProjectManager {
return $maintainers;
}
/**
* @return array{name:string,uname:string,link:string,mail:string}|null
*/
public function getProjectOwner(int $id): ?array {
$query = '
SELECT name, uname, link, mail 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 AND project__project_maintainer.owner = TRUE
LIMIT 1
';
$statement = $this->pdo->prepare($query);
$statement->bindParam(':id', $id, \PDO::PARAM_STR);
$statement->execute();
$owner = $statement->fetch();
if (!$owner) {
return null;
}
return [
'name' => $owner['name'],
'uname' => $owner['uname'],
'link' => $owner['link'],
'mail' => $owner['mail'],
];
}
}