2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-19 12:46:03 +00:00

70_Pushover.pm: more convenient new line usage

git-svn-id: https://svn.fhem.de/fhem/trunk@10062 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
jpawlowski 2015-12-01 13:54:55 +00:00
parent 40aaf444e1
commit f0057f76fa

View File

@ -771,21 +771,23 @@ sub Pushover_SetMessage {
my $body = "title=" . urlEncode( $values{title} ); my $body = "title=" . urlEncode( $values{title} );
if ( $values{message} =~ if ( $values{message} =~
/\<(\/|)[biu]\>|\<(\/|)font(.+)\>|\<(\/|)a(.*)\>/ /\<(\/|)[biu]\>|\<(\/|)font(.+)\>|\<(\/|)a(.*)\>|\<br\s?\/?\>/
&& $values{message} !~ /^nohtml:.*/ ) && $values{message} !~ /^nohtml:.*/ )
{ {
Log3 $name, 4, "Pushover $name: handling message with HTML content"; Log3 $name, 4, "Pushover $name: handling message with HTML content";
$body = $body . "&html=1"; $body = $body . "&html=1";
$values{message} =~ s/(?<!\\)(\\n)/<br \/>/g; # replace \n by <br /> but ignore \\n
} }
if ( $values{message} =~ /^nohtml:.*/ ) { elsif ( $values{message} =~ /^nohtml:.*/ ) {
Log3 $name, 4, Log3 $name, 4,
"Pushover $name: explicitly ignoring HTML tags in message"; "Pushover $name: explicitly ignoring HTML tags in message";
$values{message} =~ s/^(nohtml:).*//; $values{message} =~ s/^(nohtml:).*//;
} }
$values{message} = urlEncode( $values{message} );
$values{message} = urlEncode( $values{message} ); # HttpUtil's urlEncode() does not handle \n but would escape % so we encode first
$values{message} =~ s/(?<!%5c)(%5cn)/%0a/g; # replace any URL-encoded \n with their hex equivalent but ignore \\n $values{message} =~ s/(?<!%5c)(%5cn)/%0a/g; # replace any URL-encoded \n with their hex equivalent but ignore \\n
$values{message} =~ s/%5c%5cn/%5cn/g; # replace any URL-encoded \\n with \n $values{message} =~ s/%5c%5cn/%5cn/g; # replace any URL-encoded \\n by \n
$body = $body . "&message=" . $values{message}; $body = $body . "&message=" . $values{message};
if ( $values{device} ne "" ) { if ( $values{device} ne "" ) {