function qem_ics() { global $post; $display = event_get_stored_display(); $summary = $post->post_title; $eventstart = get_post_meta($post->ID, 'event_date', true); if (!$eventstart) { $eventstart = time(); } $start = get_post_meta($post->ID, 'event_start', true); $date = date('Ymd\\T', $eventstart); $time = qem_time($start); $time = date('His', $time); $datestart = $date . $time; $dateend = get_post_meta($post->ID, 'event_end_date', true); $address = get_post_meta($post->ID, 'event_address', true); $url = get_permalink(); $description = get_post_meta($post->ID, 'event_desc', true); $filename = $post->post_title . '.ics'; if (!$dateend) { $dateend = $eventstart; $finish = get_post_meta($post->ID, 'event_finish', true); $date = date('Ymd\\T', $eventstart); $time = qem_time($finish); $time = date('His', $time); $dateend = $date . $time; } else { $finish = get_post_meta($post->ID, 'event_finish', true); $date = date('Ymd\\T', $dateend); $time = qem_time($finish); $time = date('His', $time); $dateend = $date . $time; } $ics = 'BEGIN:VCALENDAR VERSION:2.0 PRODID:-//hacksw/handcal//NONSGML v1.0//EN CALSCALE:GREGORIAN BEGIN:VEVENT UID:' . uniqid() . ' DTSTAMP:' . dateToCal(time()) . ' DTSTART:' . $datestart . ' DTEND:' . $dateend . ' LOCATION:' . $address . ' DESCRIPTION:' . $description . ' URL;VALUE=URI:' . $url . ' SUMMARY:' . $summary . ' END:VEVENT END:VCALENDAR'; qem_generate_csv(); $content = '<form method="post" action=""> <input type="hidden" name="qem_ics" value="' . $ics . '"> <input type="hidden" name="qem_filename" value="' . $filename . '"> <input type="submit" name="qem_create_ics" class="qem-register" id="submit" value="' . $display['useicsbutton'] . '" /></form>'; return $content; }
function save_event_details() { global $post; $eventdetails = event_get_stored_options(); $event = get_the_ID(); if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return; } if (!isset($_POST['save_qem']) || !wp_verify_nonce($_POST['save_qem'], 'qem_nonce')) { return; } if (isset($_POST["event_date"])) { $startdate = strtotime($_POST["event_date"]); $starttime = qem_time($_POST["event_start"]); if (!$startdate) { $startdate = time(); } $newdate = $startdate + $starttime; update_post_meta($post->ID, "event_date", $newdate); } if ($_POST["event_end_date"]) { $enddate = strtotime($_POST["event_end_date"]); $endtime = qem_time($_POST["event_finish"]); $newenddate = $enddate + $endtime; update_post_meta($post->ID, "event_end_date", $newenddate); } save_event_field("event_desc"); save_event_field("event_start"); save_event_field("event_finish"); save_event_field("event_timezone"); if ($_POST["event_timezone"] == "Eastern Australia, Guam, Vladivostok") { $sel = "Aus"; } elseif ($_POST["event_timezone"] == "Mid-Atlantic") { $sel = "Mia"; } else { $sel = substr($_POST["event_timezone"], 0, 3); } update_post_meta($post->ID, "selected_timezone", $sel); save_event_field("event_custom_timezone"); save_event_field("event_location"); save_event_field("event_address"); save_event_field("event_link"); save_event_field("event_anchor"); save_event_field("event_cost"); save_event_field("event_organiser"); save_event_field("event_telephone"); save_event_field("event_image"); save_event_field("event_redirect"); $old = get_event_field("hide_event"); $new = $_POST["hide_event"]; if ($new && $new != $old) { update_post_meta($post->ID, "hide_event", $new); } elseif ('' == $new && $old) { delete_post_meta($post->ID, "hide_event", $old); } $old = get_event_field("event_number"); $new = $_POST["event_number"]; if ($new && $new != $old) { update_post_meta($post->ID, "event_number", $new); } elseif ('' == $new && $old) { delete_post_meta($post->ID, "event_number", $old); } $old = get_event_field("event_register"); $new = $_POST["event_register"]; if ($new && $new != $old) { update_post_meta($post->ID, "event_register", $new); } elseif ('' == $new && $old) { delete_post_meta($post->ID, "event_register", $old); } $old = get_event_field("event_counter"); $new = $_POST["event_counter"]; if ($new && $new != $old) { update_post_meta($post->ID, "event_counter", $new); } elseif ('' == $new && $old) { delete_post_meta($post->ID, "event_counter", $old); } $old = get_event_field("event_redirect_id"); $new = $_POST["event_redirect_id"]; if ($new && $new != $old) { update_post_meta($post->ID, "event_redirect_id", $new); } elseif ('' == $new && $old) { delete_post_meta($post->ID, "event_redirect_id", $old); } $old = get_event_field("event_paypal"); $new = $_POST["event_paypal"]; if ($new && $new != $old) { update_post_meta($post->ID, "event_paypal", 'checked'); } elseif ('' == $new) { update_post_meta($post->ID, "event_paypal", 'notchecked'); } $harry = $_POST["repeatnumber"]; $number = $harry > 52 || $harry == 0 ? 52 : $harry; if ($_POST["event_repeat"] == 'repeatmonthly') { $_POST["event_repeat"] = ''; qem_duplicate_new_post($event, $number, 'months'); } if ($_POST["event_repeat"] == 'repeatweekly') { $_POST["event_repeat"] = ''; qem_duplicate_new_post($event, $number, 'weeks'); } if ($eventdetails['publicationdate'] && $newdate) { remove_action('save_post', 'save_event_details'); $updatestart = date('Y-m-d H:i:s', $newdate); wp_update_post(array('ID' => $event, 'post_date' => $updatestart)); add_action('save_post', 'save_event_details'); } save_event_field("event_registration_message"); }