Index: openacs-4/packages/acs-content-repository/tcl/keyword-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/Attic/keyword-procs-oracle.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/acs-content-repository/tcl/keyword-procs-oracle.xql 28 Aug 2003 09:41:38 -0000 1.3 +++ openacs-4/packages/acs-content-repository/tcl/keyword-procs-oracle.xql 22 Sep 2003 14:36:13 -0000 1.4 @@ -49,7 +49,7 @@ begin content_keyword.item_assign( :item_id, - :keyword_id, + :keyword, null, null, null Index: openacs-4/packages/acs-content-repository/tcl/keyword-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/Attic/keyword-procs-postgresql.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/acs-content-repository/tcl/keyword-procs-postgresql.xql 28 Aug 2003 09:41:38 -0000 1.3 +++ openacs-4/packages/acs-content-repository/tcl/keyword-procs-postgresql.xql 22 Sep 2003 14:36:13 -0000 1.4 @@ -39,7 +39,7 @@ select content_keyword__item_assign( :item_id, - :keyword_id, + :keyword, null, null, null Index: openacs-4/packages/acs-content-repository/tcl/keyword-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/Attic/keyword-procs.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/acs-content-repository/tcl/keyword-procs.tcl 28 Aug 2003 09:41:38 -0000 1.3 +++ openacs-4/packages/acs-content-repository/tcl/keyword-procs.tcl 22 Sep 2003 14:36:13 -0000 1.4 @@ -88,19 +88,27 @@ {-keyword_id:required} {-singular:boolean} } { - Assign a keyword to a content_item. + Assign one or more keywords to a content_item. + + @param singular If singular is specified, then any keywords with the same parent_id as this keyword_id + will first be unassigned. - If singular_p is specified, then any keywords with the same parent_id as this keyword_id - will first be unassigned. + @param keyword_id A list of keywords to assign. - Returns the supplied item_id for convenience. + @return the supplied item_id for convenience. } { + # First, unassign for the parents of each/all if {$singular_p} { - set parent_id [db_string get_parent_id {}] - item_unassign_children -item_id $item_id -parent_id $parent_id + foreach keyword $keyword_id { + set parent_id [db_string get_parent_id {}] + item_unassign_children -item_id $item_id -parent_id $parent_id + } } - db_exec_plsql keyword_assign {} + # Now assign for each/all + foreach keyword $keyword_id { + db_exec_plsql keyword_assign {} + } return $item_id } Index: openacs-4/packages/acs-content-repository/tcl/keyword-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/Attic/keyword-procs.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/acs-content-repository/tcl/keyword-procs.xql 28 Aug 2003 09:41:38 -0000 1.3 +++ openacs-4/packages/acs-content-repository/tcl/keyword-procs.xql 22 Sep 2003 14:36:13 -0000 1.4 @@ -24,7 +24,7 @@ select parent_id from cr_keywords - where keyword_id = :keyword_id + where keyword_id = :keyword