[DigitalPoint] App for Cloudflare®

[DigitalPoint] App for Cloudflare® 1.9.1.1

No permission to download
Bug when viewing a users IP via admin panel.

PHP:
Stack trace
#0 src/addons/DigitalPoint/Cloudflare/XF/Template/Templater.php(19): inet_pton(Array)
#1 src/XF/Template/Templater.php(1186): DigitalPoint\Cloudflare\XF\Template\Templater->filterGeo(Object(SV\StandardLib\XF\Template\Templater), Array, false)
#2 internal_data/code_cache/templates/l1/s0/admin/user_ip_list.php(28): XF\Template\Templater->filter(Array, Array, false)
#3 src/XF/Template/Templater.php(1799): XF\Template\Templater->{closure:internal_data/code_cache/templates/l1/s0/admin/user_ip_list.php:4}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#4 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('user_ip_list', Array)
#5 src/XF/Mvc/Renderer/Json.php(86): XF\Template\Template->render()
#6 src/XF/Mvc/Renderer/Json.php(70): XF\Mvc\Renderer\Json->renderHtmlFallback('XF:User\\IpList', 'admin:user_ip_l...', Array)
#7 src/XF/Mvc/Dispatcher.php(471): XF\Mvc\Renderer\Json->renderView('XF:User\\IpList', 'admin:user_ip_l...', Array)
#8 src/XF/Mvc/Dispatcher.php(453): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#9 src/XF/Mvc/Dispatcher.php(412): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#10 src/XF/Mvc/Dispatcher.php(66): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'json')
#11 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#12 src/XF.php(806): XF\App->run()
#13 admin.php(15): XF::runApp('XF\\Admin\\App')
#14 {main}
 
Bug when viewing a users IP via admin panel.

PHP:
Stack trace
#0 src/addons/DigitalPoint/Cloudflare/XF/Template/Templater.php(19): inet_pton(Array)
#1 src/XF/Template/Templater.php(1186): DigitalPoint\Cloudflare\XF\Template\Templater->filterGeo(Object(SV\StandardLib\XF\Template\Templater), Array, false)
#2 internal_data/code_cache/templates/l1/s0/admin/user_ip_list.php(28): XF\Template\Templater->filter(Array, Array, false)
#3 src/XF/Template/Templater.php(1799): XF\Template\Templater->{closure:internal_data/code_cache/templates/l1/s0/admin/user_ip_list.php:4}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#4 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('user_ip_list', Array)
#5 src/XF/Mvc/Renderer/Json.php(86): XF\Template\Template->render()
#6 src/XF/Mvc/Renderer/Json.php(70): XF\Mvc\Renderer\Json->renderHtmlFallback('XF:User\\IpList', 'admin:user_ip_l...', Array)
#7 src/XF/Mvc/Dispatcher.php(471): XF\Mvc\Renderer\Json->renderView('XF:User\\IpList', 'admin:user_ip_l...', Array)
#8 src/XF/Mvc/Dispatcher.php(453): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#9 src/XF/Mvc/Dispatcher.php(412): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#10 src/XF/Mvc/Dispatcher.php(66): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'json')
#11 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#12 src/XF.php(806): XF\App->run()
#13 admin.php(15): XF::runApp('XF\\Admin\\App')
#14 {main}
Not getting any error when I look at user IPs in admin control panel. The actual error would be helpful. :)
 
Full error log:
PHP:
Server error log

TypeError: Template admin:user_ip_list error: inet_pton(): Argument #1 ($ip) must be of type string, array given src/addons/DigitalPoint/Cloudflare/XF/Template/Templater.php:19

Generated by: Admin Feb 26, 2025 at 10:34 AM

