From 2879033a8df7e77dc323a914ee571ebb96027d23 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Tue, 14 Aug 2007 19:42:11 +0000 Subject: [PATCH] TagCloud (Keywords.pm) --- docs/changelog/7.x.x.txt | 2 ++ lib/WebGUI/Asset.pm | 4 +--- lib/WebGUI/Keyword.pm | 19 +++++++++---------- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 7a929ca5d..a4a1a67bf 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -2,6 +2,8 @@ - Data Forms set reply to to the same as the from field - Config file bugs fixed, see gotcha.txt for details. - Added export to context menu in asset manager + - fix: Empty user-created version tags + - fix: TagCloud (Keywords.pm) - fix: XHTML 1.0 strict, FileUploadControl.js, resizable textarea - fix: undefined activity - Polls now use JSON instead of Storable to serialize graph config diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index 4dc362e8a..70b0231de 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -1859,9 +1859,7 @@ sub processPropertiesFromFormPost { ); } } - if ($form->process("keywords")) { - $data{keywords} = $form->process("keywords"); - } + $data{keywords} = $form->process("keywords"); if ($self->session->setting->get("metaDataEnabled")) { my $meta = $self->getMetaDataFields; foreach my $field (keys %{$meta}) { diff --git a/lib/WebGUI/Keyword.pm b/lib/WebGUI/Keyword.pm index e6586ca10..3ae518bc7 100644 --- a/lib/WebGUI/Keyword.pm +++ b/lib/WebGUI/Keyword.pm @@ -37,8 +37,6 @@ These methods are available from this class: =cut -# begin inside out object -{ #------------------------------------------------------------------- @@ -269,18 +267,19 @@ sub setKeywordsForAsset { } $self->deleteKeywordsForAsset($options->{asset}); my $assetId = $options->{asset}->getId; - my $sth = $self->session->db->prepare("insert into assetKeyword (assetId, keyword) values (?,?)"); - foreach my $keyword (@{$keywords}) { - next if ($keyword eq ""); - $sth->execute([$assetId, lc($keyword)]); + if (scalar(@{$keywords})) { + my $sth = $self->session->db->prepare("insert into assetKeyword (assetId, keyword) values (?,?)"); + foreach my $keyword (@{$keywords}) { + next if ($keyword eq ""); + $sth->execute([$assetId, lc($keyword)]); + } } + else { + $self->deleteKeywordsForAsset($options->{asset}); + } } - -# end inside out object -} - 1;