Files
HotelRaxa/wp-includes/class-wp-http-response.php

155 lines
2.9 KiB
PHP
Raw Permalink Normal View History

Hotel Raxa - Advanced Booking System Implementation 🏨 Hotel Booking Enhancements: - Implemented Eagle Booking Advanced Pricing add-on - Added Booking.com-style rate management system - Created professional calendar interface for pricing - Integrated deals and discounts functionality 💰 Advanced Pricing Features: - Dynamic pricing models (per room, per person, per adult) - Base rates, adult rates, and child rates management - Length of stay discounts and early bird deals - Mobile rates and secret deals implementation - Seasonal promotions and flash sales 📅 Availability Management: - Real-time availability tracking - Stop sell and restriction controls - Closed to arrival/departure functionality - Minimum/maximum stay requirements - Automatic sold-out management 💳 Payment Integration: - Maintained Redsys payment gateway integration - Seamless integration with existing Eagle Booking - No modifications to core Eagle Booking plugin 🛠️ Technical Implementation: - Custom database tables for advanced pricing - WordPress hooks and filters integration - AJAX-powered admin interface - Data migration from existing Eagle Booking - Professional calendar view for revenue management 📊 Admin Interface: - Booking.com-style management dashboard - Visual rate and availability calendar - Bulk operations for date ranges - Statistics and analytics dashboard - Modal dialogs for quick editing 🔧 Code Quality: - WordPress coding standards compliance - Secure database operations with prepared statements - Proper input validation and sanitization - Error handling and logging - Responsive admin interface 🤖 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-11 07:43:22 +02:00
<?php
/**
* HTTP API: WP_HTTP_Response class
*
* @package WordPress
* @subpackage HTTP
* @since 4.4.0
*/
/**
* Core class used to prepare HTTP responses.
*
* @since 4.4.0
*/
#[AllowDynamicProperties]
class WP_HTTP_Response {
/**
* Response data.
*
* @since 4.4.0
* @var mixed
*/
public $data;
/**
* Response headers.
*
* @since 4.4.0
* @var array
*/
public $headers;
/**
* Response status.
*
* @since 4.4.0
* @var int
*/
public $status;
/**
* Constructor.
*
* @since 4.4.0
*
* @param mixed $data Response data. Default null.
* @param int $status Optional. HTTP status code. Default 200.
* @param array $headers Optional. HTTP header map. Default empty array.
*/
public function __construct( $data = null, $status = 200, $headers = array() ) {
$this->set_data( $data );
$this->set_status( $status );
$this->set_headers( $headers );
}
/**
* Retrieves headers associated with the response.
*
* @since 4.4.0
*
* @return array Map of header name to header value.
*/
public function get_headers() {
return $this->headers;
}
/**
* Sets all header values.
*
* @since 4.4.0
*
* @param array $headers Map of header name to header value.
*/
public function set_headers( $headers ) {
$this->headers = $headers;
}
/**
* Sets a single HTTP header.
*
* @since 4.4.0
*
* @param string $key Header name.
* @param string $value Header value.
* @param bool $replace Optional. Whether to replace an existing header of the same name.
* Default true.
*/
public function header( $key, $value, $replace = true ) {
if ( $replace || ! isset( $this->headers[ $key ] ) ) {
$this->headers[ $key ] = $value;
} else {
$this->headers[ $key ] .= ', ' . $value;
}
}
/**
* Retrieves the HTTP return code for the response.
*
* @since 4.4.0
*
* @return int The 3-digit HTTP status code.
*/
public function get_status() {
return $this->status;
}
/**
* Sets the 3-digit HTTP status code.
*
* @since 4.4.0
*
* @param int $code HTTP status.
*/
public function set_status( $code ) {
$this->status = absint( $code );
}
/**
* Retrieves the response data.
*
* @since 4.4.0
*
* @return mixed Response data.
*/
public function get_data() {
return $this->data;
}
/**
* Sets the response data.
*
* @since 4.4.0
*
* @param mixed $data Response data.
*/
public function set_data( $data ) {
$this->data = $data;
}
/**
* Retrieves the response data for JSON serialization.
*
* It is expected that in most implementations, this will return the same as get_data(),
* however this may be different if you want to do custom JSON data handling.
*
* @since 4.4.0
*
* @return mixed Any JSON-serializable value.
*/
public function jsonSerialize() { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid
return $this->get_data();
}
}