diff --git a/fhem/FHEM/01_FHEMWEB.pm b/fhem/FHEM/01_FHEMWEB.pm index e9f437a4a..6f7e01226 100755 --- a/fhem/FHEM/01_FHEMWEB.pm +++ b/fhem/FHEM/01_FHEMWEB.pm @@ -25,7 +25,7 @@ sub FW_logWrapper($); sub FW_makeEdit($$$); sub FW_makeImage(@); sub FW_makeTable($$$@); -sub FW_makeTableFromArray($@); +sub FW_makeTableFromArray($$@); sub FW_pF($@); sub FW_pH(@); sub FW_pHPlain(@); @@ -702,7 +702,9 @@ FW_makeTable($$$@) return if(!$hash || !int(keys %{$hash})); FW_pO $title; - FW_pO ""; + my $titleid = lc($title); + $titleid =~ s/[^A-Za-z]/_/g; + FW_pO "
"; my $si = AttrVal("global", "showInternalValues", 0); my $row = 1; @@ -823,7 +825,7 @@ FW_doDetail($) if($FW_ss) { # FS20MS2 special: on and off, is not the same as toggle my $webCmd = AttrVal($d, "webCmd", undef); if($webCmd) { - FW_pO "
"; + FW_pO "
"; foreach my $cmd (split(":", $webCmd)) { FW_pO ""; FW_pH "cmd.$d=set $d $cmd&detail=$d", $cmd, 1, "col1"; @@ -865,7 +867,7 @@ FW_doDetail($) } } FW_pO ""; - FW_makeTableFromArray("Probably associated with", @dob); + FW_makeTableFromArray("Probably associated with", "assoc", @dob,); FW_pO "
"; @@ -879,13 +881,13 @@ FW_doDetail($) ############################## sub -FW_makeTableFromArray($@) { - my ($txt,@obj) = @_; +FW_makeTableFromArray($$@) { + my ($txt,$class,@obj) = @_; if (@obj>0) { my $row=1; FW_pO "
"; FW_pO "$txt"; - FW_pO ''; + FW_pO '
'; foreach (sort @obj) { FW_pF "
", ($row&1)?"odd":"even"; $row++; @@ -934,8 +936,8 @@ FW_roomOverview($) my (@list1, @list2); push(@list1, ""); push(@list2, ""); if(!$FW_hiddenroom{save} && !$FW_hiddenroom{"Save config"}) { - push(@list1, "Save config"); push(@list2, "$FW_ME?cmd=save"); - push(@list1, ""); push(@list2, ""); + push(@list1, "Save config"); + push(@list2, "$FW_ME?cmd=save"); } ######################## @@ -1009,12 +1011,15 @@ FW_roomOverview($) } else { + my $tblnr = 1; foreach(my $idx = 0; $idx < @list1; $idx++) { my ($l1, $l2) = ($list1[$idx], $list2[$idx]); if(!$l1) { FW_pO "
" if($idx); - FW_pO "" - if($idx
"; + $tblnr++; + } } else { my $td = "
"; @@ -1049,7 +1054,7 @@ FW_roomOverview($) ############## # HEADER FW_pO "
"; - FW_pO '
'; + FW_pO '
'; FW_pO "
"; FW_pO FW_hidden("room", "$FW_room") if($FW_room); FW_pO FW_textfield("cmd", $FW_ss ? 25 : 40, "maininput"); @@ -1076,7 +1081,7 @@ FW_showRoom() FW_pO ""; FW_pO "
"; - FW_pO ""; # Need for equal width of subtables + FW_pO "
"; # Need for equal width of subtables my $rf = ($FW_room ? "&room=$FW_room" : ""); # stay in the room @@ -1834,7 +1839,9 @@ sub FW_displayFileList($@) { my ($heading,@files)= @_; - FW_pO "$heading
"; + my $hid = lc($heading); + $hid =~ s/[^A-Za-z]/_/g; + FW_pO "
$heading
"; FW_pO "
"; my $row = 0; foreach my $f (@files) { @@ -2041,10 +2048,6 @@ FW_pH(@) my $ret; $link = ($link =~ m,^/,) ? $link : "$FW_ME$FW_subdir?$link"; - #actually 'div' should be removed if no class is defined - # as I can't check all code for consistancy I add nonl instead - $class = ($class)?" class=\"$class\"":""; - $txt = "$txt" if (!$nonl); # Using onclick, as href starts safari in a webapp. # Known issue: the pointer won't change @@ -2053,6 +2056,12 @@ FW_pH(@) } else { $ret = "$txt"; } + + #actually 'div' should be removed if no class is defined + # as I can't check all code for consistancy I add nonl instead + $class = ($class)?" class=\"$class\"":""; + $ret = "$ret" if (!$nonl); + $ret = "" if($td); return $ret if($doRet); FW_pO $ret; @@ -2502,8 +2511,6 @@ FW_devState($$@) } - my $style = AttrVal($d, "devStateStyle", ""); - $txt = "
$txt
"; if($hasOnOff) { # Have to cover: "on:An off:Aus", "A0:Aus AI:An Aus:off An:on" @@ -2536,6 +2543,9 @@ FW_devState($$@) } } + my $style = AttrVal($d, "devStateStyle", ""); + $txt = "
$txt
"; + my $type = $defs{$d}{TYPE}; my $sfn = $modules{$type}{FW_summaryFn}; if($sfn) { diff --git a/fhem/FHEM/92_FileLog.pm b/fhem/FHEM/92_FileLog.pm index 79dc45e2c..a72a1fee4 100755 --- a/fhem/FHEM/92_FileLog.pm +++ b/fhem/FHEM/92_FileLog.pm @@ -260,11 +260,12 @@ FileLog_fhemwebFn($$$$) { my ($FW_wname, $d, $room, $pageHash) = @_; # pageHash is set for summaryFn. - return "
$defs{$d}{STATE}
" - if($FW_ss && $pageHash); + return "
". + "$defs{$d}{STATE}
" if($FW_ss && $pageHash); my $row = 0; - my $ret = sprintf("
$ret
", $pageHash ? "" : "block "); + my $ret = sprintf("
", + $pageHash ? "" : "block "); foreach my $f (FW_fileList($defs{$d}{logfile})) { my $class = (!$pageHash ? (($row++&1)?"odd":"even") : ""); $ret .= ""; diff --git a/fhem/FHEM/98_weblink.pm b/fhem/FHEM/98_weblink.pm index 5d1645fae..1505c1a13 100755 --- a/fhem/FHEM/98_weblink.pm +++ b/fhem/FHEM/98_weblink.pm @@ -102,11 +102,11 @@ FW_showWeblink($$$$) sub weblink_FwDetail($@) { - my ($d, $text)= @_; + my ($d, $text, $nobr)= @_; return "" if(AttrVal($d, "group", "")); my $alias= AttrVal($d, "alias", $d); - my $ret = "
"; + my $ret = ($nobr ? "" : "
"); $ret .= "$text " if($text); $ret .= FW_pHPlain("detail=$d", $alias) if(!$FW_subdir); $ret .= "
"; @@ -267,8 +267,10 @@ weblink_FwFn($$$$) my $arg="$FW_ME?cmd=showlog $d $va[0] $va[1] $va[2]$wl"; if(AttrVal($d,"plotmode",$FW_plotmode) eq "SVG") { my ($w, $h) = split(",", AttrVal($d,"plotsize",$FW_plotsize)); + $ret .= "
"; $ret .= "\n"; + $ret .= "
"; } else { $ret .= ""; @@ -280,7 +282,7 @@ weblink_FwFn($$$$) $ret .= "
"; } else { - $ret .= weblink_FwDetail($d) if(!$FW_hiddenroom{detail}); + $ret .= weblink_FwDetail($d, "", 1) if(!$FW_hiddenroom{detail}); } @@ -371,7 +373,7 @@ wl_PEdit($$$$) my $ret .= "
"; $ret .= FW_hidden("detail", $d); $ret .= FW_hidden("gplotName", $gp); - $ret .= "
"; + $ret .= "
"; $ret .= ""; $ret .= ""; $ret .= "";
Plot title".wl_txt("title", "", $conf{title}, 32)."