コード例 #1
0
/**
 * 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;
}
コード例 #2
0
/**
 * 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;
    }
}