function drawPage(&$node) { global $cellspacing, $this_page, $img_play, $artist_truncate, $main_table_width, $img_random_play, $directory_level, $web_root, $root_dir, $img_more, $media_dir, $show_sub_numbers, $show_all_checkboxes, $img_more_dis, $img_play_dis, $img_random_play_dis, $url_seperator, $days_for_new, $img_rate, $enable_ratings, $enable_discussion, $img_discuss, $show_sub_numbers, $disable_random, $info_level, $enable_playlist, $track_play_only, $skin, $bg_c, $text_c, $img_discuss_dis, $hierarchy, $random_albums, $frontend, $include_path, $cols_in_genre, $show_frontpage_items, $show_alphabet, $chart_types; // Let's setup the display object $smarty = smartySetup(); $blocks = new jzBlocks(); // Let's get the site news $site_news = $blocks->siteNews($node); $smarty->assign('smarty_include', getcwd()); $smarty->assign('site_news', $site_news); $smarty->assign('word_site_news', word("Site News")); // Now let's show the feature artist/album if ($node->getName() != "") { $smarty->assign('editor_pick_title', word("Editors Pick") . ": " . $node->getName()); $smarty->assign('jz_bg_color', jz_bg_color); } // Now let's see if we need the featured block or not $smarty->assign('show_featured', false); if ($node->getLevel() == 0) { if ($blocks->showFeaturedBlock($node, true)) { $smarty->assign('show_featured', true); //$smarty->assign('featured_data', $blocks->showFeaturedBlock($node)); } } // Now let's display the templates $smarty->display(SMARTY_ROOT . 'templates/slick/genre.tpl'); }
function drawPage($node) { global $random_albums, $include_path; $display = new jzDisplay(); $blocks = new jzBlocks(); echo '<br>'; $blocks->blockBodyOpen(); if (isset($_GET['letter'])) { $nodes = $node->getAlphabetical($_GET['letter'], 'nodes', 2); } else { $nodes = $node->getSubNodes('nodes'); } $tracks = $node->getSubNodes('tracks'); // Now let's display the site description $news = $blocks->siteNews($node); if ($news != "") { echo "<br><center>" . $news . "<center>"; } $cols = 4; $curCol = 1; $per_col = round(sizeof($nodes) / $cols); $i = 0; $percent = round(100 / $cols); echo "<table cellpadding=\"4\" width=\"100%\"><tr class=\"jz_col_table_tr\"><td class=\"jz_col_table\" valign=\"top\" width=\"{$percent}%\"><table>"; foreach ($nodes as $el) { if ($i == $per_col && $curCol != $cols) { $curCol++; echo "</table></td><td class=\"jz_col_table\" valign=\"top\" width=\"{$percent}%\"><table width=\"100%\">"; $i = 0; } echo "<tr><td>"; $display->link($el); echo "</td></tr>"; $i++; } echo "</table></td></tr></table>"; if (!isset($_GET['letter'])) { $url = array(); $url['letter'] = '#'; echo "| <a href=\"" . urlize($url) . "\">#</a>"; for ($let = 'A'; $let != 'Z'; $let++) { $url['letter'] = $let; echo " | <a href=\"" . urlize($url) . "\">" . $let . "</a>"; } $url['letter'] = "*"; echo " | <a href=\"" . urlize($url) . "\">ALL</a> |"; echo "<br>"; if (sizeof($tracks) > 0) { $blocks->trackTable($tracks, false, true); } if ($random_albums != "0") { echo "<br>"; $blocks->randomAlbums($node, $node->getName()); } } $blocks->blockBodyClose(); echo "<br>"; }
function drawPage($node) { global $random_albums, $include_path; $display = new jzDisplay(); $blocks = new jzBlocks(); $nodes = $node->getSubNodes('nodes'); $tracks = $node->getSubNodes('tracks'); // Now let's display the site description $news = $blocks->siteNews($node); if ($news != "") { echo "<br><center>" . $news . "<center>"; } $cols = 4; $curCol = 1; $per_col = round(sizeof($nodes) / $cols); $i = 0; $percent = round(100 / $cols); echo "<table cellpadding=\"4\" width=\"100%\"><tr class=\"jz_col_table_tr\"><td class=\"jz_col_table\" valign=\"top\" width=\"{$percent}%\"><table width=\"100%\"><tr><td>"; foreach ($nodes as $el) { if ($i == $per_col && $curCol != $cols) { $curCol++; echo "</td></tr></table></td><td class=\"jz_col_table\" valign=\"top\" width=\"{$percent}%\"><table width=\"100%\"><tr><td>"; $i = 0; } $display->link($el); echo "</td></tr><tr><td>"; $i++; } echo "</td></tr></table></td></tr></table>"; echo "<br>"; echo "<br>"; if (sizeof($tracks) > 0) { $blocks->trackTable($tracks, false, true); } if ($random_albums != "0") { include_once $include_path . "frontend/blocks/random-albums.php"; echo "<br>"; $blocks->randomAlbums(&$node, $node->getName()); echo "<br>"; } }
function pageTop($node) { global $img_home, $jinzora_skin, $root_dir, $css, $this_page, $cms_mode, $jzUSER, $include_path, $desc_truncate, $image_size, $jinzora_url, $image_dir, $jukebox, $jzSERVICES, $jukebox_display, $cms_mode, $show_artist_alpha, $show_artist_list, $allow_resample; // Let's setup our objects $display = new jzDisplay(); $blocks = new jzBlocks(); $smarty = smartySetup(); // Now let's make sure our Node is set and if not set one if (!is_object($node)) { $node = new jzMediaNode(); } // Let's include the settings file include_once $include_path . 'frontend/frontends/mediacenter/settings.php'; // Let's set some variables $smarty->assign('root_dir', $root_dir); // Ok, now let's include the first template $smarty->display(SMARTY_ROOT . 'templates/mediacenter/header.tpl'); exit; $display->preHeader(); $smarty->assign('this_page', $this_page); $smarty->assign('img_home', $img_home); $smarty->assign('cms_mode', $cms_mode); $smarty->assign('image_dir', $image_dir); $smarty->assign('jinzora_url', $jinzora_url); $smarty->display(SMARTY_ROOT . 'templates/mediacenter/header.tpl'); // Now let's see if we should show the jukebox iframe $smarty->assign('jukebox_queue', false); if (checkPermission($jzUSER, "jukebox_queue")) { $smarty->assign('jukebox_queue', true); if ($jukebox_display == "small" or $jukebox_display == "minimal") { $smarty->assign('jukebox_display', "small"); } else { $smarty->assign('jukebox_display', "full"); } } $smarty->display(SMARTY_ROOT . 'templates/mediacenter/jukebox.tpl'); // Let's show the news $siteNews = $blocks->siteNews($node); $smarty->assign('site_news', $siteNews); if ($siteNews != "") { $smarty->display(SMARTY_ROOT . 'templates/mediacenter/site-news.tpl'); } // Now do we have art or image or desc at the album level if ($node->getPType() == "album") { if (($art = $node->getMainArt($image_size . "x" . $image_size)) != false or ($desc = $node->getDescription()) != "") { $desc = $node->getDescription(); // Ok, let's display echo '<table width="100%" cellspacing="0" cellpadding="5">'; echo '<tr class="and_head1">'; echo '<td width="100%" align="left">'; // Let's display the name $artist = $node->getAncestor('artist'); echo "<strong>"; if ($artist !== false) { $display->link($artist, $artist->getName()); echo " - "; } echo $node->getName(); if (!isNothing($node->getYear())) { echo " (" . $node->getYear() . ")"; } echo '</strong><br>'; if ($art) { if ($desc) { $align = "left"; } else { $align = "center"; } $display->image($art, $node->getName(), $image_size, $image_size, "limit", false, false, $align, "4", "4"); } if ($cms_mode == "false") { echo '<div class="jz_artistDesc">'; } echo $display->returnShortName($desc, $desc_truncate); // Do we need the read more link? if (strlen($desc) > $desc_truncate) { $url_array = array(); $url_array['jz_path'] = $node->getPath("String"); $url_array['action'] = "popup"; $url_array['ptype'] = "readmore"; echo ' <a href="' . urlize($url_array) . '" onclick="openPopup(this, 450, 450); return false;">...read more</a>'; } if ($cms_mode == "false") { echo '</div>'; } echo '</td></tr></table>'; } } // Can this user powersearch? $on = true; if ($jzUSER->getSetting('powersearch') and $on == true) { if ($cms_mode == "true") { $method = "GET"; } else { $method = "POST"; } ?> <table width="100%" cellspacing="0" cellpadding="0"><tr height="2" style="background-image: url('<?php echo $image_dir; ?> row-spacer.gif');"><td width="100%"></td></tr></table> <?php } ?> <?php if (isset($_POST['jz_path'])) { $jzPath = $_POST['jz_path']; } else { $jzPath = $_GET['jz_path']; } // Now should we show this bar? $bcArray = explode("/", $jzPath); ?> <table width="100%" cellspacing="0" cellpadding="5"> <tr class="and_head1"> <td width="50%" valign="middle"> <?php $url = array(); echo '<a href="' . urlize($url) . '"><img src="' . $image_dir . 'open-folder.gif" border="0"></a>'; // Now let's see if we need the breadcrumbs unset($bcArray[count($bcArray) - 1]); $path = ""; echo ' <a href="' . urlize($url) . '">' . word("Home") . '</a>'; foreach ($bcArray as $item) { if ($item != "") { $path .= "/" . $item; $arr['jz_path'] = $path; echo ' / <a href="' . urlize($arr) . '">' . $item . '</a>'; } unset($arr); } ?> </td> <td width="50%" valign="middle" align="right" nowrap="nowrap"> <?php if ($show_artist_list == "true") { ?> <?php echo word("Artist") . ": "; ?> <form action="<?php echo $this_page; ?> " method="post"> <?php $display->hiddenPageVars(); $display->dropdown("artist"); ?> </form> | <?php } ?> <?php echo word('Search:'); ?> <form action="<?php echo $this_page; ?> " method="<?php echo $method; ?> "> <?php foreach (getURLVars($this_page) as $key => $val) { echo '<input type="hidden" name="' . htmlentities($key) . '" value="' . htmlentities($val) . '">'; } ?> <select class="jz_select" name="search_type" style="width:85px"> <option value="ALL"><?php echo word("All Media"); ?> </option> <?php if (distanceTo("artist") !== false) { echo '<option value="artists">' . word("Artists") . '</option>' . "\n"; } if (distanceTo("album") !== false) { echo '<option value="albums">' . word("Albums") . '</option>' . "\n"; } ?> <option value="tracks"><?php echo word("Tracks"); ?> </option> <option value="lyrics"><?php echo word("Lyrics"); ?> </option> </select> <input type="text" name="search_query" class="jz_input" style="width:125px; font-size:10px "> <input type="hidden" name="doSearch" value="true"> <input type="submit" class="jz_submit" value="Go"> </form> </td> </tr> </table> <?php // Now let's see if we need the breadcrumbs if ($_GET['jz_path'] != "") { ?> <table width="100%" cellspacing="0" cellpadding="0"><tr height="2" style="background-image: url('<?php echo $image_dir; ?> row-spacer.gif');"><td width="100%"></td></tr></table> <table width="100%" cellspacing="0" cellpadding="3"> <tr class="and_head1"> <td width="1%" valign="middle" nowrap> <?php if ($cms_mode == "true") { $mode = "POST"; } else { $mode = "GET"; } $mode = "GET"; if (isset($_POST['jz_path'])) { $bcArray = explode("/", $_POST['jz_path']); } else { $bcArray = explode("/", $_GET['jz_path']); } // Now we need to cut the last item off the list $bcArray = array_slice($bcArray, 0, count($bcArray) - 1); // Now let's display the dropdown for where we are echo '<form action="' . $this_page . '" method="' . $mode . '">' . "\n"; echo '<select style="width:175px" class="jz_select" name="' . jz_encode('jz_path') . '" onChange="form.submit();">' . "\n"; $parent = $node->getParent(); $nodes = $parent->getSubNodes("nodes"); sortElements($nodes); foreach ($nodes as $child) { $path = $child->getPath("String"); echo '<option '; // Is this the current one? if ($child->getName() == $node->getName()) { echo ' selected '; } echo 'value="' . jz_encode($path) . '">' . $display->returnShortName($child->getName(), 20) . '</option>' . "\n"; } echo '</select>' . "\n"; //$display->hiddenVariableField("jz_path"); $display->hiddenPageVars(); echo '<input type="hidden" name="frontend" value="' . $_GET['frontend'] . '">' . "\n"; echo "</form>"; ?> </td> <td valign="middle" nowrap> <?php $display->playButton($node); echo " "; $display->randomPlayButton($node); $url_array = array(); $url_array['jz_path'] = $node->getPath("String"); $url_array['action'] = "popup"; $url_array['ptype'] = "iteminfo"; echo ' <a onclick="openPopup(this, 450, 450); return false;" href="' . urlize($url_array) . '"><img src="' . $image_dir . 'more.gif" border="0"></a>'; ?> </td> <?php if ($display->wantResampleDropdown($node)) { ?> <td align="right"> <?php $display->displayResampleDropdown($node, word("Resample") . ": "); ?> </td> <?php } ?> </tr> </table> <table width="100%" cellspacing="0" cellpadding="0"><tr height="2" style="background-image: url('<?php echo $image_dir; ?> row-spacer.gif');"><td width="100%"></td></tr></table> <?php } else { if ($display->wantResampleDropdown($node)) { ?> <table width="100%" cellspacing="0" cellpadding="0"><tr> <td align="right"> <?php $display->displayResampleDropdown($node, word("Resample") . ": "); ?> </td> </tr></table> <?php } } // ARTIST ALPHA: in header or only for root? Put the following in pageTop for the first... if ($show_artist_alpha == "true") { $blocks->alphabeticalList($node, "artist", 0); } }
function drawPage(&$node) { global $this_page, $jzUSER; $parent = $node->getNaturalParent(); doNaturalDepth($parent); $grandparent = $parent->getNaturalParent(); doNaturalDepth($grandparent); $greatgrandparent = $grandparent->getNaturalParent(); doNaturalDepth($greatgrandparent); $display =& new jzDisplay(); $blocks = new jzBlocks(); $root =& new jzMediaNode(); doNaturalDepth($root); // let's display the site description $news = $blocks->siteNews($node); if ($news != "") { echo "<br><center>" . $news . "<center><br>"; } $MAX_TRACKS = 100; // if we have POST variable songs[], we need to perform some action on the songs. // probably handle this in the header.php file (or even index.php?) // TODO: // 1) if no art found, display some stats or something. // 2) add counts in parenethesis next to nodes. // 3) lock page width if (isset($_POST['clear'])) { unset($_POST['query']); } if ($node->getLevel() == 0) { $left = $node->getSubNodes(); $right = array(); $backstring = false; } else { if ($node->getSubNodes() == array()) { // weird but possible case: $node == $parent. Happens in a 2-tier layout. if ($parent->getLevel() == $grandparent->getLevel()) { $leftpath = $node->getPath(); $rightpath = array(); $left = $parent->getSubNodes(); $right = array(); $backstring = false; } else { $leftpath = $parent->getPath(); // preselect parent on the left $rightpath = $node->getPath(); // preselect me on the right if ($grandparent->getLevel() == $greatgrandparent->getLevel()) { $backstring = false; } else { $backstring = $grandparent->getPath("String"); } $left = $grandparent->getSubNodes(); $right = $parent->getSubNodes(); } } else { $leftpath = $node->getPath(); // preselect me on the left $rightpath = array(); // don't select on the right if ($grandparent->getLevel() == $parent->getLevel()) { $backstring = false; } else { $backstring = $parent->getPath("String"); } if (isset($_POST['doquery']) && $_POST['query'] != "") { $right = $node->search($_POST['query'], "nodes", false, $MAX_TRACKS); } else { $right = $node->getSubNodes(); } $left = $parent->getSubNodes(); } } if (isset($_POST['doquery']) && $_POST['query'] != "") { if ($_POST['how'] == "filter") { $songs = $node->search($_POST['query'], "tracks", -1, $MAX_TRACKS); } else { $songs = $root->search($_POST['query'], "tracks", -1, $MAX_TRACKS); } } else { if ($node->getSubNodeCount("leaves", -1) > $MAX_TRACKS) { if ($node->getLevel() == 0) { $songs = array(); } else { $songs = $node->getSubNodes("leaves", -1, true, $MAX_TRACKS); } } else { $songs = $node->getSubNodes("leaves", -1, false); } } echo '<br>'; $blocks->blockBodyOpen(); ?> <table width="100%" cellspacing="0" cellpadding="0"> <tr><td width="32%"> <form id="leftForm" method="GET" action="<?php echo $this_page; ?> "> <?php keepVars($_POST); $display->hiddenPageVars(); if (!defined('NO_AJAX_LINKS')) { $display->hiddenVariableField('maindiv', 'true'); } ?> <div id="left_box"> <select name="<?php echo jz_encode("jz_path"); ?> " size="14" class="full jz_select" style="height:210px;" onChange="submitForm(this.form,'<?php echo htmlentities($this_page); ?> ')"> <?php if ($backstring !== false) { echo "<option value=\"" . htmlentities(jz_encode($backstring)) . "\">" . word('[ Back ]') . "</option"; } foreach ($left as $el) { echo "<option value=\"" . htmlentities(jz_encode($el->getPath("String"))) . "\""; if ($el->getPath() == $leftpath) { echo " selected"; } echo ">" . htmlentities($display->returnShortName($el->getName(), 35)) . "</option>"; } ?> </select> </div> </form> </td><td width="32%"> <form method="GET" action="<?php echo $this_page; ?> "> <?php keepVars($_POST); $display->hiddenPageVars(); if (!defined('NO_AJAX_LINKS')) { $display->hiddenVariableField('maindiv', 'true'); } ?> <div id="right_box"> <select name="<?php echo jz_encode("jz_path"); ?> " size="14" class="full jz_select" style="height:210px;" onChange="submitForm(this.form,'<?php echo htmlentities($this_page); ?> ')"> <?php foreach ($right as $el) { echo "<option value=\"" . htmlentities(jz_encode($el->getPath("String"))) . "\""; if ($el->getPath() == $rightpath) { echo " selected"; } echo ">" . htmlentities($display->returnShortName($el->getName(), 35)) . "</option>"; } ?> </select> </div> </form> </td> <td width="20%" valign="top"> <?php if (($art = $node->getMainArt("200x200")) !== false) { $display->image($art, $node->getName(), 200, 200, "limit"); // todo: if the description exists, make the image a link to the description. } else { //$blocks->showCharts($node,'newalbums'); } ?> </td> </tr> <tr><td nowrap colspan="2"> <form method="POST" action="<?php echo $this_page; ?> "> <input type="hidden" name="<?php echo jz_encode("jz_path"); ?> " value="<?php echo jz_encode($node->getPath("String")); ?> "> <?php if (isset($_POST['frontend']) || isset($_GET['frontend'])) { echo "<input type=\"hidden\" name=\"" . jz_encode("frontend") . "\" value=\"" . jz_encode("medialibrary") . "\">"; } ?> <select name="<?php echo jz_encode("how"); ?> " class="jz_select"> <option value="<?php echo jz_encode("filter"); ?> " <?php if ($_POST['how'] == "filter") { echo "selected"; } ?> >Filter: </option> <option value="<?php echo jz_encode("search"); ?> " <?php if ($_POST['how'] == "search") { echo "selected"; } ?> >Search: </option> </select> <input name="query" style="width:65%" class="jz_input" <?php if (isset($_POST['query'])) { echo "value=\"" . htmlentities($_POST['query']) . "\""; } ?> > <input type="submit" name="<?php echo jz_encode("doquery"); ?> " value="Go" class="jz_submit"> <input type="submit" name="<?php echo jz_encode("clear"); ?> " value="Clear" class="jz_submit"> </form> </td> <td> <p> <?php $pl = $jzUSER->loadPlaylist(); if (checkPermission($jzUSER, 'play', $node->getPath('string')) === true) { $display->playButton($pl); $display->randomPlayButton($pl); } if ($jzUSER->getSetting('download') === true) { $display->downloadButton($pl); } echo " "; echo $pl->getName() . ":"; ?> </p> </td> </tr> <tr><td colspan="2" valign="top"> <table width="100%"> <form name="tracklist" method="POST" action="<?php echo $this_page; ?> "> <tr><td colspan="2"> <? if (isset($_POST['query']) && $_POST['query'] != "") { echo "<input type=\"hidden\" name=\"query\" value=\"" . htmlentities($_POST['query']) . "\">"; if ($_POST['how'] == "filter") { echo "<input type=\"hidden\" name=\"" . jz_encode("how") . "\" value=\"" . jz_encode("filter") . "\">"; } else { echo "<input type=\"hidden\" name=\"" . jz_encode("how") . "\" value=\"" . jz_encode("search") . "\">"; } } ?> <input type="hidden" name="<?php echo jz_encode("action"); ?> " value="<?php echo jz_encode("mediaAction"); ?> "> <input type="hidden" name="<?php echo jz_encode("type"); ?> " value="<?php echo jz_encode("tracks"); ?> "> <div id="track_box"> <input type="hidden" name="<?php echo jz_encode("jz_path"); ?> " value="<?php echo htmlentities(jz_encode($node->getPath("String"))); ?> "> <select name="jz_list[]" size="18" class="full jz_select" ondblclick="if (submitPlaybackForm(this,'<?php echo htmlentities($this_page); ?> ')) submit()" multiple> <?php // this should be fixed to however playlists get loaded. foreach ($songs as $el) { echo "<option value=\"" . htmlentities(jz_encode($el->getPath("String"))) . "\">" . htmlentities($display->returnShortName($el->getName(), 75)) . "</option>"; } ?> </select> </div> </td></tr> <tr><td nowrap><div align="left"> <?php if (checkPermission($jzUSER, 'play', $node->getPath("String")) === true) { ?> <input type="submit" name="<?php echo jz_encode("sendList"); ?> " value="<?php echo word('Play'); ?> " onClick="return submitPlaybackForm(this,'<?php echo htmlentities($this_page); ?> ')" class="jz_submit"> <input type="submit" name="<?php echo jz_encode("sendPath"); ?> " value="<?php echo word('Play All'); ?> " onClick="return submitPlaybackForm(this,'<?php echo htmlentities($this_page); ?> ')" class="jz_submit"> <input type="submit" name="<?php echo jz_encode("sendPathRandom"); ?> " value="<?php echo word('Random Play All'); ?> " onClick="return submitPlaybackForm(this,'<?php echo htmlentities($this_page); ?> ')" class="jz_submit"> <!--<input type="submit" name="<?php echo jz_encode("info"); ?> " value="Get Info" class="jz_submit">--!> <?php } ?> </div></td> <td nowrap><div align="right"> <input type="submit" name="<?php echo jz_encode("addList"); ?> " value="<?php echo word('Add'); ?> " class="jz_submit" onClick="return submitPlaybackForm(this,'<?php echo htmlentities($this_page); ?> ')"> <input type="submit" name="<?php echo jz_encode("addPath"); ?> " value="<?php echo word('Add All'); ?> " class="jz_submit" onClick="return submitPlaybackForm(this,'<?php echo htmlentities($this_page); ?> ')"> </div></td></tr> </form> </table> <td> <form action="<?php echo $this_page; ?> " method="POST" name="playlistForm"> <div id="playlistDisplay"> <?php $blocks->playlistDisplay(); ?> </div> <?php $display->playlistSelect('125px', true); ?> </select> <input type="hidden" name="playlistname" value=""> <?php $display->hiddenVariableField("action", "playlistAction"); $display->hiddenVariableField("noaction", "true"); keepVars($_POST); $display->hiddenVariableField("jz_path", $_POST['jz_path']); ?> <input type="submit" name="<?php echo jz_encode("createlist"); ?> " value="<?php echo word('New'); ?> " class="jz_submit" onClick="variablePrompt('playlistForm','playlistname','<?php echo word('Please enter a name for your playlist.'); ?> ')"> </form> </td> </tr> <tr> <td align="left" nowrap> </td> <td align="right"> </td> <td aligh="right"> </td> </tr> </table> <?php $blocks->blockBodyClose(); echo '<br>'; }