plugins/managesieve/lib/rcube_sieve_script.php | ●●●●● patch | view | raw | blame | history | |
plugins/managesieve/tests/src/parser_notify_a | ●●●●● patch | view | raw | blame | history | |
plugins/managesieve/tests/src/parser_notify_b | ●●●●● patch | view | raw | blame | history |
plugins/managesieve/lib/rcube_sieve_script.php
@@ -868,13 +868,15 @@ if ($method_components['scheme'] == 'mailto') { $notify['address'] = $method_components['path']; $method_params = array(); parse_str($method_components['query'], $method_params); if (array_key_exists('query', $method_components)) { parse_str($method_components['query'], $method_params); } $method_params = array_change_key_case($method_params, CASE_LOWER); /* magic_quotes_gpc and magic_quotes_sybase affect the output of parse_str */ if (ini_get('magic_quotes_gpc') || ini_get('magic_quotes_sybase')) { array_map('stripslashes', $method_params); } $notify['body'] = $method_params['body']; $notify['body'] = (array_key_exists('body', $method_params)) ? $method_params['body'] : ''; } $result[] = $notify; plugins/managesieve/tests/src/parser_notify_a
New file @@ -0,0 +1,16 @@ require ["enotify","variables"]; if header :contains "from" "boss@example.org" { notify :importance "1" :message "This is probably very important" "mailto:alm@example.com"; stop; } if header :matches "Subject" "*" { set "subject" "${1}"; } if header :matches "From" "*" { set "from" "${1}"; } notify :importance "3" :message "${from}: ${subject}" "mailto:alm@example.com"; plugins/managesieve/tests/src/parser_notify_b
New file @@ -0,0 +1,15 @@ require ["envelope","variables","enotify"]; if envelope :all :matches "from" "*" { set "env_from" " [really: ${1}]"; } if header :matches "Subject" "*" { set "subject" "${1}"; } if address :all :matches "from" "*" { set "from_addr" "${1}"; } notify :message "${from_addr}${env_from}: ${subject}" "mailto:alm@example.com";