=' ) ) { add_action( 'admin_notices', [ $this, 'admin_notice_minimum_elementor_version' ] ); return; } // Check for required PHP version if ( version_compare( PHP_VERSION, self::MINIMUM_PHP_VERSION, '<' ) ) { add_action( 'admin_notices', [ $this, 'admin_notice_minimum_php_version' ] ); return; } // Plugins Setting Page add_filter('plugin_action_links_'.NNFY_PLUGIN_BASE, [ $this, 'plugins_setting_links' ] ); // Include File $this->include_files(); // After Active Plugin then redirect to setting page $this->plugin_redirect_option_page(); } /* * Notice For Elementor Install / Activation */ public function admin_notice_missing_main_plugin() { if ( isset( $_GET['activate'] ) ) unset( $_GET['activate'] ); $message = sprintf( /* translators: 1: Plugin name 2: Elementor */ esc_html__( '"%1$s" requires "%2$s" to be installed and activated.', '99fy' ), '' . esc_html__( '99Fy Core', '99fy' ) . '', '' . esc_html__( 'Elementor', '99fy' ) . '' ); printf( '

%1$s

', $message ); } /* * Notice For Elementor Requires Version */ public function admin_notice_minimum_elementor_version() { if ( isset( $_GET['activate'] ) ) unset( $_GET['activate'] ); $message = sprintf( /* translators: 1: Plugin name 2: Elementor 3: Required Elementor version */ esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', '99fy' ), '' . esc_html__( '99Fy Core', '99fy' ) . '', '' . esc_html__( 'Elementor', '99fy' ) . '', self::MINIMUM_ELEMENTOR_VERSION ); printf( '

%1$s

', $message ); } /* * Notice For PHP Requires Version */ public function admin_notice_minimum_php_version() { if ( isset( $_GET['activate'] ) ) unset( $_GET['activate'] ); $message = sprintf( /* translators: 1: Plugin name 2: PHP 3: Required PHP version */ esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', '99fy' ), '' . esc_html__( '99Fy Core', '99fy' ) . '', '' . esc_html__( 'PHP', '99fy' ) . '', self::MINIMUM_PHP_VERSION ); printf( '

%1$s

', $message ); } /* * Plugin Activation Hook */ public function plugin_activate_hook() { add_option( 'nnfy_do_activation_redirect', TRUE ); delete_transient( 'nnfy_template_info' ); $nnfy_opt_field = array( 'page_title_status' => 1, 'breadcrumb_status' => 1, 'footer_top_status' => 1, 'footer_copyright_status' => 1, ); foreach ( $nnfy_opt_field as $opt => $value ) { $optfield = 'nnfy_'.$opt; if( empty( get_option( $optfield ) ) || get_option( $optfield ) ){ update_option( $optfield, $value ); }else{ add_option( $optfield, $value ); } } } /** * Plugin deactivation Hook */ public function plugin_deactivation_hook(){ delete_transient( 'nnfy_template_info' ); $nnfy_opt_field = array( 'page_title_status', 'breadcrumb_status', 'footer_top_status', 'footer_copyright_status', ); if ( !is_multisite() ){ foreach ( $nnfy_opt_field as $fieldname ) { $optfield = 'nnfy_'.$fieldname; delete_option( $optfield ); } } } /* * After Active Plugin then redirect page */ public function plugin_redirect_option_page() { if ( get_option( 'nnfy_do_activation_redirect', FALSE ) ) { delete_option('nnfy_do_activation_redirect'); if( !isset( $_GET['activate-multi'] ) ){ wp_redirect( admin_url("admin.php?page=nnfy_options") ); } } } /* * Add settings link on plugin page. */ public function plugins_setting_links( $links ) { $settings_link = ''.esc_html__( 'Settings', '99fy' ).''; array_unshift( $links, $settings_link ); if( !is_plugin_active('99fy-pro/nnfy_pro.php') && class_exists('NNFy_Template_Library') ){ $links['nnfygo_pro'] = sprintf('%2$s',esc_url( \NNFy_Template_Library::instance()->get_pro_link() ), esc_html__('Go Pro','99fy') ); } return $links; } /* * Include File */ public function include_files() { require( NNFY_PL_PATH . 'includes/helper_functions.php' ); require( NNFY_PL_PATH .'includes/demo_importer.php' ); require( NNFY_PL_PATH .'includes/fontawesome.php' ); require( NNFY_PL_PATH . 'classes/class.scripts_manager.php' ); require( NNFY_PL_PATH .'classes/class.widgets_control.php' ); require( NNFY_PL_PATH . 'admin/classes/class.settings_api.php'); // Template Library if( is_admin() ){ require_once( NNFY_PL_PATH. 'admin/classes/template-library.php' ); } // Pro Not install if ( ! is_plugin_active( '99fy-pro/nnfy_pro.php' ) ) { require( NNFY_PL_PATH .'admin/classes/Recommended_Plugins.php' ); require( NNFY_PL_PATH .'admin/classes/class.setting.php' ); require( NNFY_PL_PATH .'admin/classes/class.elementor_options.php' ); } // Customizer Field if ( class_exists( 'WP_Customize_Control' ) ) { require( NNFY_PL_PATH . 'admin/classes/customizer/class.customizer_info_control.php' ); require( NNFY_PL_PATH . 'admin/classes/customizer/class.customizer_separator_control.php' ); require( NNFY_PL_PATH . 'admin/classes/customizer/class.customizer_toggle_control.php' ); require( NNFY_PL_PATH . 'admin/classes/customizer/class.customizer_range_value_control.php' ); require( NNFY_PL_PATH . 'admin/classes/customizer/class.customizer_repeater_control.php' ); require( NNFY_PL_PATH . 'admin/classes/customizer/class.sanitization_callbacks.php' ); require( NNFY_PL_PATH . 'admin/classes/customizer/class.customizer.php' ); } } }