557 lines
21 KiB
PHP
557 lines
21 KiB
PHP
<?php
|
|
if (!defined('ABSPATH')) {
|
|
die;
|
|
} // Cannot access pages directly.
|
|
|
|
/**
|
|
* This is the Shortcode For Display The City List of The Event
|
|
*/
|
|
add_shortcode('event-city-list', 'mep_event_city_list_shortcode_func');
|
|
function mep_event_city_list_shortcode_func($atts, $content = null)
|
|
{
|
|
ob_start();
|
|
echo mep_event_get_event_city_list();
|
|
return ob_get_clean();
|
|
}
|
|
|
|
|
|
/**
|
|
* This is the Shortcode For Display Event Calendar
|
|
*/
|
|
add_shortcode('event-calendar', 'mep_cal_func');
|
|
function mep_cal_func($atts, $content = null)
|
|
{
|
|
ob_start();
|
|
echo mep_event_calender();
|
|
return ob_get_clean();
|
|
}
|
|
|
|
function mep_event_calender()
|
|
{
|
|
?>
|
|
<div class="event-calendar"></div>
|
|
<script>
|
|
jQuery(document).ready(function() {
|
|
const myEvents = [
|
|
<?php
|
|
// $loop = mep_event_query('all',-1);
|
|
$args = array(
|
|
'post_type' => array('mep_events'),
|
|
'posts_per_page' => -1,
|
|
'order' => 'ASC',
|
|
'orderby' => 'meta_value',
|
|
'meta_key' => 'event_start_datetime'
|
|
);
|
|
$loop = new WP_Query($args);
|
|
$i = 1;
|
|
$count = $loop->post_count - 1;
|
|
while ($loop->have_posts()) {
|
|
$loop->the_post();
|
|
$event_meta = get_post_custom(get_the_id());
|
|
$event_dates = mep_get_event_dates_arr(get_the_id());
|
|
|
|
foreach ($event_dates as $_dates) {
|
|
?>
|
|
{
|
|
start : '<?php echo date_i18n('Y-m-d H:i', strtotime($_dates['start'])); ?>',
|
|
end : '<?php echo date_i18n('Y-m-d H:i', strtotime($_dates['end'])); ?>',
|
|
title : '<?php the_title(); ?>',
|
|
url : '<?php the_permalink(); ?>',
|
|
class : '',
|
|
color : '#000',
|
|
data : {}
|
|
},
|
|
<?php
|
|
}
|
|
|
|
|
|
}
|
|
$i++;
|
|
|
|
wp_reset_postdata(); ?>
|
|
]
|
|
|
|
jQuery('.event-calendar').equinox({
|
|
events: myEvents
|
|
});
|
|
});
|
|
</script>
|
|
<?php
|
|
}
|
|
|
|
/**
|
|
* The Magical & The Main Event Listing Shortcode is Here, You can check the details with demo here https://wordpress.org/plugins/mage-eventpress/
|
|
*/
|
|
add_shortcode('event-list', 'mep_event_list');
|
|
function mep_event_list($atts, $content = null)
|
|
{
|
|
$defaults = array(
|
|
"cat" => "0",
|
|
"org" => "0",
|
|
"style" => "grid",
|
|
"column" => 3,
|
|
"cat-filter" => "no",
|
|
"org-filter" => "no",
|
|
"show" => "-1",
|
|
"pagination" => "no",
|
|
"pagination-style" => "load_more",
|
|
"city" => "",
|
|
"country" => "",
|
|
"carousal-nav" => "no",
|
|
"carousal-dots" => "yes",
|
|
"carousal-id" => "102448",
|
|
"timeline-mode" => "vertical",
|
|
'sort' => 'ASC',
|
|
'status' => 'upcoming',
|
|
'search-filter' => '',
|
|
'title-filter' => 'yes',
|
|
'category-filter' => 'yes',
|
|
'organizer-filter' => 'yes',
|
|
'city-filter' => 'yes',
|
|
'date-filter' => 'yes'
|
|
);
|
|
$params = shortcode_atts($defaults, $atts);
|
|
$cat = $params['cat'];
|
|
$org = $params['org'];
|
|
$style = $params['style'];
|
|
$cat_f = $params['cat-filter'];
|
|
$org_f = $params['org-filter'];
|
|
$show = $params['show'];
|
|
$pagination = $params['pagination'];
|
|
$sort = $params['sort'];
|
|
$column = $style != 'grid' ? 1 : $params['column'];
|
|
$nav = $params['carousal-nav'] == 'yes' ? 1 : 0;
|
|
$dot = $params['carousal-dots'] == 'yes' ? 1 : 0;
|
|
$city = $params['city'];
|
|
$country = $params['country'];
|
|
$cid = $params['carousal-id'];
|
|
$status = $params['status'];
|
|
|
|
$filter = $params['search-filter'];
|
|
$show = ($filter == 'yes' || $pagination == 'yes' && $style != 'timeline') ? -1 : $show;
|
|
|
|
$main_div = $pagination == 'carousal' ? '<div class="mage_grid_box owl-theme owl-carousel" id="mep-carousel' . $cid . '">' : '<div class="mage_grid_box">';
|
|
|
|
$time_line_div_start = $style == 'timeline' ? '<div class="timeline"><div class="timeline__wrap"><div class="timeline__items">' : '';
|
|
$time_line_div_end = $style == 'timeline' ? '</div></div></div>' : '';
|
|
|
|
$flex_column = $column;
|
|
$mage_div_count = 0;
|
|
$event_expire_on = mep_get_option('mep_event_expire_on_datetimes', 'general_setting_sec', 'event_start_datetime');
|
|
$unq_id = 'abr'.uniqid();
|
|
ob_start();
|
|
/**
|
|
* The Main Query function mep_event_query is locet in inc/mep_query.php File
|
|
*/
|
|
$loop = mep_event_query($show, $sort, $cat, $org, $city, $country, $status);
|
|
?>
|
|
<div class='list_with_filter_section mep_event_list'>
|
|
<?php if ($cat_f == 'yes') {
|
|
/**
|
|
* This is the hook where category filter lists are fired from inc/template-parts/event_list_tax_name_list.php File
|
|
*/
|
|
do_action('mep_event_list_cat_names',$cat,$unq_id);
|
|
}
|
|
if ($org_f == 'yes') {
|
|
/**
|
|
* This is the hook where Organization filter lists are fired from inc/template-parts/event_list_tax_name_list.php File
|
|
*/
|
|
do_action('mep_event_list_org_names',$org,$unq_id);
|
|
}
|
|
if ($filter == 'yes' && $style != 'timeline') {
|
|
do_action('mpwem_list_with_filter_section', $loop, $params);
|
|
}
|
|
?>
|
|
|
|
<div class="all_filter_item mep_event_list_sec" id='mep_event_list_<?php echo esc_attr($unq_id); ?>'>
|
|
<?php
|
|
$total_item = $loop->post_count;
|
|
echo wp_kses_post($main_div);
|
|
echo wp_kses_post($time_line_div_start);
|
|
while ($loop->have_posts()) {
|
|
$loop->the_post();
|
|
|
|
if ($style == 'grid' && (int)$column>0 && $pagination != 'carousal') {
|
|
$columnNumber='column_style';
|
|
$width=100/(int)$column;
|
|
}elseif($pagination == 'carousal' && $style == 'grid'){
|
|
$columnNumber = 'grid';
|
|
$width=100;
|
|
} else {
|
|
$columnNumber = 'one_column';
|
|
$width=100;
|
|
}
|
|
|
|
/**
|
|
* This is the hook where Event Loop List fired from inc/template-parts/event_loop_list.php File
|
|
*/
|
|
do_action('mep_event_list_shortcode', get_the_id(), $columnNumber, $style,$width,$unq_id);
|
|
}
|
|
wp_reset_postdata();
|
|
echo wp_kses_post($time_line_div_end);
|
|
?>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
do_action('mpwem_pagination',$params,$total_item);
|
|
?>
|
|
</div>
|
|
<script>
|
|
jQuery(document).ready(function() {
|
|
var containerEl = document.querySelector('#mep_event_list_<?php echo esc_attr($unq_id); ?>');
|
|
var mixer = mixitup(containerEl);
|
|
<?php if ($pagination == 'carousal') { ?>
|
|
jQuery('#mep-carousel<?php echo esc_attr($cid); ?>').owlCarousel({
|
|
autoplay: <?php echo mep_get_option('mep_autoplay_carousal', 'carousel_setting_sec', 'true'); ?>,
|
|
autoplayTimeout:<?php echo mep_get_option('mep_speed_carousal', 'carousel_setting_sec', '5000'); ?>,
|
|
autoplayHoverPause: true,
|
|
loop: <?php echo mep_get_option('mep_loop_carousal', 'carousel_setting_sec', 'true'); ?>,
|
|
margin: 20,
|
|
nav: <?php echo esc_attr($nav); ?>,
|
|
dots: <?php echo esc_attr($dot); ?>,
|
|
responsiveClass: true,
|
|
responsive: {
|
|
0: {
|
|
items: 1,
|
|
},
|
|
600: {
|
|
items: 2,
|
|
},
|
|
1000: {
|
|
items: <?php echo esc_attr($column); ?>,
|
|
}
|
|
}
|
|
});
|
|
<?php } ?>
|
|
<?php do_action('mep_event_shortcode_js_script', $params); ?>
|
|
});
|
|
</script>
|
|
<?php
|
|
$content = ob_get_clean();
|
|
return $content;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* This Is a Shortcode for display Expired Events, This will be depriciated in the version 4.0, because we added this feature into the main shortcode [event-list]. Just use [event-list status="expired"]
|
|
*/
|
|
add_shortcode('expire-event-list', 'mep_expire_event_list');
|
|
function mep_expire_event_list($atts, $content = null)
|
|
{
|
|
$defaults = array(
|
|
"cat" => "0",
|
|
"org" => "0",
|
|
"style" => "grid",
|
|
"column" => 3,
|
|
"cat-filter" => "no",
|
|
"org-filter" => "no",
|
|
"show" => "-1",
|
|
"pagination" => "no",
|
|
"city" => "",
|
|
"country" => "",
|
|
"carousal-nav" => "no",
|
|
"carousal-dots" => "yes",
|
|
"carousal-id" => "102448",
|
|
"timeline-mode" => "vertical",
|
|
'sort' => 'ASC'
|
|
);
|
|
|
|
$params = shortcode_atts($defaults, $atts);
|
|
$cat = $params['cat'];
|
|
$org = $params['org'];
|
|
$style = $params['style'];
|
|
$cat_f = $params['cat-filter'];
|
|
$org_f = $params['org-filter'];
|
|
$show = $params['show'];
|
|
$pagination = $params['pagination'];
|
|
$sort = $params['sort'];
|
|
$column = $style != 'grid' ? 1 : $params['column'];
|
|
$nav = $params['carousal-nav'] == 'yes' ? 1 : 0;
|
|
$dot = $params['carousal-dots'] == 'yes' ? 1 : 0;
|
|
$city = $params['city'];
|
|
$country = $params['country'];
|
|
$cid = $params['carousal-id'];
|
|
$main_div = $pagination == 'carousal' ? '<div class="mage_grid_box owl-theme owl-carousel" id="mep-carousel' . $cid . '">' : '<div class="mage_grid_box">';
|
|
|
|
$time_line_div_start = $style == 'timeline' ? '<div class="timeline"><div class="timeline__wrap"><div class="timeline__items">' : '';
|
|
$time_line_div_end = $style == 'timeline' ? '</div></div></div>' : '';
|
|
|
|
$flex_column = $column;
|
|
$mage_div_count = 0;
|
|
$event_expire_on = mep_get_option('mep_event_expire_on_datetimes', 'general_setting_sec', 'event_start_datetime');
|
|
ob_start();
|
|
?>
|
|
<div class='mep_event_list'>
|
|
<?php if ($cat_f == 'yes') {
|
|
/**
|
|
* This is the hook where category filter lists are fired from inc/template-parts/event_list_tax_name_list.php File
|
|
*/
|
|
do_action('mep_event_list_cat_names',$cat);
|
|
}
|
|
if ($org_f == 'yes') {
|
|
/**
|
|
* This is the hook where Organization filter lists are fired from inc/template-parts/event_list_tax_name_list.php File
|
|
*/
|
|
do_action('mep_event_list_org_names',$org);
|
|
} ?>
|
|
<div class="mep_event_list_sec">
|
|
<?php
|
|
/**
|
|
* The Main Query function mep_event_query is locet in inc/mep_query.php File
|
|
*/
|
|
$loop = mep_event_query($show, $sort, $cat, $org, $city, $country, 'expired');
|
|
$total_post = $loop->post_count;
|
|
echo wp_kses_post($main_div);
|
|
while ($loop->have_posts()) {
|
|
$loop->the_post();
|
|
if ($style == 'grid' && (int)$column>0) {
|
|
$columnNumber='column_style';
|
|
if($pagination == 'carousal'){
|
|
$width=100;
|
|
}else{
|
|
$width=100/(int)$column;
|
|
}
|
|
}else {
|
|
$columnNumber = 'one_column';
|
|
$width=100;
|
|
}
|
|
/**
|
|
* This is the hook where Event Loop List fired from inc/template-parts/event_loop_list.php File
|
|
*/
|
|
do_action('mep_event_list_shortcode', get_the_id(), $columnNumber, $style,$width);
|
|
}
|
|
wp_reset_postdata();
|
|
?>
|
|
</div>
|
|
<?php
|
|
if ($pagination == 'yes') {
|
|
/**
|
|
* The Pagination function mep_event_pagination is locet in inc/mep_query.php File
|
|
*/
|
|
mep_event_pagination($loop->max_num_pages);
|
|
}elseif($pagination == 'carousal'){
|
|
?>
|
|
<script>
|
|
jQuery(function(){
|
|
jQuery("<?php echo '#mep-carousel'.esc_attr($cid); ?>").owlCarousel({
|
|
autoplay: <?php echo mep_get_option('mep_autoplay_carousal', 'carousel_setting_sec', 'true'); ?>,
|
|
autoplayTimeout:<?php echo mep_get_option('mep_speed_carousal', 'carousel_setting_sec', '5000'); ?>,
|
|
autoplayHoverPause: true,
|
|
loop: <?php echo mep_get_option('mep_loop_carousal', 'carousel_setting_sec', 'true'); ?>,
|
|
margin:20,
|
|
nav:<?php echo esc_attr($nav); ?>,
|
|
dots:<?php echo esc_attr($dot); ?>,
|
|
navText: ["<i class='fas fa-chevron-left'></i>","<i class='fas fa-chevron-right'></i>"],
|
|
responsive:{
|
|
0:{
|
|
items:1
|
|
},
|
|
600:{
|
|
items:<?php echo esc_attr($column); ?>
|
|
},
|
|
1000:{
|
|
items:<?php echo esc_attr($column); ?>
|
|
}
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
<?php
|
|
}
|
|
?>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
jQuery(document).ready(function() {
|
|
var containerEl = document.querySelector('.mep_event_list_sec');
|
|
var mixer = mixitup(containerEl);
|
|
});
|
|
</script>
|
|
<?php
|
|
$content = ob_get_clean();
|
|
return $content;
|
|
}
|
|
|
|
|
|
add_shortcode('event-add-cart-section', 'mep_event_add_to_cart_section');
|
|
function mep_event_add_to_cart_section($atts, $content = null)
|
|
{
|
|
$defaults = array(
|
|
"event" => "0",
|
|
"cart-btn-label" => "Register For This Event",
|
|
"ticket-label" => "Ticket Type",
|
|
"extra-service-label" => "Extra Service"
|
|
);
|
|
$params = shortcode_atts($defaults, $atts);
|
|
$event = $params['event'];
|
|
ob_start();
|
|
if($event > 0){
|
|
echo mep_shortcode_add_cart_section_html($event,$params);
|
|
do_action('mep_after_event_cart_shortcode',$event);
|
|
}
|
|
return ob_get_clean();
|
|
}
|
|
|
|
|
|
|
|
add_shortcode('event-speaker-list', 'mep_event_speaker_list_shortcode_section');
|
|
function mep_event_speaker_list_shortcode_section($atts, $content = null)
|
|
{
|
|
$defaults = array(
|
|
"event" => "0"
|
|
);
|
|
$params = shortcode_atts($defaults, $atts);
|
|
$event = $params['event'];
|
|
ob_start();
|
|
if($event > 0){
|
|
echo mep_shortcode_speaker_list_html($event);
|
|
}else{
|
|
echo mep_shortcode_all_speaker_list_html();
|
|
}
|
|
return ob_get_clean();
|
|
}
|
|
|
|
|
|
|
|
add_shortcode('event-list-onepage', 'mep_event_onepage_list');
|
|
function mep_event_onepage_list($atts, $content = null)
|
|
{
|
|
$defaults = array(
|
|
"cat" => "0",
|
|
"org" => "0",
|
|
"style" => "grid",
|
|
"column" => 3,
|
|
"cat-filter" => "no",
|
|
"org-filter" => "no",
|
|
"show" => "-1",
|
|
"pagination" => "no",
|
|
"city" => "",
|
|
"country" => "",
|
|
"carousal-nav" => "no",
|
|
"carousal-dots" => "yes",
|
|
"carousal-id" => "102448",
|
|
"timeline-mode" => "vertical",
|
|
'sort' => 'ASC',
|
|
'status' => 'upcoming'
|
|
);
|
|
$params = shortcode_atts($defaults, $atts);
|
|
$cat = $params['cat'];
|
|
$org = $params['org'];
|
|
$style = $params['style'];
|
|
$cat_f = $params['cat-filter'];
|
|
$org_f = $params['org-filter'];
|
|
$show = $params['show'];
|
|
$pagination = $params['pagination'];
|
|
$sort = $params['sort'];
|
|
$column = $style != 'grid' ? 1 : $params['column'];
|
|
$nav = $params['carousal-nav'] == 'yes' ? 1 : 0;
|
|
$dot = $params['carousal-dots'] == 'yes' ? 1 : 0;
|
|
$city = $params['city'];
|
|
$country = $params['country'];
|
|
$cid = $params['carousal-id'];
|
|
$status = $params['status'];
|
|
$main_div = $pagination == 'carousal' ? '<div class="mage_grid_box owl-theme owl-carousel" id="mep-carousel' . $cid . '">' : '<div class="mage_grid_box">';
|
|
|
|
$time_line_div_start = $style == 'timeline' ? '<div class="timeline"><div class="timeline__wrap"><div class="timeline__items">' : '';
|
|
$time_line_div_end = $style == 'timeline' ? '</div></div></div>' : '';
|
|
|
|
$flex_column = $column;
|
|
$mage_div_count = 0;
|
|
$event_expire_on = mep_get_option('mep_event_expire_on_datetimes', 'general_setting_sec', 'event_start_datetime');
|
|
ob_start();
|
|
do_action('woocommerce_before_single_product');
|
|
?>
|
|
<div class='mep_event_list'>
|
|
<?php if ($cat_f == 'yes') {
|
|
/**
|
|
* This is the hook where category filter lists are fired from inc/template-parts/event_list_tax_name_list.php File
|
|
*/
|
|
do_action('mep_event_list_cat_names',$cat);
|
|
}
|
|
if ($org_f == 'yes') {
|
|
/**
|
|
* This is the hook where Organization filter lists are fired from inc/template-parts/event_list_tax_name_list.php File
|
|
*/
|
|
do_action('mep_event_list_org_names',$org);
|
|
} ?>
|
|
|
|
<div class="mep_event_list_sec">
|
|
<?php
|
|
$now = current_time('Y-m-d H:i:s');
|
|
$show_price = mep_get_option('mep_event_price_show', 'general_setting_sec', 'yes');
|
|
$show_price_label = mep_get_option('event-price-label', 'general_setting_sec', 'Price Starts from:');
|
|
$paged = get_query_var("paged") ? get_query_var("paged") : 1;
|
|
|
|
|
|
|
|
?>
|
|
<div class="mep_event_list_sec">
|
|
<?php
|
|
|
|
/**
|
|
* The Main Query function mep_event_query is locet in inc/mep_query.php File
|
|
*/
|
|
$loop = mep_event_query($show, $sort, $cat, $org, $city, $country, $status);
|
|
$loop->the_post();
|
|
|
|
|
|
$event_meta = get_post_custom(get_the_id());
|
|
$author_terms = get_the_terms(get_the_id(), 'mep_org');
|
|
$start_datetime = $event_meta['event_start_date'][0] . ' ' . $event_meta['event_start_time'][0];
|
|
$time = strtotime($start_datetime);
|
|
$newformat = date_i18n('Y-m-d H:i:s', $time);
|
|
$tt = get_the_terms(get_the_id(), 'mep_cat');
|
|
$torg = get_the_terms(get_the_id(), 'mep_org');
|
|
$org_class = mep_get_term_as_class(get_the_id(), 'mep_org');
|
|
$cat_class = mep_get_term_as_class(get_the_id(), 'mep_cat');
|
|
$available_seat = mep_get_total_available_seat(get_the_id(), $event_meta);
|
|
echo '<div class="mage_grid_box">';
|
|
while ($loop->have_posts()) {
|
|
$loop->the_post();
|
|
if ($style == 'grid' && (int)$column>0) {
|
|
$columnNumber='column_style';
|
|
$width=100/(int)$column;
|
|
} else {
|
|
$columnNumber = 'one_column';
|
|
$width=100;
|
|
}
|
|
/**
|
|
* This is the hook where Event Loop List fired from inc/template-parts/event_loop_list.php File
|
|
*/
|
|
do_action('mep_event_list_shortcode', get_the_id(), $columnNumber, $style,$width);
|
|
|
|
$currency_pos = get_option('woocommerce_currency_pos');
|
|
$mep_full_name = mage_array_strip($event_meta['mep_full_name'][0]);
|
|
$mep_reg_email = mage_array_strip($event_meta['mep_reg_email'][0]);
|
|
$mep_reg_phone = mage_array_strip($event_meta['mep_reg_phone'][0]);
|
|
$mep_reg_address = mage_array_strip($event_meta['mep_reg_address'][0]);
|
|
$mep_reg_designation = mage_array_strip($event_meta['mep_reg_designation'][0]);
|
|
$mep_reg_website = mage_array_strip($event_meta['mep_reg_website'][0]);
|
|
$mep_reg_veg = mage_array_strip($event_meta['mep_reg_veg'][0]);
|
|
$mep_reg_company = mage_array_strip($event_meta['mep_reg_company'][0]);
|
|
$mep_reg_gender = mage_array_strip($event_meta['mep_reg_gender'][0]);
|
|
$mep_reg_tshirtsize = mage_array_strip($event_meta['mep_reg_tshirtsize'][0]);
|
|
echo '<div class=event-cart-section-list>';
|
|
do_action('mep_add_to_cart_list');
|
|
echo '</div>';
|
|
get_event_list_js(get_the_id(), $event_meta, $currency_pos);
|
|
}
|
|
wp_reset_postdata();
|
|
echo '</div>';
|
|
if ($pagination == 'yes') {
|
|
/**
|
|
* The Pagination function mep_event_pagination is locet in inc/mep_query.php File
|
|
*/
|
|
mep_event_pagination($loop->max_num_pages);
|
|
} ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
$content = ob_get_clean();
|
|
return $content;
|
|
}
|