function get_calendar_details($links) { global $post; $event = event_get_stored_options(); $style = qem_get_stored_style(); $width = $style['calender_size']; $display = event_get_stored_display(); $custom = get_post_custom(); $category = get_the_category(); $unixtime = get_post_meta($post->ID, 'event_date', true); $enddate = get_post_meta($post->ID, 'event_end_date', true); $titlecat = $datecat = ''; if ($display['show_end_date'] && $enddate) { $join = 'checked'; } else { $join = ''; } if ($display['showcategory']) { if ($display['categorylocation'] == 'title') { $titlecat = ' - ' . $category[0]->name; } if ($display['categorylocation'] == 'date') { $datecat = ' - ' . $category[0]->name; } } if ($display['amalgamated']) { $month = date_i18n("M", $unixtime); $year = date_i18n("Y", $unixtime); if ($enddate) { $endmonth = date_i18n("M", $enddate); $endday = date_i18n("d", $enddate); $endyear = date_i18n("Y", $enddate); } if ($month == $endmonth && $year == $endyear && $endday) { $amalgamated = 'checked'; } } $cat = $style['cat_border'] && $category ? $category[0]->slug : ' '; $output = ''; if (!$style['vanilla']) { $output .= '<div style="float:left" class="' . $cat . '">' . get_event_calendar_icon($width, 'event_date', '', '', '') . '</div><div class="' . $cat . '"><div class="qem-' . $width . '">'; } $output .= '<h2 style="display:inline">'; if ($display['titlelink']) { $output .= $post->post_title; } elseif ($links == 'on' && !$display['titlelink']) { $output .= '<a href="' . get_permalink() . '">' . $post->post_title . '</a>'; } else { $output .= $post->post_title; } $output .= $titlecat . '</h2>'; if ($style['vanilla']) { $output .= '<h3>' . get_event_calendar_icon('', 'event_date', $join, 'checked', ''); if ($display['show_end_date'] && !$amalgamated) { $output .= get_event_calendar_icon('', 'event_end_date', '', 'checked', ''); } $output .= $datecat . '</h3>'; } foreach (explode(',', $event['sort']) as $name) { if ($event['summary'][$name] == 'checked') { $output .= qem_build_event($name, $event, $display, $custom, 'checked'); } } if (!$display['titlelink'] && $links == 'on') { $output .= '<p><a href="' . get_permalink() . '">' . $display['read_more'] . '</a></p>'; } $output .= '</div></div>'; $output = str_replace('"', '\\"', $output); $output = str_replace("'", "’", $output); $output = str_replace(array("\r", "\n"), "", $output); return $output; }
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"); }
function qem_event_settings() { $active_buttons = array('field1', 'field2', 'field3', 'field4', 'field5', 'field6', 'field7'); if (isset($_POST['Submit']) && check_admin_referer("save_qem")) { foreach ($active_buttons as $item) { $event['active_buttons'][$item] = (isset($_POST['event_settings_active_' . $item]) and $_POST['event_settings_active_' . $item] == 'on') ? true : false; $event['summary'][$item] = isset($_POST['summary_' . $item]); $event['bold'][$item] = isset($_POST['bold_' . $item]); $event['italic'][$item] = isset($_POST['italic_' . $item]); $event['colour'][$item] = filter_var($_POST['colour_' . $item], FILTER_SANITIZE_STRING); $event['size'][$item] = filter_var($_POST['size_' . $item], FILTER_SANITIZE_STRING); if (!empty($_POST['label_' . $item])) { $event['label'][$item] = stripslashes($_POST['label_' . $item]); filter_var($event['label'][$item], FILTER_SANITIZE_STRING); } } $option = array('sort', 'description_label', 'address_label', 'url_label', 'cost_label', 'start_label', 'finish_label', 'location_label', 'organiser_label', 'show_telephone', 'show_map', 'target_link', 'publicationdate'); foreach ($option as $item) { $event[$item] = stripslashes($_POST[$item]); $event[$item] = filter_var($event[$item], FILTER_SANITIZE_STRING); } update_option('event_settings', $event); qem_admin_notice(__('The form settings have been updated', 'quick-event-manager')); } if (isset($_POST['Reset']) && check_admin_referer("save_qem")) { delete_option('event_settings'); qem_create_css_file('update'); qem_admin_notice(__('The event settings have been reset', 'quick-event-manager')); } $event = event_get_stored_options(); ${$event}['dateformat'] = 'checked'; ${$event}['date_background'] = 'checked'; ${$event}['event_order'] = 'checked'; ${$event}['publicationdate'] = 'checked'; if ($event['show_map'] == 'checked') { $map = 'checked'; } $content = '<script> jQuery(function() {var qem_sort = jQuery( "#qem_sort" ).sortable({axis: "y",update:function(e,ui) {var order = qem_sort.sortable("toArray").join();jQuery("#qem_settings_sort").val(order);}});}); </script> <div class ="qem-options" style="width:98%"> <form id="event_settings_form" method="post" action=""> <p>' . __('Use the check boxes to select which fields to display in the event post and the event list', 'quick-event-manager') . '.</p> <p>' . __('Drag and drop to change the order of the fields', 'quick-event-manager') . '.</p> <p>' . __('The fields with the blue border are for optional captions. For example: <span style="border:1px solid blue;">The cost is</span> {cost} will display as <em>The cost is 20 Zlotys</em>. If you leave it blank just <em>20 Zlotys</em> will display', 'quick-event-manager') . '.</p> <table id="sorting"> <thead> <tr> <th width="15%">' . __('Show in event post', 'quick-event-manager') . '</th> <th width="10%">' . __('Show in<br>event list', 'quick-event-manager') . '</th> <th width="15%">' . __('Colour', 'quick-event-manager') . '</th> <th width="5%">' . __('Font<br>size', 'quick-event-manager') . '</th> <th width="10%">' . __('Font<br>attributes', 'quick-event-manager') . '</th> <th>' . __('Caption and display options', 'quick-event-manager') . ':</th> </tr> </thead><tbody id="qem_sort">'; $sort = explode(",", $event['sort']); foreach (explode(',', $event['sort']) as $name) { $checked = $event['active_buttons'][$name] ? 'checked' : ''; $summary = $event['summary'][$name] ? 'checked' : ''; $bold = $event['bold'][$name] ? 'checked' : ''; $italic = $event['italic'][$name] ? 'checked' : ''; $options = ''; switch ($name) { case 'field1': $options = '<input type="text" style="border:1px solid blue; width:10em; padding: 1px; margin:0;" name="description_label" . value ="' . $event['description_label'] . '" /> {' . __('description', 'quick-event-manager') . '}'; break; case 'field2': $options = '<input type="text" style="border:1px solid blue; width:6em; padding: 1px; margin:0;" name="start_label" . value ="' . $event['start_label'] . '" /> {' . __('start time', 'quick-event-manager') . '} <input type="text" style="border:1px solid blue; width:6em; padding: 1px; margin:0;" name="finish_label" . value ="' . $event['finish_label'] . '" /> {' . __('end time', 'quick-event-manager') . '}'; break; case 'field3': $options = '<input type="text" style="border:1px solid blue; width:6em; padding: 1px; margin:0;" name="location_label" . value ="' . $event['location_label'] . '" /> {' . __('venue', 'quick-event-manager') . '}'; break; case 'field4': $options = '<input type="text" style="border:1px solid blue; width:10em; padding: 1px; margin:0;" name="address_label" . value ="' . $event['address_label'] . '" /> {' . __('address', 'quick-event-manager') . '} <input type="checkbox" name="show_map"' . $event['show_map'] . ' value="checked" /> ' . __('Show map (if address is given)', 'quick-event-manager') . ' '; break; case 'field5': $options = '<input type="text" style="border:1px solid blue; width:10em; padding: 1px; margin:0;" name="url_label" . value ="' . $event['url_label'] . '" /> {url}'; break; case 'field6': $options = '<input type="text" style="border:1px solid blue; width:10em; padding: 1px; margin:0;" name="cost_label" . value ="' . $event['cost_label'] . '" /> {' . __('cost', 'quick-event-manager') . '}'; break; case 'field7': $options = '<input type="text" style="border:1px solid blue; width:10em; padding: 1px; margin:0;" name="organiser_label" . value ="' . $event['organiser_label'] . '" /> {' . __('organiser', 'quick-event-manager') . '} <input type="checkbox" name="show_telephone"' . $event['show_telephone'] . ' value="checked" /> ' . __('Show orgainser\'s contact details', 'quick-event-manager') . ' '; break; } $li_class = $checked ? 'button_active' : 'button_inactive'; $content .= '<tr class="ui-state-default ' . $li_class . ' ' . $first . '" id="' . $name . '"><td> <input type="checkbox" class="button_activate" style="border: none; padding: 0; margin:0;" name="event_settings_active_' . $name . '" ' . $checked . ' /> <b>' . $event['label'][$name] . '</b></td> <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="summary_' . $name . '" ' . $summary . ' /></td> <td><input type="text" class="qem-color" name="colour_' . $name . '" value ="' . $event['colour'][$name] . '" /></td> <td><input type="text" style="padding:1px;width:3em;border: 1px solid #343838;" name="size_' . $name . '" value ="' . $event['size'][$name] . '" />%</td> <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="bold_' . $name . '" ' . $bold . ' /> Bold <input type="checkbox" style="border: none; padding: 0; margin:0;" name="italic_' . $name . '" ' . $italic . ' /> Italic</td> <td>' . $options . '</td> </tr>'; } $content .= '</tbody></table> <h2>Publication Date</h2> <p><input type="checkbox" style="border: none; padding: 0; margin:0;" name="publicationdate" value="checked" ' . $event['publicationdate'] . ' /></td><td> ' . __('Make publication date the same as the event date', 'quick-event-manager') . '</p> <input type="hidden" id="qem_settings_sort" name="sort" value="' . $event['sort'] . '" /> <p><input type="submit" name="Submit" class="button-primary" style="color: #FFF;" value="' . __('Save Changes', 'quick-event-manager') . '" /> <input type="submit" name="Reset" class="button-primary" style="color: #FFF;" value="' . __('Reset', 'quick-event-manager') . '" onclick="return window.confirm( \' ' . __('Are you sure you want to reset the display settings?', 'quick-event-manager') . '\' );"/></p>'; $content .= wp_nonce_field("save_qem"); $content .= '</form> <h2>' . __('Shortcode and Widget Field Selection', 'quick-event-manager') . '</h2> <p>' . __('If you want a custom layout for a specific list you can use the shortcode [qem fields=1,2,5].', 'quick-event-manager') . ' ' . __('On the <a href="/wp-admin/widgets.php">widget</a> just enter the field numbers seperated with commas.', 'quick-event-manager') . '<p> <p>' . __('The numbers correspond to the fields like this', 'quick-event-manager') . ': <p> <ol> <li>' . __('Short description', 'quick-event-manager') . '</li> <li>' . __('Event Time', 'quick-event-manager') . '</li> <li>' . __('Cost', 'quick-event-manager') . '</li> <li>' . __('Venue', 'quick-event-manager') . '</li> <li>' . __('Address', 'quick-event-manager') . '</li> <li>' . __('Website', 'quick-event-manager') . '</li> <li>' . __('Organiser', 'quick-event-manager') . '</li> </ol> <p>' . __('The order of the fields and other options is set using the drag and drop selectors above', 'quick-event-manager') . '</p></div>'; echo $content; }
function qem_process_form($values) { global $post; $date = get_post_meta($post->ID, 'event_date', true); $enddate = get_post_meta($post->ID, 'event_end_date', true); $content = ''; $places = get_post_meta($post->ID, 'event_number', true); $rcm = get_post_meta($post->ID, 'event_registration_message', true); $date = date_i18n("d M Y", $date); $register = qem_get_stored_register(); $auto = qem_get_stored_autoresponder(); $event = get_the_ID(); $qem_messages = get_option('qem_messages_' . $event); if (!is_array($qem_messages)) { $qem_messages = array(); } $sentdate = date_i18n('d M Y'); $newmessage = array(); $arr = array('yourname', 'youremail', 'notattend', 'yourtelephone', 'yourplaces', 'yourblank1', 'yourblank2', 'yourdropdown', 'yourselector', 'yournumber1', 'morenames'); foreach ($arr as $item) { if ($values[$item] != $register[$item]) { $newmessage[$item] = $values[$item]; } } $newmessage['sentdate'] = $sentdate; $newmessage['ipn'] = $values['ipn']; $qem_messages[] = $newmessage; update_option('qem_messages_' . $event, $qem_messages); if (empty($register['sendemail'])) { global $current_user; get_currentuserinfo(); $qem_email = $current_user->user_email; } else { $qem_email = $register['sendemail']; } $subject = $auto['subject']; if ($auto['subjecttitle']) { $subject = $subject . ' ' . get_the_title(); } if ($autor['subjectdate']) { $subject = $subject . ' ' . $date; } if (empty($subject)) { $subject = 'Event Registration'; } $notificationsubject = 'New Registration for ' . get_the_title() . ' on ' . $date; if ($register['usename']) { $content .= '<p><b>' . $register['yourname'] . ': </b>' . strip_tags(stripslashes($values['yourname'])) . '</p>'; } if ($register['usemail']) { $content .= '<p><b>' . $register['youremail'] . ': </b>' . strip_tags(stripslashes($values['youremail'])) . '</p>'; } if ($register['useattend'] && $values['notattend']) { $content .= '<p><b>' . $register['yourattend'] . ': </b></p>'; } if ($register['usetelephone']) { $content .= '<p><b>' . $register['yourtelephone'] . ': </b>' . strip_tags(stripslashes($values['yourtelephone'])) . '</p>'; } if ($register['useplaces'] && !$values['notattend']) { $content .= '<p><b>' . $register['yourplaces'] . ': </b>' . strip_tags(stripslashes($values['yourplaces'])) . '</p>'; } elseif (!$register['useplaces'] && !$values['notattend']) { $values['yourplaces'] = '1'; } else { $values['yourplaces'] = ''; } if ($register['usemorenames']) { $content .= '<p><b>' . $register['morenames'] . ': </b>' . strip_tags(stripslashes($values['morenames'])) . '</p>'; } if ($register['usemessage']) { $content .= '<p><b>' . $register['yourmessage'] . ': </b>' . strip_tags(stripslashes($values['yourmessage'])) . '</p>'; } if ($register['useblank1']) { $content .= '<p><b>' . $register['yourblank1'] . ': </b>' . strip_tags(stripslashes($values['yourblank1'])) . '</p>'; } if ($register['useblank2']) { $content .= '<p><b>' . $register['yourblank2'] . ': </b>' . strip_tags(stripslashes($values['yourblank2'])) . '</p>'; } if ($register['usedropdown']) { $arr = explode(",", $register['yourdropdown']); $content .= '<p><b>' . $arr[0] . ': </b>' . strip_tags(stripslashes($values['yourdropdown'])) . '</p>'; } if ($register['useselector']) { $arr = explode(",", $register['yourselector']); $content .= '<p><b>' . $arr[0] . ': </b>' . strip_tags(stripslashes($values['yourselector'])) . '</p>'; } if ($register['usenumber1']) { $content .= '<p><b>' . $register['usenumber1'] . ': </b>' . strip_tags(stripslashes($values['usenumber1'])) . '</p>'; } if ($auto['useeventdetails']) { if ($auto['eventdetailsblurb']) { $details .= '<h2>' . $auto['eventdetailsblurb'] . '</h2>'; } $details .= '<p>' . get_the_title() . '</p><p>' . $date; if ($enddate) { $enddate = date_i18n("d M Y", $enddate); $details .= ' - ' . $enddate; } $details .= '</p>'; $event = event_get_stored_options(); $display = event_get_stored_display(); $custom = get_post_custom(); foreach (explode(',', $event['sort']) as $name) { if ($event['active_buttons'][$name]) { $details .= qem_build_event($name, $event, $display, $custom, ''); } } } $headers = "From: {$values['yourname']} <{$values['youremail']}>\r\n" . "MIME-Version: 1.0\r\n" . "Content-Type: text/html; charset=\"utf-8\"\r\n"; $message = '<html>' . $content . '</html>'; wp_mail($qem_email, $notificationsubject, $message, $headers); if ($auto['enable'] || $values['qem-copy']) { $msg = $rcm ? $rcm : $auto['message']; $copy .= '<html>' . $msg; if ($auto['useregistrationdetails']) { if ($auto['registrationdetailsblurb']) { $copy .= '<h2>' . $auto['registrationdetailsblurb'] . '</h2>'; } $copy .= $content; } if ($auto['permalink']) { $close .= '<p><a href="' . get_permalink() . '">' . get_permalink() . '</a></p>'; } $message = $copy . $details . $close . '</html>'; $headers = "From: " . $auto['fromname'] . " <{$auto['fromemail']}>\r\n" . "MIME-Version: 1.0\r\n" . "Content-Type: text/html; charset=\"utf-8\"\r\n"; wp_mail($values['youremail'], $subject, $message, $headers); } if ($payment['paypal'] && !get_post_meta($post->ID, 'event_paypal', true) || get_post_meta($post->ID, 'event_paypal', true) == 'checked') { return 'checked'; } $redirect = get_post_meta($post->ID, 'event_redirect', true); $redirect_id = get_post_meta($post->ID, 'event_redirect_id', true); if ($redirect) { if ($redirect_id) { if (substr($redirect, -1) != '/') { $redirect = $redirect . '/'; } $id = get_the_ID(); $redirect = $redirect . "?event=" . $id; } echo "<meta http-equiv='refresh' content='0;url={$redirect}' />"; exit; } }