function get_group_albums($group_id, $offset, $per_page, $order_by = 'media_id desc')
{
global $wpdb;
if (is_multisite()) {
$order_by = 'blog_id' . ($order_by ? ',' . $order_by : '');
}
if (is_multisite()) {
$sub_sql = $wpdb->prepare("SELECT DISTINCT (album_id) FROM {$this->table_name} WHERE context_id = %d AND album_id IS NOT NULL AND media_type != 'album' AND context = 'group' AND blog_id = %d", $group_id, get_current_blog_id());
} else {
$sub_sql = $wpdb->prepare("SELECT DISTINCT (album_id) FROM {$this->table_name} WHERE context_id = %d AND album_id IS NOT NULL AND media_type != 'album' AND context = 'group'", $group_id);
}
$sql = $wpdb->prepare("SELECT * FROM {$this->table_name} WHERE id IN( {$sub_sql} ) OR (media_type = 'album' AND context_id = %d AND context = 'group')", $group_id);
if (is_multisite()) {
$sql .= $wpdb->prepare(" AND {$this->table_name}.blog_id = %d ", get_current_blog_id());
}
$order_by = esc_sql($order_by);
$sql .= " ORDER BY {$this->table_name}.{$order_by}";
if (false !== $offset) {
if (!is_integer($offset)) {
$offset = 0;
}
if (intval($offset) < 0) {
$offset = 0;
}
if (!is_integer($per_page)) {
$per_page = 1;
}
if (intval($per_page) < 1) {
$per_page = 1;
}
$sql .= ' LIMIT ' . $offset . ',' . $per_page;
}
$results = $wpdb->get_results($sql);
return $results;
}