[wp-trac] Re: [WordPress Trac] #5541: Refactor and simplify WP_Roles
WordPress Trac
wp-trac at lists.automattic.com
Sun Dec 30 11:19:03 GMT 2007
#5541: Refactor and simplify WP_Roles
-------------------------+--------------------------------------------------
Reporter: tellyworth | Owner: anonymous
Type: enhancement | Status: new
Priority: normal | Milestone: 2.5
Component: General | Version:
Severity: normal | Resolution:
Keywords: has-patch |
-------------------------+--------------------------------------------------
Comment (by tellyworth):
It'd be easy enough for a plugin to fetch the old db roles and load them
by hooking the init_roles action. Off the top of my head, something like:
{{{
function load_db_roles(&$_roles) {
$role_key = $wpdb->prefix . 'user_roles';
$roles = get_option($role_key);
foreach ($roles as $k=>$role) {
$_roles->add_role($k, $role['name'], $role['capabilities']);
}
}
add_action('init_roles', 'load_db_roles');
}}}
My initial thought on upgrades was, we could examine the old db roles at
upgrade time, use array_diff() to find any differences from the default
roles, and then store just the diffs in the db (or nothing, if there are
no diffs). Then at runtime we load the db roles (if any) and merge it
into the new hard-coded roles. That'd be seamless if it worked, but is
probably overkill and a bit too fragile.
--
Ticket URL: <http://trac.wordpress.org/ticket/5541#comment:2>
WordPress Trac <http://trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list