Migrate to AwlQuery and preg*, and remove need for globals.
[adorno.git] / www / index.php
blobd3f76ce285e77ffda68a9253d9c7bc8651939f9c
1 <?php
2 include('always.php');
3 require_once("Session.php");
4 require_once("PlayTracks.php");
6 $title = $system_name;
7 require_once("header.php");
9 function track_link( $trk, $link_title, $row_class = "" ) {
10 global $letter_get;
12 $track_link_url = sprintf( "?l=%s&a=%s&t=%s", urlencode($trk->album), urlencode($trk->artist)
13 , urlencode($trk->title) );
14 $safe_title = htmlspecialchars($link_title);
15 $duration = preg_replace( "/^[0:]{1,4}/", "", $trk->duration );
16 $link = <<<EOHTML
17 <tr class="track$row_class">
18 <td class="track$row_class">
19 <a class="track$row_class" href="artist.php$track_link_url$letter_get" title="$trk->path_na
20 me">$safe_title</a>
21 </td>
22 <td class="track$row_class">$duration</td>
23 <th class="track$row_class">
24 <a class="alphabetica" href="edit_track.php$track_link_url" title="Edit Track Info">E</a>
25 </th>
26 </tr>
28 EOHTML;
30 return $link;
34 $album_artist_fmt = <<<EOHTML
36 <tr class="q_headline">
37 <td class="q_cell" colspan="3">
39 </td>
40 </tr>
41 EOHTML;
43 $artist_link_fmt = '<a href="/artist.php?a=%s"><span class="q_artist">%s</span></a>';
44 $album_link_fmt = '<a href="/album.php?l=%s"><span class="q_album">%s</span></a>';
46 $track_fmt = <<<EOHTML
48 <tr class="q_row">
49 <td class="q_cell" title="Position in queue">%d</td>
50 <td class="q_cell" title="Track number and name">
51 <span class="q_title">%d - %s</span>
52 </td>
53 <td class="q_cell" title="When this track will start playing">%s</td>
54 <td class="q_cell"><a href="/?i=%d&d=up">up</a> <a href="/?i=%d&d=dn">dn</a></td>
55 </tr>
56 EOHTML;
58 $current_track = current_track();
59 $tracks = current_queue();
60 echo '<table id="queue">';
61 $last_artist = "";
62 $last_album = "";
63 $when = $current_track->finishing;
64 for( $k=0; isset($tracks[$k]); $k++ ) {
65 $v = $tracks[$k];
66 $position = $k + 1;
67 $escape_artist = urlencode($v->artist);
68 $escape_album = urlencode($v->album);
70 if ( $escape_artist != $last_artist || $escape_album != $last_album ) {
71 if ( $escape_artist != $last_artist && $escape_album != $last_album ) {
72 $links = sprintf( $album_link_fmt, $escape_album, $v->album);
73 $links .= "/" . sprintf( $artist_link_fmt, $escape_artist, $v->artist );
75 else if ( $escape_artist != $last_artist ) {
76 $links = sprintf( $artist_link_fmt, $escape_artist, $v->artist );
78 else if ( $escape_album != $last_album ) {
79 $links = sprintf( $album_link_fmt, $escape_album, $v->album);
81 printf( $album_artist_fmt, $links );
82 $last_artist = $escape_artist;
83 $last_album = $escape_album;
85 printf( $track_fmt, $position, $v->tracknum, $v->title, date('H:i:s', $when ), $position, $position );
86 $when += $v->dur_secs;
89 echo "</table>\n";
92 </body>
93 </html>