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 event_details_meta()
{
    global $post;
    $event = event_get_stored_options();
    $register = qem_get_stored_register();
    $payment = qem_get_stored_payment();
    $display = event_get_stored_display();
    $eventdate = get_event_field('event_date');
    if (empty($eventdate)) {
        $eventdate = time();
    }
    $date = date("d M Y", $eventdate);
    $localdate = date_i18n("d M Y", $eventdate);
    $eventenddate = get_event_field('event_end_date');
    if ($eventenddate) {
        $enddate = date("d M Y", $eventenddate);
        $localenddate = date_i18n("d M Y", $eventenddate);
    }
    if ($register['useform'] && !get_event_field("event_register")) {
        $useform = 'checked';
    } else {
        $useform = get_event_field("event_register");
    }
    $usepaypal = '';
    if ($register['paypal'] && !get_event_field('event_date') || get_event_field('event_paypal') == 'checked') {
        $usepaypal = 'checked';
    }
    $output .= '<p><em>' . __('Empty fields are not displayed', 'quick-event-manager') . ' ' . __('See the plugin', 'quick-event-manager') . ' <a href="options-general.php?page=quick-event-manager/settings.php">' . __('settings', 'quick-event-manager') . '</a> ' . __('page for options', 'quick-event-manager') . '.</em></p>
    <p>Event ID: ' . $post->ID . '</p>
    <table width="100%">
    <tr>
    <td width="20%"><label>' . __('Date', 'quick-event-manager') . ': </label></td>
    <td width="80%"><input type="text" class="qem_input" style="border:1px solid #415063;" id="qemdate" name="event_date" value="' . $date . '" /> <em>' . __('Local date', 'quick-event-manager') . ': ' . $localdate . '</em>.</td>
    <script type="text/javascript">jQuery(document).ready(function() {jQuery(\'#qemdate\').datepicker({dateFormat : \'dd M yy\'});});</script>
    </tr>
    <tr>
    <td width="20%"><label>' . __('End Date', 'quick-event-manager') . ': </label></td>
    <td width="80%"><input type="text" class="qem_input" style="border:1px solid #415063;"  id="qemenddate" name="event_end_date" value="' . $enddate . '" /> <em>' . __('Leave blank for one day events', 'quick-event-manager') . '.</em>';
    if ($eventenddate) {
        $output .= ' <em>' . __('Current end date', 'quick-event-manager') . ': ' . $localenddate . '</em>';
    }
    $output .= '</td>
    <script type="text/javascript">jQuery(document).ready(function() {jQuery(\'#qemenddate\').datepicker({dateFormat : \'dd M yy\'});});</script>
    </tr>
    <tr>
    <td width="20%"><label>' . __('Short Description', 'quick-event-manager') . ': </label></td>
    <td width="80%"><input type="text" class="qem_input" style="width:100%;border:1px solid #415063;" name="event_desc" value="' . get_event_field("event_desc") . '" />
    </td>
    </tr>
    <tr>
    <td width="20%"><label>' . __('Time', 'quick-event-manager') . '</label></td>
    <td width="80%">' . $event['start_label'] . ' <input type="text" class="qem_input" style="border:1px solid #415063;"  name="event_start" value="' . get_event_field("event_start") . '" /> ' . $event['finish_label'] . ' <input type="text" style="width:40%;overflow:hidden;border:1px solid #415063;"   name="event_finish" value="' . get_event_field("event_finish") . '" /><br>
    <span class="description">Start times in the format 8.23 am/pm, 8.23, 8:23 and 08:23 will be used to order events by time and date. All other formats will display but won\'t contribute to the event ordering.</span> 
    </td>
    </tr>';
    if ($display['usetimezone']) {
        $tz = get_event_field("selected_timezone");
        ${$tz} = 'selected';
        $output .= '<tr>
		<td width="20%"><label>' . __('Timezone', 'quick-event-manager') . ': </label></td>
		<td width="80%">';
        if (get_event_field("event_timezone")) {
            $output .= '<b>Current timezone:</b> ' . get_event_field("event_timezone") . '.&nbsp;&nbsp;';
        }
        $output .= 'Select a new timezone or enter your own:<br>
        <select style="border:1px solid #415063;" name="event_timezone" id="event_timezone">
        <option value="">None</option>
        <option ' . $Eni . ' value="Eniwetok, Kwajalein">(GMT -12:00) Eniwetok, Kwajalein</option>       
        <option ' . $Mid . ' value="Midway Island, Samoa">(GMT -11:00) Midway Island, Samoa</option>       
        <option ' . $Hwa . ' value="Hawaii">(GMT -10:00) Hawaii</option>       
        <option ' . $Ala . ' value="Alaska">(GMT -9:00) Alaska</option>       
        <option ' . $Pac . ' value="Pacific Time (US &amp; Canada)">(GMT -8:00) Pacific Time (US &amp; Canada)</option>       
        <option ' . $Mou . ' value="Mountain Time (US &amp; Canada)">(GMT -7:00) Mountain Time (US &amp; Canada)</option>       
        <option ' . $Cen . ' value="Central Time (US &amp; Canada), Mexico City">(GMT -6:00) Central Time (US &amp; Canada), Mexico City</option>       
        <option ' . $Eas . ' value="Eastern Time (US &amp; Canada), Bogota, Lima">(GMT -5:00) Eastern Time (US &amp; Canada), Bogota, Lima</option>       
        <option ' . $Atl . ' value="Atlantic Time (Canada), Caracas, La Paz">(GMT -4:00) Atlantic Time (Canada), Caracas, La Paz</option>       
        <option ' . $New . ' value="Newfoundland">(GMT -3:30) Newfoundland</option>       
        <option ' . $Bra . ' value="Brazil, Buenos Aires, Georgetown">(GMT -3:00) Brazil, Buenos Aires, Georgetown</option>       
        <option ' . $Mia . ' value="Mid-Atlantic">(GMT -2:00) Mid-Atlantic</option>       
        <option ' . $Azo . ' value="Azores, Cape Verde Islands">(GMT -1:00 hour) Azores, Cape Verde Islands</option>       
        <option ' . $Wes . ' value="Western Europe Time, London, Lisbon, Casablanca">(GMT) Western Europe Time, London, Lisbon, Casablanca</option>       
        <option ' . $Bru . ' value="Brussels, Copenhagen, Madrid, Paris">(GMT +1:00 hour) Brussels, Copenhagen, Madrid, Paris</option>       
        <option ' . $Kal . ' value="Kaliningrad, South Africa">(GMT +2:00) Kaliningrad, South Africa</option>       
        <option ' . $Bag . ' value="Baghdad, Riyadh, Moscow, St. Petersburg">(GMT +3:00) Baghdad, Riyadh, Moscow, St. Petersburg</option>       
        <option ' . $Teh . ' value="Tehran">(GMT +3:30) Tehran</option>       
        <option ' . $Abu . ' value="Abu Dhabi, Muscat, Baku, Tbilisi">(GMT +4:00) Abu Dhabi, Muscat, Baku, Tbilisi</option>       
        <option ' . $Kab . ' value="Kabul">(GMT +4:30) Kabul</option>       
        <option ' . $Eka . ' value="Ekaterinburg, Islamabad, Karachi, Tashkent">(GMT +5:00) Ekaterinburg, Islamabad, Karachi, Tashkent</option>       
        <option ' . $Bom . ' value="Bombay, Calcutta, Madras, New Delhi">(GMT +5:30) Bombay, Calcutta, Madras, New Delhi</option>       
        <option ' . $Kat . ' value="Kathmandu">(GMT +5:45) Kathmandu</option>       
        <option ' . $Alm . ' value="Almaty, Dhaka, Colombo">(GMT +6:00) Almaty, Dhaka, Colombo</option>       
        <option ' . $Ban . ' value="Bangkok, Hanoi, Jakarta">(GMT +7:00) Bangkok, Hanoi, Jakarta</option>       
        <option ' . $Bei . ' value="Beijing, Perth, Singapore, Hong Kong">(GMT +8:00) Beijing, Perth, Singapore, Hong Kong</option>       
        <option ' . $Tok . ' value="Tokyo, Seoul, Osaka, Sapporo, Yakutsk">(GMT +9:00) Tokyo, Seoul, Osaka, Sapporo, Yakutsk</option>       
        <option ' . $Ade . ' value="Adelaide, Darwin">(GMT +9:30) Adelaide, Darwin</option>       
        <option ' . $Aus . ' value="Eastern Australia, Guam, Vladivostok">(GMT +10:00) Eastern Australia, Guam, Vladivostok</option>       
        <option ' . $Mag . ' value="Magadan, Solomon Islands, New Caledonia">(GMT +11:00) Magadan, Solomon Islands, New Caledonia</option>       
        <option ' . $Auk . ' value="Auckland, Wellington, Fiji, Kamchatka">(GMT +12:00) Auckland, Wellington, Fiji, Kamchatka</option> 
        </select>
        <br><span class="description">The option to display timezones is set on the <a href="options-general.php?page=quick-event-manager/settings.php&tab=display">Event Display</a> page.</span>
    </td>
    </tr>';
    }
    $output .= '
    <tr>
    <td width="20%"><label>' . __('Venue', 'quick-event-manager') . ': </label></td>
    <td width="80%"><input type="text" class="qem_input" style="width:100%;border:1px solid #415063;"  name="event_location" value="' . get_event_field("event_location") . '" /></td>
    </tr>
    <tr>
    <td width="20%"><label>' . __('Address', 'quick-event-manager') . ': </label></td>
    <td width="80%"><input type="text" class="qem_input" style="width:100%;border:1px solid #415063;"  name="event_address" value="' . get_event_field("event_address") . '" /></td>
    </tr>
    <tr>
    <td width="20%"><label>' . __('Website', 'quick-event-manager') . ': </label></td>
    <td width="80%"><input type="text" class="qem_input" style="border:1px solid #415063;"  name="event_link" value="' . get_event_field("event_link") . '" /><label> ' . __('Display As', 'quick-event-manager') . ': </label><input type="text" style="width:40%;overflow:hidden;border:1px solid #415063;"  name="event_anchor" value="' . get_event_field("event_anchor") . '" /></td>
    </tr>
    <tr>
    <td width="20%"><label>' . __('Cost', 'quick-event-manager') . ': </label></td>
    <td width="80%"><input type="text" class="qem_input" style="width:100%;border:1px solid #415063;" name="event_cost" value="' . get_event_field("event_cost") . '" /></td>
    </tr>
    <tr>
    <td width="20%"><label>' . __('Organiser', 'quick-event-manager') . ': </label></td>
    <td width="80%"><input type="text" class="qem_input" style="width:100%;border:1px solid #415063;" name="event_organiser" value="' . get_event_field("event_organiser") . '" /></td>
    </tr>
    <tr>
    <td width="20%"><label>' . __('Organiser Contact Details', 'quick-event-manager') . ': </label></td>
    <td width="80%"><input type="text" class="qem_input" style="width:100%;border:1px solid #415063;" name="event_telephone" value="' . get_event_field("event_telephone") . '" /></td>
    </tr>
    <tr>
    <td width="20%"><label>' . __('Registration Form', 'quick-event-manager') . ': </label></td>
    <td width="80%"><input type="checkbox" style="" name="event_register" value="checked" ' . $useform . '> Add registration form to this event. <a href="options-general.php?page=quick-event-manager/settings.php&tab=register">Registration form settings</a><br>
    <span class="description">If you are using the <a href="options-general.php?page=quick-event-manager/settings.php&tab=auto">autoresponder</a> you can create a reply message for this event. See the \'Registration Confirmation Message\' at the bottom of this page.</span></td>
</tr>
<tr>
<td width="20%"><label>' . __('Redirect to a URL after registration', 'quick-event-manager') . ': </label></td>
<td width="80%"><input type="text" class="qem_input" style="border:1px solid #415063;" name="event_redirect" value="' . get_event_field("event_redirect") . '" /><br>
    <input type="checkbox" style="" name="event_redirect_id" value="checked" ' . get_event_field("event_redirect_id") . ' /> Add event ID to redirect URL<td>
    </tr>
    <tr>
    <td width="20%"><label>' . __('Event Counter', 'quick-event-manager') . ': </label></td>
    <td><input type="checkbox" style="" name="event_counter" value="checked" ' . get_event_field("event_counter") . '> Add an attendee counter to this form. Number of places available: <input type="text" class="qem_input" style="width:3em;border:1px solid #415063;" name="event_number" value="' . get_event_field("event_number") . '" /></td>
    </tr>
    <tr>
    <td width="20%"><label>' . __('Payment', 'quick-event-manager') . ': </label></td>
<td><input type="checkbox" name="event_paypal" value="checked" ' . $usepaypal . ' /> Link to paypal after registration. <a href="options-general.php?page=quick-event-manager/settings.php&tab=payment">Payment settings</a>.</td>
    </tr>
    <tr>
    <td width="20%"><label>' . __('Hide Event', 'quick-event-manager') . ': </label></td>
    <td width="80%"><input type="checkbox" style="" name="hide_event" value="checked" ' . get_event_field("hide_event") . '> Hide this event in the event list (only display on the calendar).</td>
    </tr>
    <tr>
    <td width="20%"><label>' . __('Event Image', 'quick-event-manager') . ': </label></td>
    <td><input id="event_image" type="text" class="qem_input" style="border:1px solid #415063;" name="event_image" value="' . get_event_field("event_image") . '" />&nbsp;
    <input id="upload_event_image" class="button" type="button" value="Upload Image" /></td>
    </tr>';
    if (get_event_field("event_image")) {
        $output .= '<tr>
    <td></td>
    <td><img class="qem-image" src=' . get_event_field("event_image") . '></td>
    </tr>';
    }
    $output .= '<tr>
    <td style="vertical-align:top"><label>' . __('Repeat Event', 'quick-event-manager') . ': </label></td>
    <td><span style="color:red;font-weight:bold;">Warning:</span> Only use once or you will get lots of duplicated events<br />
    <input style="margin:0; padding:0; border:none" type="radio" name="event_repeat" value="repeatweekly" /> ' . __('Weekly', 'quick-event-manager') . '<br />
	<input style="margin:0; padding:0; border:none" type="radio" name="event_repeat" value="repeatmonthly" /> ' . __('Monthly', 'quick-event-manager') . '<br>
    Number of repetitions: <input type="text" class="qem_input" style="width:3em;border:1px solid #415063;" name="repeatnumber" value="12" /> (maximum 52)</td>
    </tr>';
    $event = get_the_ID();
    $title = get_the_title();
    $whoscoming = get_option('qem_messages_' . $event);
    if ($whoscoming) {
        foreach ($whoscoming as $item) {
            $event_names .= $item['yourname'] . ', ';
        }
        $event_names = substr($event_names, 0, -2);
        $output .= '<tr>
        <td>Attendees (names and emails collected from the <a href="options-general.php?page=quick-event-manager/settings.php&tab=register">registration form</a>)</td>
        <td><input type="text" class="qem_input" style="width:100%;border:1px solid #415063;" name="event_names" value="' . $event_names . '" /></td>
        </tr>
        <tr>
        <td></td>
        <td><a href="admin.php?page=quick-event-manager/quick-event-messages.php&event=' . $event . '&title=' . $title . '">View Full Registration Details</a></td>
        <tr>';
    }
    $output .= '</table>';
    $output .= wp_nonce_field('qem_nonce', 'save_qem');
    echo $output;
}
예제 #3
0
function qem_display_page()
{
    if (isset($_POST['Submit']) && check_admin_referer("save_qem")) {
        $option = array('show_end_date', 'read_more', 'noevent', 'event_archive', 'event_descending', 'external_link', 'external_link_target', 'linkpopup', 'recentposts', 'event_image', 'back_to_list', 'back_to_list_caption', 'back_to_url', 'map_width', 'map_height', 'map_in_list', 'map_and_image', 'map_and_image_size', 'map_target', 'event_image_width', 'image_width', 'combined', 'monthheading', 'useics', 'uselistics', 'useicsbutton', 'usetimezone', 'timezonebefore', 'timezoneafter', 'amalgamated', 'vertical', 'norepeat', 'monthtype', 'categorylocation', 'showcategory', 'readmorelink', 'titlelink');
        foreach ($option as $item) {
            $display[$item] = stripslashes($_POST[$item]);
            $display[$item] = filter_var($display[$item], FILTER_SANITIZE_STRING);
        }
        update_option('qem_display', $display);
        qem_create_css_file('update');
        qem_admin_notice(__('The display settings have been updated', 'quick-event-manager'));
    }
    if (isset($_POST['Reset']) && check_admin_referer("save_qem")) {
        delete_option('qem_display');
        qem_create_css_file('update');
        qem_admin_notice(__('The display settings have been reset', 'quick-event-manager'));
    }
    $short = $full = $title = $date = '';
    $display = event_get_stored_display();
    ${$display}['event_order'] = 'checked';
    ${$display}['show_end_date'] = 'checked';
    ${$display}['localization'] = 'selected';
    ${$display}['monthtype'] = 'checked';
    ${$display}['categorylocation'] = 'checked';
    if ($display['event_archive'] == "checked") {
        $archive = "checked";
    }
    $content = '<style>' . qem_generate_css() . '</style>
    <div class="qem-settings">
    <div class="qem-options">
    <form id="event_settings_form" method="post" action="">	
    <table>
    <tr>
    <td colspan="2"><h2>' . __('End Date Display', 'quick-event-manager') . '</h2></td>
    </tr>
    <tr>
    <td width="5%"><input type="checkbox" style="border: none; padding: 0; margin:0;" name="show_end_date" value="checked" ' . $display['show_end_date'] . ' /></td><td width="95%"> ' . __('Show end date in event list', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="combined" value="checked" ' . $display['combined'] . ' /></td><td> ' . __('Combine Start and End dates into one box', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="amalgamated" value="checked" ' . $display['amalgamated'] . ' /></td><td> ' . __('Show combined Start and End dates if in the same month', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="norepeat" value="checked" ' . $display['norepeat'] . ' /></td><td> ' . __('Only show icon on first event if more than one event on that day', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="vertical" value="checked" ' . $display['vertical'] . ' /></td><td> ' . __('Show start and end dates above one another', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td colspan="2"><h2>' . __('Event Messages', 'quick-event-manager') . '</h2></td>
    </tr>
    <tr>
    <td colspan="2">' . __('Read more caption', 'quick-event-manager') . ': <input type="text" style="width:20em;" label="read_more" name="read_more" value="' . $display['read_more'] . '" /></td>
    </tr>
    <tr>
    <td colspan="2">' . __('No events message', 'quick-event-manager') . ': <input type="text" style="width:20em;" label="noevent" name="noevent" value="' . $display['noevent'] . '" /></td>
    </tr>
    <tr>
    <td colspan="2"><h2>' . __('Event List Options', 'quick-event-manager') . '</h2></td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="event_descending" value="checked" ' . $display['event_descending'] . ' /></td>
    <td> ' . __('List events in reverse order (from future to past)', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="event_archive" value="checked" ' . $display['event_archive'] . ' /></td>
    <td> ' . __('Show past events in the events list', 'quick-event-manager') . '<br><span class="description">' . __('If you only want to display past events use the shortcode: [qem id="archive"]', 'quick-event-manager') . '.</span></td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="monthheading" value="checked" ' . $display['monthheading'] . ' /></td>
    <td> ' . __('Split the list into month/year sections', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td></td>
    <td><input type="radio" name="monthtype" value="short" ' . $short . ' /> ' . __('Short (Aug)', 'quick-event-manager') . ' <input type="radio" name="monthtype" value="full" ' . $full . ' /> ' . __('Full (August)', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td><input type="checkbox" name="recentposts"' . $display['recentposts'] . ' value="checked" /></td>
    <td>' . __('Show events in recent posts list', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="showcategory" value="checked" ' . $display['showcategory'] . ' /></td>
    <td> ' . __('Show category', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td></td>
    <td><input type="radio" name="categorylocation" value="title" ' . $title . ' /> ' . __('Next to title', 'quick-event-manager') . ' <input type="radio" name="categorylocation" value="date" ' . $date . ' /> ' . __('Next to date (if no icon styling)', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td></td>
    <td>Add an Event Category key to your list using the settings on the <a href="?page=quick-event-manager/settings.php&tab=styles">Event Styling</a> page.</td>
    </tr>
    <tr>
    <td colspan="2"><h2>Download to Calendar</h2>
    <p>Download event as a calender file.</p></td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="useics" value="checked" ' . $display['useics'] . ' /></td>
    <td> ' . __('Add download button to event', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="uselistics" value="checked" ' . $display['uselistics'] . ' /></td>
    <td> ' . __('Add download button to event list', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td></td>
    <td>' . __('Button text:', 'quick-event-manager') . ' <input type="text" style="width:50%;" label="useicsbutton" name="useicsbutton" value="' . $display['useicsbutton'] . '" /></td>
    </tr>
    <tr>
    <td colspan="2"><h2>Event Linking Options</h2></td>
    </tr>
<tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="external_link" value="checked" ' . $display['external_link'] . ' /></td>
    <td> ' . __('Link to external website from event list', 'quick-event-manager') . '</td>
    </tr>
<tr>
    <td><input type="checkbox" name="external_link_target"' . $display['external_link_target'] . ' value="checked" /></td>
    <td>' . __('Open external links in new tab/page', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td><input type="checkbox" name="linkpopup"' . $display['linkpopup'] . ' value="checked" /></td>
    <td>' . __('Open event in lightbox', 'quick-event-manager') . ' (' . __('Warning: doesn\'t always behave as expected on small screens', 'quick-event-manager') . ').</td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="titlelink" value="checked" ' . $display['titlelink'] . ' /></td>
    <td> ' . __('Remove link from event title and event image', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="readmorelink" value="checked" ' . $display['readmorelink'] . ' /></td>
    <td> ' . __('Hide Read More link', 'quick-event-manager') . '</td>
    </tr>
<tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="back_to_list" value="checked" ' . $display['back_to_list'] . ' /></td>
    <td> ' . __('Add a link to events to go back to the event list', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td></td>
    <td>' . __('Enter URL to link to a specific page. Leave blank to just go back one page', 'quick-event-manager') . ':<br>
    <input type="text" style="" label="back_to_url" name="back_to_url" value="' . $display['back_to_url'] . '" /></td>
    </tr>
    <tr>
    <td></td>
    <td>' . __('Link caption', 'quick-event-manager') . ': <input type="text" style="width:50%;" label="back_to_list_caption" name="back_to_list_caption" value="' . $display['back_to_list_caption'] . '" /></td>
    </tr>
    <tr>
    <td colspan="2"><h2>' . __('Maps and Images', 'quick-event-manager') . '</h2><td>
    </tr>
    <tr>
    <td colspan="2">' . __('The map will only display if you have a valid address and the &#146;show map&#146; checkbox is ticked on the <a href="?page=quick-event-manager/settings.php&tab=settings">Event Settings</a> page. If you add an image to the event it will replace the map unless you use the option to display both.', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td colspan="2">' . __('Map Width', 'quick-event-manager') . ': <input type="text" style=" width:3em; padding: 1px; margin:0;" name="map_width" . value ="' . $display['map_width'] . '" /> px&nbsp;&nbsp;' . __('Map Height', 'quick-event-manager') . ': <input type="text" style=" width:3em; padding: 1px; margin:0;" name="map_height" . value ="' . $display['map_height'] . '" /> px</td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="map_in_list" value="checked" ' . $display['map_in_list'] . ' /></td>
    <td>' . __('Show map in event list', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="map_target" value="checked" ' . $display['map_target'] . ' /></td>
    <td>' . __('Open map in new tab/window', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td colspan="2">' . __('Event Image Max Width', 'quick-event-manager') . ': <input type="text" style=" width:3em; padding: 1px; margin:0;" name="event_image_width" . value ="' . $display['event_image_width'] . '" /> px</td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="event_image" value="checked" ' . $display['event_image'] . ' /></td>
    <td>' . __('Show event image in event list', 'quick-event-manager') . '.&nbsp;&nbsp;' . __('Max Width', 'quick-event-manager') . ': <input type="text" style=" width:3em; padding: 1px; margin:0;" name="image_width" . value ="' . $display['image_width'] . '" /> px</td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="map_and_image" value="checked" ' . $display['map_and_image'] . ' /></td>
    <td>' . __('Show event map and image', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td><input type="checkbox" style="border: none; padding: 0; margin:0;" name="map_and_image_size" value="checked" ' . $display['map_and_image_size'] . ' /></td>
    <td>' . __('Make image the same width as the map', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td colspan="2"><h2>' . __('Timezones', 'quick-event-manager') . '</h2></td>
    </tr>
    <tr>
    <td><input type="checkbox" name="usetimezone"' . $display['usetimezone'] . ' value="checked" /></td>
    <td>' . __('Show timeszones on your events', 'quick-event-manager') . '</td>
    </tr>
    <tr>
    <td colspan="2"><input type="text" style="width:40%;" name="timezonebefore" value="' . $display['timezonebefore'] . '" /> {timezone} <input type="text" style="width:40%;" name="timezoneafter" value="' . $display['timezoneafter'] . '" /><br>
    <span class="description">' . __('This doesn\'t change the time of the event, it just shows the name of the local timeszone. Set the event timezone in the event editor.', 'quick-event-manager') . '</span></td>
    </tr>
    <tr>
    <td colspan="2"><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') . '\' );"/></td>
    </tr>
    </table>';
    $content .= wp_nonce_field("save_qem");
    $content .= '</form>
    </div>
    <div class="qem-options" style="float:right">
    <h2>' . __('Event List Preview', 'quick-event-manager') . '</h2>';
    $atts = array('posts' => '3');
    $content .= qem_event_shortcode($atts, '');
    $content .= '</div></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;
    }
}