vendor/score/cms/src/Entity/Article.php line 12

Open in your IDE?
  1. <?php
  2. namespace  Score\CmsBundle\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Score\BaseBundle\Entity\BaseEntity;
  5. /**
  6.  * @ORM\Entity(repositoryClass="Score\CmsBundle\Repository\ArticleRepository")
  7.  * @ORM\Table(name="cms_article")
  8.  * @ORM\HasLifecycleCallbacks()
  9.  */
  10. class Article  extends BaseEntity {
  11.     private static $author_enum = array
  12.         (
  13.         '1' => '',
  14.         '2' => 'SAŽP',
  15.     );
  16.     private static $categoryEnum = array
  17.     (
  18.         'score.article.form.category.standard' => 'standard'
  19.         'score.article.form.category.flash' => 'flash'
  20.     );
  21.     public static function getAuthorEnum()
  22.     {
  23.         return self::$author_enum;
  24.     }
  25.     public function getAuthorName()
  26.     {
  27.         return self::$author_enum[$this->getAuthor()];
  28.     }
  29.     /**
  30.      * @ORM\Id
  31.      * @ORM\Column(type="integer")
  32.      * @ORM\GeneratedValue(strategy="AUTO")
  33.      */
  34.     protected $id;
  35.     /**
  36.      * @ORM\Column(type="string", length=500)
  37.      */
  38.     protected $name;
  39.     /**
  40.      * @ORM\Column(type="string", length=255, nullable=true)
  41.      */
  42.     protected $icon;
  43.     /**
  44.      * @ORM\Column(type="text", length=2000, nullable=true)
  45.      */
  46.     protected $teaser;
  47.     /**
  48.      * @ORM\Column(type="text", nullable=true)
  49.      */
  50.     protected $body;
  51.     /**
  52.      * @ORM\Column(type="integer")
  53.      */
  54.     protected $published;
  55.     /**
  56.      * @ORM\Column(type="integer")
  57.      */
  58.     protected $createdBy;
  59.     /**
  60.      * @ORM\Column(type="integer", nullable=true)
  61.      */
  62.     protected $priority;
  63.     /**
  64.      * @ORM\Column(type="string", length=200)
  65.      */
  66.     protected $author;
  67.     /**
  68.      * @ORM\Column(type="datetime", name="published_from",nullable=true)
  69.      */
  70.     private $publishedFrom;
  71.     /**
  72.      * @ORM\Column(type="datetime", name="published_to",nullable=true)
  73.      */
  74.     private $publishedTo;
  75.     /**
  76.      * @ORM\Column(type="string")
  77.      */
  78.     protected $slug;
  79.     /**
  80.      * @ORM\Column(type="string",name="seo_title", length=255, nullable=true)
  81.      */
  82.     protected $seoTitle;
  83.     /**
  84.      * @ORM\Column(type="string",length=5000, nullable=true)
  85.      */
  86.     protected $metadata;
  87.      /**
  88.      * @ORM\Column(type="text", nullable=true)
  89.      */
  90.     protected $search;
  91.      /**
  92.      * @ORM\Column(type="string",length=255, nullable=true)
  93.      */
  94.     protected $category;
  95.      /**
  96.      * @ORM\OneToMany(targetEntity="\Score\CmsBundle\Entity\Multisite\SiteItemArticle", mappedBy="article",cascade={"persist","remove"})
  97.      */
  98.     private $siteItemArticle = [];
  99.     private $multisite;
  100.     
  101.     
  102.     protected $keywords;
  103.     protected $type;
  104.     protected $categoryName;
  105.     public function getPublishedFrom()
  106.     {
  107.         return $this->publishedFrom;
  108.     }
  109.     public function getPublishedTo()
  110.     {
  111.         return $this->publishedTo;
  112.     }
  113.     public function getSeoTitle()
  114.     {
  115.         return $this->seoTitle;
  116.     }
  117.     public function setPublishedFrom($publishedFrom)
  118.     {
  119.         $this->publishedFrom $publishedFrom;
  120.     }
  121.     public function setPublishedTo($publishedTo)
  122.     {
  123.         $this->publishedTo $publishedTo;
  124.     }
  125.     public function setSeoTitle($seoTitle)
  126.     {
  127.         $this->seoTitle $seoTitle;
  128.     }
  129.     public function __construct()
  130.     {
  131.         
  132.     }
  133.     public function getId()
  134.     {
  135.         return $this->id;
  136.     }
  137.     public function getName()
  138.     {
  139.         return $this->name;
  140.     }
  141.     public function getIcon()
  142.     {
  143.         return $this->icon;
  144.     }
  145.     public function getTeaser()
  146.     {
  147.         return $this->teaser;
  148.     }
  149.     public function getBody()
  150.     {
  151.         return $this->body;
  152.     }
  153.     public function getPublished()
  154.     {
  155.         return $this->published;
  156.     }
  157.     public function getPriority()
  158.     {
  159.         return $this->priority;
  160.     }
  161.     public function getAuthor()
  162.     {
  163.         return $this->author;
  164.     }
  165.     public function getSlug()
  166.     {
  167.         return $this->slug;
  168.     }
  169.     public function setId($id)
  170.     {
  171.         $this->id $id;
  172.     }
  173.     public function setName($name)
  174.     {
  175.         $this->name $name;
  176.     }
  177.     public function setIcon($icon)
  178.     {
  179.         $this->icon $icon;
  180.     }
  181.     public function setTeaser($teaser)
  182.     {
  183.         $this->teaser $teaser;
  184.     }
  185.     public function setBody($body)
  186.     {
  187.         $this->body $body;
  188.     }
  189.     public function setPublished($published)
  190.     {
  191.         $this->published $published;
  192.     }
  193.     public function setPriority($priority)
  194.     {
  195.         $this->priority $priority;
  196.     }
  197.     public function setAuthor($author)
  198.     {
  199.         $this->author $author;
  200.     }
  201.     public function setSlug($slug)
  202.     {
  203.         $this->slug $slug;
  204.     }
  205.     public function __toString()
  206.     {
  207.         return $this->getName();
  208.     }
  209.     public function getCreatedBy()
  210.     {
  211.         return $this->createdBy;
  212.     }
  213.     public function setCreatedBy($createdBy)
  214.     {
  215.         $this->createdBy $createdBy;
  216.     }
  217.     public function getType()
  218.     {
  219.         return $this->type;
  220.     }
  221.     public function setType($type)
  222.     {
  223.         $this->type $type;
  224.     }
  225.     public function getMetadata()
  226.     {
  227.         return $this->metadata;
  228.     }
  229.     public function setMetadata($metadata)
  230.     {
  231.         $this->metadata $metadata;
  232.     }
  233.     
  234.     public function iconThumb($width$height)
  235.     {
  236.         if (null == $this->getIcon())
  237.         {
  238.             return 'default_' $width 'x' $height '.png';
  239.         }
  240.         $parts explode('.'$this->getIcon());
  241.         $extension end($parts);
  242.         return str_replace('.' $extension''$this->getIcon()) . '_thumb_' $width 'x' $height '.' $extension;
  243.     }
  244.     public function getPublishedDate($format 'd.m. Y')
  245.     {
  246.         if ($this->getPublished() == 1)
  247.         {
  248.             if (null != $this->getPublishedFrom())
  249.             {
  250.                 return $this->getPublishedFrom()->format($format);
  251.             }
  252.             else
  253.             {
  254.                 return date($format);
  255.             }
  256.         }
  257.         else
  258.         {
  259.             return 'nepublikované';
  260.         }
  261.     }
  262.     public function getStrip()
  263.     {
  264.         return mb_substr(strip_tags($this->getTeaser()), 0200) . '...';
  265.     }
  266.     
  267.     public function getTeaserStrip($length 200)
  268.     {
  269.         $tidy = new \tidy();
  270.         $strip mb_substr($this->getTeaser(), 0200) . '...';
  271.         $strip $tidy->repairString($strip,array('show-body-only' => true));
  272.         return $strip;
  273.     }
  274.     private function getMetadataArray()
  275.     {
  276.         $data $this->getMetadata();
  277.         $arr json_decode($data,true);
  278.         return $arr;
  279.     }
  280.     /**
  281.      * Get the value of search
  282.      */ 
  283.     public function getSearch()
  284.     {
  285.         return $this->search;
  286.     }
  287.     /**
  288.      * Set the value of search
  289.      *
  290.      * @return  self
  291.      */ 
  292.     public function setSearch($search)
  293.     {
  294.         $this->search $search;
  295.         return $this;
  296.     }
  297.     
  298.     /**
  299.      * Get the value of siteItemArticle
  300.      */ 
  301.     public function getSiteItemArticle()
  302.     {
  303.         return $this->siteItemArticle;
  304.     }
  305.     /**
  306.      * Set the value of siteItemArticle
  307.      *
  308.      * @return  self
  309.      */ 
  310.     public function setSiteItemArticle($siteItemArticle)
  311.     {
  312.         $this->siteItemArticle $siteItemArticle;
  313.         return $this;
  314.     }
  315.     /**
  316.      * Get the value of multisite
  317.      */ 
  318.     public function getMultisite()
  319.     {
  320.         return $this->multisite;
  321.     }
  322.     /**
  323.      * Set the value of multisite
  324.      *
  325.      * @return  self
  326.      */ 
  327.     public function setMultisite($multisite)
  328.     {
  329.         $this->multisite $multisite;
  330.         return $this;
  331.     }
  332.     /**
  333.      * Get the value of category
  334.      */ 
  335.     public function getCategory()
  336.     {
  337.         return $this->category;
  338.     }
  339.     /**
  340.      * Set the value of category
  341.      *
  342.      * @return  self
  343.      */ 
  344.     public function setCategory($category)
  345.     {
  346.         $this->category $category;
  347.         return $this;
  348.     }
  349.     public function getCategoryName()
  350.     {
  351.         $category $this->getCategory();
  352.         $categoryEnum array_flip(self::$categoryEnum);
  353.         if(array_key_exists($category,$categoryEnum))
  354.         {
  355.             return $categoryEnum[$category];
  356.         }
  357.     }
  358. }