Rename App Methods

- renamed a lot of App methods to CamelCase
- replaced direct public variables with get-/set-Methods
This commit is contained in:
Philipp Holzer 2018-10-09 19:58:58 +02:00
parent 5f9dd11cfb
commit 5a02e39a65
No known key found for this signature in database
GPG Key ID: 517BE60E2CE5C8A5
94 changed files with 481 additions and 338 deletions

View File

@ -45,7 +45,7 @@ if (Config::get('system', 'maintenance', false, true)) {
return; return;
} }
$a->set_baseurl(Config::get('system', 'url')); $a->setBaseURL(Config::get('system', 'url'));
Addon::loadHooks(); Addon::loadHooks();

View File

@ -556,7 +556,7 @@ function check_url(App $a)
// and www.example.com vs example.com. // and www.example.com vs example.com.
// We will only change the url to an ip address if there is no existing setting // We will only change the url to an ip address if there is no existing setting
if (empty($url) || (!link_compare($url, System::baseUrl())) && (!preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/", $a->get_hostname()))) { if (empty($url) || (!link_compare($url, System::baseUrl())) && (!preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/", $a->getHostName()))) {
Config::set('system', 'url', System::baseUrl()); Config::set('system', 'url', System::baseUrl());
} }
@ -975,27 +975,27 @@ function get_temppath()
$temppath = Config::get("system", "temppath"); $temppath = Config::get("system", "temppath");
if (($temppath != "") && App::directory_usable($temppath)) { if (($temppath != "") && App::isDirectoryUsable($temppath)) {
// We have a temp path and it is usable // We have a temp path and it is usable
return App::realpath($temppath); return App::getRealPath($temppath);
} }
// We don't have a working preconfigured temp path, so we take the system path. // We don't have a working preconfigured temp path, so we take the system path.
$temppath = sys_get_temp_dir(); $temppath = sys_get_temp_dir();
// Check if it is usable // Check if it is usable
if (($temppath != "") && App::directory_usable($temppath)) { if (($temppath != "") && App::isDirectoryUsable($temppath)) {
// Always store the real path, not the path through symlinks // Always store the real path, not the path through symlinks
$temppath = App::realpath($temppath); $temppath = App::getRealPath($temppath);
// To avoid any interferences with other systems we create our own directory // To avoid any interferences with other systems we create our own directory
$new_temppath = $temppath . "/" . $a->get_hostname(); $new_temppath = $temppath . "/" . $a->getHostName();
if (!is_dir($new_temppath)) { if (!is_dir($new_temppath)) {
/// @TODO There is a mkdir()+chmod() upwards, maybe generalize this (+ configurable) into a function/method? /// @TODO There is a mkdir()+chmod() upwards, maybe generalize this (+ configurable) into a function/method?
mkdir($new_temppath); mkdir($new_temppath);
} }
if (App::directory_usable($new_temppath)) { if (App::isDirectoryUsable($new_temppath)) {
// The new path is usable, we are happy // The new path is usable, we are happy
Config::set("system", "temppath", $new_temppath); Config::set("system", "temppath", $new_temppath);
return $new_temppath; return $new_temppath;
@ -1077,8 +1077,8 @@ function get_itemcachepath()
} }
$itemcache = Config::get('system', 'itemcache'); $itemcache = Config::get('system', 'itemcache');
if (($itemcache != "") && App::directory_usable($itemcache)) { if (($itemcache != "") && App::isDirectoryUsable($itemcache)) {
return App::realpath($itemcache); return App::getRealPath($itemcache);
} }
$temppath = get_temppath(); $temppath = get_temppath();
@ -1089,7 +1089,7 @@ function get_itemcachepath()
mkdir($itemcache); mkdir($itemcache);
} }
if (App::directory_usable($itemcache)) { if (App::isDirectoryUsable($itemcache)) {
Config::set("system", "itemcache", $itemcache); Config::set("system", "itemcache", $itemcache);
return $itemcache; return $itemcache;
} }
@ -1105,7 +1105,7 @@ function get_itemcachepath()
function get_spoolpath() function get_spoolpath()
{ {
$spoolpath = Config::get('system', 'spoolpath'); $spoolpath = Config::get('system', 'spoolpath');
if (($spoolpath != "") && App::directory_usable($spoolpath)) { if (($spoolpath != "") && App::isDirectoryUsable($spoolpath)) {
// We have a spool path and it is usable // We have a spool path and it is usable
return $spoolpath; return $spoolpath;
} }
@ -1120,7 +1120,7 @@ function get_spoolpath()
mkdir($spoolpath); mkdir($spoolpath);
} }
if (App::directory_usable($spoolpath)) { if (App::isDirectoryUsable($spoolpath)) {
// The new path is usable, we are happy // The new path is usable, we are happy
Config::set("system", "spoolpath", $spoolpath); Config::set("system", "spoolpath", $spoolpath);
return $spoolpath; return $spoolpath;

View File

@ -3344,7 +3344,7 @@ function api_statusnet_config($type)
$a = get_app(); $a = get_app();
$name = Config::get('config', 'sitename'); $name = Config::get('config', 'sitename');
$server = $a->get_hostname(); $server = $a->getHostName();
$logo = System::baseUrl() . '/images/friendica-64.png'; $logo = System::baseUrl() . '/images/friendica-64.png';
$email = Config::get('config', 'admin_email'); $email = Config::get('config', 'admin_email');
$closed = intval(Config::get('config', 'register_policy')) === REGISTER_CLOSED ? 'true' : 'false'; $closed = intval(Config::get('config', 'register_policy')) === REGISTER_CLOSED ? 'true' : 'false';

View File

@ -61,7 +61,7 @@ function notification($params)
} }
$sender_name = $sitename; $sender_name = $sitename;
$hostname = $a->get_hostname(); $hostname = $a->getHostName();
if (strpos($hostname, ':')) { if (strpos($hostname, ':')) {
$hostname = substr($hostname, 0, strpos($hostname, ':')); $hostname = substr($hostname, 0, strpos($hostname, ':'));
} }

View File

@ -318,7 +318,7 @@ function subscribe_to_hub($url, array $importer, array $contact, $hubmode = 'sub
Network::post($url, $params); Network::post($url, $params);
logger('subscribe_to_hub: returns: ' . $a->get_curl_code(), LOGGER_DEBUG); logger('subscribe_to_hub: returns: ' . Network::getCurl()->getCode(), LOGGER_DEBUG);
return; return;

View File

@ -42,7 +42,7 @@ function replace_macros($s, $r) {
// pass $baseurl to all templates // pass $baseurl to all templates
$r['$baseurl'] = System::baseUrl(); $r['$baseurl'] = System::baseUrl();
$t = $a->template_engine(); $t = $a->getTemplateEngine();
try { try {
$output = $t->replaceMacros($s, $r); $output = $t->replaceMacros($s, $r);
} catch (Exception $e) { } catch (Exception $e) {
@ -50,7 +50,7 @@ function replace_macros($s, $r) {
killme(); killme();
} }
$a->save_timestamp($stamp1, "rendering"); $a->saveTimestamp($stamp1, "rendering");
return $output; return $output;
} }
@ -473,7 +473,7 @@ function get_markup_template($s, $root = '') {
$stamp1 = microtime(true); $stamp1 = microtime(true);
$a = get_app(); $a = get_app();
$t = $a->template_engine(); $t = $a->getTemplateEngine();
try { try {
$template = $t->getTemplateFile($s, $root); $template = $t->getTemplateFile($s, $root);
} catch (Exception $e) { } catch (Exception $e) {
@ -481,7 +481,7 @@ function get_markup_template($s, $root = '') {
killme(); killme();
} }
$a->save_timestamp($stamp1, "file"); $a->saveTimestamp($stamp1, "file");
return $template; return $template;
} }
@ -574,7 +574,7 @@ function logger($msg, $level = LOGGER_INFO) {
$stamp1 = microtime(true); $stamp1 = microtime(true);
@file_put_contents($logfile, $logline, FILE_APPEND); @file_put_contents($logfile, $logline, FILE_APPEND);
$a->save_timestamp($stamp1, "file"); $a->saveTimestamp($stamp1, "file");
} }
/** /**
@ -634,7 +634,7 @@ function dlogger($msg, $level = LOGGER_INFO) {
$stamp1 = microtime(true); $stamp1 = microtime(true);
@file_put_contents($logfile, $logline, FILE_APPEND); @file_put_contents($logfile, $logline, FILE_APPEND);
$a->save_timestamp($stamp1, "file"); $a->saveTimestamp($stamp1, "file");
} }
@ -1414,7 +1414,7 @@ function get_plink($item) {
]; ];
if (x($item, 'plink')) { if (x($item, 'plink')) {
$ret["href"] = $a->remove_baseurl($item['plink']); $ret["href"] = $a->removeBaseURL($item['plink']);
$ret["title"] = L10n::t('link to source'); $ret["title"] = L10n::t('link to source');
} }

View File

@ -23,11 +23,9 @@ use Friendica\Module\Login;
require_once 'boot.php'; require_once 'boot.php';
$a = new App(__DIR__);
// We assume that the index.php is called by a frontend process // We assume that the index.php is called by a frontend process
// The value is set to "true" by default in boot.php // The value is set to "true" by default in boot.php
$a->backend = false; $a = new App(__DIR__, false);
/** /**
* Try to open the database; * Try to open the database;
@ -49,7 +47,7 @@ if ($a->isMaxProcessesReached() || $a->isMaxLoadReached()) {
} }
if (!$a->getMode()->isInstall()) { if (!$a->getMode()->isInstall()) {
if (Config::get('system', 'force_ssl') && ($a->get_scheme() == "http") if (Config::get('system', 'force_ssl') && ($a->getScheme() == "http")
&& (intval(Config::get('system', 'ssl_policy')) == SSL_POLICY_FULL) && (intval(Config::get('system', 'ssl_policy')) == SSL_POLICY_FULL)
&& (substr(System::baseUrl(), 0, 8) == "https://") && (substr(System::baseUrl(), 0, 8) == "https://")
&& ($_SERVER['REQUEST_METHOD'] == 'GET')) { && ($_SERVER['REQUEST_METHOD'] == 'GET')) {
@ -78,10 +76,10 @@ L10n::loadTranslationTable($lang);
*/ */
// Exclude the backend processes from the session management // Exclude the backend processes from the session management
if (!$a->is_backend()) { if (!$a->isBackend()) {
$stamp1 = microtime(true); $stamp1 = microtime(true);
session_start(); session_start();
$a->save_timestamp($stamp1, "parser"); $a->saveTimestamp($stamp1, "parser");
} else { } else {
$_SESSION = []; $_SESSION = [];
Worker::executeIfIdle(); Worker::executeIfIdle();

View File

@ -475,8 +475,8 @@ function admin_page_contactblock(App $a)
$total = DBA::count('contact', $condition); $total = DBA::count('contact', $condition);
$a->set_pager_total($total); $a->setPagerTotal($total);
$a->set_pager_itemspage(30); $a->setPagerItemsPage(30);
$statement = DBA::select('contact', [], $condition, ['limit' => [$a->pager['start'], $a->pager['itemspage']]]); $statement = DBA::select('contact', [], $condition, ['limit' => [$a->pager['start'], $a->pager['itemspage']]]);
@ -866,15 +866,15 @@ function admin_page_summary(App $a)
// Legacy config file warning // Legacy config file warning
if (file_exists('.htconfig.php')) { if (file_exists('.htconfig.php')) {
$showwarning = true; $showwarning = true;
$warningtext[] = L10n::t('Friendica\'s configuration now is stored in config/local.ini.php, please copy config/local-sample.ini.php and move your config from <code>.htconfig.php</code>. See <a href="%s">the Config help page</a> for help with the transition.', $a->get_baseurl() . '/help/Config'); $warningtext[] = L10n::t('Friendica\'s configuration now is stored in config/local.ini.php, please copy config/local-sample.ini.php and move your config from <code>.htconfig.php</code>. See <a href="%s">the Config help page</a> for help with the transition.', $a->getBaseURL() . '/help/Config');
} }
// Check server vitality // Check server vitality
if (!admin_page_server_vital()) { if (!admin_page_server_vital()) {
$showwarning = true; $showwarning = true;
$well_known = $a->get_baseurl() . '/.well-known/host-meta'; $well_known = $a->getBaseURL() . '/.well-known/host-meta';
$warningtext[] = L10n::t('<a href="%s">%s</a> is not reachable on your system. This is a severe configuration issue that prevents server to server communication. See <a href="%s">the installation page</a> for help.', $warningtext[] = L10n::t('<a href="%s">%s</a> is not reachable on your system. This is a severe configuration issue that prevents server to server communication. See <a href="%s">the installation page</a> for help.',
$well_known, $well_known, $a->get_baseurl() . '/help/Install'); $well_known, $well_known, $a->getBaseURL() . '/help/Install');
} }
$r = q("SELECT `page-flags`, COUNT(`uid`) AS `count` FROM `user` GROUP BY `page-flags`"); $r = q("SELECT `page-flags`, COUNT(`uid`) AS `count` FROM `user` GROUP BY `page-flags`");
@ -1012,7 +1012,7 @@ function admin_page_site_post(App $a)
// update config // update config
Config::set('system', 'hostname', parse_url($new_url, PHP_URL_HOST)); Config::set('system', 'hostname', parse_url($new_url, PHP_URL_HOST));
Config::set('system', 'url', $new_url); Config::set('system', 'url', $new_url);
$a->set_baseurl($new_url); $a->setBaseURL($new_url);
// send relocate // send relocate
$users = q("SELECT `uid` FROM `user` WHERE `account_removed` = 0 AND `account_expired` = 0"); $users = q("SELECT `uid` FROM `user` WHERE `account_removed` = 0 AND `account_expired` = 0");
@ -1124,7 +1124,7 @@ function admin_page_site_post(App $a)
Worker::add(PRIORITY_LOW, 'Directory'); Worker::add(PRIORITY_LOW, 'Directory');
} }
if ($a->get_path() != "") { if ($a->getURLpath() != "") {
$diaspora_enabled = false; $diaspora_enabled = false;
} }
if ($ssl_policy != intval(Config::get('system', 'ssl_policy'))) { if ($ssl_policy != intval(Config::get('system', 'ssl_policy'))) {
@ -1261,7 +1261,7 @@ function admin_page_site_post(App $a)
Config::set('system', 'dbclean-expire-unclaimed', $dbclean_unclaimed); Config::set('system', 'dbclean-expire-unclaimed', $dbclean_unclaimed);
if ($itemcache != '') { if ($itemcache != '') {
$itemcache = App::realpath($itemcache); $itemcache = App::getRealPath($itemcache);
} }
Config::set('system', 'itemcache', $itemcache); Config::set('system', 'itemcache', $itemcache);
@ -1269,13 +1269,13 @@ function admin_page_site_post(App $a)
Config::set('system', 'max_comments', $max_comments); Config::set('system', 'max_comments', $max_comments);
if ($temppath != '') { if ($temppath != '') {
$temppath = App::realpath($temppath); $temppath = App::getRealPath($temppath);
} }
Config::set('system', 'temppath', $temppath); Config::set('system', 'temppath', $temppath);
if ($basepath != '') { if ($basepath != '') {
$basepath = App::realpath($basepath); $basepath = App::getRealPath($basepath);
} }
Config::set('system', 'basepath', $basepath); Config::set('system', 'basepath', $basepath);
@ -1419,9 +1419,9 @@ function admin_page_site(App $a)
]; ];
if (empty(Config::get('config', 'hostname'))) { if (empty(Config::get('config', 'hostname'))) {
Config::set('config', 'hostname', $a->get_hostname()); Config::set('config', 'hostname', $a->getHostName());
} }
$diaspora_able = ($a->get_path() == ""); $diaspora_able = ($a->getURLpath() == "");
$optimize_max_tablesize = Config::get('system', 'optimize_max_tablesize', -1); $optimize_max_tablesize = Config::get('system', 'optimize_max_tablesize', -1);
@ -1801,8 +1801,8 @@ function admin_page_users(App $a)
/* get users */ /* get users */
$total = q("SELECT COUNT(*) AS `total` FROM `user` WHERE 1"); $total = q("SELECT COUNT(*) AS `total` FROM `user` WHERE 1");
if (count($total)) { if (count($total)) {
$a->set_pager_total($total[0]['total']); $a->setPagerTotal($total[0]['total']);
$a->set_pager_itemspage(100); $a->setPagerItemsPage(100);
} }
/* ordering */ /* ordering */

