Patrick's shiny new web interface

This commit is contained in:
Ron Pedde 2005-11-14 05:41:18 +00:00
parent c52a0c9986
commit 341b3a750d
15 changed files with 373 additions and 1241 deletions

View File

@ -112,6 +112,7 @@ Diego Penneno
Patrick Kolla Patrick Kolla
* Popup "wizard" for smart playlists * Popup "wizard" for smart playlists
* Stylish new web interface look.. woohoo!
slomo (from the forums) slomo (from the forums)
* Musepack tag parsing support. * Musepack tag parsing support.

View File

@ -112,6 +112,7 @@ Diego Penneno
Patrick Kolla Patrick Kolla
* Popup "wizard" for smart playlists * Popup "wizard" for smart playlists
* Stylish new web interface look.. woohoo!
slomo (from the forums) slomo (from the forums)
* Musepack tag parsing support. * Musepack tag parsing support.

View File

@ -1,11 +1,8 @@
@include hdr.html@ @include hdr.html@
<h1>ASPL License</h1> <h1>ASPL License</h1>
<p class="license"><pre>
<div class="stx">
<PRE>
@include aspl-license.txt@ @include aspl-license.txt@
</PRE> </pre></p>
@include ftr.html@ @include ftr.html@

View File

@ -2,98 +2,104 @@
<h1>Configuration</h1> <h1>Configuration</h1>
<p> <p class="description">
Note that the following fields will only be editable if the Note that the following fields will only be editable if the
configuration file itself is writable by the mt-daapd server. If you configuration file itself is writable by the mt-daapd server. If you
make changes to these settings, they will not be reflected in the make changes to these settings, they will not be reflected in the
running server. The server must be restarted for these values to running server. The server must be restarted for these values to
take effect. take effect.</p>
</p>
<div class="stx">
<form method="post" action="/config-update.html"> <form method="post" action="/config-update.html">
<table> <table>
<tr> <tr>
<td>Web Root</td> <th>mt-daapd.conf</th>
<td><input type="text" @READONLY@ name="WEB_ROOT" size="80" value="@WEB_ROOT@" /></td> <th class="config"><input type="submit" name="SUBMIT" value="Submit"/></th>
</tr> </tr>
<tr> <tr>
<td>Playlist File</td> <td class="configname">Web Root</td>
<td><input type="text" @READONLY@ name="PLAYLIST" size="80" value="@PLAYLIST@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="WEB_ROOT" size="80" value="@WEB_ROOT@" /></td>
</tr> </tr>
<tr> <tr>
<td>MP3 Dir</td> <td class="configname">Playlist File</td>
<td><input type="text" @READONLY@ name="MP3_DIR" size="80" value="@MP3_DIR@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="PLAYLIST" size="80" value="@PLAYLIST@" /></td>
</tr> </tr>
<tr> <tr>
<td>Database Dir</td> <td class="configname">MP3 Directory</td>
<td><input type="text" @READONLY@ name="DB_DIR" size="80" value="@DB_DIR@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="MP3_DIR" size="80" value="@MP3_DIR@" /></td>
</tr> </tr>
<tr> <tr>
<td>Port</td> <td class="configname">Database Directory</td>
<td><input type="text" @READONLY@ name="PORT" value="@PORT@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="DB_DIR" size="80" value="@DB_DIR@" /></td>
</tr> </tr>
<tr> <tr>
<td>Server Name</td> <td class="configname">Compilation Directories</td>
<td><input type="text" @READONLY@ name="SERVERNAME" value="@SERVERNAME@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="COMPDIRS" size="80" value="@COMPDIRS@" /></td>
</tr> </tr>
<tr> <tr>
<td>Logfile</td> <td class="configname">Logfile</td>
<td><input type="text" @READONLY@ name="LOGFILE" value="@LOGFILE@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="LOGFILE" size="80" value="@LOGFILE@" /></td>
</tr> </tr>
<tr> <tr>
<td>Art Filename</td> <td class="configname">Art Filename</td>
<td><input type="text" @READONLY@ name="ART_FILENAME" value="@ART_FILENAME@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="ART_FILENAME" size="80" value="@ART_FILENAME@" /></td>
</tr> </tr>
<tr> <tr>
<td>Run As</td> <td class="configname">Port</td>
<td><input type="text" @READONLY@ name="RUNAS" value="@RUNAS@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="PORT" value="@PORT@" />
&nbsp;The port the server should run at; default is 3689.</td>
</tr> </tr>
<tr> <tr>
<td>Admin Password</td> <td class="configname">Server Name</td>
<td><input type="text" @READONLY@ name="ADMIN_PW" value="@ADMIN_PW@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="SERVERNAME" value="@SERVERNAME@" />
&nbsp;the name iTunes and other daap clients should see.</td>
</tr> </tr>
<tr> <tr>
<td>MP3 Password</td> <td class="configname">Run As</td>
<td><input type="text" @READONLY@ name="PASSWORD" value="@PASSWORD@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="RUNAS" value="@RUNAS@" /></td>
</tr> </tr>
<tr> <tr>
<td>Extensions</td> <td class="configname">Admin Password</td>
<td><input type="text" @READONLY@ name="EXTENSIONS" value="@EXTENSIONS@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="ADMIN_PW" value="@ADMIN_PW@" />
&nbsp;The password for this administration interface.</td>
</tr> </tr>
<tr> <tr>
<td>Rescan Interval</td> <td class="configname">MP3 Password</td>
<td><input type="text" @READONLY@ name="RESCAN_INTERVAL" value="@RESCAN_INTERVAL@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="PASSWORD" value="@PASSWORD@" />
&nbsp;The password clients need to access this server.</td>
</tr> </tr>
<tr> <tr>
<td>Scan type</td> <td class="configname">Extensions</td>
<td><input type="text" @READONLY@ name="SCAN_TYPE" value="@SCAN_TYPE@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="EXTENSIONS" value="@EXTENSIONS@" /></td>
</tr> </tr>
<tr> <tr>
<td>Always Scan</td> <td class="configname">Rescan Interval</td>
<td><input type="text" @READONLY@ name="ALWAYS_SCAN" value="@ALWAYS_SCAN@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="RESCAN_INTERVAL" value="@RESCAN_INTERVAL@" />
&nbsp;How often should mt-daapd look for new files? In seconds.</td>
</tr> </tr>
<tr> <tr>
<td>Compress</td> <td class="configname">Scan Type</td>
<td><input type="text" @READONLY@ name="COMPRESS" value="@COMPRESS@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="SCAN_TYPE" value="@SCAN_TYPE@" /></td>
</tr> </tr>
<tr> <tr>
<td>Process .m3u Files</td> <td class="configname">Always Scan</td>
<td><input type="text" @READONLY@ name="PROCESS_M3U" value="@PROCESS_M3U@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="ALWAYS_SCAN" value="@ALWAYS_SCAN@" /></td>
</tr> </tr>
<tr> <tr>
<td>Compilation Directories</td> <td class="configname">Compress</td>
<td><input type="text" @READONLY@ name="COMPDIRS" value="@COMPDIRS@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="COMPRESS" value="@COMPRESS@" />
&nbsp;Should browsing data be compressed on the way to the client?</td>
</tr> </tr>
<tr> <tr>
<td>Debug Level</td> <td class="configname">Process .m3u Files</td>
<td><input type="text" @READONLY@ name="DEBUGLEVEL" value="@DEBUGLEVEL@" /></td> <td class="configdata"><input class="text" type="text" @READONLY@ name="PROCESS_M3U" value="@PROCESS_M3U@" />
Should m3u files be processed as playlists?</td>
</tr>
<tr>
<td class="configname">Debug Level</td>
<td class="configdata"><input class="text" type="text" @READONLY@ name="DEBUGLEVEL" value="@DEBUGLEVEL@" />
&nbsp;Possible values are 0 to 9, 9 being the most detailed debug level.</td>
</tr> </tr>
</table> </table>
<div><input type="submit" name="SUBMIT" value="Submit" /></div>
</form> </form>
</div>
@include ftr.html@ @include ftr.html@

