created; } /** * @return \DateTime|null */ public function getCreatedUTC(){ return $this->getDateFromLocalToUTC($this->created); } /** * @param \DateTime $created */ public function setCreated($created) { $this->created = $created; } /** * @return \DateTime */ public function getLastEdited() { return $this->last_edited; } /** * @return \DateTime|null */ public function getLastEditedUTC(){ return $this->getDateFromLocalToUTC($this->last_edited); } /** * @param \DateTime $value * @return \DateTime|null */ protected function getDateFromLocalToUTC(\DateTime $value){ if(is_null($value)) return null; $default_timezone = new \DateTimeZone(self::DefaultTimeZone); $utc_timezone = new \DateTimeZone("UTC"); $timestamp = $value->format('Y-m-d H:i:s'); $local_date = new \DateTime($timestamp, $default_timezone); return $local_date->setTimezone($utc_timezone); } /** * @param \DateTime $last_edited */ public function setLastEdited($last_edited) { $this->last_edited = $last_edited; } /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(name="ID", type="integer", unique=true, nullable=false) */ protected $id; /** * @ORM\Column(name="Created", type="datetime") */ protected $created; /** * @ORM\Column(name="LastEdited", type="datetime") */ protected $last_edited; /** * @return int */ public function getIdentifier() { return (int)$this->id; } public function getId(){ return $this->getIdentifier(); } public function __construct() { $now = new \DateTime('now', new \DateTimeZone(self::DefaultTimeZone)); $this->created = $now; $this->last_edited = $now; } /** * @return QueryBuilder */ protected function createQueryBuilder(){ return Registry::getManager(self::EntityManager)->createQueryBuilder(); } /** * @param string $dql * @return Query */ protected function createQuery($dql){ return Registry::getManager(self::EntityManager)->createQuery($dql); } /** * @param string $sql * @return mixed */ protected function prepareRawSQL($sql){ return Registry::getManager(self::EntityManager)->getConnection()->prepare($sql); } /** * @return EntityManager */ protected function getEM(){ return Registry::getManager(self::EntityManager); } const EntityManager = 'ss'; }