getPending(); if ( $ndtlf->getRecordCount() > 0 ) { Debug::Text( ' Pending notifications, or ones that need to be resent: '. $ndtlf->getRecordCount(), __FILE__, __LINE__, __METHOD__, 10 ); foreach ( $ndtlf as $n_obj ) { /** @var NotificationFactory $n_obj */ $payload = $n_obj->getPayloadData(); $attempt_send = false; if ( isset( $payload['retries'] ) ) { // This is at least the first retry attempt - a post dated notification will not have retry data yet. $time_difference = ( TTDate::getTime() - $payload['retries']['last_attempt_date'] ); if ( $payload['retries']['attempts'] == 1 && $time_difference >= 120 ) { //2 minutes $attempt_send = true; } else if ( $payload['retries']['attempts'] == 2 && $time_difference >= 900 ) { // 15 minutes $attempt_send = true; } else if ( $payload['retries']['attempts'] == 3 && $time_difference >= 3600 ) { // 1 hour $attempt_send = true; } else if ( $payload['retries']['attempts'] == 4 && $time_difference >= 14400 ) { // 4 hours $attempt_send = true; } else if ( $payload['retries']['attempts'] == 5 && $time_difference >= 28800 ) { // 8 hours $attempt_send = true; } else if ( $payload['retries']['attempts'] == 6 && $time_difference >= 86400 ) { // 24 hours $attempt_send = true; } else if ( $payload['retries']['attempts'] >= 7 && $time_difference >= 172800 ) { // 48 hours $attempt_send = true; } } else { // Post dated messages have no retry data yet and this is the first send attempt $attempt_send = true; } if ( $attempt_send == true && $n_obj->isValid() ) { $n_obj->Save(); } } } else { Debug::Text( ' No pending notifications, or ones that need to be resent...', __FILE__, __LINE__, __METHOD__, 10 ); } ?>