View File

@ -2,76 +2,104 @@
<h1>Feedback</h1> <h1>Feedback</h1>
<div class="stx"> <p class="description">
Here you can send feedback on your mt-daapd installation to the developer.
</p>
<form action="http://www.pedde.com/mt-daapd/register.php" method="post"> <form action="http://www.pedde.com/mt-daapd/register.php" method="post">
<table><tr>
<th>Feedback</th>
<th><input type="submit" value="Leave Feedback" /></th>
</th>
</tr>
<table> <tr>
<tr valign="top"> <td class="feedbackname" rowspan="2">Works?</td>
<th>Works?</th> <td class="feedbacktext">
<td><input type="checkbox" name="works" value="CHECKED" checked="checked" /></td>
<td>
The most important question. Did this version work for you? The most important question. Did this version work for you?
If not, uncheck the box, and put an explanation in the NOTES If not, uncheck the box, and put an explanation in the NOTES
entry below. entry below.
</td> </td>
</tr> </tr>
<tr>
<td class="feedbackdata"><input class="feedbackfield" type="checkbox" name="works" value="CHECKED" checked="checked" /></td>
</tr>
<tr valign="top"> <tr>
<th>Version</th> <td class="feedbackname" rowspan="2">Version</td>
<td><input type="text" name="version" value="@VERSION@" /></td> <td class="feedbacktext">
<td>
This is the version of mt-daapd you are running. If you are using a This is the version of mt-daapd you are running. If you are using a
public release, use the version number (0.1.0, 0.1.1, etc). If it is public release, use the version number (0.1.0, 0.1.1, etc). If it is
manually checked out of cvs, use 'cvs', if it is a nightly snapshot, manually checked out of cvs, use 'cvs', if it is a nightly snapshot,
use the snapshot name, for example: 'cvs-20040328'. use the snapshot name, for example: 'cvs-20040328'.
</td> </td>
</tr> </tr>
<tr>
<td class="feedbackdata"><input class="feedbackfield" type="text" size="40" name="version" value="@VERSION@" /></td>
</tr>
<tr valign="top"> <tr>
<th>System</th> <td class="feedbackname" rowspan="2">System</td>
<td><input type="text" name="system" value="@SYSTEM@" /></td> <td class="feedbacktext">
<td>
This is the operating system and version you are running. This is the operating system and version you are running.
Use something like "Sparc Solaris 9" or "x86 Linux 2.6.3" or Use something like "Sparc Solaris 9" or "x86 Linux 2.6.3" or
"Mac OSX 10.3" or something to help identify what platform and "Mac OSX 10.3" or something to help identify what platform and
version you are running. version you are running.
</td> </td>
</tr> </tr>
<tr>
<tr valign="top"> <td class="feedbackdata"><input class="feedbackfield" type="text" size="40" name="system" value="@SYSTEM@" /></td>
<th>Compile args</th>
<td><input type="text" name="compile" value="@FLAGS@" /></td>
<td>
If you used any compile flags, that would be helpful. Examples
might include '--with-gdbm', or '--enable-howl' or something else.
</td>
</tr> </tr>
<tr valign="top"> <tr>
<th>Notes</th> <td class="feedbackname" rowspan="2">Compile arguments</td>
<td><textarea rows="3" cols="40" name="notes"></textarea></td> <td class="feedbacktext">
<td> If you used any compile flags, that would be helpful. Examples might include
'--with-gdbm', or '--enable-howl' or something else.
</td>
</tr>
<tr>
<td class="feedbackdata"><input class="feedbackfield" type="text" size="40" name="compile" value="@FLAGS@" /></td>
</tr>
<tr>
<td class="feedbackname" rowspan="2">Notes</td>
<td class="feedbacktext">
If it didn't work for you, or if you just want to make a If it didn't work for you, or if you just want to make a
suggestion, leave those notes here. Remember that these suggestion, leave those notes here. Remember that these
notes are publicly viewable. notes are publicly viewable.
</td> </td>
</tr> </tr>
<tr>
<td class="feedbackdata"><textarea class="feedbackfield" rows="3" cols="40" name="notes"></textarea></td>
</tr>
<tr valign="top"> <tr>
<th>Rating</th> <td class="feedbackname" rowspan="2">Rating</td>
<td><input type="text" name="rating" /></td> <td class="feedbacktext">
<td>
Just for fun, give this release a rating from 1 to 10, 1 being Just for fun, give this release a rating from 1 to 10, 1 being
so bad it started your computer on fire, 10 meaning works so so bad it started your computer on fire, 10 meaning works so
well, it even made your breath fresher. well, it even made your breath fresher.
</td> </td>
</tr> </tr>
<tr>
<td class="feedbackdata">
<select class="feedbackfield" name="rating">
<option value="10">10 - it made my breath fresher</option>
<option value="9">9</option>
<option value="8">8</option>
<option value="7">7</option>
<option value="6" selected="SELECTED">6 - we're gonna wait and see</option>
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1 - it set my computer on fire</option>
</select>
</td>
</tr>
</table> </table>
<div><input type="submit" value="Leave Feedback" /></div>
</form> </form>
</div>
@include ftr.html@ @include ftr.html@

