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;
|
||
|
}
|
||
|
}
|
||
|
}
|