diff options
| author | anbr <vdr07@deltab.de> | 2011-10-08 07:43:51 +0200 |
|---|---|---|
| committer | anbr <vdr07@deltab.de> | 2011-10-08 07:43:51 +0200 |
| commit | 85d4bfa04ce28b5ec3eb0054306c43bc59c55128 (patch) | |
| tree | d7878021068d70e2a4ab3044beb5f770a57fc980 /skins/html/widgets | |
| parent | a71b70567ed73853367d972a95d2a346b2f93989 (diff) | |
| download | xxv-85d4bfa04ce28b5ec3eb0054306c43bc59c55128.tar.gz xxv-85d4bfa04ce28b5ec3eb0054306c43bc59c55128.tar.bz2 | |
Merge skins into common directory
Diffstat (limited to 'skins/html/widgets')
29 files changed, 864 insertions, 0 deletions
diff --git a/skins/html/widgets/checkbox.tmpl b/skins/html/widgets/checkbox.tmpl new file mode 100644 index 0000000..631db79 --- /dev/null +++ b/skins/html/widgets/checkbox.tmpl @@ -0,0 +1,17 @@ +<!-- string --> +<tr> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% data.msg %?> + </td> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% val = cgi.param(data.NAME) || data.def %?> + <table style="border:0px solid #000000;"><tr> + <?% c = 0 %?> + <?% FOREACH wert = data.choices %?> + <?% "</tr><tr>" IF (c mod 3) == 0 %?> + <td><input type="checkbox" name="<?% data.NAME %?>" value="<?% wert %?>" <?% "checked" IF val.grep("^${wert}").size %?> <?% FOREACH p = param.tags; "$p ";END %?>><?% wert %?></td> + <?% c = c + 1 %?> + <?% END %?> + </tr></table> + </td> +</tr> diff --git a/skins/html/widgets/confirm.tmpl b/skins/html/widgets/confirm.tmpl new file mode 100644 index 0000000..5bb046b --- /dev/null +++ b/skins/html/widgets/confirm.tmpl @@ -0,0 +1,12 @@ +<!-- confirm --> +<tr> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% data.msg %?> + </td> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <nobr> + <?% val = cgi.param(data.NAME) || data.def %?> + <input type="radio" name="<?% data.NAME %?>" value="y" <?% "checked" IF val == 'y' %?>><?% gettext("yes") %?> + <input type="radio" name="<?% data.NAME %?>" value="n" <?% "checked" IF val == 'n' %?>><?% gettext("no") %?> + </td> +</tr> diff --git a/skins/html/widgets/date.tmpl b/skins/html/widgets/date.tmpl new file mode 100644 index 0000000..565d3f2 --- /dev/null +++ b/skins/html/widgets/date.tmpl @@ -0,0 +1,32 @@ +<script type="text/javascript"> + +var weekstring = '<?% gettext('MTWTFSS') %?>'; +var weekdays = weekstring.split(''); + +function ch_input (checkbox, input) { + var txt = ''; + for(var i=0;i<checkbox.length;++i) { + if(checkbox[i].checked) { + txt = txt + weekdays[i]; + } else { + txt = txt + '-'; + } + } + input.value = txt; +} +</script> +<!-- date --> +<tr> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% data.msg %?> + </td> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% val = cgi.param(data.NAME) || data.def %?> + <input type="text" name="<?% data.NAME %?>" value="<?% val %?>" <?% FOREACH p = param.tags; "$p ";END %?>><br/> + <?% valarr = val.split(''); z = 0 %?> + <?% FOREACH dd = gettext('Mon Tue Wed Thu Fri Sat Sun').split(' ') %?> + <input type="checkbox" name="Weekday" <?% "checked" IF ! val.search('^\d+') && valarr.$z != '-' %?> onchange='ch_input(this.form.Weekday, this.form.<?% data.NAME %?>)'><?% dd %?> + <?% z = z + 1; + END %?> + </td> +</tr> diff --git a/skins/html/widgets/dir.tmpl b/skins/html/widgets/dir.tmpl new file mode 100644 index 0000000..fa41e1b --- /dev/null +++ b/skins/html/widgets/dir.tmpl @@ -0,0 +1,20 @@ +<!-- dir --> +<tr> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% data.msg %?> + </td> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% val = cgi.param(data.NAME) || data.def %?> + <input type="text" name="<?% data.NAME %?>" value="<?% val %?>" <?% FOREACH p = param.tags; "$p ";END %?> + onBlur="check<?% data.NAME %?>Dir()"><br> + <span id='id<?% param.count %?>'></span> + </td> +</tr> +<script> +function check<?% data.NAME %?>Dir () { + checkValue(document.forms[0].<?% data.NAME %?>, 'id<?% param.count %?>', "isdir", + '<?% gettext("Directory does not exist!") %?>', + '<?% gettext("Directory exists!") %?>'); +} +window.setTimeout("check<?% data.NAME %?>Dir()", 500); +</script> diff --git a/skins/html/widgets/err.tmpl b/skins/html/widgets/err.tmpl new file mode 100644 index 0000000..69f24a3 --- /dev/null +++ b/skins/html/widgets/err.tmpl @@ -0,0 +1,2 @@ +<!-- MessageTemplate --> +<br><h3><font color="red"><?% data.join('<br>') %?></font></h3><br> diff --git a/skins/html/widgets/file.tmpl b/skins/html/widgets/file.tmpl new file mode 100644 index 0000000..2c41fe4 --- /dev/null +++ b/skins/html/widgets/file.tmpl @@ -0,0 +1,20 @@ +<!-- file --> +<tr> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% data.msg %?> + </td> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% val = cgi.param(data.NAME) || data.def %?> + <input type="text" name="<?% data.NAME %?>" value="<?% val %?>" <?% FOREACH p = param.tags; "$p ";END %?> + onBlur="check<?% data.NAME %?>File()"><br> + <span id='id<?% param.count %?>'></span> + </td> +</tr> +<script> +function check<?% data.NAME %?>File () { + checkValue(document.forms[0].<?% data.NAME %?>, 'id<?% param.count %?>', "isfile", + '<?% gettext("File does not exist!") %?>', + '<?% gettext("File exists!") %?>'); +} +window.setTimeout("check<?% data.NAME %?>File()", 500); +</script> diff --git a/skins/html/widgets/footer.tmpl b/skins/html/widgets/footer.tmpl new file mode 100644 index 0000000..55980ce --- /dev/null +++ b/skins/html/widgets/footer.tmpl @@ -0,0 +1,61 @@ +<?% IF !global.hidefooter %?> +<?% IF verbose %?> + <?% data = bench %?> + +<div class="tab-pane" id="tabPane1"> + + <div class="tab-page" id="tabPage1"> + <h2 class="tab">Last Logs</h2> + + <table> + <?% FOREACH logline = llog(5) %?> + <tr><td> + <div style='font-size:10px'><?% logline %?><br></div> + </td></tr> + <?% END %?> + </table> + + </div> + + <div class="tab-page" id="tabPage2"> + <h2 class="tab">Benchmark</h2> + <table width=100%> + <?% FOREACH n = data.keys.sort %?> + <?% NEXT IF data.$n > 1000 %?> + <?% ges = data.$n + ges %?> + <tr> + <td><div style='font-size:10px'><?% n %?></div></td> + <td><div style='font-size:10px'><?% data.$n %?></div></td> + </tr> + <?% END %?> + <tr> + <td><b><div style='font-size:10px'>Summary:</div></b></td> + <td><b><div style='font-size:10px'><?% ges %?></div></b></td> + </tr> + </table> + </div> + + <div class="tab-page" id="tabPage3"> + <h2 class="tab">Variables</h2> + + <table><tr><td> + <pre><?% PERL %?> +use Data::Dumper; +print Dumper($stash->_dump_frame(5)); + <?% END %?></pre> + </td></tr></table> + + </div> + +</div> +<?% END %?> + +<!-- ###### Tooltips ###### --> +<div id="TOOLTIP"></div> + +<center class='footer'> +<a href="http://xxv.berlios.de">XXV System</a> -- Version: <?% version %?> +</center> +<?% END; #global.hidefooter %?> + </body> +</HTML> diff --git a/skins/html/widgets/formEnd.tmpl b/skins/html/widgets/formEnd.tmpl new file mode 100644 index 0000000..125126f --- /dev/null +++ b/skins/html/widgets/formEnd.tmpl @@ -0,0 +1,11 @@ +<!-- FormEnd --> +<tr><td colspan=2> </td></tr> +<tr> + <td> + <input type='submit' value='<?% gettext("Apply") %?>'> + <input type='reset' value='<?% gettext("Reset") %?>'> + </td> + <td> </td> +<tr> +</form> +</table> diff --git a/skins/html/widgets/formStart.tmpl b/skins/html/widgets/formStart.tmpl new file mode 100644 index 0000000..8e5bb25 --- /dev/null +++ b/skins/html/widgets/formStart.tmpl @@ -0,0 +1,10 @@ +<!-- FormStart --> +<?% IF data %?> +<h1><?% data %?></h1> +<?% END %?> +<table border='0' width='95%' style="margin-top:15px"> +<form method="post" action="?cmd=<?% cgi.param('cmd') %?>"> + <input type='hidden' name='data' value='<?% cgi.param('data') %?>'> + <input type='hidden' name='__action' value='save'> + + <?% INCLUDE 'widgets/referer.tmpl' %?> diff --git a/skins/html/widgets/hidden.tmpl b/skins/html/widgets/hidden.tmpl new file mode 100644 index 0000000..e641c54 --- /dev/null +++ b/skins/html/widgets/hidden.tmpl @@ -0,0 +1,2 @@ +<!-- hidden --> +<input type="hidden" name="<?% data.NAME %?>" value="<?% cgi.param(data.NAME) || data.def %?>"> diff --git a/skins/html/widgets/host.tmpl b/skins/html/widgets/host.tmpl new file mode 100644 index 0000000..cf90c8a --- /dev/null +++ b/skins/html/widgets/host.tmpl @@ -0,0 +1,23 @@ +<!-- host --> +<tr> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% data.msg %?> + </td> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% val = cgi.param(data.NAME) || data.def %?> + <input + type="text" + name="<?% data.NAME %?>" + value="<?% val %?>" + <?% FOREACH p = param.tags; "$p ";END %?> + onBlur="check<?% data.NAME %?>Host()" + ><br/> + <span id='id<?% param.count %?>'></span> + </td> +</tr> +<script> +function check<?% data.NAME %?>Host () { + checkValue(document.forms[0].<?% data.NAME %?>, 'id<?% param.count %?>', 'getip', '<?% gettext("Host does not exist!") %?>', 'IP: %s'); +} +window.setTimeout("check<?% data.NAME %?>Host()", 500); +</script> diff --git a/skins/html/widgets/integer.tmpl b/skins/html/widgets/integer.tmpl new file mode 100644 index 0000000..bbde2c3 --- /dev/null +++ b/skins/html/widgets/integer.tmpl @@ -0,0 +1,9 @@ +<!-- integer --> +<tr> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% data.msg %?> + </td> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <input type="text" name="<?% data.NAME %?>" value="<?% cgi.param(data.NAME) || data.def %?>" <?% FOREACH p = param.tags; "$p ";END %?>> + </td> +</tr> diff --git a/skins/html/widgets/link.tmpl b/skins/html/widgets/link.tmpl new file mode 100644 index 0000000..5ac989f --- /dev/null +++ b/skins/html/widgets/link.tmpl @@ -0,0 +1,2 @@ +<!-- Link --> +<a href="<?% reentities(data.url) %?>">[<?% data.text %?>]</a> diff --git a/skins/html/widgets/list.tmpl b/skins/html/widgets/list.tmpl new file mode 100644 index 0000000..a4bdcf2 --- /dev/null +++ b/skins/html/widgets/list.tmpl @@ -0,0 +1,47 @@ +<!-- list --> +<tr> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% data.msg %?> + </td> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% val = cgi.param(data.NAME) || data.def %?> + <?% UNLESS val.max %?> + <?% values = val.join(',').split(',') %?> + <?% ELSE %?> + <?% values = val %?> + <?% END %?> + <?% IF data.options == 'multi' %?> + <select name="<?% data.NAME %?>" multiple size="10" <?% FOREACH p = param.tags; "$p ";END %?>> + <?% ELSE %?> + <select name="<?% data.NAME %?>" <?% FOREACH p = param.tags; "$p ";END %?>> + <?% END %?> + <?% FOREACH l = data.choices %?> + <?% sel = '' %?> + <?% dis = '' %?> + <?% FOREACH valch = values %?> + <?% IF valch == l.1 %?> + <?% sel = ' selected="selected"';LAST %?> + <?% END %?> + <?% END %?> + <?% FOREACH valch = data.disabled %?> + <?% IF valch == l.1 %?> + <?% dis = ' disabled="disabled"';LAST %?> + <?% END %?> + <?% END %?> + <?% IF l.2 && l.2 != optgroup %?> + <?% IF optgroup %?> + </optgroup> + <?% END %?> + <optgroup label="<?% optgroup = l.2;l.2 %?>"> + <?% END %?> + <option value='<?% l.1 %?>'<?% sel %?><?% dis %?>><?% l.0 %?></option> + <?% END %?> + <?% IF optgroup %?> + </optgroup> + <?% END %?> + </select> + </td> +</tr> + +<pre> +</pre> diff --git a/skins/html/widgets/littlemenu.tmpl b/skins/html/widgets/littlemenu.tmpl new file mode 100644 index 0000000..8ae191f --- /dev/null +++ b/skins/html/widgets/littlemenu.tmpl @@ -0,0 +1,12 @@ +<!-- LittleMenuTemplate --> + +<?% IF data.title %?> +<h1><?% data.title %?></h1> +<?% END %?> + +<?% FOREACH l = data.links %?> +<?% "<b>" IF data.highlight == l.key %?> +<a href="<?% l.value.link %?>">[<?% l.value.text %?>]</a> +<?% "</b>" IF data.highlight == l.key %?> +<?% END %?> +<p> diff --git a/skins/html/widgets/menu.tmpl b/skins/html/widgets/menu.tmpl new file mode 100644 index 0000000..41bfc5f --- /dev/null +++ b/skins/html/widgets/menu.tmpl @@ -0,0 +1,21 @@ +<!-- MenuTemplate --> +<?% message = data.shift %?> +<?% IF message %?> +<h1><pre><?% gettext("ERROR")%?> : <?% message %?></pre></h1> +<?% END %?> + +<ul> +<?% FOREACH field = data %?> + <?% group = field.0; short = field.1; name = field.2; descr = field.3 %?> + <?% IF ! oldgroup.defined %?> +<li><?% group %?><ul> + <?% ELSIF oldgroup != group && oldgroup.defined %?> +</ul></li></ul> +<ul><li><?% group %?><ul> + <?% END %?> +<li><a href="?cmd=<?% name %?>" title="<?% descr %?>"><?% name %?></a></li> + <?% oldgroup = group %?> +<?% END %?> +</ul> +</li> +</ul> diff --git a/skins/html/widgets/message.tmpl b/skins/html/widgets/message.tmpl new file mode 100644 index 0000000..aa52e9b --- /dev/null +++ b/skins/html/widgets/message.tmpl @@ -0,0 +1,4 @@ +<!-- MessageTemplate --> +<?% IF param.tags; param.tags.first; END %?> +<?% data.join('<br>') %?><br> +<?% IF param.tags; param.tags.last; END %?> diff --git a/skins/html/widgets/password.tmpl b/skins/html/widgets/password.tmpl new file mode 100644 index 0000000..f6b043e --- /dev/null +++ b/skins/html/widgets/password.tmpl @@ -0,0 +1,11 @@ +<!-- password --> +<tr> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% data.msg %?> + </td> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% val = cgi.param(data.NAME) || data.def %?> + <input type="password" name="<?% data.NAME %?>" value="" <?% FOREACH p = param.tags; "$p ";END %?>><br/> + <input type="password" name="<?% data.NAME %?>" value="" <?% FOREACH p = param.tags; "$p ";END %?> title='<?% gettext("Repeat entry") %?>'> + </td> +</tr> diff --git a/skins/html/widgets/player.tmpl b/skins/html/widgets/player.tmpl new file mode 100644 index 0000000..d6354e8 --- /dev/null +++ b/skins/html/widgets/player.tmpl @@ -0,0 +1,187 @@ +<!-- player --> +<?% width = param.width %?> +<?% height = param.height %?> +<?% widget = param.widget %?> + +<?% IF info.http_useragent.match('.*MSIE.*') && !info.http_useragent.match('.*Opera.*'); + msie = 1; +ELSE; + msie = 0; +END %?> + + + +<h1><?% param.title %?></h1> + +<?% IF widget == 'vlc' && !msie %?> + +<!-- vlc with mozilla --> +<script language="javascript"> +<!-- + function volume_up() + { + var previous = document.vlc.get_volume(); + var newvolume = previous + 10; + if( newvolume > 200 ) newvolume = 200; + document.vlc.set_volume( newvolume ); + var volume = document.getElementById("volume_status"); + var current = document.vlc.get_volume(); + volume.innerHTML = current + " %"; + } + + function volume_down() + { + var previous = document.vlc.get_volume(); + var newvolume = previous - 10; + if( newvolume < 0 ) newvolume = 0; + document.vlc.set_volume( newvolume ); + var current = document.vlc.get_volume(); + volume.innerHTML = current + " %"; + } + function status() + { + var play_status = document.getElementById("play_status"); + play_status.innerHTML = document.vlc.isplaying() + ? "<?% gettext("Playing") %?>" + : "<?% gettext("Not playing") %?>"; + setTimeout("status()", 1000 ); + } +//--> +</script> +<p align='center'> + <embed type="application/x-vlc-plugin" + pluginspage="http://www.videolan.org/vlc" + name="vlc" + autoplay="yes" loop="no" height="<?% height %?>" width="<?% width %?>" + target="<?% data %?>" /> +<br /> + <input type="button" id="play" value="<?% gettext("Playback") %?>" onClick='document.vlc.play()' /> + <input type="button" id="pause" value="<?% gettext("Pause") %?>" onClick='document.vlc.pause()' /> + <input type="button" id="stop" value="<?% gettext("Stop") %?>" onClick='document.vlc.stop()' /> + + <input type="button" id="quiet" value="<?% gettext("Decrease volume") %?>" onClick='volume_down()' /> + <input type="button" id="loud" value="<?% gettext("Increase volume") %?>" onClick='volume_up()' /> + <input type="button" id="mute" value="<?% gettext("Mute") %?>" onClick='document.vlc.mute()' /> + + <input type="button" id="fullscreen" value="<?% gettext("Full screen") %?>" onClick='document.vlc.fullscreen()' /> +<br /> + <table summary=""> + <tr><td><?% gettext("Status") %?> : </td> + <td><span id="play_status"><?% gettext("Unknown") %?></span></td></tr> + <tr><td><?% gettext("Volume") %?> : </td><td><span id="volume_status"></span></td></tr> + </table> +</p> + +<script language="javascript"> +<!-- + var volume = document.getElementById("volume_status"); + var current = document.vlc.get_volume(); + volume.innerHTML = current + " %"; + setTimeout("status()", 1 ); +//--> +</script> + + +<?% ELSIF widget == 'vlc' %?> + +<!-- vlc with activeX --> +<p align='center'> + <object classid="clsid:E23FE9C6-778E-49D4-B537-38FCDE4887D8" + codebase="http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab" + height="<?% height %?>" width="<?% width %?>" id="vlc" events="True"> + <param name="Src" value="<?% data %?>" /> + <param name="ShowDisplay" value="True" /> + <param name="Loop" value="False" /> + <param name="AutoPlay" value="True" /> + </object> +<br /> + <input type="button" id="play" value="<?% gettext("Playback") %?>" onClick='doPlayOrPause()' /> + <input type="button" id="pause" value="<?% gettext("Pause") %?>" onClick='doPlayOrPause()' /> + <input type="button" id="stop" value="<?% gettext("Stop") %?>" onClick='document.vlc.stop()' /> + + <input type="button" id="mute" value="<?% gettext("Mute") %?>" onClick='document.vlc.toggleMute()' /> +<br /> + <table summary=""> + <tr><td><?% gettext("Status") %?> : </td> + <td><span id="play_status"><?% gettext("Unknown") %?></span></td></tr> + </table> +</p> + +<script LANGUAGE="JScript"> +<!-- +var sliderTimerId = 0; + +function onPlay() { + document.getElementById("play_status").value = "<?% gettext("Playing") %?>"; +}; +function onPause() { + document.getElementById("play_status").value = "<?% gettext("Paused") %?>"; +}; +function onStop() { + document.getElementById("play_status").value = "<?% gettext("Not playing") %?>"; +}; + +function doUpdate() { + if( vlc.Playing ) { + sliderTimerId = setTimeout("doUpdate()", 1000); + } + else { + onStop(); + sliderTimerId = 0; + } +}; + +function doPlayOrPause() { + if( document.vlc.playing ) { + document.vlc.pause(); + } + else { + document.vlc.play(); + } +}; +function vlc::play() { + if( ! sliderTimerId ) { + sliderTimerId = setTimeout("doUpdate()", 1000); + } + onPlay(); +}; +function vlc::pause() { + if( sliderTimerId ) { + clearTimeout(sliderTimerId) + sliderTimerId = 0; + } + onPause(); +}; +function vlc::stop() { + if( sliderTimerId ) { + clearTimeout(sliderTimerId) + sliderTimerId = 0; + } + onStop(); +}; +//--> +</script> +<?% ELSE %?> +<!-- media player with activeX --> +<p align='center'> + <object id="mediaPlayer" width="<?% width %?>" height="<?% height %?>" + classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" + codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" + standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject"> + <param name="fileName" value="<?% data %?>" /> + <param name="animationatStart" value="true" /> + <param name="transparentatStart" value="true" /> + <param name="autoStart" value="true" /> + <param name="showControls" value="true" /> + <param name="loop" value="true" /> + <embed type="application/x-mplayer2" + pluginspage="http://microsoft.com/windows/mediaplayer/en/download/" + id="mediaPlayer" name="mediaPlayer" displaysize="4" autosize="-1" + bgcolor='darkblue' showcontrols="true" showtracker="-1" + showdisplay="0" showstatusbar="-1" videoborder3d="-1" width="<?% width %?>" height="<?% height %?>" + src="<?% data %?>" autostart="true" designtimesp="5311" loop="true"> + </embed> + </object> +</p> +<?% END %?> + diff --git a/skins/html/widgets/radio.tmpl b/skins/html/widgets/radio.tmpl new file mode 100644 index 0000000..acd42f5 --- /dev/null +++ b/skins/html/widgets/radio.tmpl @@ -0,0 +1,12 @@ +<!-- radio --> +<tr> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% data.msg %?> + </td> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% val = cgi.param(data.NAME) || data.def %?> + <?% FOREACH wert = data.choices %?> + <input type="radio" name="<?% data.NAME %?>" value="<?% wert %?>" <?% "checked" IF val == wert %?><?% FOREACH p = param.tags; " $p";END %?>><?% wert %?><br> + <?% END %?> + </td> +</tr> diff --git a/skins/html/widgets/redirect.tmpl b/skins/html/widgets/redirect.tmpl new file mode 100644 index 0000000..60f4e73 --- /dev/null +++ b/skins/html/widgets/redirect.tmpl @@ -0,0 +1,4 @@ +<!-- Redirect --> +<script type="text/javascript"> + redirect('<?% reentities(data.url) %?>', '<?% data.wait ? data.wait : 1 %?>', '<?% data.parent %?>'); +</script> diff --git a/skins/html/widgets/referer.tmpl b/skins/html/widgets/referer.tmpl new file mode 100644 index 0000000..152158b --- /dev/null +++ b/skins/html/widgets/referer.tmpl @@ -0,0 +1,8 @@ + <?% command = cgi.param('cmd') %?> + <?% IF info.Referer.match("cmd=help") %?> + <input type='hidden' name='referer' value='?cmd=<?% cgi.param('cmd') %?>&data=<?% cgi.param('data') %?>'> + <?% ELSIF info.Referer.match("cmd=${command}") %?> + <input type='hidden' name='referer' value='<?% cgi.param('referer') %?>'> + <?% ELSE %?> + <input type='hidden' name='referer' value='<?% info.Referer %?>'> + <?% END %?> diff --git a/skins/html/widgets/remote.tmpl b/skins/html/widgets/remote.tmpl new file mode 100644 index 0000000..3204c74 --- /dev/null +++ b/skins/html/widgets/remote.tmpl @@ -0,0 +1,177 @@ +<!-- remote --> +<?% IF cgi.param('monitor').defined;monitor = cgi.param('monitor');ELSE;monitor = param.monitor;END %?> +<img src="images/trans.gif" name="switchimage" width="2" height="1"> +<form name="remoteform" onsubmit="changeInterval(document.remoteform.grabinterval.value); return false"> + +<script language="javascript" type="text/javascript"> +<!-- + +var interval = 5 +var last = 0; + +function post(url) { + var vdr = ( document.remoteform.vdr.options ? document.remoteform.vdr.options[document.remoteform.vdr.options.selectedIndex].value : document.remoteform.vdr.value ); + // Hmm, brutal und gemein, das Laden der URL als Bild funktioniert... + var img = new Image(); + img.src = url + '&__vdr=' + vdr; +} + +function switch_channel(url) { + post(url); +<?% IF monitor %?> + if(last + 1000 < Date.UTC()) { + grab(); + } +<?% END %?> +} + +<?% IF monitor %?> +function grab() { + if(document.remoteform.grabinterval.value > 0) { + Now = new Date(); + var vdr = ( document.remoteform.vdr.options ? document.remoteform.vdr.options[document.remoteform.vdr.options.selectedIndex].value : document.remoteform.vdr.value ); + document.livepicture.src = '?cmd=gdisplay&__vdr='+vdr+'&random=' + Now.getTime(); + } + last = Date.UTC(); +} + +function changeInterval(newinterval) { + window.clearInterval(aktiv); + if(newinterval > 0) { + inter = newinterval * 1000; + aktiv = window.setInterval("grab()", inter); + } +} + +inter = interval * 1000; +aktiv = window.setInterval("grab()", inter); +<?% END %?> +--> +</script> + +<style type="text/css" media="screen"> +<!-- +#small { font-weight: normal; width: 20px; height: 20px; font-size: 9px; font-family: Verdana, Arial, Geneva, Helvetica, sans-serif} +--> +</style> +<?% USE date %?> +<!-- remote --> +<center> +<table border=0 cellpadding=0 cellspacing=0> +<tr> +<?% IF monitor %?> + <td rowspan="14"> + <img src="?cmd=gdisplay&random=<?% date.now %?>&__vdr=<?% param.vdr %?>" width="<?% param.width %?>" height="<?% param.height %?>" name="livepicture"> + </td> +<?% END %?> + <td colspan="3"><nobr> + <input type="button" onclick="self.location.href='?cmd=r&monitor=<?% monitor ? 0 : 1 %?>'" name="monitor" value="<?% gettext("Monitor") %?>"> + <input type="button" onclick="switch_channel('?cmd=remote&data=Power')" name="power" value="<?% gettext("Switch off") %?>"> + </td> +</tr> +<tr> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=1')" type="button" name="1" value="1"></td> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=2')" type="button" name="2" value="2"></td> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=3')" type="button" name="3" value="3"></td> +</tr> +<tr> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=4')" type="button" name="4" value="4"></td> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=5')" type="button" name="5" value="5"></td> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=6')" type="button" name="6" value="6"></td> +</tr> +<tr> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=7')" type="button" name="7" value="7"></td> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=8')" type="button" name="8" value="8"></td> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=9')" type="button" name="9" value="9"></td> +</tr> +<tr> + <td> </td> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=Null')" type="button" name="0" value="0"></td> + <td> </td> +</tr> +<tr> + <td colspan="3" align="center"><nobr> + <input id='small' onclick="switch_channel('?cmd=remote&data=Red')" type="button" name="red" value=" " style="background:red"> + <input id='small' onclick="switch_channel('?cmd=remote&data=Green')" type="button" name="green" value=" " style="background:green"> + <input id='small' onclick="switch_channel('?cmd=remote&data=Yellow')" type="button" name="yellow" value=" " style="background:yellow"> + <input id='small' onclick="switch_channel('?cmd=remote&data=Blue')" type="button" name="blue" value=" " style="background:blue"> + </td> +</tr> +<tr> + <td> </td> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=Up')" type="button" name="up" value="^"></td> + <td> </td> +</tr> +<tr> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=Left')" type="button" name="left" value="<"></td> + <td align='center'><input onclick="switch_channel('?cmd=remote&data=Ok')" type="button" name="ok" value="<?% gettext("Ok") %?>"></td> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=Right')" type="button" name="right" value=">"></td> +</tr> +<tr> + <td> </td> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=Down')" type="button" name="down" value="v"></td> + <td> </td> +</tr> +<tr> + <td colspan="3"><nobr> + <input type="button" onclick="switch_channel('?cmd=remote&data=Menu')" name="menu" value="<?% gettext("Menu") %?>"> + <input onclick="switch_channel('?cmd=remote&data=Back')" type="button" name="back" value="<?% gettext("Back") %?>"> + </td> +</tr> +<tr> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=VolumeMinus')" type="button" name="leiser" value="-"></td> + <td align='center'> </td> + <td align='center'><input id='small' onclick="switch_channel('?cmd=remote&data=VolumePlus')" type="button" name="lauter" value="+"></td> +</tr> +<?% IF param.vdrlist.size > 1 %?> +<tr> + <td colspan="3" align="center"> + <select style="width:150px;" name="vdr"> + <?% FOREACH l = param.vdrlist %?> + <option value='<?% l.1 %?>'<?% IF l.1 == param.vdr %?> selected<?% END %?>><?% l.0 %?></option> + <?% END %?> + </select> + </td> +</tr> +<?% ELSE %?> +<tr> + <td colspan="7" align="center"> + <input type="hidden" name="vdr" value="<?% param.vdr %?>" /> + </td> +</tr> +<?% END %?> +<tr> + <td colspan="3" align="center"> + <select style="width:150px;" name="channels" onchange="post('?cmd=switch&data='+ this.form.channels.options[this.form.channels.options.selectedIndex].value)"> + <?% FOREACH l = param.channels %?> + <?% IF l.2 && l.2 != optgroup %?> + <?% IF optgroup %?> + </optgroup> + <?% END %?> + <optgroup label="<?% optgroup = l.2;l.2 %?>"> + <?% END %?> + <option value='<?% l.1 %?>'><?% l.0 %?></option> + <?% END %?> + <?% IF optgroup %?> + </optgroup> + <?% END %?> + </select> + </td> +</tr> +<?% IF monitor %?> +<tr> + <td align='center' colspan="3"> + <input style='width:20px' name="grabinterval" type="text" size="2"> + <input type="button" onclick="changeInterval(document.remoteform.grabinterval.value)" value="<?% gettext("Set") %?>"> + </td> +</tr> +<?% END %?> +</form> +</table> +<?% IF monitor %?> +<script language="javascript" type="text/javascript"> +<!-- +document.remoteform.grabinterval.value = interval; +//--> +</script> +<?% END %?> diff --git a/skins/html/widgets/start.tmpl b/skins/html/widgets/start.tmpl new file mode 100644 index 0000000..d1126af --- /dev/null +++ b/skins/html/widgets/start.tmpl @@ -0,0 +1,30 @@ +<!DOCTYPE html + PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <title><?% IF param.title.defined;param.title;ELSE %?>XXV - <?% user %?><?% END %?></title> +<?% IF allow('request') %?> + <link rel="alternate" type="application/rss+xml" title="RSS-News 1.0" href="?cmd=request&data=rss&__version=1"> + <link rel="alternate" type="application/rss+xml" title="RSS-News 2.0" href="?cmd=request&data=rss&__version=2"> +<?% END %?> + <link rel="search" type="application/opensearchdescription+xml" href="?cmd=opensearch" title="<?% gettext("Search with XXV") %?>" /> + <meta http-equiv="Content-Type" content="text/html; charset=<?% charset %?>"> + <meta name="generator" content="XXV System - Version: <?% version %?>" /> +<!-- Styles --> + <link href="style/style.css" type="text/css" rel="stylesheet" /> +<?% IF call == 'vtxpage' %?> + <link href="style/vtxgfx.css" type="text/css" rel="stylesheet" /> +<?% END %?> +<!-- Javascript --> + <script type="text/javascript" src="javascript/global.js"></script> + <script type="text/javascript" src="javascript/XHConn.js"></script> + <script type="text/javascript" src="javascript/tooltip.js"></script> + <base target="Daten"> +</head> +<body> + +<?% INCLUDE 'skin.cfg' %?> +<?%# INCLUDE 'help.tmpl' %?> + +<div class="content"> diff --git a/skins/html/widgets/string.tmpl b/skins/html/widgets/string.tmpl new file mode 100644 index 0000000..3faf4f4 --- /dev/null +++ b/skins/html/widgets/string.tmpl @@ -0,0 +1,16 @@ +<!-- string --> +<tr> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% data.msg %?> + </td> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% val = cgi.param(data.NAME) || data.def %?> + <?% IF data.readonly %?> + <span<?% FOREACH p = param.tags; "$p ";END %?>> + <?% val %?> + </span> + <?% ELSE %?> + <input type="text" name="<?% data.NAME %?>" value="<?% val %?>" <?% FOREACH p = param.tags; "$p ";END %?>> + <?% END %?> + </td> +</tr> diff --git a/skins/html/widgets/table.tmpl b/skins/html/widgets/table.tmpl new file mode 100644 index 0000000..01d1303 --- /dev/null +++ b/skins/html/widgets/table.tmpl @@ -0,0 +1,47 @@ +<p><p> +<!-- TableTemplate --> +<?% IF param.headingText %?> +<table width=100%><tr><td class='tableheader'><h3><?% param.headingText %?></h3> +<?% END %?> +<table border="0" width="95%"> +<?% IF type == 'HASH' %?> + <?% IF ! param.hide_HeadRow %?> + <th width="1%">Name</th><th>Value</th> + <?% END %?> + <?% FOREACH name = data.keys.sort %?> + <?% NEXT IF name.match('^__') %?> + <tr> + <td width="50%"><?% name %?></td><td><?% data.$name %?></td> + </tr> + <?% END %?> +<?% ELSE %?> + <?% fields = data.shift %?> + <tr> + <?% FOREACH field = fields %?> + <?% NEXT IF field.match('^__') %?> + <th> + <nobr><?% field %?> + <?% IF param.sortable %?> + <a href="?cmd=<?% cgi.param('cmd') %?>&__sortby=<?% field %?>&__desc=0"><img src="images/asc.png"></a> + <a href="?cmd=<?% cgi.param('cmd') %?>&__sortby=<?% field %?>&__desc=1"><img src="images/desc.png"></a> + <?% END %?> + </nobr> + </th> + <?% END %?> + </tr> + <?% FOREACH zeile = data %?> + <tr> + <?% c = -1 %?> + <?% FOREACH field = zeile %?> + <?% c = c + 1 %?> + <?% NEXT IF fields.$c.match('^__') %?> + <td><?% field %?></td> + <?% END %?> + </tr> + <?% END %?> +<?% END %?> +</table> +<?% IF param.headingText %?> +</td></tr></table> +<p> +<?% END %?> diff --git a/skins/html/widgets/textfield.tmpl b/skins/html/widgets/textfield.tmpl new file mode 100644 index 0000000..5ab4e7e --- /dev/null +++ b/skins/html/widgets/textfield.tmpl @@ -0,0 +1,17 @@ +<!-- textfield --> +<tr> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% data.msg %?> + </td> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% val = cgi.param(data.NAME) || data.def %?> + <?% IF data.readonly %?> + <span<?% FOREACH p = param.tags; "$p ";END %?>> + <?% val %?> + </span> + <?% ELSE %?> + <textarea cols='50' rows='5' name="<?% data.NAME %?>" <?% FOREACH p = param.tags; "$p ";END %?>><?% val | replace("<br />"," +") %?></textarea> + <?% END %?> + </td> +</tr> diff --git a/skins/html/widgets/time.tmpl b/skins/html/widgets/time.tmpl new file mode 100644 index 0000000..5519c0c --- /dev/null +++ b/skins/html/widgets/time.tmpl @@ -0,0 +1,16 @@ +<!-- time --> +<tr> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% data.msg %?> + </td> + <td class="<?% (param.count mod 2) == 0 ? 'light' : 'dark' %?>" > + <?% val = cgi.param(data.NAME) || data.def %?> + <?% IF data.readonly %?> + <span<?% FOREACH p = param.tags; "$p ";END %?>> + <?% val %?> + </span> + <?% ELSE %?> + <input type="text" name="<?% data.NAME %?>" value="<?% val %?>" <?% FOREACH p = param.tags; "$p ";END %?>> + <?% END %?> + </td> +</tr> diff --git a/skins/html/widgets/wait.tmpl b/skins/html/widgets/wait.tmpl new file mode 100644 index 0000000..4d0b2a5 --- /dev/null +++ b/skins/html/widgets/wait.tmpl @@ -0,0 +1,34 @@ +<!DOCTYPE html + PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <title>XXV</title> + <meta http-equiv="Content-Type" content="text/html; charset=<?% charset %?>"> + <meta name="copyright" content="copyright 2004 Xpix"> +<style type="text/css"> +<!-- + + <?% INCLUDE style/style.css %?> + +--> +</style> +</head> +<body> +<!-- WaitTemplate --> +<?% percent = (data.current / data.maximum) * 100 %?> +<?% step = data.maximum / data.steps %?> +<?% c = 0 %?> +<center> +<h3><?% data.msg %?></h3> +<table border=0 align=center> +<?% WHILE c < data.steps %?> + <?% c = c + 1 %?> + <?% color = (step * c) <= data.current ? "red" : "white" %?> + <td bgcolor="<?% color %?>"> </td> +<?% END %?> + <td> <b><?% percent div 1 | format "%02d" %?>%</b> (<?% data.eta %?>)</td> +</table> +</center> +</body> +</html> |