View File

@ -1,8 +1,3 @@
</div> </td></tr></table>
</div>
</td> </body></html>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -2,10 +2,8 @@
<h1>GPL License</h1> <h1>GPL License</h1>
<div class="stx"> <p class="license"><pre>
<PRE>
@include gpl-license.txt@ @include gpl-license.txt@
</PRE> </pre></p>
@include ftr.html@ @include ftr.html@

View File

@ -1,131 +1,46 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head> <head>
<title>.: m t - d a a p d :.</title> <title>mt-daapd</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="mt-daapd.css" /> <link rel="stylesheet" type="text/css" href="mt-daapd.css" />
@ispage status.html:<meta http-equiv="refresh" content="10" />:@ @ispage status.html:<meta http-equiv="refresh" content="10" />:@
@ispage smart.html:<script type="text/javascript" src="smart.js"></script>:@ @ispage smart.html:<script type="text/javascript" src="smart.js" />:@
@ispage playlist.html:<script type="text/javascript" src="playlist.js"></script>:@ <script type="text/javascript" src="mt-daapd.js" />
</head> </head>
<body @ispage playlist.html:onload="init();":@ @ispage smart.html:onload="init()":@>
<body @ispage playlist.html:onload="init()":@ @ispage smart.html:onload="init()":@> <table class="main" border="0" width="100%" summary="Main navigation"><tr>
@ispage playlist.html:<!--:@ <td class="navi" width="182">
<div>
<table border="0" width="100%"> <img src="mt-daapd.png" width="182" height="71" alt="mt-daap logo"/>
<tr><td style="width: 90%;">&nbsp;</td><td align="center"><img src="mt-daapd.png" alt="mt-daap logo"/>
<br />Version @VERSION@</td></tr> <div class="ministatus">Version @VERSION@</div>
</table>
</div> <div class="naviheader">Welcome, @user@</div>
@ispage playlist.html:-->:@ <div class="navibox">
<!-- <hr size="" class="netscape4"> --> <div class="navilink"><a class="@ispage index.html:naviselected:navi@" href="index.html">home</a></div>
<div class="tabs"> <div class="navilink"><a class="@ispage config.html:naviselected:navi@" href="config.html">config</a></div>
<a href="index.html" class="@ispage index.html:selected:plain@">Home</a> <div class="navilink"><a class="@ispage status.html:naviselected:navi@" href="status.html">status</a></div>
<a href="config.html" class="@ispage config.html:selected:plain@">Config</a> <div class="navilink"><a class="@ispage smart.html:naviselected:navi@" href="smart.html">smart</a></div>
<a href="status.html" class="@ispage status.html:selected:plain@">Status</a> <div class="navilink"><a class="@ispage feedback.html:naviselected:navi@" href="feedback.html">feedback</a></div>
<!-- <a href="playlist.html" class="@ispage <div class="navilink"><a class="@ispage thanks.html:naviselected:navi@" href="thanks.html">thanks</a></div>
playlist.html:selected:plain@">Playlist</a> -->
<a href="feedback.html" class="@ispage
feedback.html:selected:plain@">Feedback</a>
<a href="smart.html" class="@ispage smart.html:selected:plain@">Smart</a>
<a href="thanks.html" class="@ispage thanks.html:selected:plain@">Thanks</a>
</div> </div>
<div class="personalBar">&nbsp; <div class="naviheader">Experimental</div>
<span>@session-count@ Connected Users</span> <div class="navibox">
<div class="navilink"><a class="@ispage playlist.html:naviselected:navi@" href="playlist.html">playlist</a></div>
<div class="navilink"><a class="@ispage applet.html:naviselected:navi@" href="applet.html">applet</a></div>
</div> </div>
<div class="pathBar"> <div class="naviheader">Links</div>
Welcome, @user@ <div class="navibox">
<div class="navilink"><a class="navi" href="http://mt-daapd.sourceforge.net/">mt-daapd home</a></div>
<div class="navilink"><a class="navi" href="http://cvs.sourceforge.net/viewcvs.py/mt-daapd/">mt-daapd cvs</a></div>
<div class="navilink"><a class="@ispage gpl-license.html:naviselected:navi@" href="gpl-license.html">GPL license</a></div>
<div class="navilink"><a class="@ispage aspl-license.html:naviselected:navi@" href="aspl-license.html">ASPL license</a></div>
</div> </div>
<table class="columns"> <div class="ministatus">@session-count@ Connected Users</div>
<tbody>
<tr>
@ispage playlist.html:<!--:@
<td class="left">
<div class="box">
<h5>Links</h5>
<div class="body">
<div style="white-space: nowrap;">
<span>
&nbsp;
<a href="http://mt-daapd.sourceforge.net"
class="plain" title="Home Page">
&nbsp;mt-daapd&nbsp;Home </td><td class="main">
</a>
</span>
</div>
<div style="white-space: nowrap;">
<span>
&nbsp;
<a href="http://cvs.sourceforge.net/viewcvs.py/mt-daapd/"
class="plain" title="CVS">
&nbsp;mt-daapd&nbsp;CVS
</a>
</span>
</div>
<div style="white-space: nowrap;">
<span>
&nbsp;
<a href="gpl-license.html"
class="plain" title="GPL License">
&nbsp;GPL&nbsp;License
</a>
</span>
</div>
<div style="white-space: nowrap;">
<span>
&nbsp;
<a href="aspl-license.html"
class="plain" title="ASPL License">
&nbsp;ASPL&nbsp;License
</a>
</span>
</div>
</div>
</div>
<div class="box">
<h5>Experimental</h5>
<div class="body">
<div style="white-space: nowrap;">
<span>
&nbsp;
<a href="playlist.html"
class="plain" title="Playlist page">
&nbsp;Playlist&nbsp;Page
</a>
</span>
</div>
<div style="white-space: nowrap;">
<span>
&nbsp;
<a href="applet.html"
class="plain" title="Java Applet">
&nbsp;Java&nbsp;Applet
</a>
</span>
</div>
</div>
</div>
</td>
@ispage playlist.html:-->:@
<td class="main">
<div class="document">
<div>

