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:
@@ -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);
|
||||||
}
|
}
|
Reference in New Issue
Block a user