function mc_form_fields($data, $mode, $event_id) { global $wpdb, $user_ID; $mcdb = $wpdb; $has_data = empty($data) ? false : true; if ($data) { $test = mc_test_occurrence_overlap($data); } $instance = isset($_GET['date']) ? (int) $_GET['date'] : false; if ($instance) { $ins = mc_get_instance_data($instance); $event_id = $ins->occur_event_id; $data = mc_get_event_core($event_id); } ?> <div class="postbox-container jcd-wide"> <div class="metabox-holder"> <?php if ($mode == 'add' || $mode == 'copy') { $query_args = array(); } else { $query_args = array('mode' => $mode, 'event_id' => $event_id); if ($instance) { $query_args['date'] = $instance; } } echo apply_filters('mc_before_event_form', '', $event_id); $action = add_query_arg($query_args, admin_url('admin.php?page=my-calendar')); if (!empty($data->event_group_id) && $mode != 'copy') { $group_id = $data->event_group_id; } else { $group_id = mc_group_id(); } if ($mode != 'edit') { $event_author = $user_ID; } else { $event_author = $data->event_author; } ?> <form id="my-calendar" method="post" action="<?php echo $action; ?> "> <div> <input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /> <?php if (isset($_GET['ref'])) { ?> <input type="hidden" name="ref" value="<?php echo esc_url($_GET['ref']); ?> " /> <?php } ?> <input type="hidden" name="event_group_id" value="<?php echo $group_id; ?> " /> <input type="hidden" name="event_action" value="<?php esc_attr_e($mode); ?> " /> <?php if (!empty($_GET['date'])) { ?> <input type="hidden" name="event_instance" value="<?php echo (int) $_GET['date']; ?> "/> <?php } ?> <input type="hidden" name="event_id" value="<?php echo (int) $event_id; ?> "/> <?php if ($mode == 'edit') { if ($has_data && (!property_exists($data, 'event_post') || !$data->event_post)) { $array_data = (array) $data; $post_id = mc_event_post('add', $array_data, $event_id); } else { $post_id = $has_data ? $data->event_post : false; } ?> <input type='hidden' name='event_post' value="<?php echo $post_id; ?> " /> <?php } else { $post_id = false; } ?> <input type="hidden" name="event_nonce_name" value="<?php echo wp_create_nonce('event_nonce'); ?> " /> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <?php if ($mode == 'edit') { $text = __('Edit Event', 'my-calendar'); $args = ''; if (isset($_GET['date'])) { $id = is_numeric($_GET['date']) ? $_GET['date'] : false; if ($id) { $args = "&date={$id}"; } } $delete = " · <a href='" . admin_url("admin.php?page=my-calendar-manage&mode=delete&event_id={$event_id}{$args}") . "' class='delete'>" . __('Delete', 'my-calendar') . "</a>"; } else { $text = __('Add Event', 'my-calendar'); $delete = ''; } if (apply_filters('mc_use_permalinks', get_option('mc_use_permalinks')) == 'true') { $post_link = $post_id ? get_edit_post_link($post_id) : false; $text_link = $post_link ? sprintf(" · <a href='%s'>" . __('Edit Event Post', 'my-calendar') . "</a>", $post_link) : ''; } else { $text_link = ''; } ?> <h2><?php echo $text; ?> </h2> <div class="inside"> <p class='mc-controls'> <a href="<?php echo admin_url('admin.php?page=my-calendar-manage'); ?> "><?php echo current_user_can('mc_manage_events') ? __('Manage events', 'my-calendar') : __('Manage your events', 'my-calendar'); ?> </a> <?php echo $delete; echo $text_link; ?> <input type="submit" name="save" class="button-primary" value="<?php _e('Save Event', 'my-calendar'); ?> "/> </p> <?php if (!empty($_GET['date']) && $data->event_recur != 'S') { $event = mc_get_event($instance); $date = date_i18n(get_option('mc_date_format'), strtotime($event->occur_begin)); $message = __("You are editing the <strong>{$date}</strong> instance of this event. Other instances of this event will not be changed.", 'my-calendar'); //echo "<div><input type='hidden' name='event_instance' value='$instance' /></div>"; echo "<div class='message updated'><p>{$message}</p></div>"; } else { if (isset($_GET['date']) && empty($_GET['date'])) { echo "<div class='message updated'><p>" . __('There was an error acquiring information about this event instance. The ID for this event instance was not provided. <strong>You are editing this entire recurrence set.</strong>', 'my-calendar') . "</p></div>"; } } ?> <fieldset> <legend class="screen-reader-text"><?php _e('Event Details', 'my-calendar'); ?> </legend> <p> <label for="e_title"><?php _e('Event Title', 'my-calendar'); ?> </label><br/><input type="text" id="e_title" name="event_title" size="50" maxlength="255" value="<?php if ($has_data) { echo apply_filters('mc_manage_event_title', stripslashes(esc_attr($data->event_title)), $data); } ?> "/><?php if ($mode == 'edit') { ?> <input type='hidden' name='prev_event_status' value='<?php esc_attr_e($data->event_approved); ?> ' /><?php if (get_option('mc_event_approve') == 'true') { if (current_user_can('mc_approve_events')) { // Added by Roland P. if ($has_data && $data->event_approved == '1') { $checked = " checked=\"checked\""; } else { if ($has_data && $data->event_approved == '0') { $checked = ""; } else { if (get_option('mc_event_approve') == 'true') { $checked = "checked=\"checked\""; } } } ?> <input type="checkbox" value="1" id="e_approved" name="event_approved" <?php echo $checked; ?> /> <label for="e_approved"><?php _e('Approve', 'my-calendar'); ?> </label><?php } else { // case: editing, approval enabled, user cannot approve ?> <input type="hidden" value="0" name="event_approved" /><?php _e('An administrator must approve your new event.', 'my-calendar'); } } else { // Case: editing, approval system is disabled - auto approve ?> <input type="hidden" value="1" name="event_approved"/><?php } } else { // case: adding new event (if use can, then 1, else 0) if (get_option('mc_event_approve') != 'true') { $dvalue = 1; } else { if (current_user_can('mc_approve_events')) { $dvalue = 1; } else { $dvalue = 0; } } ?> <input type="hidden" value="<?php echo $dvalue; ?> " name="event_approved" /><?php } ?> </p> <?php if (is_object($data) && $data->event_flagged == 1) { ?> <div class="error"> <p> <input type="checkbox" value="0" id="e_flagged" name="event_flagged"<?php if ($has_data && $data->event_flagged == '0') { echo " checked=\"checked\""; } else { if ($has_data && $data->event_flagged == '1') { echo ""; } } ?> /> <label for="e_flagged"><?php _e('This event is not spam', 'my-calendar'); ?> </label> </p> </div> <?php } if (function_exists('jd_doTwitterAPIPost') && current_user_can('wpt_can_tweet')) { if (!($mode == 'edit' && $data->event_approved == 1)) { ?> <p class='mc-twitter'> <label for='mc_twitter'><?php _e('Post to Twitter (via WP to Twitter)', 'my-calendar'); ?> </label><br/> <textarea cols='70' rows='2' id='mc_twitter' name='mc_twitter'><?php do_action('mc_twitter_text', $data); ?> </textarea> </p><?php } } mc_show_block('event_desc', $has_data, $data); mc_show_block('event_short', $has_data, $data); mc_show_block('event_image', $has_data, $data); mc_show_block('event_host', $has_data, $data); mc_show_block('event_author', $has_data, $data, true, $event_author); mc_show_block('event_category', $has_data, $data); mc_show_block('event_link', $has_data, $data); echo apply_filters('mc_event_details', '', $has_data, $data, 'admin'); ?> </fieldset> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h2><?php _e('Date and Time', 'my-calendar'); ?> </h2> <div class="inside"> <?php if (is_object($data)) { // information for rewriting recurring data ?> <input type="hidden" name="prev_event_begin" value="<?php esc_attr_e($data->event_begin); ?> "/> <input type="hidden" name="prev_event_time" value="<?php esc_attr_e($data->event_time); ?> "/> <input type="hidden" name="prev_event_end" value="<?php esc_attr_e($data->event_end); ?> "/> <input type="hidden" name="prev_event_endtime" value="<?php esc_attr_e($data->event_endtime); ?> "/> <?php } ?> <fieldset> <legend class="screen-reader-text"><?php _e('Event Date and Time', 'my-calendar'); ?> </legend> <div id="e_schedule"> <div id="event1" class="clonedInput" aria-live="assertive"> <?php echo apply_filters('mc_datetime_inputs', '', $has_data, $data, 'admin'); ?> </div> <?php if ($mode != 'edit') { ?> <p id="event_span"> <input type="checkbox" value="1" id="e_span" name="event_span"<?php if ($has_data && $data->event_span == '1') { echo " checked=\"checked\""; } else { if ($has_data && $data->event_span == '0') { echo ""; } else { if (get_option('mc_event_span') == 'true') { echo " checked=\"checked\""; } } } ?> /> <label for="e_span"><?php _e('This is a multi-day event.', 'my-calendar'); ?> </label> </p> <p class="note"> <em><?php _e('Enter start and end dates/times for each occurrence of the event.', 'my-calendar'); ?> </em> </p> <div> <input type="button" id="add_field" value="<?php _e('Add another occurrence', 'my-calendar'); ?> " class="button" /> <input type="button" id="del_field" value="<?php _e('Remove last occurrence', 'my-calendar'); ?> " class="button" /> </div> <?php } else { ?> <div id='mc-accordion'> <?php if ($data->event_recur != 'S') { ?> <h4><span class='dashicons' aria-hidden='true'> </span><?php _e('Scheduled dates for this event', 'my-calendar'); ?> </h4> <div> <p> <?php _e('Editing a single date of an event changes only that date. Editing the root event changes all events in the series.', 'my-calendar'); ?> </p> <div class='mc_response' aria-live='assertive'></div> <ul class="columns instance-list"> <?php if (isset($_GET['date'])) { $date = (int) $_GET['date']; } else { $date = false; } ?> <?php echo mc_instance_list($data->event_id, $date); ?> </ul> <p><button type='button' class='add-occurrence' aria-expanded="false"><span class='dashicons' aria-hidden='true'> </span><?php _e('Add another date', 'my-calendar'); ?> </button></p> <div class='mc_add_new'> <?php echo mc_recur_datetime_input(); ?> <button type='button' class='save-occurrence'><?php _e('Add Date', 'my-calendar'); ?> </button> </div> </div> <?php } ?> <?php if ($data->event_group_id != 0) { ?> <?php $edit_group_url = admin_url('admin.php?page=my-calendar-groups&mode=edit&event_id=' . $data->event_id . '&group_id=' . $data->event_group_id); ?> <h4><span class='dashicons' aria-hidden="true"></span><?php _e('Related Events:', 'my-calendar'); ?> (<a href='<?php echo $edit_group_url; ?> '><?php _e('Edit group', 'my-calendar'); ?> </a>) </h4> <div> <ul class="columns"> <?php mc_related_events($data->event_group_id); ?> </ul> </div> <?php } ?> </div> <?php } ?> </div> </fieldset> </div> </div> </div> <?php mc_show_block('event_recurs', $has_data, $data); mc_show_block('event_access', $has_data, $data); mc_show_block('event_open', $has_data, $data); if (mc_show_edit_block('event_location') || mc_show_edit_block('event_location_dropdown')) { ?> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h2><?php _e('Event Location', 'my-calendar'); ?> </h2> <div class="inside location_form"> <fieldset> <legend class='screen-reader-text'><?php _e('Event Location', 'my-calendar'); ?> </legend><?php } if (mc_show_edit_block('event_location_dropdown')) { $current_location = ''; $locs = $mcdb->get_results("SELECT location_id,location_label FROM " . my_calendar_locations_table() . " ORDER BY location_label ASC"); if (!empty($locs)) { ?> <p> <label for="l_preset"><?php _e('Choose a preset location:', 'my-calendar'); ?> </label> <select name="location_preset" id="l_preset" aria-describedby='mc-current-location'> <option value="none"> --</option><?php foreach ($locs as $loc) { if (is_object($loc)) { echo "<option value=\"" . $loc->location_id . "\">" . mc_kses_post(stripslashes($loc->location_label)) . "</option>"; if (is_object($data)) { if (property_exists($data, 'event_location')) { $event_location = $data->event_location; } else { $event_location = false; } if ($loc->location_id == $event_location) { $current_location = "<span id='mc-current-location'>" . sprintf(__('Current location: %s', 'my-calendar'), mc_kses_post($loc->location_label)) . "</span>"; } } } } ?> </select> <?php echo $current_location; ?> </p><?php } else { ?> <input type="hidden" name="location_preset" value="none"/> <p><a href="<?php echo admin_url('admin.php?page=my-calendar-locations'); ?> "><?php _e('Add recurring locations for later use.', 'my-calendar'); ?> </a> </p><?php } } else { ?> <input type="hidden" name="location_preset" value="none"/><?php } mc_show_block('event_location', $has_data, $data); if (mc_show_edit_block('event_location') || mc_show_edit_block('event_location_dropdown')) { ?> </fieldset> </div> </div> </div><?php } if (mc_show_edit_block('event_specials')) { ?> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h2><?php _e('Special scheduling options', 'my-calendar'); ?> </h2> <div class="inside"> <fieldset> <legend class="screen-reader-text"><?php _e('Special Options', 'my-calendar'); ?> </legend> <p> <label for="e_holiday"><?php _e('Cancel this event if it occurs on a date with an event in the Holidays category', 'my-calendar'); ?> </label> <input type="checkbox" value="true" id="e_holiday" name="event_holiday"<?php if ($has_data && $data->event_holiday == '1') { echo " checked=\"checked\""; } else { if ($has_data && $data->event_holiday == '0') { echo ""; } else { if (get_option('mc_skip_holidays') == 'true') { echo " checked=\"checked\""; } } } ?> /> </p> <p> <label for="e_fifth_week"><?php _e('If this event recurs, and falls on the 5th week of the month in a month with only four weeks, move it back one week.', 'my-calendar'); ?> </label> <input type="checkbox" value="true" id="e_fifth_week" name="event_fifth_week"<?php if ($has_data && $data->event_fifth_week == '1') { echo " checked=\"checked\""; } else { if ($has_data && $data->event_fifth_week == '0') { echo ""; } else { if (get_option('mc_no_fifth_week') == 'true') { echo " checked=\"checked\""; } } } ?> /> </p> </fieldset> </div> </div> </div><?php } else { ?> <div> <input type="hidden" name="event_holiday" value="true" <?php checked(get_option('mc_skip_holidays'), 'true'); ?> /> <input type="hidden" name="event_fifth_week" value="true" <?php checked(get_option('mc_no_fifth_week'), 'true'); ?> /> </div><?php } ?> <p> <input type="submit" name="save" class="button-primary" value="<?php _e('Save Event', 'my-calendar'); ?> "/> </p> </form> </div> </div><?php }
function mc_meta_box_form() { global $wpdb, $post; $has_data = false; $data = false; if (get_option('mc_event_approve') != 'true') { $dvalue = 1; } else { if (current_user_can('mc_approve_events')) { $dvalue = 1; } else { $dvalue = 0; } } if (get_option('mcs_approve_from_post') == 'true') { $dvalue = 0; } $event_desc = mc_show_block('event_desc', $has_data, $data, false); if ($event_desc) { $description = "<div class='event_description'>\n\t\t\t\t\t\t\t<label for='event_desc'>" . __('Event Description', 'my-calendar-submissions') . "</label><br />\n\t\t\t\t\t\t\t<textarea id='event_desc' class='event_desc widefat' cols='80' rows='8' name='event_desc'></textarea>\n\t\t\t\t\t\t</div>"; } else { $description = ''; } $event_host = mc_show_block('event_host', $has_data, $data, false); $event_category = mc_show_block('event_category', $has_data, $data, false); $event_link = mc_show_block('event_link', $has_data, $data, false); $event_recurs = mc_show_block('event_recurs', $has_data, $data, false); $mc_datetime = apply_filters('mc_datetime_inputs', '', $has_data, $data, 'admin'); if (mc_show_edit_block('event_location_dropdown')) { $locs = $wpdb->get_results("SELECT location_id,location_label FROM " . my_calendar_locations_table() . " ORDER BY location_label ASC"); if (!empty($locs)) { $location = '<p> <label for="l_preset">' . __('Choose a preset location:', 'my-calendar') . '</label> <select name="location_preset" id="l_preset"> <option value="none"> --</option>'; foreach ($locs as $loc) { if (is_object($loc)) { $location .= "<option value=\"" . $loc->location_id . "\">" . wp_kses_post(stripslashes($loc->location_label)) . "</option>"; } } $location .= '</select></p>'; } else { $location = '<input type="hidden" name="location_preset" value="none" />'; } } else { $location = '<input type="hidden" name="location_preset" value="none" />'; } $return = ' <div> <input type="hidden" name="event_group_id" value="' . mc_group_id() . '" /> <input type="hidden" name="event_action" value="add" /> <input type="hidden" name="event_source" value="post" /> <input type="hidden" name="event_nonce_name" value="' . wp_create_nonce('event_nonce') . '" /> </div> <fieldset> <legend class="screen-reader-text">' . __('Event Details', 'my-calendar') . '</legend> <p> <label for="e_title">' . __('Event Title', 'my-calendar') . ' <span class="required">(required)</span></label><br/><input type="text" id="e_title" name="event_title" size="50" maxlength="255" value="" /> <input type="hidden" value="' . $dvalue . '" name="event_approved" /> </p>' . $description . $event_host . $event_category . $event_link . ' </fieldset> <fieldset> <legend class="screen-reader-text">' . __('Event Date and Time', 'my-calendar') . '</legend> <div id="e_schedule">' . $mc_datetime . '</div> </fieldset>' . $event_recurs . '<fieldset> <legend class="screen-reader-text">' . __('Event Location', 'my-calendar') . '</legend>' . $location . '</fieldset>'; return $return; }