Stack trace
#0 src/addons/DigitalPoint/Cloudflare/XF/Template/Templater.php(19): inet_pton(Array)
#1 src/XF/Template/Templater.php(1186): DigitalPoint\Cloudflare\XF\Template\Templater->filterGeo(Object(SV\StandardLib\XF\Template\Templater), Array, false)
#2 internal_data/code_cache/templates/l1/s0/admin/user_ip_list.php(28): XF\Template\Templater->filter(Array, Array, false)
#3 src/XF/Template/Templater.php(1799): XF\Template\Templater->{closure:internal_data/code_cache/templates/l1/s0/admin/user_ip_list.php:4}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#4 src/addons/MaZ/AMP/Traits/Templater/XF22.php(52): XF\Template\Templater->renderTemplate('user_ip_list', Array, true, NULL)
#5 src/XF/Template/Template.php(24): MaZ\AMP\XF\Template\Templater->renderTemplate('admin:user_ip_l...', Array)
#6 src/XF/Mvc/Renderer/Json.php(86): XF\Template\Template->render()
#7 src/XF/Mvc/Renderer/Json.php(70): XF\Mvc\Renderer\Json->renderHtmlFallback('XF:User\\IpList', 'admin:user_ip_l...', Array)
#8 src/XF/Mvc/Dispatcher.php(471): XF\Mvc\Renderer\Json->renderView('XF:User\\IpList', 'admin:user_ip_l...', Array)
#9 src/XF/Mvc/Dispatcher.php(453): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#10 src/XF/Mvc/Dispatcher.php(412): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#11 src/XF/Mvc/Dispatcher.php(66): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'json')
#12 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#13 src/XF.php(806): XF\App->run()
#14 admin.php(15): XF::runApp('XF\\Admin\\App')
#15 {main}

Request state
array(4) {
  ["url"] => string(189) "/admin.php?users/user101.101/user-ips&_xfResponseType=json&_xfWithData=1&_xfRequestUri=%2Fadmin.php%3Fusers%2Fuser101.101%2Fedit&_xfToken=1740537274%2Cec65ff442b09bb49f5d242895e4a3548"
  ["referrer"] => string(56) "https://xf23.com/admin.php?users/user101.101/edit"
  ["_GET"] => array(5) {
    ["users/user101_101/user-ips"] => string(0) ""
    ["_xfResponseType"] => string(4) "json"
    ["_xfWithData"] => string(1) "1"
    ["_xfRequestUri"] => string(36) "/admin.php?users/user101.101/edit"
    ["_xfToken"] => string(43) "1740537274,ec65ff442b09bb49f5d242895e4a3548"
  }
  ["_POST"] => array(0) {
  }
}
 
Full error log:
PHP:
Server error log

TypeError: Template admin:user_ip_list error: inet_pton(): Argument #1 ($ip) must be of type string, array given src/addons/DigitalPoint/Cloudflare/XF/Template/Templater.php:19

Generated by: Admin Feb 26, 2025 at 10:34 AM

Stack trace
#0 src/addons/DigitalPoint/Cloudflare/XF/Template/Templater.php(19): inet_pton(Array)
#1 src/XF/Template/Templater.php(1186): DigitalPoint\Cloudflare\XF\Template\Templater->filterGeo(Object(SV\StandardLib\XF\Template\Templater), Array, false)
#2 internal_data/code_cache/templates/l1/s0/admin/user_ip_list.php(28): XF\Template\Templater->filter(Array, Array, false)
#3 src/XF/Template/Templater.php(1799): XF\Template\Templater->{closure:internal_data/code_cache/templates/l1/s0/admin/user_ip_list.php:4}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#4 src/addons/MaZ/AMP/Traits/Templater/XF22.php(52): XF\Template\Templater->renderTemplate('user_ip_list', Array, true, NULL)
#5 src/XF/Template/Template.php(24): MaZ\AMP\XF\Template\Templater->renderTemplate('admin:user_ip_l...', Array)
#6 src/XF/Mvc/Renderer/Json.php(86): XF\Template\Template->render()
#7 src/XF/Mvc/Renderer/Json.php(70): XF\Mvc\Renderer\Json->renderHtmlFallback('XF:User\\IpList', 'admin:user_ip_l...', Array)
#8 src/XF/Mvc/Dispatcher.php(471): XF\Mvc\Renderer\Json->renderView('XF:User\\IpList', 'admin:user_ip_l...', Array)
#9 src/XF/Mvc/Dispatcher.php(453): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#10 src/XF/Mvc/Dispatcher.php(412): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#11 src/XF/Mvc/Dispatcher.php(66): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'json')
#12 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#13 src/XF.php(806): XF\App->run()
#14 admin.php(15): XF::runApp('XF\\Admin\\App')
#15 {main}

