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 ?>