[Frhed-commits] SF.net SVN: frhed:[804] trunk/Web/engine
Brought to you by:
kimmov
From: <ge...@us...> - 2009-08-08 13:04:22
|
Revision: 804 http://frhed.svn.sourceforge.net/frhed/?rev=804&view=rev Author: gerundt Date: 2009-08-08 13:04:14 +0000 (Sat, 08 Aug 2009) Log Message: ----------- Web: Use language links in sidebar Modified Paths: -------------- trunk/Web/engine/page.inc trunk/Web/engine/sidenav.inc trunk/Web/engine/simpletranslate.inc Modified: trunk/Web/engine/page.inc =================================================================== --- trunk/Web/engine/page.inc 2009-08-08 11:58:55 UTC (rev 803) +++ trunk/Web/engine/page.inc 2009-08-08 13:04:14 UTC (rev 804) @@ -199,15 +199,15 @@ global $translations; $sidenaventry = new SideNavEntry('', __('Frhed')); - $sidenaventry->addSubEntry('/', __('Home')); - $sidenaventry->addSubEntry('/screenshots/', __('Screenshots')); + $sidenaventry->addSubEntry($translations->prepareLink('/'), __('Home')); + $sidenaventry->addSubEntry($translations->prepareLink('/screenshots/'), __('Screenshots')); $sidenaventry->addSubEntry('http://sourceforge.net/projects/frhed', __('Project Page')); $sidenaventry->addSubEntry('/frhed_pad.xml', __('PAD File')); $sidenaventries[] = $sidenaventry; $sidenaventry = new SideNavEntry('', __('Translations')); - $sidenaventry->addSubEntry('/translations/', __('Index')); - $sidenaventry->addSubEntry('/translations/status_branch.php', __('Status (Stable Branch)')); - $sidenaventry->addSubEntry('/translations/status_trunk.php', __('Status (Unstable Trunk)')); + $sidenaventry->addSubEntry($translations->prepareLink('/translations/'), __('Index')); + $sidenaventry->addSubEntry($translations->prepareLink('/translations/status_branch.php'), __('Status (Stable Branch)')); + $sidenaventry->addSubEntry($translations->prepareLink('/translations/status_trunk.php'), __('Status (Unstable Trunk)')); $sidenaventries[] = $sidenaventry; $sidenaventry = new SideNavEntry('', __('Support')); $sidenaventry->addSubEntry('http://sourceforge.net/tracker/?atid=1100163&group_id=236485', __('Bugs')); Modified: trunk/Web/engine/sidenav.inc =================================================================== --- trunk/Web/engine/sidenav.inc 2009-08-08 11:58:55 UTC (rev 803) +++ trunk/Web/engine/sidenav.inc 2009-08-08 13:04:14 UTC (rev 804) @@ -92,6 +92,9 @@ elseif ($this->_link == str_replace('index.php', '', $_SERVER['PHP_SELF'])) { return true; } + elseif ($this->_link == $_SERVER['REQUEST_URI']) { + return true; + } return false; } } @@ -163,6 +166,9 @@ elseif ($this->_link == str_replace('index.php', '', $_SERVER['PHP_SELF'])) { return true; } + elseif ($this->_link == $_SERVER['REQUEST_URI']) { + return true; + } return false; } } Modified: trunk/Web/engine/simpletranslate.inc =================================================================== --- trunk/Web/engine/simpletranslate.inc 2009-08-08 11:58:55 UTC (rev 803) +++ trunk/Web/engine/simpletranslate.inc 2009-08-08 13:04:14 UTC (rev 804) @@ -47,7 +47,7 @@ /** * append URL parameter to link... */ - function appendUrlParameter($link, $urlparameter, $id) { + function appendUrlParameter($link, $urlparameter, $id = '') { $urlparts = parse_url($link); $url = ''; @@ -70,14 +70,16 @@ $queries = explode('&', $urlparts['query']); foreach ($queries as $query) { //for all queries... @list($key, $value) = explode('=', $query); - if (strtolower($key) == strtolower($urlparameter)) { - if ($temp == '') - $temp .= '?' . $urlparameter . '=' . $id; - else - $temp .= '&' . $urlparameter . '=' . $id; + if (strtolower($key) == strtolower($urlparameter)) { //if language URL parameter... + if ($id != '') { //if a language id exists... + if ($temp == '') + $temp .= '?' . $urlparameter . '=' . $id; + else + $temp .= '&' . $urlparameter . '=' . $id; + } $found = true; } - else { + else { //if NOT language URL parameter... if ($temp == '') $temp .= '?' . $key . '=' . $value; else @@ -87,11 +89,15 @@ $url .= $temp; if ($found == false) { - $url .= '&' . $urlparameter . '=' . $id; + if ($id != '') { //if a language id exists... + $url .= '&' . $urlparameter . '=' . $id; + } } } else { //if NO "query" exists... - $url .= '?' . $urlparameter . '=' . $id; + if ($id != '') { //if a language id exists... + $url .= '?' . $urlparameter . '=' . $id; + } } if (isset($urlparts['fragment']) && $urlparts['fragment'] != '') { //if "fragment" exists... $url .= '#' . $urlparts['fragment']; @@ -140,6 +146,16 @@ } /** + * check if the language is the base language... + */ + function isBaseLanguage($language) { + if ($language == $this->getBaseLanguage()) { //if base language... + return true; + } + return false; + } + + /** * get the active language... */ function getActiveLanguage() { @@ -208,7 +224,13 @@ * prepare link... */ function prepareLink($link) { - return $this->appendUrlParameter($link, $this->_urlparameter, $this->getActiveLanguage()->getId()); + $activelanguage = $this->getActiveLanguage(); + if (strtolower(get_class($activelanguage)) == 'simpletranslatelanguage') { //if normal language... + return $this->appendUrlParameter($link, $this->_urlparameter, $activelanguage->getId()); + } + else { //if base language... + return $this->appendUrlParameter($link, $this->_urlparameter); + } } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |