From cac1ffcc358794aa9aea678d1dad98bf36bd6cd2 Mon Sep 17 00:00:00 2001 From: jpawlowski Date: Mon, 14 Sep 2015 08:40:36 +0000 Subject: [PATCH] 70_Pushover: fix supplementary URL support git-svn-id: https://svn.fhem.de/fhem/trunk@9248 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/70_Pushover.pm | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/fhem/FHEM/70_Pushover.pm b/fhem/FHEM/70_Pushover.pm index 53d10a50d..7de0aab5c 100644 --- a/fhem/FHEM/70_Pushover.pm +++ b/fhem/FHEM/70_Pushover.pm @@ -712,8 +712,10 @@ sub Pushover_SetMessage { $values{cbNr} = int( time() ) + $values{expire}; my $cbReading = "cb_" . $values{cbNr}; - $values{cbNr}++ - until ( !defined( $hash->{READINGS}{$cbReading}{VAL} ) ); + until ( !defined( $hash->{READINGS}{$cbReading}{VAL} ) ) { + $values{cbNr}++; + $cbReading = "cb_" . $values{cbNr}; + } } if ( 1 == AttrVal( $hash->{NAME}, "timestamp", 0 ) ) { @@ -731,10 +733,13 @@ sub Pushover_SetMessage { { my $url; - if ( $callback eq "" - || $values{action} !~ /^http[s]?:\/\/.*$/ ) + if ( + $callback eq "" + || ( $values{action} !~ /^http[s]?:\/\/.*$/ + && $values{action} =~ /^[\w-]+:\/\/.*$/ ) + ) { - $url = $values{action}; + $url = urlEncode( $values{action} ); $values{expire} = ""; } else { @@ -771,10 +776,11 @@ sub Pushover_SetMessage { Log3 $name, 5, "checking to clean up " - . $rBase[1] - . ": ack=" - . $hash->{READINGS}{$rAck} - . " time=" + . $hash->{NAME} + . " $key: time=" + . $rBase[1] . " ack=" + . $hash->{READINGS}{$rAck}{VAL} + . " curTime=" . int( time() ); if ( $hash->{READINGS}{$rAck}{VAL} == 1 @@ -919,7 +925,7 @@ sub Pushover_CGI() { # run FHEM command if desired if ( defined( $hash->{READINGS}{$rAct}{VAL} ) - && $hash->{READINGS}{$rAct}{VAL} !~ /^\w.*:\/\/\w.*$/ ) + && $hash->{READINGS}{$rAct}{VAL} !~ /^[\w-]+:\/\/.*$/ ) { $redirect = "pushover://"; @@ -930,7 +936,7 @@ sub Pushover_CGI() { # redirect to presented URL if ( defined( $hash->{READINGS}{$rAct}{VAL} ) - && $hash->{READINGS}{$rAct}{VAL} =~ /^\w.*:\/\/\w.*$/ ) + && $hash->{READINGS}{$rAct}{VAL} =~ /^[\w-]+:\/\/.*$/ ) { $redirect = $hash->{READINGS}{$rAct}{VAL}; } @@ -1028,7 +1034,8 @@ sub Pushover_CGI() { set Pushover1 msg 'Title' 'This is a text.'
set Pushover1 msg 'Title' 'This is a text.' '' 0 ''
set Pushover1 msg 'Emergency' 'Security issue in living room.' '' 2 'siren' 30 3600
- set Pushover1 msg 'Hint' 'This is a reminder to do something' '' 0 '' '' 3600 'Click here for action' 'set device something'
+ set Pushover1 msg 'Hint' 'This is a reminder to do something' '' 0 '' 0 3600 'Click here for action' 'set device something'
+ set Pushover1 msg 'Emergency' 'Security issue in living room.' '' 2 'siren' 30 3600 'Click here for action' 'set device something'

Notes: @@ -1130,7 +1137,8 @@ sub Pushover_CGI() { set Pushover1 msg 'Titel' 'Dies ist ein Text.'
set Pushover1 msg 'Titel' 'Dies ist ein Text.' '' 0 ''
set Pushover1 msg 'Notfall' 'Sicherheitsproblem im Wohnzimmer.' '' 2 'siren' 30 3600
- set Pushover1 msg 'Erinnerung' 'Dies ist eine Erinnerung an etwas' '' 0 '' '' 3600 'Hier klicken, um Aktion auszuführen' 'set device irgendwas'
+ set Pushover1 msg 'Erinnerung' 'Dies ist eine Erinnerung an etwas' '' 0 '' 0 3600 'Hier klicken, um Aktion auszuführen' 'set device irgendwas'
+ set Pushover1 msg 'Notfall' 'Sicherheitsproblem im Wohnzimmer.' '' 2 'siren' 30 3600 'Hier klicken, um Aktion auszuführen' 'set device something'

Anmerkungen: