$wgAJAXCategoriesNamespaces.
* Admins could disable some variants using $wgDisabledVariants now. ONLY apply
on wikis enabled LanguageConverter.
-* New configuration variable $wgShowPageOnRedlink that can be set to show the
- page instead of an edit interface when visiting a red link. The value can be
- specified for specific usergroups and namespaces.
* (bug 16310) Credits page now lists IP addresses rather than saying the number
of anonymous users that edited the page
* New permission 'sendemail' added. Default right for all registered users. Can
* Use old names for change_tags indices.
*/
$wgOldChangeTagsIndex = false;
-
-/**
- * View page instead of edit interface when visiting a red link
- * There are three ways to define this variable:
- * 1. Set $wgShowPageOnRedlink to true (false is default)
- * 2. Set $wgShowPageOnRedlink['usergroup'] to false. If a user is member of at least one usergroup for which the variable
- * has been set to false, the edit interface will be shown. Otherwise the page is shown.
- * 3. Set $wgShowPageOnRedlink['usergroup'][NS_XY] to false. Same as 2., but you can specify the namespace. The namespace
- * is a numerical value (namespace index), you can use constants such as NS_MAIN or NS_USER_TALK.
- * If you use an array (2. or 3.), the default will be true (for 1. it's false). In 2. and 3. there is no way to overwrite
- * a value 'false' once it has already been set (this is due to the undefined order of usergroups).
- */
-$wgShowPageOnRedlink = false;
}
}
}
-
- # Evaluate if the edit interface should be shown or
- # if the page should be shown, in case redlink=true
- if ( $wgRequest->getBool( 'redlink' ) )
- $this->showPageOnRedlink();
+
+ // If they used redlink=1 and the page exists, redirect to the main article
+ if ( $wgRequest->getBool( 'redlink' ) && $this->mTitle->exists() ) {
+ $wgOut->redirect( $this->mTitle->getFullURL() );
+ }
wfProfileIn( __METHOD__."-business-end" );
wfProfileOut( __METHOD__."-business-end" );
wfProfileOut( __METHOD__ );
}
-
- /*
- * Evaluate if the edit interface should be shown or the page, in case redlink=true.
- * If the page exists, it is always shown. If it doesn't, it depends on the settings
- * of $wgShowPageOnRedlink (see DefaultSettings for documentation).
- */
- protected function showPageOnRedlink() {
- global $wgShowPageOnRedlink, $wgUser, $wgRequest, $wgOut;
- $redirectToPage = false;
- # If the page exists (it has been created after the link has been emerged),
- # redirect to the page instead of editing the current page
- if ( $this->mTitle->exists() )
- $wgOut->redirect( $this->mTitle->getFullURL() );
- # Check site configuration ($wgShowPageOnRedlink)
- if ( is_array( $wgShowPageOnRedlink ) ) {
- $ns = $this->mTitle->getNamespace();
- $groups = $wgUser->getEffectiveGroups();
- # Gets overwritten if user is member of a group that has been specified:
- $redirectToPage = true;
- foreach ( $groups as $i => $group ) {
- # Test if there is a rule for a specific usergroup and a specific namespace
- if ( isset( $wgShowPageOnRedlink[$group][$ns] ) && $wgShowPageOnRedlink[$group][$ns] == false ) {
- $redirectToPage = false;
- }
- # Test if there is a rule for a specific usergroup in all namespaces
- elseif ( isset( $wgShowPageOnRedlink[$group] ) && !is_array( $wgShowPageOnRedlink[$group] )
- && $wgShowPageOnRedlink[$group] == false ) {
- $redirectToPage = false;
- }
- }
- }
- else {
- $redirectToPage = $wgShowPageOnRedlink;
- }
- if ( $redirectToPage ) {
- $wgOut->redirect( $this->mTitle->getFullURL() );
- }
- }
-
+
protected function getEditPermissionErrors() {
global $wgUser;
$permErrors = $this->mTitle->getUserPermissionsErrors( 'edit', $wgUser );