--
-- content_folder__get_index_page/1
--
create or replace function content_folder__get_index_page(
integer
) returns int4 as $$
declare
get_index_page__folder_id alias for $1;
v_folder_id cr_folders.folder_id%TYPE;
v_index_page_id cr_items.item_id%TYPE;
begin
-- if the folder is a symlink, resolve it
if content_symlink__is_symlink(get_index_page__folder_id) = 't' then
v_folder_id := content_symlink__resolve(get_index_page__folder_id);
else
v_folder_id := get_index_page__folder_id;
end if;
select
item_id into v_index_page_id
from
cr_items
where
parent_id = v_folder_id
and
name = 'index'
and
content_item__is_subclass(
content_item__get_content_type(content_symlink__resolve(item_id)),
'content_folder') = 'f'
and
content_item__is_subclass(
content_item__get_content_type(content_symlink__resolve(item_id)),
'content_template') = 'f';
if NOT FOUND then
return null;
end if;
return v_index_page_id;
end;$$ language plpgsql;