Files

92 lines
2.0 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
/**
* 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();
}
}
}