37 lines
		
	
	
		
			915 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			915 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
class Musicbrainz_ReleaseModel extends Model {
 | 
						|
	
 | 
						|
	public function getReleases($release_groups, $group_by_release = false, $only_official = false) {
 | 
						|
		if (!is_array($release_groups)) {
 | 
						|
			$release_groups = array($release_groups);
 | 
						|
		}
 | 
						|
		
 | 
						|
		$releases = $this->db->getRows(
 | 
						|
			$this->db->q('
 | 
						|
				SELECT *
 | 
						|
				FROM musicbrainz.bh_release
 | 
						|
				WHERE
 | 
						|
					release_group IN (\''. implode('\',\'', $release_groups) .'\')
 | 
						|
					'. ($only_official ? 'AND release_type = 1' : 'AND release_type IS NOT NULL') .'
 | 
						|
				ORDER BY
 | 
						|
					date ASC,
 | 
						|
					id ASC
 | 
						|
			'),
 | 
						|
			'id'
 | 
						|
		);
 | 
						|
		
 | 
						|
		if ($group_by_release) {
 | 
						|
			$g_releases = array();
 | 
						|
			foreach ($releases as $release) {
 | 
						|
				if (!isset($g_releases[$release['release_group']])) {
 | 
						|
					$g_releases[$release['release_group']] = array();
 | 
						|
				}
 | 
						|
				$g_releases[$release['release_group']][$release['id']] = $release;
 | 
						|
			}
 | 
						|
			return $g_releases;
 | 
						|
		} else {
 | 
						|
			return $releases;
 | 
						|
		}
 | 
						|
	}
 | 
						|
} |