<?php
// defines if this script requires to be logged in
define( "PRIVATE", false );
# Call common libraries
require_once('./lib/inc-common.php');
require_once(FS_PATH."/etc/locale/".LANG_PACK."/inc-pl-shrd-view.php");
# make sure the community feature is enabled
if (ENABLE_COMMUNITY != 't') header(WEB_PATH."/index.php");
ensure_defined_REQUEST('sort');
ensure_defined_REQUEST('pl_fav_id');
ensure_defined_REQUEST('section', 'playlists');
if ($_REQUEST['do'] == "save") {
########################################
# SAVE PLAYLIST
########################################
# Usage:
# - Save: pl-shrd-view.php?do=save&pl_id=1000&pl_title=value
########################################
if ($NETJUKE_SESSION_VARS["email"] == '') {
header('Location:'.WEB_PATH.'/login.php');
exit;
}
if (strlen($_REQUEST['pl_id']) < 1) {
print javascript("alert('".PLSHRD_SAVE_NOID."');self.history.go(-1);");
exit;
}
$date_created = date("Y-m-d H:i:s");
$dbconn->Execute(" INSERT INTO netjuke_plists_fav (us_email, pl_id,created) "
." values ('".$NETJUKE_SESSION_VARS["email"]."', ".$_REQUEST['pl_id'].", '".$date_created."') ");
header ("Location: ./pl-shrd-view.php?do=view&pl_id=".$_REQUEST['pl_id']."\n\n");
exit;
} elseif ($_REQUEST['do'] == "del_pl") {
########################################
# DELETE PLAYLIST
########################################
# Usage:
# - Delete: pl-shrd-view.php?do=del_pl&pl_id=1000
########################################
if ($NETJUKE_SESSION_VARS["email"] == '') {
header('Location:'.WEB_PATH.'/login.php');
exit;
}
if (strlen($_REQUEST['pl_fav_id']) < 1) {
print javascript("alert('".PLSHRD_DELPL_NOID."');self.history.go(-1);");
exit;
}
$dbconn->Execute("DELETE FROM netjuke_plists_fav WHERE id = ".$_REQUEST['pl_fav_id']." AND us_email = '".$NETJUKE_SESSION_VARS["email"]."'");
header ("Location: pl-list.php?do=list\n\n");
exit;
} elseif ($_REQUEST['do'] == "view") {
########################################
# VIEW PLAYLIST
########################################
# Usage:
# - View: pl-shrd-view.php?do=view&pl_id=1000
########################################
if (strlen($_REQUEST['pl_id']) < 1) {
print javascript("alert('".PLSHRD_NOPLID."');self.history.go(-1);");
exit;
}
$dbrs = $dbconn->Execute(" SELECT title, comment, shared_list, us_email from netjuke_plists "
. " where id = ".$_REQUEST['pl_id']." and shared_list = 't' ");
if ($dbrs->RecordCount() == 1) {
$pl_title = $dbrs->fields[0];
$pl_comment = $dbrs->fields[1];
$pl_us_email = get_display_name($dbrs->fields[3]);
} else {
header("Location: ./index.php");
exit;
}
$dbrs->Close();
$dbrs = $dbconn->Execute("SELECT id, created from netjuke_plists_fav where pl_id = ".$_REQUEST['pl_id']." and us_email = '".$NETJUKE_SESSION_VARS["email"]."'");
if ($dbrs->RecordCount() > 0) {
$pl_fav_id = $dbrs->fields[0];
$pl_fav_date = $dbrs->fields[1];
}
$dbrs->Close();
$columns = array ( PLSHRD_COLS_SQ
, PLSHRD_COLS_TR
, PLSHRD_COLS_TI
, PLSHRD_COLS_AR
, PLSHRD_COLS_AL
, PLSHRD_COLS_TN
, PLSHRD_COLS_GE );
if ( (!$_REQUEST['sort']) || ($_REQUEST['sort'] == "sq")) {
# SORT BY SEQUENCE #
$order_by = 'pt.sequence,tr.track_number,tr.location';
$selected = 0;
} elseif ($_REQUEST['sort'] == "ar") {
# SORT BY ARTIST NAME
$order_by = 'upper(ar.name),upper(al.name),tr.track_number,tr.location';
$selected = 3;
} elseif ($_REQUEST['sort'] == "al") {
# SORT BY ALBUM NAME
$order_by = 'upper(al.name),tr.track_number,tr.location';
$selected = 4;
} elseif ($_REQUEST['sort'] == "tr") {
# SORT BY TRACK NAME
$order_by = 'upper(tr.name),upper(ar.name),upper(al.name),tr.track_number,tr.location';
$selected = 1;
} elseif ($_REQUEST['sort'] == "ge") {
# SORT BY GENRE
$order_by = 'upper(ge.name),upper(al.name),tr.track_number,tr.location';
$selected = 6;
} elseif ($_REQUEST['sort'] == "ti") {
# SORT BY TIME
$order_by = 'tr.time';
$selected = 2;
} else {
# SORT BY TRACK NUMBER
$order_by = 'tr.track_number,tr.location';
$selected = 5;
}
$cnt = 0;
while ($cnt < 7) {
if ($cnt == $selected) $columns[$cnt] = strtoupper ($columns[$cnt]);
$cnt++;
}
$sql = "
SELECT tr.name, ar.name, al.name, ge.name,
tr.location, tr.id, ar.id, al.id,
ge.id, tr.time, tr.track_number, pt.sequence, pt.id,
tr.img_src, ar.img_src, al.img_src,
tr.size
from netjuke_tracks tr, netjuke_artists ar, netjuke_albums al,
netjuke_genres ge, netjuke_plists pl, netjuke_plists_tracks pt
where pt.pl_id = ".$_REQUEST['pl_id']."
and pl.shared_list = 't'
and pt.pl_id = pl.id
and pt.us_email = pl.us_email
and tr.id = pt.tr_id
and ar.id = tr.ar_id
and al.id = tr.al_id
and ge.id = tr.ge_id
order by $order_by asc
";
$dbrs = $dbconn->Execute($sql);
$rows = $dbrs->RecordCount();
$total_time = 0;
$total_size = 0;
if ($rows == 0) header("Location: ./index.php");
$html = "";
while (!$dbrs->EOF) {
$fields = $dbrs->fields;
$fields[0] = format_for_display($fields[0]);
$fields[1] = format_for_display($fields[1]);
$fields[2] = format_for_display($fields[2]);
$fields[3] = format_for_display($fields[3]);
$tr_img = image_icon($fields[13]);
$ar_img = image_icon($fields[14]);
$al_img = image_icon($fields[15]);
$select = "<input type=checkbox class=\"nomargin\" name='val[]' value='".$fields[5]."' title='".PLSHRD_CHCK_HELP."'>";
$play = buildButton(WEB_PATH."/play.php?do=play&val=".$fields[5], PLSHRD_PLAY_HELP, 'play');
$play_ar = buildButton(WEB_PATH."/play.php?do=play_all&type=ar&id=".$fields[6], PLSHRD_PLAY_AR_HELP, 'play');
$play_ar_rand = buildButton(WEB_PATH."/play.php?do=play_all&random=1&type=ar&id=".$fields[6], PLSHRD_PLAY_AR_RAND_HELP, 'randplay');
$filter_ar = buildButton(WEB_PATH."/filter.php?do=list.albums&search_do=list.tracks&col=ar_id&val=".$fields[6],
PLSHRD_FILTER_AR_HELP, 'info', 'NetjukeRemote');
$play_al = buildButton(WEB_PATH."/play.php?do=play_all&type=al&id=".$fields[7], PLSHRD_PLAY_AL_HELP, 'play');
$play_al_rand = buildButton(WEB_PATH."/play.php?do=play_all&random=1&type=al&id=".$fields[7], PLSHRD_PLAY_AL_RAND_HELP, 'randplay');
$filter_al = buildButton(WEB_PATH."/filter.php?do=list.artists&search_do=list.tracks&col=al_id&val=".$fields[7],
PLSHRD_FILTER_AL_HELP, 'info', 'NetjukeRemote');
$play_ge = buildButton(WEB_PATH."/play.php?do=play_all&type=ge&id=".$fields[8], PLSHRD_PLAY_GE_HELP, 'play');
$play_ge_rand = buildButton(WEB_PATH."/play.php?do=play_all&random=1&type=ge&id=".$fields[8], PLSHRD_PLAY_GE_RAND_HELP, 'randplay');
$get_info = buildButton(WEB_PATH."/tr-info.php?id=".$fields[5], PLSHRD_INFO_HELP, 'info', "NetJukeGetInfo");
if (ENABLE_DOWNLOAD == 't') {
$tr_location = $fields[4];
if (substr_count($tr_location,"://") < 1) $tr_location = STREAM_SRVR."/".$tr_location;
if (substr_count($tr_location,"://") < 1) $tr_location = WEB_PATH."/".$tr_location;
$dload = buildButton($tr_location, PLSHRD_DLOAD_HELP, 'dload');
} else {
$dload = "";
}
$time = myTimeFormat($fields[9]);
$total_time += $fields[9];
$total_size += $fields[16];
$html .= "
<tr valign=top>
<input type=hidden name='pt_id[]' value='$fields[12]'>
<td class='content' nowrap>$select $play $dload $get_info</td>
<td class='content' align=right>$fields[11] </td>
<td class='content'>$fields[0] $tr_img</td>
<td class='content' align=right>$time </td>
<td class='content'>$play_ar $play_ar_rand $filter_ar <A HREF='search.php?do=list.tracks&col=ar.id&val=$fields[6]&sort=ar' title='".PLSHRD_AR_HELP."'>$fields[1]</A> $ar_img</td>
<td class='content'>$play_al $play_al_rand $filter_al <A HREF='search.php?do=list.tracks&col=al.id&val=$fields[7]&sort=al' title='".PLSHRD_AL_HELP."'>$fields[2]</A> $al_img</td>
<td class='content' align=center>$fields[10]</td>
<td class='content'>$play_ge $play_ge_rand <A HREF='search.php?do=list.tracks&col=ge.id&val=$fields[8]&sort=ge' title='".PLSHRD_GE_HELP."'>$fields[3]</A> </td>
</tr>
";
$dbrs->MoveNext();
}
$dbrs->Close();
# HTML header
$section = $_REQUEST['section'];
include (INTERFACE_HEADER);
########################################
?>
<script language="javascript">
<!--
function deletePlist() {
if (confirm("<?php echo PLSHRD_DELPL_CONFIRM ?>\nTitle: <?php echo $pl_title?>")) {
self.location.href = '<?php echo $_SERVER['PHP_SELF']?>?do=del_pl&pl_fav_id=<?php echo abs($pl_fav_id)?>';
}
}
-->
</script>
<table width='100%' border=0 cellspacing=1 cellpadding=3 class="border">
<form>
<tr>
<td width="100%" class="header" nowrap colspan=7>
<TABLE BORDER="0" WIDTH="100%" CELLSPACING="0" CELLPADDING="0">
<TR>
<TD ALIGN=LEFT VALIGN=MIDDLE WIDTH="75%" nowrap class="header">
<b>
<?php
if ( abs($_REQUEST['pl_fav_id']) > 0 ) {
echo PLSHRD_HEADER_FAV;
} else {
echo PLSHRD_HEADER_PUB;
}
echo ": ".$pl_title." ".PLSHRD_HEADER_BY." ".$pl_us_email;
?>
</b>
</TD>
<TD ALIGN=RIGHT VALIGN=MIDDLE WIDTH="25%" nowrap class="header">
<?php if ( abs($_REQUEST['pl_fav_id']) > 0 ) { ?>
<INPUT TYPE='button' NAME='mode' VALUE='<?php echo PLSHRD_BTN_DELETE ?>' class='btn_header' onClick="deletePlist();">
<?php } ?>
<INPUT TYPE='button' NAME='mode' VALUE='<?php echo PLSHRD_BTN_CANCEL ?>' class='btn_header' onClick="self.location.href='pl-list.php?do=list';">
</TD>
</TR>
</TABLE>
</B>
</td>
</tr>
</form>
<tr>
<td width="30%" class="content" align=center nowrap>
<?php echo $rows?> <?php echo PLSHRD_ROWCNT_1 ?>
</td>
<td class="content" align=center nowrap>
<?php echo myTimeFormat($total_time)." ".PLSHRD_ROWCNT_2." ". myFilesizeFormat($total_size) ?>
</td>
<form action='search.php' method=get name='searchForm'>
<input type=hidden name='do' value='search'>
<td width="35%" class="content" align=center nowrap colspan=2>
<select name='col' class=input_content>
<option value='ar.name' ><?php echo PLSHRD_QS_AR ?></option>
<option value='tr.name' ><?php echo PLSHRD_QS_TR ?></option>
<option value='al.name' ><?php echo PLSHRD_QS_AL ?></option>
<option value='ge.name' ><?php echo PLSHRD_QS_GE ?></option>
<option value='tr.time' ><?php echo PLSHRD_QS_TI ?></option>
</select>
<input type=text name='val' size='12' maxlength=50 value='' class=input_content>
<input type=submit value='<?php echo PLSHRD_QS_BTN ?>' class='btn_content'>
</td>
</form>
<form action='pl-edit.php' method=get name='viewForm' onSubmit="return(Plist('view'));">
<input type=hidden name='do' value='edit'>
<td width="35%" class="content" align=center nowrap colspan=3>
<?php echo plistSelect($NETJUKE_SESSION_VARS["email"],$NETJUKE_SESSION_VARS["default_pl"]) ?>
<INPUT TYPE='submit' NAME='mode' VALUE='<?php echo PLSHRD_TB_PLIST_BTN ?>' class='btn_content'>
</td>
</form>
</tr>
<tr>
<?php if ($_REQUEST['section'] != "playlists") { ?>
<td class="content" align=center nowrap><B><A HREF="<?php echo $_SERVER['PHP_SELF']?>?do=save&pl_id=<?php echo $_REQUEST['pl_id']?>" title='<?php echo PLSHRD_TB_SAVE_HELP ?>'><?php echo PLSHRD_TB_SAVE ?></A></B></td>
<?php } else { ?>
<td class="content" align=center nowrap><?php echo PLSHRD_TB_ADDED ?>: <?php echo date("Y-m-d H:i", strtotime($pl_fav_date)) ?></td>
<?php } ?>
<td class="content" align=center nowrap><B><A HREF="play.php?do=plist&val=<?php echo $_REQUEST['pl_id']?>" title='<?php echo PLSHRD_TB_PLAY_ALL_HELP ?>'><?php echo PLSHRD_TB_PLAY_ALL ?></A></B></td>
<td class="content" align=center nowrap><B><A HREF="Javascript:SelectAll();" title="<?php echo PLSHRD_TB_SELECT_HELP ?>"><?php echo PLSHRD_TB_SELECT ?></A></B></td>
<td class="content" align=center nowrap><B><A HREF="Javascript:ResetAll();" title="<?php echo PLSHRD_TB_RESET_HELP ?>"><?php echo PLSHRD_TB_RESET ?></A></B></td>
<td class="content" align=center nowrap><B><A HREF="Javascript:Plist('play');" title="<?php echo PLSHRD_TB_PLAY_HELP ?>"><?php echo PLSHRD_TB_PLAY ?></A></B><input type="checkbox" name='random' align='center' title="<?php echo PLSHRD_RANDOMIZE_HELP ?>"><?php echo PLSHRD_RANDOMIZE ?></td>
<td class="content" align=center nowrap><B><A HREF="Javascript:Plist('batch');" title="<?php echo PLSHRD_TB_BATCH_HELP ?>"><?php echo PLSHRD_TB_BATCH ?></A></B></td>
<td class="content" align=center nowrap><B><A HREF="Javascript:Plist('addto');" title="<?php echo PLSHRD_TB_ADDTO_HELP ?>"><?php echo PLSHRD_TB_ADDTO ?></A></B></td>
</tr>
</table>
<?php echo SpecialEditTB() ?>
<BR>
<table width='100%' border=0 cellspacing=1 cellpadding=3 class="border">
<form action='<?php echo $_SERVER['PHP_SELF']?>' method=post name='playForm'>
<tr>
<td class='header' width='1%' nowrap><B><?php echo PLSHRD_COLS_OP ?></B></td>
<td class='header' width='1%' nowrap><B><A CLASS="header" HREF="<?php echo $_SERVER['PHP_SELF']?>?do=<?php echo $_REQUEST['do']?>&pl_id=<?php echo $_REQUEST['pl_id']?>&sort=sq§ion=<?php echo $_REQUEST['section']?>" title="<?php echo PLSHRD_COLS_SQ_HELP ?>"><?php echo $columns[0]?></A></B></td>
<td class='header' nowrap><B><A CLASS="header" HREF="<?php echo $_SERVER['PHP_SELF']?>?do=<?php echo $_REQUEST['do']?>&pl_id=<?php echo $_REQUEST['pl_id']?>&sort=tr§ion=<?php echo $_REQUEST['section']?>" title="<?php echo PLSHRD_COLS_TR_HELP ?>"><?php echo $columns[1]?></A></B></td>
<td class='header' nowrap><B><A CLASS="header" HREF="<?php echo $_SERVER['PHP_SELF']?>?do=<?php echo $_REQUEST['do']?>&pl_id=<?php echo $_REQUEST['pl_id']?>&sort=ti§ion=<?php echo $_REQUEST['section']?>" title="<?php echo PLSHRD_COLS_TI_HELP ?>"><?php echo $columns[2]?></A></B></td>
<td class='header' nowrap><B><A CLASS="header" HREF="<?php echo $_SERVER['PHP_SELF']?>?do=<?php echo $_REQUEST['do']?>&pl_id=<?php echo $_REQUEST['pl_id']?>&sort=ar§ion=<?php echo $_REQUEST['section']?>" title="<?php echo PLSHRD_COLS_AR_HELP ?>"><?php echo $columns[3]?></A></B></td>
<td class='header' nowrap><B><A CLASS="header" HREF="<?php echo $_SERVER['PHP_SELF']?>?do=<?php echo $_REQUEST['do']?>&pl_id=<?php echo $_REQUEST['pl_id']?>&sort=al§ion=<?php echo $_REQUEST['section']?>" title="<?php echo PLSHRD_COLS_AL_HELP ?>"><?php echo $columns[4]?></A></B></td>
<td class='header' width='1%' nowrap><B><A CLASS="header" HREF="<?php echo $_SERVER['PHP_SELF']?>?do=<?php echo $_REQUEST['do']?>&pl_id=<?php echo $_REQUEST['pl_id']?>&sort=tn§ion=<?php echo $_REQUEST['section']?>" title="<?php echo PLSHRD_COLS_TN_HELP ?>"><?php echo $columns[5]?></A></B></td>
<td class='header' nowrap><B><A CLASS="header" HREF="<?php echo $_SERVER['PHP_SELF']?>?do=<?php echo $_REQUEST['do']?>&pl_id=<?php echo $_REQUEST['pl_id']?>&sort=ge§ion=<?php echo $_REQUEST['section']?>" title="<?php echo PLSHRD_COLS_GE_HELP ?>"><?php echo $columns[6]?></A></B></td>
</tr>
<?php echo $html ?>
</form>
</table>
<?php
if (ENABLE_XML == 't') {
$xml_button = buildButton (WEB_PATH."/xml.php?do=show.playlist&id=".$_REQUEST['pl_id'], COMMON_XML_HELP, 'xml');
echo '<br><center>'.$xml_button.'</center>';
}
?>
<BR>
<?php
# HTML footer
include (INTERFACE_FOOTER);
exit;
} else {
header ("Location: index.php\n\n");
exit;
}
?>