[Andrew] Moderator Panel

[Andrew] Moderator Panel 2.0.9

No permission to download
I found this idk if relevant to this add-on or something else:


Code:
Server error log
ErrorException: Template error: [E_USER_WARNING] Method hasStyle is not callable on the given object (Andrew\ModeratorPanel\XF\Entity\User) src/XF/Template/Templater.php:1277
Generated by: Unknown account Mar 14, 2025 at 5:48 PM
Stack trace
#0 [internal function]: XF\Template\Templater->handleTemplateError(512, '[E_USER_WARNING...', '/srv/users/serv...', 1277)
#1 src/XF/Template/Templater.php(1277): trigger_error('Method hasStyle...', 512)
#2 internal_data/code_cache/templates/l1/s1/public/message_macros.php(16): XF\Template\Templater->method(Object(Andrew\ModeratorPanel\XF\Entity\User), 'hasStyle', Array)
#3 src/XF/Template/Templater.php(921): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#4 internal_data/code_cache/templates/l1/s1/public/post_macros.php(25): XF\Template\Templater->callMacro('message_macros', 'user_info', Array, Array)
#5 src/XF/Template/Templater.php(1092): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#6 src/XF/Template/Templater.php(1028): XF\Template\Templater->renderExtensionInternal('user_cell', Array, Array, Object(XF\Template\ExtensionSet))
#7 internal_data/code_cache/templates/l1/s1/public/post_macros.php(148): XF\Template\Templater->renderExtension('user_cell', Array, Object(XF\Template\ExtensionSet))
#8 src/XF/Template/Templater.php(1092): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#9 src/XF/Template/Templater.php(1028): XF\Template\Templater->renderExtensionInternal('full_body', Array, Array, Object(XF\Template\ExtensionSet))
#10 internal_data/code_cache/templates/l1/s1/public/post_macros.php(192): XF\Template\Templater->renderExtension('full_body', Array, Object(XF\Template\ExtensionSet))
#11 src/XF/Template/Templater.php(921): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#12 src/XF/Template/Templater.php(912): XF\Template\Templater->callMacro('post_macros', 'post', Array, Array, Object(XF\Template\MacroState))
#13 internal_data/code_cache/templates/l1/s1/public/thread_view.php(874): XF\Template\Templater->callMacro('post_question_m...', 'answer', Array, Array)
#14 src/XF/Template/Templater.php(1799): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#15 src/XF/Template/Templater.php(1790): XF\Template\Templater->renderTemplate('thread_view', Array, true, Object(XF\Template\ExtensionSet))
#16 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('thread_view_typ...', Array)
#17 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#18 src/XF/Mvc/Dispatcher.php(471): XF\Mvc\Renderer\Html->renderView('XF:Thread\\ViewT...', 'public:thread_v...', Array)
#19 src/XF/Mvc/Dispatcher.php(453): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#20 src/XF/Mvc/Dispatcher.php(412): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#21 src/XF/Mvc/Dispatcher.php(66): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#22 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#23 src/XF.php(806): XF\App->run()
#24 index.php(23): XF::runApp('XF\\Pub\\App')
#25 {main}
Request state
array(4) {
  ["url"] => string(63) "/threads/which-ps-vita-emulator-is-the-best-on-steam-deck.2504/"
  ["referrer"] => bool(false)
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
 
Ugh...I'm unsure what this add-on does.

I'm looking to force two users to ignore each other.

When I install it, all I see is a panel in the Options section. Nothing is showing up in the permissions.
 
When searching for a user by IP-address in moderator panel

Bildschirm­foto 2025-04-03 um 14.00.20.webp

... I get the following error:

LogicException: Could not find repository 'XF\Repository\IpRepository' for 'XF\Repository\IpRepository' in src/XF/Mvc/Entity/Manager.php at line 260
  1. XF\Mvc\Entity\Manager->getRepository() in src/XF/Mvc/Controller.php at line 1020
  2. XF\Mvc\Controller->repository() in src/addons/Andrew/ModeratorPanel/Pub/Controller/User.php at line 451
  3. Andrew\ModeratorPanel\Pub\Controller\User->actionIpUsers() in src/XF/Mvc/Dispatcher.php at line 352
  4. XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 259
  5. XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 115
  6. XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 57
  7. XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2513
  8. XF\App->run() in src/XF.php at line 524
  9. XF::runApp() in index.php at line 20
I'm running XF 2.2.17 along with MP 2.0.9. Obviously unsure if the error comes from Moderator Panel or if it is within XF itself. As I've probably never used the functionality before I've no clue wether the error is new or has been there for a while already.
 
When searching for a user by IP-address in moderator panel

View attachment 321074

... I get the following error:

LogicException: Could not find repository 'XF\Repository\IpRepository' for 'XF\Repository\IpRepository' in src/XF/Mvc/Entity/Manager.php at line 260
  1. XF\Mvc\Entity\Manager->getRepository() in src/XF/Mvc/Controller.php at line 1020
  2. XF\Mvc\Controller->repository() in src/addons/Andrew/ModeratorPanel/Pub/Controller/User.php at line 451
  3. Andrew\ModeratorPanel\Pub\Controller\User->actionIpUsers() in src/XF/Mvc/Dispatcher.php at line 352
  4. XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 259
  5. XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 115
  6. XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 57
  7. XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2513
  8. XF\App->run() in src/XF.php at line 524
  9. XF::runApp() in index.php at line 20
I'm running XF 2.2.17 along with MP 2.0.9. Obviously unsure if the error comes from Moderator Panel or if it is within XF itself. As I've probably never used the functionality before I've no clue wether the error is new or has been there for a while already.
 
@MentaL Points in the same direction, not sure that it is the same issue. I am searching for an IP address that I put in whereas the bug you mentioned refers to the functionality of finding IP addresses in use by two users and failing if one of these users has been deleted. I do however get the error message even if I search for my own IP address (and I am obviously not a deleted user :) on my forum and no other user shared it with me). Same goes for the IPs of other users when searching for IP addresses.
However: When starting the search with a user name IP search as well as "shared IP" search do work as expected.
 
