diff options
Diffstat (limited to 'abs/mv-core')
-rwxr-xr-x | abs/mv-core/MythVantage-config/restore_default_settings.sh | 93 |
1 files changed, 65 insertions, 28 deletions
diff --git a/abs/mv-core/MythVantage-config/restore_default_settings.sh b/abs/mv-core/MythVantage-config/restore_default_settings.sh index e2b7044..dcf5e23 100755 --- a/abs/mv-core/MythVantage-config/restore_default_settings.sh +++ b/abs/mv-core/MythVantage-config/restore_default_settings.sh @@ -13,6 +13,7 @@ Thistemplate="" declare -i OVERRIDE=0 declare -i EVERYTHING=0 + function CMD_DEFINE () { #add override check if [ x$Thistemplate = xsyssettings -a $OVERRIDE -eq 1 ] @@ -28,21 +29,24 @@ function CMD_DEFINE () { } function SQL_DEFINE () { + thostname=`echo ${hostname}|tr -C [:alpha:] _` + echo "Using $thostname for temp table postfix" + #$1 is the table name if [ $1 = "settings" ] then - ALTERSQL="Alter table temp_${1}_${hostname} add unique ( value )" + ALTERSQL="Alter table temp_${1}_${thostname} add unique ( value )" else ALTERSQL=";" fi - CREATESQL="create table temp_${1}_${hostname} like $1;" - COPY_TMP_SQL="replace into temp_${1}_${hostname} (select * from $1 where hostname=\"$hostname\");" - INSERTSQL="LOAD DATA local INFILE '/tmp/$1.txt' REPLACE INTO TABLE temp_${1}_${hostname} FIELDS TERMINATED BY '\t';" + CREATESQL="create table temp_${1}_${thostname} like $1;" + COPY_TMP_SQL="replace into temp_${1}_${thostname} (select * from $1 where hostname=\"$hostname\");" + INSERTSQL="LOAD DATA local INFILE '/tmp/$1.txt' REPLACE INTO TABLE temp_${1}_${thostname} FIELDS TERMINATED BY '\t';" #INSERTSQL="LOAD DATA local INFILE '$TEMPLATES/$Thistemplate/$1.txt' REPLACE INTO TABLE temp_${1}_${hostname} FIELDS TERMINATED BY '\t';" DROPSQL="delete from $1 where hostname=\"$hostname\";" - COPY_BCK_SQL="replace into $1 (select * from temp_${1}_${hostname} where hostname=\"$hostname\");" - DROP_TABLE="Drop table temp_${1}_${hostname}" + COPY_BCK_SQL="replace into $1 (select * from temp_${1}_${thostname} where hostname=\"$hostname\");" + DROP_TABLE="Drop table temp_${1}_${thostname}" } function ARG_ERR() { @@ -58,7 +62,11 @@ function ALSADEVICE () { if [ x$Audiotype = xALSA ] then SoundDevice=ALSA:$SoundDevice + MixerDevice="ALSA:default" + else + MixerDevice="/dev/mixer" fi + } @@ -67,7 +75,7 @@ if [ $# -eq 0 ] then echo "Valid options are:" echo " -c (save|restore|load|uhostname|BECONFIG|ZIP|ACCESSCONTROL)" - echo " -t (syssettings)" + echo " -t (syssettings|hostsettings)" echo " -d databasename" echo " -h hostname" echo " -s systemtype (master|slave|standalone|frontendonly)" @@ -94,11 +102,17 @@ do Thistemplate=$OPTARG if [ x$Thistemplate = x"syssettings" ] - then - echo "" - else - echo "invalid template name" - exit 1 + then + echo "template is syssettings" + loadhost=false + elif [ x$Thistemplate = x"hostsettings" ] + then + echo "template is hostsettings" + Thistemplate=syssettings + loadhost=true + else + echo "invalid template name" + exit 1 fi ;; d) echo "$SWITCH" "$OPTARG" @@ -165,22 +179,40 @@ case $OPERATION in #used to restore settings from syssettings if [ -d $TEMPLATES/$Thistemplate ] then - cd $TEMPLATES/$Thistemplate - for i in $TABLES - do - SQL_DEFINE $i - sed -e "s/REPLACEME/$hostname/g" $i.txt > /tmp/$i.txt - #echo $MYSQLCMD "$SELECTSQL" - echo $i - $MYSQLCMD "$CREATESQL" - $MYSQLCMD "$ALTERSQL" - $MYSQLCMD "$COPY_TMP_SQL" - $MYSQLCMD "$INSERTSQL" - $MYSQLCMD "$DROPSQL" - $MYSQLCMD "$COPY_BCK_SQL " - $MYSQLCMD "$DROP_TABLE " - #rm /tmp/$i.txt - done + cd $TEMPLATES/$Thistemplate + if [ $loadhost = false ] + then + for i in $TABLES + do + SQL_DEFINE $i + sed -e "s/REPLACEME/$hostname/g" $i.txt > /tmp/$i.txt + #echo $MYSQLCMD "$SELECTSQL" + echo $i + $MYSQLCMD "$CREATESQL" + $MYSQLCMD "$ALTERSQL" + $MYSQLCMD "$COPY_TMP_SQL" + $MYSQLCMD "$INSERTSQL" + $MYSQLCMD "$DROPSQL" + $MYSQLCMD "$COPY_BCK_SQL " + $MYSQLCMD "$DROP_TABLE " + #rm /tmp/$i.txt + done + fi + if [ $loadhost = true ] + then + #only load the settings table with values HOST + i=settings + SQL_DEFINE $i + sed -e "s/REPLACEME/$hostname/g" $i.txt > /tmp/$i.txt + echo $i + $MYSQLCMD "$CREATESQL" + $MYSQLCMD "$ALTERSQL" + $MYSQLCMD "$INSERTSQL" + $MYSQLCMD "$COPY_TMP_SQL" + $MYSQLCMD "$DROPSQL" + $MYSQLCMD "$COPY_BCK_SQL" + $MYSQLCMD "$DROP_TABLE " + fi else echo "couldn't find $TEMPLATES/$Thistemplate" fi @@ -282,7 +314,9 @@ case $OPERATION in MUSICFRONT) ALSADEVICE $MYSQLCMD_C "delete from settings where value='AudioOutputDevice' and hostname=\"$hostname\";" + $MYSQLCMD_C "delete from settings where value='MixerDevice' and hostname=\"$hostname\";" $MYSQLCMD_C "REPLACE INTO settings set data='$SoundDevice', value='AudioOutputDevice' , hostname=\"$hostname\";" + $MYSQLCMD_C "REPLACE INTO settings set data='$MixerDevice', value='MixerDevice' , hostname=\"$hostname\";" #need to reload the settings. systemconfig.sh reloadfe ;; @@ -316,6 +350,9 @@ case $OPERATION in done SQL="update settings set data='0' where value='HostaccesshostypeSystemtype' and hostname=\"$hostname\" ;" $MYSQLCMD_C "$SQL" + SQL="update settings set data='0' where value='Hostaccessuser' and hostname=\"$hostname\" ;" + $MYSQLCMD_C "$SQL" + ;; esac #SELECT * INTO OUTFILE 'data.txt' |