コード例 #1
0
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 = "&amp;date={$id}";
            }
        }
        $delete = " &middot; <a href='" . admin_url("admin.php?page=my-calendar-manage&amp;mode=delete&amp;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(" &middot; <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 
}
コード例 #2
0
function my_calendar_print_group_fields($data, $mode, $event_id, $group_id = '')
{
    global $user_ID, $wpdb;
    $mcdb = $wpdb;
    get_currentuserinfo();
    $has_data = empty($data) ? false : true;
    $user = get_userdata($user_ID);
    $mc_input_administrator = get_option('mc_input_options_administrators') == 'true' && current_user_can('manage_options') ? true : false;
    $mc_input = get_option('mc_input_options');
    ?>

	<div class="postbox-container jcd-wide">
	<div class="metabox-holder">
	<form method="post" action="<?php 
    echo admin_url("admin.php?page=my-calendar-groups&amp;mode=edit&amp;event_id={$event_id}&amp;group_id={$group_id}");
    ?>
">
	<div>
		<input type="hidden" name="_wpnonce" value="<?php 
    echo wp_create_nonce('my-calendar-nonce');
    ?>
" />
		<input type="hidden" name="group_id" value="<?php 
    if (!empty($data->event_group_id)) {
        echo $data->event_group_id;
    } else {
        echo mc_group_id();
    }
    ?>
" />
		<input type="hidden" name="event_action" value="<?php 
    echo $mode;
    ?>
" />
		<input type="hidden" name="event_id" value="<?php 
    echo $event_id;
    ?>
" />
		<input type="hidden" name="event_author" value="<?php 
    echo $user_ID;
    ?>
" />
		<input type="hidden" name="event_post" value="<?php 
    echo $data->event_post;
    ?>
" />
		<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">	
	<h3><?php 
    _e('Manage Event Groups', 'my-calendar');
    ?>
</h3>
	<div class="inside">
        <fieldset>
		<legend><?php 
    _e('Enter your Event Information', 'my-calendar');
    ?>
</legend>
		<p>
		<label for="e_title"><?php 
    _e('Event Title', 'my-calendar');
    ?>
 <span><?php 
    _e('(required)', 'my-calendar');
    ?>
</span><?php 
    if (!mc_compare_group_members($group_id, 'event_title')) {
        echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
    }
    ?>
</label><br /><input type="text" id="e_title" name="event_title" size="60" value="<?php 
    if (!empty($data)) {
        echo stripslashes(esc_attr($data->event_title));
    }
    ?>
" />
		</p>
			<?php 
    $apply = mc_group_form($group_id, 'apply');
    echo $apply;
    if ($data->event_repeats == 0 && ($data->event_recur == 'S1' || $data->event_recur == 'S')) {
        ?>
		<p>
		<input type="checkbox" value="1" id="e_span" name="event_span"<?php 
        if (!empty($data) && $data->event_span == '1') {
            echo " checked=\"checked\"";
        } else {
            if (!empty($data) && $data->event_span == '0') {
                echo "";
            } else {
                if (get_option('mc_event_span') == 'true') {
                    echo " checked=\"checked\"";
                }
            }
        }
        ?>
 /> <label for="e_span"><?php 
        _e('Selected dates are a single multi-day event.', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_span')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label>
		</p>
		<?php 
    } else {
        ?>
			<div><input type='hidden' name='event_span' value='<?php 
        echo $data->event_span;
        ?>
' /></div>
		<?php 
    }
    ?>
		<?php 
    if ($mc_input['event_desc'] == 'on' || $mc_input_administrator) {
        ?>
			<div id="group_description"><?php 
        if (!empty($data)) {
            $description = $data->event_desc;
        } else {
            $description = '';
        }
        ?>
				<label for="content"><?php 
        _e('Event Description (<abbr title="hypertext markup language">HTML</abbr> allowed)', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_desc')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label><br /><?php 
        if (version_compare(get_bloginfo('version'), '3.3', '>=')) {
            wp_editor(stripslashes($description), 'content', array('textarea_rows' => 10));
        } else {
            the_editor(stripslashes($description));
        }
        ?>
			</div>		
		<?php 
    }
    ?>
		<?php 
    if ($mc_input['event_short'] == 'on' || $mc_input_administrator) {
        ?>
		<p>
		<label for="e_short"><?php 
        _e('Event Short Description (<abbr title="hypertext markup language">HTML</abbr> allowed)', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_short')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label><br /><textarea id="e_short" name="event_short" rows="2" cols="80"><?php 
        if (!empty($data)) {
            echo stripslashes(esc_attr($data->event_short));
        }
        ?>
</textarea>
		</p>
		<?php 
    }
    if (mc_show_edit_block('event_image')) {
        ?>
		<div class='mc-image-upload field-holder'>
			<?php 
        if (!empty($data->event_image)) {
            ?>
			<div class="event_image"><img src="<?php 
            if ($has_data) {
                echo esc_attr($data->event_image);
            }
            ?>
" alt="" /></div>
			<?php 
        } else {
            ?>
			<div class="event_image"></div>
			<?php 
        }
        ?>
			<input type="hidden" name="event_image_id" value="" class="textfield" id="e_image_id" />
			<label for="e_image"><?php 
        _e("Add an image:", 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_image')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label> <input type="text" name="event_image" id="e_image" size="60" value="<?php 
        if ($has_data) {
            echo esc_attr($data->event_image);
        }
        ?>
" placeholder="http://yourdomain.com/image.jpg" /> <a href="#" class="button textfield-field"><?php 
        _e("Upload", 'my-calendar');
        ?>
</a>
		</div>
		<?php 
    } else {
        ?>
		<div>
			<input type="hidden" name="event_image" value="<?php 
        if ($has_data) {
            echo esc_attr($data->event_image);
        }
        ?>
" />
			<?php 
        if (!empty($data->event_image)) {
            ?>
			<div class="event_image"><img src="<?php 
            echo esc_attr($data->event_image);
            ?>
" alt="" /></div>
			<?php 
        }
        ?>
		</div>
		<?php 
    }
    ?>
		
	<p>
	<label for="e_host"><?php 
    _e('Event Host', 'my-calendar');
    if (!mc_compare_group_members($group_id, 'event_host')) {
        echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
    }
    ?>
</label>
	<select id="e_host" name="event_host">
		<?php 
    // Grab all the categories and list them
    $userList = my_calendar_getUsers();
    foreach ($userList as $u) {
        echo '<option value="' . $u->ID . '"';
        if (is_object($data) && $data->event_host == $u->ID) {
            echo ' selected="selected"';
        } else {
            if (is_object($u) && $u->ID == $user->ID && empty($data->event_host)) {
                echo ' selected="selected"';
            }
        }
        $display_name = $u->display_name == '' ? $u->user_nicename : $u->display_name;
        echo ">{$display_name}</option>\n";
    }
    ?>
	</select>
	</p>		
		<?php 
    if ($mc_input['event_category'] == 'on' || $mc_input_administrator) {
        ?>
        <p>
		<label for="e_category"><?php 
        _e('Event Category', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_category')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label>
		<select id="e_category" name="event_category">
			<?php 
        echo mc_category_select($data);
        ?>
		</select>
            </p>
			<?php 
    } else {
        ?>
			<div>
			<input type="hidden" name="event_category" value="1" />
			</div>
			<?php 
    }
    ?>
			<?php 
    if ($mc_input['event_link'] == 'on' || $mc_input_administrator) {
        ?>
			<p>
			<label for="e_link"><?php 
        _e('Event Link (Optional)', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_link')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label> <input type="text" id="e_link" name="event_link" size="40" value="<?php 
        if (!empty($data)) {
            echo esc_url($data->event_link);
        }
        ?>
" /> <input type="checkbox" value="1" id="e_link_expires" name="event_link_expires"<?php 
        if (!empty($data) && $data->event_link_expires == '1') {
            echo " checked=\"checked\"";
        } else {
            if (!empty($data) && $data->event_link_expires == '0') {
                echo "";
            } else {
                if (get_option('mc_event_link_expires') == 'true') {
                    echo " checked=\"checked\"";
                }
            }
        }
        ?>
 /> <label for="e_link_expires"><?php 
        _e('Link will expire after event.', 'my-calendar');
        ?>
</label>
			</p>
			<?php 
    }
    ?>
			</fieldset>
			<p>
                <input type="submit" name="save" class="button-primary" value="<?php 
    _e('Edit Event Group', 'my-calendar');
    ?>
" />
			</p>			
	</div>
</div>
</div>
<?php 
    if ($mc_input['event_open'] == 'on' || $mc_input_administrator) {
        // add a "don't change" option here
        ?>
		
<div class="ui-sortable meta-box-sortables">
	<div class="postbox">
	<h3><?php 
        _e('Event Registration Options', 'my-calendar');
        ?>
</h3>
		<div class="inside">
			<fieldset>
			<legend><?php 
        _e('Event Registration Status', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_open')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</legend>
			<?php 
        echo apply_filters('mc_event_registration', '', $has_data, $data, 'admin');
        ?>
						
			</fieldset>
		</div>
	</div>	
</div>		
			<?php 
    } else {
        ?>
			<div>
				<input type="hidden" name="event_open" value="<?php 
        echo $has_data ? $data->event_open : '2';
        ?>
" />
				<input type="hidden"  name="event_tickets" value="<?php 
        echo $has_data ? esc_attr($data->event_tickets) : '';
        ?>
" />
				<input type="hidden" name="event_registration" value="<?php 
        echo $has_data ? esc_attr($data->event_registration) : '';
        ?>
" />
			</div>

			<?php 
    }
    ?>

			<?php 
    if ($mc_input['event_location'] == 'on' || $mc_input['event_location_dropdown'] == 'on' || $mc_input_administrator) {
        ?>

<div class="ui-sortable meta-box-sortables">
<div class="postbox">
<h3><?php 
        _e('Event Location', 'my-calendar');
        ?>
</h3>
<div class="inside location_form">
			<fieldset>
			<legend><?php 
        _e('Event Location', 'my-calendar');
        ?>
</legend>
			<?php 
    }
    ?>
			<?php 
    if ($mc_input['event_location_dropdown'] == 'on' || $mc_input_administrator) {
        ?>
			<?php 
        $locations = $mcdb->get_results("SELECT location_id,location_label FROM " . my_calendar_locations_table() . " ORDER BY location_label ASC");
        if (!empty($locations)) {
            ?>
				
			<p>
			<label for="location_preset"><?php 
            _e('Choose a preset location:', 'my-calendar');
            ?>
</label> <select name="location_preset" id="location_preset">
				<option value="none"> -- </option>
				<?php 
            foreach ($locations as $location) {
                echo "<option value=\"" . $location->location_id . "\">" . stripslashes($location->location_label) . "</option>";
            }
            ?>
			</select>
			</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 
        }
        ?>
			<?php 
    } else {
        ?>
				<input type="hidden" name="location_preset" value="none" />			
			<?php 
    }
    ?>
			<?php 
    if ($mc_input['event_location'] == 'on' || $mc_input_administrator) {
        ?>
			
			<p>
			<label for="e_label"><?php 
        _e('Name of Location (e.g. <em>Joe\'s Bar and Grill</em>)', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_label')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label><br /><input type="text" id="e_label" name="event_label" size="40" value="<?php 
        if (!empty($data)) {
            esc_attr_e(stripslashes($data->event_label));
        }
        ?>
" />
			</p>
			<p>
			<label for="e_street"><?php 
        _e('Street Address', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_street')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label> <input type="text" id="e_street" name="event_street" size="40" value="<?php 
        if (!empty($data)) {
            esc_attr_e(stripslashes($data->event_street));
        }
        ?>
" />
			</p>
			<p>
			<label for="e_street2"><?php 
        _e('Street Address (2)', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_street2')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label> <input type="text" id="e_street2" name="event_street2" size="40" value="<?php 
        if (!empty($data)) {
            esc_attr_e(stripslashes($data->event_street2));
        }
        ?>
" />
			</p>			
			<p>
			<label for="e_city"><?php 
        _e('City', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_city')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label> <input type="text" id="e_city" name="event_city" size="40" value="<?php 
        if (!empty($data)) {
            esc_attr_e(stripslashes($data->event_city));
        }
        ?>
" /> <label for="e_state"><?php 
        _e('State/Province', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_state')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label> <input type="text" id="e_state" name="event_state" size="10" value="<?php 
        if (!empty($data)) {
            esc_attr_e(stripslashes($data->event_state));
        }
        ?>
" /> 
			</p>
			<p>
			<label for="e_postcode"><?php 
        _e('Postal Code', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_postcode')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label> <input type="text" id="e_postcode" name="event_postcode" size="10" value="<?php 
        if (!empty($data)) {
            esc_attr_e(stripslashes($data->event_postcode));
        }
        ?>
" />
			<label for="e_region"><?php 
        _e('Region', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_region')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label> <input type="text" id="e_region" name="event_region" size="40" value="<?php 
        if (!empty($data)) {
            esc_attr_e(stripslashes($data->event_region));
        }
        ?>
" />
			</p>
			<p>
			<label for="e_country"><?php 
        _e('Country', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_country')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label> <input type="text" id="e_country" name="event_country" size="10" value="<?php 
        if (!empty($data)) {
            esc_attr_e(stripslashes($data->event_country));
        }
        ?>
" />
			</p>
			<p>
			<label for="e_zoom"><?php 
        _e('Initial Zoom', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_zoom')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label> 
				<select name="event_zoom" id="e_zoom">
				<option value="16"<?php 
        if (!empty($data) && $data->event_zoom == 16) {
            echo " selected=\"selected\"";
        }
        ?>
><?php 
        _e('Neighborhood', 'my-calendar');
        ?>
</option>
				<option value="14"<?php 
        if (!empty($data) && $data->event_zoom == 14) {
            echo " selected=\"selected\"";
        }
        ?>
><?php 
        _e('Small City', 'my-calendar');
        ?>
</option>
				<option value="12"<?php 
        if (!empty($data) && $data->event_zoom == 12) {
            echo " selected=\"selected\"";
        }
        ?>
><?php 
        _e('Large City', 'my-calendar');
        ?>
</option>
				<option value="10"<?php 
        if (!empty($data) && $data->event_zoom == 10) {
            echo " selected=\"selected\"";
        }
        ?>
><?php 
        _e('Greater Metro Area', 'my-calendar');
        ?>
</option>
				<option value="8"<?php 
        if (!empty($data) && $data->event_zoom == 8) {
            echo " selected=\"selected\"";
        }
        ?>
><?php 
        _e('State', 'my-calendar');
        ?>
</option>
				<option value="6"<?php 
        if (!empty($data) && $data->event_zoom == 6) {
            echo " selected=\"selected\"";
        }
        ?>
><?php 
        _e('Region', 'my-calendar');
        ?>
</option>
				</select>
			</p>
			<p>
			<label for="e_phone"><?php 
        _e('Phone', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_phone')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label> <input type="text" id="e_phone" name="event_phone" size="32" value="<?php 
        if (!empty($data)) {
            esc_attr_e(stripslashes($data->event_phone));
        }
        ?>
" />
			</p>			
			<p>
			<label for="e_url"><?php 
        _e('Location URL', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_url')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label> <input type="text" id="e_url" name="event_url" size="40" value="<?php 
        if (!empty($data)) {
            esc_attr_e(stripslashes($data->event_url));
        }
        ?>
" />
			</p>
			<fieldset>
			<legend><?php 
        _e('GPS Coordinates (optional)', 'my-calendar');
        ?>
</legend>
			<p>
			<label for="e_latitude"><?php 
        _e('Latitude', 'my-calendar');
        if (!mc_compare_group_members($group_id, 'event_latitude')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        if (!mc_compare_group_members($group_id, 'event_longitude')) {
            echo " <span>" . __('Fields do not match', 'my-calendar') . "</span>";
        }
        ?>
</label> <input type="text" id="e_latitude" name="event_latitude" size="10" value="<?php 
        if (!empty($data)) {
            esc_attr_e(stripslashes($data->event_latitude));
        }
        ?>
" /> <label for="e_longitude"><?php 
        _e('Longitude', 'my-calendar');
        ?>
</label> <input type="text" id="e_longitude" name="event_longitude" size="10" value="<?php 
        if (!empty($data)) {
            esc_attr_e(stripslashes($data->event_longitude));
        }
        ?>
" />
			</p>
			</fieldset>
			<fieldset>
			<legend><?php 
        _e('Location Accessibility', 'my-calendar');
        ?>
</legend>
			<ul class='checkboxes'>
			<?php 
        $access = apply_filters('mc_venue_accessibility', get_option('mc_location_access'));
        $access_list = '';
        if (!empty($data)) {
            $location_access = unserialize($data->event_access);
        } else {
            $location_access = array();
        }
        foreach ($access as $k => $a) {
            $id = "loc_access_{$k}";
            $label = $a;
            $checked = '';
            if (is_array($location_access)) {
                $checked = in_array($k, $location_access) ? " checked='checked'" : '';
            }
            $item = sprintf('<li><input type="checkbox" id="%1$s" name="event_access[]" value="%4$s" class="checkbox" %2$s /> <label for="%1$s">%3$s</label></li>', $id, $checked, $label, $k);
            $access_list .= $item;
        }
        echo $access_list;
        ?>
			</ul>
			</fieldset>				
			<?php 
    }
    ?>
			<?php 
    if ($mc_input['event_location'] == 'on' || $mc_input['event_location_dropdown'] == 'on' || $mc_input_administrator) {
        ?>
			</fieldset>
		</div>
		</div>
	</div>
			<?php 
    }
    ?>
	
			<p>
                <input type="submit" name="save" class="button-secondary" value="<?php 
    _e('Edit Event Group', 'my-calendar');
    ?>
" />
			</p>
	</form>
</div>
</div>
<?php 
}
コード例 #3
0
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;
}