About the author
This article is taken from here. I added this blog entry to my site because I've applied it to my own site so as to remove those pesky membership applications I've been getting, which are anything but real.
In addition to below, I've also added the following line:
<adapter controlType="CommunityServer.Blogs.Controls.WeblogPostCommentForm"adapterType="CodeBetter.CommunityServerExtensions.CaptchaControlAdapter, CodeBetter.CommunityServerExtensions" />
which prevents spam from entering via the "Leave a Comment" section.
Everybody knows that spam is so annoying, because it flood our system with dummy text. To avoid the spam, we need the Captcha control.
In this post, I would like to show you how to apply CodeBetter Captcha Control to Community Server 2007. (Thanks to Brendan Tompkins for sharing this handy control)
Please download the source here
1. Copy CodeBetter.CommunityServerExtensions.dll to our community server bin directory.
2. Open your web.config file. Find <httpHandlers> section. Add the following code there:
<add path="captcha.ashx" verb="GET" type="CodeBetter.CommunityServerExtensions.CaptchaImageHandler, CodeBetter.CommunityServerExtensions"/>
3. Find Default.browser in the “\App_Browsers” folder.
In the <controlAdapters> section, add the following code.
For the create user form:
<adapter controlType="CommunityServer.Controls.CreateUserForm" adapterType="CodeBetter.CommunityServerExtensions.CaptchaControlAdapter, CodeBetter.CommunityServerExtensions" />
Adding the code above will make the CodeBetter CSExtension engine create a captcha control above the Join Now! button.
Continued discussion of undocumented Delphi 8 Property Access Specifiers, and other ways of adding and removing delegates / events handlers, including clearing the list of all the delegates / event handlers.
This article discusses the new Delphi 8 property access specifiers.
A method pointer is now the same as a global procedure, ie, procedure of object = procedure.