/** * Updates provided contentset's elements with data. * * @param ContentSet $content * @param array $elementsData * * @return ClassContentManager */ private function updateContentSetElements(ContentSet $content, array $elementsData, Page $page = null) { $content->clear(); foreach ($elementsData as $data) { if ($data instanceof AbstractClassContent) { if (null !== $page && null === $data->getMainNode()) { $data->setMainNode($page); } $content->push($data); } } return $this; }
/** * Resolves $content value. * * @param ContentSet $content * @param array $matches * * @return mixed */ private function resolveContentSet(ContentSet $content, array $matches) { if ('ContentSet' === $matches[1]) { return $content->item($matches[3]); } $index = intval($matches[3]); $classname = AbstractClassContent::getFullClassname(str_replace('/', NAMESPACE_SEPARATOR, $matches[1])); foreach ($content as $subcontent) { if (get_class($subcontent) !== $classname) { continue; } if (0 === $index) { return $subcontent; } $index--; } return $content; }
/** * Is the ContentSet is linked to his parent. * * @param ContentSet $contentset * * @return boolean */ public function isLinkedToHisParentBy(ContentSet $contentset = null) { if (null !== $contentset && true === array_key_exists($contentset->getUid(), $this->getInheritedZones())) { return true; } return false; }
/** * Updates provided contentset's elements with data. * * @param ContentSet $content * @param array $elementsData * * @return ClassContentManager */ private function updateContentSetElements(ContentSet $content, array $elementsData) { $content->clear(); foreach ($elementsData as $data) { if ($data instanceof AbstractClassContent) { $content->push($data); } } return $this; }