Zum Inhalt springen

MediaWiki:Protect-dropdown

Aus wiki4life
  • Allgemeine Schutzgründe
    • Übermäßiger Vandalismus
    • Übermäßiges Spamming
    • Bearbeitungskrieg
    • Seite mit hohem Traffic

$wgHooks['getUserPermissionsErrorsExpensive'][] = function( $title, $user, $action, &$result ) {

   // Nur für eingeloggte User
   if ( !$user->isRegistered() ) {
       return true;
   }
   // Nur Bearbeitung einschränken, nicht Lesen oder so
   if ( $action !== 'edit' ) {
       return true;
   }
   // Benutzer darf nur seine eigene Seite bearbeiten
   // Beispiel: Benutzer "Mastwer" darf nur "Benutzer:Mastwer" bearbeiten
   $pageTitle = $title->getBaseText();
   $userName = $user->getName();
   // Prüfen ob Seite eine Benutzerseite ist
   if ( $title->getNamespace() === NS_USER && $pageTitle !== $userName ) {
       $result = [ 'permissiondenied' ];
       return false;
   }
   // Für alle anderen Seiten Bearbeitung blocken
   if ( $title->getNamespace() !== NS_USER ) {
       $result = [ 'permissiondenied' ];
       return false;
   }
   return true;

};