Pwirth has submitted this change and it was merged.

Change subject: *Manager: Now using config file registry from BSF
......................................................................


*Manager: Now using config file registry from BSF

This is a follow up change to https://gerrit.wikimedia.org/r/267221

It aims to provide an easier setup and management of BlueSpice.

Change-Id: Ia59ad39e2e159388df1977514ce1b13a48024e87
---
M GroupManager/GroupManager.class.php
M GroupManager/GroupManager.setup.php
M PermissionManager/PermissionManager.class.php
M PermissionManager/PermissionManager.setup.php
4 files changed, 22 insertions(+), 23 deletions(-)

Approvals:
  Pwirth: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/GroupManager/GroupManager.class.php 
b/GroupManager/GroupManager.class.php
index d2e45c6..2c93a64 100644
--- a/GroupManager/GroupManager.class.php
+++ b/GroupManager/GroupManager.class.php
@@ -350,13 +350,13 @@
        }
 
        /**
-        * saves all groupspecific data to bluespice-core/config/gm-settings.php
+        * saves all groupspecific data to a config file
         * @return array the json answer
         */
        protected function saveData() {
-               global $wgAdditionalGroups;
+               global $wgAdditionalGroups, $bsgConfigFiles;
 
-               $sSaveContent = "<?php\nglobal 
\$wgAdditionalGroups;\n\$wgAdditionalGroups = array();\n\n";
+               $sSaveContent = "<?php\n\$GLOBALS['wgAdditionalGroups'] = 
array();\n\n";
                foreach ( $wgAdditionalGroups as $sGroup => $mValue ) {
                        $aInvalidChars = array();
                        $sGroup = trim( $sGroup );
@@ -382,7 +382,7 @@
                                );
                        } else {
                                if ( $mValue !== false ) {
-                                       $sSaveContent .= 
"\$wgAdditionalGroups['{$sGroup}'] = array();\n";
+                                       $sSaveContent .= 
"\$GLOBALS['wgAdditionalGroups']['{$sGroup}'] = array();\n";
                                        $this->checkI18N( $sGroup );
                                } else {
                                        $this->checkI18N( $sGroup, $mValue );
@@ -390,10 +390,9 @@
                        }
                }
 
-               $sSaveContent .= "\n\$wgGroupPermissions = 
array_merge(\$wgGroupPermissions, \$wgAdditionalGroups);";
+               $sSaveContent .= "\n\$GLOBALS['wgGroupPermissions'] = 
array_merge(\$GLOBALS['wgGroupPermissions'], \$GLOBALS['wgAdditionalGroups']);";
 
-               $sConfigFile = BSCONFIGDIR . DS . 'gm-settings.php';
-               $res = file_put_contents( $sConfigFile, $sSaveContent );
+               $res = file_put_contents( $bsgConfigFiles['GroupManager'], 
$sSaveContent );
                if ( $res ) {
                        return array(
                                'success' => true,
@@ -403,7 +402,7 @@
                        return array(
                                'success' => false,
                                // TODO SU (04.07.11 11:44): i18n
-                               'message' => 'Not able to create or write file 
"' . $sConfigFile . '".'
+                               'message' => 'Not able to create or write file 
"' . $bsgConfigFiles['GroupManager'] . '".'
                        );
                }
        }
diff --git a/GroupManager/GroupManager.setup.php 
b/GroupManager/GroupManager.setup.php
index 0ee9263..8238cec 100644
--- a/GroupManager/GroupManager.setup.php
+++ b/GroupManager/GroupManager.setup.php
@@ -36,4 +36,6 @@
 
 $wgLogTypes[] = 'bs-group-manager';
 $wgFilterLogTypes['bs-group-manager'] = true;
