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 
}
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 mcs_generate_fields()
{
    $standard_fields = array('event_title', 'event_date', 'event_time', 'end_date', 'end_time', 'mcs_name', 'mcs_email', 'event_host', 'event_recurring', 'description', 'short_description', 'access', 'event_link', 'event_image', 'registration');
    $output = "<table class='widefat wp-list-table'><caption>" . __('Event Field Settings', 'my-calendar-submissions') . "</caption><thead><tr><th>" . __('Enable Field', 'my-calendar-submissions') . "</th><th>" . __('Label', 'my-calendar-submissions') . "</th></tr></thead><tbody>";
    foreach ($standard_fields as $field) {
        $field_title = ucfirst(str_replace('_', ' ', str_replace(array('event_', 'mcs_'), '', $field)));
        if ($field == 'event_recurring' || $field == 'registration') {
            $disabled = 'disabled="disabled" placeholder="Custom Label Not available"';
        } else {
            $disabled = '';
        }
        if ($field == 'event_title' || $field == 'event_date' || $field == 'event_time' || $field == 'mcs_name' || $field == 'mcs_email') {
            $required = "<input type='hidden' value='on' name='fields[{$field}][active]' id='{$field}' />(" . __('Required', 'my-calendar-submissions') . ")";
        } else {
            $required = "<input type='checkbox' value='on' name='fields[{$field}][active]' id='{$field}' />";
        }
        $output .= "<tr><td>{$required} <label for='{$field}'>{$field_title}</label></td><td><label class='screen-reader-text' for='label_{$field}'>" . sprintf(__('%s label', 'my-calendar-submissions'), $field_title) . "</label> <input {$disabled} type='text' name='fields[{$field}][label]' id='label_{$field}' /></td></tr>";
    }
    $output .= "</tbody></table>";
    $output .= "<p><input type='checkbox' name='categories' id='categories' value='on' /> <label for='categories'>" . __('Enable Category Dropdown', 'my-calendar-submissions') . "</label></p>";
    $output .= "<p><label for='category'>" . __('Select default category', 'my-calendar-submissions') . "</label> <select name='category' id='category'>" . mc_category_select() . "</select></p>";
    $output .= "<p><label for='locations'>" . __('Enable Location Options', 'my-calendar-submissions') . "</label> \n\t\t<select name='locations' id='locations'>\n\t\t\t<option value='none'>" . __('User cannot enter locations', 'my-calendar-submissions') . "</option>\n\t\t\t<option value='choose'>" . __('User can choose locations from a dropdown', 'my-calendar-submissions') . "</option>\n\t\t\t<option value='enter'>" . __('User can enter new locations', 'my-calendar-submissions') . "</option>\n\t\t\t<option value='either'>" . __('User can either enter new locations or select an existing location', 'my-calendar-submissions') . "</option>\n\t\t</select>\n\t\t</p>";
    $output .= "<p><label for='location'>" . __('Select default location', 'my-calendar-submissions') . "</label> <select name='location' id='location'>" . mc_location_select() . "</select></p>";
    $location_fields = array('event_label', 'street', 'street2', 'phone', 'city', 'state', 'zip', 'region', 'country', 'url', 'gps');
    $output .= "<table class='widefat wp-list-table'><caption>" . __('Location Field Settings', 'my-calendar-submissions') . "</caption><thead><tr><th>" . __('Enable Location Field', 'my-calendar-submissions') . "</th><th>" . __('Label', 'my-calendar-submissions') . "</th></tr></thead><tbody>";
    foreach ($location_fields as $field) {
        $field_title = ucfirst(str_replace('_', ' ', str_replace(array('event_', 'mcs_'), '', $field)));
        if ($field == 'event_gps') {
            $disabled = 'disabled="disabled" placeholder="Custom Label Not available"';
        } else {
            $disabled = '';
        }
        $output .= "<tr><td><input type='checkbox' value='on' name='location_fields[{$field}][active]' id='{$field}' /> <label for='{$field}'>{$field_title}</label></td><td><label class='screen-reader-text' for='label_{$field}'>" . sprintf(__('%s label', 'my-calendar-submissions'), $field_title) . "</label> <input {$disabled} type='text' name='location_fields[{$field}][label]' id='label_{$field}' /></td></tr>";
    }
    $output .= "</tbody></table>";
    return $output;
}
/**
 * Show user profile data on Edit User pages.
 * 
 * return @string Configuration forms for My Calendar user-specific settings.
 */
