switch.cgi ajax buttons left for u810
[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" == "mobile" ]; then
14       MOBILE='1'
15     elif [ "$POWER" == "?" ]; then
16       POWER=$VALUE
17     elif [ "$VALUE" == "ajax" ]; then
18       AJAX='?'
19     elif [ "$AJAX" == "?" ]; then
20       AJAX=$VALUE
21     fi
22     i=$i+1
23   done
24 done
25
26 UNIXSOCK=/var/run/powersensordaemon/cmd.sock
27 VALID_ONOFF_IDS="decke ambientlights lichter all werkzeug labor dart logo spots1 deckehinten deckevorne boiler lichterkette"
28 VALID_SEND_IDS="ymhpoweron ymhpoweroff ymhpower ymhvolup ymhvoldown ymhcd ymhwdtv ymhtuner ymhaux ymhsattv ymhvolmute ymhmenu ymhplus ymhminus ymhtest ymhtimelevel ymheffect ymhprgup ymhprgdown ymhtunplus ymhtunminus ymhtunabcde ymhtape ymhvcr ymhextdec ymhsleep ymhp5 panicled blueled moviemode"
29 VALID_BANSHEE_IDS="playPause next prev"
30
31 [ "$POWER" == "send" ] && POWER=on
32 if [ "$POWER" == "on" -o "$POWER" == "off" ]; then
33   for CHECKID in $VALID_ONOFF_IDS $VALID_SEND_IDS; do 
34     if [ "$CHECKID" == "$ID" ]; then
35       echo "power $POWER $ID" | usocket $UNIXSOCK
36       echo "Content-type: text/html"
37       echo ""
38       echo "<html>"
39       echo "<head>"
40       echo "<title>Realraum rf433ctl</title>"
41       echo '<script type="text/javascript">window.location="http://slug.realraum.at/cgi-bin/switch.cgi";</script>'
42       echo "</head></html>"
43       exit 0
44     fi
45   done
46
47   for CHECKID in $VALID_BANSHEE_IDS; do 
48     if [ "$CHECKID" == "$ID" ]; then
49       echo "$ID/" | nc wuerfel.realraum.at 8484
50       echo "Content-type: text/html"
51       echo ""
52       echo "<html>"
53       echo "<head>"
54       echo "<title>Realraum rf433ctl</title>"
55       echo '<script type="text/javascript">window.location="http://slug.realraum.at/cgi-bin/switch.cgi";</script>'
56       echo "</head></html>"
57       exit 0
58     fi
59   done
60 fi
61
62 DESC_werkzeug="Werkzeug LEDs"
63 DESC_stereo="Receiver On/Off"
64 DESC_ambientlights="Ambient Lichter"
65 DESC_labor="Labor Licht"
66 DESC_boiler="Warmwasser WC"
67 DESC_dart="Dart Scheibe"
68 DESC_logo="Logo"
69 DESC_spots1="Spots"
70 DESC_deckehinten="Decke Hinten"
71 DESC_deckevorne="Decke Vorne"
72 DESC_lichterkette="Blaue Lichterkette"
73 DESC_decke="Deckenlichter"
74 DESC_lichter="Alle Lichter"
75 DESC_all="Alles"
76 DESC_ymhpoweron="Receiver On"
77 DESC_ymhpoweroff="Receiver Off"
78 DESC_ymhpower="Receiver On/Off"
79 DESC_ymhvolup="VolumeUp"
80 DESC_ymhvoldown="VolumeDown"
81 DESC_ymhcd="Input CD"
82 DESC_ymhwdtv="Input WDlxTV"
83 DESC_ymhtuner="Input Tuner"
84 DESC_ymhvolmute="Mute"
85 DESC_ymhmenu="Menu"
86 DESC_ymhplus="+"
87 DESC_ymhminus="-"
88 DESC_ymhtest="Test"
89 DESC_ymhtimelevel="Time/Levels"
90 DESC_ymheffect="DSP Effect Toggle"
91 DESC_ymhprgup="DSP Up"
92 DESC_ymhprgdown="DSP Down"
93 DESC_ymhtunplus="Tuner +"
94 DESC_ymhtunminus="Tuner -"
95 DESC_ymhtunabcde="Tuner ABCDE"
96 DESC_ymhtape="Tape"
97 DESC_ymhvcr="VCR"
98 DESC_ymhextdec="ExtDec Toggle"
99 DESC_seep="Sleep Modus"
100 DESC_panicled="HAL9000 says hi"
101 DESC_blueled="Blue Led"
102 DESC_moviemode="Movie Mode"
103 echo "Content-type: text/html"
104 echo ""
105 echo "<html>"
106 echo "<head>"
107 echo "<title>Realraum rf433ctl</title>"
108 echo '<script type="text/javascript">'
109 echo 'function sendButton( onoff, btn )'
110 echo '{'
111 echo ' var req = new XMLHttpRequest();'
112 echo ' url = "http://slug.realraum.at/cgi-bin/switch.cgi?power="+onoff+"&id="+btn;'
113 echo ' req.open("GET", url ,false);'
114 echo ' //google chrome workaround'
115 echo ' req.setRequestHeader("googlechromefix","");'
116 echo ' req.send(null);'
117 echo '}'
118 echo '</script>'
119 echo "</head>"
120 echo "<body>"
121 #echo "<h1>Realraum rf433ctl</h1>"
122 echo "<div style=\"float:left; border:1px solid black;\">"
123 for DISPID in $VALID_ONOFF_IDS; do
124   NAME="$(eval echo \$DESC_$DISPID)"
125   [ -z "$NAME" ] && NAME=$DISPID
126   if [ -z "$AJAX" ]; then
127
128   echo "<form action=\"/cgi-bin/switch.cgi\">"
129   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
130   echo "<div style=\"float:left; margin:2px; padding:1px; max-width:236px; font-size:10pt; border:1px solid black;\">"
131   echo "<div style='width:10em; display:inline-block; vertical-align:middle;'>$NAME</div>"
132   echo "<span style='float:right; text-align:right;'>"
133   echo " <input type='submit' name='power' value='on' />"
134   echo " <input type='submit' name='power' value='off' />"
135   echo "</span>"
136   echo "</div>"
137   echo "</form>"
138   
139   else
140   
141   echo "<div style=\"float:left; margin:2px; padding:1px; max-width:236px; font-size:10pt; border:1px solid black;\">"
142   echo "<span style='float:left; text-align:left;'>"
143   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>On</button>"
144   echo " <button onClick='sendButton(\"off\",\"$DISPID\");'>Off</button>"
145   echo "</span>"
146   echo "<div style='width:10em; float:right; display:inline-block; margin-left:1ex; vertical-align:middle;'>$NAME</div>"
147   echo "</div>"
148   
149   fi
150   if [ "$MOBILE" == "1" ]; then
151     echo "<br/>"
152   fi 
153 done
154 echo "</div>"
155 if [ "$MOBILE" != "1" ]; then                                                                                   
156 echo "<div style=\"float:left; border:1px solid black;\">"
157 for DISPID in $VALID_SEND_IDS; do
158   NAME="$(eval echo \$DESC_$DISPID)"
159   [ -z "$NAME" ] && NAME=$DISPID
160   if [ -z "$AJAX" ]; then
161
162   echo "<form action=\"/cgi-bin/switch.cgi\">"
163   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
164   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;'>"
165   echo " <input type='submit' name='power' value='send' />"
166   echo "</span></div>"
167   echo "</form>"
168
169   else
170   
171   echo "<div style=\"float:left; margin:2px; padding:1px; max-width:236px; font-size:10pt; border:1px solid black;\">"
172   echo "<span style='float:left; text-align:left;'>"
173   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>Send</button>"
174   echo "</span>"
175   echo "<div style='width:10em; float:right; display:inline-block; margin-left:1ex; vertical-align:middle;'>$NAME</div>"
176   echo "</div>"
177     
178   fi
179 done
180 echo "</div>"
181 echo "<div style=\"float:left; border:1px solid black;\">"
182 for DISPID in $VALID_BANSHEE_IDS; do
183   NAME="$(eval echo \$DESC_$DISPID)"
184   [ -z "$NAME" ] && NAME=$DISPID
185   if [ -z "$AJAX" ]; then
186
187   echo "<form action=\"/cgi-bin/switch.cgi\">"
188   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
189   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;'>"
190   echo " <input type='submit' name='power' value='on' />"
191   echo " <input type='submit' name='power' value='off' />"
192   echo "</span></div>"
193   echo "</form>"
194   
195   else
196   
197   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;'>"
198   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>Send</button>"
199   echo "</span></div>"
200   
201   fi
202 done
203 echo "</div>"
204 fi
205 echo "</body>"
206 echo "</html>"