| @@ -1,101 +1,117 @@ | ||
| 1 | -<?php | |
| 2 | -namespace UiCoreElements; | |
| 3 | - | |
| 4 | -/** | |
| 5 | - * Scripts and Styles Class | |
| 6 | - */ | |
| 7 | -class Elementor | |
| 8 | -{ | |
| 9 | - public function __construct() | |
| 10 | - { | |
| 11 | - $this->init_utils(); | |
| 12 | - | |
| 13 | - require_once UICORE_ELEMENTS_INCLUDES . '/class-widget-base.php'; | |
| 14 | - if(!class_exists('\UiCoreAnimate\Base')){ | |
| 15 | - require_once UICORE_ELEMENTS_INCLUDES . '/class-animate.php'; | |
| 16 | - } | |
| 17 | - | |
| 18 | - | |
| 19 | - add_action('elementor/elements/categories_registered', [$this, 'create_custom_category'], 999); | |
| 20 | - add_action('elementor/controls/register', [$this, 'init_controls']); | |
| 21 | - add_action('elementor/widgets/register', [$this, 'init_widgets']); | |
| 22 | - | |
| 23 | - // WPML String Translation plugin exist check | |
| 24 | - if ( defined( 'WPML_ST_VERSION' ) ) { | |
| 25 | - | |
| 26 | - if ( class_exists( 'WPML_Elementor_Module_With_Items' ) ) { | |
| 27 | - $this->load_wpml_modules(); | |
| 28 | - } | |
| 29 | - | |
| 30 | - add_filter( 'wpml_elementor_widgets_to_translate', [$this, 'add_translatable_nodes'] ); | |
| 31 | - } | |
| 32 | - | |
| 33 | - } | |
| 34 | - | |
| 35 | - public function init_widgets() | |
| 36 | - { | |
| 37 | - //Only working with UiCore Framework | |
| 38 | - if(defined('UICORE_ASSETS')){ | |
| 39 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/post-grid.php'; | |
| 40 | - } | |
| 41 | - | |
| 42 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/highlighted-text.php'; | |
| 43 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/advanced-post-grid.php'; | |
| 44 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/counter.php'; | |
| 45 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/icon-box.php'; | |
| 46 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/accordion.php'; | |
| 47 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/icon-list.php'; | |
| 48 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/testimonial-grid.php'; | |
| 49 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/testimonial-carousel.php'; | |
| 50 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/testimonial-slider.php'; | |
| 51 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/logo-grid.php'; | |
| 52 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/logo-carousel.php'; | |
| 53 | - | |
| 54 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/theme-builder/the-content.php'; | |
| 55 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/theme-builder/the-title.php'; | |
| 56 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/theme-builder/post-meta.php'; | |
| 57 | - require_once UICORE_ELEMENTS_INCLUDES . '/widgets/theme-builder/page-description.php'; | |
| 58 | - } | |
| 59 | - | |
| 60 | - | |
| 61 | - public function init_controls() | |
| 62 | - { | |
| 63 | - require UICORE_ELEMENTS_INCLUDES . '/controls/class-post-filter-control.php'; | |
| 64 | - } | |
| 65 | - | |
| 66 | - | |
| 67 | - public function init_utils() | |
| 68 | - { | |
| 69 | - require_once UICORE_ELEMENTS_INCLUDES . '/utils/grid-component.php'; | |
| 70 | - require_once UICORE_ELEMENTS_INCLUDES . '/utils/carousel-component.php'; | |
| 71 | - require_once UICORE_ELEMENTS_INCLUDES . '/utils/testimonial-component.php'; | |
| 72 | - require_once UICORE_ELEMENTS_INCLUDES . '/utils/logo-component.php'; | |
| 73 | - require_once UICORE_ELEMENTS_INCLUDES . '/utils/animation-component.php'; | |
| 74 | - require_once UICORE_ELEMENTS_INCLUDES . '/utils/meta-component.php'; | |
| 75 | - require_once UICORE_ELEMENTS_INCLUDES . '/utils/pagination-component.php'; | |
| 76 | - require_once UICORE_ELEMENTS_INCLUDES . '/utils/post-filter-component.php'; | |
| 77 | - } | |
| 78 | - | |
| 79 | - function create_custom_category($elements_manager) | |
| 80 | - { | |
| 81 | - $elements_manager->add_category('uicore', [ | |
| 82 | - 'title' => __('UiCore', 'uicore-elements'), | |
| 83 | - 'icon' => 'fa fa-plug', | |
| 84 | - ]); | |
| 85 | - } | |
| 86 | - | |
| 87 | - function load_wpml_modules() | |
| 88 | - { | |
| 89 | - require_once( UICORE_ELEMENTS_INCLUDES. '/compatibility/class-wpml-ui-highlighted-text.php'); | |
| 90 | - } | |
| 91 | - | |
| 92 | - function add_translatable_nodes( $nodes_to_translate ) | |
| 93 | - { | |
| 94 | - $nodes_to_translate[ 'highlighted-text' ] = [ | |
| 95 | - 'conditions' => [ 'widgetType' => 'highlighted-text' ], | |
| 96 | - 'fields' => [], | |
| 97 | - 'integration-class' => '\UiCoreElements\Compatibility\WPML_UI_HighlightedText', | |
| 98 | - ]; | |
| 99 | - return $nodes_to_translate; | |
| 100 | - } | |
| 101 | -} | |
| 1 | +<?php | |
| 2 | + | |
| 3 | +namespace UiCoreElements; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * Scripts and Styles Class | |
| 7 | + */ | |
| 8 | +class Elementor | |
| 9 | +{ | |
| 10 | + public function __construct() | |
| 11 | + { | |
| 12 | + $this->init_utils(); | |
| 13 | + | |
| 14 | + require_once UICORE_ELEMENTS_INCLUDES . '/class-widget-base.php'; | |
| 15 | + require_once UICORE_ELEMENTS_INCLUDES . '/class-nested-widget-base.php'; | |
| 16 | + if (!class_exists('\UiCoreAnimate\Base')) { | |
| 17 | + require_once UICORE_ELEMENTS_INCLUDES . '/class-animate.php'; | |
| 18 | + } | |
| 19 | + | |
| 20 | + | |
| 21 | + add_action('elementor/elements/categories_registered', [$this, 'create_custom_category'], 999); | |
| 22 | + add_action('elementor/widgets/widgets_registered', [$this, 'extend_widgets'], 999); | |
| 23 | + add_action('elementor/controls/register', [$this, 'init_controls']); | |
| 24 | + add_action('elementor/widgets/register', [$this, 'init_widgets']); | |
| 25 | + } | |
| 26 | + | |
| 27 | + public function init_widgets() | |
| 28 | + { | |
| 29 | + // Generic widgets | |
| 30 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/highlighted-text.php'; | |
| 31 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/icon-list.php'; | |
| 32 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/counter.php'; | |
| 33 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/icon-box.php'; | |
| 34 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/accordion.php'; | |
| 35 | + | |
| 36 | + // Gallery Widgets | |
| 37 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/gallery-grid.php'; | |
| 38 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/gallery-carousel.php'; | |
| 39 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/gallery-slider.php'; | |
| 40 | + | |
| 41 | + // Post Widgets | |
| 42 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/advanced-post-grid.php'; | |
| 43 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/advanced-post-carousel.php'; | |
| 44 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/advanced-product-grid.php'; | |
| 45 | + | |
| 46 | + // Testimonial widgets | |
| 47 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/testimonial-grid.php'; | |
| 48 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/testimonial-carousel.php'; | |
| 49 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/testimonial-slider.php'; | |
| 50 | + | |
| 51 | + // Logo widgets | |
| 52 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/logo-grid.php'; | |
| 53 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/logo-carousel.php'; | |
| 54 | + | |
| 55 | + // Form widgets | |
| 56 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/contact-form.php'; | |
| 57 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/newsletter.php'; | |
| 58 | + | |
| 59 | + // Nested feature widgets | |
| 60 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/tabs.php'; | |
| 61 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/custom-carousel.php'; | |
| 62 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/custom-slider.php'; | |
| 63 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/custom-table.php'; | |
| 64 | + | |
| 65 | + // Theme Builder widgets | |
| 66 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/theme-builder/the-content.php'; | |
| 67 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/theme-builder/the-title.php'; | |
| 68 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/theme-builder/post-meta.php'; | |
| 69 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/theme-builder/page-description.php'; | |
| 70 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/theme-builder/post-featured-image.php'; | |
| 71 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/theme-builder/advanced-menu.php'; | |
| 72 | + | |
| 73 | + // Dependent on Uicore Framework | |
| 74 | + if (defined('UICORE_ASSETS')) { | |
| 75 | + require_once UICORE_ELEMENTS_INCLUDES . '/widgets/post-grid.php'; | |
| 76 | + } | |
| 77 | + } | |
| 78 | + | |
| 79 | + | |
| 80 | + public function init_controls() | |
| 81 | + { | |
| 82 | + require_once UICORE_ELEMENTS_INCLUDES . '/controls/class-post-filter-control.php'; | |
| 83 | + require_once UICORE_ELEMENTS_INCLUDES . '/controls/class-product-filter-control.php'; | |
| 84 | + } | |
| 85 | + | |
| 86 | + public function init_utils() | |
| 87 | + { | |
| 88 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/grid-component.php'; | |
| 89 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/carousel-component.php'; | |
| 90 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/testimonial-component.php'; | |
| 91 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/logo-component.php'; | |
| 92 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/gallery-component.php'; | |
| 93 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/animation-component.php'; | |
| 94 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/meta-component.php'; | |
| 95 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/pagination-component.php'; | |
| 96 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/post-filter-component.php'; | |
| 97 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/item-style-component.php'; | |
| 98 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/post-component.php'; | |
| 99 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/product-component.php'; | |
| 100 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/form-service.php'; | |
| 101 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/newsletter-services.php'; | |
| 102 | + require_once UICORE_ELEMENTS_INCLUDES . '/utils/form-component.php'; | |
| 103 | + } | |
| 104 | + | |
| 105 | + public function extend_widgets() | |
| 106 | + { | |
| 107 | + require UICORE_ELEMENTS_INCLUDES . '/controls/class-lightbox-button.php'; | |
| 108 | + } | |
| 109 | + | |
| 110 | + function create_custom_category($elements_manager) | |
| 111 | + { | |
| 112 | + $elements_manager->add_category('uicore', [ | |
| 113 | + 'title' => __('UiCore', 'uicore-elements'), | |
| 114 | + 'icon' => 'fa fa-plug', | |
| 115 | + ]); | |
| 116 | + } | |
| 117 | +} | |