Index: openacs-4/packages/lars-blogger/sql/postgresql/lars-blogger-categories-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/sql/postgresql/lars-blogger-categories-create.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/lars-blogger/sql/postgresql/lars-blogger-categories-create.sql 29 Sep 2003 08:05:42 -0000 1.1
@@ -0,0 +1,106 @@
+--
+-- lars-blogger-categories-create.sql
+--
+-- @author Steffen Tiedemann Christensen
+--
+-- @cvs-id $Id: lars-blogger-categories-create.sql,v 1.1 2003/09/29 08:05:42 steffenc Exp $
+--
+
+
+select acs_object_type__create_type (
+ 'pinds_blog_category', -- object_type
+ 'Blog Category', -- pretty_name
+ 'Blog Categories', -- pretty_plural
+ 'acs_object', -- supertype
+ 'pinds_blog_categories', -- table_name
+ 'category_id', -- id_column
+ null, -- package_name
+ 'f', -- abstract_p
+ null, -- type_extension_table
+ 'pinds_blog_category__name' -- name_method
+);
+
+create table pinds_blog_categories (
+ category_id integer
+ constraint pinds_blog_category_id_fk
+ references acs_objects(object_id)
+ constraint pinds_blog_categories_pk
+ primary key,
+ package_id integer
+ constraint pinds_blog_entry_package_id_kf
+ references apm_packages(package_id),
+ name varchar(500) not null,
+ short_name varchar(50) not null
+);
+
+create or replace function pinds_blog_category__name (integer)
+returns varchar as '
+declare
+ p_category_id alias for $1;
+ v_name varchar;
+begin
+ select title into v_name
+ from pinds_blog_categories
+ where category_id = p_category_id;
+ return v_name;
+end;
+' language 'plpgsql';
+
+create or replace function pinds_blog_category__new (
+ integer, -- category_id
+ integer, -- package_id
+ varchar, -- name
+ varchar, -- short_name
+ integer, -- creation_user
+ varchar -- creation_ip
+) returns integer as '
+declare
+ p_category_id alias for $1;
+ p_package_id alias for $2;
+ p_name alias for $3;
+ p_short_name alias for $4;
+ p_creation_user alias for $5;
+ p_creation_ip alias for $6;
+ v_category_id integer;
+begin
+ v_category_id := acs_object__new (
+ p_category_id,
+ ''pinds_blog_category'',
+ current_timestamp,
+ p_creation_user,
+ p_creation_ip,
+ p_package_id
+ );
+
+ insert into pinds_blog_categories (
+ category_id,
+ package_id,
+ name,
+ short_name
+ ) values (
+ v_category_id,
+ p_package_id,
+ p_name,
+ p_short_name
+ );
+
+ return v_category_id;
+end;
+' language 'plpgsql';
+
+create or replace function pinds_blog_category__delete (integer)
+returns integer as '
+declare
+ p_category_id alias for $1;
+begin
+ update pinds_blog_entries
+ set category_id = 0
+ where category_id = p_category_id;
+
+ delete from pinds_blog_categories
+ where category_id = p_category_id;
+
+ PERFORM acs_object__delete(p_category_id);
+ return 0;
+end;
+' language 'plpgsql';
Index: openacs-4/packages/lars-blogger/sql/postgresql/lars-blogger-categories-drop.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/sql/postgresql/lars-blogger-categories-drop.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/lars-blogger/sql/postgresql/lars-blogger-categories-drop.sql 29 Sep 2003 08:05:42 -0000 1.1
@@ -0,0 +1,12 @@
+--
+-- lars-blogger-categories-drop.sql
+--
+-- @author Steffen Tiedemann Christensen
+--
+
+--STC
+drop function pinds_blog_category__new (integer, integer, varchar, varchar, integer, varchar);
+drop function pinds_blog_category__name (integer);
+drop function pinds_blog_category__delete (integer);
+drop table pinds_blog_categories;
+select acs_object_type__drop_type ('pinds_blog_category', true);
Index: openacs-4/packages/lars-blogger/sql/postgresql/lars-blogger-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/sql/postgresql/lars-blogger-create.sql,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/lars-blogger/sql/postgresql/lars-blogger-create.sql 28 Aug 2003 09:41:55 -0000 1.6
+++ openacs-4/packages/lars-blogger/sql/postgresql/lars-blogger-create.sql 29 Sep 2003 08:05:42 -0000 1.7
@@ -6,6 +6,8 @@
-- @cvs-id $Id$
--
+\i lars-blogger-categories-create.sql
+
select acs_object_type__create_type (
'pinds_blog_entry', -- object_type
'Blog Entry', -- pretty_name
@@ -30,6 +32,7 @@
references apm_packages(package_id),
title varchar(500),
title_url varchar(500),
+ category_id integer not null default 0,
content varchar(32000),
content_format varchar(50)
default 'text/html'
@@ -66,6 +69,7 @@
integer, -- package_id
varchar, -- title
varchar, -- title_url
+ integer, -- category_id
varchar, -- content
varchar, -- content_format
timestamptz, -- entry_date
@@ -78,12 +82,13 @@
p_package_id alias for $2;
p_title alias for $3;
p_title_url alias for $4;
- p_content alias for $5;
- p_content_format alias for $6;
- p_entry_date alias for $7;
- p_draft_p alias for $8;
- p_creation_user alias for $9;
- p_creation_ip alias for $10;
+ p_category_id alias for $5;
+ p_content alias for $6;
+ p_content_format alias for $7;
+ p_entry_date alias for $8;
+ p_draft_p alias for $9;
+ p_creation_user alias for $10;
+ p_creation_ip alias for $11;
v_entry_id integer;
begin
v_entry_id := acs_object__new (
@@ -100,6 +105,7 @@
package_id,
title,
title_url,
+ category_id,
content,
content_format,
entry_date,
@@ -111,6 +117,7 @@
p_package_id,
p_title,
p_title_url,
+ p_category_id,
p_content,
p_content_format,
p_entry_date,
Index: openacs-4/packages/lars-blogger/sql/postgresql/lars-blogger-drop.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/sql/postgresql/lars-blogger-drop.sql,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/lars-blogger/sql/postgresql/lars-blogger-drop.sql 28 Aug 2003 09:41:55 -0000 1.4
+++ openacs-4/packages/lars-blogger/sql/postgresql/lars-blogger-drop.sql 29 Sep 2003 08:05:42 -0000 1.5
@@ -64,3 +64,5 @@
drop table pinds_blog_entries;
select acs_object_type__drop_type ('pinds_blog_entry', true);
+
+\i lars-blogger-categories-drop.sql
Index: openacs-4/packages/lars-blogger/sql/postgresql/upgrade/upgrade-0.9.3-1.0d1.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/sql/postgresql/upgrade/upgrade-0.9.3-1.0d1.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/lars-blogger/sql/postgresql/upgrade/upgrade-0.9.3-1.0d1.sql 29 Sep 2003 08:05:42 -0000 1.1
@@ -0,0 +1,85 @@
+\i ../lars-blogger-categories-create.sql
+
+alter table pinds_blog_entries add column category_id integer;
+--alter table pinds_blog_entries alter column category_id set not null;
+alter table pinds_blog_entries alter column category_id set default 0;
+
+update pinds_blog_entries set category_id = 0;
+
+
+drop function pinds_blog_entry__new (
+ integer, integer, varchar, varchar, varchar, varchar, timestamptz, char, integer, varchar
+);
+
+
+create or replace function pinds_blog_entry__new (
+ integer, -- entry_id
+ integer, -- package_id
+ varchar, -- title
+ varchar, -- title_url
+ integer, -- category_id
+ varchar, -- content
+ varchar, -- content_format
+ timestamptz, -- entry_date
+ char, -- draft_p
+ integer, -- creation_user
+ varchar -- creation_ip
+) returns integer as '
+declare
+ p_entry_id alias for $1;
+ p_package_id alias for $2;
+ p_title alias for $3;
+ p_title_url alias for $4;
+ p_category_id alias for $5;
+ p_content alias for $6;
+ p_content_format alias for $7;
+ p_entry_date alias for $8;
+ p_draft_p alias for $9;
+ p_creation_user alias for $10;
+ p_creation_ip alias for $11;
+ v_entry_id integer;
+begin
+ v_entry_id := acs_object__new (
+ p_entry_id,
+ ''pinds_blog_entry'',
+ current_timestamp,
+ p_creation_user,
+ p_creation_ip,
+ p_package_id
+ );
+
+ insert into pinds_blog_entries (
+ entry_id,
+ package_id,
+ title,
+ title_url,
+ category_id,
+ content,
+ content_format,
+ entry_date,
+ posted_date,
+ draft_p,
+ deleted_p
+ ) values (
+ v_entry_id,
+ p_package_id,
+ p_title,
+ p_title_url,
+ p_category_id,
+ p_content,
+ p_content_format,
+ p_entry_date,
+ current_timestamp,
+ p_draft_p,
+ ''f''
+ );
+
+ PERFORM acs_permission__grant_permission(
+ v_entry_id,
+ p_creation_user,
+ ''admin''
+ );
+
+ return v_entry_id;
+end;
+' language 'plpgsql';
Index: openacs-4/packages/lars-blogger/tcl/entry-procs-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/tcl/entry-procs-postgresql.xql,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/lars-blogger/tcl/entry-procs-postgresql.xql 28 Aug 2003 09:41:55 -0000 1.2
+++ openacs-4/packages/lars-blogger/tcl/entry-procs-postgresql.xql 29 Sep 2003 08:05:42 -0000 1.3
@@ -8,6 +8,7 @@
select b.entry_id,
b.title,
b.title_url,
+ b.category_id,
b.content,
b.content_format,
b.draft_p,
Index: openacs-4/packages/lars-blogger/tcl/entry-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/tcl/entry-procs.tcl,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/lars-blogger/tcl/entry-procs.tcl 25 Sep 2003 12:30:09 -0000 1.5
+++ openacs-4/packages/lars-blogger/tcl/entry-procs.tcl 29 Sep 2003 08:05:42 -0000 1.6
@@ -12,6 +12,14 @@
upvar $array row
db_1row select_entry {} -column_array row
+
+ # If there's a category set up for the entry, we need to fill the array with the proper information.
+ if { $row(category_id) > 0 } {
+ set category_id $row(category_id)
+ db_1row select_category { *SQL* }
+ set row(category_name) $category_name
+ set row(category_short_name) $category_short_name
+ }
}
ad_proc -public lars_blogger::entry::require_write_permission {
Fisheye: Tag 1.2 refers to a dead (removed) revision in file `openacs-4/packages/lars-blogger/tcl/entry-procs.xql'.
Fisheye: No comparison available. Pass `N' to diff?
Index: openacs-4/packages/lars-blogger/tcl/lars-blogger-procs-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/tcl/lars-blogger-procs-postgresql.xql,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/lars-blogger/tcl/lars-blogger-procs-postgresql.xql 28 Aug 2003 09:41:55 -0000 1.4
+++ openacs-4/packages/lars-blogger/tcl/lars-blogger-procs-postgresql.xql 29 Sep 2003 08:05:42 -0000 1.5
@@ -10,6 +10,7 @@
:package_id,
:title,
:title_url,
+ :category_id,
:content,
:content_format,
to_date(:entry_date, 'YYYY-MM-DD'),
Index: openacs-4/packages/lars-blogger/tcl/lars-blogger-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/tcl/lars-blogger-procs.tcl,v
diff -u -r1.9 -r1.10
--- openacs-4/packages/lars-blogger/tcl/lars-blogger-procs.tcl 28 Aug 2003 09:41:55 -0000 1.9
+++ openacs-4/packages/lars-blogger/tcl/lars-blogger-procs.tcl 29 Sep 2003 08:05:42 -0000 1.10
@@ -10,6 +10,7 @@
{-package_id:required}
{-title:required}
{-title_url ""}
+ {-category_id "0"}
{-content:required}
{-content_format:required}
{-entry_date:required}
@@ -173,3 +174,12 @@
}
return [ad_parameter -package_id $package_id "HeaderBackgroundColor" "lars-blogger" "#dcdcdc"]
}
+
+ad_proc -public lars_blog_categories_p {
+ -package_id
+} {
+ if { ![exists_and_not_null package_id] } {
+ set package_id [ad_conn package_id]
+ }
+ return [ad_parameter -package_id $package_id "EnableCategoriesP" "lars-blogger" "1"]
+}
Index: openacs-4/packages/lars-blogger/www/blog-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/blog-postgresql.xql,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/lars-blogger/www/blog-postgresql.xql 28 Aug 2003 09:41:55 -0000 1.6
+++ openacs-4/packages/lars-blogger/www/blog-postgresql.xql 29 Sep 2003 08:05:42 -0000 1.7
@@ -23,6 +23,7 @@
to_char(entry_date, 'YYYY-MM-DD') as entry_date,
title,
title_url,
+ category_id,
content,
content_format,
draft_p,
@@ -53,6 +54,7 @@
to_char(entry_date, 'YYYY/MM/DD/') as entry_archive_url,
to_char(entry_date, 'YYYY-MM-DD') as entry_date,
title,
+ category_id,
content,
content_format,
draft_p,
Index: openacs-4/packages/lars-blogger/www/blog.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/blog.tcl,v
diff -u -r1.11 -r1.12
--- openacs-4/packages/lars-blogger/www/blog.tcl 22 Sep 2003 16:26:11 -0000 1.11
+++ openacs-4/packages/lars-blogger/www/blog.tcl 29 Sep 2003 08:05:42 -0000 1.12
@@ -20,6 +20,12 @@
set write_p [permission::permission_p -object_id $package_id -privilege write]
+if { ![info exists category_id] } {
+ set blog_category_id {}
+} else {
+ set blog_category_id $category_id
+}
+
if { ![info exists screen_name] } {
set screen_name ""
set blog_user_id {}
@@ -107,11 +113,27 @@
}
}
+set arr_category_name(0) None
+set arr_category_short_name(0) none
+db_foreach categories { *SQL* } {
+ set arr_category_name($category_id) $name
+ set arr_category_short_name($category_id) $short_name
+}
+
+
if { [empty_string_p $blog_user_id] } {
- db_multirow blog all_blogs { *SQL* }
+ db_multirow -extend {category_name category_short_name} blog all_blogs { *SQL* } {
+ if { [string length $blog_category_id] && $category_id != $blog_category_id } {continue}
+ set category_name "$arr_category_name($category_id)"
+ set category_short_name $arr_category_short_name($category_id)
+ }
set archive_url "${package_url}archive/"
} else {
- db_multirow blog blog { *SQL* }
+ db_multirow -extend {category_name category_short_name} blog blog { *SQL* } {
+ if { [string length $blog_category_id] && $category_id != $blog_category_id } {continue}
+ set category_name "$arr_category_name($category_id)"
+ set category_short_name $arr_category_short_name($category_id)
+ }
set archive_url "${package_url}user/$screen_name/archive/"
}
Index: openacs-4/packages/lars-blogger/www/blog.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/blog.xql,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/lars-blogger/www/blog.xql 28 Sep 2003 23:32:07 -0000 1.3
+++ openacs-4/packages/lars-blogger/www/blog.xql 29 Sep 2003 08:05:42 -0000 1.4
@@ -25,4 +25,12 @@
and deleted_p = 'f'
+
+
-@prev_month_name@ -
-@next_month_name@
-
Index: openacs-4/packages/lars-blogger/www/calendar.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/calendar.tcl,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/lars-blogger/www/calendar.tcl 28 Aug 2003 09:41:55 -0000 1.4
+++ openacs-4/packages/lars-blogger/www/calendar.tcl 29 Sep 2003 08:05:42 -0000 1.5
@@ -44,17 +44,3 @@
-calendar_details $calendar_details \
-day_number_template $day_number_template]
-if {[empty_string_p $screen_name]} {
-
- set prev_month_url "${package_url}archive/[clock format [clock scan $prev_month] -format %Y/%m]/"
- set next_month_url "${package_url}archive/[clock format [clock scan $next_month] -format %Y/%m]/"
-
-} else {
-
- set prev_month_url "${package_url}user/$screen_name/archive/[clock format [clock scan $prev_month] -format %Y/%m]/"
- set next_month_url "${package_url}user/$screen_name/archive/[clock format [clock scan $next_month] -format %Y/%m]/"
-
-}
-# Add year to the link
-append next_month_name " [string range $next_month 0 3]"
-append prev_month_name " [string range $prev_month 0 3]"
Index: openacs-4/packages/lars-blogger/www/category-delete.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/category-delete.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/lars-blogger/www/category-delete.tcl 29 Sep 2003 08:05:42 -0000 1.1
@@ -0,0 +1,12 @@
+ad_page_contract {} {
+ category_id:integer
+ {return_url ""}
+}
+
+permission::require_permission -object_id [ad_conn package_id] -privilege write
+
+db_exec_plsql delete { *SQL* }
+
+
+ad_returnredirect $return_url
+
Index: openacs-4/packages/lars-blogger/www/category-delete.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/category-delete.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/lars-blogger/www/category-delete.xql 29 Sep 2003 08:05:42 -0000 1.1
@@ -0,0 +1,12 @@
+
+
+
- |
|