/home/crealab/cars.brainware.com.co/wp-content/plugins/jet-booking/includes/db/tables/bookings.php
<?php
namespace JET_ABAF\DB\Tables;
defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
class Bookings extends Base {
/**
* Return table slug.
*
* @since 3.3.0
*
* @return string
*/
public function table_slug() {
return 'apartment_bookings';
}
/**
* Schema.
*
* Returns booking table columns schema.
*
* @since 3.3.0
*
* @return string[]
*/
public function schema() {
return [
'booking_id' => "bigint(20) NOT NULL AUTO_INCREMENT",
'status' => "text",
'apartment_id' => "bigint(20)",
'apartment_unit' => "bigint(20)",
'check_in_date' => "bigint(20)",
'check_out_date' => "bigint(20)",
'user_id' => "bigint(20)",
'order_id' => "bigint(20)",
'import_id' => "text",
];
}
/**
* Returns table schema.
*
* @since 3.3.0
*
* @return string
*/
public function get_table_schema() {
$default_columns = $this->schema();
$additional_columns = jet_abaf()->db->get_additional_db_columns();
$columns_schema = '';
foreach ( $default_columns as $column => $desc ) {
$columns_schema .= "$column $desc,";
}
if ( is_array( $additional_columns ) && ! empty( $additional_columns ) ) {
foreach ( $additional_columns as $column ) {
$columns_schema .= "$column text,";
}
}
$table = $this->table();
$charset_collate = $this->wpdb()->get_charset_collate();
return "CREATE TABLE $table ( $columns_schema PRIMARY KEY ( booking_id ) ) $charset_collate;";
}
/**
* Allow child classes do own sanitize of the data before write it into DB.
*
* @since 3.3.0
*
* @param array $data Table data.
*
* @return array|mixed
*/
public function sanitize_data_before_db( $data = [] ) {
if ( ! empty( $data['check_in_date'] ) ) {
$data['check_in_date'] ++;
}
return $data;
}
}