\&login_page, 'Continue to Register' => \®ister_page, 'Continue' => \®ister_page ); $Current_Screen = param(".State") || "Default"; die "No screen for $Current_Screen" unless $States{$Current_Screen}; !> #include ./2018annualheader.iphtml 'center'},'Online Registration Form'); print h3({-align=>'center'},em('REQUIRED FIELDS ARE MARKED WITH AN ASTERISK (*)')); while (my($screen_name, $function) = each %States) { $function->($screen_name eq $Current_Screen); } !> Step 1 of 3

Current or past $society members, enter your email address below. Non-members, enter your email address and proceed to the registration form.


In the event that ASIA must cancel or postpone this event, all registration fees will be fully refunded.
ASIA education hosts reserve the right to cancel or postpone the event due to unforeseen circumstances.

EOF ; print <

PRINTABLE REGISTRATION FORM

If you do not want to use this online registration form, you may use the printable registration form to register.

EOF } sub register_page { my $active = shift; my $reg_email = param('loginemail'); my $orderID = ''; my $member_no = ''; my $member = 0; my $balance = 0; my $registered = 0; my $application = 0; my $renewal = 0; my $auto_renew = 0; my $registered_type = ''; my $elem = 0; my $msg = ''; my $error_msg = ''; my @reg_fields = (); my $registrant_in_db = 0; return unless $active; if (!param('loginemail')) { print p({-style=>'color: #F00'},strong('Error - Email Address is required!')); print p(''); return; } $orderID=sprintf("%02d%02d%02d%02d%02d%02d%03d",$year % 100, $mon+1,$mday,$hour,$min,$sec,sprintf("%02d", rand(1000))) if !param('id'); $sth = $main::dbh->prepare(qq{ SELECT t1.lname, t1.fname, t1.title, mail_address2, mail_address3, mail_city, mail_state, mail_zip, mail_country, phone, email, otherAssocID, fax, t1.member_id, member, NickName, balance_due, t1.title, CONCAT_WS(' ',t1.fname,t1.m_initial,t1.lname,t1.title), regtype_id,email2,auto_renewal,group_id FROM member t1 LEFT JOIN registrants t2 ON t1.member_id=t2.member_id AND meeting_no=? AND workshop_no=0 WHERE email LIKE ? OR email2 LIKE ? LIMIT 1}) || $main::dbh->errstr; $sth->execute($meeting_number, $reg_email, $reg_email) || $main::dbh->errstr; @reg_fields = $sth->fetchrow; $sth->finish(); foreach $elem (@reg_fields) { $elem = encode_entities($elem); } $registrant_in_db = 1 if @reg_fields; $member = $reg_fields[14]; $member_no = $reg_fields[13]; $balance = 1 if $reg_fields[16] > 0; $registered_type = $reg_fields[19] if $reg_fields[19]; if ($reg_fields[21] || $reg_fields[22]) { $auto_renew = 1; } $sth = $main::dbh->prepare(qq{ SELECT 1 FROM registrants WHERE cancelled IS NULL AND workshop_no=0 AND meeting_no = ? AND member_id = ? LIMIT 1}) || $main::dbh->errstr; $sth->execute($meeting_number, $member_no) || $main::dbh->errstr; @fields = $sth->fetchrow; $sth->finish(); $registered = 1 if $fields[0]; if ($registrant_in_db) { # $msg .= "Welcome back $reg_fields[18]! If this is not you, please register with a different email address.

"; } SWITCH: { if (scalar @reg_fields == 0) { $msg .= "The email address provided was not found in our system. If you know you have been a member or have attended an $society meeting in the past and used this email address, please contact the $society office. Join $society now by completing the membership application and save on your registration fees by registering at the member rate."; last SWITCH; } if ($registered) { $msg .= 'You are already registered for this meeting; continue if you want to add additional activities.'; last SWITCH; } if (!$member && $balance) { $msg .= 'Renew your '.$society.' membership and register at the member rate.'; last SWITCH; } if (!$auto_renew && ($member && $balance)) { $msg .= 'Our records show you having an outstanding balance for your membership dues.'; last SWITCH; } if ($reg_fields[14] == 0) { $msg .= 'Join '.$society.' now by completing the membership application and save on your registration fees by registering at the member rate.'; last SWITCH; } } ################## # Sold Out Items # ################## my @sold_out_numbers; if ($get_database_soldout) { $sth = $main::dbh->prepare("SELECT workshop_no FROM meeting WHERE meeting_no = $meeting_number AND workshop_no > 0 AND total_registered >= capacity"); $sth->execute(); undef(@fields); while (@fields = $sth->fetchrow_array()) { push @sold_out_numbers, $fields[0]; } $sth->finish(); } else { @sold_out_numbers = qw(); # put WSNumbers of sold out workshops here } ##################### # Registration Types# ##################### my @reg_types; my $i = 0; my $cursor2; my $SQL = ''; # @reg_types = (["T", "Testing", [1.5,1],[["SUB1", "Sub-Type 1"],["SUB2", "Sub-Type 2"]]]); # For Testing # Note -- Due to really poor planning if the reg_type does not have a sub_type but has a footnote you have to do this # @reg_types = (["T", "Testing", [1.5,1]); # For Testing # $reg_types[1][4] =1; $SQL = "SELECT regtype_id,reg_type,regfee,earlyfee,typeDesc,access,groupID,latefee FROM reg_type WHERE status='Enabled' AND meeting_no=?"; if ($auto_renew || ($member && !$balance)) { $SQL .= " AND access='Members'"; } $SQL .= " ORDER BY groupID, displayOrder"; $cursor2 = $main::dbh->prepare(qq{ $SQL }); $cursor2->execute($meeting_number); while (my @db_fields = $cursor2->fetchrow) { $reg_types[$i][0] = $db_fields[0]; $reg_types[$i][1] = $db_fields[1]; $reg_types[$i][2][0] = $db_fields[2]; $reg_types[$i][2][1] = $db_fields[3]; $reg_types[$i][2][3] = $db_fields[7]; $reg_types[$i][5] = $db_fields[4]; $reg_types[$i][6] = $db_fields[5]; $reg_types[$i][7] = $db_fields[6]; $i++; } $cursor2->finish; ##################### # Footnotes # ##################### # $reg_types[1][4]=[2]; # $reg_types[2][4]=[2,3]; # $reg_types[3][4]=[1]; # $reg_types[4][4]=[2]; # Formatting for @reg_types is (["Type1_Name_Written_to_File", "Type1_Description", [Type1_Late_Cost, Type1_Early_Cost], [["Sub_Type1_Name_Written_to_File", "Sub_Type1_Description"]], "Footnote_Number"],["Type2_Name_Written_to_File", "Type2_Description", [Type2_Late_Cost, Type2_Early_Cost]]) # i.e. (["Member","Society Member", [200, 100]],["NonMember", "Non-Member", [250, 200]]) # you can also do it this way if you like lots of lines and [] # $reg_types[0][0] = "Type1_Name_Written_to_File"; # use ONEDAY for oneday reg # $reg_types[0][1] = "Type1_Description"; # $reg_types[0][2][0] = "Type1_Late_cost"; # $reg_types[0][2][1] = "Type1_Early_cost"; # $reg_types[0][3][0][0] = "Type1_SubField1_Written_to_File"; # $reg_types[0][3][0][1] = "Type1_SubField1_Description"; # $reg_types[0][3][1][0] = "Type1_SubField2_Written_to_File"; # $reg_types[0][3][1][1] = "Type1_SubField2_Description"; # $reg_types[0][4] = ["Footnote Number"]; This is an arry in case there is more than one footnote ######################## # Accompanying Persons # ######################## my @extras; my @fields2; my $sth2 = $main::dbh->prepare(qq{ SELECT FORMAT(late_fee,0), FORMAT(early_fee,0), register_acct, name, workshop_no, DATE_FORMAT(start_date, '%Y%m%d'), TIME_FORMAT(start_time, '%H%i'),CONCAT_WS(' - ',TIME_FORMAT(start_time,'%l:%i'),TIME_FORMAT(end_time,'%l:%i %p')) FROM meeting WHERE eventTypeID=9 AND meeting_no=? LIMIT 1 }); $sth2->execute($meeting_number); while (@fields2 = $sth2->fetchrow_array()) { $extras[0] = "$fields2[0]"; $extras[1] = "$fields2[1]"; $extras[2] = "$fields2[2]"; $extras[3] = "$fields2[3]"; $extras[4] = "$fields2[4]"; } $sth2->finish(); my @extras2; # =(0,0, 40305); my @mondaynightreception; # = (0,0, 40305); my @kidsmondaynightreception; # = (30,20, 40305); # format @extras=(late_reg_price, early_reg_price, accountnumber) ######################## # Reception # ######################## my @extras3; my @extras4; my @extras5; my @extras6; my @extras7; my @extras8; my @extras9; my @extras10; my @extras11; my @extras12; my @extras13; my @extras14; my @extras15; my @fields2; my $sth2 = $main::dbh->prepare(qq{ SELECT FORMAT(late_fee,0), FORMAT(early_fee,0), register_acct, name, workshop_no, DATE_FORMAT(start_date, '%Y%m%d'), TIME_FORMAT(start_time, '%H%i'),CONCAT_WS(' - ',TIME_FORMAT(start_time,'%l:%i'),TIME_FORMAT(end_time,'%l:%i %p')),location FROM meeting WHERE eventTypeID=13 AND meeting_no=? LIMIT 2 }); $sth2->execute($meeting_number); my $i = 1; while (@fields2 = $sth2->fetchrow_array()) { if ($i == 1) { $extras11[0] = "$fields2[0]"; $extras11[1] = "$fields2[1]"; $extras11[2] = "$fields2[2]"; $extras11[3] = "$fields2[3]"; $extras11[4] = "$fields2[4]"; $extras11[5] = "$fields2[5]"; $extras11[6] = "$fields2[6]"; $extras11[7] = "$fields2[7]"; $extras11[8] = "$fields2[8]"; $extras11[9] = "$fields2[9]"; } if ($i == 2) { $extras12[0] = "$fields2[0]"; $extras12[1] = "$fields2[1]"; $extras12[2] = "$fields2[2]"; $extras12[3] = "$fields2[3]"; $extras12[4] = "$fields2[4]"; $extras12[5] = "$fields2[5]"; $extras12[6] = "$fields2[6]"; $extras12[7] = "$fields2[7]"; $extras12[8] = "$fields2[8]"; $extras12[9] = "$fields2[9]"; } $i++; } $sth2->finish(); undef @fields2; $sth2 = $main::dbh->prepare(qq{ SELECT FORMAT(late_fee,0), FORMAT(early_fee,0), register_acct, name, workshop_no, DATE_FORMAT(start_date, '%Y%m%d'), TIME_FORMAT(start_time, '%H%i'),CONCAT_WS(' - ',TIME_FORMAT(start_time,'%l:%i'),TIME_FORMAT(end_time,'%l:%i %p')) FROM meeting WHERE eventTypeID=11 AND meeting_no=? LIMIT 6 }); $sth2->execute($meeting_number); my $i = 1; while (@fields2 = $sth2->fetchrow_array()) { if ($i == 1) { $extras3[0] = "$fields2[0]"; $extras3[1] = "$fields2[1]"; $extras3[2] = "$fields2[2]"; $extras3[3] = "$fields2[3]"; $extras3[4] = "$fields2[4]"; } if ($i == 2) { $extras4[0] = "$fields2[0]"; $extras4[1] = "$fields2[1]"; $extras4[2] = "$fields2[2]"; $extras4[3] = "$fields2[3]"; $extras4[4] = "$fields2[4]"; } if ($i == 3) { $extras5[0] = "$fields2[0]"; $extras5[1] = "$fields2[1]"; $extras5[2] = "$fields2[2]"; $extras5[3] = "$fields2[3]"; $extras5[4] = "$fields2[4]"; } if ($i == 4) { $extras6[0] = "$fields2[0]"; $extras6[1] = "$fields2[1]"; $extras6[2] = "$fields2[2]"; $extras6[3] = "$fields2[3]"; $extras6[4] = "$fields2[4]"; } if ($i == 5) { $extras7[0] = "$fields2[0]"; $extras7[1] = "$fields2[1]"; $extras7[2] = "$fields2[2]"; $extras7[3] = "$fields2[3]"; $extras7[4] = "$fields2[4]"; } if ($i == 6) { $extras8[0] = "$fields2[0]"; $extras8[1] = "$fields2[1]"; $extras8[2] = "$fields2[2]"; $extras8[3] = "$fields2[3]"; $extras8[4] = "$fields2[4]"; } if ($i == 7) { $extras13[0] = "$fields2[0]"; $extras13[1] = "$fields2[1]"; $extras13[2] = "$fields2[2]"; $extras13[3] = "$fields2[3]"; $extras13[4] = "$fields2[4]"; } if ($i == 8) { $extras14[0] = "$fields2[0]"; $extras14[1] = "$fields2[1]"; $extras14[2] = "$fields2[2]"; $extras14[3] = "$fields2[3]"; $extras14[4] = "$fields2[4]"; } if ($i == 9) { $extras15[0] = "$fields2[0]"; $extras15[1] = "$fields2[1]"; $extras15[2] = "$fields2[2]"; $extras15[3] = "$fields2[3]"; $extras15[4] = "$fields2[4]"; } $i++; } $sth2->finish(); undef @fields2; $sth2 = $main::dbh->prepare(qq{ SELECT FORMAT(late_fee,0), FORMAT(early_fee,0), register_acct, name, workshop_no, DATE_FORMAT(start_date, '%Y%m%d'), TIME_FORMAT(start_time, '%H%i'),CONCAT_WS(' - ',TIME_FORMAT(start_time,'%l:%i'),TIME_FORMAT(end_time,'%l:%i %p')) FROM meeting WHERE eventTypeID=12 AND meeting_no=? LIMIT 2 }); $sth2->execute($meeting_number); my $i = 1; while (@fields2 = $sth2->fetchrow_array()) { if ($i == 1) { $extras9[0] = "$fields2[0]"; $extras9[1] = "$fields2[1]"; $extras9[2] = "$fields2[2]"; $extras9[3] = "$fields2[3]"; $extras9[4] = "$fields2[4]"; } if ($i == 2) { $extras10[0] = "$fields2[0]"; $extras10[1] = "$fields2[1]"; $extras10[2] = "$fields2[2]"; $extras10[3] = "$fields2[3]"; $extras10[4] = "$fields2[4]"; } $i++; } $sth2->finish(); undef @fields2; $sth2 = $main::dbh->prepare(qq{ SELECT FORMAT(late_fee,0), FORMAT(early_fee,0), register_acct, name, workshop_no, DATE_FORMAT(start_date, '%Y%m%d'), TIME_FORMAT(start_time, '%H%i'),CONCAT_WS(' - ',TIME_FORMAT(start_time,'%l:%i'),TIME_FORMAT(end_time,'%l:%i %p')) FROM meeting WHERE eventTypeID=14 AND meeting_no=? LIMIT 3 }); $sth2->execute($meeting_number); my $i = 1; while (@fields2 = $sth2->fetchrow_array()) { if ($i == 1) { $extras13[0] = "$fields2[0]"; $extras13[1] = "$fields2[1]"; $extras13[2] = "$fields2[2]"; $extras13[3] = "$fields2[3]"; $extras13[4] = "$fields2[4]"; } if ($i == 2) { $extras14[0] = "$fields2[0]"; $extras14[1] = "$fields2[1]"; $extras14[2] = "$fields2[2]"; $extras14[3] = "$fields2[3]"; $extras14[4] = "$fields2[4]"; } if ($i == 3) { $extras15[0] = "$fields2[0]"; $extras15[1] = "$fields2[1]"; $extras15[2] = "$fields2[2]"; $extras15[3] = "$fields2[3]"; $extras15[4] = "$fields2[4]"; } $i++; } $sth2->finish(); ################# # Workshops etc # ################# my @workshops; my @fields2; my $icounter = 0; my $sth2 = $main::dbh->prepare(qq{ SELECT workshop_no, name, FORMAT(late_fee,0), FORMAT(early_fee,0), DATE_FORMAT(start_date, '%Y%m%d'), TIME_FORMAT(start_time, '%H%i'),register_acct,CONCAT_WS(' - ',TIME_FORMAT(start_time,'%l:%i'),TIME_FORMAT(end_time,'%l:%i %p')),notes FROM meeting WHERE eventTypeID=1 AND meeting_no=? ORDER BY workshop_no }); $sth2->execute($meeting_number); while (@fields2 = $sth2->fetchrow_array()) { $workshops[$icounter][0] = $fields2[0]; $workshops[$icounter][1] = "$fields2[1] " . "(".$fields2[7].")"; $workshops[$icounter][2][0] = "$fields2[2]"; $workshops[$icounter][2][0] =~ s/,//g; $workshops[$icounter][2][1] = "$fields2[3]"; $workshops[$icounter][2][1] =~ s/,//g; $workshops[$icounter][3] = $fields2[4] . $fields2[5]; $workshops[$icounter][4] = $fields2[6]; $workshops[$icounter][5] = $fields2[8]; $icounter++; } $sth2->finish(); ######## # PBLs # ######## my @pbls = (); my @fields2; my $icounter = 0; my $sth2 = $main::dbh->prepare(qq{ SELECT workshop_no, CONCAT_WS(' - ',name,speaker), IF(late_fee,FORMAT(late_fee,0),0), IF(early_fee,FORMAT(early_fee,0),0), DATE_FORMAT(start_date, '%Y%m%d'), TIME_FORMAT(start_time, '%H%i'),register_acct FROM meeting WHERE eventTypeID=2 AND meeting_no=? ORDER BY workshop_no }); $sth2->execute($meeting_number); while (@fields2 = $sth2->fetchrow_array()) { $pbls[$icounter][0] = "$fields2[0]"; $pbls[$icounter][1] = $fields2[1]; $pbls[$icounter][2][0] = "$fields2[2]"; $pbls[$icounter][2][1] = "$fields2[3]"; $pbls[$icounter][3] = $fields2[4] . $fields2[5]; $pbls[$icounter][4] = $fields2[6]; $icounter++; } $sth2->finish(); ## Format is the same as workshops ####################### # Intensive Workshops # ####################### my @intensive_ws; #@intensive_ws=(["65", "Pediatric Pain Medicine Special Interest Group", [250, 250], "201103311000", "23006"]); # # @intensive_ws = (["1" , "Upper Extremity", [250, 200], "200204250800","40301"], ["2" , "Upper Extremity", [250, 200], "200204251300","40301"], ["3" , "Lower Extremity", [250, 200], "200204250800","40301"], ["4" , "Lower Extremity", [250, 200], "200204251300","40301"]); # # ## Format is the same as workshops ################## # Master Classes # ################## my @master_classes; # # @master_classes = (["23" , "Complications of Regional Anesthesia and Closed claim Cases", [65, 50], "200204261400","40303"], ["24" , "Making Upper Extremity Blocks Work in a Busy Clinical Practice", [65, 50], "200204261600","40303"], ["53" , "Imaging techniques for Chronic Pain Evaluation and Management", [65, 50], "200204270800","40303"], ["54" , "How to Appy Continuous Catheter Techniques for Orthopaedic Pain Management", [65, 50], "200204271000","40303"], ["55" , "Complimentary and Alternative Medical Therapies for Pain", [65, 50], "200204271400","40303"], ["56" , "New Drugs and Novel Techniques for Regional Anesthesia", [65, 50], "200204271600","40303"]); # # @master_classes = (["200", "WSNumber=200", [15, 3], "200204261400", "123"], # ["201", "WSNumber=201", [15, 2], "200204261400", "123"]); ## Format is the same as workshops #################### # Reception Guests # #################### my @guest_cost; #$guest_cost[1]="68"; #Reception guest cost -- Early reg #$guest_cost[0]="78"; #Reception guest cost -- Late reg my $gitem="33"; #WS number for reception (see Daniel) my $gaccount="40305"; # Account number for extra reception guests (see Gail) my $reception="Saturday BBQ"; # Text should read something like "I plan to attend the SPA Reception/Buffet at the Museum of Art" my $reception_guest; #="I plan to bring a guest "; ## This Really should be Intergrated with the Dinner Below ####################################################### # Dinner (different rates for each registration type) # ####################################################### my @receptions; if (!$member || $balance) { @receptions = (["1", "Precourse", { "92" => [250,200], "98" => [100,75], "107" => [100,75], "109" => [100,75], "102" => [250,200], "99" => [100,75], "108" => [100,75], "110" => [100,75], "115" => [250,200], "105" => [250,200], "106" => [100,75], "120" => [250,200], "122" => [100,75], "121" => [250,200], "123" => [100,75] }, "201805010800", "40309"], ); } else { @receptions = (["1", "Precourse", { "92" => [250,200], "98" => [100,75], "107" => [100,75], "109" => [100,75], "105" => [250,200], "106" => [100,75], "120" => [250,200], "122" => [100,75] }, "201804260800", "40309"], ); } # $receptions[0][0] # WS Number # $receptions[0][1] # Dinner Title # $receptions[0][2]{Reg_Type}[0]; # late fee # $receptions[0][2]{Reg_type}[1]; # early fee # $receptions[0][3] # YYYYMMDDhhmm Start Time # $receptions[0][4] # Account Number # $receptions[0][5] # Guests Not Yet Implemented ####################################################### # Dinner (different rates for each registration type) # ####################################################### my @receptions2; # if (!$member || $balance) # { # @receptions2 = # (["2", "Pre-Course 2: Urology", # { # "54" => [250,200], # "66" => [250,200], # "81" => [250,200], # "74" => [100,75], # "72" => [100,75], # "80" => [100,75], # "75" => [100,75], # "73" => [100,75], # "63" => [100,75], # "82" => [100,75] # }, "201804260800", "40309"], # ); # } # else # { # @receptions2 = # (["2", "Pre-Course 2: Urology", # { # "54" => [250,200], # "81" => [250,200], # "74" => [100,75], # "72" => [100,75], # "80" => [100,75], # "82" => [100,75] # }, "201804260800", "40309"], # ); # } ####################################################### # Dinner (different rates for each registration type) # ####################################################### my @receptions3; # if (!$member || $balance) # { # @receptions3 = # (["5", "Spine Symposium", # { # "1" => [0,0], # "21" => [0,0], # "22" => [0,0], # "23" => [0,0], # "24" => [0,0], # "3" => [0,0], # "4" => [0,0], # "5" => [0,0], # "2" => [0,0], # "8" => [0,0], # "9" => [0,0], # "10" => [0,0], # "7" => [200,150], # "6" => [200,150], # "12" => [200,150], # "11" => [200,150], # "13" => [0,0], # "16" => [0,0], # "14" => [0,0], # "15" => [200,150] # }, "201604160800", "40303"], # ); # } # else # { # @receptions3 = # (["5", "Spine Symposium", # { # "1" => [0,0], # "21" => [0,0], # "23" => [0,0], # "3" => [0,0], # "4" => [0,0], # "5" => [0,0], # "7" => [200,150], # "6" => [200,150], # "13" => [0,0], # "14" => [0,0], # "15" => [200,150] # }, "201604160800", "40303"], # ); # } ################# # Research Fund # ################# my $research_fund; # = $society . " Educational/Research Fund Donation (The $society is a 501(c) 3 organization and your donations are tax deductible as allowed by law. All voluntary contributions will be acknowledged.)" ; # Text for the research fund my @research; # = ("40230", "0", "0"); ############################# # Receptions, Dinners, etc. # ############################# my @bbq; #@bbq = (["33" , "Saturday BBQ", [78, 68], "200403060000", "24500"], ["34" , "Saturday Special Children's BBQ", [20, 15], "200403070100", "24500"] ); # like Workshops, but make sure times (which are not displayed on form) are different such as to make each entry unique - this does affect display ordering ################# # Custom Fields # ################# #This doen't work...didn't have time to do custom fields. ################### # Misc. Variables # ################### my %category; # %category=("C", "Cardiologist", "S", "Surgeon", "NA", "Neither"); # use O for Other (Other will be put into cat_other field) my @footnotes; # $footnotes[1]="Must have written verification from department chair."; # $footnotes[2]="You MUST complete the above membership application to select this registration category."; # $footnotes[3]="Accepted AA students may attend at the student member rate, in addition to joining AAAA at the time of registration. Student dues are \$100 for the entire term of matriculation at the AA program in which the student is enrolled."; #$footnotes[4]="Pre-registration of Workshops/Evening Sessions is available to $society members only. If space is available, sessions will be opened to non-members on site."; ################################### # Field List, and Required Fields # ################################### my %required_fields=( "ssl_email", "Meeting Confirmation Email Address", "reg_type", "Registration Type", "Nickname", "First Name/Nickname for Badge" ); ## Required Fields ############################# # Main Script -- Don't Edit # ############################# my %sold_out; foreach (@sold_out_numbers) { $sold_out{$_} = "1"; } my $cgi = new CGI; my $i =0; my $providercourseonly = 0; if ($cgi->param('reg_type') eq "105" || $cgi->param('reg_type') eq "106") { $providercourseonly = 1; } my $late_day=substr($late_reg_date, 6, 2); my $late_month=substr($late_reg_date, 4, 2)-1; my $late_year=substr($late_reg_date, 0, 4)-1900; my $cutoff_time = timelocal(59,59,23,$late_day,$late_month,$late_year); my $current_time = time; my $reduced_rate = 0; my $state = ""; if ($providercourseonly && !$cgi->param('dinner201805010800')) { $reqmissing .= "
  • You must select the Precourse
  • "; } if ($cgi->param('dinner201804260800') && $cgi->param('dinner2201804260800')) { $reqmissing .= "
  • You may select only one Pre-Course
  • "; } if (!$registrant_in_db) { $required_fields{"ssl_first_name"} = "First Name", $required_fields{"ssl_last_name"} = "Last Name", $required_fields{"ssl_ship_to_address1"} = "Address 1", $required_fields{"ssl_ship_to_city"} = "City", $required_fields{"ssl_ship_to_state"} = "State/Province", $required_fields{"email"} = "Primary Email Address", $required_fields{"ssl_phone"} = "Office Phone" } if (($cgi->param('reg_type') == 115 && !$cgi->param('extras')) || ($cgi->param('reg_type') == 115 && !$cgi->param('dinner201805010800'))) { } else { $required_fields{"ssl_card_number"} = "Credit Card Number", $required_fields{"exp_month"} = "Expiration Date: Month", $required_fields{"exp_year"} = "Expiration Date: Year", $required_fields{"ssl_cvv2cvc2"} = "Security Code", $required_fields{"ssl_avs_address"} = "Card Billing Address", $required_fields{"ssl_avs_zip"} = "Card Billing Zip Code" } if ($cgi->param('compFellowship') eq "Yes") { $required_fields{"fellowshipYear"} = "Year Fellowship Completed", $required_fields{"fellowshipLoc"} = "Fellowship Location", $required_fields{"fellowshipCity"} = "Fellowship City", $required_fields{"fellowshipState"} = "Fellowship State", $required_fields{"fellowshipSpec"} = "Specialty" } if ($cgi->param('WS201305031130A')) { $required_fields{"preference1"} = "Indicate your preference for Shoulder or Knee Lab", $required_fields{"preference2"} = "Indicate your preference of Beach Chair or Lateral Decubitus", } if ((uc($cgi->param('ssl_ship_to_country')) =~ /UNITED STATES/) || (uc($cgi->param('ssl_ship_to_country')) =~ /U\.S\./) || (uc($cgi->param('ssl_ship_to_country')) =~ /US/) || (uc($cgi->param('ssl_ship_to_country')) =~ /USA/)) { $state = $cgi->param('ssl_ship_to_state'); } elsif (uc($cgi->param('ssl_ship_to_state')) ne "INTERNATIONAL") { $state = $cgi->param('ssl_ship_to_state'); } if ($cutoff_time >= $current_time) { $reduced_rate=1; } my $early_bird = 0; my $early_bird_cutoff_time; if ($early_bird_date > 0) { my $late_day=substr($early_bird_date, 6, 2); my $late_month=substr($early_bird_date, 4, 2)-1; my $late_year=substr($early_bird_date, 0, 4)-1900; $early_bird_cutoff_time = timelocal(0,0,0,$late_day,$late_month,$late_year); } if ($early_bird_cutoff_time > $ current_time) { $early_bird=1; } if ($cgi->param('.State') eq "Continue") { my $day = sprintf "%02.0f", $mday; my $date = $month . "/" . $day . "/" . $year; my $orderID=sprintf("%02d%02d%02d%02d%02d%02d%03d",$year % 100, $mon+1,$mday,$hour,$min,$sec,sprintf("%02d", rand(1000))); my $missing = ''; my $sender = $society . " Registration Request CGI "; # my $recipient = "regforms\@societyhq.com"; my $recipient = "matt\@societyhq.com"; my $subject = $society . " " . $form . " - " . $cgi->param('ssl_last_name') . ", ". $cgi->param('ssl_first_name'); my $buffer = 0; my $cost = 0; my $regcost=0; my $j=0; my $counter = 1; my $tab=0; my $card_type = ''; my $card_type_no = substr($main::cgi->param('ssl_card_number'), -4); my $key = ""; my @text; my $subcat=$cgi->param('reg_type') . "reg_type_sub"; my @reg_types_sub=$cgi->param($subcat); # FOR NON-MEMBER TRYING 2 REG FOR MEM WORKSHOPS if (($cgi->param('WS201104030800A') eq "5" || $cgi->param('WS201104041200A') eq "6") && (!$cgi->param('applyingfor'))) { $required_fields{'ws3represent'} = "You have selected a workshop(s) that have member registration fees: You MUST select Non-Member workshops or join the society by completing the membership application."; } if ((%category) && (!$cgi->param('category'))) { $required_fields{'category'} = "Category"; } foreach (keys %required_fields) { if (!$cgi->param($_)) { $missing .= "
  • $required_fields{$_} is required
  • \n"; } } if ($missing) { print p({-style=>'color: #F00'},strong('Error - Required information was not provided on the submitted form. Please use the back button and correct the following:')); print "\n"; print p(''); return; } if (!$auto_renew && ($member && $balance) || (!$member)) { my $cursor2 = $main::dbh->prepare(qq{ SELECT 1 FROM reg_type WHERE meeting_no=? AND regtype_id=? AND access='Members' LIMIT 1 }); $cursor2->execute($meeting_number, $cgi->param('reg_type')); my $rv = $cursor2->fetchrow; $cursor2->finish(); if (($rv) && (!$cgi->param('applyingfor') || !$cgi->param('member_option'))) { if (!$member && !$balance) { $required_fields{"applyingfor"} = "You have selected an $society Member Registration Category. You must complete the membership application: Category Applying For" if $show_mbr_appl; } else { $required_fields{"member_option"} = "You have selected an $society Member Registration Category. You must complete the membership renewal notice: Renewal Notice Section" if $show_renewal_appl; } } } if ((!$member) && ($cgi->param('applyingfor'))) { $required_fields{"month"} = "Date of Birth: Month"; $required_fields{"day"} = "Date of Birth: Day"; $required_fields{"year"} = "Date of Birth: Year"; $required_fields{"hospital"} = "Affiliation"; $required_fields{"specialty"} = "Specialty"; } if ($cgi->param('applyingfor') eq "4" || $cgi->param('applyingfor') eq "5" || $cgi->param('applyingfor') eq "6" || $cgi->param('applyingfor') eq "7") { $required_fields{"tinst"} = "Trainee Institution"; $required_fields{"tlocation"} = "Trainee Location"; $required_fields{"gradmonth"} = "Residency/Graduation Date: Month"; $required_fields{"gradyear"} = "Residency/Graduation Date: Year"; } $missing .= $reqmissing; my @code_info = (); if ($cgi->param('code')) { $cursor = $main::dbh->prepare(qq{ SELECT 1, COUNT(userID), maxUsage,IF(CURDATE() > expire,0,1) FROM promo_code t1 LEFT JOIN promo_code_users t2 ON t2.promoID=t1.promoID WHERE status=1 AND promoCode=? GROUP BY promoCode LIMIT 1 }) || $main::dbh->errstr; $cursor->execute($cgi->param('code')); @code_info = $cursor->fetchrow_array(); if ((!$code_info[0]) || (!$code_info[3])) { $missing .= "
  • The voucher code you provided is invalid or has expired. Please try again.
  • \n"; } elsif ($code_info[1] >= $code_info[2]) { $missing .= "
  • The voucher code you provided has been used the maximum amount of times.
  • \n"; } } foreach (keys %required_fields) { if (!$cgi->param($_)) { $missing .= "
  • $required_fields{$_} is required
  • \n"; } if ($_ eq "reg_type") { for ($i=0; defined($reg_types[$i]); $i++) { # if (($reg_types[$i][0] eq $cgi->param('reg_type')) && (defined($reg_types[$i][3]))) { # if ((%category) && (!$cgi->param('category'))) { # $missing .= "
  • Category
  • \n"; # } # } } } } if ($cgi->param('fund')) { if (!($cgi->param('fund') =~ /^[0-9]*$/)) { $missing .= "
  • Education Research Fund amount contains non-numeric characters
  • \n"; } } if ($cgi->param('extras')) { if (!($cgi->param('extras') =~ /^[0-9]*$/)) { $missing .= "
  • Number of guest(s)/attendant(s) contains non-numeric characters
  • \n"; } } if ($cgi->param('extras2')) { if (!($cgi->param('extras2') =~ /^[0-9]*$/)) { $missing .= "
  • Number of guest contains non-numeric characters
  • \n"; } } if ($cgi->param('kidsmondaynightreception')) { if (!($cgi->param('kidsmondaynightreception') =~ /^[0-9]*$/)) { $missing .= "
  • Number of guest contains non-numeric characters
  • \n"; } } if (($cgi->param('month')) || ($cgi->param('day')) || ($cgi->param('year'))) { if (!($cgi->param('month') =~ /^[0-9]*$/)) { $missing .= "
  • Date of Birth: Month contains non-numeric characters
  • \n"; } if (!($cgi->param('day') =~ /^[0-9]*$/)) { $missing .= "
  • Date of Birth: Day contains non-numeric characters
  • \n"; } if (!($cgi->param('year') =~ /^[0-9]*$/)) { $missing .= "
  • Date of Birth: Year contains non-numeric characters
  • \n"; } } if (($cgi->param('gradmonth')) || ($cgi->param('gradyear'))) { if (!($cgi->param('gradmonth') =~ /^[0-9]*$/)) { $missing .= "
  • Residency/Graduation Date: Month contains non-numeric characters
  • \n"; } if (!($cgi->param('gradyear') =~ /^[0-9]*$/)) { $missing .= "
  • Residency/Graduation Date: Year contains non-numeric characters
  • \n"; } } if (($cgi->param('adultguests')) || ($cgi->param('childguests'))) { if (!($cgi->param('adultguests') =~ /^[0-9]*$/)) { $missing .= "
  • Adult guests field contains non-numeric characters
  • \n"; } if (!($cgi->param('childguests') =~ /^[0-9]*$/)) { $missing .= "
  • Child guests field contains non-numeric characters
  • \n"; } } if ($missing) { print p({-style=>'color: #F00'},strong('Error - Required information was not provided on the submitted form. Please use the back button and correct the following:')); print "\n"; print p(''); } else { if (substr($main::cgi->param('ssl_card_number'),0,1) eq "3") { $card_type = "Amex"; } elsif (substr($main::cgi->param('ssl_card_number'),0,1) eq "4") { $card_type = "Visa"; } elsif (substr($main::cgi->param('ssl_card_number'),0,1) eq "5") { $card_type = "MC"; } else { $card_type = "Discover"; } my $checkNumber = "$card_type ***$card_type_no"; print '
    '; $reginfo_buffer2 = ''; $buffer = "\nREGISTRATION\n" . $society . " " . $meeting . "\n\n"; $buffer .= "OrderID: " . $orderID ."\n\n"; $sth = $main::dbh->prepare(qq{ SELECT t1.lname, t1.fname, t1.title, t1.mail_address2, t1.mail_address3, t1.mail_city, t1.mail_state, t1.mail_zip, t1.mail_country, t1.phone, t1.email, otherAssocID, fax, t1.member_id, member, NickName, balance_due, t1.title, CONCAT_WS(' ',t1.fname,t1.m_initial,t1.lname,t1.title), regtype_id, t1.email2 FROM member t1 LEFT JOIN registrants t2 ON t1.member_id=t2.member_id AND meeting_no=? AND workshop_no=0 WHERE email LIKE ? OR email2 LIKE ? LIMIT 1 }) || $main::dbh->errstr; $sth->execute($meeting_number, $reg_email, $reg_email) || $main::dbh->errstr; @reg_fields = $sth->fetchrow; $sth->finish(); foreach $elem (@reg_fields) { $elem = encode_entities($elem); } if (!$registrant_in_db) { $buffer .= "First Name: " . $cgi->param('ssl_first_name'); $buffer .= "\nLast Name: " . $cgi->param('ssl_last_name'); $buffer .= "\nTitle: " . $cgi->param('title'); $buffer .= "\nAddress1: " . $cgi->param('ssl_ship_to_address1'); $buffer .= "\nAddress2: " . $cgi->param('ssl_ship_to_address2'); $buffer .= "\nCity, State, Zip: " . $cgi->param('ssl_ship_to_city') . ", " . $cgi->param('ssl_ship_to_state') . " " . $cgi->param('ssl_ship_to_zip'); $buffer .= "\nCountry: " . $cgi->param('ssl_ship_to_country'); $buffer .= "\nOffice Phone: " . $cgi->param('ssl_phone'); $buffer .= "\nFax: " . $cgi->param('fax'); $buffer .= "\nE-mail: " . $cgi->param('email'); $buffer .= "\nABA Number: " . $cgi->param('AOANumber') if $cgi->param('AOANumber'); } else { $buffer .= "\nIf any of the information below is incorrect, please do one of the following to provide your updated information:\n"; # $buffer .= "\n - Update your profile: http://www2.pedsedation.org/sections/members/mbr_profile.iphtml" if $reg_fields[14]; $buffer .= "\n - Reply to this email with your updated information"; $buffer .= "\n - Call Cynthia Bolden at (804) 565-6396 with your updated information\n\n"; $buffer .= "$reg_fields[18]"; $buffer .= "\n" . $reg_fields[4] if $reg_fields[4]; $buffer .= "\n" . $reg_fields[3] if $reg_fields[3]; $buffer .= "\n" . $reg_fields[5] . ", " . $reg_fields[6] . " " . $reg_fields[7]; $buffer .= "\n" . $reg_fields[8] if $reg_fields[8]; $buffer .= "\n\nOffice Phone: " . $reg_fields[9]; $buffer .= "\nFax: " . $reg_fields[12]; $buffer .= "\nPrimary Email: " . $reg_fields[10]; $buffer .= "\nSecondary Email: " . $reg_fields[20] if $reg_fields[20]; # $buffer .= "\nABA Number: " . $reg_fields[11]; } $buffer .= "\nConfirmation Email: " . $cgi->param('ssl_email'); if ($cgi->param('category')) { $buffer .= "\nCategory: " . $cgi->param('category'); if ($cgi->param('category') eq "O") { $buffer .= " -- " . $cgi->param('cat_other'); } } $buffer .= "\nGuest(s)/Attendant(s) Name(s): " . $cgi->param('accomp') if $cgi->param('accomp') && !$providercourseonly; $buffer .= "\nDietary Restrictions? " . $cgi->param('dietary') if $cgi->param('dietary') && !$providercourseonly; $buffer .= "\n\nFirst Name/Nickname for Badge: " . $cgi->param('Nickname'); # $buffer .= "\n\nAre you staying at the convention hotel? " . $cgi->param('hotel'); # if ($cgi->param('hotel') eq "No") { # $buffer .= "\nReason for not staying at hotel: " . $cgi->param('nostay'); # } if ($cgi->param('ADA')) { $buffer .= "\n\nADA accommodation is needed: Yes"; $buffer .= "\nSpecification: " . $cgi->param('ADASpecification'); } else { # $buffer .= "\n\nADA accommodation is needed: No"; } if ($cgi->param('preference1')) { $buffer .= "\n\nPreference for Shoulder or Knee Lab: " . $cgi->param('preference1'); } if ($cgi->param('preference2')) { $buffer .= "\nPreference of Beach Chair or Lateral Decubitus: " . $cgi->param('preference2') . "\n"; } $buffer .="\n\nRegistered as:\n"; if (!$registered) { for ($i=0; defined($reg_types[$i]); $i++) { my $regprice = $reg_types[$i][2][$reduced_rate]; if ($cgi->param('reg_type') eq $reg_types[$i][0]) { if ($cgi->param('code')) { $cursor = $main::dbh->prepare(qq{ SELECT discountType,IF(discountType='Percent',discountAmt/100,discountAmt) FROM promo_code WHERE status=1 AND promoCode=? LIMIT 1 }) || $main::dbh->errstr; $cursor->execute($cgi->param('code')); my @code_info = $cursor->fetchrow(); if ($code_info[0] eq "Percent") { $regprice = $regprice - ($regprice * $code_info[1]); $discount_amt = ($reg_types[$i][2][$reduced_rate] * $code_info[1]); } else { $regprice = $regprice - $code_info[1]; $discount_amt = $code_info[1]; } if ($cgi->param('code') =~ m/2YL2JIX/i) { @receptions = (["1", "Precourse", { $reg_types[$i][0] => [0,0] }, "201805010800", "40309"], ); } } $buffer .= " " . $reg_types[$i][1]; $tab=length($reg_types[$i][1]); my $subtype_count=0; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= ''; $reginfo_buffer2 .= '\n"; } else { $buffer .=" \$"; $buffer .= sprintf "%.2f", $regprice; # $buffer .= $reg_types[$i][2][$reduced_rate]; $reginfo_buffer2 .= ""; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= ''; $reginfo_buffer2 .= '\n"; # $reginfo_buffer2 .= '\n"; # $reginfo_buffer2 .= ''; # $reginfo_buffer2 .= '\n"; $cost = $cost + $regprice; $regcost=$regprice; # $cost = $cost + $reg_types[$i][2][$reduced_rate]; # $regcost=$reg_types[$i][2][$reduced_rate]; } } } #end first if $complete } my $extra11_total = $extras11[$reduced_rate] * $cgi->param('extras11'); $cost = $cost + $extra11_total; my $extras11_total = $cgi->param('extras11'); if ($cgi->param('extras11') && !$providercourseonly) { $buffer .= "\n\nI will attend the $extras11[3]"; $buffer .= "\t\t\t\t \$"; $buffer .= $extras11[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; for (my $i=0; $i < $extras11_total; $i++) { my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$extras11[4],0,$cgi->param('reg_type'),$member_no,$extras11[2],$meetingshort.' '.$extras11[3],$extras11[$reduced_rate],$checkNumber) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $extras11[3] - mbr#: $member_no ".$rv if $rv < 1; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"$extras11[4]"; $text[2] .= "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras11[2] . "\",\""; $text[2] .= $extras11[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $extra12_total = $extras12[$reduced_rate] * $cgi->param('extras12'); $cost = $cost + $extra12_total; my $extras12_total = $cgi->param('extras12'); if ($cgi->param('extras12') && !$providercourseonly) { $buffer .= "\n\nI will attend the $extras12[3]"; $buffer .= "\t\t\t\t \$"; $buffer .= $extras12[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; for (my $i=0; $i < $extras12_total; $i++) { my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$extras12[4],0,$cgi->param('reg_type'),$member_no,$extras12[2],$meetingshort.' '.$extras12[3],$extras12[$reduced_rate],$checkNumber) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $extras12[3] - mbr#: $member_no ".$rv if $rv < 1; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"$extras12[4]"; $text[2] .= "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras12[2] . "\",\""; $text[2] .= $extras12[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $extra13_total = $extras13[$reduced_rate] * $cgi->param('extras13'); $cost = $cost + $extra13_total; my $extras13_total = $cgi->param('extras13'); if ($cgi->param('extras13') && !$providercourseonly) { $buffer .= "\n\nI will attend the $extras13[3]"; $buffer .= "\t\t\t\t \$"; $buffer .= $extras13[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; for (my $i=0; $i < $extras13_total; $i++) { my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$extras13[4],0,$cgi->param('reg_type'),$member_no,$extras13[2],$meetingshort.' '.$extras13[3],$extras13[$reduced_rate],$checkNumber) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $extras13[3] - mbr#: $member_no ".$rv if $rv < 1; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"$extras13[4]"; $text[2] .= "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras13[2] . "\",\""; $text[2] .= $extras13[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $extra14_total = $extras14[$reduced_rate] * $cgi->param('extras14'); $cost = $cost + $extra14_total; my $extras14_total = $cgi->param('extras14'); if ($cgi->param('extras14') && !$providercourseonly) { $buffer .= "\n\nI will attend the $extras14[3]"; $buffer .= "\t\t\t\t \$"; $buffer .= $extras14[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; for (my $i=0; $i < $extras14_total; $i++) { my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$extras14[4],0,$cgi->param('reg_type'),$member_no,$extras14[2],$meetingshort.' '.$extras14[3],$extras14[$reduced_rate],$checkNumber) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $extras14[3] - mbr#: $member_no ".$rv if $rv < 1; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"$extras14[4]"; $text[2] .= "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras14[2] . "\",\""; $text[2] .= $extras14[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $extra15_total = $extras15[$reduced_rate] * $cgi->param('extras15'); $cost = $cost + $extra15_total; my $extras15_total = $cgi->param('extras15'); if ($cgi->param('extras15') && !$providercourseonly) { $buffer .= "\n\nI will attend the $extras15[3]"; $buffer .= "\t\t\t\t \$"; $buffer .= $extras15[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; for (my $i=0; $i < $extras15_total; $i++) { my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$extras15[4],0,$cgi->param('reg_type'),$member_no,$extras15[2],$meetingshort.' '.$extras15[3],$extras15[$reduced_rate],$checkNumber) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $extras15[3] - mbr#: $member_no ".$rv if $rv < 1; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"$extras15[4]"; $text[2] .= "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras15[2] . "\",\""; $text[2] .= $extras15[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $extra3_total = $extras3[$reduced_rate] * $cgi->param('extras3'); $cost = $cost + $extra3_total; my $extras3_total = $cgi->param('extras3'); if ($cgi->param('extras3') && !$providercourseonly) { $buffer .= "\n\nI will attend the $extras3[3]"; $buffer .= "\t\t\t\t \$"; $buffer .= $extras3[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; for (my $i=0; $i < $extras3_total; $i++) { my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$extras3[4],0,$cgi->param('reg_type'),$member_no,$extras3[2],$meetingshort.' '.$extras3[3],$extras3[$reduced_rate],$checkNumber) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $extras3[3] - mbr#: $member_no ".$rv if $rv < 1; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"$extras3[4]"; $text[2] .= "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras3[2] . "\",\""; $text[2] .= $extras3[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $extra4_total = $extras4[$reduced_rate] * $cgi->param('extras4'); $cost = $cost + $extra4_total; my $extras4_total = $cgi->param('extras4'); if ($cgi->param('extras4') && !$providercourseonly) { $buffer .= "\n\nI will attend the $extras4[3]"; $buffer .= "\t\t\t\t \$"; $buffer .= $extras4[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; for (my $i=0; $i < $extras4_total; $i++) { my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$extras4[4],0,$cgi->param('reg_type'),$member_no,$extras4[2],$meetingshort.' '.$extras4[3],$extras4[$reduced_rate],$checkNumber) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $extras4[3] - mbr#: $member_no ".$rv if $rv < 1; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"$extras4[4]"; $text[2] .= "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras4[2] . "\",\""; $text[2] .= $extras4[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $extra5_total = $extras5[$reduced_rate] * $cgi->param('extras5'); $cost = $cost + $extra5_total; my $extras5_total = $cgi->param('extras5'); if ($cgi->param('extras5') && !$providercourseonly) { $buffer .= "\n\nI will attend the $extras5[3]"; $buffer .= "\t\t\t\t \$"; $buffer .= $extras5[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; for (my $i=0; $i < $extras5_total; $i++) { my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$extras5[4],0,$cgi->param('reg_type'),$member_no,$extras5[2],$meetingshort.' '.$extras5[3],$extras5[$reduced_rate],$checkNumber) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $extras5[3] - mbr#: $member_no ".$rv if $rv < 1; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"$extras5[4]"; $text[2] .= "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras5[2] . "\",\""; $text[2] .= $extras5[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $extra6_total = $extras6[$reduced_rate] * $cgi->param('extras6'); $cost = $cost + $extra6_total; my $extras6_total = $cgi->param('extras6'); if ($cgi->param('extras6') && !$providercourseonly) { $buffer .= "\n\nI will attend the $extras6[3]"; $buffer .= "\t\t\t\t \$"; $buffer .= $extras6[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; for (my $i=0; $i < $extras6_total; $i++) { my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$extras6[4],0,$cgi->param('reg_type'),$member_no,$extras6[2],$meetingshort.' '.$extras6[3],$extras6[$reduced_rate],$checkNumber) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $extras6[3] - mbr#: $member_no ".$rv if $rv < 1; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"$extras6[4]"; $text[2] .= "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras6[2] . "\",\""; $text[2] .= $extras6[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $extra7_total = $extras7[$reduced_rate] * $cgi->param('extras7'); $cost = $cost + $extra7_total; my $extras7_total = $cgi->param('extras7'); if ($cgi->param('extras7') && !$providercourseonly) { $buffer .= "\n\nI will attend the $extras7[3]"; $buffer .= "\t\t\t\t \$"; $buffer .= $extras7[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; for (my $i=0; $i < $extras7_total; $i++) { my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$extras7[4],0,$cgi->param('reg_type'),$member_no,$extras7[2],$meetingshort.' '.$extras7[3],$extras7[$reduced_rate],$checkNumber) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $extras7[3] - mbr#: $member_no ".$rv if $rv < 1; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"$extras7[4]"; $text[2] .= "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras7[2] . "\",\""; $text[2] .= $extras7[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $extra8_total = $extras8[$reduced_rate] * $cgi->param('extras8'); $cost = $cost + $extra8_total; my $extras8_total = $cgi->param('extras8'); if ($cgi->param('extras8') && !$providercourseonly) { $buffer .= "\n\nI will attend the $extras8[3]"; $buffer .= "\t\t\t\t \$"; $buffer .= $extras8[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; for (my $i=0; $i < $extras8_total; $i++) { my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$extras8[4],0,$cgi->param('reg_type'),$member_no,$extras8[2],$meetingshort.' '.$extras8[3],$extras8[$reduced_rate],$checkNumber) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $extras8[3] - mbr#: $member_no ".$rv if $rv < 1; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"$extras8[4]"; $text[2] .= "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras8[2] . "\",\""; $text[2] .= $extras8[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $extra9_total = $extras9[$reduced_rate] * $cgi->param('extras9'); $cost = $cost + $extra9_total if !$providercourseonly; my $extras9_total = $cgi->param('extras9'); if ($cgi->param('extras9') && !$providercourseonly) { $buffer .= "\n:I will attend the $extras9[3]" . $cgi->param('extras9') . " \@ \$" . $extras9[$reduced_rate] . "/person:\t\t\t\t\t \$" . $extra9_total . "\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= ''; $reginfo_buffer2 .= '\n"; for (my $i=0; $i < $extras9_total; $i++) { $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"3"; $text[2] .= "\",\"0\",\""; my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$extras9[4],0,$cgi->param('reg_type'),$member_no,$extras9[2],$meetingshort.' '.$extras9[3],$extras9[$reduced_rate],$checkNumber,) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $extras9[3] - mbr#: $member_no ".$rv if $rv < 1; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras9[2] . "\",\""; $text[2] .= $extras9[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $extra10_total = $extras10[$reduced_rate] * $cgi->param('extras10'); $cost = $cost + $extra10_total if !$providercourseonly; my $extras10_total = $cgi->param('extras10'); if ($cgi->param('extras10') && !$providercourseonly) { $buffer .= "\n:I will attend the $extras10[3]" . $cgi->param('extras10') . " \@ \$" . $extras10[$reduced_rate] . "/person:\t\t\t\t\t \$" . $extra10_total . "\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= ''; $reginfo_buffer2 .= '\n"; for (my $i=0; $i < $extras10_total; $i++) { $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"3"; $text[2] .= "\",\"0\",\""; my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$extras10[4],0,$cgi->param('reg_type'),$member_no,$extras10[2],$meetingshort.' '.$extras10[3],$extras10[$reduced_rate],$checkNumber,) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $extras10[3] - mbr#: $member_no ".$rv if $rv < 1; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras10[2] . "\",\""; $text[2] .= $extras10[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $extra_total = $extras[$reduced_rate] * $cgi->param('extras'); $cost = $cost + $extra_total if !$providercourseonly; my $extras_total = $cgi->param('extras'); if ($cgi->param('extras') && !$providercourseonly) { $buffer .= "\nGuest(s)/Attendant(s): " . $cgi->param('extras') . " \@ \$" . $extras[$reduced_rate] . "/person:\t\t\t\t\t \$" . $extra_total . "\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= ''; $reginfo_buffer2 .= '\n"; for (my $i=0; $i < $extras_total; $i++) { $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"3"; $text[2] .= "\",\"0\",\""; my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$extras[4],0,$cgi->param('reg_type'),$member_no,$extras[2],$meetingshort.' '.$extras[3],$extras[$reduced_rate],$checkNumber,) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $extras[3] - mbr#: $member_no ".$rv if $rv < 1; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras[2] . "\",\""; $text[2] .= $extras[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $extra2_total = $extras2[$reduced_rate] * $cgi->param('extras2'); $cost = $cost + $extra2_total; my $extras2_total = $cgi->param('extras2'); if ($cgi->param('extras2') && !$providercourseonly) { $buffer .= "\nWelcome Reception: " . $cgi->param('extras2') . " Children Guest(s) \@ \$" . $extras2[$reduced_rate] . "/person:\t\t\t\t \$" . $extra2_total . "\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; for (my $i=0; $i < $extras2_total; $i++) { $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"2"; $text[2] .= "\",\"0\",\""; if ($update_database) { $main::dbh->do(qq{LOCK TABLES meeting WRITE}); $main::dbh->do(qq{UPDATE meeting set total_registered = total_registered + 1 WHERE meeting_no = "$meeting_number" AND workshop_no = 2 AND breakout_no = 0}); $main::dbh->do(qq{UNLOCK TABLES}); } $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $extras2[2] . "\",\""; $text[2] .= $extras2[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } my $mondaynightreceptioncost_total = $mondaynightreception[$reduced_rate] * $cgi->param('mondaynightreception'); $cost = $cost + $mondaynightreceptioncost_total; if ($cgi->param('mondaynightreception') && !$providercourseonly) { my $mondaynightreception_total = 1; $buffer .= "\n\nI DO NOT plan to attend the $society Banquet and would like to donate my ticket to a resident"; $buffer .= "\t\t\t \$"; $buffer .= $mondaynightreception[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; for (my $i=0; $i < $mondaynightreception_total; $i++) { $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"7"; $text[2] .= "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $mondaynightreception[2] . "\",\""; $text[2] .= $mondaynightreception[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; if ($update_database) { $main::dbh->do(qq{LOCK TABLES meeting WRITE}); $main::dbh->do(qq{UPDATE meeting set total_registered = total_registered + 1 WHERE meeting_no = "$meeting_number" AND workshop_no = 7 AND breakout_no = 0}); $main::dbh->do(qq{UNLOCK TABLES}); } } } my $kidsmondaynightreceptioncost_total = $kidsmondaynightreception[$reduced_rate] * $cgi->param('kidsmondaynightreception'); $cost = $cost + $kidsmondaynightreceptioncost_total; my $kidsmondaynightreception_total = $cgi->param('kidsmondaynightreception'); if ($cgi->param('kidsmondaynightreception') && !$providercourseonly) { $buffer .= "\nClosing Ceremony and Reception: " . $cgi->param('kidsmondaynightreception') . " Guest(s) \@ \$" . $kidsmondaynightreception[$reduced_rate] . "/person:\t\t\t \$" . $kidsmondaynightreceptioncost_total . "\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; for (my $i=0; $i < $kidsmondaynightreception_total; $i++) { $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"19"; $text[2] .= "\",\"0\",\""; if ($update_database) { $main::dbh->do(qq{LOCK TABLES meeting WRITE}); $main::dbh->do(qq{UPDATE meeting set total_registered = total_registered + 1 WHERE meeting_no = "$meeting_number" AND workshop_no = 19 AND breakout_no = 0}); $main::dbh->do(qq{UNLOCK TABLES}); } $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $kidsmondaynightreception[2] . "\",\""; $text[2] .= $kidsmondaynightreception[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } if ($cgi->param('vegetarian') && !$providercourseonly) { $buffer .= "\nDietary needs: ".$cgi->param('vegetarian')."\n"; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"5"; $text[2] .= "\",\"0\",\""; my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,description) VALUES (?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,3,0,$cgi->param('reg_type'),$member_no,$meetingshort.' - Special Dietary Needs') || $main::dbh->errstr(); $error_msg .= "
    Failed to add veg meal - mbr#: $member_no ".$rv if $rv < 1; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"\",\""; $text[2] .= "0\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } if ($cgi->param('kosher') && !$providercourseonly) { $buffer .= "\nI require kosher meals\n"; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"37"; $text[2] .= "\",\"0\",\""; if ($update_database) { $main::dbh->do(qq{LOCK TABLES meeting WRITE}); $main::dbh->do(qq{UPDATE meeting set total_registered = total_registered + 1 WHERE meeting_no = "$meeting_number" AND workshop_no = 37 AND breakout_no = 0}); $main::dbh->do(qq{UNLOCK TABLES}); } $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"\",\""; $text[2] .= "0\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } if (defined($workshops[0]) && !$providercourseonly) { # generate workshops for buffer and txt files $buffer .="\n\nWorkshops and Breakouts:\n"; $buffer .="\n"; my %u_dates; $u_dates{$_->[3]}++ for @workshops; my @wsdates=sort keys %u_dates; my $k=0; my $ws_count=0; for ($i=0; defined($wsdates[$i]); $i++) { if ($cgi->param("WS$wsdates[$i]A")) { for ($j=0; defined($workshops[$j]); $j++) { if ($cgi->param("WS$wsdates[$i]A") eq $workshops[$j][0]) { my $Wday=substr($workshops[$j][3], 6, 2); my $Wmonth=substr($workshops[$j][3],4,2); $Wmonth--; my $Wyear=substr($workshops[$j][3],0,4)-1900; my $Whour=substr($workshops[$j][3],8,2); my $Wmin=substr($workshops[$j][3],10,2); my $Wtime=timelocal(0,$Wmin,$Whour,$Wday,$Wmonth,$Wyear); my $Wdate = strftime("%B %d %Y -- %I:%M %p", (localtime($Wtime))); $buffer .= "\n\n$Wdate"; my $subbuffer = "\n -- " . $workshops[$j][1] . ":"; # my $subbuffer = $workshops[$j][1] . ":"; $buffer .= $subbuffer; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= ''; # HARD CODING WORKSHOP NAME BELOW # $reginfo_buffer2 .= "\n"; # $reginfo_buffer2 .= "\n"; # my $t_count=(floor((81 - length($workshops[$j][1]))/8+.5)-1); # my $t_count = 64 - length($workshops[$j][1]); my $t_count =72 - length($subbuffer); for (my $tabs = 1; $tabs<=$t_count; $tabs++) { # $buffer .= "\t"; $buffer .= " "; } $buffer .= " \$"; $buffer .= $workshops[$j][2][$reduced_rate]; # $buffer .= "\n My handicap: " . $cgi->param('handicap') . "\n"; # $buffer .= " Requested members of foursome:\n"; # $buffer .= " 1. " . $cgi->param('foursome1') . "\n"; # $buffer .= " 2. " . $cgi->param('foursome2') . "\n"; # $buffer .= " 3. " . $cgi->param('foursome3') . "\n"; $reginfo_buffer2 .= "\n"; my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$workshops[$j][0],0,$cgi->param('reg_type'),$member_no,$workshops[$j][4],$meetingshort.' '.substr($workshops[$j][1],0,20),$workshops[$j][2][$reduced_rate],$checkNumber,) || $main::dbh->errstr(); $cost=$cost+$workshops[$j][2][$reduced_rate]; $ws_count++; # $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\""; # $text[2] .=$workshops[$j][0] . "\",\"0\",\""; # HARD CODING WORKSHOP NUMBER BELOW $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\"2"; $text[2] .= "\",\"0\",\""; if ($update_database) { $main::dbh->do(qq{LOCK TABLES meeting WRITE}); # HARD CODING WORKSHOP NUMBER BELOW $main::dbh->do(qq{UPDATE meeting set total_registered = total_registered + 1 WHERE meeting_no = "$meeting_number" AND workshop_no = "3" AND breakout_no = 0}); # $main::dbh->do(qq{UPDATE meeting set total_registered = total_registered + 1 WHERE meeting_no = "$meeting_number" AND workshop_no = "$workshops[$j][0]" AND breakout_no = 0}); $main::dbh->do(qq{UNLOCK TABLES}); } $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $workshops[$j][4] . "\",\""; if (($ws_count==2) && ($early_bird)) { $text[2] .= "0" . "\",\""; $buffer .= "\n\t\t\t\t\t\t\tEARLYBIRD BONUS\t-\$" . $workshops[$j][2][$reduced_rate]; $cost=$cost-$workshops[$j][2][$reduced_rate]; } else { $text[2] .= $workshops[$j][2][$reduced_rate] . "\",\""; } $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; if (($ws_count==2) && ($early_bird)) { $text[2] .= "TOTALCOST" . "\",\""; } else { $text[2] .= "TOTALCOST" . "\",\""; } $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } if ($cgi->param("WS$wsdates[$i]B")) { for ($j=0; defined($workshops[$j]); $j++) { if ($cgi->param("WS$wsdates[$i]B") eq $workshops[$j][0]) { $buffer .= "\n\t (Second Choice: $workshops[$j][1])"; } } } if ($cgi->param("WS$wsdates[$i]C")) { for ($j=0; defined($workshops[$j]); $j++) { if ($cgi->param("WS$wsdates[$i]C") eq $workshops[$j][0]) { $buffer .= "\n\t (Third Choice: $workshops[$j][1])"; } } } } else { $k++; } } if ($k==$i) { $buffer .= "\tNo workshops or breakouts\n"; } } # end 2nd if complete if (defined($pbls[0]) && !$providercourseonly) { # generate PBLs for buffer and text files $buffer .= "\n\nPBLDs: \n"; my %u_dates; $u_dates{$_->[3]}++ for @pbls; my @pbldates=sort keys %u_dates; my $k=0; for ($i=0; defined($pbldates[$i]); $i++) { if ($cgi->param("PBL$pbldates[$i]A")) { for ($j=0; defined($pbls[$j]); $j++) { if ($cgi->param("PBL$pbldates[$i]A") eq $pbls[$j][0]) { my $Wday=substr($pbls[$j][3], 6, 2); my $Wmonth=substr($pbls[$j][3],4,2); $Wmonth--; my $Wyear=substr($pbls[$j][3],0,4)-1900; my $Whour=substr($pbls[$j][3],8,2); my $Wmin=substr($pbls[$j][3],10,2); my $Wtime=timelocal(0,$Wmin,$Whour,$Wday,$Wmonth,$Wyear); my $Wdate = strftime("%B %d %Y -- %I:%M %p", (localtime($Wtime))); $buffer .= "\n\n$Wdate"; my $subbuffer .= "\n -- " . substr($pbls[$j][1],0,50) . " ... " . ":"; $buffer .= $subbuffer; $reginfo_buffer2 .= "\n"; # my $t_count=(floor((81 - length($subbuffer))/8+.5)-1); my $t_count=72 - length($subbuffer); for (my $tabs = 1; $tabs<=$t_count; $tabs++) { $buffer .= " "; # $buffer .= "\t"; } $buffer .= "\t \$"; $buffer .= $pbls[$j][2][$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= "\n"; my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$pbls[$j][0],0,$cgi->param('reg_type'),$member_no,$pbls[$j][4],$meetingshort.' '.substr($pbls[$j][1],0,20),$pbls[$j][2][$reduced_rate],$checkNumber) || $main::dbh->errstr(); $cost=$cost+$pbls[$j][2][$reduced_rate]; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\""; $text[2] .= $pbls[$j][0] . "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $pbls[$j][4] . "\",\""; $text[2] .= $pbls[$j][2][$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST" . "\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } if ($cgi->param("PBL$pbldates[$i]B")) { for ($j=0; defined($pbls[$j]); $j++) { if ($cgi->param("PBL$pbldates[$i]B") eq $pbls[$j][0]) { $buffer .= "\n\t (Second Choice: PBLD -- " . substr($pbls[$j][1],0,25) ."...)"; } } } if ($cgi->param("PBL$pbldates[$i]C")) { for ($j=0; defined($pbls[$j]); $j++) { if ($cgi->param("PBL$pbldates[$i]C") eq $pbls[$j][0]) { $buffer .= "\n\t (Third Choice: PBLD -- " . substr($pbls[$j][1],0,25) ."...)"; } } } } else { $k++; } } if ($k==$i) { $buffer .= "\tNo pbls\n"; } } #end 3nd if $complete if (defined($intensive_ws[0]) && !$providercourseonly) { # generate intensive workshops for buffer and txt files $buffer .= "\n\nSpecial Interest Group - Pediatric Pain Medicine \n"; my %u_dates; $u_dates{$_->[3]}++ for @intensive_ws; my @wsdates=sort keys %u_dates; my $k=0; for ($i=0; defined($wsdates[$i]); $i++) { if ($cgi->param("IWS$wsdates[$i]A")) { for ($j=0; defined($intensive_ws[$j]); $j++) { if ($cgi->param("IWS$wsdates[$i]A") eq $intensive_ws[$j][0]) { my $Wday=substr($intensive_ws[$j][3], 6, 2); my $Wmonth=substr($intensive_ws[$j][3],4,2); $Wmonth--; my $Wyear=substr($intensive_ws[$j][3],0,4)-1900; my $Whour=substr($intensive_ws[$j][3],8,2); my $Wmin=substr($intensive_ws[$j][3],10,2); my $Wtime=timelocal(0,$Wmin,$Whour,$Wday,$Wmonth,$Wyear); my $Wdate = strftime("%B %d %Y -- %I:%M %p", (localtime($Wtime))); $buffer .= "\n\n$Wdate"; my $subbuffer .= "\n -- " . $intensive_ws[$j][1] . ":"; $buffer .= $subbuffer; # my $t_count=(floor((83 - length($intensive_ws[$j][1]))/8+.5)-1); my $t_count = 72 - length($subbuffer); for (my $tabs = 1; $tabs<=$t_count; $tabs++) { $buffer .= " "; # $buffer .= "\t"; } $buffer .= "\t \$"; $buffer .= $intensive_ws[$j][2][$reduced_rate]; $cost=$cost+$intensive_ws[$j][2][$reduced_rate]; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\""; $text[2] .=$intensive_ws[$j][0] . "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $intensive_ws[$j][4] . "\",\""; $text[2] .= $intensive_ws[$j][2][$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\",\""; $text[2] .= "TOTALCOST" . "\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } if ($cgi->param("IWS$wsdates[$i]B")) { for ($j=0; defined($intensive_ws[$j]); $j++) { if ($cgi->param("IWS$wsdates[$i]B") eq $intensive_ws[$j][0]) { $buffer .= "\n\t (Second Choice: $intensive_ws[$j][1])"; } } } if ($cgi->param("IWS$wsdates[$i]C")) { for ($j=0; defined($intensive_ws[$j]); $j++) { if ($cgi->param("IWS$wsdates[$i]C") eq $intensive_ws[$j][0]) { $buffer .= "\n\t (Third Choice: $intensive_ws[$j][1])"; } } } } else { $k++; } } if ($k==$i) { $buffer .= "\tNo PALS Course\n"; } } #end 4nd if $complete if (defined($master_classes[0]) && !$providercourseonly) { # generate Master Classes for buffer and txt files $buffer .= "\n\nMaster Classes: \n"; my %u_dates; $u_dates{$_->[3]}++ for @master_classes; my @wsdates=sort keys %u_dates; my $k=0; my $ws_count=0; for ($i=0; defined($wsdates[$i]); $i++) { if ($cgi->param("MC$wsdates[$i]A")) { for ($j=0; defined($master_classes[$j]); $j++) { if ($cgi->param("MC$wsdates[$i]A") eq $master_classes[$j][0]) { my $Wday=substr($master_classes[$j][3], 6, 2); my $Wmonth=substr($master_classes[$j][3],4,2); $Wmonth--; my $Wyear=substr($master_classes[$j][3],0,4)-1900; my $Whour=substr($master_classes[$j][3],8,2); my $Wmin=substr($master_classes[$j][3],10,2); my $Wtime=timelocal(0,$Wmin,$Whour,$Wday,$Wmonth,$Wyear); my $Wdate = strftime("%B %d %Y -- %I:%M %p", (localtime($Wtime))); $buffer .= "\n\n$Wdate"; my $subbuffer .= "\n -- " . substr($master_classes[$j][1],0,50) . "... :"; $buffer .= $subbuffer; # my $t_count=(floor((77 - length($master_classes[$j][0]) - length($master_classes[$j][1]))/8+.5)-1); my $t_count = 72 - length($subbuffer); for (my $tabs = 1; $tabs<=$t_count; $tabs++) { $buffer .= " "; # $buffer .= "\t"; } $buffer .= "\t \$"; $buffer .= $master_classes[$j][2][$reduced_rate]; $cost=$cost+$master_classes[$j][2][$reduced_rate]; $ws_count++; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\""; $text[2] .=$master_classes[$j][0] . "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $master_classes[$j][4] . "\",\""; $text[2] .= $master_classes[$j][2][$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); # if ($CyberCash) { # $text[2] .= "_C"; # } $text[2] .= "\",\""; $text[2] .= "TOTALCOST" . "\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } } else { $k++; } } if ($k==$i) { $buffer .= "\tNo Master Classes\n"; } } #end 5nd if $complete ### Begin Reception Guests # note proper tab spacing not yet implemented if (@guest_cost) { # 6th complete (for Reception Guests) my $gcost=0; if ($cgi->param('guests')==1 && !$providercourseonly) { $buffer .= "\n\t--Will attend Reception \n"; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\""; $text[2] .= $gitem . "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $gaccount . "\", \"" . $gcost . "\",\""; $text[2] .= $cgi->param('card_type'); # if ($CyberCash) { # $text[2] .= "_C"; # } $text[2] .= "\",\"" . $gcost . "\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; $gcost=$guest_cost[$reduced_rate]*$cgi->param('guests'); $cost=$cost+$gcost; $buffer .="Extra Reception Ticket (" . $cgi->param('guests') . "):\t\t\t\t\t\t \$" . $gcost . "\n"; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\""; $text[2] .= $gitem . "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $gaccount . "\", \"" . $gcost . "\",\""; $text[2] .= $cgi->param('card_type'); # if ($CyberCash) { # $text[2] .= "_C"; # } $text[2] .= "\",\"" . $gcost . "\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } else { if ($cgi->param('attend') eq "yes" && !$providercourseonly) { $gcost=0; $buffer .= "\n Will attend Reception \n"; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\""; $text[2] .= $gitem . "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $gaccount . "\", \"" . $gcost . "\",\""; $text[2] .= $cgi->param('card_type'); # if ($CyberCash) { # $text[2] .= "_C"; # } $text[2] .= "\",\"" . $gcost . "\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } } # end 6th complete ### End Reception Guest ### Begin Research Education Fund # Note proper tab spacing not yet implemented if (defined($research[0])) { # 7th complete for fund if ($cgi->param('fund')>0) { $cost=$cost+$cgi->param('fund'); $buffer .="\nEducation/Research Fund Donation:\t\t\t\t\t \$" . $cgi->param('fund') . "\n"; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= ''; $reginfo_buffer2 .= ''; $reginfo_buffer2 .= "\n"; my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$member_no,$research[0],'Education/Research Fund Donation',$cgi->param('fund'),$checkNumber,) || $main::dbh->errstr(); $error_msg .= "
    Failed to add donation - mbr#: $member_no ".$rv if $rv < 1; $text[2] .="\"" . $orderID . "\",\"" . $research[1] . "\",\""; $text[2] .= $research[2] . "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $research[0] . "\",\"" . $cgi->param('fund') . "\",\""; $text[2] .= $cgi->param('card_type'); # if ($CyberCash) { # $text[2] .= "_C"; # } $text[2] .= "\",\"" . "TOTALCOST" . "\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } # End 7th complete ### End Research Education Fund ### Dinners if (defined($receptions[0])) { # 8th complete for dinners my %u_dates; $u_dates{$_->[3]}++ for @receptions; my @wsdates=sort keys %u_dates; my $k=0; my $ws_count=0; for ($i=0; defined($wsdates[$i]); $i++) { # cycle through dates if ($cgi->param("dinner$wsdates[$i]")) { # Dinner check for ($j=0; defined($receptions[$j]); $j++) { if (1) { # if ($receptions[$j][2]{$cgi->param('reg_type')}[$reduced_rate]) { # skip section if cost is zero # $buffer .= "\n\nLab:"; # cycle through dinners if ($cgi->param("dinner$wsdates[$i]") eq $receptions[$j][0]) { # Selected Dinner matches my $Wday=substr($receptions[$j][3], 6, 2); my $Wmonth=substr($receptions[$j][3],4,2); $Wmonth--; my $Wyear=substr($receptions[$j][3],0,4)-1900; my $Whour=substr($receptions[$j][3],8,2); my $Wmin=substr($receptions[$j][3],10,2); my $Wtime=timelocal(0,$Wmin,$Whour,$Wday,$Wmonth,$Wyear); my $Wdate = strftime("%B %d %Y -- %I:%M %p", (localtime($Wtime))); $buffer .= "\n$Wdate"; my $subbuffer .= "\n -- " . substr($receptions[$j][1],0,50); if ($receptions[$j][1] ne substr($receptions[$j][1],0,50)) { $subbuffer .= "... :"; } else { $subbuffer .= ":"; } $buffer .= $subbuffer; # my $t_count=(floor((77 - length($receptions[$j][0]) - length($receptions[$j][1]))/8+.5)-1); my $t_count = 72 - length($subbuffer); for (my $tabs = 1; $tabs<=$t_count; $tabs++) { $buffer .= " "; # $buffer .= "\t"; } $buffer .= "\t \$"; $buffer .= $receptions[$j][2]{$cgi->param('reg_type')}[$reduced_rate]; $cost=$cost+$receptions[$j][2]{$cgi->param('reg_type')}[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= ''; $reginfo_buffer2 .= '\n"; my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$receptions[$j][0],0,$cgi->param('reg_type'),$member_no,$receptions[$j][4],$meetingshort.' - '.substr($receptions[$j][1],0,20),$receptions[$j][2]{$cgi->param('reg_type')}[$reduced_rate],$checkNumber,) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $receptions[$j][1] - mbr#: $member_no ".$rv if $rv < 1; $ws_count++; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\""; $text[2] .=$receptions[$j][0] . "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $receptions[$j][4] . "\",\""; $text[2] .= $receptions[$j][2]{$cgi->param('reg_type')}[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); # if ($CyberCash) { # $text[2] .= "_C"; # } $text[2] .= "\",\""; $text[2] .= "TOTALCOST" . "\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } } } else { $k++; } } }# end 8th complete ### Dinners if (defined($receptions2[0])) { # 8th complete for dinners my %u_dates; $u_dates{$_->[3]}++ for @receptions2; my @wsdates=sort keys %u_dates; my $k=0; my $ws_count=0; for ($i=0; defined($wsdates[$i]); $i++) { # cycle through dates if ($cgi->param("dinner2$wsdates[$i]")) { # Dinner check for ($j=0; defined($receptions2[$j]); $j++) { if (1) { # if ($receptions2[$j][2]{$cgi->param('reg_type')}[$reduced_rate]) { # skip section if cost is zero # $buffer .= "\n\nLab:"; # cycle through dinners if ($cgi->param("dinner2$wsdates[$i]") eq $receptions2[$j][0]) { # Selected Dinner matches my $Wday=substr($receptions2[$j][3], 6, 2); my $Wmonth=substr($receptions2[$j][3],4,2); $Wmonth--; my $Wyear=substr($receptions2[$j][3],0,4)-1900; my $Whour=substr($receptions2[$j][3],8,2); my $Wmin=substr($receptions2[$j][3],10,2); my $Wtime=timelocal(0,$Wmin,$Whour,$Wday,$Wmonth,$Wyear); my $Wdate = strftime("%B %d %Y -- %I:%M %p", (localtime($Wtime))); $buffer .= "\n$Wdate"; my $subbuffer .= "\n -- " . substr($receptions2[$j][1],0,50); if ($receptions2[$j][1] ne substr($receptions2[$j][1],0,50)) { $subbuffer .= "... :"; } else { $subbuffer .= ":"; } $buffer .= $subbuffer; # my $t_count=(floor((77 - length($receptions2[$j][0]) - length($receptions2[$j][1]))/8+.5)-1); my $t_count = 72 - length($subbuffer); for (my $tabs = 1; $tabs<=$t_count; $tabs++) { $buffer .= " "; # $buffer .= "\t"; } $buffer .= "\t \$"; $buffer .= $receptions2[$j][2]{$cgi->param('reg_type')}[$reduced_rate]; $cost=$cost+$receptions2[$j][2]{$cgi->param('reg_type')}[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= ''; $reginfo_buffer2 .= '\n"; my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$receptions2[$j][0],0,$cgi->param('reg_type'),$member_no,$receptions2[$j][4],$meetingshort.' - '.substr($receptions2[$j][1],0,20),$receptions2[$j][2]{$cgi->param('reg_type')}[$reduced_rate],$checkNumber,) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $receptions2[$j][1] - mbr#: $member_no ".$rv if $rv < 1; $ws_count++; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\""; $text[2] .=$receptions2[$j][0] . "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $receptions2[$j][4] . "\",\""; $text[2] .= $receptions2[$j][2]{$cgi->param('reg_type')}[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); # if ($CyberCash) { # $text[2] .= "_C"; # } $text[2] .= "\",\""; $text[2] .= "TOTALCOST" . "\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } } } else { $k++; } } }# end 8th complete ### Dinners if (defined($receptions3[0])) { # 8th complete for dinners my %u_dates; $u_dates{$_->[3]}++ for @receptions3; my @wsdates=sort keys %u_dates; my $k=0; my $ws_count=0; for ($i=0; defined($wsdates[$i]); $i++) { # cycle through dates if ($cgi->param("dinner3$wsdates[$i]")) { # Dinner check for ($j=0; defined($receptions3[$j]); $j++) { if (1) { # if ($receptions3[$j][2]{$cgi->param('reg_type')}[$reduced_rate]) { # skip section if cost is zero # $buffer .= "\n\nLab:"; # cycle through dinners if ($cgi->param("dinner3$wsdates[$i]") eq $receptions3[$j][0]) { # Selected Dinner matches my $Wday=substr($receptions3[$j][3], 6, 2); my $Wmonth=substr($receptions3[$j][3],4,2); $Wmonth--; my $Wyear=substr($receptions3[$j][3],0,4)-1900; my $Whour=substr($receptions3[$j][3],8,2); my $Wmin=substr($receptions3[$j][3],10,2); my $Wtime=timelocal(0,$Wmin,$Whour,$Wday,$Wmonth,$Wyear); my $Wdate = strftime("%B %d %Y -- %I:%M %p", (localtime($Wtime))); $buffer .= "\n$Wdate"; my $subbuffer .= "\n -- " . substr($receptions3[$j][1],0,50); if ($receptions3[$j][1] ne substr($receptions3[$j][1],0,50)) { $subbuffer .= "... :"; } else { $subbuffer .= ":"; } $buffer .= $subbuffer; # my $t_count=(floor((77 - length($receptions3[$j][0]) - length($receptions3[$j][1]))/8+.5)-1); my $t_count = 72 - length($subbuffer); for (my $tabs = 1; $tabs<=$t_count; $tabs++) { $buffer .= " "; # $buffer .= "\t"; } $buffer .= "\t \$"; $buffer .= $receptions3[$j][2]{$cgi->param('reg_type')}[$reduced_rate]; $cost=$cost+$receptions3[$j][2]{$cgi->param('reg_type')}[$reduced_rate]; $reginfo_buffer2 .= "\n"; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= ''; $reginfo_buffer2 .= '\n"; my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo) VALUES (?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,$receptions3[$j][0],0,$cgi->param('reg_type'),$member_no,$receptions3[$j][4],$meetingshort.' - '.substr($receptions3[$j][1],0,20),$receptions3[$j][2]{$cgi->param('reg_type')}[$reduced_rate],$checkNumber,) || $main::dbh->errstr(); $error_msg .= "
    Failed to add $receptions3[$j][1] - mbr#: $member_no ".$rv if $rv < 1; $ws_count++; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\""; $text[2] .=$receptions3[$j][0] . "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $receptions3[$j][4] . "\",\""; $text[2] .= $receptions3[$j][2]{$cgi->param('reg_type')}[$reduced_rate] . "\",\""; $text[2] .= $cgi->param('card_type'); # if ($CyberCash) { # $text[2] .= "_C"; # } $text[2] .= "\",\""; $text[2] .= "TOTALCOST" . "\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } } } } else { $k++; } } }# end 8th complete ### End Dinners my $guest_names = $cgi->param('guestnames'); if (($guest_names) && (($cgi->param('adultguests')>0) || ($cgi->param('childguests')>0))) { $buffer .="\nGuest names: " . $guest_names . "\n"; } ############################ # Calculate Membership Cost # ############################ if ($cgi->param('applyingfor')) { my $rv = ''; my @joinData = (); my $joinType = $cgi->param('applyingfor'); my $sth2 = $main::dbh->prepare(qq{ SELECT acctNumber,FORMAT(member_dues,0) FROM member_type WHERE membertype_id=? LIMIT 1 }); $sth2->execute($joinType); @joinData = $sth2->fetchrow(); $sth2->finish(); @acct_nums = ($joinData[0]); @acct_amts = ($joinData[1]); @acct_description = ("$newmbr_paydesc $descriptions{$joinType}"); $application = 1; $auto_renew = 1 if $main::cgi->param('auto_charge'); my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,account,description,cost,checkNo,autoRenew) VALUES (?,?,?,?,?,?) }) || $main::dbh->errstr(); for (my $i = 0; $i < scalar @acct_nums; ++$i) { $acct_amts[$i] =~ s/,//g; $cost += $acct_amts[$i]; $rv = $sth->execute($orderID."",$acct_nums[$i]."",$acct_description[$i]."",$acct_amts[$i]."",$checkNumber."",$auto_renew."") || $main::dbh->errstr(); $error_msg .= "
    Failed to add new member payment $acct_description[$i] : $member_no ".$rv if $rv < 1; $text[2] .= "\"" . $orderID . "\",\"0\",\"" . "0" . "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $acct_nums[$i] . "\"," . $acct_amts[$i] . ",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\"," . "TOTALCOST" . ",\""; $text[2] .= $society . "\",\""; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } $reginfo_buffer2 .= ''; my $number = $membership_cost{$cgi->param('applyingfor')}; $number =~ s/,//g; $number = sprintf "%.2f", $number; $number =~ s/(\d)(?=(\d{3})+(\D|$))/$1\,/g; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= ''; $reginfo_buffer2 .= '\n"; ########################## # Membership Information # ########################## $buffer .= "\n============================================================================="; $buffer .= "\nMEMBERSHIP INFORMATION\n"; $buffer .= "\nApplication for: " . $descriptions{$cgi->param('applyingfor')}."\t\t\t\$".$membership_cost{$cgi->param('applyingfor')}; $buffer .= "\n\nDate of Birth: " . $cgi->param('month') . "/" . $cgi->param('day') . "/" . $cgi->param('year'); $buffer .="\nAffiliation: " . $cgi->param('hospital'); $buffer .="\nSpecialty: " . $cgi->param('specialty'); $buffer .="\nTrainee Institution: " . $cgi->param('tinst') if $cgi->param('tinst'); $buffer .="\nTrainee Location: " . $cgi->param('tlocation') if $cgi->param('tlocation'); $buffer .="\nResidency/Graduation Date: " . $cgi->param('gradmonth') . "/" . $cgi->param('gradyear') if $cgi->param('gradmonth'); $buffer .= "\nGender: " . $cgi->param('gender'); # $buffer .= "\n\nIn order to complete your membership application, please visit http://asia-spinalinjury.org/membership/mem_app.php and complete this form."; } ############################ # Calculate Member Renewal # ############################ if ($cgi->param('member_option') && $cgi->param('member_option') ne "999") { my $rv = ''; my @renewalData = (); my $renewalType = $cgi->param('member_option'); my $sth2 = $main::dbh->prepare(qq{ SELECT acctNumber,FORMAT(member_dues,0) FROM member_type WHERE membertype_id=? LIMIT 1 }); $sth2->execute($renewalType); @renewalData = $sth2->fetchrow(); $sth2->finish(); @acct_nums = ($renewalData[0]); @acct_amts = ($renewalData[1]); @acct_description = ("$dues_paydesc $descriptions{$renewalType}"); $auto_renew = 1 if $main::cgi->param('auto_charge'); my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,incomeID,memberID,account,description,cost,checkNo,updateExp,reactivate,newItem,mbrRenewal,autoRenew) VALUES (?,?,?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr; for (my $i = 0; $i < scalar @acct_nums; ++$i) { $acct_amts[$i] =~ s/,//g; $cost += $acct_amts[$i]; $rv = $sth->execute($orderID."",$renewalType."",$member_no."",$acct_nums[$i]."",$acct_description[$i]."",$acct_amts[$i]."",$checkNumber."",1,1,0,1,$auto_renew."") || $main::dbh->errstr(); $error_msg .= "
    Failed to add renewal info: $member_no $fields[1] ".$rv if $rv < 1; } $buffer .= "\n============================================================================="; $buffer .= "\nMEMBERSHIP RENEWAL INFORMATION\n"; $buffer .= "\n$dues_paydesc " . $descriptions{$cgi->param('member_option')}." - \$". $membership_cost{$cgi->param('member_option')}; $reginfo_buffer2 .= ''; my $number = $membership_cost{$cgi->param('member_option')}; $number =~ s/,//g; $number = sprintf "%.2f", $number; $number =~ s/(\d)(?=(\d{3})+(\D|$))/$1\,/g; $reginfo_buffer2 .= '\n"; $reginfo_buffer2 .= ''; $reginfo_buffer2 .= '\n"; } # End Calculate Member Renwal # my $number = $cost; $number = sprintf "%.2f", $number; $number =~ s/(\d)(?=(\d{3})+(\D|$))/$1\,/g; $reginfo_buffer2 .= ''; $reginfo_buffer2 .= ''; $reginfo_buffer2 .= "
    DESCRIPTION UNIT PRICE QUANTITY TOTAL
    $reg_types[$i][1]"; if ($cgi->param('code')) { $reginfo_buffer2 .= " (Voucher Code Discount \$" . $discount_amt . ")"; } for ($j=0; defined($reg_types[$i][3][$j]); $j++) { foreach my $rts (@reg_types_sub) { if ($rts eq $reg_types[$i][3][$j][0]) { $buffer .= "(" . $reg_types[$i][3][$j][1] . ")"; $tab += length($reg_types[$i][3][$j][1]) +2; $subtype_count++; } } } # my $t_count=(floor((75-$tab)/8+.5)-1); my $t_count= 64-$tab; if ($cgi->param('reg_type') eq "ONEDAY") { # $t_count = $t_count-3; $t_count = $t_count - 18; } for (my $tabs=0; $tabs<$t_count; $tabs++) { # $buffer .= "\t"; $buffer .=" "; } ### Deal with ONEDAY costs here if ($cgi->param('reg_type') eq "ONEDAY") { $regcost=$subtype_count * $reg_types[$i][2][$reduced_rate]; $regcost =~ s/,//g; $regcost = sprintf "%.2f", $regcost; $cost = $cost + $regcost; $buffer .= "$subtype_count days \@ \$" . $reg_types[$i][2][$reduced_rate] . "/day= \$" . $regcost; $reginfo_buffer2 .= " $subtype_count days \@ \$" . $reg_types[$i][2][$reduced_rate] . "/day$'. $reg_types[$i][2][$reduced_rate] . "'.$subtype_count.'$'. $regcost . "
    $'. sprintf "%.2f", $regprice . "1$'. sprintf "%.2f", $regprice . "
    $'. $reg_types[$i][2][$reduced_rate] . "1$'. $reg_types[$i][2][$reduced_rate] . "
    $extras11[3]$'. sprintf "%.2f",$extras11[$reduced_rate] . "".$cgi->param('extras11')."\$".sprintf "%.2f",$extra11_total."
    $extras12[3]$'. sprintf "%.2f",$extras12[$reduced_rate] . "".$cgi->param('extras12')."\$".sprintf "%.2f",$extra12_total."
    $extras13[3]$'. sprintf "%.2f",$extras13[$reduced_rate] . "".$cgi->param('extras13')."\$".sprintf "%.2f",$extra13_total."
    $extras14[3]$'. sprintf "%.2f",$extras14[$reduced_rate] . "".$cgi->param('extras14')."\$".sprintf "%.2f",$extra14_total."
    $extras15[3]$'. sprintf "%.2f",$extras15[$reduced_rate] . "".$cgi->param('extras15')."\$".sprintf "%.2f",$extra15_total."
    $extras3[3]$'. sprintf "%.2f",$extras3[$reduced_rate] . "".$cgi->param('extras3')."\$".sprintf "%.2f",$extra3_total."
    $extras4[3]$'. sprintf "%.2f",$extras4[$reduced_rate] . "".$cgi->param('extras4')."\$".sprintf "%.2f",$extra4_total."
    $extras5[3]$'. sprintf "%.2f",$extras5[$reduced_rate] . "".$cgi->param('extras5')."\$".sprintf "%.2f",$extra5_total."
    $extras6[3]$'. sprintf "%.2f",$extras6[$reduced_rate] . "".$cgi->param('extras6')."\$".sprintf "%.2f",$extra6_total."
    $extras7[3]$'. sprintf "%.2f",$extras7[$reduced_rate] . "".$cgi->param('extras7')."\$".sprintf "%.2f",$extra7_total."
    $extras8[3]$'. sprintf "%.2f",$extras8[$reduced_rate] . "".$cgi->param('extras8')."\$".sprintf "%.2f",$extra8_total."
    $extras9[3] Ticket(s)$'. sprintf "%.2f",$extras9[$reduced_rate] . "'.$cgi->param('extras9').'$'. sprintf "%.2f",$extra9_total . "
    Ticket(s)$'. sprintf "%.2f",$extras10[$reduced_rate] . "'.$cgi->param('extras10').'$'. sprintf "%.2f",$extra10_total . "
    Guest(s)/Attendant(s)$'. sprintf "%.2f",$extras[$reduced_rate] . "'.$cgi->param('extras').'$'. sprintf "%.2f",$extra_total . "
    " . $counter++ . "Welcome Reception: " . $cgi->param('extras2') . " Children Guest(s) \@ \$" . $extras2[$reduced_rate] . "/person\$$extra2_total
    " . $counter++ . "I DO NOT plan to attend the $society Banquet and would like to donate my ticket to a resident\$$mondaynightreceptioncost_total
    " . $counter++ . "Closing Ceremony and Reception: " . $cgi->param('kidsmondaynightreception') . " Guest(s) \@ \$" . $kidsmondaynightreception[$reduced_rate] . "/person\$$kidsmondaynightreceptioncost_total
    " . $workshops[$j][1] . "$'. $workshops[$j][2][$reduced_rate] . "1$workshops[$j][1]\$$workshops[$j][2][$reduced_rate]
    $pbls[$j][1]\$$pbls[$j][2][$reduced_rate]1\$$pbls[$j][2][$reduced_rate]
    Education/Research Fund Donation$' . $cgi->param('fund') . '1\$" . $cgi->param('fund') . "
    ".substr($receptions[$j][1],0,60)."$'. sprintf "%.2f",$receptions[$j][2]{$cgi->param('reg_type')}[$reduced_rate] . "1$'. sprintf "%.2f",$receptions[$j][2]{$cgi->param('reg_type')}[$reduced_rate] . "
    ".substr($receptions2[$j][1],0,60)."$'. sprintf "%.2f",$receptions2[$j][2]{$cgi->param('reg_type')}[$reduced_rate] . "1$'. sprintf "%.2f",$receptions2[$j][2]{$cgi->param('reg_type')}[$reduced_rate] . "
    ".substr($receptions3[$j][1],0,60)."$'. $receptions3[$j][2]{$cgi->param('reg_type')}[$reduced_rate] . "1$'. $receptions3[$j][2]{$cgi->param('reg_type')}[$reduced_rate] . "
    '.$newmbr_paydesc . ' ' .$descriptions{$cgi->param('applyingfor')}.'$'. $number . "1$'. $number . "
    '.$dues_paydesc .' '.$descriptions{$cgi->param('member_option')}.'$'. $number . "1$'. $number . "
    Total: $'.$number.'
    \n"; ############################################## # Totals, Cybercash, Write to file, etc # ############################################## my $sth = $main::dbh->prepare(qq{ UPDATE orderDetail set total = $cost WHERE total IS NULL AND orderID = ? }) || $main::dbh->errstr; my $rv = $sth->execute($orderID) || $main::dbh->errstr(); $error_msg .= "
    Failed to update totals: $member_no ".$rv if $rv < 1; my $exp_date = $main::cgi->param('exp_month') . $main::cgi->param('exp_year'); $buffer .= "\n============================================================================="; $buffer .= "\nTotal:\t\t\t\t\t\t\t\t\t \$" . $cost; if ($cost) { $buffer .= "\n\nCredit Card Information"; my $new_card_no = substr($cgi->param('ssl_card_number'), 0, 2) . "********" . substr($cgi->param('ssl_card_number'), -4); # my $new_card_no = $cgi->param('ssl_card_number'); $buffer .= "\n\nCard Type: " . $card_type . "\nCard Number: " . $new_card_no . "\nExpiration. Date: " . $exp_date . "\nName on Card: " . $cgi->param('customer_name'); } ########## # Survey # ########## if ($cgi->param('special')) { my $survey_buffer .="\n\n" . $cgi->param('special') ."\n"; my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,description) VALUES (?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,4,0,$cgi->param('reg_type'),$member_no,$meetingshort.' - Special Accommodations') || $main::dbh->errstr(); $error_msg .= "
    Failed to add special accom - mbr#: $member_no ".$rv if $rv < 1; $text[2] .="\"" . $orderID . "\",\"" . $meeting_number . "\",\""; $text[2] .= "9" . "\",\"0\",\""; $text[2] .= $cgi->param('reg_type') . "\",\""; $text[2] .= $date . "\",\"" . $account . "\",\"" . "0" . "\",\""; $text[2] .= $cgi->param('card_type') . "*" . substr($cgi->param('ssl_card_number'), -4); $text[2] .= "\",\"" . "TOTALCOST" . "\",\""; $text[2] .= $society . "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; $buffer .= $survey_buffer; } if ($cgi->param('hear_about_meeting')) { my $survey_buffer .="\n\n\n\nSurvey\n"; $survey_buffer .= "How did you hear about the meeting? \n"; my @hear_about = $cgi->param('hear_about_meeting'); foreach (@hear_about) { $survey_buffer .= "\t -- $_ \n"; } $buffer .= $survey_buffer; } if ($cgi->param('vascular_track')) { my $survey2_buffer = "\n\nAre you attending this meeting this meeting because of the Vascular Track?\n"; my @vascular_track = $cgi->param('vascular_track'); foreach (@vascular_track) { $survey2_buffer .= "\t -- $_ \n"; } $buffer .= $survey2_buffer; } ## End Survey $buffer .= "\n\nRefund Policy: $refund_policy"; ################# # Write to File # ################# $text[1]="\"" . $orderID . "\",\"". $society . "\",\"" . $cgi->param('ssl_last_name') . "\",\""; $text[1] .= $cgi->param('title') . "\",\"" . $cgi->param('ssl_first_name') . "\",\""; $text[1] .= " \",\""; #Address3 field $text[1] .= $cgi->param('ssl_ship_to_address1') . "\",\"" . $cgi->param('ssl_ship_to_address2') . "\",\""; $text[1] .= $cgi->param('ssl_ship_to_city') . "\",\"" . $state . "\",\""; $text[1] .= $cgi->param('ssl_ship_to_zip') . "\",\"" . $cgi->param('ssl_ship_to_country') . "\",\""; $text[1] .= $cgi->param('ssl_phone') ."\",\"" . $cgi->param('fax') . "\",\""; $text[1] .= $cgi->param('email') . "\",\""; $text[1] .= $cgi->param('ssl_email') . "\",\""; $text[1] .= $cgi->param('AOANumber') . "\",\""; $text[1] .= $member_no . "\",\""; $text[1] .= $cgi->param('Nickname') . "\",\""; $text[1] .= $cgi->param('aap_number') . "\"\n"; my $res_end = ""; my $using_disc_code = 0; $using_disc_code = 1 if $cgi->param('code'); $using_disc_code = 2 if $cgi->param('needCode'); $res_end = $cgi->param('gradyear').'-'.$cgi->param('gradmonth').'-01' if $cgi->param('gradyear') && $cgi->param('gradmonth'); if (!$registrant_in_db) # && !$providercourseonly) { my $sth = $main::dbh->prepare(qq{ REPLACE INTO orderInfo (orderID,form,amount,memberID,cardType,lname,fname,degree,address1,address2,city,state,zip,country,phone,fax,email,receiptEmail,otherAssocID,nickName,preReg,memberApp,birthdate,gender,mbrType,inDatabase,hospital,practice_type,residencydate,havePromoCode,discountAmt,promoCode) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$form,$cost,$member_no,$card_type,$cgi->param('ssl_last_name'),$cgi->param('ssl_first_name'),$cgi->param('title'),$cgi->param('ssl_ship_to_address1'),$cgi->param('ssl_ship_to_address2'),$cgi->param('ssl_ship_to_city'),$state,$cgi->param('ssl_ship_to_zip'),$cgi->param('ssl_ship_to_country'),$cgi->param('ssl_phone'),$cgi->param('fax'),$cgi->param('email'),$cgi->param('ssl_email'),''.$cgi->param('AOANumber'),$cgi->param('Nickname'),$registered,$application,$cgi->param('year').'-'.$cgi->param('month').'-'.$cgi->param('day'),''.$cgi->param('gender'),''.$cgi->param('applyingfor'),$registrant_in_db,''.$cgi->param('hospital'),''.$cgi->param('practice'),$res_end,$using_disc_code,$discount_amt,''.$cgi->param('code')) || $main::dbh->errstr(); $error_msg .= "
    Failed to add new registrant $meetingshort ".$rv if $rv < 1; } else { my $sth = $main::dbh->prepare(qq{ REPLACE INTO orderInfo (orderID,form,amount,memberID,cardType,lname,fname,receiptEmail,nickName,preReg,memberApp,birthdate,gender,mbrType,inDatabase,hospital,practice_type,residencydate,havePromoCode,discountAmt,promoCode) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID, $form, $cost, $member_no, $card_type, ''.$cgi->param('ssl_last_name'), ''.$cgi->param('ssl_first_name'), ''.$cgi->param('ssl_email'),$cgi->param('Nickname'),$registered,$application,$cgi->param('year').'-'.$cgi->param('month').'-'.$cgi->param('day'),''.$cgi->param('gender'),''.$cgi->param('applyingfor'),$registrant_in_db,''.$cgi->param('hospital'),''.$cgi->param('practice'),$res_end,$using_disc_code,$discount_amt,''.$cgi->param('code')) || $main::dbh->errstr(); $error_msg .= "
    Failed to add registrant ($registered) to orderInfo table $meetingshort ".$rv if $rv < 1; } if (!$registered) # && !$providercourseonly) { my $sth = $main::dbh->prepare(qq{ INSERT INTO orderDetail (orderID,meetingID,workshopID,breakoutID,regtypeID,memberID,account,description,cost,checkNo,total) VALUES (?,?,?,?,?,?,?,?,?,?,?) }) || $main::dbh->errstr(); my $rv = $sth->execute($orderID,$meeting_number,0,0,$cgi->param('reg_type'),$member_no,$account,'ASIA 2018 Conf - Registration Fees',$regcost,$checkNumber,$cost) || $main::dbh->errstr(); $error_msg .= "
    Failed to add main mtg - mbr#: $member_no $meetingshort ".$rv if $rv < 1; $text[2] .= "\"" . $orderID . "\",\"" . $meeting_number . "\",\"0\",\"0\",\""; } if (!$registered) # && !$providercourseonly) { # if ($cgi->param('category')) { # $text[2] .= $cgi->param('category'). '/' . $cgi->param('reg_type'); # } else { $text[2] .= $cgi->param('reg_type'); # } } if (!$registered) # && !$providercourseonly) { foreach (@reg_types_sub) { $text[2] .= "/" . $_ ; } } if (!$registered) # && !$providercourseonly) { $text[2] .= "\",\""; $text[2] .= $date . "\",\"" . $account . "\"," . $regcost . ",\""; $text[2] .= $cgi->param('card_type'); $text[2] .= "\"," . "TOTALCOST" . ",\"" . $society; $text[2] .= "\","; $text[2] .= $cgi->param('ssl_last_name'); $text[2] .= "\",\""; $text[2] .= $cgi->param('ssl_first_name'); $text[2] .= "\"\n"; } my @writefiles; $writefiles[1] = $filename . $orderID . "_1.txt"; $writefiles[2] = $filename . $orderID . "_12.txt"; my $writefile; for ($i=1; defined($text[$i]); $i++) { $text[$i] =~ s/TOTALCOST/$cost/g; } for ($i=1; $i<=2; $i++) { $writefile=$writefiles[$i]; # my $texttofile='$text' . $i; if(open(FILE, ">>$writefile")) { flock(FILE, 2); seek(FILE, 0, 2); print FILE $text[$i]; close FILE; # $main::dbh->disconnect(); } else { die "Could NOT open file $i"; } } my $bufferfile = $filename . $orderID . "_buffer"; if(open(FILE, ">$bufferfile")) { flock(FILE, 2); seek(FILE, 0, 2); print FILE $buffer; close FILE; } else { die "Could NOT write buffer file $bufferfile"; } # end Write to File print '

    Step 3 of 3

    '; print p("Please verify the following registration and payment information before submitting your registration. Use the back button to make corrections."); print p(''); #print "

    $error_msg

    "; $reginfo_buffer = '

    '; $reginfo_buffer .= $cgi->param('ssl_first_name'); $reginfo_buffer .= " " . $cgi->param('ssl_last_name'); $reginfo_buffer .= " " . $cgi->param('title') . "\n"; $reginfo_buffer .= "
    " . $cgi->param('ssl_ship_to_address1') if $cgi->param('ssl_ship_to_address1'); $reginfo_buffer .= "
    " . $cgi->param('ssl_ship_to_address2') if $cgi->param('ssl_ship_to_address2'); $reginfo_buffer .= "
    " . $cgi->param('ssl_ship_to_city') . " " . $cgi->param('ssl_ship_to_state') . " " . $cgi->param('ssl_ship_to_zip'); $reginfo_buffer .= "
    " . $cgi->param('ssl_ship_to_country'); $reginfo_buffer .= "
    " . $cgi->param('ssl_phone') if $cgi->param('ssl_phone'); $reginfo_buffer .= "
    " . $cgi->param('email') if $cgi->param('email'); $reginfo_buffer .= "

    ABA Number: " . $cgi->param('aba_number') if $cgi->param('aba_number'); $reginfo_buffer .= "

    \n"; if ($cgi->param('ssl_email')) { $reginfo_buffer .= "

    Your confirmation letter will be emailed to this email address: ". $cgi->param('ssl_email') ."

    "; } else { $reginfo_buffer .= "

    No email address was provided for delivery of your confirmation letter. Confirmation letters are sent by email only.

    \n"; } print "$reginfo_buffer"; print "$reginfo_buffer2"; if ($cost) { print h4('Payment Information:'); my $new_card_no2 = substr($cgi->param('ssl_card_number'), 0, 2) . "********" . substr($cgi->param('ssl_card_number'), -4); print "

    $card_type: " . $new_card_no2 . "
    \n"; print "Expiration Date: " . $exp_date . "

    \n"; print "
    \n"; } else { print "\n"; print hidden(-name=>'ssl_result', -default=>"0"); print hidden(-name=>'ssl_result_message', -default=>"0"); print hidden(-name=>'ssl_txn_time', -default=>"0"); print hidden(-name=>'ssl_approval_code', -default=>"0"); print hidden(-name=>'nocharge', -default=>"1"); } if (!$registrant_in_db) { print hidden(-name=>'ssl_last_name'); print hidden(-name=>'ssl_first_name'); print hidden(-name=>'title'); } else { print hidden(-name=>'ssl_last_name', -default=>[$reg_fields[0]]); print hidden(-name=>'ssl_first_name', -default=>[$reg_fields[1]]); print hidden(-name=>'title', -default=>[$reg_fields[2]]); } print hidden(-name=>'ssl_ship_to_address1'); print hidden(-name=>'ssl_ship_to_address2'); print hidden(-name=>'ssl_ship_to_city'); print hidden(-name=>'ssl_ship_to_state'); print hidden(-name=>'ssl_ship_to_country'); print hidden(-name=>'ssl_ship_to_zip'); print hidden(-name=>'ssl_phone'); print hidden(-name=>'ssl_email'); print hidden(-name=>'card_type', -default=>$card_type); print hidden(-name=>'ssl_card_number'); print hidden(-name=>'ssl_exp_date', -default=>[$exp_date,$exp_date]); print hidden(-name=>'ssl_cvv2cvc2'); print hidden(-name=>'ssl_avs_address'); print hidden(-name=>'customer_name'); print hidden(-name=>'auto_charge'); my $avs_zip = substr($cgi->param('ssl_avs_zip'), 0, 9); print< EOF print p(strong('Refund Policy')); print p($refund_policy); print p({-style=>'color: #F00'},strong("By clicking submit, you authorize $society to charge your credit card. Please do NOT click submit more than once or you may be charged twice.")); print ''; print ''; print "\n"; print "
    \n"; } } else { print '

    Step 2 of 3

    '; if ($registrant_in_db) { print '

    Welcome back '.$reg_fields[18].'! Click here if you are not '.$reg_fields[18].' or you want to register with a different email address.

    '; } print '
    '.$msg.'
    ' if $msg; print '

     

    '; # print "

    Registration Policy: All attendees must pay a registration fee to attend any ASIA event unless otherwise noted below. Badges are required for entrance to all scientific sessions and social functions. Registration fees include: E-Syllabus, Breakout Sessions, Welcome Reception, Exhibitor Reception, Continental Breakfast, Coffee Breaks and Lunches. Fees are per person.

    "; my @countries = ("Afghanistan","Albania","Algeria","Angola","Antigua and Barbuda","Argentina","Armenia","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bhutan","Bolivia","Bosnia and Herzegovina","Botswana","Brazil","Brunei Darussalam Bulgaria","Burkina Faso","Burma (Myanmar)","Burundi","Cambodia","Cameroon","Canada","Cape Verde","Central African Rep","Chad","Chile","China","Colombia","Comoros","Congo","Congo, Democratic Republic","Costa Rica","Cote d'Ivoire","Croatia","Cuba","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","East Timor","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Ethiopia","Fiji","Finland","France","Gabon","Gambia","Georgia","Germany","Ghana","Greece","Grenada","Guatemala","Guinea","Guinea-Bissau","Guyana","Haiti","Honduras","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Israel","Italy","Jamaica","Japan","Jordan","Kazakhstan","Kenya","Kiribati","Kuwait","Kyrgyzstan","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Macedonia","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Mauritania","Mauritius","Mexico","Micronesia","Moldova","Monaco","Mongolia","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","New Zealand","Nicaragua","Niger","Nigeria","North Korea","Norway","Oman","Pakistan","Palau","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Poland","Portugal","Qatar","Romania","Russia","Rwanda","St. Kitts & Nevis","St.Lucia","St. Vincent","Samoa","San Marino","Sao Tome & Principe","Saudi Arabia","Senegal","Serbia & Montenegro","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Korea","Spain","Sri Lanka","Sudan","Suriname","Swaziland","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","The Netherlands","Togo","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","USA","Uruguay","Uzbekistan","Vanuatu","Venezuela","Vietnam","Western Sahara","Yemen","Yugoslavia","Zaire","Zambia","Zimbabwe"); ###Get Script Name-- $i=script_name(); my @action=split("/", $i); $i=@action; $i--; print<
    EOF if ($registrant_in_db) { print<
    $reg_fields[18]
     
    First Name/Nickname for Badge:*
    Meeting Confirmation Email:*

    All conference registration confirmations and important updates will be sent via email. Please make sure to set your email account to accept emails from societyhq.com and asia-spinalinjury.org.

    EOF if (!$member && !$balance && $show_mbr_appl) { &member_app(); } if ((!$auto_renew && $show_renewal_appl) && (($member && $balance) || (!$member && $balance))) { &dues_notice($member_no); } print<
    EOF } else { print< First Name*: Last Name*: Degree: First Name/Nickname for Badge:* Address 1*: Address 2: City*: State*: Postal Code*: Country*: Office Fax: Primary Email*: Meeting Confirmation Email*:

    All conference registration confirmations and important updates will be sent via email. Please make sure to set your email account to accept emails from societyhq.com and asia-spinalinjury.org.

    EOF if (%category) { print ' Category: Are you a: '; foreach (keys %category) { print ""; print ""; if ($_ eq "O") { print " "; } } print ''; } print ' '; if (!$member && !$balance && $show_mbr_appl) { &member_app(); } if (($member && $balance) || (!$member && $balance)) { &dues_notice($member_no); } print< EOF } print< Registration Fees - Annual Meeting EOF if ($registered) { print '

    You are already registered for this meeting; continue if you want to add additional activities

    '; print ''; } else { print<
    Voucher Code

    If you have a Voucher Code, please enter the code below then select the "Verify Code" button. All codes expire by the date listed after verifying the code or on the last day of the meeting, whichever comes first.


    EOF print<     EOF if (!$onsite) { print< Through
    EOF print strftime("%B %d, %Y", (localtime($cutoff_time))); !>
    After
            prepare(qq{ SELECT groupName,groupDesc FROM reg_groups WHERE groupID=? LIMIT 1 }); $sth2->execute($groupType); @fields2 = $sth2->fetchrow_array(); $sth2->finish(); print "

    $fields2[0]" if @fields2; print "
    $fields2[1]" if $fields2[1]; print '

    ' if @fields2; } print '

    PRE-COURSE AND/OR SPINE SYMPOSIUM ONLY

    If you are not attending the Annual Meeting but wish to attend a Pre-Course or the Spine Symposium, please select the appropriate option below:

    ' if $reg_types[$i][0] == 7; print "\n"; print "\t\n"; print ""; print $reg_types[$i][1]; if (defined($reg_types[$i][4])) { for (my $ii=0; defined($reg_types[$i][4][$ii]); $ii++) { print "(" . $reg_types[$i][4][$ii] . ")"; } } if (defined($reg_types[$i][5])) { print "
    ".$reg_types[$i][5]."
    "; } if (defined($reg_types[$i][3])) { print "
    "; for (my $j=0; defined($reg_types[$i][3][$j]); $j++) { print "" . $reg_types[$i][3][$j][1] . " "; } print "
    "; } print "\n"; if ($reg_types[$i][2][1] > 0) { print "\$" . $reg_types[$i][2][1] if !$onsite; } else { print "\$0" if !$onsite; } if ($reg_types[$i][0] eq "ONEDAY") { print "/day"; } print "\n" if !$onsite; if ($reg_types[$i][2][0] > 0) { print "\t\$" . sprintf('%.2f',$reg_types[$i][2][0]); } else { # if ($reg_types[$i][0] eq "14") { print "\$0"; # } else { # print "See Below"; # } } if ($reg_types[$i][0] eq "ONEDAY") { print "/day"; } print "\n"; print "\n"; } } # print "
    Notes:"; # for ($i=1; defined($footnotes[$i]); $i++) { # print "
      ($i) " . $footnotes[$i]; # } # print ''; print '

    '; if (@extras) { !>   Number of Guest(s)/Attendant(s):
    ASIA Meeting registrants only $'.$extras[1].'/person' if !$onsite; !> $/person Guest(s)/Attendant(s) Name(s):

    Receptions  

    Number of Attendees(s):
    ASIA Meeting registrants and guests only SPACE IS FILLED"; } } if (@extras11) { my $extday=substr($extras11[5], 6, 2); my $extmonth=substr($extras11[5],4,2); $extmonth--; my $extyear=substr($extras11[5],0,4)-1900; my $time=timelocal(0,0,0,$extday,$extmonth,$extyear); !>  



    Number of Attendees(s):
    ASIA Meeting registrants and guests only SPACE IS FILLED"; } } !>


    MAYO CLINIC TOURS
    Mayo Clinic is offering several tours, not available to the general public, to ASIA conference attendees and their guests. Guided and Lab tours are complimentary. Space is limited. Sign up below.

    Click here for additional information on the Mayo Clinic tours. (link will open in a new tab)



    MAYO CLINIC LAB TOURS  
    Number of Attendees(s):
    ASIA Meeting registrants and guests only SPACE IS FILLED"; } } if (@extras14) { !>  
    Number of Attendees(s):
    ASIA Meeting registrants and guests only SPACE IS FILLED"; } } if (@extras15) { !>  
    Number of Attendees(s):
    ASIA Meeting registrants and guests only SPACE IS FILLED"; } } !>

    MAYO CLINIC GUIDED TOURS

    Available for ASIA conference registrants and their guests. This tour includes a historical overview of Mayo Clinic, followed by a one-hour walking tour of the downtown campus.

    Click here for more information (link will open in a new tab)

     
    Number of Attendees(s):
    ASIA Meeting registrants and guests only SPACE IS FILLED"; } } if (@extras4) { !>  
    Number of Attendees(s):
    ASIA Meeting registrants and guests only SPACE IS FILLED"; } } if (@extras5) { !>  
    Number of Attendees(s):
    ASIA Meeting registrants and guests only SPACE IS FILLED"; } } if (@extras6) { !>  
    Number of Attendees(s):
    ASIA Meeting registrants and guests only SPACE IS FILLED"; } } if (@extras7) { !>  
    Number of Attendees(s):
    ASIA Meeting registrants and guests only SPACE IS FILLED"; } } if (@extras8) { !>  
    Number of Attendees(s):
    ASIA Meeting registrants and guests only SPACE IS FILLED"; } } if (@mondaynightreception) { !> I DO NOT plan to attend the AOAO Banquet and would like to donate my ticket to a resident $ $

    Trolley Tours of Rochester - Available for ASIA conference registrants and their guests. These informative tours feature Rochester's major historic, cultural, and architectural sites and attractions.

    Click here for more information (link will open in a new tab)

    Wednesday, May 2, 2018 - 1.5 hours
    6:00pm - 7:30pm

    Friday, May 4, 2018 - 2.5 hours
    2:00 pm - 4:30pm

     
    Number of Tickets(s):
    ASIA Meeting registrants and guests only $'.$extras9[1].'/person' if !$onsite; !> $/person  
    Number of Tickets(s):
    ASIA Meeting registrants and guests only $'.$extras10[1].'/person' if !$onsite; !> $/person Number of Children Guests:
    Saturday Welcome Reception - Children ages 6-12 (Children age 5 and under free). $/person $/person Number of Guest:
    Closing Ceremony & Reception Guest Fee $/person $/person   Free Free $ $           $.00
    (numbers only)     prepare(qq{ SELECT 1 FROM registrants WHERE cancelled IS NULL AND workshop_no IN(1) AND meeting_no = ? AND member_id = ? LIMIT 1}) || $main::dbh->errstr; $sth->execute($meeting_number, $member_no) || $main::dbh->errstr; @fields = $sth->fetchrow; $sth->finish(); $lab_registered = 1 if $fields[0]; # $sth = $main::dbh->prepare(qq{ # SELECT 1 FROM registrants WHERE cancelled IS NULL AND workshop_no IN(3) AND meeting_no = ? AND member_id = ? LIMIT 1}) || $main::dbh->errstr; # $sth->execute($meeting_number, $member_no) || $main::dbh->errstr; # undef @fields; # @fields = $sth->fetchrow; # $sth->finish(); # $lab_registered2 = 1 if $fields[0]; if (@receptions or @receptions2 or @receptions3) { # dinners !> '; print 'Precourse'; print '

    You are already registered for the Precourse

    '; } else { !> [3]}++ for @receptions; my @dinnerdates=sort keys %u_dates; my $day=0; my $month=0; my $year=0; my $hour=0; my $min=0; my $time=0; my $k=0; foreach (@dinnerdates) { # cycle through dates print "\n"; for ($i=0; defined($receptions[$i]); $i++) { # cycle through dinners if ($dinnerdates[$k]==$receptions[$i][3]) { # Date = Dinner print "\n"; print ""; for (my $j=0; defined($reg_types[$j]); $j++) { # cycle through reg types and print descriptions if ($j==0) { print "" if !$onsite; } if ($receptions[$i][2]{$reg_types[$j][0]}[1] && $receptions[$i][2]{$reg_types[$j][0]}[0]) { print ""; print "" if !$onsite; print ""; } else { print ""; print "" if !$onsite; print ""; } } } } $k++; print ""; } } !>
    Precourse
    Please select the box below if you are attending the precourse. Fees are based on your registration type.
         
    "; $day=substr($dinnerdates[$k], 6, 2); $month=substr($dinnerdates[$k],4,2); $month--; $year=substr($dinnerdates[$k],0,4)-1900; $hour=substr($dinnerdates[$k],8,2); $min=substr($dinnerdates[$k],10,2); $time=timelocal(0,$min,$hour,$day,$month,$year); # print strftime("%A, %B %d %Y -- %I:%M %p", (localtime($time))); print strftime("%A, %B %d %Y", (localtime($time))); print "
    $receptions[$i][1]
        Through
    ".strftime("%B %d, %Y", (localtime($cutoff_time)))."
    After
    ".strftime("%B %d, %Y", (localtime($cutoff_time)))."
     
  • $reg_types[$j][1]
  • \$$receptions[$i][2]{$reg_types[$j][0]}[1]\$$receptions[$i][2]{$reg_types[$j][0]}[0]
     
  • $reg_types[$j][1]
  • No ChargeNo Charge
     
      '; print 'Pre-Course 2: Urology'; print '

    You are already registered for a Pre-Course

    '; } else { !> [3]}++ for @receptions2; my @dinner2dates=sort keys %u_dates; my $day=0; my $month=0; my $year=0; my $hour=0; my $min=0; my $time=0; my $k=0; foreach (@dinner2dates) { # cycle through dates print "\n"; for ($i=0; defined($receptions2[$i]); $i++) { # cycle through dinners if ($dinner2dates[$k]==$receptions2[$i][3]) { # Date = Dinner print "\n"; print ""; for (my $j=0; defined($reg_types[$j]); $j++) { # cycle through reg types and print descriptions if ($j==0) { print "" if !$onsite; } if ($receptions2[$i][2]{$reg_types[$j][0]}[1] && $receptions2[$i][2]{$reg_types[$j][0]}[0]) { print ""; print "" if !$onsite; print ""; } else { print ""; print "" if !$onsite; print ""; } } } } $k++; print ""; } } !>
    Pre-Course 2: Urology
    Please select the box below if you are attending this pre-course. You may choose only one pre-course.
         
    "; $day=substr($dinner2dates[$k], 6, 2); $month=substr($dinner2dates[$k],4,2); $month--; $year=substr($dinner2dates[$k],0,4)-1900; $hour=substr($dinner2dates[$k],8,2); $min=substr($dinner2dates[$k],10,2); $time=timelocal(0,$min,$hour,$day,$month,$year); print strftime("%A, %B %d %Y -- %I:%M %p", (localtime($time))); print "
    $receptions2[$i][1]
        Through
    ".strftime("%B %d, %Y", (localtime($cutoff_time)))."
    After
    ".strftime("%B %d, %Y", (localtime($cutoff_time)))."
     
  • $reg_types[$j][1]
  • \$$receptions2[$i][2]{$reg_types[$j][0]}[1]\$$receptions2[$i][2]{$reg_types[$j][0]}[0]
     
  • $reg_types[$j][1]
  • No ChargeNo Charge
     
      prepare(qq{ SELECT 1 FROM registrants WHERE cancelled IS NULL AND workshop_no IN(5) AND meeting_no = ? AND member_id = ? LIMIT 1}) || $main::dbh->errstr; $sth->execute($meeting_number, $member_no) || $main::dbh->errstr; undef @fields; @fields = $sth->fetchrow; $sth->finish(); $lab_registered3 = 1 if $fields[0]; if ($lab_registered3) { print ''; print ''; print ''; } else { !>
    Update on Spinal Trauma and Spinal Cord Injury Management

    You are already registered for the Spine Symposium

    [3]}++ for @receptions3; my @dinner3dates=sort keys %u_dates; my $day=0; my $month=0; my $year=0; my $hour=0; my $min=0; my $time=0; my $k=0; foreach (@dinner3dates) { # cycle through dates print "\n"; for ($i=0; defined($receptions3[$i]); $i++) { # cycle through dinners if ($dinner3dates[$k]==$receptions3[$i][3]) { # Date = Dinner print "\n"; print ""; # for (my $j=0; defined($reg_types[$j]); $j++) { # cycle through reg types and print descriptions # if ($j==0) { # print "" if !$onsite; # } # if ($receptions3[$i][2]{$reg_types[$j][0]}[1] && $receptions3[$i][2]{$reg_types[$j][0]}[0]) { # print ""; # print "" if !$onsite; # print ""; print ""; # print ""; print ""; print ""; # print ""; print ""; # } # } } } $k++; print ""; } } !>
    Update on Spinal Trauma and Spinal Cord Injury Management
    Please select the box below if you are attending the Spine Symposium.
         
    "; $day=substr($dinner3dates[$k], 6, 2); $month=substr($dinner3dates[$k],4,2); $month--; $year=substr($dinner3dates[$k],0,4)-1900; $hour=substr($dinner3dates[$k],8,2); $min=substr($dinner3dates[$k],10,2); $time=timelocal(0,$min,$hour,$day,$month,$year); print strftime("%A, %B %d %Y -- %I:%M %p", (localtime($time))); print "
    $receptions3[$i][1]
        Through
    ".strftime("%B %d, %Y", (localtime($cutoff_time)))."
    After
    ".strftime("%B %d, %Y", (localtime($cutoff_time)))."
     
  • $reg_types[$j][1]
  • \$$receptions3[$i][2]{$reg_types[$j][0]}[1]\$$receptions3[$i][2]{$reg_types[$j][0]}[0]
     
  • Annual Meeting Registrants
  • No ChargeNo ChargeNo Charge
     
  • Not attending Annual Meeting
  • \$150\$200\$200
     
              Special Interest Group — Pediatric Pain Medicine
    [3]}++ for @intensive_ws; my @iwsdates=sort keys %u_dates; my $day=0; my $month=0; my $year=0; my $hour=0; my $min=0; my $time=0; my $k=0; foreach (@iwsdates) { print "\n"; for ($i=0; defined($intensive_ws[$i]); $i++) { if ($iwsdates[$k]==$intensive_ws[$i][3]) { if ($sold_out{$intensive_ws[$i][0]} != "1") { print "\n"; print "\n"; } else { print "\n"; print "\n"; } } } $k++; } !>
        
    "; $day=substr($iwsdates[$k], 6, 2); $month=substr($iwsdates[$k],4,2); $month--; $year=substr($iwsdates[$k],0,4)-1900; $hour=substr($iwsdates[$k],8,2); $min=substr($iwsdates[$k],10,2); $time=timelocal(0,$min,$hour,$day,$month,$year); print strftime("%B %d %Y -- %I:%M %p", (localtime($time))); print "
    $intensive_ws[$i][1]\$$intensive_ws[$i][2][1]\$$intensive_ws[$i][2][0]
    Sold Out$intensive_ws[$i][1]Sold Out
     
                    Master Classes
    Please select your 1st choice for each session [3]}++ for @master_classes; my @wsdates=sort keys %u_dates; my $day=0; my $month=0; my $year=0; my $hour=0; my $min=0; my $time=0; my $k=0; foreach (@wsdates) { print ""; for ($i=0; defined($master_classes[$i]); $i++) { if ($wsdates[$k]==$master_classes[$i][3]) { if ($sold_out{$master_classes[$i][0]} != "1") { print ""; if ($master_classes[$i][2][$reduced_rate] > 0) { print ""; } else { print ""; } } else { print ""; print ""; } } } $k++; } !>
        
    Master Class -- "; $day=substr($wsdates[$k], 6, 2); $month=substr($wsdates[$k],4,2); $month--; $year=substr($wsdates[$k],0,4)-1900; $hour=substr($wsdates[$k],8,2); $min=substr($wsdates[$k],10,2); $time=timelocal(0,$min,$hour,$day,$month,$year); print strftime("%B %d %Y -- %I:%M %p", (localtime($time))); print "
    $master_classes[$i][1]\$$master_classes[$i][2][1]\$$master_classes[$i][2][0]
    $master_classes[$i][1]
    Sold Out$master_classes[$i][1]Sold Out
     
            \n"; } if (!$onsite) { print< \n"; } !> [3]}++ for @workshops; my @wsdates=sort keys %u_dates; my $day=0; my $month=0; my $year=0; my $hour=0; my $min=0; my $time=0; my $k=0; my $ii=0; foreach (@wsdates) { print "\n"; print ""; print ""; print "\n"; # print ''; my @wkshp_nums = ("4,6,8,9","5,7,10","15","11,12","13,14"); my $wkshp_registered = 0; $sth = $main::dbh->prepare(qq{ SELECT 1,name,CONCAT_WS(' - ',TIME_FORMAT(t2.start_time,'%l:%i'),TIME_FORMAT(t2.end_time,'%l:%i %p')) FROM registrants t1 LEFT JOIN meeting t2 ON t1.meeting_no=t2.meeting_no AND t1.workshop_no=t2.workshop_no WHERE cancelled IS NULL AND t1.workshop_no IN($wkshp_nums[$ii]) AND t1.meeting_no = ? AND t1.member_id = ? LIMIT 1}) || $main::dbh->errstr; $sth->execute($meeting_number, $member_no) || $main::dbh->errstr; @fields = $sth->fetchrow; $sth->finish(); $wkshp_registered = 1 if $fields[0]; $ii++; if ($wkshp_registered) { print '"; print ''; } else { for ($i=0; defined($workshops[$i]); $i++) { if ($wsdates[$k]==$workshops[$i][3]) { # wsdate matches workshop date if ($sold_out{$workshops[$i][0]} != "1") { print ""; if ($u_dates{$wsdates[$k]} > 1) { print "\n "; } else { print "\n"; } if ($u_dates{$wsdates[$k]} > 2) { print "\n"; } else { print "\n"; } if ($workshops[$i][2][$reduced_rate] > 0) { print ""; print "" if !$onsite; print ""; } else { print ""; print ""; } print ""; } else { print "\n"; print ""; } } # end wsdate matches workshop date } } $k++; } !>
    Workshops and Concurrent Sessions
    Workshops are optional. Space is limited. Please mark your first, second and third choices for each time slot.

    Earlybird Bonus: Sign up for a Workshop today and get the second workshop free"; print "
    Bonus good until " . strftime("%B %d, %Y", (localtime($early_bird_cutoff_time))) . ". Does not apply to Intensive Workshops, Master Classes or PBL Discussions
            Through
    EOF print strftime("%B %d, %Y", (localtime($cutoff_time))); !>
    After
     

    1st2nd3rd"; $day=substr($wsdates[$k], 6, 2); $month=substr($wsdates[$k],4,2); $month--; $year=substr($wsdates[$k],0,4)-1900; $hour=substr($wsdates[$k],8,2); $min=substr($wsdates[$k],10,2); $time=timelocal(0,$min,$hour,$day,$month,$year); # print strftime("%A -- %B %d %Y -- %I:%M %p", (localtime($time))); print uc(strftime("%A -- %B %d %Y", (localtime($time)))); print "  

    No Workshop

    You are already registered for workshop:

    '; print "
    • $fields[1] ($fields[2])
      
    \ \;\ \;$workshops[$i][1] "; print "\"see" if $workshops[$i][5]; print "\$$workshops[$i][2][1]\$$workshops[$i][2][0]
    $workshops[$i][1] "; print "\"see" if $workshops[$i][5]; print "No ChargeNo Charge
     $workshops[$i][5]  
    Sold Out$workshops[$i][1]Sold Out
     
     
           
    '; !> [3]}++ for @pbls; my @pbldates=sort keys %u_dates; my $day=0; my $month=0; my $year=0; my $hour=0; my $min=0; my $time=0; my $k=0; my $ii=0; foreach (@pbldates) { print "\n"; print ""; print "\n"; my @pbld_nums = ("18 AND 23","24 AND 29","30 AND 34","35 AND 40","41 AND 46"); my $pbld_registered = 0; $sth = $main::dbh->prepare(qq{ SELECT 1,name,CONCAT_WS(' - ',TIME_FORMAT(t2.start_time,'%l:%i'),TIME_FORMAT(t2.end_time,'%l:%i %p')) FROM registrants t1 LEFT JOIN meeting t2 ON t1.meeting_no=t2.meeting_no AND t1.workshop_no=t2.workshop_no WHERE cancelled IS NULL AND t1.workshop_no BETWEEN $pbld_nums[$ii] AND t1.meeting_no = ? AND t1.member_id = ? LIMIT 1}) || $main::dbh->errstr; $sth->execute($meeting_number, $member_no) || $main::dbh->errstr; @fields = $sth->fetchrow; $sth->finish(); $pbld_registered = 1 if $fields[0]; $ii++; if ($pbld_registered) { print '"; print ''; } else { for ($i=0; defined($pbls[$i]); $i++) { if ($pbldates[$k]==$pbls[$i][3]) { if ($sold_out{$pbls[$i][0]} != "1") { print "\n"; print "\n"; print "\n\n"; if ($pbls[$i][2][$reduced_rate] > 0) { print ""; } else { print ""; } } else { print "\n"; print ""; } } } } $k++; } !>
    Breakout Sessions -- (select your 1st, 2nd, and 3rd choices for each session)
     
               

    1st2nd3rdBreakout Sessions -- "; $day=substr($pbldates[$k], 6, 2); $month=substr($pbldates[$k],4,2); $month--; $year=substr($pbldates[$k],0,4)-1900; $hour=substr($pbldates[$k],8,2); $min=substr($pbldates[$k],10,2); $time=timelocal(0,$min,$hour,$day,$month,$year); print strftime("%B %d %Y -- %I:%M %p", (localtime($time))); print "

    You are already registered for PBLD:

    '; print "
    • $fields[1] ($fields[2])
      
    $pbls[$i][1]"; print "\$$pbls[$i][2][1]" if !$onsite; print "\$$pbls[$i][2][0]
    $pbls[$i][1]
    Sold Out$pbls[$i][1]Sold Out

    Saturday BBQ [3]}++ for @bbq; my @bbqdates=sort keys %u_bbqdates; my $day=0; my $month=0; my $year=0; my $hour=0; my $min=0; my $time=0; my %u_bbqdays; $u_bbqdays{substr($_->[3],0, 8)}++ for @bbq; my @bbqdays=sort keys %u_bbqdays; foreach my $bbqday (@bbqdays) { $day=substr($bbqday, 6, 2); $month=substr($bbqday,4,2); $month--; $year=substr($bbqday,0,4)-1900; $hour=substr($bbqday,8,2); $min=substr($bbqday,10,2); $time=timelocal(0,$min,$hour,$day,$month,$year); # print strftime("%B %d %Y", (localtime($time))); foreach my $times (@bbqdates) { if ($bbqday eq substr($times, 0, 8)) { foreach (@bbq) { if ($_->[3] == $times) { $day=substr($times, 6, 2); $month=substr($times,4,2); $month--; $year=substr($times,0,4)-1900; $hour=substr($times,8,2); $min=substr($times,10,2); $time=timelocal(0,$min,$hour,$day,$month,$year); print ""; print ""; } } } } } !>
       
    [0] . "\">" . $_->[1] . "\$" . $_->[2][1] . "\$" . $_->[2][0] . "
     
    Special Needs:
      The American Spinal Injury Association (ASIA) has fully complied with the legal requirements of the ADA and the rules and regulations thereof. If any participant in this educational activity is in need of accommodations, please describe in the box below or contact ASIA at (804) 565-6396 for assistance.


    If you have special dietary needs (vegetarian, kosher, etc.), please describe:

    If you have no special/dietary needs please leave these boxes blank.
    Payment Information
    EOF }!>
    Card Number:
    Expiration Date: /
    Security Code:
    Card Billing Address:
    Card Billing Zip Code:
    Name on Card:
     

    Note: This is a secure transaction system. All of the information you provide is protected in transit and is processed securely.

    If you do not receive a confirmation letter from within 30 days of submitting your registration, please call the office to confirm that your registration material has been received.

    By clicking "Continue" below, you acknowledge that you have read and agree to the above Refund Policy.

    BACK TO FORM SELECTION PAGE'; } } } sub to_page { submit(-NAME => ".State", -VALUE => shift) } sub member_app { if (!$show_mbr_appl) { return; } my $cursor = $main::dbh->prepare(qq{ SELECT omt.memberTypeID,IFNULL(optionalName,member_type),memDescription,member_dues FROM member_type mt, onsite_mem_types omt WHERE mt.membertype_id=omt.memberTypeID AND omt.eventID=? ORDER BY mt.member_type }); $cursor->execute($meeting_number); print<

    Membership Application
    (complete only if joining $society)

    Membership Category Applying For:
    EOF while (my @mbrtype = $cursor->fetchrow_array()) { print " \"see $mbrtype[2] "; } $cursor->finish(); print<
    Date of Birth (MM/DD/YYYY): Affiliation: Specialty: Gender:  

    Trainee Only: Trainee Institution: Location: Graduation/Residency Date: Auto Renew

    If you select "Auto Renew", your membership will automatically renew for successive one year periods until cancellation. Upon renewal, you authorize $society to charge the then-current membership fee amount to the payment method provided by you, for as long as you choose to remain a member. You can cancel your membership at any time by contacting the Society. EOF } sub dues_notice { if (!$show_renewal_appl) { return; } my ($mbrID) = @_; my ($member_type) = ''; my (@fields) = (); my $cursor2 = $main::dbh->prepare(qq{ SELECT membertype_id,IFNULL(optionalName,member_type),memDescription,member_dues FROM member_type mt, onsite_dues_types dt WHERE mt.membertype_id=dt.memberTypeID AND eventID=? ORDER BY mt.membertype_id }); $cursor2->execute($meeting_number); my $cursor = $main::dbh->prepare(qq{ SELECT balance_due, member_type, mail_country,t1.membertype_id,member FROM member t1,member_type t2 WHERE t1.membertype_id=t2.membertype_id AND t1.member_id= ? LIMIT 1 }); $cursor->execute($mbrID); @fields = $cursor->fetchrow; $cursor->finish; $member_type = $fields[3]; my $member = $fields[4]; my $cursor3 = $main::dbh->prepare(qq{ SELECT category_id,category,cost,short_name FROM incomeitems t1 WHERE short_name=? }) || $main::dbh->errstr(); $cursor3->execute($member_type) || die $main::dbh->errstr(); print<

    Membership Renewal Notice

    EOF if ($member && $allow_payLater) { print< EOF } while (my @category = $cursor3->fetchrow) { print ""; print ''; print ""; } $cursor3->finish; $cursor3 = $main::dbh->prepare(qq{ SELECT category_id,category,cost,t1.short_name FROM incomeitems t1, member_type_change t2 WHERE t1.short_name=t2.changeTypeID AND memberTypeID=? }) || $main::dbh->errstr(); $cursor3->execute($member_type) || die $main::dbh->errstr(); while (my @category = $cursor3->fetchrow) { print ""; print ''; print ""; } $cursor3->finish; # while (my @mbrtype = $cursor2->fetchrow_array()) # { # print " # # # \"see # # # # $mbrtype[2] # "; # } # $cursor->finish(); !>

    Auto Renew Membership

    Auto Renew

    If you select "Auto Renew", your membership will automatically renew for successive one year periods until cancellation. Upon renewal, you authorize to charge the then-current membership fee amount to the payment method provided by you, for as long as you choose to remain a member. You can cancel your membership at any time by contacting the Society. '; } !>