Request state
array(4) {
  ["url"] => string(189) "/admin.php?users/user101.101/user-ips&_xfResponseType=json&_xfWithData=1&_xfRequestUri=%2Fadmin.php%3Fusers%2Fuser101.101%2Fedit&_xfToken=1740537274%2Cec65ff442b09bb49f5d242895e4a3548"
  ["referrer"] => string(56) "https://xf23.com/admin.php?users/user101.101/edit"
  ["_GET"] => array(5) {
    ["users/user101_101/user-ips"] => string(0) ""
    ["_xfResponseType"] => string(4) "json"
    ["_xfWithData"] => string(1) "1"
    ["_xfRequestUri"] => string(36) "/admin.php?users/user101.101/edit"
    ["_xfToken"] => string(43) "1740537274,ec65ff442b09bb49f5d242895e4a3548"
  }
  ["_POST"] => array(0) {
  }
}
Fixed for next version... looks like it might only be an issue with newest versions of PHP.
 
ADMIN > USER > View IPs

Code:
TypeError: Template admin:user_ip_list error: inet_pton(): Argument #1 ($ip) must be of type string, array given src/addons/DigitalPoint/Cloudflare/XF/Template/Templater.php:19
Generated by: admin Feb 26, 2025 at 1:30 PM
Stack trace
#0 src/addons/DigitalPoint/Cloudflare/XF/Template/Templater.php(19): inet_pton(Array)
#1 src/XF/Template/Templater.php(1186): DigitalPoint\Cloudflare\XF\Template\Templater->filterGeo(Object(SV\LazyImageLoader\XF\Template\Templater), Array, false)
#2 internal_data/code_cache/templates/l1/s0/admin/user_ip_list.php(28): XF\Template\Templater->filter(Array, Array, false)
#3 src/XF/Template/Templater.php(1799): XF\Template\Templater->{closure}(Object(SV\LazyImageLoader\XF\Template\Templater), Array, NULL)
#4 src/addons/MaZ/AMP/Traits/Templater/XF22.php(52): XF\Template\Templater->renderTemplate('user_ip_list', Array, true, NULL)
#5 src/addons/MaZ/AUN/XF/Template/Templater.php(39): MaZ\AMP\XF\Template\Templater->renderTemplate('admin:user_ip_l...', Array, true, NULL)
#6 src/XF/Template/Template.php(24): MaZ\AUN\XF\Template\Templater->renderTemplate('admin:user_ip_l...', Array)
#7 src/XF/Mvc/Renderer/Json.php(86): XF\Template\Template->render()
#8 src/XF/Mvc/Renderer/Json.php(70): XF\Mvc\Renderer\Json->renderHtmlFallback('XF:User\\IpList', 'admin:user_ip_l...', Array)
#9 src/XF/Mvc/Dispatcher.php(471): XF\Mvc\Renderer\Json->renderView('XF:User\\IpList', 'admin:user_ip_l...', Array)
#10 src/XF/Mvc/Dispatcher.php(453): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#11 src/XF/Mvc/Dispatcher.php(412): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#12 src/XF/Mvc/Dispatcher.php(66): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'json')
#13 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#14 src/XF.php(806): XF\App->run()
#15 admin.php(15): XF::runApp('XF\\Admin\\App')
#16 {main}
Request state
array(4) {
  ["url"] => string(199) "/admin.php?users/removed.2000379003/user-ips&_xfResponseType=json&_xfWithData=1&_xfRequestUri=%2Fadmin.php%3Fusers%2Fremoved.2000379003%2Fedit&_xfToken=1740576635%2C450dfcd866e7b10401dd91c4d4856d0e"
  ["referrer"] => string(67) "https://forum.domain.com/admin.php?users/removed.2000379003/edit"
  ["_GET"] => array(5) {
    ["users/removed_2000379003/user-ips"] => string(0) ""
    ["_xfResponseType"] => string(4) "json"
    ["_xfWithData"] => string(1) "1"
    ["_xfRequestUri"] => string(41) "/admin.php?users/removed.2000379003/edit"
    ["_xfToken"] => string(43) "1740576635,450dfcd866e7b10401dd91c4d4856d0e"
  }
  ["_POST"] => array(0) {
  }
}

PHP Version 8.3.17
 
@digitalpoint

Getting this error when trying to use the spam cleaner from the front end with the check IPs option enabled. Seems everything else runs fine prior to the error.

Error Log

Code:
Server error log

    ErrorException: [E_DEPRECATED] Use of "parent" in callables is deprecated src/addons/DigitalPoint/Cloudflare/XF/Pub/View/SpamCleaner/CheckIps.php:40

    Generated by: Admin Sep 11, 2024 at 12:43 PM

Stack trace