View File

@ -46,7 +46,7 @@ function allfriends_content(App $a)
$total = GContact::countAllFriends(local_user(), $cid); $total = GContact::countAllFriends(local_user(), $cid);
$a->set_pager_total($total); $a->setPagerTotal($total);
$r = GContact::allFriends(local_user(), $cid, $a->pager['start'], $a->pager['itemspage']); $r = GContact::allFriends(local_user(), $cid, $a->pager['start'], $a->pager['itemspage']);
if (!DBA::isResult($r)) { if (!DBA::isResult($r)) {

View File

@ -88,7 +88,7 @@ function common_content(App $a)
} }
if ($t > 0) { if ($t > 0) {
$a->set_pager_total($t); $a->setPagerTotal($t);
} else { } else {
notice(L10n::t('No contacts in common.') . EOL); notice(L10n::t('No contacts in common.') . EOL);
return $o; return $o;

View File

@ -153,7 +153,7 @@ function community_content(App $a, $update = 0)
$itemspage_network = $a->force_max_items; $itemspage_network = $a->force_max_items;
} }
$a->set_pager_itemspage($itemspage_network); $a->setPagerItemsPage($itemspage_network);
$r = community_getitems($a->pager['start'], $a->pager['itemspage'], $content, $accounttype); $r = community_getitems($a->pager['start'], $a->pager['itemspage'], $content, $accounttype);

View File

@ -793,7 +793,7 @@ function contacts_content(App $a, $update = 0)
intval($_SESSION['uid']) intval($_SESSION['uid'])
); );
if (DBA::isResult($r)) { if (DBA::isResult($r)) {
$a->set_pager_total($r[0]['total']); $a->setPagerTotal($r[0]['total']);
$total = $r[0]['total']; $total = $r[0]['total'];
} }

View File

