]> git.mxchange.org Git - friendica.git/commitdiff
Move methods to new Util/Strings class
authorAdam Magness <adam.magness@gmail.com>
Mon, 5 Nov 2018 12:31:45 +0000 (07:31 -0500)
committerAdam Magness <adam.magness@gmail.com>
Mon, 5 Nov 2018 12:31:45 +0000 (07:31 -0500)
move string methods from xml to strings class.

src/Util/Strings.php [new file with mode: 0644]
src/Util/XML.php

diff --git a/src/Util/Strings.php b/src/Util/Strings.php
new file mode 100644 (file)
index 0000000..5efc214
--- /dev/null
@@ -0,0 +1,51 @@
+<?php
+/**
+ * @file src/Util/Strings.php
+ */
+
+namespace Friendica\Util;
+
+/**
+ * @brief This class contains methods to modify/transform strings.
+ */
+class Strings
+{
+    /**
+        * escape text ($str) for XML transport
+        * @param string $str
+        * @return string Escaped text.
+        */
+       public static function escape($str)
+       {
+               $buffer = htmlspecialchars($str, ENT_QUOTES, "UTF-8");
+               $buffer = trim($buffer);
+
+               return $buffer;
+       }
+
+       /**
+        * undo an escape
+        * @param string $s xml escaped text
+        * @return string unescaped text
+        */
+       public static function unescape($s)
+       {
+               $ret = htmlspecialchars_decode($s, ENT_QUOTES);
+               return $ret;
+       }
+
+       /**
+        * apply escape() to all values of array $val, recursively
+        * @param array $val
+        * @return array
+        */
+       public static function arrayEscape($val)
+       {
+               if (is_bool($val)) {
+                       return $val?"true":"false";
+               } elseif (is_array($val)) {
+                       return array_map('XML::arrayEscape', $val);
+               }
+               return self::escape((string) $val);
+       }
+}
index c115e4d0de37c354f1fcfc95189025ebfb96d0b7..ed0d4bbb0450d130f030bde8aa35b0c5070e9576 100644 (file)
@@ -5,6 +5,7 @@
 namespace Friendica\Util;
 
 use Friendica\Core\Logger;
+use Friendica\Util\Strings;
 use DOMXPath;
 use SimpleXMLElement;
 
@@ -36,7 +37,7 @@ class XML
                                        $root = new SimpleXMLElement("<".$key."/>");
                                        self::fromArray($value, $root, $remove_header, $namespaces, false);
                                } else {
-                                       $root = new SimpleXMLElement("<".$key.">".self::escape($value)."</".$key.">");
+                                       $root = new SimpleXMLElement("<".$key.">".Strings::escape($value)."</".$key.">");
                                }
 
                                $dom = dom_import_simplexml($root)->ownerDocument;
@@ -104,7 +105,7 @@ class XML
                        }
 
                        if (!is_array($value)) {
-                               $element = $xml->addChild($key, self::escape($value), $namespace);
+                               $element = $xml->addChild($key, Strings::escape($value), $namespace);
                        } elseif (is_array($value)) {
                                $element = $xml->addChild($key, null, $namespace);
                                self::fromArray($value, $element, $remove_header, $namespaces, false);
@@ -123,7 +124,7 @@ class XML
        public static function copy(&$source, &$target, $elementname)
        {
                if (count($source->children()) == 0) {
-                       $target->addChild($elementname, self::escape($source));
+                       $target->addChild($elementname, Strings::escape($source));
                } else {
                        $child = $target->addChild($elementname);
                        foreach ($source->children() as $childfield => $childentry) {
@@ -144,11 +145,11 @@ class XML
         */
        public static function createElement($doc, $element, $value = "", $attributes = [])
        {
-               $element = $doc->createElement($element, self::escape($value));
+               $element = $doc->createElement($element, Strings::escape($value));
 
                foreach ($attributes as $key => $value) {
                        $attribute = $doc->createAttribute($key);
-                       $attribute->value = self::escape($value);
+                       $attribute->value = Strings::escape($value);
                        $element->appendChild($attribute);
                }
                return $element;
@@ -462,43 +463,4 @@ class XML
 
                return $first_item->attributes;
        }
-
-       /**
-        * escape text ($str) for XML transport
-        * @param string $str
-        * @return string Escaped text.
-        */
-       public static function escape($str)
-       {
-               $buffer = htmlspecialchars($str, ENT_QUOTES, "UTF-8");
-               $buffer = trim($buffer);
-
-               return $buffer;
-       }
-
-       /**
-        * undo an escape
-        * @param string $s xml escaped text
-        * @return string unescaped text
-        */
-       public static function unescape($s)
-       {
-               $ret = htmlspecialchars_decode($s, ENT_QUOTES);
-               return $ret;
-       }
-
-       /**
-        * apply escape() to all values of array $val, recursively
-        * @param array $val
-        * @return array
-        */
-       public static function arrayEscape($val)
-       {
-               if (is_bool($val)) {
-                       return $val?"true":"false";
-               } elseif (is_array($val)) {
-                       return array_map('XML::arrayEscape', $val);
-               }
-               return self::escape((string) $val);
-       }
 }