Skip to content

Commit 9721644

Browse files
safroniksafronik
authored andcommitted
Mod: CleantalkResponse now contains sender_ip and sender_email params.
Comment: Function descriptions.
1 parent b951451 commit 9721644

File tree

2 files changed

+114
-59
lines changed

2 files changed

+114
-59
lines changed

lib/Cleantalk.php

Lines changed: 101 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,19 @@
55
* Cleantalk class create request
66
*/
77
class Cleantalk {
8-
8+
9+
/**
10+
* Checked IP
11+
* @var string
12+
*/
13+
public $sender_ip = null;
14+
15+
/**
16+
* Checked Email
17+
* @var string
18+
*/
19+
public $sender_email = null;
20+
921
/**
1022
* Maximum data size in bytes
1123
* @var int
@@ -90,45 +102,65 @@ class Cleantalk {
90102
*/
91103
public $max_server_timeout = 1500;
92104

93-
/**
94-
* Function checks whether it is possible to publish the message
95-
* @param CleantalkRequest $request
96-
* @return type
97-
*/
98-
public function isAllowMessage(CleantalkRequest $request) {
99-
$request = $this->filterRequest($request);
100-
$msg = $this->createMsg('check_message', $request);
101-
return $this->httpRequest($msg);
102-
}
103-
104-
/**
105-
* Function checks whether it is possible to publish the message
106-
* @param CleantalkRequest $request
107-
* @return type
108-
*/
109-
public function isAllowUser(CleantalkRequest $request) {
110-
$request = $this->filterRequest($request);
111-
$msg = $this->createMsg('check_newuser', $request);
112-
return $this->httpRequest($msg);
113-
}
114-
115-
/**
116-
* Function sends the results of manual moderation
117-
*
118-
* @param CleantalkRequest $request
119-
* @return type
120-
*/
121-
public function sendFeedback(CleantalkRequest $request) {
122-
$request = $this->filterRequest($request);
123-
$msg = $this->createMsg('send_feedback', $request);
124-
return $this->httpRequest($msg);
125-
}
126-
127-
/**
128-
* Filter request params
129-
* @param CleantalkRequest $request
130-
* @return type
131-
*/
105+
/**
106+
* Function checks whether it is possible to publish the message
107+
*
108+
* @param CleantalkRequest $request
109+
*
110+
* @return CleantalkResponse
111+
*/
112+
public function isAllowMessage( CleantalkRequest $request ){
113+
$request = $this->filterRequest( $request );
114+
$filtered_request = $this->createMsg( 'check_message', $request );
115+
116+
$this->sender_ip = $filtered_request->sender_ip;
117+
$this->sender_email = $filtered_request->sender_email;
118+
119+
return $this->httpRequest( $filtered_request );
120+
}
121+
122+
/**
123+
* Function checks whether it is possible to publish the message
124+
*
125+
* @param CleantalkRequest $request
126+
*
127+
* @return CleantalkResponse
128+
*/
129+
public function isAllowUser( CleantalkRequest $request ){
130+
$request = $this->filterRequest( $request );
131+
$filtered_request = $this->createMsg( 'check_newuser', $request );
132+
133+
$this->sender_ip = $filtered_request->sender_ip;
134+
$this->sender_email = $filtered_request->sender_email;
135+
136+
return $this->httpRequest( $filtered_request );
137+
}
138+
139+
/**
140+
* Function sends the results of manual moderation
141+
*
142+
* @param CleantalkRequest $request
143+
*
144+
* @return CleantalkResponse
145+
*/
146+
public function sendFeedback( CleantalkRequest $request ){
147+
148+
$request = $this->filterRequest( $request );
149+
$filtered_request = $this->createMsg( 'send_feedback', $request );
150+
151+
$this->sender_ip = $filtered_request->sender_ip;
152+
$this->sender_email = $filtered_request->sender_email;
153+
154+
return $this->httpRequest( $filtered_request );
155+
}
156+
157+
/**
158+
* Filter request params
159+
*
160+
* @param CleantalkRequest $request
161+
*
162+
* @return CleantalkRequest
163+
*/
132164
private function filterRequest(CleantalkRequest $request) {
133165

134166
// general and optional
@@ -153,7 +185,7 @@ private function filterRequest(CleantalkRequest $request) {
153185

154186
/**
155187
* Compress data and encode to base64
156-
* @param type string
188+
* @param string
157189
* @return string
158190
*/
159191
private function compressData($data = null){
@@ -174,14 +206,16 @@ private function compressData($data = null){
174206
}
175207

176208
return $data;
177-
}
178-
179-
/**
180-
* Create msg for cleantalk server
181-
* @param type $method
182-
* @param CleantalkRequest $request
183-
* @return \xmlrpcmsg
184-
*/
209+
}
210+
211+
/**
212+
* Create msg for cleantalk server
213+
*
214+
* @param string $method
215+
* @param CleantalkRequest $request
216+
*
217+
* @return CleantalkRequest
218+
*/
185219
private function createMsg($method, CleantalkRequest $request) {
186220

187221
switch ($method) {
@@ -221,13 +255,17 @@ private function createMsg($method, CleantalkRequest $request) {
221255

222256
return $request;
223257
}
224-
225-
/**
226-
* Send JSON request to servers
227-
* @param $msg
228-
* @return boolean|\CleantalkResponse
229-
*/
230-
private function sendRequest($data = null, $url, $server_timeout = 3)
258+
259+
/**
260+
* Send JSON request to servers
261+
*
262+
* @param $data
263+
* @param $url
264+
* @param int $server_timeout
265+
*
266+
* @return boolean|\CleantalkResponse
267+
*/
268+
private function sendRequest($data, $url, $server_timeout = 3)
231269
{
232270
// Convert to array
233271
$data = (array)json_decode(json_encode($data), true);
@@ -339,8 +377,10 @@ private function sendRequest($data = null, $url, $server_timeout = 3)
339377

340378
/**
341379
* httpRequest
380+
*
342381
* @param $msg
343-
* @return boolean|\CleantalkResponse
382+
*
383+
* @return CleantalkResponse
344384
*/
345385
private function httpRequest($msg) {
346386

@@ -425,7 +465,10 @@ private function httpRequest($msg) {
425465
}
426466

427467
$response = new CleantalkResponse(null, $result);
428-
468+
469+
$response->sender_ip = $this->sender_ip;
470+
$response->sender_email = $this->sender_email;
471+
429472
if (!empty($this->data_codepage) && $this->data_codepage !== 'UTF-8') {
430473
if (!empty($response->comment))
431474
$response->comment = $this->stringFromUTF8($response->comment, $this->data_codepage);

lib/CleantalkResponse.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,19 @@
55
* Response class
66
*/
77
class CleantalkResponse {
8-
8+
9+
/**
10+
* Checked IP
11+
* @var string
12+
*/
13+
public $sender_ip = null;
14+
15+
/**
16+
* Checked Email
17+
* @var string
18+
*/
19+
public $sender_email = null;
20+
921
/**
1022
* Received feedback nubmer
1123
* @var int

0 commit comments

Comments
 (0)