if ($days <= 30 && empty($last_sent['30'])) wp_mail($admin_email, 'Gravity Forms License Expiring Soon', "Your Gravity Forms license expires in $days days."); $last_sent['30'] = true;
$response = wp_remote_post('https://gravityforms.com/api/validate/', [ 'body' => [ 'license_key' => $license_key, 'site_url' => home_url() ], 'timeout' => 15 ]); gravity forms license key
$body = json_decode(wp_remote_retrieve_body($response), true); $is_valid = isset($body['is_valid']) && $body['is_valid'] === true; if ($days <
function gf_check_license_status($force = false) $license_key = get_option('gf_license_key'); if (empty($license_key)) return false; $cached = get_transient('gf_license_status'); if (!$force && $cached !== false) return $cached; = 30 && empty($last_sent['30'])) wp_mail($admin_email
$last_sent = get_option('gf_license_alert_sent', []); $days = $status['days_left']; $admin_email = get_option('admin_email');
if ($days <= 14 && empty($last_sent['14'])) wp_mail($admin_email, 'Gravity Forms License Expiring Soon', "Your Gravity Forms license expires in $days days."); $last_sent['14'] = true;
if ($result['expiration']) $now = new DateTime(); $exp = new DateTime($result['expiration']); $result['days_left'] = $now->diff($exp)->days;