#0 [internal function]: XF::handlePhpError(8192, '[E_DEPRECATED] ...', '/home/xf/p...', 40)
#1 src/addons/DigitalPoint/Cloudflare/XF/Pub/View/SpamCleaner/CheckIps.php(40): is_callable('parent::renderJ...')
#2 src/XF/Mvc/Renderer/AbstractRenderer.php(92): DigitalPoint\Cloudflare\XF\Pub\View\SpamCleaner\CheckIps->renderJson()
#3 src/XF/Mvc/Renderer/Json.php(65): XF\Mvc\Renderer\AbstractRenderer->renderViewObject('XF:SpamCleaner\\...', 'public:spam_cle...', Array)
#4 src/XF/Mvc/Dispatcher.php(471): XF\Mvc\Renderer\Json->renderView('XF:SpamCleaner\\...', 'public:spam_cle...', Array)
#5 src/XF/Mvc/Dispatcher.php(453): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#6 src/XF/Mvc/Dispatcher.php(412): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#7 src/XF/Mvc/Dispatcher.php(66): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'json')
#8 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#9 src/XF.php(806): XF\App->run()
#10 index.php(23): XF::runApp('XF\\Pub\\App')
#11 {main}

Request state

array(4) {
  ["url"] => string(31) "/spam-cleaner/member.277/"
  ["referrer"] => string(52) "https://sub.domain.com/members/member.277/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(6) {
    ["_xfToken"] => string(8) "********"
    ["check_ips"] => string(1) "1"
    ["no_redirect"] => string(1) "1"
    ["_xfResponseType"] => string(4) "json"
    ["_xfWithData"] => string(1) "1"
    ["_xfRequestUri"] => string(26) "/members/member.277/"
  }
}

Console

View attachment 310736
If you replace this:

PHP:
if (is_callable('parent::renderJson'))

with this:

PHP:
if (method_exists(get_parent_class($this), 'renderJson'))

Does it work as expected?

Completely forgot about this error before seeing it again just now, this time on approval_queue with a different PHP file. Running XF 2.2.17 and PHP 8.2, if it matters.

1740598641450.webp

Regarding the original error, I see you updated the code in CheckIps.php and I just verified it is working correctly :)
 
Hello

Thank you for your exceptional addon as always.

Since the new update the viewing of IP addresses not longer work and produces an errorin the admincp.

Code:
#0 src/addons/DigitalPoint/Cloudflare/XF/Template/Templater.php(19): inet_pton(Array)
#1 src/XF/Template/Templater.php(1085): DigitalPoint\Cloudflare\XF\Template\Templater->filterGeo(Object(NF\Tickets\XF\Template\Templater), Array, false)
#2 internal_data/code_cache/templates/l1/s0/admin/user_ip_list.php(28): XF\Template\Templater->filter(Array, Array, false)
#3 src/XF/Template/Templater.php(1655): XF\Template\Templater->{closure}(Object(NF\Tickets\XF\Template\Templater), Array, NULL)
#4 src/addons/XFCoder/CustomAds/XF/Template/Templater.php(58): XF\Template\Templater->renderTemplate('user_ip_list', Array, true, NULL)
#5 src/XF/Template/Template.php(24): XFCoder\CustomAds\XF\Template\Templater->renderTemplate('admin:user_ip_l...', Array)
#6 src/XF/Mvc/Renderer/Json.php(86): XF\Template\Template->render()
#7 src/XF/Mvc/Renderer/Json.php(70): XF\Mvc\Renderer\Json->renderHtmlFallback('XF:User\\IpList', 'admin:user_ip_l...', Array)
#8 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Json->renderView('XF:User\\IpList', 'admin:user_ip_l...', Array)
#9 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#10 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#11 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'json')
#12 src/XF/App.php(2513): XF\Mvc\Dispatcher->run()
#13 src/XF.php(524): XF\App->run()
 
Hello

Thank you for your exceptional addon as always.

Since the new update the viewing of IP addresses not longer work and produces an errorin the admincp.

