- Patch #598862 by andypost: user role names cannot be translated.

merge-requests/26/head
Dries Buytaert 2010-04-13 15:15:07 +00:00
parent 06fe6cae2d
commit e68cb68c15
2 changed files with 9 additions and 4 deletions

View File

@ -97,6 +97,7 @@ function user_schema() {
'not null' => TRUE,
'default' => '',
'description' => 'Unique role name.',
'translatable' => TRUE,
),
'weight' => array(
'type' => 'int',

View File

@ -2505,12 +2505,16 @@ function user_mail_tokens(&$replacements, $data, $options) {
* value.
*/
function user_roles($membersonly = FALSE, $permission = NULL) {
$query = db_select('role', 'r');
$query->addTag('translatable');
$query->fields('r', array('rid', 'name'));
$query->orderBy('weight');
$query->orderBy('name');
if (!empty($permission)) {
$result = db_query("SELECT r.rid, r.name FROM {role} r INNER JOIN {role_permission} p ON r.rid = p.rid WHERE p.permission = :permission ORDER BY r.weight, r.name", array(':permission' => $permission));
}
else {
$result = db_query('SELECT rid, name FROM {role} ORDER BY weight, name');
$query->innerJoin('role_permission', 'p', 'r.rid = p.rid');
$query->condition('p.permission', $permission);
}
$result = $query->execute();
$roles = array();
foreach ($result as $role) {