blank.gif
triangle.gif Du er her: /  Forsiden  /  Kildekoden  /  Dto  /  Divdatareader   Login nu   Login
blank.gif
 ««« Se kilde koden
blank.gif
triangle.gif Basic Base Component Db Dto  Form Form-elements Jquery Layout Menu Menu-fisheye Mvc Tab Table Template Util
blank.gif
blank.gif
 
arrow-headline.gif Index
 
  Tilbage

Navn : DivDataReader.php


Sample code, tutorial

Sådan benyttes komponenten DivDataReader klassen

Først skal du inkludere den fil der beskriver komponenten, som en klasse fil

  • <?
    require_once(HTML_PACKAGE_PATH.'/DivDataReader.php');
    ?>

Dernæst kan du enten benytte komponenten som et taglib (statiske metoder):

  • <?
    DivDataReader
    ::display($param1, $param2, $param3, ...);
    ?>

eller du kan lave en instance af komponenten og benytte metoderne direkte:

  • <?
    $object
    = new DivDataReader($param1, $param2, $param3, ...);
    print
    $object->getHtml();
    ?>

Parent html

Sådan vises komponenten DivDataReader klassen

Kontakt os Firma profil

PHP source code

Den fulde PHP kildekode for DivDataReader klassen

<?
/**
* @package dto
* @filesource
* @see HTML_DTO_UTIL_PATH.'/DivDataReader.php'
* @copyright (c) http://Finn-Rasmussen.com
* @license http://Finn-Rasmussen.com/license/ myPHP License conditions
* @author http://Finn-Rasmussen.com
* @version 1.10
* @since 22-feb-2007
*/

/**
* The required files
*/
require_once(HTML_BASE_UTIL_PATH.'/Div.php');
require_once(
HTML_BASE_UTIL_PATH.'/Span.php');
require_once(
HTML_BASE_UTIL_PATH.'/Link.php');
require_once(
HTML_BASE_UTIL_PATH.'/Image.php');
require_once(
HTML_DTO_UTIL_PATH.'/DataReaderFactory.php');
if (
defined('HTML_LANGUAGE_UTIL_PATH')) {
    require_once(
HTML_LANGUAGE_UTIL_PATH.'/Translate.php');
}
if (
defined('HTML_LOG_UTIL_PATH')) {
    require_once(
HTML_LOG_UTIL_PATH.'/Log.php');
}

/**
* Generates a
*   <div class="$class" align="$align" id="$id">$text</div>
* <code>
* Usage:
*   $html = new DivDataReader($datareader, $text, $class, $align, $id);
*   print $html->getHtml();
* </code>
* @package dto
*/

