FAQ Как отключить табы действий незалогиненым пользователям

Юрий Бондаренко

Гуру MediaWiki
Регистрация
26.05.2015
Сообщения
284
Реакции
72
PHP:
##################
# Remove some tabs
##################
// Hooks
$wgHooks['SkinTemplateNavigation'][] = 'fnHVTFUUremoveTabsFromVector';

// Tabs of view to remove
$wgHVTFUUviewsToRemove = array( 'view', 'viewsource' /* read */, 'edit', 'addsection' /* on talkpages */, 'history' );

function fnHVTFUUremoveTabsFromVector( SkinTemplate &$sktemplate, array &$links ) {
        global $wgUser, $wgHVTFUUviewsToRemove;

        // Only remove tabs if user isn't allowed to edit pages
        if ( $wgUser->isAllowed( 'edit' ) ) {
                return false;
        }

        // Remove talkpage tab
        if ( isset( $links['namespaces']['talk'] ))
                unset( $links['namespaces']['talk'] );

        // Remove actions tabs
        foreach ( $wgHVTFUUviewsToRemove as $view ) {
                if ( isset( $links['views'][$view] ))
                        unset( $links['views'][$view] );
        }

        return true;
}
 
Здорово! Но подскажите, куда это лучше вставить?
 
Назад
Верх