From 964c042b75b3db391f413810efec86e4955c910b Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 29 Apr 2013 12:29:40 -0300 Subject: [PATCH] Bug 10150 - koha-email-disable error handling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" koha-email-disable now - Checks the instance exists. - Checks if email is already disabled. Regards To+ Sponsored-by: Universidad Nacional de Córdoba Signed-off-by: Chris Cormack Signed-off-by: Mason James --- debian/docs/koha-email-disable.xml | 4 +- debian/scripts/koha-email-disable | 81 ++++++++++++++++++++++++++++++----- 2 files changed, 71 insertions(+), 14 deletions(-) diff --git a/debian/docs/koha-email-disable.xml b/debian/docs/koha-email-disable.xml index 81834f2..d901123 100644 --- a/debian/docs/koha-email-disable.xml +++ b/debian/docs/koha-email-disable.xml @@ -17,7 +17,7 @@ koha-email-disable - Turn off the email for a Koha instance. + Turn off the email for Koha instances. UNIX/Linux @@ -28,7 +28,7 @@ Description - Turn off the email for a Koha instance. + Turn off the email for Koha instances. See also diff --git a/debian/scripts/koha-email-disable b/debian/scripts/koha-email-disable index 5d381cb..615f4f4 100755 --- a/debian/scripts/koha-email-disable +++ b/debian/scripts/koha-email-disable @@ -1,6 +1,6 @@ #!/bin/sh # -# koha-email-disable -- turn off the email for a Koha instance +# koha-email-disable - turn off the email for Koha instances # Copyright 2010 Catalyst IT, Ltd # # This program is free software: you can redistribute it and/or modify @@ -18,19 +18,76 @@ set -e -if [ "$#" = 0 ] -then - echo "Disables the email for a koha instance." 1>&2 - echo "Usage: $0 instancename..." 1>&2 +die() +{ + echo "$@" 1>&2 exit 1 -fi -libdir=/var/lib/koha +} + +warn() +{ + echo "$@" 1>&2 +} + +is_instance() +{ + local instancename=$1 + + if find /etc/koha/sites -mindepth 1 -maxdepth 1 \ + -type d -printf '%f\n'\ + | grep -q -x $instancename ; then + return 0 + else + return 1 + fi +} + +is_email_enabled() +{ + local instancename=$1 + + if [ -e /var/lib/koha/$instancename/email.enabled ]; then + return 0 + else + return 1 + fi +} + +disable_email() +{ + local instancename=$1 + local libdir="/var/lib/koha" + + rm -f $libdir/$instancename/email.enabled + + echo "Disabled email for instance $instancename." +} + +usage() +{ + local scriptname=$0 + cat <&2 - continue + if is_instance $name; then + if is_email_enabled $name; then + disable_email $name + else + warn "Email already disabled for instance $name." + fi + else + warn "Unknown instance $name." fi - rm -f $libdir/$name/email.enabled done + +exit 0 -- 1.7.2.5