Index: openacs-4/packages/lars-blogger/sql/oracle/lars-blogger-blogroll-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/sql/oracle/lars-blogger-blogroll-create.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lars-blogger/sql/oracle/lars-blogger-blogroll-create.sql 8 Mar 2004 16:50:31 -0000 1.1 @@ -0,0 +1,139 @@ +-- +-- lars-blogger-blogroll-create.sql +-- +-- @author Guan Yang (guan@unicast.org) +-- + +-- Simple blogroll feature +begin + acs_object_type.create_type ( + object_type => 'weblogger_blogroll_entry', + pretty_name => 'Blogroll Entry', + pretty_plural => 'Blogroll Entries', + supertype => 'acs_object', + table_name => 'weblogger_blogroll_entries', + id_column => 'link_id', + package_name => 'lars-blogger', + abstract_p => 'f', + type_extension_table => null, + name_method => 'weblogger_blogroll_entry.name' + ); +end; +/ +show errors + +create table weblogger_blogroll_entries ( + link_id integer + constraint weblogr_blogrl_entrs_id_fk + references acs_objects(object_id) + constraint weblogr_blogrl_entrs_id_pk + primary key, + package_id integer + constraint weblogr_blogrl_entrs_pkg_id_fk + references apm_packages(package_id), + name varchar(500) + constraint weblogr_blogrl_entrs_name_nn + not null, + url varchar(1000) + constraint weblogr_blogrl_entrs_url_nn + not null, + sort_order integer default 0 +); + +create or replace package weblogger_blogroll_entry +as + function name ( + link_id in weblogger_blogroll_entries.link_id%TYPE + ) return weblogger_blogroll_entries.link_id%TYPE; + + function new ( + link_id in weblogger_blogroll_entries.link_id%TYPE default null, + package_id in weblogger_blogroll_entries.package_id%TYPE, + name in weblogger_blogroll_entries.name%TYPE, + url in weblogger_blogroll_entries.url%TYPE, + creation_user in acs_objects.creation_user%TYPE, + creation_ip in acs_objects.creation_ip%TYPE + ) return weblogger_blogroll_entries.link_id%TYPE; + + procedure del ( + link_id in weblogger_blogroll_entries.link_id%TYPE + ); + +end weblogger_blogroll_entry; +/ +show errors + +create or replace package body weblogger_blogroll_entry +as + function name ( + link_id in weblogger_blogroll_entries.link_id%TYPE + ) return weblogger_blogroll_entries.link_id%TYPE + is + v_name weblogger_blogroll_entries.name%TYPE; + begin + + select name into v_name + from weblogger_blogroll_entries + where link_id = weblogger_blogroll_entry.name.link_id; + + return v_name; + + exception when no_data_found then + return ''; + + end; + + function new ( + link_id in weblogger_blogroll_entries.link_id%TYPE default null, + package_id in weblogger_blogroll_entries.package_id%TYPE, + name in weblogger_blogroll_entries.name%TYPE, + url in weblogger_blogroll_entries.url%TYPE, + creation_user in acs_objects.creation_user%TYPE, + creation_ip in acs_objects.creation_ip%TYPE + ) return weblogger_blogroll_entries.link_id%TYPE + is + v_link_id weblogger_blogroll_entries.link_id%TYPE; + begin + + v_link_id := acs_object.new( + object_id => weblogger_blogroll_entry.new.link_id, + object_type => 'weblogger_blogroll_entry', + creation_date => sysdate, + creation_user => weblogger_blogroll_entry.new.creation_user, + creation_ip => weblogger_blogroll_entry.new.creation_ip, + context_id => weblogger_blogroll_entry.new.link_id + ); + + insert into weblogger_blogroll_entries ( + link_id, + package_id, + name, + url + ) values ( + v_link_id, + weblogger_blogroll_entry.new.package_id, + weblogger_blogroll_entry.new.name, + weblogger_blogroll_entry.new.url + ); + + return v_link_id; + + end; + + procedure del ( + link_id in weblogger_blogroll_entries.link_id%TYPE + ) + is + begin + delete from weblogger_blogroll_entries + where link_id = weblogger_blogroll_entry.del.link_id; + + acs_object.del ( + object_id => weblogger_blogroll_entry.del.link_id + ); + + end; + +end weblogger_blogroll_entry; +/ +show errors Index: openacs-4/packages/lars-blogger/sql/oracle/lars-blogger-blogroll-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/sql/oracle/lars-blogger-blogroll-drop.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lars-blogger/sql/oracle/lars-blogger-blogroll-drop.sql 8 Mar 2004 16:50:31 -0000 1.1 @@ -0,0 +1,11 @@ +-- +-- lars-blogger-categories-drop.sql +-- +-- @author Guan Yang (guan@unicast.org) +-- + +drop function weblogger_blogroll_entry__delete(integer); +drop function weblogger_blogroll_entry__new(integer, integer, varchar, varchar, integer, varchar); +drop function weblogger_blogroll_entry__name(integer); +drop table weblogger_blogroll_entries; +select acs_object_type__drop_type('weblogger_blogroll_entry', true); \ No newline at end of file Index: openacs-4/packages/lars-blogger/www/admin/blogroll-ae-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/admin/blogroll-ae-oracle.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lars-blogger/www/admin/blogroll-ae-oracle.xql 8 Mar 2004 16:50:38 -0000 1.1 @@ -0,0 +1,42 @@ +<?xml version="1.0"?> + +<queryset> + <fullquery name="link_select"> + <querytext> + select + name, + url + from + weblogger_blogroll_entries + where + package_id = :package_id + and link_id = :link_id + </querytext> + </fullquery> + + <fullquery name="link_add"> + <querytext> + begin + :1 := weblogger_blogroll_entry.new ( + NULL, + :package_id, + :name, + :url, + :user_id, + :ip + ); + end; + </querytext> + </fullquery> + + <fullquery name="link_edit"> + <querytext> + update weblogger_blogroll_entries + set name = :name, + url = :url + where + link_id = :link_id + and package_id = :package_id + </querytext> + </fullquery> +</queryset> Index: openacs-4/packages/lars-blogger/www/admin/blogroll-delete-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/admin/blogroll-delete-oracle.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lars-blogger/www/admin/blogroll-delete-oracle.xql 8 Mar 2004 16:50:38 -0000 1.1 @@ -0,0 +1,11 @@ +<?xml version="1.0"?> + +<queryset> + <fullquery name="link_delete"> + <querytext> + begin + weblogger_blogroll_entry.del(:link_id); + end; + </querytext> + </fullquery> +</queryset>