]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/Strings.php
Display mentioned users and in the comment box by default
[friendica.git] / src / Util / Strings.php
index 48e580d67892587ab648f2f0960c8a5193094caf..0c63749c8593603b85c7f0a5b25fd3e5a80cbfbe 100644 (file)
@@ -13,12 +13,13 @@ use Friendica\Core\Logger;
  */
 class Strings
 {
-    /**
-     * @brief Generates a pseudo-random string of hexadecimal characters
-     *
-     * @param int $size
-     * @return string
-     */
+       /**
+        * @brief Generates a pseudo-random string of hexadecimal characters
+        *
+        * @param int $size
+        * @return string
+        * @throws \Exception
+        */
     public static function getRandomHex($size = 64)
     {
         $byte_size = ceil($size / 2);
@@ -139,19 +140,20 @@ class Strings
         return $word;
     }
 
-    /**
-     * @brief translate and format the networkname of a contact
-     *
-     * @param string $network   Networkname of the contact (e.g. dfrn, rss and so on)
-     * @param string $url       The contact url
-     * 
-     * @return string   Formatted network name
-     */
-    public static function formatNetworkName($network, $url = 0)
+       /**
+        * Translate and format the network name of a contact
+        *
+        * @param string $network Network name of the contact (e.g. dfrn, rss and so on)
+        * @param string $url     The contact url
+        *
+        * @return string Formatted network name
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
+        */
+    public static function formatNetworkName($network, $url = '')
     {
-        if ($network != "") {
-            if ($url != "") {
-                $network_name = '<a href="' . $url  .'">' . ContactSelector::networkToName($network, $url) . "</a>";
+        if ($network != '') {
+            if ($url != '') {
+                $network_name = '<a href="' . $url  .'">' . ContactSelector::networkToName($network, $url) . '</a>';
             } else {
                 $network_name = ContactSelector::networkToName($network);
             }
@@ -161,7 +163,7 @@ class Strings
     }
 
     /**
-     * @brief Remove intentation from a text
+     * @brief Remove indentation from a text
      * 
      * @param string $text  String to be transformed.
      * @param string $chr   Optional. Indentation tag. Default tab (\t).
@@ -240,12 +242,13 @@ class Strings
         return $s;
     }
 
-    /**
-     * @brief Decode Base64 Encoded URL and translate -_ to +/
-     * @param string $s URL to decode
-     * 
-     * @return string   Decoded URL
-     */
+       /**
+        * @brief Decode Base64 Encoded URL and translate -_ to +/
+        * @param string $s URL to decode
+        *
+        * @return string   Decoded URL
+        * @throws \Exception
+        */
     public static function base64UrlDecode($s)
     {
         if (is_array($s)) {
@@ -292,7 +295,7 @@ class Strings
      * 
      * @return string   normalized OpenId Identity
      */
-    function normaliseOpenID($s)
+    public static function normaliseOpenID($s)
     {
         return trim(str_replace(['http://', 'https://'], ['', ''], $s), '/');
     }
@@ -312,4 +315,20 @@ class Strings
     {
         return (strcasecmp(self::normaliseLink($a), self::normaliseLink($b)) === 0);
     }
+
+
+       /**
+        * Ensures the provided URI has its query string punctuation in order.
+        *
+        * @param string $uri
+        * @return string
+        */
+       public static function ensureQueryParameter($uri)
+       {
+               if (strpos($uri, '?') === false && ($pos = strpos($uri, '&')) !== false) {
+                       $uri = substr($uri, 0, $pos) . '?' . substr($uri, $pos + 1);
+               }
+
+               return $uri;
+       }
 }