From 5a02e39a65f8f685440228cc1d36738cbe15f32b Mon Sep 17 00:00:00 2001 From: Philipp Holzer Date: Tue, 9 Oct 2018 19:58:58 +0200 Subject: [PATCH] Rename App Methods - renamed a lot of App methods to CamelCase - replaced direct public variables with get-/set-Methods --- bin/worker.php | 2 +- boot.php | 24 +- include/api.php | 2 +- include/enotify.php | 2 +- include/items.php | 2 +- include/text.php | 14 +- index.php | 10 +- mod/admin.php | 28 +-- mod/allfriends.php | 2 +- mod/common.php | 2 +- mod/community.php | 2 +- mod/contacts.php | 2 +- mod/dfrn_request.php | 8 +- mod/directory.php | 4 +- mod/dirfind.php | 4 +- mod/display.php | 2 +- mod/hcard.php | 2 +- mod/home.php | 4 +- mod/hostxrd.php | 2 +- mod/match.php | 4 +- mod/message.php | 2 +- mod/network.php | 10 +- mod/nodeinfo.php | 2 +- mod/notes.php | 2 +- mod/notifications.php | 2 +- mod/notify.php | 2 +- mod/openid.php | 2 +- mod/opensearch.php | 2 +- mod/photo.php | 2 +- mod/photos.php | 10 +- mod/ping.php | 2 +- mod/profile.php | 4 +- mod/profiles.php | 2 +- mod/pubsubhubbub.php | 2 +- mod/redir.php | 2 +- mod/register.php | 4 +- mod/settings.php | 6 +- mod/videos.php | 4 +- mod/viewcontacts.php | 2 +- mod/xrd.php | 6 +- src/App.php | 253 ++++++++++++--------- src/Content/Nav.php | 2 +- src/Content/Text/BBCode.php | 10 +- src/Content/Text/Markdown.php | 2 +- src/Core/Addon.php | 6 +- src/Core/Cache.php | 8 +- src/Core/Cache/AbstractCacheDriver.php | 4 +- src/Core/Console/AutomaticInstallation.php | 4 +- src/Core/Console/DocBloxErrorChecker.php | 2 +- src/Core/Install.php | 2 +- src/Core/NotificationsManager.php | 2 +- src/Core/System.php | 6 +- src/Core/Theme.php | 2 +- src/Core/Worker.php | 4 +- src/Database/DBA.php | 8 +- src/Database/DBStructure.php | 2 +- src/Model/Contact.php | 4 +- src/Model/Item.php | 6 +- src/Model/Photo.php | 2 +- src/Model/Profile.php | 4 +- src/Model/User.php | 2 +- src/Module/Login.php | 18 +- src/Module/Logout.php | 2 +- src/Module/Magic.php | 4 +- src/Module/Proxy.php | 4 +- src/Network/Curl.php | 92 ++++++++ src/Network/Probe.php | 2 +- src/Object/Image.php | 10 +- src/Object/Post.php | 8 +- src/Protocol/DFRN.php | 12 +- src/Protocol/Diaspora.php | 4 +- src/Protocol/Feed.php | 2 +- src/Protocol/OStatus.php | 2 +- src/Protocol/PortableContact.php | 4 +- src/Protocol/Salmon.php | 8 +- src/Render/FriendicaSmarty.php | 4 +- src/Util/ExAuth.php | 4 +- src/Util/HTTPSignature.php | 2 +- src/Util/Network.php | 59 +++-- src/Util/Proxy.php | 2 +- src/Worker/Cron.php | 2 +- src/Worker/CronJobs.php | 6 +- src/Worker/Delivery.php | 4 +- src/Worker/Notifier.php | 2 +- src/Worker/OnePoll.php | 4 +- src/Worker/PubSubPublish.php | 2 +- tests/ApiTest.php | 5 +- tests/DatabaseTest.php | 8 +- tests/src/Core/Cache/MemoryCacheTest.php | 2 +- view/theme/duepuntozero/theme.php | 2 +- view/theme/frio/php/default.php | 2 +- view/theme/frio/theme.php | 4 +- view/theme/smoothly/theme.php | 2 +- view/theme/vier/theme.php | 4 +- 94 files changed, 481 insertions(+), 338 deletions(-) create mode 100644 src/Network/Curl.php diff --git a/bin/worker.php b/bin/worker.php index ceab479cea..cb09a4929d 100755 --- a/bin/worker.php +++ b/bin/worker.php @@ -45,7 +45,7 @@ if (Config::get('system', 'maintenance', false, true)) { return; } -$a->set_baseurl(Config::get('system', 'url')); +$a->setBaseURL(Config::get('system', 'url')); Addon::loadHooks(); diff --git a/boot.php b/boot.php index b1d5b593fd..64741b1762 100644 --- a/boot.php +++ b/boot.php @@ -556,7 +556,7 @@ function check_url(App $a) // and www.example.com vs example.com. // We will only change the url to an ip address if there is no existing setting - if (empty($url) || (!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()); } @@ -975,27 +975,27 @@ function get_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 - return App::realpath($temppath); + return App::getRealPath($temppath); } // We don't have a working preconfigured temp path, so we take the system path. $temppath = sys_get_temp_dir(); // 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 - $temppath = App::realpath($temppath); + $temppath = App::getRealPath($temppath); // 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)) { /// @TODO There is a mkdir()+chmod() upwards, maybe generalize this (+ configurable) into a function/method? mkdir($new_temppath); } - if (App::directory_usable($new_temppath)) { + if (App::isDirectoryUsable($new_temppath)) { // The new path is usable, we are happy Config::set("system", "temppath", $new_temppath); return $new_temppath; @@ -1077,8 +1077,8 @@ function get_itemcachepath() } $itemcache = Config::get('system', 'itemcache'); - if (($itemcache != "") && App::directory_usable($itemcache)) { - return App::realpath($itemcache); + if (($itemcache != "") && App::isDirectoryUsable($itemcache)) { + return App::getRealPath($itemcache); } $temppath = get_temppath(); @@ -1089,7 +1089,7 @@ function get_itemcachepath() mkdir($itemcache); } - if (App::directory_usable($itemcache)) { + if (App::isDirectoryUsable($itemcache)) { Config::set("system", "itemcache", $itemcache); return $itemcache; } @@ -1105,7 +1105,7 @@ function get_itemcachepath() function get_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 return $spoolpath; } @@ -1120,7 +1120,7 @@ function get_spoolpath() mkdir($spoolpath); } - if (App::directory_usable($spoolpath)) { + if (App::isDirectoryUsable($spoolpath)) { // The new path is usable, we are happy Config::set("system", "spoolpath", $spoolpath); return $spoolpath; diff --git a/include/api.php b/include/api.php index cab0290de3..01cb93a3b8 100644 --- a/include/api.php +++ b/include/api.php @@ -3344,7 +3344,7 @@ function api_statusnet_config($type) $a = get_app(); $name = Config::get('config', 'sitename'); - $server = $a->get_hostname(); + $server = $a->getHostName(); $logo = System::baseUrl() . '/images/friendica-64.png'; $email = Config::get('config', 'admin_email'); $closed = intval(Config::get('config', 'register_policy')) === REGISTER_CLOSED ? 'true' : 'false'; diff --git a/include/enotify.php b/include/enotify.php index 70abce5845..b184a6935e 100644 --- a/include/enotify.php +++ b/include/enotify.php @@ -61,7 +61,7 @@ function notification($params) } $sender_name = $sitename; - $hostname = $a->get_hostname(); + $hostname = $a->getHostName(); if (strpos($hostname, ':')) { $hostname = substr($hostname, 0, strpos($hostname, ':')); } diff --git a/include/items.php b/include/items.php index e8e2a5da0d..236e63dd25 100644 --- a/include/items.php +++ b/include/items.php @@ -318,7 +318,7 @@ function subscribe_to_hub($url, array $importer, array $contact, $hubmode = 'sub 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; diff --git a/include/text.php b/include/text.php index 7013c2c91b..5a18529d93 100644 --- a/include/text.php +++ b/include/text.php @@ -42,7 +42,7 @@ function replace_macros($s, $r) { // pass $baseurl to all templates $r['$baseurl'] = System::baseUrl(); - $t = $a->template_engine(); + $t = $a->getTemplateEngine(); try { $output = $t->replaceMacros($s, $r); } catch (Exception $e) { @@ -50,7 +50,7 @@ function replace_macros($s, $r) { killme(); } - $a->save_timestamp($stamp1, "rendering"); + $a->saveTimestamp($stamp1, "rendering"); return $output; } @@ -473,7 +473,7 @@ function get_markup_template($s, $root = '') { $stamp1 = microtime(true); $a = get_app(); - $t = $a->template_engine(); + $t = $a->getTemplateEngine(); try { $template = $t->getTemplateFile($s, $root); } catch (Exception $e) { @@ -481,7 +481,7 @@ function get_markup_template($s, $root = '') { killme(); } - $a->save_timestamp($stamp1, "file"); + $a->saveTimestamp($stamp1, "file"); return $template; } @@ -574,7 +574,7 @@ function logger($msg, $level = LOGGER_INFO) { $stamp1 = microtime(true); @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); @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')) { - $ret["href"] = $a->remove_baseurl($item['plink']); + $ret["href"] = $a->removeBaseURL($item['plink']); $ret["title"] = L10n::t('link to source'); } diff --git a/index.php b/index.php index 19b85b9356..7ec3485d84 100644 --- a/index.php +++ b/index.php @@ -23,11 +23,9 @@ use Friendica\Module\Login; require_once 'boot.php'; -$a = new App(__DIR__); - // We assume that the index.php is called by a frontend process // The value is set to "true" by default in boot.php -$a->backend = false; +$a = new App(__DIR__, false); /** * Try to open the database; @@ -49,7 +47,7 @@ if ($a->isMaxProcessesReached() || $a->isMaxLoadReached()) { } 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) && (substr(System::baseUrl(), 0, 8) == "https://") && ($_SERVER['REQUEST_METHOD'] == 'GET')) { @@ -78,10 +76,10 @@ L10n::loadTranslationTable($lang); */ // Exclude the backend processes from the session management -if (!$a->is_backend()) { +if (!$a->isBackend()) { $stamp1 = microtime(true); session_start(); - $a->save_timestamp($stamp1, "parser"); + $a->saveTimestamp($stamp1, "parser"); } else { $_SESSION = []; Worker::executeIfIdle(); diff --git a/mod/admin.php b/mod/admin.php index 77ac7eddf8..f186f127ad 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -475,8 +475,8 @@ function admin_page_contactblock(App $a) $total = DBA::count('contact', $condition); - $a->set_pager_total($total); - $a->set_pager_itemspage(30); + $a->setPagerTotal($total); + $a->setPagerItemsPage(30); $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 if (file_exists('.htconfig.php')) { $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 .htconfig.php. See the Config help page 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 .htconfig.php. See the Config help page for help with the transition.', $a->getBaseURL() . '/help/Config'); } // Check server vitality if (!admin_page_server_vital()) { $showwarning = true; - $well_known = $a->get_baseurl() . '/.well-known/host-meta'; + $well_known = $a->getBaseURL() . '/.well-known/host-meta'; $warningtext[] = L10n::t('%s is not reachable on your system. This is a severe configuration issue that prevents server to server communication. See the installation page 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`"); @@ -1012,7 +1012,7 @@ function admin_page_site_post(App $a) // update config Config::set('system', 'hostname', parse_url($new_url, PHP_URL_HOST)); Config::set('system', 'url', $new_url); - $a->set_baseurl($new_url); + $a->setBaseURL($new_url); // send relocate $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'); } - if ($a->get_path() != "") { + if ($a->getURLpath() != "") { $diaspora_enabled = false; } 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); if ($itemcache != '') { - $itemcache = App::realpath($itemcache); + $itemcache = App::getRealPath($itemcache); } Config::set('system', 'itemcache', $itemcache); @@ -1269,13 +1269,13 @@ function admin_page_site_post(App $a) Config::set('system', 'max_comments', $max_comments); if ($temppath != '') { - $temppath = App::realpath($temppath); + $temppath = App::getRealPath($temppath); } Config::set('system', 'temppath', $temppath); if ($basepath != '') { - $basepath = App::realpath($basepath); + $basepath = App::getRealPath($basepath); } Config::set('system', 'basepath', $basepath); @@ -1419,9 +1419,9 @@ function admin_page_site(App $a) ]; 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); @@ -1801,8 +1801,8 @@ function admin_page_users(App $a) /* get users */ $total = q("SELECT COUNT(*) AS `total` FROM `user` WHERE 1"); if (count($total)) { - $a->set_pager_total($total[0]['total']); - $a->set_pager_itemspage(100); + $a->setPagerTotal($total[0]['total']); + $a->setPagerItemsPage(100); } /* ordering */ diff --git a/mod/allfriends.php b/mod/allfriends.php index 7623a9cd06..b41d0c891b 100644 --- a/mod/allfriends.php +++ b/mod/allfriends.php @@ -46,7 +46,7 @@ function allfriends_content(App $a) $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']); if (!DBA::isResult($r)) { diff --git a/mod/common.php b/mod/common.php index afe78ce460..d694527b86 100644 --- a/mod/common.php +++ b/mod/common.php @@ -88,7 +88,7 @@ function common_content(App $a) } if ($t > 0) { - $a->set_pager_total($t); + $a->setPagerTotal($t); } else { notice(L10n::t('No contacts in common.') . EOL); return $o; diff --git a/mod/community.php b/mod/community.php index 9c9fb43900..d1432b7bbb 100644 --- a/mod/community.php +++ b/mod/community.php @@ -153,7 +153,7 @@ function community_content(App $a, $update = 0) $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); diff --git a/mod/contacts.php b/mod/contacts.php index 7597fd6432..4e149ab74f 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -793,7 +793,7 @@ function contacts_content(App $a, $update = 0) intval($_SESSION['uid']) ); if (DBA::isResult($r)) { - $a->set_pager_total($r[0]['total']); + $a->setPagerTotal($r[0]['total']); $total = $r[0]['total']; } diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php index 25fe69066f..4971cb8609 100644 --- a/mod/dfrn_request.php +++ b/mod/dfrn_request.php @@ -451,10 +451,10 @@ function dfrn_request_post(App $a) // Diaspora needs the uri in the format user@domain.tld // Diaspora will support the remote subscription in a future version if ($network == Protocol::DIASPORA) { - $uri = $nickname . '@' . $a->get_hostname(); + $uri = $nickname . '@' . $a->getHostName(); - if ($a->get_path()) { - $uri .= '/' . $a->get_path(); + if ($a->getURLpath()) { + $uri .= '/' . $a->getURLpath(); } $uri = urlencode($uri); @@ -609,7 +609,7 @@ function dfrn_request_content(App $a) } elseif (x($_GET, 'address') && ($_GET['address'] != "")) { $myaddr = $_GET['address']; } elseif (local_user()) { - if (strlen($a->urlpath)) { + if (strlen($a->getURLpath())) { $myaddr = System::baseUrl() . '/profile/' . $a->user['nickname']; } else { $myaddr = $a->user['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(), '://') + 3); diff --git a/mod/directory.php b/mod/directory.php index 411024dc1a..202132e366 100644 --- a/mod/directory.php +++ b/mod/directory.php @@ -16,7 +16,7 @@ use Friendica\Util\Proxy as ProxyUtils; function directory_init(App $a) { - $a->set_pager_itemspage(60); + $a->setPagerItemsPage(60); if (local_user()) { $a->page['aside'] .= Widget::findPeople(); @@ -87,7 +87,7 @@ function directory_content(App $a) LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid` WHERE `is-default` $publish AND NOT `user`.`blocked` AND NOT `user`.`account_removed` $sql_extra"); if (DBA::isResult($cnt)) { - $a->set_pager_total($cnt['total']); + $a->setPagerTotal($cnt['total']); } $order = " ORDER BY `name` ASC "; diff --git a/mod/dirfind.php b/mod/dirfind.php index 4223bb6ecd..5fe9ae13af 100644 --- a/mod/dirfind.php +++ b/mod/dirfind.php @@ -188,8 +188,8 @@ function dirfind_content(App $a, $prefix = "") { } if ($j->total) { - $a->set_pager_total($j->total); - $a->set_pager_itemspage($j->items_page); + $a->setPagerTotal($j->total); + $a->setPagerItemsPage($j->items_page); } if (!empty($j->results)) { diff --git a/mod/display.php b/mod/display.php index fe8e960f9e..a03b918372 100644 --- a/mod/display.php +++ b/mod/display.php @@ -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)); $author_name = $item["author-name"]; - $image = $a->remove_baseurl($item["author-avatar"]); + $image = $a->removeBaseURL($item["author-avatar"]); if ($title == "") { $title = $author_name; diff --git a/mod/hcard.php b/mod/hcard.php index 0c046da540..11e5475f43 100644 --- a/mod/hcard.php +++ b/mod/hcard.php @@ -50,7 +50,7 @@ function hcard_init(App $a) $a->page['htmlhead'] .= '' . "\r\n" ; $a->page['htmlhead'] .= '' . "\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'] .= '' . "\r\n"; header('Link: <' . System::baseUrl() . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false); diff --git a/mod/home.php b/mod/home.php index d28bf3cb43..33d736a4e1 100644 --- a/mod/home.php +++ b/mod/home.php @@ -38,8 +38,8 @@ function home_content(App $a) { $customhome = false; $defaultheader = '

