Newer
Older
ubFramework / Portal / docroot / user / billing / autopay.php
@Christopher W. Olsen Christopher W. Olsen on 10 Dec 2017 5 KB Cleaning Up Making It A Sub Module
<?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: autopay.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 - Setup Automatic Payments" );

/* 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/autopay.html" 
) );

$ubF->session->Validate ( 'U_A_', 0 );

$form_data = $data ['data'];

if ( !isset ( $form_data ['autopay'] ) && !isset ( $form_data ['uap'] ) )
  $form_data ['autopay'] = $ubF->session->autopay;
if ( !isset ( $form_data ['autopay_amount'] ) )
  $form_data ['autopay_amount'] = $ubF->session->autopay_amount;
if ( !isset ( $form_data ['autopay_method'] ) )
  $form_data ['autopay_method'] = $ubF->session->autopay_method;
if ( !isset ( $form_data ['autopay_max'] ) )
  $form_data ['autopay_max'] = $ubF->session->autopay_max;
if ( !isset ( $form_data ['autopay_days'] ) )
  $form_data ['autopay_days'] = $ubF->session->autopay_days;

if ( isset ( $form_data ['uap'] ) ) {
  if ( $form_data ['autopay'] != 1 )
    $form_data ['autopay'] = 0;
  
  $query = "UPDATE accounts SET autopay = " . $form_data ['autopay'] . ",autopay_amount = " . $form_data ['autopay_amount'] . ",autopay_method = " . $form_data ['autopay_method'] . ",autopay_max = " . $data ['autopay_max'] . ",autopay_days = " . $data ['autopay_days'];
  $ubF->DB['main']->query ( $query );
  $message = "<h2>Automatic Payments Updated</h2>";
}
else
  $message = "";

if ( isset ( $form_data ['autopay'] ) && $form_data ['autopay'] == 1 )
  $autopay = "CHECKED";
else
  $autopay = "";

$query = "SELECT pm_id,nickname,last_four FROM payment_method WHERE active = 1 AND account_number = '" . $ubF->session->account_number . "' ORDER BY nickname";
$result = $ubF->DB['main']->query ( $query );

$autopay_method = "";
while ( $qData = $result->fetch_assoc () ) {
  if ( $qData ['pm_id'] == $form_data ['autopay_method'] )
    $autopay_method .= "<option value=\"" . $qData ['pm_id'] . "\" selected>" . $qData ['nickname'] . " " . $qData ['last_four'] . "</option>\n";
  else
    $autopay_method .= "<option value=\"" . $qData ['pm_id'] . "\">" . $qData ['nickname'] . " " . $qData ['last_four'] . "</option>\n";
}
$result->free ();

$autopay_days = "";
for ( $i = 1 ; $i <= 5 ; $i++ ) {
  if ( $form_data ['autopay_days'] == $i )
    $autopay_days .= "<option value=\"$i\" selected>$i</option>\n";
  else
    $autopay_days .= "<option value=\"$i\">$i</option>\n";
}

if ( !isset ( $form_data ['autopay_amount'] ) || $form_data ['autopay_amount'] == 0 ) {
  $it = "checked";
  $iu = "";
}
else {
  $it = "";
  $iu = "checked";
}

$ubF->tpl->assign ( "AUTOPAY", $autopay );
$ubF->tpl->assign ( "AUTOPAY_METHOD", $autopay_method );
$ubF->tpl->assign ( "AUTOPAY_DAYS", $autopay_days );
$ubF->tpl->assign ( "IT", $it );
$ubF->tpl->assign ( "IU", $iu );
$ubF->tpl->assign ( "AUTOPAY_MAX", $form_data ['autopay_max'] );
$ubF->tpl->assign ( "MESSAGE", $message );

/* 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" );
?>