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; }