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\Config\IConfiguration;
+use Friendica\Core\Config\IPConfiguration;
use Friendica\Core\L10n\L10n;
-use Friendica\Core\Session;
use Friendica\Core\System;
use Friendica\Core\Theme;
use Friendica\Database\Database;
use Friendica\Model\Profile;
-use Friendica\Module\Security\Login;
use Friendica\Module\Special\HTTPException as ModuleHTTPException;
use Friendica\Network\HTTPException;
use Friendica\Util\ConfigFileLoader;
*/
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;
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
private $currentMobileTheme;
/**
- * @var Configuration The config
+ * @var IConfiguration The config
*/
private $config;
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 IConfiguration $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
* @param App\Arguments $args The Friendica Arguments of the call
* @param Core\Process $process The process methods
*/
- 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, IConfiguration $config, App\Mode $mode, BaseURL $baseURL, LoggerInterface $logger, Profiler $profiler, L10n $l10n, Arguments $args, Core\Process $process)
{
$this->database = $database;
$this->config = $config;
$this->args = $args;
$this->process = $process;
- $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();
}
}
}
- /**
- * Returns the scheme of the current call
- *
- * @return string
- *
- * @deprecated 2019.06 - use BaseURL->getScheme() instead
- */
- public function getScheme()
- {
- return $this->baseURL->getScheme();
- }
-
- /**
- * Retrieves the Friendica instance base URL
- *
- * @param bool $ssl Whether to append http or https under BaseURL::SSL_POLICY_SELFSIGN
- *
- * @return string Friendica server base URL
- *
- * @deprecated 2019.09 - use BaseUrl->get($ssl) instead
- */
- public function getBaseURL($ssl = false)
- {
- return $this->baseURL->get($ssl);
- }
-
- /**
- * @brief Initializes the baseurl components
- *
- * Clears the baseurl cache to prevent inconsistencies
- *
- * @param string $url
- *
- * @deprecated 2019.06 - use BaseURL->saveByURL($url) instead
- */
- public function setBaseURL($url)
- {
- $this->baseURL->saveByURL($url);
- }
-
- /**
- * Returns the current hostname
- *
- * @return string
- *
- * @deprecated 2019.06 - use BaseURL->getHostname() instead
- */
- public function getHostName()
- {
- return $this->baseURL->getHostname();
- }
-
- /**
- * Returns the sub-path of the full URL
- *
- * @return string
- *
- * @deprecated 2019.06 - use BaseURL->getUrlPath() instead
- */
- public function getURLPath()
- {
- return $this->baseURL->getUrlPath();
- }
-
- /**
- * @brief Removes the base url from an url. This avoids some mixed content problems.
- *
- * @param string $origURL
- *
- * @return string The cleaned url
- *
- * @deprecated 2019.09 - Use BaseURL->remove() instead
- * @see BaseURL::remove()
- */
- public function removeBaseURL(string $origURL)
- {
- return $this->baseURL->remove($origURL);
- }
-
/**
* Returns the current UserAgent as a String
*
FRIENDICA_CODENAME . "' " .
FRIENDICA_VERSION . '-' .
DB_UPDATE_VERSION . '; ' .
- $this->getBaseURL();
- }
-
- /**
- * @deprecated 2019.09 - use Core\Process->isMaxProcessesReached() instead
- */
- public function isMaxProcessesReached()
- {
- return $this->process->isMaxProcessesReached();
- }
-
- /**
- * @deprecated 2019.09 - use Core\Process->isMinMemoryReached() instead
- */
- public function isMinMemoryReached()
- {
- return $this->process->isMinMemoryReached();
- }
-
- /**
- * @deprecated 2019.09 - use Core\Process->isMaxLoadReached() instead
- */
- public function isMaxLoadReached()
- {
- return $this->process->isMaxLoadReached();
+ $this->baseURL->get();
}
/**
return Core\Theme::getStylesheetPath($this->getCurrentTheme());
}
- /**
- * @deprecated use Arguments->get() instead
- *
- * @see App\Arguments
- */
- public function getArgumentValue($position, $default = '')
- {
- return $this->args->get($position, $default);
- }
-
/**
* Sets the base url for use in cmdline programs which don't have
* $_SERVER variables
// and www.example.com vs example.com.
// We will only change the url to an ip address if there is no existing setting
- if (empty($url) || (!Util\Strings::compareLink($url, $this->getBaseURL())) && (!preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/", $this->baseURL->getHostname()))) {
- $this->config->set('system', 'url', $this->getBaseURL());
+ if (empty($url) || (!Util\Strings::compareLink($url, $this->baseURL->get())) && (!preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/", $this->baseURL->getHostname()))) {
+ $this->config->set('system', 'url', $this->baseURL->get());
}
}
*
* @param App\Module $module The determined module
* @param App\Router $router
- * @param PConfiguration $pconfig
+ * @param IPConfiguration $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, IPConfiguration $pconfig, Authentication $auth, App\Page $page)
{
$moduleName = $module->getName();
}
// 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)
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);
}
/**