- Patch #31123 by Ber: make it easier to theme the user profile pages.
parent
fd854ea105
commit
4005922332
|
@ -42,7 +42,7 @@ function blog_access($op, $node) {
|
|||
*/
|
||||
function blog_user($type, &$edit, &$user) {
|
||||
if ($type == 'view' && user_access('edit own blog', $user)) {
|
||||
return array(t('History') => form_item(t('Blog'), l(t('view recent blog entries'), "blog/$user->uid", array('title' => t("Read %username's latest blog entries.", array('%username' => $user->name))))));
|
||||
return array(t('History') => array('blog' => form_item(t('Blog'), l(t('view recent blog entries'), "blog/$user->uid", array('title' => t("Read %username's latest blog entries.", array('%username' => $user->name)))))));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ function blog_access($op, $node) {
|
|||
*/
|
||||
function blog_user($type, &$edit, &$user) {
|
||||
if ($type == 'view' && user_access('edit own blog', $user)) {
|
||||
return array(t('History') => form_item(t('Blog'), l(t('view recent blog entries'), "blog/$user->uid", array('title' => t("Read %username's latest blog entries.", array('%username' => $user->name))))));
|
||||
return array(t('History') => array('blog' => form_item(t('Blog'), l(t('view recent blog entries'), "blog/$user->uid", array('title' => t("Read %username's latest blog entries.", array('%username' => $user->name)))))));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -297,7 +297,7 @@ function profile_view_profile($user) {
|
|||
if ($value = profile_view_field($user, $field)) {
|
||||
$description = ($field->visibility == PROFILE_PRIVATE) ? t('The content of this field is private and only visible to yourself.') : '';
|
||||
$title = ($field->type != 'checkbox') ? check_plain($field->title) : '';
|
||||
$fields[$field->category] .= form_item($title, $value, $description);
|
||||
$fields[$field->category][$field->name] = form_item($title, $value, $description);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -297,7 +297,7 @@ function profile_view_profile($user) {
|
|||
if ($value = profile_view_field($user, $field)) {
|
||||
$description = ($field->visibility == PROFILE_PRIVATE) ? t('The content of this field is private and only visible to yourself.') : '';
|
||||
$title = ($field->type != 'checkbox') ? check_plain($field->title) : '';
|
||||
$fields[$field->category] .= form_item($title, $value, $description);
|
||||
$fields[$field->category][$field->name] = form_item($title, $value, $description);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -467,7 +467,7 @@ function user_search($op = 'search', $keys = null) {
|
|||
*/
|
||||
function user_user($type, &$edit, &$user, $category = NULL) {
|
||||
if ($type == 'view') {
|
||||
return array(t('History') => form_item(t('Member for'), format_interval(time() - $user->created)));
|
||||
return array(t('History') => array('history'=> form_item(t('Member for'), format_interval(time() - $user->created))));
|
||||
}
|
||||
|
||||
if ($type == 'form' && $category == 'account') {
|
||||
|
@ -618,10 +618,21 @@ function theme_user_picture($account) {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Theme a user page
|
||||
* @param $account the user object
|
||||
* @param $fields an mulidimensional array for the fields, in the form of
|
||||
* array('category1'=> array('name1' => field1, 'name2' => field2),
|
||||
* 'category2'=> array('name3' => field3, 'name4' => field4, 'name5' => field5),
|
||||
* .. etc);
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
function theme_user_profile($account, $fields) {
|
||||
$output = "<div class=\"profile\">\n";
|
||||
$output .= theme('user_picture', $account);
|
||||
foreach ($fields as $category => $value) {
|
||||
$value = implode('', $value);
|
||||
$output .= theme('box', $category, $value);
|
||||
}
|
||||
$output .= "</div>\n";
|
||||
|
@ -1281,11 +1292,10 @@ function user_view($uid = 0) {
|
|||
foreach (module_list() as $module) {
|
||||
if ($data = module_invoke($module, 'user', 'view', '', $account)) {
|
||||
foreach ($data as $category => $content) {
|
||||
$fields[$category] .= $content;
|
||||
$fields[$category] = $content;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
drupal_set_title($account->name);
|
||||
return theme('user_profile', $account, $fields);
|
||||
}
|
||||
|
|
|
@ -467,7 +467,7 @@ function user_search($op = 'search', $keys = null) {
|
|||
*/
|
||||
function user_user($type, &$edit, &$user, $category = NULL) {
|
||||
if ($type == 'view') {
|
||||
return array(t('History') => form_item(t('Member for'), format_interval(time() - $user->created)));
|
||||
return array(t('History') => array('history'=> form_item(t('Member for'), format_interval(time() - $user->created))));
|
||||
}
|
||||
|
||||
if ($type == 'form' && $category == 'account') {
|
||||
|
@ -618,10 +618,21 @@ function theme_user_picture($account) {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Theme a user page
|
||||
* @param $account the user object
|
||||
* @param $fields an mulidimensional array for the fields, in the form of
|
||||
* array('category1'=> array('name1' => field1, 'name2' => field2),
|
||||
* 'category2'=> array('name3' => field3, 'name4' => field4, 'name5' => field5),
|
||||
* .. etc);
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
function theme_user_profile($account, $fields) {
|
||||
$output = "<div class=\"profile\">\n";
|
||||
$output .= theme('user_picture', $account);
|
||||
foreach ($fields as $category => $value) {
|
||||
$value = implode('', $value);
|
||||
$output .= theme('box', $category, $value);
|
||||
}
|
||||
$output .= "</div>\n";
|
||||
|
@ -1281,11 +1292,10 @@ function user_view($uid = 0) {
|
|||
foreach (module_list() as $module) {
|
||||
if ($data = module_invoke($module, 'user', 'view', '', $account)) {
|
||||
foreach ($data as $category => $content) {
|
||||
$fields[$category] .= $content;
|
||||
$fields[$category] = $content;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
drupal_set_title($account->name);
|
||||
return theme('user_profile', $account, $fields);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue