/** * @param Request $request * @param array $matches * * @return bool|ServerModule|mixed|null */ private function getServerModule(Request $request, array $matches) { $moduleName = $matches[2]; $server = $request->getServerManager()->getDatabaseServer(); $serverModule = null; foreach ($server->getModules() as $item) { $name = strtolower(str_replace('Module', '', $item->getModule()->getName())); if ($name === strtolower($moduleName)) { $serverModule = $item; break; } } if (empty($serverModule)) { $request->reply("\"{$moduleName}\" is not a valid module name."); return false; } if (!$serverModule->getModule()->isDisableable()) { $request->reply("\"{$moduleName}\" is not disableable."); return false; } return $serverModule; }