@ -451,10 +451,10 @@ function dfrn_request_post(App $a)
// Diaspora needs the uri in the format user@domain.tld // Diaspora needs the uri in the format user@domain.tld
// Diaspora will support the remote subscription in a future version // Diaspora will support the remote subscription in a future version
if ($network == Protocol::DIASPORA) { if ($network == Protocol::DIASPORA) {
$uri = $nickname . '@' . $a->get_hostname(); $uri = $nickname . '@' . $a->getHostName();
if ($a->get_path()) { if ($a->getURLpath()) {
$uri .= '/' . $a->get_path(); $uri .= '/' . $a->getURLpath();
} }
$uri = urlencode($uri); $uri = urlencode($uri);
@ -609,7 +609,7 @@ function dfrn_request_content(App $a)
} elseif (x($_GET, 'address') && ($_GET['address'] != "")) { } elseif (x($_GET, 'address') && ($_GET['address'] != "")) {
$myaddr = $_GET['address']; $myaddr = $_GET['address'];
} elseif (local_user()) { } elseif (local_user()) {
if (strlen($a->urlpath)) { if (strlen($a->getURLpath())) {
$myaddr = System::baseUrl() . '/profile/' . $a->user['nickname']; $myaddr = System::baseUrl() . '/profile/' . $a->user['nickname'];
} else { } else {
$myaddr = $a->user['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(), '://') + 3); $myaddr = $a->user['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(), '://') + 3);

View File

@ -16,7 +16,7 @@ use Friendica\Util\Proxy as ProxyUtils;
function directory_init(App $a) function directory_init(App $a)
{ {
$a->set_pager_itemspage(60); $a->setPagerItemsPage(60);
if (local_user()) { if (local_user()) {
$a->page['aside'] .= Widget::findPeople(); $a->page['aside'] .= Widget::findPeople();
@ -87,7 +87,7 @@ function directory_content(App $a)
LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid`
WHERE `is-default` $publish AND NOT `user`.`blocked` AND NOT `user`.`account_removed` $sql_extra"); WHERE `is-default` $publish AND NOT `user`.`blocked` AND NOT `user`.`account_removed` $sql_extra");
if (DBA::isResult($cnt)) { if (DBA::isResult($cnt)) {
$a->set_pager_total($cnt['total']); $a->setPagerTotal($cnt['total']);
} }
$order = " ORDER BY `name` ASC "; $order = " ORDER BY `name` ASC ";

View File

@ -188,8 +188,8 @@ function dirfind_content(App $a, $prefix = "") {
} }
if ($j->total) { if ($j->total) {
$a->set_pager_total($j->total); $a->setPagerTotal($j->total);
$a->set_pager_itemspage($j->items_page); $a->setPagerItemsPage($j->items_page);
} }
if (!empty($j->results)) { if (!empty($j->results)) {

View File

@ -365,7 +365,7 @@ function display_content(App $a, $update = false, $update_uid = 0)
$title = trim(HTML::toPlaintext(BBCode::convert($item["title"], false), 0, true)); $title = trim(HTML::toPlaintext(BBCode::convert($item["title"], false), 0, true));
$author_name = $item["author-name"]; $author_name = $item["author-name"];
$image = $a->remove_baseurl($item["author-avatar"]); $image = $a->removeBaseURL($item["author-avatar"]);
if ($title == "") { if ($title == "") {
$title = $author_name; $title = $author_name;

View File

@ -50,7 +50,7 @@ function hcard_init(App $a)
$a->page['htmlhead'] .= '<meta name="dfrn-global-visibility" content="' . (($a->profile['net-publish']) ? 'true' : 'false') . '" />' . "\r\n" ; $a->page['htmlhead'] .= '<meta name="dfrn-global-visibility" content="' . (($a->profile['net-publish']) ? 'true' : 'false') . '" />' . "\r\n" ;
$a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/dfrn_poll/' . $which .'" />' . "\r\n" ; $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/dfrn_poll/' . $which .'" />' . "\r\n" ;
$uri = urlencode('acct:' . $a->profile['nickname'] . '@' . $a->get_hostname() . (($a->urlpath) ? '/' . $a->urlpath : '')); $uri = urlencode('acct:' . $a->profile['nickname'] . '@' . $a->getHostName() . (($a->getURLpath()) ? '/' . $a->getURLpath() : ''));
$a->page['htmlhead'] .= '<link rel="lrdd" type="application/xrd+xml" href="' . System::baseUrl() . '/xrd/?uri=' . $uri . '" />' . "\r\n"; $a->page['htmlhead'] .= '<link rel="lrdd" type="application/xrd+xml" href="' . System::baseUrl() . '/xrd/?uri=' . $uri . '" />' . "\r\n";
header('Link: <' . System::baseUrl() . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false); header('Link: <' . System::baseUrl() . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false);

View File

@ -38,8 +38,8 @@ function home_content(App $a) {
$customhome = false; $customhome = false;
$defaultheader = '<h1>' . (Config::get('config', 'sitename') ? L10n::t('Welcome to %s', Config::get('config', 'sitename')) : '') . '</h1>'; $defaultheader = '<h1>' . (Config::get('config', 'sitename') ? L10n::t('Welcome to %s', Config::get('config', 'sitename')) : '') . '</h1>';
$homefilepath = $a->basepath . "/home.html"; $homefilepath = $a->getBasePath() . "/home.html";
$cssfilepath = $a->basepath . "/home.css"; $cssfilepath = $a->getBasePath() . "/home.css";
if (file_exists($homefilepath)) { if (file_exists($homefilepath)) {
$customhome = $homefilepath; $customhome = $homefilepath;
if (file_exists($cssfilepath)) { if (file_exists($cssfilepath)) {

View File

@ -23,7 +23,7 @@ function hostxrd_init(App $a)
$tpl = get_markup_template('xrd_host.tpl'); $tpl = get_markup_template('xrd_host.tpl');
echo replace_macros($tpl, [ echo replace_macros($tpl, [
'$zhost' => $a->get_hostname(), '$zhost' => $a->getHostName(),
'$zroot' => System::baseUrl(), '$zroot' => System::baseUrl(),
'$domain' => System::baseUrl(), '$domain' => System::baseUrl(),
'$bigkey' => Salmon::salmonKey(Config::get('system', 'site_pubkey'))] '$bigkey' => Salmon::salmonKey(Config::get('system', 'site_pubkey'))]

View File

@ -67,8 +67,8 @@ function match_content(App $a)
$j = json_decode($x); $j = json_decode($x);
if ($j->total) { if ($j->total) {
$a->set_pager_total($j->total); $a->setPagerTotal($j->total);
$a->set_pager_itemspage($j->items_page); $a->setPagerItemsPage($j->items_page);
} }
if (count($j->results)) { if (count($j->results)) {

View File

@ -279,7 +279,7 @@ function message_content(App $a)
); );
if (DBA::isResult($r)) { if (DBA::isResult($r)) {
$a->set_pager_total($r[0]['total']); $a->setPagerTotal($r[0]['total']);
} }
$r = get_messages(local_user(), $a->pager['start'], $a->pager['itemspage']); $r = get_messages(local_user(), $a->pager['start'], $a->pager['itemspage']);

View File

@ -302,7 +302,7 @@ function networkPager($a, $update)
$itemspage_network = $a->force_max_items; $itemspage_network = $a->force_max_items;
} }
$a->set_pager_itemspage($itemspage_network); $a->setPagerItemsPage($itemspage_network);
return sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage'])); return sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage']));
} }
@ -721,7 +721,7 @@ function networkThreadedView(App $a, $update, $parent)
if ($last_received != '') { if ($last_received != '') {
$last_date = $last_received; $last_date = $last_received;
$sql_range .= sprintf(" AND $sql_table.`received` < '%s'", DBA::escape($last_received)); $sql_range .= sprintf(" AND $sql_table.`received` < '%s'", DBA::escape($last_received));
$a->set_pager_page(1); $a->setPagerPage(1);
$pager_sql = sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage'])); $pager_sql = sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage']));
} }
break; break;
@ -729,7 +729,7 @@ function networkThreadedView(App $a, $update, $parent)
if ($last_commented != '') { if ($last_commented != '') {
$last_date = $last_commented; $last_date = $last_commented;
$sql_range .= sprintf(" AND $sql_table.`commented` < '%s'", DBA::escape($last_commented)); $sql_range .= sprintf(" AND $sql_table.`commented` < '%s'", DBA::escape($last_commented));
$a->set_pager_page(1); $a->setPagerPage(1);
$pager_sql = sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage'])); $pager_sql = sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage']));
} }
break; break;
@ -737,14 +737,14 @@ function networkThreadedView(App $a, $update, $parent)
if ($last_created != '') { if ($last_created != '') {
$last_date = $last_created; $last_date = $last_created;
$sql_range .= sprintf(" AND $sql_table.`created` < '%s'", DBA::escape($last_created)); $sql_range .= sprintf(" AND $sql_table.`created` < '%s'", DBA::escape($last_created));
$a->set_pager_page(1); $a->setPagerPage(1);
$pager_sql = sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage'])); $pager_sql = sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage']));
} }
break; break;
case 'id': case 'id':
if (($last_id > 0) && ($sql_table == '`thread`')) { if (($last_id > 0) && ($sql_table == '`thread`')) {
$sql_range .= sprintf(" AND $sql_table.`iid` < '%s'", DBA::escape($last_id)); $sql_range .= sprintf(" AND $sql_table.`iid` < '%s'", DBA::escape($last_id));
$a->set_pager_page(1); $a->setPagerPage(1);
$pager_sql = sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage'])); $pager_sql = sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage']));
} }
break; break;

View File

@ -215,7 +215,7 @@ function nodeinfo_cron() {
logger('local_comments: ' . $local_comments, LOGGER_DEBUG); logger('local_comments: ' . $local_comments, LOGGER_DEBUG);
// Now trying to register // Now trying to register
$url = 'http://the-federation.info/register/'.$a->get_hostname(); $url = 'http://the-federation.info/register/'.$a->getHostName();
logger('registering url: '.$url, LOGGER_DEBUG); logger('registering url: '.$url, LOGGER_DEBUG);
$ret = Network::fetchUrl($url); $ret = Network::fetchUrl($url);
logger('registering answer: '.$ret, LOGGER_DEBUG); logger('registering answer: '.$ret, LOGGER_DEBUG);

View File

@ -61,7 +61,7 @@ function notes_content(App $a, $update = false)
$condition = ['uid' => local_user(), 'post-type' => Item::PT_PERSONAL_NOTE, 'gravity' => GRAVITY_PARENT, $condition = ['uid' => local_user(), 'post-type' => Item::PT_PERSONAL_NOTE, 'gravity' => GRAVITY_PARENT,
'wall' => false, 'contact-id'=> $a->contact['id']]; 'wall' => false, 'contact-id'=> $a->contact['id']];
$a->set_pager_itemspage(40); $a->setPagerItemsPage(40);
$params = ['order' => ['created' => true], $params = ['order' => ['created' => true],
'limit' => [$a->pager['start'], $a->pager['itemspage']]]; 'limit' => [$a->pager['start'], $a->pager['itemspage']]];

View File

@ -120,7 +120,7 @@ function notifications_content(App $a)
} }
// Set the pager // Set the pager
$a->set_pager_itemspage($perpage); $a->setPagerItemsPage($perpage);
// Add additional informations (needed for json output) // Add additional informations (needed for json output)
$notifs['items_page'] = $a->pager['itemspage']; $notifs['items_page'] = $a->pager['itemspage'];

View File

@ -27,7 +27,7 @@ function notify_init(App $a)
$nm->setSeen($note); $nm->setSeen($note);
// The friendica client has problems with the GUID. this is some workaround // The friendica client has problems with the GUID. this is some workaround
if ($a->is_friendica_app()) { if ($a->isFriendicaApp()) {
require_once("include/items.php"); require_once("include/items.php");
$urldata = parse_url($note['link']); $urldata = parse_url($note['link']);
$guid = basename($urldata["path"]); $guid = basename($urldata["path"]);

View File

@ -19,7 +19,7 @@ function openid_content(App $a) {
if((x($_GET,'openid_mode')) && (x($_SESSION,'openid'))) { if((x($_GET,'openid_mode')) && (x($_SESSION,'openid'))) {
$openid = new LightOpenID($a->get_hostname()); $openid = new LightOpenID($a->getHostName());
if($openid->validate()) { if($openid->validate()) {

View File

@ -11,7 +11,7 @@ function opensearch_content(App $a) {
$o = replace_macros($tpl, [ $o = replace_macros($tpl, [
'$baseurl' => System::baseUrl(), '$baseurl' => System::baseUrl(),
'$nodename' => $a->get_hostname(), '$nodename' => $a->getHostName(),
]); ]);
echo $o; echo $o;

View File

@ -192,7 +192,7 @@ function photo_init(App $a)
// If the photo is public and there is an existing photo directory store the photo there // If the photo is public and there is an existing photo directory store the photo there
if ($public and $file != '') { if ($public and $file != '') {
// If the photo path isn't there, try to create it // If the photo path isn't there, try to create it
$basepath = $a->get_basepath(); $basepath = $a->getBasePath();
if (!is_dir($basepath . "/photo")) { if (!is_dir($basepath . "/photo")) {
if (is_writable($basepath)) { if (is_writable($basepath)) {
mkdir($basepath . "/photo"); mkdir($basepath . "/photo");

View File

@ -1143,8 +1143,8 @@ function photos_content(App $a)
DBA::escape($album) DBA::escape($album)
); );
if (DBA::isResult($r)) { if (DBA::isResult($r)) {
$a->set_pager_total(count($r)); $a->setPagerTotal(count($r));
$a->set_pager_itemspage(20); $a->setPagerItemsPage(20);
} }
/// @TODO I have seen this many times, maybe generalize it script-wide and encapsulate it? /// @TODO I have seen this many times, maybe generalize it script-wide and encapsulate it?
@ -1393,7 +1393,7 @@ function photos_content(App $a)
$link_item = Item::selectFirst([], ['id' => $linked_items[0]['id']]); $link_item = Item::selectFirst([], ['id' => $linked_items[0]['id']]);
$condition = ["`parent` = ? AND `parent` != `id`", $link_item['parent']]; $condition = ["`parent` = ? AND `parent` != `id`", $link_item['parent']];
$a->set_pager_total(DBA::count('item', $condition)); $a->setPagerTotal(DBA::count('item', $condition));
$params = ['order' => ['id'], 'limit' => [$a->pager['start'], $a->pager['itemspage']]]; $params = ['order' => ['id'], 'limit' => [$a->pager['start'], $a->pager['itemspage']]];
$result = Item::selectForUser($link_item['uid'], Item::ITEM_FIELDLIST, $condition, $params); $result = Item::selectForUser($link_item['uid'], Item::ITEM_FIELDLIST, $condition, $params);
@ -1655,8 +1655,8 @@ function photos_content(App $a)
); );
if (DBA::isResult($r)) { if (DBA::isResult($r)) {
$a->set_pager_total(count($r)); $a->setPagerTotal(count($r));
$a->set_pager_itemspage(20); $a->setPagerItemsPage(20);
} }
$r = q("SELECT `resource-id`, ANY_VALUE(`id`) AS `id`, ANY_VALUE(`filename`) AS `filename`, $r = q("SELECT `resource-id`, ANY_VALUE(`id`) AS `id`, ANY_VALUE(`filename`) AS `filename`,

View File

@ -350,7 +350,7 @@ function ping_init(App $a)
$regularnotifications = (!empty($_GET['uid']) && !empty($_GET['_'])); $regularnotifications = (!empty($_GET['uid']) && !empty($_GET['_']));
foreach ($notifs as $notif) { foreach ($notifs as $notif) {
if ($a->is_friendica_app() || !$regularnotifications) { if ($a->isFriendicaApp() || !$regularnotifications) {
$notif['message'] = str_replace("{0}", $notif['name'], $notif['message']); $notif['message'] = str_replace("{0}", $notif['name'], $notif['message']);
} }

View File

@ -91,7 +91,7 @@ function profile_init(App $a)
$a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/feed/' . $which . '/" title="' . L10n::t('%s\'s posts', $a->profile['username']) . '"/>' . "\r\n"; $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/feed/' . $which . '/" title="' . L10n::t('%s\'s posts', $a->profile['username']) . '"/>' . "\r\n";
$a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/feed/' . $which . '/comments" title="' . L10n::t('%s\'s comments', $a->profile['username']) . '"/>' . "\r\n"; $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/feed/' . $which . '/comments" title="' . L10n::t('%s\'s comments', $a->profile['username']) . '"/>' . "\r\n";
$a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/feed/' . $which . '/activity" title="' . L10n::t('%s\'s timeline', $a->profile['username']) . '"/>' . "\r\n"; $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/feed/' . $which . '/activity" title="' . L10n::t('%s\'s timeline', $a->profile['username']) . '"/>' . "\r\n";
$uri = urlencode('acct:' . $a->profile['nickname'] . '@' . $a->get_hostname() . ($a->urlpath ? '/' . $a->urlpath : '')); $uri = urlencode('acct:' . $a->profile['nickname'] . '@' . $a->getHostName() . ($a->getURLpath() ? '/' . $a->getURLpath() : ''));
$a->page['htmlhead'] .= '<link rel="lrdd" type="application/xrd+xml" href="' . System::baseUrl() . '/xrd/?uri=' . $uri . '" />' . "\r\n"; $a->page['htmlhead'] .= '<link rel="lrdd" type="application/xrd+xml" href="' . System::baseUrl() . '/xrd/?uri=' . $uri . '" />' . "\r\n";
header('Link: <' . System::baseUrl() . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false); header('Link: <' . System::baseUrl() . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false);
@ -307,7 +307,7 @@ function profile_content(App $a, $update = 0)
$itemspage_network = $a->force_max_items; $itemspage_network = $a->force_max_items;
} }
$a->set_pager_itemspage($itemspage_network); $a->setPagerItemsPage($itemspage_network);
$pager_sql = sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage'])); $pager_sql = sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage']));

View File

@ -667,7 +667,7 @@ function profiles_content(App $a) {
$profiles = ''; $profiles = '';
foreach ($r as $rr) { foreach ($r as $rr) {
$profiles .= replace_macros($tpl, [ $profiles .= replace_macros($tpl, [
'$photo' => $a->remove_baseurl($rr['thumb']), '$photo' => $a->removeBaseURL($rr['thumb']),
'$id' => $rr['id'], '$id' => $rr['id'],
'$alt' => L10n::t('Profile Image'), '$alt' => L10n::t('Profile Image'),
'$profile_name' => $rr['profile-name'], '$profile_name' => $rr['profile-name'],

View File

@ -105,7 +105,7 @@ function pubsubhubbub_init(App $a) {
// Social/StatusNet doesn't honour it (yet) // Social/StatusNet doesn't honour it (yet)
$body = Network::fetchUrl($hub_callback . "?" . $params); $body = Network::fetchUrl($hub_callback . "?" . $params);
$ret = $a->get_curl_code(); $ret = Network::getCurl()->getCode();
// give up if the HTTP return code wasn't a success (2xx) // give up if the HTTP return code wasn't a success (2xx)
if ($ret < 200 || $ret > 299) { if ($ret < 200 || $ret > 299) {

View File

@ -57,7 +57,7 @@ function redir_init(App $a) {
} }
if (remote_user()) { if (remote_user()) {
$host = substr(System::baseUrl() . ($a->urlpath ? '/' . $a->urlpath : ''), strpos(System::baseUrl(), '://') + 3); $host = substr(System::baseUrl() . ($a->getURLpath() ? '/' . $a->getURLpath() : ''), strpos(System::baseUrl(), '://') + 3);
$remotehost = substr($contact['addr'], strpos($contact['addr'], '@') + 1); $remotehost = substr($contact['addr'], strpos($contact['addr'], '@') + 1);
// On a local instance we have to check if the local user has already authenticated // On a local instance we have to check if the local user has already authenticated

View File

@ -274,7 +274,7 @@ function register_content(App $a)
'$passwords' => $passwords, '$passwords' => $passwords,
'$password1' => ['password1', L10n::t('New Password:'), '', L10n::t('Leave empty for an auto generated password.')], '$password1' => ['password1', L10n::t('New Password:'), '', L10n::t('Leave empty for an auto generated password.')],
'$password2' => ['confirm', L10n::t('Confirm:'), '', ''], '$password2' => ['confirm', L10n::t('Confirm:'), '', ''],
'$nickdesc' => L10n::t('Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be \'<strong>nickname@%s</strong>\'.', $a->get_hostname()), '$nickdesc' => L10n::t('Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be \'<strong>nickname@%s</strong>\'.', $a->getHostName()),
'$nicklabel' => L10n::t('Choose a nickname: '), '$nicklabel' => L10n::t('Choose a nickname: '),
'$photo' => $photo, '$photo' => $photo,
'$publish' => $profile_publish, '$publish' => $profile_publish,
@ -283,7 +283,7 @@ function register_content(App $a)
'$email' => $email, '$email' => $email,
'$nickname' => $nickname, '$nickname' => $nickname,
'$license' => $license, '$license' => $license,
'$sitename' => $a->get_hostname(), '$sitename' => $a->getHostName(),
'$importh' => L10n::t('Import'), '$importh' => L10n::t('Import'),
'$importt' => L10n::t('Import your profile to this friendica instance'), '$importt' => L10n::t('Import your profile to this friendica instance'),
'$showtoslink' => Config::get('system', 'tosdisplay'), '$showtoslink' => Config::get('system', 'tosdisplay'),

View File

@ -547,7 +547,7 @@ function settings_post(App $a)
if ($openid != $a->user['openid'] || (strlen($openid) && (!strlen($openidserver)))) { if ($openid != $a->user['openid'] || (strlen($openid) && (!strlen($openidserver)))) {
if (Network::isUrlValid($openid)) { if (Network::isUrlValid($openid)) {
logger('updating openidserver'); logger('updating openidserver');
$open_id_obj = new LightOpenID($a->get_hostname()); $open_id_obj = new LightOpenID($a->getHostName());
$open_id_obj->identity = $openid; $open_id_obj->identity = $openid;
$openidserver = $open_id_obj->discover($open_id_obj->identity); $openidserver = $open_id_obj->discover($open_id_obj->identity);
} else { } else {
@ -1136,8 +1136,8 @@ function settings_content(App $a)
$tpl_addr = get_markup_template('settings/nick_set.tpl'); $tpl_addr = get_markup_template('settings/nick_set.tpl');
$prof_addr = replace_macros($tpl_addr,[ $prof_addr = replace_macros($tpl_addr,[
'$desc' => L10n::t("Your Identity Address is <strong>'%s'</strong> or '%s'.", $nickname . '@' . $a->get_hostname() . $a->get_path(), System::baseUrl() . '/profile/' . $nickname), '$desc' => L10n::t("Your Identity Address is <strong>'%s'</strong> or '%s'.", $nickname . '@' . $a->getHostName() . $a->getURLpath(), System::baseUrl() . '/profile/' . $nickname),
'$basepath' => $a->get_hostname() '$basepath' => $a->getHostName()
]); ]);
$stpl = get_markup_template('settings/settings.tpl'); $stpl = get_markup_template('settings/settings.tpl');

View File

@ -341,8 +341,8 @@ function videos_content(App $a)
); );
if (DBA::isResult($r)) { if (DBA::isResult($r)) {
$a->set_pager_total(count($r)); $a->setPagerTotal(count($r));
$a->set_pager_itemspage(20); $a->setPagerItemsPage(20);
} }
$r = q("SELECT hash, ANY_VALUE(`id`) AS `id`, ANY_VALUE(`created`) AS `created`, $r = q("SELECT hash, ANY_VALUE(`id`) AS `id`, ANY_VALUE(`created`) AS `created`,

View File

@ -71,7 +71,7 @@ function viewcontacts_content(App $a)
DBA::escape(Protocol::OSTATUS) DBA::escape(Protocol::OSTATUS)
); );
if (DBA::isResult($r)) { if (DBA::isResult($r)) {
$a->set_pager_total($r[0]['total']); $a->setPagerTotal($r[0]['total']);
} }
$r = q("SELECT * FROM `contact` $r = q("SELECT * FROM `contact`

View File

@ -55,9 +55,9 @@ function xrd_init(App $a)
$alias = str_replace('/profile/', '/~', $profile_url); $alias = str_replace('/profile/', '/~', $profile_url);
$addr = 'acct:'.$user['nickname'].'@'.$a->get_hostname(); $addr = 'acct:'.$user['nickname'].'@'.$a->getHostName();
if ($a->get_path()) { if ($a->getURLpath()) {
$addr .= '/'.$a->get_path(); $addr .= '/'.$a->getURLpath();
} }
if ($mode == 'xml') { if ($mode == 'xml') {

View File

@ -54,8 +54,6 @@ class App
public $argc; public $argc;
public $module; public $module;
public $strings; public $strings;
public $basepath;
public $urlpath;
public $hooks = []; public $hooks = [];
public $timezone; public $timezone;
public $interactive = true; public $interactive = true;
@ -65,11 +63,9 @@ class App
public $identities; public $identities;
public $is_mobile = false; public $is_mobile = false;
public $is_tablet = false; public $is_tablet = false;
public $is_friendica_app;
public $performance = []; public $performance = [];
public $callstack = []; public $callstack = [];
public $theme_info = []; public $theme_info = [];
public $backend = true;
public $nav_sel; public $nav_sel;
public $category; public $category;
// Allow themes to control internal parameters // Allow themes to control internal parameters
@ -89,6 +85,31 @@ class App
*/ */
private $mode; private $mode;
/**
* @var string The App basepath
*/
private $basepath;
/**
* @var string The App URL path
*/
private $urlpath;
/**
* @var bool true, if the call is from the Friendica APP, otherwise false
*/
private $isFriendicaApp;
/**
* @var bool true, if the call is from an backend node (f.e. worker)
*/
private $isBackend;
/**
* @var string The name of the current theme
*/
private $currentTheme;
/** /**
* Register a stylesheet file path to be included in the <head> tag of every page. * Register a stylesheet file path to be included in the <head> tag of every page.
* Inclusion is done in App->initHead(). * Inclusion is done in App->initHead().
@ -100,7 +121,7 @@ class App
*/ */
public function registerStylesheet($path) public function registerStylesheet($path)
{ {
$url = str_replace($this->get_basepath() . DIRECTORY_SEPARATOR, '', $path); $url = str_replace($this->getBasePath() . DIRECTORY_SEPARATOR, '', $path);
$this->stylesheets[] = trim($url, '/'); $this->stylesheets[] = trim($url, '/');
} }
@ -116,7 +137,7 @@ class App
*/ */
public function registerFooterScript($path) public function registerFooterScript($path)
{ {
$url = str_replace($this->get_basepath() . DIRECTORY_SEPARATOR, '', $path); $url = str_replace($this->getBasePath() . DIRECTORY_SEPARATOR, '', $path);
$this->footerScripts[] = trim($url, '/'); $this->footerScripts[] = trim($url, '/');
} }
@ -157,26 +178,26 @@ class App
]; ];
private $scheme; private $scheme;
private $hostname; private $hostname;
private $curl_code;
private $curl_content_type;
private $curl_headers;
/** /**
* @brief App constructor. * @brief App constructor.
* *
* @param string $basepath Path to the app base folder * @param string $basepath Path to the app base folder
* @param bool $backend true, if the call is from backend, otherwise set to true (Default true)
* *
* @throws Exception if the Basepath is not usable * @throws Exception if the Basepath is not usable
*/ */
public function __construct($basepath) public function __construct($basepath, $backend = true)
{ {
if (!static::directory_usable($basepath, false)) { if (!static::isDirectoryUsable($basepath, false)) {
throw new Exception('Basepath ' . $basepath . ' isn\'t usable.'); throw new Exception('Basepath ' . $basepath . ' isn\'t usable.');
} }
BaseObject::setApp($this); BaseObject::setApp($this);
$this->basepath = rtrim($basepath, DIRECTORY_SEPARATOR); $this->basepath = rtrim($basepath, DIRECTORY_SEPARATOR);
$this->checkBackend($backend);
$this->checkFriendicaApp();
$this->performance['start'] = microtime(true); $this->performance['start'] = microtime(true);
$this->performance['database'] = 0; $this->performance['database'] = 0;
@ -230,9 +251,9 @@ class App
set_include_path( set_include_path(
get_include_path() . PATH_SEPARATOR get_include_path() . PATH_SEPARATOR
. $this->basepath . DIRECTORY_SEPARATOR . 'include' . PATH_SEPARATOR . $this->getBasePath() . DIRECTORY_SEPARATOR . 'include' . PATH_SEPARATOR
. $this->basepath . DIRECTORY_SEPARATOR . 'library' . PATH_SEPARATOR . $this->getBasePath(). DIRECTORY_SEPARATOR . 'library' . PATH_SEPARATOR
. $this->basepath); . $this->getBasePath());
if ((x($_SERVER, 'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'], 0, 9) === 'pagename=') { if ((x($_SERVER, 'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'], 0, 9) === 'pagename=') {
$this->query_string = substr($_SERVER['QUERY_STRING'], 9); $this->query_string = substr($_SERVER['QUERY_STRING'], 9);
@ -301,11 +322,8 @@ class App
$this->is_mobile = $mobile_detect->isMobile(); $this->is_mobile = $mobile_detect->isMobile();
$this->is_tablet = $mobile_detect->isTablet(); $this->is_tablet = $mobile_detect->isTablet();
// Friendica-Client
$this->is_friendica_app = isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT'] == 'Apache-HttpClient/UNAVAILABLE (java 1.4)';
// Register template engines // Register template engines
$this->register_template_engine('Friendica\Render\FriendicaSmartyEngine'); $this->registerTemplateEngine('Friendica\Render\FriendicaSmartyEngine');
} }
/** /**
@ -334,9 +352,9 @@ class App
$this->loadDatabase(); $this->loadDatabase();
$this->getMode()->determine($this->basepath); $this->getMode()->determine($this->getBasePath());
$this->determineUrlPath(); $this->determineURLPath();
Config::load(); Config::load();
@ -372,20 +390,20 @@ class App
*/ */
private function loadConfigFiles() private function loadConfigFiles()
{ {
$this->loadConfigFile($this->basepath . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.ini.php'); $this->loadConfigFile($this->getBasePath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.ini.php');
$this->loadConfigFile($this->basepath . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'settings.ini.php'); $this->loadConfigFile($this->getBasePath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'settings.ini.php');
// Legacy .htconfig.php support // Legacy .htconfig.php support
if (file_exists($this->basepath . DIRECTORY_SEPARATOR . '.htpreconfig.php')) { if (file_exists($this->getBasePath() . DIRECTORY_SEPARATOR . '.htpreconfig.php')) {
$a = $this; $a = $this;
include $this->basepath . DIRECTORY_SEPARATOR . '.htpreconfig.php'; include $this->getBasePath() . DIRECTORY_SEPARATOR . '.htpreconfig.php';
} }
// Legacy .htconfig.php support // Legacy .htconfig.php support
if (file_exists($this->basepath . DIRECTORY_SEPARATOR . '.htconfig.php')) { if (file_exists($this->getBasePath() . DIRECTORY_SEPARATOR . '.htconfig.php')) {
$a = $this; $a = $this;
include $this->basepath . DIRECTORY_SEPARATOR . '.htconfig.php'; include $this->getBasePath() . DIRECTORY_SEPARATOR . '.htconfig.php';
$this->setConfigValue('database', 'hostname', $db_host); $this->setConfigValue('database', 'hostname', $db_host);
$this->setConfigValue('database', 'username', $db_user); $this->setConfigValue('database', 'username', $db_user);
@ -413,8 +431,8 @@ class App
} }
} }
if (file_exists($this->basepath . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.ini.php')) { if (file_exists($this->getBasePath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.ini.php')) {
$this->loadConfigFile($this->basepath . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.ini.php', true); $this->loadConfigFile($this->getBasePath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.ini.php', true);
} }
} }
@ -473,8 +491,8 @@ class App
Core\Addon::callHooks('load_config'); Core\Addon::callHooks('load_config');
// Load the local addon config file to overwritten default addon config values // Load the local addon config file to overwritten default addon config values
if (file_exists($this->basepath . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'addon.ini.php')) { if (file_exists($this->getBasePath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'addon.ini.php')) {
$this->loadConfigFile($this->basepath . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'addon.ini.php', true); $this->loadConfigFile($this->getBasePath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'addon.ini.php', true);
} }
} }
@ -502,7 +520,7 @@ class App
/** /**
* Figure out if we are running at the top of a domain or in a sub-directory and adjust accordingly * Figure out if we are running at the top of a domain or in a sub-directory and adjust accordingly
*/ */
private function determineUrlPath() private function determineURLPath()
{ {
$this->urlpath = $this->getConfigValue('system', 'urlpath'); $this->urlpath = $this->getConfigValue('system', 'urlpath');
@ -562,7 +580,7 @@ class App
DBA::connect($db_host, $db_user, $db_pass, $db_data, $charset); DBA::connect($db_host, $db_user, $db_pass, $db_data, $charset);
unset($db_host, $db_user, $db_pass, $db_data, $charset); unset($db_host, $db_user, $db_pass, $db_data, $charset);
$this->save_timestamp($stamp1, 'network'); $this->saveTimestamp($stamp1, 'network');
} }
/** /**
@ -573,7 +591,7 @@ class App
* *
* @return string * @return string
*/ */
public function get_basepath() public function getBasePath()
{ {
$basepath = $this->basepath; $basepath = $this->basepath;
@ -589,7 +607,7 @@ class App
$basepath = $_SERVER['PWD']; $basepath = $_SERVER['PWD'];
} }
return self::realpath($basepath); return self::getRealPath($basepath);
} }
/** /**
@ -602,7 +620,7 @@ class App
* @param string $path The path that is about to be normalized * @param string $path The path that is about to be normalized
* @return string normalized path - when possible * @return string normalized path - when possible
*/ */
public static function realpath($path) public static function getRealPath($path)
{ {
$normalized = realpath($path); $normalized = realpath($path);
@ -613,7 +631,7 @@ class App
} }
} }
public function get_scheme() public function getScheme()
{ {
return $this->scheme; return $this->scheme;
} }
@ -632,7 +650,7 @@ class App
* @param bool $ssl Whether to append http or https under SSL_POLICY_SELFSIGN * @param bool $ssl Whether to append http or https under SSL_POLICY_SELFSIGN
* @return string Friendica server base URL * @return string Friendica server base URL
*/ */
public function get_baseurl($ssl = false) public function getBaseURL($ssl = false)
{ {
$scheme = $this->scheme; $scheme = $this->scheme;
@ -655,7 +673,7 @@ class App
$this->hostname = Config::get('config', 'hostname'); $this->hostname = Config::get('config', 'hostname');
} }
return $scheme . '://' . $this->hostname . (!empty($this->urlpath) ? '/' . $this->urlpath : '' ); return $scheme . '://' . $this->hostname . (!empty($this->getURLpath()) ? '/' . $this->getURLpath() : '' );
} }
/** /**
@ -665,7 +683,7 @@ class App
* *
* @param string $url * @param string $url
*/ */
public function set_baseurl($url) public function setBaseURL($url)
{ {
$parsed = @parse_url($url); $parsed = @parse_url($url);
$hostname = ''; $hostname = '';
@ -686,8 +704,8 @@ class App
$this->urlpath = trim($parsed['path'], '\\/'); $this->urlpath = trim($parsed['path'], '\\/');
} }
if (file_exists($this->basepath . DIRECTORY_SEPARATOR . '.htpreconfig.php')) { if (file_exists($this->getBasePath() . DIRECTORY_SEPARATOR . '.htpreconfig.php')) {
include $this->basepath . DIRECTORY_SEPARATOR . '.htpreconfig.php'; include $this->getBasePath() . DIRECTORY_SEPARATOR . '.htpreconfig.php';
} }
if (Config::get('config', 'hostname') != '') { if (Config::get('config', 'hostname') != '') {
@ -700,7 +718,7 @@ class App
} }
} }
public function get_hostname() public function getHostName()
{ {
if (Config::get('config', 'hostname') != '') { if (Config::get('config', 'hostname') != '') {
$this->hostname = Config::get('config', 'hostname'); $this->hostname = Config::get('config', 'hostname');
@ -709,23 +727,23 @@ class App
return $this->hostname; return $this->hostname;
} }
public function get_path() public function getURLpath()
{ {
return $this->urlpath; return $this->urlpath;
} }
public function set_pager_total($n) public function setPagerTotal($n)
{ {
$this->pager['total'] = intval($n); $this->pager['total'] = intval($n);
} }
public function set_pager_itemspage($n) public function setPagerItemsPage($n)
{ {
$this->pager['itemspage'] = ((intval($n) > 0) ? intval($n) : 0); $this->pager['itemspage'] = ((intval($n) > 0) ? intval($n) : 0);
$this->pager['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage']; $this->pager['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage'];
} }
public function set_pager_page($n) public function setPagerPage($n)
{ {
$this->pager['page'] = $n; $this->pager['page'] = $n;
$this->pager['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage']; $this->pager['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage'];
@ -791,7 +809,7 @@ class App
* being first * being first
*/ */
$this->page['htmlhead'] = replace_macros($tpl, [ $this->page['htmlhead'] = replace_macros($tpl, [
'$baseurl' => $this->get_baseurl(), '$baseurl' => $this->getBaseURL(),
'$local_user' => local_user(), '$local_user' => local_user(),
'$generator' => 'Friendica' . ' ' . FRIENDICA_VERSION, '$generator' => 'Friendica' . ' ' . FRIENDICA_VERSION,
'$delitem' => L10n::t('Delete this item?'), '$delitem' => L10n::t('Delete this item?'),
@ -847,41 +865,11 @@ class App
$tpl = get_markup_template('footer.tpl'); $tpl = get_markup_template('footer.tpl');
$this->page['footer'] = replace_macros($tpl, [ $this->page['footer'] = replace_macros($tpl, [
'$baseurl' => $this->get_baseurl(), '$baseurl' => $this->getBaseURL(),
'$footerScripts' => $this->footerScripts, '$footerScripts' => $this->footerScripts,
]) . $this->page['footer']; ]) . $this->page['footer'];
} }
public function set_curl_code($code)
{
$this->curl_code = $code;
}
public function get_curl_code()
{
return $this->curl_code;
}
public function set_curl_content_type($content_type)
{
$this->curl_content_type = $content_type;
}
public function get_curl_content_type()
{
return $this->curl_content_type;
}
public function set_curl_headers($headers)
{
$this->curl_headers = $headers;
}
public function get_curl_headers()
{
return $this->curl_headers;
}
/** /**
* @brief Removes the base url from an url. This avoids some mixed content problems. * @brief Removes the base url from an url. This avoids some mixed content problems.
* *
@ -889,11 +877,11 @@ class App
* *
* @return string The cleaned url * @return string The cleaned url
*/ */
public function remove_baseurl($orig_url) public function removeBaseURL($orig_url)
{ {
// Remove the hostname from the url if it is an internal link // Remove the hostname from the url if it is an internal link
$nurl = normalise_link($orig_url); $nurl = normalise_link($orig_url);
$base = normalise_link($this->get_baseurl()); $base = normalise_link($this->getBaseURL());
$url = str_replace($base . '/', '', $nurl); $url = str_replace($base . '/', '', $nurl);
// if it is an external link return the orignal value // if it is an external link return the orignal value
@ -909,7 +897,7 @@ class App
* *
* @param string $class * @param string $class
*/ */
private function register_template_engine($class) private function registerTemplateEngine($class)
{ {
$v = get_class_vars($class); $v = get_class_vars($class);
if (x($v, 'name')) { if (x($v, 'name')) {
@ -929,7 +917,7 @@ class App
* *
* @return object Template Engine instance * @return object Template Engine instance
*/ */
public function template_engine() public function getTemplateEngine()
{ {
$template_engine = 'smarty3'; $template_engine = 'smarty3';
if (x($this->theme, 'template_engine')) { if (x($this->theme, 'template_engine')) {
@ -956,33 +944,40 @@ class App
* *
* @return string * @return string
*/ */
public function get_template_engine() public function getActiveTemplateEngine()
{ {
return $this->theme['template_engine']; return $this->theme['template_engine'];
} }
public function set_template_engine($engine = 'smarty3') public function setActiveTemplateEngine($engine = 'smarty3')
{ {
$this->theme['template_engine'] = $engine; $this->theme['template_engine'] = $engine;
} }
public function get_template_ldelim($engine = 'smarty3') public function getTemplateLdelim($engine = 'smarty3')
{ {
return $this->ldelim[$engine]; return $this->ldelim[$engine];
} }
public function get_template_rdelim($engine = 'smarty3') public function getTemplateRdelim($engine = 'smarty3')
{ {
return $this->rdelim[$engine]; return $this->rdelim[$engine];
} }
public function save_timestamp($stamp, $value) /**
* Saves a timestamp for a value - f.e. a call
* Necessary for profiling Friendica
*
* @param int $timestamp the Timestamp
* @param string $value A value to profile
*/
public function saveTimestamp($timestamp, $value)
{ {
if (!isset($this->config['system']['profiler']) || !$this->config['system']['profiler']) { if (!isset($this->config['system']['profiler']) || !$this->config['system']['profiler']) {
return; return;
} }
$duration = (float) (microtime(true) - $stamp); $duration = (float) (microtime(true) - $timestamp);
if (!isset($this->performance[$value])) { if (!isset($this->performance[$value])) {
// Prevent ugly E_NOTICE // Prevent ugly E_NOTICE
@ -1002,19 +997,41 @@ class App
$this->callstack[$value][$callstack] += (float) $duration; $this->callstack[$value][$callstack] += (float) $duration;
} }
public function get_useragent() /**
* Returns the current UserAgent as a String
*
* @return string the UserAgent as a String
*/
public function getUserAgent()
{ {
return return
FRIENDICA_PLATFORM . " '" . FRIENDICA_PLATFORM . " '" .
FRIENDICA_CODENAME . "' " . FRIENDICA_CODENAME . "' " .
FRIENDICA_VERSION . '-' . FRIENDICA_VERSION . '-' .
DB_UPDATE_VERSION . '; ' . DB_UPDATE_VERSION . '; ' .
$this->get_baseurl(); $this->getBaseURL();
} }
public function is_friendica_app() /**
* Checks, if the call is from the Friendica App
*
* Reason:
* The friendica client has problems with the GUID in the notify. this is some workaround
*/
private function checkFriendicaApp()
{ {
return $this->is_friendica_app; // Friendica-Client
$this->isFriendicaApp = isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT'] == 'Apache-HttpClient/UNAVAILABLE (java 1.4)';
}
/**
* Is the call via the Friendica app? (not a "normale" call)
*
* @return bool true if it's from the Friendica app
*/
public function isFriendicaApp()
{
return $this->isFriendicaApp;
} }
/** /**
@ -1023,10 +1040,8 @@ class App
* This isn't a perfect solution. But we need this check very early. * This isn't a perfect solution. But we need this check very early.
* So we cannot wait until the modules are loaded. * So we cannot wait until the modules are loaded.
* *
* @return bool Is it a known backend?
*/ */
public function is_backend() private function checkBackend($backend) {
{
static $backends = [ static $backends = [
'_well_known', '_well_known',
'api', 'api',
@ -1050,7 +1065,17 @@ class App
]; ];
// Check if current module is in backend or backend flag is set // Check if current module is in backend or backend flag is set
return (in_array($this->module, $backends) || $this->backend); $this->isBackend = (in_array($this->module, $backends) || $this->isBackend);
}
/**
* Returns true, if the call is from a backend node (f.e. from a worker)
*
* @return bool Is it a known backend?
*/
public function isBackend()
{
return $this->isBackend;
} }
/** /**
@ -1098,7 +1123,7 @@ class App
* *
* @return bool Is the memory limit reached? * @return bool Is the memory limit reached?
*/ */
public function min_memory_reached() public function isMinMemoryReached()
{ {
$min_memory = Config::get('system', 'min_memory', 0); $min_memory = Config::get('system', 'min_memory', 0);
if ($min_memory == 0) { if ($min_memory == 0) {
@ -1144,7 +1169,7 @@ class App
*/ */
public function isMaxLoadReached() public function isMaxLoadReached()
{ {
if ($this->is_backend()) { if ($this->isBackend()) {
$process = 'backend'; $process = 'backend';
$maxsysload = intval(Config::get('system', 'maxloadavg')); $maxsysload = intval(Config::get('system', 'maxloadavg'));
if ($maxsysload < 1) { if ($maxsysload < 1) {
@ -1193,14 +1218,14 @@ class App
} }
} }
if ($this->min_memory_reached()) { if ($this->isMinMemoryReached()) {
return; return;
} }
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
$resource = proc_open('cmd /c start /b ' . $cmdline, [], $foo, $this->get_basepath()); $resource = proc_open('cmd /c start /b ' . $cmdline, [], $foo, $this->getBasePath());
} else { } else {
$resource = proc_open($cmdline . ' &', [], $foo, $this->get_basepath()); $resource = proc_open($cmdline . ' &', [], $foo, $this->getBasePath());
} }
if (!is_resource($resource)) { if (!is_resource($resource)) {
logger('We got no resource for command ' . $cmdline, LOGGER_DEBUG); logger('We got no resource for command ' . $cmdline, LOGGER_DEBUG);
@ -1216,7 +1241,7 @@ class App
* *
* @return string system username * @return string system username
*/ */
private static function systemuser() private static function getSystemUser()
{ {
if (!function_exists('posix_getpwuid') || !function_exists('posix_geteuid')) { if (!function_exists('posix_getpwuid') || !function_exists('posix_geteuid')) {
return ''; return '';
@ -1231,7 +1256,7 @@ class App
* *
* @return boolean the directory is usable * @return boolean the directory is usable
*/ */
public static function directory_usable($directory, $check_writable = true) public static function isDirectoryUsable($directory, $check_writable = true)
{ {
if ($directory == '') { if ($directory == '') {
logger('Directory is empty. This shouldn\'t happen.', LOGGER_DEBUG); logger('Directory is empty. This shouldn\'t happen.', LOGGER_DEBUG);
@ -1239,22 +1264,22 @@ class App
} }
if (!file_exists($directory)) { if (!file_exists($directory)) {
logger('Path "' . $directory . '" does not exist for user ' . self::systemuser(), LOGGER_DEBUG); logger('Path "' . $directory . '" does not exist for user ' . self::getSystemUser(), LOGGER_DEBUG);
return false; return false;
} }
if (is_file($directory)) { if (is_file($directory)) {
logger('Path "' . $directory . '" is a file for user ' . self::systemuser(), LOGGER_DEBUG); logger('Path "' . $directory . '" is a file for user ' . self::getSystemUser(), LOGGER_DEBUG);
return false; return false;
} }
if (!is_dir($directory)) { if (!is_dir($directory)) {
logger('Path "' . $directory . '" is not a directory for user ' . self::systemuser(), LOGGER_DEBUG); logger('Path "' . $directory . '" is not a directory for user ' . self::getSystemUser(), LOGGER_DEBUG);
return false; return false;
} }
if ($check_writable && !is_writable($directory)) { if ($check_writable && !is_writable($directory)) {
logger('Path "' . $directory . '" is not writable for user ' . self::systemuser(), LOGGER_DEBUG); logger('Path "' . $directory . '" is not writable for user ' . self::getSystemUser(), LOGGER_DEBUG);
return false; return false;
} }
@ -1265,6 +1290,8 @@ class App
* @param string $cat Config category * @param string $cat Config category
* @param string $k Config key * @param string $k Config key
* @param mixed $default Default value if it isn't set * @param mixed $default Default value if it isn't set
*
* @return string Returns the value of the Config entry
*/ */
public function getConfigValue($cat, $k, $default = null) public function getConfigValue($cat, $k, $default = null)
{ {
@ -1347,6 +1374,8 @@ class App
* @param string $cat Config category * @param string $cat Config category
* @param string $k Config key * @param string $k Config key
* @param mixed $default Default value if key isn't set * @param mixed $default Default value if key isn't set
*
* @return string The value of the config entry
*/ */
public function getPConfigValue($uid, $cat, $k, $default = null) public function getPConfigValue($uid, $cat, $k, $default = null)
{ {
@ -1408,7 +1437,7 @@ class App
{ {
$sender_email = Config::get('config', 'sender_email'); $sender_email = Config::get('config', 'sender_email');
if (empty($sender_email)) { if (empty($sender_email)) {
$hostname = $this->get_hostname(); $hostname = $this->getHostName();
if (strpos($hostname, ':')) { if (strpos($hostname, ':')) {
$hostname = substr($hostname, 0, strpos($hostname, ':')); $hostname = substr($hostname, 0, strpos($hostname, ':'));
} }
@ -1422,7 +1451,7 @@ class App
/** /**
* Returns the current theme name. * Returns the current theme name.
* *
* @return string * @return string the name of the current theme
*/ */
public function getCurrentTheme() public function getCurrentTheme()
{ {
@ -1435,7 +1464,7 @@ class App
/// https://github.com/friendica/friendica/issues/5092) /// https://github.com/friendica/friendica/issues/5092)
$this->computeCurrentTheme(); $this->computeCurrentTheme();
return $this->current_theme; return $this->currentTheme;
} }
/** /**
@ -1451,7 +1480,7 @@ class App
} }
// Sane default // Sane default
$this->current_theme = $system_theme; $this->currentTheme = $system_theme;
$allowed_themes = explode(',', Config::get('system', 'allowed_themes', $system_theme)); $allowed_themes = explode(',', Config::get('system', 'allowed_themes', $system_theme));
@ -1490,7 +1519,7 @@ class App
&& (file_exists('view/theme/' . $theme_name . '/style.css') && (file_exists('view/theme/' . $theme_name . '/style.css')
|| file_exists('view/theme/' . $theme_name . '/style.php')) || file_exists('view/theme/' . $theme_name . '/style.php'))
) { ) {
$this->current_theme = $theme_name; $this->currentTheme = $theme_name;
} }
} }

View File

@ -107,7 +107,7 @@ class Nav
// user info // user info
$contact = DBA::selectFirst('contact', ['micro'], ['uid' => $a->user['uid'], 'self' => true]); $contact = DBA::selectFirst('contact', ['micro'], ['uid' => $a->user['uid'], 'self' => true]);
$userinfo = [ $userinfo = [
'icon' => (DBA::isResult($contact) ? $a->remove_baseurl($contact['micro']) : 'images/person-48.jpg'), 'icon' => (DBA::isResult($contact) ? $a->removeBaseURL($contact['micro']) : 'images/person-48.jpg'),
'name' => $a->user['username'], 'name' => $a->user['username'],
]; ];
} else { } else {

View File

@ -1060,11 +1060,11 @@ class BBCode extends BaseObject
$ch = @curl_init($match[1]); $ch = @curl_init($match[1]);
@curl_setopt($ch, CURLOPT_NOBODY, true); @curl_setopt($ch, CURLOPT_NOBODY, true);
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent()); @curl_setopt($ch, CURLOPT_USERAGENT, $a->getUserAgent());
@curl_exec($ch); @curl_exec($ch);
$curl_info = @curl_getinfo($ch); $curl_info = @curl_getinfo($ch);
$a->save_timestamp($stamp1, "network"); $a->saveTimestamp($stamp1, "network");
if (substr($curl_info["content_type"], 0, 6) == "image/") { if (substr($curl_info["content_type"], 0, 6) == "image/") {
$text = "[url=" . $match[1] . "]" . $match[1] . "[/url]"; $text = "[url=" . $match[1] . "]" . $match[1] . "[/url]";
@ -1119,11 +1119,11 @@ class BBCode extends BaseObject
$ch = @curl_init($match[1]); $ch = @curl_init($match[1]);
@curl_setopt($ch, CURLOPT_NOBODY, true); @curl_setopt($ch, CURLOPT_NOBODY, true);
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent()); @curl_setopt($ch, CURLOPT_USERAGENT, $a->getUserAgent());
@curl_exec($ch); @curl_exec($ch);
$curl_info = @curl_getinfo($ch); $curl_info = @curl_getinfo($ch);
$a->save_timestamp($stamp1, "network"); $a->saveTimestamp($stamp1, "network");
// if its a link to a picture then embed this picture // if its a link to a picture then embed this picture
if (substr($curl_info["content_type"], 0, 6) == "image/") { if (substr($curl_info["content_type"], 0, 6) == "image/") {
@ -1946,7 +1946,7 @@ class BBCode extends BaseObject
// unmask the special chars back to HTML // unmask the special chars back to HTML
$text = str_replace(['&\_lt\_;', '&\_gt\_;', '&\_amp\_;'], ['&lt;', '&gt;', '&amp;'], $text); $text = str_replace(['&\_lt\_;', '&\_gt\_;', '&\_amp\_;'], ['&lt;', '&gt;', '&amp;'], $text);
$a->save_timestamp($stamp1, "parser"); $a->saveTimestamp($stamp1, "parser");
// Libertree has a problem with escaped hashtags. // Libertree has a problem with escaped hashtags.
$text = str_replace(['\#'], ['#'], $text); $text = str_replace(['\#'], ['#'], $text);

View File

@ -35,7 +35,7 @@ class Markdown extends BaseObject
$MarkdownParser->code_class_prefix = 'language-'; $MarkdownParser->code_class_prefix = 'language-';
$html = $MarkdownParser->transform($text); $html = $MarkdownParser->transform($text);
self::getApp()->save_timestamp($stamp1, "parser"); self::getApp()->saveTimestamp($stamp1, "parser");
return $html; return $html;
} }

View File

@ -197,7 +197,7 @@ class Addon extends BaseObject
*/ */
public static function registerHook($hook, $file, $function, $priority = 0) public static function registerHook($hook, $file, $function, $priority = 0)
{ {
$file = str_replace(self::getApp()->get_basepath() . DIRECTORY_SEPARATOR, '', $file); $file = str_replace(self::getApp()->getBasePath() . DIRECTORY_SEPARATOR, '', $file);
$condition = ['hook' => $hook, 'file' => $file, 'function' => $function]; $condition = ['hook' => $hook, 'file' => $file, 'function' => $function];
$exists = DBA::exists('hook', $condition); $exists = DBA::exists('hook', $condition);
@ -220,7 +220,7 @@ class Addon extends BaseObject
*/ */
public static function unregisterHook($hook, $file, $function) public static function unregisterHook($hook, $file, $function)
{ {
$relative_file = str_replace(self::getApp()->get_basepath() . DIRECTORY_SEPARATOR, '', $file); $relative_file = str_replace(self::getApp()->getBasePath() . DIRECTORY_SEPARATOR, '', $file);
// This here is only needed for fixing a problem that existed on the develop branch // This here is only needed for fixing a problem that existed on the develop branch
$condition = ['hook' => $hook, 'file' => $file, 'function' => $function]; $condition = ['hook' => $hook, 'file' => $file, 'function' => $function];
@ -368,7 +368,7 @@ class Addon extends BaseObject
$stamp1 = microtime(true); $stamp1 = microtime(true);
$f = file_get_contents("addon/$addon/$addon.php"); $f = file_get_contents("addon/$addon/$addon.php");
$a->save_timestamp($stamp1, "file"); $a->saveTimestamp($stamp1, "file");
$r = preg_match("|/\*.*\*/|msU", $f, $m); $r = preg_match("|/\*.*\*/|msU", $f, $m);

View File

@ -61,7 +61,7 @@ class Cache extends \Friendica\BaseObject
$return = self::getDriver()->getAllKeys($prefix); $return = self::getDriver()->getAllKeys($prefix);
self::getApp()->save_timestamp($time, 'cache'); self::getApp()->saveTimestamp($time, 'cache');
return $return; return $return;
} }
@ -79,7 +79,7 @@ class Cache extends \Friendica\BaseObject
$return = self::getDriver()->get($key); $return = self::getDriver()->get($key);
self::getApp()->save_timestamp($time, 'cache'); self::getApp()->saveTimestamp($time, 'cache');
return $return; return $return;
} }
@ -101,7 +101,7 @@ class Cache extends \Friendica\BaseObject
$return = self::getDriver()->set($key, $value, $duration); $return = self::getDriver()->set($key, $value, $duration);
self::getApp()->save_timestamp($time, 'cache_write'); self::getApp()->saveTimestamp($time, 'cache_write');
return $return; return $return;
} }
@ -119,7 +119,7 @@ class Cache extends \Friendica\BaseObject
$return = self::getDriver()->delete($key); $return = self::getDriver()->delete($key);
self::getApp()->save_timestamp($time, 'cache_write'); self::getApp()->saveTimestamp($time, 'cache_write');
return $return; return $return;
} }

View File

@ -20,7 +20,7 @@ abstract class AbstractCacheDriver extends BaseObject
protected function getCacheKey($key) protected function getCacheKey($key)
{ {
// We fetch with the hostname as key to avoid problems with other applications // We fetch with the hostname as key to avoid problems with other applications
return self::getApp()->get_hostname() . ":" . $key; return self::getApp()->getHostName() . ":" . $key;
} }
/** /**
@ -34,7 +34,7 @@ abstract class AbstractCacheDriver extends BaseObject
} else { } else {
// Keys are prefixed with the node hostname, let's remove it // Keys are prefixed with the node hostname, let's remove it
array_walk($keys, function (&$value) { array_walk($keys, function (&$value) {
$value = preg_replace('/^' . self::getApp()->get_hostname() . ':/', '', $value); $value = preg_replace('/^' . self::getApp()->getHostName() . ':/', '', $value);
}); });
sort($keys); sort($keys);

View File

@ -84,8 +84,8 @@ HELP;
if ($config_file != 'config' . DIRECTORY_SEPARATOR . 'local.ini.php') { if ($config_file != 'config' . DIRECTORY_SEPARATOR . 'local.ini.php') {
// Copy config file // Copy config file
$this->out("Copying config file...\n"); $this->out("Copying config file...\n");
if (!copy($a->basepath . DIRECTORY_SEPARATOR . $config_file, $a->basepath . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.ini.php')) { if (!copy($a->getBasePath() . DIRECTORY_SEPARATOR . $config_file, $a->getBasePath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.ini.php')) {
throw new RuntimeException("ERROR: Saving config file failed. Please copy '$config_file' to '$a->basepath" . DIRECTORY_SEPARATOR . "config" . DIRECTORY_SEPARATOR . "local.ini.php' manually.\n"); throw new RuntimeException("ERROR: Saving config file failed. Please copy '$config_file' to '" . $a->getBasePath() . "'" . DIRECTORY_SEPARATOR . "config" . DIRECTORY_SEPARATOR . "local.ini.php' manually.\n");
} }
} }

View File

@ -60,7 +60,7 @@ HELP;
} }
//return from util folder to frindica base dir //return from util folder to frindica base dir
$dir = get_app()->get_basepath(); $dir = get_app()->getBasePath();
//stack for dirs to search //stack for dirs to search
$dirstack = []; $dirstack = [];

View File

@ -86,7 +86,7 @@ class Install extends BaseObject
$app = self::getApp(); $app = self::getApp();
$result = file_put_contents($app->basepath . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.ini.php', $txt); $result = file_put_contents($app->getBasePath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.ini.php', $txt);
if (!$result) { if (!$result) {
$app->data['txt'] = $txt; $app->data['txt'] = $txt;
} }

View File

@ -631,7 +631,7 @@ class NotificationsManager extends BaseObject
// We have to distinguish between these two because they use different data. // We have to distinguish between these two because they use different data.
// Contact suggestions // Contact suggestions
if ($it['fid']) { if ($it['fid']) {
$return_addr = bin2hex(self::getApp()->user['nickname'] . '@' . self::getApp()->get_hostname() . ((self::getApp()->urlpath) ? '/' . self::getApp()->urlpath : '')); $return_addr = bin2hex(self::getApp()->user['nickname'] . '@' . self::getApp()->getHostName() . ((self::getApp()->getURLpath()) ? '/' . self::getApp()->getURLpath() : ''));
$intro = [ $intro = [
'label' => 'friend_suggestion', 'label' => 'friend_suggestion',

View File

@ -27,7 +27,7 @@ class System extends BaseObject
*/ */
public static function baseUrl($ssl = false) public static function baseUrl($ssl = false)
{ {
return self::getApp()->get_baseurl($ssl); return self::getApp()->getBaseURL($ssl);
} }
/** /**
@ -39,7 +39,7 @@ class System extends BaseObject
*/ */
public static function removedBaseUrl($orig_url) public static function removedBaseUrl($orig_url)
{ {
return self::getApp()->remove_baseurl($orig_url); return self::getApp()->removeBaseURL($orig_url);
} }
/** /**
@ -185,7 +185,7 @@ class System extends BaseObject
if (is_bool($prefix) && !$prefix) { if (is_bool($prefix) && !$prefix) {
$prefix = ''; $prefix = '';
} elseif (empty($prefix)) { } elseif (empty($prefix)) {
$prefix = hash('crc32', self::getApp()->get_hostname()); $prefix = hash('crc32', self::getApp()->getHostName());
} }
while (strlen($prefix) < ($size - 13)) { while (strlen($prefix) < ($size - 13)) {

View File

@ -50,7 +50,7 @@ class Theme
$a = get_app(); $a = get_app();
$stamp1 = microtime(true); $stamp1 = microtime(true);
$theme_file = file_get_contents("view/theme/$theme/theme.php"); $theme_file = file_get_contents("view/theme/$theme/theme.php");
$a->save_timestamp($stamp1, "file"); $a->saveTimestamp($stamp1, "file");
$result = preg_match("|/\*.*\*/|msU", $theme_file, $matches); $result = preg_match("|/\*.*\*/|msU", $theme_file, $matches);

View File

@ -62,7 +62,7 @@ class Worker
} }
// Do we have too few memory? // Do we have too few memory?
if ($a->min_memory_reached()) { if ($a->isMinMemoryReached()) {
logger('Pre check: Memory limit reached, quitting.', LOGGER_DEBUG); logger('Pre check: Memory limit reached, quitting.', LOGGER_DEBUG);
return; return;
} }
@ -122,7 +122,7 @@ class Worker
} }
// Check free memory // Check free memory
if ($a->min_memory_reached()) { if ($a->isMinMemoryReached()) {
logger('Memory limit reached, quitting.', LOGGER_DEBUG); logger('Memory limit reached, quitting.', LOGGER_DEBUG);
Lock::release('worker'); Lock::release('worker');
return; return;

View File

@ -570,7 +570,7 @@ class DBA
self::$errorno = $errorno; self::$errorno = $errorno;
} }
$a->save_timestamp($stamp1, 'database'); $a->saveTimestamp($stamp1, 'database');
if ($a->getConfigValue('system', 'db_log')) { if ($a->getConfigValue('system', 'db_log')) {
$stamp2 = microtime(true); $stamp2 = microtime(true);
@ -641,7 +641,7 @@ class DBA
self::$errorno = $errorno; self::$errorno = $errorno;
} }
$a->save_timestamp($stamp, "database_write"); $a->saveTimestamp($stamp, "database_write");
return $retval; return $retval;
} }
@ -809,7 +809,7 @@ class DBA
} }
} }
$a->save_timestamp($stamp1, 'database'); $a->saveTimestamp($stamp1, 'database');
return $columns; return $columns;
} }
@ -1547,7 +1547,7 @@ class DBA
break; break;
} }
$a->save_timestamp($stamp1, 'database'); $a->saveTimestamp($stamp1, 'database');
return $ret; return $ret;
} }

View File

@ -842,7 +842,7 @@ class DBStructure
public static function definition() { public static function definition() {
$a = \Friendica\BaseObject::getApp(); $a = \Friendica\BaseObject::getApp();
$filename = $a->get_basepath() . '/config/dbstructure.json'; $filename = $a->getBasePath() . '/config/dbstructure.json';
if (!is_readable($filename)) { if (!is_readable($filename)) {
throw new Exception('Missing database structure config file config/dbstructure.json'); throw new Exception('Missing database structure config file config/dbstructure.json');

View File

@ -1632,10 +1632,10 @@ class Contact extends BaseObject
if (($ret['network'] === Protocol::DFRN) && !DBA::isResult($contact)) { if (($ret['network'] === Protocol::DFRN) && !DBA::isResult($contact)) {
if ($interactive) { if ($interactive) {
if (strlen($a->urlpath)) { if (strlen($a->getURLpath())) {
$myaddr = bin2hex(System::baseUrl() . '/profile/' . $a->user['nickname']); $myaddr = bin2hex(System::baseUrl() . '/profile/' . $a->user['nickname']);
} else { } else {
$myaddr = bin2hex($a->user['nickname'] . '@' . $a->get_hostname()); $myaddr = bin2hex($a->user['nickname'] . '@' . $a->getHostName());
} }
goaway($ret['request'] . "&addr=$myaddr"); goaway($ret['request'] . "&addr=$myaddr");

View File

@ -1166,7 +1166,7 @@ class Item extends BaseObject
if ($notify) { if ($notify) {
// We have to avoid duplicates. So we create the GUID in form of a hash of the plink or uri. // We have to avoid duplicates. So we create the GUID in form of a hash of the plink or uri.
// We add the hash of our own host because our host is the original creator of the post. // We add the hash of our own host because our host is the original creator of the post.
$prefix_host = get_app()->get_hostname(); $prefix_host = get_app()->getHostName();
} else { } else {
$prefix_host = ''; $prefix_host = '';
@ -2361,7 +2361,7 @@ class Item extends BaseObject
$guid = System::createUUID(); $guid = System::createUUID();
} }
return self::getApp()->get_baseurl() . '/objects/' . $guid; return self::getApp()->getBaseURL() . '/objects/' . $guid;
} }
/** /**
@ -2644,7 +2644,7 @@ class Item extends BaseObject
} }
// Prevent to forward already forwarded posts // Prevent to forward already forwarded posts
if ($datarray["app"] == $a->get_hostname()) { if ($datarray["app"] == $a->getHostName()) {
logger('Already forwarded (second test)', LOGGER_DEBUG); logger('Already forwarded (second test)', LOGGER_DEBUG);
return false; return false;
} }

View File

@ -146,7 +146,7 @@ class Photo
// Remove the cached photo // Remove the cached photo
$a = get_app(); $a = get_app();
$basepath = $a->get_basepath(); $basepath = $a->getBasePath();
if (is_dir($basepath . "/photo")) { if (is_dir($basepath . "/photo")) {
$filename = $basepath . '/photo/' . $hash . '-4.' . $Image->getExt(); $filename = $basepath . '/photo/' . $hash . '-4.' . $Image->getExt();

View File

@ -162,7 +162,7 @@ class Profile
* load/reload current theme info * load/reload current theme info
*/ */
$a->set_template_engine(); // reset the template engine to the default in case the user's theme doesn't specify one $a->setActiveTemplateEngine(); // reset the template engine to the default in case the user's theme doesn't specify one
$theme_info_file = 'view/theme/' . $a->getCurrentTheme() . '/theme.php'; $theme_info_file = 'view/theme/' . $a->getCurrentTheme() . '/theme.php';
if (file_exists($theme_info_file)) { if (file_exists($theme_info_file)) {
@ -1116,7 +1116,7 @@ class Profile
$a->contact = $arr['visitor']; $a->contact = $arr['visitor'];
info(L10n::t('OpenWebAuth: %1$s welcomes %2$s', $a->get_hostname(), $visitor['name'])); info(L10n::t('OpenWebAuth: %1$s welcomes %2$s', $a->getHostName(), $visitor['name']));
logger('OpenWebAuth: auth success from ' . $visitor['addr'], LOGGER_DEBUG); logger('OpenWebAuth: auth success from ' . $visitor['addr'], LOGGER_DEBUG);
} }

View File

@ -414,7 +414,7 @@ class User
$_SESSION['register'] = 1; $_SESSION['register'] = 1;
$_SESSION['openid'] = $openid_url; $_SESSION['openid'] = $openid_url;
$openid = new LightOpenID($a->get_hostname()); $openid = new LightOpenID($a->getHostName());
$openid->identity = $openid_url; $openid->identity = $openid_url;
$openid->returnUrl = System::baseUrl() . '/openid'; $openid->returnUrl = System::baseUrl() . '/openid';
$openid->required = ['namePerson/friendly', 'contact/email', 'namePerson']; $openid->required = ['namePerson/friendly', 'contact/email', 'namePerson'];

View File

@ -39,7 +39,7 @@ class Login extends BaseModule
} }
if (local_user()) { if (local_user()) {
goaway(self::getApp()->get_baseurl()); goaway(self::getApp()->getBaseURL());
} }
return self::form($_SESSION['return_url'], intval(Config::get('config', 'register_policy')) !== REGISTER_CLOSED); return self::form($_SESSION['return_url'], intval(Config::get('config', 'register_policy')) !== REGISTER_CLOSED);
@ -86,18 +86,18 @@ class Login extends BaseModule
// if it's an email address or doesn't resolve to a URL, fail. // if it's an email address or doesn't resolve to a URL, fail.
if ($noid || strpos($openid_url, '@') || !Network::isUrlValid($openid_url)) { if ($noid || strpos($openid_url, '@') || !Network::isUrlValid($openid_url)) {
notice(L10n::t('Login failed.') . EOL); notice(L10n::t('Login failed.') . EOL);
goaway(self::getApp()->get_baseurl()); goaway(self::getApp()->getBaseURL());
// NOTREACHED // NOTREACHED
} }
// Otherwise it's probably an openid. // Otherwise it's probably an openid.
try { try {
$a = get_app(); $a = get_app();
$openid = new LightOpenID($a->get_hostname()); $openid = new LightOpenID($a->getHostName());
$openid->identity = $openid_url; $openid->identity = $openid_url;
$_SESSION['openid'] = $openid_url; $_SESSION['openid'] = $openid_url;
$_SESSION['remember'] = $remember; $_SESSION['remember'] = $remember;
$openid->returnUrl = self::getApp()->get_baseurl(true) . '/openid'; $openid->returnUrl = self::getApp()->getBaseURL(true) . '/openid';
goaway($openid->authUrl()); goaway($openid->authUrl());
} catch (Exception $e) { } catch (Exception $e) {
notice(L10n::t('We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID.') . '<br /><br >' . L10n::t('The error message was:') . ' ' . $e->getMessage()); notice(L10n::t('We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID.') . '<br /><br >' . L10n::t('The error message was:') . ' ' . $e->getMessage());
@ -191,7 +191,7 @@ class Login extends BaseModule
if ($data->hash != cookie_hash($user)) { if ($data->hash != cookie_hash($user)) {
logger("Hash for user " . $data->uid . " doesn't fit."); logger("Hash for user " . $data->uid . " doesn't fit.");
nuke_session(); nuke_session();
goaway(self::getApp()->get_baseurl()); goaway(self::getApp()->getBaseURL());
} }
// Renew the cookie // Renew the cookie
@ -228,7 +228,7 @@ class Login extends BaseModule
logger('Session address changed. Paranoid setting in effect, blocking session. ' . logger('Session address changed. Paranoid setting in effect, blocking session. ' .
$_SESSION['addr'] . ' != ' . $_SERVER['REMOTE_ADDR']); $_SESSION['addr'] . ' != ' . $_SERVER['REMOTE_ADDR']);
nuke_session(); nuke_session();
goaway(self::getApp()->get_baseurl()); goaway(self::getApp()->getBaseURL());
} }
$user = DBA::selectFirst('user', [], $user = DBA::selectFirst('user', [],
@ -242,7 +242,7 @@ class Login extends BaseModule
); );
if (!DBA::isResult($user)) { if (!DBA::isResult($user)) {
nuke_session(); nuke_session();
goaway(self::getApp()->get_baseurl()); goaway(self::getApp()->getBaseURL());
} }
// Make sure to refresh the last login time for the user if the user // Make sure to refresh the last login time for the user if the user
@ -297,7 +297,7 @@ class Login extends BaseModule
$a->page['htmlhead'] .= replace_macros( $a->page['htmlhead'] .= replace_macros(
get_markup_template('login_head.tpl'), get_markup_template('login_head.tpl'),
[ [
'$baseurl' => $a->get_baseurl(true) '$baseurl' => $a->getBaseURL(true)
] ]
); );
@ -308,7 +308,7 @@ class Login extends BaseModule
$o .= replace_macros( $o .= replace_macros(
$tpl, $tpl,
[ [
'$dest_url' => self::getApp()->get_baseurl(true) . '/login', '$dest_url' => self::getApp()->getBaseURL(true) . '/login',
'$logout' => L10n::t('Logout'), '$logout' => L10n::t('Logout'),
'$login' => L10n::t('Login'), '$login' => L10n::t('Login'),

View File

@ -26,6 +26,6 @@ class Logout extends BaseModule
Addon::callHooks("logging_out"); Addon::callHooks("logging_out");
nuke_session(); nuke_session();
info(L10n::t('Logged out.') . EOL); info(L10n::t('Logged out.') . EOL);
goaway(self::getApp()->get_baseurl()); goaway(self::getApp()->getBaseURL());
} }
} }

View File

@ -47,7 +47,7 @@ class Magic extends BaseModule
$contact = DBA::selectFirst('contact', ['id', 'nurl', 'url'], ['id' => $cid]); $contact = DBA::selectFirst('contact', ['id', 'nurl', 'url'], ['id' => $cid]);
// Redirect if the contact is already authenticated on this site. // Redirect if the contact is already authenticated on this site.
if (!empty($a->contact) && array_key_exists('id', $a->contact) && strpos($contact['nurl'], normalise_link(self::getApp()->get_baseurl())) !== false) { if (!empty($a->contact) && array_key_exists('id', $a->contact) && strpos($contact['nurl'], normalise_link(self::getApp()->getBaseURL())) !== false) {
if ($test) { if ($test) {
$ret['success'] = true; $ret['success'] = true;
$ret['message'] .= 'Local site - you are already authenticated.' . EOL; $ret['message'] .= 'Local site - you are already authenticated.' . EOL;
@ -78,7 +78,7 @@ class Magic extends BaseModule
$headers = HTTPSignature::createSig( $headers = HTTPSignature::createSig(
$headers, $headers,
$user['prvkey'], $user['prvkey'],
'acct:' . $user['nickname'] . '@' . $a->get_hostname() . ($a->urlpath ? '/' . $a->urlpath : '') 'acct:' . $user['nickname'] . '@' . $a->getHostName() . ($a->getURLpath() ? '/' . $a->getURLpath() : '')
); );
// Try to get an authentication token from the other instance. // Try to get an authentication token from the other instance.

View File

@ -71,7 +71,7 @@ class Proxy extends BaseModule
$thumb = false; $thumb = false;
$size = 1024; $size = 1024;
$sizetype = ''; $sizetype = '';
$basepath = $a->get_basepath(); $basepath = $a->getBasePath();
// If the cache path isn't there, try to create it // If the cache path isn't there, try to create it
if (!is_dir($basepath . '/proxy') && is_writable($basepath)) { if (!is_dir($basepath . '/proxy') && is_writable($basepath)) {
@ -196,7 +196,7 @@ class Proxy extends BaseModule
unlink($tempfile); unlink($tempfile);
// If there is an error then return a blank image // If there is an error then return a blank image
if ((substr($a->get_curl_code(), 0, 1) == '4') || (!$img_str)) { if ((substr(Network::getCurl()->getCode(), 0, 1) == '4') || (!$img_str)) {
$img_str = file_get_contents('images/blank.png'); $img_str = file_get_contents('images/blank.png');
$mime = 'image/png'; $mime = 'image/png';
$cachefile = ''; // Clear the cachefile so that the dummy isn't stored $cachefile = ''; // Clear the cachefile so that the dummy isn't stored

92
src/Network/Curl.php Normal file
View File

@ -0,0 +1,92 @@
<?php
namespace Friendica\Network;
/**
* A content class for Curl call results
*/
class Curl
{
/**
* @var string the Code of the Curl call
*/
private $code;
/**
* @var string the content type of the Curl call
*/
private $contentType;
/**
* @var string the headers of the Curl call
*/
private $headers;
public function __construct($code = '', $contentType = '', $headers = '')
{
$this->code = $code;
$this->contentType = $contentType;
$this->headers = $headers;
}
/**
* Sets the Curl Code
*
* @param string $code The Curl Code
*/
public function setCode($code)
{
$this->code = $code;
}
/**
* Gets the Curl Code
*
* @return string The Curl Code
*/
public function getCode()
{
return $this->code;
}
/**
* Sets the Curl Content Type
*
* @param string $content_type The Curl Content Type
*/
public function setContentType($content_type)
{
$this->contentType = $content_type;
}
/**
* Returns the Curl Content Type
*
* @return string the Curl Content Type
*/
public function getContentType()
{
return $this->contentType;
}
/**
* Sets the Curl headers
*
* @param string $headers the Curl headers
*/
public function setHeaders($headers)
{
$this->headers = $headers;
}
/**
* Returns the Curl headers
*
* @return string the Curl headers
*/
public function getHeaders()
{
return $this->headers;
}
}

View File

@ -74,7 +74,7 @@ class Probe
*/ */
private static function ownHost($host) private static function ownHost($host)
{ {
$own_host = get_app()->get_hostname(); $own_host = get_app()->getHostName();
$parts = parse_url($host); $parts = parse_url($host);

View File

@ -655,7 +655,7 @@ class Image
$stamp1 = microtime(true); $stamp1 = microtime(true);
file_put_contents($path, $string); file_put_contents($path, $string);
$a->save_timestamp($stamp1, "file"); $a->saveTimestamp($stamp1, "file");
} }
/** /**
@ -730,7 +730,7 @@ class Image
if ($fromcurl) { if ($fromcurl) {
$a = get_app(); $a = get_app();
$headers=[]; $headers=[];
$h = explode("\n", $a->get_curl_headers()); $h = explode("\n", Network::getCurl()->getHeaders());
foreach ($h as $l) { foreach ($h as $l) {
$data = array_map("trim", explode(":", trim($l), 2)); $data = array_map("trim", explode(":", trim($l), 2));
if (count($data) > 1) { if (count($data) > 1) {
@ -799,7 +799,7 @@ class Image
$a = get_app(); $a = get_app();
$stamp1 = microtime(true); $stamp1 = microtime(true);
file_put_contents($tempfile, $img_str); file_put_contents($tempfile, $img_str);
$a->save_timestamp($stamp1, "file"); $a->saveTimestamp($stamp1, "file");
$data = getimagesize($tempfile); $data = getimagesize($tempfile);
unlink($tempfile); unlink($tempfile);
@ -907,7 +907,7 @@ class Image
$stamp1 = microtime(true); $stamp1 = microtime(true);
$imagedata = @file_get_contents($url); $imagedata = @file_get_contents($url);
$a->save_timestamp($stamp1, "file"); $a->saveTimestamp($stamp1, "file");
} }
$maximagesize = Config::get('system', 'maximagesize'); $maximagesize = Config::get('system', 'maximagesize');
@ -921,7 +921,7 @@ class Image
$stamp1 = microtime(true); $stamp1 = microtime(true);
file_put_contents($tempfile, $imagedata); file_put_contents($tempfile, $imagedata);
$a->save_timestamp($stamp1, "file"); $a->saveTimestamp($stamp1, "file");
$data = getimagesize($tempfile); $data = getimagesize($tempfile);

View File

@ -368,7 +368,7 @@ class Post extends BaseObject
'profile_url' => $profile_link, 'profile_url' => $profile_link,
'item_photo_menu' => item_photo_menu($item), 'item_photo_menu' => item_photo_menu($item),
'name' => $name_e, 'name' => $name_e,
'thumb' => $a->remove_baseurl(ProxyUtils::proxifyUrl($item['author-avatar'], false, ProxyUtils::SIZE_THUMB)), 'thumb' => $a->removeBaseURL(ProxyUtils::proxifyUrl($item['author-avatar'], false, ProxyUtils::SIZE_THUMB)),
'osparkle' => $osparkle, 'osparkle' => $osparkle,
'sparkle' => $sparkle, 'sparkle' => $sparkle,
'title' => $title_e, 'title' => $title_e,
@ -381,7 +381,7 @@ class Post extends BaseObject
'indent' => $indent, 'indent' => $indent,
'shiny' => $shiny, 'shiny' => $shiny,
'owner_url' => $this->getOwnerUrl(), 'owner_url' => $this->getOwnerUrl(),
'owner_photo' => $a->remove_baseurl(ProxyUtils::proxifyUrl($item['owner-avatar'], false, ProxyUtils::SIZE_THUMB)), 'owner_photo' => $a->removeBaseURL(ProxyUtils::proxifyUrl($item['owner-avatar'], false, ProxyUtils::SIZE_THUMB)),
'owner_name' => htmlentities($owner_name_e), 'owner_name' => htmlentities($owner_name_e),
'plink' => get_plink($item), 'plink' => get_plink($item),
'edpost' => Feature::isEnabled($conv->getProfileOwner(), 'edit_posts') ? $edpost : '', 'edpost' => Feature::isEnabled($conv->getProfileOwner(), 'edit_posts') ? $edpost : '',
@ -788,9 +788,9 @@ class Post extends BaseObject
'$parent' => $this->getId(), '$parent' => $this->getId(),
'$qcomment' => $qcomment, '$qcomment' => $qcomment,
'$profile_uid' => $uid, '$profile_uid' => $uid,
'$mylink' => $a->remove_baseurl($a->contact['url']), '$mylink' => $a->removeBaseURL($a->contact['url']),
'$mytitle' => L10n::t('This is you'), '$mytitle' => L10n::t('This is you'),
'$myphoto' => $a->remove_baseurl($a->contact['thumb']), '$myphoto' => $a->removeBaseURL($a->contact['thumb']),
'$comment' => L10n::t('Comment'), '$comment' => L10n::t('Comment'),
'$submit' => L10n::t('Submit'), '$submit' => L10n::t('Submit'),
'$edbold' => L10n::t('Bold'), '$edbold' => L10n::t('Bold'),

View File

@ -1220,7 +1220,7 @@ class DFRN
$xml = $ret['body']; $xml = $ret['body'];
$curl_stat = $a->get_curl_code(); $curl_stat = Network::getCurl()->getCode();
if (empty($curl_stat)) { if (empty($curl_stat)) {
Contact::markForArchival($contact); Contact::markForArchival($contact);
return -3; // timed out return -3; // timed out
@ -1372,13 +1372,13 @@ class DFRN
logger('dfrn_deliver: ' . "RECEIVED: " . $xml, LOGGER_DATA); logger('dfrn_deliver: ' . "RECEIVED: " . $xml, LOGGER_DATA);
$curl_stat = $a->get_curl_code(); $curl_stat = Network::getCurl()->getCode();
if (empty($curl_stat) || empty($xml)) { if (empty($curl_stat) || empty($xml)) {
Contact::markForArchival($contact); Contact::markForArchival($contact);
return -9; // timed out return -9; // timed out
} }
if (($curl_stat == 503) && stristr($a->get_curl_headers(), 'retry-after')) { if (($curl_stat == 503) && stristr(Network::getCurl()->getHeaders(), 'retry-after')) {
Contact::markForArchival($contact); Contact::markForArchival($contact);
return -10; return -10;
} }
@ -1469,14 +1469,14 @@ class DFRN
$xml = Network::post($dest_url, $envelope, ["Content-Type: ".$content_type]); $xml = Network::post($dest_url, $envelope, ["Content-Type: ".$content_type]);
$curl_stat = $a->get_curl_code(); $curl_stat = Network::getCurl()->getCode();
if (empty($curl_stat) || empty($xml)) { if (empty($curl_stat) || empty($xml)) {
logger('Empty answer from ' . $contact['id'] . ' - ' . $dest_url); logger('Empty answer from ' . $contact['id'] . ' - ' . $dest_url);
Contact::markForArchival($contact); Contact::markForArchival($contact);
return -9; // timed out return -9; // timed out
} }
if (($curl_stat == 503) && (stristr($a->get_curl_headers(), 'retry-after'))) { if (($curl_stat == 503) && (stristr(Network::getCurl()->getHeaders(), 'retry-after'))) {
Contact::markForArchival($contact); Contact::markForArchival($contact);
return -10; return -10;
} }
@ -2496,7 +2496,7 @@ class DFRN
/// @todo Do we really need this check for HTML elements? (It was copied from the old function) /// @todo Do we really need this check for HTML elements? (It was copied from the old function)
if ((strpos($item['body'], '<') !== false) && (strpos($item['body'], '>') !== false)) { if ((strpos($item['body'], '<') !== false) && (strpos($item['body'], '>') !== false)) {
$base_url = get_app()->get_baseurl(); $base_url = get_app()->getBaseURL();
$item['body'] = reltoabs($item['body'], $base_url); $item['body'] = reltoabs($item['body'], $base_url);
$item['body'] = html2bb_video($item['body']); $item['body'] = html2bb_video($item['body']);

View File

@ -3080,7 +3080,7 @@ class Diaspora
$content_type = (($public_batch) ? "application/magic-envelope+xml" : "application/json"); $content_type = (($public_batch) ? "application/magic-envelope+xml" : "application/json");
Network::post($dest_url."/", $envelope, ["Content-Type: ".$content_type]); Network::post($dest_url."/", $envelope, ["Content-Type: ".$content_type]);
$return_code = $a->get_curl_code(); $return_code = Network::getCurl()->getCode();
} else { } else {
logger("test_mode"); logger("test_mode");
return 200; return 200;
@ -3089,7 +3089,7 @@ class Diaspora
logger("transmit: ".$logid."-".$guid." to ".$dest_url." returns: ".$return_code); logger("transmit: ".$logid."-".$guid." to ".$dest_url." returns: ".$return_code);
if (!$return_code || (($return_code == 503) && (stristr($a->get_curl_headers(), "retry-after")))) { if (!$return_code || (($return_code == 503) && (stristr(Network::getCurl()->getHeaders(), "retry-after")))) {
if (!$no_queue && !empty($contact['contact-type']) && ($contact['contact-type'] != Contact::ACCOUNT_TYPE_RELAY)) { if (!$no_queue && !empty($contact['contact-type']) && ($contact['contact-type'] != Contact::ACCOUNT_TYPE_RELAY)) {
logger("queue message"); logger("queue message");
// queue message for redelivery // queue message for redelivery

View File

@ -430,7 +430,7 @@ class Feed {
// Distributed items should have a well formatted URI. // Distributed items should have a well formatted URI.
// Additionally we have to avoid conflicts with identical URI between imported feeds and these items. // Additionally we have to avoid conflicts with identical URI between imported feeds and these items.
if ($notify) { if ($notify) {
$item['guid'] = Item::guidFromUri($orig_plink, $a->get_hostname()); $item['guid'] = Item::guidFromUri($orig_plink, $a->getHostName());
unset($item['uri']); unset($item['uri']);
unset($item['parent-uri']); unset($item['parent-uri']);

View File

@ -1830,7 +1830,7 @@ class OStatus
} }
$item["uri"] = $item['parent-uri'] = $item['thr-parent'] $item["uri"] = $item['parent-uri'] = $item['thr-parent']
= 'tag:'.get_app()->get_hostname(). = 'tag:'.get_app()->getHostName().
','.date('Y-m-d').':'.$action.':'.$owner['uid']. ','.date('Y-m-d').':'.$action.':'.$owner['uid'].
':person:'.$connect_id.':'.$item['created']; ':person:'.$connect_id.':'.$item['created'];

View File

@ -90,9 +90,9 @@ class PortableContact
logger('load: returns ' . $s, LOGGER_DATA); logger('load: returns ' . $s, LOGGER_DATA);
logger('load: return code: ' . $a->get_curl_code(), LOGGER_DEBUG); logger('load: return code: ' . Network::getCurl()->getCode(), LOGGER_DEBUG);
if (($a->get_curl_code() > 299) || (! $s)) { if ((Network::getCurl()->getCode() > 299) || (! $s)) {
return; return;
} }

View File

@ -139,7 +139,7 @@ class Salmon
]); ]);
$a = get_app(); $a = get_app();
$return_code = $a->get_curl_code(); $return_code = Network::getCurl()->getCode();
// check for success, e.g. 2xx // check for success, e.g. 2xx
@ -163,7 +163,7 @@ class Salmon
'Content-type: application/magic-envelope+xml', 'Content-type: application/magic-envelope+xml',
'Content-length: ' . strlen($salmon) 'Content-length: ' . strlen($salmon)
]); ]);
$return_code = $a->get_curl_code(); $return_code = Network::getCurl()->getCode();
} }
if ($return_code > 299) { if ($return_code > 299) {
@ -185,7 +185,7 @@ class Salmon
Network::post($url, $salmon, [ Network::post($url, $salmon, [
'Content-type: application/magic-envelope+xml', 'Content-type: application/magic-envelope+xml',
'Content-length: ' . strlen($salmon)]); 'Content-length: ' . strlen($salmon)]);
$return_code = $a->get_curl_code(); $return_code = Network::getCurl()->getCode();
} }
logger('slapper for '.$url.' returned ' . $return_code); logger('slapper for '.$url.' returned ' . $return_code);
@ -194,7 +194,7 @@ class Salmon
return -1; return -1;
} }
if (($return_code == 503) && (stristr($a->get_curl_headers(), 'retry-after'))) { if (($return_code == 503) && (stristr(Network::getCurl()->getHeaders(), 'retry-after'))) {
return -1; return -1;
} }

View File

@ -38,8 +38,8 @@ class FriendicaSmarty extends Smarty
$this->setConfigDir('view/smarty3/config/'); $this->setConfigDir('view/smarty3/config/');
$this->setCacheDir('view/smarty3/cache/'); $this->setCacheDir('view/smarty3/cache/');
$this->left_delimiter = $a->get_template_ldelim('smarty3'); $this->left_delimiter = $a->getTemplateLdelim('smarty3');
$this->right_delimiter = $a->get_template_rdelim('smarty3'); $this->right_delimiter = $a->getTemplateRdelim('smarty3');
// Don't report errors so verbosely // Don't report errors so verbosely
$this->error_reporting = E_ALL & ~E_NOTICE; $this->error_reporting = E_ALL & ~E_NOTICE;

View File

@ -141,7 +141,7 @@ class ExAuth
$sUser = str_replace(['%20', '(a)'], [' ', '@'], $aCommand[1]); $sUser = str_replace(['%20', '(a)'], [' ', '@'], $aCommand[1]);
// Does the hostname match? So we try directly // Does the hostname match? So we try directly
if ($a->get_hostname() == $aCommand[2]) { if ($a->getHostName() == $aCommand[2]) {
$this->writeLog(LOG_INFO, 'internal user check for ' . $sUser . '@' . $aCommand[2]); $this->writeLog(LOG_INFO, 'internal user check for ' . $sUser . '@' . $aCommand[2]);
$found = DBA::exists('user', ['nickname' => $sUser]); $found = DBA::exists('user', ['nickname' => $sUser]);
} else { } else {
@ -221,7 +221,7 @@ class ExAuth
$sUser = str_replace(['%20', '(a)'], [' ', '@'], $aCommand[1]); $sUser = str_replace(['%20', '(a)'], [' ', '@'], $aCommand[1]);
// Does the hostname match? So we try directly // Does the hostname match? So we try directly
if ($a->get_hostname() == $aCommand[2]) { if ($a->getHostName() == $aCommand[2]) {
$this->writeLog(LOG_INFO, 'internal auth for ' . $sUser . '@' . $aCommand[2]); $this->writeLog(LOG_INFO, 'internal auth for ' . $sUser . '@' . $aCommand[2]);
$aUser = DBA::selectFirst('user', ['uid', 'password', 'legacy_password'], ['nickname' => $sUser]); $aUser = DBA::selectFirst('user', ['uid', 'password', 'legacy_password'], ['nickname' => $sUser]);

View File

@ -303,7 +303,7 @@ class HTTPSignature
$headers[] = 'Content-Type: application/activity+json'; $headers[] = 'Content-Type: application/activity+json';
Network::post($target, $content, $headers); Network::post($target, $content, $headers);
$return_code = BaseObject::getApp()->get_curl_code(); $return_code = BaseObject::getApp()->getCurlCode();
logger('Transmit to ' . $target . ' returned ' . $return_code); logger('Transmit to ' . $target . ' returned ' . $return_code);
} }

View File

@ -9,6 +9,8 @@ use Friendica\Core\Addon;
use Friendica\Core\L10n; use Friendica\Core\L10n;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Network\Curl;
use Friendica\Network\HTTPException\InternalServerErrorException;
use Friendica\Network\Probe; use Friendica\Network\Probe;
use Friendica\Object\Image; use Friendica\Object\Image;
use Friendica\Util\XML; use Friendica\Util\XML;
@ -17,6 +19,25 @@ use DomXPath;
class Network class Network
{ {
/**
* @var Curl The latest Curl output
*/
private static $curl;
/**
* Returns the latest Curl output
*
* @return Curl The latest Curl output
*/
public static function getCurl()
{
if (empty(self::$curl)) {
self::$curl = new Curl();
}
return self::$curl;
}
/** /**
* Curl wrapper * Curl wrapper
* *
@ -35,7 +56,7 @@ class Network
* *
* @return string The fetched content * @return string The fetched content
*/ */
public static function fetchUrl($url, $binary = false, &$redirects = 0, $timeout = 0, $accept_content = null, $cookiejar = 0) public static function fetchUrl($url, $binary = false, &$redirects = 0, $timeout = 0, $accept_content = null, $cookiejar = '')
{ {
$ret = self::fetchUrlFull($url, $binary, $redirects, $timeout, $accept_content, $cookiejar); $ret = self::fetchUrlFull($url, $binary, $redirects, $timeout, $accept_content, $cookiejar);
@ -59,7 +80,7 @@ class Network
* *
* @return array With all relevant information, 'body' contains the actual fetched content. * @return array With all relevant information, 'body' contains the actual fetched content.
*/ */
public static function fetchUrlFull($url, $binary = false, &$redirects = 0, $timeout = 0, $accept_content = null, $cookiejar = 0) public static function fetchUrlFull($url, $binary = false, &$redirects = 0, $timeout = 0, $accept_content = null, $cookiejar = '')
{ {
return self::curl( return self::curl(
$url, $url,
@ -145,7 +166,7 @@ class Network
} }
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent()); @curl_setopt($ch, CURLOPT_USERAGENT, $a->getUserAgent());
$range = intval(Config::get('system', 'curl_range_bytes', 0)); $range = intval(Config::get('system', 'curl_range_bytes', 0));
@ -203,8 +224,6 @@ class Network
@curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); @curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
} }
$a->set_curl_code(0);
// don't let curl abort the entire application // don't let curl abort the entire application
// if it throws any errors. // if it throws any errors.
@ -242,9 +261,7 @@ class Network
$base = substr($base, strlen($chunk)); $base = substr($base, strlen($chunk));
} }
$a->set_curl_code($http_code); self::$curl = new Curl($http_code, (isset($curl_info['content_type']) ? $curl_info['content_type'] : ''), $header);
$a->set_curl_content_type($curl_info['content_type']);
$a->set_curl_headers($header);
if ($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307) { if ($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307) {
$new_location_info = @parse_url($curl_info['redirect_url']); $new_location_info = @parse_url($curl_info['redirect_url']);
@ -277,8 +294,10 @@ class Network
} }
} }
$a->set_curl_code($http_code); self::$curl->setCode($http_code);
$a->set_curl_content_type($curl_info['content_type']); if (isset($curl_info['content_type'])) {
self::$curl->setContentType($curl_info['content_type']);
}
$rc = intval($http_code); $rc = intval($http_code);
$ret['return_code'] = $rc; $ret['return_code'] = $rc;
@ -301,7 +320,7 @@ class Network
@curl_close($ch); @curl_close($ch);
$a->save_timestamp($stamp1, 'network'); $a->saveTimestamp($stamp1, 'network');
return($ret); return($ret);
} }
@ -339,7 +358,7 @@ class Network
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params); curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent()); curl_setopt($ch, CURLOPT_USERAGENT, $a->getUserAgent());
if (Config::get('system', 'ipv4_resolve', false)) { if (Config::get('system', 'ipv4_resolve', false)) {
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
@ -384,7 +403,7 @@ class Network
} }
} }
$a->set_curl_code(0); self::getCurl()->setCode(0);
// don't let curl abort the entire application // don't let curl abort the entire application
// if it throws any errors. // if it throws any errors.
@ -427,15 +446,15 @@ class Network
} }
} }
$a->set_curl_code($http_code); self::getCurl()->setCode($http_code);
$body = substr($s, strlen($header)); $body = substr($s, strlen($header));
$a->set_curl_headers($header); self::getCurl()->setHeaders($header);
curl_close($ch); curl_close($ch);
$a->save_timestamp($stamp1, 'network'); $a->saveTimestamp($stamp1, 'network');
logger('post_url: end ' . $url, LOGGER_DATA); logger('post_url: end ' . $url, LOGGER_DATA);
@ -729,14 +748,14 @@ class Network
curl_setopt($ch, CURLOPT_NOBODY, 1); curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent()); curl_setopt($ch, CURLOPT_USERAGENT, $a->getUserAgent());
curl_exec($ch); curl_exec($ch);
$curl_info = @curl_getinfo($ch); $curl_info = @curl_getinfo($ch);
$http_code = $curl_info['http_code']; $http_code = $curl_info['http_code'];
curl_close($ch); curl_close($ch);
$a->save_timestamp($stamp1, "network"); $a->saveTimestamp($stamp1, "network");
if ($http_code == 0) { if ($http_code == 0) {
return $url; return $url;
@ -773,12 +792,12 @@ class Network
curl_setopt($ch, CURLOPT_NOBODY, 0); curl_setopt($ch, CURLOPT_NOBODY, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent()); curl_setopt($ch, CURLOPT_USERAGENT, $a->getUserAgent());
$body = curl_exec($ch); $body = curl_exec($ch);
curl_close($ch); curl_close($ch);
$a->save_timestamp($stamp1, "network"); $a->saveTimestamp($stamp1, "network");
if (trim($body) == "") { if (trim($body) == "") {
return $url; return $url;

View File

@ -91,7 +91,7 @@ class Proxy
$url = html_entity_decode($url, ENT_NOQUOTES, 'utf-8'); $url = html_entity_decode($url, ENT_NOQUOTES, 'utf-8');
// Creating a sub directory to reduce the amount of files in the cache directory // Creating a sub directory to reduce the amount of files in the cache directory
$basepath = $a->get_basepath() . '/proxy'; $basepath = $a->getBasePath() . '/proxy';
$shortpath = hash('md5', $url); $shortpath = hash('md5', $url);
$longpath = substr($shortpath, 0, 2); $longpath = substr($shortpath, 0, 2);

View File

@ -115,7 +115,7 @@ class Cron
// Ensure to have a .htaccess file. // Ensure to have a .htaccess file.
// this is a precaution for systems that update automatically // this is a precaution for systems that update automatically
$basepath = $a->get_basepath(); $basepath = $a->getBasePath();
if (!file_exists($basepath . '/.htaccess')) { if (!file_exists($basepath . '/.htaccess')) {
copy($basepath . '/.htaccess-dist', $basepath . '/.htaccess'); copy($basepath . '/.htaccess-dist', $basepath . '/.htaccess');
} }

View File

@ -157,14 +157,14 @@ class CronJobs
clear_cache(); clear_cache();
// clear cache for photos // clear cache for photos
clear_cache($a->get_basepath(), $a->get_basepath() . "/photo"); clear_cache($a->getBasePath(), $a->getBasePath() . "/photo");
// clear smarty cache // clear smarty cache
clear_cache($a->get_basepath() . "/view/smarty3/compiled", $a->get_basepath() . "/view/smarty3/compiled"); clear_cache($a->getBasePath() . "/view/smarty3/compiled", $a->getBasePath() . "/view/smarty3/compiled");
// clear cache for image proxy // clear cache for image proxy
if (!Config::get("system", "proxy_disabled")) { if (!Config::get("system", "proxy_disabled")) {
clear_cache($a->get_basepath(), $a->get_basepath() . "/proxy"); clear_cache($a->getBasePath(), $a->getBasePath() . "/proxy");
$cachetime = Config::get('system', 'proxy_cache_time'); $cachetime = Config::get('system', 'proxy_cache_time');

View File

@ -112,7 +112,7 @@ class Delivery extends BaseObject
// if $parent['wall'] == 1 we will already have the parent message in our array // if $parent['wall'] == 1 we will already have the parent message in our array
// and we will relay the whole lot. // and we will relay the whole lot.
$localhost = self::getApp()->get_hostname(); $localhost = self::getApp()->getHostName();
if (strpos($localhost, ':')) { if (strpos($localhost, ':')) {
$localhost = substr($localhost, 0, strpos($localhost, ':')); $localhost = substr($localhost, 0, strpos($localhost, ':'));
} }
@ -435,7 +435,7 @@ class Delivery extends BaseObject
$headers = 'From: ' . Email::encodeHeader($local_user['username'],'UTF-8').' <' . $local_user['email'] . '>' . "\n"; $headers = 'From: ' . Email::encodeHeader($local_user['username'],'UTF-8').' <' . $local_user['email'] . '>' . "\n";
} }
} else { } else {
$headers = 'From: '. Email::encodeHeader($local_user['username'], 'UTF-8') . ' <noreply@' . self::getApp()->get_hostname() . '>' . "\n"; $headers = 'From: '. Email::encodeHeader($local_user['username'], 'UTF-8') . ' <noreply@' . self::getApp()->getHostName() . '>' . "\n";
} }
$headers .= 'Message-Id: <' . Email::iri2msgid($target_item['uri']) . '>' . "\n"; $headers .= 'Message-Id: <' . Email::iri2msgid($target_item['uri']) . '>' . "\n";

View File

@ -194,7 +194,7 @@ class Notifier
// if $parent['wall'] == 1 we will already have the parent message in our array // if $parent['wall'] == 1 we will already have the parent message in our array
// and we will relay the whole lot. // and we will relay the whole lot.
$localhost = str_replace('www.','',$a->get_hostname()); $localhost = str_replace('www.','',$a->getHostName());
if (strpos($localhost,':')) { if (strpos($localhost,':')) {
$localhost = substr($localhost,0,strpos($localhost,':')); $localhost = substr($localhost,0,strpos($localhost,':'));
} }

View File

@ -196,7 +196,7 @@ class OnePoll
$handshake_xml = $ret['body']; $handshake_xml = $ret['body'];
$html_code = $a->get_curl_code(); $html_code = Network::getCurl()->getCode();
logger('handshake with url ' . $url . ' returns xml: ' . $handshake_xml, LOGGER_DATA); logger('handshake with url ' . $url . ' returns xml: ' . $handshake_xml, LOGGER_DATA);
@ -507,7 +507,7 @@ class OnePoll
} }
} }
$fromarr = imap_rfc822_parse_adrlist($fromdecoded, $a->get_hostname()); $fromarr = imap_rfc822_parse_adrlist($fromdecoded, $a->getHostName());
$frommail = $fromarr[0]->mailbox."@".$fromarr[0]->host; $frommail = $fromarr[0]->mailbox."@".$fromarr[0]->host;

View File

@ -57,7 +57,7 @@ class PubSubPublish
logger('POST ' . print_r($headers, true) . "\n" . $params, LOGGER_DATA); logger('POST ' . print_r($headers, true) . "\n" . $params, LOGGER_DATA);
Network::post($subscriber['callback_url'], $params, $headers); Network::post($subscriber['callback_url'], $params, $headers);
$ret = $a->get_curl_code(); $ret = Network::getCurl()->getCode();
$condition = ['id' => $subscriber['id']]; $condition = ['id' => $subscriber['id']];

View File

@ -75,9 +75,8 @@ class ApiTest extends DatabaseTest
{ {
parent::tearDown(); parent::tearDown();
$app = get_app(); $this->app->argc = 1;
$app->argc = 1; $this->app->argv = ['home'];
$app->argv = ['home'];
} }
/** /**

View File

@ -5,6 +5,7 @@
namespace Friendica\Test; namespace Friendica\Test;
use Friendica\App;
use Friendica\BaseObject; use Friendica\BaseObject;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -18,7 +19,12 @@ use PHPUnit_Extensions_Database_DB_IDatabaseConnection;
*/ */
abstract class DatabaseTest extends TestCase abstract class DatabaseTest extends TestCase
{ {
public function setUp() /**
* @var App The Friendica App
*/
protected $app;
protected function setUp()
{ {
// Reusable App object // Reusable App object
$this->app = BaseObject::getApp(); $this->app = BaseObject::getApp();

View File

@ -11,7 +11,7 @@ abstract class MemoryCacheTest extends CacheTest
*/ */
protected $instance; protected $instance;
function setUp() protected function setUp()
{ {
parent::setUp(); parent::setUp();
if (!($this->instance instanceof IMemoryCacheDriver)) { if (!($this->instance instanceof IMemoryCacheDriver)) {

View File

@ -6,7 +6,7 @@ use Friendica\Core\PConfig;
function duepuntozero_init(App $a) { function duepuntozero_init(App $a) {
$a->set_template_engine('smarty3'); $a->setActiveTemplateEngine('smarty3');
$colorset = PConfig::get( local_user(), 'duepuntozero','colorset'); $colorset = PConfig::get( local_user(), 'duepuntozero','colorset');
if (!$colorset) if (!$colorset)

View File

@ -26,7 +26,7 @@ if (!isset($minimal)) {
<script type="text/javascript">var baseurl = "<?php echo System::baseUrl(); ?>";</script> <script type="text/javascript">var baseurl = "<?php echo System::baseUrl(); ?>";</script>
<script type="text/javascript">var frio = "<?php echo 'view/theme/frio'; ?>";</script> <script type="text/javascript">var frio = "<?php echo 'view/theme/frio'; ?>";</script>
<?php <?php
$basepath = $a->urlpath ? "/" . $a->urlpath . "/" : "/"; $basepath = $a->getURLpath() ? "/" . $a->getURLpath() . "/" : "/";
$frio = "view/theme/frio"; $frio = "view/theme/frio";
// Because we use minimal for modals the header and the included js stuff should be only loaded // Because we use minimal for modals the header and the included js stuff should be only loaded

View File

@ -28,7 +28,7 @@ function frio_init(App $a)
$a->theme_events_in_profile = false; $a->theme_events_in_profile = false;
$a->videowidth = 622; $a->videowidth = 622;
$a->set_template_engine('smarty3'); $a->setActiveTemplateEngine('smarty3');
$baseurl = System::baseUrl(); $baseurl = System::baseUrl();
@ -241,7 +241,7 @@ function frio_remote_nav($a, &$nav)
// user info // user info
$r = q("SELECT `micro` FROM `contact` WHERE `uid` = %d AND `self`", intval($a->user['uid'])); $r = q("SELECT `micro` FROM `contact` WHERE `uid` = %d AND `self`", intval($a->user['uid']));
$r[0]['photo'] = (DBA::isResult($r) ? $a->remove_baseurl($r[0]['micro']) : 'images/person-48.jpg'); $r[0]['photo'] = (DBA::isResult($r) ? $a->removeBaseURL($r[0]['micro']) : 'images/person-48.jpg');
$r[0]['name'] = $a->user['username']; $r[0]['name'] = $a->user['username'];
} elseif (!local_user() && remote_user()) { } elseif (!local_user() && remote_user()) {
$r = q("SELECT `name`, `nick`, `micro` AS `photo` FROM `contact` WHERE `id` = %d", intval(remote_user())); $r = q("SELECT `name`, `nick`, `micro` AS `photo` FROM `contact` WHERE `id` = %d", intval(remote_user()));

View File

@ -14,7 +14,7 @@ use Friendica\App;
use Friendica\Core\System; use Friendica\Core\System;
function smoothly_init(App $a) { function smoothly_init(App $a) {
$a->set_template_engine('smarty3'); $a->setActiveTemplateEngine('smarty3');
$cssFile = null; $cssFile = null;
$ssl_state = null; $ssl_state = null;

View File

@ -25,7 +25,7 @@ function vier_init(App $a)
{ {
$a->theme_events_in_profile = false; $a->theme_events_in_profile = false;
$a->set_template_engine('smarty3'); $a->setActiveTemplateEngine('smarty3');
if (!empty($a->argv[0]) && $a->argv[0] . defaults($a->argv, 1, '') === "profile".$a->user['nickname'] || $a->argv[0] === "network" && local_user()) { if (!empty($a->argv[0]) && $a->argv[0] . defaults($a->argv, 1, '') === "profile".$a->user['nickname'] || $a->argv[0] === "network" && local_user()) {
vier_community_info(); vier_community_info();
@ -184,7 +184,7 @@ function vier_community_info()
$entry = replace_macros($tpl, [ $entry = replace_macros($tpl, [
'$id' => $rr['id'], '$id' => $rr['id'],
'$profile_link' => $profile_link, '$profile_link' => $profile_link,
'$photo' => $a->remove_baseurl($rr['thumb']), '$photo' => $a->removeBaseURL($rr['thumb']),
'$alt_text' => $rr['name']]); '$alt_text' => $rr['name']]);
$aside['$lastusers_items'][] = $entry; $aside['$lastusers_items'][] = $entry;
} }