/** * Validate tags when saving a discussion. */ public function DiscussionModel_BeforeSaveDiscussion_Handler($Sender, $Args) { $FormPostValues = GetValue('FormPostValues', $Args, array()); $TagsString = trim(strtolower(GetValue('Tags', $FormPostValues, ''))); $NumTagsMax = C('Plugin.Tagging.Max', 5); // Tags can only contain unicode and the following ASCII: a-z 0-9 + # _ . if (StringIsNullOrEmpty($TagsString) && C('Plugins.Tagging.Required')) { $Sender->Validation->AddValidationResult('Tags', 'You must specify at least one tag.'); } else { $Tags = TagModel::SplitTags($TagsString); if (!TagModel::ValidateTags($Tags)) { $Sender->Validation->AddValidationResult('Tags', '@' . T('ValidateTag', 'Tags cannot contain commas.')); } elseif (count($Tags) > $NumTagsMax) { $Sender->Validation->AddValidationResult('Tags', '@' . sprintf(T('You can only specify up to %s tags.'), $NumTagsMax)); } else { } } }