diff --git a/lib/WebGUI/Asset/Post.pm b/lib/WebGUI/Asset/Post.pm index 5debd6ba5..dac794d7d 100644 --- a/lib/WebGUI/Asset/Post.pm +++ b/lib/WebGUI/Asset/Post.pm @@ -970,6 +970,7 @@ sub postProcess { my $spamStopWords = $self->session->config->get('spamStopWords'); if (ref $spamStopWords eq 'ARRAY') { my $spamRegex = join('|',@{$spamStopWords}); + $spamRegex =~ s/\s/\\ /g; if ($data{content} =~ m/$spamRegex/xmsi) { $data{skipNotification} = 1; $self->trash; diff --git a/lib/WebGUI/Asset/WikiPage.pm b/lib/WebGUI/Asset/WikiPage.pm index b6f74069d..1215c65d5 100644 --- a/lib/WebGUI/Asset/WikiPage.pm +++ b/lib/WebGUI/Asset/WikiPage.pm @@ -125,6 +125,22 @@ sub getAutoCommitWorkflowId { my $self = shift; my $wiki = $self->getWiki; if ($wiki->hasBeenCommitted) { + + # delete spam + my $spamStopWords = $self->session->config->get('spamStopWords'); + if (ref $spamStopWords eq 'ARRAY') { + my $spamRegex = join('|',@{$spamStopWords}); + $spamRegex =~ s/\s/\\ /g; + if ($self->get('content') =~ m{$spamRegex}xmsi) { + my $tag = WebGUI::VersionTag->new($self->session, $self->get('tagId')); + $self->purgeRevision; + if ($tag->getAssetCount == 0) { + $tag->rollback; + } + return undef; + } + } + return $wiki->get('approvalWorkflow') || $self->session->setting->get('defaultVersionTagWorkflow'); } @@ -276,7 +292,6 @@ sub processPropertiesFromFormPost { } } } - } #-------------------------------------------------------------------