Code:
#0 src/addons/DigitalPoint/Cloudflare/XF/Template/Templater.php(19): inet_pton(Array)
#1 src/XF/Template/Templater.php(1085): DigitalPoint\Cloudflare\XF\Template\Templater->filterGeo(Object(NF\Tickets\XF\Template\Templater), Array, false)
#2 internal_data/code_cache/templates/l1/s0/admin/user_ip_list.php(28): XF\Template\Templater->filter(Array, Array, false)
#3 src/XF/Template/Templater.php(1655): XF\Template\Templater->{closure}(Object(NF\Tickets\XF\Template\Templater), Array, NULL)
#4 src/addons/XFCoder/CustomAds/XF/Template/Templater.php(58): XF\Template\Templater->renderTemplate('user_ip_list', Array, true, NULL)
#5 src/XF/Template/Template.php(24): XFCoder\CustomAds\XF\Template\Templater->renderTemplate('admin:user_ip_l...', Array)
#6 src/XF/Mvc/Renderer/Json.php(86): XF\Template\Template->render()
#7 src/XF/Mvc/Renderer/Json.php(70): XF\Mvc\Renderer\Json->renderHtmlFallback('XF:User\\IpList', 'admin:user_ip_l...', Array)
#8 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Json->renderView('XF:User\\IpList', 'admin:user_ip_l...', Array)
#9 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#10 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#11 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'json')
#12 src/XF/App.php(2513): XF\Mvc\Dispatcher->run()
#13 src/XF.php(524): XF\App->run()
 
Code:
     TypeError: Template admin:user_ip_list error: inet_pton(): Argument #1 ($ip) must be of type string, array given src/addons/DigitalPoint/Cloudflare/XF/Template/Templater.php:19
 
Hey @digitalpoint, I want to give a fix solution here,

@cloudpro @MentaL, go to src/addons/DigitalPoint/Cloudflare/XF/Template/Templater.php and open and edit Templater.php then find filterGeo() function:

Before:
PHP:
    public function filterGeo($templater, $value, &$escape, $item = null)
    {
        $binaryValue = @inet_pton($value);
        if ($binaryValue === false)
        {
            $binaryValue = $value;
        }
        $ipObject = \XF::finder('DigitalPoint\Cloudflare:IpGeo')
            ->where(['ip' => $binaryValue])
            ->fetchOne();
        if ($ipObject === null && is_callable('parent::filterGeo'))
        {
            $ipObject = parent::filterGeo($templater, $binaryValue, $escape, $item);
        }
        if ($ipObject !== null && $item !== null && !empty($ipObject[$item]))
        {
            return $ipObject[$item];
        }
        return $ipObject;
    }

After:
PHP:
    public function filterGeo($templater, $value, &$escape, $item = null)
    {
        if (is_array($value)) {
            return $value;
        }
        $binaryValue = @inet_pton($value);
        if ($binaryValue === false)
        {
            $binaryValue = $value;
        }
        $ipObject = \XF::finder('DigitalPoint\Cloudflare:IpGeo')
            ->where(['ip' => $binaryValue])
            ->fetchOne();
        if ($ipObject === null && is_callable('parent::filterGeo'))
        {
            $ipObject = parent::filterGeo($templater, $binaryValue, $escape, $item);
        }
        if ($ipObject !== null && $item !== null && !empty($ipObject[$item]))
        {
            return $ipObject[$item];
        }
        return $ipObject;
    }

The error should be gone because a filterGeo is trying to process the array instead of a string User IP address.
 
Completely forgot about this error before seeing it again just now, this time on approval_queue with a different PHP file. Running XF 2.2.17 and PHP 8.2, if it matters.

View attachment 319576

Just updated to 1.9.0.3 and it looks like this is still an issue. I know you didn't address it in the update notes, just want to make sure it doesn't get buried :)
 
Just updated to 1.9.0.3 and it looks like this is still an issue. I know you didn't address it in the update notes, just want to make sure it doesn't get buried :)
Ya, I missed it, sorry... in the src/addons/DigitalPoint\Cloudflare\XF\Template\Templater.php file, if you change this:
PHP:
if ($ipObject === null && is_callable('parent::filterGeo'))

to this...
PHP:
if ($ipObject === null && method_exists(get_parent_class($this), 'filterGeo'))

Hopefully that should fix it for you? Stupid is_callable().
 
Ya, I missed it, sorry... in the src/addons/DigitalPoint\Cloudflare\XF\Template\Templater.php file, if you change this:
PHP:
if ($ipObject === null && is_callable('parent::filterGeo'))

to this...
PHP:
if ($ipObject === null && method_exists(get_parent_class($this), 'filterGeo'))

Hopefully that should fix it for you? Stupid is_callable().

That seemed to do the trick, thanks! Will this be in the next update? If so, I'd prefer to wait for our production sites.
 
That seemed to do the trick, thanks! Will this be in the next update? If so, I'd prefer to wait for our production sites.
It is, yes... but I can't give you a timeline on when that will be released. Currently it's the only change for the next version, and I don't particularly love pushing out an update for each individual thing.
 
Back
Top Bottom