X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FLegacyModule.php;h=88aa418201cb81c4250b1c2c4f7b1e8c44f9043e;hb=f23ecaff6af1982112469f90d6bcdf0408b0f22e;hp=737101b5c287ac911fa2649344bf41218cf423ba;hpb=8821d33f73785884cfce83e7b23d3ef19cc1bc11;p=friendica.git diff --git a/src/LegacyModule.php b/src/LegacyModule.php index 737101b5c2..88aa418201 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,42 +40,44 @@ 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. * * @param string $file_path + * @throws \Exception */ - public static function setModuleFile($file_path) + private function setModuleFile(string $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() + protected function content(array $request = []): string { - self::runModuleFunction('init'); + return $this->runModuleFunction('content'); } - public static function content() + protected function post(array $request = []) { - return self::runModuleFunction('content'); - } + parent::post($request); - public static function post() - { - self::runModuleFunction('post'); - } - - public static function afterpost() - { - self::runModuleFunction('afterpost'); + $this->runModuleFunction('post'); } /** @@ -59,15 +85,17 @@ class LegacyModule extends BaseModule * * @param string $function_suffix * @return string + * @throws \Exception */ - private static function runModuleFunction($function_suffix) + private function runModuleFunction(string $function_suffix): string { - $function_name = static::$moduleName . '_' . $function_suffix; + $function_name = $this->moduleName . '_' . $function_suffix; if (\function_exists($function_name)) { - return $function_name(self::getApp()); - } else { - return parent::{$function_suffix}(); + $a = DI::app(); + return $function_name($a) ?? ''; } + + return ''; } }