function create_page_option_elements() { global $post; $option_value = gdlr_decode_preventslashes(get_post_meta($post->ID, $this->setting['option_name'], true)); if (!empty($option_value)) { $option_value = json_decode($option_value, true); } $option_generator = new gdlr_admin_option_html(); echo '<div class="gdlr-page-option-wrapper position-' . $this->setting['position'] . '" >'; foreach ($this->option as $option_section) { echo '<div class="gdlr-page-option">'; echo '<div class="gdlr-page-option-title">' . $option_section['title'] . '</div>'; echo '<div class="gdlr-page-option-input-wrapper">'; foreach ($option_section['options'] as $option_slug => $option) { $option['slug'] = $option_slug; $option['name'] = ''; if (!empty($option_value) && isset($option_value[$option_slug])) { $option['value'] = $option_value[$option_slug]; } $option_generator->generate_admin_option($option); } echo '</div>'; // page-option-input-wrapper echo '</div>'; // page-option-title } echo '<textarea class="gdlr-input-hidden" name="' . $this->setting['option_name'] . '"></textarea>'; echo '</div>'; // gdlr-page-option-wrapper }
function gdlr_save_post_meta_option($post_id) { if (get_post_type() == 'post' && isset($_POST['post-option'])) { $post_option = gdlr_preventslashes(gdlr_stripslashes($_POST['post-option'])); $post_option = json_decode(gdlr_decode_preventslashes($post_option), true); if (!empty($post_option['rating'])) { update_post_meta($post_id, 'gdlr-post-rating', floatval($post_option['rating']) * 100); } else { delete_post_meta($post_id, 'gdlr-post-rating'); } } }
function widget($args, $instance) { global $theme_option; $title = apply_filters('widget_title', $instance['title']); $category = $instance['category']; $num_fetch = $instance['num_fetch']; // Opening of widget echo $args['before_widget']; // Open of title tag if (!empty($title)) { echo $args['before_title'] . $title . $args['after_title']; } // Widget Content $current_post = array(get_the_ID()); $query_args = array('post_type' => 'cause', 'suppress_filters' => false); $query_args['posts_per_page'] = $num_fetch; $query_args['orderby'] = 'post_date'; $query_args['order'] = 'desc'; $query_args['paged'] = 1; $query_args['cause_category'] = $category; $query_args['ignore_sticky_posts'] = 1; $query_args['post__not_in'] = array(get_the_ID()); $query = new WP_Query($query_args); if ($query->have_posts()) { echo '<div class="gdlr-recent-post-widget">'; while ($query->have_posts()) { $query->the_post(); echo '<div class="recent-post-widget">'; $thumbnail = gdlr_get_image(get_post_thumbnail_id(), 'thumbnail'); $cause_option = json_decode(gdlr_decode_preventslashes(get_post_meta(get_the_ID(), 'post-option', true)), true); if (!empty($thumbnail)) { echo '<div class="recent-post-widget-thumbnail"><a href="' . get_permalink() . '" >' . $thumbnail . '</a></div>'; } echo '<div class="recent-post-widget-content">'; echo '<div class="recent-post-widget-title"><a href="' . get_permalink() . '" ><span class="causeWidgetLink">' . get_the_title() . '</span></a></div>'; echo gdlr_cause_donation_amount($cause_option['goal-of-donation'], $cause_option['current-funding']); echo '<p>' . substr(get_the_excerpt(), 0, 90) . '...</p>'; echo '</div>'; echo '<div class="clear"></div>'; echo '</div>'; } echo '<div class="clear"></div>'; echo '</div>'; } wp_reset_postdata(); // Closing of widget echo $args['after_widget']; }
function gdlr_set_global_variable() { global $post; if (is_page()) { global $above_sidebar_content, $with_sidebar_content, $below_sidebar_content, $gdlr_post_option; $above_sidebar_content = json_decode(gdlr_decode_preventslashes(get_post_meta(get_the_ID(), 'above-sidebar', true)), true); $above_sidebar_content = empty($above_sidebar_content) ? array() : $above_sidebar_content; $with_sidebar_content = json_decode(gdlr_decode_preventslashes(get_post_meta(get_the_ID(), 'content-with-sidebar', true)), true); $with_sidebar_content = empty($with_sidebar_content) ? array() : $with_sidebar_content; $below_sidebar_content = json_decode(gdlr_decode_preventslashes(get_post_meta(get_the_ID(), 'below-sidebar', true)), true); $below_sidebar_content = empty($below_sidebar_content) ? array() : $below_sidebar_content; $gdlr_post_option = gdlr_decode_preventslashes(get_post_meta($post->ID, 'post-option', true)); } else { if (is_single() || !empty($post) && $post->post_type == 'portfolio') { global $gdlr_post_option; $gdlr_post_option = gdlr_decode_preventslashes(get_post_meta($post->ID, 'post-option', true)); } } }
function gdlr_get_coupon_discount($data, $coupon = '') { if (empty($coupon)) { return 0; } $posts = get_posts(array('post_type' => 'coupon', 'posts_per_page' => 1, 'meta_key' => 'gdlr-coupon-code', 'meta_value' => $coupon)); $post_option = json_decode(gdlr_decode_preventslashes(get_post_meta($posts[0]->ID, 'post-option', true)), true); // expire date if (!empty($post_option['coupon-expiry']) && strtotime(date("Y-m-d")) > strtotime($post_option['coupon-expiry'])) { return 0; } // available num $coupon_num = get_post_meta($posts[0]->ID, 'gdlr-coupon-num', true); $coupon_num = empty($coupon_num) ? 0 : intval($coupon_num); if ($post_option['coupon-amount'] != -1 && $coupon_num >= $post_option['coupon-amount']) { return 0; } update_post_meta($posts[0]->ID, 'gdlr-coupon-num', $coupon_num + 1); // specify room if (!empty($post_option['specify-room'])) { $room_specify = explode(',', $post_option['specify-room']); foreach ($data['gdlr-room-id'] as $key => $room_id) { if (!in_array($room_id, $room_specify)) { unset($data['gdlr-room-id'][$key]); } } } if (empty($data['gdlr-room-id'])) { return 0; } // number of if ($post_option['coupon-discount-type'] == 'amount') { return $post_option['coupon-discount-amount']; } else { // percent $total_price = 0; for ($i = 0; $i < sizeOf($data['gdlr-room-id']); $i++) { $room_option = json_decode(gdlr_decode_preventslashes(get_post_meta($data['gdlr-room-id'][$i], 'post-option', true)), true); $room_option['data'] = array('check-in' => $data['gdlr-check-in'], 'check-out' => $data['gdlr-check-out']); $price = gdlrs_get_booking_price($room_option); $total_price += $price['total']; } return $total_price * floatval($post_option['coupon-discount-amount']) / 100; } }
function gdlr_get_booking_room($query, $data) { global $hotel_option; global $gdlr_excerpt_length, $gdlr_excerpt_read_more; $gdlr_excerpt_read_more = false; $gdlr_excerpt_length = $hotel_option['booking-num-excerpt']; add_filter('excerpt_length', 'gdlr_set_excerpt_length'); $ret = '<div class="gdlr-booking-room-wrapper" >'; while ($query->have_posts()) { $query->the_post(); $post_option = json_decode(gdlr_decode_preventslashes(get_post_meta(get_the_ID(), 'post-option', true)), true); $post_option['data'] = $data; $ret .= '<div class="gdlr-item gdlr-room-item gdlr-medium-room">'; $ret .= '<div class="gdlr-ux gdlr-medium-room-ux">'; $ret .= '<div class="gdlr-room-thumbnail">' . gdlr_get_room_thumbnail($post_option, $hotel_option['booking-thumbnail-size']) . '</div>'; $ret .= '<div class="gdlr-room-content-wrapper">'; $ret .= '<h3 class="gdlr-room-title"><a href="' . get_permalink() . '" >' . get_the_title() . '</a></h3>'; if (!empty($hotel_option['enable-hotel-branch']) && $hotel_option['enable-hotel-branch'] == 'enable') { $terms = get_the_terms(get_the_ID(), 'room_category'); $ret .= '<div class="gdlr-room-hotel-branches">'; foreach ($terms as $term) { $ret .= '<span class="gdlr-separator">,</span>' . $term->name; } $ret .= '</div>'; } $ret .= gdlr_hotel_room_info($post_option, array('bed', 'max-people', 'view')); $ret .= '<div class="gdlr-room-content">' . get_the_excerpt() . '</div>'; $ret .= '<a class="gdlr-room-selection gdlr-button with-border" href="#" '; $ret .= 'data-roomid="' . get_the_ID() . '" >' . __('Select this room', 'gdlr-hotel') . '</a>'; $ret .= gdlr_hotel_room_info($post_option, array('price-break-down'), false); $ret .= '<div class="clear"></div>'; $ret .= '</div>'; $ret .= '<div class="clear"></div>'; $ret .= '</div>'; // gdlr-ux $ret .= '</div>'; // gdlr-item } $ret .= '<div class="clear"></div>'; $ret .= '</div>'; wp_reset_postdata(); $gdlr_excerpt_read_more = true; remove_filter('excerpt_length', 'gdlr_set_excerpt_length'); return $ret; }
function gdlr_get_post_slider_item($settings) { $item_id = empty($settings['page-item-id']) ? '' : ' id="' . $settings['page-item-id'] . '" '; global $gdlr_spaces; $margin = !empty($settings['margin-bottom']) && $settings['margin-bottom'] != $gdlr_spaces['bottom-item'] ? 'margin-bottom: ' . $settings['margin-bottom'] . ';' : ''; $margin_style = !empty($margin) ? ' style="' . $margin . '" ' : ''; $slide_order = array(); $slide_data = array(); // query posts section $settings['post-type'] = empty($settings['post-type']) ? 'post' : $settings['post-type']; $args = array('post_type' => $settings['post-type'], 'suppress_filters' => false); $args['posts_per_page'] = empty($settings['num-fetch']) ? '5' : $settings['num-fetch']; $args['orderby'] = empty($settings['orderby']) ? 'post_date' : $settings['orderby']; $args['order'] = empty($settings['order']) ? 'desc' : $settings['order']; if ($settings['post-type'] == 'cause' && $settings['cause-category']) { $args['tax_query'] = array(array('terms' => explode(',', $settings['cause-category']), 'taxonomy' => 'cause_category', 'field' => 'slug')); } else { if ($settings['post-type'] == 'post') { $args['tax_query'] = array(array('terms' => explode(',', $settings['category']), 'taxonomy' => 'category', 'field' => 'slug')); } } $args['ignore_sticky_posts'] = 1; $query = new WP_Query($args); // set the excerpt length global $theme_option, $gdlr_excerpt_length, $gdlr_excerpt_read_more; $gdlr_excerpt_length = $settings['num-excerpt']; add_filter('excerpt_length', 'gdlr_set_excerpt_length'); global $post; while ($query->have_posts()) { $query->the_post(); $image_id = get_post_thumbnail_id(); if (!empty($image_id)) { $slide_order[] = $image_id; $slide_data[$image_id] = array('title' => get_the_title(), 'slide-link' => 'url', 'url' => get_permalink(), 'new-tab' => 'disable', 'caption-position' => $settings['caption-style']); $slide_data[$image_id]['caption'] = '<div class="post-slider-caption-overlay"></div>'; if ($settings['post-type'] == 'post') { $slide_data[$image_id]['caption'] .= '<div class="blog-info blog-date"><i class="icon-time"></i>'; $slide_data[$image_id]['caption'] .= get_the_time($theme_option['date-format']); $slide_data[$image_id]['caption'] .= '</div>'; $slide_data[$image_id]['caption'] .= '<div class="blog-info blog-comment"><i class="icon-comment"></i>'; $slide_data[$image_id]['caption'] .= get_comments_number(); $slide_data[$image_id]['caption'] .= '</div>'; $slide_data[$image_id]['caption'] .= '<div class="clear"></div>'; } $slide_data[$image_id]['caption'] .= get_the_excerpt(); if ($settings['post-type'] == 'cause' && function_exists('gdlr_cause_donation_button')) { $cause_option = json_decode(gdlr_decode_preventslashes(get_post_meta(get_the_ID(), 'post-option', true)), true); $slide_data[$image_id]['caption'] .= gdlr_cause_donation_button($cause_option); } } } remove_filter('excerpt_length', 'gdlr_set_excerpt_length'); $feature_text = ''; if ($settings['caption-style'] != 'post-bottom post-slider') { if ($settings['post-type'] == 'cause') { $feature_text = __('Featured Causes', 'gdlr_translate'); } else { $feature_text = __('Featured Posts', 'gdlr_translate'); } } $ret = '<div class="gdlr-item gdlr-post-slider-item style-' . $settings['caption-style'] . '" ' . $item_id . $margin_style . ' >'; $ret .= gdlr_get_slider(array($slide_order, $slide_data), $settings['thumbnail-size'], 'flexslider', $feature_text); $ret .= '</div>'; return $ret; }
function gdlr_get_booking_services($branches, $selected_service) { global $hotel_option, $wpdb; // get every available services $services = array(); if (!empty($branches)) { $sql = "SELECT DISTINCT wpostmeta.post_id FROM {$wpdb->postmeta} wpostmeta "; $sql .= "WHERE wpostmeta.meta_key = 'gdlr-branches' AND wpostmeta.meta_value LIKE '%\"{$branches}\"%' "; $sql .= "ORDER BY post_id DESC"; $service_query = $wpdb->get_results($sql, OBJECT); if (empty($service_query)) { return; } else { foreach ($service_query as $service) { $services[] = $service->post_id; } } } else { $args = array('post_type' => 'service', 'posts_per_page' => 99); $query = new WP_Query($args); foreach ($query->posts as $post) { $services[] = $post->ID; } } if (empty($services)) { return; } ob_start(); ?> <div class="gdlr-room-selection-divider"></div> <div class="gdlr-booking-service-wrapper"> <span class="gdlr-booking-service-head" ><?php _e('Please select your preferred additional services. (optional)', 'gdlr-hotel'); ?> </span> <form class="gdlr-booking-service-form" method="post" data-ajax="<?php echo AJAX_URL; ?> " > <?php $words = array('night' => __('Night', 'gdlr-hotel'), 'trip' => __('Trip', 'gdlr-hotel'), 'car' => __('Car', 'gdlr-hotel'), 'group' => __('Group', 'gdlr-hotel'), 'guest' => __('Guest', 'gdlr-hotel'), 'room' => __('Room', 'gdlr-hotel')); foreach ($services as $service) { $active = in_array($service, $selected_service); $option = json_decode(gdlr_decode_preventslashes(get_post_meta($service, 'post-option', true)), true); echo '<div class="gdlr-room-service-option">'; echo '<label class="gdlr-room-service-checkbox ' . ($active ? 'gdlr-active' : '') . '">'; echo '<input type="checkbox" name="service-select[]" value="' . $service . '" ' . ($active ? 'checked' : '') . ' />'; echo '</label>'; echo '<span class="gdlr-room-service-title">' . get_the_title($service) . '</span>'; if ($option['service-type'] == 'parking-service' && $option['car'] == 'car') { echo '<input type="text" name="service-amount[]" value="1" ' . ($active ? '' : 'disabled') . ' />'; echo '<span class="gdlr-room-service-title">' . __('cars', 'gdlr-hotel') . '</span>'; } else { echo '<input type="hidden" name="service-amount[]" value="1" ' . ($active ? '' : 'disabled') . ' />'; } echo '<span class="gdlr-room-service-unit">'; echo gdlr_hotel_money_format($option['price']); echo '<span class="sep">/</span>'; if ($option['service-type'] == 'regular-service') { echo $words[$option['per']]; } else { if ($option['service-type'] == 'parking-service') { echo $words[$option['car']]; } } echo '<span class="sep">/</span>'; echo $words[$option['unit']]; echo '</span>'; echo '</div>'; } ?> </form> </div> <?php $ret = ob_get_contents(); ob_end_clean(); return $ret; }
function gdlr_get_modern_carousel_portfolio($query, $size, $thumbnail_size) { global $post; $ret = '<div class="gdlr-portfolio-carousel-item gdlr-item" >'; $ret .= '<div class="gdlr-ux gdlr-modern-portfolio-ux">'; $ret .= '<div class="flexslider" data-type="carousel" data-nav-container="portfolio-item-wrapper" data-columns="' . $size . '" >'; $ret .= '<ul class="slides" >'; while ($query->have_posts()) { $query->the_post(); $ret .= '<li class="gdlr-item gdlr-portfolio-item gdlr-modern-portfolio">'; $port_option = json_decode(gdlr_decode_preventslashes(get_post_meta($post->ID, 'post-option', true)), true); $ret .= '<div class="portfolio-thumbnail ' . gdlr_get_portfolio_thumbnail_class($port_option) . '">'; $ret .= gdlr_get_portfolio_thumbnail($port_option, $thumbnail_size, true); $ret .= '</div>'; // portfolio-thumbnail $ret .= '</li>'; } $ret .= '</ul>'; $ret .= '</div>'; // flexslider $ret .= '</div>'; // gdlr-ux $ret .= '</div>'; // gdlr-item return $ret; }
function gdlrs_get_summary_form($data, $with_form = true, $coupon = '') { global $hostel_option; $total_price = 0; $ret = '<div class="gdlr-price-summary-wrapper" >'; // display branches if exists if (!empty($data['gdlr-hotel-branches'])) { $term = get_term_by('id', $data['gdlr-hotel-branches'], 'hostel_room_category'); $ret .= '<div class="gdlr-price-summary-hotel-branches gdlr-title-font">'; $ret .= $term->name; $ret .= '</div>'; } else { $ret .= '<div class="gdlr-price-summary-head">' . __('Price Breakdown', 'gdlr-hotel') . '</div>'; } // group the customer by room $customer_rooms = array(); for ($i = 0; $i < intval($data['gdlr-room-number']); $i++) { $customer_rooms[$data['gdlr-room-id'][$i]] = empty($customer_rooms[$data['gdlr-room-id'][$i]]) ? 1 : $customer_rooms[$data['gdlr-room-id'][$i]] + 1; } foreach ($customer_rooms as $room_id => $guest_num) { $post_option = json_decode(gdlr_decode_preventslashes(get_post_meta($room_id, 'post-option', true)), true); $post_option['data'] = array('check-in' => $data['gdlr-check-in'], 'check-out' => $data['gdlr-check-out']); $price = gdlrs_get_booking_price($post_option); if (empty($post_option['room-type']) || $post_option['room-type'] == 'dorm') { $price['total'] = $price['total'] * $guest_num; } $ret .= '<div class="gdlr-price-room-summary">'; $ret .= '<div class="gdlr-price-room-summary-title">'; $ret .= __('Room', 'gdlr-hotel') . ' : ' . get_the_title($room_id); $ret .= '<span class="gdlr-price-room-summary-price" href="#" >' . gdlr_hostel_money_format($price['total']) . '</span>'; $ret .= '</div>'; $ret .= '<div class="gdlr-price-room-summary-info gdlr-title-font" >'; $ret .= '<span>' . __('Guest', 'gdlr-hotel') . ' : ' . $guest_num . '</span>'; $ret .= '</div>'; $ret .= '</div>'; $total_price += $price['total']; } // service if (!empty($data['service'])) { $services_price = gdlrs_calculate_service_price($data); $ret .= '<div class="gdlr-service-price-summary">'; $ret .= '<div class="gdlr-service-price-summary-head" >' . __('Additional Services', 'gdlr-hotel') . '</div>'; foreach ($services_price as $key => $service_price) { if ($key == 'total') { continue; } $ret .= '<div class="gdlr-service-price-summary-item">'; $ret .= '<span class="gdlr-head">' . $service_price['title'] . '</span>'; $ret .= '<span class="gdlr-tail">' . gdlr_hostel_money_format($service_price['price']) . '</span>'; $ret .= '<div class="clear"></div>'; $ret .= '</div>'; } $ret .= '</div>'; $total_price += $services_price['total']; } // vat if (!empty($hostel_option['booking-vat-amount'])) { $ret .= '<div class="gdlr-price-summary-vat" >'; $ret .= '<div class="gdlr-price-summary-vat-total" >'; $ret .= '<span class="gdlr-head">' . __('Total', 'gdlr-hotel') . '</span>'; $ret .= '<span class="gdlr-tail">' . gdlr_hostel_money_format($total_price) . '</span>'; $ret .= '<div class="clear"></div>'; $ret .= '</div>'; // vat-total if (!empty($coupon)) { $discount = gdlr_get_coupon_discount($data, $coupon); $total_price -= $discount; $ret .= '<div class="gdlr-price-summary-vat-discount" >'; $ret .= '<span class="gdlr-head">' . __('Coupon Discount', 'gdlr-hotel') . '</span>'; $ret .= '<span class="gdlr-tail">' . gdlr_hostel_money_format($discount) . '</span>'; $ret .= '<div class="clear"></div>'; $ret .= '</div>'; } $vat_amount = $total_price * floatval($hostel_option['booking-vat-amount']) / 100; $total_price += $vat_amount; $ret .= '<div class="gdlr-price-summary-vat-amount" >'; $ret .= '<span class="gdlr-head">' . __('Vat', 'gdlr-hotel') . ' ' . $hostel_option['booking-vat-amount'] . '%</span>'; $ret .= '<span class="gdlr-tail">' . gdlr_hostel_money_format($vat_amount) . '</span>'; $ret .= '<div class="clear"></div>'; $ret .= '</div>'; // vat-amount $ret .= '</div>'; } // deposit if ($with_form && !empty($hostel_option['booking-deposit-amount'])) { // grand total $ret .= '<div class="gdlr-price-summary-grand-total gdlr-active" >'; $ret .= '<span class="gdlr-head">' . __('Grand Total', 'gdlr-hotel') . '</span>'; $ret .= '<span class="gdlr-tail">' . gdlr_hostel_money_format($total_price) . '</span>'; $ret .= '</div>'; $deposit_text = $hostel_option['booking-deposit-amount'] . '% ' . __('Deposit', 'gdlr-hotel'); $deposit_amount = $total_price * floatval($hostel_option['booking-deposit-amount']) / 100; $ret .= '<div class="gdlr-price-deposit-wrapper">'; $ret .= '<div class="gdlr-price-deposit-input" >'; $ret .= '<span class="gdlr-active" ><label class="gdlr-radio-input"><input type="radio" name="pay_deposit" value="false" checked ></label>' . __('Pay Full Amount', 'gdlr-hotel') . '</span>'; $ret .= '<span><label class="gdlr-radio-input"><input type="radio" name="pay_deposit" value="true" ></label>' . __('Pay', 'gdlr-hotel') . ' ' . $deposit_text . '</span>'; $ret .= '</div>'; $ret .= '<div class="gdlr-price-deposit-inner-wrapper">'; $ret .= '<div class="gdlr-price-deposit-title">' . $deposit_text . '</div>'; $ret .= '<div class="gdlr-price-deposit-caption">' . __('*Pay the rest on arrival', 'gdlr-hotel') . '</div>'; $ret .= '<div class="gdlr-price-deposit-amount">' . gdlr_hostel_money_format($deposit_amount) . '</div>'; $ret .= '</div>'; $ret .= '</div>'; $ret .= '<a id="gdlr-edit-booking-button" class="gdlr-edit-booking-button gdlr-button with-border" href="#">' . __('Edit Booking', 'gdlr-hotel') . '</a>'; } else { $ret .= '<div class="gdlr-price-summary-grand-total-wrapper-2" >'; $ret .= '<div class="gdlr-price-summary-grand-total '; $ret .= empty($data['pay_deposit']) || $data['pay_deposit'] == 'false' ? 'gdlr-active' : ''; $ret .= '" >'; $ret .= '<span class="gdlr-head">' . __('Grand Total', 'gdlr-hotel') . '</span>'; $ret .= '<span class="gdlr-tail">' . gdlr_hostel_money_format($total_price) . '</span>'; $ret .= '</div>'; if (!empty($data['pay_deposit']) && $data['pay_deposit'] == 'true') { $deposit_text = $hostel_option['booking-deposit-amount'] . '% ' . __('Deposit', 'gdlr-hotel'); $deposit_amount = $total_price * floatval($hostel_option['booking-deposit-amount']) / 100; $ret .= '<div class="gdlr-price-deposit-wrapper">'; $ret .= '<div class="gdlr-price-deposit-inner-wrapper">'; $ret .= '<div class="gdlr-price-deposit-title">' . $deposit_text . '</div>'; $ret .= '<div class="gdlr-price-deposit-caption">' . __('*Pay the rest on arrival', 'gdlr-hotel') . '</div>'; $ret .= '<div class="gdlr-price-deposit-amount">' . gdlr_hostel_money_format($deposit_amount) . '</div>'; $ret .= '</div>'; $ret .= '</div>'; $ret .= '<div class="gdlr-pay-on-arrival" >'; $ret .= '<span class="gdlr-head">' . __('Pay on arrival', 'gdlr-hotel') . '</span>'; $ret .= '<span class="gdlr-tail">' . gdlr_hostel_money_format($total_price - $deposit_amount) . '</span>'; $ret .= '</div>'; } $ret .= '</div>'; } $ret .= '</div>'; // gdlr-price-summary-wrapper return $ret; }
function gdlr_save_paypal_form() { $ret = array(); if (false && !check_ajax_referer('gdlr-paypal-create-nonce', 'security', false)) { $ret['status'] = 'failed'; $ret['message'] = __('The page has been expired. Please refresh the page to try this again.', 'gdlr_translate'); } else { $record = get_option('gdlr_paypal', array()); $item_id = sizeof($record); $post_val = gdlr_decode_preventslashes(get_post_meta($_POST['ticket_id'], 'post-option', true)); $post_options = empty($post_val) ? array() : json_decode($post_val, true); $record[$item_id]['name'] = $_POST['gdlr-name']; $record[$item_id]['last-name'] = $_POST['gdlr-last-name']; $record[$item_id]['email'] = $_POST['gdlr-email']; $record[$item_id]['phone'] = $_POST['gdlr-phone']; $record[$item_id]['address'] = $_POST['gdlr-address']; $record[$item_id]['addition'] = $_POST['gdlr-additional-note']; $record[$item_id]['post-id'] = $_POST['ticket_id']; $record[$item_id]['amount'] = $post_options['price']; $ret['status'] = 'success'; $ret['message'] = __('Redirecting to paypal', 'gdlr_translate'); $ret['amount'] = $post_options['price']; $ret['invoice'] = $item_id; update_option('gdlr_paypal', $record); } die(json_encode($ret)); }
function gdlr_print_urgent_cause($settings) { $item_id = empty($settings['page-item-id']) ? '' : ' id="' . $settings['page-item-id'] . '" '; global $post, $gdlr_spaces, $gdlr_excerpt_read_more; $margin = !empty($settings['margin-bottom']) && $settings['margin-bottom'] != $gdlr_spaces['bottom-item'] ? 'margin-bottom: ' . $settings['margin-bottom'] . ';' : ''; $margin .= !empty($settings['min-height']) ? ' min-height: ' . $settings['min-height'] . 'px; ' : ''; // excerpt number if (!empty($settings['num-excerpt'])) { global $gdlr_excerpt_length; $gdlr_excerpt_length = $settings['num-excerpt']; add_filter('excerpt_length', 'gdlr_set_excerpt_length'); } $posts = get_posts(array('name' => $settings['cause'], 'post_type' => 'cause', 'posts_per_page' => 1)); foreach ($posts as $post) { setup_postdata($post); $cause_option = json_decode(gdlr_decode_preventslashes(get_post_meta(get_the_ID(), 'post-option', true)), true); $image_id = get_post_thumbnail_id(); if (!empty($image_id)) { $image_src = wp_get_attachment_image_src($image_id, 'full'); $margin .= ' background: url(' . $image_src[0] . ') center 0px; '; } $margin_style = !empty($margin) ? ' style="' . $margin . '" ' : ''; $ret = '<div class="urgent-cause-wrapper gdlr-item" ' . $item_id . $margin_style . '>'; $ret .= '<div class="urgent-cause-overlay" ></div>'; $ret .= '<div class="urgent-cause-inner" >'; $ret .= '<div class="urgent-cause-caption">' . $settings['title'] . '</div>'; $ret .= '<h3 class="urgent-cause-title"><a href="' . get_permalink() . '">' . get_the_title() . '</a></h3>'; $ret .= '<div class="urgent-cause-content">' . get_the_excerpt() . '</div>'; $ret .= '<div class="urgent-cause-info">'; $ret .= gdlr_cause_donation_button($cause_option); $ret .= gdlr_cause_donation_amount($cause_option['goal-of-donation'], $cause_option['current-funding']); $ret .= '<div class="clear"></div>'; $ret .= '</div>'; // urgent-cause-info $ret .= '</div>'; // urgent-cause-inner $ret .= '</div>'; } remove_filter('excerpt_length', 'gdlr_set_excerpt_length'); wp_reset_postdata(); return $ret; }
function gdlr_print_small_session($query) { global $theme_option; if (!empty($theme_option['new-fontawesome']) && $theme_option['new-fontawesome'] == 'enable') { $icon_class = array('time' => 'fa-clock-o'); } else { $icon_class = array('time' => 'icon-time'); } echo '<div class="gdlr-session-item gdlr-small-session-item gdlr-item" >'; echo '<div class="gdlr-session-item-head" >'; $current_session_day = 0; $current_session_date = ''; while ($query->have_posts()) { $query->the_post(); $session_date_o = strtotime(get_post_meta(get_the_ID(), 'session-date', true)); $session_date = date_i18n($theme_option['date-format'], $session_date_o); if ($current_session_date != $session_date) { $current_session_day++; $current_session_date = $session_date; echo '<div class="gdlr-session-item-head-info ' . ($current_session_day == 1 ? 'gdlr-active' : '') . '" data-tab="gdlr-tab-' . $current_session_day . '">'; echo '<div class="gdlr-session-head-day">' . sprintf(__('Day %d', 'gdlr-conference'), $current_session_day) . '</div>'; echo '<div class="gdlr-session-head-date">' . $current_session_date . '</div>'; echo '</div>'; } } echo '<div class="clear"></div>'; echo '</div>'; // session-item-head rewind_posts(); $current_session_day = 0; $current_session_date = ''; while ($query->have_posts()) { $query->the_post(); $gdlr_post_option = gdlr_decode_preventslashes(get_post_meta(get_the_ID(), 'post-option', true)); $gdlr_post_option = json_decode($gdlr_post_option, true); $gdlr_speakers = gdlr_get_session_speaker_list($gdlr_post_option['session-speaker']); $session_date_o = strtotime(get_post_meta(get_the_ID(), 'session-date', true)); $session_date = date_i18n($theme_option['date-format'], $session_date_o); if ($current_session_date != $session_date) { $current_session_day++; $current_session_date = $session_date; echo $current_session_day == 1 ? '' : '</div>'; // gdlr-session-item-tab-content echo '<div class="gdlr-session-item-tab-content gdlr-tab-' . $current_session_day . ' ' . ($current_session_day == 1 ? 'gdlr-active' : '') . '">'; } echo '<div class="gdlr-session-item-content-wrapper">'; echo '<div class="gdlr-session-item-divider"></div>'; if (!empty($gdlr_post_option['session-type']) && $gdlr_post_option['session-type'] == 'break') { echo '<div class="session-break-content">'; echo '<div class="session-break-info">'; echo '<i class="fa ' . $icon_class['time'] . '" ></i>'; echo $gdlr_post_option['session-time']; echo '</div>'; echo '<h3 class="gdlr-session-break-title">' . get_the_title() . '</h3>'; echo '</div>'; } else { echo '<div class="gdlr-session-item-content" >'; if (!empty($gdlr_speakers)) { echo '<div class="gdlr-session-thumbnail-wrapper">'; echo gdlr_get_speaker_thumbnail('thumbnail', $gdlr_speakers[0]->ID, array(), true, true); echo '</div>'; } echo '<div class="gdlr-session-item-content-inner" >'; echo '<h3 class="gdlr-session-item-title"><a href="' . get_permalink() . '">' . get_the_title() . '</a></h3>'; echo '<div class="gdlr-session-item-content-info">'; echo gdlr_get_session_info(array('time', 'location', 'speaker'), $gdlr_post_option, $gdlr_speakers); echo '</div>'; // session-item-content-info echo '</div>'; // session-item-content-inner echo '</div>'; // session-item-content } echo '<div class="clear"></div>'; echo '</div>'; // session-item-content-wrapper } echo '</div>'; // gdlr-session-item-tab-content echo '</div>'; // gdlr-tab-session-item wp_reset_postdata(); }
function gdlr_save_cause_meta_option($post_id) { if (get_post_type() == 'cause' && isset($_POST['post-option'])) { $post_option = gdlr_preventslashes(gdlr_stripslashes($_POST['post-option'])); $event_option = json_decode(gdlr_decode_preventslashes($post_option), true); if (!empty($event_option['current-funding'])) { update_post_meta($post_id, 'gdlr-current-funding', $event_option['current-funding']); } if (!empty($event_option['goal-of-donation'])) { $goal = floatval($event_option['goal-of-donation']); $current = floatval($event_option['current-funding']); $percent = intval($current / $goal * 100); update_post_meta($post_id, 'gdlr-donation-percent', $percent); } } }
function print_page_builder_content() { global $post; $page_builder_html = new gdlr_page_builder_html($this->merge_page_builder_items()); // head section echo '<div class="page-builder-head-wrapper">'; echo '<h4 class="page-builder-head page-builder">' . __('Page Builder Section', 'gdlr_translate') . '</h4>'; echo '<div class="command-button-wrapper">'; echo '<input class="undo-button" type="button" value="' . __('Undo', 'gdlr_translate') . '" />'; echo '<input class="redo-button" type="button" value="' . __('Redo', 'gdlr_translate') . '" />'; echo '</div>'; echo '</div>'; // page-builder-head-wrapper echo '<div class="page-builder-content">'; foreach ($this->setting['section'] as $section_slug => $section) { $value = gdlr_decode_preventslashes(get_post_meta($post->ID, $section_slug, true)); $array_value = json_decode($value, true); echo '<div class="content-section-wrapper ' . $section['class'] . '">'; echo '<div class="content-section-head-wrapper active">'; echo '<h6 class="content-section-head">' . $section['title'] . '</h6>'; echo '</div>'; echo '<div class="gdlr-sortable-wrapper" data-type="' . $section['class'] . '" >'; echo '<div class="page-builder-item-area gdlr-sortable clear-fix row '; echo !empty($array_value) ? '' : 'blank'; echo '" >'; $page_builder_html->print_page_builder($array_value); echo '</div>'; echo '</div>'; // gdlr-sortable-wrapper echo '<textarea class="gdlr-input-hidden" name="' . $section_slug . '" >' . esc_textarea($value) . '</textarea>'; echo '</div>'; // content-section-wrapper echo '<div class="clear"></div>'; } echo '</div>'; // page-builder-content }
$args['meta_key'] = 'session-speaker'; $args['orderby'] = 'meta_value'; $args['order'] = 'asc'; $args['meta_query'] = array(array('key' => 'session-speaker', 'value' => $post->post_name, 'compare' => 'LIKE')); $query = new WP_Query($args); if ($query->have_posts()) { $count = 0; echo '<h4 class="gdlr-speaker-session-title">'; echo sprintf(__('All session by %s', 'gdlr-conference'), get_the_title()); echo '</h4>'; echo '<div class="gdlr-speaker-session-wrapper" >'; while ($query->have_posts()) { $query->the_post(); $count++; echo $count % 2 == 1 && $count != 1 ? '<div class="clear"></div>' : ''; $gdlr_post_option = gdlr_decode_preventslashes(get_post_meta(get_the_ID(), 'post-option', true)); $gdlr_post_option = json_decode($gdlr_post_option, true); echo '<div class="six columns">'; echo '<div class="gdlr-speaker-session-item gdlr-item" >'; echo '<h4 class="speaker-session-item-title"><a href="' . get_permalink() . '">' . get_the_title() . '</a></h4>'; echo gdlr_get_session_info(array('time', 'location'), $gdlr_post_option); echo '</div>'; echo '</div>'; } echo '<div class="clear"></div>'; echo '</div>'; wp_reset_postdata(); } //foreach($query); ?> </div>
function gdlr_print_ticket_item($settings) { $item_id = empty($settings['page-item-id']) ? '' : ' id="' . $settings['page-item-id'] . '" '; global $gdlr_spaces; $margin = !empty($settings['margin-bottom']) && $settings['margin-bottom'] != $gdlr_spaces['bottom-item'] ? 'margin-bottom: ' . $settings['margin-bottom'] . ';' : ''; $margin_style = !empty($margin) ? ' style="' . $margin . '" ' : ''; // query posts section $args = array('post_type' => 'ticket', 'suppress_filters' => false); $args['posts_per_page'] = empty($settings['num-fetch']) ? '999' : $settings['num-fetch']; $args['orderby'] = empty($settings['orderby']) ? 'post_date' : $settings['orderby']; $args['order'] = empty($settings['order']) ? 'desc' : $settings['order']; $args['paged'] = 1; if (!empty($settings['category'])) { $args['tax_query'] = array(array('terms' => explode(',', $settings['category']), 'taxonomy' => 'ticket_category', 'field' => 'slug')); } $query = new WP_Query($args); echo gdlr_get_item_title($settings); echo '<div class="ticket-item-wrapper" ' . $item_id . $margin_style . ' >'; echo '<div class="ticket-item-holder">'; $current_size = 0; while ($query->have_posts()) { $query->the_post(); $post_val = gdlr_decode_preventslashes(get_post_meta(get_the_ID(), 'post-option', true)); $post_options = empty($post_val) ? array() : json_decode($post_val, true); if ($current_size % $settings['ticket-size'] == 0) { echo '<div class="clear"></div>'; } echo '<div class="' . gdlr_get_column_class('1/' . $settings['ticket-size']) . '">'; echo '<div class="gdlr-item gdlr-ticket-item">'; echo '<div class="gdlr-ticket-head">'; echo '<div class="gdlr-ticket-head-title">' . get_the_title() . '</div>'; echo '<div class="gdlr-ticket-head-price">' . (empty($post_options['price']) ? __('Free', 'gdlr-conference') : gdlr_ticket_money_format($post_options['price'])) . '</div>'; if (!empty($post_options['featured-ticket']) && $post_options['featured-ticket'] == 'yes') { echo '<div class="gdlr-ticket-head-featured gdlr-info-font">' . __('Featured!', 'gdlr-conference') . '</div>'; } echo '</div>'; // gdlr-ticket-head echo '<div class="gdlr-ticket-content gdlr-info-font">'; the_content(); echo '</div>'; // gdlr-ticket-content if (!empty($post_options['button-link'])) { echo '<a class="gdlr-ticket-button" href="' . esc_attr($post_options['button-link']) . '">' . __('Book Now', 'gdlr-conference') . '</a>'; } else { if (empty($post_options['price']) && $post_options['price'] == '-1') { echo '<a class="gdlr-ticket-button gdlr-sold-out" href="#">' . __('Sold Out', 'gdlr-conference') . '</a>'; } else { global $ticket_id; $ticket_id = empty($ticket_id) ? 1 : $ticket_id + 1; echo '<div class="gdlr-lightbox-form" id="gdlr-form-' . $ticket_id . '" >' . gdlr_paypal_form() . '</div>'; echo '<a class="gdlr-ticket-button" href="#gdlr-form-' . $ticket_id . '" data-rel="fancybox" data-fancybox-type="inline" >' . __('Book Now', 'gdlr-conference') . '</a>'; } } echo '</div>'; // gdlr-item echo '</div>'; // gdlr-column-class $current_size++; } wp_reset_postdata(); echo '<div class="clear"></div>'; echo '</div>'; echo '</div>'; // ticket item wrapper }
function gdlr_get_modern_room_carousel($query, $size, $thumbnail_size) { $ret = ''; $ret .= '<div class="gdlr-room-carousel-item gdlr-item" >'; $ret .= '<div class="flexslider" data-type="carousel" data-nav-container="room-item-wrapper" data-columns="' . $size . '" >'; $ret .= '<ul class="slides" >'; while ($query->have_posts()) { $query->the_post(); $post_option = json_decode(gdlr_decode_preventslashes(get_post_meta(get_the_ID(), 'post-option', true)), true); $ret .= '<li class="gdlr-item gdlr-modern-room">'; $ret .= '<div class="gdlr-room-thumbnail">' . gdlr_get_room_thumbnail($post_option, $thumbnail_size) . '</div>'; $ret .= '<h3 class="gdlr-room-title"><a href="' . get_permalink() . '" >' . get_the_title() . '</a></h3>'; $ret .= '<a href="' . get_permalink() . '" class="gdlr-room-detail">' . __('Check Details', 'gdlr-hotel') . '<i class="fa fa-long-arrow-right icon-long-arrow-right"></i></a>'; $ret .= '</li>'; // gdlr-item } $ret .= '</ul>'; $ret .= '<div class="clear"></div>'; $ret .= '</div>'; // close the flexslider $ret .= '</div>'; // close the gdlr-item wp_reset_postdata(); return $ret; }
function gdlr_get_modern_carousel_portfolio($query, $size, $thumbnail_size) { global $post; $ret = '<div class="gdlr-portfolio-carousel-item gdlr-item" >'; $ret .= '<div class="flexslider" data-type="carousel" data-nav-container="portfolio-item-wrapper" data-columns="' . $size . '" >'; $ret .= '<ul class="slides" >'; while ($query->have_posts()) { $query->the_post(); $ret .= '<li class="gdlr-item gdlr-portfolio-item gdlr-modern-portfolio">'; $port_option = json_decode(gdlr_decode_preventslashes(get_post_meta($post->ID, 'post-option', true)), true); $ret .= '<div class="portfolio-thumbnail ' . gdlr_get_portfolio_thumbnail_class($port_option) . '">'; $ret .= gdlr_get_portfolio_thumbnail($port_option, $thumbnail_size); $ret .= '</div>'; // portfolio-thumbnail $ret .= '<h3 class="portfolio-title"><a ' . gdlr_get_portfolio_thumbnail_link($port_option, 'title') . ' >' . get_the_title() . '</a></h3>'; $port_tag = gdlr_get_portfolio_info(array('tag'), $port_option, false); if (!empty($port_tag)) { $ret .= '<div class="gdlr-portfolio-info gdlr-info-font">' . $port_tag . '</div>'; } $ret .= '</li>'; } $ret .= '</ul>'; $ret .= '</div>'; // flexslider $ret .= '</div>'; // gdlr-item return $ret; }
function save_page_option($post_id) { if (empty($_POST[$this->setting['option_name']]) || empty($post_id)) { return; } if (isset($_POST[$this->setting['option_name']])) { update_post_meta($post_id, $this->setting['option_name'], gdlr_preventslashes($_POST[$this->setting['option_name']])); } $post_option = gdlr_preventslashes(gdlr_stripslashes($_POST['post-option'])); $post_option = json_decode(gdlr_decode_preventslashes($post_option), true); $custom_meta = apply_filters('gdlr_custom_page_option_meta', array(), $post_option); if (!empty($custom_meta)) { foreach ($custom_meta as $meta) { if (!empty($meta['key']) && !empty($meta['value'])) { update_post_meta($post_id, $meta['key'], $meta['value']); } } } }
function gdlr_cause_money_format($number, $decimal = 0, $format = '') { global $theme_option; $cause_option = get_post_meta(get_the_ID(), 'post-option', true); if (!empty($cause_option)) { $cause_option = json_decode(gdlr_decode_preventslashes($cause_option), true); if (!empty($cause_option) && !empty($cause_option['money-format'])) { $format = $cause_option['money-format']; } } if (empty($format)) { $format = $theme_option['cause-money-format']; } return str_replace('NUMBER', number_format_i18n($number, $decimal), $format); }
function save_page_option($post_id) { if (empty($_POST[$this->setting['option_name']]) || empty($post_id)) { return; } if (!in_array(get_post_type($post_id), $this->setting['post_type'])) { return; } if (isset($_POST[$this->setting['option_name']])) { update_post_meta($post_id, $this->setting['option_name'], gdlr_preventslashes($_POST[$this->setting['option_name']])); } $post_option = gdlr_preventslashes(gdlr_stripslashes($_POST['post-option'])); $post_option = json_decode(gdlr_decode_preventslashes($post_option), true); // for custom_field attribute foreach ($this->option as $option_section) { foreach ($option_section['options'] as $option_slug => $option) { if (!empty($option['custom_field'])) { if ($option['type'] == 'multi-combobox') { update_post_meta($post_id, $option['custom_field'], json_encode($post_option[$option_slug])); } else { update_post_meta($post_id, $option['custom_field'], $post_option[$option_slug]); } } } } // for custom meta filter $custom_meta = apply_filters('gdlr_custom_page_option_meta', array(), $post_option); if (!empty($custom_meta)) { foreach ($custom_meta as $meta) { if (!empty($meta['key']) && !empty($meta['value'])) { update_post_meta($post_id, $meta['key'], $meta['value']); } } } }
function print_fas_option($settings = array()) { echo '<div class="gdlr-option-input '; echo !empty($settings['class']) ? $settings['class'] : ''; echo '">'; echo '<textarea id="facilities-and-services" name="' . $settings['slug'] . '" data-slug="' . $settings['slug'] . '" '; echo !empty($settings['class']) ? 'class="' . $settings['class'] . '"' : ''; echo '>'; if (isset($settings['value'])) { echo esc_textarea($settings['value']); } else { global $post; $option_value = gdlr_decode_preventslashes(get_post_meta($post->ID, 'post-option', true)); if (!empty($option_value)) { $option_value = json_decode($option_value, true); } if (!empty($settings['data-type']) && $settings['data-type'] == 'hostel') { $default = array(array('title' => __('Bathroom', 'gdlr-hotel'), 'value' => ''), array('title' => __('Max', 'gdlr-hotel'), 'value' => ''), array('title' => __('Common Room', 'gdlr-hotel'), 'value' => ''), array('title' => __('Wifi', 'gdlr-hotel'), 'value' => ''), array('title' => __('Breakfast', 'gdlr-hotel'), 'value' => '')); } else { $default = array(array('title' => __('Bed', 'gdlr-hotel'), 'value' => empty($option_value['bed']) ? '' : $option_value['bed']), array('title' => __('Max People', 'gdlr-hotel'), 'value' => empty($option_value['max-people']) ? '' : $option_value['max-people']), array('title' => __('View', 'gdlr-hotel'), 'value' => empty($option_value['view']) ? '' : $option_value['view']), array('title' => __('Room Size', 'gdlr-hotel'), 'value' => empty($option_value['room-size']) ? '' : $option_value['room-size']), array('title' => __('Wifi', 'gdlr-hotel'), 'value' => empty($option_value['wifi']) ? '' : $option_value['wifi']), array('title' => __('Breakfast Included', 'gdlr-hotel'), 'value' => empty($option_value['breakfast-included']) ? '' : $option_value['breakfast-included']), array('title' => __('Room Service', 'gdlr-hotel'), 'value' => empty($option_value['room-service']) ? '' : $option_value['room-service']), array('title' => __('Airport Pickup Service', 'gdlr-hotel'), 'value' => empty($option_value['airport-pickup-service']) ? '' : $option_value['airport-pickup-service'])); } echo esc_textarea(json_encode($default)); } echo '</textarea>'; echo '</div>'; }