settings->language; $defaultName = $xml->settings->name; $defaultTitle = $xml->settings->title; $defaultDescription = $xml->settings->description; $defaultKeywords = $xml->settings->keywords; $noflash = $xml->settings->noflash; $credits = $xml->settings->credits; $footer = $xml->settings->footer; $num_of_elements = count($xml->navigation->button); for($i = 0; $i < $num_of_elements; $i++){ $dataArr[] = array( "name" => $xml->navigation->button[$i]->name, "title" => $xml->navigation->button[$i]->title, "description" => $xml->navigation->button[$i]->description, "keywords" => $xml->navigation->button[$i]->keywords, "link" => $xml->navigation->button[$i]->link ); } $navigation = $xml->navigation[0]; $naviglinks = ""; displayChildrenRecursive($navigation); function getNode($address) { global $dataArr, $num_of_elements, $deeplink; array_multisort($dataArr, SORT_DESC); $node = ""; $exactMatch = false; // first round: exact matches for ($i=0; $i < $num_of_elements; $i++) { if ($dataArr[$i]["link"] == $address) { $node = $dataArr[$i]; $exactMatch = true; break; } } $deeplink = array(); // second round: matches with deeplinks if ($exactMatch == false) { // no exact match found, maybe it is a dynamic deeplink like "/en/about-us/1/2/3/4" // ==> base address (found in structure.xml): /en/about-us/ // ==> dynamic address: /1/2/3/4 for ($i=0; $i < $num_of_elements; $i++) { if ($dataArr[$i]["link"] == substr($address,0,strlen($dataArr[$i]["link"]))) { $node = $dataArr[$i]; $temp = explode("/",substr($address,strlen($dataArr[$i]["link"]))); for ($i = 0; $i < count($temp); $i++) { if (strlen($temp[$i]) > 0) $deeplink[] = $temp[$i]; } break; } } } return $node; } if($swfaddress_value == "/"){ $title = $defaultName . " | " . $defaultTitle; $description = $defaultDescription; $keywords = $defaultKeywords; } else{ $node = getNode($swfaddress_value); $title = $defaultName . " - " . $node["name"] . " | " . $node["title"]; $description = $node["description"]; $keywords = $node["keywords"]; } ?>