#! /bin/sh -efu

#
# Moodle tools
#
# @package   mt
# @copyright 2012 Aleksey Avdeev <solo@altlinux.ru>
# @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v2 or later
#

PROG="${0##*/}"

PATH="/usr/sbin:$PATH"

moodledir='/var/www/webapps/moodle'
configfilename='config.php'
configfile="$moodledir/$configfilename"
distrolib="$moodledir/install/distrolib.php"
dataroot="/var/lib/moodle/default"
perm=2770
group="_webserver"
msg=
noconfig=
nodistrolib=

. shell-error

TEMP=`getopt -n "$PROG" -o c:,f:,l:,m: -l config:,file:,distrolib:,msg:,no-config-update,no-distrolib-update -- "$@"`
eval set -- "$TEMP"

while :; do
	case "$1" in
		--)
			shift
			break
			;;
		-c|-f|--config|--file)
			shift
			configfile="$1"
			;;
		-l|--distrolib)
			shift
			distrolib="$1"
			;;
		-m|--msg)
			shift
			msg="$1"
			;;
		--no-config-update)
			shift
			noconfig='yes'
			;;
		--no-distrolib-update)
			shift
			nodistrolib='yes'
			;;
		*) fatal "Unrecognized option: $1"
			;;
	esac
	shift
done

dataroot="$1"

if [ -z "$noconfig" ]; then
	olddataroot="`mt-getCFG ${configfile:+--file="$configfile"} dataroot 2>/dev/null ||:`"
fi
if [ -z "$nodistrolib" ]; then
	olddefdataroot="`mt-getdef ${distrolib:+--file="$distrolib"} dataroot 2>/dev/null ||:`"
fi

if [ -z "$nodistrolib" ] && [ "$olddefdataroot" != "$dataroot" ]; then
	mt-setdef ${distrolib:+--file="$distrolib"} ${msg:+--msg="$msg"} dataroot "$dataroot"
fi

if [ -z "$noconfig" ] && [ "$olddataroot" != "$dataroot" ]; then
	mt-setCFG ${configfile:+--file="$configfile"} ${msg:+--msg="$msg"} dataroot "$dataroot"
fi

if [ ! -d "$dataroot" ]; then
	mkdir -p "$dataroot"
	chgrp $group "$dataroot"
	chmod $perm "$dataroot"
fi
