New hook, UserRequiresHTTPS
authorMax Semenik <maxsem.wiki@gmail.com>
Tue, 20 Aug 2013 15:58:12 +0000 (19:58 +0400)
committerMax Semenik <maxsem.wiki@gmail.com>
Tue, 20 Aug 2013 15:58:12 +0000 (19:58 +0400)
Intended for situations where current user can't technically access the
site over a secure connection, e.g. due to a terribly obsolete browser or
WP Zero carrier that provides only insecure free access to the site.

Change-Id: I343985092c49a21fa347ca4dc0e5ec27774ad11d

docs/hooks.txt
includes/User.php

index 9d3da1c..e776d4c 100644 (file)
@@ -2675,6 +2675,12 @@ $user  : User object that was changed
 $add   : Array of strings corresponding to groups added
 $remove: Array of strings corresponding to groups removed
 
+'UserRequiresHTTPS': Called to determine whether a user needs
+to be switched to HTTPS.
+$user: User in question.
+&$https: Boolean whether $user should be switched to HTTPS.
+
+
 'UserRetrieveNewTalks': Called when retrieving "You have new messages!"
 message(s).
 $user: user retrieving new talks messages
index dcfc511..2923026 100644 (file)
@@ -2610,7 +2610,9 @@ class User {
                if ( !$wgSecureLogin ) {
                        return false;
                } else {
-                       return $this->getBoolOption( 'prefershttps' );
+                       $https = $this->getBoolOption( 'prefershttps' );
+                       wfRunHooks( 'UserRequiresHTTPS', array( $this, &$https ) );
+                       return $https;
                }
        }