Files

364 lines
13 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
/*-----------------------------------------------------------
VARIABLES - THEME OPTIONS
-----------------------------------------------------------*/
$himara_main_font = himara_get_font_option( 'himara_main_font' );
$himara_nav_font = himara_get_font_option( 'himara_nav_font' );
$himara_h_font = himara_get_font_option( 'himara_h_font' );
$himara_menu_color = himara_get_option('menu_color');
$himara_sub_menu_color = himara_get_option('sub_menu_color');
$himara_submenu_menu_bg = himara_get_option('sub_menu_bg');
$himara_submenu_menu_hover_bg = himara_get_option('sub_menu_hover_bg');
$himara_submenu_menu_border = himara_get_option('sub_menu_border');
$himara_boxed_bg_color = himara_get_option('himara_boxed_bg_color');
$himara_boxed_bg_image = himara_get_option('himara_boxed_bg_image');
$himara_footer_link_color = himara_get_option( 'footer_links_color' )
?>
:root {
--text-color: #6d7991;
--heading-color: #32353c;
--main-color: <?php echo esc_attr( himara_get_option('primary_color')['regular'] ) ?>;
--main-color-hover: <?php echo esc_attr( himara_get_option('primary_color')['hover'] ) ?>;
--button-color: #32353c;
--menu-color: <?php echo esc_attr( $himara_menu_color['regular'] ) ?>;
--menu-color-hover: <?php echo esc_attr( $himara_menu_color['hover'] ) ?>;
--menu-color-active: <?php echo esc_attr( $himara_menu_color['active'] ) ?>;
--sub-menu-color: <?php echo esc_attr( $himara_sub_menu_color['regular'] ) ?>;
--sub-menu-color-hover: <?php echo esc_attr( $himara_sub_menu_color['hover'] ) ?>;
--sub-menu-color-active: <?php echo esc_attr( $himara_sub_menu_color['hover'] ) ?>;
}
body{
<?php if ( himara_get_option('himara_main_font') ) : ?>
font-family: <?php echo wp_kses_post($himara_main_font['font-family']); ?>;
<?php endif; ?>
}
h1,
h2,
h3,
h4,
h5,
h6,
.widget_search .wp-block-search__label {
<?php if ( himara_get_option('himara_h_font') ) : ?>
font-family: <?php echo wp_kses_post($himara_h_font['font-family']); ?> ;
<?php endif; ?>
}
.loader {
<?php if ( himara_get_option('preloader_bg_color') ) : ?>
background: <?php echo wp_kses_post( himara_get_option('preloader_bg_color') ); ?> ;
<?php endif; ?>
}
.loader1 .dot,
.loader2 .loader-inner span {
<?php if ( himara_get_option('preloader_color') ) : ?>
background: <?php echo wp_kses_post( himara_get_option('preloader_color') ); ?> ;
<?php endif; ?>
}
.loader3 .spin span {
<?php if ( himara_get_option('preloader_color') ) : ?>
border-left-color: <?php echo wp_kses_post( himara_get_option('preloader_color') ); ?> ;
<?php endif; ?>
}
.topbar {
<?php if ( himara_get_option('topbar_bg') ) : ?>
background: <?php echo esc_attr( himara_get_option('topbar_bg') ); ?> ;
<?php endif; ?>
<?php if ( himara_get_option('topbar_border') ) : ?>
border: 1px solid <?php echo esc_attr( himara_get_option('topbar_border') ); ?> ;
<?php endif; ?>
<?php if ( himara_get_option('topbar_color') ) : ?>
color: <?php echo esc_attr( himara_get_option('topbar_color')['regular'] ); ?> ;
<?php endif; ?>
}
.topbar .top-menu li a {
<?php if ( himara_get_option('topbar_color') ) : ?>
color: <?php echo esc_attr( himara_get_option('topbar_color')['regular'] ); ?> ;
<?php endif; ?>
}
.topbar .top-menu li i {
<?php if ( himara_get_option('topbar_color') ) : ?>
color: <?php echo esc_attr( himara_get_option('topbar_color')['regular'] ); ?> ;
<?php endif; ?>
}
.topbar .top-menu li a:hover {
<?php if ( himara_get_option('topbar_color') ) : ?>
color: <?php echo esc_attr( himara_get_option('topbar_color')['hover'] ); ?> ;
<?php endif; ?>
}
.topbar .top-menu li a:active {
<?php if ( himara_get_option('topbar_color') ) : ?>
color: <?php echo esc_attr( himara_get_option('topbar_color')['active'] ); ?> ;
<?php endif; ?>
}
header.horizontal-header,
header.vertical-header,
.himara-vertical-header header {
<?php if ( himara_get_option('himara_nav_font') ) : ?>
font-family: <?php echo wp_kses_post($himara_nav_font['font-family']); ?>;
<?php endif; ?>
<?php if ( himara_get_option('header_bg') ) : ?>
background: <?php echo esc_attr( himara_get_option('header_bg') ); ?> ;
<?php endif; ?>
}
header.header-fixed-top.scroll-header {
<?php if ( himara_get_option('header_bg') ) : ?>
background: <?php echo esc_attr( himara_get_option('header_bg') ); ?> ;
<?php endif; ?>
<?php if ( himara_get_option('header_border_bottom') ) : ?>
border-color: <?php echo esc_attr( himara_get_option('header_border_bottom') ) ?>;
<?php endif; ?>
}
header.vertical-header {
<?php if ( himara_get_option('header_border_vertical') ) : ?>
border-color: <?php echo esc_attr( himara_get_option('header_border_vertical') ) ?>;
<?php endif; ?>
}
header.horizontal-header .main-menu .menu .dropdown .submenu,
header.vertical-header .main-menu .dropdown .submenu {
<?php if ( !empty( $himara_submenu_menu_bg ) ) : ?>
background: <?php echo esc_attr( $himara_submenu_menu_bg ) ?>;
<?php endif ?>
}
header.horizontal-header .main-menu .menu .dropdown.open .submenu .menu-item,
header.vertical-header .main-menu .menu .dropdown.open .submenu .menu-item {
<?php if ( !empty( himara_get_option('sub_menu_border') )) : ?>
border-color: <?php echo esc_attr( himara_get_option('sub_menu_border') ) ?>;
<?php endif ?>
}
header.horizontal-header .main-menu .menu .dropdown.open .submenu .menu-item a:hover,
header.vertical-header .main-menu .menu .dropdown.open .submenu .menu-item a:hover {
<?php if ( himara_get_option('sub_menu_color') ) : ?>
color: <?php echo esc_attr( himara_get_option('sub_menu_color')['hover'] ); ?> ;
<?php endif; ?>
}
header.horizontal-header .main-menu .menu .dropdown.open .submenu .menu-item a:active,
header.horizontal-header .main-menu .menu .dropdown.open .submenu .menu-item.open > a,
header.vertical-header .main-menu .menu .dropdown.open .submenu .menu-item a:active,
header.vertical-header .main-menu .menu .dropdown.open .submenu .menu-item.open > a {
<?php if ( himara_get_option('sub_menu_color') ) : ?>
color: <?php echo esc_attr( himara_get_option('sub_menu_color')['active'] ); ?> ;
<?php endif; ?>
}
header.horizontal-header .main-menu .menu .dropdown.open .submenu .menu-item:hover,
header.vertical-header .main-menu .menu .dropdown.open .submenu .menu-item:hover {
<?php if ( !empty( $himara_submenu_menu_hover_bg )) : ?>
background: <?php echo esc_attr( $himara_submenu_menu_hover_bg ) ?>;
<?php endif ?>
}
header.horizontal-header .main-menu .menu .dropdown .submenu:after {
<?php if ( !empty( $himara_submenu_menu_bg ) ) : ?>
border-bottom-color: <?php echo esc_attr( $himara_submenu_menu_bg ) ?>;
<?php endif ?>
}
header.vertical-header .main-menu .menu .dropdown .submenu:after {
<?php if ( !empty( $himara_submenu_menu_bg ) ) : ?>
border-right-color: <?php echo esc_attr( $himara_submenu_menu_bg ) ?>;
<?php endif ?>
}
.toggle-menu-button .line {
<?php if(!empty( himara_get_option('menu_toggle_button_color') )) : ?>
background: <?php echo esc_attr( himara_get_option('menu_toggle_button_color') ) ?>;
<?php endif ?>
}
.transparent-header .toggle-menu-button .line {
<?php if(!empty( himara_get_option('menu_toggle_button_color_transparent') )) : ?>
background: <?php echo esc_attr( himara_get_option('menu_toggle_button_color_transparent') ) ?>;
<?php endif ?>
}
.scroll-header .toggle-menu-button .line {
<?php if(!empty( himara_get_option('menu_toggle_button_color_scroll') )) : ?>
background: <?php echo esc_attr( himara_get_option('menu_toggle_button_color_scroll') ) ?>;
<?php endif ?>
}
.page-title .inner,
.eb-page-header {
<?php if ( himara_get_option('page_header_padding_top') ) : ?>
padding-top: <?php echo esc_attr( himara_get_option('page_header_padding_top') ) ?>px;
padding-bottom: <?php echo esc_attr( himara_get_option('page_header_padding_bottom') ) ?>px;
<?php endif ?>
}
.page-title .inner {
<?php if ( !empty( himara_get_option('page_header_aligment') ) ) : ?>
text-align: <?php echo esc_attr( himara_get_option('page_header_aligment') ) ?>;
<?php endif ?>
}
.page-title .breadcrumb {
<?php if ( !empty( himara_get_option('page_header_aligment') ) ) : ?>
justify-content: <?php echo esc_attr( himara_get_option('page_header_aligment') ) ?>;
<?php endif ?>
}
.page-title .inner h1,
.eb-page-header .title h1,
.page-title .breadcrumb,
.page-title .breadcrumb a,
.page-title .breadcrumb li:last-child,
.page-title .breadcrumb li:after,
.eb-page-header.eb-room-header .room-price,
.eb-page-header.eb-room-header .normal-price {
<?php if ( !empty( himara_get_option('page_header_color') ) ) : ?>
color: <?php echo esc_attr( himara_get_option('page_header_color') ) ?>
<?php endif ?>
}
.page-title,
.eb-page-header {
<?php if ( !empty( himara_get_option('page_header_color_bg') ) ) : ?>
background: <?php echo esc_attr( himara_get_option('page_header_color_bg') ) ?>;
border-bottom: 1px solid <?php echo esc_attr( himara_get_option('page_header_border_color') ) ?>;
border-top: 1px solid <?php echo esc_attr( himara_get_option('page_header_border_color') ) ?>
<?php endif ?>
}
footer {
<?php if ( !empty( himara_get_option('footer_bg_color') ) ) : ?>
background: <?php echo esc_attr( himara_get_option('footer_bg_color') ) ?>;
border-top: 1px solid <?php echo esc_attr( himara_get_option('footer_border_color') ) ?>;
<?php endif ?>
}
footer .footer-widgets .widget-title,
footer .footer-widgets h2 {
<?php if( !empty( himara_get_option('footer_heading_color') )) : ?>
color: <?php echo esc_attr( himara_get_option('footer_heading_color') ) ?>;
<?php endif ?>
}
footer .footer-widgets,
footer .footer-info,
footer .social-media a {
<?php if ( !empty( himara_get_option('footer_text_color') ) ) : ?>
color: <?php echo esc_attr( himara_get_option('footer_text_color') ) ?>;
<?php endif ?>
}
footer .footer-widgets ul li a {
<?php if(!empty( $himara_footer_link_color['regular'] )) : ?>
color: <?php echo esc_html( $himara_footer_link_color['regular'] ) ?>;
<?php endif ?>
}
footer .footer-widgets ul li:hover a,
footer .footer-widgets ul li a:hover {
<?php if(!empty( $himara_footer_link_color['hover'] )) : ?>
color: <?php echo esc_html( $himara_footer_link_color['hover'] ) ?>;
<?php endif ?>
}
.footer-widgets ul li a:active {
<?php if(!empty( $himara_footer_link_color['active'] )) : ?>
color: <?php echo esc_html( $himara_footer_link_color['active'] ) ?>;
<?php endif ?>
}
footer .footer-info .payment-methods .payment-methods-icons span {
<?php if ( !empty( himara_get_option('footer_text_color') ) ) : ?>
color: <?php echo esc_attr( himara_get_option('footer_text_color') ) ?>;
<?php endif ?>
}
footer .subfooter {
<?php if ( !empty( himara_get_option('footer_border_color') ) ) : ?>
border-top: 1px solid <?php echo esc_attr( himara_get_option('footer_border_color') ) ?>;
<?php endif ?>
}
footer .subfooter .copyrights,
footer .subfooter .copyrights a,
footer .himara-subfooter-menu a,
footer .subfooter .himara-subfooter-menu li a {
<?php if ( !empty( himara_get_option('footer_copyright_text_color') ) ) : ?>
color: <?php echo esc_attr( himara_get_option('footer_copyright_text_color') ) ?>;
<?php endif ?>
}
footer .footer-widgets ul li a:after {
<?php if(!empty( himara_get_option('footer_underline_color') )) : ?>
background: <?php echo esc_html( himara_get_option('footer_underline_color') ) ?>;
<?php endif ?>
}
footer .subfooter .himara-subfooter-menu li:after {
<?php if ( !empty( himara_get_option('footer_copyright_text_color') ) ) : ?>
background: <?php echo esc_attr( himara_get_option('footer_copyright_text_color') ) ?>;
<?php endif ?>
}
.back-to-top {
<?php if(!empty( himara_get_option('back_to_top_bg_color') )) : ?>
background: <?php echo esc_html( himara_get_option('back_to_top_bg_color') ) ?>;
<?php endif ?>
}
.back-to-top i,
.back-to-top:hover i {
<?php if(!empty( himara_get_option('back_to_top_color') )) : ?>
color: <?php echo esc_html( himara_get_option('back_to_top_color') ) ?>;
<?php endif ?>
}
.back-to-top.active {
<?php if ( !empty( himara_get_option('back_to_top_bottom') ) ) : ?>
bottom: <?php echo esc_attr( himara_get_option('back_to_top_bottom') ) ?>px;
<?php endif ?>
}
.back-to-top.right {
<?php if ( !empty( himara_get_option('back_to_top_right') ) ) : ?>
right: <?php echo esc_attr( himara_get_option('back_to_top_right') ) ?>px;
<?php endif ?>
}
.back-to-top.left {
<?php if( !empty( himara_get_option('back_to_top_left') ) ) : ?>
left: <?php echo esc_attr( himara_get_option('back_to_top_left') ) ?>px;
<?php endif ?>
}
.back-to-top:hover {
<?php if(!empty( himara_get_option('back_to_top_bg_hover_color') )) : ?>
background: <?php echo esc_html( himara_get_option('back_to_top_bg_hover_color') ) ?>;
<?php endif ?>
}
@media (max-width: 991.98px) {
header .brand .logo .first-logo img,
header .brand .logo .second-logo img {
<?php if(!empty( himara_get_option('mobile_logo_height') )) : ?>
height: <?php echo esc_html( himara_get_option('mobile_logo_height') ) ?>px !important;
<?php endif ?>
}
}