class DivDataReader extends Div {
    
/**
     * @var DataReader The Data Reader object
     */
    
var $datareader = '';

    
/**
     * @var $layout The different layouts to use
     * image link | image link | etc. on the same line
     * image link | image link | etc. on the same line and google search
     * image and link on each line
     * <li> image and link on each line
     * image <br> link etc. on the same line
     */
    
var $layout = '';

    
/**
     * Constructor
     * @param DataReader $datareader The Data Reader object
     * @param String $text,  The text for the Div tag or an object
     * @param String $class  The css class name
     * @param String $align  The align attribute
     * @param String $id     The ID attribute
     */
    
function DivDataReader($datareader='',$text='',$class='',$align='', $id='') {
        
$this->Div($text, $class, $align, $id);
        
$this->datareader = $this->getDatareader($datareader);
        
$this->adjustColumns();
    }

    
/**
     * Get the DataReader to use for this class
     * @param DataReader $datareader The DataReader object, if defined
     * @return DataReader or array The DataReader object or an array of default data
     */
    
function getDatareader($datareader) {
        
$theDatareader = $datareader;
        if (
$theDatareader == '') {
            
$columns = array(
             
LINK_TEXT_CONTACT_US=>array('text'=>LINK_TEXT_CONTACT_US,'href'=>LINK_HREF_EMAIL.'?'.REQUEST_EMNE.'=','title'=>LINK_TITLE_CONTACT_US,), // ,'class'=>'email'
             
LINK_TEXT_COMPANY_PROFILE=>array('text'=>LINK_TEXT_COMPANY_PROFILE,'href'=>LINK_HREF_URL.'/hvepseboguide/About/','title'=>LINK_TITLE_COMPANY_PROFILE,),
            );
            
$theDatareader = $columns;
        }
        return
$theDatareader;
    }

    
/**
     * Get the CSS class Name for this component
     * @abstract
     * @return String The CSS class name
     */
    
function getCssClass() {
        return
CSS_BODY;
    }

    
/**
     * Return the column data as html
     * The column data may be
     * - LINK_NAME
     * - IMAGE_NAME
     * - link
     * - image
     * - link + image
     * <code>
     * </code>
     * @param  String $page   The page key
     * @param  array  $column The column to loop for key/value pairs
     * @return Object The html as an object
     */
    
function newColumn($page, $column) {
        
$object = new Raw();
        if (
count($column)>0) {
            
$text   = '';
            
$href   = '';
            
$title  = '';
            
$aux    = '';
            
$src    = '';
            
$width  = '';
            
$height = '';
            
$alt    = '';
            
$span   = '';
            
$class  = $this->getCssClass();
               
$theValue = '';
            foreach(
$column as $key=>$value) {
                switch (
$key) {
                    case
KEY_TRIANGLE:
                        
$theValue = $this->newTriangle($value, $class);
                        
$class .= ' '.CSS_ONEPC;
                        break;
                    default:
                        $
$key = $value;
                        break;
                }
            }
            if (
$theValue == '') {
                if (
defined('HTML_LANGUAGE_UTIL_PATH')) {
                    
$text = ucfirst(Translate::get($text));
                }
                
$aux = '';
                if (
$this->layout & LINK_LAYOUT_LI) {
                    
$aux = LINK_LAYOUT_LI;
                } else if (
$this->layout & LINK_LAYOUT_BR) {
                    
$aux = LINK_LAYOUT_BR;
                }
                if (
is_a($this, "MenuFishEye")) {
                    
$theValue = new Link('',$href,$class,$title,$aux);
                    
$theValue->add(new Span($text,'','',"xdisplay: none;")); // The Menu Fish Eye
                
} else {
                    
$theValue = new Link($text,$href,$class,$title,$aux);
                }
                if (
$src != '') {
                    
$theValue->add(new Image($src,$width,$height,$alt,$class));
                } else {
                }
            }
            
$object->add($theValue);
        } else {
            
// Ignore
        
}
        return
$object;
    }

    
/**
     * Return the content as a row object
     * @return Object The content as an object
     */
    
function newColumns() {
        
$object = new Raw();
        
$numrows = 0;
        if (
is_a($this->datareader,DATA_READER_CLASS_NAME)) {
            
$numrows = $this->datareader->getNumRows();
        }
        if (
$numrows > 0) {
            if (
$this->layout & LINK_LAYOUT_LI) {
                
$object = new Ul();
            }
            foreach(
$this->datareader->getRows() as $page=>$column) {
                
$object->add($this->newColumn($page, $column));
            }
        } else {
            
$object->add(new Raw(TEXT_NO_DATA));
        }
        return
$object;
    }
    
    
/**
     * Adjust the columns for the different views
     */
    
function adjustColumns() {
        if (
$this->datareader != '' && is_array($this->datareader)) {
            
$columns   = array();
            if (
$this->layout & LINK_LAYOUT_TRIANGLE) {
                   
$columns[] = array(KEY_TRIANGLE=>IMAGE_TRIANGLE);
            }
            foreach(
$this->datareader as $key=>$column) {
                
$columns[] = $column;
            }
            
$this->datareader = DataReaderFactory::newDataReader($columns);
        }
        if (!
is_a($this->datareader,DATA_READER_CLASS_NAME)) {
            
$msg = $this->getClassName().'(), '.DATA_READER_CLASS_NAME." object expected, unknown datareader type=".gettype($this->datareader);
            if (
defined('HTML_LOG_UTIL_PATH')) {
                
Log::error(__FILE__,__LINE__,$msg);
            } else {
            }
            
Message::add($msg,__FILE__,__LINE__);
        }
    }

    
/**
     * Get the content for the columns
     * Each row is definition of a column
     * @return String The html
     */
    
function getColumns() {
        
$html = '';
        
$this->add($this->newColumns());
        
$html .= $this->getStart();
        
$html .= $this->getEnd();
        return
$html;
    }
}
?>

HTML source code

Den fulde HTML kildekode for DivDataReader klassen

<?
<!-- Test -->
<
div><!-- Kontakt os --><a id="Link42" class="baseBody" href="http://www.hvepseeksperten.dk/FormMail/?baseEMNE=" title="Kontakt os via email&#013;">Kontakt&nbsp;os</a>

<!--
Firma profil --><a id="Link43" class="baseBody" href="http://www.hvepseeksperten.dk/hvepseboguide/About/" title="Hvem er vi egentlig?">Firma&nbsp;profil</a>


<!--
Kontakt os --><a id="Link44" class="baseBody" href="http://www.hvepseeksperten.dk/FormMail/?baseEMNE=" title="Kontakt os via email&#013;">Kontakt&nbsp;os</a>

<!--
Firma profil --><a id="Link45" class="baseBody" href="http://www.hvepseeksperten.dk/hvepseboguide/About/" title="Hvem er vi egentlig?">Firma&nbsp;profil</a>


</
div>

?>

Class methods

Her er 'klasse metoderne' for DivDataReader klassen:

  • test
  • gethtml
  • object
  • getclassname
  • getmsg
  • addhtml
  • tostring
  • getcachefilename
  • save
  • content
  • html
  • setobject
  • set
  • get
  • getattribute
  • gettag
  • add
  • getsizeof
  • getelement
  • getelements
  • gettoogle
  • getmaximize
  • getminimize
  • newtriangle
  • display
  • showsource
  • div
  • getstart
  • getend
  • start
  • end
  • divdatareader
  • getdatareader
  • getcssclass
  • newcolumn
  • newcolumns
  • adjustcolumns
  • getcolumns

Object vars

Her er 'objekt variable' for DivDataReader klassen:

  • html =>
  • sql =>
  • elements => Array
  • sizeof => 2
  • text =>
  • class =>
  • align =>
  • id =>
  • datareader => Object
  • layout =>

DataReader.php

Her er felterne i DataReader for DivDataReader klassen:

  0   






  1   






 
triangle.gif

danmark

Germany

England

France

Italy

Norge

Sverige

USA


 
blank.gif