2013-08-13 19:37:11 +02:00
|
|
|
<?php
|
2013-09-05 23:07:40 +02:00
|
|
|
// TODO : Handle users_in
|
2013-08-13 19:37:11 +02:00
|
|
|
require_once('data/config.php');
|
|
|
|
require_once('Storage.class.php');
|
|
|
|
|
2013-08-17 18:43:35 +02:00
|
|
|
class Invoice extends Storage {
|
2013-08-30 20:07:52 +02:00
|
|
|
protected $id = 0, $date, $users_in, $guests, $buyer, $amount, $what;
|
|
|
|
// date is a DateTime object
|
|
|
|
// buyer is a User object
|
|
|
|
// guests is an array with same keys as users_in
|
2013-08-13 19:37:11 +02:00
|
|
|
protected $TABLE_NAME = "Invoices";
|
|
|
|
protected $fields = array(
|
|
|
|
'id'=>'key',
|
2013-08-22 23:14:14 +02:00
|
|
|
'date'=>'date',
|
2013-08-13 19:37:11 +02:00
|
|
|
'buyer'=>'int',
|
|
|
|
'amount'=>'float',
|
|
|
|
'what'=>'text'
|
|
|
|
);
|
|
|
|
|
2013-08-30 20:07:52 +02:00
|
|
|
public function __construct() {
|
|
|
|
parent::__construct();
|
|
|
|
}
|
|
|
|
|
2013-08-26 09:52:04 +02:00
|
|
|
// Getters
|
|
|
|
// =======
|
2013-08-13 19:37:11 +02:00
|
|
|
public function getId() {
|
|
|
|
return $this->id;
|
|
|
|
}
|
|
|
|
|
2013-08-30 20:07:52 +02:00
|
|
|
public function getDate($format = "d-m-Y H:i") {
|
|
|
|
return $this->date->format($format);
|
2013-08-13 19:37:11 +02:00
|
|
|
}
|
|
|
|
|
2013-08-30 20:07:52 +02:00
|
|
|
public function getGuests() {
|
|
|
|
return $this->guests;
|
|
|
|
}
|
|
|
|
|
2013-08-13 19:37:11 +02:00
|
|
|
public function getBuyer() {
|
|
|
|
return $this->buyer;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getAmount() {
|
|
|
|
return $this->amount;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getWhat() {
|
|
|
|
return $this->what;
|
|
|
|
}
|
|
|
|
|
2013-08-26 09:52:04 +02:00
|
|
|
// Setters
|
|
|
|
// =======
|
2013-08-13 19:37:11 +02:00
|
|
|
public function setId($id) {
|
|
|
|
$this->id = (int) $id;
|
|
|
|
}
|
|
|
|
|
2013-08-30 20:07:52 +02:00
|
|
|
public function setDate($minute, $hour, $day, $month, $year) {
|
|
|
|
if((int) $minute < 10) $minute = '0'.$minute;
|
2013-08-22 23:14:14 +02:00
|
|
|
|
2013-08-30 20:07:52 +02:00
|
|
|
$this->date = DateTime::createFromFormat('Y-n-j G:i', $year.'-'.(int) $month.'-'.(int) $day.' '.(int) $hour.':'.$minute);
|
2013-08-13 19:37:11 +02:00
|
|
|
}
|
|
|
|
|
2013-08-30 20:07:52 +02:00
|
|
|
public function setGuests($guests) {
|
|
|
|
$this->guests = $guests;
|
|
|
|
}
|
|
|
|
|
2013-08-13 19:37:11 +02:00
|
|
|
public function setBuyer($buyer) {
|
|
|
|
$this->buyer = (int) $buyer;
|
|
|
|
}
|
|
|
|
|
2013-08-17 18:43:35 +02:00
|
|
|
public function setAmount ($amount) {
|
2013-08-13 19:37:11 +02:00
|
|
|
$this->amount = (float) $amount;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setWhat($what) {
|
|
|
|
$this->what = $what;
|
|
|
|
}
|
|
|
|
|
2013-08-26 21:21:52 +02:00
|
|
|
// Maps htmlspecialchars on the class before display
|
|
|
|
// =================================================
|
|
|
|
public function secureDisplay() {
|
|
|
|
$this->id = (int) $this->id;
|
|
|
|
$this->what = htmlspecialchars($this->what);
|
|
|
|
$this->amount = (float) $this->amount;
|
|
|
|
$this->buyer = (int) $this->buyer;
|
|
|
|
$this->date = htmlspecialchars($this->date);
|
|
|
|
|
|
|
|
return $this;
|
|
|
|
}
|
2013-08-27 15:51:04 +02:00
|
|
|
|
|
|
|
// Restores object from array
|
|
|
|
// ==========================
|
|
|
|
public function sessionRestore($data, $serialized = false) {
|
|
|
|
if($serialized) {
|
|
|
|
$data = unserialize($data);
|
|
|
|
}
|
|
|
|
|
|
|
|
$this->setId($data['id']);
|
|
|
|
$this->setWhat($data['what']);
|
|
|
|
$this->setAmount($data['amount']);
|
|
|
|
$this->setBuyer($data['buyer']);
|
|
|
|
$this->setDate($data['date']);
|
|
|
|
}
|
2013-08-13 19:37:11 +02:00
|
|
|
}
|