|
From: OryNider <ory...@us...> - 2007-08-30 19:49:25
|
Update of /cvsroot/mxbb/mx_music In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv32378 Modified Files: music.php Log Message: Index: music.php =================================================================== RCS file: /cvsroot/mxbb/mx_music/music.php,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** music.php 30 Aug 2007 05:38:59 -0000 1.4 --- music.php 30 Aug 2007 19:49:17 -0000 1.5 *************** *** 534,538 **** // We may do query now // - if ($allowed_cat != '') { --- 534,537 ---- *************** *** 615,618 **** --- 614,746 ---- } } + else if ( ($mode == 'music_index') && !isset($_GET['c']) ) + { + $sql = "SELECT c.*, COUNT(s.song_id) AS count + FROM ". MUSIC_CAT_TABLE ." AS c + LEFT JOIN ". MUSIC_TABLE ." AS s ON c.cat_id = s.song_cat_id + WHERE cat_id <> 0 + GROUP BY cat_id + ORDER BY cat_order ASC"; + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, 'Could not query categories list', '', __LINE__, __FILE__, $sql); + } + + $catsrow = array(); + + while( $row = $db->sql_fetchrow($result) ) + { + $music_user_access = music_user_access($row['cat_id'], $row, 1, 0, 0, 0, 0, 0); // VIEW + if ($music_user_access['view'] == 1) + { + $catsrow[] = $row; + } + } + + for ($i = 0; $i < count($catsrow); $i++) + { + // -------------------------------- + // Build allowed category-list (for recent songs after here) + // -------------------------------- + + $allowed_cat .= ($allowed_cat == '') ? $catsrow[$i]['cat_id'] : ',' . $catsrow[$i]['cat_id']; + } + + if ($allowed_cat != '') + { + $sql = "SELECT s.song_id, s.song_title, s.song_desc, s.song_singer, s.song_user_id, s.song_user_ip, s.song_username, s.song_time, s.song_cat_id, s.song_view_count, u.user_id, u.username, r.rate_song_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments, MAX(c.comment_id) as new_comment + FROM ". MUSIC_TABLE ." AS s + LEFT JOIN ". USERS_TABLE ." AS u ON s.song_user_id = u.user_id + LEFT JOIN ". MUSIC_CAT_TABLE ." AS ct ON s.song_cat_id = ct.cat_id + LEFT JOIN ". MUSIC_RATE_TABLE ." AS r ON s.song_id = r.rate_song_id + LEFT JOIN ". MUSIC_COMMENT_TABLE ." AS c ON s.song_id = c.comment_song_id + WHERE s.song_cat_id IN ($allowed_cat) AND ( s.song_approval = 1 OR ct.cat_approval = 0 ) + GROUP BY s.song_id + ORDER BY $sort_method DESC + LIMIT $song_limit"; + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, 'Could not query top songs information', '', __LINE__, __FILE__, $sql); + } + + $topsongrow = array(); + + while( $row = $db->sql_fetchrow($result) ) + { + $topsongrow[] = $row; + } + + + if (count($topsongrow) > 0) + { + for ($i = 0; $i < count($topsongrow); $i += $music_config['rows_per_page']) + { + $template->assign_block_vars('top_songs', array()); + + for ($j = $i; $j < ($i + $music_config['rows_per_page']); $j++) + { + if( $j >= count($topsongrow) ) + { + break; + } + + if(!$topsongrow[$j]['rating']) + { + $topsongrow[$j]['rating'] = $lang['Not_rated']; + } + else + { + $topsongrow[$j]['rating'] = round($topsongrow[$j]['rating'], 2); + } + + $template->assign_block_vars('top_songs.top_row', array( + 'U_SONG' => append_sid(this_mo_mxurl("music_mode=music_page&song_id=". $topsongrow[$j]['song_id'])), + 'DESC' => $topsongrow[$j]['song_desc'] + ) + ); + + if( ($topsongrow[$j]['user_id'] == MUSIC_GUEST) or ($topsongrow[$j]['username'] == '') ) + { + $top_poster = ($topsongrow[$j]['song_username'] == '') ? $lang['Guest'] : $topsongrow[$j]['song_username']; + } + else + { + $top_poster = '<a href="'. append_sid($phpbb_root_path . "profile.$phpEx?mode=viewprofile&". POST_USERS_URL .'='. $topsongrow[$j]['user_id']) .'">'. $topsongrow[$j]['username'] .'</a>'; + } + + $template->assign_block_vars('top_songs.top_detail', array( + 'TITLE' => '<a href="'. append_sid(this_mo_mxurl("music_mode=music_page&song_id=". $topsongrow[$j]['song_id'])) . '">' . $topsongrow[$j]['song_title'] . '</a>', + 'SINGER' => $topsongrow[$j]['song_singer'], + 'POSTER' => $top_poster, + 'TIME' => create_date($board_config['default_dateformat'], $topsongrow[$j]['song_time'], $board_config['board_timezone']), + + 'VIEW' => $topsongrow[$j]['song_view_count'], + + 'RATING' => ($music_config['rate'] == 1) ? ( '<a href="'. append_sid(this_mo_mxurl("music_mode=music_rate&song_id=". $topsongrow[$j]['song_id'])) . '">' . $topsongrow[$j]['rating'] . '</a>' ) : '', + + 'COMMENTS' => ($music_config['comment'] == 1) ? ( '<a href="'. append_sid(this_mo_mxurl("music_mode=music_comment&song_id=". $topsongrow[$j]['song_id'])) . '">' . $topsongrow[$j]['comments'] . '</a>' ) : '', + + 'IP' => ($userdata['user_level'] == ADMIN) ? $lang['IP_Address'] . ': <a href="http://www.nic.com/cgi-bin/whois.cgi?query=' . decode_ip($topsongrow[$j]['song_user_ip']) . '" target="_blank">' . decode_ip($topsongrow[$j]['song_user_ip']) .'</a><br />' : '' + ) + ); + } + } + } + else + { + // + // No songs Found + // + $template->assign_block_vars('no_songs', array()); + } + } + else + { + // + // No songs Found + // + $template->assign_block_vars('no_songs', array()); + } + } else { *************** *** 631,635 **** } - // ------------------------------------ // additional sorting options --- 759,762 ---- |