diff --git a/dnsapi/dns_world4you.sh b/dnsapi/dns_world4you.sh
index fd124754..bcf256ff 100644
--- a/dnsapi/dns_world4you.sh
+++ b/dnsapi/dns_world4you.sh
@@ -54,15 +54,14 @@ dns_world4you_add() {
if _contains "$res" "successfully"; then
return 0
else
- msg=$(echo "$res" | tr '\n' '\t' | sed 's/.*
[^\t]*\t *\([^\t]*\)\t.*/\1/')
- if _contains "$msg" '^<\!DOCTYPE html>'; then
- msg='Unknown error'
- fi
- _err "Unable to add record: $msg"
- if _contains "$msg" '^<\!DOCTYPE html>'; then
+ msg=$(echo "$res" | grep -A 15 'data-type="danger"' | grep "]*>[^<]" | sed 's/<[^>]*>\|^\s*//g')
+ if [ "$msg" = '' ]; then
+ _err "Unable to add record: Unknown error"
echo "$ret" >'error-01.html'
echo "$res" >'error-02.html'
_err "View error-01.html and error-02.html for debugging"
+ else
+ _err "Unable to add record: my.world4you.com: $msg"
fi
return 1
fi
@@ -119,15 +118,14 @@ dns_world4you_rm() {
if _contains "$res" "successfully"; then
return 0
else
- msg=$(echo "$res" | tr '\n' '\t' | sed 's/.*[^\t]*\t *\([^\t]*\)\t.*/\1/')
- if _contains "$msg" '^<\!DOCTYPE html>'; then
- msg='Unknown error'
- fi
- _err "Unable to remove record: $msg"
- if _contains "$msg" '^<\!DOCTYPE html>'; then
+ msg=$(echo "$res" | grep -A 15 'data-type="danger"' | grep "]*>[^<]" | sed 's/<[^>]*>\|^\s*//g')
+ if [ "$msg" = '' ]; then
+ _err "Unable to remove record: Unknown error"
echo "$ret" >'error-01.html'
echo "$res" >'error-02.html'
_err "View error-01.html and error-02.html for debugging"
+ else
+ _err "Unable to remove record: my.world4you.com: $msg"
fi
return 1
fi
@@ -199,6 +197,6 @@ _get_paketnr() {
TLD="$domain"
_debug domain "$domain"
RECORD=$(echo "$fqdn" | cut -c"1-$((${#fqdn} - ${#TLD} - 1))")
- PAKETNR=$(echo "$form" | grep "data-textfilter=\".* $domain " | _head_n 1 | sed 's/^.* \([0-9]*\) .*$/\1/')
+ PAKETNR=$(echo "$form" | grep "data-textfilter=\".* $domain " | _tail_n 1 | sed "s|.*$WORLD4YOU_API/\\([0-9]*\\)/.*|\\1|")
return 0
}