From 63a573568c6257149d32b78113fd1ec3d5225bc5 Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Tue, 28 Feb 2012 09:25:41 +0000 Subject: [PATCH] EMBEDDED mode for FWEXT (for the floorplan project) git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@1302 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/webfrontend/pgm2/01_FHEMWEB.pm | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/fhem/webfrontend/pgm2/01_FHEMWEB.pm b/fhem/webfrontend/pgm2/01_FHEMWEB.pm index 83d77d051..83456cd21 100755 --- a/fhem/webfrontend/pgm2/01_FHEMWEB.pm +++ b/fhem/webfrontend/pgm2/01_FHEMWEB.pm @@ -393,13 +393,23 @@ FW_AnswerCall($) ############################## # Axels FHEMWEB modules... $arg = $1; + my $fwextPtr; if(defined($data{FWEXT})) { foreach my $k (sort keys %{$data{FWEXT}}) { if($arg =~ m/^$k/) { - no strict "refs"; - ($FW_RETTYPE, $FW_RET) = &{$data{FWEXT}{$k}{FUNC}}($arg); - use strict "refs"; - return 0; + + if($data{FWEXT}{$k}{EMBEDDED}) { + $fwextPtr = $data{FWEXT}{$k}; + last; + + } else { + no strict "refs"; + ($FW_RETTYPE, $FW_RET) = &{$data{FWEXT}{$k}{FUNC}}($arg); + use strict "refs"; + return 0; + + } + } } } @@ -496,10 +506,14 @@ FW_AnswerCall($) my $rf = AttrVal($FW_wname, "refresh", ""); FW_pO "" if($rf); FW_pO ""; + FW_pO "{STYLESHEET}\" rel=\"stylesheet\"/>" + if($fwextPtr && $fwextPtr->{STYLESHEET}); FW_pO "" if($FW_plotmode eq "SVG"); FW_pO "" if($FW_longpoll); + FW_pO "" + if($fwextPtr && $fwextPtr->{JAVASCRIPT}); FW_pO "\n"; if($FW_cmdret) { @@ -519,7 +533,8 @@ FW_AnswerCall($) } FW_roomOverview($cmd); - if($cmd =~ m/^style /) { FW_style($cmd,undef); } + if($fwextPtr) { &{$fwextPtr->{FUNC}}($arg); } + elsif($cmd =~ m/^style /) { FW_style($cmd,undef); } elsif($FW_detail) { FW_doDetail($FW_detail); } elsif($FW_room) { FW_showRoom(); } elsif($cmd =~ /^logwrapper/) { FW_logWrapper($cmd); }