X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FLegacyModule.php;h=22d393ef9eda1e5706360e209efc74dc264cfcc6;hb=a662245c744f4d2faa1b533977f7d21b4de6a724;hp=950f8faad213868f028e59cf5802262157524b21;hpb=8c03bdada92845974ecadeecb9e673c7ffac22b4;p=friendica.git diff --git a/src/LegacyModule.php b/src/LegacyModule.php index 950f8faad2..22d393ef9e 100644 --- a/src/LegacyModule.php +++ b/src/LegacyModule.php @@ -1,7 +1,31 @@ . + * + */ namespace Friendica; +use Friendica\Core\L10n; +use Friendica\Module\Response; +use Friendica\Util\Profiler; +use Psr\Log\LoggerInterface; + /** * This mock module enable class encapsulation of legacy global function modules. * After having provided the module file name, all the methods will behave like a normal Module class. @@ -16,7 +40,16 @@ class LegacyModule extends BaseModule * * @var string */ - private static $moduleName = ''; + private $moduleName = ''; + + public function __construct(L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, array $server, string $file_path = '', array $parameters = []) + { + parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters); + + $this->setModuleFile($file_path); + + $this->runModuleFunction('init'); + } /** * The only method that needs to be called, with the module/addon file name. @@ -24,35 +57,27 @@ class LegacyModule extends BaseModule * @param string $file_path * @throws \Exception */ - public static function setModuleFile($file_path) + private function setModuleFile($file_path) { if (!is_readable($file_path)) { - throw new \Exception(Core\L10n::t('Legacy module file not found: %s', $file_path)); + throw new \Exception(DI::l10n()->t('Legacy module file not found: %s', $file_path)); } - self::$moduleName = basename($file_path, '.php'); + $this->moduleName = basename($file_path, '.php'); require_once $file_path; } - public static function init(array $parameters = []) + protected function content(array $request = []): string { - self::runModuleFunction('init', $parameters); + return $this->runModuleFunction('content'); } - public static function content(array $parameters = []) + protected function post(array $request = []) { - return self::runModuleFunction('content', $parameters); - } + parent::post($request); - public static function post(array $parameters = []) - { - self::runModuleFunction('post', $parameters); - } - - public static function afterpost(array $parameters = []) - { - self::runModuleFunction('afterpost', $parameters); + $this->runModuleFunction('post'); } /** @@ -62,15 +87,15 @@ class LegacyModule extends BaseModule * @return string * @throws \Exception */ - private static function runModuleFunction($function_suffix, array $parameters = []) + private function runModuleFunction(string $function_suffix) { - $function_name = static::$moduleName . '_' . $function_suffix; + $function_name = $this->moduleName . '_' . $function_suffix; if (\function_exists($function_name)) { - $a = self::getApp(); - return $function_name($a); - } else { - return parent::{$function_suffix}($parameters); + $a = DI::app(); + return $function_name($a) ?? ''; } + + return ''; } }