Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
#1 2006-10-18 16:35:54
- tdn
- Member
- Registered: 2006-02-16
- Posts: 58
How do I add custom field to the comments-form and the check its value
Hi
I would like to add a custom field to the comments form like:
Answer to life the universe and everything: <input type="text" name="answer" />
And then I would like the comment only to be accepted if this field has the value 42
.
How do I do this?
The reason why I want this is to avoid computer generated comments. It is often enough to ask a really simple question where you state the answer on the page. It’ll keep most untargeted spammers away.
Actually it would be enough to just do a
Write "foo" in this box: <input type="text" name="turing" />
And then check if the field is foo
. The spambots does not understand human language well.
Offline
#2 2006-10-18 21:35:41
- els
- Moderator
- From: The Netherlands
- Registered: 2004-06-06
- Posts: 7,458
Re: How do I add custom field to the comments-form and the check its value
I don’t know how to do that, but wouldn’t the asy_captcha plugin help you?
Offline
Re: How do I add custom field to the comments-form and the check its value
Textbook has instructions on how to write anti-spam plugins:
http://textbook.textpattern.net/wiki/index.php?title=Combat_Comment_Spam#Writing.2FPorting_an_Anti-Spam_Plugin
Though you should first get yourselft familiar with writing plugins in general (again Textbook has info and links to tutorials). asy_captcha adds an input field and does checks on it, reloading the form with an error-message etc.; it shows al the things you can do, but might be a little complex for starters.
What you want to do can be achieved relatively simpy, take a look at a documented example I wrote in December when we published the anti-spam plugin-API. I think it’s pretty similar to what you want to do. Edit the php code as necessary. The updted plugin templates and compiler are available in the subversion repository:
http://svn.textpattern.com/development/4.0-plugin-template/
We could use more people writing anti-spam plugins, so if anybody feels inspired… ;)
# asy_spamexample v0.1
# A simple Anti-Spam-plugin example to show 4.0.3 features.
# Sencer Yurdaguel
# http://www.sencer.de
# ......................................................................
# This is a plugin for Textpattern - http://textpattern.com/
# To install: textpattern > admin > plugins
# Paste the following text into the 'Install plugin' box:
# ......................................................................
YTo5OntzOjQ6Im5hbWUiO3M6MTU6ImFzeV9zcGFtZXhhbXBsZSI7czo3OiJ2ZXJzaW9uIjtz
OjM6IjAuMSI7czo2OiJhdXRob3IiO3M6MTY6IlNlbmNlciBZdXJkYWd1ZWwiO3M6MTA6ImF1
dGhvcl91cmkiO3M6MjA6Imh0dHA6Ly93d3cuc2VuY2VyLmRlIjtzOjExOiJkZXNjcmlwdGlv
biI7czo1NzoiQSBzaW1wbGUgQW50aS1TcGFtLXBsdWdpbiBleGFtcGxlIHRvIHNob3cgNC4w
LjMgZmVhdHVyZXMuIjtzOjQ6InR5cGUiO2k6MDtzOjQ6ImhlbHAiO3M6NDM0OiIKCTxwPlRo
aXMgaXMgbWFpbmx5IHRvIGdldCB5b3Ugc3RhcnRlZC4gRm9yIGZ1cnRoZXIgaW5mb3JtYXRp
b24gbWFrZSBzdXJlIHRvIGNoZWNrIHRoZSBXZWJsb2cgYW5kIHRoZSBUZXh0Ym9vayB3aWtp
IHBlcmlvZGljYWxseS4gPGEgaHJlZj0iaHR0cDovL3RleHRwYXR0ZXJuLm5ldC93aWtpL2lu
ZGV4LnBocD90aXRsZT1Db21iYXRfQ29tbWVudF9TcGFtIj5UZXh0Ym9vazogQ29tYmF0X0Nv
bW1lbnRfU3BhbTwvYT4gYW5kIDxhIGhyZWY9Imh0dHA6Ly90ZXh0cGF0dGVybi5jb20vd2Vi
bG9nIj5odHRwOi8vdGV4dHBhdHRlcm4uY29tL3dlYmxvZzwvYT4uPC9wPgoKCTxwPlRoaXMg
cGx1Z2luIHdpbGwgYWRkIGEgcXVlc3Rpb24gdG8gdGhlIGZvcm0sIGFuZCBjaGVjayB3aGV0
aGVyIHRoZSBhbnN3ZXIgaXMgY29ycmVjdCBiZWZvcmUgc2F2aW5nLjwvcD4KCgoKICI7czo0
OiJjb2RlIjtzOjI5NzA6IgovLyBUaGlzIGxldCdzIHVzIGFkZCBzdHVmZiB0byB0aGUgZm9y
bS4gQnV0IHdlIGFsd2F5cyBsZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhpcwovLyB3aGVuIGhl
IHBsYWNlcyBvdXIgdGFnIGluIGhpcyBmb3JtIGhpbXNlbGYuIFNlZSBiZWxvdyBob3cuLi4K
cmVnaXN0ZXJfY2FsbGJhY2soJ2FzeV9leGFtcGxlcXVlc3Rpb25fYXNrJywnY29tbWVudC5m
b3JtJyk7CgovLyBUaGlzIGZ1bmN0aW9uIGdldHMgY2FsbGVkIHdoZW4gVHhwIGlzIGFib3V0
IHRvIHNhdmUuCnJlZ2lzdGVyX2NhbGxiYWNrKCdhc3lfZXhhbXBsZXF1ZXN0aW9uX2NoZWNr
JywnY29tbWVudC5zYXZlJyk7CgpmdW5jdGlvbiBhc3lfZXhhbXBsZXF1ZXN0aW9uX2Fzaygk
YXR0cykKewoJc3RhdGljICRhbHJlYWR5X2NhbGxlZCA9IGZhbHNlOwoKCS8vIFRoaXMgZnVu
Y3Rpb24gaXMgZHVhbC11c2UuIENhbiBiZSB1c2VkIGFzIGNhbGxiYWNrLCBvciBhcyBhIHRh
Zy4KCS8vIEJ1dCB5b3UgY2FuIG1ha2Ugc2VwZXJhdGUgZnVuY3Rpb25zIGlmIHlvdSB3aXNo
LiBPciBpZiBhbGwgeW91IGFkZCBpcyBoaWRkZW4KCS8vIGlucHV0IG9yIGphdmFzY3JpcHQs
IG5vIHRhZ3MgYXJlIG5lY2Vzc2FyeSwgYW5kIHlvdSBjYW4gYXV0by1hZGQuCglleHRyYWN0
KGxBdHRzKGFycmF5KAoJCSdzaXplJwkJPT4gJzEwJywKCQkndGFiJwkJPT4gJycsCgkJJ2Ns
YXNzJwkJPT4gX19GVU5DVElPTl9fLAoJKSwkYXR0cykpOwoKCSRteXN0dWZmID0gJyc7CgoJ
Ly8gV2Ugb25seSByZXR1cm4gYSB2YWx1ZSB0aGUgZmlyc3QgdGltZS4gVGhlIGZvcm0gaXMg
YWx3YXlzIHBhcnNlZCwgYmVmb3JlIHRoZSBhdXRvLWFkZCwKCS8vIHNvIGlmIHRoZSB1c2Vy
IGNhbGxlZCB0aGlzIGZ1bmN0aW9uIG1hbnVhbGx5IHZpYSBhIHRhZyBoZSB3aWxsIGFsd2F5
cyBvdmVycmlkZSB0aGUgYXV0by1hZGRpdGlvbi4KCWlmICghJGFscmVhZHlfY2FsbGVkKQoJ
ewoJCSRhbHJlYWR5X2NhbGxlZCA9IHRydWU7CgkJaWYgKCBpc3NldCgkYXR0cykgJiYgaXNf
YXJyYXkoJGF0dHMpICkKCQl7CgkJCS8vIFRoaXMgaXMgYSBjYWxsIGZyb20gYSB0YWcsIHNv
IHdlIG9ubHkgb3V0cHV0IHRoZSBodG1sLXRhZwoJCQkvLyBDaGVjayBmSW5wdXQoKSBpbiB0
ZXh0cGF0dGVybi9saWIvdHhwbGliX2Zvcm1zLnBocCBvbiBsaW5lIDcwCgkJCSRteXN0dWZm
ID0gZklucHV0KCd0ZXh0JywnYXN5X215ZXhhbXBsZWlucHV0JyxwcygnYXN5X215ZXhhbXBs
ZWlucHV0JyksJGNsYXNzLCcnLCcnLCRzaXplLCR0YWIsJ2FzeV9teWV4YW1wbGVpbnB1dCcp
OwoJCX0gZWxzZSB7IC8vIFRoaXMgaXMgdGhlIGNhbGxiYWNrLWFkZGl0aW9uIHRvIHRoZSBm
b3JtLCBzbyB3ZSBhbHNvIGFkZCBhIGxhYmVsIGFuZCBzb21lIGluZm8KCQkJLy8gQmVjYXVz
ZSB3ZSBpbnNlcnQgcmlnaHQgYWZ0ZXIgdGhlIHRleHRhcmVhLCB3ZSBzdGFydCB3aXRoIGEg
PGJyPgoJCQkkbXlzdHVmZiA9ICc8YnIgLz48bGFiZWwgZm9yPSJhc3lfbXlleGFtcGxlaW5w
dXQiPldoYXQgaXMgdGhyZWUgdGltZXMgMjA/PC9sYWJlbD4nCgkJCS5mSW5wdXQoJ3RleHQn
LCdhc3lfbXlleGFtcGxlaW5wdXQnLHBzKCdhc3lfbXlleGFtcGxlaW5wdXQnKSwkY2xhc3Ms
JycsJycsJHNpemUsJHRhYiwnYXN5X215ZXhhbXBsZWlucHV0Jyk7CgkJfQoJfQoJcmV0dXJu
ICRteXN0dWZmOwp9CgpmdW5jdGlvbiBhc3lfZXhhbXBsZXF1ZXN0aW9uX2NoZWNrKCkKewoJ
Ly8gSWYgeW91IHdhbnRlZCB0byBjaGVjayB0aGUgcmVndWxhciBjb21tZW50LWZvcm0gdmFy
aWFibGVzLCB3ZSB3ZSB3b3VsZCB1c2U6CgkvLyBleHRyYWN0KGdldENvbW1lbnQoKSk7Cgkv
LyBCdXQgaW5zdGVhZCB3ZSBvbmx5IGNhcmUgYWJvdXQgb3VyIG93biBmb3JtLWVsZW1lbnQu
CgkkYW5zd2VyID0gdHJpbShwcygnYXN5X215ZXhhbXBsZWlucHV0JykpOwoKCS8vIFdlIGdl
dCB0aGUgZXZhbHVhdG9yIGluc3RhbmNlLiBZb3UgYWx3YXlzIG5lZWQgdGhpcy4KCSRldmFs
dWF0b3IgPSYgZ2V0X2NvbW1lbnRfZXZhbHVhdG9yKCk7CgoJLy8gSWYgd2Ugd2FudGVkIHRv
IGZvcmNlIGEgcmVsb2FkIHVudGlsIHNvbWUgYW5zd2VyIGlzIGdpdmVuLCB3ZSB3b3VsZCBk
byB0aGlzOgoJLy9pZiAoISRhbnN3ZXIpCSRldmFsdWF0b3IgLT4gYWRkX2VzdGltYXRlKFJF
TE9BRCwgMSwgJ1BsZWFzZSBhbnN3ZXIgdGhlIHF1ZXN0aW9uLicpCgkvLyBlbHNlCgoJLy8g
V2UgbWF5IGNvdWxkIGRlY2lkZSB0byBzZW5kIHRoZSBjb21tZW50IGluIHRoZSBtb2RlcmF0
aW9uIHF1ZXVlOgoJLy8gJGV2YWx1YXRvciAtPiBhZGRfZXN0aW1hdGUoTU9ERVJBVEUsIDAu
NiwgJ2FzeV9leGFtcGxlcXVlc3Rpb24gYW5zd2VyZWQgY29ycmVjdGx5Jyk7CgoJLy8gSG93
ZXZlciB3ZSB3YW50IHRvIG1hcmsgd3JvbmcgYW5zd2VycyBhcyBzcGFtCglpZiAoISAoKCRh
bnN3ZXIgPT0gJzYwJykgfHwgKCRhbnN3ZXIgPT0gJ3NpeHR5JykpKQoJCSRldmFsdWF0b3Ig
LT4gYWRkX2VzdGltYXRlKFNQQU0sIDAuNzUsICdhc3lfZXhhbXBsZXF1ZXN0aW9uIGFuc3dl
cmVkIGluY29ycmVjdGx5Jyk7CgllbHNlCgkJJGV2YWx1YXRvciAtPiBhZGRfZXN0aW1hdGUo
VklTSUJMRSwgMC43NSwgJ2FzeV9leGFtcGxlcXVlc3Rpb24gYW5zd2VyZWQgY29ycmVjdGx5
Jyk7CgoJLy8gVGhhdCB3YXMgaXQuIEhvcGVmdWxseSBwcmV0dHkgZWFzeS4gTW9yZSBjb21w
bGV4IGV4YW1wbGVzIGFuZCBwbHVnaW5zIHdpbGwgZm9sbG93CgkvLyBJZiB5b3Ugd2FudCB0
byBoYXZlIGR5bmFtaWMgYW5kIHNlY3JldCB2YWx1ZXMsIHlvdSBjYW4gcXVlcnkgdGhlIGRi
IGZvciB0aGUgc2VjcmV0CgkvLyBwYXJ0IG9mIHRoZSBub25jZSBhbmQgdXNlIHRoYXQgdG8g
Z2VuZXJhdGUgYW55IGR5bmFtaWMga2V5cy4gSXQgd2lsbCBiZSB0aGUgc2FtZSBmb3IKCS8v
IHByZXZpZXcgYW5kIHN1Ym1pdCAob3RoZXJ3aXNlIGl0IHdvdWxkbid0IHBhc3MgdGhlIG5v
bmNlLWNoZWNrLi4uKQp9CiI7czozOiJtZDUiO3M6MzI6ImM4ZTlmYTc5YThiNGRmMDMwNTA2
ZDk3N2YxNzMxNjMwIjt9
Offline
Re: How do I add custom field to the comments-form and the check its value
I’m wondering how I can simply remove one of the fields in my Comments box. Currently the default is: Name, Email, Website, and Comments. I’d like to remove the “website” field.
Thanks much!
Living the Location-Independent Life: www.NuNomad.com
Offline
#5 2010-12-07 19:06:28
- uli
- Moderator
- From: Cologne
- Registered: 2006-08-15
- Posts: 4,315
Re: How do I add custom field to the comments-form and the check its value
Should be the comment_web_input
tag.
In bad weather I never leave home without wet_plugout, smd_where_used and adi_form_links
Offline
#6 2010-12-07 19:24:50
- els
- Moderator
- From: The Netherlands
- Registered: 2004-06-06
- Posts: 7,458
Re: How do I add custom field to the comments-form and the check its value
@laptophobo,
Can you please start a new topic for new questions, instead of posting in old ones? The topic title isn’t even related to your problem, so your question has less chance to be noticed.
Offline