Koha/debian/scripts/koha-email-disable
Tomas Cohen Arazi 31b43ac1fe Bug 10150 - koha-email-disable error handling
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 <chris@bigballofwax.co.nz>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-05-02 15:04:57 -07:00

93 lines
1.9 KiB
Bash
Executable file

#!/bin/sh
#
# 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
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set -e
die()
{
echo "$@" 1>&2
exit 1
}
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 <<EOF
Disables the email for Koha instances.
Usage: $scriptname instancename1 instancename2...
EOF
}
# Parse command line.
[ $# -ge 1 ] || ( usage ; die "Missing instance name..." )
for name in "$@"
do
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
done
exit 0