🏨 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>
80 lines
1.8 KiB
PHP
80 lines
1.8 KiB
PHP
<?php
|
|
/**
|
|
* I18N: WP_Translation_File_PHP class.
|
|
*
|
|
* @package WordPress
|
|
* @subpackage I18N
|
|
* @since 6.5.0
|
|
*/
|
|
|
|
/**
|
|
* Class WP_Translation_File_PHP.
|
|
*
|
|
* @since 6.5.0
|
|
*/
|
|
class WP_Translation_File_PHP extends WP_Translation_File {
|
|
/**
|
|
* Parses the file.
|
|
*
|
|
* @since 6.5.0
|
|
*/
|
|
protected function parse_file() {
|
|
$this->parsed = true;
|
|
|
|
$result = include $this->file;
|
|
if ( ! $result || ! is_array( $result ) ) {
|
|
$this->error = 'Invalid data';
|
|
return;
|
|
}
|
|
|
|
if ( isset( $result['messages'] ) && is_array( $result['messages'] ) ) {
|
|
foreach ( $result['messages'] as $original => $translation ) {
|
|
$this->entries[ (string) $original ] = $translation;
|
|
}
|
|
unset( $result['messages'] );
|
|
}
|
|
|
|
$this->headers = array_change_key_case( $result );
|
|
}
|
|
|
|
/**
|
|
* Exports translation contents as a string.
|
|
*
|
|
* @since 6.5.0
|
|
*
|
|
* @return string Translation file contents.
|
|
*/
|
|
public function export(): string {
|
|
$data = array_merge( $this->headers, array( 'messages' => $this->entries ) );
|
|
|
|
return '<?php' . PHP_EOL . 'return ' . $this->var_export( $data ) . ';' . PHP_EOL;
|
|
}
|
|
|
|
/**
|
|
* Outputs or returns a parsable string representation of a variable.
|
|
*
|
|
* Like {@see var_export()} but "minified", using short array syntax
|
|
* and no newlines.
|
|
*
|
|
* @since 6.5.0
|
|
*
|
|
* @param mixed $value The variable you want to export.
|
|
* @return string The variable representation.
|
|
*/
|
|
private function var_export( $value ): string {
|
|
if ( ! is_array( $value ) ) {
|
|
return var_export( $value, true );
|
|
}
|
|
|
|
$entries = array();
|
|
|
|
$is_list = array_is_list( $value );
|
|
|
|
foreach ( $value as $key => $val ) {
|
|
$entries[] = $is_list ? $this->var_export( $val ) : var_export( $key, true ) . '=>' . $this->var_export( $val );
|
|
}
|
|
|
|
return '[' . implode( ',', $entries ) . ']';
|
|
}
|
|
}
|