summaryrefslogtreecommitdiff
path: root/library
diff options
context:
space:
mode:
Diffstat (limited to 'library')
-rw-r--r--library/WT/Controller/Base.php7
-rw-r--r--library/WT/Controller/Simple.php7
2 files changed, 10 insertions, 4 deletions
diff --git a/library/WT/Controller/Base.php b/library/WT/Controller/Base.php
index 2029aa9ab2..f424d5b549 100644
--- a/library/WT/Controller/Base.php
+++ b/library/WT/Controller/Base.php
@@ -97,9 +97,12 @@ class WT_Controller_Base {
}
// Restrict access
- public function requireManagerLogin() {
+ public function requireManagerLogin($ged_id=WT_GED_ID) {
require_once WT_ROOT.'includes/functions/functions.php'; // for get_query_url
- if (!WT_USER_GEDCOM_ADMIN) {
+ if (
+ $ged_id==WT_GED_ID && !WT_USER_GEDCOM_ADMIN ||
+ $ged_id!=WT_GED_ID && userGedcomAdmin(WT_USER_ID, $gedcom_id)
+ ) {
header('Location: '.WT_SERVER_NAME.WT_SCRIPT_PATH.get_site_setting('LOGIN_URL', 'login.php').'?url='.rawurlencode(get_query_url()));
exit;
}
diff --git a/library/WT/Controller/Simple.php b/library/WT/Controller/Simple.php
index d579f0793f..d4dc8cd3e0 100644
--- a/library/WT/Controller/Simple.php
+++ b/library/WT/Controller/Simple.php
@@ -50,8 +50,11 @@ class WT_Controller_Simple extends WT_Controller_Base {
}
// Restrict access
- public function requireManagerLogin() {
- if (!WT_USER_GEDCOM_ADMIN) {
+ public function requireManagerLogin($ged_id=WT_GED_ID) {
+ if (
+ $ged_id==WT_GED_ID && !WT_USER_GEDCOM_ADMIN ||
+ $ged_id!=WT_GED_ID && userGedcomAdmin(WT_USER_ID, $gedcom_id)
+ ) {
$this->addInlineJavaScript('opener.window.location.reload(); window.close();');
exit;
}