function edit_mc_templates() { global $wpdb; $mcdb = $wpdb; $templates = get_option('mc_templates'); if (!empty($_POST)) { $nonce = $_REQUEST['_wpnonce']; if (!wp_verify_nonce($nonce, 'my-calendar-nonce')) { die("Security check failed"); } } if (isset($_POST['mc_grid_template'])) { $mc_grid_template = $_POST['mc_grid_template']; $templates['grid'] = $mc_grid_template; update_option('mc_templates', $templates); update_option('mc_use_grid_template', empty($_POST['mc_use_grid_template']) ? 0 : 1); echo "<div class=\"updated\"><p><strong>" . __('Grid Output Template saved', 'my-calendar') . ".</strong></p></div>"; } if (isset($_POST['mc_rss_template'])) { $mc_rss_template = $_POST['mc_rss_template']; $templates['rss'] = $mc_rss_template; update_option('mc_templates', $templates); update_option('mc_use_rss_template', empty($_POST['mc_use_rss_template']) ? 0 : 1); echo "<div class=\"updated\"><p><strong>" . __('RSS Feed Output Template saved', 'my-calendar') . ".</strong></p></div>"; } if (isset($_POST['mc_list_template'])) { $mc_list_template = $_POST['mc_list_template']; $templates['list'] = $mc_list_template; update_option('mc_templates', $templates); update_option('mc_use_list_template', empty($_POST['mc_use_list_template']) ? 0 : 1); echo "<div class=\"updated\"><p><strong>" . __('List Output Template saved', 'my-calendar') . ".</strong></p></div>"; } if (isset($_POST['mc_mini_template'])) { $mc_mini_template = $_POST['mc_mini_template']; $templates['mini'] = $mc_mini_template; update_option('mc_templates', $templates); update_option('mc_use_mini_template', empty($_POST['mc_use_mini_template']) ? 0 : 1); echo "<div class=\"updated\"><p><strong>" . __('Mini Output Template saved', 'my-calendar') . ".</strong></p></div>"; } if (isset($_POST['mc_details_template'])) { $mc_details_template = $_POST['mc_details_template']; $templates['details'] = $mc_details_template; update_option('mc_templates', $templates); update_option('mc_use_details_template', empty($_POST['mc_use_details_template']) ? 0 : 1); echo "<div class=\"updated\"><p><strong>" . __('Event Details Template saved', 'my-calendar') . ".</strong></p></div>"; } global $grid_template, $list_template, $mini_template, $single_template, $rss_template; $mc_grid_template = stripslashes($templates['grid'] != '' ? $templates['grid'] : $grid_template); $mc_use_grid_template = get_option('mc_use_grid_template'); $mc_rss_template = stripslashes($templates['rss'] != '' ? $templates['rss'] : $rss_template); $mc_use_rss_template = get_option('mc_use_rss_template'); $mc_list_template = stripslashes($templates['list'] != '' ? $templates['list'] : $list_template); $mc_use_list_template = get_option('mc_use_list_template'); $mc_mini_template = stripslashes($templates['mini'] != '' ? $templates['mini'] : $mini_template); $mc_use_mini_template = get_option('mc_use_mini_template'); $mc_details_template = stripslashes($templates['details'] != '' ? $templates['details'] : $single_template); $mc_use_details_template = get_option('mc_use_details_template'); ?> <div class="wrap jd-my-calendar"> <?php my_calendar_check_db(); ?> <h2><?php _e('My Calendar Information Templates', 'my-calendar'); ?> </h2> <div class="postbox-container jcd-wide"> <div class="metabox-holder"> <p><?php _e('Advanced users may customize the HTML template for each event. This page lets you create a customized view of your events in each context. All available template tags are documented on the Help page. These default templates are based on the default views with all output enabled. <strong>Custom templates will override any other output rules in your settings.</strong>', 'my-calendar'); ?> <a href="<?php echo admin_url("admin.php?page=my-calendar-help#templates"); ?> "><?php _e("Templates Help", 'my-calendar'); ?> </a> »</p> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('My Calendar: Grid Event Template', 'my-calendar'); ?> </h3> <div class="inside"> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-templates"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <p> <input type="checkbox" id="mc_use_grid_template" name="mc_use_grid_template" value="1" <?php mc_is_checked('mc_use_grid_template', 1); ?> /> <label for="mc_use_grid_template"><?php _e('Use this grid event template', 'my-calendar'); ?> </label> </p> <p> <label for="mc_grid_template"><?php _e('Your custom template for events in the calendar grid output.', 'my-calendar'); ?> </label><br /><textarea id="mc_grid_template" name="mc_grid_template" class="template-editor" rows="16" cols="76"><?php echo $mc_grid_template; ?> </textarea> </p> <p> <input type="submit" name="save" class="button-primary" value="<?php _e('Save Grid Template', 'my-calendar'); ?> " /> </p> </form> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('My Calendar: List Event Template', 'my-calendar'); ?> </h3> <div class="inside"> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-templates"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <p> <input type="checkbox" id="mc_use_list_template" name="mc_use_list_template" value="1" <?php mc_is_checked('mc_use_list_template', 1); ?> /> <label for="mc_use_list_template"><?php _e('Use this list event template', 'my-calendar'); ?> </label> </p> <p> <label for="mc_list_template"><?php _e('Your custom template for events in calendar list output.', 'my-calendar'); ?> </label><br /><textarea id="mc_list_template" name="mc_list_template" class="template-editor" rows="16" cols="76"><?php echo $mc_list_template; ?> </textarea> </p> <p> <input type="submit" name="save" class="button-primary" value="<?php _e('Save List Template', 'my-calendar'); ?> " /> </p> </form> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('My Calendar: Mini Calendar Template', 'my-calendar'); ?> </h3> <div class="inside"> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-templates"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <p> <input type="checkbox" id="mc_use_mini_template" name="mc_use_mini_template" value="1" <?php mc_is_checked('mc_use_mini_template', 1); ?> /> <label for="mc_use_mini_template"><?php _e('Use this mini event template', 'my-calendar'); ?> </label> </p> <p> <label for="mc_mini_template"><?php _e('Your custom template for events in sidebar/mini calendar output.', 'my-calendar'); ?> </label><br /><textarea id="mc_mini_template" name="mc_mini_template" rows="16" cols="76" class="template-editor"><?php echo $mc_mini_template; ?> </textarea> </p> <p> <input type="submit" name="save" class="button-primary" value="<?php _e('Save Mini Template', 'my-calendar'); ?> " /> </p> </form> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('My Calendar: Event Details Page Template', 'my-calendar'); ?> </h3> <div class="inside"> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-templates"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <p> <input type="checkbox" id="mc_use_details_template" name="mc_use_details_template" value="1" <?php mc_is_checked('mc_use_details_template', 1); ?> /> <label for="mc_use_details_template"><?php _e('Use this details template', 'my-calendar'); ?> </label> </p> <p> <label for="mc_details_template"><?php _e('Your custom template for events on the event details page.', 'my-calendar'); ?> </label><br /><textarea id="mc_details_template" name="mc_details_template" rows="16" cols="76" class="template-editor"><?php echo $mc_details_template; ?> </textarea> </p> <p> <input type="submit" name="save" class="button-primary" value="<?php _e('Save Details Template', 'my-calendar'); ?> " /> </p> </form> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('My Calendar: RSS Event Template', 'my-calendar'); ?> </h3> <div class="inside"> <p><?php _e('Notice: HTML templates are very forgiving of errors. RSS templates are not. Be sure to test your changes.', 'my-calendar'); ?> </p> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-templates"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <p> <input type="checkbox" id="mc_use_rss_template" name="mc_use_rss_template" value="1" <?php mc_is_checked('mc_use_rss_template', 1); ?> /> <label for="mc_use_grid_template"><?php _e('Use this custom RSS event template', 'my-calendar'); ?> </label> </p> <p> <label for="mc_rss_template"><?php _e('Your custom template for events in the RSS feed.', 'my-calendar'); ?> </label><br /><textarea id="mc_rss_template" name="mc_rss_template" class="template-editor" rows="16" cols="76"><?php echo $mc_rss_template; ?> </textarea> </p> <p> <input type="submit" name="save" class="button-primary" value="<?php _e('Save RSS Template', 'my-calendar'); ?> " /> </p> </form> </div> </div> </div> </div> </div> <?php mc_show_sidebar('templates'); }
function mc_show_location_form($view = 'add', $curID = '') { global $wpdb; $mcdb = $wpdb; $cur_loc = false; if ($curID != '') { $sql = "SELECT * FROM " . my_calendar_locations_table() . " WHERE location_id={$curID}"; $cur_loc = $mcdb->get_row($sql); } $has_data = empty($cur_loc) ? false : true; if ($view == 'add') { ?> <h2><?php _e('Add New Location', 'my-calendar'); ?> </h2> <?php } else { ?> <h2><?php _e('Edit Location', 'my-calendar'); ?> </h2> <?php } ?> <div class="postbox-container jcd-wide"> <div class="metabox-holder"> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('Location Editor', 'my-calendar'); ?> </h3> <div class="inside location_form"> <form id="my-calendar" method="post" action="<?php echo admin_url("admin.php?page=my-calendar-locations"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> "/></div> <?php if ($view == 'add') { ?> <div> <input type="hidden" name="mode" value="add"/> <input type="hidden" name="location_id" value=""/> </div> <?php } else { ?> <div> <input type="hidden" name="mode" value="edit"/> <input type="hidden" name="location_id" value="<?php echo $cur_loc->location_id; ?> "/> </div> <?php } echo mc_locations_fields($has_data, $cur_loc, 'location'); ?> <p> <input type="submit" name="save" class="button-primary" value="<?php if ($view == 'edit') { _e('Save Changes', 'my-calendar'); } else { _e('Add Location', 'my-calendar'); } ?> »"/> </p> </form> </div> </div> </div> <?php if ($view == 'edit') { ?> <p> <a href="<?php echo admin_url("admin.php?page=my-calendar-locations"); ?> "><?php _e('Add a New Location', 'my-calendar'); ?> »</a> </p> <?php } ?> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('Manage Locations', 'my-calendar'); ?> </h3> <div class="inside"> <?php mc_manage_locations(); ?> </div> </div> </div> </div> <?php mc_show_sidebar(); ?> </div> <?php }
function edit_my_calendar_styles() { $dir = plugin_dir_path(__FILE__); if (isset($_POST['mc_edit_style'])) { $nonce = $_REQUEST['_wpnonce']; if (!wp_verify_nonce($nonce, 'my-calendar-nonce')) { die("Security check failed"); } $my_calendar_style = isset($_POST['style']) ? stripcslashes($_POST['style']) : false; $mc_css_file = stripcslashes($_POST['mc_css_file']); $stylefile = mc_get_style_path($mc_css_file); $wrote_styles = $my_calendar_style !== false ? mc_write_styles($stylefile, $my_calendar_style) : 'disabled'; if ($wrote_styles == true) { // updates from pre version 1.7.0 delete_option('mc_file_permissions'); delete_option('mc_style'); } if ($wrote_styles === 'disabled') { $message = "<p>" . __("Styles are disabled, and were not edited.", 'my-calendar') . "</p>"; } else { $message = $wrote_styles == true ? '<p>' . __('The stylesheet has been updated.', 'my-calendar') . '</p>' : '<p><strong>' . __('Write Error! Please verify write permissions on the style file.', 'my-calendar') . '</strong></p>'; } $mc_show_css = empty($_POST['mc_show_css']) ? '' : stripcslashes($_POST['mc_show_css']); update_option('mc_show_css', $mc_show_css); $use_styles = empty($_POST['use_styles']) ? '' : 'true'; update_option('mc_use_styles', $use_styles); if (!empty($_POST['reset_styles'])) { $stylefile = mc_get_style_path(); $styles = mc_default_style(); $wrote_old_styles = mc_write_styles($stylefile, $styles); if ($wrote_old_styles) { $message .= "<p>" . __('Stylesheet reset to default.', 'my-calendar') . "</p>"; } } $message .= "<p><strong>" . __('Style Settings Saved', 'my-calendar') . ".</strong></p>"; echo "<div id='message' class='updated fade'>{$message}</div>"; } if (isset($_POST['mc_choose_style'])) { $nonce = $_REQUEST['_wpnonce']; if (!wp_verify_nonce($nonce, 'my-calendar-nonce')) { die("Security check failed"); } $mc_css_file = stripcslashes($_POST['mc_css_file']); update_option('mc_css_file', $mc_css_file); $message = '<p><strong>' . __('New theme selected.', 'my-calendar') . '</strong></p>'; echo "<div id='message' class='updated fade'>{$message}</div>"; } $mc_show_css = get_option('mc_show_css'); $stylefile = mc_get_style_path(); if ($stylefile) { $f = fopen($stylefile, 'r'); $file = fread($f, filesize($stylefile)); $my_calendar_style = $file; fclose($f); $mc_current_style = mc_default_style(); } else { $mc_current_style = ''; $my_calendar_style = __('Sorry. The file you are looking for doesn\'t appear to exist. Please check your file name and location!', 'my-calendar'); } ?> <div class="wrap jd-my-calendar"> <?php my_calendar_check_db(); ?> <h2><?php _e('My Calendar Styles', 'my-calendar'); ?> </h2> <div class="postbox-container jcd-wide"> <div class="metabox-holder"> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('Calendar Style Settings', 'my-calendar'); ?> </h3> <div class="inside"> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-styles"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> "/></div> <div><input type="hidden" value="true" name="mc_choose_style"/></div> <fieldset> <p> <label for="mc_css_file"><?php _e('Select My Calendar Theme', 'my-calendar'); ?> </label> <select name="mc_css_file" id="mc_css_file"><?php $custom_directory = str_replace('/my-calendar/', '', $dir) . '/my-calendar-custom/styles/'; $directory = dirname(__FILE__) . '/styles/'; $files = @my_csslist($custom_directory); if (!empty($files)) { echo "<optgroup label='" . __('Your Custom Stylesheets', 'my-calendar') . "'>\n"; foreach ($files as $value) { $filepath = mc_get_style_path($value); $path = pathinfo($filepath); if ($path['extension'] == 'css') { $test = "mc_custom_" . $value; $selected = get_option('mc_css_file') == $test ? " selected='selected'" : ""; echo "<option value='" . esc_attr('mc_custom_' . $value) . "'{$selected}>{$value}</option>\n"; } } echo "</optgroup>"; } $files = my_csslist($directory); echo "<optgroup label='" . __('Installed Stylesheets', 'my-calendar') . "'>\n"; foreach ($files as $value) { $filepath = mc_get_style_path($value); $path = pathinfo($filepath); if ($path['extension'] == 'css') { $selected = get_option('mc_css_file') == $value ? " selected='selected'" : ""; echo "<option value='" . esc_attr($value) . "'{$selected}>{$value}</option>\n"; } } echo "</optgroup>"; ?> </select> <input type="submit" name="save" class="button-secondary" value="<?php _e('Choose Style', 'my-calendar'); ?> "/> </p> </fieldset> </form> <hr/> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-styles"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> "/></div> <div><input type="hidden" value="true" name="mc_edit_style"/> <input type="hidden" name="mc_css_file" value="<?php esc_attr_e(get_option('mc_css_file')); ?> "/> </div> <fieldset style="position:relative;"> <legend><?php _e('CSS Style Options', 'my-calendar'); ?> </legend> <p> <label for="mc_show_css"><?php _e('Apply CSS on these pages (comma separated IDs)', 'my-calendar'); ?> </label> <input type="text" id="mc_show_css" name="mc_show_css" value="<?php esc_attr_e($mc_show_css); ?> "/> </p> <p> <input type="checkbox" id="reset_styles" name="reset_styles" <?php if (mc_is_custom_style(get_option('mc_css_file'))) { echo "disabled='disabled'"; } ?> /> <label for="reset_styles"><?php _e('Restore My Calendar stylesheet', 'my-calendar'); ?> </label> <input type="checkbox" id="use_styles" name="use_styles" <?php mc_is_checked('mc_use_styles', 'true'); ?> /> <label for="use_styles"><?php _e('Disable My Calendar Stylesheet', 'my-calendar'); ?> </label> </p> <p> <?php if (mc_is_custom_style(get_option('mc_css_file'))) { _e('The editor is not available for custom CSS files. You should edit your custom CSS locally, then upload your changes.', 'my-calendar'); } else { ?> <label for="style"><?php _e('Edit the stylesheet for My Calendar', 'my-calendar'); ?> </label><br/><textarea class="style-editor" id="style" name="style" rows="30" cols="80"<?php if (get_option('mc_use_styles') == 'true') { echo "disabled='disabled'"; } ?> ><?php echo $my_calendar_style; ?> </textarea> <?php } ?> </p> <p> <input type="submit" name="save" class="button-primary button-adjust" value="<?php _e('Save Changes', 'my-calendar'); ?> "/> </p> </fieldset> </form> <?php $left_string = normalize_whitespace($my_calendar_style); $right_string = normalize_whitespace($mc_current_style); if ($right_string) { // if right string is blank, there is no default if (isset($_GET['diff'])) { echo '<div class="wrap jd-my-calendar" id="diff">'; echo wp_text_diff($left_string, $right_string, array('title' => __('Comparing Your Style with latest installed version of My Calendar', 'my-calendar'), 'title_right' => __('Latest (from plugin)', 'my-calendar'), 'title_left' => __('Current (in use)', 'my-calendar'))); echo '</div>'; } else { if (trim($left_string) != trim($right_string)) { echo '<div class="wrap jd-my-calendar">'; echo '<div class="updated"><p>' . __('There have been updates to the stylesheet.', 'my-calendar') . ' <a href="' . admin_url("admin.php?page=my-calendar-styles&diff#diff") . '">' . __('Compare Your Stylesheet with latest installed version of My Calendar.', 'my-calendar') . '</a></p></div>'; echo '</div>'; } else { echo ' <div class="wrap jd-my-calendar"> <p>' . __('Your stylesheet matches that included with My Calendar.', 'my-calendar') . '</p> </div>'; } } } ?> </div> </div> <p><?php _e('Resetting your stylesheet will set your stylesheet to the version currently distributed with the plug-in.', 'my-calendar'); ?> </p> </div> </div> </div> <?php mc_show_sidebar(); ?> </div><?php }
function edit_my_calendar_groups() { global $current_user, $wpdb, $users_entries; $mcdb = $wpdb; // First some quick cleaning up $edit = $save = false; $action = !empty($_POST['event_action']) ? $_POST['event_action'] : ''; $event_id = !empty($_POST['event_id']) ? $_POST['event_id'] : ''; $group_id = !empty($_POST['group_id']) ? $_POST['group_id'] : ''; if (isset($_GET['mode'])) { if ($_GET['mode'] == 'edit') { $action = "edit"; $event_id = (int) $_GET['event_id']; $group_id = (int) $_GET['group_id']; } } if (isset($_POST['event_action'])) { global $mc_output; $nonce = $_REQUEST['_wpnonce']; if (!wp_verify_nonce($nonce, 'my-calendar-nonce')) { wp_die("Security check failed"); } $proceed = false; switch ($_POST['event_action']) { case 'edit': if (isset($_POST['apply']) && is_array($_POST['apply'])) { $mc_output = mc_check_group_data($action, $_POST); foreach ($_POST['apply'] as $event_id) { $response = my_calendar_save_group($action, $mc_output, $event_id); echo $response; } } break; case 'break': foreach ($_POST['break'] as $event_id) { $update = array('event_group_id' => 0); $formats = array('%d'); //$mcdb->show_errors(); $result = $mcdb->update(my_calendar_table(), $update, array('event_id' => $event_id), $formats, '%d'); //$mcdb->print_error(); $url = get_option('mc_uri') != '' && !is_numeric(get_option('mc_uri')) ? ' ' . sprintf(__('View <a href="%s">your calendar</a>.', 'my-calendar'), get_option('mc_uri')) : ''; if ($result === false) { $message = "<div class='error'><p><strong>" . __('Error', 'my-calendar') . ":</strong>" . __('Event not updated.', 'my-calendar') . "{$url}</p></div>"; } else { if ($result === 0) { $message = "<div class='updated'><p>#{$event_id}: " . __('Nothing was changed in that update.', 'my-calendar') . "{$url}</p></div>"; } else { $message = "<div class='updated'><p>#{$event_id}: " . __('Event updated successfully', 'my-calendar') . ".{$url}</p></div>"; } } } break; case 'group': if (isset($_POST['group']) && is_array($_POST['group'])) { $events = $_POST['group']; sort($events); } foreach ($events as $event_id) { $group_id = $events[0]; $update = array('event_group_id' => $group_id); $formats = array('%d'); //$mcdb->show_errors(); $result = $mcdb->update(my_calendar_table(), $update, array('event_id' => $event_id), $formats, '%d'); //$mcdb->print_error(); if ($result === false) { $message = "<div class='error'><p><strong>" . __('Error', 'my-calendar') . ":</strong>" . __('Event not grouped.', 'my-calendar') . "</p></div>"; } else { if ($result === 0) { $message = "<div class='updated'><p>#{$event_id}: " . __('Nothing was changed in that update.', 'my-calendar') . "</p></div>"; } else { $message = "<div class='updated'><p>#{$event_id}: " . __('Event grouped successfully', 'my-calendar') . "</p></div>"; } } } break; } } ?> <div class="wrap jd-my-calendar" id="my-calendar"><?php my_calendar_check_db(); if ($action == 'edit' || $action == 'edit' && $error_with_saving == 1) { ?> <div id="icon-edit" class="icon32"></div> <h2><?php _e('Edit Event Group', 'my-calendar'); ?> </h2> <?php if (empty($event_id) || empty($group_id)) { echo "<div class=\"error\"><p>" . __("You must provide an event group id in order to edit it", 'my-calendar') . "</p></div>"; } else { mc_edit_groups('edit', $event_id, $group_id); } } else { ?> <div id="icon-edit" class="icon32"></div> <h2><?php _e('Manage Event Groups', 'my-calendar'); ?> </h2> <p> <?php _e('Grouped events can be edited simultaneously. When you choose a group of events to edit, the form will be pre-filled with the content applicable to the member of the event group you started from. (e.g., if you click on the "Edit Group" link for the 3rd of a set of events, the boxes will use the content applicable to that event.). You will also receive a set of checkboxes which will indicate which events in the group should have these changes applied. (All grouped events can also be edited individually.)', 'my-calendar'); ?> </p> <div class="postbox-container jcd-wide"> <div class="metabox-holder"> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('Manage Event Groups', 'my-calendar'); ?> </h3> <div class="inside"> <p><?php _e('Select an event group to edit.', 'my-calendar'); ?> </p> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('Create/Modify Groups', 'my-calendar'); ?> </h3> <?php mc_list_groups(); ?> </div> </div> </div> </div><?php } mc_show_sidebar(); ?> </div><?php }
function edit_my_calendar() { global $current_user, $wpdb, $users_entries; $mcdb = $wpdb; if (get_option('ko_calendar_imported') != 'true') { if (function_exists('check_calendar')) { echo "<div id='message'class='updated'>"; echo "<p>"; _e('My Calendar has identified that you have the Calendar plugin by Kieran O\'Shea installed. You can import those events and categories into the My Calendar database. Would you like to import these events?', 'my-calendar'); echo "</p>"; ?> <form method="post" action="<?php echo admin_url('admin.php?page=my-calendar-config'); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> "/> </div> <div> <input type="hidden" name="import" value="true"/> <input type="submit" value="<?php _e('Import from Calendar', 'my-calendar'); ?> " name="import-calendar" class="button-primary"/> </div> </form> <?php echo "<p>"; _e('Although it is possible that this import could fail to import your events correctly, it should not have any impact on your existing Calendar database. If you encounter any problems, <a href="http://www.joedolson.com/contact.php">please contact me</a>!', 'my-calendar'); echo "</p>"; echo "</div>"; } } $action = !empty($_POST['event_action']) ? $_POST['event_action'] : ''; $event_id = !empty($_POST['event_id']) ? $_POST['event_id'] : ''; if (isset($_GET['mode'])) { $action = $_GET['mode']; if ($action == 'edit' || $action == 'copy') { $event_id = (int) $_GET['event_id']; } } if (isset($_POST['event_action'])) { $nonce = $_REQUEST['_wpnonce']; if (!wp_verify_nonce($nonce, 'my-calendar-nonce')) { die("Security check failed"); } global $mc_output; $count = 0; if (isset($_POST['event_begin']) && is_array($_POST['event_begin'])) { $count = count($_POST['event_begin']); } else { $response = my_calendar_save($action, $mc_output, (int) $_POST['event_id']); echo $response['message']; } for ($i = 0; $i < $count; $i++) { $mc_output = mc_check_data($action, $_POST, $i); if ($action == 'add' || $action == 'copy') { $response = my_calendar_save($action, $mc_output); } else { $response = my_calendar_save($action, $mc_output, (int) $_POST['event_id']); } echo $response['message']; } if (isset($_POST['ref'])) { $url = esc_url(urldecode($_POST['ref'])); echo "<p class='return'><a href='{$url}'>" . __('Return to Calendar', 'my-calendar') . "</a></p>"; } } ?> <div class="wrap jd-my-calendar"> <?php my_calendar_check_db(); if (get_site_option('mc_multisite') == 2) { if (get_option('mc_current_table') == 0) { $message = __('Currently editing your local calendar', 'my-calendar'); } else { $message = __('Currently editing your central calendar', 'my-calendar'); } echo "<div class='message updated'><p>{$message}</p></div>"; } if ($action == 'edit') { ?> <h1><?php _e('Edit Event', 'my-calendar'); ?> </h1> <?php if (empty($event_id)) { echo "<div class='error'><p>" . __("You must provide an event id in order to edit it", 'my-calendar') . "</p></div>"; } else { mc_edit_event_form('edit', $event_id); } } else { if ($action == 'copy') { ?> <h1><?php _e('Copy Event', 'my-calendar'); ?> </h1> <?php if (empty($event_id)) { echo "<div class=\"error\"><p>" . __("You must provide an event id in order to edit it", 'my-calendar') . "</p></div>"; } else { mc_edit_event_form('copy', $event_id); } } else { ?> <h1><?php _e('Add Event', 'my-calendar'); ?> </h1><?php mc_edit_event_form(); } } mc_show_sidebar(); ?> </div><?php }
function edit_my_calendar_config() { global $wpdb; $mcdb = $wpdb; check_my_calendar(); if (!empty($_POST)) { $nonce = $_REQUEST['_wpnonce']; if (!wp_verify_nonce($nonce, 'my-calendar-nonce')) { die("Security check failed"); } if (isset($_POST['remigrate'])) { echo "<div class='updated fade'><ol>"; echo "<li>" . __('Dropping occurrences database table', 'my-calendar') . "</li>"; mc_drop_table('my_calendar_event_table'); sleep(1); echo "<li>" . __('Reinstalling occurrences database table.', 'my-calendar') . "</li>"; mc_upgrade_db(); sleep(1); echo "<li>" . __('Generating event occurrences.', 'my-calendar') . "</li>"; mc_migrate_db(); echo "<li>" . __('Event generation completed.', 'my-calendar') . "</li>"; echo "</ol></div>"; } } if (isset($_POST['mc_manage'])) { // management $clear = ''; $mc_event_approve = !empty($_POST['mc_event_approve']) && $_POST['mc_event_approve'] == 'on' ? 'true' : 'false'; $mc_api_enabled = !empty($_POST['mc_api_enabled']) && $_POST['mc_api_enabled'] == 'on' ? 'true' : 'false'; $mc_remote = !empty($_POST['mc_remote']) && $_POST['mc_remote'] == 'on' ? 'true' : 'false'; if (isset($_POST['mc_clear_cache']) && $_POST['mc_clear_cache'] == 'clear') { mc_delete_cache(); $clear = __('My Calendar Cache cleared', 'my-calendar'); } update_option('mc_event_approve', $mc_event_approve); update_option('mc_api_enabled', $mc_api_enabled); update_option('mc_remote', $mc_remote); update_option('mc_default_sort', $_POST['mc_default_sort']); if (get_site_option('mc_multisite') == 2) { $mc_current_table = (int) $_POST['mc_current_table']; update_option('mc_current_table', $mc_current_table); } echo "<div class='updated'><p><strong>" . __('My Calendar Management Settings saved', 'my-calendar') . ". {$clear}</strong></p></div>"; } if (isset($_POST['mc_permissions'])) { $perms = $_POST['mc_caps']; $caps = array('mc_add_events' => __('Add Events', 'my-calendar'), 'mc_approve_events' => __('Approve Events', 'my-calendar'), 'mc_manage_events' => __('Manage Events', 'my-calendar'), 'mc_edit_cats' => __('Edit Categories', 'my-calendar'), 'mc_edit_locations' => __('Edit Locations', 'my-calendar'), 'mc_edit_styles' => __('Edit Styles', 'my-calendar'), 'mc_edit_behaviors' => __('Edit Behaviors', 'my-calendar'), 'mc_edit_templates' => __('Edit Templates', 'my-calendar'), 'mc_edit_settings' => __('Edit Settings', 'my-calendar'), 'mc_view_help' => __('View Help', 'my-calendar')); foreach ($perms as $key => $value) { $role = get_role($key); if (is_object($role)) { foreach ($caps as $k => $v) { if (isset($value[$k])) { $role->add_cap($k); } else { $role->remove_cap($k); } } } } echo "<div class='updated'><p><strong>" . __('My Calendar Permissions Updated', 'my-calendar') . "</strong></p></div>"; } // output if (isset($_POST['mc_show_months'])) { $mc_open_day_uri = !empty($_POST['mc_open_day_uri']) ? $_POST['mc_open_day_uri'] : ''; update_option('mc_uri', $_POST['mc_uri']); update_option('mc_use_permalinks', !empty($_POST['mc_use_permalinks']) ? 'true' : 'false'); update_option('mc_open_uri', !empty($_POST['mc_open_uri']) && $_POST['mc_open_uri'] == 'on' && get_option('mc_uri') != '' ? 'true' : 'false'); update_option('mc_mini_uri', $_POST['mc_mini_uri']); update_option('mc_open_day_uri', $mc_open_day_uri); update_option('mc_skip_holidays', !empty($_POST['mc_skip_holidays']) && $_POST['mc_skip_holidays'] == 'on' ? 'true' : 'false'); update_option('mc_display_author', !empty($_POST['mc_display_author']) && $_POST['mc_display_author'] == 'on' ? 'true' : 'false'); update_option('mc_show_event_vcal', !empty($_POST['mc_show_event_vcal']) && $_POST['mc_show_event_vcal'] == 'on' ? 'true' : 'false'); update_option('mc_show_gcal', !empty($_POST['mc_show_gcal']) && $_POST['mc_show_gcal'] == 'on' ? 'true' : 'false'); update_option('mc_display_jump', !empty($_POST['mc_display_jump']) && $_POST['mc_display_jump'] == 'on' ? 'true' : 'false'); update_option('mc_show_list_info', !empty($_POST['mc_show_list_info']) && $_POST['mc_show_list_info'] == 'on' ? 'true' : 'false'); update_option('mc_show_months', (int) $_POST['mc_show_months']); // calculate sequence for navigation elements $top = $bottom = array(); $nav = $_POST['mc_nav']; $set = 'top'; foreach ($nav as $n) { if ($n == 'calendar') { $set = 'bottom'; } else { if ($set == 'top') { $top[] = $n; } else { $bottom[] = $n; } } if ($n == 'stop') { break; } } update_option('mc_bottomnav', implode(',', $bottom)); update_option('mc_topnav', implode(',', $top)); update_option('mc_show_map', !empty($_POST['mc_show_map']) && $_POST['mc_show_map'] == 'on' ? 'true' : 'false'); update_option('mc_gmap', !empty($_POST['mc_gmap']) && $_POST['mc_gmap'] == 'on' ? 'true' : 'false'); update_option('mc_show_address', !empty($_POST['mc_show_address']) && $_POST['mc_show_address'] == 'on' ? 'true' : 'false'); update_option('mc_hide_icons', !empty($_POST['mc_hide_icons']) && $_POST['mc_hide_icons'] == 'on' ? 'true' : 'false'); update_option('mc_event_link_expires', !empty($_POST['mc_event_link_expires']) && $_POST['mc_event_link_expires'] == 'on' ? 'true' : 'false'); update_option('mc_apply_color', $_POST['mc_apply_color']); update_option('mc_event_registration', !empty($_POST['mc_event_registration']) && $_POST['mc_event_registration'] == 'on' ? 'true' : 'false'); update_option('mc_inverse_color', !empty($_POST['mc_inverse_color']) && $_POST['mc_inverse_color'] == 'on' ? 'true' : 'false'); update_option('mc_short', !empty($_POST['mc_short']) && $_POST['mc_short'] == 'on' ? 'true' : 'false'); update_option('mc_desc', !empty($_POST['mc_desc']) && $_POST['mc_desc'] == 'on' ? 'true' : 'false'); update_option('mc_process_shortcodes', !empty($_POST['mc_process_shortcodes']) && $_POST['mc_process_shortcodes'] == 'on' ? 'true' : 'false'); update_option('mc_details', !empty($_POST['mc_details']) && $_POST['mc_details'] == 'on' ? 'true' : 'false'); update_option('mc_event_link', !empty($_POST['mc_event_link']) && $_POST['mc_event_link'] == 'on' ? 'true' : 'false'); update_option('mc_show_weekends', !empty($_POST['mc_show_weekends']) && $_POST['mc_show_weekends'] == 'on' ? 'true' : 'false'); update_option('mc_convert', !empty($_POST['mc_convert']) && $_POST['mc_convert'] == 'on' ? 'true' : 'false'); update_option('mc_no_fifth_week', !empty($_POST['mc_no_fifth_week']) && $_POST['mc_no_fifth_week'] == 'on' ? 'true' : 'false'); echo "<div class=\"updated\"><p><strong>" . __('Output Settings saved', 'my-calendar') . "</strong></p></div>"; } // input if (isset($_POST['mc_dates'])) { update_option('mc_date_format', stripslashes($_POST['mc_date_format'])); update_option('mc_week_format', stripslashes($_POST['mc_week_format'])); update_option('mc_time_format', stripslashes($_POST['mc_time_format'])); update_option('mc_month_format', stripslashes($_POST['mc_month_format'])); $mc_ical_utc = !empty($_POST['mc_ical_utc']) && $_POST['mc_ical_utc'] == 'on' ? 'true' : 'false'; update_option('mc_ical_utc', $mc_ical_utc); echo "<div class=\"updated\"><p><strong>" . __('Date/Time Format Settings saved', 'my-calendar') . "</strong></p></div>"; } if (isset($_POST['mc_input'])) { $mc_input_options_administrators = !empty($_POST['mc_input_options_administrators']) && $_POST['mc_input_options_administrators'] == 'on' ? 'true' : 'false'; $mc_input_options = array('event_short' => !empty($_POST['mci_event_short']) && $_POST['mci_event_short'] ? 'on' : '', 'event_desc' => !empty($_POST['mci_event_desc']) && $_POST['mci_event_desc'] ? 'on' : '', 'event_category' => !empty($_POST['mci_event_category']) && $_POST['mci_event_category'] ? 'on' : '', 'event_image' => !empty($_POST['mci_event_image']) && $_POST['mci_event_image'] ? 'on' : '', 'event_link' => !empty($_POST['mci_event_link']) && $_POST['mci_event_link'] ? 'on' : '', 'event_recurs' => !empty($_POST['mci_event_recurs']) && $_POST['mci_event_recurs'] ? 'on' : '', 'event_open' => !empty($_POST['mci_event_open']) && $_POST['mci_event_open'] ? 'on' : '', 'event_location' => !empty($_POST['mci_event_location']) && $_POST['mci_event_location'] ? 'on' : '', 'event_location_dropdown' => !empty($_POST['mci_event_location_dropdown']) && $_POST['mci_event_location_dropdown'] ? 'on' : '', 'event_specials' => !empty($_POST['mci_event_specials']) && $_POST['mci_event_specials'] ? 'on' : '', 'event_access' => !empty($_POST['mci_event_access']) && $_POST['mci_event_access'] ? 'on' : ''); update_option('mc_input_options', $mc_input_options); update_option('mc_input_options_administrators', $mc_input_options_administrators); echo "<div class=\"updated\"><p><strong>" . __('Input Settings saved', 'my-calendar') . ".</strong></p></div>"; } if (current_user_can('manage_network')) { if (isset($_POST['mc_network'])) { $mc_multisite = (int) $_POST['mc_multisite']; update_site_option('mc_multisite', $mc_multisite); $mc_multisite_show = (int) $_POST['mc_multisite_show']; update_site_option('mc_multisite_show', $mc_multisite_show); echo "<div class=\"updated\"><p><strong>" . __('Multisite settings saved', 'my-calendar') . ".</strong></p></div>"; } } // custom text if (isset($_POST['mc_previous_events'])) { $mc_title_template = $_POST['mc_title_template']; $mc_details_label = $_POST['mc_details_label']; $mc_link_label = $_POST['mc_link_label']; $mc_event_title_template = $_POST['mc_event_title_template']; $mc_notime_text = $_POST['mc_notime_text']; $mc_previous_events = $_POST['mc_previous_events']; $mc_next_events = $_POST['mc_next_events']; $mc_event_open = $_POST['mc_event_open']; $mc_event_closed = $_POST['mc_event_closed']; $mc_week_caption = $_POST['mc_week_caption']; $mc_caption = $_POST['mc_caption']; $templates = get_option('mc_templates'); $templates['title'] = $mc_title_template; $templates['label'] = $mc_details_label; $templates['link'] = $mc_link_label; update_option('mc_templates', $templates); update_option('mc_event_title_template', $mc_event_title_template); update_option('mc_notime_text', $mc_notime_text); update_option('mc_week_caption', $mc_week_caption); update_option('mc_next_events', $mc_next_events); update_option('mc_previous_events', $mc_previous_events); update_option('mc_caption', $mc_caption); update_option('mc_event_open', $mc_event_open); update_option('mc_event_closed', $mc_event_closed); echo "<div class=\"updated\"><p><strong>" . __('Custom text settings saved', 'my-calendar') . ".</strong></p></div>"; } // Mail function by Roland if (isset($_POST['mc_email'])) { $mc_event_mail = !empty($_POST['mc_event_mail']) && $_POST['mc_event_mail'] == 'on' ? 'true' : 'false'; $mc_html_email = !empty($_POST['mc_html_email']) && $_POST['mc_html_email'] == 'on' ? 'true' : 'false'; $mc_event_mail_to = $_POST['mc_event_mail_to']; $mc_event_mail_from = $_POST['mc_event_mail_from']; $mc_event_mail_subject = $_POST['mc_event_mail_subject']; $mc_event_mail_message = $_POST['mc_event_mail_message']; update_option('mc_event_mail_to', $mc_event_mail_to); update_option('mc_event_mail_from', $mc_event_mail_from); update_option('mc_event_mail_subject', $mc_event_mail_subject); update_option('mc_event_mail_message', $mc_event_mail_message); update_option('mc_event_mail', $mc_event_mail); update_option('mc_html_email', $mc_html_email); echo "<div class=\"updated\"><p><strong>" . __('Email notice settings saved', 'my-calendar') . ".</strong></p></div>"; } // Custom User Settings apply_filters('mc_save_settings', '', $_POST); // pull templates for passing into functions. $templates = get_option('mc_templates'); $mc_title_template = esc_attr(stripslashes($templates['title'])); $mc_details_label = esc_attr(stripslashes($templates['label'])); $mc_link_label = esc_attr(stripslashes($templates['link'])); ?> <div class="wrap jd-my-calendar mc-settings-page" id="mc_settings"> <?php my_calendar_check_db(); ?> <div id="icon-options-general" class="icon32"><br /></div> <h2><?php _e('My Calendar Options', 'my-calendar'); ?> </h2> <div class="postbox-container jcd-wide"> <div class="metabox-holder"> <?php //update_option( 'ko_calendar_imported','false' ); // for testing importing. if (isset($_POST['import']) && $_POST['import'] == 'true') { $nonce = $_REQUEST['_wpnonce']; if (!wp_verify_nonce($nonce, 'my-calendar-nonce')) { die("Security check failed"); } my_calendar_import(); } if (get_option('ko_calendar_imported') != 'true') { if (function_exists('check_calendar')) { ?> <div class='import upgrade-db'> <p> <?php _e('My Calendar has identified that you have the Calendar plugin by Kieran O\'Shea installed. You can import those events and categories into the My Calendar database. Would you like to import these events?', 'my-calendar'); ?> </p> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-config"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <div> <input type="hidden" name="import" value="true" /> <input type="submit" value="<?php _e('Import from Calendar', 'my-calendar'); ?> " name="import-calendar" class="button-primary" /> </div> </form> </div> <?php } } ?> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('My Calendar Settings', 'my-calendar'); ?> </h3> <div class="inside"> <ul class="mc-settings checkboxes"> <li><a href="#my-calendar-manage"><?php _e('Management', 'my-calendar'); ?> </a></li> <li><a href="#my-calendar-text"><?php _e('Customizable Text', 'my-calendar'); ?> </a></li> <li><a href="#my-calendar-output"><?php _e('Output', 'my-calendar'); ?> </a></li> <li><a href="#my-calendar-time"><?php _e('Date/Time', 'my-calendar'); ?> </a></li> <li><a href="#my-calendar-input"><?php _e('Input', 'my-calendar'); ?> </a></li> <?php if (current_user_can('manage_network')) { ?> <li><a href="#my-calendar-multisite"><?php _e('Multi-site', 'my-calendar'); ?> </a></li> <?php } ?> <li><a href="#my-calendar-permissions"><?php _e('Permissions', 'my-calendar'); ?> </a></li> <li><a href="#my-calendar-email"><?php _e('Email Notifications', 'my-calendar'); ?> </a></li> <?php echo apply_filters('mc_settings_section_links', ''); ?> </ul> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox" id="my-calendar-manage"> <h3><?php _e('My Calendar Management', 'my-calendar'); ?> </h3> <div class="inside"> <?php if (current_user_can('administrator')) { ?> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-config"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <fieldset> <legend><?php _e('Management', 'my-calendar'); ?> </legend> <ul> <li><?php mc_settings_field('mc_remote', __('Get data (events, categories and locations) from a remote database.', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <?php if (get_option('mc_remote') == 'true') { ?> <li><?php _e('Add this code to your theme\'s <code>functions.php</code> file:', 'my-calendar'); ?> <pre>function mc_remote_db() { $mcdb = new wpdb('DB_USER','DB_PASSWORD','DB_NAME','DB_ADDRESS'); return $mcdb; }</pre> <?php _e('You will need to allow remote connections from this site to the site hosting your My Calendar events. Replace the above placeholders with the host-site information. The two sites must have the same WP table prefix. While this option is enabled, you may not enter or edit events through this installation.', 'my-calendar'); ?> </li> <?php } ?> <li><?php mc_settings_field('mc_event_approve', __('Enable approval options.', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_api_enabled', __('Enable external API.', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <?php if (apply_filters('mc_caching_clear', false)) { ?> <li><?php mc_settings_field('mc_clear_cache', __('Clear current cache. (Necessary if you edit shortcodes to change displayed categories, for example.)', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <?php } ?> <li><?php mc_settings_field('mc_default_sort', __('Default Sort order for Admin Events List', 'my-calendar'), array('1' => __('Event ID', 'my-calendar'), '2' => __('Title', 'my-calendar'), '3' => __('Description', 'my-calendar'), '4' => __('Start Date', 'my-calendar'), '5' => __('Author', 'my-calendar'), '6' => __('Category', 'my-calendar'), '7' => __('Location Name', 'my-calendar')), '', array(), 'select'); ?> </li> <?php if (get_site_option('mc_multisite') == 2 && MY_CALENDAR_TABLE != MY_CALENDAR_GLOBAL_TABLE) { mc_settings_field('mc_current_table', array('0' => __('Currently editing my local calendar', 'my-calendar'), '1' => __('Currently editing the network calendar', 'my-calendar')), '0', '', array(), 'radio'); } else { if (get_option('mc_remote') != 'true' && current_user_can('manage_network')) { ?> <li><?php _e('You are currently working in the primary site for this network; your local calendar is also the global table.', 'my-calendar'); ?> </li><?php } } ?> <li><?php mc_settings_field('remigrate', __('Re-generate event occurrences table.', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> </ul> </fieldset> <p> <input type="submit" name="mc_manage" class="button-primary" value="<?php _e('Save Management Settings', 'my-calendar'); ?> " /> </p> </form> <?php } else { ?> <?php _e('My Calendar management settings are only available to administrators.', 'my-calendar'); ?> <?php } ?> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox" id="my-calendar-text"> <h3><?php _e('Text Settings', 'my-calendar'); ?> </h3> <div class="inside"> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-config"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <fieldset> <legend><?php _e('Customize Text Fields', 'my-calendar'); ?> </legend> <ul> <li><?php mc_settings_field('mc_notime_text', __('Label for all-day events', 'my-calendar'), 'N/A'); ?> </li> <li><?php mc_settings_field('mc_previous_events', __('Previous events link', 'my-calendar'), __('Previous', 'my-calendar'), __('Use <code>{date}</code> to display date in navigation.', 'my-calendar')); ?> </li> <li><?php mc_settings_field('mc_next_events', __('Next events link', 'my-calendar'), __('Next', 'my-calendar'), __('Use <code>{date}</code> to display date in navigation.', 'my-calendar')); ?> </li> <li><?php mc_settings_field('mc_event_open', __('If events are open', 'my-calendar'), __('Registration is open', 'my-calendar')); ?> </li> <li><?php mc_settings_field('mc_event_closed', __('If events are closed', 'my-calendar'), __('Registration is closed', 'my-calendar')); ?> </li> <li><?php mc_settings_field('mc_week_caption', __('Week view caption:', 'my-calendar'), '', __('Available tag: <code>{date format=""}</code>', 'my-calendar')); ?> </li> <li><?php mc_settings_field('mc_caption', __('Extended caption:', 'my-calendar'), '', __('Follows month/year in list views.', 'my-calendar')); ?> </li> <li><?php mc_settings_field('mc_title_template', __('Event title template', 'my-calendar'), $mc_title_template, "<a href='" . admin_url("admin.php?page=my-calendar-help#templates") . "'>" . __("Templating Help", 'my-calendar') . '</a>'); ?> </li> <li><?php mc_settings_field('mc_details_label', __('Event details link text', 'my-calendar'), $mc_details_label, __('Tags: <code>{title}</code>, <code>{location}</code>, <code>{color}</code>, <code>{icon}</code>, <code>{date}</code>, <code>{time}</code>.', 'my-calendar')); ?> </li> <li><?php mc_settings_field('mc_link_label', __('Event URL link text', 'my-calendar'), $mc_link_label, "<a href='" . admin_url("admin.php?page=my-calendar-help#templates") . "'>" . __("Templating Help", 'my-calendar') . '</a>'); ?> </li> <li><?php mc_settings_field('mc_event_title_template', __('Title element template', 'my-calendar'), '{title} » {date}', __('Current: %s', 'my-calendar')); ?> </li> </ul> </fieldset> <p> <input type="submit" name="save" class="button-primary" value="<?php _e('Save Custom Text Settings', 'my-calendar'); ?> " /> </p> </form> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox" id="my-calendar-output"> <h3><?php _e('Output Settings', 'my-calendar'); ?> </h3> <div class="inside"> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-config"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <fieldset> <legend><?php _e('Calendar Link Targets', 'my-calendar'); ?> </legend> <ul> <?php /* <li><?php mc_settings_field( 'mc_use_permalinks', __( 'Use Pretty Permalinks for Events','my-calendar' ), '', '', array(), 'checkbox-single' ); ?></li> This just isn't ready; add in a point release. */ ?> <?php $guess = mc_guess_calendar(); ?> <li><?php mc_settings_field('mc_uri', __('Where is your main calendar page?', 'my-calendar'), '', "<br /><small>" . __('Can be any Page or Post which includes the <code>[my_calendar]</code> shortcode.', 'my-calendar') . " {$guess}</small>", array('size' => '60'), 'url'); ?> </li> <li><?php mc_settings_field('mc_mini_uri', __('Target <abbr title="Uniform resource locator">URL</abbr> for mini calendar date links:', 'my-calendar'), '', "<br /><small>" . __('Can be any Page or Post which includes the <code>[my_calendar]</code> shortcode.', 'my-calendar') . "</small>", array('size' => '60'), 'url'); ?> </li> <li><?php mc_settings_field('mc_open_uri', __('Open calendar links to event details URL', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <?php $disabled = !get_option('mc_uri') && !get_option('mc_mini_uri') ? array('disabled' => 'disabled') : array(); ?> <li><?php mc_settings_field('mc_open_day_uri', __('Mini calendar widget date links to:', 'my-calendar'), array('false' => __('jQuery pop-up view', 'my-calendar'), 'true' => __('daily view page (above)', 'my-calendar'), 'listanchor' => __('in-page anchor on main calendar page (list)', 'my-calendar'), 'calendaranchor' => __('in-page anchor on main calendar page (grid)', 'my-calendar')), '', $disabled, 'select'); ?> </li> </ul> <?php // End General Options // ?> </fieldset> <fieldset> <legend><?php _e('Set Default Navigation Element Order (can be overridden in shortcodes)', 'my-calendar'); ?> </legend> <?php $topnav = explode(',', get_option('mc_topnav')); $calendar = array('calendar'); $botnav = explode(',', get_option('mc_bottomnav')); $order = array_merge($topnav, $calendar, $botnav); $nav_elements = array('nav' => '<div class="dashicons dashicons-arrow-left-alt2"></div> <div class="dashicons dashicons-arrow-right-alt2"></div> ' . __('Primary Previous/Next Buttons', 'my-calendar'), 'toggle' => '<div class="dashicons dashicons-list-view"></div> <div class="dashicons dashicons-calendar"></div> ' . __('Switch between list and grid views', 'my-calendar'), 'jump' => '<div class="dashicons dashicons-redo"></div> ' . __('Jump to any other month/year', 'my-calendar'), 'print' => '<div class="dashicons dashicons-list-view"></div> ' . __('Link to printable view', 'my-calendar'), 'timeframe' => '<div class="dashicons dashicons-clock"></div> ' . __('Toggle between day, week, and month view', 'my-calendar'), 'calendar' => '<div class="dashicons dashicons-calendar"></div> ' . __('The calendar', 'my-calendar'), 'key' => '<div class="dashicons dashicons-admin-network"></div> ' . __('Categories', 'my-calendar'), 'feeds' => '<div class="dashicons dashicons-rss"></div> ' . __('Links to RSS and iCal output', 'my-calendar'), 'stop' => '<div class="dashicons dashicons-no"></div> ' . __('Elements below here will be hidden.')); echo "<div id='mc-sortable-update' aria-live='polite'></div>"; echo "<ul id='mc-sortable'>"; foreach ($order as $k) { $k = trim($k); $v = isset($nav_elements[$k]) ? $nav_elements[$k] : false; if ($v !== false) { $inserted[$k] = $v; echo "<li class='ui-state-default mc-{$k}'><button class='up'><i class='dashicons dashicons-arrow-up'></i><span class='screen-reader-text'>Up</span></button> <button class='down'><i class='dashicons dashicons-arrow-down'></i><span class='screen-reader-text'>Down</span></button> <code>{$k}</code> {$v} <input type='hidden' name='mc_nav[]' value='{$k}' /></li>"; } } $missed = array_diff($nav_elements, $inserted); foreach ($missed as $k => $v) { echo "<li class='ui-state-default mc-{$k}'><button class='up'><i class='dashicons dashicons-arrow-up'></i><span class='screen-reader-text'>Up</span></button> <button class='down'><i class='dashicons dashicons-arrow-down'></i><span class='screen-reader-text'>Down</span></button> <code>{$k}</code> {$v} <input type='hidden' name='mc_nav[]' value='{$k}' /></li>"; } echo "</ul>"; ?> </fieldset> <fieldset> <legend><?php _e('Grid Layout Options', 'my-calendar'); ?> </legend> <ul> <li><?php mc_settings_field('mc_show_weekends', __('Show Weekends on Calendar', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_convert', __('Switch to list view on mobile devices', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> </ul> <?php // End Grid Options // ?> </fieldset> <fieldset> <legend><?php _e('List Layout Options', 'my-calendar'); ?> </legend> <ul> <li><?php mc_settings_field('mc_show_months', __('How many months of events to show at a time:', 'my-calendar'), '', '', array('size' => '3'), 'text'); ?> </li> <li><?php mc_settings_field('mc_show_list_info', __('Show the first event\'s title and the number of events that day next to the date.', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> </ul> <?php // End List Options // ?> </fieldset> <fieldset> <legend><?php _e('Event Details Pop-up', 'my-calendar'); ?> </legend> <p><?php _e('The checked items will be shown in your event details view. Does not apply if you are using a custom template', 'my-calendar'); ?> <ul class="checkboxes"> <li><?php mc_settings_field('mc_display_author', __('Author\'s name', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_show_event_vcal', __('Link to single event iCal download', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_show_gcal', __('Link to submit event to Google Calendar', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_hide_icons', __('Hide Category icons', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_show_map', __('Link to Google Map', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_gmap', __('Google Map (single event view only)', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_show_address', __('Event Address', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_short', __('Short description', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_desc', __('Full description', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_process_shortcodes', __('Process WordPress shortcodes in descriptions', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_details', __('Link to event details (requires <a href=\'#mc_uri\'>URL</a>)', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_event_link', __('External link', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_event_registration', __('Registration info', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> </ul> </fieldset> <fieldset> <legend><?php _e('Event Category Display', 'my-calendar'); ?> </legend> <ul class='checkboxes'> <?php mc_settings_field('mc_apply_color', array('default' => __('No category colors with titles.', 'my-calendar'), 'font' => __('Titles are in category colors.', 'my-calendar'), 'background' => __('Titles have category color as background.', 'my-calendar')), 'default', '', array(), 'radio'); ?> <li><?php mc_settings_field('mc_inverse_color', __('Optimize contrast for category colors.', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> </ul> <?php // End Event Options // ?> </fieldset> <fieldset> <legend><?php _e('Event Scheduling Defaults', 'my-calendar'); ?> </legend> <ul> <li><?php mc_settings_field('mc_event_link_expires', __('Event links expire after event passes.', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_no_fifth_week', __('If a recurring event falls on a date that doesn\'t exist (like the 5th Wednesday in February), move it back one week.', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_skip_holidays', __('If an event coincides with an event in the designated "Holiday" category, do not show the event.', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> </ul> <?php // End Scheduling Options // ?> </fieldset> <p><input type="submit" name="save" class="button-primary" value="<?php _e('Save Output Settings', 'my-calendar'); ?> " /></p> </form> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox" id="my-calendar-time"> <h3><?php _e('Calendar Time Formats', 'my-calendar'); ?> </h3> <div class="inside"> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-config"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <fieldset> <legend><?php _e('Set default date/time formats', 'my-calendar'); ?> </legend> <div><input type='hidden' name='mc_dates' value='true' /></div> <ul> <?php $month_format = get_option('mc_month_format') == '' ? date_i18n('F Y') : date_i18n(get_option('mc_month_format')); $time_format = get_option('mc_time_format') == '' ? date_i18n(get_option('time_format')) : date_i18n(get_option('mc_time_format')); $week_format = get_option('mc_week_format') == '' ? date_i18n('M j, \'y') : date_i18n(get_option('mc_week_format')); $date_format = get_option('mc_date_format') == '' ? date_i18n(get_option('date_format')) : date_i18n(get_option('mc_date_format')); ?> <li><?php mc_settings_field('mc_month_format', __('Month format (calendar headings)', 'my-calendar'), '', $month_format); ?> </li> <li><?php mc_settings_field('mc_time_format', __('Time format', 'my-calendar'), '', $time_format); ?> </li> <li><?php mc_settings_field('mc_week_format', __('Date in grid mode, week view', 'my-calendar'), '', $week_format); ?> </li> <li><?php mc_settings_field('mc_date_format', __('Date Format in other views', 'my-calendar'), '', $date_format); ?> </li> <li> <?php _e('Date formats use syntax from the <a href="http://php.net/date">PHP <code>date()</code> function</a>. Save to update sample output.', 'my-calendar'); ?> </li> <li><?php mc_settings_field('mc_ical_utc', __('iCal times are UTC', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> </ul> </fieldset> <p> <input type="submit" name="save" class="button-primary" value="<?php _e('Save Date/Time Settings', 'my-calendar'); ?> " /> </p> </form> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox" id="my-calendar-input"> <h3><?php _e('Calendar Input Settings', 'my-calendar'); ?> </h3> <div class="inside"> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-config"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <fieldset> <legend><?php _e('Select which input fields will be available when adding or editing events.', 'my-calendar'); ?> </legend> <div><input type='hidden' name='mc_input' value='true' /></div> <ul class="checkboxes"> <?php $input_options = get_option('mc_input_options'); $input_labels = array('event_location_dropdown' => __('Event Location Dropdown Menu', 'my-calendar'), 'event_short' => __('Event Short Description field', 'my-calendar'), 'event_desc' => __('Event Description Field', 'my-calendar'), 'event_category' => __('Event Category field', 'my-calendar'), 'event_image' => __('Event Image field', 'my-calendar'), 'event_link' => __('Event Link field', 'my-calendar'), 'event_recurs' => __('Event Recurrence Options', 'my-calendar'), 'event_open' => __('Event Registration options', 'my-calendar'), 'event_location' => __('Event Location fields', 'my-calendar'), 'event_specials' => __('Set Special Scheduling options', 'my-calendar'), 'event_access' => __("Event Accessibility", 'my-calendar')); $output = ''; // if input options isn't an array, we'll assume that this plugin wasn't upgraded properly, and reset them to the default. if (!is_array($input_options)) { update_option('mc_input_options', array('event_short' => 'on', 'event_desc' => 'on', 'event_category' => 'on', 'event_image' => 'on', 'event_link' => 'on', 'event_recurs' => 'on', 'event_open' => 'on', 'event_location' => 'on', 'event_location_dropdown' => 'on', 'event_specials' => 'on', 'event_access' => 'on')); } foreach ($input_options as $key => $value) { $checked = $value == 'on' ? "checked='checked'" : ''; if (isset($input_labels[$key])) { $output .= "<li><input type=\"checkbox\" id=\"mci_{$key}\" name=\"mci_{$key}\" {$checked} /> <label for=\"mci_{$key}\">{$input_labels[$key]}</label></li>"; } } echo $output; ?> <li><?php mc_settings_field('mc_input_options_administrators', __('Administrators see all input options', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> </ul> </fieldset> <p> <input type="submit" name="save" class="button-primary" value="<?php _e('Save Input Settings', 'my-calendar'); ?> " /> </p> </form> </div> </div> </div> <?php if (current_user_can('manage_network')) { ?> <div class="ui-sortable meta-box-sortables"> <div class="postbox" id="my-calendar-multisite"> <h3><?php _e('Multisite Settings (Network Administrators only)', 'my-calendar'); ?> </h3> <div class="inside"> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-config"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <div><input type='hidden' name='mc_network' value='true' /></div> <fieldset> <legend><?php _e('WP MultiSite configurations', 'my-calendar'); ?> </legend> <p><?php _e('The central calendar is the calendar associated with the primary site in your WordPress Multisite network.', 'my-calendar'); ?> </p> <ul> <li><input type="radio" value="0" id="ms0" name="mc_multisite"<?php echo jd_option_selected(get_site_option('mc_multisite'), '0'); ?> /> <label for="ms0"><?php _e('Site owners may only post to their local calendar', 'my-calendar'); ?> </label></li> <li><input type="radio" value="1" id="ms1" name="mc_multisite"<?php echo jd_option_selected(get_site_option('mc_multisite'), '1'); ?> /> <label for="ms1"><?php _e('Site owners may only post to the central calendar', 'my-calendar'); ?> </label></li> <li><input type="radio" value="2" id="ms2" name="mc_multisite"<?php echo jd_option_selected(get_site_option('mc_multisite'), 2); ?> /> <label for="ms2"><?php _e('Site owners may manage either calendar', 'my-calendar'); ?> </label></li> </ul> <p class="notice"><strong>*</strong> <?php _e('Changes only effect input permissions. Public-facing calendars will be unchanged.', 'my-calendar'); ?> </p> <ul> <li><input type="radio" value="0" id="mss0" name="mc_multisite_show"<?php echo jd_option_selected(get_site_option('mc_multisite_show'), '0'); ?> /> <label for="mss0"><?php _e('Sub-site calendars show events from their local calendar.', 'my-calendar'); ?> </label></li> <li><input type="radio" value="1" id="mss1" name="mc_multisite_show"<?php echo jd_option_selected(get_site_option('mc_multisite_show'), '1'); ?> /> <label for="mss1"><?php _e('Sub-site calendars show events from the central calendar.', 'my-calendar'); ?> </label></li> </ul> </fieldset> <p> <input type="submit" name="save" class="button-primary" value="<?php _e('Save Multisite Settings', 'my-calendar'); ?> " /> </p> </form> </div> </div> </div> <?php } ?> <div class="ui-sortable meta-box-sortables"> <div class="postbox" id="my-calendar-permissions"> <h3><?php _e('My Calendar Permissions', 'my-calendar'); ?> </h3> <div class="inside mc-tabs"> <?php if (current_user_can('administrator')) { ?> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-config"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <?php function mc_check_caps($role, $cap) { $role = get_role($role); if ($role->has_cap($cap)) { return " checked='checked'"; } } function mc_cap_checkbox($role, $cap, $name) { return "<li><input type='checkbox' id='mc_caps_{$role}_{$cap}' name='mc_caps[{$role}][{$cap}]' value='on'" . mc_check_caps($role, $cap) . " /> <label for='mc_caps_{$role}_{$cap}'>{$name}</label></li>"; } global $wp_roles; $roles = $wp_roles->get_names(); $caps = array('mc_add_events' => __('Add Events', 'my-calendar'), 'mc_approve_events' => __('Approve Events', 'my-calendar'), 'mc_manage_events' => __('Manage Events', 'my-calendar'), 'mc_edit_cats' => __('Edit Categories', 'my-calendar'), 'mc_edit_locations' => __('Edit Locations', 'my-calendar'), 'mc_edit_styles' => __('Edit Styles', 'my-calendar'), 'mc_edit_behaviors' => __('Edit Behaviors', 'my-calendar'), 'mc_edit_templates' => __('Edit Templates', 'my-calendar'), 'mc_edit_settings' => __('Edit Settings', 'my-calendar'), 'mc_view_help' => __('View Help', 'my-calendar')); $role_tabs = $role_container = ''; foreach ($roles as $role => $rolename) { if ($role == 'administrator') { continue; } $role_tabs .= "<li><a href='#mc_{$role}'>{$rolename}</a></li>\n"; $role_container .= "<div class='wptab mc_{$role}' id='mc_{$role}' aria-live='polite'><fieldset id='mc_{$role}' class='roles'><legend>{$rolename}</legend>"; $role_container .= "<input type='hidden' value='none' name='mc_caps[" . $role . "][none]' />\n\t\t\t<ul class='mc-settings checkboxes'>"; foreach ($caps as $cap => $name) { $role_container .= mc_cap_checkbox($role, $cap, $name); } $role_container .= "\n\t\t\t</ul></fieldset></div>\n"; } echo "\n\t\t<ul class='tabs'>\n\t\t\t{$role_tabs}\n\t\t</ul>\n\t\t{$role_container}"; ?> <p> <input type="submit" name="mc_permissions" class="button-primary" value="<?php _e('Save Permissions', 'my-calendar'); ?> " /> </p> </form> <?php } else { ?> <?php _e('My Calendar permission settings are only available to administrators.', 'my-calendar'); ?> <?php } ?> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox" id="my-calendar-email"> <h3><?php _e('Calendar Email Settings', 'my-calendar'); ?> </h3> <div class="inside"> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-config"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <fieldset> <legend><?php _e('Email Notifications', 'my-calendar'); ?> </legend> <div><input type='hidden' name='mc_email' value='true' /></div> <ul> <li><?php mc_settings_field('mc_event_mail', __('Send Email Notifications when new events are scheduled or reserved.', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> <li><?php mc_settings_field('mc_event_mail_to', __('Notification messages are sent to:', 'my-calendar'), get_bloginfo('admin_email')); ?> </li> <li><?php mc_settings_field('mc_event_mail_from', __('Notification messages are sent from:', 'my-calendar'), get_bloginfo('admin_email')); ?> </li> <li><?php mc_settings_field('mc_event_mail_subject', __('Email subject', 'my-calendar'), get_bloginfo('name') . ': ' . __('New event added', 'my-calendar'), '', array('size' => 60)); ?> </li> <li><?php mc_settings_field('mc_event_mail_message', __('Message Body', 'my-calendar'), __('New Event:', 'my-calendar') . "\n{title}: {date}, {time} - {event_status}", "<br /><a href='" . admin_url("admin.php?page=my-calendar-help#templates") . "'>" . __("Templating Help", 'my-calendar') . '</a>', array('cols' => 60, 'rows' => 6), 'textarea'); ?> </li> <li><?php mc_settings_field('mc_html_email', __('Send HTML email', 'my-calendar'), '', '', array(), 'checkbox-single'); ?> </li> </ul> </fieldset> <p> <input type="submit" name="save" class="button-primary" value="<?php _e('Save Email Settings', 'my-calendar'); ?> " /> </p> </form> </div> </div> </div> <?php echo apply_filters('mc_after_settings', ''); ?> </div> </div> <?php mc_show_sidebar(); ?> </div> <?php }
function edit_my_calendar_behaviors() { if (isset($_POST['mc-js-save'])) { $nonce = $_REQUEST['_wpnonce']; if (!wp_verify_nonce($nonce, 'my-calendar-nonce')) { die("Security check failed"); } $use_custom_js = isset($_POST['mc_use_custom_js']) ? 1 : 0; update_option('mc_use_custom_js', $use_custom_js); update_option('mc_calendar_javascript', empty($_POST['calendar_js']) ? 0 : 1); update_option('mc_list_javascript', empty($_POST['list_js']) ? 0 : 1); update_option('mc_mini_javascript', empty($_POST['mini_js']) ? 0 : 1); update_option('mc_ajax_javascript', empty($_POST['ajax_js']) ? 0 : 1); // set js if (isset($_POST['mc_caljs'])) { $mc_caljs = $_POST['mc_caljs']; $mc_listjs = $_POST['mc_listjs']; $mc_minijs = $_POST['mc_minijs']; $mc_ajaxjs = $_POST['mc_ajaxjs']; update_option('mc_listjs', $mc_listjs); update_option('mc_minijs', $mc_minijs); update_option('mc_caljs', $mc_caljs); update_option('mc_ajaxjs', $mc_ajaxjs); } $mc_show_js = $_POST['mc_show_js'] == '' ? '' : $_POST['mc_show_js']; update_option('mc_show_js', $mc_show_js); echo "<div class=\"updated\"><p><strong>" . __('Behavior Settings saved', 'my-calendar') . ".</strong></p></div>"; } $mc_listjs = stripcslashes(get_option('mc_listjs')); $mc_caljs = stripcslashes(get_option('mc_caljs')); $mc_minijs = stripcslashes(get_option('mc_minijs')); $mc_ajaxjs = stripcslashes(get_option('mc_ajaxjs')); $mc_show_js = stripcslashes(get_option('mc_show_js')); // Now we render the form ?> <div class="wrap jd-my-calendar"> <?php my_calendar_check_db(); ?> <h2><?php _e('My Calendar Scripting', 'my-calendar'); ?> </h2> <div class="postbox-container jcd-wide"> <div class="metabox-holder"> <div class="ui-sortable meta-box-sortables"> <div class="postbox" id="cdiff"> <h3><?php _e('My Calendar Script Manager', 'my-calendar'); ?> </h3> <div class="inside"> <form id="my-calendar" method="post" action="<?php echo admin_url('admin.php?page=my-calendar-behaviors'); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> "/></div> <p> <input type="checkbox" name="mc_use_custom_js" id="mc_use_custom_js" <?php mc_is_checked('mc_use_custom_js', 1); ?> /> <label for="mc_use_custom_js"><?php _e('Use Custom JS', 'my-calendar'); ?> </label> </p> <p> <label for="mc_show_js"><?php _e('Insert scripts on these pages (comma separated post IDs)', 'my-calendar'); ?> </label> <input type="text" id="mc_show_js" name="mc_show_js" value="<?php echo $mc_show_js; ?> "/> </p> <div class='controls'> <ul class="checkboxes"> <li><input type="checkbox" id="calendar_js" name="calendar_js" value="1" <?php mc_is_checked('mc_calendar_javascript', 1); ?> /> <label for="calendar_js"><?php _e('Disable Grid JS', 'my-calendar'); ?> </label> </li> <li><input type="checkbox" id="list_js" name="list_js" value="1" <?php mc_is_checked('mc_list_javascript', 1); ?> /> <label for="list_js"><?php _e('Disable List JS', 'my-calendar'); ?> </label> </li> <li><input type="checkbox" id="mini_js" name="mini_js" value="1" <?php mc_is_checked('mc_mini_javascript', 1); ?> /> <label for="mini_js"><?php _e('Disable Mini JS', 'my-calendar'); ?> </label> </li> <li><input type="checkbox" id="ajax_js" name="ajax_js" value="1" <?php mc_is_checked('mc_ajax_javascript', 1); ?> /> <label for="ajax_js"><?php _e('Disable AJAX', 'my-calendar'); ?> </label></li> </ul> </div> <?php if (get_option('mc_use_custom_js') == 1) { ?> <p> <label for="calendar-js"><?php _e('Calendar Behaviors: Grid View', 'my-calendar'); ?> </label><br/><textarea id="calendar-js" name="mc_caljs" rows="12" cols="80"><?php echo $mc_caljs; ?> </textarea> </p> <p> <label for="list-js"><?php _e('Calendar Behaviors: List View', 'my-calendar'); ?> </label><br/><textarea id="list-js" name="mc_listjs" rows="12" cols="80"><?php echo $mc_listjs; ?> </textarea> </p> <p> <label for="mini-js"><?php _e('Calendar Behaviors: Mini Calendar View', 'my-calendar'); ?> </label><br/><textarea id="mini-js" name="mc_minijs" rows="12" cols="80"><?php echo $mc_minijs; ?> </textarea> </p> <p> <label for="ajax-js"><?php _e('Calendar Behaviors: AJAX', 'my-calendar'); ?> </label><br/><textarea id="ajax-js" name="mc_ajaxjs" rows="12" cols="80"><?php echo $mc_ajaxjs; ?> </textarea> </p> <?php } ?> <p> <input type="submit" name="mc-js-save" class="button-primary" value="<?php _e('Save', 'my-calendar'); ?> "/> </p> </form> </div> </div> </div> </div> </div> <?php mc_show_sidebar(); ?> </div> <?php }
function jd_show_support_box() { mc_show_sidebar(); }
function mc_edit_category_form($view = 'edit', $catID = '') { global $wpdb; $dir = plugin_dir_path(__FILE__); $url = plugin_dir_url(__FILE__); $mcdb = $wpdb; $cur_cat = false; if ($catID != '') { $catID = (int) $catID; $sql = "SELECT * FROM " . my_calendar_categories_table() . " WHERE category_id={$catID}"; $cur_cat = $mcdb->get_row($sql); } if (is_custom_icon()) { $directory = str_replace('/my-calendar', '', $dir) . '/my-calendar-custom/'; $path = '/my-calendar-custom'; $iconlist = my_dirlist($directory); } else { $directory = dirname(__FILE__) . '/images/icons/'; $path = '/' . dirname(plugin_basename(__FILE__)) . '/images/icons'; $iconlist = my_dirlist($directory); } if ($view == 'add') { ?> <h2><?php _e('Add Category', 'my-calendar'); ?> </h2> <?php } else { ?> <h2><?php _e('Edit Category', 'my-calendar'); ?> </h2> <?php } ?> <div class="postbox-container jcd-wide"> <div class="metabox-holder"> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('Category Editor', 'my-calendar'); ?> </h3> <div class="inside"> <form id="my-calendar" method="post" action="<?php echo admin_url('admin.php?page=my-calendar-categories'); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> "/></div> <?php if ($view == 'add') { ?> <div> <input type="hidden" name="mode" value="add"/> <input type="hidden" name="category_id" value=""/> </div> <?php } else { ?> <div> <input type="hidden" name="mode" value="edit"/> <input type="hidden" name="category_id" value="<?php if (is_object($cur_cat)) { echo $cur_cat->category_id; } ?> "/> </div> <?php } ?> <fieldset> <legend><?php if ($view == 'add') { _e('Add Category', 'my-calendar'); } else { _e('Edit Category', 'my-calendar'); } ?> </legend><?php if (!empty($cur_cat) && is_object($cur_cat)) { $color = strpos($cur_cat->category_color, '#') !== 0 ? '#' : ''; $color .= $cur_cat->category_color; } else { $color = ''; } ?> <ul> <li> <label for="cat_name"><?php _e('Category Name', 'my-calendar'); ?> </label> <input type="text" id="cat_name" name="category_name" class="input" size="30" value="<?php if (!empty($cur_cat) && is_object($cur_cat)) { echo stripslashes(esc_attr($cur_cat->category_name)); } ?> "/> <label for="cat_color"><?php _e('Color', 'my-calendar'); ?> </label> <input type="text id="cat_color" name="category_color" class="mc-color-input" size="10" maxlength="7" value="<?php esc_attr_e($color); ?> "/> </li> <li> <label for="cat_icon"><?php _e('Category Icon', 'my-calendar'); ?> </label> <select name="category_icon" id="cat_icon"> <?php foreach ($iconlist as $value) { $selected = !empty($cur_cat) && is_object($cur_cat) && $cur_cat->category_icon == $value ? " selected='selected'" : ''; echo "<option value='" . esc_attr($value) . "'{$selected} style='background: url(" . str_replace('my-calendar/', '', esc_url($url . "{$path}/{$value}")) . ") left 50% no-repeat;'>{$value}</option>"; } ?> </select> </li> <li> <?php if ($view == 'add') { $private_checked = ''; } else { if (!empty($cur_cat) && is_object($cur_cat) && $cur_cat->category_private == 1) { $private_checked = ' checked="checked"'; } else { $private_checked = ''; } } ?> <?php $checked = $view == 'add' ? '' : mc_is_checked('mc_default_category', $cur_cat->category_id, '', true); ?> <?php $holiday_checked = $view == 'add' ? '' : mc_is_checked('mc_skip_holidays_category', $cur_cat->category_id, '', true); ?> <input type="checkbox" value="on" name="category_private" id="cat_private"<?php echo $private_checked; ?> /> <label for="cat_private"><?php _e('Private category (logged-in users only)', 'my-calendar'); ?> </label> <input type="checkbox" value="on" name="mc_default_category" id="mc_default_category"<?php echo $checked; ?> /> <label for="mc_default_category"><?php _e('Default category', 'my-calendar'); ?> </label> <input type="checkbox" value="on" name="mc_skip_holidays_category" id="mc_shc"<?php echo $holiday_checked; ?> /> <label for="mc_shc"><?php _e('Holiday Category', 'my-calendar'); ?> </label> </li> <?php echo apply_filters('mc_category_fields', '', $cur_cat); ?> </ul> </fieldset> <p> <input type="submit" name="save" class="button-primary" value="<?php if ($view == 'add') { _e('Add Category', 'my-calendar'); } else { _e('Save Changes', 'my-calendar'); } ?> »"/> </p> <?php do_action('mc_post_category_form', $cur_cat, $view); ?> </form> </div> </div> </div> <?php if ($view == 'edit') { ?> <p> <a href="<?php echo admin_url('admin.php?page=my-calendar-categories'); ?> "><?php _e('Add a New Category', 'my-calendar'); ?> »</a> </p> <?php } ?> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('Category List', 'my-calendar'); ?> </h3> <div class="inside"> <?php mc_manage_categories(); ?> </div> </div> </div> </div> </div> <?php mc_show_sidebar(); }
function edit_mc_templates() { $templates = get_option('mc_templates'); if (!empty($_POST)) { $nonce = $_REQUEST['_wpnonce']; if (!wp_verify_nonce($nonce, 'my-calendar-nonce')) { die("Security check failed"); } } if (isset($_POST['mc_template_key'])) { $key = $_POST['mc_template_key']; } else { $key = isset($_GET['mc_template']) ? $_GET['mc_template'] : 'grid'; } if (isset($_POST['delete'])) { delete_option('mc_ctemplate_' . $key); echo "<div class=\"updated\"><p>" . __('Custom template deleted', 'my-calendar') . "</p></div>"; $key = 'grid'; } else { if (mc_is_core_template($key) && isset($_POST['add-new'])) { echo "<div class=\"updated\"><p>" . __('Custom templates cannot have the same key as a core template', 'my-calendar') . "</p></div>"; } else { if (mc_is_core_template($key) && isset($_POST['mc_template'])) { $template = $_POST['mc_template']; $templates[$key] = $template; update_option('mc_templates', $templates); update_option('mc_use_' . $key . '_template', empty($_POST['mc_use_template']) ? 0 : 1); echo "<div class=\"updated\"><p>" . sprintf(__('%s Template saved', 'my-calendar'), ucfirst($key)) . "</p></div>"; } else { if (isset($_POST['mc_template'])) { $template = $_POST['mc_template']; if (mc_key_exists($key)) { $key = mc_update_template($key, $template); } else { $key = mc_create_template($template); } echo "<div class='updated'><p>" . __('Custom Template saved', 'my-calendar') . "</p></div>"; } } } } // TODO: create UI for managing additional templates // TODO: create admin system for modifying shortcodes global $grid_template, $list_template, $mini_template, $single_template, $rss_template; $mc_grid_template = $templates['grid'] != '' ? $templates['grid'] : $grid_template; $mc_rss_template = $templates['rss'] != '' ? $templates['rss'] : $rss_template; $mc_list_template = $templates['list'] != '' ? $templates['list'] : $list_template; $mc_mini_template = $templates['mini'] != '' ? $templates['mini'] : $mini_template; $mc_details_template = $templates['details'] != '' ? $templates['details'] : $single_template; $template = mc_is_core_template($key) ? ${"mc_" . $key . "_template"} : mc_get_custom_template($key); $template = stripslashes($template); $core = mc_template_description($key); ?> <div class="wrap jd-my-calendar"> <?php my_calendar_check_db(); ?> <h1 class="wp-heading-inline"><?php _e('My Calendar Templates', 'my-calendar'); ?> </h1> <a href="<?php echo add_query_arg('mc_template', 'add-new', admin_url("admin.php?page=my-calendar-templates")); ?> " class="page-title-action"><?php _e('Add New', 'my-calendar'); ?> </a> <hr class="wp-header-end"> <div class="postbox-container jcd-wide"> <div class="metabox-holder"> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h2><?php _e('Edit Template', 'my-calendar'); ?> </h2> <div class="inside"> <p> <a href="<?php echo admin_url("admin.php?page=my-calendar-help#templates"); ?> "><?php _e("Templates Help", 'my-calendar'); ?> </a> » </p> <?php if ($core != '') { echo "<p class='template-description'>{$core}</p>"; } ?> <?php if ($key == 'add-new') { ?> <form method="post" action="<?php echo add_query_arg('mc_template', $key, admin_url("admin.php?page=my-calendar-templates")); ?> "> <div> <input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> "/> </div> <p> <label for="mc_template_key"><?php _e('Template Description (required)', 'my-calendar'); ?> </label><br /> <input type="text" class="widefat" name="mc_template_key" id="mc_template_key" value="" required /> </p> <p> <label for="mc_template"><?php _e('Custom Template', 'my-calendar'); ?> </label><br/> <textarea id="mc_template" name="mc_template" class="template-editor widefat" rows="32" cols="76"></textarea> </p> <p> <input type="submit" name="save" class="button-primary" value="<?php _e('Add Template', 'my-calendar'); ?> " /> </p> </form> <?php } else { ?> <form method="post" action="<?php echo add_query_arg('mc_template', $key, admin_url("admin.php?page=my-calendar-templates")); ?> "> <div> <input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> "/> <input type="hidden" name="mc_template_key" value="<?php esc_attr_e($key); ?> "/> </div> <?php if (mc_is_core_template($key)) { ?> <p> <input type="checkbox" id="mc_use_template" name="mc_use_template" value="1" <?php mc_is_checked("mc_use_" . $key . "_template", 1); ?> /> <label for="mc_use_template"><?php _e('Use this template', 'my-calendar'); ?> </label> </p> <?php } ?> <p> <label for="mc_template"><?php _e('Custom Template', 'my-calendar'); ?> </label><br/> <textarea id="mc_template" name="mc_template" class="template-editor widefat" rows="32" cols="76"><?php echo $template; ?> </textarea> </p> <p> <input type="submit" name="save" class="button-primary" value="<?php _e('Update Template', 'my-calendar'); ?> " /> <?php if (!mc_is_core_template($key)) { ?> <input type="submit" name="delete" class="button-secondary" value=<?php _e('Delete Template', 'my-calendar'); ?> " /> <?php } ?> </p> </form> <?php } ?> </div> </div> </div> </div> <div class="metabox-holder"> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h2><?php _e('Templates', 'my-calendar'); ?> </h2> <div class="inside"> <?php mc_list_templates(); ?> <p> <a href="<?php echo add_query_arg('mc_template', 'add-new', admin_url("admin.php?page=my-calendar-templates")); ?> "><?php _e('Add New Template', 'my-calendar'); ?> </a> </p> </div> </div> </div> </div> <div class="metabox-holder"> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h2 class='hndle'><?php _e('Event Template Tags', 'my-calendar'); ?> </h2> <div class='mc_template_tags inside'> <p> <a href="<?php echo admin_url('admin.php?page=my-calendar-help#templates'); ?> "><?php _e('All Template Tags »', 'my-calendar'); ?> </a> </p> <dl> <dt><code>{title}</code></dt> <dd><?php _e('Title of the event.', 'my-calendar'); ?> </dd> <dt><code>{link_title}</code></dt> <dd><?php _e('Title of the event as a link if a URL is present, or the title alone if not.', 'my-calendar'); ?> </dd> <dt><code>{time}</code></dt> <dd><?php _e('Start time for the event.', 'my-calendar'); ?> </dd> <dt><code>{date}</code></dt> <dd><?php _e('Date on which the event begins.', 'my-calendar'); ?> </dd> <dt><code>{daterange}</code></dt> <dd><?php _e('Beginning date to end date; excludes end date if same as beginning.', 'my-calendar'); ?> </dd> <dt><code>{multidate}</code></dt> <dd><?php _e('Multi-day events: an unordered list of dates/times. Otherwise, beginning date/time.', 'my-calendar'); ?> </dd> <dt><code>{author}</code></dt> <dd><?php _e('Author who posted the event.', 'my-calendar'); ?> </dd> <dt><code>{host}</code></dt> <dd><?php _e('Name of the assigned host for the event.', 'my-calendar'); ?> </dd> <dt><code>{shortdesc}</code></dt> <dd><?php _e('Short event description.', 'my-calendar'); ?> </dd> <dt><code>{description}</code></dt> <dd><?php _e('Description of the event.', 'my-calendar'); ?> </dd> <dt><code>{image}</code></dt> <dd><?php _e('Image associated with the event.', 'my-calendar'); ?> </dd> <dt><code>{link}</code></dt> <dd><?php _e('URL provided for the event.', 'my-calendar'); ?> </dd> <dt><code>{details}</code></dt> <dd><?php _e('Link to an auto-generated page containing information about the event.', 'my-calendar'); ?> <dt><code>{event_open}</code></dt> <dd><?php _e('Whether event is currently open for registration.', 'my-calendar'); ?> </dd> <dt><code>{event_status}</code></dt> <dd><?php _e('Current status of event: either "Published" or "Reserved."', 'my-calendar'); ?> </dd> </dl> <h3><?php _e('Location Template Tags', 'my-calendar'); ?> </h3> <dl> <dt><code>{location}</code></dt> <dd><?php _e('Name of the location of the event.', 'my-calendar'); ?> </dd> <dt><code>{street}</code></dt> <dd><?php _e('First line of the site address.', 'my-calendar'); ?> </dd> <dt><code>{street2}</code></dt> <dd><?php _e('Second line of the site address.', 'my-calendar'); ?> </dd> <dt><code>{city}</code></dt> <dd><?php _e('City', 'my-calendar'); ?> </dd> <dt><code>{state}</code></dt> <dd><?php _e('State', 'my-calendar'); ?> </dd> <dt><code>{postcode}</code></dt> <dd><?php _e('Postal Code', 'my-calendar'); ?> </dd> <dt><code>{region}</code></dt> <dd><?php _e('Custom region.', 'my-calendar'); ?> </dd> <dt><code>{country}</code></dt> <dd><?php _e('Country for the event location.', 'my-calendar'); ?> </dd> <dt><code>{sitelink}</code></dt> <dd><?php _e('Output the URL for the location.', 'my-calendar'); ?> </dd> <dt><code>{hcard}</code></dt> <dd><?php _e('Event address in <a href="http://microformats.org/wiki/hcard">hcard</a> format.', 'my-calendar'); ?> </dd> <dt><code>{link_map}</code></dt> <dd><?php _e('Link to Google Map to the event, if address information is available.', 'my-calendar'); ?> </dd> </dl> <h3><?php _e('Category Template Tags', 'my-calendar'); ?> </h3> <dl> <dt><code>{category}</code></dt> <dd><?php _e('Name of the category of the event.', 'my-calendar'); ?> </dd> <dt><code>{icon}</code></dt> <dd><?php _e('URL for the event\'s category icon.', 'my-calendar'); ?> </dd> <dt><code>{color}</code></dt> <dd><?php _e('Hex code for the event\'s category color.', 'my-calendar'); ?> </dd> <dt><code>{cat_id}</code></dt> <dd><?php _e('ID of the category of the event.', 'my-calendar'); ?> </dd> </dl> </div> </div> </div> </div> </div> </div> <?php mc_show_sidebar(); }
function my_calendar_help() { ?> <div class="wrap jd-my-calendar"> <h2><?php _e('How to use My Calendar', 'my-calendar'); ?> </h2> <div class="postbox-container jcd-wide"> <div class="metabox-holder"> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('My Calendar Help', 'my-calendar'); ?> </h3> <div class="inside"> <?php do_action('mc_before_help'); ?> <ul class="mc-settings checkboxes"> <li><a href="#mc-generator"><?php _e('Shortcode Generator', 'my-calendar'); ?> </a></li> <li><a href="#mc-shortcodes"><?php _e('Shortcodes', 'my-calendar'); ?> </a></li> <li><a href="#icons"><?php _e('Icons', 'my-calendar'); ?> </a></li> <li><a href="#mc-styles"><?php _e('Styles', 'my-calendar'); ?> </a></li> <li><a href="#templates"><?php _e('Templating', 'my-calendar'); ?> </a></li> <li><a href="#get-support"><?php _e('Support Form', 'my-calendar'); ?> </a></li> <li><a href="#notes"><?php _e('Helpful Information', 'my-calendar'); ?> </a></li> </ul> </div> </div> </div> <div class="ui-sortable meta-box-sortables" id="get-started"> <div class="postbox"> <h3 id="help"><?php _e('Getting Started', 'my-calendar'); ?> </h3> <div class="inside"> <ul> <li><?php _e('Add the My Calendar shortcode (<code>[my_calendar]</code>) to a page.', 'my-calendar'); ?> </li> <li><?php _e('Add events by clicking on the Add/Edit Events link in the admin or on "Add Events" in the toolbar.', 'my-calendar'); ?> </li> <li><?php _e('Select your preferred stylesheet in the Styles Editor', 'my-calendar'); ?> </li> </ul> <p> <?php printf(__('Read more help documentation below or <a href="%s">purchase the My Calendar User\'s Guide</a> to learn more -- but the above is all that you need to do to begin using the calendar.', 'my-calendar'), 'https://www.joedolson.com/articles/my-calendar/users-guide/'); ?> </p> </div> </div> </div> <div class="ui-sortable meta-box-sortables" id="mc-generator"> <div class="postbox"> <h3 id="help"><?php _e("My Calendar Shortcode Generator", 'my-calendar'); ?> </h3> <div class="inside mc-tabs"> <?php mc_generate(); ?> <ul class='tabs'> <li><a href='#mc_main'><?php _e('Main', 'my-calendar'); ?> </a></li> <li><a href='#mc_upcoming'><?php _e('Upcoming', 'my-calendar'); ?> </a></li> <li><a href='#mc_today'><?php _e('Today', 'my-calendar'); ?> </a></li> <?php echo apply_filters('mc_generator_tabs', ''); ?> </ul> <div class='wptab mc_main' id='mc_main' aria-live='polite'> <?php mc_generator('main'); ?> </div> <div class='wptab mc_upcoming' id='mc_upcoming' aria-live='polite'> <?php mc_generator('upcoming'); ?> </div> <div class='wptab mc_today' id='mc_today' aria-live='polite'> <?php mc_generator('today'); ?> </div> <?php echo apply_filters('mc_generator_tab_content', ''); ?> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox" id="mc-shortcodes"> <h3><?php _e('Shortcode Syntax', 'my-calendar'); ?> </h3> <div class="inside"> <h4><?php _e('Main Calendar Shortcode (List or Grid, Weekly or Monthly view)', 'my-calendar'); ?> </h4> <p class="example"><code>[my_calendar]</code></p> <h4><?php _e('Example Customized Shortcode', 'my-calendar'); ?> </h4> <p class="example"><code>[my_calendar format="list" above="nav" below="print" time="week"]</code></p> <p> <?php _e('This shortcode shows the one-week view of the calendar on a post or page including all categories and the category key, in a list format. The standard previous/next navigation will be included above the calendar, the link to the print format (if enabled) will be shown below.', 'my-calendar'); ?> </p> <p> <?php _e('Shortcode attributes:', 'my-calendar'); ?> </p> <ul> <li><code>category</code>: <?php _e('Names or IDs of categories in the calendar, comma or pipe separated.', 'my-calendar'); ?> </li> <li><code>format</code>: <?php _e('"list" or "mini"; exclude or any other value to show a calendar grid.', 'my-calendar'); ?> </li> <li><code>above</code>, <code>below</code>: <?php _e("Comma-separated list of navigation to display above or below the calendar. Available: <strong>nav, toggle, jump, print, key, feeds, timeframe</strong>. Order listed determines the order displayed. Defaults in settings will be used if the attribute is blank. Use <em>none</em> to hide all navigation.", 'my-calendar'); ?> </li> <li><code>time</code>: <?php _e('Set to "week" to show a one week view or to "day" to show a single day view. Any other value will show a month view. (Day view always shows as a list.)', 'my-calendar'); ?> </li> <li><code>ltype</code>: <?php _e('Type of location data to restrict by.', 'my-calendar'); ?> </li> <li><code>lvalue</code>: <?php _e('Specific location information to filter to.', 'my-calendar'); ?> </li> <li><code>author</code>: <?php _e('Author or comma-separated list (usernames or IDs) to show events from.', 'my-calendar'); ?> </li> <li><code>host</code>: <?php _e('Host or comma-separated list (usernames or IDs) to show events from.', 'my-calendar'); ?> </li> <li><code>id</code>: <?php _e('String to give shortcode a unique ID.', 'my-calendar'); ?> </li> </ul> <p> <em><?php _e('The main My Calendar shortcode can be generated from a button in your post and page editor. The mini calendar can also be accessed and configured as a widget.', 'my-calendar'); ?> </em> </p> <h4><?php _e('Additional Views (Upcoming events, today\'s events)', 'my-calendar'); ?> </h4> <p class="example"><code>[my_calendar_upcoming before="3" after="3" type="event" fallback="No events coming up!" category="General" author="1" host="1" template="{title} {date}" order="asc" show_today="yes" skip="0" ltype="" lvalue=""]</code></p> <p> <?php _e('Displays the output of the Upcoming Events widget. <code>before</code> and <code>after</code> are numbers; <code>type</code> is either "event" or "days", and <code>category</code> and <code>author</code> work the same as in the main calendar shortcode. Templates use the template codes listed below. <code>fallback</code> provides text if no events meet your criteria. Order sets sort order for the list – ascending (<code>asc</code>) or descending (<code>desc</code>). <code>show_today</code> indicates whether to include today\'s events in the list. <code>Skip</code> is how many events to skip in the list.', 'my-calendar'); ?> </p> <p class="example"><code>[my_calendar_today category="" author="1" host="1" fallback="Nothing today!" template="{title} {date}"]</code></p> <p> <?php _e('Displays the output of the Today\'s Events widget, with four configurable attributes: category, author, template and fallback text.', 'my-calendar'); ?> </p> <p> <em><?php _e('Upcoming Events and Today\'s Events can also be configured as widgets.', 'my-calendar'); ?> </em> </p> <p class="example"><code>[my_calendar_event event="" template="<h3>{title}</h3>{description}" list="<li>{date}, {time}</li>" before="<ul>" after="</ul>"]</code></p> <p> <?php _e('Displays a single event and/or all dates for that event. If template is set to a blank value, will only display the list of occurrences. If the list attribute is set blank, will only show the event template', 'my-calendar'); ?> </p> <h4><?php _e('Calendar Filter Shortcodes', 'my-calendar'); ?> </h4> <p class="example"><code>[mc_filters show="categories,locations"]</code></p> <p> <?php _e('Displays all available filters as a single form. The <code>show</code> attribute takes three keywords: categories, locations, and access, to indicate which filters to show and in what order.', 'my-calendar'); ?> </p> <p class="example"><code>[my_calendar_locations show="list" type="saved" datatype="name"]</code></p> <p> <?php _e('List of event locations, as a list of links or as a select form. <code>show</code> is either <code>list</code> or <code>form</code>, <code>type</code> is <code>saved</code> (to show items from stored locations), or <code>custom</code> (to show options configured in location settings). <code>datatype</code> must be the type of data your limits are using: <code>name</code> (business name), <code>city</code>, <code>state</code>, <code>country</code>, <code>zip</code> (postal code), or <code>region</code>.', 'my-calendar'); ?> </p> <p class="example"><code>[my_calendar_categories show="list"]</code></p> <p> <?php _e('List of event categories, either as a list of links or as a select dropdown form. The <code>show</code> attribute can either be <code>list</code> or <code>form</code>.', 'my-calendar'); ?> </p> <p class="example"><code>[my_calendar_access show="list"]</code></p> <p> <?php _e('List of filterable accessibility services, either as a list of links or as a select dropdown form. The <code>show</code> attribute can either be <code>list</code> or <code>form</code>.', 'my-calendar'); ?> </p> <h4><?php _e('Information Listing Shortcodes', 'my-calendar'); ?> </h4> <p class="example"><code>[my_calendar_show_locations datatype="" template=""]</code></p> <p> <?php _e('List of locations. <code>datatype</code> is the type of data displayed; all lists include a link to the map to that location. In addition to basic location information as in the above shortcode, you can also use "hcard" to display all available location information.', 'my-calendar'); ?> <?php _e('Use <code>template</code> to show customized data, sorted by the <code>datatype</code> value.', 'my-calendar'); ?> </p> </div> </div> <div class="ui-sortable meta-box-sortables" id="icons"> <div class="postbox"> <h3><?php _e('Category Icons', 'my-calendar'); ?> </h3> <div class="inside"> <p> <?php _e('My Calendar is designed to manage multiple calendars. The basis for these calendars are categories; you can setup a calendar page which includes all categories, or you can dedicate separate pages to calendars in each category. For an example, this might be useful for you in managing the tour calendars for multiple bands; event calendars for a variety of locations, etc.', 'my-calendar'); ?> </p> <p> <?php _e('The pre-installed category icons may not be what you need. I assume that you\'ll upload your own icons -- place your custom icons in a folder at "my-calendar-custom" to avoid having them overwritten by upgrades.', 'my-calendar'); ?> <?php _e('You can alternately place icons in:', 'my-calendar'); ?> <code><?php echo str_replace('/my-calendar', '', plugin_dir_path(__FILE__)) . 'my-calendar-custom/'; ?> </code> </p> </div> </div> </div> <div class="ui-sortable meta-box-sortables" id="mc-styles"> <div class="postbox"> <h3><?php _e('Custom Styles', 'my-calendar'); ?> </h3> <div class="inside"> <p> <?php _e('My Calendar comes with five default stylesheets. My Calendar will retain your changes to stylesheets, but if you want to add an entirely new stylesheet, you may wish to store it in the My Calendar custom styles directory.', 'my-calendar'); ?> </p> <ul> <li><?php _e('Your custom style directory is', 'my-calendar'); ?> : <code><?php echo str_replace('/my-calendar', '', plugin_dir_path(__FILE__)) . 'my-calendar-custom/styles/'; ?> </code></li> </ul> <p> <?php _e('You can also add custom styles to your custom directory or your theme directory for print styles, mobile styles, and tablet styles. <code>mc-print.css</code>, <code>mc-mobile.css</code>, and <code>mc-tablet.css</code>.', 'my-calendar'); ?> </p> </div> </div> </div> <div class="ui-sortable meta-box-sortables" id="templates"> <div class="postbox"> <h3 id="template"><?php _e('Template Tags', 'my-calendar'); ?> </h3> <div class="inside"> <p> <?php _e('All template tags support two attributes: before="value" and after="value". The values of the attributes will be placed before and after the output value. These attribute values <strong>must</strong> be wrapped in double quotes.', 'my-calendar'); ?> </p> <p> <?php _e('Date/Time template tags support the "format" attribute: format="M, Y", where the value is a PHP formatted date string. Only <code>dtstart</code> and <code>dtend</code> include the full date/time information for formatting.', 'my-calendar'); ?> </p> <p> <strong><?php _e('Example:', 'my-calendar'); ?> </strong> <code>{title before="<h3>" after="</h3>"}</code> </p> <h4><?php _e('Event Template Tags', 'my-calendar'); ?> </h4> <dl> <dt><code>{title}</code></dt> <dd><?php _e('Displays the title of the event.', 'my-calendar'); ?> </dd> <dt><code>{link_title}</code></dt> <dd><?php _e('Displays title of the event as a link if a URL is present, or the title alone if no URL is available.', 'my-calendar'); ?> </dd> <dt><code>{link_image}</code></dt> <dd><?php _e('Displays featured image of the event as a link if a URL is present, or the image alone if no URL is available.', 'my-calendar'); ?> </dd> <dt><code>{time}</code></dt> <dd><?php _e('Displays the start time for the event.', 'my-calendar'); ?> </dd> <dt><code>{runtime}</code></dt> <dd><?php _e('Human language estimate of how long an event will run.', 'my-calendar'); ?> </dd> <dt><code>{usertime}</code></dt> <dd><?php _e('Displays the start time for the event adjusted to the current user\'s time zone settings. Returns <code>{time}</code> if user settings are disabled or if the user has not selected a preferred time zone.', 'my-calendar'); ?> </dd> <dt><code>{endusertime}</code></dt> <dd><?php _e('Displays the end time for the event adjusted to the current user\'s time zone settings. Returns <code>{endtime}</code> if user settings are disabled or if the user has not selected a preferred time zone.', 'my-calendar'); ?> </dd> <dt><code>{date}</code></dt> <dd><?php _e('Displays the date on which the event begins.', 'my-calendar'); ?> </dd> <dt><code>{began}</code></dt> <dd><?php _e('Displays the date on which the series of events began (for recurring events).', 'my-calendar'); ?> </dd> <dt><code>{enddate}</code></dt> <dd><?php _e('Displays the date on which the event ends.', 'my-calendar'); ?> </dd> <dt><code>{endtime}</code></dt> <dd><?php _e('Displays the time at which the event ends.', 'my-calendar'); ?> </dd> <dt><code>{daterange}</code></dt> <dd><?php _e('Displays the beginning date to the end date for events. Does not show end date if same as start date.', 'my-calendar'); ?> </dd> <dt><code>{timerange}</code></dt> <dd><?php _e('Displays the beginning and end times for events. Does not show end time if same as start or if marked as hidden.', 'my-calendar'); ?> </dd> <dt><code>{dtstart}</code></dt> <dd><?php _e('Timestamp for beginning of event.', 'my-calendar'); ?> </dd> <dt><code>{dtend}</code></dt> <dd><?php _e('Timestamp for end of event.', 'my-calendar'); ?> </dd> <dt><code>{multidate}</code></dt> <dd><?php _e('For multi-day events displays an unordered list of dates and times for events in this group. Otherwise, beginning date/time.', 'my-calendar'); ?> </dd> <dt><code>{author}</code></dt> <dd><?php _e('Displays the WordPress author who posted the event.', 'my-calendar'); ?> </dd> <dt><code>{gravatar}</code></dt> <dd><?php _e('Displays the gravatar image for the event author.', 'my-calendar'); ?> </dd> <dt><code>{host}</code></dt> <dd><?php _e('Displays the name of the person assigned as host for the event.', 'my-calendar'); ?> </dd> <dt><code>{host_email}</code></dt> <dd><?php _e('Displays the email address of the person assigned as host for the event.', 'my-calendar'); ?> </dd> <dt><code>{host_gravatar}</code></dt> <dd><?php _e('Displays the gravatar image for the event host.', 'my-calendar'); ?> </dd> <dt><code>{shortdesc}</code></dt> <dd><?php _e('Displays the short version of the event description.', 'my-calendar'); ?> </dd> <dt><code>{shortdesc_raw}</code></dt> <dd><?php _e('Displays short description without converting paragraphs.', 'my-calendar'); ?> </dd> <dt><code>{shortdesc_stripped}</code></dt> <dd><?php _e('Displays short description with any HTML stripped out.', 'my-calendar'); ?> </dd> <dt><code>{excerpt}</code></dt> <dd><?php _e('Like <code>the_excerpt();</code> displays shortdesc if provided, otherwise excerpts description.', 'my-calendar'); ?> </dd> <dt><code>{description}</code></dt> <dd><?php _e('Displays the description of the event.', 'my-calendar'); ?> </dd> <dt><code>{description_raw}</code></dt> <dd><?php _e('Displays description without converting paragraphs.', 'my-calendar'); ?> </dd> <dt><code>{description_stripped}</code></dt> <dd><?php _e('Displays description with any HTML stripped out.', 'my-calendar'); ?> </dd> <dt><code>{access}</code></dt> <dd><?php _e('Unordered list of accessibility options for this event.', 'my-calendar'); ?> </dd> <dt><code>{image}</code></dt> <dd><?php _e('Image associated with the event. (HTMl)', 'my-calendar'); ?> </dd> <dt><code>{image_url}</code></dt> <dd><?php _e('Image associated with the event. (image URL only)', 'my-calendar'); ?> </dd> <dt><code>{full}</code></dt> <dd><?php _e('Event post thumbnail, full size, full HTML', 'my-calendar'); ?> </dd> <?php $sizes = get_intermediate_image_sizes(); foreach ($sizes as $size) { ?> <dt><code>{<?php echo $size; ?> }</code></dt> <dd><?php printf(__('Event post thumbnail, %s size, full HTML', 'my-calendar'), $size); ?> </dd> <?php } ?> <dt><code>{link}</code></dt> <dd><?php _e('Displays the URL provided for the event.', 'my-calendar'); ?> </dd> <dt><code>{ical_link}</code></dt> <dd><?php _e('Produces the URL to download an iCal formatted record for the event.', 'my-calendar'); ?> </dd> <dt><code>{ical_html}</code></dt> <dd><?php _e('Produces a hyperlink to download an iCal formatted record for the event.', 'my-calendar'); ?> </dd> <dt><code>{gcal}</code></dt> <dd><?php _e('URL to submit event to Google Calendar', 'my-calendar'); ?> </dd> <dt><code>{gcal_link}</code></dt> <dd><?php _e('Link to submit event to Google Calendar, with class "gcal"', 'my-calendar'); ?> </dd> <dt><code>{recurs}</code></dt> <dd><?php _e('Shows the recurrence status of the event. (Daily, Weekly, etc.)', 'my-calendar'); ?> </dd> <dt><code>{repeats}</code></dt> <dd><?php _e('Shows the number of repetitions of the event.', 'my-calendar'); ?> </dd> <dt><code>{details}</code></dt> <dd><?php _e('Provides a link to an auto-generated page containing all information on the given event.', 'my-calendar'); ?> <strong><?php _e('Requires that the site URL has been provided on the Settings page', 'my-calendar'); ?> </strong> <dt><code>{details_link}</code></dt> <dd><?php _e('Raw URL for the details link; empty if target URL not defined.', 'my-calendar'); ?> <dt><code>{linking}</code></dt> <dd><?php _e('Provides a link to the defined event URL when present, otherwise the {details} link.', 'my-calendar'); ?> <strong><?php _e('Requires that the site URL has been provided on the Settings page', 'my-calendar'); ?> </strong> <dt><code>{linking_title}</code></dt> <dd><?php _e('Like {link_title}, but uses {linking} instead of {link}.', 'my-calendar'); ?> <dt><code>{event_open}</code></dt> <dd><?php _e('Displays text indicating whether registration for the event is currently open or closed; displays nothing if that choice is selected in the event.', 'my-calendar'); ?> </dd> <dt><code>{event_tickets}</code></dt> <dd><?php _e('URL to ticketing for event.', 'my-calendar'); ?> </dd> <dt><code>{event_registration}</code></dt> <dd><?php _e('Registration information about this event.', 'my-calendar'); ?> </dd> <dt><code>{event_status}</code></dt> <dd><?php _e('Displays the current status of the event: either "Published" or "Reserved" - primary used in email templates.', 'my-calendar'); ?> </dd> </dl> <h4><?php _e('Location Template Tags', 'my-calendar'); ?> </h4> <dl> <dt><code>{location}</code></dt> <dd><?php _e('Displays the name of the location of the event.', 'my-calendar'); ?> </dd> <dt><code>{street}</code></dt> <dd><?php _e('Displays the first line of the site address.', 'my-calendar'); ?> </dd> <dt><code>{street2}</code></dt> <dd><?php _e('Displays the second line of the site address.', 'my-calendar'); ?> </dd> <dt><code>{city}</code></dt> <dd><?php _e('Displays the city for the location.', 'my-calendar'); ?> </dd> <dt><code>{state}</code></dt> <dd><?php _e('Displays the state for the location.', 'my-calendar'); ?> </dd> <dt><code>{postcode}</code></dt> <dd><?php _e('Displays the postcode for the location.', 'my-calendar'); ?> </dd> <dt><code>{region}</code></dt> <dd><?php _e('Shows the custom region entered for the location.', 'my-calendar'); ?> </dd> <dt><code>{country}</code></dt> <dd><?php _e('Displays the country for the event location.', 'my-calendar'); ?> </dd> <dt><code>{sitelink}</code></dt> <dd><?php _e('Output the URL for the location link.', 'my-calendar'); ?> </dd> <dt><code>{phone}</code></dt> <dd><?php _e('Output the stored phone number for the location.', 'my-calendar'); ?> </dd> <dt><code>{sitelink_html}</code></dt> <dd><?php _e('Output a hyperlink to the location\'s listed link with default link text.', 'my-calendar'); ?> </dd> <dt><code>{hcard}</code></dt> <dd><?php _e('Displays the event address in <a href="http://microformats.org/wiki/hcard">hcard</a> format.', 'my-calendar'); ?> </dd> <dt><code>{link_map}</code></dt> <dd><?php _e('Displays a link to a Google Map of the event, if sufficient address information is available. If not, will be empty.', 'my-calendar'); ?> </dd> <dt><code>{map_url}</code></dt> <dd><?php _e('Produces the URL for the Google Map for the event location if sufficient address information is available. If not, will be empty.', 'my-calendar'); ?> </dd> <dt><code>{map}</code></dt> <dd><?php _e('Output Google Map if sufficient address information is available. If not, will be empty.', 'my-calendar'); ?> </dd> <dt><code>{location_access}</code></dt> <dd><?php _e('Unordered list of accessibility options for this location.', 'my-calendar'); ?> </dd> </dl> <h4><?php _e('Category Template Tags', 'my-calendar'); ?> </h4> <dl> <dt><code>{category}</code></dt> <dd><?php _e('Displays the name of the category the event is in.', 'my-calendar'); ?> </dd> <dt><code>{icon}</code></dt> <dd><?php _e('Produces the address of the current event\'s category icon.', 'my-calendar'); ?> </dd> <dt><code>{icon_html}</code></dt> <dd><?php _e('Produces the HTML for the current event\'s category icon.', 'my-calendar'); ?> </dd> <dt><code>{color}</code></dt> <dd><?php _e('Produces the hex code for the current event\'s category color.', 'my-calendar'); ?> </dd> <dt><code>{cat_id}</code></dt> <dd><?php _e('Displays the ID for the category the event is in.', 'my-calendar'); ?> </dd> </dl> <h4><?php _e('Special use Template Tags', 'my-calendar'); ?> </h4> <dl> <dt><code>{dateid}</code></dt> <dd><?php _e('A unique ID for the current instance of an event.', 'my-calendar'); ?> </dd> <dt><code>{id}</code></dt> <dd><?php _e('The ID for the event record associated with the current instance of an event.', 'my-calendar'); ?> </dd> </dl> <?php do_action('mc_after_help'); ?> </div> </div> </div> <div class="ui-sortable meta-box-sortables" id="get-support"> <div class="postbox"> <h3 id="support"><?php _e('Get Plug-in Support', 'my-calendar'); ?> </h3> <div class="inside"> <?php if (current_user_can('administrator')) { ?> <?php jcd_get_support_form(); ?> <?php } else { ?> <?php _e('My Calendar support requests can only be sent by administrators.', 'my-calendar'); ?> <?php } ?> </div> </div> <div class="ui-sortable meta-box-sortables" id="notes"> <div class="postbox"> <h3 id="help"><?php _e('Helpful Information', 'my-calendar'); ?> </h3> <div class="inside"> <p> <?php _e('<strong>Uninstalling the plugin</strong>: Although the WordPress standard and expectation is for plug-ins to delete any custom database tables when they\'re uninstalled, My Calendar <em>does not do this</em>. This was a conscious decision on my part -- the data stored in your My Calendar tables is yours; with the sole exception of the "General" category, you added every piece of it yourself. As such, I feel it would be a major disservice to you to delete this information if you uninstall the plug-in. As a result, if you wish to get rid of the plug-in completely, you\'ll need to remove those tables yourself. All your My Calendar settings will be deleted, however.', 'my-calendar'); ?> </p> <p> <?php _e('<strong>Donations</strong>: I appreciate anything you can give. $2 may not seem like much, but it can really add up when thousands of people are using the software. Please note that I am not a non-profit organization, and your gifts are not tax deductible. Thank you!', 'my-calendar'); ?> </p> </div> </div> </div> </div> </div> </div> </div> <?php mc_show_sidebar(); ?> </div> <?php }
function mcs_settings() { mcs_check(); $response = mcs_update_settings($_POST); echo $response; $options = get_option('mcs_options'); $defaults = $options['defaults']; $mcs_to = get_option('mcs_to'); // send to $mcs_from = get_option('mcs_from'); // send from $mcs_subject = get_option('mcs_subject') ? get_option('mcs_subject') : $defaults['mcs_subject']; // subject line $mcs_edit_subject = get_option('mcs_edit_subject') ? get_option('mcs_edit_subject') : $defaults['mcs_subject']; // subject line $mcs_response = get_option('mcs_response') ? get_option('mcs_response') : $defaults['mcs_response']; // admin email after submission $mcs_confirmation = get_option('mcs_confirmation') ? get_option('mcs_confirmation') : $defaults['mcs_confirmation']; // submitter email after submission $mcs_confirmation_subject = get_option('mcs_confirmation_subject') ? get_option('mcs_confirmation_subject') : $defaults['mcs_confirmation_subject']; // subject line $mcs_edit_confirmation_subject = get_option('mcs_edit_confirmation_subject') ? get_option('mcs_edit_confirmation_subject') : $defaults['mcs_confirmation_subject']; // subject line $mcs_payments = get_option('mcs_payments') ? get_option('mcs_payments') : $defaults['mcs_payments']; // are payments required? //$mcs_payments_approved = ( get_option('mcs_payments_approved') )?get_option('mcs_payments_approved'):$defaults['mcs_payments_approved']; // paid submissions auto approved $mcs_payment_subject = get_option('mcs_payment_subject') ? get_option('mcs_payment_subject') : $defaults['mcs_payment_subject']; // subject line $mcs_payment_response = get_option('mcs_payment_response') ? get_option('mcs_payment_response') : $defaults['mcs_payment_response']; // admin email after submission $mcs_payment_confirmation = get_option('mcs_payment_confirmation') ? get_option('mcs_payment_confirmation') : $defaults['mcs_payment_confirmation']; // submitter email after submission $mcs_payment_confirmation_subject = get_option('mcs_payment_confirmation_subject') ? get_option('mcs_payment_confirmation_subject') : $defaults['mcs_payment_confirmation_subject']; // subject line $mcs_payment_message = get_option('mcs_payment_message') ? get_option('mcs_payment_message') : $defaults['mcs_payment_message']; // subject line $mcs_submission_fee = get_option('mcs_submission_fee') ? get_option('mcs_submission_fee') : $defaults['mcs_submission_fee']; // posting cost for public $mcs_members_discount = get_option('mcs_members_discount'); // discount for members (percentage) $mcs_criteria = get_option('mcs_criteria') ? get_option('mcs_criteria') : $defaults['mcs_criteria']; // who can submit events $mcs_paypal_email = get_option('mcs_paypal_email'); // paypal email $mcs_purchase_page = get_option('mcs_purchase_page'); $mcs_use_sandbox = get_option('mcs_use_sandbox') ? get_option('mcs_use_sandbox') : $defaults['mcs_use_sandbox']; // use sandbox $mcs_paypal_merchant_id = get_option('mcs_paypal_merchant_id'); // paypal merchant ID $mcs_button = get_option('mcs_button'); $mcs_submit_id = get_option('mcs_submit_id'); $mcs_date_format = get_option('mcs_date_format'); $mcs_time_format = get_option('mcs_time_format'); $mcs_currency = get_option('mcs_currency'); $mcs_quantity = get_option('mcs_quantity'); $mcs_discount = get_option('mcs_discount'); $mcs_gateway = get_option('mcs_gateway'); $mcs_authnet_api = get_option('mcs_authnet_api'); $mcs_authnet_key = get_option('mcs_authnet_key'); $mcs_authnet_hash = get_option('mcs_authnet_hash'); $mcs_check_conflicts = get_option('mcs_check_conflicts'); $mcs_upload_images = get_option('mcs_upload_images'); $mcs_automatic_approval = get_option('mcs_automatic_approval'); $mcs_dont_send_submitter_email = get_option('mcs_dont_send_submitter_email'); $mcs_dont_send_admin_email = get_option('mcs_dont_send_admin_email'); ?> <div class="wrap jd-my-calendar" id="mc_settings"> <?php my_calendar_check_db(); ?> <h2><?php _e('My Calendar Pro', 'my-calendar-submissions'); ?> </h2> <div class="mc-tabs mcs-tabs"> <ul class="tabs" role="tablist"> <li role="tab" id="tab_mcs" aria-controls="mcs_tab"><a href="#mcs_tab"><?php _e('Submissions', 'my-calendar'); ?> </a></li> <li role="tab" id="tab_mcs_payments" aria-controls="mcs_payments_tab"><a href="#mcs_payments_tab"><?php _e('Payments', 'my-calendar'); ?> </a></li> <?php $tabs = apply_filters('mcs_settings_tabs', array()); foreach ($tabs as $key => $value) { $key = sanitize_title($key); $value = esc_html($value); echo '<li role="tab" id="tab_mcs_' . $key . '" aria-controls="mcs_' . $key . '_tab"><a href="#mcs_' . $key . '_tab">' . $value . '</a></li>' . "\n"; } ?> </ul> <div class="mcs-settings settings postbox-container jcd-wide"> <div class="metabox-holder wptab" aria-labelledby="tab_mcs" role="tabpanel" aria-live="assertive" id="mcs_tab"> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('Event Submissions Settings', 'my-calendar-submissions'); ?> </h3> <div class="inside"> <p> <a href="<?php echo admin_url('admin.php?page=my-calendar-manage&limit=reserved#my-calendar-admin-table'); ?> "><?php _e('View pending event submissions', 'my-calendar-submissions'); ?> </a> </p> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-submissions"); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-submissions'); ?> " /></div> <p> <label for="mcs_submit_id"><?php _e('Event Submission Page ID', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_submit_id" id="mcs_submit_id" size="6" value="<?php echo esc_attr(trim($mcs_submit_id)); ?> " /> </p> <p class='format'> <label for="mcs_date_format"><?php _e('Date format hint', 'my-calendar-submissions'); ?> </label> <select name="mcs_date_format" id="mcs_date_format"> <option value="m/d/Y" <?php echo mc_is_selected('mcs_date_format', 'm/d/y'); ?> ><?php echo date('m/d/Y'); ?> </option> <option value="d-m-Y" <?php echo mc_is_selected('mcs_date_format', 'd-m-Y'); ?> ><?php echo date('d-m-Y'); ?> </option> <option value="Y-m-d" <?php echo mc_is_selected('mcs_date_format', 'Y-m-d'); ?> ><?php echo date('Y-m-d'); ?> </option> <option value="j F Y" <?php echo mc_is_selected('mcs_date_format', 'j F Y'); ?> ><?php echo date_i18n('j F Y'); ?> </option> <option value="M j, Y" <?php echo mc_is_selected('mcs_date_format', 'M j, Y'); ?> ><?php echo date('M j, Y'); ?> </option> </select> </p> <p class='format'> <label for="mcs_time_format"><?php _e('Time format hint', 'my-calendar-submissions'); ?> </label> <select name="mcs_time_format" id="mcs_time_format"> <option value="h:i a" <?php echo mc_is_selected('mcs_time_format', 'h:i a'); ?> ><?php echo date('h:i a'); ?> </option> <option value="H:i" <?php echo mc_is_selected('mcs_time_format', 'H:i'); ?> ><?php echo date('H:i'); ?> </option> </select> </p> <p> <input type="checkbox" id="mcs_check_conflicts" name="mcs_check_conflicts" <?php mc_is_checked('mcs_check_conflicts', 'true'); ?> /> <label for="mcs_check_conflicts"><?php _e('Prevent conflicting events. (if locations are used, checks only for conflicts at that location.)', 'my-calendar-submissions'); ?> </label> </p> <p> <input type="checkbox" id="mcs_upload_images" name="mcs_upload_images" <?php mc_is_checked('mcs_upload_images', 'true'); ?> /> <label for="mcs_upload_images"><?php _e('Allow public event submitters to upload their own images', 'my-calendar-submissions'); ?> </label> </p> <p> <input type="checkbox" id="mcs_automatic_approval" name="mcs_automatic_approval" <?php mc_is_checked('mcs_automatic_approval', 'true'); ?> /> <label for="mcs_automatic_approval"><?php _e('Submitted events do not require approval.', 'my-calendar-submissions'); ?> </label> </p> <p> <input type="checkbox" id="mcs_dont_send_submitter_email" name="mcs_dont_send_submitter_email" <?php mc_is_checked('mcs_dont_send_submitter_email', 'true'); ?> /> <label for="mcs_dont_send_submitter_email"><?php _e('Disable submitter email notification on automatically approved events.', 'my-calendar-submissions'); ?> </label> </p> <p> <input type="checkbox" id="mcs_dont_send_admin_email" name="mcs_dont_send_admin_email" <?php mc_is_checked('mcs_dont_send_admin_email', 'true'); ?> /> <label for="mcs_dont_send_admin_email"><?php _e('Disable admin email notification on automatically approved events.', 'my-calendar-submissions'); ?> </label> </p> <h4><?php _e('New event messages', 'my-calendar-submissions'); ?> </h4> <p> <input type="checkbox" id="mcs_html_email" name="mcs_html_email" <?php mc_is_checked('mcs_html_email', 'true'); ?> /> <label for="mcs_html_email"><?php _e('Send email notifications as HTML.', 'my-calendar-submissions'); ?> </label> </p> <fieldset> <legend><?php _e('Sent to administrators', 'my-calendar-submissions'); ?> </legend> <ul> <li> <label for="mcs_to"><?php _e('Send notifications to:', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_to" id="mcs_to" size="60" value="<?php echo $mcs_to == '' ? get_bloginfo('admin_email') : esc_attr($mcs_to); ?> " /> </li> <li> <label for="mcs_from"><?php _e('Send notifications from:', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_from" id="mcs_from" size="60" value="<?php echo $mcs_from == '' ? get_bloginfo('admin_email') : esc_attr($mcs_from); ?> " /> </li> <li> <label for="mcs_subject"><?php _e('Notification Subject', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_subject" id="mcs_subject" size="60" value="<?php echo stripslashes(esc_attr($mcs_subject)); ?> " /> </li> <li> <label for="mcs_edit_subject"><?php _e('Notification Subject (Edits)', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_edit_subject" id="mcs_edit_subject" size="60" value="<?php echo stripslashes(esc_attr($mcs_edit_subject)); ?> " /> </li> <li> <label for="mcs_response"><?php _e('Notification message', 'my-calendar-submissions'); ?> </label><br /><textarea name="mcs_response" id="mcs_response" rows="4" cols="60"><?php echo stripslashes(esc_attr($mcs_response)); ?> </textarea> <?php $edit_link = mcs_submit_url() ? ', <code>edit_link</code>' : ''; ?> <em><?php echo __('Available template tags: <code>first_name</code>, <code>last_name</code>, <code>email</code>, <code>title</code>, <code>date</code>, <code>time</code>, <code>description</code>, <code>short</code>, <code>image</code>, <code>url</code>, <code>location</code>, <code>street</code>, <code>city</code>, <code>phone</code>, <code>blogname</code>', 'my-calendar-submissions') . $edit_link; ?> </em> </li> </ul> </fieldset> <fieldset> <legend><?php _e('Sent to event submitter', 'my-calendar-submissions'); ?> </legend> <ul> <li> <label for="mcs_confirmation_subject"><?php _e('Confirmation Subject', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_confirmation_subject" id="mcs_confirmation_subject" size="60" value="<?php echo stripslashes(esc_attr($mcs_confirmation_subject)); ?> " /> </li> <li> <label for="mcs_edit_confirmation_subject"><?php _e('Confirmation Subject', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_edit_confirmation_subject" id="mcs_edit_confirmation_subject" size="60" value="<?php echo stripslashes(esc_attr($mcs_edit_confirmation_subject)); ?> " /> </li> <li> <label for="mcs_confirmation"><?php _e('Submitter confirmation message', 'my-calendar-submissions'); ?> </label><br /><textarea name="mcs_confirmation" id="mcs_confirmation" rows="4" cols="60"><?php echo stripslashes(esc_attr($mcs_confirmation)); ?> </textarea> <em><?php _e('Available template tags: <code>first_name</code>, <code>last_name</code>, <code>email</code>, <code>title</code>, <code>date</code>, <code>time</code>, <code>description</code>, <code>short</code>, <code>image</code>, <code>url</code>, <code>location</code>, <code>street</code>, <code>city</code>, <code>phone</code> <code>blogname</code>, <code>edit_link</code>', 'my-calendar-submissions'); ?> </em> </li> </ul> </fieldset> <h4><?php _e('Event Submission Criteria', 'my-calendar-submissions'); ?> </h4> <fieldset> <legend><?php _e('Who may use the front-end event submission widget?', 'my-calendar-submissions'); ?> </legend> <ul> <li> <input type="radio" id="mcs_public" name="mcs_criteria" value="1" <?php mc_is_checked('mcs_criteria', '1'); ?> /> <label for="mcs_public"><?php _e('General public.', 'my-calendar-submissions'); ?> </label> </li> <li> <input type="radio" id="mcs_members_only" name="mcs_criteria" value="2" <?php mc_is_checked('mcs_criteria', '2'); ?> /> <label for="mcs_members_only"><?php _e('Members.', 'my-calendar-submissions'); ?> </label> </li> <li> <input type="radio" id="mcs_member_status" name="mcs_criteria" value="3" <?php mc_is_checked('mcs_criteria', '3'); ?> /> <label for="mcs_member_status"><?php _e('Members with the "mc_add_events" capability.', 'my-calendar-submissions'); ?> </label> </li> </ul> </fieldset> <p><input type="submit" name="mc-submit-settings" class="button-primary" value="<?php _e('Save Submissions Settings', 'my-calendar-submissions'); ?> " /></p> </form> </div> </div> </div> </div> <div class="metabox-holder wptab" aria-labelledby="tab_payments_mcs" role="tabpanel" aria-live="assertive" id="mcs_payments_tab"> <form method="post" action="<?php echo admin_url("admin.php?page=my-calendar-submissions#mcs_payments_tab"); ?> "> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('Payment Settings', 'my-calendar-submissions'); ?> </h3> <div class="inside"> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-submissions'); ?> " /></div> <ul> <li> <input type="checkbox" id="mcs_payments" name="mcs_payments" <?php mc_is_checked('mcs_payments', 'true'); ?> /> <label for="mcs_payments"><?php _e('Require payment to submit an event', 'my-calendar-submissions'); ?> </label> </li> <?php if (get_option('mcs_payments') == 'true') { ?> <li> <input type="checkbox" id="mcs_use_sandbox" name="mcs_use_sandbox" <?php mc_is_checked('mcs_use_sandbox', 'true'); ?> /> <label for="mcs_use_sandbox"><?php _e('Place gateway in Testing mode', 'my-calendar-submissions'); ?> </label> </li> <li> <input type="checkbox" id="mcs_quantity" name="mcs_quantity" <?php mc_is_checked('mcs_quantity', 'true'); ?> /> <label for="mcs_quantity"><?php _e('Visitors may purchase multiple-use payment keys', 'my-calendar-submissions'); ?> </label> </li> <li> <label for="mcs_payment_message"><?php _e('Payment Form Message (shows above payments form)', 'my-calendar-submissions'); ?> </label> <textarea type="text" name="mcs_payment_message" id="mcs_payment_message" rows="2" cols="60"><?php echo stripslashes(esc_attr($mcs_payment_message)); ?> </textarea> <em><?php _e('Available template tags: <code>blogname</code>, <code>begins</code>, <code>ends</code>, <code>price</code>, <code>discount</code>, <code>currency</code>', 'my-calendar-submissions'); ?> </em> </li> </ul> <h4><?php _e('New purchase messages', 'my-calendar-submissions'); ?> </h4> <fieldset> <legend><?php _e('Sent to administrators', 'my-calendar-submissions'); ?> </legend> <ul> <li> <label for="mcs_payment_subject"><?php _e('Payment Notification Subject', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_payment_subject" id="mcs_payment_subject" size="60" value="<?php echo stripslashes(esc_attr($mcs_payment_subject)); ?> " /> </li> <li> <label for="mcs_payment_response"><?php _e('Payment Notification message', 'my-calendar-submissions'); ?> </label><br /><textarea name="mcs_payment_response" id="mcs_payment_response" rows="4" cols="60"><?php echo stripslashes(esc_attr($mcs_payment_response)); ?> </textarea> <em><?php _e('Available template tags: <code>blogname</code>, <code>first_name</code>, <code>last_name</code>, <code>price</code>, <code>key</code>, <code>quantity</code>, <code>receipt</code>', 'my-calendar-submissions'); ?> </em> </li> </ul> </fieldset> <fieldset> <legend><?php _e('Sent to purchaser', 'my-calendar-submissions'); ?> </legend> <ul> <li> <label for="mcs_payment_confirmation_subject"><?php _e('Payment Confirmation Subject', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_payment_confirmation_subject" id="mcs_payment_confirmation_subject" size="60" value="<?php echo stripslashes(esc_attr($mcs_payment_confirmation_subject)); ?> " /> </li> <li> <label for="mcs_payment_confirmation"><?php _e('Payment Submitter confirmation message', 'my-calendar-submissions'); ?> </label><br /><textarea name="mcs_payment_confirmation" id="mcs_payment_confirmation" rows="4" cols="60"><?php echo stripslashes(esc_attr($mcs_payment_confirmation)); ?> </textarea> <em><?php _e('Available template tags: <code>first_name</code>, <code>last_name</code>, <code>price</code>, <code>key</code>, <code>quantity</code>, <code>receipt</code>', 'my-calendar-submissions'); ?> </em> </li> </ul> </fieldset> <ul> <li> <?php $pricing = apply_filters('mcs_submission_fee_settings', false); if (!$pricing) { ?> <label for="mcs_submission_fee"><?php _e('Base price:', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_submission_fee" id="mcs_submission_fee" size="60" value="<?php echo esc_attr($mcs_submission_fee); ?> " /> <?php } else { echo $pricing; } ?> </li> <li><label for="mcs_currency"><?php _e('Currency:', 'my-calendar-submissions'); ?> </label> <?php $mcs_currency_codes = array("USD" => __('U.S. Dollars ($)', 'my-calendar-submissions'), "EUR" => __('Euros (€)', 'my-calendar-submissions'), "AUD" => __('Australian Dollars (A $)', 'my-calendar-submissions'), "CAD" => __('Canadian Dollars (C $)', 'my-calendar-submissions'), "GBP" => __('Pounds Sterling (£)', 'my-calendar-submissions'), "JPY" => __('Yen (¥)', 'my-calendar-submissions'), "NZD" => __('New Zealand Dollar ($)', 'my-calendar-submissions'), "CHF" => __('Swiss Franc', 'my-calendar-submissions'), "HKD" => __('Hong Kong Dollar ($)', 'my-calendar-submissions'), "SGD" => __('Singapore Dollar ($)', 'my-calendar-submissions'), "SEK" => __('Swedish Krona', 'my-calendar-submissions'), "DKK" => __('Danish Krone', 'my-calendar-submissions'), "PLN" => __('Polish Zloty', 'my-calendar-submissions'), "NOK" => __('Norwegian Krone', 'my-calendar-submissions'), "HUF" => __('Hungarian Forint', 'my-calendar-submissions'), "ILS" => __('Israeli Shekel', 'my-calendar-submissions'), "MXN" => __('Mexican Peso', 'my-calendar-submissions'), "BRL" => __('Brazilian Real (only for Brazilian users)', 'my-calendar-submissions'), "MYR" => __('Malaysian Ringgits (only for Malaysian users)', 'my-calendar-submissions'), "PHP" => __('Philippine Pesos', 'my-calendar-submissions'), "TWD" => __('Taiwan New Dollars', 'my-calendar-submissions'), "THB" => __('Thai Baht', 'my-calendar-submissions'), "TRY" => __('Turkish Lira (only for Turkish users)', 'my-calendar-submissions')); echo "<select name='mcs_currency' id='mcs_currency'>"; foreach ($mcs_currency_codes as $code => $currency) { $selected = get_option('mcs_currency') == $code ? "selected='selected'" : ""; echo "<option value='{$code}' {$selected}>{$currency}</option>"; } echo "</select>"; ?> </li> <li> <label for="mcs_members_discount"><?php _e('Member discount (%)', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_members_discount" id="mcs_members_discount" size="3" value="<?php echo esc_attr($mcs_members_discount); ?> " /> <?php _e('Member\'s discounted cost:', 'my-calendar-submissions'); ?> <?php echo mcs_get_price(true); ?> </li> <?php echo apply_filters('mcs_custom_fields', ''); ?> </ul> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('Payment Gateways', 'my-calendar-submissions'); ?> </h3> <div class="inside"> <ul> <li> <input type="radio" id="mcs_gateway_paypal" name="mcs_gateway" value="paypal" <?php mc_is_checked('mcs_gateway', 'paypal'); ?> /> <label for="mcs_gateway_paypal"><?php _e('Use Paypal', 'my-calendar-submissions'); ?> </label> </li> <li> <input type="radio" id="mcs_gateway_authorizenet" name="mcs_gateway" value="authorizenet" <?php mc_is_checked('mcs_gateway', 'authorizenet'); ?> /> <label for="mcs_gateway_authorizenet"><?php _e('Use Authorize.net', 'my-calendar-submissions'); ?> </label> </li> <li> <input type="checkbox" id="mcs_ssl" name="mcs_ssl" value="true" aria-describedby="mcs_ssl_desc" <?php mc_is_checked('mcs_ssl', 'true'); ?> /> <label for="mcs_ssl"><?php _e('Use SSL for Payment pages.', 'my-calendar-submissions'); ?> </label><br /> <span id="mcs_ssl_desc"><?php _e('SSL is not required for My Calendar Pro to be secure, but can improve the comfort level of your users on your site.', 'my-calendar-submissions'); ?> </span> </li> <li> <?php if (get_option('mcs_ssl') == 'true') { $required = 'required aria-required="true"'; } else { $required = ''; } ?> <input type="text" size='4' id="mcs_purchase_page" name="mcs_purchase_page" value="<?php echo esc_attr($mcs_purchase_page); ?> "<?php echo $required; ?> /> <label for="mcs_purchase_page"><?php _e('Post ID for My Calendar Submissions form.', 'my-calendar-submissions'); ?> </label><br /> </li> </ul> <?php if (get_option('mcs_gateway') == 'authorizenet') { ?> <h4><?php _e('Authorize.net Settings', 'my-calendar-submissions'); ?> </h4> <fieldset> <div> <input type="hidden" name="mcs_paypal_email" value="<?php echo esc_attr($mcs_paypal_email); ?> " /> <input type="hidden" name="mcs_paypal_merchant_id" value="<?php echo esc_attr($mcs_paypal_merchant_id); ?> " /> </div> <legend><?php _e('Authorize.net Settings', 'my-calendar-submissions'); ?> </legend> <ul> <li> <label for="mcs_authnet_api"><?php _e('API Login ID', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_authnet_api" id="mcs_authnet_api" size="60" value="<?php echo esc_attr($mcs_authnet_api); ?> " /> </li> <li> <label for="mcs_authnet_key"><?php _e('Transaction Key', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_authnet_key" id="mcs_authnet_key" size="60" value="<?php echo esc_attr($mcs_authnet_key); ?> " /> </li> <li> <label for="mcs_authnet_hash"><?php _e('MD5 Hash Value', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_authnet_hash" id="mcs_authnet_hash" size="60" value="<?php echo esc_attr($mcs_authnet_hash); ?> " /> </li> </ul> </fieldset> <?php } else { ?> <h4><?php _e('PayPal Settings', 'my-calendar-submissions'); ?> </h4> <fieldset> <div> <input type="hidden" name="mcs_authnet_api" value="<?php echo esc_attr($mcs_authnet_api); ?> " /> <input type="hidden" name="mcs_authnet_key" value="<?php echo esc_attr($mcs_authnet_key); ?> " /> <input type="hidden" name="mcs_authnet_hash" value="<?php echo esc_attr($mcs_authnet_hash); ?> " /> </div> <legend><?php _e('PayPal Settings', 'my-calendar-submissions'); ?> </legend> <ul> <li> <label for="mcs_paypal_email"><?php _e('Paypal email (primary)', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_paypal_email" id="mcs_paypal_email" size="60" value="<?php echo esc_attr($mcs_paypal_email); ?> " /> </li> <li> <label for="mcs_paypal_merchant_id"><?php _e('Paypal merchant ID', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_paypal_merchant_id" id="mcs_paypal_merchant_id" size="60" value="<?php echo esc_attr($mcs_paypal_merchant_id); ?> " /> </li> </ul> </fieldset> <?php } ?> <ul> <li> <label for="mcs_button"><?php _e('Purchase Button image', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_button" id="mcs_button" size="60" value="<?php echo esc_url($mcs_button); ?> " /> </li> </ul> </div> </div> </div> <div class="ui-sortable meta-box-sortables"> <div class="postbox"> <h3><?php _e('Configure a Sale', 'my-calendar-submissions'); ?> </h3> <div class="inside"> <fieldset> <legend><?php _e('Sale settings', 'my-calendar-submissions'); ?> </legend> <?php $sales = apply_filters('mcs_custom_sale', false); if (!$sales) { ?> <ul> <li> <label for="mcs_sale_begins"><?php _e('Date sale begins (e.g. November 24th, 2013)', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_discount[begins]" id="mcs_sale_begins" size="20" value="<?php echo isset($mcs_discount['begins']) ? esc_attr($mcs_discount['begins']) : ''; ?> " /> <?php _e('Discounted cost per event:', 'my-calendar-submissions'); ?> <?php echo sprintf('$%01.2f', mcs_get_price(true)); ?> </li> <li> <label for="mcs_sale_ends"><?php _e('Date sale ends (e.g. December 25th, 2013)', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_discount[ends]" id="mcs_sale_ends" size="20" value="<?php echo isset($mcs_discount['ends']) ? esc_attr($mcs_discount['ends']) : ''; ?> " /> </li> <li> <label for="mcs_sale_rate"><?php _e('Percentage discount', 'my-calendar-submissions'); ?> </label> <input type="text" name="mcs_discount[rate]" id="mcs_sale_rate" size="3" value="<?php echo isset($mcs_discount['rate']) ? esc_attr($mcs_discount['rate']) : ''; ?> " /> </li> </ul> <?php } else { echo $sales; } ?> <p><?php _e('<strong>Note:</strong> if members have a discount, the additional sale rate will not be compounded with their normal rate.', 'my-calendar-submissions'); ?> </p> </fieldset> <?php } else { ?> <div> <input type="hidden" name="mcs_payment_response" value="<?php echo $mcs_payment_response; ?> " /> <input type="hidden" name="mcs_payment_confirmation" value="<?php echo $mcs_payment_confirmation; ?> " /> <input type="hidden" name="mcs_payment_subject" value="<?php echo $mcs_payment_subject; ?> " /> <input type="hidden" name="mcs_payment_message" value="<?php echo $mcs_payment_message; ?> " /> <input type="hidden" name="mcs_payment_confirmation_subject" value="<?php echo $mcs_payment_confirmation_subject; ?> " /> <input type="hidden" name="mcs_submission_fee" value="<?php echo $mcs_submission_fee; ?> " /> <input type="hidden" name="mcs_members_discount" value="<?php echo $mcs_members_discount; ?> " /> <input type="hidden" name="mcs_paypal_email" value="<?php echo $mcs_paypal_email; ?> " /> <input type="hidden" name="mcs_paypal_merchant_id" value="<?php echo $mcs_paypal_merchant_id; ?> " /> <input type="hidden" name="mcs_button" value="<?php echo $mcs_button; ?> " /> <input type="hidden" name="mcs_currency" value="<?php echo $mcs_currency; ?> " /> <input type="hidden" name="mcs_discount[begins]" value="<?php echo $mcs_discount['begins']; ?> " /> <input type="hidden" name="mcs_discount[ends]" value="<?php echo $mcs_discount['ends']; ?> " /> <input type="hidden" name="mcs_discount[rate]" value="<?php echo $mcs_discount['rate']; ?> " /> </div> <?php } ?> <p><input type="submit" name="mc-payment-settings" class="button-primary" value="<?php _e('Save Payment Settings', 'my-calendar-submissions'); ?> " /></p> </div> </div> </div> </form> </div> <?php $panels = apply_filters('mcs_settings_panels', array()); foreach ($panels as $key => $value) { $content = is_array($value) && isset($value['content']) ? $value['content'] : $value; $label = is_array($value) && isset($value['label']) ? $value['label'] : __('Save Settings'); $wp_nonce = wp_nonce_field($key, '_wpnonce', true, false); $top = ' <div class="metabox-holder wptab" aria-labelledby="tab_' . $key . '_mcs" role="tabpanel" aria-live="assertive" id="mcs_' . $key . '_tab"> <form method="post" action="' . admin_url("admin.php?page=my-calendar-submissions#mcs_{$key}" . '_tab') . '" enctype="multipart/form-data">' . $wp_nonce . '<div class="ui-sortable meta-box-sortables"> <div class="postbox">'; $bottom = ' </div> </div> </form> </div>'; $middle = str_replace('{submit}', '<p><input type="submit" name="' . $key . '_settings" class="button-primary" value="' . $label . '" /></p>', $content); echo $top . $middle . $bottom; } ?> </div> <?php if (function_exists('mcs_submit_exists')) { $remove = true; } else { $remove = false; } $guide_url = plugins_url('/My-Calendar-Pro.pdf', __FILE__); $add = array('Event Submissions Shortcode' => '<p>' . __('The event submissions form can be configured via shortcode or via widget.', 'my-calendar-submissions') . '</p> <p>' . __('New events are always submitted with approval pending and must be approved by a user with appropriate permissions in order to appear on the site.', 'my-calendar-submissions') . '</p> <p>' . sprintf(__('Use the <a href="%s">shortcode generator</a> to create your My Calendar submissions form!', 'my-calendar-submissions'), admin_url('admin.php?page=my-calendar-help#mc-generator')) . '</p>', 'Responsive Mode' => '<p>' . __('The file <code>mc-responsive.css</code> in your theme directory will replace the My Calendar PRO responsive stylesheet.', 'my-calendar-submissions') . '</p>'); ?> <?php mc_show_sidebar('', $add, $remove); ?> </div> </div> <?php // creates settings page for my calendar appointments }
function edit_my_calendar_behaviors() { global $wpdb, $initial_listjs, $initial_caljs, $initial_minijs, $initial_ajaxjs; $mcdb = $wpdb; if (isset($_POST['mc_caljs'])) { $nonce = $_REQUEST['_wpnonce']; if (!wp_verify_nonce($nonce, 'my-calendar-nonce')) { die("Security check failed"); } $mc_caljs = $_POST['mc_caljs']; $mc_listjs = $_POST['mc_listjs']; $mc_minijs = $_POST['mc_minijs']; $mc_ajaxjs = $_POST['mc_ajaxjs']; update_option('mc_calendar_javascript', empty($_POST['calendar_javascript']) ? 0 : 1); update_option('mc_list_javascript', empty($_POST['list_javascript']) ? 0 : 1); update_option('mc_mini_javascript', empty($_POST['mini_javascript']) ? 0 : 1); update_option('mc_ajax_javascript', empty($_POST['ajax_javascript']) ? 0 : 1); // set js update_option('mc_listjs', $mc_listjs); update_option('mc_minijs', $mc_minijs); update_option('mc_caljs', $mc_caljs); update_option('mc_ajaxjs', $mc_ajaxjs); $mc_show_js = $_POST['mc_show_js'] == '' ? '' : $_POST['mc_show_js']; update_option('mc_show_js', $mc_show_js); if (!empty($_POST['reset_caljs'])) { update_option('mc_caljs', $initial_caljs); } if (!empty($_POST['reset_listjs'])) { update_option('mc_listjs', $initial_listjs); } if (!empty($_POST['reset_minijs'])) { update_option('mc_minijs', $initial_minijs); } if (!empty($_POST['reset_ajaxjs'])) { update_option('mc_ajaxjs', $initial_ajaxjs); } echo "<div class=\"updated\"><p><strong>" . __('Behavior Settings saved', 'my-calendar') . ".</strong></p></div>"; } $mc_listjs = stripcslashes(get_option('mc_listjs')); $list_javascript = get_option('mc_list_javascript'); $mc_caljs = stripcslashes(get_option('mc_caljs')); $calendar_javascript = get_option('mc_calendar_javascript'); $mc_minijs = stripcslashes(get_option('mc_minijs')); $mini_javascript = get_option('mc_mini_javascript'); $mc_ajaxjs = stripcslashes(get_option('mc_ajaxjs')); $ajax_javascript = get_option('mc_ajax_javascript'); $mc_show_js = stripcslashes(get_option('mc_show_js')); // Now we render the form ?> <div class="wrap jd-my-calendar"> <?php my_calendar_check_db(); ?> <h2><?php _e('My Calendar Behaviors', 'my-calendar'); ?> </h2> <div class="postbox-container jcd-wide"> <div class="metabox-holder"> <div class="ui-sortable meta-box-sortables"> <div class="postbox" id="cdiff"> <h3><?php _e('Calendar Behavior Settings', 'my-calendar'); ?> </h3> <div class="inside"> <form id="my-calendar" method="post" action="<?php echo admin_url('admin.php?page=my-calendar-behaviors'); ?> "> <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('my-calendar-nonce'); ?> " /></div> <p> <label for="mc_show_js"><?php _e('Insert scripts on these pages (comma separated post IDs)', 'my-calendar'); ?> </label> <input type="text" id="mc_show_js" name="mc_show_js" value="<?php echo $mc_show_js; ?> " /> </p> <fieldset> <legend><?php _e('Calendar Behaviors: Grid View', 'my-calendar'); ?> </legend> <p> <input type="checkbox" id="reset_caljs" name="reset_caljs" /> <label for="reset_caljs"><?php _e('Restore Grid View JavaScript', 'my-calendar'); ?> </label> <input type="checkbox" id="calendar_javascript" name="calendar_javascript" value="1" <?php mc_is_checked('mc_calendar_javascript', 1); ?> /> <label for="calendar_javascript"><?php _e('Disable Grid Javascript', 'my-calendar'); ?> </label> </p> <p> <label for="calendar-javascript"><?php _e('Edit jQuery scripts for My Calendar in Grid View', 'my-calendar'); ?> </label><br /><textarea id="calendar-javascript" name="mc_caljs" rows="8" cols="80"><?php echo $mc_caljs; ?> </textarea> </p> <?php $args = array('title' => __('Comparing scripts with latest installed version of My Calendar', 'my-calendar'), 'title_right' => __('Latest (from plugin)', 'my-calendar'), 'title_left' => __('Current (in use)', 'my-calendar')); $left_string = normalize_whitespace($mc_caljs); $right_string = normalize_whitespace($initial_caljs); if (isset($_GET['cdiff'])) { echo wp_text_diff($left_string, $right_string, $args); } else { if (trim($left_string) != trim($right_string)) { echo '<div class="updated"><p>' . __('There have been updates to the calendar view scripts.', 'my-calendar') . ' <a href="' . admin_url('admin.php?page=my-calendar-behaviors&cdiff#cdiff') . '">' . __('Compare your scripts with latest installed version of My Calendar.', 'my-calendar') . '</a></p></div>'; } else { _e('Your script matches that included with My Calendar.', 'my-calendar'); } } ?> <p> <input type="submit" name="save" class="button-secondary" value="<?php _e('Save', 'my-calendar'); ?> " /> </p> </fieldset> <fieldset id="ldiff"> <legend><?php _e('Calendar Behaviors: List View', 'my-calendar'); ?> </legend> <p> <input type="checkbox" id="reset_listjs" name="reset_listjs" /> <label for="reset_listjs"><?php _e('Restore List JavaScript', 'my-calendar'); ?> </label> <input type="checkbox" id="list_javascript" name="list_javascript" value="1" <?php mc_is_checked('mc_list_javascript', 1); ?> /> <label for="list_javascript"><?php _e('Disable List JavaScript', 'my-calendar'); ?> </label> </p> <p> <label for="list-javascript"><?php _e('Edit the jQuery scripts for My Calendar in List format', 'my-calendar'); ?> </label><br /><textarea id="list-javascript" name="mc_listjs" rows="8" cols="80"><?php echo $mc_listjs; ?> </textarea> </p> <?php $left_string = normalize_whitespace($mc_listjs); $right_string = normalize_whitespace($initial_listjs); if (isset($_GET['ldiff'])) { echo wp_text_diff($left_string, $right_string, $args); } else { if (trim($left_string) != trim($right_string)) { echo '<div class="updated"><p>' . __('There have been updates to the list view scripts.', 'my-calendar') . ' <a href="' . admin_url('admin.php?page=my-calendar-behaviors&ldiff#ldiff') . '">' . __('Compare your scripts with latest installed version of My Calendar.', 'my-calendar') . '</a></p></div>'; } else { _e('Your script matches that included with My Calendar.', 'my-calendar'); } } ?> <p> <input type="submit" name="save" class="button-secondary" value="<?php _e('Save', 'my-calendar'); ?> " /> </p> </fieldset> <fieldset id="mdiff"> <legend><?php _e('Calendar Behaviors: Mini Calendar View', 'my-calendar'); ?> </legend> <p> <input type="checkbox" id="reset_minijs" name="reset_minijs" /> <label for="reset_minijs"><?php _e('Restore Mini View JavaScript', 'my-calendar'); ?> </label> <input type="checkbox" id="mini_javascript" name="mini_javascript" value="1" <?php mc_is_checked('mc_mini_javascript', 1); ?> /> <label for="mini_javascript"><?php _e('Disable Mini JavaScript', 'my-calendar'); ?> </label> </p> <p> <label for="mini-javascript"><?php _e('Edit jQuery scripts in Mini view', 'my-calendar'); ?> </label><br /><textarea id="mini-javascript" name="mc_minijs" rows="8" cols="80"><?php echo $mc_minijs; ?> </textarea> </p> <?php $left_string = normalize_whitespace($mc_minijs); $right_string = normalize_whitespace($initial_minijs); if (isset($_GET['mdiff'])) { echo wp_text_diff($left_string, $right_string, $args); } else { if (trim($left_string) != trim($right_string)) { echo '<div class="updated"><p>' . __('There have been updates to the mini view scripts.', 'my-calendar') . ' <a href="' . admin_url('admin.php?page=my-calendar-behaviors&mdiff#mdiff') . '">' . __('Compare your scripts with latest installed version of My Calendar.', 'my-calendar') . '</a></p></div>'; } else { _e('Your script matches that included with My Calendar.', 'my-calendar'); } } ?> <p> <input type="submit" name="save" class="button-secondary" value="<?php _e('Save', 'my-calendar'); ?> " /> </p> </fieldset> <fieldset id="adiff"> <legend><?php _e('Calendar Behaviors: AJAX', 'my-calendar'); ?> </legend> <p> <input type="checkbox" id="reset_ajaxjs" name="reset_ajaxjs" /> <label for="reset_ajaxjs"><?php _e('Restore AJAX JavaScript', 'my-calendar'); ?> </label> <input type="checkbox" id="ajax_javascript" name="ajax_javascript" value="1" <?php mc_is_checked('mc_ajax_javascript', 1); ?> /> <label for="ajax_javascript"><?php _e('Disable AJAX Navigation', 'my-calendar'); ?> </label> </p> <p> <label for="ajax-javascript"><?php _e('Edit jQuery scripts for AJAX navigation', 'my-calendar'); ?> </label><br /><textarea id="ajax-javascript" name="mc_ajaxjs" rows="8" cols="80"><?php echo $mc_ajaxjs; ?> </textarea> </p> <?php $left_string = normalize_whitespace($mc_ajaxjs); $right_string = normalize_whitespace($initial_ajaxjs); if (isset($_GET['adiff'])) { echo wp_text_diff($left_string, $right_string, $args); } else { if (trim($left_string) != trim($right_string)) { echo '<div class="updated"><p>' . __('There have been updates to the AJAX scripts.', 'my-calendar') . ' <a href="' . admin_url('admin.php?page=my-calendar-behaviors&adiff#adiff') . '">' . __('Compare your scripts with latest installed version of My Calendar.', 'my-calendar') . '</a></p></div>'; } else { _e('Your script matches that included with My Calendar.', 'my-calendar'); } } ?> </fieldset> <p> <input type="submit" name="save" class="button-primary" value="<?php _e('Save', 'my-calendar'); ?> " /> </p> </form> </div> </div> </div> <p><?php _e('Resetting JavaScript will set that script to the version currently distributed with the plug-in.', 'my-calendar'); ?> </p> </div> </div> <?php mc_show_sidebar(); ?> </div> <?php }