summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGábor Hojtsy <gabor@hojtsy.hu>2007-10-25 10:30:40 +0000
committerGábor Hojtsy <gabor@hojtsy.hu>2007-10-25 10:30:40 +0000
commit13f9882979c3cef003fba656991f88b6cbe9f128 (patch)
tree37515aca7b850d95c2335637e891f812631fe065
parentb036bef620ce26db19bb1d47cec0abc2746d2f83 (diff)
downloadbrdo-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.inc6
-rw-r--r--modules/user/user.module2
-rw-r--r--modules/user/user.pages.inc2
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]);