' . (Config::get('config', 'sitename') ? L10n::t('Welcome to %s', Config::get('config', 'sitename')) : '') . '

'; - $homefilepath = $a->basepath . "/home.html"; - $cssfilepath = $a->basepath . "/home.css"; + $homefilepath = $a->getBasePath() . "/home.html"; + $cssfilepath = $a->getBasePath() . "/home.css"; if (file_exists($homefilepath)) { $customhome = $homefilepath; if (file_exists($cssfilepath)) { diff --git a/mod/hostxrd.php b/mod/hostxrd.php index 16f132fe09..30343381c3 100644 --- a/mod/hostxrd.php +++ b/mod/hostxrd.php @@ -23,7 +23,7 @@ function hostxrd_init(App $a) $tpl = get_markup_template('xrd_host.tpl'); echo replace_macros($tpl, [ - '$zhost' => $a->get_hostname(), + '$zhost' => $a->getHostName(), '$zroot' => System::baseUrl(), '$domain' => System::baseUrl(), '$bigkey' => Salmon::salmonKey(Config::get('system', 'site_pubkey'))] diff --git a/mod/match.php b/mod/match.php index caa4c944ca..bb1e4542ae 100644 --- a/mod/match.php +++ b/mod/match.php @@ -67,8 +67,8 @@ function match_content(App $a) $j = json_decode($x); if ($j->total) { - $a->set_pager_total($j->total); - $a->set_pager_itemspage($j->items_page); + $a->setPagerTotal($j->total); + $a->setPagerItemsPage($j->items_page); } if (count($j->results)) { diff --git a/mod/message.php b/mod/message.php index bb3000736a..f9c5c29ec7 100644 --- a/mod/message.php +++ b/mod/message.php @@ -279,7 +279,7 @@ function message_content(App $a) ); 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']); diff --git a/mod/network.php b/mod/network.php index 58e147d1f7..fb0093849e 100644 --- a/mod/network.php +++ b/mod/network.php @@ -302,7 +302,7 @@ function networkPager($a, $update) $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'])); } @@ -721,7 +721,7 @@ function networkThreadedView(App $a, $update, $parent) if ($last_received != '') { $last_date = $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'])); } break; @@ -729,7 +729,7 @@ function networkThreadedView(App $a, $update, $parent) if ($last_commented != '') { $last_date = $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'])); } break; @@ -737,14 +737,14 @@ function networkThreadedView(App $a, $update, $parent) if ($last_created != '') { $last_date = $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'])); } break; case 'id': if (($last_id > 0) && ($sql_table == '`thread`')) { $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'])); } break; diff --git a/mod/nodeinfo.php b/mod/nodeinfo.php index 072986cc5e..ed0166838f 100644 --- a/mod/nodeinfo.php +++ b/mod/nodeinfo.php @@ -215,7 +215,7 @@ function nodeinfo_cron() { logger('local_comments: ' . $local_comments, LOGGER_DEBUG); // 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); $ret = Network::fetchUrl($url); logger('registering answer: '.$ret, LOGGER_DEBUG); diff --git a/mod/notes.php b/mod/notes.php index 01f283870e..da8352966e 100644 --- a/mod/notes.php +++ b/mod/notes.php @@ -61,7 +61,7 @@ function notes_content(App $a, $update = false) $condition = ['uid' => local_user(), 'post-type' => Item::PT_PERSONAL_NOTE, 'gravity' => GRAVITY_PARENT, 'wall' => false, 'contact-id'=> $a->contact['id']]; - $a->set_pager_itemspage(40); + $a->setPagerItemsPage(40); $params = ['order' => ['created' => true], 'limit' => [$a->pager['start'], $a->pager['itemspage']]]; diff --git a/mod/notifications.php b/mod/notifications.php index 867c7260da..1885f96447 100644 --- a/mod/notifications.php +++ b/mod/notifications.php @@ -120,7 +120,7 @@ function notifications_content(App $a) } // Set the pager - $a->set_pager_itemspage($perpage); + $a->setPagerItemsPage($perpage); // Add additional informations (needed for json output) $notifs['items_page'] = $a->pager['itemspage']; diff --git a/mod/notify.php b/mod/notify.php index 458d0140a6..a277e59813 100644 --- a/mod/notify.php +++ b/mod/notify.php @@ -27,7 +27,7 @@ function notify_init(App $a) $nm->setSeen($note); // 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"); $urldata = parse_url($note['link']); $guid = basename($urldata["path"]); diff --git a/mod/openid.php b/mod/openid.php index 41d45c1f60..63b29684b3 100644 --- a/mod/openid.php +++ b/mod/openid.php @@ -19,7 +19,7 @@ function openid_content(App $a) { if((x($_GET,'openid_mode')) && (x($_SESSION,'openid'))) { - $openid = new LightOpenID($a->get_hostname()); + $openid = new LightOpenID($a->getHostName()); if($openid->validate()) { diff --git a/mod/opensearch.php b/mod/opensearch.php index 8a427908bc..5410024100 100644 --- a/mod/opensearch.php +++ b/mod/opensearch.php @@ -11,7 +11,7 @@ function opensearch_content(App $a) { $o = replace_macros($tpl, [ '$baseurl' => System::baseUrl(), - '$nodename' => $a->get_hostname(), + '$nodename' => $a->getHostName(), ]); echo $o; diff --git a/mod/photo.php b/mod/photo.php index 6d456b349e..b1dd9a5c3a 100644 --- a/mod/photo.php +++ b/mod/photo.php @@ -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 ($public and $file != '') { // 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_writable($basepath)) { mkdir($basepath . "/photo"); diff --git a/mod/photos.php b/mod/photos.php index 568d6eb537..259209ed40 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -1143,8 +1143,8 @@ function photos_content(App $a) DBA::escape($album) ); if (DBA::isResult($r)) { - $a->set_pager_total(count($r)); - $a->set_pager_itemspage(20); + $a->setPagerTotal(count($r)); + $a->setPagerItemsPage(20); } /// @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']]); $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']]]; $result = Item::selectForUser($link_item['uid'], Item::ITEM_FIELDLIST, $condition, $params); @@ -1655,8 +1655,8 @@ function photos_content(App $a) ); if (DBA::isResult($r)) { - $a->set_pager_total(count($r)); - $a->set_pager_itemspage(20); + $a->setPagerTotal(count($r)); + $a->setPagerItemsPage(20); } $r = q("SELECT `resource-id`, ANY_VALUE(`id`) AS `id`, ANY_VALUE(`filename`) AS `filename`, diff --git a/mod/ping.php b/mod/ping.php index 968751a7da..ff0139f28f 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -350,7 +350,7 @@ function ping_init(App $a) $regularnotifications = (!empty($_GET['uid']) && !empty($_GET['_'])); foreach ($notifs as $notif) { - if ($a->is_friendica_app() || !$regularnotifications) { + if ($a->isFriendicaApp() || !$regularnotifications) { $notif['message'] = str_replace("{0}", $notif['name'], $notif['message']); } diff --git a/mod/profile.php b/mod/profile.php index 5b306b20fb..c57f403930 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -91,7 +91,7 @@ function profile_init(App $a) $a->page['htmlhead'] .= '' . "\r\n"; $a->page['htmlhead'] .= '' . "\r\n"; $a->page['htmlhead'] .= '' . "\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'] .= '' . "\r\n"; 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; } - $a->set_pager_itemspage($itemspage_network); + $a->setPagerItemsPage($itemspage_network); $pager_sql = sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage'])); diff --git a/mod/profiles.php b/mod/profiles.php index f41cb72af4..3e6bd1cb0d 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -667,7 +667,7 @@ function profiles_content(App $a) { $profiles = ''; foreach ($r as $rr) { $profiles .= replace_macros($tpl, [ - '$photo' => $a->remove_baseurl($rr['thumb']), + '$photo' => $a->removeBaseURL($rr['thumb']), '$id' => $rr['id'], '$alt' => L10n::t('Profile Image'), '$profile_name' => $rr['profile-name'], diff --git a/mod/pubsubhubbub.php b/mod/pubsubhubbub.php index 8f9478d8aa..5697be8305 100644 --- a/mod/pubsubhubbub.php +++ b/mod/pubsubhubbub.php @@ -105,7 +105,7 @@ function pubsubhubbub_init(App $a) { // Social/StatusNet doesn't honour it (yet) $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) if ($ret < 200 || $ret > 299) { diff --git a/mod/redir.php b/mod/redir.php index 3acf960dab..b9a24210b6 100644 --- a/mod/redir.php +++ b/mod/redir.php @@ -57,7 +57,7 @@ function redir_init(App $a) { } 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); // On a local instance we have to check if the local user has already authenticated diff --git a/mod/register.php b/mod/register.php index b851faf2d6..454062d89b 100644 --- a/mod/register.php +++ b/mod/register.php @@ -274,7 +274,7 @@ function register_content(App $a) '$passwords' => $passwords, '$password1' => ['password1', L10n::t('New Password:'), '', L10n::t('Leave empty for an auto generated password.')], '$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 \'nickname@%s\'.', $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 \'nickname@%s\'.', $a->getHostName()), '$nicklabel' => L10n::t('Choose a nickname: '), '$photo' => $photo, '$publish' => $profile_publish, @@ -283,7 +283,7 @@ function register_content(App $a) '$email' => $email, '$nickname' => $nickname, '$license' => $license, - '$sitename' => $a->get_hostname(), + '$sitename' => $a->getHostName(), '$importh' => L10n::t('Import'), '$importt' => L10n::t('Import your profile to this friendica instance'), '$showtoslink' => Config::get('system', 'tosdisplay'), diff --git a/mod/settings.php b/mod/settings.php index 1e6ce1354e..3a6c8c3fab 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -547,7 +547,7 @@ function settings_post(App $a) if ($openid != $a->user['openid'] || (strlen($openid) && (!strlen($openidserver)))) { if (Network::isUrlValid($openid)) { logger('updating openidserver'); - $open_id_obj = new LightOpenID($a->get_hostname()); + $open_id_obj = new LightOpenID($a->getHostName()); $open_id_obj->identity = $openid; $openidserver = $open_id_obj->discover($open_id_obj->identity); } else { @@ -1136,8 +1136,8 @@ function settings_content(App $a) $tpl_addr = get_markup_template('settings/nick_set.tpl'); $prof_addr = replace_macros($tpl_addr,[ - '$desc' => L10n::t("Your Identity Address is '%s' or '%s'.", $nickname . '@' . $a->get_hostname() . $a->get_path(), System::baseUrl() . '/profile/' . $nickname), - '$basepath' => $a->get_hostname() + '$desc' => L10n::t("Your Identity Address is '%s' or '%s'.", $nickname . '@' . $a->getHostName() . $a->getURLpath(), System::baseUrl() . '/profile/' . $nickname), + '$basepath' => $a->getHostName() ]); $stpl = get_markup_template('settings/settings.tpl'); diff --git a/mod/videos.php b/mod/videos.php index a0c9d0d16e..e52c78cab1 100644 --- a/mod/videos.php +++ b/mod/videos.php @@ -341,8 +341,8 @@ function videos_content(App $a) ); if (DBA::isResult($r)) { - $a->set_pager_total(count($r)); - $a->set_pager_itemspage(20); + $a->setPagerTotal(count($r)); + $a->setPagerItemsPage(20); } $r = q("SELECT hash, ANY_VALUE(`id`) AS `id`, ANY_VALUE(`created`) AS `created`, diff --git a/mod/viewcontacts.php b/mod/viewcontacts.php index 9446470e1b..563c13c6d4 100644 --- a/mod/viewcontacts.php +++ b/mod/viewcontacts.php @@ -71,7 +71,7 @@ function viewcontacts_content(App $a) DBA::escape(Protocol::OSTATUS) ); if (DBA::isResult($r)) { - $a->set_pager_total($r[0]['total']); + $a->setPagerTotal($r[0]['total']); } $r = q("SELECT * FROM `contact` diff --git a/mod/xrd.php b/mod/xrd.php index 6a5fdbbdb9..801fa9d91b 100644 --- a/mod/xrd.php +++ b/mod/xrd.php @@ -55,9 +55,9 @@ function xrd_init(App $a) $alias = str_replace('/profile/', '/~', $profile_url); - $addr = 'acct:'.$user['nickname'].'@'.$a->get_hostname(); - if ($a->get_path()) { - $addr .= '/'.$a->get_path(); + $addr = 'acct:'.$user['nickname'].'@'.$a->getHostName(); + if ($a->getURLpath()) { + $addr .= '/'.$a->getURLpath(); } if ($mode == 'xml') { diff --git a/src/App.php b/src/App.php index 61d7335f1a..293d9d3a56 100644 --- a/src/App.php +++ b/src/App.php @@ -54,8 +54,6 @@ class App public $argc; public $module; public $strings; - public $basepath; - public $urlpath; public $hooks = []; public $timezone; public $interactive = true; @@ -65,11 +63,9 @@ class App public $identities; public $is_mobile = false; public $is_tablet = false; - public $is_friendica_app; public $performance = []; public $callstack = []; public $theme_info = []; - public $backend = true; public $nav_sel; public $category; // Allow themes to control internal parameters @@ -89,6 +85,31 @@ class App */ 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 tag of every page. * Inclusion is done in App->initHead(). @@ -100,7 +121,7 @@ class App */ 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, '/'); } @@ -116,7 +137,7 @@ class App */ 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, '/'); } @@ -157,26 +178,26 @@ class App ]; private $scheme; private $hostname; - private $curl_code; - private $curl_content_type; - private $curl_headers; /** * @brief App constructor. * * @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 */ - 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.'); } BaseObject::setApp($this); $this->basepath = rtrim($basepath, DIRECTORY_SEPARATOR); + $this->checkBackend($backend); + $this->checkFriendicaApp(); $this->performance['start'] = microtime(true); $this->performance['database'] = 0; @@ -230,9 +251,9 @@ class App set_include_path( get_include_path() . PATH_SEPARATOR - . $this->basepath . DIRECTORY_SEPARATOR . 'include' . PATH_SEPARATOR - . $this->basepath . DIRECTORY_SEPARATOR . 'library' . PATH_SEPARATOR - . $this->basepath); + . $this->getBasePath() . DIRECTORY_SEPARATOR . 'include' . PATH_SEPARATOR + . $this->getBasePath(). DIRECTORY_SEPARATOR . 'library' . PATH_SEPARATOR + . $this->getBasePath()); if ((x($_SERVER, 'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'], 0, 9) === 'pagename=') { $this->query_string = substr($_SERVER['QUERY_STRING'], 9); @@ -301,11 +322,8 @@ class App $this->is_mobile = $mobile_detect->isMobile(); $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 - $this->register_template_engine('Friendica\Render\FriendicaSmartyEngine'); + $this->registerTemplateEngine('Friendica\Render\FriendicaSmartyEngine'); } /** @@ -334,9 +352,9 @@ class App $this->loadDatabase(); - $this->getMode()->determine($this->basepath); + $this->getMode()->determine($this->getBasePath()); - $this->determineUrlPath(); + $this->determineURLPath(); Config::load(); @@ -372,20 +390,20 @@ class App */ private function loadConfigFiles() { - $this->loadConfigFile($this->basepath . 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 . 'config.ini.php'); + $this->loadConfigFile($this->getBasePath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'settings.ini.php'); // Legacy .htconfig.php support - if (file_exists($this->basepath . DIRECTORY_SEPARATOR . '.htpreconfig.php')) { + if (file_exists($this->getBasePath() . DIRECTORY_SEPARATOR . '.htpreconfig.php')) { $a = $this; - include $this->basepath . DIRECTORY_SEPARATOR . '.htpreconfig.php'; + include $this->getBasePath() . DIRECTORY_SEPARATOR . '.htpreconfig.php'; } // Legacy .htconfig.php support - if (file_exists($this->basepath . DIRECTORY_SEPARATOR . '.htconfig.php')) { + if (file_exists($this->getBasePath() . DIRECTORY_SEPARATOR . '.htconfig.php')) { $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', 'username', $db_user); @@ -413,8 +431,8 @@ class App } } - if (file_exists($this->basepath . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.ini.php')) { - $this->loadConfigFile($this->basepath . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.ini.php', true); + if (file_exists($this->getBasePath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.ini.php')) { + $this->loadConfigFile($this->getBasePath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.ini.php', true); } } @@ -473,8 +491,8 @@ class App Core\Addon::callHooks('load_config'); // 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')) { - $this->loadConfigFile($this->basepath . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'addon.ini.php', true); + if (file_exists($this->getBasePath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'addon.ini.php')) { + $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 */ - private function determineUrlPath() + private function determineURLPath() { $this->urlpath = $this->getConfigValue('system', 'urlpath'); @@ -562,7 +580,7 @@ class App DBA::connect($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 */ - public function get_basepath() + public function getBasePath() { $basepath = $this->basepath; @@ -589,7 +607,7 @@ class App $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 * @return string normalized path - when possible */ - public static function realpath($path) + public static function getRealPath($path) { $normalized = realpath($path); @@ -613,7 +631,7 @@ class App } } - public function get_scheme() + public function getScheme() { return $this->scheme; } @@ -632,7 +650,7 @@ class App * @param bool $ssl Whether to append http or https under SSL_POLICY_SELFSIGN * @return string Friendica server base URL */ - public function get_baseurl($ssl = false) + public function getBaseURL($ssl = false) { $scheme = $this->scheme; @@ -655,7 +673,7 @@ class App $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 */ - public function set_baseurl($url) + public function setBaseURL($url) { $parsed = @parse_url($url); $hostname = ''; @@ -686,8 +704,8 @@ class App $this->urlpath = trim($parsed['path'], '\\/'); } - if (file_exists($this->basepath . DIRECTORY_SEPARATOR . '.htpreconfig.php')) { - include $this->basepath . DIRECTORY_SEPARATOR . '.htpreconfig.php'; + if (file_exists($this->getBasePath() . DIRECTORY_SEPARATOR . '.htpreconfig.php')) { + include $this->getBasePath() . DIRECTORY_SEPARATOR . '.htpreconfig.php'; } if (Config::get('config', 'hostname') != '') { @@ -700,7 +718,7 @@ class App } } - public function get_hostname() + public function getHostName() { if (Config::get('config', 'hostname') != '') { $this->hostname = Config::get('config', 'hostname'); @@ -709,23 +727,23 @@ class App return $this->hostname; } - public function get_path() + public function getURLpath() { return $this->urlpath; } - public function set_pager_total($n) + public function setPagerTotal($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['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['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage']; @@ -791,7 +809,7 @@ class App * being first */ $this->page['htmlhead'] = replace_macros($tpl, [ - '$baseurl' => $this->get_baseurl(), + '$baseurl' => $this->getBaseURL(), '$local_user' => local_user(), '$generator' => 'Friendica' . ' ' . FRIENDICA_VERSION, '$delitem' => L10n::t('Delete this item?'), @@ -847,41 +865,11 @@ class App $tpl = get_markup_template('footer.tpl'); $this->page['footer'] = replace_macros($tpl, [ - '$baseurl' => $this->get_baseurl(), + '$baseurl' => $this->getBaseURL(), '$footerScripts' => $this->footerScripts, ]) . $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. * @@ -889,11 +877,11 @@ class App * * @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 $nurl = normalise_link($orig_url); - $base = normalise_link($this->get_baseurl()); + $base = normalise_link($this->getBaseURL()); $url = str_replace($base . '/', '', $nurl); // if it is an external link return the orignal value @@ -909,7 +897,7 @@ class App * * @param string $class */ - private function register_template_engine($class) + private function registerTemplateEngine($class) { $v = get_class_vars($class); if (x($v, 'name')) { @@ -929,7 +917,7 @@ class App * * @return object Template Engine instance */ - public function template_engine() + public function getTemplateEngine() { $template_engine = 'smarty3'; if (x($this->theme, 'template_engine')) { @@ -956,33 +944,40 @@ class App * * @return string */ - public function get_template_engine() + public function getActiveTemplateEngine() { return $this->theme['template_engine']; } - public function set_template_engine($engine = 'smarty3') + public function setActiveTemplateEngine($engine = 'smarty3') { $this->theme['template_engine'] = $engine; } - public function get_template_ldelim($engine = 'smarty3') + public function getTemplateLdelim($engine = 'smarty3') { return $this->ldelim[$engine]; } - public function get_template_rdelim($engine = 'smarty3') + public function getTemplateRdelim($engine = 'smarty3') { 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']) { return; } - $duration = (float) (microtime(true) - $stamp); + $duration = (float) (microtime(true) - $timestamp); if (!isset($this->performance[$value])) { // Prevent ugly E_NOTICE @@ -1002,19 +997,41 @@ class App $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 FRIENDICA_PLATFORM . " '" . FRIENDICA_CODENAME . "' " . FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION . '; ' . - $this->get_baseurl(); + $this->getBaseURL(); + } + + /** + * 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() + { + // Friendica-Client + $this->isFriendicaApp = isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT'] == 'Apache-HttpClient/UNAVAILABLE (java 1.4)'; } - public function is_friendica_app() + /** + * 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->is_friendica_app; + return $this->isFriendicaApp; } /** @@ -1023,10 +1040,8 @@ class App * This isn't a perfect solution. But we need this check very early. * 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 = [ '_well_known', 'api', @@ -1050,7 +1065,17 @@ class App ]; // 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? */ - public function min_memory_reached() + public function isMinMemoryReached() { $min_memory = Config::get('system', 'min_memory', 0); if ($min_memory == 0) { @@ -1144,7 +1169,7 @@ class App */ public function isMaxLoadReached() { - if ($this->is_backend()) { + if ($this->isBackend()) { $process = 'backend'; $maxsysload = intval(Config::get('system', 'maxloadavg')); if ($maxsysload < 1) { @@ -1193,14 +1218,14 @@ class App } } - if ($this->min_memory_reached()) { + if ($this->isMinMemoryReached()) { return; } 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 { - $resource = proc_open($cmdline . ' &', [], $foo, $this->get_basepath()); + $resource = proc_open($cmdline . ' &', [], $foo, $this->getBasePath()); } if (!is_resource($resource)) { logger('We got no resource for command ' . $cmdline, LOGGER_DEBUG); @@ -1216,7 +1241,7 @@ class App * * @return string system username */ - private static function systemuser() + private static function getSystemUser() { if (!function_exists('posix_getpwuid') || !function_exists('posix_geteuid')) { return ''; @@ -1231,7 +1256,7 @@ class App * * @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 == '') { logger('Directory is empty. This shouldn\'t happen.', LOGGER_DEBUG); @@ -1239,22 +1264,22 @@ class App } 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; } 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; } 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; } 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; } @@ -1265,6 +1290,8 @@ class App * @param string $cat Config category * @param string $k Config key * @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) { @@ -1347,6 +1374,8 @@ class App * @param string $cat Config category * @param string $k Config key * @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) { @@ -1408,7 +1437,7 @@ class App { $sender_email = Config::get('config', 'sender_email'); if (empty($sender_email)) { - $hostname = $this->get_hostname(); + $hostname = $this->getHostName(); if (strpos($hostname, ':')) { $hostname = substr($hostname, 0, strpos($hostname, ':')); } @@ -1422,7 +1451,7 @@ class App /** * Returns the current theme name. * - * @return string + * @return string the name of the current theme */ public function getCurrentTheme() { @@ -1435,7 +1464,7 @@ class App /// https://github.com/friendica/friendica/issues/5092) $this->computeCurrentTheme(); - return $this->current_theme; + return $this->currentTheme; } /** @@ -1451,7 +1480,7 @@ class App } // Sane default - $this->current_theme = $system_theme; + $this->currentTheme = $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.php')) ) { - $this->current_theme = $theme_name; + $this->currentTheme = $theme_name; } } diff --git a/src/Content/Nav.php b/src/Content/Nav.php index 99decc92bb..7a1a149a2f 100644 --- a/src/Content/Nav.php +++ b/src/Content/Nav.php @@ -107,7 +107,7 @@ class Nav // user info $contact = DBA::selectFirst('contact', ['micro'], ['uid' => $a->user['uid'], 'self' => true]); $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'], ]; } else { diff --git a/src/Content/Text/BBCode.php b/src/Content/Text/BBCode.php index c3453bcf72..66f4190b28 100644 --- a/src/Content/Text/BBCode.php +++ b/src/Content/Text/BBCode.php @@ -1060,11 +1060,11 @@ class BBCode extends BaseObject $ch = @curl_init($match[1]); @curl_setopt($ch, CURLOPT_NOBODY, 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_info = @curl_getinfo($ch); - $a->save_timestamp($stamp1, "network"); + $a->saveTimestamp($stamp1, "network"); if (substr($curl_info["content_type"], 0, 6) == "image/") { $text = "[url=" . $match[1] . "]" . $match[1] . "[/url]"; @@ -1119,11 +1119,11 @@ class BBCode extends BaseObject $ch = @curl_init($match[1]); @curl_setopt($ch, CURLOPT_NOBODY, 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_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 (substr($curl_info["content_type"], 0, 6) == "image/") { @@ -1946,7 +1946,7 @@ class BBCode extends BaseObject // unmask the special chars back to HTML $text = str_replace(['&\_lt\_;', '&\_gt\_;', '&\_amp\_;'], ['<', '>', '&'], $text); - $a->save_timestamp($stamp1, "parser"); + $a->saveTimestamp($stamp1, "parser"); // Libertree has a problem with escaped hashtags. $text = str_replace(['\#'], ['#'], $text); diff --git a/src/Content/Text/Markdown.php b/src/Content/Text/Markdown.php index 0687b5377b..2289bee869 100644 --- a/src/Content/Text/Markdown.php +++ b/src/Content/Text/Markdown.php @@ -35,7 +35,7 @@ class Markdown extends BaseObject $MarkdownParser->code_class_prefix = 'language-'; $html = $MarkdownParser->transform($text); - self::getApp()->save_timestamp($stamp1, "parser"); + self::getApp()->saveTimestamp($stamp1, "parser"); return $html; } diff --git a/src/Core/Addon.php b/src/Core/Addon.php index d5a7a6f1b4..d2f89ce279 100644 --- a/src/Core/Addon.php +++ b/src/Core/Addon.php @@ -197,7 +197,7 @@ class Addon extends BaseObject */ 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]; $exists = DBA::exists('hook', $condition); @@ -220,7 +220,7 @@ class Addon extends BaseObject */ 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 $condition = ['hook' => $hook, 'file' => $file, 'function' => $function]; @@ -368,7 +368,7 @@ class Addon extends BaseObject $stamp1 = microtime(true); $f = file_get_contents("addon/$addon/$addon.php"); - $a->save_timestamp($stamp1, "file"); + $a->saveTimestamp($stamp1, "file"); $r = preg_match("|/\*.*\*/|msU", $f, $m); diff --git a/src/Core/Cache.php b/src/Core/Cache.php index b239af7d60..0fb328aaee 100644 --- a/src/Core/Cache.php +++ b/src/Core/Cache.php @@ -61,7 +61,7 @@ class Cache extends \Friendica\BaseObject $return = self::getDriver()->getAllKeys($prefix); - self::getApp()->save_timestamp($time, 'cache'); + self::getApp()->saveTimestamp($time, 'cache'); return $return; } @@ -79,7 +79,7 @@ class Cache extends \Friendica\BaseObject $return = self::getDriver()->get($key); - self::getApp()->save_timestamp($time, 'cache'); + self::getApp()->saveTimestamp($time, 'cache'); return $return; } @@ -101,7 +101,7 @@ class Cache extends \Friendica\BaseObject $return = self::getDriver()->set($key, $value, $duration); - self::getApp()->save_timestamp($time, 'cache_write'); + self::getApp()->saveTimestamp($time, 'cache_write'); return $return; } @@ -119,7 +119,7 @@ class Cache extends \Friendica\BaseObject $return = self::getDriver()->delete($key); - self::getApp()->save_timestamp($time, 'cache_write'); + self::getApp()->saveTimestamp($time, 'cache_write'); return $return; } diff --git a/src/Core/Cache/AbstractCacheDriver.php b/src/Core/Cache/AbstractCacheDriver.php index 1cdecf6ceb..c2628551ef 100644 --- a/src/Core/Cache/AbstractCacheDriver.php +++ b/src/Core/Cache/AbstractCacheDriver.php @@ -20,7 +20,7 @@ abstract class AbstractCacheDriver extends BaseObject protected function getCacheKey($key) { // 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 { // Keys are prefixed with the node hostname, let's remove it array_walk($keys, function (&$value) { - $value = preg_replace('/^' . self::getApp()->get_hostname() . ':/', '', $value); + $value = preg_replace('/^' . self::getApp()->getHostName() . ':/', '', $value); }); sort($keys); diff --git a/src/Core/Console/AutomaticInstallation.php b/src/Core/Console/AutomaticInstallation.php index 9b6945ecd4..9cdb8a0ae2 100644 --- a/src/Core/Console/AutomaticInstallation.php +++ b/src/Core/Console/AutomaticInstallation.php @@ -84,8 +84,8 @@ HELP; if ($config_file != 'config' . DIRECTORY_SEPARATOR . 'local.ini.php') { // Copy config file $this->out("Copying config file...\n"); - if (!copy($a->basepath . DIRECTORY_SEPARATOR . $config_file, $a->basepath . 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"); + 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->getBasePath() . "'" . DIRECTORY_SEPARATOR . "config" . DIRECTORY_SEPARATOR . "local.ini.php' manually.\n"); } } diff --git a/src/Core/Console/DocBloxErrorChecker.php b/src/Core/Console/DocBloxErrorChecker.php index b29f8e2baa..421f913bb8 100644 --- a/src/Core/Console/DocBloxErrorChecker.php +++ b/src/Core/Console/DocBloxErrorChecker.php @@ -60,7 +60,7 @@ HELP; } //return from util folder to frindica base dir - $dir = get_app()->get_basepath(); + $dir = get_app()->getBasePath(); //stack for dirs to search $dirstack = []; diff --git a/src/Core/Install.php b/src/Core/Install.php index ba3a97ea6c..ba767f3f9b 100644 --- a/src/Core/Install.php +++ b/src/Core/Install.php @@ -86,7 +86,7 @@ class Install extends BaseObject $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) { $app->data['txt'] = $txt; } diff --git a/src/Core/NotificationsManager.php b/src/Core/NotificationsManager.php index f8c4ee3f86..4f5ccb95a0 100644 --- a/src/Core/NotificationsManager.php +++ b/src/Core/NotificationsManager.php @@ -631,7 +631,7 @@ class NotificationsManager extends BaseObject // We have to distinguish between these two because they use different data. // Contact suggestions 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 = [ 'label' => 'friend_suggestion', diff --git a/src/Core/System.php b/src/Core/System.php index b41f520d77..cbffcdbef1 100644 --- a/src/Core/System.php +++ b/src/Core/System.php @@ -27,7 +27,7 @@ class System extends BaseObject */ 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) { - 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) { $prefix = ''; } elseif (empty($prefix)) { - $prefix = hash('crc32', self::getApp()->get_hostname()); + $prefix = hash('crc32', self::getApp()->getHostName()); } while (strlen($prefix) < ($size - 13)) { diff --git a/src/Core/Theme.php b/src/Core/Theme.php index c64ed08d3b..7e5b89d2f9 100644 --- a/src/Core/Theme.php +++ b/src/Core/Theme.php @@ -50,7 +50,7 @@ class Theme $a = get_app(); $stamp1 = microtime(true); $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); diff --git a/src/Core/Worker.php b/src/Core/Worker.php index 3400f00ae1..870a5dfb24 100644 --- a/src/Core/Worker.php +++ b/src/Core/Worker.php @@ -62,7 +62,7 @@ class Worker } // Do we have too few memory? - if ($a->min_memory_reached()) { + if ($a->isMinMemoryReached()) { logger('Pre check: Memory limit reached, quitting.', LOGGER_DEBUG); return; } @@ -122,7 +122,7 @@ class Worker } // Check free memory - if ($a->min_memory_reached()) { + if ($a->isMinMemoryReached()) { logger('Memory limit reached, quitting.', LOGGER_DEBUG); Lock::release('worker'); return; diff --git a/src/Database/DBA.php b/src/Database/DBA.php index ab856ef9d0..c33fa2152f 100644 --- a/src/Database/DBA.php +++ b/src/Database/DBA.php @@ -570,7 +570,7 @@ class DBA self::$errorno = $errorno; } - $a->save_timestamp($stamp1, 'database'); + $a->saveTimestamp($stamp1, 'database'); if ($a->getConfigValue('system', 'db_log')) { $stamp2 = microtime(true); @@ -641,7 +641,7 @@ class DBA self::$errorno = $errorno; } - $a->save_timestamp($stamp, "database_write"); + $a->saveTimestamp($stamp, "database_write"); return $retval; } @@ -809,7 +809,7 @@ class DBA } } - $a->save_timestamp($stamp1, 'database'); + $a->saveTimestamp($stamp1, 'database'); return $columns; } @@ -1547,7 +1547,7 @@ class DBA break; } - $a->save_timestamp($stamp1, 'database'); + $a->saveTimestamp($stamp1, 'database'); return $ret; } diff --git a/src/Database/DBStructure.php b/src/Database/DBStructure.php index d6cd66aafa..0472d753dd 100644 --- a/src/Database/DBStructure.php +++ b/src/Database/DBStructure.php @@ -842,7 +842,7 @@ class DBStructure public static function definition() { $a = \Friendica\BaseObject::getApp(); - $filename = $a->get_basepath() . '/config/dbstructure.json'; + $filename = $a->getBasePath() . '/config/dbstructure.json'; if (!is_readable($filename)) { throw new Exception('Missing database structure config file config/dbstructure.json'); diff --git a/src/Model/Contact.php b/src/Model/Contact.php index fa6966a0ef..ab427efab9 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -1632,10 +1632,10 @@ class Contact extends BaseObject if (($ret['network'] === Protocol::DFRN) && !DBA::isResult($contact)) { if ($interactive) { - if (strlen($a->urlpath)) { + if (strlen($a->getURLpath())) { $myaddr = bin2hex(System::baseUrl() . '/profile/' . $a->user['nickname']); } else { - $myaddr = bin2hex($a->user['nickname'] . '@' . $a->get_hostname()); + $myaddr = bin2hex($a->user['nickname'] . '@' . $a->getHostName()); } goaway($ret['request'] . "&addr=$myaddr"); diff --git a/src/Model/Item.php b/src/Model/Item.php index f2d4a89815..c0c67352e4 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -1166,7 +1166,7 @@ class Item extends BaseObject if ($notify) { // 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. - $prefix_host = get_app()->get_hostname(); + $prefix_host = get_app()->getHostName(); } else { $prefix_host = ''; @@ -2361,7 +2361,7 @@ class Item extends BaseObject $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 - if ($datarray["app"] == $a->get_hostname()) { + if ($datarray["app"] == $a->getHostName()) { logger('Already forwarded (second test)', LOGGER_DEBUG); return false; } diff --git a/src/Model/Photo.php b/src/Model/Photo.php index 555df80e63..e64158e175 100644 --- a/src/Model/Photo.php +++ b/src/Model/Photo.php @@ -146,7 +146,7 @@ class Photo // Remove the cached photo $a = get_app(); - $basepath = $a->get_basepath(); + $basepath = $a->getBasePath(); if (is_dir($basepath . "/photo")) { $filename = $basepath . '/photo/' . $hash . '-4.' . $Image->getExt(); diff --git a/src/Model/Profile.php b/src/Model/Profile.php index cb2754cc80..a1274c1ae4 100644 --- a/src/Model/Profile.php +++ b/src/Model/Profile.php @@ -162,7 +162,7 @@ class Profile * 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'; if (file_exists($theme_info_file)) { @@ -1116,7 +1116,7 @@ class Profile $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); } diff --git a/src/Model/User.php b/src/Model/User.php index 7432b75774..b8b694de87 100644 --- a/src/Model/User.php +++ b/src/Model/User.php @@ -414,7 +414,7 @@ class User $_SESSION['register'] = 1; $_SESSION['openid'] = $openid_url; - $openid = new LightOpenID($a->get_hostname()); + $openid = new LightOpenID($a->getHostName()); $openid->identity = $openid_url; $openid->returnUrl = System::baseUrl() . '/openid'; $openid->required = ['namePerson/friendly', 'contact/email', 'namePerson']; diff --git a/src/Module/Login.php b/src/Module/Login.php index 25ddd13502..15505a38be 100644 --- a/src/Module/Login.php +++ b/src/Module/Login.php @@ -39,7 +39,7 @@ class Login extends BaseModule } 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); @@ -86,18 +86,18 @@ class Login extends BaseModule // if it's an email address or doesn't resolve to a URL, fail. if ($noid || strpos($openid_url, '@') || !Network::isUrlValid($openid_url)) { notice(L10n::t('Login failed.') . EOL); - goaway(self::getApp()->get_baseurl()); + goaway(self::getApp()->getBaseURL()); // NOTREACHED } // Otherwise it's probably an openid. try { $a = get_app(); - $openid = new LightOpenID($a->get_hostname()); + $openid = new LightOpenID($a->getHostName()); $openid->identity = $openid_url; $_SESSION['openid'] = $openid_url; $_SESSION['remember'] = $remember; - $openid->returnUrl = self::getApp()->get_baseurl(true) . '/openid'; + $openid->returnUrl = self::getApp()->getBaseURL(true) . '/openid'; goaway($openid->authUrl()); } 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.') . '

