37 lines
899 B
PHP
37 lines
899 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 type = 1' : 'AND 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;
|
|
}
|
|
}
|
|
} |