chiark / gitweb /
examples/disorder.init.in: Read settings from `/etc/default/disorder'.
[disorder] / templates / choose.tmpl
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
2 <!--
3 This file is part of DisOrder.
4 Copyright (C) 2004-2008 Richard Kettlewell
5
6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 -->
19 <html>
20  <head>
21 @stdhead{choose}
22  </head>
23  <body>
24 @stdmenu{choose}
25    <h1>@label{choose.title}</h1>
26   
27   @if{@eq{@label{menu.choosewhich}}{choosealpha}}
28      {
29    <p class=choosealpha>
30     <a title="Directories starting with 'a'"
31     href="@url?action=choose&#38;re=^(the )?a">A</a> |
32     <a title="Directories starting with 'b'"
33     href="@url?action=choose&#38;re=^(the )?b">B</a> |
34     <a title="Directories starting with 'c'"
35     href="@url?action=choose&#38;re=^(the )?c">C</a> |
36     <a title="Directories starting with 'd'"
37     href="@url?action=choose&#38;re=^(the )?d">D</a> |
38     <a title="Directories starting with 'e'"
39     href="@url?action=choose&#38;re=^(the )?e">E</a> |
40     <a title="Directories starting with 'f'"
41     href="@url?action=choose&#38;re=^(the )?f">F</a> |
42     <a title="Directories starting with 'g'"
43     href="@url?action=choose&#38;re=^(the )?g">G</a> |
44     <a title="Directories starting with 'h'"
45     href="@url?action=choose&#38;re=^(the )?h">H</a> |
46     <a title="Directories starting with 'i'"
47     href="@url?action=choose&#38;re=^(the )?i">I</a> |
48     <a title="Directories starting with 'j'"
49     href="@url?action=choose&#38;re=^(the )?j">J</a> |
50     <a title="Directories starting with 'k'"
51     href="@url?action=choose&#38;re=^(the )?k">K</a> |
52     <a title="Directories starting with 'l'"
53     href="@url?action=choose&#38;re=^(the )?l">L</a> |
54     <a title="Directories starting with 'm'"
55     href="@url?action=choose&#38;re=^(the )?m">M</a> |
56     <a title="Directories starting with 'n'"
57     href="@url?action=choose&#38;re=^(the )?n">N</a> |
58     <a title="Directories starting with 'o'"
59     href="@url?action=choose&#38;re=^(the )?o">O</a> |
60     <a title="Directories starting with 'p'"
61     href="@url?action=choose&#38;re=^(the )?p">P</a> |
62     <a title="Directories starting with 'q'"
63     href="@url?action=choose&#38;re=^(the )?q">Q</a> |
64     <a title="Directories starting with 'r'"
65     href="@url?action=choose&#38;re=^(the )?r">R</a> |
66     <a title="Directories starting with 's'"
67     href="@url?action=choose&#38;re=^(the )?s">S</a> |
68     <a title="Directories starting with 't'"
69     href="@url?action=choose&#38;re=^(?!the [^t])t">T</a> |
70     <a title="Directories starting with 'u'"
71     href="@url?action=choose&#38;re=^(the )?u">U</a> |
72     <a title="Directories starting with 'v'"
73     href="@url?action=choose&#38;re=^(the )?v">V</a> |
74     <a title="Directories starting with 'w'"
75     href="@url?action=choose&#38;re=^(the )?w">W</a> |
76     <a title="Directories starting with 'x'"
77     href="@url?action=choose&#38;re=^(the )?x">X</a> |
78     <a title="Directories starting with 'y'"
79     href="@url?action=choose&#38;re=^(the )?y">Y</a> |
80     <a title="Directories starting with 'z'"
81     href="@url?action=choose&#38;re=^(the )?z">Z</a> |
82     <a title="Directories starting with anything else"
83     href="@url?action=choose&#38;re=^[^a-z]">*</a>
84    </p>
85 }
86
87 @# Always have a search form
88    <div class=search>
89     <form class=search
90           action="@url"
91           method=POST
92           enctype="multipart/form-data" accept-charset=utf-8>
93       <p class=search>Enter search terms:
94         <input class=query name=query type=text value="@argq{query}"
95                size=50>
96         @submit{@label{search.search}}
97         <input name=action type=hidden value=choose>
98       </p>
99     </form>
100 @actbutton{@label{search.clear}}{}{choose}
101    </div>
102
103    @if{@ne{@arg{query}}{}}
104       {@# There's a search query
105   <table class=search>
106     <tr class=headings>
107      <th class=artist>@label{heading.artist}</th>
108      <th class=album>@label{heading.album}</th>
109      <th class=title>@label{heading.title}</th>
110      <th class=length>@label{heading.length}</th>
111 @right{prefs}{
112      <th class=button>&nbsp;</th>}
113     </tr>
114     @search{@arg{query}}{
115     <tr class=@parity>
116      <td class=artist>@martist{search}{@track}</td>
117      <td class=album>@malbum{search}{@track}</td>
118      <td class=title>@mtitleplay{search}{@track}</td>
119      <td class=length>@length{@track}</td>
120      @right{prefs}{
121      <td class=imgbutton>
122       <a class=imgbutton
123          href="@url?action=prefs&#38;track=@urlquote{@track}">
124        <img class=button src="@image{edit}"
125             title="@label{choose.prefsverbose}"
126             alt="@label{choose.prefs}">
127       </a>
128      </td>
129     </tr>}
130     }
131   </table>}
132       {@# No search query
133
134 @# We have the following possible cases:
135 @#  choose.which  dir       re       result
136 @#  choose        ""        -        Ask for top level
137 @#  choose        ""        present  Ask for top level with re applied
138 @#  choose        present   -        Ask for dir
139 @#  choose        present   re       Ask for dir with re applied
140 @#  choosealpha   ""        -        Nothing
141 @#  choosealpha   ""        present  Ask for top level with re applied
142 @#  choosealpha   present   -        Ask for dir
143 @#  choosealpha   present   re       Ask for dir with re applied
144 @#
145 @# So in fact the only oddity is choosealpha + no dir + no re.
146 @#
147 @# NB we don't really bother distinguishing between re being empty or absent,
148 @# and the server deliberately cooperates in this.
149
150    @if{@ne{@arg{dir}}{}}{
151    <p class=directoryname>@#
152 @breadcrumbs{@arg{dir}} 
153             {/<a href="@url?action=choose&#38;dir=@urlquote{@dir}">@#
154 @basename{@dir}</a>}:</p>}
155
156 @#  <p>dir=[@arg{dir}]<br>re=[@arg{re}]<br>which=@label{choose.which}</p>
157
158   @if{@or{@ne{@label{menu.choosewhich}}{choosealpha}}
159          {@ne{@arg{dir}}{}}
160          {@ne{@arg{re}}{}}}
161      {@#
162    <div class=directories>
163     <div class=filesdirectories>
164      @dirs{@arg{dir}}{@arg{re}}{
165       <p class=entry>
166        <a href="@url?action=choose&#38;dir=@urlquote{@track}">
167         <img class=button src="@image{directory}" alt="">
168         @quote{@display}
169        </a>
170       </p>}
171     </div>
172    </div>
173
174 @define{sometracks}{template}{}
175
176    <div class=files>
177     <div class=filesdirectories>
178      @tracks{@arg{dir}}{@arg{re}}{
179       <p class=entry>
180 @define{sometracks}{template}{@template}@#
181        @right{prefs}{
182         <a class=imgprefs
183            href="@url?action=prefs&#38;track=@urlquote{@resolve{@track}}">
184          <img class=button
185               src="@image{edit}"
186               title="@label{choose.prefsverbose}"
187               alt="@label{choose.prefs}">
188         </a>
189        }@#
190        <a href="@url?action=play&#38;track=@urlquote{@track}&#38;back=@urlquote{@thisurl}"
191           title="@label{choose.play}">
192         @quote{@display}
193        </a>
194        @if{@eq{@trackstate{@track}}{playing}}
195           {[<b>playing</b>]}
196        @if{@eq{@trackstate{@track}}{queued}}
197           {[<b>queued</b>]}
198       </p>}
199       @sometracks{
200       <div class=allfiles>
201         @right{prefs}{
202         <a class=imgprefs
203            href="@url?action=prefs&#38;dir=@urlquote{@arg{dir}}">
204          <img class=button
205               src="@image{edit}"
206               title="@label{choose.allprefsverbose}"
207               alt="@label{choose.allprefs}">
208         </a>}
209         <form method=POST class=button action="@url">
210          <input type=hidden name=action value=play>
211          <input type=hidden name=dir value="@argq{dir}">
212          <input type=hidden name=back value="@quote{@thisurl}">
213          <input type=submit name=submit value="@label{choose.playall}">
214         </form>
215       </p>}
216     </div>
217    </div>
218    }
219    }
220
221 @credits
222  </body>
223 </html>
224 @discard{
225 Local variables:
226 mode:sgml
227 sgml-always-quote-attributes:nil
228 sgml-indent-step:1
229 sgml-indent-data:t
230 indent-tabs-mode:nil
231 fill-column:79
232 End:
233 }@#