22/**
33 * Cleantalk base class
44 *
5- * @version 1.33
5+ * @version 1.34
66 * @package Cleantalk
77 * @subpackage Base
8- * @author Сleantalk team ([email protected] ) 9- * @copyright (C) 2014 СleanTalk team (http://cleantalk.org)
8+ * @author Cleantalk team ([email protected] ) 9+ * @copyright (C) 2014 CleanTalk team (http://cleantalk.org)
1010 * @license GNU/GPL: http://www.gnu.org/copyleft/gpl.html
1111 * @see https://github.com/CleanTalk/php-antispam
1212 *
@@ -411,18 +411,7 @@ class Cleantalk {
411411 * @return type
412412 */
413413 public function isAllowMessage (CleantalkRequest $ request ) {
414- $ error_params = $ this ->filterRequest ('check_message ' , $ request );
415-
416- if (!empty ($ error_params )) {
417- $ response = new CleantalkResponse (
418- array (
419- 'allow ' => 0 ,
420- 'comment ' => 'CleanTalk. Request params error: ' . implode (', ' , $ error_params )
421- ), null );
422-
423- return $ response ;
424- }
425-
414+ $ this ->filterRequest ($ request );
426415 $ msg = $ this ->createMsg ('check_message ' , $ request );
427416 return $ this ->httpRequest ($ msg );
428417 }
@@ -433,18 +422,7 @@ public function isAllowMessage(CleantalkRequest $request) {
433422 * @return type
434423 */
435424 public function isAllowUser (CleantalkRequest $ request ) {
436- $ error_params = $ this ->filterRequest ('check_newuser ' , $ request );
437-
438- if (!empty ($ error_params )) {
439- $ response = new CleantalkResponse (
440- array (
441- 'allow ' => 0 ,
442- 'comment ' => 'CleanTalk. Request params error: ' . implode (', ' , $ error_params )
443- ), null );
444-
445- return $ response ;
446- }
447-
425+ $ this ->filterRequest ($ request );
448426 $ msg = $ this ->createMsg ('check_newuser ' , $ request );
449427 return $ this ->httpRequest ($ msg );
450428 }
@@ -456,20 +434,8 @@ public function isAllowUser(CleantalkRequest $request) {
456434 * @return type
457435 */
458436 public function sendFeedback (CleantalkRequest $ request ) {
459- $ error_params = $ this ->filterRequest ('send_feedback ' , $ request );
460-
461- if (!empty ($ error_params )) {
462- $ response = new CleantalkResponse (
463- array (
464- 'allow ' => 0 ,
465- 'comment ' => 'Cleantalk. Spam protect. Request params error: ' . implode (', ' , $ error_params )
466- ), null );
467-
468- return $ response ;
469- }
470-
437+ $ this ->filterRequest ($ request );
471438 $ msg = $ this ->createMsg ('send_feedback ' , $ request );
472-
473439 return $ this ->httpRequest ($ msg );
474440 }
475441
@@ -478,65 +444,46 @@ public function sendFeedback(CleantalkRequest $request) {
478444 * @param CleantalkRequest $request
479445 * @return type
480446 */
481- private function filterRequest ($ method , CleantalkRequest $ request ) {
482- $ error_params = array ();
483-
447+ private function filterRequest (CleantalkRequest &$ request ) {
484448 // general and optional
485449 foreach ($ request as $ param => $ value ) {
486450 if (in_array ($ param , array ('message ' , 'example ' , 'agent ' ,
487451 'sender_info ' , 'sender_nickname ' , 'post_info ' , 'phone ' )) && !empty ($ value )) {
488452 if (!is_string ($ value ) && !is_integer ($ value )) {
489- $ error_params [] = $ param ;
453+ $ request -> $ param = NULL ;
490454 }
491455 }
492456
493457 if (in_array ($ param , array ('stoplist_check ' , 'allow_links ' )) && !empty ($ value )) {
494458 if (!in_array ($ value , array (1 , 2 ))) {
495- $ error_params [] = $ param ;
459+ $ request -> $ param = NULL ;
496460 }
497461 }
498462
499463 if (in_array ($ param , array ('js_on ' )) && !empty ($ value )) {
500464 if (!is_integer ($ value )) {
501- $ error_params [] = $ param ;
465+ $ request -> $ param = NULL ;
502466 }
503467 }
504468
505469 if ($ param == 'sender_ip ' && !empty ($ value )) {
506470 if (!is_string ($ value )) {
507- $ error_params [] = $ param ;
471+ $ request -> $ param = NULL ;
508472 }
509473 }
510474
511475 if ($ param == 'sender_email ' && !empty ($ value )) {
512476 if (!is_string ($ value )) {
513- $ error_params [] = $ param ;
477+ $ request -> $ param = NULL ;
514478 }
515479 }
516480
517481 if ($ param == 'submit_time ' && !empty ($ value )) {
518482 if (!is_int ($ value )) {
519- $ error_params [] = $ param ;
483+ $ request -> $ param = NULL ;
520484 }
521485 }
522486 }
523-
524- // special and must be
525- switch ($ method ) {
526- case 'check_message ' :
527- break ;
528-
529- case 'check_newuser ' :
530- break ;
531-
532- case 'send_feedback ' :
533- if (empty ($ request ->feedback )) {
534- $ error_params [] = 'feedback ' ;
535- }
536- break ;
537- }
538-
539- return $ error_params ;
540487 }
541488
542489 /**
0 commit comments