<?php /** * Class that handles the content of a reply. * The Ticket_Content has a one-to-one relation with a ticket_reply, it contains the content of a reply, this way the content doesn't always have to be loaded when * we query the database when we only need information regarding to the replies basic information. * @author Daan Janssens, mentored by Matthew Lagoe */ class Ticket_Content{ private $tContentId; /**< The id of ticket_content entry */ private $content; /**< The content of an entry */ ////////////////////////////////////////////Functions//////////////////////////////////////////////////// /** * return constructed element based on TContentId. * @param $id the id of ticket_content entry. * @return a constructed ticket_content object by specifying the TContentId. */ public static function constr_TContentId( $id) { $instance = new self(); $instance->setTContentId($id); return $instance; } ////////////////////////////////////////////Methods//////////////////////////////////////////////////// /** * A constructor. * Empty constructor */ public function __construct() { } /** * creates a new 'tickt_content' entry. * this method will use the object's attributes for creating a new 'ticket_content' entry in the database. */ public function create() { $dbl = new DBLayer("lib"); $this->tContentId = $dbl->executeReturnId("ticket_content", Array('Content' => $this->content)); } /** * loads the object's attributes. * loads the object's attributes by giving a ticket_content's id, * @param $id the id of the ticket_content entry that should be loaded */ public function load_With_TContentId( $id) { $dbl = new DBLayer("lib"); $statement = $dbl->select("ticket_content", array('id' => $id), "TContentId=:id"); $row = $statement->fetch(); $this->tContentId = $row['TContentId']; $this->content = $row['Content']; } /** * update the object's attributes to the database. */ public function update(){ $dbl = new DBLayer("lib"); $dbl->update("ticket_content", Array('Content' => $this->content), "TContentId = $this->tContentId"); } ////////////////////////////////////////////Getters//////////////////////////////////////////////////// /** * get content attribute of the object. */ public function getContent(){ if ($this->content == ""){ $this->load_With_TContentId($this->tContentId); } return $this->content; } /** * get tContentId attribute of the object. */ public function getTContentId(){ return $this->tContentId; } ////////////////////////////////////////////Setters//////////////////////////////////////////////////// /** * set content attribute of the object. * @param $c content of a reply */ public function setContent($c){ $this->content = $c; } /** * set tContentId attribute of the object. * @param $c integer id of ticket_content entry */ public function setTContentId($c){ $this->tContentId = $c; } }