Skip to content

Commit 875f4bd

Browse files
author
CleanTalk
committed
Merge pull request #6 from VladCleantalk/master
fixed errors
2 parents a177e22 + 405184b commit 875f4bd

File tree

2 files changed

+46
-21
lines changed

2 files changed

+46
-21
lines changed

cleantalk.class.rb

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
require 'net/http'
22
require 'json'
33

4-
class CleantalkResponse {
4+
class CleantalkResponse
55

66
#
77
# Is stop words
@@ -93,7 +93,7 @@ def initialize(response = nil, obl = nil)
9393
@errno = obj.errno
9494
@errstr = obj.errstr
9595

96-
@errstr = @errstr.gsub(/.+(\*\*\*.+\*\*\*).+/, \1, @errstr)
96+
#@errstr = @errstr.gsub(/.+(\*\*\*.+\*\*\*).+/, \1, @errstr)
9797

9898
obj.stop_words.empty ? @stop_words = obj.stop_words : @stop_words = nil
9999
obj.comment.empty ? @comment = obj.comment : @comment = nil
@@ -107,16 +107,19 @@ def initialize(response = nil, obl = nil)
107107
obj.inactive.empty ? @inactive = obj.inactive : @inactive = 0
108108
obj.account_status.empty ? @account_status = obj.account_status : @account_status = -1
109109

110-
if (@errno !== 0 && @errstr !== nil && @comment === nil)
110+
if (@errno != 0 && @errstr != nil && @comment == nil)
111111
@comment = '*** ' + @errstr + ' Antispam service cleantalk.org #**'
112+
end
112113
end
113114
end
114115
end
115116

117+
116118
#
117119
# Request class
118120
#
119-
class CleantalkRequest {
121+
class CleantalkRequest
122+
attr_accessor :all_headers, :last_error_no, :last_error_time, :last_error_text, :message, :example, :auth_key, :agent, :stoplist_check, :response_lang, :sender_ip, :sender_email, :sender_nickname, :sender_info, :post_info, :allow_links, :submit_time, :js_on, :tz, :feedback, :phone
120123

121124
#
122125
# All http request headers
@@ -200,7 +203,7 @@ class CleantalkRequest {
200203

201204
#
202205
# Sender info JSON string
203-
# @var string
206+
# @var hash
204207
#
205208
@sender_info = nil;
206209

@@ -225,14 +228,14 @@ class CleantalkRequest {
225228

226229
#
227230
# Is enable Java Script,
228-
# valid are 0|1|2
231+
# valid are 0|1
229232
# Status:
230233
# nil - JS html code not inserted into phpBB templates
231234
# 0 - JS disabled at the client browser
232235
# 1 - JS enabled at the client broswer
233236
# @var int
234237
#
235-
@js_on = nil;
238+
@js_on = 0;
236239

237240
#
238241
# user time zone
@@ -258,7 +261,7 @@ class CleantalkRequest {
258261
# @param type $params
259262
#
260263
def initialize(params = nil)
261-
if (params.length>0)
264+
if (params!=nil && params.length>0)
262265
params.each_index{|elem|@elem = params.at(elem)}
263266
end
264267
end
@@ -267,7 +270,7 @@ def initialize(params = nil)
267270
#
268271
# Cleantalk class create request
269272
#
270-
class Cleantalk {
273+
class Cleantalk
271274

272275
#
273276
# Debug level
@@ -285,25 +288,25 @@ class Cleantalk {
285288
# Cleantalk server url
286289
# @var string
287290
#
288-
@server_url = null;
291+
@server_url = nil;
289292

290293
#
291294
# Last work url
292295
# @var string
293296
#
294-
@work_url = null;
297+
@work_url = nil;
295298

296299
#
297300
# WOrk url ttl
298301
# @var int
299302
#
300-
@server_ttl = null;
303+
@server_ttl = nil;
301304

302305
#
303306
# Time wotk_url changer
304307
# @var int
305308
#
306-
@server_changed = null;
309+
@server_changed = nil;
307310

308311
#
309312
# Flag is change server url
@@ -315,7 +318,7 @@ class Cleantalk {
315318
# Codepage of the data
316319
# @var bool
317320
#
318-
@data_codepage = null;
321+
@data_codepage = nil;
319322

320323
#
321324
# API version to use
@@ -354,14 +357,19 @@ def isAllowUser(request)
354357
end
355358

356359
def httpRequest(method_name, request)
357-
uri = URI 'https://moderate.cleantalk.org/api2.0'
360+
uri = URI 'http://moderate.cleantalk.org/api2.0'
358361
connection = Net::HTTP.new uri.host, uri.port
359362
http_request = Net::HTTP::Post.new uri
360-
form_data = Array.new
361-
request.each_index{|elem|form_data.elem = params.at(elem)}
362-
form_data{:method_name => method_name}
363-
http_request.set_form form_data, 'multipart/form-data'
364-
response = connection.request http_request
363+
form_data={}
364+
attrs=request.instance_variables
365+
attrs.each{|elem|form_data[elem.to_s.sub('@','')] = request.instance_variable_get(elem)}
366+
form_data['method_name'] = method_name
367+
368+
req = Net::HTTP::Post.new(uri, initheader = {'Content-Type' =>'application/json'})
369+
req.body = form_data.to_json
370+
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
371+
http.request(req)
372+
end
365373
return JSON.parse(response.entity)
366374
end
367-
end
375+
end

example.rb

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
require './cleantalk.class.rb'
2+
3+
sender_info = {cms_lang:'en_US'} #here put locale for your language
4+
request = CleantalkRequest.new
5+
request.auth_key = 'your_key'
6+
request.message = 'test message' #don't use this field for registration check
7+
request.sender_email = 'stop_email@example.com'
8+
request.sender_nickname = 'test nickname'
9+
request.sender_ip = '127.0.0.1'
10+
request.js_on = 1 #you should check for JavaScript by yourself
11+
request.submit_time = 11 # you should calculate time for submitting form by youself
12+
request.sender_info = sender_info
13+
14+
ct = Cleantalk.new
15+
result = ct.isAllowMessage(request) # for message checking
16+
#result = ct.isAllowUser(request) # for registration checking
17+
puts result

0 commit comments

Comments
 (0)