<?php
/**
* Created by PhpStorm.
* User: lisavandaele
* Date: 30/01/15
* Time: 12:53
*/
namespace Notaris\AdminBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity(repositoryClass="SubsiteRepository")
* @ORM\Table(name="subsite",uniqueConstraints={
* @ORM\UniqueConstraint(name="unique_subsite", columns={"slug", "locale"})})
*/
class Subsite {
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="locale", type="string", length=5)
*/
private $locale;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
/**
* @var string
*
* @ORM\Column(name="slug", type="string", length=255)
*/
private $slug;
/**
* @var string
*
* @ORM\Column(name="stylesheet", type="string", length=255)
*/
private $stylesheet;
/**
* @ORM\Column(type="boolean", name="in_main_nav")
* @Assert\Type("boolean")
*/
private $inMainNav;
/**
* @ORM\Column(type="boolean", name="is_active")
* @Assert\Type("boolean")
*/
private $isActive;
/**
* @var integer
*
* @ORM\Column(type="integer")
*/
private $position = 0;
/**
* @var string
*
* @ORM\Column(name="oneliner", type="string", length=255)
*/
private $oneliner;
/**
* @ORM\Column(type="text", name="welcome_text")
*/
private $welcomeText;
/**
* @var string
*
* @ORM\Column(name="directory", type="string", length=255)
*/
private $directory;
/**
* @var string
*
* @ORM\Column(name="page_title", type="string", length=255)
*/
private $pageTitle;
/**
* @ORM\Column(name="type", type="string", columnDefinition="enum('home', 'news','job','faq','immo','conditions','calculate','lang')", nullable=true)
*/
private $type;
/**
* @ORM\OneToOne(targetEntity="Meta")
* @ORM\JoinColumn(name="meta_id", referencedColumnName="id")
*/
protected $meta;
/**
* @ORM\OneToMany(targetEntity="Section", mappedBy="subsite")
* @ORM\OrderBy({"position" = "ASC"})
*/
private $sections;
/**
* @ORM\OneToMany(targetEntity="SubsiteBanner", mappedBy="subsite")
* @ORM\OrderBy({"position" = "ASC"})
*/
protected $banners;
/**
* @ORM\OneToOne(targetEntity="Subsite")
* @ORM\JoinColumn(name="language_link_subsite_id", referencedColumnName="id", nullable=true)
*/
protected $languageLinkSubsite;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set locale
*
* @param string $locale
* @return Subsite
*/
public function setLocale($locale)
{
$this->locale = $locale;
return $this;
}
/**
* Get locale
*
* @return string
*/
public function getLocale()
{
return $this->locale;
}
/**
* Set name
*
* @param string $name
* @return Subsite
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Set slug
*
* @param string $slug
* @return Subsite
*/
public function setSlug($slug)
{
$this->slug = $slug;
return $this;
}
/**
* Get slug
*
* @return string
*/
public function getSlug()
{
return $this->slug;
}
/**
* Set stylesheet
*
* @param string $stylesheet
* @return Subsite
*/
public function setStylesheet($stylesheet)
{
$this->stylesheet = $stylesheet;
return $this;
}
/**
* Get stylesheet
*
* @return string
*/
public function getStylesheet()
{
return $this->stylesheet;
}
/**
* Set inMainNav
*
* @param boolean $inMainNav
* @return Subsite
*/
public function setInMainNav($inMainNav)
{
$this->inMainNav = $inMainNav;
return $this;
}
/**
* Get inMainNav
*
* @return boolean
*/
public function getInMainNav()
{
return $this->inMainNav;
}
/**
* Set isActive
*
* @param boolean $isActive
* @return Subsite
*/
public function setIsActive($isActive)
{
$this->isActive = $isActive;
return $this;
}
/**
* Get isActive
*
* @return boolean
*/
public function getIsActive()
{
return $this->isActive;
}
/**
* Set position
*
* @param integer $position
* @return Subsite
*/
public function setPosition($position)
{
$this->position = $position;
return $this;
}
/**
* Get position
*
* @return integer
*/
public function getPosition()
{
return $this->position;
}
/**
* Set welcomeText
*
* @param string $welcomeText
* @return Subsite
*/
public function setWelcomeText($welcomeText)
{
$this->welcomeText = $welcomeText;
return $this;
}
/**
* Get welcomeText
*
* @return string
*/
public function getWelcomeText()
{
return $this->welcomeText;
}
/**
* Set directory
*
* @param string $directory
* @return Subsite
*/
public function setDirectory($directory)
{
$this->directory = $directory;
return $this;
}
/**
* Get directory
*
* @return string
*/
public function getDirectory()
{
return $this->directory;
}
/**
* @return string
*/
public function getPageTitle()
{
return $this->pageTitle;
}
/**
* @param string $papgeTitle
*/
public function setPageTitle($pageTitle)
{
$this->pageTitle = $pageTitle;
}
/**
* Set type
*
* @param string $type
* @return Subsite
*/
public function setType($type)
{
$this->type = $type;
return $this;
}
/**
* Get type
*
* @return string
*/
public function getType()
{
return $this->type;
}
/**
* Set meta
*
* @param \Notaris\AdminBundle\Entity\Meta $meta
* @return Subsite
*/
public function setMeta(\Notaris\AdminBundle\Entity\Meta $meta = null)
{
$this->meta = $meta;
return $this;
}
/**
* Get meta
*
* @return \Notaris\AdminBundle\Entity\Meta
*/
public function getMeta()
{
return $this->meta;
}
/**
* @return string
*/
public function __toString(){
return $this->getName();
}
/**
* @return mixed
*/
public function getSections()
{
return $this->sections;
}
/**
* @param mixed $sections
*/
public function setSections($sections)
{
$this->sections = $sections;
}
/**
* @return mixed
*/
public function getBanners()
{
return $this->banners;
}
/**
* @param mixed $banner
*/
public function setBanners($banners)
{
$this->banners = $banners;
}
/**
* Constructor
*/
public function __construct()
{
$this->sections = new \Doctrine\Common\Collections\ArrayCollection();
$this->banners = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* Add section
*
* @param \Notaris\AdminBundle\Entity\Section $section
*
* @return Subsite
*/
public function addSection(\Notaris\AdminBundle\Entity\Section $section)
{
$this->sections[] = $section;
return $this;
}
/**
* Remove section
*
* @param \Notaris\AdminBundle\Entity\Section $section
*/
public function removeSection(\Notaris\AdminBundle\Entity\Section $section)
{
$this->sections->removeElement($section);
}
/**
* Add banner
*
* @param \Notaris\AdminBundle\Entity\SubsiteBanner $banner
*
* @return Subsite
*/
public function addBanner(\Notaris\AdminBundle\Entity\SubsiteBanner $banner)
{
$this->banners[] = $banner;
return $this;
}
/**
* Remove banner
*
* @param \Notaris\AdminBundle\Entity\SubsiteBanner $banner
*/
public function removeBanner(\Notaris\AdminBundle\Entity\SubsiteBanner $banner)
{
$this->banners->removeElement($banner);
}
/**
* Set oneliner
*
* @param string $oneliner
*
* @return Subsite
*/
public function setOneliner($oneliner)
{
$this->oneliner = $oneliner;
return $this;
}
/**
* Get oneliner
*
* @return string
*/
public function getOneliner()
{
return $this->oneliner;
}
/**
* Set languageLinkSubsite
*
* @param \Notaris\AdminBundle\Entity\Subsite $languageLinkSubsite
* @return Subsite
*/
public function setLanguageLinkSubsite(\Notaris\AdminBundle\Entity\Subsite $languageLinkSubsite = null)
{
$this->languageLinkSubsite = $languageLinkSubsite;
return $this;
}
/**
* Get languageLinkSubsite
*
* @return \Notaris\AdminBundle\Entity\Subsite
*/
public function getLanguageLinkSubsite()
{
return $this->languageLinkSubsite;
}
}