X7ROOT File Manager
Current Path:
/home/oakwood/public_html/wp-content/plugins/happy-elementor-addons
home
/
oakwood
/
public_html
/
wp-content
/
plugins
/
happy-elementor-addons
/
ðŸ“
..
📄
LICENSE.txt
(18 KB)
ðŸ“
assets
ðŸ“
base
📄
base.php
(13.27 KB)
📄
changelog.txt
(34.61 KB)
ðŸ“
classes
ðŸ“
controls
ðŸ“
extensions
ðŸ“
i18n
ðŸ“
inc
📄
plugin.php
(6.7 KB)
📄
readme.txt
(28.24 KB)
ðŸ“
templates
ðŸ“
traits
ðŸ“
vendor
ðŸ“
widgets
ðŸ“
wpml
Editing: base.php
<?php /** * Plugin base class * * @package Happy_Addons */ namespace Happy_Addons\Elementor; use Elementor\Controls_Manager; use Elementor\Elements_Manager; use \Happy_Addons\Elementor\Classes as HappyAddons_Classes; // Code from autoloader defined( 'ABSPATH' ) || die(); class Base { private static $instance = null; public $appsero = null; public static function instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } private function __construct() { add_action( 'init', [ $this, 'i18n' ] ); $this->run_autoload(); } public function init() { $this->include_files(); // Register custom category add_action( 'elementor/elements/categories_registered', [ $this, 'add_category' ] ); // Register custom controls add_action( 'elementor/controls/controls_registered', [ $this, 'register_controls' ] ); add_action( 'init', [ $this, 'include_on_init' ] ); $this->init_appsero_tracking(); do_action( 'happyaddons_loaded' ); } public function i18n() { // Code from autoloader load_plugin_textdomain( 'happy-elementor-addons', false, dirname( plugin_basename( HAPPY_ADDONS__FILE__ ) ) . '/i18n/' ); } /** * Initialize the tracker * * @return void */ protected function init_appsero_tracking() { if ( ! class_exists( 'Happy_Addons\Appsero\Client' ) ) { include_once HAPPY_ADDONS_DIR_PATH . 'vendor/appsero/src/Client.php'; } $this->appsero = new \Happy_Addons\Appsero\Client( '70b96801-94cc-4501-a005-8f9a4e20e152', 'Happy Elementor Addons', HAPPY_ADDONS__FILE__ ); $this->appsero->set_textdomain( 'happy-elementor-addons' ); // Active insights $this->appsero->insights() ->add_plugin_data() ->add_extra([ 'pro_installed' => ha_has_pro() ? 'Yes' : 'No', 'pro_version' => ha_has_pro() ? HAPPY_ADDONS_PRO_VERSION : '', ]) ->init(); } public static function hook_manager() { /* Ajax_Handler */ add_action( 'wp_ajax_ha_twitter_feed_action', [ HappyAddons_Classes\Ajax_Handler::class, 'twitter_feed_ajax' ] ); add_action( 'wp_ajax_nopriv_ha_twitter_feed_action', [ HappyAddons_Classes\Ajax_Handler::class, 'twitter_feed_ajax' ] ); add_action( 'wp_ajax_ha_post_tab_action', [ HappyAddons_Classes\Ajax_Handler::class, 'post_tab' ] ); add_action( 'wp_ajax_nopriv_ha_post_tab_action', [ HappyAddons_Classes\Ajax_Handler::class, 'post_tab' ] ); add_action( 'wp_ajax_ha_mailchimp_ajax', [HappyAddons_Classes\Ajax_Handler::class, 'mailchimp_prepare_ajax'] ); add_action( 'wp_ajax_nopriv_ha_mailchimp_ajax', [HappyAddons_Classes\Ajax_Handler::class, 'mailchimp_prepare_ajax'] ); /* Icons_Manager */ add_filter( 'elementor/icons_manager/additional_tabs', [ HappyAddons_Classes\Icons_Manager::class, 'add_happy_icons_tab' ] ); /* Widgets_Manager */ // legacy support hook if( defined('HAPPY_ADDONS_PRO_VERSION') && HAPPY_ADDONS_PRO_VERSION <= '2.7.0' ) { add_action( 'elementor/widgets/widgets_registered', [ HappyAddons_Classes\Widgets_Manager::class, 'register'] ); } // original hook for register widgets add_action('elementor/widgets/register', [ HappyAddons_Classes\Widgets_Manager::class, 'register'] ); add_action('elementor/frontend/before_render', [ HappyAddons_Classes\Widgets_Manager::class, 'add_global_widget_render_attributes'] ); /* Assets_Manager */ // Frontend scripts add_action('wp_enqueue_scripts', [HappyAddons_Classes\Assets_Manager::class, 'frontend_register']); add_action('wp_enqueue_scripts', [HappyAddons_Classes\Assets_Manager::class, 'frontend_enqueue'], 100); add_action('elementor/css-file/post/enqueue', [HappyAddons_Classes\Assets_Manager::class, 'frontend_enqueue_exceptions']); // Edit and preview enqueue add_action('elementor/preview/enqueue_styles', [HappyAddons_Classes\Assets_Manager::class, 'enqueue_preview_styles']); // Enqueue editor & editorv2 scripts add_action('elementor/editor/after_enqueue_scripts', [HappyAddons_Classes\Assets_Manager::class, 'editor_enqueue']); // Paragraph toolbar registration add_filter('elementor/editor/localize_settings', [HappyAddons_Classes\Assets_Manager::class, 'add_inline_editing_intermediate_toolbar']); if (ha_has_pro() && version_compare(HAPPY_ADDONS_PRO_VERSION, '1.9.0', '<=')) { $callback = ['\Happy_Addons_Pro\Assets_Manager', 'frontend_register']; remove_action('wp_enqueue_scripts', $callback); add_action('wp_enqueue_scripts', $callback, 0); } /* Cache_Manager */ add_action( 'elementor/editor/after_save', [ HappyAddons_Classes\Cache_Manager::class, 'cache_widgets' ], 10, 2 ); add_action( 'after_delete_post', [ HappyAddons_Classes\Cache_Manager::class, 'delete_cache' ] ); /* WPML_Manager */ add_filter( 'wpml_elementor_widgets_to_translate', [ HappyAddons_Classes\WPML_Manager::class, 'add_widgets_to_translate' ] ); add_action( 'wpml_translation_job_saved', [ HappyAddons_Classes\WPML_Manager::class, 'on_translation_job_saved' ], 10, 3 ); /* Api_Handler */ if(get_option('happy-elementor-addons_wizard_cache')){ delete_option('happy-elementor-addons_wizard_cache'); } add_action('rest_api_init', [HappyAddons_Classes\Api_Handler::class, 'ha_wizard_routes']); if(!get_option('happy-elementor-x98237938759348573')) { delete_option('happy-elementor-addons_wizard_cache_key'); update_option('happy-elementor-x98237938759348573',1); } if ( is_admin() ) { /* Dashboard */ add_action( 'admin_menu', [ HappyAddons_Classes\Dashboard::class, 'add_menu' ], 21 ); add_action( 'admin_menu', [ HappyAddons_Classes\Dashboard::class, 'update_menu_items' ], 99 ); add_action( 'admin_enqueue_scripts', [ HappyAddons_Classes\Dashboard::class, 'enqueue_scripts' ] ); add_action( 'wp_ajax_ha_save_dashboard', [ HappyAddons_Classes\Dashboard::class, 'save_data' ] ); add_action( 'admin_init', [ HappyAddons_Classes\Dashboard::class, 'activation_redirect' ] ); add_filter( 'plugin_action_links_' . plugin_basename( HAPPY_ADDONS__FILE__ ), [ HappyAddons_Classes\Dashboard::class, 'add_action_links' ] ); add_action( 'happyaddons_save_dashboard_data', [ HappyAddons_Classes\Dashboard::class, 'save_widgets_data' ], 1); add_action( 'happyaddons_save_dashboard_data', [ HappyAddons_Classes\Dashboard::class, 'save_features_data' ] ); add_action( 'happyaddons_save_dashboard_data', [ HappyAddons_Classes\Dashboard::class, 'save_credentials_data' ] ); add_action( 'happyaddons_save_dashboard_data', [ HappyAddons_Classes\Dashboard::class, 'disable_unused_widget' ], 10); add_action( 'in_admin_header', [ HappyAddons_Classes\Dashboard::class, 'remove_all_notices' ], PHP_INT_MAX ); /* Attention_Seeker */ add_action( 'admin_notices', [ HappyAddons_Classes\Attention_Seeker::class, 'seek_attention' ] ); add_action( 'wp_ajax_ignore_attention_seeker', [ HappyAddons_Classes\Attention_Seeker::class, 'process_ignore_request' ] ); add_action( 'admin_head', [ HappyAddons_Classes\Attention_Seeker::class, 'setup_environment' ] ); /* Select2_Handler */ add_action( 'wp_ajax_ha_process_dynamic_select', [ HappyAddons_Classes\Select2_Handler::class, 'process_request' ] ); /* Dashboard_Widgets */ add_action( 'wp_dashboard_setup', [ HappyAddons_Classes\Dashboard_Widgets::class, 'dashboard_widgets_handler' ], 9999 ); } if ( is_user_logged_in() ) { /* Library_Manager */ add_action( 'elementor/editor/footer', [ HappyAddons_Classes\Library_Manager::class, 'print_template_views' ] ); add_action( 'elementor/ajax/register_actions', [ HappyAddons_Classes\Library_Manager::class, 'register_ajax_actions' ] ); /* Review */ add_action( 'admin_init', [HappyAddons_Classes\Review::class, 'ha_void_check_installation_time'] ); add_action( 'admin_init', [HappyAddons_Classes\Review::class, 'ha_void_spare_me'], 5 ); /* Notice */ if ( ! ( in_array( 'happy-elementor-addons-pro/happy-elementors-addons-pro.php', (array) get_option( 'active_plugins', [] ), true ) ) ) { add_action( 'admin_init', [HappyAddons_Classes\Notice::class, 'ha_void_check_installation_time'] ); add_action( 'admin_init', [HappyAddons_Classes\Notice::class, 'ha_void_spare_me'], 5 ); } /* Admin_Bar */ if ( ha_is_adminbar_menu_enabled() ) { add_action( 'admin_bar_menu', [HappyAddons_Classes\Admin_Bar::class, 'add_toolbar_items'], 500 ); add_action( 'wp_enqueue_scripts', [HappyAddons_Classes\Admin_Bar::class, 'enqueue_assets'] ); add_action( 'admin_enqueue_scripts', [HappyAddons_Classes\Admin_Bar::class, 'enqueue_assets'] ); add_action( 'wp_ajax_ha_clear_cache', [HappyAddons_Classes\Admin_Bar::class, 'clear_cache' ] ); } /* Clone_Handler */ if ( ha_is_happy_clone_enabled() ) { add_action( 'admin_action_ha_duplicate_thing', [ HappyAddons_Classes\Clone_Handler::class, 'duplicate_thing' ] ); add_filter( 'post_row_actions', [ HappyAddons_Classes\Clone_Handler::class, 'add_row_actions' ], 10, 2 ); add_filter( 'page_row_actions', [ HappyAddons_Classes\Clone_Handler::class, 'add_row_actions' ], 10, 2 ); } } } public function include_files() { include_once( HAPPY_ADDONS_DIR_PATH . 'inc/functions-forms.php' ); self::hook_manager(); HappyAddons_Classes\Theme_Builder::instance(); if ( is_admin() ) { HappyAddons_Classes\Updater::init(); } } public function include_on_init() { HappyAddons_Classes\Condition_Manager::instance(); HappyAddons_Classes\Extensions_Manager::init(); } /** * Add custom category. * * @param $elements_manager */ public function add_category( Elements_Manager $elements_manager ) { $elements_manager->add_category( 'happy_addons_category', [ 'title' => __( 'Happy Addons', 'happy-elementor-addons' ), 'icon' => 'fa fa-smile-o', ] ); } /** * Register controls * * @param Controls_Manager $controls_Manager */ public function register_controls( Controls_Manager $controls_Manager ) { $Foreground = __NAMESPACE__ . '\Controls\Group_Control_Foreground'; $controls_Manager->add_group_control( $Foreground::get_type(), new $Foreground() ); $Select2 = __NAMESPACE__ . '\Controls\Select2'; ha_elementor()->controls_manager->register( new $Select2() ); $Widget_List = __NAMESPACE__ . '\Controls\Widget_List'; ha_elementor()->controls_manager->register( new $Widget_List() ); $Text_Stroke = __NAMESPACE__ . '\Controls\Group_Control_Text_Stroke'; $controls_Manager->add_group_control( $Text_Stroke::get_type(), new $Text_Stroke() ); } protected static function init_classes_aliases() { return [ 'Widgets_Manager' => [ 'Happy_Addons\Elementor\Classes\Widgets_Manager', 'Happy_Addons\Elementor\Widgets_Manager', ], 'Widgets_Cache' => [ 'Happy_Addons\Elementor\Classes\Widgets_Cache', 'Happy_Addons\Elementor\Widgets_Cache', ], 'Assets_Cache' => [ 'Happy_Addons\Elementor\Classes\Assets_Cache', 'Happy_Addons\Elementor\Assets_Cache', ] ]; } public static function get_class_name($class_str) { $last_slash_pos = strrpos($class_str, '\\'); if ($last_slash_pos !== false) { $class_name = substr($class_str, $last_slash_pos + 1); } else { $class_name = $class_str; // Fallback if no backslash exists } return $class_name; } protected function autoload( $class_name ) { if ( 0 !== strpos( $class_name, __NAMESPACE__ ) ) { return; } $relative_class_name = self::get_class_name( $class_name ); $file_name = strtolower( str_replace( [ __NAMESPACE__ . '\\', '_', '\\' ], // replace namespace, underscrore & backslash [ '', '-', '/' ], $class_name ) ); //For Classes folder class load if ( 0 === strpos( $class_name, 'Happy_Addons\Elementor\Classes\\' ) ) { $file = HAPPY_ADDONS_DIR_PATH . '/' . $file_name . '.php'; if ( ! class_exists( $class_name ) && is_readable( $file ) ) { include_once $file; } } //For Controls folder class load if ( 0 === strpos( $class_name, 'Happy_Addons\Elementor\Controls\\' ) ) { $file = HAPPY_ADDONS_DIR_PATH . '/' . $file_name . '.php'; if ( ! class_exists( $class_name ) && is_readable( $file ) ) { include_once $file; } } //For Extensions folder class load if ( 0 === strpos( $class_name, 'Happy_Addons\Elementor\Extensions\\' ) ) { $file = HAPPY_ADDONS_DIR_PATH . '/' . $file_name . '.php'; if ( ! class_exists( $class_name ) && is_readable( $file ) ) { include_once $file; } } //For Traits folder class load if ( 0 === strpos( $class_name, 'Happy_Addons\Elementor\Traits\\' ) ) { $file = HAPPY_ADDONS_DIR_PATH . '/' . $file_name . '.php'; if ( is_readable( $file ) ) { include_once $file; } } //For Widget class load if ( 0 === strpos( $class_name, __NAMESPACE__ . '\Widget\\' ) ) { $file = HAPPY_ADDONS_DIR_PATH . '/' . str_replace( 'widget', 'widgets', $file_name ) . '/widget.php'; if ( ! class_exists( $class_name ) && is_readable( $file ) ) { include_once $file; } } //For WPML class load if ( 0 === strpos( $class_name, 'Happy_Addons\Elementor\Wpml') ) { $file = HAPPY_ADDONS_DIR_PATH . '/' . $file_name . '.php'; if ( ! class_exists( $class_name ) && is_readable( $file ) ) { include_once $file; } } //For class aliases if ( array_key_exists( $relative_class_name, self::init_classes_aliases() ) ) { $aliases = self::init_classes_aliases(); class_alias( $aliases[ $relative_class_name ][0], $aliases[ $relative_class_name ][1] ); } } public function run_autoload() { spl_autoload_register( [ $this, 'autoload' ] ); } }
Upload File
Create Folder