MediaWiki Como deshabilitar las páginas de discusión

De Foros del Web

Si se desea deshabilitar la creación y edición de las páginas de discusión en una instalación de MediaWiki, basta con ajustar los permisos de usuarios y agregar una extensión.


Permisos de los Grupos de usuarios

Editamos el archivos LocalSettings.php y agregamos:

$wgGroupPermissions['*'    ]['createtalk']  = false;
$wgGroupPermissions['user' ]['createtalk']  = false;
$wgGroupPermissions['sysop' ]['createtalk'] = true;

Esto hará que los usuarios anónimos y los registrados no puedan editar las páginas de discusión, pero los Sysops (administradores) si tengan dicho permiso de todas formas.

Si se quiere restringir las ediciones anónimas en las discusiones el código sería:

$wgGroupPermissions['*'    ]['createtalk'] = false;
$wgGroupPermissions['user' ]['createtalk'] = true;


Ocultar el enlace a la página de discusión

Opcionalmente podemos ocultar el enlace "Discusión" en las acciones disponibles. Para esto creamos un archivo notalk.php en el directorio extensions de nuestro MediaWiki y pegamos el siguiente código:

<?php
 
 $wgExtensionCredits['other'][] = array(
        'name' => 'No talk action',
        'version' => '0.1',
        'author' => 'Javier Aroche',
        'description' => 'removes talk action',
        'url' => '',
 );
 
 
 $wgHooks['SkinTemplateContentActions'][] = 'ReplaceTabs';
 
 function ReplaceTabs ($content_actions) {  
    unset( $content_actions['talk'] ); 
    return true;
 }

Por ultimo agregamos al final de archivo LocalSettings.php:

require_once("extensions/notalk.php");

Con esto el enlace de Discusión ya no no se mostrará a todos los usuarios.

En este Wiki, se ha aplicado esta modificación.

Herramientas personales