function getTitle($filename) { $xmlParser = new XPath($filename); if ($xmlParser->match("/html/head/title")) { $title = $xmlParser->getData("/html/head/title"); } elseif ($xmlParser->match("/content/title")) { $title = $xmlParser->getData("/content/title"); } else { $title = getPathElement($filename, -1); } return $title; }
/** * Returns the extension of a given filename. */ function extractFileExt($filepath) { $filename = getPathElement($filepath, -1); $parts = explode(".", $filename); return $parts[count($parts) - 1]; }
$xmlParser = new XPath($var['catdir'] . "/directory.xml"); // get category name $var['category'] = getCategoryName($xmlParser, $catdir); // generate (sub)menu if ($xmlParser->match("/directory[1]/menu[1]")) { $var['catmenu'] = menuFromXml($xmlParser->exportAsXml("/directory[1]/menu[1]"), $var['catdir']); } else { $var['catmenu'] = menuFromCatdir($var['catdir']); } // get category stylesheet if ($xmlParser->match("/directory/stylesheet")) { $var['stylesheet'] = $xmlParser->getData("/directory/stylesheet"); } } else { // generate all "by hand" $var['category'] = getPathElement($var['catdir'], 1); $var['catmenu'] = menuFromCatdir($var['catdir']); } // generate mainmenu $var['mainmenu'] = mainMenu(); // set some more variables to use in template $var['absolute_content_filename'] = htmlpath($var['filepath']); // calculate runtime $var['end_time'] = time(); $var['generation_time'] = $var['end_time'] - $var['start_time']; if (stristr($_SERVER["HTTP_ACCEPT"], "application/xhtml+xml")) { header("Content-type: application/xhtml+xml"); } else { header("Content-type: text/html"); } $output = template($var, "templates/" . $var['template'] . "/main.html");