ajax version
[svn42.git] / powersensordaemon / switch.cgi
1 #!/bin/sh
2
3 for QUERY in `echo $QUERY_STRING | tr '&' ' '`; do
4   for VALUE in `echo $QUERY | tr '=' ' '`; do
5     if [ "$VALUE" == "id" ]; then
6       ID='?'
7     elif [ "$ID" == "?" ]; then
8       ID=$VALUE
9     elif [ "$VALUE" == "power" ]; then
10       POWER='?'
11     elif [ "$POWER" == "?" ]; then
12       POWER=$VALUE
13     elif [ "$VALUE" == "ajax" ]; then
14       AJAX='?'
15     elif [ "$AJAX" == "?" ]; then
16       AJAX=$VALUE
17     fi
18     i=$i+1
19   done
20 done
21
22 UNIXSOCK=/var/run/powersensordaemon/cmd.sock
23 VALID_ONOFF_IDS="decke ambientlights lichter all werkzeug labor dart logo idee deckehinten deckevorne"
24 VALID_SEND_IDS="ymhpoweron ymhpoweroff ymhpower ymhvolup ymhvoldown ymhcd ymhwdtv ymhtuner ymhvolmute ymhmenu ymhplus ymhminus ymhtest ymhtimelevel ymheffect ymhprgup ymhprgdown ymhtunplus ymhtunabcde ymhtape ymhvcr ymhextdec"
25
26
27 [ "$POWER" == "send" ] && POWER=on
28 if [ "$POWER" == "on" -o "$POWER" == "off" ]; then
29   for CHECKID in $VALID_ONOFF_IDS $VALID_SEND_IDS; do 
30     if [ "$CHECKID" == "$ID" ]; then
31       echo "power $POWER $ID" | usocket $UNIXSOCK
32       echo "Content-type: text/html"
33       echo ""
34       echo "<html>"
35       echo "<head>"
36       echo "<title>Realraum rf433ctl</title>"
37       echo '<script type="text/javascript">window.location="http://slug.realraum.at/cgi-bin/switch.cgi";</script>'
38       echo "</head></html>"
39       exit 0
40     fi
41   done
42 fi
43
44 DESC_werkzeug="Werkzeug LEDs"
45 DESC_stereo="Reciever On/Off"
46 DESC_ambientlights="Ambient Lichter"
47 DESC_labor="Labor Licht"
48 DESC_dart="Dart Scheibe"
49 DESC_logo="Logo"
50 DESC_idee="Idee"
51 DESC_deckehinten="Decke Hinten"
52 DESC_deckevorne="Decke Vorne"
53 DESC_decke="Deckenlichter"
54 DESC_lichter="Alle Lichter"
55 DESC_all="Alles"
56 DESC_ymhpoweron="Reciever On"
57 DESC_ymhpoweroff="Reciever Off"
58 DESC_ymhpower="Reciever On/Off"
59 DESC_ymhvolup="VolumeUp"
60 DESC_ymhvoldown="VolumeDown"
61 DESC_ymhcd="Input CD"
62 DESC_ymhwdtv="Input WDlxTV"
63 DESC_ymhtuner="Input Tuner"
64 DESC_ymhvolmute="Mute"
65 DESC_ymhmenu="Menu"
66 DESC_ymhplus="+"
67 DESC_ymhminus="-"
68 DESC_ymhtest="Test"
69 DESC_ymhtimelevel="Time/Levels"
70 DESC_ymheffect="DSP Effect Toggle"
71 DESC_ymhprgup="DSP Up"
72 DESC_ymhprgdown="DSP Down"
73 DESC_ymhtunplus="Tuner +"
74 DESC_ymhtunabcde="Tuner ABCDE"
75 DESC_ymhtape="Tape"
76 DESC_ymhvcr="VCR"
77 DESC_ymhextdec="ExtDec Toggle"
78 echo "Content-type: text/html"
79 echo ""
80 echo "<html>"
81 echo "<head>"
82 echo "<title>Realraum rf433ctl</title>"
83 echo '<script type="text/javascript">'
84 echo 'function sendButton( onoff, btn )'
85 echo '{'
86 echo  'var req = new XMLHttpRequest();'
87 echo  'url = "http://slug.realraum.at/cgi-bin/switch.cgi?power="+onoff+"&id="+btn;'
88 echo  'req.open("GET", url ,false);'
89 echo  'req.send(null);'
90 echo '}'
91 echo '</script>'
92 echo "</head>"
93 echo "<body>"
94 #echo "<h1>Realraum rf433ctl</h1>"
95 echo "<div style=\"float:left; border:1px solid black;\">"
96 for DISPID in $VALID_ONOFF_IDS; do
97   NAME="$(eval echo \$DESC_$DISPID)"
98   [ -z "$NAME" ] && NAME=$DISPID
99   if [ -z "$AJAX" ]; then
100
101   echo "<form action=\"/cgi-bin/switch.cgi\">"
102   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
103   echo "<div style=\"float:left; margin:2px; padding:1px; max-width:236px; font-size:10pt; border:1px solid black;\"><div style='width:10em; display:inline-block; vertical-align:middle;'>$NAME</div><span style='float:right; text-align:right;'>"
104   echo " <input type='submit' name='power' value='on' />"
105   echo " <input type='submit' name='power' value='off' />"
106   echo "</span></div>"
107   echo "</form>"
108   
109   else
110   
111   echo "<div style=\"float:left; margin:2px; padding:1px; max-width:236px; font-size:10pt; border:1px solid black;\"><div style='width:10em; display:inline-block; vertical-align:middle;'>$NAME</div><span style='float:right; text-align:right;'>"
112   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>On</button>"
113   echo " <button onClick='sendButton(\"off\",\"$DISPID\");'>Off</button>"
114   echo "</span></div>"
115   
116   fi
117 done
118 echo "</div>"
119 echo "<div style=\"float:left; border:1px solid black;\">"
120 for DISPID in $VALID_SEND_IDS; do
121   NAME="$(eval echo \$DESC_$DISPID)"
122   [ -z "$NAME" ] && NAME=$DISPID
123   if [ -z "$AJAX" ]; then
124
125   echo "<form action=\"/cgi-bin/switch.cgi\">"
126   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
127   echo "<div style=\"float:left; margin:2px; padding:1px; max-width:236px; font-size:10pt; border:1px solid black;\"><div style='width:10em; display:inline-block; vertical-align:middle;'>$NAME</div><span style='float:right; text-align:right;'>"
128   echo " <input type='submit' name='power' value='send' />"
129   echo "</span></div>"
130   echo "</form>"
131
132   else
133   
134   echo "<div style=\"float:left; margin:2px; padding:1px; max-width:236px; font-size:10pt; border:1px solid black;\"><div style='width:10em; display:inline-block; vertical-align:middle;'>$NAME</div><span style='float:right; text-align:right;'>"
135   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>Send</button>"
136   echo "</span></div>"
137   
138   fi
139 done
140 echo "</div>"
141 echo "</body>"
142 echo "</html>"