????
| Current Path : /home/degesdxb/public_html/wp-content/plugins/mphb-pricelabs/includes/data/ |
| Current File : //home/degesdxb/public_html/wp-content/plugins/mphb-pricelabs/includes/data/pricelabs-rate.php |
<?php
namespace MPHB\Addons\MPHB_Pricelabs;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* We use Accommodation Type Original Id as an Id of PriceLabs rates.
*/
class Pricelabs_Rate extends \MPHB\Entities\Rate {
private int $id;
/**
* @var array [ date (string Y-m-d) => price (float) ]
*/
private array $dates_with_prices = array();
public function __construct( int $roomTypeOriginalId ) {
$this->id = $roomTypeOriginalId;
}
/**
* @return int
*/
public function getId() {
return $this->id;
}
/**
* @return int
*/
public function getOriginalId() {
return $this->id;
}
/**
* @return string
*/
public function getTitle() {
return __( 'Standard rate', 'mphb-pricelabs');
}
/**
* @return string
*/
public function getDescription() {
return '';
}
/**
* @return SeasonPrice[]
*/
public function getSeasonPrices() {
return array();
}
/**
* @return int original room type id
*/
public function getRoomTypeId() {
return $this->id;
}
/**
* @return bool
*/
public function isActive() {
return true;
}
/**
* @return Season[]
*/
public function getSeasons() {
return array();
}
/**
* @return array [ date (string Y-m-d) => price (float) ]
*/
public function getDatePrices() {
if ( empty( $this->dates_with_prices ) ) {
global $wpdb;
$prices = $wpdb->get_results(
$wpdb->prepare(
"SELECT rental_date, price FROM {$wpdb->prefix}mphbpl_pricelabs_rates WHERE accommodation_type_id=%d",
$this->getRoomTypeId()
),
ARRAY_A
);
foreach ( $prices as $price_data ) {
$this->dates_with_prices[ $price_data['rental_date'] ] = (float) $price_data['price'];
}
}
return $this->dates_with_prices;
}
}