function mc_submit_form($fields, $categories, $locations, $category, $location, $location_fields) { $fields = apply_filters('mcs_submit_fields', $fields); $location_fields = apply_filters('mcs_submit_location_fields', $location_fields); // the big function. This creates the form. wp_enqueue_script('pickadate', plugins_url('my-calendar/js/pickadate/picker.js')); wp_enqueue_script('pickadate.date', plugins_url('my-calendar/js/pickadate/picker.date.js')); wp_enqueue_script('pickadate.time', plugins_url('my-calendar/js/pickadate/picker.time.js')); wp_localize_script('pickadate.date', 'mc_months', array(date_i18n('F', strtotime('January 1')), date_i18n('F', strtotime('February 1')), date_i18n('F', strtotime('March 1')), date_i18n('F', strtotime('April 1')), date_i18n('F', strtotime('May 1')), date_i18n('F', strtotime('June 1')), date_i18n('F', strtotime('July 1')), date_i18n('F', strtotime('August 1')), date_i18n('F', strtotime('September 1')), date_i18n('F', strtotime('October 1')), date_i18n('F', strtotime('November 1')), date_i18n('F', strtotime('December 1')))); wp_localize_script('pickadate.date', 'mc_days', array(date_i18n('D', strtotime('Sunday')), date_i18n('D', strtotime('Monday')), date_i18n('D', strtotime('Tuesday')), date_i18n('D', strtotime('Wednesday')), date_i18n('D', strtotime('Thursday')), date_i18n('D', strtotime('Friday')), date_i18n('D', strtotime('Saturday')))); wp_register_script('mcs-submit-form', plugins_url('/js/jquery.mcs-submit.js', __FILE__), array('jquery')); wp_enqueue_script('mcs-submit-form'); $format = get_option('mcs_date_format'); switch ($format) { case "m/d/Y": $js_format = 'mm/dd/yyyy'; break; case "d-m-Y": $js_format = 'dd-mm-yyyy'; break; case "Y-m-d": $js_format = 'yy-mm-dd'; break; case "j F Y": $js_format = 'd mmmm yyyy'; break; case "M j, Y": $js_format = 'mmm d, yyyy'; break; default: $js_format = 'yy-mm-dd'; } $time = get_option('mcs_time_format'); switch ($time) { case "H:i": $js_time_format = 'HH:i'; break; default: $js_time_format = 'h:i a'; } $script = "\n<script>\n(function (\$) {\n\t\$(function() {\n\t\t\$( 'input.mc-date' ).pickadate({\n\t\t\tmonthsFull: mc_months,\n\t\t\tformat: '{$js_format}',\n\t\t\tweekdaysShort: mc_days,\n\t\t\tselectYears: true,\n\t\t\tselectMonths: true,\n\t\t\teditable: true\n\t\t});\n\t\t\$( 'input.mc-time' ).pickatime({\n\t\t\tinterval: 15,\n\t\t\tformat: '{$js_time_format}',\n\t\t\teditable: true\t\t\n\t\t});\n\t})\n})(jQuery);\n</script>"; global $user_ID; if (is_user_logged_in()) { $auth = $user_ID; } else { $auth = 0; } $nonce = "<input type='hidden' name='event_nonce_name' value='" . wp_create_nonce('event_nonce') . "' />"; $response = mcs_processor_response(); $event = false; if (empty($response[1]) && isset($_GET['mcs_id']) && is_user_logged_in()) { $mc_id = intval($_GET['mcs_id']); $event = mc_form_data($mc_id); if (!mc_can_edit_event($event->event_id)) { $event = false; } } if (isset($_GET['mcs_id']) && !is_user_logged_in()) { $message = "<div class='updated'><p>" . __("You'll need to log-in to edit this event.", 'my-calendar-submissions') . "</p></div>"; } else { $message = ''; } $data = !empty($response[1]) ? $response[1] : $event; $has_data = empty($data) ? false : true; $title = !empty($data) ? esc_attr($data->event_title) : ''; $desc = !empty($data) ? esc_attr($data->event_desc) : ''; $tickets = !empty($data) ? esc_attr($data->event_tickets) : ''; $registration = !empty($data) ? esc_attr($data->event_registration) : ''; $begin = !empty($data) ? esc_attr($data->event_begin) : ''; $format = date(get_option('mcs_date_format'), current_time('timestamp')); $format2 = date(get_option('mcs_time_format'), current_time('timestamp')); $endformat2 = date(get_option('mcs_time_format'), current_time('timestamp') + 3600); $end = !empty($data) ? esc_attr($data->event_end) : ''; $time = !empty($data) ? esc_attr($data->event_time) : $format2; $endtime = !empty($data) ? esc_attr($data->event_endtime) : $endformat2; $recur = !empty($data) ? esc_attr($data->event_recur) : 'S'; $recurs = str_split($recur, 1); $recur = $recurs[0]; $every = isset($recurs[1]) ? $recurs[1] : 1; if ($every == 1 && $recur == 'B') { $every = 2; } $repeats = !empty($data) ? esc_attr($data->event_repeats) : 0; $selected_category = !empty($data) ? esc_attr($data->event_category) : $category; $event_host = !empty($data) ? esc_attr($data->event_host) : $user_ID; $link = !empty($data) ? esc_attr($data->event_link) : ''; $label = !empty($data) ? esc_attr($data->event_label) : ''; $street = !empty($data) ? esc_attr($data->event_street) : ''; $street2 = !empty($data) ? esc_attr($data->event_street2) : ''; $city = !empty($data) ? esc_attr($data->event_city) : ''; $state = !empty($data) ? esc_attr($data->event_state) : ''; $postcode = !empty($data) ? esc_attr($data->event_postcode) : ''; $country = !empty($data) ? esc_attr($data->event_country) : ''; $region = !empty($data) ? esc_attr($data->event_region) : ''; $url = !empty($data) ? esc_attr($data->event_url) : ''; $longitude = !empty($data) ? esc_attr($data->event_longitude) : ''; $latitude = !empty($data) ? esc_attr($data->event_latitude) : ''; $phone = !empty($data) ? esc_attr($data->event_phone) : ''; $short = !empty($data) ? esc_attr($data->event_short) : ''; $image = !empty($data) ? esc_attr($data->event_image) : ''; $name = isset($_POST['event_name']) ? esc_attr($_POST['event_name']) : ''; $email = isset($_POST['event_email']) ? esc_attr($_POST['event_email']) : ''; $key = isset($_POST['event_key']) ? esc_attr($_POST['event_key']) : ''; $key = isset($_GET['event_key']) ? esc_attr($_GET['event_key']) : ''; if ($event) { $link_expires = $event->event_link_expires; $event_holiday = $event->event_holiday; $event_fifth_week = $event->event_fifth_week; $edit = "<input type='hidden' name='event_edit' value='{$mc_id}' />"; $edit .= "\n\t\t\t<input type='hidden' name='prev_event_begin' value='{$begin}' />\n\t\t\t<input type='hidden' name='prev_event_repeats' value='{$repeats}' />\n\t\t\t<input type='hidden' name='prev_event_recur' value='{$recur}' />\n\t\t\t<input type='hidden' name='prev_event_status' value='{$event->event_approved}' />\n\t\t\t<input type='hidden' name='event_post' value='{$event->event_post}' />"; } else { $link_expires = get_option('mc_event_link_expires') == 'false' ? 1 : 0; $event_holiday = get_option('mc_skip_holidays') == 'true' ? 'on' : 'false'; $event_fifth_week = get_option('mc_no_fifth_week') == 'true' ? 1 : ''; $edit = ''; } $selected_location = array('label' => $label, 'street' => $street, 'street2' => $street2, 'city' => $city, 'state' => $state, 'postcode' => $postcode, 'country' => $country, 'region' => $region, 'url' => $url, 'longitude' => $longitude, 'latitude' => $latitude, 'phone' => $phone); $payment_form = mcs_payment_required() ? mcs_payment_form() : ''; $check_conflicts = get_option('mcs_check_conflicts') == 'true' ? '<input type="hidden" name="mcs_check_conflicts" value="true" />' : ''; $approved = get_option('mcs_automatic_approval') == 'true' || current_user_can('mc_manage_events') ? 1 : 0; // need to set hidden inputs to default values. $enctype = get_option('mcs_upload_images') == 'true' ? ' enctype="multipart/form-data"' : ''; $return = "{$script}\n\t<div class='mc-submissions'>\n\t\t{$message}\n\t\t{$response['0']}\n\t\t{$payment_form}\n\t\t<form action='' method='post' class='mcs-submission'{$enctype}>\n\t\t<div>\n\t\t{$nonce}\n\t\t<input type='hidden' name='mcs_submission' value='on' />\n\t\t<input type='hidden' name='event_approved' value='{$approved}' /> \n\t\t<input type='hidden' name='event_author' value='{$auth}' />\n\t\t<input type='hidden' name='event_link_expires' value='" . $link_expires . "' />\n\t\t<input type='hidden' name='event_holiday' value='" . $event_holiday . "' />\n\t\t<input type='hidden' name='event_fifth_week' value='" . $event_fifth_week . "' />\n\t\t<input type='hidden' name='event_group_id' value='" . mc_group_id() . "' />\n\t\t<div style='display: none;'>\n\t\t\t<label for='your_name'>" . __('Do not complete this field.', 'my-calendar-submissions') . "</label>\n\t\t\t<input type='text' name='your_name' id='your_name' value='' />\n\t\t</div>\n\t\t{$edit}"; if (apply_filters('mcs_event_allday', 0) == true) { $return .= "<input type='hidden' name='event_allday' value='1' />"; } if (apply_filters('mcs_event_hide_end', 0) == true) { $return .= "<input type='hidden' name='event_hide_end' value='1' />"; } $return .= "{$check_conflicts}\n\t\t</div>"; if (mcs_payment_required()) { $return .= "<p><label for='mcs_key'>" . __('Payment Key', 'my-calendar-submissions') . ' <span>' . __('(required)', 'my-calendar-submissions') . "</span></label> <input type='text' name='mcs_key' id='mcs_key' value='{$key}' required='required' aria-required='true' /></p>"; } $flabel = isset($fields['event_title']) ? $fields['event_title'] : __('Event Title', 'my-calendar-submissions'); $dlabel = isset($fields['event_date']) ? $fields['event_date'] : __('Date', 'my-calendar-submissions'); $tlabel = isset($fields['event_time']) ? $fields['event_time'] : __('Time', 'my-calendar-submissions'); $return .= "\n\t\t<p>\n\t\t<label for='mc_event_title'>{$flabel} <span>" . __('(required)', 'my-calendar-submissions') . "</span></label> <input type='text' name='event_title' id='mc_event_title' value='{$title}' required='required' aria-required='true' />\n\t\t</p>\n\t\t<div class='mc_begin_container'>\n\t\t<p>\n\t\t<label for='mc_event_date'>{$dlabel} <span>" . __('(required)', 'my-calendar-submissions') . "</span></label> <input type='text' class='mc-date' name='event_begin[]' id='mc_event_date' value='{$begin}' required='required' aria-required='true' />\n\t\t</p>\n\t\t<p>\n\t\t<label for='mc_event_time'>{$tlabel}</label> <input type='time' name='event_time[]' id='mc_event_time' class='mc-time' value='{$time}' />\n\t\t</p>\n\t\t</div>"; if (isset($fields['end_date']) || isset($fields['end_time'])) { $return .= "<div class='mc_end_container'>"; } if (isset($fields['end_date'])) { $flabel = $fields['end_date'] != 'true' && $fields['end_date'] != 'End date' ? $fields['end_date'] : __('End date', 'my-calendar-submissions'); $return .= "<p>\n\t\t\t<label for='mc_event_enddate'>{$flabel}</label> <input type='text' class='mc-date' name='event_end[]' id='mc_event_enddate' value='{$end}' />\n\t\t\t</p>"; } else { $return .= "<input type='hidden' name='event_end[]' value='' />"; } if (isset($fields['end_time'])) { $flabel = $fields['end_time'] != 'true' && $fields['end_time'] != 'End time' ? $fields['end_time'] : __('End time', 'my-calendar-submissions'); $return .= "<p>\n\t\t\t<label for='mc_event_endtime'>{$flabel}</label> <input type='time' name='event_endtime[]' id='mc_event_endtime' class='mc-time' value='{$endtime}'/>\n\t\t\t</p>"; } if (isset($fields['end_date']) || isset($fields['end_time'])) { $return .= "</div>"; } if (is_user_logged_in()) { $current_user = wp_get_current_user(); $name = $current_user->display_name; $email = $current_user->user_email; } $disallow_user_changes = apply_filters('mcs_disallow_user_changes', false); $required = apply_filters('mcs_require_name_and_email', 'required="required"'); if ($disallow_user_changes && is_user_logged_in()) { $return .= "<input name='mcs_name' value='{$name}' type='hidden' /><input name='mcs_email' value='{$email}' type='hidden' />"; } else { $flabel = isset($fields['mcs_name']) && $fields['mcs_name'] != 'true' && $fields['mcs_name'] != 'Your Name' ? $fields['mcs_name'] : __('Your Name', 'my-calendar-submissions'); $return .= "<p>\n\t\t\t\t<label for='mcs_name'>{$flabel}</label> <input type='text' name='mcs_name' id='mcs_name' value='{$name}' {$required} />\n\t\t\t\t</p>"; $flabel = isset($fields['mcs_email']) && $fields['mcs_email'] != 'true' && $fields['mcs_email'] != 'Your Email' ? $fields['mcs_email'] : __('Your Email', 'my-calendar-submissions'); $return .= "<p>\n\t\t\t\t<label for='mcs_email'>{$flabel}</label> <input type='email' name='mcs_email' id='mcs_email' value='{$email}' {$required} />\n\t\t\t\t</p>"; } if (isset($fields['event_host'])) { $host_select = '<select id="e_host" name="event_host">'; // Grab all the users and list them $users = my_calendar_getUsers(); $num = 0; foreach ($users as $u) { $display_name = $u->display_name == '' ? $u->user_nicename : $u->display_name; if ($event_host == $u->ID) { $selected = ' selected="selected"'; } else { $selected = ''; } if (user_can($u->ID, apply_filters('mcs_eligible_hosts', 'mc_add_events'))) { $host_select .= "<option value='{$u->ID}'{$selected}>{$display_name}</option>\n"; $num++; $single_host = $u->ID; } } $host_select .= '</select>'; $flabel = isset($fields['event_host']) && $fields['event_host'] != 'true' && $fields['event_host'] != 'Event Host' ? $fields['event_host'] : __('Event Host', 'my-calendar-submissions'); if ($num <= 1) { $return .= "<input type='hidden' name='event_host' value='{$single_host}' />"; } else { $return .= "\n\t\t\t\t<p class='event_host'>\n\t\t\t\t\t<label for='e_host'>" . $flabel . "</label>\n\t\t\t\t\t{$host_select}\n\t\t\t\t</p>"; } } if (isset($fields['event_recurring'])) { $return .= "\n\t\t\t<p class='recurring'>\n\t\t\t<label for='event_repeats'>" . __('Repeats', 'my-calendar-submissions') . "</label> <input type='number' name='event_repeats' id='event_repeats' class='input' size='1' min='0' max='999' value='{$repeats}' /> \n\t\t\t<label for='event_every'>" . __('every', 'my-calendar') . "</label> <input type='number' name='event_every' id='event_every' class='input' size='1' min='1' max='9' maxlength='1' value='{$every}' /> \n\t\t\t<label for='event_recur' class='screen-reader-text'>" . __('Units', 'my-calendar-submissions') . "</label> <select name='event_recur' class='input' id='event_recur'>" . mc_recur_options($recur) . "\n\t\t\t</select> \n\t\t\t</p>"; // event_repeats, event_recur } else { $return .= "<div>\n\t\t\t\t\t<input type='hidden' name='event_repeats' value='0' />\n\t\t\t\t\t<input type='hidden' name='event_recur' value='S' />\n\t\t\t\t\t<input type='hidden' name='event_every' value='1' />\n\t\t\t\t\t</div>"; } // event_open, event_group if (isset($fields['description'])) { $flabel = $fields['description'] != 'true' && !($fields['description'] == 'Description' || $fields['description'] == 'Event Description') ? $fields['description'] : __('Description', 'my-calendar-submissions'); $return .= "<p><label for='mc_event_description'>{$flabel}</label> <textarea name='content' id='mc_event_description' class='full_description'>{$desc}</textarea></p>"; } if (isset($fields['short_description'])) { $flabel = $fields['short_description'] != 'true' && !($fields['short_description'] == 'Summary' || $fields['short_description'] == 'Short Description') ? $fields['short_description'] : __('Summary', 'my-calendar-submissions'); $return .= "<p><label for='mc_event_short_description'>{$flabel}</label> <textarea name='event_short' id='mc_event_short_description' class='short_description'>{$short}</textarea></p>"; } $return .= apply_filters('mc_event_details', '', $has_data, $data, 'public'); if (isset($fields['access']) && function_exists('mc_event_accessibility')) { $flabel = $fields['access'] != 'true' && $fields['access'] != 'Event Access' ? $fields['access'] : __('Event Access', 'my-calendar-submissions'); $return .= mc_event_accessibility('', $data, $flabel); } if (isset($fields['event_link'])) { $flabel = $fields['event_link'] != 'true' && !($fields['event_link'] == 'Link' || $fields['event_link'] == 'Event Link') ? $fields['event_link'] : __('Link', 'my-calendar-submissions'); $return .= "<p>\n\t\t\t\t<label for='mc_event_link'>{$flabel}</label> <input type='url' name='event_link' id='mc_event_link' value='{$link}' placeholder='http://' />\n\t\t\t\t</p>"; } if (isset($fields['event_image'])) { $flabel = $fields['event_image'] != 'true' && !($fields['event_image'] == 'Image (URL)' || $fields['event_image'] == 'Event image') ? $fields['event_image'] : __('Image (URL)', 'my-calendar-submissions'); if (get_option('mcs_upload_images') == 'true' && $image == '') { $input_type = 'file'; } else { $input_type = 'url'; } $return .= "<p>\n\t\t\t\t<label for='mc_event_image'>{$flabel}</label> <input type='{$input_type}' name='event_image' id='mc_event_image' value='{$image}' />\n\t\t\t\t</p>"; } $return .= mcs_submit_category($selected_category, $categories); if (isset($fields['registration'])) { $flabel = $fields['registration'] != 'true' && $fields['registration'] != 'Ticketing Information' ? $fields['registration'] : __('Ticketing Information', 'my-calendar-submissions'); $return .= "<fieldset>\n\t\t\t<legend>{$flabel}</legend>"; $return .= apply_filters('mc_event_registration', '', $has_data, $data, 'public'); $return .= "</fieldset>"; } $return .= mcs_submit_location($location, $locations, $location_fields, $selected_location); $return .= "<p><input type='submit' name='save' value='" . __('Submit your event', 'my-calendar-submissions') . "' /></p>"; $return .= "\n\t\t</form>\t\n\t</div>"; $return = apply_filters('mcs_after_submissions', $return, $response); return $return; }
function mc_show_block($field, $has_data, $data, $echo = true, $default = '') { global $user_ID; $return = $checked = $value = ''; $show_block = mc_show_edit_block($field); $pre = '<div class="ui-sortable meta-box-sortables"><div class="postbox">'; $post = '</div></div>'; switch ($field) { case 'event_host': if ($show_block) { $users = mc_get_users(); $select = ''; foreach ($users as $u) { $display_name = $u->display_name == '' ? $u->user_nicename : $u->display_name; if (is_object($data) && $data->event_host == $u->ID) { $selected = ' selected="selected"'; } else { if (is_object($u) && $u->ID == $user_ID && empty($data->event_host)) { $selected = ' selected="selected"'; } else { $selected = ''; } } $select .= "<option value='{$u->ID}'{$selected}>{$display_name}</option>\n"; } $return = ' <p> <label for="e_host">' . __('Host', 'my-calendar') . '</label> <select id="e_host" name="event_host">' . $select . '</select> </p>'; } break; case 'event_author': if ($show_block && is_object($data) && $data->event_author === '0') { $users = mc_get_users(); $select = ''; foreach ($users as $u) { $display_name = $u->display_name == '' ? $u->user_nicename : $u->display_name; $select .= "<option value='{$u->ID}'>{$display_name}</option>\n"; } $return = ' <p> <label for="e_author">' . __('Author', 'my-calendar') . '</label> <select id="e_author" name="event_author"> <option value="0" selected="selected">Public Submitter</option>' . $select . '</select> </p>'; } else { $return = '<input type="hidden" name="event_author" value="' . $default . '" />'; } break; case 'event_desc': if ($show_block) { global $current_screen; // because wp_editor cannot return a value, event_desc fields cannot be filtered if its enabled. $value = $has_data ? stripslashes($data->event_desc) : ''; if ($current_screen->base == 'post') { $return = '<div class="event_description"> <label for="content" class="screen-reader-text">' . __('Event Description', 'my-calendar') . '</label> <textarea id="content" name="content" class="event_desc" rows="8" cols="80">' . stripslashes(esc_attr($value)) . '</textarea> </div>'; } else { echo ' <div class="event_description"> <label for="content" class="screen-reader-text">' . __('Event Description', 'my-calendar') . '</label>'; if (user_can_richedit()) { wp_editor($value, 'content', array('textarea_rows' => 10)); } else { echo '<textarea id="content" name="content" class="event_desc" rows="8" cols="80">' . stripslashes(esc_attr($value)) . '</textarea>'; } echo '</div>'; } } break; case 'event_short': if ($show_block) { $value = $has_data ? stripslashes(esc_attr($data->event_short)) : ''; $return = ' <p> <label for="e_short">' . __('Short Description', 'my-calendar') . '</label><br /><textarea id="e_short" name="event_short" rows="2" cols="80">' . $value . '</textarea> </p>'; } break; case 'event_image': if ($show_block) { if ($has_data && property_exists($data, 'event_post')) { $image = has_post_thumbnail($data->event_post) ? get_the_post_thumbnail_url($data->event_post) : $data->event_image; $image_id = has_post_thumbnail($data->event_post) ? get_post_thumbnail_id($data->event_post) : ''; } else { $image = ''; $image_id = ''; } $return = ' <div class="mc-image-upload field-holder"> <input type="hidden" name="event_image_id" value="' . esc_attr($image_id) . '" class="textfield" id="e_image_id" /> <label for="e_image">' . __("Add an image:", 'my-calendar') . '</label><br /><input type="text" name="event_image" id="e_image" size="60" value="' . esc_attr($image) . '" placeholder="http://yourdomain.com/image.jpg" /> <button type="button" class="button textfield-field">' . __("Upload", 'my-calendar') . '</button>'; if ($image != '') { $image = has_post_thumbnail($data->event_post) ? get_the_post_thumbnail_url($data->event_post) : $data->event_image; $return .= '<div class="event_image"><img src="' . esc_attr($image) . '" alt="" /></div>'; } else { $return .= '<div class="event_image"></div>'; } $return .= '</div>'; } else { $return = '<input type="hidden" name="event_image" value="' . esc_attr($image) . '" />'; } break; case 'event_category': if ($show_block) { $return = '<p> <label for="e_category">' . __('Category', 'my-calendar') . '</label> <select id="e_category" name="event_category">' . mc_category_select($data) . ' </select> </p>'; } else { $return = '<div><input type="hidden" name="event_category" value="' . mc_category_select($data, false) . '" /></div>'; } break; case 'event_link': if ($show_block) { $value = $has_data ? esc_url($data->event_link) : ''; if ($has_data && $data->event_link_expires == '1') { $checked = " checked=\"checked\""; } else { if ($has_data && $data->event_link_expires == '0') { $checked = ""; } else { if (get_option('mc_event_link_expires') == 'true') { $checked = " checked=\"checked\""; } } } $return = ' <p> <label for="e_link">' . __('URL', 'my-calendar') . '</label> <input type="text" id="e_link" name="event_link" size="40" value="' . $value . '" /> <input type="checkbox" value="1" id="e_link_expires" name="event_link_expires"' . $checked . ' /> <label for="e_link_expires">' . __('Link will expire after event', 'my-calendar') . '</label> </p>'; } break; case 'event_recurs': if (is_object($data)) { $event_recur = is_object($data) ? $data->event_recur : ''; $recurs = str_split($event_recur, 1); $recur = $recurs[0]; $every = isset($recurs[1]) ? $recurs[1] : 1; if ($every == 1 && $recur == 'B') { $every = 2; } $prev = '<input type="hidden" name="prev_event_repeats" value="' . $data->event_repeats . '" /><input type="hidden" name="prev_event_recur" value="' . $data->event_recur . '" />'; } else { $recur = false; $every = 1; $prev = ''; } if (is_object($data) && $data->event_repeats != null) { $repeats = $data->event_repeats; } else { $repeats = 0; } if ($show_block && empty($_GET['date'])) { $return = $pre . ' <h2>' . __('Recurring', 'my-calendar') . '</h2> <div class="inside">' . $prev . ' <fieldset> <legend class="screen-reader-text">' . __('Recurring Events', 'my-calendar') . '</legend> <p> <label for="e_repeats">' . __('Repeats', 'my-calendar') . ' <input type="text" name="event_repeats" aria-labelledby="e_repeats_label" id="e_repeats" size="1" value="' . esc_attr($repeats) . '" /> <span id="e_repeats_label">' . __('times', 'my-calendar') . '</span>, </label> <label for="e_every">' . __('every', 'my-calendar') . '</label> <input type="number" name="event_every" id="e_every" size="1" min="1" max="99" maxlength="2" value="' . esc_attr($every) . '" /> <label for="e_recur" class="screen-reader-text">' . __('Units', 'my-calendar') . '</label> <select name="event_recur" id="e_recur"> ' . mc_recur_options($recur) . ' </select><br /> ' . __('Your entry is the number of events after the first occurrence of the event: a recurrence of <em>2</em> means the event will happen three times.', 'my-calendar') . ' <div class="mc_recur_notice" aria-live="polite"><p><span class="dashicons dashicons-no"></span>' . __('Month by day events currently only support monthly recurrances.', 'my-calendar') . '</p></div> </p> </fieldset> </div> ' . $post; } else { if ($every == '' && $repeats == '') { $every = 'S'; $repeats = '0'; } $return = ' <div>' . $prev . ' <input type="hidden" name="event_repeats" value="' . esc_attr($repeats) . '" /> <input type="hidden" name="event_every" value="' . esc_attr($every) . '" /> <input type="hidden" name="event_recur" value="' . esc_attr($recur) . '" /> </div>'; } break; case 'event_access': if ($show_block) { $label = __('Event Access', 'my-calendar'); $return = $pre . ' <h2>' . $label . '</h2> <div class="inside"> ' . mc_event_accessibility('', $data, $label) . apply_filters('mc_event_access_fields', '', $has_data, $data) . ' </div>' . $post; } break; case 'event_open': if ($show_block) { $return = $pre . ' <h2>' . __('Event Registration Settings', 'my-calendar') . '</h2> <div class="inside"> <fieldset> <legend class="screen-reader-text">' . __('Event Registration', 'my-calendar') . '</legend> ' . apply_filters('mc_event_registration', '', $has_data, $data, 'admin') . ' </fieldset> </div> ' . $post; } else { $open = $has_data ? esc_attr($data->event_open) : '2'; $tickets = $has_data ? esc_url($data->event_tickets) : ''; $registration = $has_data ? esc_attr($data->event_registration) : ''; $return = ' <div> <input type="hidden" name="event_open" value="' . $open . '" /> <input type="hidden" name="event_tickets" value="' . $tickets . '" /> <input type="hidden" name="event_registration" value="' . $registration . '" /> </div>'; } break; case 'event_location': if ($show_block) { $return = mc_locations_fields($has_data, $data, 'event'); } else { if ($has_data) { $return = "\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<input type='hidden' name='event_label' value='" . esc_attr(stripslashes($data->event_label)) . "' />\r\n\t\t\t\t\t<input type='hidden' name='event_street' value='" . esc_attr(stripslashes($data->event_street)) . "' />\r\n\t\t\t\t\t<input type='hidden' name='event_street2' value='" . esc_attr(stripslashes($data->event_street2)) . "' />\r\n\t\t\t\t\t<input type='hidden' name='event_phone' value='" . esc_attr(stripslashes($data->event_phone)) . "' />\r\n\t\t\t\t\t<input type='hidden' name='event_phone2' value='" . esc_attr(stripslashes($data->event_phone2)) . "' />\r\n\t\t\t\t\t<input type='hidden' name='event_city' value='" . esc_attr(stripslashes($data->event_city)) . "' />\r\n\t\t\t\t\t<input type='hidden' name='event_state' value='" . esc_attr(stripslashes($data->event_state)) . "' />\r\n\t\t\t\t\t<input type='hidden' name='event_postcode' value='" . esc_attr(stripslashes($data->event_postcode)) . "' />\r\n\t\t\t\t\t<input type='hidden' name='event_region' value='" . esc_attr(stripslashes($data->event_region)) . "' />\r\n\t\t\t\t\t<input type='hidden' name='event_country' value='" . esc_attr(stripslashes($data->event_country)) . "' />\r\n\t\t\t\t\t<input type='hidden' name='event_zoom' value='" . esc_attr(stripslashes($data->event_zoom)) . "' />\r\n\t\t\t\t\t<input type='hidden' name='event_url' value='" . esc_attr(stripslashes($data->event_url)) . "' />\r\n\t\t\t\t\t<input type='hidden' name='event_latitude' value='" . esc_attr(stripslashes($data->event_latitude)) . "' />\r\n\t\t\t\t\t<input type='hidden' name='event_longitude' value='" . esc_attr(stripslashes($data->event_longitude)) . "' />\r\n\t\t\t\t</div>"; } } break; default: return; } $return = apply_filters('mc_show_block', $return, $data, $field); if ($echo == true) { echo $return; } else { return $return; } }
function mc_show_block($field, $has_data, $data) { $return = $checked = $value = ''; $show_block = mc_show_edit_block($field); $pre = '<div class="ui-sortable meta-box-sortables"><div class="postbox">'; $post = '</div></div>'; switch ($field) { case 'event_desc': if ($show_block) { // because wp_editor cannot return a value, event_desc fields cannot be filtered if its enabled. $value = $has_data ? stripslashes($data->event_desc) : ''; echo ' <div class="event_description"> <label for="content">' . __('Event Description', 'my-calendar') . '</label><br />'; if (user_can_richedit()) { if (version_compare(get_bloginfo('version'), '3.3', '>=')) { wp_editor($value, 'content', array('textarea_rows' => 10)); } else { the_editor($value); } } else { echo '<textarea id="content" name="content" class="event_desc" rows="8" cols="80">' . stripslashes(esc_attr($value)) . '</textarea>'; } echo '</div>'; } break; case 'event_short': if ($show_block) { $value = $has_data ? stripslashes(esc_attr($data->event_short)) : ''; $return = ' <p> <label for="e_short">' . __('Short Description', 'my-calendar') . '</label><br /><textarea id="e_short" name="event_short" rows="2" cols="80">' . $value . '</textarea> </p>'; } break; case 'event_image': if ($show_block) { $value = $has_data ? esc_attr($data->event_image) : ''; $return = ' <div class="mc-image-upload field-holder"> <input type="hidden" name="event_image_id" value="" class="textfield" id="e_image_id" /> <label for="e_image">' . __("Add an image:", 'my-calendar') . '</label><br /><input type="text" name="event_image" id="e_image" size="60" value="' . $value . '" placeholder="http://yourdomain.com/image.jpg" /> <a href="#" class="button textfield-field">' . __("Upload", 'my-calendar') . '</a>'; if (!empty($data->event_image)) { $return .= '<div class="event_image"><img src="' . esc_attr($data->event_image) . '" alt="" /></div>'; } else { $return .= '<div class="event_image"></div>'; } $return .= '</div>'; } else { $return = '<input type="hidden" name="event_image" value="' . $value . '" />'; } break; case 'event_category': if ($show_block) { $return = '<p> <label for="e_category">' . __('Category', 'my-calendar') . '</label> <select id="e_category" name="event_category">' . mc_category_select($data) . ' </select> </p>'; } else { $return = '<div><input type="hidden" name="event_category" value="' . mc_category_select($data, false) . '" /></div>'; } break; case 'event_link': if ($show_block) { $value = $has_data ? esc_url($data->event_link) : ''; if ($has_data && $data->event_link_expires == '1') { $checked = " checked=\"checked\""; } else { if ($has_data && $data->event_link_expires == '0') { $checked = ""; } else { if (get_option('mc_event_link_expires') == 'true') { $checked = " checked=\"checked\""; } } } $return = ' <p> <label for="e_link">' . __('URL', 'my-calendar') . '</label> <input type="text" id="e_link" name="event_link" size="40" value="' . $value . '" /> <input type="checkbox" value="1" id="e_link_expires" name="event_link_expires"' . $checked . ' /> <label for="e_link_expires">' . __('Link will expire after event', 'my-calendar') . '</label> </p>'; } break; case 'event_recur': if (is_object($data)) { $event_recur = is_object($data) ? $data->event_recur : ''; $recurs = str_split($event_recur, 1); $recur = $recurs[0]; $every = isset($recurs[1]) ? $recurs[1] : 1; if ($every == 1 && $recur == 'B') { $every = 2; } $prev = '<input type="hidden" name="prev_event_repeats" value="' . $data->event_repeats . '" /><input type="hidden" name="prev_event_recur" value="' . $data->event_recur . '" />'; } else { $recur = false; $every = 1; $prev = ''; } if ($show_block && empty($_GET['date'])) { if (is_object($data) && $data->event_repeats != NULL) { $repeats = $data->event_repeats; } else { $repeats = 0; } $return = $pre . ' <h3>' . __('Recurring', 'my-calendar') . '</h3> <div class="inside">' . $prev . ' <fieldset> <legend>' . __('Recurring Events', 'my-calendar') . '</legend> <p> <label for="e_repeats">' . __('Repeats', 'my-calendar') . ' <input type="text" name="event_repeats" aria-labelledby="e_repeats_label" id="e_repeats" size="1" value="' . $repeats . '" /> <span id="e_repeats_label">' . __('times', 'my-calendar') . '</span>, </label> <label for="e_every">' . __('every', 'my-calendar') . '</label> <input type="number" name="event_every" id="e_every" size="1" min="1" max="9" maxlength="1" value="' . $every . '" /> <label for="e_recur" class="screen-reader-text">' . __('Units', 'my-calendar') . '</label> <select name="event_recur" id="e_recur"> ' . mc_recur_options($recur) . ' </select><br /> ' . __('Your entry is the number of events after the first occurrence of the event: a recurrence of <em>2</em> means the event will happen three times.', 'my-calendar') . ' </p> </fieldset> </div> ' . $post; } else { $return = ' <div>' . $prev . ' <input type="hidden" name="event_repeats" value="0" /> <input type="hidden" name="event_recur" value="S" /> </div>'; } break; case 'event_access': if ($show_block) { $label = __('Event Access', 'my-calendar'); $return = $pre . ' <h3>' . $label . '</h3> <div class="inside"> ' . mc_event_accessibility('', $data, $label) . apply_filters('mc_event_access_fields', '', $has_data, $data) . ' </div>' . $post; } break; case 'event_open': if ($show_block) { $return = $pre . ' <h3>' . __('Event Registration Settings', 'my-calendar') . '</h3> <div class="inside"> <fieldset> <legend>' . __('Event Registration', 'my-calendar') . '</legend> ' . apply_filters('mc_event_registration', '', $has_data, $data, 'admin') . ' </fieldset> </div> ' . $post; } else { $open = $has_data ? $data->event_open : '2'; $tickets = $has_data ? esc_attr(esc_url($data->event_tickets)) : ''; $registration = $has_data ? esc_attr($data->event_registration) : ''; $return = ' <div> <input type="hidden" name="event_open" value="' . $open . '" /> <input type="hidden" name="event_tickets" value="' . $tickets . '" /> <input type="hidden" name="event_registration" value="' . $registration . '" /> </div>'; } break; case 'event_location': if ($show_block) { $return = mc_locations_fields($has_data, $data, 'event'); } else { if ($has_data) { $return = "\n\t\t\t\t<div>\n\t\t\t\t\t<input type='hidden' name='event_label' value='" . esc_attr(stripslashes($data->event_label)) . "' />\n\t\t\t\t\t<input type='hidden' name='event_street' value='" . stripslashes($data->event_street) . "' />\n\t\t\t\t\t<input type='hidden' name='event_street2' value='" . stripslashes($data->event_street2) . "' />\n\t\t\t\t\t<input type='hidden' name='event_phone' value='" . stripslashes($data->event_phone) . "' />\n\t\t\t\t\t<input type='hidden' name='event_phone2' value='" . stripslashes($data->event_phone2) . "' />\n\t\t\t\t\t<input type='hidden' name='event_city' value='" . stripslashes($data->event_city) . "' />\n\t\t\t\t\t<input type='hidden' name='event_state' value='" . stripslashes($data->event_state) . "' />\n\t\t\t\t\t<input type='hidden' name='event_postcode' value='" . stripslashes($data->event_postcode) . "' />\n\t\t\t\t\t<input type='hidden' name='event_region' value='" . stripslashes($data->event_region) . "' />\n\t\t\t\t\t<input type='hidden' name='event_country' value='" . stripslashes($data->event_country) . "' />\n\t\t\t\t\t<input type='hidden' name='event_zoom' value='" . stripslashes($data->event_zoom) . "' />\n\t\t\t\t\t<input type='hidden' name='event_url' value='" . stripslashes($data->event_url) . "' />\n\t\t\t\t\t<input type='hidden' name='event_latitude' value='" . stripslashes($data->event_latitude) . "' />\n\t\t\t\t\t<input type='hidden' name='event_longitude' value='" . stripslashes($data->event_longitude) . "' />\n\t\t\t\t</div>"; } } break; default: return; } echo apply_filters('mc_show_block', $return, $data, $field); }