" . htmlspecialchars($artist['prefix']) . " " . htmlspecialchars($artist['name']) . ""; return $artist; } // format_artist /*! @function show_artists @discussion takes a match and accounts for the possiblity of a view then displays _many_ artists */ function show_artists ($match = '') { $dbh = dbh(); $view = new View(); $view->import_session_view(); // Check for the view object... if ($_REQUEST['keep_view']) { $view->initialize(); } // If there isn't a view object we need to create a new one.. else { // Pull in the min object count $min_object_count = conf('min_object_count'); $min_join = " LEFT JOIN song ON song.artist=artist.id"; $min_group = "GROUP BY song.artist HAVING COUNT(song.id) > $min_object_count"; if ( isset($match) && $match != '' ) { $query = "SELECT artist.id,artist.name FROM artist $min_join" . " WHERE artist.name LIKE '$match%' $min_group"; } else { $query = "SELECT artist.id FROM `artist` $min_join $min_group"; } $db_results = mysql_query($query, $dbh); $total_items = mysql_num_rows($db_results); if ($_REQUEST['match'] === "Show_all") { $offset_limit = 999999; } else { $offset_limit = $user->prefs['offset_limit']; } $view = new View($query,'artists.php','name',$total_items,$offset_limit); } // end if creating view object if (is_array($match)) { $artists = $match; $_SESSION['view_script'] = false; } $db_results = mysql_query($view->sql, $dbh); // Get the artist object while ($r = mysql_fetch_assoc($db_results)) { $artist = new Artist($r['id']); $artist->format(); $artists[] = $artist; } if (count($artists)) { /* Ack horrible hack :( */ $GLOBALS['view'] = $view; require conf('prefix') . '/templates/show_artists.inc.php'; } } // show_artists ?>