<?php

#### pgm3 -- a PHP-webfrontend for fhem.pl 

################################################################
#
#  Copyright notice
#
#  (c) 2006-2010 Copyright: Martin Haas (fhz@martin-haas.de)
#  All rights reserved
#
#  This script 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.
#
#  The GNU General Public License can be found at
#  http://www.gnu.org/copyleft/gpl.html.
#  A copy is found in the textfile GPL.txt and important notices to the license
#  from the author is found in LICENSE.txt distributed with these scripts.
#
#  This script is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  This copyright notice MUST APPEAR in all copies of the script!
#
#  Homepage:  http://martin-haas.de/fhz

##################################################################################

## make your settings in the config.php

###############################   end of settings

error_reporting(E_ALL ^ E_NOTICE);
$userdef=array();
include "config.php";
include "include/gnuplot.php";
include "include/functions.php";


$pgm3version='120520';
	


	$Action		=	$_POST['Action'];
	$order		= 	$_POST['order'];
	$showfht	=	$_POST['showfht'];
	$showks		=	$_POST['showks'];
	$kstyp		=	$_POST['kstyp'];
	$showroom	=	$_POST['showroom'];
	$showmenu	=	$_POST['showmenu'];
	$showweath	=	$_POST['showweath'];
	$showhmsgnu	=	$_POST['showhmsgnu'];
	$showuserdefgnu	=	$_POST['showuserdefgnu'];
	$temp		=	$_POST['temp'];
	$dofht		=	$_POST['dofht'];
	$orderpulldown	=	$_POST['orderpulldown'];
	$valuetime	=	$_POST['valuetime'];
	$atorder	=	$_POST['atorder'];
	$attime		=	$_POST['attime'];

	$fhtdev		=	$_POST['fhtdev'];
	$fs20dev	=	$_POST['fs20dev'];
	$culhmdev	=	$_POST['culhmdev'];
	$errormessage	=	$_POST['errormessage'];



	if (! isset($showrss)) $showrss=$_GET['showrss'];
	if (! isset($rssorder)) $rssorder=$_GET['rssorder'];
	if ($rssorder=="") 
		{unset($rssorder);}
	else
		{$Action='exec'; $order=$rssorder;}

	
	if (! isset($showhmsgnu)) $showhmsgnu=$_GET['showhmsgnu'];
	if ($showhmsgnu=="") unset($showhmsgnu);

	if (! isset($showuserdefgnu)) $showuserdefgnu=$_GET['showuserdefgnu'];
	if ($showuserdefgnu=="") unset($showuserdefgnu);

	if (! isset($showfs20)) $showfs20=$_GET['showfs20'];
	if ($showfs20=="") unset($showfs20);

	if (! isset($showfht)) $showfht=$_GET['showfht'];
	if ($showfht=="") unset($showfht);
	if ($showfht=="none") unset($showfht);

	if (! isset($showweath)) $showweath=$_GET['showweath'];
	if ($showweath=="") unset($showweath);
	if ($showweath=="none") unset($showweath);

	if (! isset($showmenu)) $showmenu=$_GET['showmenu'];
	if ($showmenu=="") unset($showmenu);
	if ($showmenu=="none") unset($showmenu);

	if (! isset($showhist))  $showhist=$_GET['showhist'];
	if ($showhist=="none") unset($showhist);
	
	if (! isset($showlogs))  $showlogs=$_GET['showlogs'];
	if ($showlogs=="none") unset($showlogs);
	
	if (! isset($showat)) $showat=$_GET['showat'];
	if ($showat=="none") unset($showat);
	
	if (! isset($shownoti)) $shownoti=$_GET['shownoti'];
	if ($shownoti=="none") unset($shownoti);
	
	if (! isset($showroom)) $showroom=$_GET['showroom'];
	if ($showroom=="") unset($showroom);

	if (! isset($showks)) $showks=$_GET['showks'];
	if ($showks=="") unset($showks);

	if (! isset($kstyp)) $kstyp=$_GET['kstyp'];
	if ($kstyp=="") unset($kstyp);

	if (! isset($Action)) $Action=$_GET['Action'];
	if ($Action=="") unset($Action);

	if (! isset($order)) $order=$_GET['order'];
	if ($order=="") unset($order);

	if (! isset($orderpulldown)) $orderpulldown=$_GET['orderpulldown'];
	if ($orderpulldown=="") unset($orderpulldown);

	if (! isset($valuetime)) $valuetime=$_GET['valuetime'];
	if ($valuetime=="") unset($valuetime);

	if (! isset($fhtdev)) $fhtdev=$_GET['fhtdev'];
	if ($fhtdev=="") unset($fhtdev);

	if (! isset($fs20dev)) $fs20dev=$_GET['fs20dev'];
	if ($fs20dev=="") unset($fs20dev);

	if (! isset($culhmdev)) $culhmdev=$_GET['culhmdev'];
	if ($culhmdev=="") unset($culhmdev);

	if (! isset($errormessage)) $errormessage=$_GET['errormessage'];
	if ($errormessage=="") unset($errormessage);
	
	if (! isset($showpics)) $showpics=$_GET['showpics'];
	if ($showpics=="none") unset($showpics);



