X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=class%2Fhtml.class.php;h=6c6ea3a4d968853c95558ca003d7203e959a909d;hb=d5ddd62fa9011fa56e93c05fd463e9b9d4e0f4ac;hp=9a6bcdaa07e4af7d60079a0bb9060003200f1679;hpb=978d53dc15fe1c5d883dccc415ab531f470ef455;p=squirrelmail.git diff --git a/class/html.class.php b/class/html.class.php index 9a6bcdaa..6c6ea3a4 100644 --- a/class/html.class.php +++ b/class/html.class.php @@ -2,17 +2,21 @@ /** * html.class.php * - * Copyright (c) 2002 The SquirrelMail Project Team + * Copyright (c) 2003-2004 The SquirrelMail Project Team * Licensed under the GNU GPL. For full terms see the file COPYING. * * This contains functions needed to generate html output. * - * $Id$ + * @version $Id$ + * @package squirrelmail */ - +/** + * This class needs documenting - volunteers? + * @package squirrelmail + */ class html { - var $tag, $text, $style, $class, + var $tag, $text, $style, $class, $id, $html_el = array(), $javascript, $xtr_prop; function html($tag='', $text='', $style ='', $class='', $id='', @@ -25,60 +29,59 @@ class html { $this->xtr_prop = $xtr_prop; $this->javascript = $javascript; } - + function htmlAdd($el, $last=true) { if ($last) { $this->html_el[] = $el; } else { - echo 'JOPPPEEE'; - $new_html_el = array(); - $new_html_el[] = $el; - foreach ($this->html_el as $html_el) { - $new_html_el[] = $html_el; - } - $this->html_el = $new_html_el; + $new_html_el = array(); + $new_html_el[] = $el; + foreach ($this->html_el as $html_el) { + $new_html_el[] = $html_el; + } + $this->html_el = $new_html_el; } } - + function AddChild($tag='', $text='', $style ='', $class='', $id='', $xtr_prop = '', $javascript = '') { $el = new html ($tag, $text, $style, $class, $id, $xtr_prop, $javascript); $this->htmlAdd($el); } - + function FindId($id) { $cnt = count($this->html_el); $el = false; if ($cnt) { for ($i = 0 ; $i < $cnt; $i++) { - if ($this->html_el[$i]->id == $id) { - $ret = $this->html_el[$i]; - return $ret; - } else if (count($this->html_el[$i]->html_el)) { - $el = $this->html_el[$i]->FindId($id); - } - if ($el) return $el; + if ($this->html_el[$i]->id == $id) { + $ret = $this->html_el[$i]; + return $ret; + } else if (count($this->html_el[$i]->html_el)) { + $el = $this->html_el[$i]->FindId($id); + } + if ($el) return $el; } } return $el; - } + } function InsToId( $el, $id, $last=true) { $html_el = &$this->FindId($id); if ($html_el) { $html_el->htmlAdd($el, $last); } - } - + } + function scriptAdd($script) { $s = "\n".''."\n"; - $el = new html ('script',$s,''.''.''.array('language' => 'JavaScript', + $script . + "\n".'// -->'."\n"; + $el = new html ('script',$s,'','','',array('language' => 'JavaScript', 'type' => 'text/javascript')); $this->htmlAdd($el); } - + function echoHtml( $usecss=false, $indent='x') { if ($indent == 'x') { $indent = ''; $indentmore = ''; @@ -96,26 +99,26 @@ class html { $prop = ''; foreach ($xtr_prop as $k => $v) { if (is_string($k)) { - $prop.=' '.$k.'="'.$v.'"'; - } else { - $prop.=' '.$v; - } + $prop.=' '.$k.'="'.$v.'"'; + } else { + $prop.=' '.$v; + } } - } + } if ($javascript) { $js = ''; foreach ($javascript as $k => $v) { /* here we put the onclick, onmouseover etc entries */ $js.=' '.$k.'="'.$v.'";'; } } - if ($tag) { + if ($tag) { echo $indent . '<' . $tag; } else { echo $indent; } if ($class) { echo ' class="'.$class.'"'; - } + } if ($id) { echo ' id="'.$id.'"'; } @@ -124,7 +127,7 @@ class html { } if ($style && !$usecss && !is_array($style)) { /* last premisse is to prevent 'style="Array"' in the output */ - echo ' style="'.$style.'"'; + echo ' style="'.$style.'"'; } if ($javascript) { echo ' '.$js; @@ -139,9 +142,9 @@ class html { } foreach ($style as $k => $v) { /* if value of key value = true close the tag */ - if ($v) { + if ($v) { $closestyles .= ''; - } + } } } echo $openstyles; @@ -155,7 +158,7 @@ class html { echo "\n"; for($i = 0;$i<$cnt;$i++) { $el = $this->html_el[$i]; - $el->echoHtml($usecss,$indentmore); + $el->echoHtml($usecss,$indentmore); } echo $indent; } @@ -167,6 +170,6 @@ class html { } } } - -?> + +?> \ No newline at end of file