]> git.mxchange.org Git - friendica.git/commitdiff
Add System::htmlUpdateExit() method to refactor update modules
authorHypolite Petovan <hypolite@mrpetovan.com>
Sun, 16 Feb 2020 09:32:56 +0000 (04:32 -0500)
committerHypolite Petovan <hypolite@mrpetovan.com>
Sun, 16 Feb 2020 09:32:56 +0000 (04:32 -0500)
mod/update_community.php
mod/update_contact.php
mod/update_display.php
mod/update_network.php
mod/update_notes.php
src/Core/System.php
src/Module/Update/Profile.php

index 8a12142ebd86be1cf6e3d145f248a199470a4597..4ad07d606c1130c6d4e2024a089b73c2772ab4d9 100644 (file)
  */
 
 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 "<!DOCTYPE html><html><body>\r\n";
-       echo "<section>";
-
+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 = "<br />" . DI::l10n()->t("[Embedded content - reload page to view]") . "<br />";
-               $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 "</section>";
-       echo "</body></html>\r\n";
-       exit();
+       System::htmlUpdateExit($text);
 }
index 768ff0c74f41585ad70664847d7a6637c499cc23..5fb62e6a077de2ce919273c423f75a3c004698c1 100644 (file)
  */
 
 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 "<!DOCTYPE html><html><body>\r\n";
-       echo "<section>";
-
        if ($_GET["force"] == 1) {
                $text = Contact::content([], true);
        } else {
                $text = '';
        }
 
-       if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) {
-               $replace = "<br />" . DI::l10n()->t("[Embedded content - reload page to view]") . "<br />";
-               $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 "</section>";
-       echo "</body></html>\r\n";
-       exit();
+       System::htmlUpdateExit($text);
 }
index 73fd915e4934b3f70b632934c4951beae995cc04..601808ff5e494109651cb1ffe7a803d9601a57dc 100644 (file)
@@ -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 "<!DOCTYPE html><html><body>\r\n";
-       echo "<section>";
-
        $text = display_content($a, true, $profile_uid);
 
-       if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) {
-               $replace = "<br />" . DI::l10n()->t("[Embedded content - reload page to view]") . "<br />";
-               $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 "</section>";
-       echo "</body></html>\r\n";
-       exit();
+       System::htmlUpdateExit($text);
 }
index d6b77aedbb52962a22c9b27801180122b4cce39a..aafc0e22f41497fed7cc8ea06f1ef0b26b9516c3 100644 (file)
@@ -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 "<!DOCTYPE html><html><body>\r\n";
-       echo "<section>";
-
        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 = "<br />" . DI::l10n()->t("[Embedded content - reload page to view]") . "<br />";
-               $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 "</section>";
-       echo "</body></html>\r\n";
-       exit();
+       System::htmlUpdateExit($text);
 }
index 87822f513ed51587f1979668b348e8565162c862..75958a41bc87a7208bfdc78708148792e963324d 100644 (file)
@@ -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 "<!DOCTYPE html><html><body>\r\n";
-
-       echo "<section>";
-
        /**
         *
         * 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 = "<br />" . DI::l10n()->t("[Embedded content - reload page to view]") . "<br />";
-               $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 "</section>";
-       echo "</body></html>\r\n";
-       exit();
+       System::htmlUpdateExit($text);
 }
\ No newline at end of file
index f092427e58e85a6eaa85d5a2ddf3efbfed07ee8f..87abfdf8ed55d45f64bd7c25f08575dfe93c1193 100644 (file)
@@ -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 = "<br />".DI::l10n()->t("[Embedded content - reload page to view]")."<br />";
+                       $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 "<!DOCTYPE html><html><body>\r\n";
+               // We can remove this hack once Internet Explorer recognises HTML5 natively
+               echo "<section>";
+               // reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well
+               echo str_replace("\t", "       ", $o);
+               echo "</section>";
+               echo "</body></html>\r\n";
+               exit();
+       }
+
        /// @todo Move the following functions from boot.php
        /*
        function local_user()
index 79e53168b3a7080807945bf1e712719b4396df35..662042eb11ef1e7437df82535a4e10acb87e02bd 100644 (file)
@@ -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 "<!DOCTYPE html><html><body>\r\n";
-               // We can remove this hack once Internet Explorer recognises HTML5 natively
-               echo "<section>";
-               echo $o;
-               if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) {
-                       $replace = "<br />".DI::l10n()->t("[Embedded content - reload page to view]")."<br />";
-                       $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 "</section>";
-               echo "</body></html>\r\n";
-               exit();
+               System::htmlUpdateExit($o);
        }
 }