258 lines
4.9 KiB
PHP
258 lines
4.9 KiB
PHP
<?php
|
|
namespace Cadoles\WebsocketBundle\Entity;
|
|
|
|
use Doctrine\ORM\Mapping as ORM;
|
|
use Doctrine\Common\Collections\ArrayCollection;
|
|
|
|
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
|
use Symfony\Component\Validator\Constraints as Assert;
|
|
|
|
/**
|
|
* @ORM\Entity
|
|
* @ORM\Table(name="message")
|
|
*/
|
|
class Message
|
|
{
|
|
/**
|
|
* @ORM\Column(type="integer")
|
|
* @ORM\Id
|
|
* @ORM\GeneratedValue(strategy="AUTO")
|
|
*/
|
|
private $id;
|
|
|
|
/**
|
|
* @ORM\Column(type="text")
|
|
*/
|
|
private $topic;
|
|
|
|
/**
|
|
* @ORM\Column(type="datetime")
|
|
*/
|
|
private $submitdate;
|
|
|
|
/**
|
|
* @ORM\ManyToOne(targetEntity="Cadoles\CoreBundle\Entity\User", inversedBy="messages")
|
|
*/
|
|
private $user;
|
|
|
|
/**
|
|
* @ORM\ManyToOne(targetEntity="Cadoles\CoreBundle\Entity\group", inversedBy="messages")
|
|
*/
|
|
private $group;
|
|
|
|
/**
|
|
* @ORM\ManyToMany(targetEntity="Cadoles\CoreBundle\Entity\User", inversedBy="messagereaders", cascade={"persist"})
|
|
* @ORM\JoinTable(name="messageuserread",
|
|
* joinColumns={@ORM\JoinColumn(name="message", referencedColumnName="id")},
|
|
* inverseJoinColumns={@ORM\JoinColumn(name="user", referencedColumnName="id")}
|
|
* )
|
|
*/
|
|
protected $readers;
|
|
|
|
/**
|
|
* @ORM\ManyToMany(targetEntity="Cadoles\CoreBundle\Entity\User", inversedBy="messagesees", cascade={"persist"})
|
|
* @ORM\JoinTable(name="messageusersee",
|
|
* joinColumns={@ORM\JoinColumn(name="message", referencedColumnName="id")},
|
|
* inverseJoinColumns={@ORM\JoinColumn(name="user", referencedColumnName="id")}
|
|
* )
|
|
*/
|
|
protected $sees;
|
|
|
|
|
|
/* champs calculé non stocké en base */
|
|
private $haveread;
|
|
public function getHaveread()
|
|
{
|
|
return $this->haveread;
|
|
}
|
|
public function setHaveread($haveread) {
|
|
$this->haveread = $haveread;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Constructor
|
|
*/
|
|
public function __construct()
|
|
{
|
|
$this->submitdate = new \DateTime();
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* Get id
|
|
*
|
|
* @return integer
|
|
*/
|
|
public function getId()
|
|
{
|
|
return $this->id;
|
|
}
|
|
|
|
/**
|
|
* Set topic
|
|
*
|
|
* @param string $topic
|
|
*
|
|
* @return Message
|
|
*/
|
|
public function setTopic($topic)
|
|
{
|
|
$this->topic = $topic;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get topic
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getTopic()
|
|
{
|
|
return $this->topic;
|
|
}
|
|
|
|
/**
|
|
* Set submitdate
|
|
*
|
|
* @param \DateTime $submitdate
|
|
*
|
|
* @return Message
|
|
*/
|
|
public function setSubmitdate($submitdate)
|
|
{
|
|
$this->submitdate = $submitdate;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get submitdate
|
|
*
|
|
* @return \DateTime
|
|
*/
|
|
public function getSubmitdate()
|
|
{
|
|
return $this->submitdate;
|
|
}
|
|
|
|
/**
|
|
* Set user
|
|
*
|
|
* @param \Cadoles\CoreBundle\Entity\User $user
|
|
*
|
|
* @return Message
|
|
*/
|
|
public function setUser(\Cadoles\CoreBundle\Entity\User $user = null)
|
|
{
|
|
$this->user = $user;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get user
|
|
*
|
|
* @return \Cadoles\CoreBundle\Entity\User
|
|
*/
|
|
public function getUser()
|
|
{
|
|
return $this->user;
|
|
}
|
|
|
|
/**
|
|
* Set group
|
|
*
|
|
* @param \Cadoles\CoreBundle\Entity\group $group
|
|
*
|
|
* @return Message
|
|
*/
|
|
public function setGroup(\Cadoles\CoreBundle\Entity\group $group = null)
|
|
{
|
|
$this->group = $group;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get group
|
|
*
|
|
* @return \Cadoles\CoreBundle\Entity\group
|
|
*/
|
|
public function getGroup()
|
|
{
|
|
return $this->group;
|
|
}
|
|
|
|
/**
|
|
* Add reader
|
|
*
|
|
* @param \Cadoles\CoreBundle\Entity\User $reader
|
|
*
|
|
* @return Message
|
|
*/
|
|
public function addReader(\Cadoles\CoreBundle\Entity\User $reader)
|
|
{
|
|
$this->readers[] = $reader;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Remove reader
|
|
*
|
|
* @param \Cadoles\CoreBundle\Entity\User $reader
|
|
*/
|
|
public function removeReader(\Cadoles\CoreBundle\Entity\User $reader)
|
|
{
|
|
$this->readers->removeElement($reader);
|
|
}
|
|
|
|
/**
|
|
* Get readers
|
|
*
|
|
* @return \Doctrine\Common\Collections\Collection
|
|
*/
|
|
public function getReaders()
|
|
{
|
|
return $this->readers;
|
|
}
|
|
|
|
/**
|
|
* Add see
|
|
*
|
|
* @param \Cadoles\CoreBundle\Entity\User $see
|
|
*
|
|
* @return Message
|
|
*/
|
|
public function addSee(\Cadoles\CoreBundle\Entity\User $see)
|
|
{
|
|
$this->sees[] = $see;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Remove see
|
|
*
|
|
* @param \Cadoles\CoreBundle\Entity\User $see
|
|
*/
|
|
public function removeSee(\Cadoles\CoreBundle\Entity\User $see)
|
|
{
|
|
$this->sees->removeElement($see);
|
|
}
|
|
|
|
/**
|
|
* Get sees
|
|
*
|
|
* @return \Doctrine\Common\Collections\Collection
|
|
*/
|
|
public function getSees()
|
|
{
|
|
return $this->sees;
|
|
}
|
|
}
|