# try to get the URL:
	$homeurl='http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
	 $forwardurl=$homeurl.'?';
         $phpfileurl=$_SERVER['SCRIPT_NAME'];
	$testFirstStart=$_SERVER['QUERY_STRING'];
	if ($testFirstStart=='')  ##new session (??) then start-values
	{
		if ($showAT=='yes') $showat='yes';
		if ($showLOGS=='yes') $showlogs='yes';
		if ($showNOTI=='yes') $shownoti='yes';
		if ($showHIST=='yes') $showhist='yes';
		if ($showPICS=='yes') $showpics='yes';
		if ($showWeath=='yes') $showweath='1';
	}


	if (isset ($showfht)) { $forwardurl=$forwardurl.'&showfht='.$showfht;};
	if (isset ($fs20dev)) 
	{ $forwardurl=$forwardurl.'&fs20dev='.$fs20dev.'&orderpulldown='.$orderpulldown.'&showmenu='.$showmenu.'&showroom='.$showroom.'&showweath'.$showweath;};
	if (isset ($culhmdev)) 
	{ $forwardurl=$forwardurl.'&culhmdev='.$culhmdev.'&orderpulldown='.$orderpulldown.'&showmenu='.$showmenu.'&showroom='.$showroom.'&showweath'.$showweath;};
	if (isset ($showks)) { $forwardurl=$forwardurl.'&showks='.$showks.'&kstyp='.$kstyp;};
	if (isset ($showhmsgnu)) { $forwardurl=$forwardurl.'&showhmsgnu='.$showhmsgnu;};
	if (isset ($showuserdefgnu)) { $forwardurl=$forwardurl.'&showuserdefgnu='.$showuserdefgnu;};
	if (isset ($showroom)) { $forwardurl=$forwardurl.'&showroom='.$showroom;};
	if (isset ($shownoti)) { $forwardurl=$forwardurl.'&shownoti';};
	if (isset ($showlogs)) { $forwardurl=$forwardurl.'&showlogs';};
	if (isset ($showat)) { $forwardurl=$forwardurl.'&showat';};
	if (isset ($showpics)) { $forwardurl=$forwardurl.'&showpics';};
	if (isset ($showhist)) { $forwardurl=$forwardurl.'&showhist';};
	if (isset ($showfs20)) { $forwardurl=$forwardurl.'&showfs20='.$showfs20;};
	if (isset ($showculhm)) { $forwardurl=$forwardurl.'&showculhm='.$showculhm;};
	if (isset ($showweath)) { $forwardurl=$forwardurl.'&showweath='.$showweath;};
	if (isset ($showmenu)) 
	{ $forwardurl=$forwardurl.'&fs20dev='.$fs20dev.'&orderpulldown='.$orderpulldown.'&valuetime='.$valuetime.'&showmenu='.$showmenu.'&showroom='.$showroom;}
	unset($link);
	if (isset ($showlogs)) $link=$link.'&showlogs'; 
	if (isset ($shownoti)) $link=$link.'&shownoti'; 
	if (isset ($showhist)) $link=$link.'&showhist'; 
	if (isset ($showat)) $link=$link.'&showat'; 
	if (isset ($showmenu)) $link=$link.'&showmenu='.$showmenu; 
	if (isset ($showweath)) $link=$link.'&showweath='.$showweath; 
	if (isset ($showfht)) $link=$link.'&showfht='.$showfht; 
	if (isset ($showhmsgnu)) $link=$link.'&showhmsgnu='.$showhmsgnu; 
	if (isset ($showuserdefgnu)) $link=$link.'&showuserdefgnu='.$showuserdefgnu; 
	if (isset ($showks)) $link=$link.'&showks='.$showks; 
	if (isset ($showpics)) $link=$link.'&showpics'; 


switch ($Action):
	Case exec:
		if ($kioskmode=='off') 
		{
			$order=str_replace("\\","",$order);
			$order=str_replace("@","+",$order);
			execFHZ($order,$fhem,$fhemport);
		}
		header("Location:  $forwardurl&errormessage=$errormessage");
		break;
	Case exec2:
		if ($atorder=='at') 
		{ $atorder='define '.randdefine().' '.$atorder; }
		$order="$atorder $attime set $fs20dev $orderpulldown $valuetime";
		if ($kioskmode=='off') execFHZ($order,$fhem,$fhemport);
		header("Location:  $forwardurl");
	Case exec3:
		if ($atorder=='at') 
		{ $atorder='define '.randdefine().' '.$atorder; }
		if (! isset($fhtdev)) {echo "FHT-Device not set - exit"; break;}
		$order="$atorder $attime set $fhtdev $orderpulldown $valuetime";
		if ($kioskmode=='off') execFHZ($order,$fhem,$fhemport);
	Case exec4:
		if ($atorder=='at') 
		{ $atorder='define '.randdefine().' '.$atorder; }
		$order="$atorder $attime set $culhmdev $orderpulldown $valuetime";
		if ($kioskmode=='off') execFHZ($order,$fhem,$fhemport);
		header("Location:  $forwardurl");
	Case execfht:
		$order="set $dofht desired-temp $temp";
		if ($kioskmode=='off') execFHZ($order,$fhem,$fhemport);
		header("Location:  $forwardurl");
		break;
	Case showfht|showroom|showks|showhmsgnu|hide|showuserdefgnu|showpics:
		header("Location: $forwardurl");
		break;
	default:
endswitch;


if (! isset($showroom)) $showroom="ALL";
if (($taillog==1) and (isset ($showhist)) ) exec($taillogorder,$tailoutput);

#####################################################################################################################################
#executes over the network to the fhem.pl (or localhost)
function execFHZ($order,$machine,$port)
{
global $errormessage;

 $fp = stream_socket_client("tcp://$machine:$port", $errno, $errstr, 30);
         if (!$fp) {
           echo "$errstr ($errno)<br />\n";
        } else {
           fwrite($fp, "$order;quit\n");
		#buggy in fhem by notify?
               	#$errormessage= fgets($fp);
           fclose($fp);
        }
return $errormessage;
}



###### make an array from the xmllist
unset($output);
$stack = array();
$output=array();
unset($longxml);

$version = explode('.', phpversion());


######################################################################
# get the xmllist from fhem
	$fp = stream_socket_client("tcp://$fhem:$fhemport", $errno, $errstr, 30);
	if (!$fp) {
	   echo "$errstr ($errno)<br />\n";
	} else {
	   fwrite($fp, "xmllist;quit\n");
	   $outputvar=stream_get_contents($fp);
	   array_push($output,$outputvar);
	   fclose($fp);
	}







#  start_element_handler ( resource parser, string name, array attribs )
function startElement($parser, $name, $attribs)
{
   global $stack;
   $tag=array("name"=>$name,"attrs"=>$attribs);
   array_push($stack,$tag);
}

#  end_element_handler ( resource parser, string name )
function endElement($parser, $name)
{
   global $stack;
   $stack[count($stack)-2]['children'][] = $stack[count($stack)-1];
   array_pop($stack);
}


function new_xml_parser($live)
{
   global $parser_live;
   $xml_parser = xml_parser_create();
   xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8");
   xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 0);
   xml_set_element_handler($xml_parser, "startElement", "endElement");
 
   if (!is_array($parser_live)) {
       settype($parser_live, "array");
   }
   $parser_live[$xml_parser] = $live;
   return array($xml_parser, $live);
}

# go parsing
if (!(list($xml_parser, $live) = new_xml_parser($live))) {
   die("could not parse XML input");
}




