/**
     * @since 0.3
     *
     * @param $template
     *
     * @return false
     */
	public static function onUserCreateForm( $template ) {
		if ( is_null( Title::newFromText( SemanticSignupSettings::get( 'formName' ), SF_NS_FORM ) ) ) {
			return true;
		}

		$url = SemanticSignup::getTitleFor( 'SemanticSignup' )->escapeFullURL();
		global $wgOut;
		$wgOut->redirect( $url );

		return false;
	}
	private function printForm() {
		global $wgUser;

		/*
		 * SemanticForms disable the form automatically if current user hasn't got edit rights
		 * so we have to use a bot account for the form request. Current user is being saved in
		 * the $old_user variable to be restored afterwards
		 */
		$old_user = null;
		if ( $wgUser->isAnon() ) {
			$old_user = $wgUser;
			$wgUser = User::newFromName( SemanticSignupSettings::get( 'botName' ) );
		}

		$form_title = Title::newFromText( SemanticSignupSettings::get( 'formName' ), SF_NS_FORM );
		$form = new Article( $form_title );
		$form_definition = $form->getContent();

		global $sfgFormPrinter;

		list ( $form_text, $javascript_text, $data_text, $form_page_title, $generated_page_name ) =
			$sfgFormPrinter->formHTML( $form_definition, false, false );

		$text = <<<END
				<form name="createbox" onsubmit="return validate_all()" action="" method="post" class="createbox">
END;
		$text .= $form_text . '</form>';

		global $sfgScriptPath, $sfgYUIBase, $wgOut;
		$mainCssUrl = $sfgScriptPath . '/skins/SF_main.css';
		$wgOut->addLink( array(
			'rel' => 'stylesheet',
			'type' => 'text/css',
			'media' => "screen, projection",
			'href' => $mainCssUrl
		) );
		$wgOut->addLink( array(
			'rel' => 'stylesheet',
			'type' => 'text/css',
			'media' => "screen, projection",
			'href' => $sfgYUIBase . "autocomplete/assets/skins/sam/autocomplete.css"
		) );
		$wgOut->addLink( array(
			'rel' => 'stylesheet',
			'type' => 'text/css',
			'media' => "screen, projection",
			'href' => $sfgScriptPath . '/skins/SF_yui_autocompletion.css'
		) );
		$wgOut->addLink( array(
			'rel' => 'stylesheet',
			'type' => 'text/css',
			'media' => "screen, projection",
			'href' => $sfgScriptPath . '/skins/floatbox.css'
		) );

		// FIXME: wtf?
		$wgOut->addScript( '<script type="text/javascript" src="' . $sfgYUIBase . 'yahoo/yahoo-min.js"></script>' . "\n" );
		$wgOut->addScript( '<script type="text/javascript" src="' . $sfgYUIBase . 'dom/dom-min.js"></script>' . "\n" );
		$wgOut->addScript( '<script type="text/javascript" src="' . $sfgYUIBase . 'event/event-min.js"></script>' . "\n" );
		$wgOut->addScript( '<script type="text/javascript" src="' . $sfgYUIBase . 'get/get-min.js"></script>' . "\n" );
		$wgOut->addScript( '<script type="text/javascript" src="' . $sfgYUIBase . 'connection/connection-min.js"></script>' . "\n" );
		$wgOut->addScript( '<script type="text/javascript" src="' . $sfgYUIBase . 'json/json-min.js"></script>' . "\n" );
		$wgOut->addScript( '<script type="text/javascript" src="' . $sfgYUIBase . 'datasource/datasource-min.js"></script>' . "\n" );
		$wgOut->addScript( '<script type="text/javascript" src="' . $sfgYUIBase . 'autocomplete/autocomplete-min.js"></script>' . "\n" );
		$wgOut->addScript( '<script type="text/javascript" src="' . $sfgScriptPath . '/libs/SF_yui_autocompletion.js"></script>' . "\n" );
		$wgOut->addScript( '<script type="text/javascript" src="' . $sfgScriptPath . '/libs/floatbox.js"></script>' . "\n" );

	    global $wgFCKEditorDir;
	    if ( $wgFCKEditorDir ) {
	    	$wgOut->addScript( '<script type="text/javascript" src="' . "$wgScriptPath/$wgFCKEditorDir" . '/fckeditor.js"></script>' . "\n" );
	    }

		if ( !empty( $javascript_text ) ) {
			$wgOut->addScript( '		<script type="text/javascript">' . "\n" . $javascript_text . '</script>' . "\n" );
		}

		$wgOut->addMeta( 'robots', 'noindex,nofollow' );
		$wgOut->addHTML( $text );

		// Restore the current user.
		if ( $old_user ) {
			$wgUser = $old_user;
		}
	}