columns->get_column( $col_type ); $col_ID = generate_column_id(); $col_data = array( 'type' => $col_type, 'col_class' => builder_column_class( $prev_width, $col ), 'modules' => array() ); // Generate Column HTML $html = builder_render_backend_column( $col_ID, $col_data ); // Saving data $builder_data[$row_id]['prev_width'] = $prev_width; $builder_data[$row_id]['columns'][$col_ID] = $col_data; $result = $spyropress_builder->save_data( $post_id, $builder_data ); // Generate json data $json['success'] = ( $result ) ? true : false; $json['message'] = ( $result ) ? 'Column Saved' : 'Operation fails'; $json['html'] = ( $result ) ? $html : 'Oops! something goes wrong while creating the new column.'; $json['row_id'] = $row_id; $json['col_id'] = $col_ID; return $json; } /** * Delete Column */ function builder_delete_column( $args, $builder_data ) { global $spyropress_builder; extract( $args ); $html = ''; $prev_width = 0; // Deleting column if exists if ( isset( $builder_data[$row_id]['columns'][$col_id] ) ) { unset( $builder_data[$row_id]['columns'][$col_id] ); // regenerating column classes $columns = $builder_data[$row_id]['columns']; if ( ! empty( $columns ) ) { foreach ( $columns as $colID => $col ) { $col_obj = $spyropress_builder->columns->get_column( $col['type'] ); $builder_data[$row_id]['columns'][$colID]['col_class'] = builder_column_class( $prev_width, $col_obj ); // Generate Column HTML $html .= builder_render_backend_column( $colID, $builder_data[$row_id]['columns'][$colID] ); } } else { $html = '
'; } // Saving data $builder_data[$row_id]['prev_width'] = $prev_width; $result = $spyropress_builder->save_data( $post_id, $builder_data ); // Generate json data $json['success'] = ( $result ) ? true : false; $json['message'] = ( $result ) ? 'Column Deleted' : 'Operation fails'; $json['html'] = ( $result ) ? $html : 'Oops! something goes wrong while deleting the column.'; $json['row_id'] = $row_id; $json['col_id'] = $col_id; return $json; } // If column doesn't exists else { // Generate json data $json['success'] = false; $json['message'] = 'Column not exists'; $json['html'] = 'Column: ' . $col_id . ' doesn\'t exists.'; $json['row_id'] = $row_id; $json['col_id'] = $col_id; return $json; } } /** Rendering Function **********************************/ /** * Render Columns */ function builder_render_backend_columns( $columns ) { if ( empty( $columns ) ) return ''; $html = ''; foreach ( $columns as $col_ID => $column ) { $html .= builder_render_backend_column( $col_ID, $column ); } return $html; } /** * Render Column */ function builder_render_backend_column( $col_ID, $column ) { $column = sprintf( '