Files
Hotel Raxa Dev 5b1e2453c7 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

92 lines
2.0 KiB
PHP

<?php
/**
* Redux Network Class
*
* @class Redux_Network
* @version 4.0.0
* @package Redux Framework/Classes
*/
defined( 'ABSPATH' ) || exit;
if ( ! class_exists( 'Redux_Network', false ) ) {
/**
* Class Redux_Network
*/
class Redux_Network extends Redux_Class {
/**
* Redux_Network constructor.
*
* @param object $redux ReduxFramework pointer.
*/
public function __construct( $redux ) {
parent::__construct( $redux );
if ( 'network' === $redux->args['database'] && $redux->args['network_admin'] ) {
add_action(
'network_admin_edit_redux_' . $redux->args['opt_name'],
array(
$this,
'save_network_page',
),
10,
0
);
// phpcs:ignore Generic.Strings.UnnecessaryStringConcat
add_action( 'admin' . '_bar' . '_menu', array( $this, 'network_admin_bar' ), 999 );
}
}
/**
* Add node to network admin bar.
*
* @param object $wp_admin_bar Admin bar.
*/
public function network_admin_bar( $wp_admin_bar ) {
$core = $this->core();
$args = array(
'id' => $core->args['opt_name'] . '_network_admin',
'title' => $core->args['menu_title'],
'parent' => 'network-admin',
'href' => network_admin_url( 'settings.php' ) . '?page=' . $core->args['page_slug'],
'meta' => array( 'class' => 'redux-network-admin' ),
);
$wp_admin_bar->add_node( $args );
}
/**
* Saves network options.
*/
public function save_network_page() {
$core = $this->core();
if ( isset( $_POST[ $core->args['opt_name'] ] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
$opt_name = sanitize_text_field( wp_unslash( $_POST[ $core->args['opt_name'] ] ) ); // phpcs:ignore WordPress.Security.NonceVerification
}
$data = $core->options_class->validate_options( $opt_name );
if ( ! empty( $data ) ) {
$core->options_class->set( $data );
}
wp_safe_redirect(
add_query_arg(
array(
'page' => $core->args['page_slug'],
'updated' => 'true',
),
network_admin_url( 'settings.php' )
)
);
exit();
}
}
}