Example #1
0
function art_menu_xml_parcer($content, $show_sub_menus, $menu_class)
{
    $parent_id = $menu_class . '-id';
    $doc = art_xml_document_creator($content, $parent_id);
    if ($doc === FALSE) {
        return $content;
    }
    $parent = $doc->documentElement;
    $elements = $parent->childNodes;
    $ul_elements = $doc->getElementsByTagName("ul");
    $ul_element = NULL;
    foreach ($ul_elements as $ul_element) {
        if ($ul_element->getAttribute('class') == "free-templates-lt-vmenu" || $ul_element->getAttribute('class') == "free-templates-lt-hmenu") {
            break;
        }
        continue;
    }
    if ($ul_element == NULL) {
        return $content;
    }
    art_menu_set_active($doc, $menu_class);
    $ul_children = art_menu_style_parcer($doc, $ul_element->childNodes, $show_sub_menus);
    $parent->appendChild($ul_element);
    while ($ul_element->previousSibling) {
        $parent->removeChild($ul_element->previousSibling);
    }
    return html_entity_decode($doc->saveHTML(), ENT_NOQUOTES, "UTF-8");
}
function art_menu_xml_parcer($content, $show_sub_menus, $menu_class)
{
    $parent_id = $menu_class . '-id';
    $doc = art_xml_document_creator($content, $parent_id);
    if ($doc === FALSE) {
        return $content;
        // An error occurred while reading XML content
    }
    $parent = $doc->documentElement;
    $elements = $parent->childNodes;
    $ul_elements = $doc->getElementsByTagName("ul");
    $ul_element = NULL;
    foreach ($ul_elements as $ul_element) {
        // First ul element with css-class art-hmenu or art-vmenu
        if ($ul_element->getAttribute('class') == "art-vmenu" || $ul_element->getAttribute('class') == "art-hmenu") {
            break;
        }
        continue;
    }
    if ($ul_element == NULL) {
        return $content;
    }
    $ul_children = art_menu_style_parcer($doc, $ul_element->childNodes, $show_sub_menus);
    $parent->appendChild($ul_element);
    while ($ul_element->previousSibling) {
        $parent->removeChild($ul_element->previousSibling);
    }
    return html_entity_decode($doc->saveHTML(), ENT_NOQUOTES, "UTF-8");
}
function art_menu_xml_parcer($content, $show_sub_menus, $menu_class)
{
    $parent_id = $menu_class . '-id';
    $doc = art_xml_document_creator($content, $parent_id);
    if ($doc === FALSE) {
        return $content;
        // An error occurred while reading XML content
    }
    $parent = $doc->documentElement;
    @($elements = $parent->childNodes);
    $ul_elements = $doc->getElementsByTagName("ul");
    if ($ul_elements == NULL || !$ul_elements->length) {
        return $content;
    }
    $ul = NULL;
    foreach ($ul_elements as $ul) {
        // First ul element with css-class Cancilleria_hmenu or Cancilleria_vmenu
        if ($ul->getAttribute('class') == "Cancilleria_vmenu" || $ul->getAttribute('class') == "Cancilleria_hmenu") {
            break;
        }
        continue;
    }
    if ($ul == NULL) {
        $ul = $ul_elements->item(0);
    }
    art_menu_set_active($doc, $menu_class);
    $ul_children = art_menu_style_parcer($doc, $ul->childNodes, $show_sub_menus);
    $parent->appendChild($ul);
    while ($ul->previousSibling) {
        $parent->removeChild($ul->previousSibling);
    }
    $children = $parent->childNodes;
    $innerHTML = '';
    foreach ($children as $child) {
        $tmp_doc = new DOMDocument();
        $tmp_doc->appendChild($tmp_doc->importNode($child, true));
        $innerHTML .= $tmp_doc->saveHTML();
    }
    return html_entity_decode($innerHTML, ENT_NOQUOTES, "UTF-8");
}