84 lines
2.6 KiB
PHP
84 lines
2.6 KiB
PHP
<?php
|
|
namespace api;
|
|
use PDO;
|
|
|
|
require_once "./config.php";
|
|
|
|
/**
|
|
* Project Data Class
|
|
* Define all functions which either get, update, create or delete timeline data
|
|
*/
|
|
class projectData
|
|
{
|
|
/**
|
|
* Get all project data
|
|
* @return array - Array of all project data or error message
|
|
*/
|
|
function getProjectData(): array
|
|
{
|
|
$conn = dbConn();
|
|
$stmt = $conn->prepare("SELECT title, isMainProject, information, imgLocation, projectLink, gitLink FROM projects order by date LIMIT 4;");
|
|
$stmt->execute();
|
|
|
|
// set the resulting array to associative
|
|
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
|
|
if ($result)
|
|
{
|
|
return $result;
|
|
}
|
|
return array("errorMessage" => "Error, project data not found");
|
|
}
|
|
|
|
function updateProjectData(string $title, string $isMainProject, string $information, string $projectLink, string $githubLink, string $id): bool
|
|
{
|
|
$conn = dbConn();
|
|
$stmt = $conn->prepare("UPDATE projects SET title = :title, isMainProject = :isMainProject, information = :information, projectLink = :projectLink, githubLink = :githubLink WHERE ID = :id");
|
|
$stmt->bindParam(":title", $title);
|
|
$stmt->bindParam(":isMainProject", $isMainProject);
|
|
$stmt->bindParam(":information", $information);
|
|
$stmt->bindParam(":projectLink", $projectLink);
|
|
$stmt->bindParam(":githubLink", $githubLink);
|
|
$stmt->bindParam(":id", $id);
|
|
$stmt->execute();
|
|
|
|
if ($stmt->rowCount() > 0)
|
|
{
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function deleteProjectData(int $id): bool
|
|
{
|
|
$conn = dbConn();
|
|
$stmt = $conn->prepare("DELETE FROM projects WHERE ID = :id");
|
|
$stmt->bindParam(":id", $id);
|
|
$stmt->execute();
|
|
|
|
if ($stmt->rowCount() > 0)
|
|
{
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function addProjectData(string $title, string $isMainProject, string $information, string $projectLink, string $githubLink): bool
|
|
{
|
|
$conn = dbConn();
|
|
$stmt = $conn->prepare("INSERT INTO projects (title, isMainProject, information, projectLink, githubLink) VALUES (:title, :isMainProject, :information, :projectLink, :githubLink)");
|
|
$stmt->bindParam(":title", $title);
|
|
$stmt->bindParam(":isMainProject", $isMainProject);
|
|
$stmt->bindParam(":information", $information);
|
|
$stmt->bindParam(":projectLink", $projectLink);
|
|
$stmt->bindParam(":githubLink", $githubLink);
|
|
$stmt->execute();
|
|
|
|
if ($stmt->rowCount() > 0)
|
|
{
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
}
|