mediawiki-extensions-Visual.../VisualEditor.hooks.php
Rob Moen 7d96b8426f Created save dialog in core integration
Stash content element styles and remove transitions
Working towards a cleaner saving experience

Change-Id: Ic67022456f46b2bef56a9b0ccfcf93c3283573c4
2012-05-31 16:56:40 -07:00

54 lines
1.3 KiB
PHP

<?php
class VisualEditorHooks {
/**
* Adds VisualEditor JS to the output if in the correct namespace
*
* @param $output OutputPage
* @param $skin Skin
*/
public static function onPageDisplay( &$output, &$skin ) {
if ( self::loadVisualEditor( $output, $skin ) ) {
$output->addModules( array( 'ext.visualEditor.core' ) );
}
return true;
}
/**
* Determines whether or not we should construct the loader.
*
* @param $output OutputPage
* @param $skin Skin
*/
public static function loadVisualEditor( &$output, &$skin ) {
global $wgTitle;
// Vector skin supported for now.
if ( $skin->getSkinName() !== 'vector' ) {
return false;
}
// Be sure current page is VisualEditor:Something
if ( $wgTitle->getNamespace() !== NS_VISUALEDITOR ) {
return false;
}
return true;
}
/**
*
*/
public static function namespaceProtection( &$title, &$user, $action, &$result ){
global $wgUser, $wgNamespaceProtection;
if ( array_key_exists( $title->mNamespace, $wgNamespaceProtection ) ) {
$nsProt = $wgNamespaceProtection[ $title->mNamespace ];
if ( !is_array($nsProt) ) $nsProt = array($nsProt);
foreach( $nsProt as $right ) {
if( '' != $right && !$user->isAllowed( $right ) ) {
$result = false;
}
}
}
return true;
}
}