From 273ef8a61aabffaa1d4824890fdbd9546095bdbc Mon Sep 17 00:00:00 2001 From: daniel Date: Thu, 24 May 2012 18:30:03 +0200 Subject: [PATCH] fix EditAction not to use ContentHandler also fixing autolaoder details. because i amended the wrong commit and can't be assed to undo that. --- includes/AutoLoader.php | 14 +++++++------- includes/actions/EditAction.php | 11 +++-------- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/includes/AutoLoader.php b/includes/AutoLoader.php index 6cac36897c..5736b962ea 100644 --- a/includes/AutoLoader.php +++ b/includes/AutoLoader.php @@ -1027,13 +1027,13 @@ class AutoLoader { static function autoload( $className ) { global $wgAutoloadClasses, $wgAutoloadLocalClasses; - # Workaround for PHP bug (5.3.2. is broken, it's fixed in 5.3.6). - # Strip leading backslashes from class names. When namespaces are used, leading backslashes are used to indicate - # the top-level namespace, e.g. \foo\Bar. When used like this in the code, the leading backslash isn't passed to - # the auto-loader ($className would be 'foo\Bar'). However, if a class is accessed using a string instead of a - # class literal (e.g. $class = '\foo\Bar'; new $class()), then some versions of PHP do not strip the leading - # backlash in this case, causing autoloading to fail. - $className = preg_replace( '/^\\\\/', '', $className ); + // Workaround for PHP bug (5.3.2. is broken, it's fixed in 5.3.6). + // Strip leading backslashes from class names. When namespaces are used, leading backslashes are used to indicate + // the top-level namespace, e.g. \foo\Bar. When used like this in the code, the leading backslash isn't passed to + // the auto-loader ($className would be 'foo\Bar'). However, if a class is accessed using a string instead of a + // class literal (e.g. $class = '\foo\Bar'; new $class()), then some versions of PHP do not strip the leading + // backlash in this case, causing autoloading to fail. + $className = ltrim( $className, '\\' ); if ( isset( $wgAutoloadLocalClasses[$className] ) ) { $filename = $wgAutoloadLocalClasses[$className]; diff --git a/includes/actions/EditAction.php b/includes/actions/EditAction.php index 3771586df3..1c97b26c50 100644 --- a/includes/actions/EditAction.php +++ b/includes/actions/EditAction.php @@ -40,19 +40,14 @@ class EditAction extends FormlessAction { $context = $this->getContext(); if ( wfRunHooks( 'CustomEditor', array( $page, $user ) ) ) { - if ( ( $page->getContent() instanceof TextContentHandler ) ) { - $modelName = ContentHandler::getContentModelName( $page->getContentModel() ); - throw new MWException( "Can't use default editor for non-text content. ContentHandler for $modelName apparently does not provide an action handler for the edit action." ); - } - if ( ExternalEdit::useExternalEngine( $context, 'edit' ) && $this->getName() == 'edit' && !$request->getVal( 'section' ) && !$request->getVal( 'oldid' ) ) { - $extedit = $handler->createExternalEdit( $context ); + $extedit = new ExternalEdit( $context ); $extedit->execute(); } else { - $editor = $handler->createEditPage( $page ); + $editor = new EditPage( $page ); $editor->edit(); } } @@ -76,4 +71,4 @@ class SubmitAction extends EditAction { parent::show(); } -} +} \ No newline at end of file -- 2.20.1