<?php /** * **************************************************************************************** * Copyright (c) 2013 Christopher W. * Olsen <cwolsen@ubixtechnologies.com> * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, this list of * conditions, the following disclaimer and the list of authors. Redistributions in binary * form must reproduce the above copyright notice, this list of conditions, the following * disclaimer and the list of authors in the documentation and/or other materials provided * with the distribution. Neither the name of the uBix Cube Project nor the names of its * contributors may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $Id: add_pm.php 940 2017-09-07 20:12:42Z reddawg $ * * *************************************************************************************** */ /* Main include info */ ini_set ( 'include_path', $_SERVER ['DOCUMENT_ROOT'] . "/include/" ); include ("config.php"); /* Assign the page title */ $ubF->tpl->assign ( "PAGE_TITLE", "Billing - Add Payment Method" ); /* Main defines */ $ubF->tpl->define ( array ( "index" => "user/wrapper/default.html" ) ); $ubF->tpl->define ( array ( "menu" => "user/billing/menu.html" ) ); $ubF->tpl->define ( array ( "body" => "user/billing/add_pm.html" ) ); $ubF->session->Validate ( 'U_A_', 0 ); $form_data = $data ['data']; if ( isset ( $form_data ['add_card'] ) && $form_data ['add_card'] == "Review" ) { $message = ""; if ( strlen ( $form_data ['nickname'] ) < 2 ) $message .= "Invalid Nickname, It Must Be Atleast 2 Characters.<br />"; if ( !(strlen ( $form_data ['card_number'] ) == 15 || strlen ( $form_data ['card_number'] ) == 16) ) $message .= "Invalid Credit Card Number.<br />"; if ( $form_data ['exp_year'] == date ( "Y" ) && $form_data ['exp_month'] < date ( "m" ) ) $message .= "Invalid Expiration Date.<br />"; if ( !(strlen ( $form_data ['cvv'] ) == 3 || strlen ( $form_data ['cvv'] ) == 4) || !is_numeric ( $form_data ['cvv'] ) ) $message .= "Invalid CVV Code.<br />"; if ( strlen ( $form_data ['cardholder_name'] ) < 3 ) $message .= "Invalid Name On Card.<br />"; if ( strlen ( $form_data ['address1'] ) < 3 ) $message .= "Invalid Address.<br />"; if ( strlen ( $form_data ['city'] ) < 3 ) $message .= "Invalid City.<br />"; if ( strlen ( $form_data ['zip'] ) != 5 || !is_numeric ( $form_data ['zip'] ) ) $message .= "Invalid Zip.<br />"; if ( strlen ( $message ) == 0 ) { $ubF->tpl->define ( array ( "body" => "billing/add_pm_review.html" ) ); $ubF->tpl->assign ( "NICKNAME", $form_data ['nickname'] ); $ubF->tpl->assign ( "CARD_NUMBER", $form_data ['card_number'] ); $ubF->tpl->assign ( "METHOD_TYPE_STRING", $data->libs['ubf']->paymentMethodTypes [$form_data ['method_type']] ); $ubF->tpl->assign ( "METHOD_TYPE", $form_data ['method_type'] ); $ubF->tpl->assign ( "CARD_TYPE_STRING", $data->libs['ubf']->paymentCardTypes [$form_data ['card_type']] ); $ubF->tpl->assign ( "CARD_TYPE", $form_data ['card_type'] ); $ubF->tpl->assign ( "EXP_MONTH", $form_data ['exp_month'] ); $ubF->tpl->assign ( "EXP_YEAR", $form_data ['exp_year'] ); $ubF->tpl->assign ( "CVV", $form_data ['cvv'] ); $ubF->tpl->assign ( "TYPE_STRING", $data->libs['ubf']->paymentTypes [$form_data ['type']] ); $ubF->tpl->assign ( "TYPE", $form_data ['type'] ); $ubF->tpl->assign ( "CARDHOLDER_NAME", $form_data ['cardholder_name'] ); $ubF->tpl->assign ( "ADDRESS1", $form_data ['address1'] ); $ubF->tpl->assign ( "ADDRESS2", $form_data ['address2'] ); $ubF->tpl->assign ( "CITY", $form_data ['city'] ); $ubF->tpl->assign ( "STATE", $form_data ['state'] ); $ubF->tpl->assign ( "ZIP", $form_data ['zip'] ); $ubF->tpl->parse ( "MENU", array ( "menu" ) ); $ubF->tpl->parse ( "BODY", array ( "body" ) ); $ubF->tpl->parse ( "INDEX", array ( "index" ) ); $ubF->tpl->FastPrint ( "INDEX" ); exit (); } } else if ( isset ( $form_data ['add_card'] ) && $form_data ['add_card'] == "Add" ) { $query = "SELECT card_number FROM payment_method WHERE active = 1 AND card_number = '" . $form_data ['card_number'] . "'"; $result = $ubF->DB['main']->query ( $query ); if ( $result->num_rows > 0 ) $message = "Credit Card Already On File.<br />\n"; else { $query = "INSERT INTO payment_method (account_number,nickname,card_number,method_type,card_type,exp_month,exp_year,cvv,type,cardholder_name,address1,address2,city,state,zip,last_four) VALUES('" . $ubF->session->account_number . "','" . $form_data ['nickname'] . "','" . $data->libs['ubf']->encryptData ( $form_data ['card_number'] ) . "'," . $form_data ['method_type'] . "," . $form_data ['card_type'] . "," . $form_data ['exp_month'] . "," . $form_data ['exp_year'] . ",'" . $form_data ['cvv'] . "'," . $form_data ['type'] . ",'" . $form_data ['cardholder_name'] . "','" . $form_data ['address1'] . "','" . $form_data ['address2'] . "','" . $form_data ['city'] . "','" . $form_data ['state'] . "'," . $form_data ['zip'] . "," . substr ( $form_data ['card_number'], -4, 4 ) . ")"; $ubF->DB['main']->query ( $query ); // $message = "Credit Card Successfully Added To Your Account.<br />\n"; Header ( "Location: /billing/billing.php" ); exit (); } $result->free (); } $method_type = ""; foreach ( $data->libs['ubf']->paymentMethodTypes as $key => $val ) { if ( $key == $form_data ['method_type'] ) $method_type .= "<option value=\"$key\" selected>$val</option>\n"; else $method_type .= "<option value=\"$key\">$val</option>\n"; } $card_type = ""; foreach ( $data->libs['ubf']->paymentCardTypes as $key => $val ) { if ( $key == $form_data ['card_type'] ) $card_type .= "<option value=\"$key\" selected>$val</option>\n"; else $card_type .= "<option value=\"$key\">$val</option>\n"; } $exp_month = ""; for ( $i = 1 ; $i <= 12 ; $i++ ) { if ( $i == $form_data ['exp_month'] ) $exp_month .= "<option value=\"$i\" selected>$i</option>\n"; else $exp_month .= "<option value=\"$i\">$i</option>\n"; } $exp_year = ""; for ( $i = date ( "Y" ) ; $i <= (date ( "Y" ) + 10) ; $i++ ) { if ( $i == $form_data ['exp_year'] ) $exp_year .= "<option value=\"$i\" selected>$i</option>\n"; else $exp_year .= "<option value=\"$i\">$i</option>\n"; } $type = ""; foreach ( $data->libs['ubf']->paymentTypes as $key => $val ) { if ( $key == $form_data ['type'] ) $type .= "<option value=\"$key\" selected>$val</option>\n"; else $type .= "<option value=\"$key\">$val</option>\n"; } $state = ""; $query = "SELECT * FROM state_list ORDER BY state_code"; $result = $ubF->DB['main']->query ( $query ); while ( $sData = $result->fetch_assoc () ) { if ( $sData ['state_code'] == $form_data ['state'] ) $state .= "<option value=\"" . $sData ['state_code'] . "\" selected>" . $sData ['state_name'] . "</option>\n"; else $state .= "<option value=\"" . $sData ['state_code'] . "\">" . $sData ['state_name'] . "</option>\n"; } $result->free (); if ( strlen ( $message ) == 0 ) $ubF->tpl->assign ( "MESSAGE", $message ); else $ubF->tpl->assign ( "MESSAGE", "<font style=\"color:red;\">" . $message . "</font>" ); $ubF->tpl->assign ( "NICKNAME", $form_data ['nickname'] ); $ubF->tpl->assign ( "CARD_NUMBER", $form_data ['card_number'] ); $ubF->tpl->assign ( "METHOD_TYPE", $method_type ); $ubF->tpl->assign ( "CARD_TYPE", $card_type ); $ubF->tpl->assign ( "EXP_MONTH", $exp_month ); $ubF->tpl->assign ( "EXP_YEAR", $exp_year ); $ubF->tpl->assign ( "CVV", $form_data ['cvv'] ); $ubF->tpl->assign ( "TYPE", $type ); $ubF->tpl->assign ( "CARDHOLDER_NAME", $form_data ['cardholder_name'] ); $ubF->tpl->assign ( "ADDRESS1", $form_data ['address1'] ); $ubF->tpl->assign ( "ADDRESS2", $form_data ['address2'] ); $ubF->tpl->assign ( "CITY", $form_data ['city'] ); $ubF->tpl->assign ( "STATE", $state ); $ubF->tpl->assign ( "ZIP", $form_data ['zip'] ); /* Parse and print */ $ubF->tpl->parse ( "MENU", array ( "menu" ) ); $ubF->tpl->parse ( "BODY", array ( "body" ) ); $ubF->tpl->parse ( "INDEX", array ( "index" ) ); $ubF->tpl->FastPrint ( "INDEX" ); ?>