100 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * Plugin Name: Contact Form 7 Widget For Elementor Page Builder & Gutenberg Blocks
 | 
						|
 * Description: The Contact Form Widget is a elementor addons and Gutenberg blocks for WordPress.
 | 
						|
 * Plugin URI:  https://htplugins.com/
 | 
						|
 * Author:      HT Plugins
 | 
						|
 * Author URI:  https://profiles.wordpress.org/htplugins/#content-plugins
 | 
						|
 * Version:     1.2.0
 | 
						|
 * License:     GPL2
 | 
						|
 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
 | 
						|
 * Text Domain: ht-contactform
 | 
						|
 * Domain Path: /languages
 | 
						|
 * Elementor tested up to: 3.16.6
 | 
						|
 * Elementor Pro tested up to: 3.16.2
 | 
						|
*/
 | 
						|
 | 
						|
if( ! defined( 'ABSPATH' ) ) exit(); // Exit if accessed directly
 | 
						|
 | 
						|
if ( ! function_exists('is_plugin_active')) { include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); }
 | 
						|
 | 
						|
define( 'HTCONTACTFORM_VERSION', '1.2.0' );
 | 
						|
define( 'HTCONTACTFORM_PL_URL', plugins_url( '/', __FILE__ ) );
 | 
						|
define( 'HTCONTACTFORM_PL_PATH', plugin_dir_path( __FILE__ ) );
 | 
						|
 | 
						|
if( is_plugin_active( 'contact-form-7/wp-contact-form-7.php' ) ){
 | 
						|
    
 | 
						|
    // Elementor Widgets File Call
 | 
						|
    function htcontactform_elementor_widgets(){
 | 
						|
        include( HTCONTACTFORM_PL_PATH.'include/elementor_widgets.php' );
 | 
						|
    }
 | 
						|
    add_action('elementor/widgets/widgets_registered','htcontactform_elementor_widgets');
 | 
						|
 | 
						|
    include( HTCONTACTFORM_PL_PATH.'blocks/block-init.php' );
 | 
						|
    include( HTCONTACTFORM_PL_PATH.'include/class/Api.php' );
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
// Check Plugins is Installed or not
 | 
						|
if( !function_exists( 'htcontactform_is_plugins_active' ) ){
 | 
						|
    function htcontactform_is_plugins_active( $pl_file_path = NULL ){
 | 
						|
        $installed_plugins_list = get_plugins();
 | 
						|
        return isset( $installed_plugins_list[$pl_file_path] );
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
// Load Plugins
 | 
						|
function htcontactform_load_plugin() {
 | 
						|
    load_plugin_textdomain( 'ht-contactform' );
 | 
						|
    
 | 
						|
    if( !is_plugin_active( 'contact-form-7/wp-contact-form-7.php' ) ){
 | 
						|
        add_action( 'admin_notices', 'htcontactform_check_contactform_status' );
 | 
						|
        return;
 | 
						|
    }
 | 
						|
}
 | 
						|
add_action( 'plugins_loaded', 'htcontactform_load_plugin' );
 | 
						|
 | 
						|
// Check Elementor install or not.
 | 
						|
function htcontactform_check_contactform_status(){
 | 
						|
    $contactform = 'contact-form-7/wp-contact-form-7.php';
 | 
						|
    if( htcontactform_is_plugins_active( $contactform ) ) {
 | 
						|
        if( ! current_user_can( 'activate_plugins' ) ) {
 | 
						|
            return;
 | 
						|
        }
 | 
						|
        $activation_url = wp_nonce_url( 'plugins.php?action=activate&plugin=' . $contactform . '&plugin_status=all&paged=1&s', 'activate-plugin_' . $contactform );
 | 
						|
 | 
						|
        $message = '<p>' . __( 'HT Contact Form Addons not working because you need to activate the Contact Form 7 plugin.', 'ht-contactform' ) . '</p>';
 | 
						|
        $message .= '<p>' . sprintf( '<a href="%s" class="button-primary">%s</a>', $activation_url, __( 'Activate Now', 'ht-contactform' ) ) . '</p>';
 | 
						|
    } else {
 | 
						|
        if ( ! current_user_can( 'install_plugins' ) ) {
 | 
						|
            return;
 | 
						|
        }
 | 
						|
        $install_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=contact-form-7' ), 'install-plugin_contact-form-7' );
 | 
						|
        $message = '<p>' . __( 'HT Contact Form Addons not working because you need to install the Contact Form 7 plugin', 'ht-contactform' ) . '</p>';
 | 
						|
        $message .= '<p>' . sprintf( '<a href="%s" class="button-primary">%s</a>', $install_url, __( 'Install Now', 'ht-contactform' ) ) . '</p>';
 | 
						|
    }
 | 
						|
    echo '<div class="error"><p>' . $message . '</p></div>';
 | 
						|
}
 | 
						|
 | 
						|
if ( ( htcontactform_is_plugins_active( 'extension-for-cf7-pro/cf7-extensions-pro.php' ) && is_plugin_inactive( 'extension-for-cf7-pro/cf7-extensions-pro.php' ) ) || ! htcontactform_is_plugins_active( 'extension-for-cf7-pro/cf7-extensions-pro.php' ) ){
 | 
						|
    include( HTCONTACTFORM_PL_PATH.'include/dashboard.php' );
 | 
						|
}
 | 
						|
 | 
						|
include( HTCONTACTFORM_PL_PATH.'include/recommended-plugins/class.recommended-plugins.php' );
 | 
						|
include( HTCONTACTFORM_PL_PATH.'include/recommended-plugins/recommended-plugins.php' );
 | 
						|
 | 
						|
 | 
						|
function htcontactform_redirection_page( $plugin ){
 | 
						|
    if( plugin_basename( __FILE__ ) == $plugin ){
 | 
						|
        if( is_plugin_active( 'contact-form-7/wp-contact-form-7.php' ) ){
 | 
						|
            if ( ( htcontactform_is_plugins_active( 'extension-for-cf7-pro/cf7-extensions-pro.php' ) && is_plugin_inactive( 'extension-for-cf7-pro/cf7-extensions-pro.php' ) ) || ! htcontactform_is_plugins_active( 'extension-for-cf7-pro/cf7-extensions-pro.php' ) ){
 | 
						|
                wp_redirect( admin_url("admin.php?page=htcontact-form") );
 | 
						|
            }else{
 | 
						|
                wp_redirect( admin_url("admin.php?page=ht-contactform_extensions") );
 | 
						|
            }
 | 
						|
            die();
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
add_action( 'activated_plugin', 'htcontactform_redirection_page' );
 |