Top  Branding  Banner 
blank.gif
blank.gif
triangle.gif Du er her: /  Forsiden  /  Kildekoden  /  Language  /  Language   Login nu   Login
blank.gif
««« Se kilde koden
blank.gif
tl.gif Base tr.gif tl.gif Basic tr.gif tl.gif Dto tr.gif tl.gif Form tr.gif tls.gif     Language  trs.gif tl.gif Layout tr.gif tl.gif Menu tr.gif tl.gif Mvc tr.gif tl.gif Netbank.eksperter.dk tr.gif tl.gif Tab tr.gif tl.gif Table tr.gif tl.gif Util tr.gif
blank.gif
blank.gif
arrow-headline.gif Index
MenuLink  MenuLeft  

DEFINE_LANGUAGE_LAYOUT












DEFINE_LANGUAGE_SHOW









COUNTRY is undefined

triangle.gif

Dansk
Dansk

Deutch
Deutch

English (UK)
English (UK)

France
France

Italy
Italy

Norsk
Norsk

Svensk
Svensk

English (USA)
English (USA)


Tilbage

Skjul: Navn

Language.php


Vis: Sample code, tutorial

Language, Sample code, tutorial

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();
    ?>

Skjul: Sådan vises komponenten

Language, Sådan vises komponenten

Sådan vises komponenten Language klassen

triangle.gif

Dansk
Dansk

Deutch
Deutch

English (UK)
English (UK)

France
France

Italy
Italy

Norsk
Norsk

Svensk
Svensk

English (USA)
English (USA)



Vis: PHP source code

Language, PHP source code

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_LAYOUTLANGUAGE_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_DENMARKIMAGE_DENMARKLANGUAGE_SHOW_DA);
                        break;
                    case 
LANGUAGE_DE:
                        
$languages .= $this->getLanguageLink(LINK_GERMANYIMAGE_GERMANYLANGUAGE_SHOW_DE);
                        break;
                    case 
LANGUAGE_EN:
                        
$languages .= $this->getLanguageLink(LINK_ENGLANDIMAGE_ENGLANDLANGUAGE_SHOW_EN);
                        break;
                    case 
LANGUAGE_FR:
                        
$languages .= $this->getLanguageLink(LINK_FRANCEIMAGE_FRANCELANGUAGE_SHOW_FR);
                        break;
                    case 
LANGUAGE_IT:
                        
$languages .= $this->getLanguageLink(LINK_ITALYIMAGE_ITALYLANGUAGE_SHOW_IT);
                        break;
                    case 
LANGUAGE_NO:
                        
$languages .= $this->getLanguageLink(LINK_NORWAYIMAGE_NORWAYLANGUAGE_SHOW_NO);
                        break;
                    case 
LANGUAGE_SE:
                        
$languages .= $this->getLanguageLink(LINK_SWEDENIMAGE_SWEDENLANGUAGE_SHOW_SE);
                        break;
                    case 
LANGUAGE_US:
                        
$languages .= $this->getLanguageLink(LINK_USAIMAGE_USALANGUAGE_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_SHOWLANGUAGE_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();
    }
}
?>

Vis: HTML source code

Language, HTML source code

Den fulde HTML kildekode for Language klassen

<?
<!-- DEBUGLanguage -->
<!-- 
DEBUGLink -->
<
class="languageMenuRight" href="?languageSHOW=1" title="Klik her for at Minimere ...  Language"><!-- DEBUGImages -->
<
img src="http://borebiller.info/images/triangle.gif" width="10" height="10" alt="triangle.gif" class="languageMenuRight" />
</
a><p><!-- DEBUGLinks -->
<!-- 
Dansk --><class="languageMenuRight" href="?languageLANGUAGE=da" title="Dansk"><!-- DEBUGImages -->
<
img src="http://borebiller.info/images/flags/da.gif" width="32" height="22" alt="Dansk" class="languageMenuRight" />
<
br />Dansk</a><br />
</
p>
<
p><!-- DEBUGLinks -->
<!-- 
Deutch --><class="languageMenuRight" href="?languageLANGUAGE=de" title="Deutch"><!-- DEBUGImages -->
<
img src="http://borebiller.info/images/flags/de.gif" width="32" height="22" alt="Deutch" class="languageMenuRight" />
<
br />Deutch</a><br />
</
p>
<
p><!-- DEBUGLinks -->
<!-- 
English (UK) --><class="languageMenuRight" href="?languageLANGUAGE=en" title="English (UK)"><!-- DEBUGImages -->
<
img src="http://borebiller.info/images/flags/en.gif" width="32" height="22" alt="English (UK)" class="languageMenuRight" />
<
br />English&nbsp;(UK)</a><br />
</
p>
<
p><!-- DEBUGLinks -->
<!-- 
France --><class="languageMenuRight" href="?languageLANGUAGE=fr" title="France"><!-- DEBUGImages -->
<
img src="http://borebiller.info/images/flags/fr.gif" width="32" height="22" alt="France" class="languageMenuRight" />
<
br />France</a><br />
</
p>
<
p><!-- DEBUGLinks -->
<!-- 
Italy --><class="languageMenuRight" href="?languageLANGUAGE=it" title="Italy"><!-- DEBUGImages -->
<
img src="http://borebiller.info/images/flags/it.gif" width="32" height="22" alt="Italy" class="languageMenuRight" />
<
br />Italy</a><br />
</
p>
<
p><!-- DEBUGLinks -->
<!-- 
Norsk --><class="languageMenuRight" href="?languageLANGUAGE=no" title="Norsk"><!-- DEBUGImages -->
<
img src="http://borebiller.info/images/flags/no.gif" width="32" height="22" alt="Norsk" class="languageMenuRight" />
<
br />Norsk</a><br />
</
p>
<
p><!-- DEBUGLinks -->
<!-- 
Svensk --><class="languageMenuRight" href="?languageLANGUAGE=se" title="Svensk"><!-- DEBUGImages -->
<
img src="http://borebiller.info/images/flags/se.gif" width="32" height="22" alt="Svensk" class="languageMenuRight" />
<
br />Svensk</a><br />
</
p>
<
p><!-- DEBUGLinks -->
<!-- 
English (USA) --><class="languageMenuRight" href="?languageLANGUAGE=us" title="English (USA)"><!-- DEBUGImages -->
<
img src="http://borebiller.info/images/flags/us.gif" width="32" height="22" alt="English (USA)" class="languageMenuRight" />
<
br />English&nbsp;(USA)</a><br />
</
p>
<
hr />

?>

Vis: Class methods

Language, Class methods

Her er 'klasse metoderne' for Language klassen:

  • __construct
  • getLanguageLink
  • getContent
  • getMinimize
  • getHtml
  • display
  • setObject
  • set
  • get
  • getAttribute
  • getTag
  • add
  • getSizeof
  • getElement
  • getElements
  • getToogle
  • getMaximize
  • newTriangle
  • getStartHtml
  • getEndHtml
  • showsource
  • getClassName
  • getMsg
  • addHtml
  • __toString
  • getCacheFileName
  • save
  • content

Vis: Object vars

Language, Object vars

Her er 'objekt variable' for Language klassen:

  • html =>
  • sql =>

MenuRight 
triangle.gif

Dansk

Deutch

English (UK)

France

Italy

Norsk

Svensk

English (USA)


 
blank.gif
MenuBottom 
triangle.gif Copyright @ 1999-2010 www.Finn-Rasmussen.com Powered by myPHP Version (5.3.3-7+squeeze9) 1.11
blank.gif