add option to disable avatar loading
[phorkie.git] / src / phorkie / HtmlHelper.php
index fd04d831e217cb74f931e97f1ffacfff98a27104..d23468547bbb98ab3726d87eff807437e3ee39aa 100644 (file)
@@ -5,8 +5,10 @@ class HtmlHelper
 {
     public function getIconUrl($email, $size = 32)
     {
-        if ($email == 'anonymous@phorkie') {
-            return '/phorkie/anonymous.png';
+        if ($email == 'anonymous@phorkie'
+            || !$GLOBALS['phorkie']['cfg']['avatars']
+        ) {
+            return 'phorkie/anonymous.png';
         }
 
         $s = new \Services_Libravatar();
@@ -14,7 +16,7 @@ class HtmlHelper
             $email,
             array(
                 'size'    => $size,
-                'default' => Tools::fullUrl('/phorkie/anonymous.png')
+                'default' => Tools::fullUrl('phorkie/anonymous.png')
             )
         );
     }
@@ -39,6 +41,38 @@ class HtmlHelper
         }
         return $html;
     }
+
+    public function getDomain($url)
+    {
+        return parse_url($url, PHP_URL_HOST);
+    }
+
+    public function fullUrl($path = '')
+    {
+        return Tools::fullUrl($path);
+    }
+
+    public function mayWriteLocally()
+    {
+        if ($GLOBALS['phorkie']['auth']['securityLevel'] == 0) {
+            //everyone may do everything
+            return true;
+        }
+
+        $logged_in = false;
+        if (!isset($_SESSION['identity'])) {
+            //not logged in
+        } else if ($GLOBALS['phorkie']['auth']['listedUsersOnly']) {
+            if (in_array($_SESSION['identity'], $GLOBALS['phorkie']['auth']['users'])) {
+                $logged_in = true;
+            }
+        } else {
+            //session identity exists, no special checks required
+            $logged_in = true;
+        }
+
+        return $logged_in;
+    }
 }
 
 ?>