query->get_attr('custom_fields', $form_id ); $this->row_data = get_option('um_form_rowdata_'. $form_id ); foreach( $fields as $key => $array ) { if ( $array['type'] == 'row' ) { $this->row_data[$key] = $array; unset( $fields[$key] ); } } update_option('um_form_rowdata_' . $form_id , $this->row_data ); foreach( $_POST as $key => $value ) { // adding rows if (0 === strpos($key, '_um_row_')) { $row_id = str_replace( '_um_row_', '', $key ); $row_array = array( 'type' => 'row', 'id' => $value, 'sub_rows' => $_POST[ '_um_rowsub_'.$row_id .'_rows' ], 'cols' => $_POST[ '_um_rowcols_'.$row_id .'_cols' ], ); if ( isset( $this->row_data[$key] ) ) { $row_args = array_merge( $this->row_data[$key], $row_array ); } else { $row_args = $row_array; } $fields[$key] = $row_args; } // change field position if (0 === strpos($key, 'um_position_') ) { $field_key = str_replace('um_position_','',$key); if ( isset( $fields[$field_key] ) ) { $fields[$field_key]['position'] = $value; } } // change field master row if (0 === strpos($key, 'um_row_') ) { $field_key = str_replace('um_row_','',$key); if ( isset( $fields[$field_key] ) ) { $fields[$field_key]['in_row'] = $value; } } // change field sub row if (0 === strpos($key, 'um_subrow_') ) { $field_key = str_replace('um_subrow_','',$key); if ( isset( $fields[$field_key] ) ) { $fields[$field_key]['in_sub_row'] = $value; } } // change field column if (0 === strpos($key, 'um_col_') ) { $field_key = str_replace('um_col_','',$key); if ( isset( $fields[$field_key] ) ) { $fields[$field_key]['in_column'] = $value; } } // add field to group if (0 === strpos($key, 'um_group_') ) { $field_key = str_replace('um_group_','',$key); if ( isset( $fields[$field_key] ) ) { $fields[$field_key]['in_group'] = $value; } } } $ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields ); } /*** *** @load form to maintain form order ***/ function load_field_order(){ global $ultimatemember; ?>