key_purchase_addons, [] ); ?>
$addon ) : $addon->slug = $slug; $is_installed = false; $is_activated = false; $is_updated = false; $is_free = $addon->is_free ?? 0; $addon_base = $addon->basename ?? ''; $version_latest = $addon->version ?? 0; $version_current = $addon->version ?? 0; $classes_status = []; $addon_purchased = $addon->purchase_info ?? false; // Addon is free or paid. if ( 1 == $addon->is_free ) { ++$total_addon_free; } else { ++$total_addon_paid; } // Addon is installed if ( isset( $plugins_installed[ $addon_base ] ) ) { $is_installed = true; $classes_status[] = 'installed'; $version_current = $plugins_installed[ $addon_base ]['Version']; ++$total_addon_installed; } else { $classes_status[] = 'not_installed'; ++$total_addon_not_installed; } // Addon is activated if ( in_array( $addon_base, $plugins_activated ) ) { $is_activated = true; $classes_status[] = 'activated'; ++$total_addon_activated; } // Addon is having update if ( $is_installed && version_compare( $version_current, $version_latest, '<' ) ) { ++$total_addon_update; $classes_status[] = 'update'; $is_updated = true; } // Addon is purchased if ( $addon_purchased ) { $classes_status[] = 'license'; ++$total_addon_purchased; $date_expired_str = $addon_purchased->date_expire ?? ''; // Test //$date_expired_str = '2024-02-01'; //$date_expired_str = '2023-01-12'; // End $date_expired = new DateTime( $date_expired_str ); $date_now = new DateTime( gmdate( 'Y-m-d' ) ); $date_diff = date_diff( $date_now, $date_expired ); $number_days_remaining = $date_diff->days; if ( $date_diff->invert ) { $number_days_remaining = 0; } } // Addon is paid on Thimpress if ( ! $is_free ) { $classes_status[] = 'purchase'; $purchase_code = $keys_purchase[ $addon->slug ] ?? ''; } else { // Addon is free $classes_status[] = 'free'; } // Show addons of tab. if ( ! in_array( $active_tab, $classes_status ) && $active_tab != 'all' ) { $classes_status[] = 'hide'; } ?>
<?php echo $addon->name; ?>

name; ?>

$version_current"; } if ( isset( $addon->link_doc ) && ! empty( $addon->link_doc ) ) { echo " | Documentation"; } ?> %s: %s', __( 'Latest version', 'learnpress' ), $version_latest ); } if ( $addon_purchased ) { $color_expire = '#27BF49'; $message = ''; $button_extends = sprintf( '

%s

', $addon->link, __( 'Extends Now', 'learnpress' ) ); if ( $number_days_remaining === 0 ) { $color_expire = 'red'; $message = __( 'Your update and support has expired!', 'learnpress' ); } elseif ( $number_days_remaining < 61 ) { $color_expire = 'orange'; $message = sprintf( __( 'You have a license of for this item with %s days of update & support remaining. Please extend the update & support license to keep updating the latest versions & receive customer support from ThimPress before it expires.', 'learnpress' ), sprintf( '%d', $number_days_remaining ) ); } else { $button_extends = ''; } echo sprintf( '%s %s', $message, $button_extends ); } echo sprintf( '

%s on %s

', $addon->is_free ? __( 'Free', 'learnpress' ) : __( 'Paid', 'learnpress' ), $addon->is_org ? __( 'WP.org', 'learnpress' ) : __( 'Thimpress', 'learnpress' ) ); ?> Empty key purchase

'; } ?>

description; ?>

setting ) && ! empty( $addon->setting ) ) { ?>
OR