116 lines
3.7 KiB
PHP
116 lines
3.7 KiB
PHP
<?php
|
||
|
||
namespace DgoraWcas\Admin\Promo;
|
||
|
||
// Exit if accessed directly
|
||
if ( ! defined( 'ABSPATH' ) ) {
|
||
exit;
|
||
}
|
||
|
||
|
||
class Upgrade {
|
||
|
||
function __construct() {
|
||
|
||
add_action( 'current_screen', array( $this, 'printScripts' ) );
|
||
|
||
}
|
||
|
||
|
||
public function printScripts() {
|
||
|
||
if ( dgoraAsfwFs()->is_premium() ) {
|
||
return;
|
||
}
|
||
|
||
$cs = get_current_screen();
|
||
|
||
if ( ! empty( $cs->base ) && strpos( $cs->base, 'dgwt_wcas' ) !== false ) {
|
||
|
||
add_thickbox();
|
||
add_action( 'admin_footer', array( $this, 'renderUpgradeModal' ), 10 );
|
||
add_action( 'admin_footer', array( $this, 'upgradeModalHandler' ), 20 );
|
||
|
||
}
|
||
|
||
}
|
||
|
||
/**
|
||
* Render plugin upgrade modal
|
||
*
|
||
* @return void
|
||
*/
|
||
public function renderUpgradeModal() {
|
||
$utmLink = 'https://fibosearch.com/pro-vs-free/?utm_source=wp-admin&utm_medium=referral&utm_campaign=upgrade-popup&utm_content=features&utm_gen=utmdc';
|
||
|
||
$features = array(
|
||
__( 'Speed up search! (even 10× faster) - users love it!', 'ajax-search-for-woocommerce' ),
|
||
__( 'Modern search engine based on an inverted index and advanced matching algorithms', 'ajax-search-for-woocommerce' ),
|
||
__( 'Fuzzy search', 'ajax-search-for-woocommerce' ),
|
||
__( 'Synonyms', 'ajax-search-for-woocommerce' ),
|
||
__( 'Search in attributes and variation products SKUs (option)', 'ajax-search-for-woocommerce' ),
|
||
__( 'Individual tips and support from the FiboSearch team', 'ajax-search-for-woocommerce' )
|
||
);
|
||
echo '<a style="display:none;" class="thickbox js-dgwt-wcas-modal-pro-handler" href="#TB_inline?width=600&height=380&inlineId=dgwt-wcas-modal" title="' . __( 'FiboSearch Pro - Upgrade Now', 'ajax-search-for-woocommerce' ) . '"></a>';
|
||
echo '<div id="dgwt-wcas-modal" class="dgwt-wcas-modal-upgrade" style="display:none;">';
|
||
echo '<img class="dgwt-wcas-modal-logo" src="' . DGWT_WCAS_URL . 'assets/img/logo-128.png" width="128" height="128" />';
|
||
echo '
|
||
<h2 class="dgwt-wcas-modal-title">' . __( 'Update now and increase your sales. You will receive a 30-day satisfaction guarantee. A return on investment will come very quickly.', 'ajax-search-for-woocommerce' ) . '</h2>';
|
||
echo '<ul>';
|
||
foreach ( $features as $feature ) {
|
||
echo '<li><strong>+ ' . $feature . '</strong></li>';
|
||
}
|
||
echo '<li><strong>+ ' . __( 'and more...', 'ajax-search-for-woocommerce' ) . ' <a target="_blank" href="' . $utmLink . '">' . __( 'See a comparison of all free and premium features!', 'ajax-search-for-woocommerce' ) . '</a></strong></li>';
|
||
echo '</ul>';
|
||
echo '<p><a class="button-primary" target="_blank" href="' . self::getUpgradeUrl() . '">' . __( 'Upgrade Now', 'ajax-search-for-woocommerce' ) . '</a>';
|
||
echo '</p>';
|
||
echo '</div>';
|
||
}
|
||
|
||
/**
|
||
* JS for the upgrade modal
|
||
*
|
||
* @return void
|
||
*/
|
||
public function upgradeModalHandler() {
|
||
?>
|
||
<script>
|
||
(function ($) {
|
||
$(document).on('click', '.dgwt-wcas-premium-only label, .dgwt-wcas-premium-only input, .dgwt-wcas-premium-only button, .dgwt-wcas-premium-only textarea, .dgwt-wcas-premium-only--trigger', function (e) {
|
||
triggerModal(e);
|
||
});
|
||
|
||
$('.dgwt-wcas-premium-only select').on('change', function (e) {
|
||
$(this).val($(this).attr('data-default'));
|
||
triggerModal(e);
|
||
});
|
||
|
||
function triggerModal(e) {
|
||
e.preventDefault();
|
||
$('.js-dgwt-wcas-modal-pro-handler').trigger('click');
|
||
}
|
||
})(jQuery);
|
||
</script>
|
||
<?php
|
||
}
|
||
|
||
/**
|
||
* Ge upgrade URL
|
||
*
|
||
* @param string $type
|
||
*
|
||
* @return string
|
||
*/
|
||
public static function getUpgradeUrl( $type = 'external' ) {
|
||
|
||
$url = "https://fibosearch.com/pricing/?utm_source=wp-admin&utm_medium=referral&utm_campaign=upgrade-link&utm_content=upgrade-now-btn";
|
||
|
||
if ( $type === 'internal' ) {
|
||
$url = esc_url( dgoraAsfwFs()->get_upgrade_url() );
|
||
}
|
||
|
||
return $url;
|
||
}
|
||
|
||
}
|