array(
'name' => 'Events',
'singular_name' => 'Event',
'edit_item' => 'Edit Event',
'add_new_item' => 'Add New Event'
),
'taxonomies' => array('category'),
'menu_icon' => 'dashicons-calendar',
'menu_position' => 23,
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'event'),
'supports' => array( 'title', 'editor' ),
)
);
}
add_action( 'init', 'event_list_cal_post_type' );
function event_list_cal_columns( $cols ) {
$cols = array(
'cb' => ' ',
'title' => _x('Event Title', 'event-list-calendar'),
'event-date' => __('Event Date', 'event-list-calendar'),
'event-repeat' => __('Event Repetition', 'event-list-calendar'),
'event-days' => __('Event Length', 'event-list-calendar'),
'categories' => __('Categories', 'event-list-calendar'),
);
return $cols;
}
add_filter( 'manage_event-list-cal_posts_columns', 'event_list_cal_columns' );
function event_list_cal_columns_data( $column, $post_id ) {
switch ( $column ) {
case "event-date":
$event_date = get_post_meta( $post_id, 'event-date', true);
echo $event_date;
break;
case "event-repeat":
$event_repeat = get_post_meta( $post_id, 'event-repeat', true);
if($event_repeat == 1) {
$event_repeat = __('Weekly', 'event-list-calendar');
} elseif($event_repeat == 2) {
$event_repeat = __('Monthly', 'event-list-calendar');
} elseif($event_repeat == 3) {
$event_repeat = __('Yearly', 'event-list-calendar');
} else {
$event_repeat = __('One Time Event', 'event-list-calendar');
}
echo $event_repeat;
break;
case "event-days":
$event_days = get_post_meta( $post_id, 'event-days', true);
if(empty($event_days)) {
$event_days = $event_days.__('1 Day', 'event-list-calendar');
} elseif($event_days == 1) {
$event_days = $event_days.__(' Day', 'event-list-calendar');
} else {
$event_days = $event_days.__(' Days', 'event-list-calendar');
}
echo $event_days;
break;
}
}
add_action( 'manage_posts_custom_column', 'event_list_cal_columns_data', 10, 2 );
function event_list_cal_sortable_columns( $columns ) {
$cols['event-date'] = 'event-date';
$cols['event-repeat'] = 'event-repeat';
$cols['event-days'] = 'event-days';
return $cols;
}
add_filter( 'manage_edit-event-list-cal_sortable_columns', 'event_list_cal_sortable_columns' );
function event_list_cal( $atts ) {
extract( shortcode_atts( array(
'month' => current_time('m', 0),
'year' => current_time('Y', 0),
), $atts, 'upcoming-events' ) );
$cal_output = "";
$current_month = 1;
if(empty( $atts['month']) || empty( $atts['year'] ) ) {
$atts['month'] = current_time('m', 0);
$atts['year'] = current_time('Y', 0);
$current_month = 0;
}
if($year == current_time('Y', 0) && $month == current_time('m', 0)) {
$current_month = 1;
} else {
$current_month = 0;
}
$month = $atts['month'];
$year = $atts['year'];
$calendar_month = strtotime($year."-".$month."-01");
if(isset($_GET['month'])) {
$calendar_month = strtotime($_GET['month']."-01");
$date = split('-', $_GET['month']);
$year = $date[0];
$month = $date[1];
if($year == current_time('Y', 0) && $month == current_time('m', 0)) {
$current_month = 1;
} else {
$current_month = 0;
}
}
$events = array();
$args = array(
'post_type' => 'event-list-cal',
'posts_per_page' => -1,
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$event_date = get_post_custom_values('event-date');
$event_date = strtotime($event_date[0]);
$event_time = get_post_custom_values('event-time');
$event_time = $event_time[0];
$event_days = get_post_custom_values('event-days');
$event_days = $event_days[0];
$event_repeat = get_post_custom_values('event-repeat');
$event_repeat = $event_repeat[0];
$event_end = get_post_custom_values('event-end');
$event_end = $event_end[0];
if($event_repeat > 0) {
$event_repeat_schedule = $event_repeat;
} else {
$event_repeat_schedule = 0;
}
$events[] = "ID)."\">".get_the_title()." ==".$event_date."==".$event_time."==ID)."\"> ".get_the_excerpt()."==".$event_days."==".$event_repeat_schedule."==".$event_end;
endwhile;
$num_days = date('t', mktime(0, 0, 0, $month, 1, $year));
$strt_day = date('w', mktime(0, 0, 0, $month, 1, $year));
/* Handle multiple day events from previous months */
foreach($events as $event) {
$event_array = split('==', $event);
$event_link = $event_array[0];
$event_date = intval($event_array[1]);
$event_time = $event_array[2];
$event_excerpt = $event_array[3];
$event_days = $event_array[4];
$event_repeat_schedule = $event_array[5];
$event_end = $event_array[6];
if($event_end == 0) {
$event_end = '2038-01-19';
}
$event_year = date('Y', $event_date);
$event_month = date('m', $event_date);
$event_day = date('d', $event_date);
if($month == 1) {
if($event_year == ($year - 1) && $event_month == 12 && !empty($event_days)) {
$num_days_prev_month = date('t', mktime(0, 0, 0, $month, 1, ($year - 1)));
if($event_days > ($num_days_prev_month - $event_day)) {
$days_to_go = abs($num_days_prev_month - $event_day - $event_days + 1);
for($i = 1; $i <= $days_to_go; $i++) {
$new_date = ($year."-".$month."-".$i);
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==0";
}
}
}
} else {
if($event_year == $year && $event_month == ($month - 1) && !empty($event_days)) {
$num_days_prev_month = date('t', mktime(0, 0, 0, ($month - 1), 1, $year));
if($event_days > ($num_days_prev_month - $event_day)) {
$days_to_go = abs($num_days_prev_month - $event_day - $event_days + 1);
for($i = 1; $i <= $days_to_go; $i++) {
$new_date = ($year."-".$month."-".$i);
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==0";
}
}
}
}
/* Handle recurring events - All posibilities need to be addressed due to the ability to start a calendar on a specific month */
if($event_repeat_schedule == 1) {
/* check to make sure date starts in the current month or if it is after $event_date */
if($event_year == $year && $event_month == $month) {
$add_seven = $event_day;
for($i = 0; $i < 5; $i++) {
$add_seven = $add_seven + 7;
$new_date = $year."-".$month."-".$add_seven;
if(strtotime($new_date) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==".$event_end;
}
}
} elseif(strtotime($year."-".$month."-01") > $event_date) {
/* get day of week it is on */
$day_of_week = date('w', $event_date) + 1;
$add_seven = $day_of_week - $strt_day;
for($i = 0; $i < 5; $i++) {
$new_date = $year."-".$month."-".$add_seven;
if(strtotime($new_date) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==".$event_end;
}
$add_seven = $add_seven + 7;
}
}
} elseif($event_repeat_schedule == 2) {
if(strtotime($year."-".$month."-01") > $event_date && strtotime($year."-".$month."-".date('d', $event_date)) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($year."-".$month."-".$event_day)."==".$event_time."==".$event_excerpt."==0==0";
}
} elseif($event_repeat_schedule == 3) {
if(strtotime($year."-".$month."-01") > $event_date && $month == $event_month && strtotime($year."-".$month."-".date('d', $event_date)) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($year."-".$month."-".$event_day)."==".$event_time."==".$event_excerpt."==0==0";
}
}
}
/* Draw calendar */
$cal_output .= "
".date('F Y', $calendar_month)."
";
if(get_settings('start_of_week') != 1) {
$cal_output .= "
".__( 'Sunday', 'event-list-calendar' )." ";
}
$cal_output .= "
".__( 'Monday', 'event-list-calendar' )."
".__( 'Tuesday', 'event-list-calendar' )."
".__( 'Wednesday', 'event-list-calendar' )."
".__( 'Thursday', 'event-list-calendar' )."
".__( 'Friday', 'event-list-calendar' )."
".__( 'Saturday', 'event-list-calendar' )." ";
if(get_settings('start_of_week') == 1) {
$cal_output .= "
".__( 'Sunday', 'event-list-calendar' )." ";
}
$cal_output .= "
";
$k = 0;
if(get_settings('start_of_week') != 1) {
for($i = 0; $i < $strt_day; $i++) {
$cal_output .= "
\r";
$k++;
}
} else {
for($i = 1; $i < $strt_day; $i++) {
$cal_output .= "
\r";
$k++;
}
}
$x = $k + 1;
for($j = 1; $j <= $num_days; $j++) {
if($x == 6 || $x == 7 || $x == 13 || $x == 14 || $x == 20 || $x == 21 || $x == 27 || $x == 28 || $x == 34 || $x == 35) {
$class = ' class="event-list-cal-right"';
}
if($j == current_time('j', 0) && $current_month == 1) {
if($x == 6 || $x == 7 || $x == 13 || $x == 14 || $x == 20 || $x == 21 || $x == 27 || $x == 28 || $x == 34 || $x == 35) {
$class = ' class="today event-list-cal-right"';
} else {
$class = ' class="today"';
}
}
$cal_output .= "
".$j."
";
foreach($events as $event) {
$event_array = split('==', $event);
$event_link = $event_array[0];
$event_date = $event_array[1];
$event_time = $event_array[2];
$event_excerpt = $event_array[3];
$event_days = $event_array[4];
$event_repeat = $event_array[5];
$event_year = date('Y', intval($event_date));
$event_month = date('m', intval($event_date));
$event_day = date('d', intval($event_date));
if($event_year == $year && $event_month == $month && $event_day == $j) {
$cal_output .= "
".$event_link."
";
if(!empty($event_time)) {
$cal_output .= "
Event Time: ".$event_time."
";
}
$cal_output .= "
".$event_excerpt."
\r";
/* If multiple days, add to $events[] */
if(!empty($event_days)) {
$new_event_date = $event_date + 86400;
while($event_days > 1) {
$event_days = $event_days - 1;
$events[] = $event_link."==".$new_event_date."==".$event_time."==".$event_excerpt."==0==".$event_repeat;
$new_event_date = $new_event_date + 86400;
}
}
}
}
$cal_output .= "
";
$class = "";
$k++;
if($k % 7 == 0) {
$cal_output .= "
";
}
$x++;
}
if($x > 36) {
while($x <= 42 ) {
$cal_output .= "
";
$x++;
}
} elseif($x > 29 && $x != 36) {
while($x <= 35) {
$cal_output .= "
";
$x++;
}
}
$cal_output .= "
";
$cal_output .= $not_current_month;
wp_reset_query();
return $cal_output;
}
add_shortcode('calendar', 'event_list_cal');
function event_list_mini_cal() {
$cal_output = "";
$month = current_time('m', 0);
$year = current_time('Y', 0);
$calendar_month = strtotime($year."-".$month."-01");
$current_month = 1;
if(isset($_GET['month'])) {
$calendar_month = strtotime($_GET['month']."-01");
$date = split('-', $_GET['month']);
$year = $date[0];
$month = $date[1];
if($year != current_time('Y', 0) || $month != current_time('m', 0)) {
$current_month = 0;
}
}
$events = array();
$args = array(
'post_type' => 'event-list-cal',
'posts_per_page' => -1,
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$event_date = get_post_custom_values('event-date');
$event_date = strtotime($event_date[0]);
$event_time = get_post_custom_values('event-time');
$event_time = $event_time[0];
$event_days = get_post_custom_values('event-days');
$event_days = $event_days[0];
$event_repeat = get_post_custom_values('event-repeat');
$event_repeat = $event_repeat[0];
$event_end = get_post_custom_values('event-end');
$event_end = $event_end[0];
if($event_repeat > 0) {
$event_repeat_schedule = $event_repeat;
} else {
$event_repeat_schedule = 0;
}
$events[] = "ID)."\">".get_the_title()." ==".$event_date."==".$event_time."==ID)."\"> ".get_the_excerpt()."==".$event_days."==".$event_repeat_schedule."==".$event_end;
endwhile;
$num_days = date('t', mktime(0, 0, 0, $month, 1, $year));
$strt_day = date('w', mktime(0, 0, 0, $month, 1, $year));
/* Handle multiple day events from previous months */
foreach($events as $event) {
$event_array = split('==', $event);
$event_link = $event_array[0];
$event_date = intval($event_array[1]);
$event_time = $event_array[2];
$event_excerpt = $event_array[3];
$event_days = $event_array[4];
$event_repeat_schedule = $event_array[5];
$event_end = $event_array[6];
if($event_end == 0) {
$event_end = '2038-01-19';
}
$event_year = date('Y', $event_date);
$event_month = date('m', $event_date);
$event_day = date('d', $event_date);
if($month == 1) {
if($event_year == ($year - 1) && $event_month == 12 && !empty($event_days)) {
$num_days_prev_month = date('t', mktime(0, 0, 0, $month, 1, ($year - 1)));
if($event_days > ($num_days_prev_month - $event_day)) {
$days_to_go = abs($num_days_prev_month - $event_day - $event_days + 1);
for($i = 1; $i <= $days_to_go; $i++) {
$new_date = ($year."-".$month."-".$i);
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==0";
}
}
}
} else {
if($event_year == $year && $event_month == ($month - 1) && !empty($event_days)) {
$num_days_prev_month = date('t', mktime(0, 0, 0, ($month - 1), 1, $year));
if($event_days > ($num_days_prev_month - $event_day)) {
$days_to_go = abs($num_days_prev_month - $event_day - $event_days + 1);
for($i = 1; $i <= $days_to_go; $i++) {
$new_date = ($year."-".$month."-".$i);
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==0";
}
}
}
}
/* Handle recurring events - All posibilities need to be addressed due to the ability to start a calendar on a specific month */
if($event_repeat_schedule == 1) {
/* check to make sure date starts in the current month or if it is after $event_date */
if($event_year == $year && $event_month == $month) {
$add_seven = $event_day;
for($i = 0; $i < 5; $i++) {
$add_seven = $add_seven + 7;
$new_date = $year."-".$month."-".$add_seven;
if(strtotime($new_date) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==".$event_end;
}
}
} elseif(strtotime($year."-".$month."-01") > $event_date) {
/* get day of week it is on */
$day_of_week = date('w', $event_date) + 1;
$add_seven = $day_of_week - $strt_day;
for($i = 0; $i < 5; $i++) {
$new_date = $year."-".$month."-".$add_seven;
if(strtotime($new_date) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==".$event_end;
}
$add_seven = $add_seven + 7;
}
}
} elseif($event_repeat_schedule == 2) {
if(strtotime($year."-".$month."-01") > $event_date && strtotime($year."-".$month."-".date('d', $event_date)) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($year."-".$month."-".$event_day)."==".$event_time."==".$event_excerpt."==0==0";
}
} elseif($event_repeat_schedule == 3) {
if(strtotime($year."-".$month."-01") > $event_date && $month == $event_month && strtotime($year."-".$month."-".date('d', $event_date)) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($year."-".$month."-".$event_day)."==".$event_time."==".$event_excerpt."==0==0";
}
}
}
/* Draw calendar */
$cal_output .= "
« ".date('F Y', $calendar_month)." »
";
if(get_settings('start_of_week') != 1) {
$cal_output .= "
".__( 'Sun', 'event-list-calendar' )." ";
}
$cal_output .= "
".__( 'Mon', 'event-list-calendar' )."
".__( 'Tue', 'event-list-calendar' )."
".__( 'Wed', 'event-list-calendar' )."
".__( 'Thu', 'event-list-calendar' )."
".__( 'Fri', 'event-list-calendar' )."
".__( 'Sat', 'event-list-calendar' )." ";
if(get_settings('start_of_week') == 1) {
$cal_output .= "
".__( 'Sun', 'event-list-calendar' )." ";
}
$cal_output .= "
";
$k = 0;
if(get_settings('start_of_week') != 1) {
for($i = 0; $i < $strt_day; $i++) {
$cal_output .= "
\r";
$k++;
}
} else {
for($i = 1; $i < $strt_day; $i++) {
$cal_output .= "
\r";
$k++;
}
}
$x = $k + 1;
for($j = 1; $j <= $num_days; $j++) {
if($x == 5 || $x == 6 || $x == 7 || $x == 12 || $x == 13 || $x == 14 || $x == 19 || $x == 20 || $x == 21 || $x == 26 || $x == 27 || $x == 28 || $x == 33 || $x == 34 || $x == 35) {
$class = ' class="event-list-cal-right"';
}
if($j == current_time('j', 0) && $current_month == 1) {
if($x == 5 || $x == 6 || $x == 7 || $x == 12 || $x == 13 || $x == 14 || $x == 19 || $x == 20 || $x == 21 || $x == 26 || $x == 27 || $x == 28 || $x == 33 || $x == 34 || $x == 35) {
$class = ' class="today event-list-cal-right"';
} else {
$class = ' class="today"';
}
}
$cal_output .= "
";
$day_events = array();
foreach($events as $event) {
$event_array = split('==', $event);
$event_link = $event_array[0];
$event_date = $event_array[1];
$event_time = $event_array[2];
$event_excerpt = $event_array[3];
$event_days = $event_array[4];
$event_repeat = $event_array[5];
$event_year = date('Y', intval($event_date));
$event_month = date('m', intval($event_date));
$event_day = date('d', intval($event_date));
if($event_year == $year && $event_month == $month && $event_day == $j) {
$day_events[$j][] = $event_link;
/* If multiple days, add to $events[] */
if(!empty($event_days)) {
$new_event_date = $event_date + 86400;
while($event_days > 1) {
$event_days = $event_days - 1;
$events[] = $event_link."==".$new_event_date."==".$event_time."==".$event_excerpt."==0==".$event_repeat;
$new_event_date = $new_event_date + 86400;
}
}
}
}
if(!empty($day_events[$j])) {
$cal_output .= ''.$j.'
';
$cal_output .= '';
foreach($day_events[$j] as $event) {
$cal_output .= '
'.$event.'
';
}
$cal_output .= '
';
} else {
$cal_output .= ''.$j.'
';
}
$cal_output .= "
";
$class = "";
$k++;
if($k % 7 == 0) {
$cal_output .= "
";
}
$x++;
}
if($x > 36) {
while($x <= 42 ) {
$cal_output .= "
";
$x++;
}
} elseif($x > 29 && $x != 36) {
while($x <= 35) {
$cal_output .= "
";
$x++;
}
}
$cal_output .= "
";
wp_reset_query();
return $cal_output;
}
add_shortcode('mini-calendar', 'event_list_mini_cal');
function event_list_cal_list( $atts ) {
extract( shortcode_atts( array(
'num_events' => 5,
'categories' => '',
), $atts, 'upcoming-events' ) );
if(empty($atts['num_events'])) {
$atts['num_events'] = 5;
}
$i = 1;
$events = array();
/* Get all upcoming events and exclude recurring events. We'll grab recurring events next. */
$d = current_time("Y-m-d", 0);
$args = array(
'post_type' => 'event-list-cal',
'posts_per_page' => $atts['num_events'],
'category_name' => $atts['categories'],
'meta_key' => 'event-date',
'orderby' => 'meta_value',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'event-date',
'value' => $d,
'type' => 'date',
'compare' => '>='
)
)
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$event_date = get_post_custom_values('event-date');
$event_date = strtotime($event_date[0]);
$event_repeat = get_post_custom_values('event-repeat');
$event_repeat = $event_repeat[0];
$event_end = get_post_custom_values('event-end');
$event_end = $event_end[0];
if($event_repeat == 0) {
if(!array_key_exists($event_date, $events)) {
$events[$event_date] = "ID)."\">".get_the_title()." ";
} else {
if($events[$event_date] != "ID)."\">".get_the_title()." ") {
$events[$event_date + $i] = "ID)."\">".get_the_title()." ";
$i++;
}
}
}
endwhile;
$j = 1;
$recurring_events = array();
/* Let's grab all the recurring events, check to see if their end date is after $d, and add them to $events */
$args = array(
'post_type' => 'event-list-cal',
'category_name' => $atts['categories'],
'meta_key' => 'event-date',
'meta_query' => array(
array(
'key' => 'event-repeat',
'value' => array( 1, 2, 3 ),
'compare' => 'IN'
)
)
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$event_date = get_post_custom_values('event-date');
$event_date = strtotime($event_date[0]);
$event_repeat = get_post_custom_values('event-repeat');
$event_repeat_schedule = $event_repeat[0];
$event_end = get_post_custom_values('event-end');
$event_end = $event_end[0];
if(!array_key_exists($event_date, $recurring_events)) {
$recurring_events[$event_date] = "ID)."\">".get_the_title()." ==".$event_repeat_schedule."==".$event_end;
} else {
$recurring_events[$event_date + $i] = "ID)."\">".get_the_title()." ==".$event_repeat_schedule."==".$event_end;
$i++;
}
$repeats = 1;
endwhile;
$list_output .= "
";
$k = 1;
$l = 1;
foreach($recurring_events as $date => $data) {
$split = split('==', $data);
$event_link = $split[0];
$event_repeat_schedule = $split[1];
$event_end = $split[2];
if($event_end == 0) {
$event_end = strtotime('2038-01-19');
} else {
$event_end = strtotime($event_end);
}
if($event_end >= strtotime($d)) {
if($event_repeat_schedule == 1) {
$new_date = strtotime(date('Y-m-d', $date));
while($k <= $atts['num_events']) {
if($new_date <= $event_end && $new_date >= strtotime($d)) {
if(!array_key_exists($new_date, $events)) {
$events[$new_date] = $event_link;
$k++;
} else {
$events[$new_date + $i] = $event_link;
$i++;
$k++;
}
}
$new_date = strtotime('+1 week', $new_date);
}
} elseif($event_repeat_schedule == 2) {
$new_date = strtotime(date('Y-m-d', $date));
while($l <= $atts['num_events']) {
if($new_date <= $event_end && $new_date >= strtotime($d)) {
if(!array_key_exists($new_date, $events)) {
$events[$new_date] = $event_link;
$l++;
} else {
$events[$new_date + $i] = $event_link;
$i++;
$l++;
}
}
$new_date = strtotime('+1 month', $new_date);
}
} elseif($event_repeat_schedule == 3) {
$new_date = strtotime(date('Y-m-d', $date));
for($x = 0; $x <= 24; $x++) {
if($new_date <= $event_end && $new_date >= strtotime($d)) {
if(!array_key_exists($new_date, $events)) {
$events[$new_date] = $event_link;
} else {
$events[$new_date + $i] = $event_link;
$i++;
}
}
$new_date = strtotime('+1 year', $new_date);
}
}
}
}
ksort($events);
$events = array_slice($events, 0, $atts['num_events'], true);
foreach($events as $date => $event_link) {
$list_output .= "\t".date(get_option('event_list_cal_upcoming_date_format', 'Y • m • d'), $date)." ".$event_link."
";
$j++;
}
if(empty($events)) {
$list_output .= "\t".__('There are no upcoming events.', 'event-list-calendar')."
";
}
$list_output .= "
";
wp_reset_query();
return $list_output;
}
add_shortcode('upcoming-events', 'event_list_cal_list');
function event_list_cal_above_content($content) {
if ( is_singular( 'event-list-cal' ) ) {
$post_custom = get_post_custom();
$date_format = get_option( 'event_list_cal_single_date_format', get_option( 'date_format' ) );
foreach($post_custom as $key => $value) {
if($key == 'event-date') {
$date = strtotime($value[0]);
$event_date = date($date_format, $date);
}
if($key == 'event-days' && $value[0] > 1) {
$end_date = date($date_format, strtotime('+ '.$value[0].' days', $date));
}
if($key == 'event-time' && !empty($value[0])) {
$event_time = $value[0];
}
if($key == 'event-repeat' && $value[0] > 0) {
switch($value[0]) {
case 1:
$event_repeat = 'weekly';
break;
case 2:
$event_repeat = 'monthly';
break;
case 3:
$event_repeat = 'yearly';
break;
}
}
if($key == 'event-end' && $value[0] != 0) {
$event_end .= date($date_format, strtotime($value[0]));
}
}
$event_data .= ''.__('Event Date: ', 'event-list-calendar').$event_date;
if(isset($end_date)) {
$event_data .= __(' to ', 'event-list-calendar').$end_date.'
';
} else {
$event_data .= '
';
}
if(isset($event_time)) {
$event_data .= ''.__('Event Time: ', 'event-list-calendar').$event_time.'
';
}
if(isset($event_repeat)) {
$event_data .= ''.__('This event repeats ', 'event-list-calendar').$event_repeat;
if(isset($event_end)) {
$event_data .= __(' until ', 'event-list-calendar').$event_end.'.
';
} else {
$event_data .= '.';
}
}
$event_data .= '';
$content = $event_data.$content;
}
return $content;
}
add_filter( 'the_content', 'event_list_cal_above_content' );
function event_list_cal_metabox() {
add_meta_box(
'event-list-cal-metabox',
__( 'Event Date & Time', 'event-list-calendar' ),
'event_list_cal_add_metabox',
'event-list-cal',
'normal',
'core'
);
add_meta_box(
'event-list-cal-metabox-repeat',
__( 'Optional: Make This a Multiple Day Event, or a Weekly, Monthly, or Yearly Event', 'event-list-calendar' ),
'event_list_cal_add_metabox1',
'event-list-cal',
'normal',
'core'
);
}
add_action( 'add_meta_boxes', 'event_list_cal_metabox' );
function event_list_cal_add_metabox( $post ) {
wp_nonce_field( basename( __FILE__ ), 'event-list-cal-nonce' );
$event_date = get_post_meta( $post->ID, 'event-date', true );
$event_time = get_post_meta( $post->ID, 'event-time', true );
if(empty($event_date)) {
$event_date = date('Y-m-d', time());
}
?>
ID, 'event-days', true );
$event_repeat = get_post_meta( $post->ID, 'event-repeat', true );
$event_end = get_post_meta( $post->ID, 'event-end', true );
$weekly = '';
$monthly = '';
$yearly = ' selected="selected"';
if(empty($event_days)) {
$event_days = 1;
}
if($event_repeat > 0) {
$checked = ' checked="checked"';
$event_schedule = $event_repeat;
if($event_schedule == 1) {
$weekly = ' selected="selected"';
$yearly = '';
} elseif($event_schedule == 2) {
$monthly = ' selected="selected"';
$yearly = '';
}
} else {
$checked = '';
}
if(!$event_end) {
$checked_2 = ' checked="checked"';
$event_end = '';
$end_display = ' display: none;';
} else {
$checked_2 = '';
}
?>
1 && $_POST['event-list-cal-event-days'] <= 31) || !isset($_POST['event-list-cal-event-repeat'])) {
update_post_meta( $post_id, 'event-days', $_POST['event-list-cal-event-days'] );
update_post_meta( $post_id, 'event-repeat', 0 );
update_post_meta( $post_id, 'event-end', 0 );
} else {
if($_POST['event-list-cal-event-repeat'] == 1) {
update_post_meta( $post_id, 'event-days', 1 );
update_post_meta( $post_id, 'event-repeat', $_POST['event-list-cal-event-repeat-schedule'] );
if(!isset($_POST['event-list-cal-event-end-checkbox'])) {
update_post_meta( $post_id, 'event-end', $_POST['event-list-cal-event-end'] );
} else {
update_post_meta( $post_id, 'event-end', 0 );
}
}
}
}
add_action( 'save_post', 'event_list_cal_meta' );
function event_list_cal_admin_script_style( $hook ) {
if ( 'post.php' == $hook || 'post-new.php' == $hook ) {
wp_enqueue_script( 'events', plugin_dir_url(__FILE__) . 'assets/js/scripts.js', array( 'jquery', 'jquery-ui-datepicker' ), '0.1', true );
wp_enqueue_style( 'jquery-ui-calendar', plugin_dir_url(__FILE__) . 'assets/css/jquery-ui.css', false, '1.11.1', 'all' );
}
}
add_action( 'admin_enqueue_scripts', 'event_list_cal_admin_script_style' );
function event_list_cal_head() {
echo ' ';
if(get_option('event_list_cal_theme') && get_option('event_list_cal_theme') != 'light') {
echo ' ';
}
}
add_action( 'wp_head', 'event_list_cal_head' );
function event_list_cal_footer() {
echo '';
}
add_action( 'wp_footer', 'event_list_cal_footer' );
class EventListCal {
private $options;
public function __construct() {
add_action( 'admin_menu', array( $this, 'add_plugin_pages' ) );
add_action( 'admin_init', array( $this, 'page_init' ) );
}
public function add_plugin_pages() {
add_submenu_page(
'edit.php?post_type=event-list-cal',
'Settings Admin',
'About',
'manage_options',
'about',
array( $this, 'create_about_page' )
);
add_submenu_page(
'edit.php?post_type=event-list-cal',
'Settings Admin',
'Settings',
'manage_options',
'settings',
array( $this, 'create_settings_page' )
);
}
public function create_about_page() {
?>
Ryan Fait.', 'event-list-calendar'); ?>
[calendar] and [upcoming-events].', 'event-list-calendar'); ?>
[calendar] shortcode will display a full-size calendar of the current month. If you want to start the calendar on a specific month, you can do so by adding month and year attributes. For example, [calendar year="2015" month="09"].', 'event-list-calendar'); ?>
[mini-calendar] displays a smaller Ajax calendar more suited for use in text widgets and sidebars.', 'event-list-calendar'); ?>
[upcoming-events] shortcode shows the next five upcoming events. You can specify the number of events you want to display like this: [upcoming-events num_events="3"].', 'event-list-calendar'); ?>
[upcoming-events categories="birthdays,holidays"]', 'event-list-calendar'); ?>
view the documentation here.', 'event-list-calendar'); ?>
GNU General Public License (GPL) version 3.', 'event-list-calendar'); ?>
Ben Marshall\'s post on using Ajax with WordPress.', 'event-list-calendar'); ?>
options = get_option( 'event_list_cal_settings' );
?>
You can choose your own date formats for the upcoming events list and the dates that appear at above the content on single event pages.NOTE: Leave a text field empty to return it to its default. Documentation on date and time formatting .
', 'event-list-calendar');
}
public function print_theme_info() {
// _e('Choose a theme.
', 'event-list-calendar');
}
public function event_list_cal_upcoming_date_format_callback() {
if(isset( $this->options['event_list_cal_upcoming_date_format'] )) {
$value = esc_attr( $this->options['event_list_cal_upcoming_date_format'] );
if(esc_attr( $this->options['event_list_cal_upcoming_date_format'] ) == '') {
$value = 'Y • m • d';
//update_option('event_list_cal_upcoming_date_format', 'Y • m • d');
delete_option('event_list_cal_upcoming_date_format');
}
} else {
$value = 'Y • m • d';
update_option('event_list_cal_upcoming_date_format', 'Y • m • d');
}
$html = ' '.date($value, time()).' ';
echo $html;
}
public function event_list_cal_single_date_format_callback() {
if(isset( $this->options['event_list_cal_single_date_format'] )) {
$value = esc_attr( $this->options['event_list_cal_single_date_format'] );
if(esc_attr( $this->options['event_list_cal_single_date_format'] ) == '') {
$value = get_option('date_format');
//update_option('event_list_cal_single_date_format', get_option('date_format'));
delete_option('event_list_cal_single_date_format');
}
} else {
$value = get_option( 'date_format' );
update_option('event_list_cal_single_date_format', get_option('date_format'));
}
$html = ' '.date($value, time()).' ';
echo $html;
}
public function event_list_cal_theme_callback() {
if(get_option('event_list_cal_theme')) {
$selected = get_option('event_list_cal_theme');
} else {
$selected = 'light';
}
$html = '
admin_url( 'admin-ajax.php' ), 'security' => wp_create_nonce( 'event-list-cal' ) ));
wp_localize_script( 'script-name', 'eventListMiniCal', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'security' => wp_create_nonce( 'event-list-mini-cal' ) ));
}
add_action( 'wp_enqueue_scripts', 'event_list_cal_scripts' );
function event_list_cal_callback() {
check_ajax_referer( 'event-list-cal', 'security' );
$cal_output = "";
$month = intval( $_POST["month"] );
$year = intval( $_POST["year"] );
$calendar_month = strtotime($year."-".$month."-01");
$current_month = 1;
if($year == date('Y', time()) && $month == date('m', time())) {
$current_month = 1;
} else {
$current_month = 0;
}
$events = array();
$args = array(
'post_type' => 'event-list-cal',
'posts_per_page' => -1,
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$event_date = get_post_custom_values('event-date');
$event_date = strtotime($event_date[0]);
$event_time = get_post_custom_values('event-time');
$event_time = $event_time[0];
$event_days = get_post_custom_values('event-days');
$event_days = $event_days[0];
$event_repeat = get_post_custom_values('event-repeat');
$event_repeat = $event_repeat[0];
$event_end = get_post_custom_values('event-end');
$event_end = $event_end[0];
if($event_repeat > 0) {
$event_repeat_schedule = $event_repeat;
} else {
$event_repeat_schedule = 0;
}
$events[] = "ID)."\">".get_the_title()." ==".$event_date."==".$event_time."==ID)."\"> ".get_the_excerpt()."==".$event_days."==".$event_repeat_schedule."==".$event_end;
endwhile;
$num_days = date('t', mktime(0, 0, 0, $month, 1, $year));
$strt_day = date('w', mktime(0, 0, 0, $month, 1, $year));
/* Handle multiple day events from previous months and recurring events */
foreach($events as $event) {
$event_array = split('==', $event);
$event_link = $event_array[0];
$event_date = intval($event_array[1]);
$event_time = $event_array[2];
$event_excerpt = $event_array[3];
$event_days = $event_array[4];
if($event_array[5] > 0) {
$event_repeat_schedule = $event_array[5];
} else {
$event_repeat_schedule = 0;
}
if($event_array[6]) {
$event_end = $event_array[6];
} else {
$event_end = '2038-01-19';
}
$event_year = date('Y', $event_date);
$event_month = date('m', $event_date);
$event_day = date('d', $event_date);
if($month == 1) {
if($event_year == ($year - 1) && $event_month == 12 && !empty($event_days)) {
$num_days_prev_month = date('t', mktime(0, 0, 0, $month, 1, ($year - 1)));
if($event_days > ($num_days_prev_month - $event_day)) {
$days_to_go = abs($num_days_prev_month - $event_day - $event_days + 1);
for($i = 1; $i <= $days_to_go; $i++) {
$new_date = ($year."-".$month."-".$i);
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==".$event_end;
}
}
}
} else {
if($event_year == $year && $event_month == ($month - 1) && !empty($event_days)) {
$num_days_prev_month = date('t', mktime(0, 0, 0, ($month - 1), 1, $year));
if($event_days > ($num_days_prev_month - $event_day)) {
$days_to_go = abs($num_days_prev_month - $event_day - $event_days + 1);
for($i = 1; $i <= $days_to_go; $i++) {
$new_date = ($year."-".$month."-".$i);
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==".$event_end;
}
}
}
}
/* recurring events */
if($event_repeat_schedule == 1) {
/* check to make sure date starts in the current month or if it is after $event_date */
if($event_year == $year && $event_month == $month) {
$add_seven = $event_day;
for($i = 0; $i < 5; $i++) {
$add_seven = $add_seven + 7;
$new_date = $year."-".$month."-".$add_seven;
if(strtotime($new_date) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==".$event_end;
}
}
} elseif(strtotime($year."-".$month."-01") > $event_date) {
/* get day of week it is on */
$day_of_week = date('w', $event_date) + 1;
$add_seven = $day_of_week - $strt_day;
for($i = 0; $i < 5; $i++) {
$new_date = $year."-".$month."-".$add_seven;
if(strtotime($new_date) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==".$event_end;
}
$add_seven = $add_seven + 7;
}
}
} elseif($event_repeat_schedule == 2) {
if(strtotime($year."-".$month."-01") > $event_date && strtotime($year."-".$month."-".date('d', $event_date)) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($year."-".$month."-".$event_day)."==".$event_time."==".$event_excerpt."==0==".$event_end;
}
} elseif($event_repeat_schedule == 3) {
if(strtotime($year."-".$month."-01") > $event_date && $month == $event_month && strtotime($year."-".$month."-".date('d', $event_date)) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($year."-".$month."-".$event_day)."==".$event_time."==".$event_excerpt."==0==".$event_end;
}
}
}
/* Draw calendar */
$cal_output .= "
";
if(get_settings('start_of_week') != 1) {
$cal_output .= "
".__('Sunday', 'event-list-calendar')." ";
}
$cal_output .= "
".__('Monday', 'event-list-calendar')."
".__('Tuesday', 'event-list-calendar')."
".__('Wednesday', 'event-list-calendar')."
".__('Thursday', 'event-list-calendar')."
".__('Friday', 'event-list-calendar')."
".__('Saturday', 'event-list-calendar')." ";
if(get_settings('start_of_week') == 1) {
$cal_output .= "
".__('Sunday', 'event-list-calendar')." ";
}
$cal_output .= "
";
$k = 0;
if(get_settings('start_of_week') != 1) {
for($i = 0; $i < $strt_day; $i++) {
$cal_output .= "
\r";
$k++;
}
} else {
for($i = 1; $i < $strt_day; $i++) {
$cal_output .= "
\r";
$k++;
}
}
$x = $k + 1;
for($j = 1; $j <= $num_days; $j++) {
if($x == 6 || $x == 7 || $x == 13 || $x == 14 || $x == 20 || $x == 21 || $x == 27 || $x == 28 || $x == 34 || $x == 35) {
$class = ' class="event-list-cal-right"';
}
if($j == current_time('j', 0) && $current_month == 1) {
if($x == 6 || $x == 7 || $x == 13 || $x == 14 || $x == 20 || $x == 21 || $x == 27 || $x == 28 || $x == 34 || $x == 35) {
$class = ' class="today event-list-cal-right"';
} else {
$class = ' class="today"';
}
}
$cal_output .= "
".$j."
";
foreach($events as $event) {
$event_array = split('==', $event);
$event_link = $event_array[0];
$event_date = intval($event_array[1]);
$event_time = $event_array[2];
$event_excerpt = $event_array[3];
$event_days = $event_array[4];
$event_repeat = $event_array[5];
$event_year = date('Y', $event_date);
$event_month = date('m', $event_date);
$event_day = date('d', $event_date);
if($event_year == $year && $event_month == $month && $event_day == $j) {
$cal_output .= "
".$event_link."
";
if(!empty($event_time)) {
$cal_output .= "
Event Time: ".$event_time."
";
}
$cal_output .= "
".$event_excerpt."
\r";
/* If multiple days, add to $events[] */
if(!empty($event_days)) {
$new_event_date = $event_date + 86400;
while($event_days > 1) {
$event_days = $event_days - 1;
$events[] = $event_link."==".$new_event_date."==".$event_time."==".$event_excerpt."==0==0==0";
$new_event_date = $new_event_date + 86400;
}
}
}
}
$cal_output .= "
";
$class = "";
$k++;
if($k % 7 == 0) {
$cal_output .= "
";
}
$x++;
}
if($x > 36) {
while($x <= 42 ) {
$cal_output .= "
";
$x++;
}
} elseif($x > 29 && $x != 36) {
while($x <= 35) {
$cal_output .= "
";
$x++;
}
}
$cal_output .= "
";
$cal_output .= $not_current_month;
echo $cal_output;
die();
}
add_action( 'wp_ajax_event_list_cal', 'event_list_cal_callback' );
add_action( 'wp_ajax_nopriv_event_list_cal', 'event_list_cal_callback' );
function event_list_mini_cal_callback() {
check_ajax_referer( 'event-list-mini-cal', 'security' );
$cal_output = "";
$month = intval( $_POST["month"] );
$year = intval( $_POST["year"] );
$calendar_month = strtotime($year."-".$month."-01");
$current_month = 1;
if(isset($_GET['month'])) {
$calendar_month = strtotime($_GET['month']."-01");
$date = split('-', $_GET['month']);
$year = $date[0];
$month = $date[1];
if($year != current_time('Y', 0) || $month != current_time('m', 0)) {
$current_month = 0;
}
}
$events = array();
$args = array(
'post_type' => 'event-list-cal',
'posts_per_page' => -1,
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$event_date = get_post_custom_values('event-date');
$event_date = strtotime($event_date[0]);
$event_time = get_post_custom_values('event-time');
$event_time = $event_time[0];
$event_days = get_post_custom_values('event-days');
$event_days = $event_days[0];
$event_repeat = get_post_custom_values('event-repeat');
$event_repeat = $event_repeat[0];
$event_end = get_post_custom_values('event-end');
$event_end = $event_end[0];
if($event_repeat > 0) {
$event_repeat_schedule = $event_repeat;
} else {
$event_repeat_schedule = 0;
}
$events[] = "ID)."\">".get_the_title()." ==".$event_date."==".$event_time."==ID)."\"> ".get_the_excerpt()."==".$event_days."==".$event_repeat_schedule."==".$event_end;
endwhile;
$num_days = date('t', mktime(0, 0, 0, $month, 1, $year));
$strt_day = date('w', mktime(0, 0, 0, $month, 1, $year));
/* Handle multiple day events from previous months */
foreach($events as $event) {
$event_array = split('==', $event);
$event_link = $event_array[0];
$event_date = intval($event_array[1]);
$event_time = $event_array[2];
$event_excerpt = $event_array[3];
$event_days = $event_array[4];
$event_repeat_schedule = $event_array[5];
$event_end = $event_array[6];
if($event_end == 0) {
$event_end = '2038-01-19';
}
$event_year = date('Y', $event_date);
$event_month = date('m', $event_date);
$event_day = date('d', $event_date);
if($month == 1) {
if($event_year == ($year - 1) && $event_month == 12 && !empty($event_days)) {
$num_days_prev_month = date('t', mktime(0, 0, 0, $month, 1, ($year - 1)));
if($event_days > ($num_days_prev_month - $event_day)) {
$days_to_go = abs($num_days_prev_month - $event_day - $event_days + 1);
for($i = 1; $i <= $days_to_go; $i++) {
$new_date = ($year."-".$month."-".$i);
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==0";
}
}
}
} else {
if($event_year == $year && $event_month == ($month - 1) && !empty($event_days)) {
$num_days_prev_month = date('t', mktime(0, 0, 0, ($month - 1), 1, $year));
if($event_days > ($num_days_prev_month - $event_day)) {
$days_to_go = abs($num_days_prev_month - $event_day - $event_days + 1);
for($i = 1; $i <= $days_to_go; $i++) {
$new_date = ($year."-".$month."-".$i);
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==0";
}
}
}
}
/* Handle recurring events - All posibilities need to be addressed due to the ability to start a calendar on a specific month */
if($event_repeat_schedule == 1) {
/* check to make sure date starts in the current month or if it is after $event_date */
if($event_year == $year && $event_month == $month) {
$add_seven = $event_day;
for($i = 0; $i < 5; $i++) {
$add_seven = $add_seven + 7;
$new_date = $year."-".$month."-".$add_seven;
if(strtotime($new_date) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==".$event_end;
}
}
} elseif(strtotime($year."-".$month."-01") > $event_date) {
/* get day of week it is on */
$day_of_week = date('w', $event_date) + 1;
$add_seven = $day_of_week - $strt_day;
for($i = 0; $i < 5; $i++) {
$new_date = $year."-".$month."-".$add_seven;
if(strtotime($new_date) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==".$event_end;
}
$add_seven = $add_seven + 7;
}
}
} elseif($event_repeat_schedule == 2) {
if(strtotime($year."-".$month."-01") > $event_date && strtotime($year."-".$month."-".date('d', $event_date)) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($year."-".$month."-".$event_day)."==".$event_time."==".$event_excerpt."==0==0";
}
} elseif($event_repeat_schedule == 3) {
if(strtotime($year."-".$month."-01") > $event_date && $month == $event_month && strtotime($year."-".$month."-".date('d', $event_date)) <= strtotime($event_end)) {
$events[] = $event_link."==".strtotime($year."-".$month."-".$event_day)."==".$event_time."==".$event_excerpt."==0==0";
}
}
}
/* Draw calendar */
$cal_output .= "
";
if(get_settings('start_of_week') != 1) {
$cal_output .= "
".__( 'Sun', 'event-list-calendar' )." ";
}
$cal_output .= "
".__( 'Mon', 'event-list-calendar' )."
".__( 'Tue', 'event-list-calendar' )."
".__( 'Wed', 'event-list-calendar' )."
".__( 'Thu', 'event-list-calendar' )."
".__( 'Fri', 'event-list-calendar' )."
".__( 'Sat', 'event-list-calendar' )." ";
if(get_settings('start_of_week') == 1) {
$cal_output .= "
".__( 'Sun', 'event-list-calendar' )." ";
}
$cal_output .= "
";
$k = 0;
if(get_settings('start_of_week') != 1) {
for($i = 0; $i < $strt_day; $i++) {
$cal_output .= "
\r";
$k++;
}
} else {
for($i = 1; $i < $strt_day; $i++) {
$cal_output .= "
\r";
$k++;
}
}
$x = $k + 1;
for($j = 1; $j <= $num_days; $j++) {
if($x == 5 || $x == 6 || $x == 7 || $x == 12 || $x == 13 || $x == 14 || $x == 19 || $x == 20 || $x == 21 || $x == 26 || $x == 27 || $x == 28 || $x == 33 || $x == 34 || $x == 35) {
$class = ' class="event-list-cal-right"';
}
if($j == current_time('j', 0) && $current_month == 1) {
if($x == 5 || $x == 6 || $x == 7 || $x == 12 || $x == 13 || $x == 14 || $x == 19 || $x == 20 || $x == 21 || $x == 26 || $x == 27 || $x == 28 || $x == 33 || $x == 34 || $x == 35) {
$class = ' class="today event-list-cal-right"';
} else {
$class = ' class="today"';
}
}
$cal_output .= "
";
$day_events = array();
foreach($events as $event) {
$event_array = split('==', $event);
$event_link = $event_array[0];
$event_date = $event_array[1];
$event_time = $event_array[2];
$event_excerpt = $event_array[3];
$event_days = $event_array[4];
$event_repeat = $event_array[5];
$event_year = date('Y', intval($event_date));
$event_month = date('m', intval($event_date));
$event_day = date('d', intval($event_date));
if($event_year == $year && $event_month == $month && $event_day == $j) {
$day_events[$j][] = $event_link;
/* If multiple days, add to $events[] */
if(!empty($event_days)) {
$new_event_date = $event_date + 86400;
while($event_days > 1) {
$event_days = $event_days - 1;
$events[] = $event_link."==".$new_event_date."==".$event_time."==".$event_excerpt."==0==".$event_repeat;
$new_event_date = $new_event_date + 86400;
}
}
}
}
if(!empty($day_events[$j])) {
$cal_output .= ''.$j.'
';
$cal_output .= '';
foreach($day_events[$j] as $event) {
$cal_output .= '
'.$event.'
';
}
$cal_output .= '
';
} else {
$cal_output .= ''.$j.'
';
}
$cal_output .= "
";
$class = "";
$k++;
if($k % 7 == 0) {
$cal_output .= "
";
}
$x++;
}
if($x > 36) {
while($x <= 42 ) {
$cal_output .= "
";
$x++;
}
} elseif($x > 29 && $x != 36) {
while($x <= 35) {
$cal_output .= "
";
$x++;
}
}
$cal_output .= "
";
$cal_output .= $not_current_month;
echo $cal_output;
die();
}
add_action( 'wp_ajax_event_list_mini_cal', 'event_list_mini_cal_callback' );
add_action( 'wp_ajax_nopriv_event_list_mini_cal', 'event_list_mini_cal_callback' );
?>