@MentaL Points in the same direction, not sure that it is the same issue. I am searching for an IP address that I put in whereas the bug you mentioned refers to the functionality of finding IP addresses in use by two users and failing if one of these users has been deleted. I do however get the error message even if I search for my own IP address (and I am obviously not a deleted user :) on my forum and no other user shared it with me). Same goes for the IPs of other users when searching for IP addresses.
However: When starting the search with a user name IP search as well as "shared IP" search do work as expected.

you stated you're running XF 2.2.17 whereas I linked to it being patched in release 2.3.1.
 
When searching for a user by IP-address in moderator panel

View attachment 321074

... I get the following error:

LogicException: Could not find repository 'XF\Repository\IpRepository' for 'XF\Repository\IpRepository' in src/XF/Mvc/Entity/Manager.php at line 260
  1. XF\Mvc\Entity\Manager->getRepository() in src/XF/Mvc/Controller.php at line 1020
  2. XF\Mvc\Controller->repository() in src/addons/Andrew/ModeratorPanel/Pub/Controller/User.php at line 451
  3. Andrew\ModeratorPanel\Pub\Controller\User->actionIpUsers() in src/XF/Mvc/Dispatcher.php at line 352
  4. XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 259
  5. XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 115
  6. XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 57
  7. XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2513
  8. XF\App->run() in src/XF.php at line 524
  9. XF::runApp() in index.php at line 20
I'm running XF 2.2.17 along with MP 2.0.9. Obviously unsure if the error comes from Moderator Panel or if it is within XF itself. As I've probably never used the functionality before I've no clue wether the error is new or has been there for a while already.
I can confirm the bug is for any version of MP running on XF 2.2. I will work on a fix.
 
you stated you're running XF 2.2.17 whereas I linked to it being patched in release 2.3.1.
No, it is a different issue, having race conditions that are not met here (deleted user). The functionality works perfectly fine on 2.2.17 when called from the backend/ACP as it turned out. So it is a bug in MP on 2.2.x as @AndrewSimm confirmed.
 
The issue is IP::BinaryToString doesn't exist in XF 2.2.

This will be the fix in Andrew\ModeratorPanel\Pub\Controller\User.php:

Code:
            if(\XF::$versionId < 2030000)
            {
                $ips = $ipRepo->getUsersByIp($parsed['startRange']);
            } else {
                $ips = $ipRepo->getUsersByIp(
                    Ip::binaryToString($parsed['startRange'])
                );
            }
 
Back
Top Bottom