#!/bin/bash
# Copyright (c) 2003-2014  Pavel Rychly, Vojtech Kovar, Milos Jakubicek

cgipath=$1
datapath=$2

if test -z "$cgipath" || test -z "$datapath"
then
    echo "Usage: setupbonito CGIPATH DATAPATH"
    exit
fi

datadir=$DESTDIR/usr/share/bonito
setupdirs='css css/images js img misc'
setupfiles='index.html css/view.css css/bonito.css css/print_bonito.css css/jquery-ui.min.css css/jquery.dataTables.css css/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png css/images/ui-bg_flat_15_cd0a0a_40x100.png css/images/ui-bg_glass_100_e4f1fb_1x400.png css/images/ui-bg_glass_50_3baae3_1x400.png css/images/ui-bg_glass_80_d7ebf9_1x400.png css/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png css/images/ui-bg_highlight-hard_70_000000_1x100.png css/images/ui-bg_highlight-soft_100_deedf7_1x100.png css/images/ui-bg_highlight-soft_25_ffef8f_1x100.png css/images/ui-icons_ffffff_256x240.png css/images/ui-icons_2e83ff_256x240.png css/images/ui-icons_2694e8_256x240.png css/images/ui-icons_3d80b3_256x240.png css/images/ui-icons_72a7cf_256x240.png js/misc.js js/jquery.periodic.js js/jquery-1.7.2.js js/jquery.autocomplete.js js/jquery.cookies.js js/jquery.zclip.js js/d3.v3.js js/d3.cloud.js js/jquery.nouislider.js js/d3.lib.js js/jquery-ui.min.js js/jquery.dataTables.min.js js/jquery.dataTables.aux.js img/minus.png img/plus.png img/red.png img/grey.png img/copy.png img/help.png img/sortleft.png img/sortnode.png img/sortright.png img/logo.png img/lc_logo_new.png img/error-icon.png img/close-icon.png img/roll_down.png img/roll_up.png img/loading.gif img/ok.png img/facebook.png img/linkedin.png img/google_plus.png img/twitter.png img/gear.png img/sort_asc.png img/sort_desc.png img/sort_both.png img/search-icon.png img/favicon.ico img/beta_favicon.ico img/search-icon-white.png misc/ZeroClipboard.swf'


for d in $cgipath $datapath $datapath/cache $datapath/subcorp $datapath/options $datapath/jobs
do
    test -d $DESTDIR$d || mkdir -p $DESTDIR$d
done

for d in $setupdirs; do
    mkdir -p $DESTDIR$cgipath/$d
done

for f in $setupfiles; do
    cp $datadir/$f $DESTDIR$cgipath/$f
done

if test -f $DESTDIR$cgipath/run.cgi
then
    echo "Preserving existing '$DESTDIR$cgipath/run.cgi' file."
    cd $DESTDIR$cgipath
    ln -sf run.cgi run.py
    STR=`python -c 'from run import BonitoCGI; b=BonitoCGI(); print type(b.corpname)==type("") and b.corpname'`
    if [ "$STR" != "False" ]; then
        echo "WARNING: Your run.cgi specifies corpname as Python str, now it should be Unicode instead:"
        echo "Modify \"corpname = '$STR'\" to \"corpname = u'$STR'\""
    fi
    rm -f run.py*
else
    sed -e "s,@MANATEE_REGISTRY\@,$MANATEE_REGISTRY,g" \
	-e "s,@datapath\@,$datapath,g" $datadir/run.cgi > $DESTDIR$cgipath/run.cgi
    chmod +x $DESTDIR$cgipath/run.cgi
fi

touch $DESTDIR$datapath/htpasswd

if test -f $DESTDIR$cgipath/.htaccess
then
    echo "Preserving existing '$DESTDIR$cgipath/.htaccess' file."
else
    cat >$DESTDIR$cgipath/.htaccess <<EOF
#AuthType Basic
#AuthName Bonito
#AuthUserFile $datapath/htpasswd
#Require valid-user
EOF
fi

echo "Make sure $datapath/ subdirs are writable for a webserver running $cgipath/run.cgi"
echo "Edit corpus list, default corpus and other global options in $cgipath/run.cgi "
echo "Change access options in $cgipath/.htaccess and/or add usernames to $datapath/htpasswd"
