]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/util.php
Fix display of group admin avatars
[quix0rs-gnu-social.git] / lib / util.php
index ffa92fc69fcfcc7790e8ec7be43ffb91c376d382..99be56daeb3981a211abf683411975cf0a36e00b 100644 (file)
@@ -413,7 +413,7 @@ function common_remembered_user()
         return null;
     }
 
-    $rm = Remember_me::staticGet($code);
+    $rm = Remember_me::staticGet('code', $code);
 
     if (!$rm) {
         common_log(LOG_WARNING, 'No such remember code: ' . $code);
@@ -427,7 +427,7 @@ function common_remembered_user()
         return null;
     }
 
-    $user = User::staticGet($rm->user_id);
+    $user = User::staticGet('id', $rm->user_id);
 
     if (!$user) {
         common_log(LOG_WARNING, 'No such user for rememberme: ' . $rm->user_id);
@@ -1127,8 +1127,11 @@ function common_tag_link($tag)
 
 function common_canonical_tag($tag)
 {
+  // only alphanum
+  $tag = preg_replace('/[^\pL\pN]/u', '', $tag);
   $tag = mb_convert_case($tag, MB_CASE_LOWER, "UTF-8");
-  return str_replace(array('-', '_', '.'), '', $tag);
+  $tag = substr($tag, 0, 64);
+  return $tag;
 }
 
 function common_valid_profile_tag($str)
@@ -1234,12 +1237,12 @@ function common_local_url($action, $args=null, $params=null, $fragment=null, $ad
         $ssl = common_is_sensitive($action);
 
         if (common_config('site','fancy')) {
-            $url = common_path(mb_substr($path, 1), $ssl, $addSession);
+            $url = common_path($path, $ssl, $addSession);
         } else {
             if (mb_strpos($path, '/index.php') === 0) {
-                $url = common_path(mb_substr($path, 1), $ssl, $addSession);
+                $url = common_path($path, $ssl, $addSession);
             } else {
-                $url = common_path('index.php'.$path, $ssl, $addSession);
+                $url = common_path('index.php/'.$path, $ssl, $addSession);
             }
         }
         Event::handle('EndLocalURL', array(&$action, &$params, &$fragment, &$addSession, &$url));
@@ -1456,6 +1459,7 @@ function common_redirect($url, $code=307)
 
     header('HTTP/1.1 '.$code.' '.$status[$code]);
     header("Location: $url");
+    header("Connection: close");
 
     $xo = new XMLOutputter();
     $xo->startXML('a',
@@ -2159,7 +2163,11 @@ function common_shorten_url($long_url, User $user=null, $force = false)
             } else {
                 $shortenedUrl = common_local_url('redirecturl',
                                                  array('id' => $f->id));
-                return $shortenedUrl;
+                if ((mb_strlen($shortenedUrl) < mb_strlen($long_url)) || $force) {
+                    return $shortenedUrl;
+                } else {
+                    return $long_url;
+                }
             }
         } else {
             return $long_url;
@@ -2309,3 +2317,31 @@ function common_is_email($str)
 {
     return (strpos($str, '@') !== false);
 }
+
+function common_init_stats()
+{
+    global $_mem, $_ts;
+
+    $_mem = memory_get_usage(true);
+    $_ts  = microtime(true);
+}
+
+function common_log_delta($comment=null)
+{
+    global $_mem, $_ts;
+
+    $mold = $_mem;
+    $told = $_ts;
+
+    $_mem = memory_get_usage(true);
+    $_ts  = microtime(true);
+
+    $mtotal = $_mem - $mold;
+    $ttotal = $_ts - $told;
+
+    if (empty($comment)) {
+        $comment = 'Delta';
+    }
+
+    common_debug(sprintf("%s: %d %d", $comment, $mtotal, round($ttotal * 1000000)));
+}