COUNTRY is undefined
Dansk
Deutch
English (UK)
France
Italy
Norsk
Svensk
English (USA)
Sådan benyttes komponenten Language klassen
Først skal du inkludere den fil der beskriver komponenten, som en klasse fil
<? require_once(HTML_PACKAGE_PATH.'/Language.php'); ?>
Dernæst kan du enten benytte komponenten som et taglib (statiske metoder):
<? Language::display($param1, $param2, $param3, ...); ?>
eller du kan lave en instance af komponenten og benytte metoderne direkte:
<? $object = new Language($param1, $param2, $param3, ...); print $object->getHtml(); ?>
Sådan vises komponenten Language klassen
Den fulde PHP kildekode for Language klassen
<?php/** * @package language * @filesource * @see HTML_LANGUAGE_UTIL_PATH.'/Language.php' * @copyright (c) http://Finn-Rasmussen.com * @license http://Finn-Rasmussen.com/license/ myPHP License conditions * @author http://Finn-Rasmussen.com * @version 1.11 * @since 27-nov-2009 *//** * The required files */require_once(HTML_BASE_UTIL_PATH.'/Raw.php');require_once(HTML_BASE_COMMON_PATH.'/Html.php');require_once(HTML_BASE_UTIL_PATH.'/Links.php');require_once(HTML_BASE_UTIL_PATH.'/Images.php');require_once(HTML_BASE_UTIL_PATH.'/Fieldset.php');require_once(HTML_BASE_UTIL_PATH.'/Legend.php');if (defined('HTML_FORM_COMPONENT_PATH')) { require_once(HTML_FORM_COMPONENT_PATH.'/Radio.php'); require_once(HTML_FORM_COMPONENT_PATH.'/Label.php');}/** * Show a link/image where the user may change the language * The layout is defined with the following * @see LANGUAGE_LAYOUT_LINK which will show the link as text * @see LANGUAGE_LAYOUT_FLAG which will show the link as images (flags) * @see LANGUAGE_LAYOUT_BR which will add a html BR after each line * @see LANGUAGE_LAYOUT_LI which will add a html LI after each line * @see LANGUAGE_LAYOUT_P which will add a html P around each line * @see LANGUAGE_LAYOUT_HR which will add a html HR around all the lines * <code> * Usage: * $language = new Language($layout, $class); * print $language->getHtml(); * Or * print Language::display($layout, $class); * </code> * @package language */class Language extends Html { /** * @var String $layout The layout to use */ protected $layout = ''; /** * @var String $class The css class name */ protected $class = ''; /** * Constructor * @param String $layout The layout to use * @param String $class The CSS class name */ function __construct($layout='', $class='') { parent::__construct(); $this->layout = $layout != '' ? $layout : Request::get(REQUEST_LANGUAGE_LAYOUT, LANGUAGE_LAYOUT); $this->class = $class != '' ? $class : CSS_LANGUAGE; } /** * Get the new language link and image * @param String $link The new Language Link * @param String $image The new Language Image * @param int $show The Language flag to show or not * @return String The html */ function getLanguageLink($link, $image, $show) { $html = ''; if (LANGUAGE_SHOW & $show) { $title = $link; if (array_key_exists($link, $GLOBALS[DEFINE_LANGUAGE_NAMES])) { $title = $GLOBALS[DEFINE_LANGUAGE_NAMES][$link]; } $text = ""; $href = ""; $aux = ""; if ($this->layout & LANGUAGE_LAYOUT_BR) { $aux = LANGUAGE_LAYOUT_BR; } if ($this->layout & LANGUAGE_LAYOUT_LI) { $aux = LANGUAGE_LAYOUT_LI; } if ($this->layout & LANGUAGE_LAYOUT_LINK) { $text = $title; } if ($this->layout & LANGUAGE_LAYOUT_RADIO) { // Ignore links } else { $links = new Links($link, $text, $href, "$this->class", $title, $aux); if ($image != '' && $this->layout & LANGUAGE_LAYOUT_FLAG) { $images = new Images($image, '', '', $title, "$this->class"); $links->add($images); } } if ($this->layout & LANGUAGE_LAYOUT_P) { $html .= "<p>"; } if ($this->layout & LANGUAGE_LAYOUT_RADIO) { if (defined('HTML_FORM_COMPONENT_PATH')) { $radio = new Radio(REQUEST_LANGUAGE, $image, '', LANGUAGE === $image ? 'checked' : ''); $html .= $radio->getHtml(); $label = new Label($image != ''?$image:$link); $html .= $label->getHtml(); } else { $msg = "HTML_FORM_COMPONENT_PATH is undefined"; die('File: '.__FILE__."<br />\r\nLine: ".__LINE__."<br />$msg<br />\r\n"); } } else { $html .= $links->getHtml(); } if ($this->layout & LANGUAGE_LAYOUT_P) { $html .= "</p>\r\n"; } } else { if (defined('DEBUG_LEVEL_SHOW_INFO') && DEBUG_LEVEL & DEBUG_LEVEL_SHOW_INFO) { $html .= "<!-- ".$this->getClassName().".getLanguageLink( $link, $image, $show) disabled -->\r\n"; } } return $html; } /** * Returns the html for the Language Link * @return String the complete html */ function getContent() { $html = ""; $languages = ''; if (!empty($_GET[REQUEST_PRINTER]) && $_GET[REQUEST_PRINTER] === VIEW_PRINTER) { // Ignore, if printing } else { if ($this->layout & LANGUAGE_LAYOUT_DEFAULT) { $languages .= $this->getLanguageLink(TEXT_CHOOSE_NONE, '', LANGUAGE_SHOW_ALL); } foreach ($GLOBALS[DEFINE_LANGUAGE] as $key=>$value) { switch ($key) { case 'ARRAY_NAME': // Ignore break; // TODO create a helper, see also ViewLanguage case LANGUAGE_DA: $languages .= $this->getLanguageLink(LINK_DENMARK, IMAGE_DENMARK, LANGUAGE_SHOW_DA); break; case LANGUAGE_DE: $languages .= $this->getLanguageLink(LINK_GERMANY, IMAGE_GERMANY, LANGUAGE_SHOW_DE); break; case LANGUAGE_EN: $languages .= $this->getLanguageLink(LINK_ENGLAND, IMAGE_ENGLAND, LANGUAGE_SHOW_EN); break; case LANGUAGE_FR: $languages .= $this->getLanguageLink(LINK_FRANCE, IMAGE_FRANCE, LANGUAGE_SHOW_FR); break; case LANGUAGE_IT: $languages .= $this->getLanguageLink(LINK_ITALY, IMAGE_ITALY, LANGUAGE_SHOW_IT); break; case LANGUAGE_NO: $languages .= $this->getLanguageLink(LINK_NORWAY, IMAGE_NORWAY, LANGUAGE_SHOW_NO); break; case LANGUAGE_SE: $languages .= $this->getLanguageLink(LINK_SWEDEN, IMAGE_SWEDEN, LANGUAGE_SHOW_SE); break; case LANGUAGE_US: $languages .= $this->getLanguageLink(LINK_USA, IMAGE_USA, LANGUAGE_SHOW_US); break; default: // Ignore break; } } if ($languages != '') { if ($this->layout & LANGUAGE_LAYOUT_FIELDSET) { $legend = new Raw(TEXT_CHOOSE_LANGUAGE); if ($this->layout & LANGUAGE_LAYOUT_LEGEND) { $legend = new Legend(TEXT_CHOOSE_LANGUAGE); } $fieldset = new Fieldset($legend); $html .= $fieldset->getStart(); } if ($this->layout & LANGUAGE_LAYOUT_LI) { $html .= "<ul>\r\n"; } $html .= $languages; if ($this->layout & LANGUAGE_LAYOUT_LI) { $html .= "</ul>\r\n"; } if ($this->layout & LANGUAGE_LAYOUT_FIELDSET) { $html .= $fieldset->getEnd(); } if ($this->layout & LANGUAGE_LAYOUT_HR) { $html .= "<hr />\r\n"; } } } return $html; } /** * Toogle the request parameters which will minimize or maximize this component * @return array The array of key=>value pair */ function getMinimize() { return $this->getToogle(REQUEST_LANGUAGE_SHOW, LANGUAGE_SHOW, LANGUAGE_SHOW_DA | LANGUAGE_SHOW_DE | LANGUAGE_SHOW_EN | LANGUAGE_SHOW_FR | LANGUAGE_SHOW_IT | LANGUAGE_SHOW_NO | LANGUAGE_SHOW_SE | LANGUAGE_SHOW_US); } /** * Returns the html for the Language Link * @return String the complete html */ function getHtml() { $html = $this->html; if (LANGUAGE_SHOW & ( LANGUAGE_SHOW_DA | LANGUAGE_SHOW_DE | LANGUAGE_SHOW_EN | LANGUAGE_SHOW_FR | LANGUAGE_SHOW_IT | LANGUAGE_SHOW_NO | LANGUAGE_SHOW_SE | LANGUAGE_SHOW_US ) && HTTP_USER_AGENT!=HTTP_USER_AGENT_P900) { $theValue = $this->newTriangle(IMAGE_TRIANGLE, $this->class); $html .= $theValue->getHtml(); $html .= $this->getContent(); } else { $html .= $this->getMaximize(); } return $html; } /** * Display html * <code> * Usage: * Language::display($layout, $class); * </code> * @static * @param String $layout The layout to use * @param String $class The CSS class name */ public static function display($layout='', $class='') { $html = new Language($layout, $class); $html->addHtml(); }}?>
Den fulde HTML kildekode for Language klassen
<? <!-- DEBUG: Language --> <!-- DEBUG: Link --> <a class="languageMenuRight" href="?languageSHOW=1" title="Klik her for at Minimere ... Language"><!-- DEBUG: Images --> <img src="http://myrer.info/images/triangle.gif" width="10" height="10" alt="triangle.gif" class="languageMenuRight" /> </a><p><!-- DEBUG: Links --> <!-- Dansk --><a class="languageMenuRight" href="?languageLANGUAGE=da" title="Dansk"><!-- DEBUG: Images --> <img src="http://myrer.info/images/flags/da.gif" width="32" height="22" alt="Dansk" class="languageMenuRight" /> <br />Dansk</a><br /> </p> <p><!-- DEBUG: Links --> <!-- Deutch --><a class="languageMenuRight" href="?languageLANGUAGE=de" title="Deutch"><!-- DEBUG: Images --> <img src="http://myrer.info/images/flags/de.gif" width="32" height="22" alt="Deutch" class="languageMenuRight" /> <br />Deutch</a><br /> </p> <p><!-- DEBUG: Links --> <!-- English (UK) --><a class="languageMenuRight" href="?languageLANGUAGE=en" title="English (UK)"><!-- DEBUG: Images --> <img src="http://myrer.info/images/flags/en.gif" width="32" height="22" alt="English (UK)" class="languageMenuRight" /> <br />English (UK)</a><br /> </p> <p><!-- DEBUG: Links --> <!-- France --><a class="languageMenuRight" href="?languageLANGUAGE=fr" title="France"><!-- DEBUG: Images --> <img src="http://myrer.info/images/flags/fr.gif" width="32" height="22" alt="France" class="languageMenuRight" /> <br />France</a><br /> </p> <p><!-- DEBUG: Links --> <!-- Italy --><a class="languageMenuRight" href="?languageLANGUAGE=it" title="Italy"><!-- DEBUG: Images --> <img src="http://myrer.info/images/flags/it.gif" width="32" height="22" alt="Italy" class="languageMenuRight" /> <br />Italy</a><br /> </p> <p><!-- DEBUG: Links --> <!-- Norsk --><a class="languageMenuRight" href="?languageLANGUAGE=no" title="Norsk"><!-- DEBUG: Images --> <img src="http://myrer.info/images/flags/no.gif" width="32" height="22" alt="Norsk" class="languageMenuRight" /> <br />Norsk</a><br /> </p> <p><!-- DEBUG: Links --> <!-- Svensk --><a class="languageMenuRight" href="?languageLANGUAGE=se" title="Svensk"><!-- DEBUG: Images --> <img src="http://myrer.info/images/flags/se.gif" width="32" height="22" alt="Svensk" class="languageMenuRight" /> <br />Svensk</a><br /> </p> <p><!-- DEBUG: Links --> <!-- English (USA) --><a class="languageMenuRight" href="?languageLANGUAGE=us" title="English (USA)"><!-- DEBUG: Images --> <img src="http://myrer.info/images/flags/us.gif" width="32" height="22" alt="English (USA)" class="languageMenuRight" /> <br />English (USA)</a><br /> </p> <hr /> ?>
Her er 'klasse metoderne' for Language klassen:
Her er 'objekt variable' for Language klassen: