RSVP Options in the admin area. # # To add, edit, delete and see rsvp status there will be a new RSVP admin # area just go there. # # To allow people to rsvp create a new page and add "rsvp-pluginhere" to the text session_start(); define("ATTENDEES_TABLE", $wpdb->prefix."attendees"); define("ASSOCIATED_ATTENDEES_TABLE", $wpdb->prefix."associatedAttendees"); define("QUESTIONS_TABLE", $wpdb->prefix."rsvpCustomQuestions"); define("QUESTION_TYPE_TABLE", $wpdb->prefix."rsvpQuestionTypes"); define("ATTENDEE_ANSWERS", $wpdb->prefix."attendeeAnswers"); define("QUESTION_ANSWERS_TABLE", $wpdb->prefix."rsvpCustomQuestionAnswers"); define("EDIT_SESSION_KEY", "RsvpEditAttendeeID"); define("EDIT_QUESTION_KEY", "RsvpEditQuestionID"); define("FRONTEND_TEXT_CHECK", "rsvp-pluginhere"); define("OPTION_GREETING", "rsvp_custom_greeting"); define("OPTION_THANKYOU", "rsvp_custom_thankyou"); define("OPTION_DEADLINE", "rsvp_deadline"); define("OPTION_OPENDATE", 'rsvp_opendate'); define("OPTION_YES_VERBIAGE", "rsvp_yes_verbiage"); define("OPTION_NO_VERBIAGE", "rsvp_no_verbiage"); define("OPTION_KIDS_MEAL_VERBIAGE", "rsvp_kids_meal_verbiage"); define("OPTION_VEGGIE_MEAL_VERBIAGE", "rsvp_veggie_meal_verbiage"); define("OPTION_NOTE_VERBIAGE", "rsvp_note_verbiage"); define("OPTION_HIDE_VEGGIE", "rsvp_hide_veggie"); define("OPTION_HIDE_KIDS_MEAL", "rsvp_hide_kids_meal"); define("OPTION_HIDE_ADD_ADDITIONAL", "rsvp_hide_add_additional"); define("OPTION_NOTIFY_ON_RSVP", "rsvp_notify_when_rsvp"); define("OPTION_NOTIFY_EMAIL", "rsvp_notify_email_address"); define("RSVP_DB_VERSION", "4.0"); define("QT_SHORT", "shortAnswer"); define("QT_MULTI", "multipleChoice"); define("QT_LONG", "longAnswer"); define("QT_DROP", "dropdown"); if((isset($_GET['page']) && (strToLower($_GET['page']) == 'rsvp-admin-export')) || (isset($_POST['rsvp-bulk-action']) && (strToLower($_POST['rsvp-bulk-action']) == "export"))) { add_action('init', 'rsvp_admin_export'); } require_once("rsvp_frontend.inc.php"); /* * Description: Database setup for the rsvp plug-in. */ function rsvp_database_setup() { global $wpdb; require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); $installed_ver = get_option("rsvp_db_version"); $table = $wpdb->prefix."attendees"; if($wpdb->get_var("SHOW TABLES LIKE '$table'") != $table) { $sql = "CREATE TABLE ".$table." ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `firstName` VARCHAR( 100 ) NOT NULL , `lastName` VARCHAR( 100 ) NOT NULL , `rsvpDate` DATE NOT NULL , `rsvpStatus` ENUM( 'Yes', 'No', 'NoResponse' ) NOT NULL DEFAULT 'NoResponse', `note` TEXT NOT NULL , `kidsMeal` ENUM( 'Y', 'N' ) NOT NULL DEFAULT 'N', `additionalAttendee` ENUM( 'Y', 'N' ) NOT NULL DEFAULT 'N', `veggieMeal` ENUM( 'Y', 'N' ) NOT NULL DEFAULT 'N', `personalGreeting` TEXT NOT NULL );"; $wpdb->query($sql); } $table = $wpdb->prefix."associatedAttendees"; if($wpdb->get_var("SHOW TABLES LIKE '$table'") != $table) { $sql = "CREATE TABLE ".$table." ( `attendeeID` INT NOT NULL , `associatedAttendeeID` INT NOT NULL );"; $wpdb->query($sql); $sql = "ALTER TABLE `".$table."` ADD INDEX ( `attendeeID` ) "; $wpdb->query($sql); $sql = "ALTER TABLE `".$table."` ADD INDEX ( `associatedAttendeeID` )"; $wpdb->query($sql); } add_option("rsvp_db_version", "4.0"); if((int)$installed_ver < 2) { $table = $wpdb->prefix."attendees"; $sql = "ALTER TABLE ".$table." ADD `personalGreeting` TEXT NOT NULL ;"; $wpdb->query($sql); update_option( "rsvp_db_version", RSVP_DB_VERSION); } if((int)$installed_ver < 4) { $table = $wpdb->prefix."rsvpCustomQuestions"; $sql = "ALTER TABLE ".$table." ADD `sortOrder` INT NOT NULL DEFAULT '99';"; $wpdb->query($sql); update_option( "rsvp_db_version", RSVP_DB_VERSION); } $table = $wpdb->prefix."rsvpCustomQuestions"; if($wpdb->get_var("SHOW TABLES LIKE '$table'") != $table) { $sql = " CREATE TABLE $table ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `question` MEDIUMTEXT NOT NULL , `questionTypeID` INT NOT NULL, `sortOrder` INT NOT NULL DEFAULT '99' );"; $wpdb->query($sql); } $table = $wpdb->prefix."rsvpQuestionTypes"; if($wpdb->get_var("SHOW TABLES LIKE '$table'") != $table) { $sql = " CREATE TABLE $table ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `questionType` VARCHAR( 100 ) NOT NULL , `friendlyName` VARCHAR(100) NOT NULL );"; $wpdb->query($sql); $wpdb->insert($table, array("questionType" => "shortAnswer", "friendlyName" => "Short Answer"), array('%s', '%s')); $wpdb->insert($table, array("questionType" => "multipleChoice", "friendlyName" => "Multiple Choice"), array('%s', '%s')); $wpdb->insert($table, array("questionType" => "longAnswer", "friendlyName" => "Long Answer"), array('%s', '%s')); $wpdb->insert($table, array("questionType" => "dropdown", "friendlyName" => "Drop Down"), array('%s', '%s')); } $table = $wpdb->prefix."rsvpCustomQuestionAnswers"; if($wpdb->get_var("SHOW TABLES LIKE '$table'") != $table) { $sql = "CREATE TABLE $table ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `questionID` INT NOT NULL, `answer` MEDIUMTEXT NOT NULL );"; $wpdb->query($sql); } $table = $wpdb->prefix."attendeeAnswers"; if($wpdb->get_var("SHOW TABLES LIKE '$table'") != $table) { $sql = "CREATE TABLE $table ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `questionID` INT NOT NULL, `answer` MEDIUMTEXT NOT NULL, `attendeeID` INT NOT NULL );"; $wpdb->query($sql); } update_option( "rsvp_db_version", RSVP_DB_VERSION); } function rsvp_admin_guestlist_options() { ?> /wp-content/plugins/rsvp/jquery-ui-1.7.2.custom/css/ui-lightness/jquery-ui-1.7.2.custom.css" type="text/css" media="all" />
total records were imported.
Continue to the RSVP list
0) && !empty($_POST['firstName']) && !empty($_POST['lastName'])) { check_admin_referer('rsvp_add_guest'); if(isset($_SESSION[EDIT_SESSION_KEY]) && is_numeric($_SESSION[EDIT_SESSION_KEY])) { $wpdb->update(ATTENDEES_TABLE, array("firstName" => trim($_POST['firstName']), "lastName" => trim($_POST['lastName']), "personalGreeting" => trim($_POST['personalGreeting'])), array("id" => $_SESSION[EDIT_SESSION_KEY]), array("%s", "%s", "%s"), array("%d")); $attendeeId = $_SESSION[EDIT_SESSION_KEY]; $wpdb->query($wpdb->prepare("DELETE FROM ".ASSOCIATED_ATTENDEES_TABLE." WHERE attendeeId = %d", $attendeeId)); } else { $wpdb->insert(ATTENDEES_TABLE, array("firstName" => trim($_POST['firstName']), "lastName" => trim($_POST['lastName']), "personalGreeting" => trim($_POST['personalGreeting'])), array('%s', '%s', '%s')); $attendeeId = $wpdb->insert_id; } if(isset($_POST['associatedAttendees']) && is_array($_POST['associatedAttendees'])) { foreach($_POST['associatedAttendees'] as $aid) { if(is_numeric($aid) && ($aid > 0)) { $wpdb->insert(ASSOCIATED_ATTENDEES_TABLE, array("attendeeID"=>$attendeeId, "associatedAttendeeID"=>$aid), array("%d", "%d")); } } } ?>Attendee has been successfully saved
Continue to Attendee List | Add a Guest
get_row("SELECT id, firstName, lastName, personalGreeting FROM ".ATTENDEES_TABLE." WHERE id = ".$_GET['id']); if($attendee != null) { $_SESSION[EDIT_SESSION_KEY] = $attendee->id; $firstName = stripslashes($attendee->firstName); $lastName = stripslashes($attendee->lastName); $personalGreeting = stripslashes($attendee->personalGreeting); // Get the associated attendees and add them to an array $associations = $wpdb->get_results("SELECT associatedAttendeeID FROM ".ASSOCIATED_ATTENDEES_TABLE." WHERE attendeeId = ".$attendee->id. " UNION ". "SELECT attendeeID FROM ".ASSOCIATED_ATTENDEES_TABLE." WHERE associatedAttendeeID = ".$attendee->id); foreach($associations as $aId) { $associatedAttendees[] = $aId->associatedAttendeeID; } } } ?> 0) && ($_POST['rsvp-bulk-action'] == "delete") && (is_array($_POST['q']) && (count($_POST['q']) > 0))) { foreach($_POST['q'] as $q) { if(is_numeric($q) && ($q > 0)) { $wpdb->query($wpdb->prepare("DELETE FROM ".QUESTIONS_TABLE." WHERE id = %d", $q)); $wpdb->query($wpdb->prepare("DELETE FROM ".ATTENDEE_ANSWERS." WHERE questionID = %d", $q)); } } } else if((count($_POST) > 0) && ($_POST['rsvp-bulk-action'] == "saveSortOrder")) { $sql = "SELECT id FROM ".QUESTIONS_TABLE; $sortQs = $wpdb->get_results($sql); foreach($sortQs as $q) { if(is_numeric($_POST['sortOrder'.$q->id]) && ($_POST['sortOrder'.$q->id] >= 0)) { $wpdb->update(QUESTIONS_TABLE, array("sortOrder" => $_POST['sortOrder'.$q->id]), array("id" => $q->id), array("%d"), array("%d")); } } } $sql = "SELECT id, question, sortOrder FROM ".QUESTIONS_TABLE." ORDER BY sortOrder ASC"; $customQs = $wpdb->get_results($sql); ?>Custom Question saved
get_results($wpdb->prepare("SELECT id, question, questionTypeID FROM ".QUESTIONS_TABLE." WHERE id = %d", $_GET['id'])); if(count($qRs) > 0) { $isNew = false; $_SESSION[EDIT_QUESTION_KEY] = $qRs[0]->id; $questionId = $qRs[0]->id; $question = stripslashes($qRs[0]->question); $questionTypeId = $qRs[0]->questionTypeID; } } $sql = "SELECT id, questionType, friendlyName FROM ".QUESTION_TYPE_TABLE; $questionTypes = $wpdb->get_results($sql); ?>