<?php /**************************************************************************\ * phpGroupWare - InfoLog * * http://www.phpgroupware.org * * Written by Ralf Becker <RalfBecker@outdoor-training.de> * * originaly based on todo written by Joseph Engo <jengo@phpgroupware.org> * * -------------------------------------------- * * This program is free software; you can redistribute it and/or modify it * * under the terms of the GNU General Public License as published by the * * Free Software Foundation; either version 2 of the License, or (at your * * option) any later version. * \**************************************************************************/ /* $Id$ */ class html { var $prefered_img_title; function html() { global $HTTP_USER_AGENT; // should be Ok for all HTML 4 compatible browsers $this->prefered_img_title = stristr($HTTP_USER_AGENT,'konqueror') ? 'title' : 'alt'; } function input_hidden($vars,$value='') { if (!is_array($vars)) { $vars = array( $vars => $value ); } while (list($name,$value) = each($vars)) { if ($value && !($name == 'filter' && $value == 'none')) // dont need to send all the empty vars { $html .= "<input type=hidden name=\"$name\" value=\"$value\">\n"; } } return $html; } function input($name,$value='',$type='',$options='' ) { if ($type) $type = "type=$type"; return "<input $type name=\"$name\" value=\"$value\" $options>\n"; } function submit_button($name,$lang,$onClick='') { return $this->input($name,lang($lang),'submit',$onClick ? "onClick=\"$onClick\"" : ''); } /* * create absolute link: $url: phpgw-relative link, may include query * $vars: query or array with query */ function link($url,$vars='') { if (is_array( $vars )) { $v = array( ); while(list($name,$value) = each($vars)) { if ($value && !($name == 'filter' && $value == 'none')) // dont need to send all the empty vars { $v[] = "$name=$value"; } } $vars = implode('&',$v); } list($url,$v) = explode('?',$url); // url may contain additional vars if ($v) $vars .= ($vars ? '&' : '') . $v; return $GLOBALS['phpgw']->link($url,$vars); } function checkbox($name,$value='') { return "<input type=\"checkbox\" name=\"$name\" value=\"True\"" .($value ? ' checked' : '') . ">\n"; } function form($content,$hidden_vars,$url,$url_vars='',$method='POST') { $html = "<form method=\"$method\" action=\"".$this->link($url,$url_vars)."\">\n"; $html .= $this->input_hidden($hidden_vars); if ($content) { $html .= $content; $html .= "</form>\n"; } return $html; } function form_1button($name,$lang,$hidden_vars,$url,$url_vars='', $method='POST') { return $this->form($this->submit_button($name,$lang), $hidden_vars,$url,$url_vars,$method); } /* * Example: $rows = array ( '1' => array( 1 => 'cell1', '.1' => 'colspan=3', * 2 => 'cell2', * 3 => '3,, '.3' => 'width="10%"' ), * '.1' => 'bgcolor="#0000FF"' ); * table($rows,'width="100%"'); */ function table($rows,$params = '') { $html = "<table $params>\n"; while (list($key,$row) = each($rows)) { if (!is_array($row)) continue; // parameter $html .= "\t<tr ".$rows['.'.$key].">\n"; while (list($key,$cell) = each($row)) { if ($key[0] == '.') continue; // parameter $html .= "\t\t<td ".$row['.'.$key].">$cell</td>\n"; } $html .= "\t</tr>\n"; } $html .= "</table>\n"; return $html; } function sbox_submit( $sbox,$no_script=0 ) { $html = str_replace('<select','<select onChange="this.form.submit()" ', $sbox); if ($no_script) { $html .= '<noscript>'.$this->submit_button('send','>').'</noscript>'; } return $html; } function image( $app,$name,$title='',$opts='' ) { $html = '<img src="'.$GLOBALS['phpgw']->common->image($app,$name).'"'; if ($title) { $html .= " $this->prefered_img_title=\"$title\""; } if ($opts) { $html .= " $opts"; } return $html . '>'; } function a_href( $content,$url,$vars='',$options='') { return '<a href="'.$this->link($url,$vars).'" '.$options.'>'.$content.'</a>'; } function bold($content) { return '<b>'.$content.'</b>'; } }