const AS_IMAGE_REDIRECT_ANON = 233;
const AS_IMAGE_REDIRECT_LOGGED = 234;
+ /**
+ * @var Article
+ */
var $mArticle;
+
+ /**
+ * @var Title
+ */
var $mTitle;
private $mContextTitle = null;
var $action;
$this->preview = true;
}
- $wgOut->addModules( array( 'mediawiki.legacy.edit', 'mediawiki.action.edit' ) );
+ $wgOut->addModules( array( 'mediawiki.action.edit' ) );
if ( $wgUser->getOption( 'uselivepreview', false ) ) {
$wgOut->addModules( 'mediawiki.legacy.preview' );
}
+ // Bug #19334: textarea jumps when editing articles in IE8
+ $wgOut->addStyle( 'common/IE80Fixes.css', 'screen', 'IE 8' );
$permErrors = $this->getEditPermissionErrors();
if ( $permErrors ) {
# Article exists. Check for edit conflict.
$this->mArticle->clear(); # Force reload of dates, etc.
- $this->mArticle->forUpdate( true ); # Lock the article
wfDebug( "timestamp: {$this->mArticle->getTimestamp()}, edittime: {$this->edittime}\n" );
$dbw = wfGetDB( DB_MASTER );
$dbw->begin();
if ( $this->watchthis ) {
- $this->mArticle->doWatch();
+ Action::factory( 'watch', $this->mArticle )->execute();
} else {
- $this->mArticle->doUnwatch();
+ Action::factory( 'watch', $this->mArticle )->execute();
}
$dbw->commit();
}
// It is better to not parse the comment at all than to have templates expanded in the middle
// TODO: can the checkLabel be moved outside of the div so that wrapWikiMsg could be used?
+ $key = $comment === ''
+ ? 'confirmrecreate-noreason'
+ : 'confirmrecreate';
$wgOut->addHTML(
'<div class="mw-confirm-recreate">' .
- wfMsgExt( 'confirmrecreate', 'parseinline', $username, "<nowiki>$comment</nowiki>" ) .
+ wfMsgExt( $key, 'parseinline', $username, "<nowiki>$comment</nowiki>" ) .
Xml::checkLabel( wfMsg( 'recreate' ), 'wpRecreate', 'wpRecreate', false,
array( 'title' => $sk->titleAttrib( 'recreate' ), 'tabindex' => 1, 'id' => 'wpRecreate' )
) .
$paramList = implode( ',',
array_map( array( 'Xml', 'encodeJsVar' ), $params ) );
- $script .= "addButton($paramList);\n";
+ $script .= "mw.toolbar.addButton($paramList);\n";
}
-
+ $script .= "mw.toolbar.init();\n";
$wgOut->addScript( Html::inlineScript(
"if ( window.mediaWiki ) { jQuery(function(){{$script}}); }"
) );
$result = "";
$working = 0;
for( $i = 0; $i < strlen( $invalue ); $i++ ) {
- $bytevalue = ord( $invalue{$i} );
+ $bytevalue = ord( $invalue[$i] );
if ( $bytevalue <= 0x7F ) { //0xxx xxxx
$result .= chr( $bytevalue );
$bytesleft = 0;
function unmakesafe( $invalue ) {
$result = "";
for( $i = 0; $i < strlen( $invalue ); $i++ ) {
- if ( ( substr( $invalue, $i, 3 ) == "&#x" ) && ( $invalue{$i+3} != '0' ) ) {
+ if ( ( substr( $invalue, $i, 3 ) == "&#x" ) && ( $invalue[$i+3] != '0' ) ) {
$i += 3;
$hexstring = "";
do {
- $hexstring .= $invalue{$i};
+ $hexstring .= $invalue[$i];
$i++;
- } while( ctype_xdigit( $invalue{$i} ) && ( $i < strlen( $invalue ) ) );
+ } while( ctype_xdigit( $invalue[$i] ) && ( $i < strlen( $invalue ) ) );
// Do some sanity checks. These aren't needed for reversability,
// but should help keep the breakage down if the editor