2021-08-22 10:44:49 +01:00
< ? php
2022-10-29 19:31:34 +01:00
2023-06-08 15:10:27 +01:00
namespace api\timeline ;
2022-10-29 19:31:34 +01:00
2021-12-28 21:20:00 +00:00
use PDO ;
2023-06-08 15:10:27 +01:00
require_once __DIR__ . " /../utils/config.php " ;
2021-08-22 10:44:49 +01:00
2021-08-31 18:50:08 +01:00
/**
* TimelineData class
* Define all functions which either get , update , create or delete timeline data
*/
2021-12-28 21:20:00 +00:00
class timelineData
2021-08-22 10:44:49 +01:00
{
2022-10-09 02:40:06 +01:00
/**
* Get all education data
* @ return array - Array of all education data or error message
*/
2022-07-29 20:00:36 +01:00
function getEduData () : array
2021-08-23 09:30:08 +01:00
{
$conn = dbConn ();
2022-10-09 23:32:50 +01:00
$stmt = $conn -> prepare ( " SELECT ID, startPeriod, endPeriod, grade, course FROM edu ORDER BY startPeriod DESC; " );
2021-08-23 09:30:08 +01:00
$stmt -> execute ();
2021-08-22 10:44:49 +01:00
2021-08-23 09:30:08 +01:00
// set the resulting array to associative
$result = $stmt -> fetchAll ( PDO :: FETCH_ASSOC );
if ( $result )
{
return $result ;
}
2022-07-29 20:00:36 +01:00
return array ( " errorMessage " => " Error, edu data not found " );
2021-08-23 09:30:08 +01:00
}
2021-08-27 21:18:19 +01:00
2022-10-09 02:40:06 +01:00
/**
* Get all work data
* @ return array - Array of all work data or error message
*/
2022-07-29 20:00:36 +01:00
function getWorkData () : array
2021-08-27 21:18:19 +01:00
{
$conn = dbConn ();
2022-10-29 19:31:34 +01:00
$stmt = $conn -> prepare ( " SELECT ID, startPeriod, endPeriod, companyName, area, title FROM work ORDER BY work.startPeriod DESC; " );
2021-08-27 21:18:19 +01:00
$stmt -> execute ();
// set the resulting array to associative
$result = $stmt -> fetchAll ( PDO :: FETCH_ASSOC );
2022-10-29 19:31:34 +01:00
2021-08-27 21:18:19 +01:00
if ( $result )
{
return $result ;
}
2022-07-29 20:00:36 +01:00
return array ( " errorMessage " => " Error, work data not found " );
2021-08-27 21:18:19 +01:00
}
2022-10-09 23:32:50 +01:00
/**
* 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 ();
}
2022-10-29 19:31:34 +01:00
/**
* 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 ;
}
2021-12-28 21:20:00 +00:00
}