Adding filters for account list.
Adding Active filter.
);
}
- public function processMemberRenewal( $account_id, $invoice_id, $amount )
+ public function processMemberRenewal( $account_id, $invoice_id, $amount, $employees = array() )
{
$errors = array();
// Get the selected credit card processor type
// $errors[] = $ccResult['statusText'];
// $errors[] = $ccResult['description'];
- // TODO: Need to update the members account renewal_date
+ // Need to update the members account renewal_date
$this->wpdb->update(
GLM_MEMBERS_BILLING_PLUGIN_DB_PREFIX . 'accounts',
array( 'renewal_date' => date( 'Y-m-d' ) ),
array( '%s' ),
array( '%d' )
);
+ // TODO: Need to update any employees renewal dates
+ if ( isset( $employees ) && is_array( $employees ) && !empty( $employees ) ) {
+ foreach ( $employees as $employee ) {
+ $this->wpdb->update(
+ GLM_MEMBERS_BILLING_PLUGIN_DB_PREFIX . 'accounts',
+ array( 'renewal_date' => date( 'Y-m-d' ) ),
+ array( 'id' => $employee ),
+ array( '%s' ),
+ array( '%d' )
+ );
+ }
+ }
}
$days_after_expired = $this->config['settings']['days_after_expired'];
$curDate = date( 'Y-m-d' );
+ if ( isset( $_REQUEST['filterActive'] ) ) {
+ $filterActive = filter_var( $_REQUEST['filterActive'], FILTER_VALIDATE_BOOLEAN );
+ $where_params[] = "T.renewal_date + INTERVAL 1 YEAR - INTERVAL $days_before_renewal DAY > '$curDate'";
+ $filterActive = true;
+ }
if ( isset( $_REQUEST['filterPending'] ) ) {
$filterPending = filter_var( $_REQUEST['filterPending'], FILTER_VALIDATE_BOOLEAN );
// $where_params[] = "renewal_date >= now()";
}
if ( isset( $_REQUEST['filterOverdue'] ) ) {
$filterOverdue = filter_var( $_REQUEST['filterOverdue'], FILTER_VALIDATE_BOOLEAN );
- $expiredDate = date( 'Y-m-d', mktime( 0, 0, 0, date( 'n' ), date( 'j' ) - 30, date( 'Y' )) );
- $where_params[] = "renewal_date < now()";
- $where_params[] = "renewal_date >= '$expiredDate'";
+ $where_params[] = "T.renewal_date + INTERVAL 1 YEAR < '$curDate'";
+ $where_params[] = "T.renewal_date + INTERVAL 1 YEAR + INTERVAL $days_after_expired DAY >= '$curDate'";
}
if ( isset( $_REQUEST['filterExpired'] ) ) {
$filterExpired = filter_var( $_REQUEST['filterExpired'], FILTER_VALIDATE_BOOLEAN );
- $expiredDate = date( 'Y-m-d', mktime( 0, 0, 0, date( 'n' ), date( 'j' ) - 30, date( 'Y' )) );
- $where_params[] = "renewal_date < '$expiredDate'";
+ $where_params[] = "T.renewal_date + INTERVAL 1 YEAR + INTERVAL $days_after_expired DAY < '$curDate'";
}
// Build the $where string from the $where_parts array.
$filterPending = false;
$filterOverdue = false;
$filterExpired = false;
+ $filterActive = false;
$searchName = false;
// Get any provided option
$days_after_expired = $this->config['settings']['days_after_expired'];
$curDate = date( 'Y-m-d' );
+ if ( isset( $_REQUEST['filterActive'] ) ) {
+ $filterActive = filter_var( $_REQUEST['filterActive'], FILTER_VALIDATE_BOOLEAN );
+ $where_params[] = "T.renewal_date + INTERVAL 1 YEAR - INTERVAL $days_before_renewal DAY > '$curDate'";
+ }
if ( isset( $_REQUEST['filterPending'] ) ) {
$filterPending = filter_var( $_REQUEST['filterPending'], FILTER_VALIDATE_BOOLEAN );
// $where_params[] = "T.renewal_date >= now()";
}
if ( isset( $_REQUEST['filterOverdue'] ) ) {
$filterOverdue = filter_var( $_REQUEST['filterOverdue'], FILTER_VALIDATE_BOOLEAN );
- // $expiredDate = date( 'Y-m-d', mktime( 0, 0, 0, date( 'n' ), date( 'j' ) - 30, date( 'Y' )) );
- // $where_params[] = "T.renewal_date < '$curDate'";
- // $where_params[] = "T.renewal_date >= '$expiredDate'";
$where_params[] = "T.renewal_date + INTERVAL 1 YEAR < '$curDate'";
- // $where_params[] = "T.renewal_date + INTERVAL 1 YEAR + INTERVAL $days_after_expired DAY < '$curDate'";
$where_params[] = "T.renewal_date + INTERVAL 1 YEAR + INTERVAL $days_after_expired DAY >= '$curDate'";
}
if ( isset( $_REQUEST['filterExpired'] ) ) {
$filterExpired = filter_var( $_REQUEST['filterExpired'], FILTER_VALIDATE_BOOLEAN );
- // $expiredDate = date( 'Y-m-d', mktime( 0, 0, 0, date( 'n' ), date( 'j' ) - 30, date( 'Y' )) );
- // $where_params[] = "T.renewal_date < '$expiredDate'";
$where_params[] = "T.renewal_date + INTERVAL 1 YEAR + INTERVAL $days_after_expired DAY < '$curDate'";
}
'filterOverdue' => $filterOverdue,
'searchName' => $searchName,
'filterExpired' => $filterExpired,
+ 'filterActive' => $filterActive,
);
// Return status, any suggested view, and any data to controller
$account = $Accounts->editEntry( $accountID );
} else {
// Do the Payment Processing.
- $errors = $BillingSupport->processMemberRenewal( $invoice_data['account_id'], $invoice_id, $invoice_data['amount'] );
+ $errors = $BillingSupport->processMemberRenewal( $invoice_data['account_id'], $invoice_id, $invoice_data['amount'], $invoice_data['employees'] );
// echo '<pre>$errors: ' . print_r( $errors, true ) . '</pre>';
}
</span>
<br>
<span class="glm-nowrap">
+ <input id="filterActive" name="filterActive" value="1" {if $filterActive}checked{/if} type="checkbox" /> Show Active Only
<input id="filterPending" name="filterPending" value="1" {if $filterPending}checked{/if} type="checkbox" /> Show Pending Only
<input id="filterOverdue" name="filterOverdue" value="1" {if $filterOverdue}checked{/if} type="checkbox" /> Show Overdue Only
<input id="filterExpired" name="filterExpired" value="1" {if $filterExpired}checked{/if} type="checkbox" /> Show Expired Only
<input type="hidden" name="action" value="glm_members_admin_ajax">
<input type="hidden" name="glm_action" value="accountsListExport">
<table class="glm-admin-table">
- <tr><th>Show Overdue Only: </th><td><input type="checkbox" name="filterOverdue"></td></tr>
- <tr><th>Show Archived Only: </th><td><input type="checkbox" name="filterArchived"></td></tr>
- <tr><th>Show Expired Only: </th><td><input type="checkbox" name="filterExpired"></td></tr>
- <tr><th>Show Pending Only: </th><td><input type="checkbox" name="filterPending"></td></tr>
+ <tr><th>Show Active Only: </th><td><input type="checkbox" name="filterActive" {if $filterActive}checked{/if}></td></tr>
+ <tr><th>Show Pending Only: </th><td><input type="checkbox" name="filterPending" {if $filterPending}checked{/if}></td></tr>
+ <tr><th>Show Overdue Only: </th><td><input type="checkbox" name="filterOverdue" {if $filterOverdue}checked{/if}></td></tr>
+ <tr><th>Show Archived Only: </th><td><input type="checkbox" name="filterArchived" {if $filterArchived}checked{/if}></td></tr>
+ <tr><th>Show Expired Only: </th><td><input type="checkbox" name="filterExpired" {if $filterExpired}checked{/if}></td></tr>
<tr>
<th>Date Range Search: </th>
<td>
href="{$thisUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$memberID}"
class="">All Statements</a>
</li>
- {if $account_status == 'Pending'}
+ {if $account_status == 'Pending' || $account_status == 'Expired'}
<li>
<a
href="{$thisUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$memberID}&option=renew"