From: Hypolite Petovan Date: Sun, 16 Feb 2020 09:32:56 +0000 (-0500) Subject: Add System::htmlUpdateExit() method to refactor update modules X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=5d169a4098633b8e1a5212472700243d790f5bc4;p=friendica.git Add System::htmlUpdateExit() method to refactor update modules --- diff --git a/mod/update_community.php b/mod/update_community.php index 8a12142ebd..4ad07d606c 100644 --- a/mod/update_community.php +++ b/mod/update_community.php @@ -21,35 +21,18 @@ */ use Friendica\App; +use Friendica\Core\System; use Friendica\DI; require_once 'mod/community.php'; -function update_community_content(App $a) { - header("Content-type: text/html"); - echo "\r\n"; - echo "
"; - +function update_community_content(App $a) +{ if ($_GET["force"] == 1) { $text = community_content($a, true); } else { $text = ''; } - if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) { - $replace = "
" . DI::l10n()->t("[Embedded content - reload page to view]") . "
"; - $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i"; - $text = preg_replace($pattern, $replace, $text); - } - - echo str_replace("\t", " ", $text); - echo "
"; - echo "\r\n"; - exit(); + System::htmlUpdateExit($text); } diff --git a/mod/update_contact.php b/mod/update_contact.php index 768ff0c74f..5fb62e6a07 100644 --- a/mod/update_contact.php +++ b/mod/update_contact.php @@ -22,35 +22,17 @@ */ use Friendica\App; +use Friendica\Core\System; use Friendica\DI; use Friendica\Module\Contact; function update_contact_content(App $a) { - header("Content-type: text/html"); - echo "\r\n"; - echo "
"; - if ($_GET["force"] == 1) { $text = Contact::content([], true); } else { $text = ''; } - if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) { - $replace = "
" . DI::l10n()->t("[Embedded content - reload page to view]") . "
"; - $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i"; - $text = preg_replace($pattern, $replace, $text); - } - - echo str_replace("\t", " ", $text); - echo "
"; - echo "\r\n"; - exit(); + System::htmlUpdateExit($text); } diff --git a/mod/update_display.php b/mod/update_display.php index 73fd915e49..601808ff5e 100644 --- a/mod/update_display.php +++ b/mod/update_display.php @@ -21,6 +21,7 @@ */ use Friendica\App; +use Friendica\Core\System; use Friendica\DI; require_once "mod/display.php"; @@ -29,26 +30,7 @@ function update_display_content(App $a) { $profile_uid = intval($_GET["p"]); - header("Content-type: text/html"); - echo "\r\n"; - echo "
"; - $text = display_content($a, true, $profile_uid); - if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) { - $replace = "
" . DI::l10n()->t("[Embedded content - reload page to view]") . "
"; - $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i"; - $text = preg_replace($pattern, $replace, $text); - } - - echo str_replace("\t", " ", $text); - echo "
"; - echo "\r\n"; - exit(); + System::htmlUpdateExit($text); } diff --git a/mod/update_network.php b/mod/update_network.php index d6b77aedbb..aafc0e22f4 100644 --- a/mod/update_network.php +++ b/mod/update_network.php @@ -21,6 +21,7 @@ */ use Friendica\App; +use Friendica\Core\System; use Friendica\DI; require_once "mod/network.php"; @@ -34,30 +35,10 @@ function update_network_content(App $a) $profile_uid = intval($_GET['p']); $parent = intval($_GET['item']); - header("Content-type: text/html"); - echo "\r\n"; - echo "
"; - if (!DI::pConfig()->get($profile_uid, "system", "no_auto_update") || ($_GET["force"] == 1)) { $text = network_content($a, $profile_uid, $parent); } else { $text = ""; } - - if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) { - $replace = "
" . DI::l10n()->t("[Embedded content - reload page to view]") . "
"; - $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i"; - $text = preg_replace($pattern, $replace, $text); - } - - echo str_replace("\t", " ", $text); - echo "
"; - echo "\r\n"; - exit(); + System::htmlUpdateExit($text); } diff --git a/mod/update_notes.php b/mod/update_notes.php index 87822f513e..75958a41bc 100644 --- a/mod/update_notes.php +++ b/mod/update_notes.php @@ -21,6 +21,7 @@ */ use Friendica\App; +use Friendica\Core\System; use Friendica\DI; require_once("mod/notes.php"); @@ -29,11 +30,6 @@ function update_notes_content(App $a) { $profile_uid = intval($_GET["p"]); - header("Content-type: text/html"); - echo "\r\n"; - - echo "
"; - /** * * Grab the page inner contents by calling the content function from the profile module directly, @@ -46,21 +42,5 @@ function update_notes_content(App $a) { $text = notes_content($a, $profile_uid); - if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) { - $replace = "
" . DI::l10n()->t("[Embedded content - reload page to view]") . "
"; - $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i"; - $text = preg_replace($pattern, $replace, $text); - } - - // reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well - echo str_replace("\t", " ", $text); - echo "
"; - echo "\r\n"; - exit(); + System::htmlUpdateExit($text); } \ No newline at end of file diff --git a/src/Core/System.php b/src/Core/System.php index f092427e58..87abfdf8ed 100644 --- a/src/Core/System.php +++ b/src/Core/System.php @@ -292,6 +292,36 @@ class System return true; } + /** + * Exit method used by asynchronous update modules + * + * @param string $o + */ + public static function htmlUpdateExit($o) + { + if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) { + $replace = "
".DI::l10n()->t("[Embedded content - reload page to view]")."
"; + $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; + $o = preg_replace($pattern, $replace, $o); + $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; + $o = preg_replace($pattern, $replace, $o); + $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i"; + $o = preg_replace($pattern, $replace, $o); + $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i"; + $o = preg_replace($pattern, $replace, $o); + } + + header("Content-type: text/html"); + echo "\r\n"; + // We can remove this hack once Internet Explorer recognises HTML5 natively + echo "
"; + // reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well + echo str_replace("\t", " ", $o); + echo "
"; + echo "\r\n"; + exit(); + } + /// @todo Move the following functions from boot.php /* function local_user() diff --git a/src/Module/Update/Profile.php b/src/Module/Update/Profile.php index 79e53168b3..662042eb11 100644 --- a/src/Module/Update/Profile.php +++ b/src/Module/Update/Profile.php @@ -24,6 +24,7 @@ namespace Friendica\Module\Update; use Friendica\BaseModule; use Friendica\Content\Pager; use Friendica\Core\Session; +use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Item; @@ -116,27 +117,6 @@ class Profile extends BaseModule $o .= conversation($a, $items, 'profile', $profile_uid, false, 'received', $a->profile['uid']); - header("Content-type: text/html"); - echo "\r\n"; - // We can remove this hack once Internet Explorer recognises HTML5 natively - echo "
"; - echo $o; - if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) { - $replace = "
".DI::l10n()->t("[Embedded content - reload page to view]")."
"; - $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; - $o = preg_replace($pattern, $replace, $o); - $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; - $o = preg_replace($pattern, $replace, $o); - $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i"; - $o = preg_replace($pattern, $replace, $o); - $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i"; - $o = preg_replace($pattern, $replace, $o); - } - - // reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well - echo str_replace("\t", " ", $o); - echo "
"; - echo "\r\n"; - exit(); + System::htmlUpdateExit($o); } }