/** * Returns the AJAX code for the small jukebox * * @author Ben Dodson * @since 8/21/05 * @param new_jb: the jukebox to change to. **/ function ajaxSmallJukebox($new_jb = false, $text = false, $buttons = false, $linebreaks = false) { global $include_path; writeLogData("messages", "Jukebox: Displaying the small jukebox interface"); $blocks = new jzBlocks(); if ($new_jb !== false) { // Change the jukebox include_once $include_path . "jukebox/class.php"; $jbArr = jzJukebox::getJbArr(); for ($i = 0; $i < count($jbArr); $i++) { if ($jbArr[$i]['description'] == $new_jb) { $_SESSION['jb_id'] = $i; } } $_POST['jbplaywhere'] = $new_jb; ajaxJukeboxRequest('playwhere'); } $blocks->smallJukebox($text, $buttons, $linebreaks); }
function pageTop($title = false, $endBreak = "true", $ratingItem = "") { global $this_page, $img_home, $quick_list_truncate, $img_random_play, $cms_mode, $random_play_amounts, $directory_level, $img_up_arrow, $header_drops, $genre_drop, $artist_drop, $album_drop, $quick_drop, $root_dir, $web_root, $song_drop, $audio_types, $video_types, $media_dir, $img_more, $img_random_play_dis, $url_seperator, $help_access, $jukebox, $jukebox_num, $disable_random, $jz_lang_file, $show_slimzora, $img_slim_pop, $allow_resample, $resampleRates, $default_random_type, $default_random_count, $display_previous, $echocloud, $display_recommended, $enable_requests, $enable_ratings, $enable_search, $enable_meta_search, $user_tracking_display, $user_tracking_admin_only, $site_title, $node, $jzUSER, $img_play, $img_playlist, $jinzora_skin, $include_path, $img_play_dis, $img_random_play_dis, $img_download_dis, $img_add_dis, $img_playlist_dis, $allow_filesystem_modify, $disable_leftbar, $allow_interface_choice, $allow_style_choice, $allow_language_choice, $show_now_streaming, $show_who_is_where, $show_user_browsing, $jukebox_height, $backend, $config_version, $allow_resample, $jukebox_display; // First let's include the settings for Netjuke include_once $include_path . "frontend/frontends/netjuke/settings.php"; // Let's see if they wanted to pass a title if (!$title) { $title = $site_title; } if (!isset($_GET['jz_path'])) { $_GET['jz_path'] = ""; } // Let's setup our objects $root =& new jzMediaNode(); $display =& new jzDisplay(); $blocks = new jzBlocks(); // First let's see if our session vars are set for the number of items if (!isset($_SESSION['jz_num_genres'])) { $_SESSION['jz_num_genres'] = $root->getSubNodeCount("nodes", distanceTo("genre")); } if (!isset($_SESSION['jz_num_artists'])) { $_SESSION['jz_num_artists'] = $root->getSubNodeCount("nodes", distanceTo("artist")); } if (!isset($_SESSION['jz_num_albums'])) { $_SESSION['jz_num_albums'] = $root->getSubNodeCount("nodes", distanceTo("album")); } if (!isset($_SESSION['jz_num_tracks'])) { $_SESSION['jz_num_tracks'] = $root->getSubNodeCount("tracks", -1); } ?> <a name="pageTop"></a> <table width="100%" cellpadding="5" cellspacing="0" border="0"> <tr> <td> <table width="100%" cellpadding="3" cellspacing="0" border="0"> <tr> <td align="center" class="jz_block_td"> <?php echo '<a href="' . urlize(array()) . '">'; echo '<strong>BROWSE</strong>'; echo '</a>'; ?> </td> <td align="center" class="jz_block_td"> <strong> <?php $urla = array(); $urla['action'] = "powersearch"; echo "<a href=\"" . urlize($urla) . "\">SEARCH</a>"; ?> </strong> </td> <td align="center" class="jz_block_td"> <strong> <?php $display->randomPlayButton($node, false, word("RANDOM")); ?> </strong> </td> <td align="center" class="jz_block_td"> <strong><?php $urla['action'] = "popup"; $urla['ptype'] = "playlistedit"; echo "<a href=\"" . urlize($urla) . "\" onclick=\"openPopup(this, 550, 600); return false;\">PLAYLISTS</a>"; ?> </strong> </td> <td align="center" class="jz_block_td"> <strong><?php $display->popupLink("preferences", "PREFERENCES"); ?> </strong> </td> <td align="center" class="jz_block_td"> <strong><?php $display->loginLink("LOGIN", "LOGOUT"); ?> </strong> </td> </tr> </table> <br> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <?php // Can this user powersearch? if ($jzUSER->getSetting('powersearch')) { ?> <td align="center" valign="top"> <table width="100%" cellpadding="3" cellspacing="0" border="0"> <tr> <td class="jz_block_td"> <?php $url_search = array(); $url_search['action'] = "powersearch"; echo '<a href="' . urlize($url_search) . '">'; ?> <strong>QUICK SEARCH</strong></a> </td> </tr> <tr> <?php $onSubmit = ""; if ($jukebox == "true" && !defined('NO_AJAX_JUKEBOX')) { $onSubmit = 'onSubmit="return searchKeywords(this,\'' . htmlentities($this_page) . '\');"'; } if ($cms_mode == "true") { $method = "GET"; } else { $method = "POST"; } ?> <td class="jz_nj_block_body" align="center"> <form action="<?php echo $this_page; ?> " name="searchForm" method="<?php echo $method; ?> " <?php echo $onSubmit; ?> > <?php foreach (getURLVars($this_page) as $key => $val) { echo '<input type="hidden" name="' . htmlentities($key) . '" value="' . htmlentities($val) . '">'; } ?> <input type="text" name="search_query" class="jz_input" style="width:150px; font-size:10px; margin-bottom:3px;"> <br> <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="hidden" name="doSearch" value="true"> <input type="submit" class="jz_submit" name="doSearch" value="Go"> </form> </td> </tr> </table> </td> <?php // This ends the if they can powersearch statement } ?> <?php // Are they resampling? if ($display->wantResampleDropdown($node)) { $display->displayResampleDropdown($node); // PROBLEM: Currently can't use small jukebox and resampling. } if (checkPermission($jzUSER, "jukebox_queue") && ($jukebox_display == "small" or $jukebox_display == "minimal")) { ?> <td align="center"> </td> <td align="center" valign="top"> <table width="100%" cellpadding="3" cellspacing="0" border="0"> <tr> <td class="jz_block_td" width="100%" nowrap> <strong>PLAYBACK</strong> </td> </tr> <tr> <td class="jz_nj_block_body" align="left" width="1%" nowrap><div id="smallJukebox"> <?php $blocks->smallJukebox(false, "top"); ?> </div></td> </tr> </table> </td> <?php } ?> <td align="center"> </td> <td align="center" valign="top"> <table width="100%" cellpadding="3" cellspacing="0" border="0"> <tr> <td class="jz_block_td" colspan="3" width="100%" nowrap> <strong>CONTENT SUMMARY</strong> </td> </tr> <?php // Let's get the stats if (!isset($_SESSION['jz_total_tracks'])) { $root = new jzMediaNode(); $stats = $root->getStats(); $_SESSION['jz_total_tracks'] = $stats['total_tracks']; $_SESSION['jz_total_genres'] = $stats['total_genres']; $_SESSION['jz_total_artists'] = $stats['total_artists']; $_SESSION['jz_total_albums'] = $stats['total_albums']; $_SESSION['jz_total_size'] = $stats['total_size_str']; $_SESSION['jz_total_length'] = $stats['total_length']; } ?> <tr> <td class="jz_nj_block_body" align="center" width="1%" nowrap> <?php echo number_format($_SESSION['jz_total_tracks']); ?> Tracks </td> <td class="jz_nj_block_body" align="center" width="1%" nowrap> <?php echo number_format($_SESSION['jz_total_artists']); ?> Artists </td> <td class="jz_nj_block_body" align="center" width="1%" nowrap> <?php echo formatTime($_SESSION['jz_total_length']); ?> </td> </tr> <tr> <td class="jz_nj_block_body" align="center" width="1%" nowrap> <?php echo number_format($_SESSION['jz_total_albums']); ?> Albums </td> <td class="jz_nj_block_body" align="center" width="1%" nowrap> <?php echo number_format($_SESSION['jz_total_genres']); ?> Genres </td> <td class="jz_nj_block_body" align="center" width="1%" nowrap> <?php echo $_SESSION['jz_total_size']; ?> </td> </tr> </table> </td> <td align="center"> </td> <td align="center" valign="top"> <table width="100%" cellpadding="3" cellspacing="0" border="0"> <tr> <td class="jz_block_td"> <strong>ARTISTS A-Z <?php echo "(" . $_SESSION['jz_num_artists'] . ")"; ?> </strong> - <?php $urlar = array(); //$urlar['jz_path'] = $node->getPath("String"); $urlar['jz_level'] = distanceTo("artist"); $urlar['jz_letter'] = "*"; echo "<a href=\"" . urlize($urlar) . "\">" . word("All") . "</a>"; ?> </td> </tr> <tr> <td class="jz_nj_block_body" align="center"> <?php for ($let = 'A'; $let != 'Z'; $let++) { $urlar['jz_letter'] = $let; echo "<a href=\"" . urlize($urlar) . "\">" . $let . "</a> "; if ($let == 'L' or $let == 'X') { echo "<br>"; } } $urlar['jz_letter'] = "Z"; echo "<a href=\"" . urlize($urlar) . "\">Z</a> "; for ($let = '1'; $let != '10'; $let++) { $urlar['jz_letter'] = $let; echo "<a href=\"" . urlize($urlar) . "\">" . $let . "</a> "; } $urlar['jz_letter'] = "*"; echo "<a href=\"" . urlize($urlar) . "\">0</a> "; ?> </td> </tr> </table> </td> <td align="center"> </td> <td align="center" valign="top"> <table width="100%" cellpadding="3" cellspacing="0" border="0"> <tr> <td class="jz_block_td"> <strong>ALBUMS A-Z <?php echo "(" . $_SESSION['jz_num_albums'] . ")"; ?> </strong> - <?php $urlar['jz_level'] = distanceTo("album"); $urla['jz_letter'] = "*"; echo "<a href=\"" . urlize($urlar) . "\">" . word("All") . "</a>"; ?> </td> </tr> <tr> <td class="jz_nj_block_body" align="center"> <?php for ($let = 'A'; $let != 'Z'; $let++) { $urlar['jz_letter'] = $let; echo "<a href=\"" . urlize($urlar) . "\">" . $let . "</a> "; if ($let == 'L' or $let == 'X') { echo "<br>"; } } $urlar['jz_letter'] = "Z"; echo "<a href=\"" . urlize($urlar) . "\">Z</a> "; for ($let = '1'; $let != '10'; $let++) { $urlar['jz_letter'] = $let; echo "<a href=\"" . urlize($urlar) . "\">" . $let . "</a> "; } $urlar['jz_letter'] = "0"; echo "<a href=\"" . urlize($urlar) . "\">0</a> "; ?> </td> </tr> </table> </td> </tr> </table> <?php // Are they in Jukebox mode? if (checkPermission($jzUSER, "jukebox_queue") && $jukebox_display != "small" && $jukebox_display != "off") { ?> <br> <table width="100%" cellpadding="3" cellspacing="0" border="0"> <tr> <td align="center" class="jz_block_td"> <div id="jukebox"> <?php include jzBlock('jukebox'); ?> </div> </td> </tr> </table> <?php } ?> </td> </tr> </table> <?php }
function pageTop($title = false, $endBreak = "true", $ratingItem = "") { global $this_page, $img_home, $quick_list_truncate, $img_random_play, $cms_mode, $random_play_amounts, $directory_level, $img_up_arrow, $header_drops, $genre_drop, $artist_drop, $album_drop, $quick_drop, $root_dir, $web_root, $song_drop, $audio_types, $video_types, $media_dir, $img_more, $img_random_play_dis, $url_seperator, $help_access, $jukebox, $jukebox_num, $disable_random, $jz_lang_file, $show_slimzora, $img_slim_pop, $allow_resample, $resampleRates, $default_random_type, $default_random_count, $display_previous, $echocloud, $display_recommended, $enable_requests, $enable_ratings, $enable_search, $enable_meta_search, $user_tracking_display, $user_tracking_admin_only, $site_title, $node, $jzUSER, $allow_filesystem_modify, $jukebox_display, $jbArr, $include_path; // Let's see if they wanted to pass a title if (!$title) { $title = $site_title; } // Let's setup our objects $root =& new jzMediaNode(); $display =& new jzDisplay(); $blocks = new jzBlocks(); ?> <table class="jz_header_table" width="100%" cellpadding="0" cellspacing="0" border="0"> <tr class="jz_header_table_tr"> <td width="80" align="left" valign="top" class="jz_header_table_outer" > <table class="" width="80" cellpadding="0" style="padding:5px;" cellspacing="0" border="0"> <tr class="jz_header_table_tr"> <td width="80" align="left" valign="top" class="" > <nobr> <?php // Now let's make sure they can see this if ($jzUSER->getSetting("view") === true) { // Let's display the home icon $display->homeButton(); // Let's setup the link for the help docs IF they have access to it if ($help_access == $_SESSION['jz_access_level'] or $help_access == "all") { $item_url = $root_dir . '/docs/' . $jz_lang_file . '/index.html'; ?> <a href="<?php echo $item_url; ?> " onClick="openPopup(this, 500, 500, false, 'Help'); return false;" target="_blank"><?php echo $img_more; ?> </a> <?php } // Now let's show them the Slimzora popup if ($show_slimzora && $jzUSER->getSetting('view') !== false) { $display->popupLink("slimzora"); } } else { echo " "; } if (checkPermission($jzUSER, "play")) { echo ' '; $display->popupLink('plmanager'); } // Now let's see if they get the tools menu if ($_SESSION['jz_access_level'] == "admin") { global $skin, $jz_MenuItemLeft, $jz_MenuSplit, $jz_MenuItemHover, $jz_MainItemHover, $main_img_dir, $jz_MenuItem; //include_once($web_root. $root_dir. '/lib/menu/tools-menu.php'); } ?> </nobr> </td> </tr> </table> </td> <td width="100%" valign="top" class="jz_header_table_outer"> <table width="100%" class="jz_header_table" border="0" cellpadding="0" cellspacing="0" style="padding:5px;"> <tr class="jz_header_table_tr"> <td width="50%" valign="top" class="jz_header_table_td"> <?php // Now let's set the header text if ($_SESSION['jz_access_level'] != "noaccess") { echo '<span class="jz_headerTitle">' . jzstripslashes($title) . '</span>'; } // Now let's show the rating if ($enable_ratings == "true" and $ratingItem != "") { echo " " . displayRating($ratingItem, false); } // Now let's make sure they deleted the "install" directory if (is_dir($include_path . "install") and !is_dir($include_path . "CVS")) { echo "<br><br><strong>"; echo word("You're Jinzora installation is NOT secure!!! You need to delete the 'install' directory to secure your installation!!! - Once you delete the 'install' directory this message will go away"); echo "</strong><br>"; } // Let's see if there is a file that we want to put in the header here //echo returnHeaderText(); ?> </td> <td width="50%" valign="top" class="jz_header_table_td" align="right"> <div align="right"> <?php $display->loginLink(); echo " | "; // Let's see if the user has logged in, and if not let's show that link if ($jzUSER->getSetting('admin') and $allow_filesystem_modify == "true") { $url_array = array(); $url_array['jz_path'] = $node->getPath("String"); $url_array['action'] = "popup"; $url_array['ptype'] = "uploadmedia"; echo '<a class="jz_header_table_href" onClick="openPopup(' . "'" . urlize($url_array) . "'" . ',450,400); return false;" href="javascript:;">' . word("Add Media") . '</a> | '; } if (false !== $display->popupLink("preferences", word("Preferences"))) { echo ' | '; } // Now let's show them the search box if ($_SESSION['jz_access_level'] != "noaccess" and $_SESSION['jz_access_level'] != "viewonly" and $_SESSION['jz_access_level'] != "lofi" and $enable_search != "false") { $url = array(); $url['action'] = 'powersearch'; echo "<a href=\"" . urlize($url) . "\" class=\"jz_header_table_href\">" . word("Search") . "</a>"; // Now let's see if there is a value for the box $value = ""; if (isset($_POST['search_query'])) { $value = $_POST['search_query']; } if (isset($_GET['song_title'])) { $value = $_GET['song_title']; } ?> <?php $onSubmit = ""; if ($jukebox == "true" && !defined('NO_AJAX_JUKEBOX')) { $onSubmit = 'onSubmit="return searchKeywords(this,\'' . htmlentities($this_page) . '\');"'; } if ($cms_mode == "true") { $method = "GET"; } else { $method = "POST"; } ?> <form action="<?php echo $this_page; ?> " method="<?php echo $method; ?> " name="searchForm" <?php echo $onSubmit; ?> > <?php foreach (getURLVars($this_page) as $key => $val) { echo '<input type="hidden" name="' . htmlentities($key) . '" value="' . htmlentities($value) . '">'; } ?> <input class="jz_input" type="text" name="search_query" size="15" value="<?php echo $value; ?> "> <select class="jz_select" name="search_type"> <option value="ALL">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="hidden" name="doSearch" value="true"> <input class="jz_submit" type="submit" name="doSearch" value="<?php echo word("Go"); ?> "> </form> </nobr> <?php } // Let's show them the up arrow, unless they are viewing the first page ?> <table width="100%" cellpadding="0"><tr><td width="100%" align="right"><div align="right"><nobr> <?php $bcrumbs = $blocks->breadCrumbs(); // Now let's display the header for the block $title = "Browse"; if ($node->getName() != "") { $parent = $node->getParent(); if ($parent->getName() != "") { $title .= " :: " . $parent->getName(); } $title .= " :: " . $node->getName(); } echo $bcrumbs; ?> </nobr></div></td></tr></table> <?php ?> </div> </td> </tr> </table> <?php // Now, do they want to display where the other users are? if ($user_tracking_display == "true") { // Now do they only want admins to see this? if ($user_tracking_admin_only == "true") { if ($_SESSION['jz_access_level'] == "admin") { displayUserTracking(); } } else { displayUserTracking(); } } ?> </td> </tr> <?php // Now let's see if they are in Jukebox mode, but are NOT an admin they can only stream if (checkPermission($jzUSER, "jukebox_queue") && $jukebox_display != "small" && $jukebox_display != "off") { jzTableClose(); echo '<div id="jukebox">' . "\n"; $blocks->jukeboxBlock(); echo '</div>', "\n"; jzTableOpen("100", "0", "jz_header_table"); } // Let's see if they wanted to turn the drop down boxes off if ($header_drops == "true") { ?> <tr class="jz_header_table_tr"> <td width="100%" align="right" valign="top" class="jz_header_table_outer" colspan="2" style="padding:5px;"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr class="jz_header_table_tr"> <?php if (checkPermission($jzUSER, "jukebox_queue") && ($jukebox_display == "small" or $jukebox_display == "minimal")) { ?> <td width="15%" valign="top" class="jz_header_table_td"><div id="smallJukebox"> <?php $blocks->smallJukebox(false, 'top'); ?> </div></td> <?php } // Let's make sure they wanted to see the Genre drop down if ($genre_drop != "false" && distanceTo("genre") !== false) { ?> <td width="15%" valign="top" class="jz_header_table_td"> <?php $display->popupLink("genre"); ?> <br> <?php if ($genre_drop == "true") { ?> <form action="<?php echo $this_page; ?> " method="GET"> <?php $display->hiddenPageVars(); $display->dropdown("genre"); ?> </form> <?php } ?> </td> <?php } // Let's see if they are looking at 2 levels or 3 and show them the artists select box if ($artist_drop != "false" && distanceTo("artist") !== false) { ?> <td width="15%" valign="top" class="jz_header_table_td"> <?php $display->popupLink("artist"); ?> <br><?php if ($artist_drop == "true") { ?> <form action="<?php echo $this_page; ?> " method="GET"> <?php $display->hiddenPageVars(); $display->dropdown("artist"); ?> </form> <?php } ?> </td> <?php } // Let's see if they are looking at 2 levels or 3 and show them the artists select box if ($album_drop != "false" && distanceTo("album") !== false) { ?> <td width="15%" valign="top" class="jz_header_table_td"> <?php $display->popupLink("album"); ?> <br><?php if ($album_drop == "true") { ?> <form action="<?php echo $this_page; ?> " method="GET"> <?php $display->hiddenPageVars(); $display->dropdown("album"); ?> </form><?php } ?> </td> <?php } if ($song_drop != "false") { ?> <td width="15%" valign="top" class="jz_header_table_td"> <?php $display->popupLink("track"); ?> <br><?php if ($song_drop == "true") { ?> <form action="<?php echo $this_page; ?> " method="GET"> <?php $display->hiddenPageVars(); $display->dropdown("track"); ?> </form><?php } ?> </td> <?php } // Now let's display the random playlist generator if ($quick_drop == "true" and $_SESSION['jz_access_level'] != "viewonly" and $_SESSION['jz_access_level'] != "lofi") { jzTDOpen("15", "left", "top", "jz_header_table_td", "0"); echo '<nobr>'; $blocks->randomGenerateSelector($node); echo '</nobr>'; jzTDClose(); } // Now let's display the resampler if ($display->wantResampleDropdown($node)) { jzTDOpen("10", "left", "top", "jz_header_table_td", "0"); $display->displayResampleDropdown($node); jzTDClose(); } jzTRClose(); // Now let's close out jzTableClose(); jzTDClose(); jzTRClose(); } // This closes our big table above jzTableClose(); }