Robert Vogel has uploaded a new change for review. https://gerrit.wikimedia.org/r/267222
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(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpiceExtensions refs/changes/22/267222/1 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: newchange Gerrit-Change-Id: Ia59ad39e2e159388df1977514ce1b13a48024e87 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions Gerrit-Branch: master Gerrit-Owner: Robert Vogel <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
