class bd_http_https_auth {
/**
* @var bd_http_https_auth - Static property to hold our singleton instance
*/
static $instance = false;
private $_second_auth = false;
private function __construct() {
add_action( 'set_auth_cookie', array( $this, 'auth_again' ), null, 5 );
}
public function auth_again( $auth_cookie, $expire, $expiration, $user_id, $scheme ) {
if ( !$this->_second_auth ) {
$this->_second_auth = true;
wp_set_auth_cookie( $user_id, (bool) $expire, (bool) ( $scheme == 'auth' ) );
$this->_second_auth = false;
}
}
/**
* Function to instantiate our class and make it a singleton
*/
public static function getInstance() {
if ( !self::$instance ) {
self::$instance = new self;
}
return self::$instance;
}
}
$bd_http_https_auth = bd_http_https_auth::getInstance();