function my_calendar_draw_events($events, $type, $process_date, $time, $template = '') { apply_filters('debug', "my_calendar( {$type} ) begin draw events"); if ($type == 'mini' && (get_option('mc_open_day_uri') == 'true' || get_option('mc_open_day_uri') == 'listanchor' || get_option('mc_open_day_uri') == 'calendaranchor')) { return true; } // We need to sort arrays of objects by time if (is_array($events)) { $output_array = array(); $begin = $event_output = $end = ''; if ($type == "mini" && count($events) > 0) { $begin .= "<div id='date-{$process_date}' class='calendar-events'>"; } // By default, skip no events. $skipping = false; foreach (array_keys($events) as $key) { $event =& $events[$key]; $output_array[] = my_calendar_draw_event($event, $type, $process_date, $time, $template); } if (is_array($output_array)) { foreach (array_keys($output_array) as $key) { $value =& $output_array[$key]; $event_output .= $value; } } if ($event_output == '') { return; } if ($type == "mini" && count($events) > 0) { $end .= "</div>"; } return $begin . $event_output . $end; } apply_filters("debug", "my_calendar( {$name} ) end draw events"); }
function my_calendar_draw_events($events, $type, $process_date, $time, $template = '') { if ($type == 'mini' && (get_option('mc_open_day_uri') == 'true' || get_option('mc_open_day_uri') == 'listanchor' || get_option('mc_open_day_uri') == 'calendaranchor')) { return true; } // We need to sort arrays of objects by time if (is_array($events)) { $output_array = array(); $begin = $event_output = $end = ''; if ($type == "mini" && count($events) > 0) { $begin .= "<div id='date-{$process_date}' class='calendar-events'>"; } foreach (array_keys($events) as $key) { $event =& $events[$key]; $check = mc_test_occurrence_overlap($event, true); if ($check == '') { $output_array[] = my_calendar_draw_event($event, $type, $process_date, $time, $template); } } if (is_array($output_array)) { foreach (array_keys($output_array) as $key) { $value =& $output_array[$key]; $event_output .= $value; } } if ($event_output == '') { return ''; } if ($type == "mini" && count($events) > 0) { $end .= "</div>"; } return $begin . $event_output . $end; } return ''; }
function mc_get_event($id, $type = 'object') { // indicates whether you want a specific instance, or a general event global $wpdb; $mcdb = $wpdb; if (get_option('mc_remote') == 'true' && function_exists('mc_remote_db')) { $mcdb = mc_remote_db(); } $event = $mcdb->get_row("SELECT *, UNIX_TIMESTAMP(occur_begin) AS ts_occur_begin, UNIX_TIMESTAMP(occur_end) AS ts_occur_end FROM " . MY_CALENDAR_EVENTS_TABLE . " JOIN " . MY_CALENDAR_TABLE . " ON (event_id=occur_event_id) JOIN " . MY_CALENDAR_CATEGORIES_TABLE . " ON (event_category=category_id) WHERE occur_id={$id}"); if ($type == 'object') { return $event; } else { $date = date('Y-m-d', strtotime($event->occur_begin)); $time = date('H:i:s', strtotime($event->occur_begin)); $value = "<div id='mc_event'>" . my_calendar_draw_event($event, 'single', $date, $time, 'single') . "</div>\n"; return $value; } }
function mc_instance_list($id, $occur = false, $template = '<h3>{title}</h3>{description}', $list = '<li>{date}, {time}</li>', $before = "<ul>", $after = "</ul>", $instance = false) { global $wpdb; $id = (int) $id; $output = ''; if ($instance == true) { $sql = "SELECT * FROM " . my_calendar_event_table() . " WHERE occur_id={$id}"; } else { $sql = "SELECT * FROM " . my_calendar_event_table() . " WHERE occur_event_id={$id}"; } $results = $wpdb->get_results($sql); if (is_array($results) && is_admin()) { foreach ($results as $result) { $begin = "<span id='occur_date_{$result->occur_id}'>" . date_i18n(get_option('mc_date_format'), strtotime($result->occur_begin)) . ', ' . date(get_option('mc_time_format'), strtotime($result->occur_begin)) . "</span>"; if ($result->occur_id == $occur) { $form_control = ''; $edit = "<em>" . __('Editing Now', 'my-calendar') . "</em>"; } else { $form_control = "{$begin}: <button class='delete_occurrence' type='button' data-value='{$result->occur_id}' aria-describedby='occur_date_{$result->occur_id}' />" . __('Delete', 'my-calendar') . "</button> "; $edit = "<a href='" . admin_url('admin.php?page=my-calendar') . "&mode=edit&event_id={$id}&date={$result->occur_id}' aria-describedby='occur_date_{$result->occur_id}'>" . __('Edit', 'my-calendar') . "</a>"; } $output .= "<li>{$form_control}{$edit}</li>"; } } else { $details = ''; foreach ($results as $result) { $event_id = $result->occur_id; $event = mc_get_event($event_id); $array = mc_create_tags($event); if (in_array($template, array('details', 'grid', 'list', 'mini')) || mc_key_exists($template)) { if (get_option('mc_use_' . $template . '_template') == 1) { $template = mc_get_template($template); } else { if (mc_key_exists($template)) { $template = mc_get_custom_template($template); } else { $details = my_calendar_draw_event($event, $type = "single", $event->event_begin, $event->event_time, ''); } } } $item = $list != '' ? jd_draw_template($array, $list) : ''; if ($details == '') { $details = $template != '' ? jd_draw_template($array, $template) : ''; } $output .= $item; if ($list == '') { break; } } $output = $details . $before . $output . $after; } return get_option('mc_process_shortcodes') == 'true' ? do_shortcode($output) : $output; }
function mc_show_event_template($content) { global $post; if (is_object($post) && in_the_loop()) { // some early versions of this placed the shortcode into the post content. Strip that out. $new_content = $content; if ($post->post_type == 'mc-events') { if (isset($_GET['mc_id']) && mc_valid_id($_GET['mc_id'])) { $mc_id = intval($_GET['mc_id']); $event_id = get_post_meta($post->ID, '_mc_event_id', true); $event = mc_get_event($mc_id, 'object'); $date = date('Y-m-d', strtotime($event->occur_begin)); $time = date('H:i:00', strtotime($event->occur_begin)); } else { $event_id = get_post_meta($post->ID, '_mc_event_id', true); if (is_numeric($event_id)) { $event = mc_get_nearest_event($event_id); $date = date('Y-m-d', strtotime($event->occur_begin)); $time = date('H:i:s', strtotime($event->occur_begin)); } else { return $content; } } if (is_object($event) && mc_event_is_hidden($event)) { return $content; } if (get_option('mc_use_details_template') == 1) { $new_content = apply_filters('mc_before_event', '', $event, 'single', $time); if (isset($_GET['mc_id'])) { $shortcode = str_replace("event='{$event_id}'", "event='{$mc_id}' instance='1'", get_post_meta($post->ID, '_mc_event_shortcode', true)); } else { $shortcode = get_post_meta($post->ID, '_mc_event_shortcode', true); } $new_content .= do_shortcode(apply_filters('mc_single_event_shortcode', $shortcode)); $new_content .= apply_filters('mc_after_event', '', $event, 'single', $time); } else { $new_content = my_calendar_draw_event($event, 'single', $date, $time, ''); } $content = do_shortcode(apply_filters('mc_event_post_content', $new_content, $content, $post)); } } return $content; }
function mc_instance_list($id, $occur = false, $template = '<h3>{title}</h3>{description}', $list = '<li>{date}, {time}</li>', $before = "<ul>", $after = "</ul>") { global $wpdb; $id = (int) $id; $output = ''; $sql = "SELECT * FROM " . my_calendar_event_table() . " WHERE occur_event_id={$id}"; $results = $wpdb->get_results($sql); if (is_array($results) && is_admin()) { foreach ($results as $result) { if ($result->occur_id == $occur) { $form_control = ''; $current = "<em>" . __('Editing: ', 'my-calendar') . "</em>"; $end = ''; } else { $form_control = "<input type='checkbox' name='delete_occurrences[]' id='delete_{$result->occur_id}' value='{$result->occur_id}' aria-labelledby='occur_label occur_date' /> <label id='occur_label' for='delete_{$result->occur_id}'>Delete</label> "; $current = "<a href='" . admin_url('admin.php?page=my-calendar') . "&mode=edit&event_id={$id}&date={$result->occur_id}'>"; $end = "</a>"; } $begin = "<span id='occur_date'>" . date_i18n(get_option('mc_date_format'), strtotime($result->occur_begin)) . ', ' . date(get_option('mc_time_format'), strtotime($result->occur_begin)) . "</span>"; $output .= "<li>{$form_control}{$current}{$begin}{$end}</li>"; } } else { $details = ''; foreach ($results as $result) { $event_id = $result->occur_id; $event = mc_get_event($event_id); $array = mc_create_tags($event); if (in_array($template, array('details', 'grid', 'list', 'mini'))) { if (get_option('mc_use_' . $template . '_template') == 1) { $template = mc_get_template($template); } else { $template = false; $details = my_calendar_draw_event($event, $type = "single", $event->event_begin, $event->event_time, ''); } } $item = $list != '' ? jd_draw_template($array, $list) : ''; if ($details == '') { $details = $template != '' ? jd_draw_template($array, $template) : ''; } $output .= $item; } $output = $details . $before . $output . $after; } return $output; }