#!/bin/bash # # -> config.sh # # version: 1.1 # author: Massimo Mund # date: 21.12.2007 # description: a script to easily add, remove and edit users from a murmur server # #information version="1.1" #settings bin="sqlite3" dbfile="/var/lib/murmurd/murmurd.sqlite" function checkforsqlite() { if [ ! -f /usr/bin/sqlite3 ]; then echo "it seems that there is no sqlite3 installed, which is necessary for this script! " echo "install sqlite3 and try it again!" exit fi } function help () { echo "" echo " usage: config.sh | --help | --version" echo "" echo " commands:" echo " showusers" echo " adduser [] []" echo " deluser []" echo " setpw []" echo " setemail []" echo "" exit } function version() { echo "config.sh : version: $1" exit } function invalidoption () { echo "config.sh : invalid option -- $*" echo "Try 'config.sh --help' for more information." exit } checkforsqlite while [ "$#" -gt "0" ]; do case $1 in showusers) $bin $dbfile "select * from players;" exit ;; adduser) shift username="$1" email="$4" pw="$2" serverid="$3" playerid=$($bin $dbfile "select MAX(player_id)+1 as id from players WHERE player_id < 10000;") if [ "$serverid" == "" ]; then serverid="1" fi $bin $dbfile "insert into players (server_id, player_id, name, email, pw) values($serverid, $playerid, '$username', '$email', '$pw');" exit ;; deluser) shift username="$1" serverid="$2" if [ "$serverid" == "" ]; then serverid="1" fi $bin $dbfile "delete from players where name='$username';" exit ;; setpw) shift username="$1" newpw="$2" serverid="$3" if [ "$serverid" == "" ]; then serverid="1" fi $bin $dbfile "update players set pw='$newpw' where name='$username';" exit ;; setemail) shift username="$1" newemail="$2" serverid="$3" if [ "$serverid" == "" ]; then serverid="1" fi $bin $dbfile "update players set email='$newemail' where name='$username';" exit ;; --help) help ;; --version) version $version ;; *) invalidoption $* break ;; esac done invalidoption $* exit 0