Index: openacs-4/packages/categories/categories.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/categories.info,v diff -u -r1.9 -r1.10 --- openacs-4/packages/categories/categories.info 23 Aug 2005 15:49:42 -0000 1.9 +++ openacs-4/packages/categories/categories.info 31 Jul 2006 20:31:10 -0000 1.10 @@ -8,13 +8,15 @@ f categories - - timo@timohentschel.de + + timo@timohentschel.de Manage categories in category trees and let users map objects to categories. - 2003-04-16 - Datamodel for category trees with supporting API and management pages. Provides a widget for + 2006-02-12 + Datamodel for category trees with supporting API and management pages. Provides a widget for general categorization of arbitrary objects and tracks which package instances use which category trees. Also supports localization. - + 0 + + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/categories/catalog/categories.de_DE.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/categories/catalog/categories.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/catalog/categories.en_US.ISO-8859-1.xml,v diff -u -r1.3 -r1.4 --- openacs-4/packages/categories/catalog/categories.en_US.ISO-8859-1.xml 16 Sep 2005 12:14:06 -0000 1.3 +++ openacs-4/packages/categories/catalog/categories.en_US.ISO-8859-1.xml 31 Jul 2006 20:31:10 -0000 1.4 @@ -1,5 +1,5 @@ - + Category Management Export code to recreate category trees Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/categories/catalog/categories.es_ES.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/categories/catalog/categories.nl_NL.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/categories/catalog/categories.pl_PL.utf-8.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/categories/catalog/categories.pt_BR.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/categories/sql/postgresql/categories-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/postgresql/categories-create.sql,v diff -u -r1.7 -r1.8 --- openacs-4/packages/categories/sql/postgresql/categories-create.sql 23 Aug 2005 15:49:47 -0000 1.7 +++ openacs-4/packages/categories/sql/postgresql/categories-create.sql 31 Jul 2006 20:31:11 -0000 1.8 @@ -452,3 +452,5 @@ \i categories-permissions.sql \i categories-init.sql + +\i categories-relation.sql Index: openacs-4/packages/categories/sql/postgresql/categories-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/postgresql/categories-drop.sql,v diff -u -r1.5 -r1.6 --- openacs-4/packages/categories/sql/postgresql/categories-drop.sql 11 Feb 2004 13:25:27 -0000 1.5 +++ openacs-4/packages/categories/sql/postgresql/categories-drop.sql 31 Jul 2006 20:31:11 -0000 1.6 @@ -109,3 +109,12 @@ -- this should be being handled at the tcl callback level but isn't? select acs_sc_impl__delete('AcsObject','category_idhandler'); select acs_sc_impl__delete('AcsObject','category_tree_idhandler'); + + +-- from categories-relation +select acs_rel_type__drop_type('meta_category_rel','t'); +select acs_rel_type__drop_type('user_meta_category_rel','t'); +select acs_rel_type__drop_role('meta-category'); +select acs_rel_type__drop_role('category'); + + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/categories/sql/postgresql/categories-relation.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/categories/sql/postgresql/category-tree-package.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/postgresql/category-tree-package.sql,v diff -u -r1.8 -r1.9 --- openacs-4/packages/categories/sql/postgresql/category-tree-package.sql 6 Feb 2005 18:42:19 -0000 1.8 +++ openacs-4/packages/categories/sql/postgresql/category-tree-package.sql 31 Jul 2006 20:31:11 -0000 1.9 @@ -213,7 +213,7 @@ end loop; -- correct parent_ids - update categories c + update categories set parent_id = (select t.category_id from categories s, categories t where s.category_id = c.parent_id Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/categories/sql/postgresql/upgrade/upgrade-1.1d3-1.1d4.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/categories/tcl/categories-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/categories-procs-oracle.xql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/categories/tcl/categories-procs-oracle.xql 27 Apr 2003 11:36:23 -0000 1.2 +++ openacs-4/packages/categories/tcl/categories-procs-oracle.xql 31 Jul 2006 20:31:11 -0000 1.3 @@ -131,5 +131,16 @@ + + + + insert into category_object_map (category_id, object_id) + select :category_id, :object_id from dual + where not exists (select 1 + from category_object_map + where category_id = :category_id + and object_id = :object_id) + + Index: openacs-4/packages/categories/tcl/categories-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/categories-procs.tcl,v diff -u -r1.21 -r1.22 --- openacs-4/packages/categories/tcl/categories-procs.tcl 16 Feb 2005 02:43:15 -0000 1.21 +++ openacs-4/packages/categories/tcl/categories-procs.tcl 31 Jul 2006 20:31:11 -0000 1.22 @@ -291,10 +291,32 @@ # exact match: found name for this locale return $name } + + # try default locale for this language + set language [lindex [split $locale "_"] 0] + set locale [lang::util::default_locale_from_lang $language] + if { ![catch { set name $cat_lang($locale) }] } { + # exact match: found name for this default language locale + return $name + } + + # Trying system locale for package (or site-wide) + set locale [lang::system::locale] + if { ![catch { set name $cat_lang($locale) }] } { + return $name + } + + # Trying site-wide system locale + set locale [lang::system::locale -site_wide] + if { ![catch { set name $cat_lang($locale) }] } { + return $name + } + + # Resort to en_US if { ![catch { set name $cat_lang([ad_parameter DefaultLocale acs-lang "en_US"]) }] } { - # default locale found return $name } + # tried default locale, but nothing found return {} } Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/categories/tcl/category-relation-procs-postgresql.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/categories/tcl/category-relation-procs.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/categories/tcl/category-relation-procs.xql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/categories/tcl/category-trees-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/category-trees-procs.tcl,v diff -u -r1.17 -r1.18 --- openacs-4/packages/categories/tcl/category-trees-procs.tcl 27 Jun 2006 07:34:04 -0000 1.17 +++ openacs-4/packages/categories/tcl/category-trees-procs.tcl 31 Jul 2006 20:31:11 -0000 1.18 @@ -486,6 +486,9 @@ ad_proc -public category_tree::get_multirow { {-tree_id {}} + {-subtree_id {}} + {-assign_single_p f} + {-require_category_p f} {-container_id {}} {-category_counts {}} -append:boolean @@ -547,7 +550,6 @@ } else { template::multirow create $datasource tree_id tree_name category_id category_name level pad deprecated_p count child_sum } - foreach mapped_tree $mapped_trees { foreach {tree_id tree_name subtree_id assign_single_p require_category_p} $mapped_tree { break } foreach category [category_tree::get_tree -subtree_id $subtree_id $tree_id] { @@ -665,3 +667,4 @@ return $tree_id } + Index: openacs-4/packages/categories/tcl/category-trees-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/Attic/category-trees-procs.xql,v diff -u -r1.7 -r1.8 --- openacs-4/packages/categories/tcl/category-trees-procs.xql 16 Jun 2005 09:48:54 -0000 1.7 +++ openacs-4/packages/categories/tcl/category-trees-procs.xql 31 Jul 2006 20:31:11 -0000 1.8 @@ -24,6 +24,17 @@ + + + + select tree_id + from category_tree_translations + where name = :name + and locale = :locale + + + + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/categories/tcl/tagcloud-procs.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/categories/tcl/widget-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/widget-procs.tcl,v diff -u -r1.18 -r1.19 --- openacs-4/packages/categories/tcl/widget-procs.tcl 8 Nov 2005 15:48:10 -0000 1.18 +++ openacs-4/packages/categories/tcl/widget-procs.tcl 31 Jul 2006 20:31:11 -0000 1.19 @@ -93,16 +93,16 @@ if { [empty_string_p $tree_id] } { set mapped_trees [category_tree::get_mapped_trees $package_id] } else { - set mapped_trees {} - foreach one_tree $tree_id one_subtree $subtree_id assign_single $assign_single_p require_category $require_category_p { - if {[empty_string_p $assign_single]} { - set assign_single f - } - if {[empty_string_p $require_category]} { - set require_category f - } - lappend mapped_trees [list $one_tree [category_tree::get_name $one_tree] $one_subtree $assign_single $require_category] - } + set mapped_trees {} + foreach one_tree $tree_id one_subtree $subtree_id assign_single $assign_single_p require_category $require_category_p { + if {[empty_string_p $assign_single]} { + set assign_single f + } + if {[empty_string_p $require_category]} { + set require_category f + } + lappend mapped_trees [list $one_tree [category_tree::get_name $one_tree] $one_subtree $assign_single $require_category] + } } foreach mapped_tree $mapped_trees { @@ -144,7 +144,7 @@ } } - return $output + return [lang::util::localize $output] } ad_proc -public template::data::validate::category { value_ref message_ref } {