-$wgLogActionsHandlers['bs-group-manager/*'] = 'LogFormatter';
\ No newline at end of file
+$wgLogActionsHandlers['bs-group-manager/*'] = 'LogFormatter';
+
+$bsgConfigFiles['GroupManager'] = BSCONFIGDIR . DS . 'gm-settings.php';
\ No newline at end of file
diff --git a/PermissionManager/PermissionManager.class.php 
b/PermissionManager/PermissionManager.class.php
index 3a6d694..731bd52 100644
--- a/PermissionManager/PermissionManager.class.php
+++ b/PermissionManager/PermissionManager.class.php
@@ -594,7 +594,7 @@
        }
 
        protected static function writeGroupSettings( $aGroupPermissions, 
$aNamespacePermissionLockdown ) {
-               global $bsgPermissionManagerGroupSettingsFile, 
$wgGroupPermissions, $wgNamespacePermissionLockdown;
+               global $bsgConfigFiles, $wgGroupPermissions, 
$wgNamespacePermissionLockdown;
 
                if ( wfReadOnly() ) {
                        global $wgReadOnly;
@@ -617,7 +617,7 @@
                $sSaveContent = "<?php\n";
                foreach ( $aGroupPermissions as $sGroup => $aPermissions ) {
                        foreach ( $aPermissions as $sPermission => $bValue ) {
-                               $sSaveContent .= 
"\$wgGroupPermissions['{$sGroup}']['{$sPermission}'] = " . ( $bValue ? 'true' : 
'false' ) . ";\n";
+                               $sSaveContent .= 
"\$GLOBALS['wgGroupPermissions']['{$sGroup}']['{$sPermission}'] = " . ( $bValue 
? 'true' : 'false' ) . ";\n";
                                // check if settings for the given group changed
                                if( !isset( $wgGroupPermissions[ $sGroup ] )
                                                || !isset( $wgGroupPermissions[ 
$sGroup ][ $sPermission ] )
@@ -639,7 +639,7 @@
                                        if ( empty( $aGroups ) ) {
                                                continue;
                                        }
-                                       $sSaveContent .= 
"\$wgNamespacePermissionLockdown[$sNsConstant]['$sPermission']"
+                                       $sSaveContent .= 
"\$GLOBALS['wgNamespacePermissionLockdown'][$sNsConstant]['$sPermission']"
                                                        . " = array(" . ( 
count( $aGroups ) ? "'" . implode( "','", $aGroups ) . "'" : '' ) . ");\n";
                                        if ( $sPermission == 'read' ) {
                                                $isReadLockdown = true;
@@ -655,12 +655,12 @@
                                        }
                                }
                                if ( $isReadLockdown ) {
-                                       $sSaveContent .= 
"\$wgNonincludableNamespaces[] = $sNsConstant;\n";
+                                       $sSaveContent .= 
"\$GLOBALS['wgNonincludableNamespaces'][] = $sNsConstant;\n";
                                }
                        }
                }
 
-               $res = file_put_contents( 
$bsgPermissionManagerGroupSettingsFile, $sSaveContent );
+               $res = file_put_contents( $bsgConfigFiles['PermissionManager'], 
$sSaveContent );
                if ( $res ) {
                        // Create a log entry for any group which permissions 
changed
                        $oTitle = SpecialPage::getTitleFor( 'WikiAdmin' );
@@ -682,7 +682,7 @@
                        return array(
                                        'success' => false,
                                // TODO SU (04.07.11 12:06): i18n
-                                       'msg' => 'Not able to create or write 
"' . $bsgPermissionManagerGroupSettingsFile . '".'
+                                       'msg' => 'Not able to create or write 
"' . $bsgConfigFiles['PermissionManager'] . '".'
                        );
                }
        }
@@ -690,17 +690,17 @@
        /**
         * creates a backup of the current pm-settings.php if it exists.
         *
-        * @global string $bsgPermissionManagerGroupSettingsFile
+        * @global string $bsgConfigFiles
         */
        protected static function backupExistingSettings() {
-               global $bsgPermissionManagerGroupSettingsFile;
+               global $bsgConfigFiles;
 
-               if ( file_exists( $bsgPermissionManagerGroupSettingsFile ) ) {
+               if ( file_exists( $bsgConfigFiles['PermissionManager'] ) ) {
                        $timestamp = wfTimestampNow();
                        $backupFilename = "pm-settings-backup-{$timestamp}.php";
-                       $backupFile = dirname( 
$bsgPermissionManagerGroupSettingsFile ) . "/{$backupFilename}";
+                       $backupFile = dirname( 
$bsgConfigFiles['PermissionManager'] ) . "/{$backupFilename}";
 
-                       file_put_contents( $backupFile, file_get_contents( 
$bsgPermissionManagerGroupSettingsFile ) );
+                       file_put_contents( $backupFile, file_get_contents( 
$bsgConfigFiles['PermissionManager'] ) );
                }
        }
 }
diff --git a/PermissionManager/PermissionManager.setup.php 
b/PermissionManager/PermissionManager.setup.php
index 3ab55ad..f7cfd77 100644
--- a/PermissionManager/PermissionManager.setup.php
+++ b/PermissionManager/PermissionManager.setup.php
@@ -62,9 +62,7 @@
        $bsgPermissionManagerDefaultTemplates = array();
 }
 
-if( !isset( $bsgPermissionManagerGroupSettingsFile ) ) {
-       $bsgPermissionManagerGroupSettingsFile = BSCONFIGDIR . DS . 
'pm-settings.php';
-}
+$bsgConfigFiles['PermissionManager'] = BSCONFIGDIR . DS . 'pm-settings.php';
 
 $bsgPermissionManagerDefaultTemplates = array(
        //Not namespace specific

-- 
To view, visit https://gerrit.wikimedia.org/r/267222
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ia59ad39e2e159388df1977514ce1b13a48024e87
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions
Gerrit-Branch: master
Gerrit-Owner: Robert Vogel <[email protected]>
Gerrit-Reviewer: Dvogel hallowelt <[email protected]>
Gerrit-Reviewer: Ljonka <[email protected]>
Gerrit-Reviewer: Mglaser <[email protected]>
Gerrit-Reviewer: Pwirth <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to