Ljonka has uploaded a new change for review.
https://gerrit.wikimedia.org/r/280415
Change subject: PermissionManager: add config and handler for max num of backups
......................................................................
PermissionManager: add config and handler for max num of backups
Change-Id: I5e9dd812e9470d5585f8fd4c08842b19caa147b9
---
M PermissionManager/PermissionManager.class.php
M PermissionManager/i18n/de.json
M PermissionManager/i18n/en.json
M PermissionManager/i18n/qqq.json
4 files changed, 17 insertions(+), 0 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpiceExtensions
refs/changes/15/280415/1
diff --git a/PermissionManager/PermissionManager.class.php
b/PermissionManager/PermissionManager.class.php
index 731bd52..999f08a 100644
--- a/PermissionManager/PermissionManager.class.php
+++ b/PermissionManager/PermissionManager.class.php
@@ -130,6 +130,7 @@
BsConfig::registerVar( 'MW::PermissionManager::Lockmode',
false, BsConfig::LEVEL_PUBLIC | BsConfig::TYPE_BOOL,
'bs-permissionmanager-pref-lockmode', 'toggle' );
BsConfig::registerVar( 'MW::PermissionManager::SkipSystemNS',
false, BsConfig::LEVEL_PUBLIC | BsConfig::TYPE_BOOL,
'bs-permissionmanager-pref-skipsysns', 'toggle' );
BsConfig::registerVar( 'MW::PermissionManager::RealityCheck',
false, BsConfig::LEVEL_PUBLIC | BsConfig::TYPE_BOOL |
BsConfig::RENDER_AS_JAVASCRIPT, 'bs-permissionmanager-pref-enablerealitycheck',
'toggle' );
+ BsConfig::registerVar( 'MW::PermissionManager::MaxBackups',
false, BsConfig::LEVEL_PUBLIC | BsConfig::TYPE_INT,
'bs-permissionmanager-pref-max-backups' );
$this->setHook( 'BSWikiAdminUserManagerBeforeUserListSend' );
$this->setHook( 'BSGroupManagerGroupNameChanged' );
@@ -702,5 +703,18 @@
file_put_contents( $backupFile, file_get_contents(
$bsgConfigFiles['PermissionManager'] ) );
}
+
+ //remove old backup files if max number exceeded
+ $arrConfigFiles = scandir(dirname(
$bsgConfigFiles['PermissionManager'] ) . "/", SCANDIR_SORT_ASCENDING );
+ $arrBackupFiles = array_filter($arrConfigFiles, function($elem){
+ return (strpos($elem, "pm-settings-backup-") !== FALSE)
? true : false;
+ } );
+
+ //backward compatible, if not set, default limit to 5 backups
+ $maxBackups = (BsConfig::get(
"MW::PermissionManager::MaxBackups" ) > 0) ? BsConfig::get(
"MW::PermissionManager::MaxBackups" ) : 5;
+ while( count( $arrBackupFiles ) > $maxBackups ) {
+ $oldBackupFile = dirname(
$bsgConfigFiles['PermissionManager'] ) . "/". array_shift( $arrBackupFiles );
+ unlink( $oldBackupFile );
+ }
}
}
diff --git a/PermissionManager/i18n/de.json b/PermissionManager/i18n/de.json
index bcde542..d8b41f1 100644
--- a/PermissionManager/i18n/de.json
+++ b/PermissionManager/i18n/de.json
@@ -40,6 +40,7 @@
"bs-permissionmanager-pref-lockmode": "Lockmode aktivieren",
"bs-permissionmanager-pref-skipsysns": "Systemnamensräume bei
eingschaltetem Lockmode ignorieren",
"bs-permissionmanager-pref-enablerealitycheck": "Rechteprüfung
aktivieren",
+ "bs-permissionmanager-pref-max-backups": "Maximale Anzahl an
Sicherungen",
"bs-permissionmanager-unsaved-changes": "Es existieren ungespeicherte
Änderungen. Willst du die Seite wirklich verlassen? Die ungespeicherten
Änderungen gehen in diesem Fall verloren",
"bs-permissionmanager-error-lockout": "Mindestens eine Benutzergruppe
muss das Recht \"$1\" besitzen.\nDie Änderungen konnten nicht gespeichert
werden.",
"log-name-bs-permission-manager": "Rechteverwaltung-Logbuch",
diff --git a/PermissionManager/i18n/en.json b/PermissionManager/i18n/en.json
index 379dd4b..d2456cd 100644
--- a/PermissionManager/i18n/en.json
+++ b/PermissionManager/i18n/en.json
@@ -39,6 +39,7 @@
"bs-permissionmanager-pref-lockmode": "Activate lockmode",
"bs-permissionmanager-pref-skipsysns": "Skip system namespaces if
lockmode is active",
"bs-permissionmanager-pref-enablerealitycheck": "Activate permission
check",
+ "bs-permissionmanager-pref-max-backups": "Backup limit",
"bs-permissionmanager-unsaved-changes": "There are unsaved changes. Do
you really want to leave the page now? The unsaved changes will be lost.",
"bs-permissionmanager-error-lockout": "At least one group must own the
right \"$1\".\nChanges couldn't be saved.",
"log-name-bs-permission-manager": "Permission manager log",
diff --git a/PermissionManager/i18n/qqq.json b/PermissionManager/i18n/qqq.json
index 2c81ef6..891169e 100644
--- a/PermissionManager/i18n/qqq.json
+++ b/PermissionManager/i18n/qqq.json
@@ -41,6 +41,7 @@
"bs-permissionmanager-pref-lockmode": "Option in
[{{canonicalurl:Special:WikiAdmin|mode=Preferences}}
Special:WikiAdmin?mode=Preferences], checkbox label for activate lockmode",
"bs-permissionmanager-pref-skipsysns": "Option in
[{{canonicalurl:Special:WikiAdmin|mode=Preferences}}
Special:WikiAdmin?mode=Preferences], checkbox label for skip system namespaces
if lockmode is active",
"bs-permissionmanager-pref-enablerealitycheck": "Option in
[{{canonicalurl:Special:WikiAdmin|mode=Preferences}}
Special:WikiAdmin?mode=Preferences], checkbox label for activate permission
check",
+ "bs-permissionmanager-pref-max-backups": "Option in
[{{canonicalurl:Special:WikiAdmin|mode=Preferences}}
Special:WikiAdmin?mode=Preferences], label for number of maximum backups",
"bs-permissionmanager-unsaved-changes": "Hint about data loss when a
user leaves the page without saving her/his changes",
"bs-permissionmanager-error-lockout": "Error message for changes in
settings that couldn't be saved, because some essential rights are not enabled
for any user group.",
"log-name-bs-permission-manager": "Used in [[Special:Log]], title of
the log type",
--
To view, visit https://gerrit.wikimedia.org/r/280415
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I5e9dd812e9470d5585f8fd4c08842b19caa147b9
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions
Gerrit-Branch: master
Gerrit-Owner: Ljonka <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits