diff options
author | Gábor Hojtsy <gabor@hojtsy.hu> | 2007-10-25 10:30:40 +0000 |
---|---|---|
committer | Gábor Hojtsy <gabor@hojtsy.hu> | 2007-10-25 10:30:40 +0000 |
commit | 13f9882979c3cef003fba656991f88b6cbe9f128 (patch) | |
tree | 37515aca7b850d95c2335637e891f812631fe065 | |
parent | b036bef620ce26db19bb1d47cec0abc2746d2f83 (diff) | |
download | brdo-13f9882979c3cef003fba656991f88b6cbe9f128.tar.gz brdo-13f9882979c3cef003fba656991f88b6cbe9f128.tar.bz2 |
#179276 by JirkaRybka: (regression) fix profile field sections to order properly by weight.
-rw-r--r-- | includes/common.inc | 6 | ||||
-rw-r--r-- | modules/user/user.module | 2 | ||||
-rw-r--r-- | modules/user/user.pages.inc | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/includes/common.inc b/includes/common.inc index bb7a020cd..d2a3b92a3 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -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) { diff --git a/modules/user/user.module b/modules/user/user.module index 193bec33b..b7bde6049 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -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( diff --git a/modules/user/user.pages.inc b/modules/user/user.pages.inc index 55f2663a9..1188b2518 100644 --- a/modules/user/user.pages.inc +++ b/modules/user/user.pages.inc @@ -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]); |