#change the xmllist into an intern array
$data = $output[0];
  if (!xml_parse($xml_parser, $data)) {
        $now=date($timeformat);
        echo("There is a xmllist file for debugging: $AbsolutPath/tmp/debugxml$now<br><br>");
        $handle=fopen("tmp/debugxml$now","w");
        fwrite($handle,$outputvar);
        $warning=sprintf("XML error: %s at line %d\n",
           xml_error_string(xml_get_error_code($xml_parser)),
           xml_get_current_line_number($xml_parser));
	echo $warning;
	fwrite($handle,$warning);
        fclose($handle);
   }




xml_parser_free($xml_parser);




#print_r($stack);
#exit;


#searching for rooms/fs20/HomeMatic/Logpaths
	$rooms=array();
	$fs20devs=array();
	$culhmdevs=array();
	$fhtdevs=array();
	$logpaths=array();
	$actors=array();

	for($i=0; $i < count($stack[0][children]); $i++) 
	{
	      if ((substr($stack[0][children][$i][name],0,5)=='FS20_') 
		  || (substr($stack[0][children][$i][name],0,4)=='X10_'))
	      {
		 	for($j=0; $j < count($stack[0][children][$i][children]); $j++)
			 {
			 $fs20devxml=$stack[0][children][$i][children][$j][attrs][name];
			for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
			{
			   #$check=$stack[0][children][$i][children][$j][children][$k][attrs][name];
			# if ($check=='ATTR')
			  #{
				if (($stack[0][children][$i][children][$j][children][$k][attrs][key])=='room')
				{
			  	  $room=$stack[0][children][$i][children][$j][children][$k][attrs][value];
				  	 if (! in_array($room,$rooms)) array_push($rooms,$room);
				}
			  #}#
			}
		  	 if ((! in_array($fs20devxml,$fs20devs)) AND ( $room != 'hidden')) array_push($fs20devs,$fs20devxml);
			}
	      }#FS20



####################################################  HomeMatic

	      elseif ((substr($stack[0][children][$i][name],0,7)=='CUL_HM_')) 
	      {
		 	for($j=0; $j < count($stack[0][children][$i][children]); $j++)
			 {
			 $culhmdevxml=$stack[0][children][$i][children][$j][attrs][name];
			for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
			{
			  # $check=$stack[0][children][$i][children][$j][children][$k][attrs][name];
			 #if ($check='ATTR')
			  #{
				if (($stack[0][children][$i][children][$j][children][$k][attrs][key])=='room')
				{
			  	  $room=$stack[0][children][$i][children][$j][children][$k][attrs][value];
				  	 if (! in_array($room,$rooms)) array_push($rooms,$room);
				}
			  #}#
			}
		  	 if ((! in_array($culhmdevxml,$culhmdevs)) AND ( $room != 'hidden')) array_push($culhmdevs,$culhmdevxml);
			}
	      }#HomeMatic


####################################################  FHTs


	       elseif (substr($stack[0][children][$i][name],0,4)=='FHT_')
	       {
		 	for($j=0; $j < count($stack[0][children][$i][children]); $j++)
			 {
			 	$fhtdevxml=$stack[0][children][$i][children][$j][attrs][name];
			 	for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
				{
				   $check=$stack[0][children][$i][children][$j][children][$k][attrs][key];
				   if ( $check=="room") 
					{$room=$stack[0][children][$i][children][$j][children][$k][attrs][value];
				  	 if (! in_array($room,$rooms)) array_push($rooms,$room);
					}
				}

			  	 if ((! in_array($fhtdevxml,$fhtdevs)) AND ( $room != 'hidden')) array_push($fhtdevs,$fhtdevxml);
			 }
		} #FHT



####################################################  HMS and CUL_WS



	       elseif ((substr($stack[0][children][$i][name],0,4)=='HMS_') || (substr($stack[0][children][$i][name],0,7)=='CUL_WS_'))

	       {
		 	for($j=0; $j < count($stack[0][children][$i][children]); $j++)
			 {
			 	for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
				{
				   if ( $stack[0][children][$i][children][$j][children][$k][attrs][key]=="room") 
					{$room=$stack[0][children][$i][children][$j][children][$k][attrs][value];
				  	 if (! in_array($room,$rooms)) array_push($rooms,$room);
					}
				}
		       }
	       } # HMS and CUL_WS

#################################################### LogpathFileLOG


	       elseif (substr($stack[0][children][$i][name],0,8)=='FileLog_')
	       {
		 	for($j=0; $j < count($stack[0][children][$i][children]); $j++)
			 {
			 	for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
				{
				   if ( $stack[0][children][$i][children][$j][children][$k][attrs][key]=="currentlogfile") 
					{$logpathstack=$stack[0][children][$i][children][$j][children][$k][attrs][value];
				  	 if (! in_array($logpathistack,$logpaths)) array_push($logpaths,$logpathstack);
					}
				}
		       }
	       } # FileLog



#################################################### INTERNAL Logpath


	       elseif (substr($stack[0][children][$i][name],0,9)=='_internal')
	       {
		 	for($j=0; $j < count($stack[0][children][$i][children]); $j++)
			 {
			 	for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
				{
				   if ( $stack[0][children][$i][children][$j][children][$k][attrs][key]=="currentlogfile") 
					{$fhemlog=$stack[0][children][$i][children][$j][children][$k][attrs][value];
				  	 if (! in_array($fhemlog,$logpaths)) array_push($logpaths,$fhemlog);
					}
				}
		       }
	       } # _internal_



#################################################### SCIVT


	       elseif (substr($stack[0][children][$i][name],0,6)=='SCIVT_')
	       {
		 	for($j=0; $j < count($stack[0][children][$i][children]); $j++)
			 {
			 	for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
				{
				   if ( $stack[0][children][$i][children][$j][children][$k][attrs][key]=="room") 
					{$room=$stack[0][children][$i][children][$j][children][$k][attrs][value];
				  	 if (! in_array($room,$rooms)) array_push($rooms,$room);
					}
				}
		       }
	       } # SCIVT



#################################################### SCIVT

	       elseif (substr($stack[0][children][$i][name],0,6)=='KS300_')
	       {
		 	for($j=0; $j < count($stack[0][children][$i][children]); $j++)
			 {
			for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
			{
			 #  $check=$stack[0][children][$i][children][$j][children][$k][attrs][name];
			 #if ($check='ATTR')
			  #{
				if (($stack[0][children][$i][children][$j][children][$k][attrs][key])=='room')
				{
			  	  $room=$stack[0][children][$i][children][$j][children][$k][attrs][value];
				  	 if (! in_array($room,$rooms)) array_push($rooms,$room);
					}
			#	}
			  }
			}
		}
	} # end searching rooms /logpaths in the array from fhem
	# user defined rooms?
	if ($UserDefs==1)
	{
		for($i=0; $i < count($userdef); $i++)
                {
                         $room=$userdef[$i]['room'];
		  	if (! in_array($room,$rooms)) array_push($rooms,$room);
		}
	}


	array_push($rooms,'ALL');
	sort($rooms);




