Koha-clms/debian/scripts/koha-list

75 lines
2.1 KiB
Bash
Executable File

#!/bin/sh
#
# koha-instances -- List all 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
is_enabled() {
if grep '^[[:space:]]*Include /etc/koha/apache-shared-disable.conf' \
"/etc/apache2/sites-available/$name" > /dev/null
then
return 1
else
return 0
fi
}
help() {
echo <<eoh
Lists Koha instances, optionally only those that are enabled or have
email turned on.
Usage: $0 [--enabled] [--email] [-h]
Options:
--enabled only show instances that are enabled
--email only show instances that have email enabled
--noemail only show instances that do not have email enabled
-h this help
The filtering options can be combined, and you probably want to do this
(except --email and --noemail, that's just silly.)
eoh
}
enabled=no
email=no
noemail=no
args=$(getopt -l enabled,email,noemail -o h -n $0 -- "$@")
set -- $args
while [ ! -z "$1" ]
do
case "$1" in
-h) help; exit;;
--email) email=yes;;
--enabled) enabled=yes;;
--noemail) noemail=yes;;
*) break;;
esac
shift
done
find /etc/koha/sites -mindepth 1 -maxdepth 1 -type d -printf '%f\n' |
sort |
while read name
do
[ "$enabled" = yes ] && ! is_enabled "$name" && continue
[ "$email" = yes ] && [ ! -e /var/lib/koha/$name/email.enabled ] && continue
[ "$noemail" = yes ] && [ -e /var/lib/koha/$name/email.enabled ] && continue
echo "$name"
done