$form_info = ft_get_form($form_id); $view_info = ft_get_view($view_id); // this is crumby $has_tabs = false; foreach ($view_info["tabs"] as $tab_info) { if (!empty($tab_info["tab_label"])) { $has_tabs = true; break; } } if ($has_tabs) { $tab_number = ft_load_field("tab", "view_{$view_id}_current_tab", 1); } else { $tab_number = ""; } $grouped_fields = ft_get_grouped_view_fields($view_id, $tab_number, $form_id, $submission_id); if ($failed_validation) { $grouped_fields = ft_merge_form_submission($grouped_fields, $_POST); } $page_field_ids = array(); $page_field_type_ids = array(); $page_has_required_fields = false; foreach ($grouped_fields as $group) { foreach ($group["fields"] as $field_info) { $page_field_ids[] = $field_info["field_id"]; if (!in_array($field_info["field_type_id"], $page_field_type_ids)) { $page_field_type_ids[] = $field_info["field_type_id"]; } if ($field_info["is_required"]) { $page_has_required_fields = true; }
// a form ID & view ID should always be set when visiting this page $view_id = ft_load_field("view_id", "form_{$form_id}_view_id"); // this updates all four sections of the view at once (since all may have been modified) if (isset($request["update_view"])) { $request["form_id"] = $form_id; $request["view_fields_sortable_id"] = $view_fields_sortable_id; $request["submission_list_sortable_id"] = $submission_list_sortable_id; list($g_success, $g_message) = ft_update_view($view_id, $request); } $form_info = ft_get_form($form_id); $form_fields = ft_get_form_fields($form_id, array("include_field_type_info" => true)); $view_info = ft_get_view($view_id); $form_database_column_info = ft_get_form_column_names($form_id); $view_clients = ft_get_view_clients($view_id); $view_tabs = ft_get_view_tabs($view_id); $grouped_fields = ft_get_grouped_view_fields($view_id); $field_types = ft_get_field_type_names(); $new_view_submission_defaults = ft_get_new_view_submission_defaults($view_id); // this returns ALL filters: standard and client map $standard_filters = ft_get_view_filters($view_id, "standard"); $client_map_filters = ft_get_view_filters($view_id, "client_map"); $num_standard_filters = count($standard_filters); $num_client_map_filters = count($client_map_filters); $edit_view_tab = isset($_SESSION["ft"]["inner_tabs"]["edit_view"]) ? $_SESSION["ft"]["inner_tabs"]["edit_view"] : 1; if (isset($request["edit_view_tab"])) { $edit_view_tab = $request["edit_view_tab"]; $_SESSION["ft"]["inner_tabs"]["edit_view"] = $edit_view_tab; } $view_omit_list = ft_get_public_view_omit_list($view_id); $num_clients_on_omit_list = count($view_omit_list); // assumes view_ns.all_form_fields and view_ns.view_tabs JS arrays have been defined in manage_views.js