176 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			176 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace api;
 | 
						|
 | 
						|
use PDO;
 | 
						|
 | 
						|
require_once "./config.php";
 | 
						|
 | 
						|
/**
 | 
						|
 * TimelineData class
 | 
						|
 * Define all functions which either get, update, create or delete timeline data
 | 
						|
 */
 | 
						|
class timelineData
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * 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();
 | 
						|
 | 
						|
        // 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;
 | 
						|
    }
 | 
						|
 | 
						|
}
 |