function qem_template() { if (isset($_POST['Submit']) && check_admin_referer("save_qem")) { $theme_data = get_theme_data(get_stylesheet_uri()); $templateIdentifier = '<?php /* Template Name: Single Event */ ?> '; $templateDirectory = get_template_directory() . '/single.php'; $newFilePath = get_stylesheet_directory() . '/single-event.php'; $currentFile = fopen($templateDirectory, "r"); $pageTemplate = fread($currentFile, filesize($templateDirectory)); fclose($currentFile); $newTemplateFile = fopen($newFilePath, "w"); fwrite($newTemplateFile, $templateIdentifier); $written = fwrite($newTemplateFile, $pageTemplate); fclose($newTemplateFile); if ($written != false) { qem_admin_notice('The template has been created. <a href="' . admin_url('theme-editor.php?file=single-event.php') . '">Edit Template</a>.'); } else { qem_admin_notice('<strong>' . __('ERROR: Unable to create new theme file', 'quick-event-manager') . '</strong>'); } } $content = '<div class="qem-settings"><div class="qem-options"> <h2>' . __('The Automated Option', 'quick-event-manager') . '</h2>'; $new = get_stylesheet_directory() . '/single.php'; if (file_exists($new)) { $content .= '<p>' . __('If your theme adds posting dates and other unwanted features to your event page you can set up and edit a template for single events.', 'quick-event-manager') . '</p> <p>' . __('This function clones the \'single.php\' theme file and saves it as \'single-event.php\'.', 'quick-event-manager') . '</p> <p>' . __('Once created you can edit the file in your <a href="' . admin_url('theme-editor.php') . '">appearance editor', 'quick-event-manager') . '</a>.</p> <p>' . __('If you aren\'t confident editing theme files it may be prudent to read the', 'quick-event-manager') . ' <a href="http://codex.wordpress.org/Page_Templates">WordPress documentation</a> ' . __('first.', 'quick-event-manager') . '</p>'; $new = get_stylesheet_directory() . '/single-event.php'; if (file_exists($new)) { $content .= '<p style="color:red">' . __('An Event Template already exists. Clicking the button below will overwrite the existing file.', 'quick-event-manager') . ' <a href="' . admin_url('theme-editor.php?file=single-event.php') . '">' . __('View Template file', 'quick-event-manager') . '</a>.</p>'; } $content .= '<form id="" method="post" action=""> <p><input type="submit" name="Submit" class="button-primary" style="color: #FFF;" value="' . __('Create Event Template', 'quick-event-manager') . '" /></p>'; $content .= wp_nonce_field("save_qem"); $content .= '</form>'; } else { $content .= __('Your theme doesn\'t appear to have the \'single.php\' file needed to create an event template. To create an event template follow the instrctions on the right.', 'quick-event-manager') . '</p>'; } $content .= '</div> <div class="qem-options" style="float:right"> <h2>' . __('The DIY Option', 'quick-event-manager') . '</h2> <p>' . __('It\'s very easy to create your own template if you have FTP access to your theme', 'quick-event-manager') . '.</p> <p>' . __('1. Connect to your domain using FTP', 'quick-event-manager') . '.</p> <p>' . __('2. Navigate to the theme directory. Normally wp-content/themes/your theme', 'quick-event-manager') . '.</p> <p>' . __('3. Download the file called single.php to your computer', 'quick-event-manager') . '.</p> <p>' . __('4. Open the file using a text editor', 'quick-event-manager') . '.</p> <p>' . __('5. Add the following to the very top of the file', 'quick-event-manager') . ': <code><?php /* Template Name: Single Event */ ?> </code> </p> <p>' . __('6. Save as: <code>single-event.php</code>', 'quick-event-manager') . '.</p> <p>' . __('7. Upload the file to your theme directory', 'quick-event-manager') . '.</p> <p>' . __('The event manager will detect the new template and use it for single events', 'quick-event-manager') . '.</p> </div> </div>'; echo $content; }
function qem_messages() { $event = $title = ''; global $_GET; $event = isset($_GET["event"]) ? $_GET["event"] : null; $title = isset($_GET["title"]) ? $_GET["title"] : null; $unixtime = get_post_meta($event, 'event_date', true); $date = date_i18n("d M Y", $unixtime); $noregistration = '<p>No event selected</p>'; $register = qem_get_stored_register(); $category = 'All Categories'; if (isset($_POST['qem_reset_message'])) { $event = $_POST['qem_download_form']; $title = get_the_title($event); delete_option('qem_messages_' . $event); delete_option($event); qem_admin_notice('Registrants for ' . $title . ' have been deleted.'); $eventnumber = get_post_meta($event, 'event_number', true); update_option($event . 'places', $eventnumber); } if (isset($_POST['category'])) { $category = $_POST["category"]; } if (isset($_POST['select_event']) || isset($_POST['eventid'])) { $event = $_POST["eventid"]; if ($event) { $unixtime = get_post_meta($event, 'event_date', true); $date = date_i18n("d M Y", $unixtime); $title = get_the_title($event); $noregistration = '<h2>' . $title . ' | ' . $date . '</h2><p>Nobody has registered for ' . $title . ' yet</p>'; } else { $noregistration = '<p>No event selected</p>'; } } if (isset($_POST['changeoptions'])) { $options = array('showevents', 'category'); foreach ($options as $item) { $messageoptions[$item] = stripslashes($_POST[$item]); } $category = $messageoptions['category']; update_option('qem_messageoptions', $messageoptions); } if (isset($_POST['qem_delete_selected'])) { $event = $_POST["qem_download_form"]; $message = get_option('qem_messages_' . $event); $eventnumber = get_option($event . 'places'); $check = get_post_meta($event, 'event_counter', true); for ($i = 0; $i <= 100; $i++) { if ($_POST[$i] == 'checked') { $num = $message[$i]['yourplaces'] ? $message[$i]['yourplaces'] : 1; if ($check) { $eventnumber = $eventnumber + $num; } unset($message[$i]); } } $message = array_values($message); update_option('qem_messages_' . $event, $message); if ($check) { update_option($event . 'places', $eventnumber); } qem_admin_notice('Selected registrations have been deleted.'); } if (isset($_POST['qem_emaillist'])) { $event = $_POST["qem_download_form"]; $title = $_POST["qem_download_title"]; $message = get_option('qem_messages_' . $event); $register = qem_get_stored_register(); $content = ''; $content = qem_build_registration_table($register, $message, '', '', '', ''); global $current_user; get_currentuserinfo(); $qem_email = $current_user->user_email; $headers = "From: {<{$qem_email}>\r\n" . "MIME-Version: 1.0\r\n" . "Content-Type: text/html; charset=\"utf-8\"\r\n"; wp_mail($qem_email, $title, $content, $headers); qem_admin_notice('Registration list has been sent to ' . $qem_email . '.'); } qem_generate_csv(); $content = $current = $all = ''; $messageoptions = qem_get_stored_msg(); ${$messageoptions}['showevents'] = "checked"; $message = get_option('qem_messages_' . $event); $places = get_option($event . 'places'); $check = get_post_meta($event, 'event_counter', true); if (!is_array($message)) { $message = array(); } $dashboard = '<div class="wrap"> <h1>Event Registation Report</h1> <p><form method="post" action="">' . qem_message_categories($category) . ' ' . qem_get_eventlist($event, $register, $messageoptions, $category) . ' <b>Show:</b> <input style="margin:0; padding:0; border:none;" type="radio" name="showevents" value="all" ' . $all . ' /> All Events <input style="margin:0; padding:0; border:none;" type="radio" name="showevents" value="current" ' . $current . ' /> Current Events <input type="submit" name="changeoptions" class="button-secondary" value="Update options" /> </form> </p> <div id="qem-widget"> <form method="post" id="qem_download_form" action="">'; $content = qem_build_registration_table($register, $message, $check, '', $event); if ($content) { $dashboard .= '<h2>' . $title . ' | ' . $date . '</h2>'; $dashboard .= '<p>Event ID: ' . $event . '</p>'; $dashboard .= $content; $dashboard .= '<input type="hidden" name="qem_download_form" value = "' . $event . '" /> <input type="hidden" name="qem_download_title" value = "' . $title . '" /> <input type="submit" name="qem_download_csv" class="button-primary" value="Export to CSV" /> <input type="submit" name="qem_emaillist" class="button-primary" value="Email List" /> <input type="submit" name="qem_reset_message" class="button-secondary" value="Delete All Registrants" onclick="return window.confirm( \'Are you sure you want to delete all the registrants for ' . $title . '?\' );"/> <input type="submit" name="qem_delete_selected" class="button-secondary" value="Delete Selected" onclick="return window.confirm( \'Are you sure you want to delete the selected registrants?\' );"/> </form>'; } else { $dashboard .= $noregistration; } $dashboard .= '</div></div>'; echo $dashboard; }