function flexprofile_get_data_for_summary_display($form, $user)
{
    $form_id = $form->getGUID();
    $data = form_get_data_from_profile($form_id, $user);
    $area_data = array();
    $maps = form_get_maps($form_id);
    if ($maps) {
        foreach ($maps as $map) {
            $field = get_entity($map->field_id);
            //print($field->internal_name.','.$field->field_type.','.$field->choice_type.','.$field->default_value.'<br />');
            $internalname = $field->internal_name;
            if (isset($data[$internalname]) && $data[$internalname]->value) {
                $area = $field->area;
                if ($area) {
                    if (!isset($area_data[$area])) {
                        $area_data[$area] = array();
                    }
                    $item = new StdClass();
                    $item->internalname = $internalname;
                    $item->title = form_field_t($form, $field, 'title');
                    $item->description = form_field_t($form, $field, 'description');
                    if ($field->field_type == 'choices') {
                        $item->fieldtype = $field->choice_type;
                        $choices = form_get_field_choices($field->getGUID());
                        $this_choice = '';
                        foreach ($choices as $choice) {
                            if ($choice->value == $data[$internalname]->value) {
                                $this_choice = $choice;
                                break;
                            }
                        }
                        $item->value = form_choice_t($form, $field, $this_choice);
                    } else {
                        $item->fieldtype = $field->field_type;
                        $item->value = $data[$internalname]->value;
                    }
                    $area_data[$area][] = $item;
                }
            }
        }
    }
    return $area_data;
}
function form_get_profile_data_from_form_post()
{
    $form_id = get_input('form_id', 0);
    $flexprofile_data = array();
    $data = array();
    $images = array();
    $maps = form_get_maps($form_id);
    // does not handle image uploads or required data right now, but should
    // best to use the function in the form plugin instead? Not sure ...
    if ($maps) {
        foreach ($maps as $map) {
            $field = get_entity($map->field_id);
            $flexprofile_data[$field->internal_name] = get_input('form_data_' . $field->internal_name, '');
            if ($field->field_type == 'tags') {
                // KJ - I reverse the array to fix an annoying Elgg tag order bug
                // I will remove this workaround when the bug is fixed
                $flexprofile_data[$field->internal_name] = array_reverse(string_to_tag_array($flexprofile_data[$field->internal_name]));
            } else {
                if ($field->field_type == 'image_upload') {
                    // special handling for images
                    $images[] = $field->internal_name;
                }
            }
        }
    }
    $profile = get_entity($form_id)->profile;
    if ($profile == 1) {
        $flexprofile_access = get_input('flexprofile_access', '');
    }
    foreach ($flexprofile_data as $name => $value) {
        if (!in_array($name, $images)) {
            $data[$name] = new StdClass();
            $data[$name]->value = $value;
            if ($profile == 1) {
                $data[$name]->access_id = $flexprofile_access[$name];
            } else {
                $data[$name]->access_id = ACCESS_PUBLIC;
            }
        }
    }
    // not sure if this should go here
    foreach ($images as $image) {
        $formfieldname = 'form_data_' . $image;
        // don't do anything if this field is blank
        if (isset($_FILES[$formfieldname]['name']) && trim($_FILES[$formfieldname]['name'])) {
            // should probably delete the old image data somehow, if it exists
            $data[$image] = new StdClass();
            if ($profile == 1) {
                $data[$image]->access_id = $flexprofile_access[$image];
            } else {
                $data[$image]->access_id = ACCESS_PUBLIC;
            }
            $data[$image]->value = form_handle_file_upload($formfieldname, $flexprofile_access[$image]);
        }
    }
    return $data;
}
 *
 */
// Load form model
require_once dirname(dirname(__FILE__)) . "/models/model.php";
global $CONFIG;
// Define context
set_context('form:content');
$form_data_id = get_input('form_data_id', 0);
$form_id = get_input('form_id', 0);
$preview = get_input('preview', 0);
$form = get_entity($form_id);
$title = $form->title;
if ($preview) {
    $body = '<p class="form-description">' . elgg_echo('form:preview_results_description') . '</p>';
    $form_data = form_get_data_from_form_submit($form_id);
    $maps = form_get_maps($form_id);
    if ($maps) {
        foreach ($maps as $map) {
            $field = get_entity($map->field_id);
            $value = isset($form_data[$field->internal_name]) ? $form_data[$field->internal_name] : '';
            $body .= '<p><b>' . $field->title . ' (' . $field->internal_name . ') : ' . $value . '</p>';
        }
    }
} else {
    $result = form_set_data_from_form($form_data_id);
    if ($result->error_status) {
        if ($result->error_reason == 'missing') {
            register_error(elgg_view('form/missing_error', array('missing' => $result->missing)));
        } else {
            if ($result->error_reason == 'save_failed') {
                register_error(elgg_echo('form:err_save_failed'));
function form_get_tabbed_output_display($form, $data)
{
    $form_id = $form->getGUID();
    $tab_data = array();
    $maps = form_get_maps($form_id);
    if ($maps) {
        foreach ($maps as $map) {
            $field = get_entity($map->field_id);
            if ($field->field_type != 'access') {
                $internalname = $field->internal_name;
                if (isset($data[$internalname]) && $data[$internalname]->value) {
                    if (!$field->tab) {
                        if ($form->translate) {
                            $tab = form_tab_t($form, elgg_echo('form:basic_tab_label'));
                        } else {
                            $tab = elgg_echo('form:basic_tab_label');
                        }
                    } else {
                        $tab = form_tab_t($form, $field->tab);
                    }
                    if (!isset($tab_data[$tab])) {
                        $tab_data[$tab] = '';
                    }
                    $title = form_field_t($form, $field, 'title');
                    $value = form_get_field_output($form, $field, $data[$internalname]->value);
                    $tab_data[$tab] .= elgg_view('form/extended_display_field', array('title' => $title, 'value' => $value));
                }
            }
        }
    }
    return $tab_data;
}