function mc_profile()
{
    global $user_ID;
    $current_user = wp_get_current_user();
    $user_edit = isset($_GET['user_id']) ? (int) $_GET['user_id'] : $user_ID;
    if (user_can($user_edit, 'mc_manage_events') && current_user_can('manage_options')) {
        $permissions = (array) get_user_meta($user_edit, 'mc_user_permissions', true);
        $selected = empty($permissions) || in_array('all', $permissions) ? ' selected="selected"' : '';
        ?>
		<h3><?php 
        _e('My Calendar Editor Permissions', 'my-calendar');
        ?>
</h3>
		<table class="form-table">
			<tr>
				<th scope="row">
					<label for="mc_user_permissions"><?php 
        _e("Allowed Categories", 'my-calendar');
        ?>
</label>
				</th>
				<td>
					<select name="mc_user_permissions[]" id="mc_user_permissions" multiple>
						<option value='all'<?php 
        echo $selected;
        ?>
><?php 
        _e('All', 'my-calendar');
        ?>
</option>
						<?php 
        echo mc_category_select($permissions, true, 'multiple');
        ?>
					</select>
				</td>
			</tr>
			<?php 
        echo apply_filters('mc_user_fields', '', $user_edit);
        ?>
		</table>
		<?php 
    }
}
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);
}
    function form($instance)
    {
        mcs_check();
        $options = get_option('mcs_options');
        $fields = $options['fields'];
        $location_fields = $options['location_fields'];
        if (empty($fields)) {
            $options = mcs_default_settings(false);
            $fields = $options['fields'];
            $location_fields = $options['location_fields'];
        }
        $defaults = $options['widget_defaults'];
        $widget_title = !empty($instance['title']) ? esc_attr($instance['title']) : $defaults['title'];
        if (!empty($instance)) {
            $widget_fields = empty($instance['fields']) ? $fields : $instance['fields'];
        } else {
            $widget_fields = $fields;
        }
        if (!empty($instance)) {
            $widget_location_fields = empty($instance['location_fields']) ? $location_fields : $instance['location_fields'];
        } else {
            $widget_location_fields = $location_fields;
        }
        $widget_categories = !empty($instance['categories']) ? esc_attr($instance['categories']) : '';
        $widget_category = !empty($instance['category']) ? esc_attr($instance['category']) : '';
        $widget_locations = !empty($instance['locations']) ? esc_attr($instance['locations']) : '';
        $widget_location = !empty($instance['location']) ? esc_attr($instance['location']) : '';
        ?>
		<p>
			<label for="<?php 
        echo $this->get_field_id('title');
        ?>
"><?php 
        _e('Widget Title', 'my-calendar-submissions');
        ?>
:</label><br />
			<input class="widefat" type="text" id="<?php 
        echo $this->get_field_id('title');
        ?>
" name="<?php 
        echo $this->get_field_name('title');
        ?>
" value="<?php 
        esc_attr_e($widget_title);
        ?>
"/>
		</p>
		<fieldset>
			<legend><strong><?php 
        _e('Included Fields', 'my-calendar-submissions');
        ?>
</strong></legend>
			<ul>
				<li><?php 
        _e('Event Title (required)', 'my-calendar-submissions');
        ?>
</li>
				<li><?php 
        _e('Date/Time (required)', 'my-calendar-submissions');
        ?>
</li>
				<li><?php 
        _e('Name', 'my-calendar-submissions');
        ?>
</li>
				<li><?php 
        _e('Email (required)', 'my-calendar-submissions');
        ?>
</li>
				<?php 
        $checked = " checked='checked'";
        // can select: each field to require (title and date must be included)
        if (is_array($fields)) {
            foreach ($fields as $key => $value) {
                $check = in_array($value, $widget_fields) ? $checked : '';
                $title = mcs_get_field_name($key, $value);
                echo "<li><input type='checkbox' name='" . $this->get_field_name('fields') . "[{$key}]' id='" . $this->get_field_id('title') . "mc_{$key}' value='{$value}'{$check} /> <label for='" . $this->get_field_id('title') . "mc_{$key}'>" . esc_html($title) . "</label></li>\n";
            }
        }
        ?>
			</ul>	
		</fieldset>
		<fieldset>
			<legend><strong><?php 
        _e('Categories', 'my-calendar-submissions');
        ?>
</strong></legend>
			<p>
				<input type="checkbox" name="<?php 
        echo $this->get_field_name('categories');
        ?>
" id="<?php 
        echo $this->get_field_name('categories');
        ?>
" value="true"<?php 
        echo $widget_categories == 'true' ? $checked : '';
        ?>
> <label for="<?php 
        echo $this->get_field_name('categories');
        ?>
"><?php 
        _e('Include list of categories', 'my-calendar-submissions');
        ?>
</label>
			</p>
			<p>
				<select name="<?php 
        echo $this->get_field_name('category');
        ?>
" id="<?php 
        echo $this->get_field_name('category');
        ?>
">
				<?php 
        echo mc_category_select($widget_category);
        ?>
				</select> <label for="<?php 
        echo $this->get_field_name('category');
        ?>
"><?php 
        _e('Default category', 'my-calendar-submissions');
        ?>
</label>
			</p>
		</fieldset>
		<fieldset>
			<legend><strong><?php 
        _e('Locations', 'my-calendar-submissions');
        ?>
</strong></legend>
			<ul>
			<li><input type="radio" name="<?php 
        echo $this->get_field_name('locations');
        ?>
" id="<?php 
        echo $this->get_field_id('locations');
        ?>
choose" value="choose"<?php 
        echo $widget_locations == 'choose' ? $checked : '';
        ?>
> <label for="<?php 
        echo $this->get_field_id('locations');
        ?>
choose"><?php 
        _e('Can choose a location', 'my-calendar-submissions');
        ?>
</label></li>
			<li><input type="radio" name="<?php 
        echo $this->get_field_name('locations');
        ?>
" id="<?php 
        echo $this->get_field_id('locations');
        ?>
either" value="either"<?php 
        echo $widget_locations == 'either' ? $checked : '';
        ?>
> <label for="<?php 
        echo $this->get_field_id('locations');
        ?>
either"><?php 
        _e('Can enter or choose a location', 'my-calendar-submissions');
        ?>
</label></li>
			<li><input type="radio" name="<?php 
        echo $this->get_field_name('locations');
        ?>
" id="<?php 
        echo $this->get_field_id('locations');
        ?>
enter" value="enter"<?php 
        echo $widget_locations == 'enter' ? $checked : '';
        ?>
> <label for="<?php 
        echo $this->get_field_id('locations');
        ?>
enter"><?php 
        _e('Can enter a location', 'my-calendar-submissions');
        ?>
</label></li>
			<li><input type="radio" name="<?php 
        echo $this->get_field_name('locations');
        ?>
" id="<?php 
        echo $this->get_field_id('locations');
        ?>
neither" value="neither"<?php 
        echo $widget_locations == 'neither' ? $checked : '';
        ?>
> <label for="<?php 
        echo $this->get_field_id('locations');
        ?>
neither"><?php 
        _e('None of the above', 'my-calendar-submissions');
        ?>
</label></li>
			</ul>
			<p>
			<label for="<?php 
        echo $this->get_field_name('location');
        ?>
"><?php 
        _e('Default location', 'my-calendar-submissions');
        ?>
</label> <select name="<?php 
        echo $this->get_field_name('location');
        ?>
" id="<?php 
        echo $this->get_field_name('location');
        ?>
">
				<option value=''><?php 
        _e('None', 'my-calendar-submissions');
        ?>
</option>
				<?php 
        echo mc_location_select($widget_location);
        ?>
			</select>
			</p>
		</fieldset>
		<fieldset>
			<legend><strong><?php 
        _e('Included Location Fields', 'my-calendar-submissions');
        ?>
</strong></legend>
			<ul>
			<li><?php 
        _e('Location Label (required)', 'my-calendar-submissions');
        ?>
</li>
			<?php 
        // can select: each field to require (label must be included)
        if (is_array($location_fields)) {
            foreach ($location_fields as $key => $value) {
                $check = in_array($value, $widget_location_fields) ? $checked : '';
                $title = mcs_get_field_name($key, $value);
                echo "<li><input type='checkbox' name='" . $this->get_field_name('location_fields') . "[{$key}]' id='" . $this->get_field_id('location_fields') . "mc_{$key}' value='{$value}'{$check} /> <label for='" . $this->get_field_id('location_fields') . "mc_{$key}'>" . esc_html($title) . "</label></li>\n";
            }
        }
        ?>
			</ul>
		</fieldset>	
		<?php 
    }