55 * Cleantalk class create request
66 */
77class 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 );
0 commit comments