*/
/**
* Utility class for writing the HTML code of the site map
*/
class HTML_joomfish {
/* @var mambelFishManager Reference to my Manager for config and so on */
var $_mambelFishManager=null;
/** Default constructor
*/
function HTML_joomfish ($joomFishManager) {
$this->_mambelFishManager = $joomFishManager;
}
/**
* Displays a language selector - the style is configured
*
* @param sitemapManager Reference to my manager
*/
function showLanguages($joomFishManager) {
global $mosConfig_live_site, $mosConfig_absolute_path, $mosConfig_lang, $iso_client_lang, $Itemid;
$htmlJoomFish = new HTML_joomfish($joomFishManager);
$htmlJoomFish->_header();
$langActive = $joomFishManager->getActiveLanguages();
if( !isset( $langActive ) ) {
// No active languages => nothing to show :-(
return;
}
$outString = '';
// check for spacer and fallback
if( $joomFishManager->getCfg( 'textSpacer' ) ) $mbfSpacer = ' ' . $joomFishManager->getCfg( 'textSpacer' ) . ' '; else $mbfSpacer = ' | ';
if( $joomFishManager->getCfg( 'frontendMode' ) == 'vlist' || $joomFishManager->getCfg( 'frontendMode' ) == 'vimage' ){
$mbf_space = '';
$mbf_nl = '
';
$mbfSpacer = '';
}else{
$mbf_space = ' ';
$mbf_nl = '';
}
// end mic
switch( $joomFishManager->getCfg( 'frontendMode' ) ) {
case 'vlist':
case 'hlist':
foreach( $langActive as $language )
{
$href = HTML_joomfish::_createHRef ($language->iso);
if( $outString != '' ) $outString .= $mbfSpacer; // changed by mic
$outString .= '' .$language->name. '';
$outString .= $mbf_nl; // new by mic
}
break;
case 'vimage':
case 'himage':
foreach( $langActive as $language )
{
$href = HTML_joomfish::_createHRef ($language->iso);
if( $outString != '' ) $outString .= $mbf_nl;
if( isset($language->image) && $language->image!="" ) {
$langImg = '/images/' .$language->image;
} else {
$langImg = '/components/com_joomfish/images/flags/' .$language->iso .".gif";
}
if( file_exists( $mosConfig_absolute_path . $langImg ) ) {
$outString .= '
';
} else {
$outString .= '' .$language->name. '';
}
}
break;
default:
if ( count($langActive)>0 ) {
foreach( $langActive as $language )
{
$langOptions[] = mosHTML::makeOption( $language->iso, $language->name );
}
}
$href = HTML_joomfish::_createHRef (null);
$langlist = mosHTML::selectList( $langOptions, 'lang', 'class="inputbox" size="1" onchange="document.location.replace(\'' .$href.'&lang=\' +this.value);"', 'value', 'text', $iso_client_lang );
$outString = $langlist;
break;
}
echo $outString;
$htmlJoomFish->_footer();
}
/**
* internal function to generate a new href link
* @param string iso_code of the wanted language
* @return string new href string
*/
function _createHRef( $iso ) {
$href= "index.php";
$vars = explode( "&", $_SERVER['QUERY_STRING'] );
$hrefVars = '';
if( count($vars) > 0 && $_SERVER['QUERY_STRING']) {
foreach ($vars as $var) {
if( eregi('=', $var ) ) {
list($key, $value) = explode( "=", $var);
if( $key != "lang" ) {
if( $hrefVars != "" ) $hrefVars .= "&";
$hrefVars .= "$key=$value";
}
}
}
}
if( $iso != null ) {
if( $hrefVars != "" ) $hrefVars .= "&";
$hrefVars .= "lang=$iso";
}
if( $hrefVars != "" ) {
$href .= "?$hrefVars";
}
return sefRelToAbs( $href );
}
/**
* Function to write the header
*/
function _header() {
}
/**
/**
* Function to write the footer
*/
function _footer() {
?>