, Copyright 2007. * Modified by: C.R. Andrews, Jr. */ $RecipeInfo['Hg_Urls']['Version'] = '2008-05-04'; ####### Set up various variables SDV($hgseparator, '-'); SDV($hglinkprefix, ''); SDV($EnableHgCleanUrls, false); $pagename = hgResolvePageName($pagename); $FmtPV['$PageUrl'] = 'PUE("$ScriptUrl?n=" . hgUrl($group, $name))'; $LinkPageCreateFmt = hgCreateFmt("{\$PageUrl}"); $PagePathFmt = array('{$Group}.$1', '$1.{$DefaultName}', '$1.$1'); ####### Returns fixed page name 1) with prefixing, 2) if not cleanurls, and 3) if cleanurls function hgResolvePageName($pagename) { global $hglinkprefix, $hgprefixcode, $hgseparator, $hgname, $hggroup; if (substr($pagename, 0, strlen($hgprefixcode)) == $hgprefixcode) $pagename = substr($pagename, strlen($hgprefixcode)); $r = '/'; if (! strpos($pagename, $r)) { $pagename = ResolvePageName($pagename); $hggroup = FmtPageName('$Group', $pagename); $hgname = FmtPageName('$Name', $pagename); return $pagename; } $hgpagename = explode($r, $pagename); if ($hgpagename[count($hgpagename) - 1 ] == '') array_pop($hgpagename); $hgname = $hgpagename[count($hgpagename) - 1]; array_pop($hgpagename); $hggroup = implode($hgseparator, $hgpagename); $pagename = ResolvePageName("$hggroup.$hgname"); return "$pagename"; } ####### Fixes URL's to allow for prefixing and cleanurls, otherwise no effect function hgURL($group, $name) { global $ScriptUrl, $hglinkprefix, $hgprefixcode, $EnableHgCleanUrls; $r = '/'; if (substr($group, 0, strlen($hgprefixcode)) == $hgprefixcode) { $group = substr($group, strlen($hgprefixcode)); if (substr($name, 0, strlen($hgprefixcode)) == $hgprefixcode) $name = substr($name, strlen($hgprefixcode)); } elseif (($hglinkprefix != '') && (substr($group, 0, strlen($hglinkprefix)) != $hglinkprefix)) $group = $hglinkprefix . "-" . $group; if ($EnableHgCleanUrls == true) $group = str_replace("-", $r, $group); return "$group$r$name"; } ####### Strips off prefix if linkprefixing is used from link display function hgCreateFmt($x) { global $hglinkprefix; $x = substr($x, strlen($hglinkprefix)); return "\$LinkText"; }