Version 4.6.0

This commit is contained in:
Neo committed 2025-12-19 05:55:31 -08:00
1 parent f79dcf067a
commit 517a5e1f70
2036 files changed
+110041 -26162

No files matched your search

@@ -36,18 +36,8 @@ class _generateRenewalInvoices extends \IPS\Task
*/
public function execute()
{
/* What's out cutoff? */
$renewalDate = \IPS\DateTime::create();
if( \IPS\Settings::i()->cm_invoice_generate )
{
$renewalDate->add( new \DateInterval( 'PT' . \IPS\Settings::i()->cm_invoice_generate . 'H' ) );
}
/* Get purchases grouped by member and currency */
$select = \IPS\Db::i()->select( '*', 'nexus_purchases', array(
"ps_cancelled=0 AND ps_renewals>0 AND ps_invoice_pending=0 AND ps_active=1 AND ps_expire>0 AND ps_expire<? AND ps_billing_agreement IS NULL AND ( ps_grouped_renewals='' OR ps_grouped_renewals IS NULL )",
$renewalDate->getTimestamp()
), 'ps_member', 50 );
$select = $this->_getSelectQuery();
$log = \IPS\Db::_replaceBinds( $select->query, $select->binds ) . "\n" . \count( $select ) . " matches\n\n";
$groupedPurchases = array();
@@ -279,4 +269,25 @@ class _generateRenewalInvoices extends \IPS\Task
{
}
/**
* Get Purchases Query
*
* @return \IPS\Db\Select
* @throws \Exception
*/
protected function _getSelectQuery(): \IPS\Db\Select
{
/* What's out cutoff? */
$renewalDate = \IPS\DateTime::create();
if( \IPS\Settings::i()->cm_invoice_generate )
{
$renewalDate->add( new \DateInterval( 'PT' . \IPS\Settings::i()->cm_invoice_generate . 'H' ) );
}
return \IPS\Db::i()->select( 'nexus_purchases.*', 'nexus_purchases', array(
"ps_cancelled=0 AND ps_renewals>0 AND ps_invoice_pending=0 AND ps_active=1 AND ps_expire>0 AND ps_expire<? AND ps_billing_agreement IS NULL AND ( ps_grouped_renewals='' OR ps_grouped_renewals IS NULL )",
$renewalDate->getTimestamp()
), 'ps_member', 50 );
}
}