Ticket #5405 (closed task (blessed): fixed)

Opened 4 years ago

Last modified 4 years ago

Refactor wp-login.php

Reported by: westi Owned by: westi
Priority: normal Milestone: 2.5
Component: Optimization Version:
Severity: normal Keywords:
Cc:

Description

wp-login.php has a lot of code in it's case statement and it would be good to refactor it so that the different actions are handled by functions.

Attachments

wp-login.diff Download (27.6 KB) - added by ryan 4 years ago.

Change History

Dude. You've totally read my mind.

There have been a couple of times where I'm all like, "Damn it, I'm doing this, I'm refactoring this mess!"

Then looking through everything, I realize it isn't that bad and while there are somethings that would better be in a function, a lot of the code is presentation and can't easily be placed in a function or I can't think of a reason.

However, where I was coming from was refactoring the current stuff, the viewpoint might be to add in additional features or something.

ryan4 years ago

comment:2   ryan4 years ago

Patch moves the POST handling code into functions, making the template-y bits easier to read. retrieve_password(), reset_password(), and register_new_user() are defined at the top of the file. All of them return WP_Error objects in the event of an error. wp_signon() is defined in user.php and is meant to be reusable. The logout code moved into a wp_logout() pluggable function. wp_login() is deprecated in favor of the new wp_authenticate() function which returns a WP_Error object rather than setting an $error global.

comment:3   ryan4 years ago

(In [6643]) Refactor login. see #5405

Yeah. Hmm.

I probably should have suggested a couple of things earlier, but I'll just make a patch instead.

I will say that it is awesomely sweet and the suggestions are minor.

  • Milestone changed from 2.6 to 2.5

comment:7   ryan4 years ago

(In [6644]) Pass remember arg. see #5405

comment:8   ryan4 years ago

Urg, stuff for #5439 slipped in. Only the user.php change is pertinent.

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.