16, 'NewSoca' => 17, 'Soca' => 18, 'Pan' => 19, 'Reggae' => 20, 'Chutney' => 21, 'HipHop' => 22, 'RnB' => 23, 'Latin' => 25, 'Parang' => 26, 'Bollywood' => 27, 'YourMusic' => 24 ); $categoryImages = array ( 'Vintage' => 'noImg.png', 'NewSoca' => 'noImg.png', 'Soca' => 'noImg.png', 'Pan' => 'noImg.png', 'Reggae' => 'noImg.png', 'Chutney' => 'noImg.png', 'HipHop' => 'noImg.png', 'RnB' => 'noImg.png', 'Latin' => 'noImg.png', 'Parang' => 'noImg.png', 'Bollywood' => 'noImg.png', 'YourMusic' => 'noImg.png' ); $categoryArray = array_flip($categories); if (isset($_GET['audioId'])) { $values = array('id' => $_GET['audioId']); $isGroup = $database->oneField($database->prepareSql("SELECT `category` FROM tracks WHERE id=':id'", $values)); $sqlId = $database->prepareSql("SELECT DISTINCT authentication.displayName, authentication.profileName, tracks.userId, tracks.banner, tracks.title, tracks.bgcolor, tracks.id, tracks.caption, itemratings.views, itemratings.comments, itemratings.rating, tracks.category, categories.name FROM categories, tracks JOIN authentication ON tracks.userId=authentication.userId JOIN itemratings ON tracks.id=itemratings.itemId WHERE itemratings.itemType='track' AND tracks.id=':id'", $values); if ($isGroup) { $sqlId = $database->prepareSql("SELECT tracks.artist, tracks.banner, tracks.title, tracks.bgcolor, tracks.id, tracks.caption, tracks.category, categories.name, itemratings.views, itemratings.comments, itemratings.rating FROM categories, tracks JOIN itemratings ON tracks.id=itemratings.itemId WHERE itemratings.itemType='track' AND tracks.category=categories.id AND videos.id=':id'", $values); $audio = $database->oneRow($sqlId); } else { $sqlId = $database->prepareSql("SELECT DISTINCT authentication.displayName, authentication.profileName, tracks.userId, tracks.banner, tracks.title, tracks.bgcolor, tracks.id, tracks.caption, itemratings.views, itemratings.comments, itemratings.rating, tracks.category, categories.name FROM categories, tracks JOIN authentication ON tracks.userId=authentication.userId JOIN itemratings ON tracks.id=itemratings.itemId WHERE itemratings.itemType='track' AND tracks.id=':id'", $values); $audio = $database->oneRow($sqlId); } if (!$audio) { showError("Invalid item."); } else { if ($isGroup) { $audio['profileName'] = '+' . $audio['groupUrl']; $audio['displayName'] = $audio['groupName']; } registerView($_GET['audioId'], 'track', null, &$database); if (loggedIn()) { $addCommentDisplay = new displayManager('addComment'); $addCommentDisplay->addPlaceHolder('COLS', '20'); $addCommentDisplay->addPlaceHolder('ITEMTYPE', 'track'); $addCommentDisplay->addPlaceHolder('ITEMID', $_GET['audioId']); } else { $addCommentDisplay = new displayManager('addCommentNotLoggedIn'); } $addCommentDisplay->addPlaceHolder('CURRENT_URL', urlencode($_SERVER['REQUEST_URI'])); $breadcrumb[$audio['name']] = "/allMusic.wik?category={$audio['category']}"; $categoryImage = $categoryImages[$$audio['name']]; $sqlId = $database->prepareSql("SELECT DISTINCT itemcomments.id, itemcomments.userId, itemcomments.timestamp, itemcomments.comment, authentication.displayName, authentication.profileName FROM itemcomments JOIN authentication ON itemcomments.userId=authentication.userId WHERE itemcomments.itemType='track' AND itemcomments.itemId={$audio['category']} ORDER BY itemcomments.id ASC LIMIT 10"); $comments = $database->multipleRows($sqlId); if (!$comments) { $errorDisplay = new displayManager('error2'); $errorDisplay->addPlaceHolder('ERROR', "There are no comments on this track."); $commentHtml = $errorDisplay->outputHtml(true); } else { $commentDisplay = new displayManager('comment'); $commentHtml = null; foreach($comments as $temp => $comment) { $commentDisplay->addPlaceHolder('COMMENT_ID', $comment['id']); $commentDisplay->addPlaceHolder('PROFILENAME', stripslashes($comment['profileName'])); $commentDisplay->addPlaceHolder('DISPLAYNAME', stripslashes($comment['displayName'])); $commentDisplay->addPlaceHolder('COMMENT', htmlentities(stripslashes($comment['comment']))); $commentDisplay->addPlaceHolder('SIGNATURE', getSignature($comment['userId'], &$database)); $commentDisplay->addPlaceHolder('DATE', date('F j, y g:ia', $comment['timestamp'])); $commentDisplay->addPlaceHolder('AVATAR', getAvatar($comment['userId'], 64)); $commentHtml .= $commentDisplay->outputHtml(true); $commentDisplay->reset(); } if ($audio['comments'] > 10) { $commentHtml .= "
Showing only the ten most recent comments. Show all comments.
"; } } $videoDisplay = new displayManager('audioListen'); $breadcrumb[stripslashes($audio['title'])] = $_SERVER['REQUEST_URI']; $audioDisplay->addPlaceHolder('AUDIO_TITLE', stripslashes($audio['title'])); $audioDisplay->addPlaceHolder('CAPTION', stripslashes($audio['caption'])); $audioDisplay->addPlaceHolder('DESCRIPTION', nl2br(stripslashes($audio['desc']))); $audioDisplay->addPlaceHolder('ARTIST_NAME', stripslashes($audio['profileName'])); $audioDisplay->addPlaceHolder('TRACKID', stripslashes($audio['id'])); $audioDisplay->addPlaceHolder('VOTES', stripslashes($audio['votes'])); $audioDisplay->addPlaceHolder('CATEGORYIMAGE', $categoryImage); $audioDisplay->addPlaceHolder('CATEGORYNAME', $audio['name']); $audioDisplay->addPlaceHolder('CATEGORYID', $audio['category']); $audioDisplay->addPlaceHolder('CURRENT_RATING', rating2px($audio['rating'])); $audioDisplay->addPlaceHolder('LISTENS', number_format($audio['views'])); $audioDisplay->addPlaceHolder('COMMENTCOUNT', number_format($audio['comments'])); $audioDisplay->addPlaceHolder('COMMENTS', $commentHtml); $audioDisplay->addPlaceHolder('ADD_COMMENT', $addCommentDisplay->outputHtml(true)); $allAudioDisplay->addPlaceHolder('CONTENT', $audioDisplay->outputHtml(true)); } } else { $audioContent = null; include('PaginateIt.wik'); $pagination = new PaginateIt; $pagination->SetLinksFormat( 'Back', ' | ', 'Next' ); $pagination->SetItemsPerPage(10); $pagination->SetLinksToDisplay(5); if (isset($_GET['page']) && is_numeric($_GET['page'])) { $pagination->SetCurrentPage($_GET['page']); } else { $pagination->SetCurrentPage(1); } if (isset($_GET['category'])) { $breadcrumb[$categoryArray[$_GET['category']]] = $_SERVER['REQUEST_URI']; $categoryImage = $categoryImages[$categoryArray[$_GET['category']]]; $categoryHeaderDisplay = new displayManager('audioCategoryHeader'); $categoryHeaderDisplay->addPlaceHolder('CATEGORYNAME', $categoryArray[$_GET['category']]); $audioContent .= $categoryHeaderDisplay->outputHtml(true); $values = array('id' => $_GET['category']); $pagination->setItemCount($database->oneField($database->prepareSql("SELECT DISTINCT COUNT(*) FROM tracks WHERE category=':id'", $values))); $sqlId = $database->prepareSql("SELECT tracks.artist, tracks.banner, tracks.title, tracks.bgcolor, tracks.id, tracks.caption, tracks.category, categories.name, itemratings.views, itemratings.comments, itemratings.rating FROM categories, tracks JOIN itemratings ON tracks.id=itemratings.itemId WHERE itemratings.itemType='track' AND categories.id=:id AND categories.id=tracks.category ORDER BY tracks.title " . $pagination->GetSqlLimit(), $values); $audios = $database->multipleRows($sqlId); } if (isset($_GET['tag']) || isset($_GET['category'])) { if (!$audios) { $errorDisplay = new displayManager('error2'); $errorDisplay->addPlaceHolder('ERROR', "There are no tracks on this page, add one by clicking here"); $audioContent = $errorDisplay->outputHtml(true); } else { $gridHeaderDisplay = new displayManager('allAudioGridHeader'); $gridRowDisplay = new displayManager('audioGridRow'); $gridHtml = null; foreach($audios as $temp => $track) { $gridRowDisplay->addPlaceHolder('ARTIST_NAME', trim(stripslashes($track['artist']))); $gridRowDisplay->addPlaceHolder('TRACK_TITLE', trim(str_replace(stripslashes($track['artist']), '', stripslashes($track['title'])), ' --')); $gridRowDisplay->addPlaceHolder('TRACKID', $track['id']); $gridRowDisplay->addPlaceHolder('CURRENT_RATING', rating2px($track['rating'])); // $gridRowDisplay->addPlaceHolder('CATEGORY', trim(stripslashes($track['name']))); $gridRowDisplay->addPlaceHolder('LISTENS', number_format($track['views'])); $gridRowDisplay->addPlaceHolder('COMMENT_COUNT', number_format($track['comments'])); $gridHtml .= $gridRowDisplay->outputHtml(true); $gridRowDisplay->reset(); } $gridHeaderDisplay->addPlaceHolder('CONTENT', $gridHtml); $audioContent .= $gridHeaderDisplay->outputHtml(true) . "\t\t\t\t\t\t\t" . $pagination->GetPageLinks(); } } else { $categoryDisplay = new displayManager('audioCategories'); $categories = array ( 'Vintage' => 16, 'NewSoca' => 17, 'Soca' => 18, 'Pan' => 19, 'Reggae' => 20, 'Chutney' => 21, 'HipHop' => 22, 'RnB' => 23, 'Latin' => 25, 'Parang' => 26, 'Bollywood' => 27, 'YourMusic' => 24 ); foreach($categories as $name => $id) { $countTotal = $database->oneField($database->prepareSql("SELECT COUNT(*) FROM tracks WHERE category=$id")); $categoryDisplay->addPlaceHolder(strtoupper($name) . '_TOTAL', $countTotal); } $audioContent = $categoryDisplay->outputHtml(true); } $allAudioDisplay->addPlaceHolder('CONTENT', $audioContent); } /******** LOGIN PANEL *+* 0000181 20070531 4:41 ********/ require_once("./loginBox.inc.wik"); /******** LOGIN STATUS *+* 0000191 20070709 1:58P ********/ require_once("./loginStatus.inc.wik"); $display->addPlaceHolder('CONTENT', $allAudioDisplay->outputHtml(true)); outputTemplate(&$display); ?>