Я не уверен, что это возможно с текущей системой разрешений в MediaWiki. По замыслу, очень мало что может сделать пользователь без разрешения edit
; это разрешение контролирует право на изменение содержимого вики любым способом. Я полагаю, вы могли бы подать запрос функции для отдельного разрешения editexisting
, чтобы специально запретить только редактирование существующих страниц.
На самом деле, я полагаю, вы могли бы реализовать такое разрешение самостоятельно с помощью userCan
hook , что-то вроде этого:
function checkEditExisting( &$title, &$user, $action, &$result ) {
if ( $action != 'edit' ) return true;
if ( !$title->exists() ) return true;
if ( $user->isAllowed('editexisting') ) return true;
return $result = false; // page exists, no permission -> disallow edit
}
$wgHooks['userCan'][] = 'checkEditExisting';
$wgGroupPermissions['*']['editexisting'] = false;
$wgGroupPermissions['user']['editexisting'] = true;
Обратите внимание, что я вообще не тестировал приведенный выше код, но он достаточно прост, и, если повезет, он может сработать.