From: Chuck Scott Date: Mon, 8 Oct 2018 16:30:35 +0000 (-0400) Subject: Added database field for making registration classes sortable. X-Git-Tag: v1.2.0^2~5 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=aac73719504d56abe027599966c6e9e888d19adb;p=WP-Plugins%2Fglm-member-db-registrations.git Added database field for making registration classes sortable. Planning on moving "Registration Levels & Charges" page away from Backbone. Code for making the page sortable will be in a branch for development. --- diff --git a/index.php b/index.php index 62b8d81..39edc03 100755 --- a/index.php +++ b/index.php @@ -42,7 +42,7 @@ if (!defined('ABSPATH')) { * version from this plugin. */ define('GLM_MEMBERS_REGISTRATIONS_PLUGIN_VERSION', '1.1.0'); -define('GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_VERSION', '1.0.1'); +define('GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_VERSION', '1.0.2'); // This is the minimum version of the GLM Members DB plugin require for this plugin. define('GLM_MEMBERS_REGISTRATIONS_PLUGIN_MIN_MEMBERS_REQUIRED_VERSION', '2.10.27'); diff --git a/readme.txt b/readme.txt index 2fcc0df..6a9c52a 100755 --- a/readme.txt +++ b/readme.txt @@ -25,6 +25,9 @@ e.g. 1. Activate the plugin through the 'Plugins' menu in WordPress == Changelog == += PENDING = +* Added sort order for registration classes (levels) + = 1.1.0 = * Formal release for a range of front-end and admin improvement and fixes * Added more functionality to admin requests and accounts dashboards. diff --git a/setup/databaseScripts/create_database_V1.0.1.sql b/setup/databaseScripts/create_database_V1.0.1.sql deleted file mode 100755 index c988a4b..0000000 --- a/setup/databaseScripts/create_database_V1.0.1.sql +++ /dev/null @@ -1,842 +0,0 @@ --- Gaslight Media Registration Database --- File Created: 01/18/2017 14:40:00 --- Database Version: 1.0.1 --- Database Creation Script --- --- To permit each query below to be executed separately, --- all queries must be separated by a line with four dashes --- -/* - * General Database Organization - * ----------------------------- - * - * management - General options and configuration - Site manager access only - * - * misc - Misc settings and text - Site owner may update - * - * payment codes - Promotional payment codes - Used with various things - * --> Event, Submission, Event Registration, Event Registrant, Account or global - * - * reg_event - Describes registration for that event - * reg_time - One record for each date/time this event has people registered - Primarily tracks attendee counts and charge totals - * reg_class - Type of registration for this event (one or more) - * reg_rates - Date range / rate for a reg class (one or more) - * - * reg_account - Describes someone who submits / pays for a registration - * Make these two things the same table.... - * registrant - A person who is registered for an event - * - * reg_request - Information on a specific request for registrations - * reg_request_event - Event selected (one or more) - * reg_request_class - Class of registration (one or more) - * reg_request_rate - Specific registration date/rate (one or more) - * reg_request_registrant - Registrant (one or more) - * - * NOTE: additional fields and added fields data will be coming from the Custom Fields add-on - * - * Overall Flow - * ------------ - * - * User selects an event - * If the event has available registrations - * User selects a date for the registration (or if only one that's selected automatically) - * User can log back into registrations at this point if they've been there before and have a password, create an ccount, or continue as guest ??? - * User selects an available rate type and adds one or more registrants for that rate type - * User may loop back to select additional rate type(s) and registrants - * User may go back to date selection and request additional rate types and registrants for the addional dates - * User may go back to select additional dates and do registrations for those dates as above - * User may go back to select other events and do registrations for them as above - * User may select the "Cart" and deselect something added to it - * User may checkout - * - */ - -/* - * NOTE: Anything below here may not be completed or accurate yet. I'm still working though this - * Lines commented out are selected for possible deletion. - * The INSERT statements are not up-to-date with the tables. - * The "config/plugin.ini" file in this plugin is also a work in progress. - */ - --- Management Options --- General configurationm parameters for the Registrations application --- Only one entry in this table! -CREATE TABLE {prefix}management ( - id INT NOT NULL AUTO_INCREMENT, - canonical_reg_page TINYTEXT NULL, -- Canonical page slug for registrations - -- System Owner Information - reg_org_name TINYTEXT NULL, -- Customer Information - Name of Organization - reg_org_short TINYTEXT NULL, - reg_org_address TINYTEXT NULL, - reg_org_city TINYTEXT NULL, - reg_org_state TINYTEXT NULL, - reg_org_zip TINYTEXT NULL, - reg_org_phone TINYTEXT NULL, - reg_org_toll_free TINYTEXT NULL, - reg_org_internal_email TINYTEXT NULL, - reg_org_from_email TINYTEXT NULL, - reg_payment_methods SMALLINT NULL, -- Payment methods available for all registrations - Bitmap - see payment_method in plugin.ini - reg_proc_methods SMALLINT NULL, -- Credit Cart payment processing methods available - Bitmap - see proc_method in plugin.ini - reg_cc_accepts SMALLINT NULL, -- Credit Cards Accepted - Bitmap - See credit_card in plugin.ini - -- Authorize.net Credentials - reg_authorize_net_login TINYTEXT NULL, - reg_authorize_net_key TINYTEXT NULL, - reg_authorize_net_test TINYINT NULL, -- Authorize.net test mode - List - see proc_test_mode in plugin.ini - reg_authorize_net_conf BOOLEAN NULL, -- Flag to send payment confirmation Email from Authorize.net - reg_authorize_net_merchant_email TINYTEXT NULL, -- E-Mail Authorize.net will send copy of confirmation E-Mail - reg_authorize_net_merchant_seal TEXT NULL, -- Authorize.net Verified Merchant Seal code - -- Merchant Solutions Credentials - reg_merchant_solutions_acctid TINYTEXT NULL, -- Merchant Solutions credentials - reg_merchant_solutions_merchantpin TINYTEXT NULL, - reg_merchant_solutions_test TINYINT NULL, -- Merchant Solutions test mode - List - see proc_test_mode in plugin.ini - reg_merchant_solutions_conf BOOLEAN NULL, -- Flag to send payment confirmation Email - reg_merchant_solutions_merchant_email TINYTEXT NULL, -- Merchant Solutions will send copy of confirmation E-Mail - -- PayPal Credentials - reg_paypal_clientid TINYTEXT NULL, -- PayPal Client ID - reg_paypal_secret TINYTEXT NULL, -- PayPal Secret - reg_paypal_sandbox_clientid TINYTEXT NULL, -- PayPal Client ID - reg_paypal_sandbox_secret TINYTEXT NULL, -- PayPal Secret - reg_paypal_test TINYINT NULL, -- PayPal test mode - List - see - -- Billing settings - reg_full_billing_info BOOLEAN NULL, -- Always request full billing information in checkout page regardless of the following settings - reg_bill_info_req_no_charge SMALLINT NULL, -- Bitmap of fields to use in checkout for these types of payments - See billing_field in plugin.conf - reg_bill_info_req_comp_code SMALLINT NULL, - reg_bill_info_req_cash SMALLINT NULL, - reg_bill_info_req_check SMALLINT NULL, - reg_bill_info_req_credit_card SMALLINT NULL, - reg_bill_info_req_merchant_call SMALLINT NULL, - -- Misc Options - reg_request_hold_days SMALLINT NULL, -- Number of days past last update that a request will be retained in "CART" status. - reg_account_hold_days SMALLINT NULL, -- Number of days past last update that an account will be retained when there are no requests or registrants referring to it. - reg_not_submitted_dialog BOOLEAN NULL, -- Flag to show page not submitted dialog boxes - reg_medical_info BOOLEAN NULL, -- This site can ask for "Medical Info" - set in main category of an event - reg_show_navigation_aids BOOLEAN NULL, -- No, not marine navigational aids, this enables additional text, arrows, etc to direct a user to do something specific that would not normally be required. - reg_show_attendees_on_reg_page BOOLEAN NULL, -- Flag to show a list of attendees on the registraitons page for an event - PRIMARY KEY (id) -); - ----- - --- Terms used in site modifiable on Management page in admin - Only 1 entry in this table --- Terms in this table should be all self-explanatory -CREATE TABLE {prefix}settings_terms ( - id INT NOT NULL AUTO_INCREMENT, - reg_term_registrations_name TINYTEXT NULL, -- Term "Event Registration" - reg_term_registration TINYTEXT NULL, - reg_term_registration_cap TINYTEXT NULL, - reg_term_registration_plur TINYTEXT NULL, - reg_term_registration_plur_cap TINYTEXT NULL, - reg_term_register TINYTEXT NULL, - reg_term_register_cap TINYTEXT NULL, - reg_term_registers TINYTEXT NULL, -- Intransitive verb of register - reg_term_registering TINYTEXT NULL, - reg_term_registering_cap TINYTEXT NULL, - reg_term_registered TINYTEXT NULL, - reg_term_registered_cap TINYTEXT NULL, - reg_term_attendee TINYTEXT NULL, - reg_term_attendee_cap TINYTEXT NULL, - reg_term_attendee_plur TINYTEXT NULL, - reg_term_attendee_plur_cap TINYTEXT NULL, - reg_term_attending TINYTEXT NULL, - reg_term_attended TINYTEXT NULL, - reg_term_registered_user TINYTEXT NULL, - reg_term_registered_user_cap TINYTEXT NULL, - reg_term_registered_user_plur TINYTEXT NULL, - reg_term_registered_user_plur_cap TINYTEXT NULL, - reg_term_event TINYTEXT NULL, - reg_term_event_cap TINYTEXT NULL, - reg_term_event_plur TINYTEXT NULL, - reg_term_event_plur_cap TINYTEXT NULL, - reg_term_id TINYTEXT NULL, - reg_term_id_cap TINYTEXT NULL, - reg_term_id_plur TINYTEXT NULL, - reg_term_id_plur_cap TINYTEXT NULL, - reg_term_level TINYTEXT NULL, - reg_term_level_cap TINYTEXT NULL, - reg_term_level_plur TINYTEXT NULL, - reg_term_level_plur_cap TINYTEXT NULL, - reg_term_password TINYTEXT NULL, - reg_term_password_cap TINYTEXT NULL, - reg_term_password_plur TINYTEXT NULL, - reg_term_password_plur_cap TINYTEXT NULL, - reg_term_instructor TINYTEXT NULL, - reg_term_instructor_cap TINYTEXT NULL, - reg_term_instructor_plur TINYTEXT NULL, - reg_term_instructor_plur_cap TINYTEXT NULL, - reg_term_payment_code TINYTEXT NULL, - reg_term_payment_code_cap TINYTEXT NULL, - reg_term_payment_code_plur TINYTEXT NULL, - reg_term_payment_code_plur_cap TINYTEXT NULL, - reg_term_registration_button TINYTEXT NULL, - reg_term_contact_information TINYTEXT NULL, - reg_term_button_event_list TINYTEXT NULL, - reg_term_button_login_or_create TINYTEXT NULL, - reg_term_button_create_account TINYTEXT NULL, - reg_term_button_login TINYTEXT NULL, - reg_term_button_logout TINYTEXT NULL, - reg_term_button_add_attendee TINYTEXT NULL, - reg_term_button_save_attendee TINYTEXT NULL, - reg_term_button_attendee_page_continue TINYTEXT NULL, - reg_term_button_apply_comp_code TINYTEXT NULL, - reg_term_button_cart_page_continue TINYTEXT NULL, - reg_term_button_checkout_page_submit TINYTEXT NULL, - PRIMARY KEY (id) -); - ----- - --- Misc system-wide customer configurable configuration --- Various text and flags to be configured by customer --- Only one entry in this table! -CREATE TABLE {prefix}misc ( - id INT NOT NULL AUTO_INCREMENT, - reg_bulletin TEXT NULL, -- Text to display at top of first registration page - cart_page_text TEXT NULL, -- Text to display at top of cart page - checkout_page_text TEXT NULL, -- Text to display at top of checkout page - summary_page_text TEXT NULL, -- Text to display at top of summary page (after checkout) - reg_terms TEXT NULL, -- Registration terms and conditions - notify_subject TEXT NULL, -- Subject of notification E-Mail to site owner - notify_text TEXT NULL, -- Notification E-Mail text for site owner - instr_notify_subject TEXT NULL, -- Subject of notification E-Mail to instructor - instr_notify_text TEXT NULL, -- Notification E-Mail text for instructor - submission_notify_subject TEXT NULL, -- Subject of notification E-Mail to person submitting the registrations - submission_notify_text TEXT NULL, -- Notification E-Mail text to person submitting the registrations - registrant_notify_subject TEXT NULL, -- Subject of notification E-Mail to registrant - registrant_notify_text TEXT NULL, -- Text of notification E-Mail to registrant - submission_ack_subject TEXT NULL, -- Subject of acknowledgement E-Mail to person submitting the registrations - submission_ack_text TEXT NULL, -- Text of acknowledgement E-Mail text to person submitting the registrations - registrant_ack_subject TEXT NULL, -- Subject of acknowledgement E-Mail to registrant - registrant_ack_text TEXT NULL, -- Text of acknowledgement E-Mail to registrant - PRIMARY KEY (id) -); - ----- - --- Payment Codes --- Promotional payment codes for free/discounted payment -CREATE TABLE {prefix}payment_code ( - id INT NOT NULL AUTO_INCREMENT, - code_type TINYINT NULL, -- Type of adjustment - Free only to start with - See pay_code_type in plugin.ini - ref_type TINYINT NULL, -- See payment_ref_type in plugin.ini - ref_dest INT NULL, -- Pointer to the specific entity of ref_type - code TINYTEXT NULL, -- Text code user must enter to use - amount FLOAT, -- Amount of discount if not type "Free" - Either $ amount or percent - expire_date DATE NULL, -- Expiration Date - - descr TEXT NULL, - PRIMARY KEY (id), - INDEX (ref_dest), - INDEX (code(10)) -); - ----- - --- Registration event specific information --- One record for each event in Events add-on --- Only created when an event is selected to offer registrations -CREATE TABLE {prefix}reg_event ( - id INT NOT NULL AUTO_INCREMENT, - event INT NULL, -- Pointer to event in Events add-on - False if event record in Events add-on no longer exists - event_name TINYTEXT NULL, -- Name of Event so it will always be in the cart data - event_code TINYTEXT NULL, -- A short code used to reference this event - can be used to directly select an event to register for - notify_email TINYTEXT NULL, -- E-Mail addresses to receive notification of a registration other than org_internal_email in management, comma separated - admin_active BOOLEAN NULL, -- Active flag for admin from Events - If logged in Admin user for this event and this is true then admin user may enter registrations even if active is off. - active BOOLEAN NULL, -- Active flag to indicate that this event is available for registrations and notifications - time_specific BOOLEAN NULL, -- Registration for this event is not date/time specific. Can attend any date/time of event. - attendees BOOLEAN NULL, -- Registration requires attendees - Otherwise the person submitting the registration is the registrant - attendee_max MEDIUMINT NULL, -- Attendee limit - 0 = unlimited - attendee_max_per_reg TINYINT NULL, -- Maximum attendees per registration submission - 0 = unlimited - reg_hold_minutes MEDIUMINT NULL, -- Number of minutes hold time for an inactive cart before registrant count hold expires (after which cart attempts to hold again on next access) - cart_hold_days MEDIUMINT NULL, -- NO LONGER IN USE - Number of days hold time for inactive cart before cart is purged - reg_hours_before MEDIUMINT NULL, -- Number of hours before an event that is the latest a registration may be submitted. - registration_account_options SMALLINT NULL, -- Bitmap of how user accounts may be used for this event - See registration_account_option in plugin.ini - payment_methods SMALLINT NULL, -- Bitmap of payment methods available to users for this event - See payment_method in plugin.ini - restricted_payment_methods SMALLINT NULL, -- Bitmap of restricted (admin use only) payment methods for this event - see payment_method - descr TEXT NULL, -- Registrations specific description field for this event - terms TEXT NULL, -- Terms and Conditions for registration - first_datetime DATETIME NULL, -- Start of first listed date/time for this event - last_datetime DATETIME NULL, -- Start of last listed date/time for this event - reg_file TINYTEXT NULL, -- Name of a downloadable file - reg_file_title TINYTEXT NULL, -- Title for downloadable file - form_revision SMALLINT NULL, -- Current MagicForm form revision - notes TEXT NULL, -- System operator's notes for this event - Not visible to users - PRIMARY KEY (id), - INDEX (event), - INDEX (event_code(10)) -); - ----- - --- Registration Event Time - Information and summary data for a specific event instance (relates to a particular time record in events) --- A pseudo entry is created if registration is not date/time sensitive for this event. The pseudo entry does not point to an event time. --- These are created the first time a person tries to register for an event instance (time) --- One or more for each event -CREATE TABLE {prefix}reg_time ( - id INT NOT NULL AUTO_INCREMENT, - active BOOLEAN NULL, -- Flag. True if registrations is available for this time - non_time_specific BOOLEAN NULL, -- Flag. True if this is a pseudo time for non-time-specific events - Other informational times for the event will have this flag off - reg_event INT NULL, -- Pointer to reg_event table - event_time INT NULL, -- ID of events times table entry in Events add-on - If false (0), then this is a pseudo entry to use for all registrations (non-date/time specific) - start_datetime DATETIME NULL, -- Date and time when event instance starts - end_datetime DATETIME NULL, -- Date and time when event instance ends - all_day BOOLEAN NULL, -- All Day flag - Informational - attendees BOOLEAN NULL, -- Flag if tracking attendees or if only one per registration submission (registers account submitting) - get from reg_event - attendee_max MEDIUMINT NULL, -- Attendee count limit - 0 = unlimited - get from reg_event record - attendee_count MEDIUMINT NULL, -- Current attendee count - calculated on the fly and stored here for reference - attendees_pending MEDIUMINT NULL, -- Current number of attendees for this time in active pending carts (Not checked out and attendees slots held) - attendees_available MEDIUMINT NULL, -- Currently available attendee count (limit - registered - pending) - total_base_charge DOUBLE NULL, -- Total base charges - total_per_attendee DOUBLE NULL, -- Total per-attendee charges - total_other DOUBLE NULL, -- Total other charges (meals, extras, fees, ...) - total_taxes DOUBLE NULL, -- Total taxes charged - total_charges DOUBLE NULL, -- Total charges (sum of all above) - total_discounts DOUBLE NULL, -- Total discounts of all types (applied payment codes, etc...) - total_payments DOUBLE NULL, -- Total net payments (total charges - total discounts) - descr TEXT NULL, -- Optional description field for this time entry - PRIMARY KEY (id), - INDEX (reg_event), - INDEX (event_time), - INDEX (start_datetime) -); - ----- - --- Pending Attendees - In carts but not checked out --- Attendee counts may be held for a particular reg_time entry for carts that have not been checked out --- These are held for reg_event reg_hold_minutes, afterwhich they are timed out and removed from this table --- Cart entries are given the ID's for these entries when a hold is requested, if the entry is gone, the hold has expired -CREATE TABLE {prefix}reg_time_pending ( - id INT NOT NULL AUTO_INCREMENT, - reg_event INT NULL, -- Pointer to reg_event table - reg_time INT NULL, -- ID of time record - registrant INT NULL, -- ID of reg_request_registrant record -- - expire_time DATETIME NULL, -- Time at which this hold expires - PRIMARY KEY (id), - INDEX (reg_event), - INDEX (reg_time) -); - ----- - --- Registration Class - Type of registration for a specific event - Equates to "Rate Options" in the old system --- One or more for each event -CREATE TABLE {prefix}reg_class ( - id INT NOT NULL AUTO_INCREMENT, - reg_event INT NULL, -- Pointer to reg_event table - name TINYTEXT NULL, -- Name of this registration type - descr TEXT NULL, -- Description - PRIMARY KEY (id), - INDEX (reg_event) -); - ----- - --- Rates and dates for a particular reg_class --- One or more per reg_class - **** Days should not overlap for a particular reg_class -CREATE TABLE {prefix}reg_rate ( - id INT NOT NULL AUTO_INCREMENT, - reg_event INT NULL, -- Pointer to reg_event table - reg_class INT NULL, -- Pointer to reg_class table - name TINYTEXT NULL, -- Name of this rate - start_days INT NULL, -- # of days before event time rate becomes available - may be selected as a date then converted for storage - end_days INT NULL, -- # of days before event time rate becomes unavailable - base_rate FLOAT, -- Base rate to register - per_registrant FLOAT, -- Rate per registrant - registrant_credits TINYINT NULL, -- Number of registrants included in base rate - PRIMARY KEY (id), - INDEX (reg_event), - INDEX (reg_class) -); - ----- - --- Notifications --- None or more for each reg event -CREATE TABLE {prefix}reg_notification ( - id INT NOT NULL AUTO_INCREMENT, - reg_event INT NULL, -- Pointer to reg_event table - name TINYTEXT NULL, -- Name of this notification - notification_days INT NULL, -- # of days before or after event that notification takes place (- before, + after) - message TEXT NULL, -- Content of message (uses template parameters to merge event/attendee data) - PRIMARY KEY (id), - INDEX (reg_event) -); - ----- - --- Notification Queue -CREATE TABLE {prefix}notification_queue ( - id INT NOT NULL AUTO_INCREMENT, - reg_notification INT NOT NULL, -- Pointer to the reg_notification table - account INT NOT NULL, -- Pointer to the account table - queued_time DATETIME NOT NULL, -- Creation time - processed_time DATETIME NULL, -- The time this queue was processed. (sent out) - to_email TINYTEXT NOT NULL, -- The To email address - from_email TINYTEXT NOT NULL, -- The From email address - subject TINYTEXT NOT NULL, -- The subject - html_message TEXT NOT NULL, -- The complete html message - PRIMARY KEY (id) -); - ----- - --- An account for a person submitting a registration or a registrant for an event --- Depending on the use of these entries may not have all data included --- A single account may be referenced as a person submitting registrations and/or a person registered for an event -CREATE TABLE {prefix}account ( - id INT NOT NULL AUTO_INCREMENT, - active BOOLEAN NULL, -- Is active flag (may be accessed or used) - default is true - validated BOOLEAN NULL, -- Flag indicating that the account has been validated - Set to false when recovering password - validation_code TINYTEXT NULL, -- Validation code and timestamp ("{validation code}-{timestamp}) - Clear this after validation - registered_by INT NULL, -- Account *** THIS FIELD NEEDS TO BE DELETED *** - member_id TINYTEXT NULL, -- Free-form field for a member ID (not a GLM Associate member ID - See "contact_member_id" below) - fname TINYTEXT NULL, -- Account primary address - lname TINYTEXT NULL, - org TINYTEXT NULL, - title TINYTEXT NULL, - addr1 TINYTEXT NULL, - addr2 TINYTEXT NULL, - city TINYTEXT NULL, - state TINYTEXT NULL, - zip TINYTEXT NULL, - country TINYTEXT NULL, - phone TINYTEXT NULL, - fax TINYTEXT NULL, - bill_fname TINYTEXT NULL, -- Last used billing infodeletermation - Also stored in each registration request - bill_lname TINYTEXT NULL, - bill_org TINYTEXT NULL, - bill_title TINYTEXT NULL, - bill_addr1 TINYTEXT NULL, - bill_addr2 TINYTEXT NULL, - bill_city TINYTEXT NULL, - bill_state TINYTEXT NULL, - bill_zip TINYTEXT NULL, - bill_country TINYTEXT NULL, - bill_phone TINYTEXT NULL, - bill_fax TINYTEXT NULL, - email TINYTEXT NULL, - password TINYTEXT NULL, -- Crypted password for login back into this account - email_ok BOOLEAN NULL, - is_member BOOLEAN NULL, -- Is a member of the entity that owns the site - customer_profile_id TINYTEXT NULL, -- Stored Credit Card customer profile ID - payment_profile_id TINYTEXT NULL, -- Stored Credit Card payment profile ID - payment_profile_card TINYTEXT NULL, -- Stored Credit Card last card digits - contact_id INT NULL, -- Pointer to GLM Associate member contact record if account is for a member contact - contact_member_id INT NULL, -- Pointer to GLM Associate Member for this contact - contact_fname TINYTEXT NULL, - contact_lname TINYTEXT NULL, - contact_org TINYTEXT NULL, - contact_title TINYTEXT NULL, - contact_addr1 TINYTEXT NULL, - contact_addr2 TINYTEXT NULL, - contact_city TINYTEXT NULL, - contact_state TINYTEXT NULL, - contact_zip TINYTEXT NULL, - contact_country TINYTEXT NULL, - contact_phone TINYTEXT NULL, - contact_fax TINYTEXT NULL, - contact_email TINYTEXT NULL, - contact_email_ok BOOLEAN NULL, - guardian TINYTEXT NULL, - emer_contact TINYTEXT NULL, - emer_phone TINYTEXT NULL, - med_history TINYTEXT NULL, - allergy_med TINYTEXT NULL, - date_created DATE NULL, - notes TEXT NULL, -- System operator's notes for this account - not visible to account owner - user_trace_info TINYTEXT NULL, -- IP Address of user computer and timestamp of last update - PRIMARY KEY (id), - INDEX (registered_by), - INDEX (member_id(10)), - INDEX (fname(10)), - INDEX (lname(10)), - INDEX (org(10)), - INDEX (city(10)), - INDEX (state(5)), - INDEX (zip(5)), - INDEX (email(10)), - INDEX (contact_id) -); - ----- - --- A request for registration --- Has one or more reg_detail records associated with it -CREATE TABLE {prefix}reg_request ( - id INT NOT NULL AUTO_INCREMENT, - account INT NULL, -- Pointer to user account (reg_account) who submitted the registrations. If 0 then guest request (prior to checkout) - validated BOOLEAN NULL, -- Flag that indicates if request passed last validation with checkRegistrationRequest() - validation_message TEXT NULL, -- Reasons that request did not pass validation with checkRegistrationRequest() - Serialized array - bill_fname TINYTEXT NULL, -- Billing information used for this registration submission - Updates account billing address - Kept here for each request - bill_lname TINYTEXT NULL, - bill_org TINYTEXT NULL, - bill_title TINYTEXT NULL, - bill_addr1 TINYTEXT NULL, - bill_addr2 TINYTEXT NULL, - bill_city TINYTEXT NULL, - bill_state TINYTEXT NULL, - bill_zip TINYTEXT NULL, - bill_country TINYTEXT NULL, - bill_phone TINYTEXT NULL, - bill_email TINYTEXT NULL, - date_submitted DATE NULL, -- Date of final submission (checkout complete) - pay_method INT NULL, -- See payment_method in plugin.ini - payment_code TINYTEXT NULL, -- Payment_code text (comp code) - if submitted and validated - status SMALLINT NULL, -- See submission_status in plugin.ini - total DOUBLE PRECISION NULL, -- Total charge including all fees and taxes - total_discounts DOUBLE PRECISION NULL, -- Total of all comps and discounts - registrants SMALLINT NULL, -- Total number of registrants in this cart - cc_type TINYINT NULL, -- Credit Card type (if used) - See credit_card in plugin.ini - cc_name TINYTEXT NULL, -- Name on Credit Card or Name on Check - cc_numb TINYTEXT NULL, -- Credit Card Number or Check Number - cc_exp TINYTEXT NULL, - cc_cvv TINYTEXT NULL, - cc_conf TINYTEXT NULL, -- Confirmation code back from card processor - cc_proc_mesg TINYTEXT NULL, -- Message received from payment processor - summary TEXT NULL, -- HTML summary of cart contents, costs and payment - Use same HTML displayed to user - mf_data TEXT NULL, -- Any MagicForm data associated with registrant - notes TEXT NULL, -- System operator's notes for this registration request - user_trace_info TEXT NULL, -- IP Address of user computer and timestamp - date_created DATETIME NULL, -- Date request was first created - last_update DATETIME NULL, -- Last update date/time - Used for timing out pending carts and attendee counts - PRIMARY KEY (id), - INDEX (account), - INDEX (date_submitted) -); - ----- - --- Registration for a specific event --- Has one or more reg_selected_rate records associated with it -CREATE TABLE {prefix}reg_request_event ( - id INT NOT NULL AUTO_INCREMENT, - reg_request INT NULL, -- Pointer to reg_request table - reg_event INT NULL, -- Pointer to reg_event - event_name TINYTEXT NULL, -- Name of Event so it will always be in the cart data - notes TEXT NULL, -- System operator's notes for this registration request - PRIMARY KEY (id), - INDEX (reg_request), - INDEX (reg_event) -); - ----- - --- A particular reg_class selected --- Has one or more reg_request_rate records associated with it -CREATE TABLE {prefix}reg_request_class ( - id INT NOT NULL AUTO_INCREMENT, - reg_event INT NULL, -- Pointer to reg_event entry - reg_request INT NULL, -- Pointer to the registration request record - reg_request_event INT NULL, -- Pointer to reg_request_event table entry - class INT NULL, -- Pointer to event reg_class table - False (0) if registration class no longer exits - class_name TINYTEXT NULL, -- Name of event class at the time selected - notes TEXT NULL, -- System operator's notes for this registration request - PRIMARY KEY (id), - INDEX (reg_event), - INDEX (reg_request_event) -); - ----- - --- A particular reg_rate selected --- Has one or more reg_request_registrant records associated with it -CREATE TABLE {prefix}reg_request_rate ( - id INT NOT NULL AUTO_INCREMENT, - reg_event INT NULL, -- Pointer to reg_event entry - reg_request INT NULL, -- Pointer to the registration request record - reg_request_event INT NULL, -- Pointer to reg_request_event table entry - reg_request_class INT NULL, -- Pointer to reg_request_class table entry - rate INT NULL, -- Pointer to event reg_rate table - False (0) if registration rate no longer exists - rate_name TINYTEXT NULL, -- Name of event class rate at the time selected - base_rate FLOAT, -- Base rate at time of registration - per_registrant FLOAT, -- Per Registrant Rate at time of registration - registrant_credits TINYINT NULL, -- Number of registrants included in base rate at time of registration - notes TEXT NULL, -- System operator's notes for this registration request - PRIMARY KEY (id), - INDEX (reg_event), - INDEX (reg_request_event), - INDEX (reg_request_class) -); - ----- - --- A specific registrant for a selected registration rate -CREATE TABLE {prefix}reg_request_registrant ( - id INT NOT NULL AUTO_INCREMENT, - account INT NULL, -- Pointer to the account entry for the person being registered - False (0) if account no longer exists or registrant account not needed - reg_event INT NULL, -- Pointer to reg_event entry - reg_time INT NULL, -- Pointer reg_time entry - event_datetime DATETIME NULL, -- Date and time of event time selected so it will always be in the cart - reg_request INT NULL, -- Pointer to the registration request record - reg_request_event INT NULL, -- Pointer to reg_request_event table entry - reg_request_class INT NULL, -- Pointer to reg_request_class table entry - reg_request_rate INT NULL, -- Pointer to reg_request_rate table entry - not_attending BOOLEAN DEFAULT false, -- Flag to say if registrant is not attending - set to true when not attending - fname TINYTEXT NULL, -- First name of registrant at the time of selection - lname TINYTEXT NULL, -- Last name of registrant at the time of selection - notes TEXT NULL, -- System operator's notes for this registration request - PRIMARY KEY (id), - INDEX (account), - INDEX (reg_event), - INDEX (reg_time), - INDEX (reg_request), - INDEX (reg_request_event), - INDEX (reg_request_class), - INDEX (reg_request_rate) -); - ----- - --- A specific use of a payment code in this request -CREATE TABLE {prefix}reg_request_pay_code ( - id INT NOT NULL AUTO_INCREMENT, - payment_code INT NULL, -- Pointer to payment code - code TINYTEXT NULL, -- Copy of Payment Code text in case payment code is deleted or changed - reg_request INT NULL, -- Pointer to the registration request record - credit DOUBLE PRECISION NULL, -- Total credit for this payment code - expire_date DATE NULL, -- Expiration Date - NOT USING NOW - Getting from payment_code table always - PRIMARY KEY (id), - INDEX (payment_code), - INDEX (reg_request) -); - ----- - --- Insert into management table -INSERT INTO {prefix}management - ( - canonical_reg_page, - reg_org_name, - reg_org_short, - reg_org_address, - reg_org_city, - reg_org_state, - reg_org_zip, - reg_org_phone, - reg_org_toll_free, - reg_org_internal_email, - reg_org_from_email, - reg_payment_methods, - reg_proc_methods, - reg_cc_accepts, - reg_authorize_net_login, - reg_authorize_net_key, - reg_authorize_net_test, - reg_authorize_net_conf, - reg_authorize_net_merchant_email, - reg_merchant_solutions_acctid, - reg_merchant_solutions_merchantpin, - reg_merchant_solutions_test, - reg_full_billing_info, - reg_bill_info_req_no_charge, - reg_bill_info_req_comp_code, - reg_bill_info_req_cash, - reg_bill_info_req_check, - reg_bill_info_req_credit_card, - reg_bill_info_req_merchant_call, - reg_medical_info - ) - VALUES - ( - 'registrations', -- reg_canonical_reg_page, - 'Gaslight Media', -- reg_org_name, - 'GLM', -- reg_org_short, - '120 E. Lake St.', -- reg_org_address, - 'Petoskey', -- reg_org_city, - 'MI', -- reg_org_state, - '49770', -- reg_org_zip, - '231-487-0692', -- reg_org_phone, - '800-123-1234', -- reg_org_toll_free, - 'internal@gaslightmedia.com', -- reg_org_internal_email, - 'info@gaslightmedia.com', -- reg_org_from_email, - 0, -- reg_payment_methods, - 0, -- reg_proc_methods, - 0, -- reg_cc_accepts, - '', -- reg_authorize_net_login, - '', -- reg_authorize_net_key, - 1, -- reg_authorize_net_test, - true, -- reg_authorize_net_conf - '', -- reg_authorize_net_merchant_email, - '', -- reg_merchant_solutions_acctid, - '', -- reg_merchant_solutions_merchantpin, - 1, -- reg_merchant_solutions_test, - true, -- reg_full_billing_info, - 0, -- reg_bill_info_req_no_charge, - 0, -- reg_bill_info_req_comp_code, - 0, -- reg_bill_info_req_cash, - 0, -- reg_bill_info_req_check, - 0, -- reg_bill_info_req_credit_card, - 0, -- reg_bill_info_req_merchant_call, - true -- reg_medical_info, - ); - ----- - --- Insert into settings_terms table -INSERT INTO {prefix}settings_terms - ( - reg_term_registrations_name, - reg_term_registration, - reg_term_registration_cap, - reg_term_registration_plur, - reg_term_registration_plur_cap, - reg_term_register, - reg_term_register_cap, - reg_term_registers, - reg_term_registering, - reg_term_registering_cap, - reg_term_registered, - reg_term_registered_cap, - reg_term_attendee, - reg_term_attendee_cap, - reg_term_attendee_plur, - reg_term_attendee_plur_cap, - reg_term_attending, - reg_term_attended, - reg_term_registered_user, - reg_term_registered_user_cap, - reg_term_registered_user_plur, - reg_term_registered_user_plur_cap, - reg_term_event, - reg_term_event_cap, - reg_term_event_plur, - reg_term_event_plur_cap, - reg_term_id, - reg_term_id_cap, - reg_term_id_plur, - reg_term_id_plur_cap, - reg_term_password, - reg_term_password_cap, - reg_term_password_plur, - reg_term_password_plur_cap, - reg_term_instructor, - reg_term_instructor_cap, - reg_term_instructor_plur, - reg_term_instructor_plur_cap, - reg_term_payment_code, - reg_term_payment_code_cap, - reg_term_payment_code_plur, - reg_term_payment_code_plur_cap, - reg_term_registration_button, - reg_term_contact_information - ) - VALUES - ( - 'Event Registrations', -- reg_term_registrations_name - 'registration', -- reg_term_registration - 'Registration', -- reg_term_registration_cap - 'registrations', -- reg_term_registration_plur - 'Registrations', -- reg_term_registration_plur_cap - 'register', -- reg_term_registe - 'Register', -- reg_term_register_cap - 'registers', -- reg_term_registers - 'registering', -- reg_term_registering - 'Registering', -- reg_term_registering_cap - 'registered', -- reg_term_registered - 'Registered', -- reg_term_registered_cap - 'attendee', -- reg_term_attendee - 'Attendee', -- reg_term_attendee_cap - 'attendees', -- reg_term_attendee_plur - 'Attendees', -- reg_term_attendee_plur_cap - 'attending', -- reg_term_attending - 'attended', -- reg_term_attended - 'user', -- reg_term_registered_user - 'User', -- reg_term_registered_user_cap - 'users', -- reg_term_registered_user_plur - 'Users', -- reg_term_registered_user_plur_cap - 'event', -- reg_term_event - 'Event', -- reg_term_event_cap - 'events', -- reg_term_event_plur - 'Events', -- reg_term_event_plur_cap - 'ID', -- reg_term_id - 'ID', -- reg_term_id_cap - 'IDs', -- reg_term_id_plur - 'IDs', -- reg_term_id_plur_cap - 'password', -- reg_term_password - 'passwords', -- reg_term_password_cap - 'Password', -- reg_term_password_plur - 'Passwords', -- reg_term_password_plur_cap - 'instructor', -- reg_term_instructor - 'Instructor', -- reg_term_instructor_cap - 'instructors', -- reg_term_instructor_plur - 'Instructors', -- reg_term_instructor_plur_cap - 'payment code', -- reg_term_payment_code - 'Payment code', -- reg_term_payment_code_cap - 'payment codes', -- reg_term_payment_code_plur - 'Payment codes', -- reg_term_payment_code_plur_cap - 'Register for Event', -- reg_term_registration_button - 'Contact Information' -- reg_term_contact_information - ); - ----- - --- Insert into misc table -INSERT INTO {prefix}misc - ( - reg_bulletin, - cart_page_text, - checkout_page_text, - summary_page_text, - reg_terms, - notify_subject, - notify_text, - instr_notify_subject, - instr_notify_text, - submission_notify_subject, - submission_notify_text, - registrant_notify_subject, - registrant_notify_text, - submission_ack_subject, - submission_ack_text, - registrant_ack_subject, - registrant_ack_text - ) - VALUES - ( - 'Registration Bulletin Text', - 'Text for top of Cart Page', - 'Text for top of Checkout Page', - 'Text for top of Summary Page', - 'Terms and Conditions', - 'Registration Request Submitted', - 'A registration request has just been submitted to your site. - -Sincerely, - -{$OrgName} -{$OrgAddress} -{$OrgCity}, {$OrgState} {$OrgZip} -{$OrgPhone} -{$OrgEmail} - -{$Summary} - -', - 'Registration Submitted for {$EventName}', - 'The following people were just registered for {$EventName}... - -{foreach $EventAttendees as $a}{$a.AttendeeFirstName} {$a.AttendeeLastName} -{/foreach} -', - 'Registration Request Submitted', - 'Thank you for submitting your event registration request. - -Below is a summary of your submission. Please contact us if you have any questions regarding this request. - -{$summary}', - 'Your Registration for: {$EventName}', - 'You have been registered for {$EventName} by {$SubmittedByFirstName} {$SubmittedByLastName}. - -Please let us know if you have any questions regarding your registration for this event. -', - 'Registration Request Updated', - 'THIS MESSAGE TYPE IS NOT YET FUNCTIONAL - -The status of your registration request submitted on {$DateTimeSubmitted} has been updated to "{$Status}". - -Below is a copy of the request at the time it was submitted. - -{$Summary}', - 'Your payment status for the event you are attending has been updated', - 'TTHIS MESSAGE TYPE IS NOT YET FUNCTIONAL' - ); diff --git a/setup/databaseScripts/create_database_V1.0.2.sql b/setup/databaseScripts/create_database_V1.0.2.sql new file mode 100755 index 0000000..420ff1b --- /dev/null +++ b/setup/databaseScripts/create_database_V1.0.2.sql @@ -0,0 +1,842 @@ +-- Gaslight Media Registration Database +-- File Created: 01/18/2017 14:40:00 +-- Database Version: 1.0.1 +-- Database Creation Script +-- +-- To permit each query below to be executed separately, +-- all queries must be separated by a line with four dashes +-- +/* + * General Database Organization + * ----------------------------- + * + * management - General options and configuration - Site manager access only + * + * misc - Misc settings and text - Site owner may update + * + * payment codes - Promotional payment codes - Used with various things + * --> Event, Submission, Event Registration, Event Registrant, Account or global + * + * reg_event - Describes registration for that event + * reg_time - One record for each date/time this event has people registered - Primarily tracks attendee counts and charge totals + * reg_class - Type of registration for this event (one or more) + * reg_rates - Date range / rate for a reg class (one or more) + * + * reg_account - Describes someone who submits / pays for a registration + * Make these two things the same table.... + * registrant - A person who is registered for an event + * + * reg_request - Information on a specific request for registrations + * reg_request_event - Event selected (one or more) + * reg_request_class - Class of registration (one or more) + * reg_request_rate - Specific registration date/rate (one or more) + * reg_request_registrant - Registrant (one or more) + * + * NOTE: additional fields and added fields data will be coming from the Custom Fields add-on + * + * Overall Flow + * ------------ + * + * User selects an event + * If the event has available registrations + * User selects a date for the registration (or if only one that's selected automatically) + * User can log back into registrations at this point if they've been there before and have a password, create an ccount, or continue as guest ??? + * User selects an available rate type and adds one or more registrants for that rate type + * User may loop back to select additional rate type(s) and registrants + * User may go back to date selection and request additional rate types and registrants for the addional dates + * User may go back to select additional dates and do registrations for those dates as above + * User may go back to select other events and do registrations for them as above + * User may select the "Cart" and deselect something added to it + * User may checkout + * + */ + +/* + * NOTE: Anything below here may not be completed or accurate yet. I'm still working though this + * Lines commented out are selected for possible deletion. + * The INSERT statements are not up-to-date with the tables. + * The "config/plugin.ini" file in this plugin is also a work in progress. + */ + +-- Management Options +-- General configurationm parameters for the Registrations application +-- Only one entry in this table! +CREATE TABLE {prefix}management ( + id INT NOT NULL AUTO_INCREMENT, + canonical_reg_page TINYTEXT NULL, -- Canonical page slug for registrations + -- System Owner Information + reg_org_name TINYTEXT NULL, -- Customer Information - Name of Organization + reg_org_short TINYTEXT NULL, + reg_org_address TINYTEXT NULL, + reg_org_city TINYTEXT NULL, + reg_org_state TINYTEXT NULL, + reg_org_zip TINYTEXT NULL, + reg_org_phone TINYTEXT NULL, + reg_org_toll_free TINYTEXT NULL, + reg_org_internal_email TINYTEXT NULL, + reg_org_from_email TINYTEXT NULL, + reg_payment_methods SMALLINT NULL, -- Payment methods available for all registrations - Bitmap - see payment_method in plugin.ini + reg_proc_methods SMALLINT NULL, -- Credit Cart payment processing methods available - Bitmap - see proc_method in plugin.ini + reg_cc_accepts SMALLINT NULL, -- Credit Cards Accepted - Bitmap - See credit_card in plugin.ini + -- Authorize.net Credentials + reg_authorize_net_login TINYTEXT NULL, + reg_authorize_net_key TINYTEXT NULL, + reg_authorize_net_test TINYINT NULL, -- Authorize.net test mode - List - see proc_test_mode in plugin.ini + reg_authorize_net_conf BOOLEAN NULL, -- Flag to send payment confirmation Email from Authorize.net + reg_authorize_net_merchant_email TINYTEXT NULL, -- E-Mail Authorize.net will send copy of confirmation E-Mail + reg_authorize_net_merchant_seal TEXT NULL, -- Authorize.net Verified Merchant Seal code + -- Merchant Solutions Credentials + reg_merchant_solutions_acctid TINYTEXT NULL, -- Merchant Solutions credentials + reg_merchant_solutions_merchantpin TINYTEXT NULL, + reg_merchant_solutions_test TINYINT NULL, -- Merchant Solutions test mode - List - see proc_test_mode in plugin.ini + reg_merchant_solutions_conf BOOLEAN NULL, -- Flag to send payment confirmation Email + reg_merchant_solutions_merchant_email TINYTEXT NULL, -- Merchant Solutions will send copy of confirmation E-Mail + -- PayPal Credentials + reg_paypal_clientid TINYTEXT NULL, -- PayPal Client ID + reg_paypal_secret TINYTEXT NULL, -- PayPal Secret + reg_paypal_sandbox_clientid TINYTEXT NULL, -- PayPal Client ID + reg_paypal_sandbox_secret TINYTEXT NULL, -- PayPal Secret + reg_paypal_test TINYINT NULL, -- PayPal test mode - List - see + -- Billing settings + reg_full_billing_info BOOLEAN NULL, -- Always request full billing information in checkout page regardless of the following settings + reg_bill_info_req_no_charge SMALLINT NULL, -- Bitmap of fields to use in checkout for these types of payments - See billing_field in plugin.conf + reg_bill_info_req_comp_code SMALLINT NULL, + reg_bill_info_req_cash SMALLINT NULL, + reg_bill_info_req_check SMALLINT NULL, + reg_bill_info_req_credit_card SMALLINT NULL, + reg_bill_info_req_merchant_call SMALLINT NULL, + -- Misc Options + reg_request_hold_days SMALLINT NULL, -- Number of days past last update that a request will be retained in "CART" status. + reg_account_hold_days SMALLINT NULL, -- Number of days past last update that an account will be retained when there are no requests or registrants referring to it. + reg_not_submitted_dialog BOOLEAN NULL, -- Flag to show page not submitted dialog boxes + reg_medical_info BOOLEAN NULL, -- This site can ask for "Medical Info" - set in main category of an event + reg_show_navigation_aids BOOLEAN NULL, -- No, not marine navigational aids, this enables additional text, arrows, etc to direct a user to do something specific that would not normally be required. + reg_show_attendees_on_reg_page BOOLEAN NULL, -- Flag to show a list of attendees on the registraitons page for an event + PRIMARY KEY (id) +); + +---- + +-- Terms used in site modifiable on Management page in admin - Only 1 entry in this table +-- Terms in this table should be all self-explanatory +CREATE TABLE {prefix}settings_terms ( + id INT NOT NULL AUTO_INCREMENT, + reg_term_registrations_name TINYTEXT NULL, -- Term "Event Registration" + reg_term_registration TINYTEXT NULL, + reg_term_registration_cap TINYTEXT NULL, + reg_term_registration_plur TINYTEXT NULL, + reg_term_registration_plur_cap TINYTEXT NULL, + reg_term_register TINYTEXT NULL, + reg_term_register_cap TINYTEXT NULL, + reg_term_registers TINYTEXT NULL, -- Intransitive verb of register + reg_term_registering TINYTEXT NULL, + reg_term_registering_cap TINYTEXT NULL, + reg_term_registered TINYTEXT NULL, + reg_term_registered_cap TINYTEXT NULL, + reg_term_attendee TINYTEXT NULL, + reg_term_attendee_cap TINYTEXT NULL, + reg_term_attendee_plur TINYTEXT NULL, + reg_term_attendee_plur_cap TINYTEXT NULL, + reg_term_attending TINYTEXT NULL, + reg_term_attended TINYTEXT NULL, + reg_term_registered_user TINYTEXT NULL, + reg_term_registered_user_cap TINYTEXT NULL, + reg_term_registered_user_plur TINYTEXT NULL, + reg_term_registered_user_plur_cap TINYTEXT NULL, + reg_term_event TINYTEXT NULL, + reg_term_event_cap TINYTEXT NULL, + reg_term_event_plur TINYTEXT NULL, + reg_term_event_plur_cap TINYTEXT NULL, + reg_term_id TINYTEXT NULL, + reg_term_id_cap TINYTEXT NULL, + reg_term_id_plur TINYTEXT NULL, + reg_term_id_plur_cap TINYTEXT NULL, + reg_term_level TINYTEXT NULL, + reg_term_level_cap TINYTEXT NULL, + reg_term_level_plur TINYTEXT NULL, + reg_term_level_plur_cap TINYTEXT NULL, + reg_term_password TINYTEXT NULL, + reg_term_password_cap TINYTEXT NULL, + reg_term_password_plur TINYTEXT NULL, + reg_term_password_plur_cap TINYTEXT NULL, + reg_term_instructor TINYTEXT NULL, + reg_term_instructor_cap TINYTEXT NULL, + reg_term_instructor_plur TINYTEXT NULL, + reg_term_instructor_plur_cap TINYTEXT NULL, + reg_term_payment_code TINYTEXT NULL, + reg_term_payment_code_cap TINYTEXT NULL, + reg_term_payment_code_plur TINYTEXT NULL, + reg_term_payment_code_plur_cap TINYTEXT NULL, + reg_term_registration_button TINYTEXT NULL, + reg_term_contact_information TINYTEXT NULL, + reg_term_button_event_list TINYTEXT NULL, + reg_term_button_login_or_create TINYTEXT NULL, + reg_term_button_create_account TINYTEXT NULL, + reg_term_button_login TINYTEXT NULL, + reg_term_button_logout TINYTEXT NULL, + reg_term_button_add_attendee TINYTEXT NULL, + reg_term_button_save_attendee TINYTEXT NULL, + reg_term_button_attendee_page_continue TINYTEXT NULL, + reg_term_button_apply_comp_code TINYTEXT NULL, + reg_term_button_cart_page_continue TINYTEXT NULL, + reg_term_button_checkout_page_submit TINYTEXT NULL, + PRIMARY KEY (id) +); + +---- + +-- Misc system-wide customer configurable configuration +-- Various text and flags to be configured by customer +-- Only one entry in this table! +CREATE TABLE {prefix}misc ( + id INT NOT NULL AUTO_INCREMENT, + reg_bulletin TEXT NULL, -- Text to display at top of first registration page + cart_page_text TEXT NULL, -- Text to display at top of cart page + checkout_page_text TEXT NULL, -- Text to display at top of checkout page + summary_page_text TEXT NULL, -- Text to display at top of summary page (after checkout) + reg_terms TEXT NULL, -- Registration terms and conditions + notify_subject TEXT NULL, -- Subject of notification E-Mail to site owner + notify_text TEXT NULL, -- Notification E-Mail text for site owner + instr_notify_subject TEXT NULL, -- Subject of notification E-Mail to instructor + instr_notify_text TEXT NULL, -- Notification E-Mail text for instructor + submission_notify_subject TEXT NULL, -- Subject of notification E-Mail to person submitting the registrations + submission_notify_text TEXT NULL, -- Notification E-Mail text to person submitting the registrations + registrant_notify_subject TEXT NULL, -- Subject of notification E-Mail to registrant + registrant_notify_text TEXT NULL, -- Text of notification E-Mail to registrant + submission_ack_subject TEXT NULL, -- Subject of acknowledgement E-Mail to person submitting the registrations + submission_ack_text TEXT NULL, -- Text of acknowledgement E-Mail text to person submitting the registrations + registrant_ack_subject TEXT NULL, -- Subject of acknowledgement E-Mail to registrant + registrant_ack_text TEXT NULL, -- Text of acknowledgement E-Mail to registrant + PRIMARY KEY (id) +); + +---- + +-- Payment Codes +-- Promotional payment codes for free/discounted payment +CREATE TABLE {prefix}payment_code ( + id INT NOT NULL AUTO_INCREMENT, + code_type TINYINT NULL, -- Type of adjustment - Free only to start with - See pay_code_type in plugin.ini + ref_type TINYINT NULL, -- See payment_ref_type in plugin.ini + ref_dest INT NULL, -- Pointer to the specific entity of ref_type + code TINYTEXT NULL, -- Text code user must enter to use + amount FLOAT, -- Amount of discount if not type "Free" - Either $ amount or percent + expire_date DATE NULL, -- Expiration Date + descr TEXT NULL, + PRIMARY KEY (id), + INDEX (ref_dest), + INDEX (code(10)) +); + +---- + +-- Registration event specific information +-- One record for each event in Events add-on +-- Only created when an event is selected to offer registrations +CREATE TABLE {prefix}reg_event ( + id INT NOT NULL AUTO_INCREMENT, + event INT NULL, -- Pointer to event in Events add-on - False if event record in Events add-on no longer exists + event_name TINYTEXT NULL, -- Name of Event so it will always be in the cart data + event_code TINYTEXT NULL, -- A short code used to reference this event - can be used to directly select an event to register for + notify_email TINYTEXT NULL, -- E-Mail addresses to receive notification of a registration other than org_internal_email in management, comma separated + admin_active BOOLEAN NULL, -- Active flag for admin from Events - If logged in Admin user for this event and this is true then admin user may enter registrations even if active is off. + active BOOLEAN NULL, -- Active flag to indicate that this event is available for registrations and notifications + time_specific BOOLEAN NULL, -- Registration for this event is not date/time specific. Can attend any date/time of event. + attendees BOOLEAN NULL, -- Registration requires attendees - Otherwise the person submitting the registration is the registrant + attendee_max MEDIUMINT NULL, -- Attendee limit - 0 = unlimited + attendee_max_per_reg TINYINT NULL, -- Maximum attendees per registration submission - 0 = unlimited + reg_hold_minutes MEDIUMINT NULL, -- Number of minutes hold time for an inactive cart before registrant count hold expires (after which cart attempts to hold again on next access) + cart_hold_days MEDIUMINT NULL, -- NO LONGER IN USE - Number of days hold time for inactive cart before cart is purged + reg_hours_before MEDIUMINT NULL, -- Number of hours before an event that is the latest a registration may be submitted. + registration_account_options SMALLINT NULL, -- Bitmap of how user accounts may be used for this event - See registration_account_option in plugin.ini + payment_methods SMALLINT NULL, -- Bitmap of payment methods available to users for this event - See payment_method in plugin.ini + restricted_payment_methods SMALLINT NULL, -- Bitmap of restricted (admin use only) payment methods for this event - see payment_method + descr TEXT NULL, -- Registrations specific description field for this event + terms TEXT NULL, -- Terms and Conditions for registration + first_datetime DATETIME NULL, -- Start of first listed date/time for this event + last_datetime DATETIME NULL, -- Start of last listed date/time for this event + reg_file TINYTEXT NULL, -- Name of a downloadable file + reg_file_title TINYTEXT NULL, -- Title for downloadable file + form_revision SMALLINT NULL, -- Current MagicForm form revision + notes TEXT NULL, -- System operator's notes for this event - Not visible to users + PRIMARY KEY (id), + INDEX (event), + INDEX (event_code(10)) +); + +---- + +-- Registration Event Time - Information and summary data for a specific event instance (relates to a particular time record in events) +-- A pseudo entry is created if registration is not date/time sensitive for this event. The pseudo entry does not point to an event time. +-- These are created the first time a person tries to register for an event instance (time) +-- One or more for each event +CREATE TABLE {prefix}reg_time ( + id INT NOT NULL AUTO_INCREMENT, + active BOOLEAN NULL, -- Flag. True if registrations is available for this time + non_time_specific BOOLEAN NULL, -- Flag. True if this is a pseudo time for non-time-specific events - Other informational times for the event will have this flag off + reg_event INT NULL, -- Pointer to reg_event table + event_time INT NULL, -- ID of events times table entry in Events add-on - If false (0), then this is a pseudo entry to use for all registrations (non-date/time specific) + start_datetime DATETIME NULL, -- Date and time when event instance starts + end_datetime DATETIME NULL, -- Date and time when event instance ends + all_day BOOLEAN NULL, -- All Day flag - Informational + attendees BOOLEAN NULL, -- Flag if tracking attendees or if only one per registration submission (registers account submitting) - get from reg_event + attendee_max MEDIUMINT NULL, -- Attendee count limit - 0 = unlimited - get from reg_event record + attendee_count MEDIUMINT NULL, -- Current attendee count - calculated on the fly and stored here for reference + attendees_pending MEDIUMINT NULL, -- Current number of attendees for this time in active pending carts (Not checked out and attendees slots held) + attendees_available MEDIUMINT NULL, -- Currently available attendee count (limit - registered - pending) + total_base_charge DOUBLE NULL, -- Total base charges + total_per_attendee DOUBLE NULL, -- Total per-attendee charges + total_other DOUBLE NULL, -- Total other charges (meals, extras, fees, ...) + total_taxes DOUBLE NULL, -- Total taxes charged + total_charges DOUBLE NULL, -- Total charges (sum of all above) + total_discounts DOUBLE NULL, -- Total discounts of all types (applied payment codes, etc...) + total_payments DOUBLE NULL, -- Total net payments (total charges - total discounts) + descr TEXT NULL, -- Optional description field for this time entry + PRIMARY KEY (id), + INDEX (reg_event), + INDEX (event_time), + INDEX (start_datetime) +); + +---- + +-- Pending Attendees - In carts but not checked out +-- Attendee counts may be held for a particular reg_time entry for carts that have not been checked out +-- These are held for reg_event reg_hold_minutes, afterwhich they are timed out and removed from this table +-- Cart entries are given the ID's for these entries when a hold is requested, if the entry is gone, the hold has expired +CREATE TABLE {prefix}reg_time_pending ( + id INT NOT NULL AUTO_INCREMENT, + reg_event INT NULL, -- Pointer to reg_event table + reg_time INT NULL, -- ID of time record + registrant INT NULL, -- ID of reg_request_registrant record -- + expire_time DATETIME NULL, -- Time at which this hold expires + PRIMARY KEY (id), + INDEX (reg_event), + INDEX (reg_time) +); + +---- + +-- Registration Class - Type of registration for a specific event - Equates to "Rate Options" in the old system +-- One or more for each event +CREATE TABLE {prefix}reg_class ( + id INT NOT NULL AUTO_INCREMENT, + reg_event INT NULL, -- Pointer to reg_event table + name TINYTEXT NULL, -- Name of this registration type + descr TEXT NULL, -- Description + sort_order INT DEFAULT 999, -- Sort order for display in Front-End + PRIMARY KEY (id), + INDEX (reg_event) +); + +---- + +-- Rates and dates for a particular reg_class +-- One or more per reg_class - **** Days should not overlap for a particular reg_class +CREATE TABLE {prefix}reg_rate ( + id INT NOT NULL AUTO_INCREMENT, + reg_event INT NULL, -- Pointer to reg_event table + reg_class INT NULL, -- Pointer to reg_class table + name TINYTEXT NULL, -- Name of this rate + start_days INT NULL, -- # of days before event time rate becomes available - may be selected as a date then converted for storage + end_days INT NULL, -- # of days before event time rate becomes unavailable + base_rate FLOAT, -- Base rate to register + per_registrant FLOAT, -- Rate per registrant + registrant_credits TINYINT NULL, -- Number of registrants included in base rate + PRIMARY KEY (id), + INDEX (reg_event), + INDEX (reg_class) +); + +---- + +-- Notifications +-- None or more for each reg event +CREATE TABLE {prefix}reg_notification ( + id INT NOT NULL AUTO_INCREMENT, + reg_event INT NULL, -- Pointer to reg_event table + name TINYTEXT NULL, -- Name of this notification + notification_days INT NULL, -- # of days before or after event that notification takes place (- before, + after) + message TEXT NULL, -- Content of message (uses template parameters to merge event/attendee data) + PRIMARY KEY (id), + INDEX (reg_event) +); + +---- + +-- Notification Queue +CREATE TABLE {prefix}notification_queue ( + id INT NOT NULL AUTO_INCREMENT, + reg_notification INT NOT NULL, -- Pointer to the reg_notification table + account INT NOT NULL, -- Pointer to the account table + queued_time DATETIME NOT NULL, -- Creation time + processed_time DATETIME NULL, -- The time this queue was processed. (sent out) + to_email TINYTEXT NOT NULL, -- The To email address + from_email TINYTEXT NOT NULL, -- The From email address + subject TINYTEXT NOT NULL, -- The subject + html_message TEXT NOT NULL, -- The complete html message + PRIMARY KEY (id) +); + +---- + +-- An account for a person submitting a registration or a registrant for an event +-- Depending on the use of these entries may not have all data included +-- A single account may be referenced as a person submitting registrations and/or a person registered for an event +CREATE TABLE {prefix}account ( + id INT NOT NULL AUTO_INCREMENT, + active BOOLEAN NULL, -- Is active flag (may be accessed or used) - default is true + validated BOOLEAN NULL, -- Flag indicating that the account has been validated - Set to false when recovering password + validation_code TINYTEXT NULL, -- Validation code and timestamp ("{validation code}-{timestamp}) - Clear this after validation + registered_by INT NULL, -- Account *** THIS FIELD NEEDS TO BE DELETED *** + member_id TINYTEXT NULL, -- Free-form field for a member ID (not a GLM Associate member ID - See "contact_member_id" below) + fname TINYTEXT NULL, -- Account primary address + lname TINYTEXT NULL, + org TINYTEXT NULL, + title TINYTEXT NULL, + addr1 TINYTEXT NULL, + addr2 TINYTEXT NULL, + city TINYTEXT NULL, + state TINYTEXT NULL, + zip TINYTEXT NULL, + country TINYTEXT NULL, + phone TINYTEXT NULL, + fax TINYTEXT NULL, + bill_fname TINYTEXT NULL, -- Last used billing infodeletermation - Also stored in each registration request + bill_lname TINYTEXT NULL, + bill_org TINYTEXT NULL, + bill_title TINYTEXT NULL, + bill_addr1 TINYTEXT NULL, + bill_addr2 TINYTEXT NULL, + bill_city TINYTEXT NULL, + bill_state TINYTEXT NULL, + bill_zip TINYTEXT NULL, + bill_country TINYTEXT NULL, + bill_phone TINYTEXT NULL, + bill_fax TINYTEXT NULL, + email TINYTEXT NULL, + password TINYTEXT NULL, -- Crypted password for login back into this account + email_ok BOOLEAN NULL, + is_member BOOLEAN NULL, -- Is a member of the entity that owns the site + customer_profile_id TINYTEXT NULL, -- Stored Credit Card customer profile ID + payment_profile_id TINYTEXT NULL, -- Stored Credit Card payment profile ID + payment_profile_card TINYTEXT NULL, -- Stored Credit Card last card digits + contact_id INT NULL, -- Pointer to GLM Associate member contact record if account is for a member contact + contact_member_id INT NULL, -- Pointer to GLM Associate Member for this contact + contact_fname TINYTEXT NULL, + contact_lname TINYTEXT NULL, + contact_org TINYTEXT NULL, + contact_title TINYTEXT NULL, + contact_addr1 TINYTEXT NULL, + contact_addr2 TINYTEXT NULL, + contact_city TINYTEXT NULL, + contact_state TINYTEXT NULL, + contact_zip TINYTEXT NULL, + contact_country TINYTEXT NULL, + contact_phone TINYTEXT NULL, + contact_fax TINYTEXT NULL, + contact_email TINYTEXT NULL, + contact_email_ok BOOLEAN NULL, + guardian TINYTEXT NULL, + emer_contact TINYTEXT NULL, + emer_phone TINYTEXT NULL, + med_history TINYTEXT NULL, + allergy_med TINYTEXT NULL, + date_created DATE NULL, + notes TEXT NULL, -- System operator's notes for this account - not visible to account owner + user_trace_info TINYTEXT NULL, -- IP Address of user computer and timestamp of last update + PRIMARY KEY (id), + INDEX (registered_by), + INDEX (member_id(10)), + INDEX (fname(10)), + INDEX (lname(10)), + INDEX (org(10)), + INDEX (city(10)), + INDEX (state(5)), + INDEX (zip(5)), + INDEX (email(10)), + INDEX (contact_id) +); + +---- + +-- A request for registration +-- Has one or more reg_detail records associated with it +CREATE TABLE {prefix}reg_request ( + id INT NOT NULL AUTO_INCREMENT, + account INT NULL, -- Pointer to user account (reg_account) who submitted the registrations. If 0 then guest request (prior to checkout) + validated BOOLEAN NULL, -- Flag that indicates if request passed last validation with checkRegistrationRequest() + validation_message TEXT NULL, -- Reasons that request did not pass validation with checkRegistrationRequest() - Serialized array + bill_fname TINYTEXT NULL, -- Billing information used for this registration submission - Updates account billing address - Kept here for each request + bill_lname TINYTEXT NULL, + bill_org TINYTEXT NULL, + bill_title TINYTEXT NULL, + bill_addr1 TINYTEXT NULL, + bill_addr2 TINYTEXT NULL, + bill_city TINYTEXT NULL, + bill_state TINYTEXT NULL, + bill_zip TINYTEXT NULL, + bill_country TINYTEXT NULL, + bill_phone TINYTEXT NULL,_class + bill_email TINYTEXT NULL, + date_submitted DATE NULL, -- Date of final submission (checkout complete) + pay_method INT NULL, -- See payment_method in plugin.ini + payment_code TINYTEXT NULL, -- Payment_code text (comp code) - if submitted and validated + status SMALLINT NULL, -- See submission_status in plugin.ini + total DOUBLE PRECISION NULL, -- Total charge including all fees and taxes + total_discounts DOUBLE PRECISION NULL, -- Total of all comps and discounts + registrants SMALLINT NULL, -- Total number of registrants in this cart + cc_type TINYINT NULL, -- Credit Card type (if used) - See credit_card in plugin.ini + cc_name TINYTEXT NULL, -- Name on Credit Card or Name on Check + cc_numb TINYTEXT NULL, -- Credit Card Number or Check Number + cc_exp TINYTEXT NULL, + cc_cvv TINYTEXT NULL, + cc_conf TINYTEXT NULL, -- Confirmation code back from card processor + cc_proc_mesg TINYTEXT NULL, -- Message received from payment processor + summary TEXT NULL, -- HTML summary of cart contents, costs and payment - Use same HTML displayed to user + mf_data TEXT NULL, -- Any MagicForm data associated with registrant + notes TEXT NULL, -- System operator's notes for this registration request + user_trace_info TEXT NULL, -- IP Address of user computer and timestamp + date_created DATETIME NULL, -- Date request was first created + last_update DATETIME NULL, -- Last update date/time - Used for timing out pending carts and attendee counts + PRIMARY KEY (id), + INDEX (account), + INDEX (date_submitted) +); + +---- + +-- Registration for a specific event +-- Has one or more reg_selected_rate records associated with it +CREATE TABLE {prefix}reg_request_event ( + id INT NOT NULL AUTO_INCREMENT, + reg_request INT NULL, -- Pointer to reg_request table + reg_event INT NULL, -- Pointer to reg_event + event_name TINYTEXT NULL, -- Name of Event so it will always be in the cart data + notes TEXT NULL, -- System operator's notes for this registration request + PRIMARY KEY (id), + INDEX (reg_request), + INDEX (reg_event) +); + +---- + +-- A particular reg_class selected +-- Has one or more reg_request_rate records associated with it +CREATE TABLE {prefix}reg_request_class ( + id INT NOT NULL AUTO_INCREMENT, + reg_event INT NULL, -- Pointer to reg_event entry + reg_request INT NULL, -- Pointer to the registration request record + reg_request_event INT NULL, -- Pointer to reg_request_event table entry + class INT NULL, -- Pointer to event reg_class table - False (0) if registration class no longer exits + class_name TINYTEXT NULL, -- Name of event class at the time selected + notes TEXT NULL, -- System operator's notes for this registration request + PRIMARY KEY (id), + INDEX (reg_event), + INDEX (reg_request_event) +); + +---- + +-- A particular reg_rate selected +-- Has one or more reg_request_registrant records associated with it +CREATE TABLE {prefix}reg_request_rate ( + id INT NOT NULL AUTO_INCREMENT, + reg_event INT NULL, -- Pointer to reg_event entry + reg_request INT NULL, -- Pointer to the registration request record + reg_request_event INT NULL, -- Pointer to reg_request_event table entry + reg_request_class INT NULL, -- Pointer to reg_request_class table entry + rate INT NULL, -- Pointer to event reg_rate table - False (0) if registration rate no longer exists + rate_name TINYTEXT NULL, -- Name of event class rate at the time selected + base_rate FLOAT, -- Base rate at time of registration + per_registrant FLOAT, -- Per Registrant Rate at time of registration + registrant_credits TINYINT NULL, -- Number of registrants included in base rate at time of registration + notes TEXT NULL, -- System operator's notes for this registration request + PRIMARY KEY (id), + INDEX (reg_event), + INDEX (reg_request_event), + INDEX (reg_request_class) +); + +---- + +-- A specific registrant for a selected registration rate +CREATE TABLE {prefix}reg_request_registrant ( + id INT NOT NULL AUTO_INCREMENT, + account INT NULL, -- Pointer to the account entry for the person being registered - False (0) if account no longer exists or registrant account not needed + reg_event INT NULL, -- Pointer to reg_event entry + reg_time INT NULL, -- Pointer reg_time entry + event_datetime DATETIME NULL, -- Date and time of event time selected so it will always be in the cart + reg_request INT NULL, -- Pointer to the registration request record + reg_request_event INT NULL, -- Pointer to reg_request_event table entry + reg_request_class INT NULL, -- Pointer to reg_request_class table entry + reg_request_rate INT NULL, -- Pointer to reg_request_rate table entry + not_attending BOOLEAN DEFAULT false, -- Flag to say if registrant is not attending - set to true when not attending + fname TINYTEXT NULL, -- First name of registrant at the time of selection + lname TINYTEXT NULL, -- Last name of registrant at the time of selection + notes TEXT NULL, -- System operator's notes for this registration request + PRIMARY KEY (id), + INDEX (account), + INDEX (reg_event), + INDEX (reg_time), + INDEX (reg_request), + INDEX (reg_request_event), + INDEX (reg_request_class), + INDEX (reg_request_rate) +); + +---- + +-- A specific use of a payment code in this request +CREATE TABLE {prefix}reg_request_pay_code ( + id INT NOT NULL AUTO_INCREMENT, + payment_code INT NULL, -- Pointer to payment code + code TINYTEXT NULL, -- Copy of Payment Code text in case payment code is deleted or changed + reg_request INT NULL, -- Pointer to the registration request record + credit DOUBLE PRECISION NULL, -- Total credit for this payment code + expire_date DATE NULL, -- Expiration Date - NOT USING NOW - Getting from payment_code table always + PRIMARY KEY (id), + INDEX (payment_code), + INDEX (reg_request) +); + +---- + +-- Insert into management table +INSERT INTO {prefix}management + ( + canonical_reg_page, + reg_org_name, + reg_org_short, + reg_org_address, + reg_org_city, + reg_org_state, + reg_org_zip, + reg_org_phone, + reg_org_toll_free, + reg_org_internal_email, + reg_org_from_email, + reg_payment_methods, + reg_proc_methods, + reg_cc_accepts, + reg_authorize_net_login, + reg_authorize_net_key, + reg_authorize_net_test, + reg_authorize_net_conf, + reg_authorize_net_merchant_email, + reg_merchant_solutions_acctid, + reg_merchant_solutions_merchantpin, + reg_merchant_solutions_test, + reg_full_billing_info, + reg_bill_info_req_no_charge, + reg_bill_info_req_comp_code, + reg_bill_info_req_cash, + reg_bill_info_req_check, + reg_bill_info_req_credit_card, + reg_bill_info_req_merchant_call, + reg_medical_info + ) + VALUES + ( + 'registrations', -- reg_canonical_reg_page, + 'Gaslight Media', -- reg_org_name, + 'GLM', -- reg_org_short, + '120 E. Lake St.', -- reg_org_address, + 'Petoskey', -- reg_org_city, + 'MI', -- reg_org_state, + '49770', -- reg_org_zip, + '231-487-0692', -- reg_org_phone, + '800-123-1234', -- reg_org_toll_free, + 'internal@gaslightmedia.com', -- reg_org_internal_email, + 'info@gaslightmedia.com', -- reg_org_from_email, + 0, -- reg_payment_methods, + 0, -- reg_proc_methods, + 0, -- reg_cc_accepts, + '', -- reg_authorize_net_login, + '', -- reg_authorize_net_key, + 1, -- reg_authorize_net_test, + true, -- reg_authorize_net_conf + '', -- reg_authorize_net_merchant_email, + '', -- reg_merchant_solutions_acctid, + '', -- reg_merchant_solutions_merchantpin, + 1, -- reg_merchant_solutions_test, + true, -- reg_full_billing_info, + 0, -- reg_bill_info_req_no_charge, + 0, -- reg_bill_info_req_comp_code, + 0, -- reg_bill_info_req_cash, + 0, -- reg_bill_info_req_check, + 0, -- reg_bill_info_req_credit_card, + 0, -- reg_bill_info_req_merchant_call, + true -- reg_medical_info, + ); + +---- + +-- Insert into settings_terms table +INSERT INTO {prefix}settings_terms + ( + reg_term_registrations_name, + reg_term_registration, + reg_term_registration_cap, + reg_term_registration_plur, + reg_term_registration_plur_cap, + reg_term_register, + reg_term_register_cap, + reg_term_registers, + reg_term_registering, + reg_term_registering_cap, + reg_term_registered, + reg_term_registered_cap, + reg_term_attendee, + reg_term_attendee_cap, + reg_term_attendee_plur, + reg_term_attendee_plur_cap, + reg_term_attending, + reg_term_attended, + reg_term_registered_user, + reg_term_registered_user_cap, + reg_term_registered_user_plur, + reg_term_registered_user_plur_cap, + reg_term_event, + reg_term_event_cap, + reg_term_event_plur, + reg_term_event_plur_cap, + reg_term_id, + reg_term_id_cap, + reg_term_id_plur, + reg_term_id_plur_cap, + reg_term_password, + reg_term_password_cap, + reg_term_password_plur, + reg_term_password_plur_cap, + reg_term_instructor, + reg_term_instructor_cap, + reg_term_instructor_plur, + reg_term_instructor_plur_cap, + reg_term_payment_code, + reg_term_payment_code_cap, + reg_term_payment_code_plur, + reg_term_payment_code_plur_cap, + reg_term_registration_button, + reg_term_contact_information + ) + VALUES + ( + 'Event Registrations', -- reg_term_registrations_name + 'registration', -- reg_term_registration + 'Registration', -- reg_term_registration_cap + 'registrations', -- reg_term_registration_plur + 'Registrations', -- reg_term_registration_plur_cap + 'register', -- reg_term_registe + 'Register', -- reg_term_register_cap + 'registers', -- reg_term_registers + 'registering', -- reg_term_registering + 'Registering', -- reg_term_registering_cap + 'registered', -- reg_term_registered + 'Registered', -- reg_term_registered_cap + 'attendee', -- reg_term_attendee + 'Attendee', -- reg_term_attendee_cap + 'attendees', -- reg_term_attendee_plur + 'Attendees', -- reg_term_attendee_plur_cap + 'attending', -- reg_term_attending + 'attended', -- reg_term_attended + 'user', -- reg_term_registered_user + 'User', -- reg_term_registered_user_cap + 'users', -- reg_term_registered_user_plur + 'Users', -- reg_term_registered_user_plur_cap + 'event', -- reg_term_event + 'Event', -- reg_term_event_cap + 'events', -- reg_term_event_plur + 'Events', -- reg_term_event_plur_cap + 'ID', -- reg_term_id + 'ID', -- reg_term_id_cap + 'IDs', -- reg_term_id_plur + 'IDs', -- reg_term_id_plur_cap + 'password', -- reg_term_password + 'passwords', -- reg_term_password_cap + 'Password', -- reg_term_password_plur + 'Passwords', -- reg_term_password_plur_cap + 'instructor', -- reg_term_instructor + 'Instructor', -- reg_term_instructor_cap + 'instructors', -- reg_term_instructor_plur + 'Instructors', -- reg_term_instructor_plur_cap + 'payment code', -- reg_term_payment_code + 'Payment code', -- reg_term_payment_code_cap + 'payment codes', -- reg_term_payment_code_plur + 'Payment codes', -- reg_term_payment_code_plur_cap + 'Register for Event', -- reg_term_registration_button + 'Contact Information' -- reg_term_contact_information + ); + +---- + +-- Insert into misc table +INSERT INTO {prefix}misc + ( + reg_bulletin, + cart_page_text, + checkout_page_text, + summary_page_text, + reg_terms, + notify_subject, + notify_text, + instr_notify_subject, + instr_notify_text, + submission_notify_subject, + submission_notify_text, + registrant_notify_subject, + registrant_notify_text, + submission_ack_subject, + submission_ack_text, + registrant_ack_subject, + registrant_ack_text + ) + VALUES + ( + 'Registration Bulletin Text', + 'Text for top of Cart Page', + 'Text for top of Checkout Page', + 'Text for top of Summary Page', + 'Terms and Conditions', + 'Registration Request Submitted', + 'A registration request has just been submitted to your site. + +Sincerely, + +{$OrgName} +{$OrgAddress} +{$OrgCity}, {$OrgState} {$OrgZip} +{$OrgPhone} +{$OrgEmail} + +{$Summary} + +', + 'Registration Submitted for {$EventName}', + 'The following people were just registered for {$EventName}... + +{foreach $EventAttendees as $a}{$a.AttendeeFirstName} {$a.AttendeeLastName} +{/foreach} +', + 'Registration Request Submitted', + 'Thank you for submitting your event registration request. + +Below is a summary of your submission. Please contact us if you have any questions regarding this request. + +{$summary}', + 'Your Registration for: {$EventName}', + 'You have been registered for {$EventName} by {$SubmittedByFirstName} {$SubmittedByLastName}. + +Please let us know if you have any questions regarding your registration for this event. +', + 'Registration Request Updated', + 'THIS MESSAGE TYPE IS NOT YET FUNCTIONAL + +The status of your registration request submitted on {$DateTimeSubmitted} has been updated to "{$Status}". + +Below is a copy of the request at the time it was submitted. + +{$Summary}', + 'Your payment status for the event you are attending has been updated', + 'TTHIS MESSAGE TYPE IS NOT YET FUNCTIONAL' + ); diff --git a/setup/databaseScripts/dbVersions.php b/setup/databaseScripts/dbVersions.php index 29311ad..f0706e0 100755 --- a/setup/databaseScripts/dbVersions.php +++ b/setup/databaseScripts/dbVersions.php @@ -47,7 +47,8 @@ $glmMembersRegistrationsDbVersions = array( '0.0.31' => array('version' => '0.0.31', 'tables' => 18, 'date' => '05/15/2018'), '0.0.32' => array('version' => '0.0.32', 'tables' => 18, 'date' => '05/22/2018'), '1.0.0' => array('version' => '1.0.0', 'tables' => 18, 'date' => '06/04/2018'), - '1.0.1' => array('version' => '1.0.1', 'tables' => 18, 'date' => '06/12/2018') + '1.0.1' => array('version' => '1.0.1', 'tables' => 18, 'date' => '06/12/2018'), + '1.0.2' => array('version' => '1.0.2', 'tables' => 18, 'date' => '10/08/2018') ); diff --git a/setup/databaseScripts/drop_database_V1.0.1.sql b/setup/databaseScripts/drop_database_V1.0.1.sql deleted file mode 100755 index 2ac0fe3..0000000 --- a/setup/databaseScripts/drop_database_V1.0.1.sql +++ /dev/null @@ -1,26 +0,0 @@ --- Gaslight Media Members Database --- File Created: 12/09/14 15:27:15 --- Database Version: 0.0.19 --- Database Deletion Script --- Note: Tables with DELETE CASCADE must appear before referenced table - -DROP TABLE IF EXISTS - {prefix}management, - {prefix}settings_terms, - {prefix}misc, - {prefix}payment_code, - {prefix}reg_event, - {prefix}reg_time, - {prefix}reg_time_pending, - {prefix}reg_class, - {prefix}reg_rate, - {prefix}reg_notification, - {prefix}account, - {prefix}reg_request, - {prefix}reg_request_event, - {prefix}reg_request_class, - {prefix}reg_request_rate, - {prefix}reg_request_registrant, - {prefix}reg_request_pay_code -; - diff --git a/setup/databaseScripts/drop_database_V1.0.2.sql b/setup/databaseScripts/drop_database_V1.0.2.sql new file mode 100755 index 0000000..2ac0fe3 --- /dev/null +++ b/setup/databaseScripts/drop_database_V1.0.2.sql @@ -0,0 +1,26 @@ +-- Gaslight Media Members Database +-- File Created: 12/09/14 15:27:15 +-- Database Version: 0.0.19 +-- Database Deletion Script +-- Note: Tables with DELETE CASCADE must appear before referenced table + +DROP TABLE IF EXISTS + {prefix}management, + {prefix}settings_terms, + {prefix}misc, + {prefix}payment_code, + {prefix}reg_event, + {prefix}reg_time, + {prefix}reg_time_pending, + {prefix}reg_class, + {prefix}reg_rate, + {prefix}reg_notification, + {prefix}account, + {prefix}reg_request, + {prefix}reg_request_event, + {prefix}reg_request_class, + {prefix}reg_request_rate, + {prefix}reg_request_registrant, + {prefix}reg_request_pay_code +; + diff --git a/setup/databaseScripts/update_database_V1.0.2.sql b/setup/databaseScripts/update_database_V1.0.2.sql new file mode 100755 index 0000000..0975ef3 --- /dev/null +++ b/setup/databaseScripts/update_database_V1.0.2.sql @@ -0,0 +1,13 @@ +-- Gaslight Media Members Database - Registratiuons Add-On +-- File Updated: 2018-10-08 +-- Database Version: 1.0.2 +-- Database Update From Previous Version Script +-- +-- To permit each query below to be executed separately, +-- all queries must be separated by a line with four dashes + +ALTER TABLE {prefix}reg_class ADD COLUMN sort_order INTEGER DEFAULT 999; + +---- + +UPDATE {prefix}reg_class SET sort_order = 999;