![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mets.corals.io/wp-content/plugins/easy-accordion-free/ |
<?php /** * Plugin name: Easy Accordion * Plugin URI: https://shapedplugin.com/easy-accordion/?ref=1 * Description: The best Responsive and Touch-friendly drag & drop <strong>Accordion FAQ</strong> builder plugin for WordPress. * Author: ShapedPlugin * Author URI: https://shapedplugin.com/ * Version: 2.1.19 * Text Domain: easy-accordion-free * Domain Path: /languages/ * * @package easy-accordion-free * */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { die; } /** * Pro version check. * * @return boolean */ function is_easy_accordion_pro() { include_once ABSPATH . 'wp-admin/includes/plugin.php'; if ( ! ( is_plugin_active( 'easy-accordion-pro/easy-accordion-pro.php' ) || is_plugin_active_for_network( 'easy-accordion-pro/easy-accordion-pro.php' ) ) ) { return true; } } /** * The main class. */ class SP_EASY_ACCORDION_FREE { /** * The loader that's responsible for maintaining and registering all hooks that power * the plugin. * * @since 2.0.0 * @access protected * @var Easy_Accordion_Free_Loader $loader Maintains and registers all hooks for the plugin. */ public $loader; /** * Currently plugin version. * * @since 2.0.0 * * @var string */ public $version = '2.1.19'; /** * The name of the plugin. * * @since 2.0.0 * * @var string */ public $plugin_name = 'easy-accordion-free'; /** * Plugin textdomain. * * @since 2.0.0 * * @var string */ public $domain = 'easy-accordion-free'; /** * Plugin file. * * @var string */ private $file = __FILE__; /** * Holds class object * * @var object * @since 2.0.0 */ private static $instance; /** * Initialize the SP_EASY_ACCORDION_FREE() class * * @since 2.0.0 * @return object */ public static function init() { if ( ! isset( self::$instance ) && ! ( self::$instance instanceof SP_EASY_ACCORDION_FREE ) ) { self::$instance = new SP_EASY_ACCORDION_FREE(); self::$instance->setup(); } return self::$instance; } /** * Define the core functionality of the plugin. * * Set the plugin name and the plugin version that can be used throughout the plugin. * Load the dependencies, define the locale, and set the hooks for the admin area and * the public-facing side of the site. * * @since 2.0.0 */ public function setup() { $this->define_constants(); $this->includes(); $this->load_dependencies(); $this->set_locale(); $this->define_admin_hooks(); $this->define_common_hooks(); } /** * Define constants * * @since 2.0.0 */ public function define_constants() { define( 'SP_EA_VERSION', $this->version ); define( 'SP_PLUGIN_NAME', $this->plugin_name ); define( 'SP_EA_PATH', plugin_dir_path( __FILE__ ) ); define( 'SP_EA_URL', plugin_dir_url( __FILE__ ) ); define( 'SP_EA_BASENAME', plugin_basename( __FILE__ ) ); define( 'SP_EA_INCLUDES', SP_EA_PATH . '/includes' ); } /** * Register all of the hooks related to the admin area functionality * of the plugin. * * @since 2.0.0 * @access private */ private function define_admin_hooks() { $plugin_admin = new Easy_Accordion_Free_Admin( SP_PLUGIN_NAME, SP_EA_VERSION ); $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_admin_styles' ); $this->loader->add_filter( 'post_updated_messages', $plugin_admin, 'eap_updated_messages', 10, 2 ); $this->loader->add_filter( 'manage_sp_easy_accordion_posts_columns', $plugin_admin, 'filter_accordion_admin_column' ); $this->loader->add_action( 'manage_sp_easy_accordion_posts_custom_column', $plugin_admin, 'display_accordion_admin_fields', 10, 2 ); $this->loader->add_filter( 'admin_footer_text', $plugin_admin, 'sp_eap_review_text', 10, 2 ); $this->loader->add_filter( 'plugin_row_meta', $plugin_admin, 'after_easy_accodion_row_meta', 10, 4 ); $this->loader->add_action( 'activated_plugin', $plugin_admin, 'sp_ea_redirect_after_activation', 10, 2 ); // import export tools. $import_export = new Easy_Accordion_Import_Export( SP_PLUGIN_NAME, SP_EA_VERSION ); $this->loader->add_action( 'wp_ajax_eap_export_accordions', $import_export, 'export_accordions' ); $this->loader->add_action( 'wp_ajax_eap_import_accordions', $import_export, 'import_accordions' ); // Help Page. $help_page = new Easy_Accordion_Free_Help( SP_PLUGIN_NAME, SP_EA_VERSION ); $this->loader->add_action( 'admin_menu', $help_page, 'help_admin_menu', 50 ); $this->loader->add_filter( 'plugin_action_links', $help_page, 'add_plugin_action_links', 10, 2 ); // Premium page. $premium_page = new Easy_Accordion_Premium( SP_PLUGIN_NAME, SP_EA_VERSION ); $this->loader->add_action( 'admin_menu', $premium_page, 'premium_admin_menu', 51 ); if ( version_compare( $GLOBALS['wp_version'], '5.3', '>=' ) ) { // Gutenberg block. new Easy_Accordion_Free_Gutenberg_Block(); } // Elementor shortcode addons. require_once ABSPATH . 'wp-admin/includes/plugin.php'; if ( ( is_plugin_active( 'elementor/elementor.php' ) || is_plugin_active_for_network( 'elementor/elementor.php' ) ) ) { require_once SP_EA_PATH . 'admin/class-easy-accordion-free-element-shortcode-addons.php'; } } /** * Define the locale for this plugin for internationalization. * * Uses the Easy_Accordion_Free_I18n class in order to set the domain and to register the hook * with WordPress. * * @since 2.0.0 * @access private */ private function set_locale() { $plugin_i18n = new Easy_Accordion_Free_I18n(); $this->loader->add_action( 'plugins_loaded', $plugin_i18n, 'load_plugin_textdomain' ); } /** * Register common hooks. * * @since 2.0.0 * @access private */ private function define_common_hooks() { $plugin_cpt = new Easy_Accordion_Free_Post_Type( $this->plugin_name, $this->version ); $plugin_review_notice = new Easy_Accordion_Free_Review( SP_PLUGIN_NAME, SP_EA_VERSION ); $this->loader->add_action( 'init', $plugin_cpt, 'easy_accordion_post_type', 10 ); $this->loader->add_action( 'admin_notices', $plugin_review_notice, 'display_admin_notice' ); $this->loader->add_action( 'wp_ajax_sp-eafree-never-show-review-notice', $plugin_review_notice, 'dismiss_review_notice' ); } /** * Included required files. * * @return void */ public function includes() { require_once SP_EA_INCLUDES . '/class-easy-accordion-free-updates.php'; require_once SP_EA_INCLUDES . '/class-easy-accordion-free-loader.php'; require_once SP_EA_INCLUDES . '/class-easy-accordion-free-post-types.php'; require_once SP_EA_INCLUDES . '/class-easy-accordion-free-i18n.php'; require_once SP_EA_PATH . '/public/views/scripts.php'; require_once SP_EA_PATH . '/admin/class-easy-accordion-free-admin.php'; require_once SP_EA_PATH . '/admin/views/help.php'; require_once SP_EA_PATH . '/admin/views/premium.php'; require_once SP_EA_PATH . '/admin/views/models/classes/setup.class.php'; require_once SP_EA_PATH . '/admin/views/metabox-config.php'; require_once SP_EA_PATH . '/admin/views/option-config.php'; require_once SP_EA_PATH . '/admin/views/tools-config.php'; require_once SP_EA_PATH . '/admin/views/notices/review.php'; require_once SP_EA_PATH . '/public/views/class-easy-accordion-free-shortcode.php'; require_once SP_EA_PATH . '/public/views/deprecated/shortcode-deprecated.php'; require_once SP_EA_PATH . '/includes/class-easy-accordion-import-export.php'; require_once SP_EA_PATH . '/admin/preview/class-easy-accordion-free-preview.php'; require_once SP_EA_PATH . '/admin/class-easy-accordion-free-gutenberg-block.php'; } /** * Load the required dependencies for this plugin. * * Include the following files that make up the plugin: * * - Easy_Accordion_Free_Loader. Orchestrates the hooks of the plugin. * - Easy_Accordion_Free_i18n. Defines internationalization functionality. * - Easy_Accordion_Free_Admin. Defines all hooks for the admin area. * - Easy_Accordion_Free_Public. Defines all hooks for the public side of the site. * * Create an instance of the loader which will be used to register the hooks * with WordPress. * * @since 2.0.0 * @access private */ private function load_dependencies() { $this->loader = new Easy_Accordion_Free_Loader(); } /** * Run the loader to execute all of the hooks with WordPress. * * @since 2.0.0 */ public function run() { $this->loader->run(); } } /** * Main instance of Easy Accordion * * Returns the main instance of the Easy Accordion. * * @since 2.0.0 */ function sp_easy_accordion() { $plugin = SP_EASY_ACCORDION_FREE::init(); $plugin->loader->run(); } if ( is_easy_accordion_pro() ) { sp_easy_accordion(); }