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