00001 <?php
00032 if(!defined('PHP_SELF'))define('PHP_SELF', url_segment('url'));
00037 class HtmlTag extends zCore{
00042 function open(){
00043 perror('<code>zigmoyd.helper.html</code><br />either the HTML Tag Class you are using doesn\'t have a open() operation (e.g. a standalone Tag) or it hasn\'t implemented the HtmlTag Properly.');
00044 }
00049 function close(){
00050 perror('<code>zigmoyd.helper.html</code><br />either the HTML Tag Class you are using doesn\'t have a close() operation (e.g. a standalone Tag) or it hasn\'t implemented the HtmlTag Properly.');
00051 }
00058 function br($n=0){
00059 return brk($n);
00060 }
00067 function nbsp($n=0){
00068 return spc($n);
00069 }
00078 function image($src, $name = null, $attr = null){
00079 return image($src, $name, $attr);
00080 }
00081 }
00088 function merge_attr($attr){
00089 if(is_null($attr))return '';
00090 $ret = '';
00091 foreach($attr as $key => $val){
00092 $ret .= $key.'="'.$val.'" ';
00093 }
00094 return $ret;
00095 }
00103 function auto_list($list, $tag = "ul"){
00104 $ret = '';
00105 foreach($list as $key => $val){
00106 if(is_array($val)){
00107 $ret .= "<li>".$key."\n<$tag>\n".auto_list($val, $tag)."</$tag>\n";
00108 }else{
00109 $ret .= "<li>".$val."</li>\n";
00110 }
00111 }
00112 return $ret;
00113 }
00122 function auto_ol($list, $attr = null){
00123 $ret = '';
00124 $ret .= "<ol".merge_attr($attr).">\n";
00125 $ret .= auto_list($list, "ol");
00126 $ret .= "</ol>";
00127 return $ret;
00128 }
00137 function auto_ul($list, $attr = null){
00138 $ret = '';
00139 $ret .= "<ul".merge_attr($attr).">\n";
00140 $ret .= auto_list($list, "ul");
00141 $ret .= "</ul>";
00142 return $ret;
00143 }
00150 function spc($num = 0){
00151 $ret = '';
00152 for($i=0;$i<$num;$i++){
00153 $ret .= " ";
00154 }
00155 return $ret;
00156 }
00164 function brk($num = 0){
00165 $ret = '';
00166 for($i=0;$i<$num;$i++){
00167 $ret .= "<br />";
00168 }
00169 return $ret;
00170 }
00180 function image($src, $name = null, $attr = null){
00181 $ret = '<img src="'.$src.'" ';
00182 if(!is_null($name)){
00183 $ret .= 'name="'.$name.'" ';
00184 }
00185 $ret .= merge_attr($attr)."/>";
00186 return $ret;
00187 }
00192 class font extends HtmlTag{
00203 function open($face=null, $size=null, $color=null, $class=null, $attr=null){
00204 $ret = '<font ';
00205 if(!is_null($face))$attr['face'] = $face;
00206 if(!is_null($size))$attr['size'] = $size;
00207 if(!is_null($color))$attr['color'] = $color;
00208 if(!is_null($class))$attr['class'] = $class;
00209 $ret .= merge_attr($attr)." >";
00210 return $ret;
00211 }
00217 function close(){
00218 return "</font>";
00219 }
00220 }
00225 class span extends HtmlTag{
00234 function open($name=null, $class=null, $attr=null){
00235 $ret = '<span ';
00236 if(!is_null($name))$attr['name'] = $name;
00237 if(!is_null($class))$attr['class'] = $class;
00238 $ret .= merge_attr($attr)." >";
00239 return $ret;
00240 }
00246 function close(){
00247 return "</span>";
00248 }
00249 }
00254 class label extends HtmlTag{
00263 function open($name=null, $class=null, $attr=null){
00264 $ret = '<label ';
00265 if(!is_null($name))$attr['name'] = $name;
00266 if(!is_null($class))$attr['class'] = $class;
00267 $ret .= merge_attr($attr)." >";
00268 return $ret;
00269 }
00275 function close(){
00276 return "</label>";
00277 }
00278 }
00286 class form extends HtmlTag{
00294 function open($src = null, $attr = array()){
00295 return form::start($src, $attr);
00296 }
00306 function start($src = null, $attr = array()){
00307 if(is_null($src))$src = getCurrentUrl();
00308 if(@!isset($attr['method'])){$attr['method'] = 'post';}
00309 return ('<form action="'.$src.'" '.merge_attr($attr).'>'.endl);
00310 }
00319 function startMultipart($src = null, $attr = array()){
00320 if(is_null($src))$src = getCurrentUrl();
00321 if(@!isset($attr['method'])){$attr['method'] = 'post';}
00322 return ('<form enctype="multipart/form-data" action="'.$src.'" '.merge_attr($attr).'>'.endl);
00323 }
00330 function end(){
00331 return '</form>'.endl;
00332 }
00338 function close(){
00339 return form::end();
00340 }
00351 function textbox($name, $value = null, $attr = array()){
00352 if(!is_array($attr))perror('form::textbox() $attr must be an array');
00353 if(is_array($value)){$temp = $attr;$attr = $value;$value = $temp;}
00354 if(!is_null($value))$attr['value'] = $value;
00355 return '<input type="text" name="'.$name.'" '.merge_attr($attr).'/>';
00356 }
00367 function hidden($name, $value = null, $attr = array()){
00368 if(!is_array($attr))perror('form::hidden() $attr must be an array');
00369 if(is_array($value)){$temp = $attr;$attr = $value;$value = $temp;}
00370 if(!is_null($value))$attr['value'] = $value;
00371 return '<input type="hidden" name="'.$name.'" '.merge_attr($attr).'/>';
00372 }
00383 function file($name, $value = null, $attr = array()){
00384 if(!is_array($attr))perror('form::file() $attr must be an array');
00385 if(is_array($value)){$temp = $attr;$attr = $value;$value = $temp;}
00386 if(!is_null($value))$attr['value'] = $value;
00387 return '<input type="file" name="'.$name.'" '.merge_attr($attr).'/>';
00388 }
00399 function password($name, $value = null, $attr = array()){
00400 if(!is_array($attr))perror('form::password() $attr must be an array');
00401 if(is_array($value)){$temp = $attr;$attr = $value;$value = $temp;}
00402 if(!is_null($value))$attr['value'] = $value;
00403 return '<input type="password" name="'.$name.'" '.merge_attr($attr).'/>';
00404 }
00416 function select($name,$list, $selected_value = null, $attr = array()){
00417 if(!is_array($attr))perror('$attr must be an array');
00418 if(!is_array($list))perror('$list must be an array');
00419 if(is_array($selected_value)){$temp = $attr;$attr = $selected_value;$selected_value = $temp;}
00420 $ret = '<select name="'.$name.'"'.merge_attr($attr).'>';
00421 foreach($list as $key => $val){
00422 $ret .= '<option value="'.$key.'"';
00423 if($key == $selected_value){$ret .= ' selected ';}
00424 $ret .= ">$val</option>";
00425 }
00426 return $ret .'</select>';
00427 }
00440 function checkbox($name, $value = null, $mode = false, $attr = array()){
00441 if(!is_array($attr))perror('$attr must be an array');
00442 if(is_array($value)){$temp = $attr;$attr = $value;$value = $temp;}
00443 if(!is_null($value))$attr['value'] = $value;
00444 if($mode)$attr['checked'] = 'checked';
00445 return '<input type="checkbox" name="'.$name.'"'.merge_attr($attr).'>';
00446 }
00459 function radio($name, $value = null, $mode = false, $attr = array()){
00460 if(!is_array($attr))perror('$attr must be an array');
00461 if(is_array($value)){$temp = $attr;$attr = $value;$value = $temp;}
00462 if(!is_null($value))$attr['value'] = $value;
00463 if($mode)$attr['checked'] = 'checked';
00464 return '<input type="radio" name="'.$name.'"'.merge_attr($attr).'>';
00465 }
00476 function submit($name = 'submit', $value = "submit", $attr = array()){
00477 return '<input type="submit" name="'.$name.'" value="'.$value.'" '.merge_attr($attr).'/>';
00478 }
00479 }
00484 class bold extends HtmlTag{
00491 function open($attr=null){
00492 $ret = "<b ";
00493 $ret .= merge_attr($attr)." >";
00494 return $ret;
00495 }
00501 function close(){
00502 return "</b>";
00503 }
00504 }
00509 class italics extends HtmlTag{
00516 function open($attr=null){
00517 $ret = "<i ";
00518 $ret .= merge_attr($attr)." >";
00519 return $ret;
00520 }
00526 function close(){
00527 return "</i>";
00528 }
00529 }
00534 class underline extends HtmlTag{
00541 function open($attr=null){
00542 $ret = "<u ";
00543 $ret .= merge_attr($attr)." >";
00544 return $ret;
00545 }
00551 function close(){
00552 return "</u>";
00553 }
00554 }
00556 ?>