Erweiterung:RightFunctions
RightFunctions Freigabestatus: stabil |
|
---|---|
Einbindung | Parser-Funktion |
Beschreibung | Bietet berechtigungsbasierte Parserfunktionen |
Autor(en) | Ryan Schmidt (SkizzerzDiskussion) |
Letzte Version | 1.13.0 (2020-08-08) |
MediaWiki | 1.23+ |
PHP | 5.3+ |
Datenbankänderungen | Nein |
Lizenz | Gemeinfrei |
Herunterladen | CHANGELOG |
|
|
Quarterly downloads | 1 (Ranked 125th) |
Übersetze die RightFunctions-Erweiterung, wenn sie auf translatewiki.net verfügbar ist | |
Probleme | Offene Aufgaben · Einen Fehler melden |
The RightFunctions extension tests various page or user permissions and displays text based off of them.
Please note that these parser functions may be used to superficially hide information from those with certain rights.
Also note that all functions disable the cache on the page they are used in unless you set $wgRightFunctionsAllowCaching
to true.
Verwendung
Ifright
Tests whether the current user has the given right, then displays the appropriate text. Falls das Recht nicht existiert, ergibt es else Falls kein Recht angegeben ist, ergibt es then. This function ignores per-page restrictions on a user's rights, so use #Ifpageright if you need that functionality.
Verwendung:
{{#ifright:right|then|else}}
Ifallowed
Tests whether the given user has the given right, then displays the appropriate text. This function will return nothing unless a user is defined. This function ignores per-page restrictions on a user's rights, so use #Ifpageallowed if you need that functionality.
Verwendung:
{{#ifallowed:user|right|then|else}}
Switchright
A switch statement that tests whether the current user has the rights. This operates much like the ParserFunctions #switch statement.
Verwendung:
{{#switchright: right1=result1 |right2 |right3=result2 and 3 |right4=result4 |default (or #default=default if the default text contains =) }}
Userrights
Lists all rights in an unordered list either of the current user or of the given user. If a user isn't defined, it triggers on the current user instead.
Verwendung:
{{#userrights:}}
- Für den aktuellen Benutzer{{#userrights:user}}
- Für andere Benutzer
Usergroup
Returns the highest user group the user belongs to. The groups are defined in lowest-to-highest ranking in the array $wgRightFunctionsUserGroups. If a user isn't defined, it triggers on the current user instead.
Usage:
{{#usergroup:}}
- Für den aktuellen Benutzer{{#usergroup:user}}
- Für andere Benutzer
Ifgroup
Tests if the given user is in the specified group. Falls kein Benutzer angegeben ist, testet es den aktuellen Benutzer. If no group is specified, it returns else.
Usage:
{{#ifgroup:group|then|else}}
- Für den aktuellen Benutzer{{#ifgroup:group|then|else|user}}
- Für andere Benutzer
Switchgroup
A switch statement that tests whether the current user is in a group. This operates much like the ParserFunctions #switch statement.
Verwendung:
{{#switchgroup: group1=result1 |group2 |group3=result2 and 3 |group4=result4 |default (or #default=default if the default text contains =) }}
Ifpageright
Tests whether the current user has the given right on the given page, then displays the appropriate text. If the right doesn't exist, it simply returns else. If no right is specified, it returns then. This function does not ignore per-page restrictions on a user's rights.
Verwendung:
{{#ifpageright:right|then|else|page}}
- Zum Testen von anderen Seiten{{#ifpageright:right|then|else}}
- Zum Testen der aktuellen Seite
Ifpageallowed
Tests whether the given user has the given right on the given page, then displays the appropriate text. If no user is specified, it returns nothing. If no page is specified, it checks the current page. If the right doesn't exist, it returns else and if no right is specified, it returns then. This function does not ignore per-page restrictions on a user's rights.
Verwendung:
{{#ifpageallowed:user|right|then|else|page}}
- Zum Testen von anderen Seiten{{#ifpageallowed:user|right|then|else}}
- Zum Testen der aktuellen Seite
Ifprotected
Tests whether the given page is protected, then displays the appropriate text. If no page is given, it tests the current page. It will return then if the page is either fully-protected, semi-protected, protected because it is included in a cascading-protected page, or if it is namespace-protected. You may control which of these are tested by adding the letters "f", "s", "c", and/or "n" (standing for fully-protected, semi-protected, cascading-protected, and namespace-protected, respectively) to the fourth parameter of the page (by default all 4 are tested).
Usage:
{{#ifprotected:then|else|page}}
- Zum Testen von anderen Seiten{{#ifprotected:then|else}}
- Zum Testen der aktuellen Seite{{#ifprotected:then|else|page|fns}}
- for testing only certain types of protection
Getrestrictions
Grabs what right is required to carry out the action on the given page.
If no page is given, it checks the current page instead.
If no right is given, it checks the 'edit'
right.
If there are no restrictions on that page for the particular right, it returns the empty string ("").
If the page has cascading restrictions as well, it returns the highest restriction level for the page (from all cascading sources and the local page itself).
If you would like all the restrictions to be listed instead, set the third parameter to "true".
If you do, the output format changes to be more detailed, depending on what restrictions exist for the current page, cascading-protected sources, and namespace protection.
Verwendung:
{{#getrestrictions:right|page}}
- Zum Testen von anderen Seiten{{#getrestrictions:right}}
- Zum Testen der aktuellen Seite{{#getrestrictions:right|page|true}}
- for listing all restrictions instead of just the highest one
Installation
- Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens
RightFunctions
im Ordnerextensions/
ablegen.
Entwickler und Code-Beitragende sollten stattdessen die Erweiterung von Git installieren, mit:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/RightFunctions - Folgenden Code am Ende deiner LocalSettings.php -Datei einfügen:
wfLoadExtension( 'RightFunctions' );
- Konfiguriere nach Bedarf
- Erledigt – Navigiere zu Special:Version in deinem Wiki, um zu überprüfen, ob die Erweiterung erfolgreich installiert wurde.
Konfiguration
These variables control how the various parser functions work. Es gibt aktuell 4 Variablen.
$wgRightFunctionsUserGroups
Default value: array( '*', 'user', 'autoconfirmed', 'sysop', 'bureaucrat' )
An array of groups to test for in #Usergroup.
They are arranged in order of least to greatest for group testing.
$wgRightFunctionsAllowCaching
Standardwert:
false
If set to true, the functions do not disable the parser cache and they do not trigger the recache when getting a user's groups.
It is recommended that you leave this as false
.
$wgRightFunctionsAllowExpensiveQueries
Standardwert:
true
If set to true, using ifpageright and ifpageallowed will check the rights more thoroughly (like through cascading protection), so it will produce more accurate results, but it will me more server-intensive to perform.
It is recommended that you leave this as true
.
$wgRightFunctionsDisableFunctions
Standardwert:
array()
Functions in this array will not get evaluated and will simply return nothing.
Änderungsgeschichte
- Version 1.12
- Removed backwards compatible I18n shim
- Version 1.11
- Converted I18n to use json files including providing a backwards compatible shim
- Version 1.10
- Many bugfixes. Messages for getrestrictions are now more customizable, ifprotected and getrestrictions now properly detect namespace protection, fixed typo in variable name that caused getrestrictions to crash.
- Version 1.9
- Moved to Subversion. Was accidentally changed to "2.0" when some test stuff was removed, please be aware that it is not actually 2.0, but 1.9
- Version 1.8
- Added two parser functions for easier multi-testing of rights/groups: switchright and switchgroup.
- Version 1.7
- Fixed title bug (side issue in bug 12420), removed restrictions for viewing other users' rights, removed warnings, added in variable to disable functions, modified ifallowed and ifpageallowed to require a user be defined.
- Version 1.6
- Getrestrictions now only returns the highest-level restriction by default, a list of all restrictions can be had by setting the third parameter true.
- Version 1.5
- Major bugfix in getrestrictions, should now work as expected (yay)
- Version 1.4
- Getrestrictions now checks cascading sources (albeit not very efficiently), now allows user to pick protection types to check for in ifprotected, bugfix in return of getrestrictions.
- Version 1.3
- Cleaned up code for less redundancy, added $wgRightFunctionsAllowCaching to allow caching, added ifgroup, made usergroup actually work off of real user groups instead of rights that mimicked group names, changed $wgRightFunctionsOtherUsers to test groups instead of rights. $wgRightFunctionsAllowExpensiveQueries is now true by default.
- Version 1.2
- Added four parser functions ifpageright, ifpageallowed, ifprotected, and getrestrictions. Added in variable for hiding warning messages and a variable for enabling more server-intensive queries for the ifpageright and ifpageallowed functions.
- Version 1.1
- Added safeguard against those trying to access extension directly, and an additional parser function usergroup.
- Version 1.0
- Initial release defined three parser functions, ifright, ifallowed, and userrights.
Diese Erweiterung ist in den folgenden Softwarepaketen enthalten und/oder wird von den folgenden Wiki-Farmen, bzw. Wiki-Hostern verwendet: Dies ist keine maßgebliche Liste. Softwarepakete und/oder Wiki-Farmen, bzw. Wiki-Hoster nutzen diese Erweiterung ggf., obwohl sie nicht in dieser Liste enthalten sind. Prüfe daher stets die Nutzung im verwendeten Softwarepaket und/oder bei der Wiki-Farm, bzw. dem Wiki-Hoster. |