function gce_print_calendar($feed_ids, $display = 'grid', $args = array(), $widget = false) { $defaults = array('title_text' => '', 'max_events' => 25, 'sort' => 'asc', 'grouped' => 0, 'month' => null, 'year' => null, 'widget' => 0); $args = array_merge($defaults, $args); extract($args); $ids = explode('-', $feed_ids); //Create new display object, passing array of feed id(s) $d = new GCE_Display($ids, $title_text, $max_events, $sort); $markup = ''; if ('grid' == $display) { $markup = '<script type="text/javascript">jQuery(document).ready(function($){gce_ajaxify("' . ($widget == 1 ? 'gce-widget-' : 'gce-page-grid-') . $feed_ids . '", "' . $feed_ids . '", "' . absint($max_events) . '", "' . $title_text . '", "' . ($widget == 1 ? 'widget' : 'page') . '");});</script>'; if ($widget == 1) { $markup .= '<div class="gce-widget-grid" id="gce-widget-' . $feed_ids . '">'; } else { $markup .= '<div class="gce-page-grid" id="gce-page-grid-' . $feed_ids . '">'; } $markup .= $d->get_grid($year, $month, $widget); $markup .= '</div>'; } else { if ('list' == $display || 'list-grouped' == $display) { $markup = '<div class="gce-page-list">' . $d->get_list($grouped) . '</div>'; } } return $markup; }
/** * AJAX function for grid pagination * * @since 2.0.0 */ function gce_ajax_list() { $grouped = esc_html($_POST['gce_grouped']); $start = esc_html($_POST['gce_start']); $ids = esc_html($_POST['gce_feed_ids']); $title_text = esc_html($_POST['gce_title_text']); $sort = esc_html($_POST['gce_sort']); $paging = esc_html($_POST['gce_paging']); $paging_interval = esc_html($_POST['gce_paging_interval']); $paging_direction = esc_html($_POST['gce_paging_direction']); $start_offset = esc_html($_POST['gce_start_offset']); $paging_type = esc_html($_POST['gce_paging_type']); if ($paging_direction == 'back') { if ($paging_type == 'month') { $this_month = mktime(0, 0, 0, date('m', $start) - 1, 1, date('Y', $start)); $prev_month = mktime(0, 0, 0, date('m', $start) - 2, 1, date('Y', $start)); $prev_interval_days = date('t', $prev_month); $month_days = date('t', $this_month); $int = $month_days + $prev_interval_days; $int = $int * 86400; $start = $start - $int; $changed_month_days = date('t', $start); $paging_interval = $changed_month_days * 86400; } else { $start = $start - $paging_interval * 2; } } else { if ($paging_type == 'month') { $days_in_month = date('t', $start); $paging_interval = 86400 * $days_in_month; } } $d = new GCE_Display(explode('-', $ids), $title_text, $sort); echo $d->get_list($grouped, $start, $paging, $paging_interval, $start_offset); die; }