address in Reply-To instead of From for user-to-user emails.
This protects against SPF problems and privacy-leaking bounce messages
when using mailers that set the envelope sender to the From header value.
+* (bug 11897) Add alias [[Special:CreateAccount]] & [[Special:Userlogin/signup]]
+ for Special:Userlogin?type=signup
=== Bug fixes in 1.12 ===
'Userlogin' => array( 'SpecialPage', 'Userlogin' ),
'Userlogout' => array( 'UnlistedSpecialPage', 'Userlogout' ),
+ 'CreateAccount' => array( 'SpecialCreateAccount' ),
'Preferences' => array( 'SpecialPage', 'Preferences' ),
'Watchlist' => array( 'SpecialPage', 'Watchlist' ),
return SpecialPage::getTitleFor( 'Contributions', $wgUser->getName() );
}
}
+/**
+ * Shortcut to construct a special page pointing to create account form.
+ * @addtogroup SpecialPage
+ */
+class SpecialCreateAccount extends SpecialPage {
+ function __construct() {
+ parent::__construct( 'CreateAccount' );
+ $this->mAllowedRedirectParams = array( 'uselang' );
+ }
+
+ function getRedirect() {
+ return SpecialPage::getTitleFor( 'Userlogin', 'signup' );
+ }
+}
/**
* constructor
*/
-function wfSpecialUserlogin() {
+function wfSpecialUserlogin( $par = '' ) {
global $wgRequest;
if( session_id() == '' ) {
wfSetupSession();
}
- $form = new LoginForm( $wgRequest );
+ $form = new LoginForm( $wgRequest, $par );
$form->execute();
}
* Constructor
* @param WebRequest $request A WebRequest object passed by reference
*/
- function LoginForm( &$request ) {
+ function LoginForm( &$request, $par = '' ) {
global $wgLang, $wgAllowRealName, $wgEnableEmail;
global $wgAuth;
- $this->mType = $request->getText( 'type' );
+ $this->mType = ( $par == 'signup' ) ? $par : $request->getText( 'type' ); # Check for [[Special:Userlogin/signup]]
$this->mName = $request->getText( 'wpName' );
$this->mPassword = $request->getText( 'wpPassword' );
$this->mRetype = $request->getText( 'wpRetype' );
'Disambiguations' => array( 'Disambiguations' ),
'Userlogin' => array( 'Userlogin' ),
'Userlogout' => array( 'Userlogout' ),
+ 'CreateAccount' => array( 'CreateAccount' ),
'Preferences' => array( 'Preferences' ),
'Watchlist' => array( 'Watchlist' ),
'Recentchanges' => array( 'Recentchanges' ),