#print_r($rooms); echo "Count: $countrooms"; exit;
#print_r($fs20devs); # exit;
#echo "#################################";
#print_r($culhmdevs);  exit;
#echo count($stack[0][children]);exit;
#print_r($logpaths);  exit;
#exit;




# Print Array on Screen

 $now=date($timeformat);


# only RSS-Feeds?? 
 if (isset($showrss)) { include "include/rssfeeds.php"; exit; }



###### write the header on screen
 echo "
         <html>
	 <head>
	 <meta http-equiv='refresh' content='$urlreload; URL=$forwardurl'>
	 <meta http-equiv='pragma' content='no-cache'>
	 <meta http-equiv='expires' content='0'>
	 <meta http-equiv='Cache-Control' content='no-cache'>
	 <meta http-equiv='content-type' content='text/html; charset=UTF-8'>

	 <link rel='alternate' type='application/rss+xml' title='$RSStitel' href='$phpfileurl?showrss'>
 	 <link rel='shortcut icon' href='include/fs20.ico' >
	 <title>$titel</title>";
 	  include ("include/style.css");	 
 echo "	 </head>";


 echo"      <body $bodybg>
	$errormessage
	\r<table width='$winsize' cellspacing='1' cellpadding='10' border='0' $bgcolor1><tr><td></td></tr>\r</table>
	\r<table width='$winsize' cellspacing='1' cellpadding='0' border='0' align='CENTER' $bg4>
	  <tr> 
	      <td $bg4 width='100%'> 
	      \r<table $bg5 width='100%' cellspacing='0' cellpadding='0' border='0'>
	              <tr> <td>
	\r<table width='100%' cellspacing='2' cellpadding='2' align=center border='0'>
	<tr><td $bg1 colspan=4><br>
		<font size=3 $fontcolor1><center><b>$titel $now</b></font>
		</font></center>
		 <font size=-2 $fontcolor1><div align='right'>v$pgm3version</div></font>
		</td></tr>";
	
	###################### Webcam
	
 	if ($showwebcam==1)
	{	
	    echo "  <tr>
                <td $bg1 colspan=4><font $fontcolor1>
                \r<table  cellspacing='0' cellpadding='0' width='100%'>
                        <tr>
                        <td><font $fontcolor1> WEBCAM </font>";
		 if (! isset($showpics))
                 { echo "<a href=$formwardurl?showpics$link>show pics</a>";}
                else
                { echo "<a href=$formwardurl?$link&showpics=none>hide pics</a>";}

                        
   	    echo"	</td>
                        <td align=right>
	    ";
     if (($webcamroom != 'hidden') 
         and ($showroom=='ALL' or $showroom==$webcamroom or $webcamroom=='donthide'))
	    if (isset($showpics))
	    {
	    for($i=0; $i < count($webcam); $i++)
            {  
		$webcam1=$webcam[$i];
		$pos = strpos($webcam1,'://'); # e.g. http://..
		if ($pos === false) # picture instead of an URL
		{
			$webcamname=$webcam[$i];
		}
		else
		{
			$webcamname=str_replace("/","",$webcam1);
			$webcamname=str_replace(":","",$webcamname);
			$order="$wgetpath -O tmp/$webcamname $webcam1";
			exec($order,$res);
        		$errormessage = $res[0];
			echo $errormessage;
		}
	 	echo"<a href='tmp/$webcamname'><img src='tmp/$webcamname' width='$webcamwidth' border=2></a>";
	     }   
	     }
	     echo"
			</td>
			</tr>
		\r</table>
		</td>
		</tr>
		";
	
	};




       ############################ WEATHER
     if ($enableweather==1)
	{
	echo "<tr><td $bg1 colspan=4><font $fontcolor1>\r<table  cellspacing='0' cellpadding='0' width='100%'>
		<tr><td><font $fontcolor1>WEATHER</td><td align=right><font $fontcolor1><b>";
	if ($showweath != '1')	
		{ echo "<a href=$formwardurl?showweath=1&showroom=$showroom$link>show</a>";}
		else
		{ echo "<a href=$formwardurl?showroom=$showroom$link&showweath=none>hide</a>";}

	echo "</b></font></td></tr>\r</table>";
	echo "</font></td></tr>";
     if (($weatherroom != 'hidden') 
         and ($showroom=='ALL' or $showroom==$weatherroom or $weatherroom=='donthide') 
         and ($showweath==1)) include 'include/weather.php';
     }



       ############################ FHZ
	if ($show_fs20pulldown==1 or $show_general==1 or $show_hmpulldown==1 or $show_fhtpulldown==1)
	{
	echo "<tr><td $bg1 colspan=4><font $fontcolor1>\r<table  cellspacing='0' cellpadding='0' width='100%'>
		<tr><td><font $fontcolor1>FHZ_DEVICE</td><td align=right><font $fontcolor1><b>";
	if ($showmenu != '1')	
		{ echo "<a href=$formwardurl?showmenu=1&showroom=$showroom$link>show</a>";}
		else
		{ echo "<a href=$formwardurl?showroom=$showroom$link&showmenu=none>hide</a>";}

	echo "</b></font></td></tr>\r</table>";
	echo "</font></td></tr>";
	}


	if ($showmenu=='1')
	{
		if ($show_general=='1') 
		{echo "
		<tr>
		<td colspan=1 align=right $bg2><font  $fontcolor3> General: </font></td>
		<td align=left $bg2 colspan=1><font $fontcolor3>
		<form action=$forwardurl method='POST'>
		<input type=text name=order size=61>
		<input type=hidden name=showfht value=$showfht>
		<input type=hidden name=showhms value=$showhms>
		<input type=hidden name=showmenu value=$showmenu>
		<input type=hidden name=Action value=exec>
		<input type=submit value='go!'></form></td>
		</tr>";
		};

	if ($show_fs20pulldown=='1') include 'include/fs20pulldown.php';
	if ($show_hmpulldown=='1') include 'include/hmpulldown.php';
	if ($show_fhtpulldown=='1') include 'include/fhtpulldown.php';
	if ($show_logpulldown=='1') include 'include/logpulldown.php';
	};



	############################ ROOMS
	if (($showroombuttons==1) and (count($rooms)>1))
	{

echo "\r\r<tr><td $bg1 colspan=4><font $fontcolor1>                    
                        \r\r<table  cellspacing='0' cellpadding='0' width='100%'
>                                                                               
                        <tr><td><font $fontcolor1>ROOMS</td><td align=rig
ht><font $fontcolor1><b>                                                        
                        </font></td></tr>\r</table></td></tr>\r";

		echo "<tr><td $bg2 colspan=4>";
		$counter=0;
	 	for($i=0; $i < count($rooms); $i++)
		 	{
				 $room=$rooms[$i];
				 if ($room != 'hidden')
		 		{
				echo"<a href='$phpfileurl?Action=showroom&showroom=$room$link'><img src='include/room.php?room=$room&showroom=$showroom'></a>";
				$counter++;

				if  (fmod($counter,$roommaxiconperline)== 0.0) echo "<br>";
				} else $counter--;
			}
		echo "</td></tr>";
	}	

