PATH:
home
/
letacommog
/
aperobusiness
/
wp-content
/
themes
/
deep
/
inc
/
core
/
elementor
/
widgets
<?php namespace Elementor; class Webnus_Element_Widgets_Reservation extends \Elementor\Widget_Base { /** * Retrieve Reservation widget name. * * @since 1.0.0 * @access public * * @return string Widget name. */ public function get_name() { return 'reservation'; } /** * Retrieve Reservation widget title. * * @since 1.0.0 * @access public * * @return string Widget title. */ public function get_title() { return esc_html__( 'Webnus Reservation', 'deep' ); } /** * Retrieve Reservation widget icon. * * @since 1.0.0 * @access public * * @return string Widget icon. */ public function get_icon() { return 'ti-time'; } /** * Set widget category. * * @since 1.0.0 * @access public * * @return array Widget category. */ public function get_categories() { return [ 'webnus' ]; } /** * enqueue JS * * @since 1.0.0 * @access public */ public function get_script_depends() { return [ 'wn-reservation' ]; } /** * Register Reservation widget controls. * * @since 1.0.0 * @access protected */ protected function _register_controls() { // Content Tab $this->start_controls_section( 'content_section', [ 'label' => esc_html__( 'General', 'deep' ), 'tab' => \Elementor\Controls_Manager::TAB_CONTENT, ] ); // Select Reservation Type $this->add_control( 'type', [ 'label' => esc_html__( 'Type', 'deep' ), 'type' => Controls_Manager::SELECT, 'default' => '1', 'options' => [ '1' => esc_html__( 'Type 1', 'deep' ), '2' => esc_html__( 'Type 2', 'deep' ), '3' => esc_html__( 'Type 3', 'deep' ), ], ] ); // Reservation Table ID $this->add_control( 'restaurant_id', [ 'label' => esc_html__( 'Open Table Restaurant ID', 'deep' ), 'type' => Controls_Manager::TEXT, 'placeholder' => esc_html__( '53425', 'deep' ), 'description' => esc_html__( 'Sign up here to get ID: https://www.opentable.com/start/home', 'deep' ), ] ); // Reservation Description $this->add_control( 'description', [ 'label' => esc_html__( 'Description', 'deep' ), 'type' => Controls_Manager::TEXTAREA, 'rows' => 10, 'placeholder' => esc_html__( 'The opening hour is 7:00 am - 11:00 pm every day on week', 'deep' ), ] ); $this->end_controls_section(); // Class & ID Tab $this->start_controls_section( 'classid_section', [ 'label' => __( 'Class & ID', 'deep' ), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'shortcodeclass', [ 'label' => esc_html__( 'Extra Class', 'deep' ), 'type' => Controls_Manager::TEXT, ] ); $this->add_control( 'shortcodeid', [ 'label' => esc_html__( 'ID', 'deep' ), 'type' => Controls_Manager::TEXT, ] ); $this->end_controls_section(); // Style $this->start_controls_section( 'section_box_style', [ 'label' => __( 'Box Style', 'deep' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'box_bg', 'label' => __( 'Background', 'deep' ), 'types' => [ 'classic', 'gradient' ], 'selector' => '#wrap {{WRAPPER}} form > div', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'box_border', 'label' => __( 'Border', 'deep' ), 'selector' => '#wrap {{WRAPPER}} form > div', ] ); $this->add_control( 'box_border_radius', // param_name [ 'label' => __( 'Border Radius', 'deep' ), // heading 'type' => \Elementor\Controls_Manager::DIMENSIONS, // type 'size_units' => [ 'px', 'em', '%' ], 'selectors' => [ '#wrap {{WRAPPER}} form > div' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'box_shadow', 'label' => __( 'Box Shadow', 'deep' ), 'selector' => '#wrap {{WRAPPER}} form > div', ] ); $this->add_control( 'box_padding', // param_name [ 'label' => __( 'Padding', 'deep' ), // heading 'type' => \Elementor\Controls_Manager::DIMENSIONS, // type 'size_units' => [ 'px', 'em', '%' ], 'selectors' => [ '#wrap {{WRAPPER}} form > div' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_control( 'box_margin', // param_name [ 'label' => __( 'Margin', 'deep' ), // heading 'type' => \Elementor\Controls_Manager::DIMENSIONS, // type 'size_units' => [ 'px', 'em', '%' ], 'selectors' => [ '#wrap {{WRAPPER}} form > div' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); // Custom css tab $this->start_controls_section( 'custom_css_section_style', [ 'label' => __( 'Custom CSS', 'deep' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'custom_css', [ 'label' => __( 'Custom CSS', 'deep' ), 'type' => \Elementor\Controls_Manager::CODE, 'language' => 'css', 'rows' => 20, 'show_label' => true, ] ); $this->end_controls_section(); } /** * Render Reservation widget output on the frontend. * * @since 1.0.0 * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); wp_enqueue_style( 'wn-deep-reservation', DEEP_ASSETS_URL . 'css/frontend/reservation/reservation.css' ); $type = $settings['type']; $restaurant_id = $settings['restaurant_id']; $description = $settings['description']; // Class & ID $shortcodeclass = $settings['shortcodeclass'] ? $settings['shortcodeclass'] : ''; $shortcodeid = $settings['shortcodeid'] ? ' id="' . $settings['shortcodeid'] . '"' : ''; $out = ''; switch ( $type ) { case '1': $out .= ' <form action="http://www.opentable.com/restaurant-search.aspx" method="get" class="wpcf7-form ' . $shortcodeclass . '" ' . $shortcodeid . '> <div class="book-form-deep reservation-form-w"> <div class="col-sm-12 r-deep-form r-date"> <input name="startDate" type="text" class="open-table-date" value="" autocomplete="off"> </div> <div class="col-sm-12 r-deep-form r-time"> <select name="time" class="wn-niceselect time">'; // Time Loop $inc = 30 * 60; $start = ( strtotime( '00:00:00' ) ); // 6 AM $end = ( strtotime( '11:59PM' ) ); // 10 PM for ( $i = $start; $i <= $end; $i += $inc ) { // to the standart format $time = date( 'g:i a', $i ); $timeValue = date( 'g:ia', $i ); $default = '7:00pm'; $out .= "<option value=\"$timeValue\" " . ( ( $timeValue == $default ) ? ' selected="selected" ' : '' ) . ">$time</option>" . PHP_EOL; } $out .= ' </select> </div> <div class="col-sm-12 r-deep-form r-people"> <select name="people" class="wn-niceselect people"> <option value="1">' . esc_html__( '1 Person', 'deep' ) . '</option> <option value="2">' . esc_html__( '2 People', 'deep' ) . '</option> <option value="3">' . esc_html__( '3 People', 'deep' ) . '</option> <option value="4">' . esc_html__( '4 People', 'deep' ) . '</option> <option value="5">' . esc_html__( '5 People', 'deep' ) . '</option> <option value="6">' . esc_html__( '6 People', 'deep' ) . '</option> <option value="7">' . esc_html__( '7 People', 'deep' ) . '</option> <option value="8">' . esc_html__( '8 People', 'deep' ) . '</option> <option value="9">' . esc_html__( '9 People', 'deep' ) . '</option> <option value="10">' . esc_html__( '10 People', 'deep' ) . '</option> </select> </div> <div class="col-sm-12 r-deep-form r-submition"> <input type="submit" class="colorr" value="' . esc_html__( 'FIND A TABLE', 'deep' ) . '"> </div> <input type="hidden" name="RestaurantID" class="RestaurantID" value="' . $restaurant_id . '"> <input type="hidden" name="rid" class="rid" value="' . $restaurant_id . '"> <input type="hidden" name="GeoID" class="GeoID" value="15"> <input type="hidden" name="txtDateFormat" class="txtDateFormat" value="MM/dd/yyyy"> <input type="hidden" name="RestaurantReferralID" class="RestaurantReferralID" value="' . $restaurant_id . '"> <p>' . $description . '</p> </div> </form>'; break; case '2': $out .= '<form action="http://www.opentable.com/restaurant-search.aspx" method="get" class="wpcf7-form ' . $shortcodeclass . '" ' . $shortcodeid . ' target="_blank"> <div class="elementor-row reservation-form-w2"> <div class="elementor-column elementor-col-25 rfw-col"> <i class="li_calendar"></i> <span class="form-control-wrap"> <input name="startDate" type="text" class="open-table-date" value="" autocomplete="off"> </span> </div> <div class="elementor-column elementor-col-25 rfw-col"> <i class="li_clock"></i> <span class="form-control-wrap"> <select name="time" class=" otw-selectpicker wn-niceselect">'; // Time Loop $inc = 30 * 60; $start = ( strtotime( '00:00:00' ) ); // 6 AM $end = ( strtotime( '11:59PM' ) ); // 10 PM for ( $i = $start; $i <= $end; $i += $inc ) { // to the standart format $time = date( 'g:i a', $i ); $timeValue = date( 'g:ia', $i ); $default = '7:00pm'; $out .= "<option value=\"$timeValue\" " . ( ( $timeValue == $default ) ? ' selected="selected" ' : '' ) . ">$time</option>" . PHP_EOL; } $out .= ' </select> </span> </div> <div class="elementor-column elementor-col-25 rfw-col"> <i class="ti-user"></i> <span class="form-control-wrap"> <select name="partySize" class="otw-party-size-select wn-niceselect"> <option value="1">' . esc_html__( '1 Person', 'deep' ) . '</option> <option value="2">' . esc_html__( '2 People', 'deep' ) . '</option> <option value="3">' . esc_html__( '3 People', 'deep' ) . '</option> <option value="4">' . esc_html__( '4 People', 'deep' ) . '</option> <option value="5">' . esc_html__( '5 People', 'deep' ) . '</option> <option value="6">' . esc_html__( '6 People', 'deep' ) . '</option> <option value="7">' . esc_html__( '7 People', 'deep' ) . '</option> <option value="8">' . esc_html__( '8 People', 'deep' ) . '</option> <option value="9">' . esc_html__( '9 People', 'deep' ) . '</option> <option value="10">' . esc_html__( '10 People', 'deep' ) . '</option> </select> </span> </div> <div class="elementor-column elementor-col-25 rfw-col"> <input type="submit" class="colorb" value="' . esc_html__( 'FIND A TABLE', 'deep' ) . '"> </div> <input type="hidden" name="RestaurantID" class="RestaurantID" value="' . $restaurant_id . '"> <input type="hidden" name="rid" class="rid" value="' . $restaurant_id . '"> <input type="hidden" name="GeoID" class="GeoID" value="15"> <input type="hidden" name="txtDateFormat" class="txtDateFormat" value="MM/dd/yyyy"> <input type="hidden" name="RestaurantReferralID" class="RestaurantReferralID" value="' . $restaurant_id . '"> <p>' . $description . '</p> </div> </form>'; break; case '3': $out .= '<form action="http://www.opentable.com/restaurant-search.aspx" method="get" class="wpcf7-form ' . $shortcodeclass . '" ' . $shortcodeid . '> <div class="row reservation-form-w3"> <div class="col-md-4 r-deep-form r-date"> <i class="ti-calendar"></i> <input name="startDate" type="text" class="open-table-date" value="" autocomplete="off"> </div> <div class="col-md-4 r-deep-form r-time"> <i class="ti-time"></i> <select name="time" class="wn-niceselect time">'; // Time Loop $inc = 30 * 60; $start = ( strtotime( '00:00:00' ) ); // 6 AM $end = ( strtotime( '11:59PM' ) ); // 10 PM for ( $i = $start; $i <= $end; $i += $inc ) { // to the standart format $time = date( 'g:i a', $i ); $timeValue = date( 'g:ia', $i ); $default = '7:00pm'; $out .= "<option value=\"$timeValue\" " . ( ( $timeValue == $default ) ? ' selected="selected" ' : '' ) . ">$time</option>" . PHP_EOL; } $out .= ' </select> </div> <div class="col-md-4 r-deep-form r-people"> <i class="ti-user"></i> <select name="people" class="wn-niceselect people"> <option value="1">' . esc_html__( '1 Person', 'deep' ) . '</option> <option value="2">' . esc_html__( '2 People', 'deep' ) . '</option> <option value="3">' . esc_html__( '3 People', 'deep' ) . '</option> <option value="4">' . esc_html__( '4 People', 'deep' ) . '</option> <option value="5">' . esc_html__( '5 People', 'deep' ) . '</option> <option value="6">' . esc_html__( '6 People', 'deep' ) . '</option> <option value="7">' . esc_html__( '7 People', 'deep' ) . '</option> <option value="8">' . esc_html__( '8 People', 'deep' ) . '</option> <option value="9">' . esc_html__( '9 People', 'deep' ) . '</option> <option value="10">' . esc_html__( '10 People', 'deep' ) . '</option> </select> </div> <div class="col-sm-12 r-deep-form r-submition"> <input type="submit" value="' . esc_html__( 'FIND A TABLE', 'deep' ) . '"> </div> <input type="hidden" name="RestaurantID" class="RestaurantID" value="' . $restaurant_id . '"> <input type="hidden" name="rid" class="rid" value="' . $restaurant_id . '"> <input type="hidden" name="GeoID" class="GeoID" value="15"> <input type="hidden" name="txtDateFormat" class="txtDateFormat" value="MM/dd/yyyy"> <input type="hidden" name="RestaurantReferralID" class="RestaurantReferralID" value="' . $restaurant_id . '"> <p>' . $description . '</p> </div> </form>'; break; } $custom_css = $settings['custom_css']; $custom_css = $settings['custom_css']; if ( $custom_css != '' ) { echo '<style>'. $custom_css .'</style>'; } echo $out; } }
[+]
..
[-] our-client.php
[edit]
[-] icons.php
[edit]
[-] collection.php
[edit]
[-] testimonial-tab.php
[edit]
[-] teaserbox.php
[edit]
[-] instagram.php
[edit]
[-] our-team.php
[edit]
[-] content-carousel.php
[edit]
[-] videoteaser.php
[edit]
[-] like-view-share.php
[edit]
[-] courses-instructors.php
[edit]
[-] widget-flickr.php
[edit]
[-] reservation.php
[edit]
[-] list.php
[edit]
[-] road-map.php
[edit]
[-] max-counter.php
[edit]
[-] magazine.php
[edit]
[-] prayer-wall-items.php
[edit]
[-] facebook-button.php
[edit]
[-] icon-divider.php
[edit]
[-] featured-products.php
[edit]
[-] review-items.php
[edit]
[-] iconbox.php
[edit]
[-] widget-googleplus.php
[edit]
[-] content-slider.php
[edit]
[-] service-carousel.php
[edit]
[-] contact-form.php
[edit]
[-] twitter-feed.php
[edit]
[-] blog.php
[edit]
[-] process-carousel.php
[edit]
[-] course-category.php
[edit]
[-] virtual-coins.php
[edit]
[-] speakers.php
[edit]
[-] the-grid.php
[edit]
[-] custom-menu.php
[edit]
[-] widget-youtube.php
[edit]
[-] testimonial.php
[edit]
[-] callout.php
[edit]
[-] testimonial-slider.php
[edit]
[-] category-tab.php
[edit]
[-] testimonial-carousel.php
[edit]
[-] button.php
[edit]
[-] facebook-comments.php
[edit]
[-] widget-login.php
[edit]
[-] subscribe.php
[edit]
[-] googlemap.php
[edit]
[-] widget-social-icon.php
[edit]
[-] postslider.php
[edit]
[-] alert.php
[edit]
[-] video-play-button.php
[edit]
[-] quote.php
[edit]
[-] donate.php
[edit]
[-] dropcap.php
[edit]
[-] before-after-image.php
[edit]
[-] pricing-tables.php
[edit]
[-] facebook-page.php
[edit]
[-] shop-products.php
[edit]
[-] single-goal.php
[edit]
[-] info-box.php
[edit]
[-] latestfromblog.php
[edit]
[-] goals.php
[edit]
[-] revolution-slider.php
[edit]
[-] widget-subscribe.php
[edit]
[-] tablepress.php
[edit]
[-] tab-content.php
[edit]
[-] schedule.php
[edit]
[-] sermon-category.php
[edit]
[-] pricing-plan.php
[edit]
[-] tabs.php
[edit]
[-] widget-latest-posts.php
[edit]
[-] distance.php
[edit]
[-] widget-popular-posts.php
[edit]
[-] recipes.php
[edit]
[-] causes.php
[edit]
[-] widget-testimonial.php
[edit]
[-] widget-about.php
[edit]
[-] special-offers.php
[edit]
[-] tooltip.php
[edit]
[-] food-menu.php
[edit]
[-] wp-hotel-booking.php
[edit]
[-] widget-tab.php
[edit]
[-] courses.php
[edit]
[-] login.php
[edit]
[-] post-from-blog.php
[edit]
[-] socials.php
[edit]
[-] line.php
[edit]
[-] gallery.php
[edit]
[-] faq.php
[edit]
[-] piecharts.php
[edit]
[-] image-hotspot.php
[edit]
[-] link.php
[edit]
[-] prayer-wall-form.php
[edit]
[-] rooms.php
[edit]
[-] countdown.php
[edit]
[-] portfolio-carousel.php
[edit]
[-] facebook-embed.php
[edit]
[-] single-cause.php
[edit]
[-] review-form.php
[edit]
[-] buy-process.php
[edit]
[-] sermons.php
[edit]
[-] widget-facebook.php
[edit]
[-] single-sermon.php
[edit]
[-] single-course.php
[edit]
[-] image-carousel.php
[edit]
[-] toggle-box.php
[edit]
[-] our-process.php
[edit]
[-] svg.php
[edit]
[-] w-title.php
[edit]
[-] block-quote.php
[edit]