X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FApp.php;h=ceb11dd797ecdb567691e59208d82343d54626da;hb=05dfff4bb4ba6743c8f1846b812f1262ed9cc49e;hp=35ef04df6e29480ea533a7b6e7ed220e290ce845;hpb=e944d7bed6b971494bff82396960d280e6a82cca;p=friendica.git diff --git a/src/App.php b/src/App.php index 35ef04df6e..ceb11dd797 100644 --- a/src/App.php +++ b/src/App.php @@ -7,12 +7,11 @@ namespace Friendica; use Exception; use Friendica\App\Arguments; use Friendica\App\BaseURL; -use Friendica\App\Page; use Friendica\App\Authentication; -use Friendica\Core\Config\Cache\ConfigCache; -use Friendica\Core\Config\Configuration; -use Friendica\Core\Config\PConfiguration; -use Friendica\Core\L10n\L10n; +use Friendica\Core\Config\Cache; +use Friendica\Core\Config\IConfig; +use Friendica\Core\PConfig\IPConfig; +use Friendica\Core\L10n; use Friendica\Core\System; use Friendica\Core\Theme; use Friendica\Database\Database; @@ -29,7 +28,7 @@ use Psr\Log\LoggerInterface; * * class: App * - * @brief Our main application structure for the life of this page. + * Our main application structure for the life of this page. * * Primarily deals with the URL that got us here * and tries to make some sense of it, and @@ -40,12 +39,6 @@ use Psr\Log\LoggerInterface; */ class App { - /** @deprecated 2019.09 - use App\Arguments->getQueryString() */ - public $query_string; - /** - * @var Page The current page environment - */ - public $page; public $profile; public $profile_uid; public $user; @@ -55,21 +48,13 @@ class App public $page_contact; public $content; public $data = []; - /** @deprecated 2019.09 - use App\Arguments->getCommand() */ - public $cmd = ''; /** @deprecated 2019.09 - use App\Arguments->getArgv() or Arguments->get() */ public $argv; /** @deprecated 2019.09 - use App\Arguments->getArgc() */ public $argc; - /** @deprecated 2019.09 - Use App\Module->getName() instead */ - public $module; public $timezone; public $interactive = true; public $identities; - /** @deprecated 2019.09 - Use App\Mode->isMobile() instead */ - public $is_mobile; - /** @deprecated 2019.09 - Use App\Mode->isTable() instead */ - public $is_tablet; public $theme_info = []; public $category; // Allow themes to control internal parameters @@ -98,7 +83,7 @@ class App private $currentMobileTheme; /** - * @var Configuration The config + * @var IConfig The config */ private $config; @@ -132,10 +117,15 @@ class App */ private $process; + /** + * @var IPConfig + */ + private $pConfig; + /** * Returns the current config cache of this node * - * @return ConfigCache + * @return Cache */ public function getConfigCache() { @@ -153,27 +143,9 @@ class App return $this->config->getCache()->get('system', 'basepath'); } - /** - * @deprecated 2019.09 - use Page->registerStylesheet instead - * @see Page::registerStylesheet() - */ - public function registerStylesheet($path) - { - $this->page->registerStylesheet($path); - } - - /** - * @deprecated 2019.09 - use Page->registerFooterScript instead - * @see Page::registerFooterScript() - */ - public function registerFooterScript($path) - { - $this->page->registerFooterScript($path); - } - /** * @param Database $database The Friendica Database - * @param Configuration $config The Configuration + * @param IConfig $config The Configuration * @param App\Mode $mode The mode of this Friendica app * @param BaseURL $baseURL The full base URL of this Friendica app * @param LoggerInterface $logger The current app logger @@ -181,8 +153,9 @@ class App * @param L10n $l10n The translator instance * @param App\Arguments $args The Friendica Arguments of the call * @param Core\Process $process The process methods + * @param IPConfig $pConfig Personal configuration */ - public function __construct(Database $database, Configuration $config, App\Mode $mode, BaseURL $baseURL, LoggerInterface $logger, Profiler $profiler, L10n $l10n, Arguments $args, App\Module $module, App\Page $page, Core\Process $process) + public function __construct(Database $database, IConfig $config, App\Mode $mode, BaseURL $baseURL, LoggerInterface $logger, Profiler $profiler, L10n $l10n, Arguments $args, Core\Process $process, IPConfig $pConfig) { $this->database = $database; $this->config = $config; @@ -193,16 +166,10 @@ class App $this->l10n = $l10n; $this->args = $args; $this->process = $process; + $this->pConfig = $pConfig; - $this->cmd = $args->getCommand(); $this->argv = $args->getArgv(); $this->argc = $args->getArgc(); - $this->query_string = $args->getQueryString(); - $this->module = $module->getName(); - $this->page = $page; - - $this->is_mobile = $mode->isMobile(); - $this->is_tablet = $mode->isTablet(); $this->load(); } @@ -259,18 +226,6 @@ class App } } - /** - * Returns the scheme of the current call - * - * @return string - * - * @deprecated 2019.06 - use BaseURL->getScheme() instead - */ - public function getScheme() - { - return $this->baseURL->getScheme(); - } - /** * Returns the current UserAgent as a String * @@ -387,7 +342,7 @@ class App // Allow folks to override user themes and always use their own on their own site. // This works only if the user is on the same server $user = $this->database->selectFirst('user', ['theme'], ['uid' => $this->profile_uid]); - if ($this->database->isResult($user) && !Core\PConfig::get(local_user(), 'system', 'always_my_theme')) { + if ($this->database->isResult($user) && !$this->pConfig->get(local_user(), 'system', 'always_my_theme')) { $page_theme = $user['theme']; } } @@ -419,8 +374,8 @@ class App if ($this->profile_uid && ($this->profile_uid != local_user())) { // Allow folks to override user themes and always use their own on their own site. // This works only if the user is on the same server - if (!Core\PConfig::get(local_user(), 'system', 'always_my_theme')) { - $page_mobile_theme = Core\PConfig::get($this->profile_uid, 'system', 'mobile-theme'); + if (!$this->pConfig->get(local_user(), 'system', 'always_my_theme')) { + $page_mobile_theme = $this->pConfig->get($this->profile_uid, 'system', 'mobile-theme'); } } @@ -438,8 +393,6 @@ class App } /** - * @brief Return full URL to theme which is currently in effect. - * * Provide a sane default if nothing is chosen or the specified theme does not exist. * * @return string @@ -479,12 +432,14 @@ class App * * @param App\Module $module The determined module * @param App\Router $router - * @param PConfiguration $pconfig + * @param IPConfig $pconfig * @param Authentication $auth The Authentication backend of the node + * @param App\Page $page The Friendica page printing container + * * @throws HTTPException\InternalServerErrorException * @throws \ImagickException */ - public function runFrontend(App\Module $module, App\Router $router, PConfiguration $pconfig, Authentication $auth) + public function runFrontend(App\Module $module, App\Router $router, IPConfig $pconfig, Authentication $auth, App\Page $page) { $moduleName = $module->getName(); @@ -613,7 +568,7 @@ class App } // Initialize module that can set the current theme in the init() method, either directly or via App->profile_uid - $this->page['page_title'] = $moduleName; + $page['page_title'] = $moduleName; // 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) @@ -625,7 +580,7 @@ class App ModuleHTTPException::rawContent($e); } - $this->page->run($this, $this->baseURL, $this->mode, $module, $this->l10n, $this->config, $pconfig); + $page->run($this, $this->baseURL, $this->mode, $module, $this->l10n, $this->config, $pconfig); } /**