mirror of
https://github.com/friendica/friendica
synced 2024-11-09 17:02:54 +00:00
Refactor App\Module to App\ModuleController and rename properties
This commit is contained in:
parent
8f741c8b78
commit
c95d47b0b4
9 changed files with 93 additions and 92 deletions
|
@ -41,7 +41,7 @@ $a = \Friendica\DI::app();
|
||||||
\Friendica\DI::mode()->setExecutor(\Friendica\App\Mode::INDEX);
|
\Friendica\DI::mode()->setExecutor(\Friendica\App\Mode::INDEX);
|
||||||
|
|
||||||
$a->runFrontend(
|
$a->runFrontend(
|
||||||
$dice->create(\Friendica\App\Module::class),
|
$dice->create(\Friendica\App\ModuleController::class),
|
||||||
$dice->create(\Friendica\App\Router::class),
|
$dice->create(\Friendica\App\Router::class),
|
||||||
$dice->create(\Friendica\Core\PConfig\Capability\IManagePersonalConfigValues::class),
|
$dice->create(\Friendica\Core\PConfig\Capability\IManagePersonalConfigValues::class),
|
||||||
$dice->create(\Friendica\Security\Authentication::class),
|
$dice->create(\Friendica\Security\Authentication::class),
|
||||||
|
|
12
src/App.php
12
src/App.php
|
@ -25,7 +25,7 @@ use Dice\Dice;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Friendica\App\Arguments;
|
use Friendica\App\Arguments;
|
||||||
use Friendica\App\BaseURL;
|
use Friendica\App\BaseURL;
|
||||||
use Friendica\App\Module;
|
use Friendica\App\ModuleController;
|
||||||
use Friendica\Core\Config\Factory\Config;
|
use Friendica\Core\Config\Factory\Config;
|
||||||
use Friendica\Module\Maintenance;
|
use Friendica\Module\Maintenance;
|
||||||
use Friendica\Security\Authentication;
|
use Friendica\Security\Authentication;
|
||||||
|
@ -567,16 +567,16 @@ class App
|
||||||
*
|
*
|
||||||
* This probably should change to limit the size of this monster method.
|
* This probably should change to limit the size of this monster method.
|
||||||
*
|
*
|
||||||
* @param App\Module $module The determined module
|
* @param App\ModuleController $module The determined module
|
||||||
* @param App\Router $router
|
* @param App\Router $router
|
||||||
* @param IManagePersonalConfigValues $pconfig
|
* @param IManagePersonalConfigValues $pconfig
|
||||||
* @param Authentication $auth The Authentication backend of the node
|
* @param Authentication $auth The Authentication backend of the node
|
||||||
* @param App\Page $page The Friendica page printing container
|
* @param App\Page $page The Friendica page printing container
|
||||||
*
|
*
|
||||||
* @throws HTTPException\InternalServerErrorException
|
* @throws HTTPException\InternalServerErrorException
|
||||||
* @throws \ImagickException
|
* @throws \ImagickException
|
||||||
*/
|
*/
|
||||||
public function runFrontend(App\Module $module, App\Router $router, IManagePersonalConfigValues $pconfig, Authentication $auth, App\Page $page, Dice $dice, float $start_time)
|
public function runFrontend(App\ModuleController $module, App\Router $router, IManagePersonalConfigValues $pconfig, Authentication $auth, App\Page $page, Dice $dice, float $start_time)
|
||||||
{
|
{
|
||||||
$this->profiler->set($start_time, 'start');
|
$this->profiler->set($start_time, 'start');
|
||||||
$this->profiler->set(microtime(true), 'classinit');
|
$this->profiler->set(microtime(true), 'classinit');
|
||||||
|
@ -703,7 +703,7 @@ class App
|
||||||
$page['page_title'] = $moduleName;
|
$page['page_title'] = $moduleName;
|
||||||
|
|
||||||
if (!$this->mode->isInstall() && !$this->mode->has(App\Mode::MAINTENANCEDISABLED)) {
|
if (!$this->mode->isInstall() && !$this->mode->has(App\Mode::MAINTENANCEDISABLED)) {
|
||||||
$module = new Module('maintenance', new Maintenance());
|
$module = new ModuleController('maintenance', new Maintenance());
|
||||||
} else {
|
} else {
|
||||||
// determine the module class and save it to the module instance
|
// determine the module class and save it to the module instance
|
||||||
// @todo there's an implicit dependency due SESSION::start(), so it has to be called here (yet)
|
// @todo there's an implicit dependency due SESSION::start(), so it has to be called here (yet)
|
||||||
|
|
|
@ -139,14 +139,14 @@ class Mode
|
||||||
/**
|
/**
|
||||||
* Checks if the site is called via a backend process
|
* Checks if the site is called via a backend process
|
||||||
*
|
*
|
||||||
* @param bool $isBackend True, if the call is from a backend script (daemon, worker, ...)
|
* @param bool $isBackend True, if the call is from a backend script (daemon, worker, ...)
|
||||||
* @param Module $module The pre-loaded module (just name, not class!)
|
* @param ModuleController $module The pre-loaded module (just name, not class!)
|
||||||
* @param array $server The $_SERVER variable
|
* @param array $server The $_SERVER variable
|
||||||
* @param MobileDetect $mobileDetect The mobile detection library
|
* @param MobileDetect $mobileDetect The mobile detection library
|
||||||
*
|
*
|
||||||
* @return Mode returns the determined mode
|
* @return Mode returns the determined mode
|
||||||
*/
|
*/
|
||||||
public function determineRunMode(bool $isBackend, Module $module, array $server, MobileDetect $mobileDetect)
|
public function determineRunMode(bool $isBackend, ModuleController $module, array $server, MobileDetect $mobileDetect)
|
||||||
{
|
{
|
||||||
foreach (self::BACKEND_CONTENT_TYPES as $type) {
|
foreach (self::BACKEND_CONTENT_TYPES as $type) {
|
||||||
if (strpos(strtolower($server['HTTP_ACCEPT'] ?? ''), $type) !== false) {
|
if (strpos(strtolower($server['HTTP_ACCEPT'] ?? ''), $type) !== false) {
|
||||||
|
|
|
@ -39,7 +39,7 @@ use Psr\Log\LoggerInterface;
|
||||||
/**
|
/**
|
||||||
* Holds the common context of the current, loaded module
|
* Holds the common context of the current, loaded module
|
||||||
*/
|
*/
|
||||||
class Module
|
class ModuleController
|
||||||
{
|
{
|
||||||
const DEFAULT = 'home';
|
const DEFAULT = 'home';
|
||||||
const DEFAULT_CLASS = Home::class;
|
const DEFAULT_CLASS = Home::class;
|
||||||
|
@ -78,12 +78,12 @@ class Module
|
||||||
/**
|
/**
|
||||||
* @var string The module name
|
* @var string The module name
|
||||||
*/
|
*/
|
||||||
private $module;
|
private $moduleName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ICanHandleRequests The module class
|
* @var ICanHandleRequests The module class
|
||||||
*/
|
*/
|
||||||
private $module_class;
|
private $module;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var bool true, if the module is a backend module
|
* @var bool true, if the module is a backend module
|
||||||
|
@ -99,33 +99,33 @@ class Module
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getName()
|
public function getName()
|
||||||
|
{
|
||||||
|
return $this->moduleName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return ICanHandleRequests The base module object
|
||||||
|
*/
|
||||||
|
public function getModule(): ICanHandleRequests
|
||||||
{
|
{
|
||||||
return $this->module;
|
return $this->module;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return ICanHandleRequests The base class name
|
|
||||||
*/
|
|
||||||
public function getClass(): ICanHandleRequests
|
|
||||||
{
|
|
||||||
return $this->module_class;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return bool True, if the current module is a backend module
|
* @return bool True, if the current module is a backend module
|
||||||
* @see Module::BACKEND_MODULES for a list
|
* @see ModuleController::BACKEND_MODULES for a list
|
||||||
*/
|
*/
|
||||||
public function isBackend()
|
public function isBackend()
|
||||||
{
|
{
|
||||||
return $this->isBackend;
|
return $this->isBackend;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function __construct(string $module = self::DEFAULT, ICanHandleRequests $module_class = null, bool $isBackend = false, bool $printNotAllowedAddon = false)
|
public function __construct(string $moduleName = self::DEFAULT, ICanHandleRequests $module = null, bool $isBackend = false, bool $printNotAllowedAddon = false)
|
||||||
{
|
{
|
||||||
$defaultClass = static::DEFAULT_CLASS;
|
$defaultClass = static::DEFAULT_CLASS;
|
||||||
|
|
||||||
$this->module = $module;
|
$this->moduleName = $moduleName;
|
||||||
$this->module_class = $module_class ?? new $defaultClass();
|
$this->module = $module ?? new $defaultClass();
|
||||||
$this->isBackend = $isBackend;
|
$this->isBackend = $isBackend;
|
||||||
$this->printNotAllowedAddon = $printNotAllowedAddon;
|
$this->printNotAllowedAddon = $printNotAllowedAddon;
|
||||||
}
|
}
|
||||||
|
@ -135,9 +135,9 @@ class Module
|
||||||
*
|
*
|
||||||
* @param Arguments $args The Friendica arguments
|
* @param Arguments $args The Friendica arguments
|
||||||
*
|
*
|
||||||
* @return Module The module with the determined module
|
* @return ModuleController The module with the determined module
|
||||||
*/
|
*/
|
||||||
public function determineModule(Arguments $args)
|
public function determineName(Arguments $args)
|
||||||
{
|
{
|
||||||
if ($args->getArgc() > 0) {
|
if ($args->getArgc() > 0) {
|
||||||
$module = str_replace('.', '_', $args->get(0));
|
$module = str_replace('.', '_', $args->get(0));
|
||||||
|
@ -151,9 +151,10 @@ class Module
|
||||||
$module = "login";
|
$module = "login";
|
||||||
}
|
}
|
||||||
|
|
||||||
$isBackend = in_array($module, Module::BACKEND_MODULES);;
|
$isBackend = in_array($module, ModuleController::BACKEND_MODULES);
|
||||||
|
;
|
||||||
|
|
||||||
return new Module($module, null, $isBackend, $this->printNotAllowedAddon);
|
return new ModuleController($module, null, $isBackend, $this->printNotAllowedAddon);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -164,7 +165,7 @@ class Module
|
||||||
* @param IManageConfigValues $config The Friendica Configuration
|
* @param IManageConfigValues $config The Friendica Configuration
|
||||||
* @param Dice $dice The Dependency Injection container
|
* @param Dice $dice The Dependency Injection container
|
||||||
*
|
*
|
||||||
* @return Module The determined module of this call
|
* @return ModuleController The determined module of this call
|
||||||
*
|
*
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
|
@ -172,7 +173,7 @@ class Module
|
||||||
{
|
{
|
||||||
$printNotAllowedAddon = false;
|
$printNotAllowedAddon = false;
|
||||||
|
|
||||||
$module_class = null;
|
$module_class = null;
|
||||||
$module_parameters = [];
|
$module_parameters = [];
|
||||||
/**
|
/**
|
||||||
* ROUTING
|
* ROUTING
|
||||||
|
@ -181,21 +182,21 @@ class Module
|
||||||
* post() and/or content() static methods can be respectively called to produce a data change or an output.
|
* post() and/or content() static methods can be respectively called to produce a data change or an output.
|
||||||
**/
|
**/
|
||||||
try {
|
try {
|
||||||
$module_class = $router->getModuleClass($args->getCommand());
|
$module_class = $router->getModuleClass($args->getCommand());
|
||||||
$module_parameters[] = $router->getModuleParameters();
|
$module_parameters[] = $router->getModuleParameters();
|
||||||
} catch (MethodNotAllowedException $e) {
|
} catch (MethodNotAllowedException $e) {
|
||||||
$module_class = MethodNotAllowed::class;
|
$module_class = MethodNotAllowed::class;
|
||||||
} catch (NotFoundException $e) {
|
} catch (NotFoundException $e) {
|
||||||
// Then we try addon-provided modules that we wrap in the LegacyModule class
|
// Then we try addon-provided modules that we wrap in the LegacyModule class
|
||||||
if (Core\Addon::isEnabled($this->module) && file_exists("addon/{$this->module}/{$this->module}.php")) {
|
if (Core\Addon::isEnabled($this->moduleName) && file_exists("addon/{$this->moduleName}/{$this->moduleName}.php")) {
|
||||||
//Check if module is an app and if public access to apps is allowed or not
|
//Check if module is an app and if public access to apps is allowed or not
|
||||||
$privateapps = $config->get('config', 'private_addons', false);
|
$privateapps = $config->get('config', 'private_addons', false);
|
||||||
if ((!local_user()) && Core\Hook::isAddonApp($this->module) && $privateapps) {
|
if ((!local_user()) && Core\Hook::isAddonApp($this->moduleName) && $privateapps) {
|
||||||
$printNotAllowedAddon = true;
|
$printNotAllowedAddon = true;
|
||||||
} else {
|
} else {
|
||||||
include_once "addon/{$this->module}/{$this->module}.php";
|
include_once "addon/{$this->moduleName}/{$this->moduleName}.php";
|
||||||
if (function_exists($this->module . '_module')) {
|
if (function_exists($this->moduleName . '_module')) {
|
||||||
$module_parameters[] = "addon/{$this->module}/{$this->module}.php";
|
$module_parameters[] = "addon/{$this->moduleName}/{$this->moduleName}.php";
|
||||||
$module_class = LegacyModule::class;
|
$module_class = LegacyModule::class;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -204,8 +205,8 @@ class Module
|
||||||
/* Finally, we look for a 'standard' program module in the 'mod' directory
|
/* Finally, we look for a 'standard' program module in the 'mod' directory
|
||||||
* We emulate a Module class through the LegacyModule class
|
* We emulate a Module class through the LegacyModule class
|
||||||
*/
|
*/
|
||||||
if (!$module_class && file_exists("mod/{$this->module}.php")) {
|
if (!$module_class && file_exists("mod/{$this->moduleName}.php")) {
|
||||||
$module_parameters[] = "mod/{$this->module}.php";
|
$module_parameters[] = "mod/{$this->moduleName}.php";
|
||||||
$module_class = LegacyModule::class;
|
$module_class = LegacyModule::class;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -215,7 +216,7 @@ class Module
|
||||||
/** @var ICanHandleRequests $module */
|
/** @var ICanHandleRequests $module */
|
||||||
$module = $dice->create($module_class, $module_parameters);
|
$module = $dice->create($module_class, $module_parameters);
|
||||||
|
|
||||||
return new Module($this->module, $module, $this->isBackend, $printNotAllowedAddon);
|
return new ModuleController($this->moduleName, $module, $this->isBackend, $printNotAllowedAddon);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -244,7 +245,7 @@ class Module
|
||||||
*
|
*
|
||||||
* Otherwise we are going to emit a 404 not found.
|
* Otherwise we are going to emit a 404 not found.
|
||||||
*/
|
*/
|
||||||
if ($this->module_class === PageNotFound::class) {
|
if ($this->module === PageNotFound::class) {
|
||||||
$queryString = $server['QUERY_STRING'];
|
$queryString = $server['QUERY_STRING'];
|
||||||
// Stupid browser tried to pre-fetch our Javascript img template. Don't log the event or return anything - just quietly exit.
|
// Stupid browser tried to pre-fetch our Javascript img template. Don't log the event or return anything - just quietly exit.
|
||||||
if (!empty($queryString) && preg_match('/{[0-9]}/', $queryString) !== 0) {
|
if (!empty($queryString) && preg_match('/{[0-9]}/', $queryString) !== 0) {
|
||||||
|
@ -295,31 +296,31 @@ class Module
|
||||||
$profiler->set(microtime(true), 'ready');
|
$profiler->set(microtime(true), 'ready');
|
||||||
$timestamp = microtime(true);
|
$timestamp = microtime(true);
|
||||||
|
|
||||||
Core\Hook::callAll($this->module . '_mod_init', $placeholder);
|
Core\Hook::callAll($this->moduleName . '_mod_init', $placeholder);
|
||||||
|
|
||||||
$this->module_class->init();
|
$this->module->init();
|
||||||
|
|
||||||
$profiler->set(microtime(true) - $timestamp, 'init');
|
$profiler->set(microtime(true) - $timestamp, 'init');
|
||||||
|
|
||||||
if ($server['REQUEST_METHOD'] === Router::DELETE) {
|
if ($server['REQUEST_METHOD'] === Router::DELETE) {
|
||||||
$this->module_class->delete();
|
$this->module->delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($server['REQUEST_METHOD'] === Router::PATCH) {
|
if ($server['REQUEST_METHOD'] === Router::PATCH) {
|
||||||
$this->module_class->patch();
|
$this->module->patch();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($server['REQUEST_METHOD'] === Router::POST) {
|
if ($server['REQUEST_METHOD'] === Router::POST) {
|
||||||
Core\Hook::callAll($this->module . '_mod_post', $post);
|
Core\Hook::callAll($this->moduleName . '_mod_post', $post);
|
||||||
$this->module_class->post();
|
$this->module->post();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($server['REQUEST_METHOD'] === Router::PUT) {
|
if ($server['REQUEST_METHOD'] === Router::PUT) {
|
||||||
$this->module_class->put();
|
$this->module->put();
|
||||||
}
|
}
|
||||||
|
|
||||||
// "rawContent" is especially meant for technical endpoints.
|
// "rawContent" is especially meant for technical endpoints.
|
||||||
// This endpoint doesn't need any theme initialization or other comparable stuff.
|
// This endpoint doesn't need any theme initialization or other comparable stuff.
|
||||||
$this->module_class->rawContent();
|
$this->module->rawContent();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -191,14 +191,14 @@ class Page implements ArrayAccess
|
||||||
* - head.tpl template
|
* - head.tpl template
|
||||||
*
|
*
|
||||||
* @param App $app The Friendica App instance
|
* @param App $app The Friendica App instance
|
||||||
* @param Module $module The loaded Friendica module
|
* @param ModuleController $module The loaded Friendica module
|
||||||
* @param L10n $l10n The l10n language instance
|
* @param L10n $l10n The l10n language instance
|
||||||
* @param IManageConfigValues $config The Friendica configuration
|
* @param IManageConfigValues $config The Friendica configuration
|
||||||
* @param IManagePersonalConfigValues $pConfig The Friendica personal configuration (for user)
|
* @param IManagePersonalConfigValues $pConfig The Friendica personal configuration (for user)
|
||||||
*
|
*
|
||||||
* @throws HTTPException\InternalServerErrorException
|
* @throws HTTPException\InternalServerErrorException
|
||||||
*/
|
*/
|
||||||
private function initHead(App $app, Module $module, L10n $l10n, IManageConfigValues $config, IManagePersonalConfigValues $pConfig)
|
private function initHead(App $app, ModuleController $module, L10n $l10n, IManageConfigValues $config, IManagePersonalConfigValues $pConfig)
|
||||||
{
|
{
|
||||||
$interval = ((local_user()) ? $pConfig->get(local_user(), 'system', 'update_interval') : 40000);
|
$interval = ((local_user()) ? $pConfig->get(local_user(), 'system', 'update_interval') : 40000);
|
||||||
|
|
||||||
|
@ -337,17 +337,17 @@ class Page implements ArrayAccess
|
||||||
* - module content
|
* - module content
|
||||||
* - hooks for content
|
* - hooks for content
|
||||||
*
|
*
|
||||||
* @param Module $module The module
|
* @param ModuleController $module The module
|
||||||
* @param Mode $mode The Friendica execution mode
|
* @param Mode $mode The Friendica execution mode
|
||||||
*
|
*
|
||||||
* @throws HTTPException\InternalServerErrorException
|
* @throws HTTPException\InternalServerErrorException
|
||||||
*/
|
*/
|
||||||
private function initContent(Module $module, Mode $mode)
|
private function initContent(ModuleController $module, Mode $mode)
|
||||||
{
|
{
|
||||||
$content = '';
|
$content = '';
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$moduleClass = $module->getClass();
|
$moduleClass = $module->getModule();
|
||||||
|
|
||||||
$arr = ['content' => $content];
|
$arr = ['content' => $content];
|
||||||
Hook::callAll($moduleClass->getClassName() . '_mod_content', $arr);
|
Hook::callAll($moduleClass->getClassName() . '_mod_content', $arr);
|
||||||
|
@ -389,14 +389,14 @@ class Page implements ArrayAccess
|
||||||
* @param App $app The Friendica App
|
* @param App $app The Friendica App
|
||||||
* @param BaseURL $baseURL The Friendica Base URL
|
* @param BaseURL $baseURL The Friendica Base URL
|
||||||
* @param Mode $mode The current node mode
|
* @param Mode $mode The current node mode
|
||||||
* @param Module $module The loaded Friendica module
|
* @param ModuleController $module The loaded Friendica module
|
||||||
* @param L10n $l10n The l10n language class
|
* @param L10n $l10n The l10n language class
|
||||||
* @param IManageConfigValues $config The Configuration of this node
|
* @param IManageConfigValues $config The Configuration of this node
|
||||||
* @param IManagePersonalConfigValues $pconfig The personal/user configuration
|
* @param IManagePersonalConfigValues $pconfig The personal/user configuration
|
||||||
*
|
*
|
||||||
* @throws HTTPException\InternalServerErrorException
|
* @throws HTTPException\InternalServerErrorException
|
||||||
*/
|
*/
|
||||||
public function run(App $app, BaseURL $baseURL, Mode $mode, Module $module, L10n $l10n, Profiler $profiler, IManageConfigValues $config, IManagePersonalConfigValues $pconfig)
|
public function run(App $app, BaseURL $baseURL, Mode $mode, ModuleController $module, L10n $l10n, Profiler $profiler, IManageConfigValues $config, IManagePersonalConfigValues $pconfig)
|
||||||
{
|
{
|
||||||
$moduleName = $module->getName();
|
$moduleName = $module->getName();
|
||||||
|
|
||||||
|
|
|
@ -99,11 +99,11 @@ abstract class DI
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return App\Module
|
* @return App\ModuleController
|
||||||
*/
|
*/
|
||||||
public static function module()
|
public static function module()
|
||||||
{
|
{
|
||||||
return self::$dice->create(App\Module::class);
|
return self::$dice->create(App\ModuleController::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -181,10 +181,10 @@ return [
|
||||||
['determine', [$_SERVER, $_GET], Dice::CHAIN_CALL],
|
['determine', [$_SERVER, $_GET], Dice::CHAIN_CALL],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
App\Module::class => [
|
App\ModuleController::class => [
|
||||||
'instanceOf' => App\Module::class,
|
'instanceOf' => App\ModuleController::class,
|
||||||
'call' => [
|
'call' => [
|
||||||
['determineModule', [], Dice::CHAIN_CALL],
|
['determineName', [], Dice::CHAIN_CALL],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
\Friendica\Core\System::class => [
|
\Friendica\Core\System::class => [
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace Friendica\Test\src\App;
|
||||||
|
|
||||||
use Detection\MobileDetect;
|
use Detection\MobileDetect;
|
||||||
use Friendica\App\Mode;
|
use Friendica\App\Mode;
|
||||||
use Friendica\App\Module;
|
use Friendica\App\ModuleController;
|
||||||
use Friendica\Core\Config\ValueObject\Cache;
|
use Friendica\Core\Config\ValueObject\Cache;
|
||||||
use Friendica\Database\Database;
|
use Friendica\Database\Database;
|
||||||
use Friendica\Test\MockedTest;
|
use Friendica\Test\MockedTest;
|
||||||
|
@ -204,7 +204,7 @@ class ModeTest extends MockedTest
|
||||||
public function testIsBackendNotIsBackend()
|
public function testIsBackendNotIsBackend()
|
||||||
{
|
{
|
||||||
$server = [];
|
$server = [];
|
||||||
$module = new Module();
|
$module = new ModuleController();
|
||||||
$mobileDetect = new MobileDetect();
|
$mobileDetect = new MobileDetect();
|
||||||
|
|
||||||
$mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect);
|
$mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect);
|
||||||
|
@ -218,7 +218,7 @@ class ModeTest extends MockedTest
|
||||||
public function testIsBackendButIndex()
|
public function testIsBackendButIndex()
|
||||||
{
|
{
|
||||||
$server = [];
|
$server = [];
|
||||||
$module = new Module(Module::DEFAULT, null, true);
|
$module = new ModuleController(ModuleController::DEFAULT, null, true);
|
||||||
$mobileDetect = new MobileDetect();
|
$mobileDetect = new MobileDetect();
|
||||||
|
|
||||||
$mode = (new Mode())->determineRunMode(false, $module, $server, $mobileDetect);
|
$mode = (new Mode())->determineRunMode(false, $module, $server, $mobileDetect);
|
||||||
|
@ -232,7 +232,7 @@ class ModeTest extends MockedTest
|
||||||
public function testIsNotBackend()
|
public function testIsNotBackend()
|
||||||
{
|
{
|
||||||
$server = [];
|
$server = [];
|
||||||
$module = new Module(Module::DEFAULT, null, false);
|
$module = new ModuleController(ModuleController::DEFAULT, null, false);
|
||||||
$mobileDetect = new MobileDetect();
|
$mobileDetect = new MobileDetect();
|
||||||
|
|
||||||
$mode = (new Mode())->determineRunMode(false, $module, $server, $mobileDetect);
|
$mode = (new Mode())->determineRunMode(false, $module, $server, $mobileDetect);
|
||||||
|
@ -250,7 +250,7 @@ class ModeTest extends MockedTest
|
||||||
'HTTP_X_REQUESTED_WITH' => 'xmlhttprequest',
|
'HTTP_X_REQUESTED_WITH' => 'xmlhttprequest',
|
||||||
];
|
];
|
||||||
|
|
||||||
$module = new Module(Module::DEFAULT, null, false);
|
$module = new ModuleController(ModuleController::DEFAULT, null, false);
|
||||||
$mobileDetect = new MobileDetect();
|
$mobileDetect = new MobileDetect();
|
||||||
|
|
||||||
$mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect);
|
$mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect);
|
||||||
|
@ -264,7 +264,7 @@ class ModeTest extends MockedTest
|
||||||
public function testIsNotAjax()
|
public function testIsNotAjax()
|
||||||
{
|
{
|
||||||
$server = [];
|
$server = [];
|
||||||
$module = new Module(Module::DEFAULT, null, false);
|
$module = new ModuleController(ModuleController::DEFAULT, null, false);
|
||||||
$mobileDetect = new MobileDetect();
|
$mobileDetect = new MobileDetect();
|
||||||
|
|
||||||
$mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect);
|
$mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect);
|
||||||
|
@ -278,7 +278,7 @@ class ModeTest extends MockedTest
|
||||||
public function testIsMobileIsTablet()
|
public function testIsMobileIsTablet()
|
||||||
{
|
{
|
||||||
$server = [];
|
$server = [];
|
||||||
$module = new Module(Module::DEFAULT, null, false);
|
$module = new ModuleController(ModuleController::DEFAULT, null, false);
|
||||||
$mobileDetect = Mockery::mock(MobileDetect::class);
|
$mobileDetect = Mockery::mock(MobileDetect::class);
|
||||||
$mobileDetect->shouldReceive('isMobile')->andReturn(true);
|
$mobileDetect->shouldReceive('isMobile')->andReturn(true);
|
||||||
$mobileDetect->shouldReceive('isTablet')->andReturn(true);
|
$mobileDetect->shouldReceive('isTablet')->andReturn(true);
|
||||||
|
@ -296,7 +296,7 @@ class ModeTest extends MockedTest
|
||||||
public function testIsNotMobileIsNotTablet()
|
public function testIsNotMobileIsNotTablet()
|
||||||
{
|
{
|
||||||
$server = [];
|
$server = [];
|
||||||
$module = new Module(Module::DEFAULT, null, false);
|
$module = new ModuleController(ModuleController::DEFAULT, null, false);
|
||||||
$mobileDetect = Mockery::mock(MobileDetect::class);
|
$mobileDetect = Mockery::mock(MobileDetect::class);
|
||||||
$mobileDetect->shouldReceive('isMobile')->andReturn(false);
|
$mobileDetect->shouldReceive('isMobile')->andReturn(false);
|
||||||
$mobileDetect->shouldReceive('isTablet')->andReturn(false);
|
$mobileDetect->shouldReceive('isTablet')->andReturn(false);
|
||||||
|
|
|
@ -35,11 +35,11 @@ use Mockery;
|
||||||
|
|
||||||
class ModuleTest extends DatabaseTest
|
class ModuleTest extends DatabaseTest
|
||||||
{
|
{
|
||||||
private function assertModule(array $assert, App\Module $module)
|
private function assertModule(array $assert, App\ModuleController $module)
|
||||||
{
|
{
|
||||||
self::assertEquals($assert['isBackend'], $module->isBackend());
|
self::assertEquals($assert['isBackend'], $module->isBackend());
|
||||||
self::assertEquals($assert['name'], $module->getName());
|
self::assertEquals($assert['name'], $module->getName());
|
||||||
self::assertEquals($assert['class'], $module->getClass());
|
self::assertEquals($assert['class'], $module->getModule());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -47,20 +47,20 @@ class ModuleTest extends DatabaseTest
|
||||||
*/
|
*/
|
||||||
public function testDefault()
|
public function testDefault()
|
||||||
{
|
{
|
||||||
$module = new App\Module();
|
$module = new App\ModuleController();
|
||||||
|
|
||||||
$defaultClass = App\Module::DEFAULT_CLASS;
|
$defaultClass = App\ModuleController::DEFAULT_CLASS;
|
||||||
|
|
||||||
self::assertModule([
|
self::assertModule([
|
||||||
'isBackend' => false,
|
'isBackend' => false,
|
||||||
'name' => App\Module::DEFAULT,
|
'name' => App\ModuleController::DEFAULT,
|
||||||
'class' => new $defaultClass(),
|
'class' => new $defaultClass(),
|
||||||
], $module);
|
], $module);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function dataModuleName()
|
public function dataModuleName()
|
||||||
{
|
{
|
||||||
$defaultClass = App\Module::DEFAULT_CLASS;
|
$defaultClass = App\ModuleController::DEFAULT_CLASS;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'default' => [
|
'default' => [
|
||||||
|
@ -88,7 +88,7 @@ class ModuleTest extends DatabaseTest
|
||||||
'withNothing' => [
|
'withNothing' => [
|
||||||
'assert' => [
|
'assert' => [
|
||||||
'isBackend' => false,
|
'isBackend' => false,
|
||||||
'name' => App\Module::DEFAULT,
|
'name' => App\ModuleController::DEFAULT,
|
||||||
'class' => new $defaultClass(),
|
'class' => new $defaultClass(),
|
||||||
],
|
],
|
||||||
'args' => new App\Arguments(),
|
'args' => new App\Arguments(),
|
||||||
|
@ -96,7 +96,7 @@ class ModuleTest extends DatabaseTest
|
||||||
'withIndex' => [
|
'withIndex' => [
|
||||||
'assert' => [
|
'assert' => [
|
||||||
'isBackend' => false,
|
'isBackend' => false,
|
||||||
'name' => App\Module::DEFAULT,
|
'name' => App\ModuleController::DEFAULT,
|
||||||
'class' => new $defaultClass(),
|
'class' => new $defaultClass(),
|
||||||
],
|
],
|
||||||
'args' => new App\Arguments(),
|
'args' => new App\Arguments(),
|
||||||
|
@ -104,12 +104,12 @@ class ModuleTest extends DatabaseTest
|
||||||
'withBackendMod' => [
|
'withBackendMod' => [
|
||||||
'assert' => [
|
'assert' => [
|
||||||
'isBackend' => true,
|
'isBackend' => true,
|
||||||
'name' => App\Module::BACKEND_MODULES[0],
|
'name' => App\ModuleController::BACKEND_MODULES[0],
|
||||||
'class' => new $defaultClass(),
|
'class' => new $defaultClass(),
|
||||||
],
|
],
|
||||||
'args' => new App\Arguments(App\Module::BACKEND_MODULES[0] . '/data/in',
|
'args' => new App\Arguments(App\ModuleController::BACKEND_MODULES[0] . '/data/in',
|
||||||
App\Module::BACKEND_MODULES[0] . '/data/in',
|
App\ModuleController::BACKEND_MODULES[0] . '/data/in',
|
||||||
[App\Module::BACKEND_MODULES[0], 'data', 'in'],
|
[App\ModuleController::BACKEND_MODULES[0], 'data', 'in'],
|
||||||
3),
|
3),
|
||||||
],
|
],
|
||||||
'withFirefoxApp' => [
|
'withFirefoxApp' => [
|
||||||
|
@ -133,7 +133,7 @@ class ModuleTest extends DatabaseTest
|
||||||
*/
|
*/
|
||||||
public function testModuleName(array $assert, App\Arguments $args)
|
public function testModuleName(array $assert, App\Arguments $args)
|
||||||
{
|
{
|
||||||
$module = (new App\Module())->determineModule($args);
|
$module = (new App\ModuleController())->determineName($args);
|
||||||
|
|
||||||
self::assertModule($assert, $module);
|
self::assertModule($assert, $module);
|
||||||
}
|
}
|
||||||
|
@ -142,9 +142,9 @@ class ModuleTest extends DatabaseTest
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'default' => [
|
'default' => [
|
||||||
'assert' => App\Module::DEFAULT_CLASS,
|
'assert' => App\ModuleController::DEFAULT_CLASS,
|
||||||
'name' => App\Module::DEFAULT,
|
'name' => App\ModuleController::DEFAULT,
|
||||||
'command' => App\Module::DEFAULT,
|
'command' => App\ModuleController::DEFAULT,
|
||||||
'privAdd' => false,
|
'privAdd' => false,
|
||||||
'args' => [],
|
'args' => [],
|
||||||
],
|
],
|
||||||
|
@ -200,9 +200,9 @@ class ModuleTest extends DatabaseTest
|
||||||
|
|
||||||
$dice->shouldReceive('create')->andReturn(new $assert(...$args));
|
$dice->shouldReceive('create')->andReturn(new $assert(...$args));
|
||||||
|
|
||||||
$module = (new App\Module($name))->determineClass(new App\Arguments('', $command), $router, $config, $dice);
|
$module = (new App\ModuleController($name))->determineClass(new App\Arguments('', $command), $router, $config, $dice);
|
||||||
|
|
||||||
self::assertEquals($assert, $module->getClass()->getClassName());
|
self::assertEquals($assert, $module->getModule()->getClassName());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -210,9 +210,9 @@ class ModuleTest extends DatabaseTest
|
||||||
*/
|
*/
|
||||||
public function testImmutable()
|
public function testImmutable()
|
||||||
{
|
{
|
||||||
$module = new App\Module();
|
$module = new App\ModuleController();
|
||||||
|
|
||||||
$moduleNew = $module->determineModule(new App\Arguments());
|
$moduleNew = $module->determineName(new App\Arguments());
|
||||||
|
|
||||||
self::assertNotSame($moduleNew, $module);
|
self::assertNotSame($moduleNew, $module);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue