postgresql7.1
select dotlrn_communities_all.*,
dotlrn_community__url(dotlrn_communities_all.community_id) as url,
(CASE
WHEN
dotlrn_communities_all.community_type = 'dotlrn_community'
THEN 'dotlrn_community'
WHEN dotlrn_communities_all.community_type = 'dotlrn_club'
THEN 'dotlrn_club'
WHEN dotlrn_communities_all.community_type = 'dotlrn_pers_community'
THEN 'dotlrn_pers_community'
ELSE 'dotlrn_class_instance'
END) as simple_community_type,
tree_level(dotlrn_communities_all.tree_sortkey) as tree_level,
coalesce((select tree_level(dotlrn_community_types.tree_sortkey)
from dotlrn_community_types
where dotlrn_community_types.community_type = dotlrn_communities_all.community_type), 0) as community_type_level,
acs_permission__permission_p(dotlrn_communities_all.community_id, :user_id, 'admin') as admin_p
from dotlrn_communities_all,
dotlrn_member_rels_approved
where dotlrn_communities_all.community_id = dotlrn_member_rels_approved.community_id
and dotlrn_member_rels_approved.user_id = :user_id
$archived_clause
$community_type_clause
order by dotlrn_communities_all.tree_sortkey