[akismet]

Description

Link: [akismet]
Author: Jason Huck
Category: Utility
Version: 7.x
License:
Posted: Apr. 27, 2006
Updated: Apr. 28, 2006
More by this author...
This set of tags implements the Akismet API in Lasso. Akismet is a web service that allows you to check user-contributed content, such as comments on a blog entry, for spam. See the online documentation and example code below for usage instructions. Requires a valid WordPress API Key.

Parameters

none


Sample Usage

var('authtest') = akismet_auth( -key=$key, -blog=server_name);

'Auth Test: ' + $authtest + '<br>\n';


var('commentchecktest') = akismet_commentcheck(
	-key=$key,
	-blog=server_name,
	-user_ip=nslookup('www.omnipilot.com'),
	-user_agent=client_browser,
	-comment_content='viagra-test-123'
);

'Comment Check: ' + $commentchecktest + '<br>\n';
						

Source Code

Click the "Download" button below to retrieve a copy of this tag, including the complete documentation and sample usage shown on this page. Place the downloaded ".inc" file in your LassoStartup folder, restart Lasso, and you can begin using this tag immediately.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?lassoscript
//[
	define_tag: 
		'akismet_auth', 
		-required='key', 
		-required='blog';
	
		local: 'result' = (include_url:
			'http://rest.akismet.com/1.1/verify-key',
			-postparams = (array: 'key' = #key, 'blog' = #blog)
		);
		
		if: #result >> 'valid';
			return: true;
		else;
			return: false;
		/if;
	/define_tag;


	define_tag: 
		'akismet_commentcheck',
		-required='key',
		-required='blog',
		-required='user_ip',
		-required='user_agent',
		-optional='referrer',
		-optional='permalink',
		-optional='comment_type',
		-optional='comment_author',
		-optional='comment_author_email',
		-optional='comment_author_url',
		-optional='comment_content';
		
		local: 'postparams' = array;
		
		iterate: params, local: 'i';
			if: #i->first != '-key';
				local: 'name' = #i->first;
				#name->(removeleading: '-');
				#postparams->(insert: #name = #i->second);
			/if;
		/iterate;
		
		local: 'result' = (include_url:
			'http://' + #key + '.rest.akismet.com/1.1/comment-check',
			-postparams = #postparams
		);
		
		if: #result >> 'true';
			return: true;
		else;
			return: false;
		/if;
	/define_tag;
	
	
	define_tag: 
		'akismet_submitspam',
		-required='key',
		-required='blog',
		-required='user_ip',
		-required='user_agent',
		-optional='referrer',
		-optional='permalink',
		-optional='comment_type',
		-optional='comment_author',
		-optional='comment_author_email',
		-optional='comment_author_url',
		-optional='comment_content';
		
		local: 'postparams' = array;
		
		iterate: params, local: 'i';
			if: #i->first != '-key';
				local: 'name' = #i->first;
				#name->(removeleading: '-');
				#postparams->(insert: #name = #i->second);
			/if;
		/iterate;
		
		local: 'result' = (include_url:
			'http://' + #key + '.rest.akismet.com/1.1/submit-spam',
			-postparams = #postparams
		);		
	/define_tag;


	define_tag: 
		'akismet_submitham',
		-required='key',
		-required='blog',
		-required='user_ip',
		-required='user_agent',
		-optional='referrer',
		-optional='permalink',
		-optional='comment_type',
		-optional='comment_author',
		-optional='comment_author_email',
		-optional='comment_author_url',
		-optional='comment_content';
		
		local: 'postparams' = array;
		
		iterate: params, local: 'i';
			if: #i->first != '-key';
				local: 'name' = #i->first;
				#name->(removeleading: '-');
				#postparams->(insert: #name = #i->second);
			/if;
		/iterate;
		
		local: 'result' = (include_url:
			'http://' + #key + '.rest.akismet.com/1.1/submit-ham',
			-postparams = #postparams
		);		
	/define_tag;
//]
?>

 

Comments

04/02/2008, Jeff Payanis
Minor change
I believe line 13 should be a == instead of >>. If I pass in a made up API key, they pass back a response of "invalid", which contains the word "valid".
Email:


Password:



Newest

Most Popular