/** * Insert Row */ function builder_new_row($args, $builder_data) { global $spyropress_builder; extract($args); // Row $row = $spyropress_builder->rows->get_row($row_type); $row_ID = generate_row_id(); $row_data = array('type' => $row_type, 'options' => array(), 'columns' => array()); // Generate Columns HTML $prev_width = 0; $columns = $row->config['columns']; if (!empty($columns)) { foreach ($columns as $column) { $col = $spyropress_builder->columns->get_column($column['type']); $col_ID = generate_column_id(); $col_class = isset($column['class']) && $column['class'] ? $column['class'] : ''; $col_data = array('type' => $column['type'], 'col_class' => builder_column_class($prev_width, $col, $col_class), 'modules' => array()); $row_data['columns'][$col_ID] = $col_data; } } // Generate Row HTML $html = ''; $html = builder_render_backend_row($row_ID, $row_data); $html = str_replace('class="builder-row"', 'class="builder-row active"', $html); // Saving data $row_data['prev_width'] = $prev_width; $builder_data[$row_ID] = $row_data; $result = $spyropress_builder->save_data($post_id, $builder_data); // Generate json data $json['success'] = $result ? true : false; $json['message'] = $result ? __('Row Saved', 'spyropress') : __('Operation fails', 'spyropress'); $json['html'] = $result ? $html : __('Oops! something goes wrong while creating the new row.', 'spyropress'); $json['row_id'] = $row_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 = '<div class="row-empty builder-row-column"></div>'; } // 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; } 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; } }