/** * Gets all announce entities associated with provided category class * * @param string $class Category class * @return array */ public function getAllByClass($class) { $id = $this->categoryMapper->fetchIdByClass($class); // Do the following query in case right id supplied if ($id) { return $this->announceManager->fetchAllPublishedByCategoryId($id); } else { return array(); } }
/** * Adds a category * * @param array $input Raw form data * @return boolean */ public function add(array $input) { $this->track('Category "%s" has been added', $input['name']); return $this->categoryMapper->insert($input['name'], $input['class']); }
/** * {@inheritDoc} */ protected function toEntity(array $announce) { $entity = new VirtualEntity(); $entity->setId($announce['id'], VirtualEntity::FILTER_INT)->setCategoryId($announce['category_id'], VirtualEntity::FILTER_INT)->setLangId($announce['lang_id'], VirtualEntity::FILTER_INT)->setWebPageId($announce['web_page_id'], VirtualEntity::FILTER_INT)->setCategoryName($this->categoryMapper->fetchNameById($announce['category_id']), VirtualEntity::FILTER_HTML)->setTitle($announce['title'], VirtualEntity::FILTER_HTML)->setName($announce['name'], VirtualEntity::FILTER_HTML)->setIntro($announce['intro'], VirtualEntity::FILTER_SAFE_TAGS)->setFull($announce['full'], VirtualEntity::FILTER_SAFE_TAGS)->setOrder($announce['order'], VirtualEntity::FILTER_INT)->setIcon($announce['icon'], VirtualEntity::FILTER_HTML)->setPublished($announce['published'], VirtualEntity::FILTER_BOOL)->setSeo($announce['seo'], VirtualEntity::FILTER_BOOL)->setSlug($this->webPageManager->fetchSlugByWebPageId($announce['web_page_id']), VirtualEntity::FILTER_HTML)->setKeywords($announce['keywords'], VirtualEntity::FILTER_HTML)->setMetaDescription($announce['meta_description'], VirtualEntity::FILTER_HTML)->setPermanentUrl('/module/announcement/' . $entity->getId())->setUrl($this->webPageManager->surround($entity->getSlug(), $entity->getLangId())); return $entity; }