*/
public function updateAccountRenewalDate( $account )
{
+ $days_after_expired = $this->config['days_after_expired'];
+ $days_before_renewal = $this->config['days_before_renewal'];
+ // Grab current renewal date
+ $current_renewal_date = $this->wpdb->get_var(
+ $this->wpdb->prepare(
+ "SELECT renewal_date
+ FROM " . GLM_MEMBERS_BILLING_PLUGIN_DB_PREFIX . "accounts
+ WHERE id = %d",
+ $account
+ )
+ );
+ if ( $current_renewal_date ) {
+ $renewal_date = new DateTime( $current_renewal_date );
+ // Get earliest date this one can renewal with.
+ $earliest_date = $renewal_date->modify( '-' . $days_before_renewal . ' days + 1 year' );
+ }
+ $year_part = substr( $current_renewal_date, 0, 4 );
+ $the_rest = substr( $current_renewal_date, 4 );
+ // Adjust the year to current year
+ $new_renewal_date = date( 'Y' ) . $the_rest;
+ $test_renewal_date = new DateTime( $new_renewal_date );
+ if ( $test_renewal_date->getTimestamp() < $earliest_date->getTimestamp() ) {
+ // Adjust the year.
+ $new_renewal_date = ( date( 'Y' ) - 1 ) . $the_rest;
+ }
+
$this->wpdb->update(
GLM_MEMBERS_BILLING_PLUGIN_DB_PREFIX . 'accounts',
- array( 'renewal_date' => date( 'Y-m-d' ) ),
+ array( 'renewal_date' => $new_renewal_date ),
array( 'id' => $account ),
array( '%s' ),
array( '%d' )
* Plugin Name: GLM Members Billing
* Plugin URI: http://www.gaslightmedia.com/
* Description: This is glmAssociate Billing Module
- * Version: 1.0.34
+ * Version: 1.0.35
* Author: Gaslight Media
* Author URI: http://www.gaslightmedia.com/
* License: GPL2
* @package glmMembersBillingAddOn
* @author Chuck Scott <cscott@gaslightmedia.com>
* @license http://www.gaslightmedia.com Gaslightmedia
- * @version 1.0.34
+ * @version 1.0.35
*/
/*
* so that we're sure the other add-ons see an up to date
* version from this plugin.
*/
-define('GLM_MEMBERS_BILLING_PLUGIN_VERSION', '1.0.34');
+define('GLM_MEMBERS_BILLING_PLUGIN_VERSION', '1.0.35');
// Database Version
define('GLM_MEMBERS_BILLING_PLUGIN_DB_VERSION', '0.0.26');