From 991497ceb381d1ab6bc79db8bfad4405c8bbd008 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Thu, 8 May 2014 23:09:41 +0200 Subject: show remote fork button only if user cannot write --- data/templates/display-head.htm | 6 ++++++ src/phorkie/HtmlHelper.php | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/data/templates/display-head.htm b/data/templates/display-head.htm index f610f84..aa7daec 100644 --- a/data/templates/display-head.htm +++ b/data/templates/display-head.htm @@ -8,13 +8,19 @@
+ {% if htmlhelper.mayWriteLocally %} + {% else %} + Fork to remote system + {% endif %}
diff --git a/src/phorkie/HtmlHelper.php b/src/phorkie/HtmlHelper.php index ca5f989..c3336c3 100644 --- a/src/phorkie/HtmlHelper.php +++ b/src/phorkie/HtmlHelper.php @@ -49,6 +49,28 @@ class HtmlHelper { 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; + } } ?> -- cgit v1.2.3