-- Fix content_item__get_virtual_path so that -- get_virtual_path__root_folder_id is not ignored select define_function_args('content_item__get_virtual_path','item_id,root_folder_id;null'); CREATE OR REPLACE FUNCTION content_item__get_virtual_path( get_virtual_path__item_id integer, get_virtual_path__root_folder_id integer ) RETURNS varchar AS $$ DECLARE v_path varchar; v_item_id cr_items.item_id%TYPE; v_is_folder boolean; v_index cr_items.item_id%TYPE; BEGIN -- first resolve the item v_item_id := content_symlink__resolve(get_virtual_path__item_id); v_is_folder := content_folder__is_folder(v_item_id); v_index := content_folder__get_index_page(v_item_id); -- if the folder has an index page if v_is_folder = 't' and v_index is not null then v_path := content_item__get_path(content_symlink__resolve(v_index), get_virtual_path__root_folder_id); else v_path := content_item__get_path(v_item_id, get_virtual_path__root_folder_id); end if; return v_path; END; $$ LANGUAGE plpgsql;