View File

@ -1,27 +1,29 @@
@include hdr.html@ @include hdr.html@
<h1>Welcome</h1> <h1>Welcome</h1>
<p class="description">
<div class="description"> This is the administrative web interface for mt-daapd, version @version@.
This is the administrative web interface for </p>
mt-daapd
</div>
<div class="stx">
<h3>About</h3> <h3>About</h3>
<p class="description">
mt-daapd is a multi-threaded pthreads implementation of Apple's DAAP mt-daapd is a multi-threaded pthreads implementation of Apple's DAAP
server. It works for me, it might work for you, too. No promises server. It works for me, it might work for you, too. No promises
though. See the section below titled "No Warranty". This work, though. See the section below titled "No Warranty". This work,
although released under the GNU General Public License, is Copyright although released under the GNU General Public License, is Copyright
(C) 2003 Ron Pedde. All Rights reserved. See the link labeled "GPL &copy; 2003-2005 Ron Pedde. All Rights reserved. See the link labeled
License" for more information. <a href="gpl-license.html">GPL License</a> for more information.
</p>
<h3>Legal Crap</h3> Portions of this program are Copyright (c) <h3>Legal Crap</h3>
<p class="description">
Portions of this program are Copyright &copy;
1999-2001 Apple Computer, Inc. All Rights Reserved. See the link 1999-2001 Apple Computer, Inc. All Rights Reserved. See the link
labeled "ASPL License" for more information. labeled <a href="aspl-license.html">ASPL License</a> for more information.
</p>
<h3>No Warranty</h3> <h3>No Warranty</h3>
<p class="license">
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
@ -31,8 +33,6 @@ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION. REPAIR OR CORRECTION.
</p>
</div>
@include ftr.html@ @include ftr.html@

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,5 @@
@include hdr.html@ @include hdr.html@
<div class="stx">
<h2>Smart Playlists</h2> <h2>Smart Playlists</h2>
<table width="400"> <table width="400">
<thead><tr><th>ID</th><th>Playlist Name</th><th>Type</th><th>Action</th></tr></thead> <thead><tr><th>ID</th><th>Playlist Name</th><th>Type</th><th>Action</th></tr></thead>
@ -14,29 +12,31 @@
</div> </div>
<div id="pl_editor" style="display:none"> <div id="pl_editor" style="display:none">
<h3>Playlist Spec</h3> <h2>Please specify new playlist</h2>
<form name="pl_form" action=""> <form name="pl_form" action="">
<input type="hidden" name="playlist_id"/> <input type="hidden" name="playlist_id"/>
<table width="400"> <table width="400">
<tr> <tr>
<th>Name</th> <th>New playlist</th>
<td><input type="text" name="playlist_name"/></td> <th>
</tr>
<tr>
<th>Playlist Criteria</th>
<td><textarea rows="5" name="playlist_spec"></textarea></td>
</tr>
</table>
<input type="button" onclick="javascript:pl_update();" name="submit_button" value="Submit"/> <input type="button" onclick="javascript:pl_update();" name="submit_button" value="Submit"/>
<input type="button" onclick="javascript:pl_cancel();" value="Cancel"/> <input type="button" onclick="javascript:pl_cancel();" value="Cancel"/>
<input type="button" onclick="javascript:pl_popup('smartpopup.html');" value="Wizard"/> <input type="button" onclick="javascript:popUp('smartpopup.html');" value="Wizard"/>
</th>
<tr>
<td>Name</td>
<td><input class="playlistfield" type="text" name="playlist_name"/></td>
</tr>
<tr>
<td>Playlist criteria</td>
<td><textarea class="playlistfield" rows="5" name="playlist_spec"></textarea></td>
</tr>
</table>
</form> </form>
</div> </div>
<div id="pl_warning" class="message" style="display:none"> <div id="pl_warning" class="message" style="display:none">
Error Messages Go here Error messages go here...
</div> </div>

