diff options
Diffstat (limited to 'localkannel-dispatch')
-rwxr-xr-x | localkannel-dispatch | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/localkannel-dispatch b/localkannel-dispatch index 7343b67..00cc6e3 100755 --- a/localkannel-dispatch +++ b/localkannel-dispatch @@ -113,8 +113,7 @@ return1() { vardir="/var/lib/kannel/hello" findobjects() { set -e - type="$1"; shift || return1 "Internal error (findobjects: missing type)!" - [ -n "$type" ] || return1 "Internal error (findobjects: empty type)!" + type="$1"; [ -n "$type" ] || return1 "Internal error (findobjects: empty type)!"; shift limit="$@" regex="$(echo "$limit" | perl -ne '/^\/(.+)\/$/ and print $1')" args="$(echo "$limit" | perl -ne 's/.*?([a-z0-9]+).*?/ $1/g and print')" @@ -133,10 +132,8 @@ findobjects() { } addobject() { set -e - type="$1"; shift || return1 "Internal error (addobject: missing type)!" - [ -n "$type" ] || return1 "Internal error (addobject: empty type)!" - name="$1"; shift || return1 "Internal error (addobject: missing name)!" - [ -n "$name" ] || return1 "Internal error (addobject: empty name)!" + type="$1"; [ -n "$type" ] || return1 "Internal error (addobject: empty type)!"; shift + name="$1"; [ -n "$name" ] || return1 "Internal error (addobject: empty name)!"; shift oldname="$(findobjects "$type" "$name")" || return1 "$oldname" [ -z "$oldname" ] || return1 "$type \"$name\" already exist." mkdir -p "$vardir/$type/$name" @@ -145,10 +142,8 @@ addobject() { } delobject() { set -e - type="$1"; shift || return1 "Internal error (delobject: missing type)!" - [ -n "$type" ] || return1 "Internal error (delobject: empty type)!" - name="$1"; shift || return1 "Internal error (delobject: missing name)!" - [ -n "$name" ] || return1 "Internal error (delobject: empty name)!" + type="$1"; [ -n "$type" ] || return1 "Internal error (delobject: empty type)!"; shift + name="$1"; [ -n "$name" ] || return1 "Internal error (delobject: empty name)!"; shift oldname="$(findobjects "$type" "$name")" || return1 "$oldname" [ -n "$oldname" ] || return1 "No $type named \"$name\" (typo? or perhaps already deleted?)." rmdir1 "$vardir/$type/$name" @@ -176,7 +171,7 @@ case "$app" in add|create) case "$1" in user|group) - objecttype="$1"; shift || exit1 "Internal error while adding object." + objecttype="$1"; shift objectname="$(addobject "$objecttype" "$@")" || exit1 "Failed adding $objecttype${objectname+: $objectname}!" /usr/local/sbin/localsendsms "$to" "$objecttype \"$objectname\" added." ;; @@ -188,7 +183,7 @@ case "$app" in del|delete|remove) case "$1" in user|group) - objecttype="$1"; shift || exit1 "Internal error while deleting object." + objecttype="$1"; shift objectname="$(delobject "$objecttype" "$@")" || exit1 "Failed deleting $objecttype${objectname+: $objectname}!" /usr/local/sbin/localsendsms "$to" "$objecttype \"$objectname\" deleted." ;; |