1
0
mirror of https://github.com/e107inc/e107.git synced 2025-03-13 17:09:46 +01:00

broken link fix

This commit is contained in:
secretr 2011-04-29 11:14:52 +00:00
parent 6d5281b19a
commit e6142eaf06

View File

@ -1,4 +1,4 @@
<?php
<?php
/*
* e107 website system
*
@ -23,25 +23,25 @@
/**
* Example usage:
* <code>
* <?php
* <?php
* $SOME_TEMPLATE = '{LANGUAGELINKS}'; // render default (available) lan list, include current query string
* </code>
*
*
* <code>
* <?php
* <?php
* $SOME_TEMPLATE = '{LANGUAGELINKS=English,Bulgarian}'; // render custom lan list, include current query string
* </code>
*
*
* <code>
* <?php
* $SOME_TEMPLATE = '{LANGUAGELINKS=English,Bulgarian|noquery}'; // render custom lan list, exclude query
* </code>
*
*
* <code>
* <?php
* $SOME_TEMPLATE = '{LANGUAGELINKS=|home}'; // render default (available) lan list, point always to site index
* </code>
*
*
* @param string $parm
*/
function languagelinks_shortcode($parm = '')
@ -55,22 +55,22 @@ function languagelinks_shortcode($parm = '')
$parm = $tmp[0];
$parms = array();
if(isset($tmp[1])) parse_str($tmp[1], $parms);
// ignore Query string if required by parms or external code, false by default
if(!defined('LANGLINKS_NOQUERY'))
{
define('LANGLINKS_NOQUERY', isset($parms['noquery']));
}
if(!defined('LANGLINKS_HOME'))
{
define('LANGLINKS_HOME', isset($parms['home']));
}
/*require_once(e_HANDLER.'language_class.php');
$slng = new language;*/
$slng = e107::getLanguage();
if(!empty($parm))
{
$languageList = explode(',', $parm);
@ -80,24 +80,24 @@ function languagelinks_shortcode($parm = '')
$languageList = $slng->installed();
sort($languageList);
}
if(count($languageList) < 2)
{
return;
}
foreach($languageList as $languageFolder)
{
$code = $slng->convert($languageFolder);
$name = $slng->toNative($languageFolder);
//$subdom = (isset($cursub[2])) ? $cursub[0] : '';
if(e107::getPref('multilanguage_subdomain'))
{
$code = ($languageFolder == e107::getPref('sitelanguage')) ? 'www.' : $code;
if(LANGLINKS_HOME)
$code = ($languageFolder == e107::getPref('sitelanguage')) ? 'www' : $code;
if(LANGLINKS_HOME)
$link = str_replace($_SERVER['HTTP_HOST'], $code.'.'.e_DOMAIN, SITEURL);
else
else
$link = (!LANGLINKS_NOQUERY)
? str_replace($_SERVER['HTTP_HOST'], $code.'.'.e_DOMAIN, e_REQUEST_URL) // includes query string
: str_replace($_SERVER['HTTP_HOST'], $code.'.'.e_DOMAIN, e_REQUEST_SELF); // excludes query string
@ -105,14 +105,14 @@ function languagelinks_shortcode($parm = '')
else
{
// TODO - switch to elan=Language query when possible (now it'll break the old DOT query string format)
if(LANGLINKS_HOME)
if(LANGLINKS_HOME)
$link = SITEURL.'?elan='.$languageFolder;
else
else
$link = (!LANGLINKS_NOQUERY) ? e_REQUEST_SELF.'?['.$code.']'.e_QUERY : e_REQUEST_SELF.'?elan='.$languageFolder;
}
$class = ($languageFolder == e_LANGUAGE) ? 'languagelink_active' : 'languagelink';
$class = ($languageFolder == e_LANGUAGE) ? 'languagelink_active' : 'languagelink';
$ret[] = "\n<a class='{$class}' href='{$link}'>{$name}</a>";
}
return implode(LANGLINKS_SEPARATOR, $ret);
}