<?php
use Elementor\Core\Files\File_Types\Svg;
use Elementor\Plugin;
if (!defined('ABSPATH')) {
exit;
}
if (!class_exists('Motiox_Elementor')) :
/**
* The Motiox Elementor Integration class
*/
class Motiox_Elementor {
public function __construct() {
add_action('elementor/frontend/after_enqueue_scripts', [$this, 'register_auto_scripts_frontend']);
add_action('elementor/init', array($this, 'add_category'));
add_action('wp_enqueue_scripts', [$this, 'add_scripts'], 15);
add_action('elementor/widgets/register', array($this, 'include_widgets'));
add_action('elementor/frontend/after_enqueue_scripts', [$this, 'add_js']);
// Custom Animation Scroll
add_filter('elementor/controls/animations/additional_animations', [$this, 'add_animations_scroll']);
add_filter('wp_enqueue_scripts', [$this, 'add_animations_scroll_style']);
// Backend
add_action('elementor/editor/after_enqueue_styles', [$this, 'add_style_editor'], 99);
// Add Icon Custom
add_action('elementor/icons_manager/native', [$this, 'add_icons_native']);
add_action('elementor/controls/controls_registered', [$this, 'add_icons']);
// Add Breakpoints
add_action('wp_enqueue_scripts', 'motiox_elementor_breakpoints', 9999);
if (!motiox_is_elementor_pro_activated()) {
require trailingslashit(get_template_directory()) . 'inc/elementor/class-custom-css.php';
require trailingslashit(get_template_directory()) . 'inc/elementor/class-section-sticky.php';
if (is_admin()) {
add_action('manage_elementor_library_posts_columns', [$this, 'admin_columns_headers']);
add_action('manage_elementor_library_posts_custom_column', [$this, 'admin_columns_content'], 10, 2);
}
}
add_filter('elementor/fonts/additional_fonts', [$this, 'additional_fonts']);
}
public function additional_fonts($fonts) {
$fonts["Goli"] = 'system';
return $fonts;
}
public function admin_columns_headers($defaults) {
$defaults['shortcode'] = esc_html__('Shortcode', 'motiox');
return $defaults;
}
public function admin_columns_content($column_name, $post_id) {
if ('shortcode' === $column_name) {
ob_start();
?>
<input class="elementor-shortcode-input" type="text" readonly onfocus="this.select()" value="[hfe_template id='<?php echo esc_attr($post_id); ?>']"/>
<?php
ob_get_contents();
}
}
public function add_js() {
wp_enqueue_script('motiox-elementor-frontend', get_theme_file_uri('/assets/js/elementor-frontend' . MOTIOX_SUFFIX . '.js'), '', MOTIOX_VERSION);
}
public function add_style_editor() {
wp_enqueue_style('motiox-icon', get_template_directory_uri() . '/assets/css/icons.css', '', MOTIOX_VERSION);
}
public function add_scripts() {
wp_enqueue_style('motiox-elementor', get_template_directory_uri() . '/assets/css/elementor.css', '', MOTIOX_VERSION);
wp_style_add_data('motiox-elementor', 'rtl', 'replace');
// Add Scripts
wp_register_script('tweenmax', get_theme_file_uri('/assets/js/libs/TweenMax.min.js'), array('jquery'), '1.11.1');
wp_register_script('parallaxmouse', get_theme_file_uri('/assets/js/libs/jquery-parallax' . MOTIOX_SUFFIX . '.js'), array('jquery'), MOTIOX_VERSION);
if (motiox_elementor_check_type('animated-bg-parallax')) {
wp_enqueue_script('tweenmax');
wp_enqueue_script('jquery-panr', get_theme_file_uri('/assets/js/libs/jquery-panr' . MOTIOX_SUFFIX . '.js'), array('jquery'), '0.0.1');
}
}
public function register_auto_scripts_frontend() {
//js;
wp_register_script('motiox-elementor-all-project', get_theme_file_uri('/assets/js/elementor/all-project' . MOTIOX_SUFFIX . '.js'), array('jquery','elementor-frontend'), MOTIOX_VERSION, true);
wp_register_script('motiox-elementor-animated-headline', get_theme_file_uri('/assets/js/elementor/animated-headline' . MOTIOX_SUFFIX . '.js'), array('jquery','elementor-frontend'), MOTIOX_VERSION, true);
wp_register_script('motiox-elementor-brand', get_theme_file_uri('/assets/js/elementor/brand' . MOTIOX_SUFFIX . '.js'), array('jquery','elementor-frontend'), MOTIOX_VERSION, true);
wp_register_script('motiox-elementor-circle-animation', get_theme_file_uri('/assets/js/elementor/circle-animation' . MOTIOX_SUFFIX . '.js'), array('jquery','elementor-frontend'), MOTIOX_VERSION, true);
wp_register_script('motiox-elementor-gallery', get_theme_file_uri('/assets/js/elementor/gallery' . MOTIOX_SUFFIX . '.js'), array('jquery','elementor-frontend'), MOTIOX_VERSION, true);
wp_register_script('motiox-elementor-image-vertical', get_theme_file_uri('/assets/js/elementor/image-vertical' . MOTIOX_SUFFIX . '.js'), array('jquery','elementor-frontend'), MOTIOX_VERSION, true);
wp_register_script('motiox-elementor-move-cursor', get_theme_file_uri('/assets/js/elementor/move-cursor' . MOTIOX_SUFFIX . '.js'), array('jquery','elementor-frontend'), MOTIOX_VERSION, true);
wp_register_script('motiox-elementor-posts-grid', get_theme_file_uri('/assets/js/elementor/posts-grid' . MOTIOX_SUFFIX . '.js'), array('jquery','elementor-frontend'), MOTIOX_VERSION, true);
wp_register_script('motiox-elementor-service', get_theme_file_uri('/assets/js/elementor/service' . MOTIOX_SUFFIX . '.js'), array('jquery','elementor-frontend'), MOTIOX_VERSION, true);
wp_register_script('motiox-elementor-slider-scrolling', get_theme_file_uri('/assets/js/elementor/slider-scrolling' . MOTIOX_SUFFIX . '.js'), array('jquery','elementor-frontend'), MOTIOX_VERSION, true);
wp_register_script('motiox-elementor-team-box', get_theme_file_uri('/assets/js/elementor/team-box' . MOTIOX_SUFFIX . '.js'), array('jquery','elementor-frontend'), MOTIOX_VERSION, true);
wp_register_script('motiox-elementor-testimonial', get_theme_file_uri('/assets/js/elementor/testimonial' . MOTIOX_SUFFIX . '.js'), array('jquery','elementor-frontend'), MOTIOX_VERSION, true);
wp_register_script('motiox-elementor-timeline', get_theme_file_uri('/assets/js/elementor/timeline' . MOTIOX_SUFFIX . '.js'), array('jquery','elementor-frontend'), MOTIOX_VERSION, true);
wp_register_script('motiox-elementor-work-process', get_theme_file_uri('/assets/js/elementor/work-process' . MOTIOX_SUFFIX . '.js'), array('jquery','elementor-frontend'), MOTIOX_VERSION, true);
}
public function add_category() {
Elementor\Plugin::instance()->elements_manager->add_category(
'motiox-addons',
array(
'title' => esc_html__('Motiox Addons', 'motiox'),
'icon' => 'fa fa-plug',
), 1);
}
public function get_animations_scroll() {
$animations = [
'pavo-move-up' => 'Move Up',
'pavo-move-down' => 'Move Down',
'pavo-move-left' => 'Move Left',
'pavo-move-right' => 'Move Right',
'pavo-flip' => 'Flip',
'pavo-helix' => 'Helix',
'pavo-scale-up' => 'Scale',
'pavo-am-popup' => 'Popup',
];
return $animations;
}
public function add_animations_scroll($animations) {
$animations['Ezyfik Animation'] = $this->get_animations_scroll();
return $animations;
}
public function add_animations_scroll_style() {
$animations = $this->get_animations_scroll();
foreach ($animations as $animation => $name) {
wp_deregister_style('e-animation-' . $animation);
wp_register_style('e-animation-' . $animation, get_theme_file_uri('/assets/css/animations/' . $animation . '.css'), [], MOTIOX_SUFFIX);
}
}
/**
* @param $widgets_manager Elementor\Widgets_Manager
*/
public function include_widgets($widgets_manager) {
require 'widgets/base_widgets.php';
$files_custom = glob(get_theme_file_path('/inc/elementor/widgets/custom/*.php'));
foreach ($files_custom as $file) {
if (file_exists($file)) {
require_once $file;
}
}
$files = glob(get_theme_file_path('/inc/elementor/widgets/global/*.php'));
foreach ($files as $file) {
if (file_exists($file)) {
require_once $file;
}
}
}
public function add_icons( $manager ) {
$new_icons = json_decode( '{"motiox-icon-arrow-circle-right-fill":"arrow-circle-right-fill","motiox-icon-arrow-right-m":"arrow-right-m","motiox-icon-arrow-right-up":"arrow-right-up","motiox-icon-author":"author","motiox-icon-certification":"certification","motiox-icon-check-ed":"check-ed","motiox-icon-check-verified":"check-verified","motiox-icon-checked":"checked","motiox-icon-design":"design","motiox-icon-dev":"dev","motiox-icon-double-quotes-l":"double-quotes-l","motiox-icon-duration":"duration","motiox-icon-finance":"finance","motiox-icon-icon-arrow-left-ed":"icon-arrow-left-ed","motiox-icon-icon-arrow-right-ed":"icon-arrow-right-ed","motiox-icon-idea":"idea","motiox-icon-instructor":"instructor","motiox-icon-interactive-display-s":"interactive-display-s","motiox-icon-it":"it","motiox-icon-language":"language","motiox-icon-lesson":"lesson","motiox-icon-mail-02":"mail-02","motiox-icon-pen-tool-top":"pen-tool-top","motiox-icon-phone-call":"phone-call","motiox-icon-price-tag-s":"price-tag-s","motiox-icon-quiz":"quiz","motiox-icon-right-bold":"right-bold","motiox-icon-sales":"sales","motiox-icon-schedule-s":"schedule-s","motiox-icon-student":"student","motiox-icon-tags":"tags","motiox-icon-teacher-s":"teacher-s","motiox-icon-360":"360","motiox-icon-add-line-01":"add-line-01","motiox-icon-add-line":"add-line","motiox-icon-add-to-cart":"add-to-cart","motiox-icon-airplane":"airplane","motiox-icon-angle-down":"angle-down","motiox-icon-angle-left":"angle-left","motiox-icon-angle-right":"angle-right","motiox-icon-angle-up":"angle-up","motiox-icon-arr-right":"arr-right","motiox-icon-arrow-alt-circle-down":"arrow-alt-circle-down","motiox-icon-arrow-alt-circle-left":"arrow-alt-circle-left","motiox-icon-arrow-alt-circle-right":"arrow-alt-circle-right","motiox-icon-arrow-alt-circle-up":"arrow-alt-circle-up","motiox-icon-arrow-alt-down":"arrow-alt-down","motiox-icon-arrow-alt-from-bottom":"arrow-alt-from-bottom","motiox-icon-arrow-alt-from-left":"arrow-alt-from-left","motiox-icon-arrow-alt-from-right":"arrow-alt-from-right","motiox-icon-arrow-alt-from-top":"arrow-alt-from-top","motiox-icon-arrow-alt-left":"arrow-alt-left","motiox-icon-arrow-alt-right":"arrow-alt-right","motiox-icon-arrow-alt-square-down":"arrow-alt-square-down","motiox-icon-arrow-alt-square-left":"arrow-alt-square-left","motiox-icon-arrow-alt-square-right":"arrow-alt-square-right","motiox-icon-arrow-alt-square-up":"arrow-alt-square-up","motiox-icon-arrow-alt-to-bottom":"arrow-alt-to-bottom","motiox-icon-arrow-alt-to-left":"arrow-alt-to-left","motiox-icon-arrow-alt-to-right":"arrow-alt-to-right","motiox-icon-arrow-alt-to-top":"arrow-alt-to-top","motiox-icon-arrow-alt-up":"arrow-alt-up","motiox-icon-arrow-circle-down":"arrow-circle-down","motiox-icon-arrow-circle-left":"arrow-circle-left","motiox-icon-arrow-circle-right":"arrow-circle-right","motiox-icon-arrow-circle-up":"arrow-circle-up","motiox-icon-arrow-down":"arrow-down","motiox-icon-arrow-drop-down-line":"arrow-drop-down-line","motiox-icon-arrow-drop-right-line":"arrow-drop-right-line","motiox-icon-arrow-from-bottom":"arrow-from-bottom","motiox-icon-arrow-from-left":"arrow-from-left","motiox-icon-arrow-from-right":"arrow-from-right","motiox-icon-arrow-from-top":"arrow-from-top","motiox-icon-arrow-left-02":"arrow-left-02","motiox-icon-arrow-left-yy":"arrow-left-yy","motiox-icon-arrow-left":"arrow-left","motiox-icon-arrow-right-yy":"arrow-right-yy","motiox-icon-arrow-right":"arrow-right","motiox-icon-arrow-square-down":"arrow-square-down","motiox-icon-arrow-square-left":"arrow-square-left","motiox-icon-arrow-square-right":"arrow-square-right","motiox-icon-arrow-square-up":"arrow-square-up","motiox-icon-arrow-to-bottom":"arrow-to-bottom","motiox-icon-arrow-to-left":"arrow-to-left","motiox-icon-arrow-to-right":"arrow-to-right","motiox-icon-arrow-to-top":"arrow-to-top","motiox-icon-arrow-top":"arrow-top","motiox-icon-arrow-up":"arrow-up","motiox-icon-arrows-alt-h":"arrows-alt-h","motiox-icon-arrows-alt-v":"arrows-alt-v","motiox-icon-arrows-alt":"arrows-alt","motiox-icon-arrows-h":"arrows-h","motiox-icon-arrows-v":"arrows-v","motiox-icon-arrows":"arrows","motiox-icon-award-02":"award-02","motiox-icon-beverag":"beverag","motiox-icon-book-open-01":"book-open-01","motiox-icon-bow-arrow":"bow-arrow","motiox-icon-bullseye-arrow":"bullseye-arrow","motiox-icon-burger-yy":"burger-yy","motiox-icon-burger":"burger","motiox-icon-burrito":"burrito","motiox-icon-calendar-check-02":"calendar-check-02","motiox-icon-calendar":"calendar","motiox-icon-call-calling":"call-calling","motiox-icon-call-history":"call-history","motiox-icon-caret-circle-down":"caret-circle-down","motiox-icon-caret-circle-left":"caret-circle-left","motiox-icon-caret-circle-right":"caret-circle-right","motiox-icon-caret-circle-up":"caret-circle-up","motiox-icon-caret-down":"caret-down","motiox-icon-caret-left":"caret-left","motiox-icon-caret-right":"caret-right","motiox-icon-caret-square-down":"caret-square-down","motiox-icon-caret-square-left":"caret-square-left","motiox-icon-caret-square-right":"caret-square-right","motiox-icon-caret-square-up":"caret-square-up","motiox-icon-caret-up":"caret-up","motiox-icon-cart-01":"cart-01","motiox-icon-cart-1":"cart-1","motiox-icon-cart-arrow-down":"cart-arrow-down","motiox-icon-cart-empty":"cart-empty","motiox-icon-cart-s":"cart-s","motiox-icon-chat":"chat","motiox-icon-check-circle":"check-circle","motiox-icon-check-double":"check-double","motiox-icon-check-fill":"check-fill","motiox-icon-check-s":"check-s","motiox-icon-check-square":"check-square","motiox-icon-check":"check","motiox-icon-checkbox-circle-fill":"checkbox-circle-fill","motiox-icon-chevron-double-down":"chevron-double-down","motiox-icon-chevron-double-left":"chevron-double-left","motiox-icon-chevron-double-right":"chevron-double-right","motiox-icon-chevron-double-up":"chevron-double-up","motiox-icon-chevron-down":"chevron-down","motiox-icon-chevron-left":"chevron-left","motiox-icon-chevron-right":"chevron-right","motiox-icon-chevron-square-down":"chevron-square-down","motiox-icon-chevron-up":"chevron-up","motiox-icon-close":"close","motiox-icon-cloud-download-alt":"cloud-download-alt","motiox-icon-coca-yy":"coca-yy","motiox-icon-cocktail":"cocktail","motiox-icon-comment-info":"comment-info","motiox-icon-comments-alt":"comments-alt","motiox-icon-compare-s":"compare-s","motiox-icon-compare":"compare","motiox-icon-compress-arrows-alt":"compress-arrows-alt","motiox-icon-credit-card":"credit-card","motiox-icon-delivery":"delivery","motiox-icon-directbox-notif":"directbox-notif","motiox-icon-dot-01":"dot-01","motiox-icon-dot-circle":"dot-circle","motiox-icon-dotfour":"dotfour","motiox-icon-down-filled-arrow":"down-filled-arrow","motiox-icon-edit":"edit","motiox-icon-envelope-1":"envelope-1","motiox-icon-envelope":"envelope","motiox-icon-equalizer-line":"equalizer-line","motiox-icon-expand-arrows-alt":"expand-arrows-alt","motiox-icon-expand-arrows":"expand-arrows","motiox-icon-eye-dropper":"eye-dropper","motiox-icon-eye-evil":"eye-evil","motiox-icon-eye-slash":"eye-slash","motiox-icon-eye":"eye","motiox-icon-facebook":"facebook","motiox-icon-file-alt":"file-alt","motiox-icon-file-archive":"file-archive","motiox-icon-filter-s":"filter-s","motiox-icon-filter":"filter","motiox-icon-food-donation-yy":"food-donation-yy","motiox-icon-free-shipping":"free-shipping","motiox-icon-fries":"fries","motiox-icon-frown-open":"frown-open","motiox-icon-frown":"frown","motiox-icon-gift-card":"gift-card","motiox-icon-gift":"gift","motiox-icon-gifts":"gifts","motiox-icon-graduation-hat-01":"graduation-hat-01","motiox-icon-heart-01":"heart-01","motiox-icon-heart":"heart","motiox-icon-home":"home","motiox-icon-hot-drink":"hot-drink","motiox-icon-info-circle":"info-circle","motiox-icon-instagram":"instagram","motiox-icon-laptop-01":"laptop-01","motiox-icon-layout-grid":"layout-grid","motiox-icon-layout-list":"layout-list","motiox-icon-left-bold":"left-bold","motiox-icon-LinkedIn":"LinkedIn","motiox-icon-liquid":"liquid","motiox-icon-location-arrow":"location-arrow","motiox-icon-location":"location","motiox-icon-long-arrow-alt-down":"long-arrow-alt-down","motiox-icon-long-arrow-alt-left":"long-arrow-alt-left","motiox-icon-long-arrow-alt-right":"long-arrow-alt-right","motiox-icon-long-arrow-alt-up":"long-arrow-alt-up","motiox-icon-long-arrow-down":"long-arrow-down","motiox-icon-long-arrow-left":"long-arrow-left","motiox-icon-long-arrow-right":"long-arrow-right","motiox-icon-long-arrow-up":"long-arrow-up","motiox-icon-mail-01":"mail-01","motiox-icon-mail-03":"mail-03","motiox-icon-mail-send-line":"mail-send-line","motiox-icon-map-pin-2-line":"map-pin-2-line","motiox-icon-map-pin-converted":"map-pin-converted","motiox-icon-marker":"marker","motiox-icon-meh-blank":"meh-blank","motiox-icon-meh-rolling-eyes":"meh-rolling-eyes","motiox-icon-meh":"meh","motiox-icon-minus-circle":"minus-circle","motiox-icon-minus":"minus","motiox-icon-mobile":"mobile","motiox-icon-money-check-alt":"money-check-alt","motiox-icon-moto-bike":"moto-bike","motiox-icon-motorbike-yy":"motorbike-yy","motiox-icon-outline-right":"outline-right","motiox-icon-overlap":"overlap","motiox-icon-paper-plane":"paper-plane","motiox-icon-pen-tool":"pen-tool","motiox-icon-phone":"phone","motiox-icon-pin":"pin","motiox-icon-pinterest-01":"pinterest-01","motiox-icon-pinterest":"pinterest","motiox-icon-pizza":"pizza","motiox-icon-plane-arrival":"plane-arrival","motiox-icon-plane":"plane","motiox-icon-play-fill-1":"play-fill-1","motiox-icon-play-fill":"play-fill","motiox-icon-play-yy":"play-yy","motiox-icon-plus-circle":"plus-circle","motiox-icon-plus-thin":"plus-thin","motiox-icon-plus":"plus","motiox-icon-Polygon":"Polygon","motiox-icon-profile":"profile","motiox-icon-question":"question","motiox-icon-quickview-s":"quickview-s","motiox-icon-quickview":"quickview","motiox-icon-quotation":"quotation","motiox-icon-quotes":"quotes","motiox-icon-random":"random","motiox-icon-rating-star":"rating-star","motiox-icon-rating":"rating","motiox-icon-repeat":"repeat","motiox-icon-reply-line":"reply-line","motiox-icon-reply":"reply","motiox-icon-return":"return","motiox-icon-salad":"salad","motiox-icon-sandwich":"sandwich","motiox-icon-search-01":"search-01","motiox-icon-search-lg":"search-lg","motiox-icon-search-plus":"search-plus","motiox-icon-search":"search","motiox-icon-share-all":"share-all","motiox-icon-share":"share","motiox-icon-shopping-bag":"shopping-bag","motiox-icon-shopping-basket":"shopping-basket","motiox-icon-shopping-cart-01":"shopping-cart-01","motiox-icon-shopping-cart":"shopping-cart","motiox-icon-sign-out-alt":"sign-out-alt","motiox-icon-smile":"smile","motiox-icon-sp-cart":"sp-cart","motiox-icon-spaghetti":"spaghetti","motiox-icon-specials":"specials","motiox-icon-spinner-01":"spinner-01","motiox-icon-spinner-third":"spinner-third","motiox-icon-square-fill":"square-fill","motiox-icon-square-full":"square-full","motiox-icon-star-exclamation":"star-exclamation","motiox-icon-star-half-alt":"star-half-alt","motiox-icon-star-half":"star-half","motiox-icon-star-o":"star-o","motiox-icon-star":"star","motiox-icon-stars":"stars","motiox-icon-sub-line":"sub-line","motiox-icon-sushi":"sushi","motiox-icon-sync-alt":"sync-alt","motiox-icon-sync":"sync","motiox-icon-tachometer-alt":"tachometer-alt","motiox-icon-taco":"taco","motiox-icon-telephone":"telephone","motiox-icon-th-list":"th-list","motiox-icon-time-line":"time-line","motiox-icon-times-circle":"times-circle","motiox-icon-times":"times","motiox-icon-top":"top","motiox-icon-truck":"truck","motiox-icon-unlock":"unlock","motiox-icon-user-01":"user-01","motiox-icon-user-02":"user-02","motiox-icon-user-circle":"user-circle","motiox-icon-video":"video","motiox-icon-wishlist-1":"wishlist-1","motiox-icon-wishlist":"wishlist","motiox-icon-world":"world","motiox-icon-x-twitter":"x-twitter","motiox-icon-youtube-1":"youtube-1","motiox-icon-zoom-in":"zoom-in"}', true );
$icons = $manager->get_control( 'icon' )->get_settings( 'options' );
$new_icons = array_merge(
$new_icons,
$icons
);
// Then we set a new list of icons as the options of the icon control
$manager->get_control( 'icon' )->set_settings( 'options', $new_icons );
}
public function add_icons_native($tabs) {
$tabs['pavo-custom'] = [
'name' => 'motiox-icon',
'label' => esc_html__('Motiox Icon', 'motiox'),
'prefix' => 'motiox-icon-',
'displayPrefix' => 'motiox-icon-',
'labelIcon' => 'fab fa-font-awesome-alt',
'ver' => MOTIOX_VERSION,
'fetchJson' => get_theme_file_uri('/inc/elementor/icons.json'),
'native' => true,
];
return $tabs;
}
}
endif;
return new Motiox_Elementor();