Ejemplo n.º 1
0
 function showSubmitForm()
 {
     if (!$this->setEnvironment()) {
         return false;
     }
     if (count($this->cart_items) > 0) {
         foreach ($this->cart_items as $item_array => $item_details) {
             $subtotal = $subtotal + $item_details['price'];
         }
         $vat_value = $this->vat / 100 * $subtotal;
         $vat_currency = money_format('%i', $vat_value);
         $total = $subtotal + $vat_value;
         $total_currency = money_format('%i', $total);
         // javascript functions in header
         $page_head_objects = "";
         $page_body_content = "";
         $page_body_content .= "<script language=\"JavaScript\" src=\"ccp_java.js\" type=\"text/javascript\"></script>\n";
         $page_body_content .= "<script type = \"text/javascript\">\n";
         $page_body_content .= "function changeAmount(frm) {\n";
         $page_body_content .= "var total_purchase = document.getElementById('total_purchase');\n";
         $page_body_content .= "var vat_purchase = document.getElementById('vat_purchase');\n";
         //$page_body_content .= "var id = frm.options[frm.selectedIndex].value;\n";
         //$page_body_content .= "var split_vars = id.split(\"|\");\n";
         //$page_body_content .= "total_purchase.innerHTML = '' + split_vars[1] + ' USD <input type=\"hidden\" name=\"amount\" value=\"' + split_vars[1] + '\"><input type=\"hidden\" name=\"item\" value=\"' + split_vars[0] + '\">';\n";
         $page_body_content .= "total_purchase.innerHTML = '" . $total_currency . "<input type=\"hidden\" name=\"amount\" value=\"" . $total . "\">';\n";
         $page_body_content .= "vat_purchase.innerHTML = '" . $vat_currency . "<input type=\"hidden\" name=\"vat\" value=\"" . $vat_value . "\">';\n";
         $page_body_content .= "}\n";
         $page_body_content .= "function changeStates(frm) {\n";
         $page_body_content .= "    var states_list = document.getElementById('states_list');\n";
         $page_body_content .= "    var id = frm.options[frm.selectedIndex].value;\n";
         $page_body_content .= "    if(id == 'CA'){\n";
         // Canada States
         $str .= "<select name=\"state\">";
         foreach ($this->can_states_arr as $state_abbr => $state_name) {
             if ($state_abbr == $this->user_account['State']) {
                 $str .= "<option value=\"" . $state_abbr . "\" selected>" . $state_name . "</option>";
             } else {
                 $str .= "<option value=\"" . $state_abbr . "\">" . $state_name . "</option>";
             }
         }
         $str .= "</select>";
         $page_body_content .= "       states_list.innerHTML = '" . $str . "';\n";
         $page_body_content .= "   } else if (id == 'US'){\n";
         // US States
         $str = "<select name=\"state\">";
         foreach ($this->us_states_arr as $state_abbr => $state_name) {
             if ($state_abbr == $this->user_account['State']) {
                 $str .= "<option value=\"" . $state_abbr . "\" selected>" . $state_name . "</option>";
             } else {
                 $str .= "<option value=\"" . $state_abbr . "\">" . $state_name . "</option>";
             }
         }
         $str .= "</select>";
         $page_body_content .= "        states_list.innerHTML = '" . $str . "';\n";
         $page_body_content .= "    } else {\n";
         $page_body_content .= "        states_list.innerHTML = '<select name=\"state\"><option value=\"\">N/A</option></select>';\n";
         $page_body_content .= "    }\n";
         $page_body_content .= "}\n";
         $page_body_content .= "function resetFields() {\n";
         // set labels font color to black
         $page_body_content .= "    var lbl_errors = document.getElementById('lbl_errors');\n";
         $page_body_content .= "    lbl_errors.innerHTML = '';\n";
         $page_body_content .= "    var lbl_fname = document.getElementById('lbl_fname');\n";
         $page_body_content .= sprintf("    lbl_fname.innerHTML = '<font color=\"#000000\">%s</font>';\n", _("First Name"));
         $page_body_content .= "    var lbl_lname = document.getElementById('lbl_lname');\n";
         $page_body_content .= sprintf("    lbl_lname.innerHTML = '<font color=\"#000000\">%s</font>';\n", _("Last Name"));
         $page_body_content .= "    var lbl_email = document.getElementById('lbl_email');\n";
         $page_body_content .= sprintf("    lbl_email.innerHTML = '<font color=\"#000000\">%s</font>';\n", _('Email'));
         $page_body_content .= "    var lbl_ccnum = document.getElementById('lbl_ccnum');\n";
         $page_body_content .= sprintf("    lbl_ccnum.innerHTML = '<font color=\"#000000\">%s</font>';\n", _("Card Number"));
         $page_body_content .= "    var lbl_cvn = document.getElementById('lbl_cvn');\n";
         $page_body_content .= sprintf("    lbl_cvn.innerHTML = '<font color=\"#000000\">%s</font>';\n", _("Card Verification Number"));
         $page_body_content .= "    var lbl_addr1 = document.getElementById('lbl_addr1');\n";
         $page_body_content .= sprintf("    lbl_addr1.innerHTML = '<font color=\"#000000\">%s</font>';\n", _("Address"));
         $page_body_content .= "    var lbl_city = document.getElementById('lbl_city');\n";
         $page_body_content .= sprintf("    lbl_city.innerHTML = '<font color=\"#000000\">%s</font>';\n", _("City"));
         $page_body_content .= "    var lbl_country = document.getElementById('lbl_country');\n";
         $page_body_content .= sprintf("    lbl_country.innerHTML = '<font color=\"#000000\">%s</font>';\n", _("Country"));
         $page_body_content .= "    var lbl_postcode = document.getElementById('lbl_postcode');\n";
         $page_body_content .= sprintf("    lbl_postcode.innerHTML = '<font color=\"#000000\">%s</font>';\n", _("Postcode"));
         //$page_body_content .= "total_purchase.innerHTML = '".$this->cart_items[0]['price']." USD <input type=\"hidden\" name=\"amount\" value=\"".$this->cart_items[0]['price']."\"><input type=\"hidden\" name=\"item\" value=\"".$this->cart_items[0]."\">';\n";
         $page_body_content .= "    var tran_key = document.getElementById('tran_key');\n";
         $tk = CreditCardProcessor::randomString(26);
         $page_body_content .= "    tran_key.innerHTML = '<input type=\"hidden\" name=\"transactionKey\" value=\"" . $tk . "\">';\n";
         $page_body_content .= "    var total_purchase = document.getElementById('total_purchase');\n";
         $page_body_content .= "    total_purchase.innerHTML = '" . $total_currency . "<input type=\"hidden\" name=\"amount\" value=\"" . $total . "\">';\n";
         if ($this->vat) {
             $page_body_content .= "    var vat_purchase = document.getElementById('vat_purchase');\n";
             $page_body_content .= "    vat_purchase.innerHTML   = '" . $vat_currency . "<input type=\"hidden\" name=\"vat\" value=\"" . $vat_value . "\">';\n";
         }
         $page_body_content .= "    var states_list = document.getElementById('states_list');\n";
         if ($this->user_account['Country'] == 'CA') {
             // Canada States
             $str1 .= "<select name=\"state\">";
             foreach ($this->can_states_arr as $state_abbr => $state_name) {
                 if ($state_abbr == $this->user_account['State']) {
                     $str1 .= "<option value=\"" . $state_abbr . "\" selected>" . $state_name . "</option>";
                 } else {
                     $str1 .= "<option value=\"" . $state_abbr . "\">" . $state_name . "</option>";
                 }
             }
             $str1 .= "</select>";
             $page_body_content .= "    states_list.innerHTML = '" . $str1 . "';\n";
         } else {
             if ($this->user_account['Country'] == 'US') {
                 // US States
                 $str2 = "<select name=\"state\">";
                 foreach ($this->us_states_arr as $state_abbr => $state_name) {
                     if ($state_abbr == $this->user_account['State']) {
                         $str2 .= "<option value=\"" . $state_abbr . "\" selected>" . $state_name . "</option>";
                     } else {
                         $str2 .= "<option value=\"" . $state_abbr . "\">" . $state_name . "</option>";
                     }
                 }
                 $str2 .= "</select>";
                 $page_body_content .= "    states_list.innerHTML = '" . $str2 . "';\n";
             } else {
                 $page_body_content .= "    states_list.innerHTML = '<select name=\"state\"><option value=\"\">N/A</option></select>';\n";
             }
         }
         $page_body_content .= "}\n";
         $page_body_content .= "</script>\n";
         $page_body_content .= '<body onload="javascript:resetFields();" marginwidth=15 leftmargin=15 link=#000066>';
         $page_body_content .= "<form method=\"POST\" name=\"agpay_frm\" id=\"agpay_frm\" onsubmit=\"return agpay_frm_validator(this)\" ><div id=\"tran_key\"></div>\n";
         $page_body_content .= "<table width=100%>\n";
         $page_body_content .= "<tr>\n";
         $page_body_content .= sprintf("<td colspan=\"2\" class=%s><b>%s</b></td>\n", $this->chapter_class, _("Shopping Cart"));
         $page_body_content .= "</tr>\n";
         // decided to display all items in the shopping cart as a list rather than a
         // dropdown menu
         /*
         $page_body_content .= "<select name=\"item_purchase\" onChange=\"changeAmount(this)\">\n";
         foreach($this->cart_items as $item_array => $item_details){
             $page_body_content .=  "<option value=\"".$item_array."|".$item_details['price']."\">".$item_details['description']."</option>\n";
         }
         $page_body_content .= "</select>\n";
         */
         $t = 0;
         foreach ($this->cart_items as $item_array => $item_details) {
             $t++;
             $rr = floor($t / 2);
             $mod = $t - $rr * 2;
             if ($mod == 0) {
                 $_class = $this->odd_row_class;
             } else {
                 $_class = $this->even_row_class;
             }
             $page_body_content .= "<tr class=" . $_class . ">\n                <input type=\"hidden\" name=\"cart_item[]\" value=\"" . $item_array . "\">\n                <input type=\"hidden\" name=\"cart_item_price[]\" value=\"" . $item_details['price'] . "\">" . "<td>" . $item_details['description'] . "</td>" . "<td>" . money_format('%i', $item_details['price']) . "</td></tr>\n";
         }
         if ($this->vat) {
             if ($_class == $this->even_row_class) {
                 $_class = $this->odd_row_class;
             } else {
                 $_class = $this->even_row_class;
             }
             $page_body_content .= sprintf("<tr class=%s>\n", $_class);
             $page_body_content .= sprintf("<td>%s (%s%s)</td>\n", _("VAT"), $this->vat, '%');
             $page_body_content .= "<td><div id=\"vat_purchase\"></div></td>\n";
             $page_body_content .= "</tr>\n";
             if ($_class == $this->even_row_class) {
                 $_class = $this->odd_row_class;
             } else {
                 $_class = $this->even_row_class;
             }
             $page_body_content .= sprintf("<tr class=%s>\n", $_class);
             $page_body_content .= sprintf("<td><b>%s</b></td>\n", _("Total Due"));
             $page_body_content .= "<td><div id=\"total_purchase\"></div></td>\n";
             $page_body_content .= "</tr>\n";
         } else {
             if ($_class == $this->even_row_class) {
                 $_class = $this->odd_row_class;
             } else {
                 $_class = $this->even_row_class;
             }
             $page_body_content .= sprintf("<tr class=%s>\n", $_class);
             $page_body_content .= sprintf("<td><b>%s</b></td>\n", _("Total Due"));
             $page_body_content .= "<td><div id=\"total_purchase\"></div></td>\n";
             $page_body_content .= "</tr>\n";
         }
         $page_body_content .= "<tr>\n";
         $page_body_content .= "<td colspan=\"2\"><div id=\"lbl_errors\"></div></td>\n";
         $page_body_content .= "</tr>\n";
         $page_body_content .= "<tr>\n";
         $page_body_content .= sprintf("<td colspan=\"2\" class=%s><b>%s</b></td>\n", $this->chapter_class, _("Credit Card Details"));
         $page_body_content .= "</tr>\n";
         $page_body_content .= sprintf("<tr class=%s>\n", $this->even_row_class);
         $page_body_content .= sprintf("<td>%s</td>\n", _("Card Type"));
         $page_body_content .= "<td>\n";
         $page_body_content .= "<select name=\"creditCardType\">\n";
         $page_body_content .= "<option value=\"Visa\" selected>Visa</option>\n";
         $page_body_content .= "<option value=\"MasterCard\">MasterCard</option>\n";
         $page_body_content .= "<option value=\"Discover\">Discover</option>\n";
         $page_body_content .= "<option value=\"Amex\">American Express</option>\n";
         $page_body_content .= "</select>\n";
         $page_body_content .= "</td>\n";
         $page_body_content .= "</tr>\n";
         $page_body_content .= sprintf("<tr class=%s>\n", $this->odd_row_class);
         $page_body_content .= "<td><div id=\"lbl_ccnum\"></div></td>\n";
         $page_body_content .= "<td><input type=\"text\" size=\"30\" maxlength=\"19\" name=\"creditCardNumber\" value=\"" . $this->user_account['card_number'] . "\"></td>\n";
         $page_body_content .= "</tr>\n";
         $page_body_content .= sprintf("<tr class=%s>\n", $this->even_row_class);
         $page_body_content .= sprintf("<td>%s</td>\n", _("Expiration Date"));
         $page_body_content .= "<td>";
         $page_body_content .= "<select name=\"expDateMonth\">\n";
         for ($m = 1; $m <= 12; $m++) {
             if ($m == 11) {
                 $page_body_content .= "<option value=\"" . $m . "\" selected>" . date("F", mktime(0, 0, 0, $m + 1, 0, 0, 0)) . "</option>\n";
             } else {
                 $page_body_content .= "<option value=\"" . $m . "\">" . date("F", mktime(0, 0, 0, $m + 1, 0, 0, 0)) . "</option>\n";
             }
         }
         $page_body_content .= "</select>\n";
         $page_body_content .= "<select name=\"expDateYear\">\n";
         $cur_year = date('Y');
         $years_out = 10;
         $max_year = $cur_year + $years_out;
         for ($y = $cur_year; $y < $max_year; $y++) {
             if ($cur_year == $y - 2) {
                 $page_body_content .= "<option value=\"" . $y . "\" selected>" . $y . "</option>\n";
             } else {
                 $page_body_content .= "<option value=\"" . $y . "\">" . $y . "</option>\n";
             }
         }
         $page_body_content .= "</select>\n";
         $page_body_content .= "</td>\n";
         $page_body_content .= "</tr>\n";
         $page_body_content .= sprintf("<tr class=%s>\n", $this->odd_row_class);
         $page_body_content .= "<td><div id=\"lbl_cvn\"></div></td>\n";
         $page_body_content .= "<td><input type=\"text\" size=\"3\" maxlength=\"4\" name=\"cvv2Number\" value=\"" . $this->user_account['card_cvn'] . "\"</td>\n";
         $page_body_content .= "</tr>\n";
         $page_body_content .= "<tr>\n";
         $page_body_content .= sprintf("<td colspan=\"2\" class=%s><b>%s</b></td>\n", $this->chapter_class, _("Card Holder Information"));
         $page_body_content .= "</tr>\n";
         $page_body_content .= sprintf("<tr class=%s>\n", $this->even_row_class);
         $page_body_content .= "<td><div id=\"lbl_fname\"></div></td>\n";
         $page_body_content .= "<td><input type=\"text\" size=\"30\" maxlength=\"32\" name=\"firstName\" value=\"" . $this->user_account['FirstName'] . "\"></td>\n";
         $page_body_content .= "</tr>\n";
         $page_body_content .= sprintf("<tr class=%s>\n", $this->odd_row_class);
         $page_body_content .= "<td><div id=\"lbl_lname\"></div></td>\n";
         $page_body_content .= "<td><input type=\"text\" size=\"30\" maxlength=\"32\" name=\"lastName\" value=\"" . $this->user_account['LastName'] . "\"></td>\n";
         $page_body_content .= "</tr>\n";
         $page_body_content .= sprintf("<tr class=%s>\n", $this->even_row_class);
         $page_body_content .= "<td><div id=\"lbl_email\"></div></td>\n";
         $page_body_content .= "<td><input type=\"text\" size=\"30\" maxlength=\"50\" name=\"emailAddress\" value=\"" . $this->user_account['Email'] . "\"></td>\n";
         $page_body_content .= "</tr>\n";
         $page_body_content .= sprintf("<tr class=%s>\n", $this->odd_row_class);
         $page_body_content .= sprintf("<td colspan=\"2\" class=%s><b>%s</b></td>\n", $this->chapter_class, _("Address"));
         $page_body_content .= "</tr>\n";
         $page_body_content .= sprintf("<tr class=%s>\n", $this->even_row_class);
         $page_body_content .= "<td valign=top><div id=\"lbl_addr1\"></div></td>\n";
         $page_body_content .= "<td><textarea cols=\"30\" rows=3 maxlength=\"200\" name=\"address1\">" . $this->user_account['Address1'] . "</textarea></td>\n";
         $page_body_content .= "</tr>\n";
         /*
         $page_body_content .= "<tr>\n";
         $page_body_content .= "<td>Sta/Apt</td>\n";
         $page_body_content .= "<td><input type=\"text\" size=\"30\" maxlength=\"100\" name=\"address2\" value=\"".$this->user_account['Address2']."\"></td>\n";
         $page_body_content .= "</tr>\n";
         */
         $page_body_content .= sprintf("<tr class=%s>\n", $this->odd_row_class);
         $page_body_content .= "<td><div id=\"lbl_city\"></div></td>\n";
         $page_body_content .= "<td><input type=\"text\" size=\"30\" maxlength=\"40\" name=\"city\" value=\"" . $this->user_account['City'] . "\"></td>\n";
         $page_body_content .= "</tr>\n";
         $page_body_content .= sprintf("<tr class=%s>\n", $this->even_row_class);
         $page_body_content .= "<td><div id=\"lbl_country\"></div></td>\n";
         $page_body_content .= "<td>\n";
         $page_body_content .= "<select name=\"country\" id=\"country\" onChange=\"changeStates(this)\">\n";
         foreach ($this->countries_array as $country_abbr => $country_name) {
             if ($this->user_account['Country'] == $country_abbr) {
                 $page_body_content .= "<option value=\"" . $country_abbr . "\" selected>" . $country_name . "</option>\n";
             } else {
                 $page_body_content .= "<option value=\"" . $country_abbr . "\">" . $country_name . "</option>\n";
             }
         }
         $page_body_content .= "</select>\n";
         $page_body_content .= "</td>\n";
         $page_body_content .= "</tr>\n";
         $page_body_content .= sprintf("<tr class=%s>\n", $this->odd_row_class);
         $page_body_content .= sprintf("<td>%s</td>\n", _("State"));
         $page_body_content .= "<td><div id=\"states_list\"></div>\n";
         $page_body_content .= "</td>\n";
         $page_body_content .= "</tr>\n";
         $page_body_content .= sprintf("<tr class=%s>\n", $this->even_row_class);
         $page_body_content .= "<td><div id=\"lbl_postcode\"></div></td>\n";
         $page_body_content .= "<td><input type=\"text\" size=\"8\" maxlength=\"10\" name=\"zip\" value=\"" . $this->user_account['PostCode'] . "\"></td>\n";
         $page_body_content .= "</tr>\n";
         $page_body_content .= sprintf("<tr class='form-actions %s'>\n", $this->odd_row_class);
         $page_body_content .= "<input type=hidden name=purchase value=1>\n";
         $page_body_content .= sprintf("<td colspan=2><input class='btn btn-primary' type=\"submit\" name=\"submit\" value=\"%s\">\n", _("Purchase"));
         $page_body_content .= "<input class='btn' type=\"reset\" value=\"Reset\"></td>\n";
         $page_body_content .= "</tr>\n";
         $page_body_content .= "</table>\n";
         $page_body_content .= $this->hidden_elements;
         $page_body_content .= "</form>\n";
         $page_body_close = "";
     } else {
         $page_body_content = "";
         $page_body_start = "";
         $page_body_content = _("You have no items in your cart. ");
         $page_body_content .= "<a href=\"javascript:history.go(-1);\">" . _("Go Back") . "</a>";
         $page_body_close = "";
     }
     $arr_form_page_objects = array('page_head_objects' => $page_head_objects, 'page_body_start' => $page_body_start, 'page_body_content' => $page_body_content, 'page_body_close' => $page_body_close);
     return $arr_form_page_objects;
 }