diff options
| author | root <root@elwms02.(none)> | 2010-04-06 16:13:08 +0200 |
|---|---|---|
| committer | root <root@elwms02.(none)> | 2010-04-06 16:13:08 +0200 |
| commit | 0e7005fcc7483c01aa102fbea358c5ac65a48d62 (patch) | |
| tree | 11517ce0d3d2977c6732b3aa583b0008083e0bd3 /plugins/admin | |
| download | x-vdr-0e7005fcc7483c01aa102fbea358c5ac65a48d62.tar.gz x-vdr-0e7005fcc7483c01aa102fbea358c5ac65a48d62.tar.bz2 | |
hello world
Diffstat (limited to 'plugins/admin')
| -rw-r--r-- | plugins/admin/admin/admin.conf | 204 | ||||
| -rw-r--r-- | plugins/admin/admin/admin.sh | 15 | ||||
| -rw-r--r-- | plugins/admin/admin/setadm.sh | 26 | ||||
| -rw-r--r-- | plugins/admin/admin/setadmval.sh | 119 | ||||
| -rw-r--r-- | plugins/admin/admin/setvdr.sh | 109 | ||||
| -rw-r--r-- | plugins/admin/plugin.sh | 54 |
6 files changed, 527 insertions, 0 deletions
diff --git a/plugins/admin/admin/admin.conf b/plugins/admin/admin/admin.conf new file mode 100644 index 0000000..8060555 --- /dev/null +++ b/plugins/admin/admin/admin.conf @@ -0,0 +1,204 @@ +# This file contains the tasks for the admin plugin +# Syntax: +# <script>:<name>:<value>:<type>:<length|default>:<choices>:<description>: +:V D R +/VAR:noad:0:B:0:Nein,Ja:Schnittmarken erkennen (NOAD): +/VAR:vdradmin:0:B:0:Nein,Ja:VDRADMIN automatisch starten: +/:WATCHDOG:0:I:60:0,999:Watchdog Timeout in Sekunden: +/:XV_DISPLAY:0:I:0:0,9:XV Display: +---- Verzeichnisse --- +/DIR:VIDEODIR:/var/lib/vdrmedia/video:A:999:abcdefghijklmnopqrstuvwxyz0123456789-._/:Video: +/DIR:MUSICDIR:/var/lib/vdrmedia/mp3:A:999:abcdefghijklmnopqrstuvwxyz0123456789-._/:Musik: +/DIR:DVDISODIR:/var/lib/vdrmedia/isos:A:999:abcdefghijklmnopqrstuvwxyz0123456789-._/:DVD-Isos: +/DIR:PICTUREDIR:/var/lib/vdrmedia/fotos:A:999:abcdefghijklmnopqrstuvwxyz0123456789-._/:Bilder und Fotos: +/DIR:DIVXDIR:/var/lib/vdrmedia/divx:A:999:abcdefghijklmnopqrstuvwxyz0123456789-._/:DivX und Co: +/DIR:DVDBURNER:/dev/dvd:A:999:abcdefghijklmnopqrstuvwxyz0123456789-._/:DVD Brenner: +:Plugins +/PLG:admin:0:B:0:Aus,An:admin: +/PLG:adzap:0:B:0:Aus,An:adzap: +/PLG:alcd:0:B:0:Aus,An:alcd: +/PLG:analogradio:0:B:0:Aus,An:analogradio: +/PLG:arghdirector:0:B:0:Aus,An:arghdirector: +/PLG:atmo:0:B:0:Aus,An:atmo: +/PLG:audiorecorder:0:B:0:Aus,An:audiorecorder: +/PLG:autosort:0:B:0:Aus,An:autosort: +/PLG:autotimeredit:0:B:0:Aus,An:autotimeredit: +/PLG:avards:0:B:0:Aus,An:avards: +/PLG:avolctl:0:B:0:Aus,An:avolctl: +/PLG:beep:0:B:0:Aus,An:beep: +/PLG:bitstreamout:0:B:0:Aus,An:bitstreamout: +/PLG:burn:0:B:0:Aus,An:burn: +/PLG:calc:0:B:0:Aus,An:calc: +/PLG:cdda:0:B:0:Aus,An:cdda: +/PLG:chanorg:0:B:0:Aus,An:chanorg: +/PLG:cinebars:0:B:0:Aus,An:cinebars: +/PLG:channelswitcher:0:B:0:Aus,An:channelswitcher: +/PLG:clock:0:B:0:Aus,An:clock: +/PLG:console:0:B:0:Aus,An:console: +/PLG:control:0:B:0:Aus,An:control: +/PLG:csf:0:B:0:Aus,An:csf: +/PLG:cutalot:0:B:0:Aus,An:cutalot: +/PLG:decruft:0:B:0:Aus,An:decruft: +/PLG:default_plugins:0:B:0:Aus,An:default_plugins: +/PLG:digicam:0:B:0:Aus,An:digicam: +/PLG:director:0:B:0:Aus,An:director: +/PLG:dummydevice:0:B:0:Aus,An:dummydevice: +/PLG:dvd:0:B:0:Aus,An:dvd: +/PLG:dvdconvert:0:B:0:Aus,An:dvdconvert: +/PLG:dvdselect:0:B:0:Aus,An:dvdselect: +/PLG:dvdswitch:0:B:0:Aus,An:dvdswitch: +/PLG:dxr3:0:B:0:Aus,An:dxr3: +/PLG:epgsearch:0:B:0:Aus,An:epgsearch: +/PLG:epgsearchonly:0:B:0:Aus,An:epgsearchonly: +/PLG:conflictcheckonly:0:B:0:Aus,An:conflictcheckonly: +/PLG:quickepgsearch:0:B:0:Aus,An:quickepgsearch: +/PLG:epgsync:0:B:0:Aus,An:epgsync: +/PLG:extb:0:B:0:Aus,An:extb: +/PLG:extrecmenu:0:B:0:Aus,An:extrecmenu: +/PLG:femon:0:B:0:Aus,An:femon: +/PLG:ffnetdev:0:B:0:Aus,An:ffnetdev: +/PLG:filebrowser:0:B:0:Aus,An:filebrowser: +/PLG:freecell:0:B:0:Aus,An:freecell: +/PLG:fritzbox:0:B:0:Aus,An:fritzbox: +/PLG:sport:0:B:0:Aus,An:sport: +/PLG:games:0:B:0:Aus,An:games: +/PLG:graphlcd:0:B:0:Aus,An:graphlcd: +/PLG:graphtft:0:B:0:Aus,An:graphtft: +/PLG:image:0:B:0:Aus,An:image: +/PLG:ipod:0:B:0:Aus,An:ipod: +/PLG:launcher:0:B:0:Aus,An:launcher: +/PLG:lcdproc:0:B:0:Aus,An:lcdproc: +/PLG:lcr:0:B:0:Aus,An:lcr: +/PLG:live:0:B:0:Aus,An:live: +/PLG:loadepg:0:B:0:Aus,An:loadepg: +/PLG:mailbox:0:B:0:Aus,An:mailbox: +/PLG:mediamvp:0:B:0:Aus,An:mediamvp: +/PLG:menuorg:0:B:0:Aus,An:menuorg: +/PLG:mlcd:0:B:0:Aus,An:mlcd: +/PLG:mlist:0:B:0:Aus,An:mlist: +/PLG:mousemate:0:B:0:Aus,An:mousemate: +/PLG:mp3:0:B:0:Aus,An:mp3: +/PLG:mplayer:0:B:0:Aus,An:mplayer: +/PLG:muggle:0:B:0:Aus,An:muggle: +/PLG:music:0:B:0:Aus,An:music: +/PLG:coverviewer:0:B:0:Aus,An:coverviewer: +/PLG:netconfig:0:B:0:Aus,An:netconfig: +/PLG:newsticker:0:B:0:Aus,An:newsticker: +/PLG:nordlichtsepg:0:B:0:Aus,An:nordlichtsepg: +/PLG:osdout:0:B:0:Aus,An:osdout: +/PLG:osdpip:0:B:0:Aus,An:osdpip: +/PLG:osdserver:0:B:0:Aus,An:osdserver: +/PLG:osdteletext:0:B:0:Aus,An:osdteletext: +/PLG:picselshow:0:B:0:Aus,An:picselshow: +/PLG:pilot:0:B:0:Aus,An:pilot: +/PLG:pilotskin:0:B:0:Aus,An:pilotskin: +/PLG:pim:0:B:0:Aus,An:pim: +/PLG:pin:0:B:0:Aus,An:pin: +/PLG:playlist:0:B:0:Aus,An:playlist: +/PLG:podcatcher:0:B:0:Aus,An:podcatcher: +/PLG:powermate:0:B:0:Aus,An:powermate: +/PLG:prefermenu:0:B:0:Aus,An:prefermenu: +/PLG:premiereepg:0:B:0:Aus,An:premiereepg: +/PLG:pvrinput:0:B:0:Aus,An:pvrinput: +/PLG:radio:0:B:0:Aus,An:radio: +/PLG:recstatus:0:B:0:Aus,An:recstatus: +/PLG:reelchannelscan:0:B:0:Aus,An:reelchannelscan: +/PLG:remote:0:B:0:Aus,An:remote: +/PLG:remoteosd:0:B:0:Aus,An:remoteosd: +/PLG:remotetimers:0:B:0:Aus,An:remotetimers: +/PLG:ripit:0:B:0:Aus,An:ripit: +/PLG:rotor:0:B:0:Aus,An:rotor: +/PLG:rssreader:0:B:0:Aus,An:rssreader: +/PLG:screenshot:0:B:0:Aus,An:screenshot: +/PLG:setup:0:B:0:Aus,An:setup: +/PLG:skinelchi:0:B:0:Aus,An:skinelchi: +/PLG:skinenigmang:0:B:0:Aus,An:skinenigmang: +/PLG:skinreel:0:B:0:Aus,An:skinreel: +/PLG:skinsoppalusikka:0:B:0:Aus,An:skinsoppalusikka: +/PLG:sleeptimer:0:B:0:Aus,An:sleeptimer: +/PLG:softdevice:0:B:0:Aus,An:softdevice: +/PLG:solitaire:0:B:0:Aus,An:solitaire: +/PLG:span:0:B:0:Aus,An:span: +/PLG:streamdev_client:0:B:0:Aus,An:streamdev-client: +/PLG:streamdev_server:0:B:0:Aus,An:streamdev-server: +/PLG:streamplayer:0:B:0:Aus,An:streamplayer: +/PLG:submenu:0:B:0:Aus,An:submenu: +/PLG:subtitles:0:B:0:Aus,An:subtitles: +/PLG:sudoku:0:B:0:Aus,An:sudoku: +/PLG:svdrpext:0:B:0:Aus,An:svdrpext: +/PLG:svdrpservice:0:B:0:Aus,An:svdrpservice: +/PLG:sysinfo:0:B:0:Aus,An:sysinfo: +/PLG:taste:0:B:0:Aus,An:taste: +/PLG:text2skin:0:B:0:Aus,An:text2skin: +/PLG:timeline:0:B:0:Aus,An:timeline: +/PLG:touchtft:0:B:0:Aus,An:touchtft: +/PLG:ttxtsubs:0:B:0:Aus,An:ttxtsubs: +/PLG:tvonscreen:0:B:0:Aus,An:tvonscreen: +/PLG:tvtv:0:B:0:Aus,An:tvtv: +/PLG:undelete:0:B:0:Aus,An:undelete: +/PLG:vcd:0:B:0:Aus,An:vcd: +/PLG:vdrcd:0:B:0:Aus,An:vdrcd: +/PLG:vdrrip:0:B:0:Aus,An:vdrrip: +/PLG:vdrtvtime:0:B:0:Aus,An:vdrtvtime: +/PLG:vompserver:0:B:0:Aus,An:vompserver: +/PLG:wapd:0:B:0:Aus,An:wapd: +/PLG:weatherng:0:B:0:Aus,An:weatherng +/PLG:wirbelscan:0:B:0:Aus,An:wirbelscan: +/PLG:xine:0:B:0:Aus,An:xine: +/PLG:xineliboutput:0:B:0:Aus,An:xineliboutput: +/PLG:xxvautotimer:0:B:0:Aus,An:xxvautotimer: +/PLG:yaepg:0:B:0:Aus,An:yaepg: +/PLG:zaphistory:0:B:0:Aus,An:zaphistory: +:Plugin Optionen +/ARG:audiorecorder_args:-r /var/lib/vdrmedia/mp3:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:audiorecorder: +/ARG:avards_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:avards: +/ARG:burn_args:-t /tmp -d /var/lib/vdrmedia/video -D /dev/dvd -i /var/lib/vdrmedia/isos:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:burn: +/ARG:cdda_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:cdda: +/ARG:console_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:console: +/ARG:control_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:control: +/ARG:dvd_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:dvd: +/ARG:dvdswitch_args:-w /usr/lib/vdr/scripts/vdrwritedvd -r /usr/lib/vdr/scripts/vdrreaddvd --imagedir /var/lib/vdrmedia/isos:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:dvdswitch: +/ARG:epgsearch_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:epgsearch: +/ARG:ffnetdev_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:ffnetdev: +/ARG:graphlcd_args:-c /etc/graphlcd.conf -d sed1330:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:graphlcd: +/ARG:graphtft_args:-d vdr/1:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:graphtft: +/ARG:image_args:-C /usr/lib/vdr/scripts/imageplugin.sh -m /usr/lib/vdr/scripts/vdrmount:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:image: +/ARG:lcdproc_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:lcdproc: +/ARG:live_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:live: +/ARG:loadepg_args:-c /var/lib/vdr/plugins:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:loadepg: +/ARG:playlist_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:playlist: +/ARG:mediamvp_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:mediamvp: +/ARG:menuorg_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:menuorg: +/ARG:mp3_args:-m /usr/lib/vdr/scripts/vdrmount -B /var/lib/cddb:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:mp3: +/ARG:mplayer_args:-m /usr/lib/vdr/scripts/vdrmount -M /usr/lib/vdr/scripts/mplayer.sh:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:mplayer: +/ARG:muggle_args:-t/var/lib/vdrmedia/mp3:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:muggle: +/ARG:music_args:-m /usr/lib/vdr/scripts/vdrmount -B /var/lib/cddb:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:music: +/ARG:coverviewer_args: --config /var/lib/vdr/plugins/music:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:coverviewer: +/ARG:osdteletext_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:osdteletext: +/ARG:picselshow_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:picselshow: +/ARG:podcatcher_args:-c /var/cache/podcatcher:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:podcatcher: +/ARG:radio_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:radio: +/ARG:remote_args:-i /dev/input/event2:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:remote: +/ARG:rotor_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:rotor: +/ARG:skinelchi_args:-l /var/lib/vdr/logos:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:skinelchi: +/ARG:skinenigmang_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:skinenigmang: +/ARG:skinsoppalusikka_args:-l /var/lib/vdr/logos:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:skinsoppalusikka: +/ARG:sleeptimer_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:sleeptimer: +/ARG:softdevice_args:-vo fb;:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:softdevice: +/ARG:sport_args:-D /var/lib/vdr/plugins/sport -S /usr/lib/vdr/scripts/sport:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:sport: +/ARG:streamdev_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:streamdev: +/ARG:touchtft_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:touchtft: +/ARG:tvonscreen_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:tvonscreen: +/ARG:undelete_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:undelete: +/ARG:vcd_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:vcd: +/ARG:vdrcd_args:-m /usr/lib/vdr/scripts/vdrmount -c /media/cdfs -c /media/cdrom0:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:vdrcd: +/ARG:vdrrip_args:-p /usr/bin/mplayer -e /usr/bin/mencoder:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:vdrrip: +/ARG:vdrtvtime_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:vdrtvtime: +/ARG:vompserver_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:vompserver: +/ARG:weatherng_args:-S /usr/lib/vdr/scripts:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:weatherng: +/ARG:xine_args:-r:A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:xine: +/ARG:xineliboutput_args: :A:999:abcdefghijklmnopqrstuvwxyz0123456789-.;_ /:xineliboutput: +:System +/VAR:em8300:0:B:0:Nein,Ja:DXR3 Module laden: +/VAR:graphlcd_base:0:B:0:Nein,Ja:GraphLCD Module laden: +/VAR:LCDproc:0:B:0:Nein,Ja:LCD Module laden: diff --git a/plugins/admin/admin/admin.sh b/plugins/admin/admin/admin.sh new file mode 100644 index 0000000..bca13c0 --- /dev/null +++ b/plugins/admin/admin/admin.sh @@ -0,0 +1,15 @@ +#!/bin/bash +source /etc/default/vdr + +if [ "$1" = "-init" ]; then + # write settings from /etc/default/vdr to admin.conf + at -f $VDRCONFDIR/plugins/admin/setadm.sh now +elif [ "$1" = "-start" ]; then + echo "Starting admin plugin" +elif [ "$1" = "-save" ]; then + # write settings from admin.conf to /etc/default/vdr + # this could only be by root + sudo $VDRSCRIPTDIR/vdr2root admin +else + echo "Illegal Parameter <$1>" +fi diff --git a/plugins/admin/admin/setadm.sh b/plugins/admin/admin/setadm.sh new file mode 100644 index 0000000..5d1c18a --- /dev/null +++ b/plugins/admin/admin/setadm.sh @@ -0,0 +1,26 @@ +#!/bin/sh +VDR_CONF="/etc/default/vdr" +source $VDR_CONF +ADMIN_CFG_FILE="$VDRCONFDIR/plugins/admin/admin.conf" + +# read VARS from $ADMIN_CFG_FILE +ALL_VARS=$(grep "^/" $ADMIN_CFG_FILE | cut -f 2 -d ":") + +for VAR in $ALL_VARS; do + VAL=$(grep -m 1 "^$VAR=" $VDR_CONF | cut -f 2 -d '=') + VAL=$(eval echo $VAL) + case "$VAL" in + on) + $VDRCONFDIR/plugins/admin/setadmval.sh $VAR 1 + ;; + off) + $VDRCONFDIR/plugins/admin/setadmval.sh $VAR 0 + ;; + *) + $VDRCONFDIR/plugins/admin/setadmval.sh $VAR "$VAL" + ;; + esac +done + + + diff --git a/plugins/admin/admin/setadmval.sh b/plugins/admin/admin/setadmval.sh new file mode 100644 index 0000000..68a0f19 --- /dev/null +++ b/plugins/admin/admin/setadmval.sh @@ -0,0 +1,119 @@ +#!/bin/sh +source /etc/default/vdr +ADMIN_CFG_FILE="$VDRCONFDIR/plugins/admin/admin.conf" + +NAME=$1 +VAL=$2 +DO_RESET=$3 + +NLINE=$(grep -m 1 ":$NAME:" $ADMIN_CFG_FILE) + +if [ "$NLINE" = "" ] ; then + logger -s "AdmVar: <$NAME> not found" + exit 1 +fi + +GROUP=$(echo $NLINE | cut -f 1 -d ":") +TYPE=$(echo $NLINE | cut -f 4 -d ":") +OLDVAL=$(echo $NLINE | cut -f 3 -d ":") +DEFVAL=$(echo $NLINE | cut -f 5 -d ":") +NEWVAL="" + +case "$TYPE" in + L) + ALL_VAL=$(echo $NLINE | cut -f 6 -d ":") + for IDX in $(seq 1 99) ; do + VALC=$(echo "$ALL_VAL" | cut -f $IDX -d ",") + if [ "$VALC" = "" ] ; then + break + fi + if [ "${VAL}" = "${VALC}" ] ; then + NEWVAL=$(($IDX - 1)) + break + fi + done + if [ "$NEWVAL" = "" ] ; then + logger -s "Value <$VAL> is not valid for $NAME" + if [ $OLDVAL -ge 0 ] && [ $OLDVAL -lt $IDX ] ; then + NEWVAL=$(printf "%d" $OLDVAL) + else + logger -s "Old Value <$OLDVAL> is not valid for $NAME" + if [ $DEFVAL -ge 0 ] && [ $DEFVAL -lt $IDX ] ; then + NEWVAL=$(printf "%d" $DEFVAL) + else + logger -s "Def Value <$DEFVAL> is not valid for $NAME - setting to 0" + NEWVAL=0 + fi + fi + VAL=$(echo "$ALL_VAL" | cut -f $(($NEWVAL + 1)) -d ",") + fi + ;; + A) + NEWVAL=$(echo "$VAL" | sed -e 's/:/;/g') +# NEWVAL=$VAL + ;; + B) + if [ "$VAL" = "0" ] || [ "$VAL" = "1" ] ; then + NEWVAL=$VAL + else + logger -s "Value <$VAL> is not valid for $NAME" + if [ "$OLDVAL" = "0" ] || [ "$OLDVAL" = "1" ] ; then + NEWVAL=$OLDVAL + else + logger -s "Old value <$VAL> is not valid for $NAME" + if [ "$DEFVAL" = "0" ] || [ "$DEFVAL" = "1" ] ; then + NEWVAL=$VAL + else + logger -s "Def value <$VAL> is not valid for $NAME - setting to 0" + NEWVAL=0 + fi + fi + fi + VAL=$NEWVAL + ;; + I) + MINVAL=$(echo $NLINE | cut -f 6 -d ":" |cut -f 1 -d ",") + MAXVAL=$(echo $NLINE | cut -f 6 -d ":" |cut -f 2 -d ",") + if [ $VAL -ge $MINVAL ] && [ $VAL -le $MAXVAL ] ; then + NEWVAL=$(printf "%d" $VAL) + else + logger -s "Value <$VAL> is not valid for $NAME" + if [ $OLDVAL -ge $MINVAL ] && [ $OLDVAL -le $MAXVAL ] ; then + NEWVAL=$(printf "%d" $OLDVAL) + else + logger -s "Old Value <$OLDVAL> is not valid for $NAME" + if [ $DEFVAL -ge $MINVAL ] && [ $DEFVAL -le $MAXVAL ] ; then + NEWVAL=$(printf "%d" $DEFVAL) + else + logger -s "Def Value <$DEFVAL> is not valid for $NAME - setting to $MINVAL" + NEWVAL=$(printf "%d" $MINVAL) + fi + fi + fi + VAL=$NEWVAL + ;; + *) + logger -s "Illegal line in $ADMIN_CFG_FILE :" + logger -s "$NLINE" + exit 1 + ;; +esac + +if [ "$NEWVAL" = "" ] ; then +# logger -s "Value <$VAL> is not valid for $NAME" +# exit 1 + NEWVAL=" " +fi + +if [ "$NEWVAL" != "$OLDVAL" ] ; then + logger -s "Changing $NAME to <$NEWVAL> from <$OLDVAL> in $ADMIN_CFG_FILE" + if [ "$GROUP" = "/DIR" ] || [ "$GROUP" = "/ARG" ]; then + sed -i $ADMIN_CFG_FILE -e "s?\:$NAME\:$OLDVAL\:?\:$NAME\:$NEWVAL\:?" + else + sed -i $ADMIN_CFG_FILE -e "s/\:$NAME\:$OLDVAL\:/\:$NAME\:$NEWVAL\:/" + fi +#else +# echo "${NAME} is already set to ${NEWVAL} in $ADMIN_CFG_FILE" +fi + + diff --git a/plugins/admin/admin/setvdr.sh b/plugins/admin/admin/setvdr.sh new file mode 100644 index 0000000..84a61ed --- /dev/null +++ b/plugins/admin/admin/setvdr.sh @@ -0,0 +1,109 @@ +#!/bin/sh +VDR_CONF="/etc/default/vdr" +source $VDR_CONF +ADMIN_CFG_FILE="$VDRCONFDIR/plugins/admin/admin.conf" + +ORIG_IFS=$IFS # save IFS + +cat $ADMIN_CFG_FILE | while read new_line; do + IFS=":" # set IFS + ARRAY=($new_line) + GROUP=${ARRAY[0]} + NAME=${ARRAY[1]} + VAL=${ARRAY[2]} + if [ "$(echo $GROUP | grep '^/')" ]; then + NEW_VAL=$(echo $VAL | sed -e 's/;/:/g' -e 's/^ //g' -e 's/ $//g') + VAR=$(grep -m 1 "^$NAME=" $VDR_CONF) + OLD_VAL=$(echo $VAR | cut -f 2 -d '=') + OLD_VAL=$(echo $OLD_VAL) + if [ "$VAR" ] && [ "$OLD_VAL" != "$NEW_VAL" ]; then + case $GROUP in + /ARG) + sed -i $VDR_CONF -e "s?$VAR?$NAME=\"$NEW_VAL\"?g" + ;; + /DIR) + if [ ! -d "$NEW_VAL" ] && [ "$NAME" != "DVDBURNER" ]; then + mkdir -p "$NEW_VAL" + chown -R $VDRUSER.$VDRGROUP "$NEW_VAL" + fi + sed -i $VDR_CONF -e "s?$VAR?$NAME=\"$NEW_VAL\"?g" + + if [ "$NAME" = "DIVXDIR" ]; then + PATH_EXISTS=$(grep "^$OLD_VAL;" "$VDRCONFDIR/plugins/mplayersources.conf") + if [ "$PATH_EXISTS" ]; then + sed -i "$VDRCONFDIR/plugins/mplayersources.conf" -e "s?$OLD_VAL?$NEW_VAL?g" + else + echo "$NEW_VAL;More Movies;0;*.avi" >> "$VDRCONFDIR/plugins/mplayersources.conf" + fi + fi + + if [ "$NAME" = "ISODIR" ]; then + PATH_EXISTS=$(grep "^$OLD_VAL;" "$VDRCONFDIR/plugins/mplayersources.conf") + if [ "$PATH_EXISTS" ]; then + sed -i "$VDRCONFDIR/plugins/mplayersources.conf" -e "s?$OLD_VAL?$NEW_VAL?g" + else + echo "$NEW_VAL;More DVDs;0;*.iso" >> "$VDRCONFDIR/plugins/mplayersources.conf" + fi + fi + + if [ "$NAME" = "MUSICDIR" ]; then + PATH_EXISTS=$(grep "^$OLD_VAL;" "$VDRCONFDIR/plugins/mp3ng/mp3sources.conf") + if [ "$PATH_EXISTS" ]; then + sed -i "$VDRCONFDIR/plugins/mp3ng/mp3sources.conf" -e "s?$OLD_VAL?$NEW_VAL?g" + else + echo "$NEW_VAL;More Music;0;*.mp3/*.ogg/*.wav" >> "$VDRCONFDIR/plugins/mp3ng/mp3sources.conf" + fi + PATH_EXISTS=$(grep "^$OLD_VAL;" "$VDRCONFDIR/plugins/mp3sources.conf") + if [ "$PATH_EXISTS" ]; then + sed -i "$VDRCONFDIR/plugins/mp3sources.conf" -e "s?$OLD_VAL?$NEW_VAL?g" + else + echo "$NEW_VAL;More Music;0;*.mp3/*.ogg/*.wav" >> "$VDRCONFDIR/plugins/mp3sources.conf" + fi + fi + + if [ "$NAME" = "PICTUREDIR" ]; then + PATH_EXISTS=$(grep "^$OLD_VAL;" "$VDRCONFDIR/plugins/imagesources.conf") + if [ "$PATH_EXISTS" ]; then + sed -i "$VDRCONFDIR/plugins/imagesources.conf" -e "s?$OLD_VAL?$NEW_VAL?g" + else + echo "$NEW_VAL;More Pictures;0;*.jpg *.JPG" >> "$VDRCONFDIR/plugins/imagesources.conf" + fi + fi + + if [ "$NAME" = "VIDEODIR" ]; then + PATH_EXISTS=$(grep "^$OLD_VAL;" "$VDRCONFDIR/plugins/mplayersources.conf") + if [ "$PATH_EXISTS" ]; then + sed -i "$VDRCONFDIR/plugins/mplayersources.conf" -e "s?$OLD_VAL?$NEW_VAL?g" + else + echo "$NEW_VAL;More Recordings;0;*0*.vdr" >> "$VDRCONFDIR/plugins/mplayersources.conf" + fi + fi + ;; + /PLG) + PLUGIN_NAME="$NAME" + [ "$NAME" = "streamdev_client" ] && PLUGIN_NAME="streamdev-client" + [ "$NAME" = "streamdev_server" ] && PLUGIN_NAME="streamdev-server" + if [ "$NEW_VAL" = "1" ] && [ -f $VDRLIBDIR/libvdr-$PLUGIN_NAME.so* ]; then + sed -i $VDR_CONF -e "s/$VAR/$NAME=\"on\"/g" + else + sed -i $VDR_CONF -e "s/$VAR/$NAME=\"off\"/g" + fi + ;; + /VAR) + if [ "$NEW_VAL" = "1" ]; then + sed -i $VDR_CONF -e "s/$VAR/$NAME=\"on\"/g" + else + sed -i $VDR_CONF -e "s/$VAR/$NAME=\"off\"/g" + fi + ;; + /*) + sed -i $VDR_CONF -e "s/$VAR/$NAME=\"$NEW_VAL\"/g" + ;; + esac + fi + fi +done + +IFS=$ORIG_IFS # reset IFS + +exit 0 diff --git a/plugins/admin/plugin.sh b/plugins/admin/plugin.sh new file mode 100644 index 0000000..af0204b --- /dev/null +++ b/plugins/admin/plugin.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 29.04.2007 +# +# vdr-admin + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions +WEB="http://www.htpc-forum.de/download/vdr-admin-0.6.2.tgz" +VERSION="admin-0.6.2" +LINK="admin" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -rf $VDRCONFDIR/plugins/admin + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + cp -rf $DIR/admin $VDRCONFDIR/plugins + chown -R $VDRUSER:$VDRGROUP $VDRCONFDIR/plugins/admin + chmod 0744 $VDRCONFDIR/plugins/admin/*.sh + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +exit 0 |
