From 16542abffa25dadd328a1ddc4dc4fb72cc137a75 Mon Sep 17 00:00:00 2001 From: Jonas Date: Thu, 20 May 2010 20:08:30 +0200 Subject: Add function delobject(), and keyword del/delete/remove. --- localkannel-dispatch | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'localkannel-dispatch') diff --git a/localkannel-dispatch b/localkannel-dispatch index 05e00c8..7343b67 100755 --- a/localkannel-dispatch +++ b/localkannel-dispatch @@ -143,6 +143,17 @@ addobject() { chgrp --reference="$vardir" "$vardir/$type/$name" echo "$name" } +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)!" + oldname="$(findobjects "$type" "$name")" || return1 "$oldname" + [ -n "$oldname" ] || return1 "No $type named \"$name\" (typo? or perhaps already deleted?)." + rmdir1 "$vardir/$type/$name" + echo "$name" +} case "$app" in @*) @@ -174,6 +185,18 @@ case "$app" in ;; esac ;; + del|delete|remove) + case "$1" in + user|group) + objecttype="$1"; shift || exit1 "Internal error while deleting object." + objectname="$(delobject "$objecttype" "$@")" || exit1 "Failed deleting $objecttype${objectname+: $objectname}!" + /usr/local/sbin/localsendsms "$to" "$objecttype \"$objectname\" deleted." + ;; + *) + exit1 "Cannot delete \"$1\" (try \"del user\" or \"del group\" instead)." + ;; + esac + ;; status) msg="$(/usr/local/sbin/localshowkannelstatus)" /usr/local/sbin/localsendsms "$to" "$msg" -- cgit v1.2.3