X-Git-Url: https://git.harvie.cz/?a=blobdiff_plain;f=index.php;h=ced77fb406f9bf3bbfdbe837fbc54ea802fc61f9;hb=a9516ef763e4ef55ddc8c0d5418f2be6a5e20fc6;hp=5c54331a1e53f5144f62b6da2eb544a8047c613b;hpb=933b760a1a2f81a454fd894950a80868b1ebd5de;p=mirrors%2FSokoMan.git diff --git a/index.php b/index.php index 5c54331..ced77fb 100755 --- a/index.php +++ b/index.php @@ -20,10 +20,11 @@ require_once('sklad.conf.php'); set_include_path(DIR_LIB.PATH_SEPARATOR.get_include_path()); -require_once('Sklad_LMS-fake.class.php'); +require_once('Sklad_Auth.class/common.php'); require_once('HTTP_Auth.class.php'); require_once('Locale.class.php'); require_once('Barcode.class.php'); +require_once('Fortune.php'); /** * Trida poskytuje vseobecne funkce pro generovani HTML kodu @@ -34,29 +35,41 @@ require_once('Barcode.class.php'); * @author Tomas Mudrunka */ class HTML { - function row($row,$type=false) { + function row($row,$type=false,$class=false,$parameters='',$colspan=array(),$rowspan=array(),$break_after=array()) { $html = ''; + $class_br = $class ? " class='$class' " : ''; + $class = $class ? " class='$class tr_nobr' " : ''; if($type) $html.="<$type>"; - $html.=''; + $html.=""; $td = $type == 'thead' ? 'th' : 'td'; - foreach($row as $var) { + foreach($row as $id => $var) { + $tdclass = " class='cell_$id'"; if(trim($var) == '') $var = ' '; - $html.="<$td>$var"; + $rs = isset($rowspan[$id]) ? " rowspan='$rowspan[$id]'" : ''; + $cs = isset($colspan[$id]) ? " colspan='$colspan[$id]'" : ''; + $html.="<$td$rs$cs$tdclass>$var"; + if(in_array($id,$break_after,true)) $html.=''.""; } $html.=''; if($type) $html.=""; return $html; } - function table(&$table, $params='border=1') { + function table(&$table,$colspan=array(),$rowspan=array(),$break_after=array(),$parity_class=array('tr_odd','tr_even'),$params='border=1',$row_classes_field='_row_classes') { $html=""; $header=true; + $even=false; foreach($table as $row) { + $params = isset($row[$row_classes_field]) ? $row[$row_classes_field] : ''; + unset($row[$row_classes_field]); if($header) { - $html.=$this->row(array_keys($row),'thead'); + $keys = array(); foreach($row as $key => $val) $keys[$key]=$key; + $html.=$this->row(T($keys),'thead',false,'',$colspan,$rowspan,$break_after); $header=false; } - $html.=$this->row($row); + $class = $parity_class ? $parity_class[$even] : false; + $html.=$this->row($row,false,$class.$params,'',$colspan,$rowspan,$break_after); + $even = !$even; } $html.='
'; return $html; @@ -68,12 +81,27 @@ class HTML { return "".$title.""; } - function img($src='#void', $title='img', $options='width=64') { + function img($src='#void', $title='img', $options='height=64') { + if(isset($_GET['noimgs'])) return "".basename($src).''; $options = $options ? " $options" : ''; return "$title"; } + function img_link($src, $link='#void', $title='img_link', $internal=true, $translate=true, $options='height=64') { + return $this->link($this->img($src,$title,$options),$link,$internal,$translate); + } + + function textarea($name=false, $value='', $placeholder=false, $options=false, $prefix='') { + $html = T($prefix)."textarea($name, $value, $placeholder, $options, $prefix); $html = T($prefix)."'); print_r($selectbox); $html = ""; return $html; @@ -133,10 +161,16 @@ class HTML { return "$html"; } + function favicon($url='/favicon.ico') { + return ''; + + } + function head($title=false,$charset='UTF-8',$more='') { $title = $title ? "\n$title" : ''; $html= ''; $html.= ''.$title.$more; + $html.= $this->favicon(dirname($_SERVER['SCRIPT_NAME']).'/favicon.ico'); $html.= ''; return $html; } @@ -151,24 +185,46 @@ class HTML { * @author Tomas Mudrunka */ class Sklad_HTML extends HTML { //TODO: Split into few more methods - function header($title='') { + function header($title='', $user=array()) { $home = URL_HOME; $script = $_SERVER['SCRIPT_NAME']; $search = htmlspecialchars(@trim($_GET['q'])); - $message = strip_tags(@trim($_GET['message']),''); + $message = strip_tags(@trim($_GET['message']),'
'); + $fortune = fortune(); $instance = INSTANCE_ID != '' ? '/'.INSTANCE_ID : ''; + $user_id = htmlspecialchars($user['id']); + $user_gid = htmlspecialchars($user['gid']); + $user_name = htmlspecialchars($user['name']); + $time = date('r'); //$title = T($title); //TODO $html = $this->head("SōkoMan$title"); $html .= <<
SōkoMan$instance$title +

SōkoMan$instance$title

+
+ Logged in as $user_name [UID: $user_id; GID: $user_gid]
+ Page loaded at $time +