View File

@ -2,12 +2,6 @@ var req;
var playlist_info={}; var playlist_info={};
function pl_popup(URL) {
day = new Date();
id = day.getTime();
eval("pagemtdaapdplPop = window.open(URL, 'mtdaapdple', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=500,height=240,left = 320,top = 448');");
}
function pl_editor_state(state) { function pl_editor_state(state) {
var pleditor = document.getElementById("pl_editor"); var pleditor = document.getElementById("pl_editor");
if(!pleditor) if(!pleditor)

View File

@ -1,5 +1,10 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>mt-daapd playlist wizard</title></head> <html>
<head>
<title>mt-daapd playlist wizard</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="mt-daapd.css" />
</head>
<script language="JavaScript" type="text/javascript"> <script language="JavaScript" type="text/javascript">
function loadOpenerCriteria() function loadOpenerCriteria()
@ -103,8 +108,8 @@ function plRowShow(x)
function plOutputRow(x,vis) function plOutputRow(x,vis)
{ document.write('<tr id="rowcrit',x,'" style="visibility:'); { document.write('<tr id="rowcrit',x,'" style="visibility:');
document.write(vis?'visible':'hidden'); document.write(vis?'visible':'hidden');
document.write(';"><th>Criterion ',x,':<\/th>', document.write(';"><td>Criterion ',x,':<\/td>',
'<td><select name="playlist_crit',x,'field" style="width:100%" onChange="javascript:plUpdateComp(\'',x,'\');plTemplateWizard()">', '<td><select class="playlistfield" name="playlist_crit',x,'field" style="width:100%" onChange="javascript:plUpdateComp(\'',x,'\');plTemplateWizard()">',
'<optgroup label="Basic">', '<optgroup label="Basic">',
'<option value="title">Title<\/option>', '<option value="title">Title<\/option>',
'<option value="artist">Artist<\/option>', '<option value="artist">Artist<\/option>',
@ -136,10 +141,10 @@ function plOutputRow(x,vis)
'<option value="compilation">Compilation<\/option>', '<option value="compilation">Compilation<\/option>',
'<\/optgroup>', '<\/optgroup>',
'<\/select><\/td>', '<\/select><\/td>',
'<td><select name="playlist_crit',x,'comp" style="width:100%" onChange="javascript:plTemplateWizard()">', '<td><select class="playlistfield" name="playlist_crit',x,'comp" style="width:100%" onChange="javascript:plTemplateWizard()">',
'<option value="=">=<\/option>', '<option value="=">=<\/option>',
'<\/select><\/td>', '<\/select><\/td>',
'<td><input name="playlist_crit',x,'data" onChange="javascript:plTemplateWizard()" style="width:100%"/><\/td>'); '<td><input class="playlistfield" name="playlist_crit',x,'data" onChange="javascript:plTemplateWizard()" style="width:100%"/><\/td>');
document.write('<\/tr>'); document.write('<\/tr>');
} }
@ -199,6 +204,7 @@ function plUpdateComp(x)
objComp = document.getElementsByName("playlist_crit"+x+"comp"); objComp = document.getElementsByName("playlist_crit"+x+"comp");
objComp[0].options.length = 0; objComp[0].options.length = 0;
objComp[0].options[0] = new Option('=','='); objComp[0].options[0] = new Option('=','=');
objComp[0].options[1] = new Option('not =','not =');
if ((objField[0].value=='artist') if ((objField[0].value=='artist')
|| (objField[0].value=='title') || (objField[0].value=='title')
|| (objField[0].value=='album') || (objField[0].value=='album')
@ -211,12 +217,12 @@ function plUpdateComp(x)
|| (objField[0].value=='grouping') || (objField[0].value=='grouping')
|| (objField[0].value=='url') || (objField[0].value=='url')
|| (objField[0].value=='codectype')) || (objField[0].value=='codectype'))
{ objComp[0].options[1] = new Option('includes','includes'); { objComp[0].options[2] = new Option('includes','includes');
} else } else
{ objComp[0].options[1] = new Option('>','>'); { objComp[0].options[2] = new Option('>','>');
objComp[0].options[2] = new Option('>=','>='); objComp[0].options[3] = new Option('>=','>=');
objComp[0].options[3] = new Option('<','<'); objComp[0].options[4] = new Option('<','<');
objComp[0].options[4] = new Option('<=','<='); objComp[0].options[5] = new Option('<=','<=');
} }
} }
@ -305,11 +311,11 @@ function plTemplatePlaylist()
<body onLoad="loadOpenerCriteria();"> <body onLoad="loadOpenerCriteria();">
<form name="pleditor" action=""> <form name="pleditor" action="">
<input type="hidden" name="playlist_id"/> <input type="hidden" name="playlist_id"/>
<table style="border:1px solid black;" width="100%"> <table width="100%">
<tr><th colspan="4">Wizard</th></tr> <tr><th>Wizard</th><th colspan="3"></th></tr>
<tr><th>Template:</th> <tr><td>Template:</td>
<td colspan="3"><select name="playlist_template" style="width:100%" onChange="javascript:plTemplatePlaylist()"> <td colspan="3"><select class="playlistfield" name="playlist_template" style="width:100%" onChange="javascript:plTemplatePlaylist()">
<option value="" selected="SELECTED">Custom playlist</option> <option value="" selected="SELECTED">Custom playlist</option>
<option value="60s">Music from the 60's</option> <option value="60s">Music from the 60's</option>
<option value="70s">Music from the 70's</option> <option value="70s">Music from the 70's</option>
@ -328,7 +334,7 @@ plOutputRow(4,true);
plOutputRow(5,true); plOutputRow(5,true);
</script> </script>
<tr><th>Combine:</th> <tr><td>Combine:</td>
<td colspan="3"> <td colspan="3">
<input type="radio" name="playlist_combine" value=" AND " checked="CHECKED" onChange="javascript:plTemplateWizard()"> match all <input type="radio" name="playlist_combine" value=" AND " checked="CHECKED" onChange="javascript:plTemplateWizard()"> match all
<input type="radio" name="playlist_combine" value=" OR " onChange="javascript:plTemplateWizard()"> match some <input type="radio" name="playlist_combine" value=" OR " onChange="javascript:plTemplateWizard()"> match some

View File

@ -1,14 +1,12 @@
@include hdr.html@ @include hdr.html@
<h1>Status</h1> <h1>Status</h1>
<p>
<div class="stx">
@THREADSTAT@ @THREADSTAT@
</p>
<br /> <p>
@SERVICE-STATUS@ @SERVICE-STATUS@
</div> </p>
@include ftr.html@ @include ftr.html@

View File

@ -2,13 +2,13 @@
<h1>Thanks</h1> <h1>Thanks</h1>
<div class="stx"> <p class="description">
Special thanks to the following people: Special thanks to the following people:
</p>
<pre> <p class="description"><pre>
@include CREDITS@ @include CREDITS@
</pre> </pre></p>
</div> </div>
@include ftr.html@ @include ftr.html@