create or replace package body odwapref is /***************************************************************************************** Purpose Package to retrieve and maintain the values of ODWA_PREFERENCES Usage For the moment (no maintenance screen yet) not called from Browser Remarks Requires table ODWA_PREFERENCES Revision history When Who Construct Revision What ------------------------------------------------------------------------------------------ $REVISION_HISTORY$ 29-oct-2002 Kannan Parthasarathy - Added new preference for charset - Fixed security vulnerability in save_prefs. 15-oct-2002 Kannan Parthasarathy - New page for Preferences management - Procedure save_prefs added to save prefs changed through browser. 29-jan-2001 Lucas Jellema 1.0 *****************************************************************************************/ -- -- private constants -- REVISION_LABEL constant varchar2(30) := '$LABEL::1.0 $'; PACKAGE_NAME constant varchar2(30) := 'ODWAPREF'; cursor c_prf ( b_name in varchar2) is select prf.preference_value from odwa_preferences prf where prf.preference_name = b_name ; r_prf c_prf%rowtype; function get_value ( p_preference_name in varchar2 ) return varchar2 is begin open c_prf( b_name => p_preference_name); fetch c_prf into r_prf; close c_prf; return r_prf.preference_value; end; -- get_value procedure set_value ( p_preference_name in varchar2 , p_preference_value in varchar2 ) is begin null; end; -- set_value procedure pref_home (p_mesg in varchar2 default null) is begin odwactxt.update_context ( p_session_id => null , p_package_name => PACKAGE_NAME , p_procedure_name=> 'pref_home' ); htp.htmlopen; htp.headopen; cdwp.write_about ( p_package_name => PACKAGE_NAME , p_revision_label => REVISION_LABEL ); htp.title(Rob_msg.GetMsg(Rob_msg.DSP170_ROB,'','','','') || '- ' || Rob_msg.GetMsg(Rob_msg.CAP310_ODWAPREF_TITLE,'','','','')); cdwp.include_report_styles; htp.headclose; htp.bodyopen; cdwp.tool_header('preferences'); cdwp.p('
'); if p_mesg is not null then cdwp.p('
' || p_mesg, p_style => 'rood'); end if; cdwp.p('
'); htp.bodyclose; htp.htmlclose; end; procedure save_prefs (p_image_path in varchar2 , p_servlets_enabled in varchar2 default 'N' , p_servlet_urlbase in varchar2 , p_global_search_users in varchar2 default null , p_use_cdm in varchar2 default 'N' , p_charset in varchar2 default null ) is begin if(user = jr_sys_privs.get_repos_owner()) then update odwa_preferences set preference_value = p_image_path where preference_name = 'image_path'; update odwa_preferences set preference_value = p_servlets_enabled where preference_name = 'servlets_enabled'; update odwa_preferences set preference_value = p_servlet_urlbase where preference_name = 'servlet_urlbase'; update odwa_preferences set preference_value = p_global_search_users where preference_name = 'global_search_users'; update odwa_preferences set preference_value = p_use_cdm where preference_name = 'use_cdm'; update odwa_preferences set preference_value = p_charset where preference_name = 'charset'; commit; pref_home(Rob_msg.GetMsg(Rob_msg.DSP336_ODWAPREF_SUCC,'','','','')); end if; end; end; -- odwapref /