/** * Checks whether the given node has childs or it's relative_depth is > 0 * @param eZContentObjectTreeNode $node * @return bool whether node is a hierarchy one */ public static function isHierarchyNode( $node ) { if ( $node instanceof eZContentObjectTreeNode === false ) { return false; } //checking if node is a child node $solrDepthField = 'attr_relative_depth_i'; $fq = "main_node_meta_node_id_si:{$node->MainNodeID}"; $fields = array( $solrDepthField, ); $solrResponse = SolrSafeOperatorHelper::getNodeSolrData($fq, $fields); if (is_array($solrResponse) && $solrResponse[0][$solrDepthField] > 0) { return true; } //checking if node is a parent node return $node->childrenCount() > 0; }