Merge "HTMLTitleTextField: Support 'relative' config option"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 27 Jul 2015 02:12:47 +0000 (02:12 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 27 Jul 2015 02:12:47 +0000 (02:12 +0000)
1  2 
includes/htmlform/HTMLTitleTextField.php

@@@ -29,13 -30,15 +31,20 @@@ class HTMLTitleTextField extends HTMLTe
        }
  
        public function validate( $value, $alldata ) {
 +              if ( $this->mParent->getMethod() === 'get' && $value === '' ) {
 +                      // If the form is a GET form and has no value, assume it hasn't been
 +                      // submitted yet, and skip validation
 +                      return parent::validate( $value, $alldata );
 +              }
                try {
-                       $title = Title::newFromTextThrow( $value );
+                       if ( !$this->mParams['relative'] ) {
+                               $title = Title::newFromTextThrow( $value );
+                       } else {
+                               // Can't use Title::makeTitleSafe(), because it doesn't throw useful exceptions
+                               global $wgContLang;
+                               $namespaceName = $wgContLang->getNsText( $this->mParams['namespace'] );
+                               $title = Title::newFromTextThrow( $namespaceName . ':' . $value );
+                       }
                } catch ( MalformedTitleException $e ) {
                        $msg = $this->msg( $e->getErrorMessage() );
                        $params = $e->getErrorMessageParameters();