NealC
Well-known member
Yes, Windows. I'd prefer not to see the text but like the flags. Maybe an option would be to hide it on Windows so it's flags or nothing?The operating system you use. Microsoft doesn’t allow Windows to show the actual flag.
Yes, Windows. I'd prefer not to see the text but like the flags. Maybe an option would be to hide it on Windows so it's flags or nothing?The operating system you use. Microsoft doesn’t allow Windows to show the actual flag.
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.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}
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.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) { } }
I'm using PHP 8.4.4, thank you.looks like it might only be an issue with newest versions of PHP.
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) {
}
}
@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?
approval_queue with a different PHP file. Running XF 2.2.17 and PHP 8.2, if it matters.
CheckIps.php and I just verified it is working correctly Thanks for fix. Can confirm that 8.3.16 is also affected.Fixed for next version... looks like it might only be an issue with newest versions of PHP.
#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()
src/addons/DigitalPoint/Cloudflare/XF/Template/Templater.php and open and edit Templater.php then find filterGeo() function: 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;
}
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;
}
- Fixed issue with geo-location of user IPs in admin area on latest versions of PHP
- Fixed issue with geo-location when users are viewing their own IP addresses (when using Security addon)
Completely forgot about this error before seeing it again just now, this time onapproval_queuewith a different PHP file. Running XF 2.2.17 and PHP 8.2, if it matters.
View attachment 319576
Ya, I missed it, sorry... in the src/addons/DigitalPoint\Cloudflare\XF\Template\Templater.php file, if you change this: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![]()
if ($ipObject === null && is_callable('parent::filterGeo'))
if ($ipObject === null && method_exists(get_parent_class($this), 'filterGeo'))
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().
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.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.
We use essential cookies to make this site work, and optional cookies to enhance your experience.