You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

148 lines
4.3 KiB

<?php
# if(!isset($_POST["y"]))
# {
# header("Location:.");
# exit;
# }
/**
* @brief connects to the database
* @return a PDO connection to the database
*/
function connect()
{
try
{
$pdo = new PDO("sqlite:testdb.db");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
}
catch(PDOException $e)
{
//NOTE: change $e->getMessage() by an error message before going to production
echo($e->getMessage());
die();
}
}
/**
* @brief queries all the events from the database
* @param $db: the PDO connection to the database
* @return a list of all the events in the database
*/
function getAllEvents($db)
{
try
{
$request = $db->prepare('SELECT events.id, events.titre, events.localisation, events.dtstart, events.dtend, events.description FROM events, categorie WHERE events.categorie = categorie.id ');
$request->execute(array('date'=>date("Y-m-d",$date)));
$result = $request->fetchAll();
$request->closeCursor();
return $result;
}
catch(PDOException $e)
{
//NOTE: change $e->getMessage() by an error message before going to production
echo($e->getMessage());
die();
}
}
/**
* @brief queries the database for one particular event
* @param $db: the PDO connection to the database
* @param $id: the ID of the event to query
* @return an array containing the event
*/
function getOneEvent($db, $id)
{
try
{
$request = $db->prepare('SELECT events.id, events.titre, events.localisation, events.dtstart, events.dtend, events.description FROM events, categorie WHERE events.categorie = categorie.id AND events.id = ?');
$request->execute(array($id));
$result = $request->fetch();
$request->closeCursor();
return $result;
}
catch(PDOException $e)
{
//NOTE: change $e->getMessage() by an error message before going to production
echo($e->getMessage());
die();
}
}
/**
* @brief queries the database for the events on a certain date
* @param $db: the PDO connection to the database
* @param $date: the date to search for
* @return a list of all the events at the date $date
*/
function getEventsByDate($db, $date)
{
try
{
$request = $db->prepare('SELECT events.id, events.titre, events.localisation, events.dtstart, events.dtend, events.description FROM events, categorie WHERE events.categorie = categorie.id AND (dtstart <= :date AND dtend >= :date)');
$request->execute(array('date'=>date("Y-m-d",$date)));
$result = $request->fetchAll();
$request->closeCursor();
return $result;
}
catch(PDOException $e)
{
//NOTE: change $e->getMessage() by an error message before going to production
echo($e->getMessage());
die();
}
}
/**
* @brief queries the database for the events after a certain date
* @param $db: the PDO connection to the database
* @param $date: the date to search for
* @return a list of all the events future to $date
*/
function getEventsSince($db,$date)
{
try
{
$request = $db->prepare('SELECT events.id, events.titre, events.localisation, events.dtstart, events.dtend, events.description FROM events, categorie WHERE events.categorie = categorie.id AND (events.dtstart >= :date OR events.dtend >= :date)');
$request->execute(array('date'=>date("Y-m-d",$date)));
$result = $request->fetchAll();
$request->closeCursor();
return $result;
}
catch(PDOException $e)
{
//NOTE: change $e->getMessage() by an error message before going to production
echo($e->getMessage());
die();
}
}
/**
* @deprecated
*/
function getEvents()
{
//FUTURE: delete this function
$pdo = connect();
$stmt = $pdo->prepare('SELECT titre, localisation, dtstart, dtend, description, url FROM events, categorie WHERE events.categorie = categorie.id');
$stmt->execute();
$result = $stmt->fetchAll();
return $result;
}
/**
* @deprecated
*/
function getEvent($id)
{
//FUTURE: delete this function
$pdo = connect();
$stmt = $pdo->prepare('SELECT titre, localisation, dtstart, dtend, description, url FROM events WHERE id = ?');
$stmt->execute(array($id));
$result = $stmt->fetch();
return $result;
}
?>