presentation-public.tcl

This page makes a presentation public or private

Location:
/packages/wp-slim/www/presentation-public.tcl
Author:
Haolan Qin <hqin@arsdigita.com>
Created:
01/21/2001
CVS ID:
$Id: presentation-public.tcl,v 1.5 2015/06/27 20:34:42 gustafn Exp $

Related Files

[ hide source ] | [ make this the default ]

File Contents

# /packages/wp/www/presentation-public.tcl

ad_page_contract {

    This page makes a presentation public or private

    @author Haolan Qin (hqin@arsdigita.com)
    @creation-date 01/21/2001
    @cvs-id $Id: presentation-public.tcl,v 1.5 2015/06/27 20:34:42 gustafn Exp $
} {
    pres_item_id:naturalnum,notnull
    public_p:boolean,notnull
}

permission::require_permission -object_id $pres_item_id -privilege wp_admin_presentation

if {[regexp {t} $public_p]} {
    db_exec_plsql grant_public_read {
        begin
          acs_permission.grant_permission(:pres_item_id,acs.magic_object_id('the_public'),'wp_view_presentation');
        end;
    }
} else {
    db_exec_plsql grant_public_read {
        begin
          acs_permission.revoke_permission(:pres_item_id,acs.magic_object_id('the_public'),'wp_view_presentation');
        end;
    }
}

db_dml public_p_change {
    update cr_wp_presentations
    set public_p = :public_p
    where presentation_id = (select live_revision
                             from cr_items
                             where item_id = :pres_item_id)
}

ad_returnredirect [export_vars -base presentation-acl {pres_item_id}]