19 $serviceShowInfo =
false;
20 $serviceLoadMenu =
false;
21 $serviceShowMenu =
false;
22 $serviceAllowReadonly =
false;
25 require_once(dirname(__FILE__) .
'/../library/hcuService.i');
28 require_once(dirname(__FILE__) .
'/../library/hcuTransfer.i');
31 require_once(dirname(__FILE__) .
'/../library/hcuTransferScheduled.i');
34 require_once(dirname(__FILE__) .
'/../library/hcuExternalAccts.i');
36 $retStatusAry = Array(
38 'homecuErrors' => Array(),
69 $parseRefer = parse_url($_SERVER[
'HTTP_REFERER']);
70 $referScript = basename($parseRefer[
'path']);
72 if (!in_array($referScript, array(
'hcuTransfer.prg',
'hcuTransferSchedule.prg'))) {
74 throw new Exception ( $MC->msg(
'Feature Unavailable', HCU_DISPLAY_AS_RAW) );
80 "form" => array(
'filter' => FILTER_SANITIZE_STRING),
81 "action" => array(
'filter' => FILTER_SANITIZE_STRING),
82 "txId" => array(
'filter' => FILTER_SANITIZE_STRING),
83 "txCode" => array(
'filter' => FILTER_SANITIZE_STRING),
84 "txFromSuffix" => array(
'filter' => FILTER_SANITIZE_STRING),
85 "txFromDesc" => array(
'filter' => FILTER_SANITIZE_STRING),
86 "txFromMember" => array(
'filter' => FILTER_SANITIZE_STRING),
87 "txToSuffix" => array(
'filter' => FILTER_SANITIZE_STRING),
88 "txMemAccount" => array(
'filter' => FILTER_SANITIZE_STRING),
89 "txMemName" => array(
'filter' => FILTER_SANITIZE_STRING),
90 "txMemType" => array(
'filter' => FILTER_SANITIZE_STRING),
91 "txToDesc" => array(
'filter' => FILTER_SANITIZE_STRING),
92 "txToMember" => array(
'filter' => FILTER_SANITIZE_STRING),
93 "txAmount" => array(
'filter' => FILTER_SANITIZE_NUMBER_FLOAT,
'options' => array(
"flags" => FILTER_FLAG_ALLOW_FRACTION ) ),
94 "txMemo" => array(
'filter' => FILTER_SANITIZE_STRING,
'options' => array(
"flags" => FILTER_FLAG_NO_ENCODE_QUOTES)),
95 "txFrequency" => array(
'filter' => FILTER_SANITIZE_STRING),
96 "txFrequencyCount" => array(
'filter' => FILTER_SANITIZE_STRING),
97 "txDateStart" => array(
'filter' => FILTER_SANITIZE_STRING),
98 "txDateEnd" => array(
'filter' => FILTER_SANITIZE_STRING),
99 "txDateNext" => array(
'filter' => FILTER_SANITIZE_STRING),
100 "txStatus" => array(
'filter' => FILTER_SANITIZE_STRING),
101 "txContinue" => array(
'filter' => FILTER_SANITIZE_STRING),
102 "paymentComment" => array(
"filter" => FILTER_SANITIZE_STRING,
'options' => array(
"flags" => FILTER_FLAG_NO_ENCODE_QUOTES)),
103 "transferFrom" => array(
"filter" => FILTER_SANITIZE_STRING)
106 HCU_ImportVars( $inputVars,
"", $varOk );
109 $fromScheduledPage = $referScript ==
"hcuTransferSchedule.prg";
110 $txFromSuffix = HCU_array_key_value(
"txFromSuffix", $inputVars);
111 $txFromSuffix = $txFromSuffix ===
false ? HCU_array_key_value(
"transferFrom", $inputVars) : $txFromSuffix;
112 $txFromSuffix = $txFromSuffix ===
false ?
"" : trim($txFromSuffix);
113 $sourceParts = explode(
"|", $txFromSuffix );
114 $destParts = isset( $inputVars[
"txToSuffix"] ) ? explode(
"|", $inputVars[
"txToSuffix"] ) : array();
115 $txFromMember = HCU_array_key_value(
"txFromMember", $inputVars);
116 $txToMember = HCU_array_key_value(
"txToMember", $inputVars);
118 $txFromMember = $txFromMember ===
false ?
"" : trim($txFromMember);
119 $txToMember = $txToMember ===
false ?
"" : trim($txToMember);
121 if (HCU_array_key_value(
"action", $inputVars) ===
"GetTransferToOptions") {
123 $results = GetTransferToOptions($HB_ENV, $sourceParts, $txFromMember, $fromScheduledPage);
124 $return = array(
"data" => $results[
"transferToList"],
"info" =>
"",
"errors" => $results[
"error"]);
129 if ( (isset( $sourceParts[0] ) && $sourceParts[0] ===
"X") ||
130 (isset( $destParts[0] ) && $destParts[0] ===
"X") ) {
131 $transferFeatureCode = FEATURE_EXTERNAL_TRANSFERS;
132 }
else if ( isset( $destParts[0] ) && $destParts[0] ===
"M" ) {
133 $transferFeatureCode = FEATURE_M2M_TRANSFERS;
134 }
else if ( (isset( $sourceParts[0] ) && $sourceParts[0] ===
"AC") ) {
135 $transferFeatureCode = FEATURE_ACH_COLLECTIONS;
136 }
else if ( (isset( $destParts[0] ) && $destParts[0] ===
"AP") ) {
137 $transferFeatureCode = FEATURE_ACH_PAYMENTS;
139 $transferFeatureCode = FEATURE_TRANSFERS;
143 $inputVars[
"feature_code"] = $transferFeatureCode;
149 if (!PermCheckFeatureScreen($dbh, $HB_ENV, $MC, $transferFeatureCode,
'create',
false)) {
150 throw new Exception ( $MC->msg(
'Rights not set', HCU_DISPLAY_AS_HTML) );
161 if (isset( $inputVars[
'form'] ) && ($inputVars[
'form'] ===
"schedule")) {
163 $results = PerformTransferScheduled( $HB_ENV, $inputVars, $MC );
166 $return[
"data"] = $results[
"data"];
167 $return[
"info"] = $results[
"info"];
168 $return[
"errors"] = $results[
"status"][
"errors"];
171 $results = PerformTransfer( $HB_ENV, $inputVars, $MC );
173 if ($results[
'status'][
'code'] ===
"000") {
175 if ( HCU_array_key_exists(
"txn", $results[
"data"] ) ) {
177 $submitResults = $results[
"data"][
"txn"];
179 Array(
"label" => $MC->msg(
'Date', HCU_DISPLAY_AS_RAW),
'caption' => $submitResults[
"data_date"]),
180 Array(
"label" => $MC->msg(
'Action', HCU_DISPLAY_AS_RAW),
'caption' => $submitResults[
"data_action"]),
181 Array(
"label" => $MC->msg(
'From', HCU_DISPLAY_AS_RAW),
'caption' => $submitResults[
"data_from"]),
182 Array(
"label" => $MC->msg(
'To', HCU_DISPLAY_AS_RAW),
'caption' => $submitResults[
"data_to"]),
183 Array(
"label" => $MC->msg(
'Amount', HCU_DISPLAY_AS_RAW),
'caption' =>
"$" . mobile_formatnumber($submitResults[
"data_amount"]),
","),
184 Array(
"label" => $MC->msg(
'Confirmation', HCU_DISPLAY_AS_RAW),
'caption' => $submitResults[
"data_confirm"])
187 $return[
"data"][
"transfer"] = $retData;
190 if ( HCU_array_key_exists(
"posted", $results[
"data"] ) ) {
191 $return[
"data"][
"posted"] = $results[
"data"][
"posted"];
194 if ( HCU_array_key_exists(
"repeat", $results[
"data"] ) ) {
195 $return[
"data"][
"repeat"] = $results[
"data"][
"repeat"];
200 $return[
"errors"] = $results[
"status"][
"errors"];
204 $retStatusAry[
"homecuData"] = $return[
"data"];
205 $retStatusAry[
"homecuInfo"] = $return[
"info"];
206 $retStatusAry[
"homecuErrors"] = $return[
"errors"];
212 $retStatusAry[
'homecuErrors'] = $ex->getMessage();
215 header(
'Content-type: application/json');
217 print HCU_JsonEncode(Array(
"Results" => Array($retStatusAry)));