my-portfolio/src/api/timelineData.php

176 lines
5.7 KiB
PHP
Raw Normal View History

2021-08-22 10:44:49 +01:00
<?php
namespace api;
use PDO;
2021-08-23 21:38:37 +01:00
require_once "./config.php";
2021-08-22 10:44:49 +01:00
/**
* TimelineData class
* Define all functions which either get, update, create or delete timeline data
*/
class timelineData
2021-08-22 10:44:49 +01:00
{
/**
* Get all education data
* @return array - Array of all education data or error message
*/
function getEduData(): array
{
$conn = dbConn();
$stmt = $conn->prepare("SELECT ID, startPeriod, endPeriod, grade, course FROM edu ORDER BY startPeriod DESC;");
$stmt->execute();
2021-08-22 10:44:49 +01:00
// set the resulting array to associative
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
if ($result)
{
return $result;
}
return array("errorMessage" => "Error, edu data not found");
}
/**
* Get all work data
* @return array - Array of all work data or error message
*/
function getWorkData(): array
{
$conn = dbConn();
$stmt = $conn->prepare("SELECT ID, startPeriod, endPeriod, companyName, area, title FROM work ORDER BY work.startPeriod DESC;");
$stmt->execute();
// set the resulting array to associative
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
if ($result)
{
return $result;
}
return array("errorMessage" => "Error, work data not found");
}
/**
* Update education data
* @param string $dateFrom - Start date
* @param string $dateTo - End date
* @param string $grade - Grade
* @param string $course - Course
* @param string $id - ID of the education data
* @return bool - True if successful, false if not
*/
function updateEduData(string $dateFrom, string $dateTo, string $grade, string $course, string $id): bool
{
$conn = dbConn();
$stmt = $conn->prepare("UPDATE edu SET startPeriod = :dateFrom, endPeriod = :dateTo, grade = :grade, course = :course WHERE ID = :id;");
$stmt->bindParam(":dateFrom", $dateFrom);
$stmt->bindParam(":dateTo", $dateTo);
$stmt->bindParam(":grade", $grade);
$stmt->bindParam(":course", $course);
$stmt->bindParam(":id", $id);
return $stmt->execute();
}
/**
* Update work data
* @param string $dateFrom - Start date
* @param string $dateTo - End date
* @param string $companyName - Company name
* @param string $area - Area
* @param string $title - Title
* @param string $id - ID of the work data
* @return bool - True if successful, false if not
*/
public function updateWorkData(string $dateFrom, string $dateTo, string $companyName, string $area, string $title, string $id): bool
{
$conn = dbConn();
$stmt = $conn->prepare("UPDATE work SET startPeriod = :dateFrom, endPeriod = :dateTo, companyName = :companyName, area = :area, title = :title WHERE ID = :id;");
$stmt->bindParam(":dateFrom", $dateFrom);
$stmt->bindParam(":dateTo", $dateTo);
$stmt->bindParam(":companyName", $companyName);
$stmt->bindParam(":area", $area);
$stmt->bindParam(":title", $title);
$stmt->bindParam(":id", $id);
return $stmt->execute();
}
/**
* Delete education data by ID
* @param int $id
* @return bool - True if successful, false if not
*/
function deleteEduData(int $id): bool
{
$conn = dbConn();
$stmt = $conn->prepare("DELETE FROM edu WHERE ID = :id;");
$stmt->bindParam(":id", $id);
return $stmt->execute();
}
/**
* Delete work data by ID
* @param int $id
* @return bool - True if successful, false if not
*/
function deleteWorkData(int $id): bool
{
$conn = dbConn();
$stmt = $conn->prepare("DELETE FROM work WHERE ID = :id;");
$stmt->bindParam(":id", $id);
return $stmt->execute();
}
/**
* Create new education data
* @param string $dateFrom - Start date
* @param string $dateTo - End date
* @param string $grade - Grade
* @param string $course - Course
* @return bool|int - ID of the new education data or false if not successful
*/
function addEduData(string $dateFrom, string $dateTo, string $grade, string $course): bool|int
{
$conn = dbConn();
$stmt = $conn->prepare("INSERT INTO edu (startPeriod, endPeriod, grade, course) VALUES (:dateFrom, :dateTo, :grade, :course);");
$stmt->bindParam(":dateFrom", $dateFrom);
$stmt->bindParam(":dateTo", $dateTo);
$stmt->bindParam(":grade", $grade);
$stmt->bindParam(":course", $course);
if($stmt->execute())
{
return $conn->lastInsertId();
}
return false;
}
/**
* Create new work data
* @param string $dateFrom - Start date
* @param string $dateTo - End date
* @param string $companyName - Company name
* @param string $area - Area
* @param string $title - Title
* @return bool|int - ID of the new work data if successful, false if not
*/
function addWorkData(string $dateFrom, string $dateTo, string $companyName, string $area, string $title): bool|int
{
$conn = dbConn();
$stmt = $conn->prepare("INSERT INTO work (startPeriod, endPeriod, companyName, area, title) VALUES (:dateFrom, :dateTo, :companyName, :area, :title);");
$stmt->bindParam(":dateFrom", $dateFrom);
$stmt->bindParam(":dateTo", $dateTo);
$stmt->bindParam(":companyName", $companyName);
$stmt->bindParam(":area", $area);
$stmt->bindParam(":title", $title);
if($stmt->execute())
{
return $conn->lastInsertId();
}
return false;
}
}