/** * recursively get children for a specific parent path * * @param array $articles * @param string $parentPath * @return array */ private function getChildren($articles, $parentPath) { $result = array(); foreach($articles as $article) { if($parentPath.$article["meta_main_node_id_si"]."/" == $article["main_node_meta_path_string_ms"]) { $publisherPath = $article['subattr_publisher_folder___source_id____s'][0]; $publisherInfo = PublisherFolderTool::getPathToIDMapping($publisherPath); $publisherFolderId = $publisherInfo['pfid']; $result[] = array( "title" => $article["attr_headline_s"], "children" => $this->getChildren($articles, $article["main_node_meta_path_string_ms"]), "url" => sprintf( '%s/%s/%s', $this->_application->applicationLocalized()->applicationUrl(), $publisherFolderId, $article["attr_".ClusterTool::clusterIdentifier()."_url_s"] ), ); } } return $result; }
/** * @return array */ private function getFocusOnTaxonomyField() { $focusOnTaxonomy = false; if ( $this->_application->applicationLocalized()->getCustomParameter('FocusOnTaxonomyCategory') ) $focusOnTaxonomy = $this->_application->applicationLocalized()->getCustomParameter('FocusOnTaxonomyCategory'); elseif ( $this->_application->applicationObject()->getCustomParameter('FocusOnTaxonomyCategory') ) $focusOnTaxonomy = $this->_application->applicationObject()->getCustomParameter('FocusOnTaxonomyCategory'); if ( !$focusOnTaxonomy ) return false; return array ( $focusOnTaxonomy => sprintf("subattr_%s___source_id____s", $focusOnTaxonomy) ); }