summaryrefslogtreecommitdiff
path: root/min_selfservice/elements
diff options
context:
space:
mode:
authorChristopher Burger <burgerc@freeside.biz>2018-01-16 12:14:54 -0500
committerChristopher Burger <burgerc@freeside.biz>2018-09-11 11:40:59 -0400
commit76a893c2187f59e7fdb9bc8282b780efd9dd8504 (patch)
treebbdbab4dc1df7ff44fa607162a00f38ab74a1b4e /min_selfservice/elements
parente55e22e00eba74f2713b52fccbbb380f454531f4 (diff)
RT# 39340 - Created minimal selfservice that only allows payments to be made, authorization is based on ip and mac address. This is not done yet need to write routine to get mac address from radius server based on ip address.
Diffstat (limited to 'min_selfservice/elements')
-rw-r--r--min_selfservice/elements/card.php53
-rw-r--r--min_selfservice/elements/check.php88
-rw-r--r--min_selfservice/elements/error.php3
-rw-r--r--min_selfservice/elements/footer.php1
-rw-r--r--min_selfservice/elements/header.php14
-rw-r--r--min_selfservice/elements/menu.php100
-rw-r--r--min_selfservice/elements/menu_footer.php3
-rw-r--r--min_selfservice/elements/session.php6
8 files changed, 268 insertions, 0 deletions
diff --git a/min_selfservice/elements/card.php b/min_selfservice/elements/card.php
new file mode 100644
index 000000000..4d502c223
--- /dev/null
+++ b/min_selfservice/elements/card.php
@@ -0,0 +1,53 @@
+<TR>
+ <TD ALIGN="right">Card&nbsp;number</TD>
+ <TD COLSPAN=6>
+ <TABLE>
+ <TR>
+ <TD>
+ <INPUT TYPE="text" NAME="payinfo" SIZE=20 MAXLENGTH=19 VALUE="<? echo $payinfo ?>"> </TD>
+ <TD>Exp.</TD>
+ <TD>
+ <SELECT NAME="month">
+ <? $months = array( '01', '02', '03' ,'04', '05', '06', '07', '08', '09', '10', '11', '12' );
+ foreach ( $months AS $m ) {
+ ?>
+ <OPTION <? if ($m == $month) { echo 'SELECTED'; } ?>><? echo $m; ?>
+ <? } ?>
+ </SELECT>
+ </TD>
+ <TD> / </TD>
+ <TD>
+ <SELECT NAME="year">
+ <? $years = array( '2018', '2019', '2020', '2021', '2022', '2023', '2024', '2025', '2026' );
+ foreach ( $years as $y ) {
+ ?>
+ <OPTION <? if ($y == $year ) { echo 'SELECTED'; } ?>><? echo $y; ?>
+ <? } ?>
+ </SELECT>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+</TR>
+<? if ( $withcvv ) { ?>
+ <TR>
+ <TD ALIGN="right">CVV2&nbsp;(<A HREF="javascript:myopen('cvv2.html','cvv2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=480,height=288')">help</A>)</TD>
+ <TD><INPUT TYPE="text" NAME="paycvv" VALUE="" SIZE=4 MAXLENGTH=4></TD>
+ </TR>
+<? } ?>
+<TR>
+ <TD ALIGN="right">Exact&nbsp;name&nbsp;on&nbsp;card</TD>
+ <TD COLSPAN=6><INPUT TYPE="text" SIZE=32 MAXLENGTH=80 NAME="payname" VALUE="<? echo $payname; ?>"></TD>
+</TR>
+
+<? $lf = $freeside->mason_comp(array(
+ 'session_id' => $_COOKIE['session_id'],
+ 'comp' => '/elements/location.html',
+ 'args' => [
+ 'no_asterisks' , 1,
+ #'address1_label' , 'Card billing address',
+ 'address1_label' , 'Card&nbsp;billing&nbsp;address',
+ ],
+ ));
+ echo $lf['output'];
+?>
diff --git a/min_selfservice/elements/check.php b/min_selfservice/elements/check.php
new file mode 100644
index 000000000..fd0cd6d91
--- /dev/null
+++ b/min_selfservice/elements/check.php
@@ -0,0 +1,88 @@
+<? if ($ach_read_only) { $bgShade = 'BGCOLOR="#ffffff"'; } ?>
+<TR>
+ <TD ALIGN="right">Account&nbsp;type</TD>
+ <TD <? echo $bgShade; ?>>
+ <? if ($ach_read_only) { echo htmlspecialchars($paytype); ?>
+ <INPUT TYPE="hidden" NAME="paytype" VALUE="<? echo $paytype; ?>">
+ <? } else { ?>
+ <SELECT NAME="paytype">
+ <? foreach ( $paytypes AS $pt ) { ?>
+ <OPTION <? if ($pt == $paytype ) { echo 'SELECTED'; } ?> VALUE="<? echo $pt; ?>"><? echo $pt; ?>
+ <? } ?>
+ </SELECT>
+ <? } ?>
+ </TD>
+</TR><TR>
+ <TD ALIGN="right">Account&nbsp;number</TD>
+ <TD <? echo $bgShade; ?>>
+ <? if ($ach_read_only) { echo htmlspecialchars($payinfo1); ?>
+ <INPUT TYPE="hidden" NAME="payinfo1" VALUE="<? echo $payinfo1; ?>">
+ <? } else { ?>
+ <INPUT TYPE="text" NAME="payinfo1" SIZE=10 MAXLENGTH=20 VALUE="<? echo $payinfo1; ?>">
+ <? } ?>
+ </TD>
+</TR><TR>
+ <TD ALIGN="right">ABA/Routing&nbsp;number</TD>
+ <TD <? echo $bgShade; ?>>
+ <? if ($ach_read_only) { echo htmlspecialchars($payinfo2); ?>
+ <INPUT TYPE="hidden" NAME="payinfo2" VALUE="<? echo $payinfo2; ?>">
+ <? } else { ?>
+ <INPUT TYPE="text" NAME="payinfo2" SIZE=10 MAXLENGTH=9 VALUE="<? echo $payinfo2; ?>"></TD>
+ <? } ?>
+</TR><TR>
+ <TD ALIGN="right">Bank&nbsp;name</TD>
+ <TD <? echo $bgShade; ?>>
+ <? if ($ach_read_only) { echo htmlspecialchars($payname); ?>
+ <INPUT TYPE="hidden" NAME="payname" VALUE="<? echo $payname; ?>"></TD>
+ <? } else { ?>
+ <INPUT TYPE="text" SIZE=32 MAXLENGTH=80 NAME="payname" VALUE="<? echo $payname; ?>"></TD>
+ <? } ?>
+</TR><TR>
+
+ <? if ($show_paystate) { ?>
+ <TR>
+ <TD ALIGN="right">Bank state</TD>
+ <TD <? echo $bgShade; ?>>
+ <? if ($ach_read_only) { echo htmlspecialchars($paystate); ?>
+ <INPUT TYPE="hidden" NAME="paystate" VALUE="<? echo $paystate; ?>"></TD>
+ <? } else { ?>
+ <SELECT NAME="paystate">
+ <? foreach ( $states AS $s ) { ?>
+ <OPTION <? if ($s == $paystate ) { echo 'SELECTED'; } ?>><? echo $s; ?>
+ <? } ?>
+ </SELECT></TD>
+ <? } ?>
+ </TR>
+ <? } ?>
+
+ <? if ($show_ss) { ?>
+ <TR>
+ <TD ALIGN="right">Account&nbsp;holder<BR>Social&nbsp;security&nbsp;or&nbsp;tax&nbsp;ID&nbsp;#</TD>
+ <TD <? echo $bgShade; ?>>
+ <? if ($ach_read_only) { echo htmlspecialchars($ss); ?>
+ <INPUT TYPE="hidden" NAME="ss" VALUE="<? echo $ss; ?>"></TD>
+ <? } else { ?>
+ <INPUT TYPE="text" SIZE=32 MAXLENGTH=80 NAME="ss" VALUE="<? echo $ss; ?>"></TD>
+ <? } ?>
+ </TR>
+ <? } ?>
+
+ <? if ($show_stateid) { ?>
+ <TR>
+ <TD ALIGN="right">Account&nbsp;holder<BR><? echo $stateid_label; ?></TD>
+ <TD <? echo $bgShade; ?>>
+ <? if ($ach_read_only) { echo htmlspecialchars($stateid); ?>
+ <INPUT TYPE="hidden" NAME="stateid" VALUE="<? echo $stateid; ?>"></TD>
+ <TD <? echo $bgShade; ?>> <? echo $stateid_state; ?>
+ <INPUT TYPE="hidden" NAME="stateid_state" VALUE="<? echo $stateid_state; ?>"></TD>
+ <? } else { ?>
+ <INPUT TYPE="text" SIZE=32 MAXLENGTH=80 NAME="stateid" VALUE="<? echo $stateid; ?>"></TD>
+ <TD ALIGN="right"><? echo $stateid_state_label; ?></TD>
+ <TD><SELECT NAME="stateid_state">
+ <? foreach ( $states AS $s ) { ?>
+ <OPTION <? if ($s == $stateid_state ) { echo 'SELECTED'; } ?>><? echo $s; ?>
+ <? } ?>
+ </SELECT></TD>
+ <? } ?>
+ </TR>
+ <? } ?>
diff --git a/min_selfservice/elements/error.php b/min_selfservice/elements/error.php
new file mode 100644
index 000000000..c8d8a179e
--- /dev/null
+++ b/min_selfservice/elements/error.php
@@ -0,0 +1,3 @@
+<? if ($error) { ?>
+ <FONT SIZE="+1" COLOR="#ff0000"><? echo htmlspecialchars($error); echo '<BR><BR>'; ?></FONT>
+<? } ?>
diff --git a/min_selfservice/elements/footer.php b/min_selfservice/elements/footer.php
new file mode 100644
index 000000000..fb662be73
--- /dev/null
+++ b/min_selfservice/elements/footer.php
@@ -0,0 +1 @@
+</BODY></HTML>
diff --git a/min_selfservice/elements/header.php b/min_selfservice/elements/header.php
new file mode 100644
index 000000000..633996515
--- /dev/null
+++ b/min_selfservice/elements/header.php
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<HTML>
+ <HEAD>
+ <TITLE>
+ <? echo $title; ?>
+ </TITLE>
+ <link href="css/default.css" rel="stylesheet" type="text/css"/>
+ <script type="text/javascript" src="js/jquery.js"></script>
+ <script type="text/javascript" src="js/menu.js"></script>
+ </HEAD>
+ <BODY>
+ <FONT SIZE=5><? echo $title; ?></FONT>
+ <BR><BR>
+
diff --git a/min_selfservice/elements/menu.php b/min_selfservice/elements/menu.php
new file mode 100644
index 000000000..5f600d5c0
--- /dev/null
+++ b/min_selfservice/elements/menu.php
@@ -0,0 +1,100 @@
+<?
+
+require_once('session.php');
+
+$skin_info = $freeside->skin_info( array(
+ 'session_id' => $_COOKIE['session_id'],
+) );
+
+extract($skin_info);
+
+?>
+<style type="text/css">
+#menu_ul ul li {
+ display: inline;
+ width: 100%;
+}
+</style>
+
+<ul id="menu_ul">
+
+<?
+
+ $menu_array = array(
+ 'payment.php Payments',
+ 'payment_cc.php Credit Card Payment',
+ 'payment_ach.php Electronic check payment',
+ 'payment_paypal.php PayPal payment',
+ 'payment_webpay.php Webpay payment',
+ );
+ $submenu = array();
+
+ foreach ($menu_array AS $menu_item) {
+ if ( preg_match('/^\s*$/', $menu_item) ) {
+ print_menu($submenu, $current_menu, $menu_disable);
+ $submenu = array();
+ } else {
+ $submenu[] = $menu_item;
+ }
+ }
+ print_menu($submenu, $current_menu, $menu_disable);
+
+ function print_menu($submenu_array, $current_menu, $menu_disable) {
+ if ( count($submenu_array) == 0 ) { return; }
+
+ $links = array();
+ $labels = array();
+ foreach ($submenu_array AS $submenu_item) {
+ $pieces = preg_split('/\s+/', $submenu_item, 2, PREG_SPLIT_NO_EMPTY);
+ $links[] = $pieces[0];
+ $labels[] = $pieces[1];
+ }
+
+ print_link($links[0], $labels[0], $current_menu, $links);
+
+ if ( count($links) > 1 ) {
+ if ( in_array( $current_menu, $links ) ) {
+ echo '<img src="images/dropdown_arrow_white.gif">';
+ } else {
+ echo '<img src="images/dropdown_arrow_white.gif" style="display:none;">';
+ echo '<img src="images/dropdown_arrow_grey.gif">';
+ }
+ }
+
+ array_shift($links);
+ array_shift($labels);
+
+ echo '</a>';
+
+ if ( count($links) > 0 ) {
+ echo '<ul>';
+ foreach ($links AS $link) {
+ $label = array_shift($labels);
+ if ( in_array($label, $menu_disable) == 0) {
+ print_link($link, $label, $current_menu, array($link) );
+ echo '</a></li>';
+ }
+ }
+ echo '</ul>';
+ }
+
+ echo '</li>';
+
+ }
+
+ function print_link($link, $label, $current_menu, $search_array) {
+ echo '<li><a href="'. $link. '"';
+ if ( in_array( $current_menu, $search_array ) ) {
+ echo ' class="current_menu"';
+ }
+ echo '>'. _($label);
+ }
+
+?>
+
+</ul>
+
+<div style="clear:both;"></div>
+<table cellpadding="0" cellspacing="0" border="0" style="min-width:666px">
+<tr>
+<td class="page"> \ No newline at end of file
diff --git a/min_selfservice/elements/menu_footer.php b/min_selfservice/elements/menu_footer.php
new file mode 100644
index 000000000..8beeeaf02
--- /dev/null
+++ b/min_selfservice/elements/menu_footer.php
@@ -0,0 +1,3 @@
+</td>
+</tr>
+</table>
diff --git a/min_selfservice/elements/session.php b/min_selfservice/elements/session.php
new file mode 100644
index 000000000..a6b8b4af0
--- /dev/null
+++ b/min_selfservice/elements/session.php
@@ -0,0 +1,6 @@
+<?
+
+require_once('freeside.class.php');
+$freeside = new FreesideSelfService();
+
+?>