Online event registration system coupled with an administration section and PayPal IPN integration
MUST be written in PHP and MUST utilize a MySQL database with register-globals OFF
MUST run on Unix systems
## Deliverables
**_EVENT REGISTRATION (END-USER CAPABILITIES)_**
1. User will enter their email address OR an e-code
<!-- -->
1. If the user entered an e-code, the script should verify the code entered against a table containing all users who have an e-code assigned to them
<!-- -->
1. If a match is found, remove that e-code from the db so that noone else can use that code, and allow the user to verify/update all of their contact information
<!-- -->
1. If the e-code is valid, but there is no contact information for that user, allow the user to enter their contact information
<!-- -->
1. If there is no e-code match, or if the user entered their email address, the script should verify that email exists in the users table. If an email match is found, allow the user to verify/update their contact information
<!-- -->
1. If there is still no match, present the user with a form to submit all of their contact information
<!-- -->
1. Once the user has entered all of their information, allow them to verify/confirm it for accuracy
<!-- -->
1. Upon verification, the user will then select the event for which they wish to register for
<!-- -->
1. Next, the script should calculate how old the user will be on the first day of the event they selected based on that users birthdate in their profile
<!-- -->
1. If the user will be 15 years old or younger, show them the disclaimer for ages 15 and under
<!-- -->
1. If they will be 16 years old, show the user the disclaimer for age 16
<!-- -->
1. If the user will be 17 or older, show them the disclaimer for age 17 and above
<!-- -->
1. One the user has been given time to read and agree to the disclaimer, they will then be able to select their participation level
<!-- -->
1. Ages 15 and younger will ONLY be allowed to select BYOC only
<!-- -->
1. Ages 16 and up will be able to select whether they wish to only BYOC or if they wish to be in any tournaments ??" there may be multiple tournaments for an individual event
<!-- -->
1. If the user (16 or older) selects to participate in a tournament, they will be given the option to either join an already existing team for each particular tournament OR create a new team for each particular tournament OR if they selected more than one tournament, they can select an existing team for tournament 1 and create a new team for tournament 2
<!-- -->
1. Once they have selected their tournament participation level, they should connect to PayPal through the use of the PayPal IPN and pay their registration fee
<!-- -->
1. After their payment has been made, PayPal should email the event administrator with that persons event registration payment confirmation, and should email the user an html ticket via email with their attendee id number on it, enter all of the attendee information into the relevant db tables, AND return the user to a seating chart page where they will select one of the empty (green) seats
<!-- -->
1. The user should be able to click on each of the sold (red) seats in order to see the user profile information for whoever has purchased those seats
<!-- -->
1. Upon the user selecting a seat, the script should verify that their payment has been made through PayPal and then should turn the seat which they selected from green to red so that it becomes sold
## Platform
OS: Unix
Web Server: Apache
Program: PHP 4.3.2+
Database: MySQL