70 if ( !$this->allowDoubleRedirects ) {
71 $newRedirectTarget = $this->newContent->getRedirectTarget();
73 if ( $newRedirectTarget !==
null && $newRedirectTarget->isRedirect() &&
74 !$newRedirectTarget->equals( $this->title ) ) {
76 $currentTarget = $this->originalContent->getRedirectTarget();
79 if ( !$currentTarget || !$currentTarget->isRedirect() ) {
80 $this->result = self::CONSTRAINT_FAILED;
81 $this->doubleRedirectTarget =
82 $this->redirectLookup->getRedirectTarget( $this->newContent->getRedirectTarget() );
83 $this->willCreateSelfRedirect =
84 $this->doubleRedirectTarget !=
null &&
85 $this->doubleRedirectTarget->isSameLinkAs( $this->title );
87 return self::CONSTRAINT_FAILED;
91 $this->result = self::CONSTRAINT_PASSED;
93 return self::CONSTRAINT_PASSED;
98 if ( $this->result === self::CONSTRAINT_FAILED ) {
99 $realRedirectTarget = $this->redirectLookup->getRedirectTarget( $this->newContent->getRedirectTarget() );
100 $realTargetTitle = Title::castFromLinkTarget( $realRedirectTarget );
103 'edit-constraint-doubleredirect',
106 $statusValue->value = self::AS_DOUBLE_REDIRECT;