' . L10n::t('The error message was:') . ' ' . $e->getMessage()); @@ -191,7 +191,7 @@ class Login extends BaseModule if ($data->hash != cookie_hash($user)) { logger("Hash for user " . $data->uid . " doesn't fit."); nuke_session(); - goaway(self::getApp()->get_baseurl()); + goaway(self::getApp()->getBaseURL()); } // Renew the cookie @@ -228,7 +228,7 @@ class Login extends BaseModule logger('Session address changed. Paranoid setting in effect, blocking session. ' . $_SESSION['addr'] . ' != ' . $_SERVER['REMOTE_ADDR']); nuke_session(); - goaway(self::getApp()->get_baseurl()); + goaway(self::getApp()->getBaseURL()); } $user = DBA::selectFirst('user', [], @@ -242,7 +242,7 @@ class Login extends BaseModule ); if (!DBA::isResult($user)) { 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 @@ -297,7 +297,7 @@ class Login extends BaseModule $a->page['htmlhead'] .= replace_macros( 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( $tpl, [ - '$dest_url' => self::getApp()->get_baseurl(true) . '/login', + '$dest_url' => self::getApp()->getBaseURL(true) . '/login', '$logout' => L10n::t('Logout'), '$login' => L10n::t('Login'), diff --git a/src/Module/Logout.php b/src/Module/Logout.php index bfa917a393..cbfd245f30 100644 --- a/src/Module/Logout.php +++ b/src/Module/Logout.php @@ -26,6 +26,6 @@ class Logout extends BaseModule Addon::callHooks("logging_out"); nuke_session(); info(L10n::t('Logged out.') . EOL); - goaway(self::getApp()->get_baseurl()); + goaway(self::getApp()->getBaseURL()); } } diff --git a/src/Module/Magic.php b/src/Module/Magic.php index 0b4126e0e9..5bf176b251 100644 --- a/src/Module/Magic.php +++ b/src/Module/Magic.php @@ -47,7 +47,7 @@ class Magic extends BaseModule $contact = DBA::selectFirst('contact', ['id', 'nurl', 'url'], ['id' => $cid]); // 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) { $ret['success'] = true; $ret['message'] .= 'Local site - you are already authenticated.' . EOL; @@ -78,7 +78,7 @@ class Magic extends BaseModule $headers = HTTPSignature::createSig( $headers, $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. diff --git a/src/Module/Proxy.php b/src/Module/Proxy.php index 0de45b3325..14e842562f 100644 --- a/src/Module/Proxy.php +++ b/src/Module/Proxy.php @@ -71,7 +71,7 @@ class Proxy extends BaseModule $thumb = false; $size = 1024; $sizetype = ''; - $basepath = $a->get_basepath(); + $basepath = $a->getBasePath(); // If the cache path isn't there, try to create it if (!is_dir($basepath . '/proxy') && is_writable($basepath)) { @@ -196,7 +196,7 @@ class Proxy extends BaseModule unlink($tempfile); // 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'); $mime = 'image/png'; $cachefile = ''; // Clear the cachefile so that the dummy isn't stored diff --git a/src/Network/Curl.php b/src/Network/Curl.php new file mode 100644 index 0000000000..bc04f6b4e4 --- /dev/null +++ b/src/Network/Curl.php @@ -0,0 +1,92 @@ +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; + } +} diff --git a/src/Network/Probe.php b/src/Network/Probe.php index 2c84ddb85a..5a03a71f7b 100644 --- a/src/Network/Probe.php +++ b/src/Network/Probe.php @@ -74,7 +74,7 @@ class Probe */ private static function ownHost($host) { - $own_host = get_app()->get_hostname(); + $own_host = get_app()->getHostName(); $parts = parse_url($host); diff --git a/src/Object/Image.php b/src/Object/Image.php index 620929df51..166e150bf5 100644 --- a/src/Object/Image.php +++ b/src/Object/Image.php @@ -655,7 +655,7 @@ class Image $stamp1 = microtime(true); file_put_contents($path, $string); - $a->save_timestamp($stamp1, "file"); + $a->saveTimestamp($stamp1, "file"); } /** @@ -730,7 +730,7 @@ class Image if ($fromcurl) { $a = get_app(); $headers=[]; - $h = explode("\n", $a->get_curl_headers()); + $h = explode("\n", Network::getCurl()->getHeaders()); foreach ($h as $l) { $data = array_map("trim", explode(":", trim($l), 2)); if (count($data) > 1) { @@ -799,7 +799,7 @@ class Image $a = get_app(); $stamp1 = microtime(true); file_put_contents($tempfile, $img_str); - $a->save_timestamp($stamp1, "file"); + $a->saveTimestamp($stamp1, "file"); $data = getimagesize($tempfile); unlink($tempfile); @@ -907,7 +907,7 @@ class Image $stamp1 = microtime(true); $imagedata = @file_get_contents($url); - $a->save_timestamp($stamp1, "file"); + $a->saveTimestamp($stamp1, "file"); } $maximagesize = Config::get('system', 'maximagesize'); @@ -921,7 +921,7 @@ class Image $stamp1 = microtime(true); file_put_contents($tempfile, $imagedata); - $a->save_timestamp($stamp1, "file"); + $a->saveTimestamp($stamp1, "file"); $data = getimagesize($tempfile); diff --git a/src/Object/Post.php b/src/Object/Post.php index 35805e1fdd..48ffe65b74 100644 --- a/src/Object/Post.php +++ b/src/Object/Post.php @@ -368,7 +368,7 @@ class Post extends BaseObject 'profile_url' => $profile_link, 'item_photo_menu' => item_photo_menu($item), '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, 'sparkle' => $sparkle, 'title' => $title_e, @@ -381,7 +381,7 @@ class Post extends BaseObject 'indent' => $indent, 'shiny' => $shiny, '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), 'plink' => get_plink($item), 'edpost' => Feature::isEnabled($conv->getProfileOwner(), 'edit_posts') ? $edpost : '', @@ -788,9 +788,9 @@ class Post extends BaseObject '$parent' => $this->getId(), '$qcomment' => $qcomment, '$profile_uid' => $uid, - '$mylink' => $a->remove_baseurl($a->contact['url']), + '$mylink' => $a->removeBaseURL($a->contact['url']), '$mytitle' => L10n::t('This is you'), - '$myphoto' => $a->remove_baseurl($a->contact['thumb']), + '$myphoto' => $a->removeBaseURL($a->contact['thumb']), '$comment' => L10n::t('Comment'), '$submit' => L10n::t('Submit'), '$edbold' => L10n::t('Bold'), diff --git a/src/Protocol/DFRN.php b/src/Protocol/DFRN.php index 4d61f9aee0..ff468fb2c1 100644 --- a/src/Protocol/DFRN.php +++ b/src/Protocol/DFRN.php @@ -1220,7 +1220,7 @@ class DFRN $xml = $ret['body']; - $curl_stat = $a->get_curl_code(); + $curl_stat = Network::getCurl()->getCode(); if (empty($curl_stat)) { Contact::markForArchival($contact); return -3; // timed out @@ -1372,13 +1372,13 @@ class DFRN logger('dfrn_deliver: ' . "RECEIVED: " . $xml, LOGGER_DATA); - $curl_stat = $a->get_curl_code(); + $curl_stat = Network::getCurl()->getCode(); if (empty($curl_stat) || empty($xml)) { Contact::markForArchival($contact); 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); return -10; } @@ -1469,14 +1469,14 @@ class DFRN $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)) { logger('Empty answer from ' . $contact['id'] . ' - ' . $dest_url); Contact::markForArchival($contact); 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); 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) 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'] = html2bb_video($item['body']); diff --git a/src/Protocol/Diaspora.php b/src/Protocol/Diaspora.php index b5ecfcefcc..ebdc84ce7f 100644 --- a/src/Protocol/Diaspora.php +++ b/src/Protocol/Diaspora.php @@ -3080,7 +3080,7 @@ class Diaspora $content_type = (($public_batch) ? "application/magic-envelope+xml" : "application/json"); Network::post($dest_url."/", $envelope, ["Content-Type: ".$content_type]); - $return_code = $a->get_curl_code(); + $return_code = Network::getCurl()->getCode(); } else { logger("test_mode"); return 200; @@ -3089,7 +3089,7 @@ class Diaspora 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)) { logger("queue message"); // queue message for redelivery diff --git a/src/Protocol/Feed.php b/src/Protocol/Feed.php index 0709a9550e..39b272a422 100644 --- a/src/Protocol/Feed.php +++ b/src/Protocol/Feed.php @@ -430,7 +430,7 @@ class Feed { // Distributed items should have a well formatted URI. // Additionally we have to avoid conflicts with identical URI between imported feeds and these items. if ($notify) { - $item['guid'] = Item::guidFromUri($orig_plink, $a->get_hostname()); + $item['guid'] = Item::guidFromUri($orig_plink, $a->getHostName()); unset($item['uri']); unset($item['parent-uri']); diff --git a/src/Protocol/OStatus.php b/src/Protocol/OStatus.php index d56bacc675..b9090d0e44 100644 --- a/src/Protocol/OStatus.php +++ b/src/Protocol/OStatus.php @@ -1830,7 +1830,7 @@ class OStatus } $item["uri"] = $item['parent-uri'] = $item['thr-parent'] - = 'tag:'.get_app()->get_hostname(). + = 'tag:'.get_app()->getHostName(). ','.date('Y-m-d').':'.$action.':'.$owner['uid']. ':person:'.$connect_id.':'.$item['created']; diff --git a/src/Protocol/PortableContact.php b/src/Protocol/PortableContact.php index 280dbe72c2..a5932e158b 100644 --- a/src/Protocol/PortableContact.php +++ b/src/Protocol/PortableContact.php @@ -90,9 +90,9 @@ class PortableContact 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; } diff --git a/src/Protocol/Salmon.php b/src/Protocol/Salmon.php index f30488ce14..b71be6e2fa 100644 --- a/src/Protocol/Salmon.php +++ b/src/Protocol/Salmon.php @@ -139,7 +139,7 @@ class Salmon ]); $a = get_app(); - $return_code = $a->get_curl_code(); + $return_code = Network::getCurl()->getCode(); // check for success, e.g. 2xx @@ -163,7 +163,7 @@ class Salmon 'Content-type: application/magic-envelope+xml', 'Content-length: ' . strlen($salmon) ]); - $return_code = $a->get_curl_code(); + $return_code = Network::getCurl()->getCode(); } if ($return_code > 299) { @@ -185,7 +185,7 @@ class Salmon Network::post($url, $salmon, [ 'Content-type: application/magic-envelope+xml', 'Content-length: ' . strlen($salmon)]); - $return_code = $a->get_curl_code(); + $return_code = Network::getCurl()->getCode(); } logger('slapper for '.$url.' returned ' . $return_code); @@ -194,7 +194,7 @@ class Salmon 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; } diff --git a/src/Render/FriendicaSmarty.php b/src/Render/FriendicaSmarty.php index f4c6a8ed27..559d501ca9 100644 --- a/src/Render/FriendicaSmarty.php +++ b/src/Render/FriendicaSmarty.php @@ -38,8 +38,8 @@ class FriendicaSmarty extends Smarty $this->setConfigDir('view/smarty3/config/'); $this->setCacheDir('view/smarty3/cache/'); - $this->left_delimiter = $a->get_template_ldelim('smarty3'); - $this->right_delimiter = $a->get_template_rdelim('smarty3'); + $this->left_delimiter = $a->getTemplateLdelim('smarty3'); + $this->right_delimiter = $a->getTemplateRdelim('smarty3'); // Don't report errors so verbosely $this->error_reporting = E_ALL & ~E_NOTICE; diff --git a/src/Util/ExAuth.php b/src/Util/ExAuth.php index 92f3f56f85..de5d52d895 100644 --- a/src/Util/ExAuth.php +++ b/src/Util/ExAuth.php @@ -141,7 +141,7 @@ class ExAuth $sUser = str_replace(['%20', '(a)'], [' ', '@'], $aCommand[1]); // 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]); $found = DBA::exists('user', ['nickname' => $sUser]); } else { @@ -221,7 +221,7 @@ class ExAuth $sUser = str_replace(['%20', '(a)'], [' ', '@'], $aCommand[1]); // 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]); $aUser = DBA::selectFirst('user', ['uid', 'password', 'legacy_password'], ['nickname' => $sUser]); diff --git a/src/Util/HTTPSignature.php b/src/Util/HTTPSignature.php index 234d896078..494d6e0e65 100644 --- a/src/Util/HTTPSignature.php +++ b/src/Util/HTTPSignature.php @@ -303,7 +303,7 @@ class HTTPSignature $headers[] = 'Content-Type: application/activity+json'; Network::post($target, $content, $headers); - $return_code = BaseObject::getApp()->get_curl_code(); + $return_code = BaseObject::getApp()->getCurlCode(); logger('Transmit to ' . $target . ' returned ' . $return_code); } diff --git a/src/Util/Network.php b/src/Util/Network.php index 0de9661859..ec8b8c9b09 100644 --- a/src/Util/Network.php +++ b/src/Util/Network.php @@ -9,6 +9,8 @@ use Friendica\Core\Addon; use Friendica\Core\L10n; use Friendica\Core\System; use Friendica\Core\Config; +use Friendica\Network\Curl; +use Friendica\Network\HTTPException\InternalServerErrorException; use Friendica\Network\Probe; use Friendica\Object\Image; use Friendica\Util\XML; @@ -17,6 +19,25 @@ use DomXPath; 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 * @@ -35,7 +56,7 @@ class Network * * @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); @@ -59,7 +80,7 @@ class Network * * @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( $url, @@ -145,7 +166,7 @@ class Network } @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)); @@ -203,8 +224,6 @@ class Network @curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); } - $a->set_curl_code(0); - // don't let curl abort the entire application // if it throws any errors. @@ -242,9 +261,7 @@ class Network $base = substr($base, strlen($chunk)); } - $a->set_curl_code($http_code); - $a->set_curl_content_type($curl_info['content_type']); - $a->set_curl_headers($header); + self::$curl = new Curl($http_code, (isset($curl_info['content_type']) ? $curl_info['content_type'] : ''), $header); if ($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307) { $new_location_info = @parse_url($curl_info['redirect_url']); @@ -277,8 +294,10 @@ class Network } } - $a->set_curl_code($http_code); - $a->set_curl_content_type($curl_info['content_type']); + self::$curl->setCode($http_code); + if (isset($curl_info['content_type'])) { + self::$curl->setContentType($curl_info['content_type']); + } $rc = intval($http_code); $ret['return_code'] = $rc; @@ -301,7 +320,7 @@ class Network @curl_close($ch); - $a->save_timestamp($stamp1, 'network'); + $a->saveTimestamp($stamp1, 'network'); return($ret); } @@ -339,7 +358,7 @@ class Network curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, 1); 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)) { 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 // 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)); - $a->set_curl_headers($header); + self::getCurl()->setHeaders($header); curl_close($ch); - $a->save_timestamp($stamp1, 'network'); + $a->saveTimestamp($stamp1, 'network'); logger('post_url: end ' . $url, LOGGER_DATA); @@ -729,14 +748,14 @@ class Network curl_setopt($ch, CURLOPT_NOBODY, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 10); 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_info = @curl_getinfo($ch); $http_code = $curl_info['http_code']; curl_close($ch); - $a->save_timestamp($stamp1, "network"); + $a->saveTimestamp($stamp1, "network"); if ($http_code == 0) { return $url; @@ -773,12 +792,12 @@ class Network curl_setopt($ch, CURLOPT_NOBODY, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 10); 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); curl_close($ch); - $a->save_timestamp($stamp1, "network"); + $a->saveTimestamp($stamp1, "network"); if (trim($body) == "") { return $url; diff --git a/src/Util/Proxy.php b/src/Util/Proxy.php index 3473e8d167..0bb7537f78 100644 --- a/src/Util/Proxy.php +++ b/src/Util/Proxy.php @@ -91,7 +91,7 @@ class Proxy $url = html_entity_decode($url, ENT_NOQUOTES, 'utf-8'); // 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); $longpath = substr($shortpath, 0, 2); diff --git a/src/Worker/Cron.php b/src/Worker/Cron.php index 61077ae734..b6dd896cd7 100644 --- a/src/Worker/Cron.php +++ b/src/Worker/Cron.php @@ -115,7 +115,7 @@ class Cron // Ensure to have a .htaccess file. // this is a precaution for systems that update automatically - $basepath = $a->get_basepath(); + $basepath = $a->getBasePath(); if (!file_exists($basepath . '/.htaccess')) { copy($basepath . '/.htaccess-dist', $basepath . '/.htaccess'); } diff --git a/src/Worker/CronJobs.php b/src/Worker/CronJobs.php index 098bce4d96..bd34449729 100644 --- a/src/Worker/CronJobs.php +++ b/src/Worker/CronJobs.php @@ -157,14 +157,14 @@ class CronJobs clear_cache(); // clear cache for photos - clear_cache($a->get_basepath(), $a->get_basepath() . "/photo"); + clear_cache($a->getBasePath(), $a->getBasePath() . "/photo"); // 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 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'); diff --git a/src/Worker/Delivery.php b/src/Worker/Delivery.php index 3585b39989..f2951cce1f 100644 --- a/src/Worker/Delivery.php +++ b/src/Worker/Delivery.php @@ -112,7 +112,7 @@ class Delivery extends BaseObject // if $parent['wall'] == 1 we will already have the parent message in our array // and we will relay the whole lot. - $localhost = self::getApp()->get_hostname(); + $localhost = self::getApp()->getHostName(); if (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"; } } else { - $headers = 'From: '. Email::encodeHeader($local_user['username'], 'UTF-8') . ' get_hostname() . '>' . "\n"; + $headers = 'From: '. Email::encodeHeader($local_user['username'], 'UTF-8') . ' getHostName() . '>' . "\n"; } $headers .= 'Message-Id: <' . Email::iri2msgid($target_item['uri']) . '>' . "\n"; diff --git a/src/Worker/Notifier.php b/src/Worker/Notifier.php index 6bfd2bc3b3..ad33c3245d 100644 --- a/src/Worker/Notifier.php +++ b/src/Worker/Notifier.php @@ -194,7 +194,7 @@ class Notifier // if $parent['wall'] == 1 we will already have the parent message in our array // and we will relay the whole lot. - $localhost = str_replace('www.','',$a->get_hostname()); + $localhost = str_replace('www.','',$a->getHostName()); if (strpos($localhost,':')) { $localhost = substr($localhost,0,strpos($localhost,':')); } diff --git a/src/Worker/OnePoll.php b/src/Worker/OnePoll.php index 01b63e98e0..21e3b44b3e 100644 --- a/src/Worker/OnePoll.php +++ b/src/Worker/OnePoll.php @@ -196,7 +196,7 @@ class OnePoll $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); @@ -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; diff --git a/src/Worker/PubSubPublish.php b/src/Worker/PubSubPublish.php index 1e18b4ccfa..07023e8247 100644 --- a/src/Worker/PubSubPublish.php +++ b/src/Worker/PubSubPublish.php @@ -57,7 +57,7 @@ class PubSubPublish logger('POST ' . print_r($headers, true) . "\n" . $params, LOGGER_DATA); Network::post($subscriber['callback_url'], $params, $headers); - $ret = $a->get_curl_code(); + $ret = Network::getCurl()->getCode(); $condition = ['id' => $subscriber['id']]; diff --git a/tests/ApiTest.php b/tests/ApiTest.php index cbc6f7e0b4..11c61f9fbb 100644 --- a/tests/ApiTest.php +++ b/tests/ApiTest.php @@ -75,9 +75,8 @@ class ApiTest extends DatabaseTest { parent::tearDown(); - $app = get_app(); - $app->argc = 1; - $app->argv = ['home']; + $this->app->argc = 1; + $this->app->argv = ['home']; } /** diff --git a/tests/DatabaseTest.php b/tests/DatabaseTest.php index 52ca3f68d3..70caba7122 100644 --- a/tests/DatabaseTest.php +++ b/tests/DatabaseTest.php @@ -5,6 +5,7 @@ namespace Friendica\Test; +use Friendica\App; use Friendica\BaseObject; use Friendica\Core\Config; use Friendica\Database\DBA; @@ -18,7 +19,12 @@ use PHPUnit_Extensions_Database_DB_IDatabaseConnection; */ abstract class DatabaseTest extends TestCase { - public function setUp() + /** + * @var App The Friendica App + */ + protected $app; + + protected function setUp() { // Reusable App object $this->app = BaseObject::getApp(); diff --git a/tests/src/Core/Cache/MemoryCacheTest.php b/tests/src/Core/Cache/MemoryCacheTest.php index 0f3f6192b2..b6889a6513 100644 --- a/tests/src/Core/Cache/MemoryCacheTest.php +++ b/tests/src/Core/Cache/MemoryCacheTest.php @@ -11,7 +11,7 @@ abstract class MemoryCacheTest extends CacheTest */ protected $instance; - function setUp() + protected function setUp() { parent::setUp(); if (!($this->instance instanceof IMemoryCacheDriver)) { diff --git a/view/theme/duepuntozero/theme.php b/view/theme/duepuntozero/theme.php index 02882ca943..588a6fa463 100644 --- a/view/theme/duepuntozero/theme.php +++ b/view/theme/duepuntozero/theme.php @@ -6,7 +6,7 @@ use Friendica\Core\PConfig; function duepuntozero_init(App $a) { -$a->set_template_engine('smarty3'); +$a->setActiveTemplateEngine('smarty3'); $colorset = PConfig::get( local_user(), 'duepuntozero','colorset'); if (!$colorset) diff --git a/view/theme/frio/php/default.php b/view/theme/frio/php/default.php index d9ecb7cf0d..bf4aa2df46 100644 --- a/view/theme/frio/php/default.php +++ b/view/theme/frio/php/default.php @@ -26,7 +26,7 @@ if (!isset($minimal)) { urlpath ? "/" . $a->urlpath . "/" : "/"; + $basepath = $a->getURLpath() ? "/" . $a->getURLpath() . "/" : "/"; $frio = "view/theme/frio"; // Because we use minimal for modals the header and the included js stuff should be only loaded diff --git a/view/theme/frio/theme.php b/view/theme/frio/theme.php index 72e5ab0b61..18fb98cc9d 100644 --- a/view/theme/frio/theme.php +++ b/view/theme/frio/theme.php @@ -28,7 +28,7 @@ function frio_init(App $a) $a->theme_events_in_profile = false; $a->videowidth = 622; - $a->set_template_engine('smarty3'); + $a->setActiveTemplateEngine('smarty3'); $baseurl = System::baseUrl(); @@ -241,7 +241,7 @@ function frio_remote_nav($a, &$nav) // user info $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']; } elseif (!local_user() && remote_user()) { $r = q("SELECT `name`, `nick`, `micro` AS `photo` FROM `contact` WHERE `id` = %d", intval(remote_user())); diff --git a/view/theme/smoothly/theme.php b/view/theme/smoothly/theme.php index 555b65eed3..e961146f6a 100644 --- a/view/theme/smoothly/theme.php +++ b/view/theme/smoothly/theme.php @@ -14,7 +14,7 @@ use Friendica\App; use Friendica\Core\System; function smoothly_init(App $a) { - $a->set_template_engine('smarty3'); + $a->setActiveTemplateEngine('smarty3'); $cssFile = null; $ssl_state = null; diff --git a/view/theme/vier/theme.php b/view/theme/vier/theme.php index 2533e50a89..887ef1c129 100644 --- a/view/theme/vier/theme.php +++ b/view/theme/vier/theme.php @@ -25,7 +25,7 @@ function vier_init(App $a) { $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()) { vier_community_info(); @@ -184,7 +184,7 @@ function vier_community_info() $entry = replace_macros($tpl, [ '$id' => $rr['id'], '$profile_link' => $profile_link, - '$photo' => $a->remove_baseurl($rr['thumb']), + '$photo' => $a->removeBaseURL($rr['thumb']), '$alt_text' => $rr['name']]); $aside['$lastusers_items'][] = $entry; } -- 2.39.5