From f0e0498a25a4c0d7191434b0749e522f819533c9 Mon Sep 17 00:00:00 2001 From: datorik Date: Thu, 11 Jun 2026 18:00:33 +0300 Subject: [PATCH 1/7] Code. Proxy --- lib/Cleantalk/ApbctWP/API.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/Cleantalk/ApbctWP/API.php b/lib/Cleantalk/ApbctWP/API.php index 55024bf82..0c1c3b896 100644 --- a/lib/Cleantalk/ApbctWP/API.php +++ b/lib/Cleantalk/ApbctWP/API.php @@ -83,12 +83,21 @@ public static function sendRequest($data, $timeout = 10) // Adding agent version to data $data['agent'] = defined('APBCT_AGENT') ? APBCT_AGENT : ''; + $options = ['timeout' => $timeout]; + // Optional proxy (constants declared in wp-config.php). + if ( defined('CT_PROXY_HOST') && CT_PROXY_HOST !== '' ) { + $proxy = CT_PROXY_HOST . ':' . CT_PROXY_PORT; + $options['proxy'] = $proxy; // WP HTTP API branch + $options[CURLOPT_PROXY] = CT_PROXY_HOST; // cURL branch + $options[CURLOPT_PROXYPORT] = CT_PROXY_PORT; + } + $http = new Request(); $request = $http->setUrl($url) ->setData($data) ->setPresets(['retry_with_socket']) - ->setOptions(['timeout' => $timeout]); + ->setOptions($options); if ( isset($data['method_name']) ) { $request->addCallback( __CLASS__ . '::checkResponse', From 0cf3c7fa5b25790f0312b32a22f8a0c43d85c727 Mon Sep 17 00:00:00 2001 From: datorik Date: Mon, 15 Jun 2026 12:22:41 +0300 Subject: [PATCH 2/7] Code. Proxy --- lib/Cleantalk/ApbctWP/API.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/Cleantalk/ApbctWP/API.php b/lib/Cleantalk/ApbctWP/API.php index 0c1c3b896..95e6f0750 100644 --- a/lib/Cleantalk/ApbctWP/API.php +++ b/lib/Cleantalk/ApbctWP/API.php @@ -84,12 +84,14 @@ public static function sendRequest($data, $timeout = 10) $data['agent'] = defined('APBCT_AGENT') ? APBCT_AGENT : ''; $options = ['timeout' => $timeout]; - // Optional proxy (constants declared in wp-config.php). - if ( defined('CT_PROXY_HOST') && CT_PROXY_HOST !== '' ) { - $proxy = CT_PROXY_HOST . ':' . CT_PROXY_PORT; - $options['proxy'] = $proxy; // WP HTTP API branch - $options[CURLOPT_PROXY] = CT_PROXY_HOST; // cURL branch - $options[CURLOPT_PROXYPORT] = CT_PROXY_PORT; + // Proxy settings from wp-config.php constants. + if ( defined('WP_PROXY_HOST') && WP_PROXY_HOST !== '' ) { + $options['proxy'] = WP_PROXY_HOST . ':' . WP_PROXY_PORT; // WP HTTP API branch + $options[CURLOPT_PROXY] = WP_PROXY_HOST; // cURL branch + $options[CURLOPT_PROXYPORT] = WP_PROXY_PORT; + if ( defined('WP_PROXY_USERNAME') && WP_PROXY_USERNAME !== '' ) { + $options[CURLOPT_PROXYUSERPWD] = WP_PROXY_USERNAME . ':' . (defined('WP_PROXY_PASSWORD') ? WP_PROXY_PASSWORD : ''); + } } $http = new Request(); From 9d85be85372599cd7c52a03e1f207aad0e6ef455 Mon Sep 17 00:00:00 2001 From: datorik Date: Mon, 22 Jun 2026 17:03:28 +0300 Subject: [PATCH 3/7] Code. Proxy. Code review --- lib/Cleantalk/ApbctWP/API.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Cleantalk/ApbctWP/API.php b/lib/Cleantalk/ApbctWP/API.php index 95e6f0750..8fff9a508 100644 --- a/lib/Cleantalk/ApbctWP/API.php +++ b/lib/Cleantalk/ApbctWP/API.php @@ -85,7 +85,7 @@ public static function sendRequest($data, $timeout = 10) $options = ['timeout' => $timeout]; // Proxy settings from wp-config.php constants. - if ( defined('WP_PROXY_HOST') && WP_PROXY_HOST !== '' ) { + if ( defined('WP_PROXY_HOST') && WP_PROXY_HOST !== '' && defined('WP_PROXY_PORT') && WP_PROXY_PORT !== '' ) { $options['proxy'] = WP_PROXY_HOST . ':' . WP_PROXY_PORT; // WP HTTP API branch $options[CURLOPT_PROXY] = WP_PROXY_HOST; // cURL branch $options[CURLOPT_PROXYPORT] = WP_PROXY_PORT; From f6d2593b2e6e292a129c99fe17b0cf8abb2c3f0a Mon Sep 17 00:00:00 2001 From: datorik Date: Wed, 1 Jul 2026 13:29:16 +0300 Subject: [PATCH 4/7] Code. Code review --- lib/Cleantalk/ApbctWP/API.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Cleantalk/ApbctWP/API.php b/lib/Cleantalk/ApbctWP/API.php index 8fff9a508..f61f6a049 100644 --- a/lib/Cleantalk/ApbctWP/API.php +++ b/lib/Cleantalk/ApbctWP/API.php @@ -85,7 +85,7 @@ public static function sendRequest($data, $timeout = 10) $options = ['timeout' => $timeout]; // Proxy settings from wp-config.php constants. - if ( defined('WP_PROXY_HOST') && WP_PROXY_HOST !== '' && defined('WP_PROXY_PORT') && WP_PROXY_PORT !== '' ) { + if ( function_exists('curl_init') && defined('WP_PROXY_HOST') && WP_PROXY_HOST !== '' && defined('WP_PROXY_PORT') && WP_PROXY_PORT !== '' ) { $options['proxy'] = WP_PROXY_HOST . ':' . WP_PROXY_PORT; // WP HTTP API branch $options[CURLOPT_PROXY] = WP_PROXY_HOST; // cURL branch $options[CURLOPT_PROXYPORT] = WP_PROXY_PORT; From e1c3169463a2834590cf78f30b528236bae6b7bd Mon Sep 17 00:00:00 2001 From: datorik Date: Wed, 1 Jul 2026 13:37:51 +0300 Subject: [PATCH 5/7] Code. Code review --- lib/Cleantalk/ApbctWP/API.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/Cleantalk/ApbctWP/API.php b/lib/Cleantalk/ApbctWP/API.php index f61f6a049..0b411bd4c 100644 --- a/lib/Cleantalk/ApbctWP/API.php +++ b/lib/Cleantalk/ApbctWP/API.php @@ -85,11 +85,12 @@ public static function sendRequest($data, $timeout = 10) $options = ['timeout' => $timeout]; // Proxy settings from wp-config.php constants. - if ( function_exists('curl_init') && defined('WP_PROXY_HOST') && WP_PROXY_HOST !== '' && defined('WP_PROXY_PORT') && WP_PROXY_PORT !== '' ) { - $options['proxy'] = WP_PROXY_HOST . ':' . WP_PROXY_PORT; // WP HTTP API branch - $options[CURLOPT_PROXY] = WP_PROXY_HOST; // cURL branch + $options['proxy'] = WP_PROXY_HOST . ':' . WP_PROXY_PORT; // WP HTTP API branch + // cURL branch (avoid referencing CURLOPT_* when ext-curl is not available) + if ( function_exists('curl_init') && defined('CURLOPT_PROXY') && defined('CURLOPT_PROXYPORT') ) { + $options[CURLOPT_PROXY] = WP_PROXY_HOST; $options[CURLOPT_PROXYPORT] = WP_PROXY_PORT; - if ( defined('WP_PROXY_USERNAME') && WP_PROXY_USERNAME !== '' ) { + if ( defined('WP_PROXY_USERNAME') && WP_PROXY_USERNAME !== '' && defined('CURLOPT_PROXYUSERPWD') ) { $options[CURLOPT_PROXYUSERPWD] = WP_PROXY_USERNAME . ':' . (defined('WP_PROXY_PASSWORD') ? WP_PROXY_PASSWORD : ''); } } From 4d6d04527c9bff9539c70ee2eb4ecf0e731eb66c Mon Sep 17 00:00:00 2001 From: datorik Date: Thu, 2 Jul 2026 09:10:25 +0300 Subject: [PATCH 6/7] Code. Code review --- lib/Cleantalk/ApbctWP/API.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/Cleantalk/ApbctWP/API.php b/lib/Cleantalk/ApbctWP/API.php index 0b411bd4c..b8797313d 100644 --- a/lib/Cleantalk/ApbctWP/API.php +++ b/lib/Cleantalk/ApbctWP/API.php @@ -85,13 +85,15 @@ public static function sendRequest($data, $timeout = 10) $options = ['timeout' => $timeout]; // Proxy settings from wp-config.php constants. - $options['proxy'] = WP_PROXY_HOST . ':' . WP_PROXY_PORT; // WP HTTP API branch - // cURL branch (avoid referencing CURLOPT_* when ext-curl is not available) - if ( function_exists('curl_init') && defined('CURLOPT_PROXY') && defined('CURLOPT_PROXYPORT') ) { - $options[CURLOPT_PROXY] = WP_PROXY_HOST; - $options[CURLOPT_PROXYPORT] = WP_PROXY_PORT; - if ( defined('WP_PROXY_USERNAME') && WP_PROXY_USERNAME !== '' && defined('CURLOPT_PROXYUSERPWD') ) { - $options[CURLOPT_PROXYUSERPWD] = WP_PROXY_USERNAME . ':' . (defined('WP_PROXY_PASSWORD') ? WP_PROXY_PASSWORD : ''); + if ( defined('WP_PROXY_HOST') && defined('WP_PROXY_PORT') ) { + $options['proxy'] = WP_PROXY_HOST . ':' . WP_PROXY_PORT; // WP HTTP API branch + // cURL branch (avoid referencing CURLOPT_* when ext-curl is not available) + if ( function_exists('curl_init') && defined('CURLOPT_PROXY') && defined('CURLOPT_PROXYPORT') ) { + $options[CURLOPT_PROXY] = WP_PROXY_HOST; + $options[CURLOPT_PROXYPORT] = WP_PROXY_PORT; + if ( defined('WP_PROXY_USERNAME') && WP_PROXY_USERNAME !== '' && defined('CURLOPT_PROXYUSERPWD') ) { + $options[CURLOPT_PROXYUSERPWD] = WP_PROXY_USERNAME . ':' . (defined('WP_PROXY_PASSWORD') ? WP_PROXY_PASSWORD : ''); + } } } From cb3286e500a3fbe9c2e3e5b41a9533902780e766 Mon Sep 17 00:00:00 2001 From: datorik Date: Thu, 2 Jul 2026 13:58:07 +0300 Subject: [PATCH 7/7] Code. Code review --- lib/Cleantalk/ApbctWP/API.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/Cleantalk/ApbctWP/API.php b/lib/Cleantalk/ApbctWP/API.php index b8797313d..d137a851b 100644 --- a/lib/Cleantalk/ApbctWP/API.php +++ b/lib/Cleantalk/ApbctWP/API.php @@ -85,12 +85,13 @@ public static function sendRequest($data, $timeout = 10) $options = ['timeout' => $timeout]; // Proxy settings from wp-config.php constants. - if ( defined('WP_PROXY_HOST') && defined('WP_PROXY_PORT') ) { - $options['proxy'] = WP_PROXY_HOST . ':' . WP_PROXY_PORT; // WP HTTP API branch + if ( defined('WP_PROXY_HOST') && WP_PROXY_HOST !== '' && defined('WP_PROXY_PORT') && WP_PROXY_PORT !== '' ) { + $proxy_port = (int) WP_PROXY_PORT; + $options['proxy'] = WP_PROXY_HOST . ':' . $proxy_port; // WP HTTP API branch // cURL branch (avoid referencing CURLOPT_* when ext-curl is not available) if ( function_exists('curl_init') && defined('CURLOPT_PROXY') && defined('CURLOPT_PROXYPORT') ) { $options[CURLOPT_PROXY] = WP_PROXY_HOST; - $options[CURLOPT_PROXYPORT] = WP_PROXY_PORT; + $options[CURLOPT_PROXYPORT] = $proxy_port; if ( defined('WP_PROXY_USERNAME') && WP_PROXY_USERNAME !== '' && defined('CURLOPT_PROXYUSERPWD') ) { $options[CURLOPT_PROXYUSERPWD] = WP_PROXY_USERNAME . ':' . (defined('WP_PROXY_PASSWORD') ? WP_PROXY_PASSWORD : ''); }