<?php/** * Created by PhpStorm. * User: adv * Date: 04.12.15 * Time: 19:35 */namespace Slivki\Entity;use JsonSerializable;class Seo extends Entity implements JsonSerializable{ public const RATING_CATEGORY_URL_PREFIX = '/rating'; private $createdOn; private $entityID; private $active; private $resourceURL; private $mainAlias; private $title; private $metaTitle; private $metaDescription; private $metaKeywords; private $redirectURL; private $pageDescription; protected $domain; public function __construct() { $this->createdOn = new \DateTime(); $this->domain = 'www'; } public function getCreatedOn() { return $this->createdOn; } public function setCreatedOn($createdOn) { $this->createdOn = $createdOn; } public function getEntityID() { return $this->entityID; } public function setEntityID($entityID) { $this->entityID = $entityID; } public function isActive() { return $this->active; } public function setActive($active) { $this->active = $active; } public function getResourceURL() { return $this->resourceURL; } public function setResourceURL($resourceURL) { $this->resourceURL = $resourceURL; } public function getMainAlias() { return $this->mainAlias; } public function setMainAlias($mainAlias) { $this->mainAlias = $mainAlias; } public function getTitle() { return $this->title; } public function setTitle($title) { $this->title = $title; } public function getMetaTitle() { return $this->metaTitle; } public function setMetaTitle($metaTitle) { $this->metaTitle = $metaTitle; } public function getMetaDescription() { return $this->metaDescription; } public function setMetaDescription($metaDescription) { $this->metaDescription = $metaDescription; } public function getPageDescription() { return $this->pageDescription; } public function setPageDescription($pageDescription) { $this->pageDescription = $pageDescription; } public function getMetaKeywords() { return $this->metaKeywords; } public function setMetaKeywords($metaKeywords) { $this->metaKeywords = $metaKeywords; } public function getRedirectURL() { return $this->redirectURL; } public function setRedirectURL($redirectURL) { $this->redirectURL = $redirectURL; } public function isEqual(Seo $seo): bool { return $this->entityID === $seo->getEntityID() && $this->metaTitle === $seo->getMetaTitle() && $this->metaDescription === $seo->getMetaDescription() && $this->metaKeywords === $seo->getMetaKeywords() && $this->pageDescription === $seo->getPageDescription() && $this->title === $seo->getTitle(); } public function activate(): void { $this->active = true; } public function getDomain() { return $this->domain; } public function setDomain($domain) { $this->domain = $domain; } public function jsonSerialize(): array { return [ 'ID' => $this->ID, 'mainAlias' => $this->mainAlias, 'title' => $this->title, 'metaTitle' => $this->metaTitle, 'metaDescription' => $this->metaDescription, 'metaKeywords' => $this->metaKeywords, 'pageDescription' => $this->pageDescription ]; }}