function ctools_profile_fields_content_type_render

'Render' callback for the 'profile fields' content type.

File

plugins/content_types/user_context/profile_fields.inc, line 27

Code

function ctools_profile_fields_content_type_render($subtype, $conf, $panel_args, $context) {
  $account = isset($context->data) ? clone $context->data : NULL;
  $block = new stdClass();
  $block->module = 'profile fields';
  if ($account) {
    // Get the category from the options.
    $category = str_replace("_", " ", $conf['category']);
    // Set the subject to the name of the category.
    $block->subject = $category;
    // Put all the fields in the category into an array.
    profile_view_profile($account);
    if (is_array($account->content[$category])) {
      foreach ($account->content[$category] as $field) {
        if (is_array($field['#attributes'])) {
          // @todo 'class' is *always* an array now. 04/10/2009 sun
          $vars[$field['#attributes']['class']]['title'] = $field['#title'];
          $vars[$field['#attributes']['class']]['value'] = $field['#value'];
        }
      }
    }
    if (count($vars) == 0) {
      // Output the given empty text.
      $output = $conf['empty'];
    }
    else {
      // Call the theme function with the field vars.
      $output = theme('profile_fields_pane', $category, $vars);
    }
    $block->content = $output;
    $block->delta = $account->uid;
  }
  else {
    $block->subject = $conf['category'];
    $block->content = t('Profile content goes here.');
    $block->delta = 'unknown';
  }
  return $block;
}