<?php
namespace App\Entity;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Mapping as ORM;
/**
* ModuleHook
*
* @ORM\Table(name="module_hooks")
* @ORM\Entity(repositoryClass="App\Repository\ModuleHookRepository")
*/
class ModuleHook {
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer
*
* @ORM\ManyToOne(targetEntity="Module", inversedBy="hooks")
* @ORM\JoinColumn(name="module_id", referencedColumnName="id")
*/
private $module;
/**
* @var integer
*
* @ORM\ManyToOne(targetEntity="Hook")
* @ORM\JoinColumn(name="hook_id", referencedColumnName="id")
*/
private $hook;
/**
* @var boolean
*
* @ORM\Column(name="enabled", type="boolean", options={"default" = 0})
*/
private $enabled;
/**
* @var integer
*
* @ORM\Column(name="category_condition", type="string", length=50, nullable=true)
*/
private $condition;
/**
* @var integer
*
* @ORM\Column(name="order_num", type="integer")
*/
private $orderNum;
/**
* @ORM\Column(name="size_class", type="string", length=50, nullable=true)
*/
private $sizeClass;
protected $sizeWidth = 4;
private $data = array();
/**
* @return the $enabled
*/
public function getEnabled() {
return $this->enabled;
}
/**
* @param boolean $enabled
*/
public function setEnabled($enabled) {
$this->enabled = $enabled;
}
/**
* Get id
*
* @return integer
*/
public function getId() {
return $this->id;
}
/**
* Set module
*
* @param integer $module
* @return ModuleHook
*/
public function setModule($module) {
$this->module = $module;
return $this;
}
/**
* Get module
*
* @return integer
*/
public function getModule() {
return $this->module;
}
/**
* Set hook
*
* @param string $hook
* @return ModuleHook
*/
public function setHook($hook) {
$this->hook = $hook;
return $this;
}
/**
* Get hook
*
* @return string
*/
public function getHook() {
return $this->hook;
}
/**
* Set orderNum
*
* @param integer $orderNum
* @return ModuleHook
*/
public function setOrderNum($orderNum) {
$this->orderNum = $orderNum;
return $this;
}
/**
* Get orderNum
*
* @return integer
*/
public function getOrderNum() {
return $this->orderNum;
}
public function getSizeClass() {
return empty($this->sizeClass) ? 'full' : $this->sizeClass;
}
public function setSizeClass($sizeClass) {
$this->sizeClass = $sizeClass;
}
public function getSizeWidth() {
$class = $this->getSizeClass();
switch ($class) {
case 'quater' : return 1;
case 'half' : return 2;
case 'quater-3' : return 3;
default:
}
return 4;
}
/**
* Chargement des données nécessaires au rendu
*/
public function loadData(EntityManager $em, $conditions = null) {
$module = $this->getModule();
if ($module->getHasOptions()) {
$obj_name = $module->getEntity();
if (!empty($obj_name)) {
$entity = $em->getRepository($obj_name)->findOneByModuleHook($this);
if (!empty($entity)) {
if ($module->getHasConditions()) {
$this->data = $entity->getData($this, $conditions);
} else {
$this->data = $entity->getData($this);
}
}
}
}
return array();
}
public function getData() {
return $this->data;
}
/**
* @return the $condition
*/
public function getCondition() {
return $this->condition;
}
/**
* @param integer $condition
*/
public function setCondition($condition) {
$this->condition = $condition;
}
public function checkCondition($id) {
return empty($this->condition) or ( $this->condition == $id);
}
}