#####################################################################################################################

	## now the xmllist will be writen on screen as html
	##### Let's go.... :-)))))
	for($i=0; $i < count($stack[0][children]); $i++) 
	{
	############################
	      if ((substr($stack[0][children][$i][name],0,5)=='FS20_')
		  || (substr( $stack[0][children][$i][name],0,4)=='X10_')
		  || (substr( $stack[0][children][$i][name],0,7)=='CUL_HM_'))
	      {
			$type=$stack[0][children][$i][name];
			echo "\r\r<tr><td $bg1 colspan=4><font $fontcolor1>
                        \r\r<table  cellspacing='0' cellpadding='0' width='100%'>
                        <tr><td><font $fontcolor1>$type</td><td align=right><font $fontcolor1><b>
                        </font></td></tr>\r</table></td></tr>\r";
			$counter=0;
			echo "<tr><td $bg2 colspan=4>";
		 	for($j=0; $j < count($stack[0][children][$i][children]); $j++)
			 {
			 $fs20=$stack[0][children][$i][children][$j][attrs][name];
			 $state=$stack[0][children][$i][children][$j][attrs][state];
			for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
			{
			$check=$stack[0][children][$i][children][$j][children][$k][name];
				switch ($check) {
				   case 'STATE':
			      	   $measured=$stack[0][children][$i][children][$j][children][$k][attrs][measured];
					break;
				}
			

			$check=$stack[0][children][$i][children][$j][children][$k][attrs][key];
			 switch ($check) {
				case 'room':
			  	        $room=$stack[0][children][$i][children][$j][children][$k][attrs][value];break;
				case 'webCmd':
			  	  	$wcmd=$stack[0][children][$i][children][$j][children][$k][attrs][value];break;
				case 'follow-on-for-timer':
			  	  	$foft=$stack[0][children][$i][children][$j][children][$k][attrs][value];break;
				case 'icon':
			  	  	$icon=$stack[0][children][$i][children][$j][children][$k][attrs][value];break;
				case 'eventMap':
			  	  	$eventMap=$stack[0][children][$i][children][$j][children][$k][attrs][value];break;
				case 'subType':
			  	  	$subType=$stack[0][children][$i][children][$j][children][$k][attrs][value];break;
			  }
					
			}



			 If (($eventMap!='')) {
			    If ((substr($eventMap,0,1)==',') or (substr($eventMap,0,1)=='/')) {
				$eMap_sign=(substr($eventMap,0,1));
				$eventMap=substr($eventMap,1);
				$eventMap=str_replace($eMap_sign, ":", $eventMap);
			    }
			    else {
				$eventMap=str_replace(" ", ":", $eventMap);
			    }
			    $eMapsep=explode(":",$eventMap);
			    if ($state==$eMapsep[1]) {
			      $state=$eMapsep[0];
			      $emap=$eMapsep[1];
			    }
			    elseif ($state==$eMapsep[3]) {
			      $state=$eMapsep[2];
			      $emap=$eMapsep[3];
			    }
			    elseif ($state=='off') {
			      $emap=$eMapsep[3];
			    }
			    elseif ($state!='off') {
			      $emap=$eMapsep[1];
			    }
			 };

			 $tmp_file=$AbsolutPath."/tmp/FS20.".$fs20."_foft.txt";
			 if (($state=='off') and (file_exists($tmp_file))) {
			    $delfile2=$AbsolutPath."/tmp/FS20.".$fs20.".log.".$measured.".png";
			       unlink ($tmp_file);
			       unlink ($delfile2);
			 }

			 if (($state=='off') and (substr($wcmd,0,12)=='on-for-timer')) {
			    $wcmd_count = strpos($wcmd, ':',0); 
			    $wcmd_order = substr($wcmd, 0, $wcmd_count);
			    $order="set $fs20 $wcmd_order";
			 }
			 elseif (($state!='off')) {
			    $order="set $fs20 off";
			    if ((substr($state,0,12)=='on-for-timer')) {
			       if (file_exists($tmp_file))
			       {}
			       else{
				      $x1=fopen ($tmp_file, "w");
				      fwrite ($x1,$foft);
				      fclose ($x1);
			       }
			    }
			 }
			 else {
			 $order="set $fs20 on";
			 };


			 if (($room != 'hidden') and ($showroom=='ALL' or $showroom==$room))
			 {
			 	$counter++;
				echo"<a href='$phpfileurl?Action=exec&order=$order&showroom=$showroom$link'><img src='include/fs20.php?drawfs20=$fs20&statefs20=$state&datefs20=$measured&icon=$icon&emap=$emap&subType=$subType&room=$room'></a>";
				if  (fmod($counter,$fs20maxiconperline)== 0.0) echo "<br>";
				array_push($actors,array($phpfileurl,$order,$showroom,$link,$fs20,$state,$measured,$icon,$emap,$subType,$room));
			 };
#			 $fs20="";
			 $state="";
			 $check="";
			 $measured="";
			 $room="";
			 $wcmd="";
			 $foft="";
			 $icon="";
			 $eventMap="";
			 $subType="";
			 $emap="";
			 }
			 	echo "</td></tr>\r";
				if (isset($showfs20) and $showgnuplot == 1)
			 	{   
                                 	drawgnuplot($showfs20,"FS20",$gnuplot,$pictype,$logpath, $FHTyrange,$FHTy2range,$DBUse);
					$FS20dev1=$showfs20.'1';
                                	echo "\r<tr><td colspan=5 align=center><br><img src='tmp/$showfs20.$pictype'><br><br><br>
					<img src='tmp/$FS20dev1.$pictype'><br><br>
                                        </td></tr>
			 		      <tr><td colspan=4><hr color='#AFC6DB'></td></tr>";
				}
	       }
	############################
	       elseif (substr($stack[0][children][$i][name],0,4)=='FHT_')
	       {
			$type=$stack[0][children][$i][name];
			#echo "<tr><td $bg1 colspan=4><font $fontcolor1>";
	      		#echo "$type</font></td></tr>\r";
			echo "\r\r<tr><td $bg1 colspan=4><font $fontcolor1>
                        \r\r<table  cellspacing='0' cellpadding='0' width='100%'>
                        <tr><td><font $fontcolor1>$type</td><td align=right><font $fontcolor1><b>
                        </font></td></tr>\r</table></td></tr>\r";



		 	for($j=0; $j < count($stack[0][children][$i][children]); $j++)
			 {
				$room="";
			 	for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
				{
				   $check=$stack[0][children][$i][children][$j][children][$k][attrs][key];
				   if ( $check=="room") 
					{$room=$stack[0][children][$i][children][$j][children][$k][attrs][value];
					}
				   if ( $check=="warnings") 
					{$battery=$stack[0][children][$i][children][$j][children][$k][attrs][value];
					}
				}
		 if (($room != 'hidden') and ($showroom=='ALL' or $showroom==$room))
		 {
		    
			 $FHTdev=$stack[0][children][$i][children][$j][attrs][name];
			 if ($showfht == $FHTdev)
			 	{echo "\r<tr valign=center><td align=center $bg2 valign=center> 
				       <form action=$forwardurl method='POST'>
				       <input type=hidden name=Action value=hide>
				       <input type=hidden name=showfht value=none>
				       <input type=hidden name= value=none>
			 		<input type=hidden name=showroom value=$showroom>
				       <input type=submit value='hide'></form>
					<a href=$forwardurl&showmenu=1&fhtdev=$FHTdev&orderpulldown=desired-temp&valuetime=20.0>adjust</a></td>";
			 	}
			 else
			 	{echo "\r<tr valign=center><td align=center $bg2 valign=center> 
				       <form action=$forwardurl method='POST'>
				       <input type=hidden name=Action value=showfht>
				       <input type=hidden name=showfht value=$FHTdev>
			 		<input type=hidden name=showroom value=$showroom>
		    	      	       <input type=hidden name=showhms value=$showhms>
				       <input type=submit value='show'></form>
					<a href=$forwardurl&showmenu=1&fhtdev=$FHTdev&orderpulldown=desired-temp&valuetime=20.0>adjust</a></td>";
			 	};
				   
				echo "\r<td $bg2 colspan='3'> 
				<img src='include/fht.php?drawfht=$FHTdev&room=$room&battery=$battery' width='$imgmaxxfht' height='$imgmaxyfht'>
				</td>";
				echo "</tr>";
			 	
				if ($showfht==$FHTdev and $showgnuplot == 1)
			 	{   
                                 	drawgnuplot($FHTdev,"FHT",$gnuplot,$pictype,$logpath, $FHTyrange,$FHTy2range,$DBUse);
					$FHTdev1=$FHTdev.'1';
                                	echo "\r<tr><td colspan=5 align=center><br><img src='tmp/$FHTdev.$pictype'><br><br><br>
					<img src='tmp/$FHTdev1.$pictype'><br><br>
                                        </td></tr>
			 		      <tr><td colspan=4><hr color='#AFC6DB'></td></tr>";
				}
				if ( $showfht==$FHTdev)
				{
				echo "\r<tr><td colspan=4>\r<table border=0><tr>";
			 	for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
				{
				   	$name=$stack[0][children][$i][children][$j][children][$k][attrs][key];
					$value=$stack[0][children][$i][children][$j][children][$k][attrs][value];
					$measured=$stack[0][children][$i][children][$j][children][$k][attrs][measured];
			        	echo "\r<td><tr><td colspan=1> $FHTdev (FHT): </td><td>$name</td><td>$value
					      </td><td>$measured</td></tr></td>";
				   }
				echo "</tr>\r</table></td></tr>\r\r";
				}
			}
		}
	       }
	############################
	       elseif ((substr($stack[0][children][$i][name],0,4)=='HMS_') or (substr($stack[0][children][$i][name],0,6)=='CUL_WS'))
	       {
			$type=$stack[0][children][$i][name];
			#echo "\r<tr><td $bg1 colspan=4><font $fontcolor1>";
#	      		echo "$type</font></td></tr>";
			echo "\r\r<tr><td $bg1 colspan=4><font $fontcolor1>
                        \r\r<table  cellspacing='0' cellpadding='0' width='100%'>
                        <tr><td><font $fontcolor1>$type</td><td align=right><font $fontcolor1><b>
                        </font></td></tr>\r</table></td></tr>\r";




		 	for($j=0; $j < count($stack[0][children][$i][children]); $j++)
			 {
				$room="";
			 	for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
				{
				   if ( $stack[0][children][$i][children][$j][children][$k][attrs][key]=="battery") 
					{$battery=$stack[0][children][$i][children][$j][children][$k][attrs][value];
					}
				   if ( $stack[0][children][$i][children][$j][children][$k][attrs][key]=="room") 
					{$room=$stack[0][children][$i][children][$j][children][$k][attrs][value];
					}
				   if (( $stack[0][children][$i][children][$j][children][$k][attrs][key]=="type")  or
				      ( $stack[0][children][$i][children][$j][children][$k][attrs][key]=="TYPE") )
					{$type=$stack[0][children][$i][children][$j][children][$k][attrs][value];};
				}
		 if (($room != 'hidden') and ($showroom=='ALL' or $showroom==$room))
		 {
			$HMSdev=$stack[0][children][$i][children][$j][attrs][name];
			if ($type=="HMS100T" or $type=="HMS100TF" or $type=="CUL_WS")
			{
			if ($showhmsgnu== $HMSdev) {$formvalue="hide";$gnuvalue="";}
			else {$formvalue="show";$gnuvalue=$HMSdev;};
			echo "\r<tr valign=center><td align=center $bg2 valign=center>
                                       <form action=$forwardurl method='POST'>
                                       <input type=hidden name=Action value=showhmsgnu>
                                        <input type=hidden name=showroom value=$showroom>
                                        <input type=hidden name=battery value=$battery>
                                        <input type=hidden name=showhmsgnu value=$gnuvalue>
                                       <input type=submit value='$formvalue'></form></td><td $bg2 colspan=3>";
				
			}
			else
		 	{echo "\<tr><td $bg2><td $bg2 colspan=3> ";}
		       	
			echo "<img src='include/hms100.php?drawhms=$HMSdev&room=$room&type=$type&battery=$battery' width='$imgmaxxhms' height='$imgmaxyhms'></td> </tr>";
		
		if ($showhmsgnu == $HMSdev and $showgnuplot == 1)
                                { drawgnuplot($HMSdev,$type,$gnuplot,$pictype,$logpath,0,0,$DBUse);
				$HMSdev1=$HMSdev.'1';
                                echo "\r<tr><td colspan=5 align=center><br><img src='tmp/$HMSdev.$pictype'><br><br><br>
					<img src='tmp/$HMSdev1.$pictype'><br><br>
                                        </td></tr>";
                }
		}

		       }
	       }
	############################
	       elseif (substr($stack[0][children][$i][name],0,6)=='KS300_' or substr($stack[0][children][$i][name],0,6)=='WS300_')
	       {
			$type=$stack[0][children][$i][name];
			echo "\r\r<tr><td $bg1 colspan=4><font $fontcolor1>
                        \r\r<table  cellspacing='0' cellpadding='0' width='100%'>
                        <tr><td><font $fontcolor1>$type</td><td align=right><font $fontcolor1><b>
                        </font></td></tr>\r</table></td></tr>\r";
                        for($j=0; $j < count($stack[0][children][$i][children]); $j++)
                         {
                         $KSdev=$stack[0][children][$i][children][$j][attrs][name];
                        $room='';
                        for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
                        {
                           $check=$stack[0][children][$i][children][$j][children][$k][attrs][key];
                           $check2=$stack[0][children][$i][children][$j][children][$k][attrs][name];
                         if ($check=='room')  $room=$stack[0][children][$i][children][$j][children][$k][attrs][value];
                         elseif ($check=='willi') $willi=1;
                         elseif ($check=='avg_day') $KSavgday=$stack[0][children][$i][children][$j][children][$k][attrs][value];
                         elseif ($check=='temperature') $KSmeasured=$stack[0][children][$i][children][$j][children][$k][attrs][measured];
                         elseif ($check=='avg_month') $KSavgmonth=$stack[0][children][$i][children][$j][children][$k][attrs][value];
				#  for older versions...
                         if ($check2=='avg_month') $KSavgmonth=$stack[0][children][$i][children][$j][children][$k][attrs][value];
                         elseif ($check2=='avg_day') $KSavgday=$stack[0][children][$i][children][$j][children][$k][attrs][value];
                         elseif ($check2=='temperature') $KSmeasured=$stack[0][children][$i][children][$j][children][$k][attrs][measured];
                         elseif ($check2=='willi') $willi=1;
                        }

		 	if (($room != 'hidden') and ($showroom=='ALL' or $showroom==$room))
		 	{
			 $Xks=$imgmaxxks;
			 $Yks=$imgmaxyks*4;
			##gnuplot
			if ($showks == $KSdev)
                                {echo "\r<tr valign=center><td align=center $bg2 valign=center>
                                       <form action=$forwardurl method='POST'>
                                       <input type=hidden name=Action value=hide>
                                        <input type=hidden name=showroom value=$showroom>
                                        <input type=hidden name=showks value=''>
                                       <input type=submit value='hide'></form></td>";}
                         else
					{echo "\r<tr valign=center><td align=center $bg2 valign=center>
                                       <form action=$forwardurl method='POST'>";

                                        echo "<input type=hidden name=Action value=showks><br>Temp./Hum.<br>
                                                <input type=radio name=kstyp value=\"1\" checked><br><br>";
                                        if (! isset ($willi)) echo "Wind/Rain<br>"; else  echo "Air Pressure/ Willi<br>";
                                        echo "<input type=radio name=kstyp value=\"2\"><br><br>";

                                        echo "<input type=hidden name=showroom value=$showroom>
                                        <input type=hidden name=showks value=$KSdev>
                                       <input type=submit value='show'></form></td>";
                         };

			 echo "\r<td $bg2 center=align colspan=3>";
                         echo "<img src='include/ks300.php?drawks=$KSdev&room=$room&avgmonth=$KSavgmonth&avgday=$KSavgday' width='$Xks' height='$Yks'>";
                         echo "</td></tr>";
                         if (! isset ($willi)) $drawtype="KS300"; else $drawtype="WS300";
                        if (($showks == $KSdev) and  $showgnuplot=='1')
                                 {
                                if ($kstyp=="1")
                                {
                                        drawgnuplot($KSdev,$drawtype."_t1",$gnuplot,$pictype,$logpath,0,0,$DBUse);
                                }
                                else
                                {
                                        drawgnuplot($KSdev,$drawtype."_t2",$gnuplot,$pictype,$logpath,0,0,$DBUse);
                                }
                                $KSdev1=$KSdev.'1';
                                echo "\r<tr><td colspan=5 align=center><br><img src='tmp/$KSdev.$pictype'><br><br><br>
                                        <img src='tmp/$KSdev1.$pictype'><br><br>
                                        </td></tr>";
                        }

                        }
                        }
                }
			 
	############################
	       elseif ($stack[0][children][$i][name]=='LOGS'or $stack[0][children][$i][name]=='FileLog_LIST')
	       {
		echo "\r<tr><td $bg1 colspan=4><font $fontcolor1>
			\r<table  cellspacing='0' cellpadding='0' width='100%'>
			<tr><td><font $fontcolor1>LOGS</td><td align=right><font $fontcolor1><b>";
		if (! isset ($showlogs))	
		{ echo "<a href=$formwardurl?showlogs&showroom=$showroom$link>show</a>";}
		else
		{ 
		echo "<a href=$formwardurl?showroom=$showroom$link&showlogs=none>hide</a>";}
	
	      		echo "</font></td></tr>\r</table></td></tr>\r";
		if (isset ($showlogs))
		 	for($j=0; $j < count($stack[0][children][$i][children]); $j++)
			 {
			for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
			{
			   	$check=$stack[0][children][$i][children][$j][children][$k][attrs][key];
			 	if ($check=='DEF')
			  	{
				$value=$stack[0][children][$i][children][$j][children][$k][attrs][value];
			  	}	
			}
			 	$name=$stack[0][children][$i][children][$j][attrs][name];
			 	echo "\r<tr><td colspan=1 border=0>Log:</td>
					<td colspan=2 border=0>$value / $name </td></tr>";
				
			 }
		} 
	############################
	       elseif ($stack[0][children][$i][name]=='NOTIFICATIONS' or $stack[0][children][$i][name]=='notify_LIST')
	       {
		echo "\r<tr><td $bg1 colspan=4><font $fontcolor1>
			\r<table  cellspacing='0' cellpadding='0' width='100%'>
			<tr><td><font $fontcolor1>NOTIFICATIONS</td><td align=right><font $fontcolor1><b>";
		if (! isset ($shownoti))	
		{ echo "<a href=$formwardurl?shownoti&showroom=$showroom$link>show</a>";}
		else
		{ echo "<a href=$formwardurl?showroom=$showroom$link&shownoti=none>hide</a>";}
	      	echo "</font></td></tr>\r</table></td></tr>\r\r";

		if (isset ($shownoti))
		 	for($j=0; $j < count($stack[0][children][$i][children]); $j++)
			 {
			for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
			{
			   	$check=$stack[0][children][$i][children][$j][children][$k][attrs][key];
			 	if ($check=='DEF')
			  	{
				$value=$stack[0][children][$i][children][$j][children][$k][attrs][value];
			  	}	
			}
			 	$name=$stack[0][children][$i][children][$j][attrs][name];
			 	echo "\r<tr><td colspan=1>Notification:</td><td colspan=2>$value / $name</td></tr>";
			 }
		} 
	############################
	       elseif ($stack[0][children][$i][name]=='AT_JOBS' or $stack[0][children][$i][name]=='at_LIST')
	       {
		echo "\r<tr><td $bg1 colspan=4><font $fontcolor1>
			\r<table  cellspacing='0' cellpadding='0' width='100%'>
			<tr><td><font $fontcolor1>AT_JOBS</td><td align=right><font $fontcolor1><b>";
		if (! isset ($showat))	
		{ echo "<a href=$formwardurl?showat&showroom=$showroom$link>show</a>";}
		else
		{ echo "<a href=$formwardurl?showroom=$showroom$link&showat=none>hide</a>";}
	      	echo "</font></td></tr>\r</table></td></tr>\r\r";


		if (isset ($showat))
		 	for($j=0; $j < count($stack[0][children][$i][children]); $j++)
			 {
				$command=$stack[0][children][$i][children][$j][attrs][name];
				$next=$stack[0][children][$i][children][$j][attrs][state];
				$order=$command;
			for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
			{
			   	$check=$stack[0][children][$i][children][$j][children][$k][attrs][key];
			 	if ($check=='DEF')
			  	{
				$value=$stack[0][children][$i][children][$j][children][$k][attrs][value];
			  	}	
			}

				$order='delete '.$order;
			 	echo "\r<tr><td> AT-Job: </td><td><a href='$phpfileurl?Action=exec&order=$order$link'>del </a> $value / $next / $command</td></tr>";
			 }
		} 
	};
## that is all of fhem
##################### User defined graphics??
	if ($UserDefs==1)
        {
	 echo "\r\r<tr><td $bg1 colspan=4><font $fontcolor1>
                        \r\r<table  cellspacing='0' cellpadding='0' width='100%'>
                        <tr><td><font $fontcolor1>USER DEFINED</td><td align=right><font $fontcolor1><b>
			</font></td></tr>\r</table></td></tr>\r";

		 $type='userdef';

                for($i=0; $i < count($userdef); $i++)
                {
                      $room=$userdef[$i]['room'];
		      $UserDef=$userdef[$i]['name'];
		      $imgmaxxuserdef=$userdef[$i]['imagemax'];
		      $imgmaxyuserdef=$userdef[$i]['imagemay'];


		 if (($room != 'hidden') and ($showroom=='ALL' or $showroom==$room))
                 {
                        if ($showuserdefgnu== $UserDef) {$formvalue="hide";$gnuvalue="";}
                        else {$formvalue="show";$gnuvalue=$UserDef;};
                        echo "\r<tr valign=center><td align=center $bg2 valign=center colspan=1>
                                       \r<form action=$forwardurl method='POST'>
                                       <input type=hidden name=Action value=showuserdefgnu>
                                        <input type=hidden name=showroom value=$showroom>
                                        <input type=hidden name=showuserdefgnu value=$gnuvalue>
                                       <input type=submit value='$formvalue'></form></td><td $bg2 colspan=1>\r";

                        echo "\r<img src='include/userdefs.php?userdefnr=$i' width='$imgmaxxuserdef' height='$imgmaxyuserdef'></td> </tr>";

                if ($showuserdefgnu == $UserDef and $showgnuplot == 1)
                                {drawgnuplot($UserDef,$type,$gnuplot,$pictype,$logpath,$userdef[$i],$i,$DBUse);
                                $UserDef1=$UserDef.'1';
                                echo "\r<tr><td colspan=5 align=center><br><img src='tmp/$UserDef.$pictype'><br><br><br>
                                        <img src='tmp/$UserDef1.$pictype'><br><br>
                                        </td></tr>";
                }
                }# /not room hidden

                }

        } #/userdefs

##################### taillog


	if ($taillog==1) 
	{
		echo "\r\r<tr><td $bg1 colspan=4><font $fontcolor1>
			\r\r<table  cellspacing='0' cellpadding='0' width='100%'>
			<tr><td><font $fontcolor1>$taillogorder</td><td align=right><font $fontcolor1><b>";
		if (! isset ($showhist))	
		{ echo "<a href=$formwardurl?showhist&showroom=$showroom$link>show</a>";}
		else
		{ echo "<a href=$formwardurl?showroom=$showroom$link&showhist=none>hide</a>";}
	      	echo "</font></td></tr>\r</table></td></tr>";
	if (isset ($showhist)) {foreach($tailoutput as $data) echo "\r<tr><td  colspan=1>History</td><td colspan=2>$data</td></tr>";};
	

	};
	echo "\r</td></tr>\r</table></td></tr>\r</table></font>\r</table></body></html>";

?>