mirror of
https://git.sekbaer.de/Friendica/friendica.git
synced 2025-06-17 04:15:15 +02:00
Split and delete ModuleController
- $moduleName is part of the argument string => App\Arguments - $isBackend boolean already part of App\Mode::isBackend() - $module is now the direct return of App\Router::getModule() - ModuleController::run() moved to BaseModule::run()
This commit is contained in:
parent
a5ab184fb8
commit
b5d2d32b44
17 changed files with 299 additions and 793 deletions
|
@ -25,6 +25,7 @@ use Detection\MobileDetect;
|
|||
use Friendica\Core\Config\ValueObject\Cache;
|
||||
use Friendica\Database\Database;
|
||||
use Friendica\Util\BasePath;
|
||||
use phpDocumentor\Reflection\Types\Static_;
|
||||
|
||||
/**
|
||||
* Mode of the current Friendica Node
|
||||
|
@ -46,6 +47,38 @@ class Mode
|
|||
const BACKEND_CONTENT_TYPES = ['application/jrd+json', 'text/xml',
|
||||
'application/rss+xml', 'application/atom+xml', 'application/activity+json'];
|
||||
|
||||
/**
|
||||
* A list of modules, which are backend methods
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
const BACKEND_MODULES = [
|
||||
'_well_known',
|
||||
'api',
|
||||
'dfrn_notify',
|
||||
'feed',
|
||||
'fetch',
|
||||
'followers',
|
||||
'following',
|
||||
'hcard',
|
||||
'hostxrd',
|
||||
'inbox',
|
||||
'manifest',
|
||||
'nodeinfo',
|
||||
'noscrape',
|
||||
'objects',
|
||||
'outbox',
|
||||
'poco',
|
||||
'post',
|
||||
'pubsub',
|
||||
'pubsubhubbub',
|
||||
'receive',
|
||||
'rsd_xml',
|
||||
'salmon',
|
||||
'statistics_json',
|
||||
'xrd',
|
||||
];
|
||||
|
||||
/***
|
||||
* @var int The mode of this Application
|
||||
*
|
||||
|
@ -140,13 +173,13 @@ class Mode
|
|||
* 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 ModuleController $module The pre-loaded module (just name, not class!)
|
||||
* @param array $server The $_SERVER variable
|
||||
* @param Arguments $args The Friendica App arguments
|
||||
* @param MobileDetect $mobileDetect The mobile detection library
|
||||
*
|
||||
* @return Mode returns the determined mode
|
||||
*/
|
||||
public function determineRunMode(bool $isBackend, ModuleController $module, array $server, MobileDetect $mobileDetect)
|
||||
public function determineRunMode(bool $isBackend, array $server, Arguments $args, MobileDetect $mobileDetect)
|
||||
{
|
||||
foreach (self::BACKEND_CONTENT_TYPES as $type) {
|
||||
if (strpos(strtolower($server['HTTP_ACCEPT'] ?? ''), $type) !== false) {
|
||||
|
@ -154,7 +187,7 @@ class Mode
|
|||
}
|
||||
}
|
||||
|
||||
$isBackend = $isBackend || $module->isBackend();
|
||||
$isBackend = $isBackend || in_array($args->getModuleName(), static::BACKEND_MODULES);
|
||||
$isMobile = $mobileDetect->isMobile();
|
||||
$isTablet = $mobileDetect->isTablet();
|
||||
$isAjax = strtolower($server['HTTP_X_REQUESTED_WITH'] ?? '') == 'xmlhttprequest';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue