*/ /** * 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 .= '' .$language->name. ''; } 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() { ?>