oms-EventManagement/Models/Event.php
2015-11-29 21:57:18 +01:00

247 lines
4.0 KiB
PHP

<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\EventManagement;
use phpOMS\Pattern\Multition;
/**
* Event class.
*
* @category EventManager
* @package Framework
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
class Event implements Multition
{
/**
* ID.
*
* @var \int
* @since 1.0.0
*/
private $id = null;
/**
* Name.
*
* @var \string
* @since 1.0.0
*/
private $name = '';
/**
* Description.
*
* @var \string
* @since 1.0.0
*/
private $description = null;
/**
* Created.
*
* @var datetime
* @since 1.0.0
*/
private $created = null;
/**
* Creator.
*
* @var \int
* @since 1.0.0
*/
private $creator = null;
/**
* Calendar.
*
* @var \Modules\Calender\Models\Calender
* @since 1.0.0
*/
private $calendar = null;
/**
* People/Users.
*
* @var array
* @since 1.0.0
*/
private $people = [];
private static $instances = [];
public function __construct($id)
{
}
public function getInstance($id)
{
if (!isset(self::$instances[$id])) {
self::$instances[$id] = new self($id);
}
return self::$instances[$id];
}
public function getId()
{
return $this->id;
}
public function getName()
{
return $this->name;
}
public function setName($name)
{
$this->name = $name;
}
public function getDescription()
{
return $this->description;
}
public function setDescription($desc)
{
$this->descritpion = $desc;
}
public function getCreated()
{
return $this->created;
}
public function setCreated($created)
{
$this->created = $created;
}
public function getCreator()
{
return $this->creator;
}
public function setCreator($creator)
{
$this->creator = $creator;
}
public function getCalendar()
{
return $this->calender;
}
public function setCalender($calender)
{
$this->calender = $calender;
}
public function getPeople()
{
return $this->people;
}
public function setPeople($people)
{
$this->people = $people;
}
public function addPerson($person)
{
if (!isset($this->people[$person['id']])) {
$this->people[$person['id']] = $person;
}
}
public function removePerson($id)
{
if (isset($this->people[$id])) {
unset($this->people[$id]);
}
}
/**
* {@inheritdoc}
*/
public function delete()
{
}
/**
* {@inheritdoc}
*/
public function create()
{
}
/**
* {@inheritdoc}
*/
public function update()
{
}
/**
* {@inheritdoc}
*/
public function serialize()
{
}
/**
* {@inheritdoc}
*/
public function unserialize($data)
{
}
/**
* Init object by ID.
*
* This usually happens from DB or cache
*
* @param \int $id Object ID
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function init($id)
{
// TODO: Implement init() method.
}
/**
* Overwriting clone in order to maintain singleton pattern.
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function __clone()
{
// TODO: Implement __clone() method.
}
}