#179276 by JirkaRybka: (regression) fix profile field sections to order properly by weight.
parent
b036bef620
commit
13f9882979
|
@ -2612,7 +2612,7 @@ function drupal_render(&$elements) {
|
|||
// Either the elements did not go through form_builder or one of the children
|
||||
// has a #weight.
|
||||
if (!isset($elements['#sorted'])) {
|
||||
uasort($elements, "_element_sort");
|
||||
uasort($elements, "element_sort");
|
||||
}
|
||||
$elements += array('#title' => NULL, '#description' => NULL);
|
||||
if (!isset($elements['#children'])) {
|
||||
|
@ -2676,9 +2676,9 @@ function drupal_render(&$elements) {
|
|||
}
|
||||
|
||||
/**
|
||||
* Function used by uasort in drupal_render() to sort structured arrays by weight.
|
||||
* Function used by uasort to sort structured arrays by weight.
|
||||
*/
|
||||
function _element_sort($a, $b) {
|
||||
function element_sort($a, $b) {
|
||||
$a_weight = (is_array($a) && isset($a['#weight'])) ? $a['#weight'] : 0;
|
||||
$b_weight = (is_array($b) && isset($b['#weight'])) ? $b['#weight'] : 0;
|
||||
if ($a_weight == $b_weight) {
|
||||
|
|
|
@ -569,7 +569,7 @@ function user_user($type, &$edit, &$account, $category = NULL) {
|
|||
$account->content['summary'] += array(
|
||||
'#type' => 'user_profile_category',
|
||||
'#attributes' => array('class' => 'user-member'),
|
||||
'#weight' => -5,
|
||||
'#weight' => 5,
|
||||
'#title' => t('History'),
|
||||
);
|
||||
$account->content['summary']['member_for'] = array(
|
||||
|
|
|
@ -170,6 +170,8 @@ function user_view($account) {
|
|||
*/
|
||||
function template_preprocess_user_profile(&$variables) {
|
||||
$variables['profile'] = array();
|
||||
// Sort sections by weight
|
||||
uasort($variables['account']->content, 'element_sort');
|
||||
// Provide keyed variables so themers can print each section independantly.
|
||||
foreach (element_children($variables['account']->content) as $key) {
|
||||
$variables['profile'][$key] = drupal_render($variables['account']->content[$key]);
|
||||
|
|
Loading…
Reference in New Issue