templately_status = $this->templately_active_status();
}
/**
* templately_active_status
* @return bool
*/
public function templately_active_status() {
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
return is_plugin_active( 'templately/templately.php' );
}
/**
* Remove all notice in setup wizard page
*/
public function remove_notice() {
if ( isset( $_GET[ 'page' ] ) && $_GET[ 'page' ] == 'eael-setup-wizard' ) {
remove_all_actions( 'admin_notices' );
remove_all_actions( 'all_admin_notices' );
}
}
/**
* setup_wizard_scripts
* @param $hook
* @return array
*/
public function setup_wizard_scripts( $hook ) {
if ( isset( $hook ) && $hook == 'admin_page_eael-setup-wizard' ) {
wp_enqueue_style( 'essential_addons_elementor-setup-wizard-css', EAEL_PLUGIN_URL . 'assets/admin/css/admin.css', false, EAEL_PLUGIN_VERSION );
wp_enqueue_style( 'sweetalert2-css', EAEL_PLUGIN_URL . 'assets/admin/vendor/sweetalert2/css/sweetalert2.min.css', false, EAEL_PLUGIN_VERSION );
wp_enqueue_script( 'sweetalert2-js', EAEL_PLUGIN_URL . 'assets/admin/vendor/sweetalert2/js/sweetalert2.min.js', array( 'jquery', 'sweetalert2-core-js' ), EAEL_PLUGIN_VERSION, true );
wp_enqueue_script( 'sweetalert2-core-js', EAEL_PLUGIN_URL . 'assets/admin/vendor/sweetalert2/js/core.js', array( 'jquery' ), EAEL_PLUGIN_VERSION, true );
wp_enqueue_script( 'essential_addons_elementor-setup-wizard-js', EAEL_PLUGIN_URL . 'assets/admin/js/admin.js', array( 'jquery' ), EAEL_PLUGIN_VERSION, true );
wp_localize_script( 'essential_addons_elementor-setup-wizard-js', 'localize', array(
'ajaxurl' => esc_url( admin_url( 'admin-ajax.php' ) ),
'nonce' => wp_create_nonce( 'essential-addons-elementor' ),
'success_image' => EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/success.gif',
) );
}
return [];
}
/**
* Create admin menu for setup wizard
*/
public function admin_menu() {
add_submenu_page(
'',
__( 'Essential Addons ', 'essential-addons-for-elementor-lite' ),
__( 'Essential Addons ', 'essential-addons-for-elementor-lite' ),
'manage_options',
'eael-setup-wizard',
[ $this, 'render_wizard' ]
);
}
/**
* render_wizard
*/
public function render_wizard() {
?>
change_site_title();
$this->tab_step();
$this->tab_content();
$this->setup_wizard_footer();
?>
templately_status ? $wizard_column = 'five' : $wizard_column = 'four';
$items = [
__( 'Configuration', 'essential-addons-for-elementor-lite' ),
__( 'Elements', 'essential-addons-for-elementor-lite' ),
__( 'Go PRO', 'essential-addons-for-elementor-lite' ),
__( 'Templately', 'essential-addons-for-elementor-lite' ),
__( 'Integrations', 'essential-addons-for-elementor-lite' ),
__( 'Finalize', 'essential-addons-for-elementor-lite' ),
];
$i = 0;
?>
templately_status || ( $this->get_local_plugin_data( 'templately/templately.php' ) !== false && $item == 'Templately' ) ) continue; ?>
-
get_element_list() as $key => $item ):
$init++;
$disable = ( $init > 2 ) ? 'eael-quick-setup-post-grid-panel-disable' : '';
?>
templately_status || $this->get_local_plugin_data( 'templately/templately.php' ) !== false ) {
return false;
}
?>
%s %s', 'essential-addons-for-elementor-lite' ), 'Get access to', '3000+', 'Elementor Templates with Templately! 🚀' ); ?>
get_plugin_list() as $plugin ) { ?>
get_local_plugin_data( $plugin[ 'basename' ] ) === false ) { ?>
'betterdocs',
'basename' => 'betterdocs/betterdocs.php',
'logo' => EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/bd-logo.svg',
'title' => __( 'BetterDocs', 'essential-addons-for-elementor-lite' ),
'desc' => __( 'BetterDocs will help you to create & organize your documentation page in a beautiful way that will make your visitors find any help article easily.', 'essential-addons-for-elementor-lite' ),
],
[
'slug' => 'embedpress',
'basename' => 'embedpress/embedpress.php',
'logo' => EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/ep-logo.png',
'title' => __( 'EmbedPress', 'essential-addons-for-elementor-lite' ),
'desc' => __( 'EmbedPress lets you embed videos, images, posts, audio, maps and upload PDF, DOC, PPT & all other types of content into your WordPress site. ', 'essential-addons-for-elementor-lite' ),
],
[
'slug' => 'reviewx',
'basename' => 'reviewx/reviewx.php',
'logo' => EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/review-logo.svg',
'title' => __( 'ReviewX', 'essential-addons-for-elementor-lite' ),
'desc' => __( 'ReviewX lets you get instant customer ratings and multi criteria reviews to add credibility to your WooCommerce Store and increase conversion rates.', 'essential-addons-for-elementor-lite' ),
],
[
'slug' => 'notificationx',
'basename' => 'notificationx/notificationx.php',
'logo' => EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/nx-logo.svg',
'title' => __( 'NotificationX', 'essential-addons-for-elementor-lite' ),
'desc' => __( 'Best FOMO Social Proof Plugin to boost your sales conversion. Create stunning Sales Popup & Notification Bar With Elementor Support.', 'essential-addons-for-elementor-lite' ),
],
[
'slug' => 'easyjobs',
'basename' => 'easyjobs/easyjobs.php',
'logo' => EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/easy-jobs-logo.svg',
'title' => __( 'easy.jobs', 'essential-addons-for-elementor-lite' ),
'desc' => __( 'Easy solution for the job recruitment to attract, manage & hire right talent faster. The Best Talent Recruitment Suite which lets you manage jobs & career page in Elementor.', 'essential-addons-for-elementor-lite' ),
],
[
'slug' => 'wp-scheduled-posts',
'basename' => 'wp-scheduled-posts/wp-scheduled-posts.php',
'logo' => EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/wscp.svg',
'title' => __( 'SchedulePress', 'essential-addons-for-elementor-lite' ),
'desc' => __( 'Best Content Marketing Tool For WordPress – Schedule, Organize, & Auto Share Blog Posts. Take a quick glance at your content planning with Schedule Calendar, Auto & Manual Scheduler and more.', 'essential-addons-for-elementor-lite' ),
],
[
'slug' => 'betterlinks',
'basename' => 'betterlinks/betterlinks.php',
'logo' => EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/btl.svg',
'title' => __( 'BetterLinks', 'essential-addons-for-elementor-lite' ),
'desc' => __( 'Best Link Shortening tool to create, shorten and manage any URL to help you cross-promote your brands & products. Gather analytics reports, run successfully marketing campaigns easily & many more.', 'essential-addons-for-elementor-lite' ),
],
[
'slug' => 'essential-blocks',
'basename' => 'essential-blocks/essential-blocks.php',
'logo' => EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/eb.svg',
'title' => __( 'Essential Blocks', 'essential-addons-for-elementor-lite' ),
'desc' => __( 'Enhance your Gutenberg experience with 40+ unique blocks (more coming soon). Add power to the block editor using our easy-to-use blocks which are designed to make your next WordPress page or posts design easier and prettier than ever before.', 'essential-addons-for-elementor-lite' ),
],
];
}
/**
* get_local_plugin_data
*
* @param mixed $basename
* @return array|false
*/
public function get_local_plugin_data( $basename = '' ) {
if ( empty( $basename ) ) {
return false;
}
if ( !function_exists( 'get_plugins' ) ) {
include_once ABSPATH . 'wp-admin/includes/plugin.php';
}
$plugins = get_plugins();
if ( !isset( $plugins[ $basename ] ) ) {
return false;
}
return $plugins[ $basename ];
}
/**
* Save setup wizard data
*/
public function save_setup_wizard_data() {
check_ajax_referer( 'essential-addons-elementor', 'security' );
if ( !current_user_can( 'manage_options' ) ) {
wp_send_json_error( __( 'you are not allowed to do this action', 'essential-addons-for-elementor-lite' ) );
}
if ( !isset( $_POST[ 'fields' ] ) ) {
return;
}
wp_parse_str( $_POST[ 'fields' ], $fields );
if ( isset( $fields[ 'eael_user_email_address' ] ) && intval( $fields[ 'eael_user_email_address' ] ) == 1 ) {
$this->wpins_process();
}
update_option( 'eael_setup_wizard', 'complete' );
if ( $this->save_element_list( $fields ) ) {
wp_send_json_success( [ 'redirect_url' => esc_url( admin_url( 'admin.php?page=eael-settings' ) ) ] );
}
wp_send_json_error();
}
/**
* save_eael_elements_data
*/
public function save_eael_elements_data() {
check_ajax_referer( 'essential-addons-elementor', 'security' );
if ( !current_user_can( 'manage_options' ) ) {
wp_send_json_error( __( 'you are not allowed to do this action', 'essential-addons-for-elementor-lite' ) );
}
if ( !isset( $_POST[ 'fields' ] ) ) {
return;
}
wp_parse_str( $_POST[ 'fields' ], $fields );
if ( $this->save_element_list( $fields ) ) {
wp_send_json_success();
}
wp_send_json_error();
}
/**
* save_element_list
* @param $fields
* @return bool
*/
public function save_element_list( $fields ) {
if ( !empty( $fields ) ) {
$el_list = $fields[ 'eael_element' ];
$save_element = [];
foreach ( $GLOBALS[ 'eael_config' ][ 'elements' ] as $key => $item ) {
$save_element[ $key ] = ( isset( $el_list[ $key ] ) ) ? 1 : '';
}
$save_element = array_merge( $save_element, $this->get_dummy_widget() );
update_option( 'eael_save_settings', $save_element );
return true;
}
return false;
}
/**
* get_element_list
* @return array[]
*/
public function get_element_list() {
return [
'content-elements' => [
'title' => __( 'Content Elements', 'essential-addons-for-elementor-lite' ),
'elements' => [
[
'key' => 'creative-btn',
'title' => __( 'Creative Button', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'team-members',
'title' => __( 'Team Member', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'testimonials',
'title' => __( 'Testimonial', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'flip-box',
'title' => __( 'Flip Box', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'info-box',
'title' => __( 'Info Box', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'dual-header',
'title' => __( 'Dual Color Heading', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'tooltip',
'title' => __( 'Tooltip', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'adv-accordion',
'title' => __( 'Advanced Accordion', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'adv-tabs',
'title' => __( 'Advanced Tabs', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'feature-list',
'title' => __( 'Feature List', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'sticky-video',
'title' => __( 'Sticky Video', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'event-calendar',
'title' => __( 'Event Calendar', 'essential-addons-for-elementor-lite' ),
'preferences' => 'advance',
],
[
'key' => 'simple-menu',
'title' => __( 'Simple Menu', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
]
],
'dynamic-content-elements' => [
'title' => __( 'Dynamic Content Elements', 'essential-addons-for-elementor-lite' ),
'elements' => [
[
'key' => 'post-grid',
'title' => __( 'Post Grid', 'essential-addons-for-elementor-lite' ),
'preferences' => 'advance',
],
[
'key' => 'post-timeline',
'title' => __( 'Post Timeline', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'data-table',
'title' => __( 'Data Table', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'advanced-data-table',
'title' => __( 'Advanced Data Table', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'content-ticker',
'title' => __( 'Content Ticker', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'nft-gallery',
'title' => __( 'NFT Gallery', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'business-reviews',
'title' => __( 'Business Reviews', 'essential-addons-for-elementor-lite' ),
],
]
],
'creative-elements' => [
'title' => __( 'Creative Elements', 'essential-addons-for-elementor-lite' ),
'elements' => [
[
'key' => 'count-down',
'title' => __( 'Countdown', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'fancy-text',
'title' => __( 'Fancy Text', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'filter-gallery',
'title' => __( 'Filterable Gallery', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'image-accordion',
'title' => __( 'Image Accordion', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'progress-bar',
'title' => __( 'Progress Bar', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'interactive-circle',
'title' => __( 'Interactive Circle', 'essential-addons-for-elementor-lite' ),
'preferences' => 'advance',
],
[
'key' => 'svg-draw',
'title' => __( 'SVG Draw', 'essential-addons-for-elementor-lite' ),
'preferences' => 'advance',
],
]
],
'marketing-elements' => [
'title' => __( 'Marketing & Social Feed Elements', 'essential-addons-for-elementor-lite' ),
'elements' => [
[
'key' => 'call-to-action',
'title' => __( 'Call To Action', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'price-table',
'title' => __( 'Pricing Table', 'essential-addons-for-elementor-lite' ),
'preferences' => 'basic',
],
[
'key' => 'twitter-feed',
'title' => __( 'Twitter Feed', 'essential-addons-for-elementor-lite' ),
'preferences' => 'advance',
],
[
'key' => 'facebook-feed',
'title' => __( 'Facebook Feed', 'essential-addons-for-elementor-lite' ),
'preferences' => 'advance',
],
]
],
'form-styler-elements' => [
'title' => __( 'Form Styler Elements', 'essential-addons-for-elementor-lite' ),
'elements' => [
[
'key' => 'contact-form-7',
'title' => __( 'Contact Form 7', 'essential-addons-for-elementor-lite' ),
'preferences' => 'advance',
],
[
'key' => 'weforms',
'title' => __( 'weForms', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'ninja-form',
'title' => __( 'Ninja Form', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'gravity-form',
'title' => __( 'Gravity Form', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'caldera-form',
'title' => __( 'Caldera Form', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'wpforms',
'title' => __( 'WPForms', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'fluentform',
'title' => __( 'Fluent Forms', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'formstack',
'title' => __( 'Formstack', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'typeform',
'title' => __( 'Typeform', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'login-register',
'title' => __( 'Login Register Form', 'essential-addons-for-elementor-lite' ),
'preferences' => 'advance',
],
]
],
'documentation-elements' => [
'title' => __( 'Documentation Elements', 'essential-addons-for-elementor-lite' ),
'elements' => [
[
'key' => 'betterdocs-category-grid',
'title' => __( 'BetterDocs Category Grid', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'betterdocs-category-box',
'title' => __( 'BetterDocs Category Box', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'betterdocs-search-form',
'title' => __( 'BetterDocs Search Form', 'essential-addons-for-elementor-lite' ),
]
]
],
'woocommerce-elements' => [
'title' => __( 'WooCommerce Elements', 'essential-addons-for-elementor-lite' ),
'elements' => [
[
'key' => 'product-grid',
'title' => __( 'Product Grid', 'essential-addons-for-elementor-lite' ),
'preferences' => 'advance',
],
[
'key' => 'woo-product-carousel',
'title' => __( 'Woo Product Carousel', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'woo-checkout',
'title' => __( 'Woo Checkout', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'woo-cart',
'title' => __( 'Woo Cart', 'essential-addons-for-elementor-lite' ),
],
[
'key' => 'woo-product-compare',
'title' => __( 'Woo Product Compare', 'essential-addons-for-elementor-lite' ),
'preferences' => 'advance',
],
[
'key' => 'woo-product-gallery',
'title' => __( 'Woo Product Gallery', 'essential-addons-for-elementor-lite' ),
'preferences' => 'advance',
]
]
]
];
}
public function pro_elements() {
return [
'event-calendar' => [
'title' => __( 'Event Calendar', 'essential-addons-for-elementor-lite' ),
'link' => esc_url( 'https://essential-addons.com/elementor/event-calendar/' ),
'logo' => esc_url( EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/event-cal.svg' ),
],
'toggle' => [
'title' => __( 'Toggle', 'essential-addons-for-elementor-lite' ),
'link' => esc_url( 'https://essential-addons.com/elementor/content-toggle/' ),
'logo' => esc_url( EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/toggle.svg' ),
],
'adv-google-map' => [
'title' => __( 'Advanced Google Map', 'essential-addons-for-elementor-lite' ),
'link' => esc_url( 'https://essential-addons.com/elementor/advanced-google-map/' ),
'logo' => esc_url( EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/adv-google-map.svg' ),
],
'dynamic-gallery' => [
'title' => __( 'Dynamic Gallery', 'essential-addons-for-elementor-lite' ),
'link' => esc_url( 'https://essential-addons.com/elementor/dynamic-gallery/' ),
'logo' => esc_url( EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/dynamic-gallery.svg' ),
],
'image-hotspots' => [
'title' => __( 'Image Hotspots', 'essential-addons-for-elementor-lite' ),
'link' => esc_url( 'https://essential-addons.com/elementor/image-hotspots/' ),
'logo' => esc_url( EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/image-hotspots.svg' ),
],
'lightbox-and-modal' => [
'title' => __( 'Lightbox and Modal', 'essential-addons-for-elementor-lite' ),
'link' => esc_url( 'https://essential-addons.com/elementor/lightbox-modal/' ),
'logo' => esc_url( EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/lightbox-and-modal.svg' ),
],
'mailchimp' => [
'title' => __( 'Mailchimp', 'essential-addons-for-elementor-lite' ),
'link' => esc_url( 'https://essential-addons.com/elementor/mailchimp/' ),
'logo' => esc_url( EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/mailchimp.svg' ),
],
'instagram-feed' => [
'title' => __( 'Instagram Feed', 'essential-addons-for-elementor-lite' ),
'link' => esc_url( 'https://essential-addons.com/elementor/instagram-feed/' ),
'logo' => esc_url( EAEL_PLUGIN_URL . 'assets/admin/images/quick-setup/instagram-feed.svg' ),
]
];
}
public static function redirect() {
update_option( 'eael_setup_wizard', 'init' );
wp_redirect( admin_url( 'admin.php?page=eael-setup-wizard' ) );
}
public function change_site_title() {
?>
true,
'goodbye_form' => true,
'item_id' => '760e8569757fa16992d8'
] );
$tracker->set_is_tracking_allowed( true );
$tracker->do_tracking( true );
}
}
public function get_dummy_widget() {
return [
'embedpress' => 1,
'woocommerce-review' => 1,
'career-page' => 1,
'crowdfundly-single-campaign' => 1,
'crowdfundly-organization' => 1,
'crowdfundly-all-campaign' => 1,
'better-payment' => 1,
];
}
}