Example #1
0
	/**
	 * Update the redirect entry for a given page
	 * @param $id int The page_id of the redirect
	 */
	private function fixRedirect( $id ){
		global $wgTitle;

		$wgTitle = Title::newFromID( $id );
		$dbw = wfGetDB( DB_MASTER );

		if ( is_null( $wgTitle ) ) {
			// This page doesn't exist (any more)
			// Delete any redirect table entry for it
			$dbw->delete( 'redirect', array( 'rd_from' => $id ),
				__METHOD__ );
			return;
		}
		$article = new Article($wgTitle);

		$rt = $article->followRedirect();

		if($rt == false || !is_object($rt)) {
			// $wgTitle is not a redirect
			// Delete any redirect table entry for it
			$dbw->delete( 'redirect', array( 'rd_from' => $id ),
				__METHOD__ );
		} else {
			$article->updateRedirectOn($dbw,$rt);
		}
	}