Viewing File: /home/maglabs/bambinos/wp-content/plugins/novaworks/includes/extensions/elementor/manager.php
<?php
// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
die;
}
add_action('plugins_loaded', function (){
if( ($typography = NOVA_PLUGIN_PATH . 'includes/extensions/elementor/override/includes/controls/groups/typography.php') && file_exists($typography) ) {
require_once $typography;
}
add_action( 'elementor/init', 'novaworks_elementor_register_default_breakpoint' );
add_action( 'elementor/init', 'novaworks_elementor_update_old_data' );
}, 0);
function novaworks_elementor_register_default_breakpoint(){
$has_register_breakpoint = get_option('novaworks_has_register_breakpoint', false);
if(empty($has_register_breakpoint)){
update_option('elementor_experiment-additional_custom_breakpoints', 'active');
$kit_active_id = Elementor\Plugin::$instance->kits_manager->get_active_id();
$raw_kit_settings = get_post_meta( $kit_active_id, '_elementor_page_settings', true );
if(empty($raw_kit_settings)){
$raw_kit_settings = [];
}
$default_settings = [
'space_between_widgets' => '0',
'page_title_selector' => '#section_page_header',
'stretched_section_container' => '#outer-wrap > #wrap',
'active_breakpoints' => [
'viewport_mobile',
'viewport_mobile_extra',
'viewport_tablet',
'viewport_laptop',
],
'viewport_mobile' => 575,
'viewport_md' => 576,
'viewport_mobile_extra' => 991,
'viewport_tablet' => 1279,
'viewport_lg' => 1280,
'viewport_laptop' => 1699,
'system_colors' => [
[
'_id' => 'primary',
'title' => esc_html__( 'Primary', 'elementor' )
],
[
'_id' => 'secondary',
'title' => esc_html__( 'Secondary', 'elementor' )
],
[
'_id' => 'text',
'title' => esc_html__( 'Text', 'elementor' )
],
[
'_id' => 'accent',
'title' => esc_html__( 'Accent', 'elementor' )
]
],
'system_typography' => [
[
'_id' => 'primary',
'title' => esc_html__( 'Primary', 'elementor' )
],
[
'_id' => 'secondary',
'title' => esc_html__( 'Secondary', 'elementor' )
],
[
'_id' => 'text',
'title' => esc_html__( 'Text', 'elementor' )
],
[
'_id' => 'accent',
'title' => esc_html__( 'Accent', 'elementor' )
]
]
];
$raw_kit_settings = array_merge($raw_kit_settings, $default_settings);
update_post_meta( $kit_active_id, '_elementor_page_settings', $raw_kit_settings );
Elementor\Core\Breakpoints\Manager::compile_stylesheet_templates();
update_option('novaworks_has_register_breakpoint', true);
}
}
function novaworks_elementor_update_old_data(){
global $wpdb;
$wild = '%';
$results = $wpdb->get_results(
$wpdb->prepare("SELECT count(meta_id) as total FROM {$wpdb->postmeta} WHERE `meta_key`='_elementor_data' AND `meta_value` LIKE %s", $wild . $wpdb->esc_like('tabletportrait') . $wild)
);
if(!empty($results) && !empty($results[0]->total)){
$wpdb->query(
$wpdb->prepare(
"UPDATE {$wpdb->postmeta} SET `meta_value` = REPLACE(`meta_value`, 'tabletportrait', 'mobile_extra') WHERE `meta_key`='_elementor_data' AND `meta_value` LIKE %s",
$wild . $wpdb->esc_like('tabletportrait') . $wild
)
);
}
}
require NOVA_PLUGIN_PATH . 'includes/extensions/elementor/classes/helper.php';
require_once NOVA_PLUGIN_PATH . 'includes/extensions/elementor/override/basic.php';
require_once NOVA_PLUGIN_PATH . 'includes/extensions/elementor/override/advance.php';
require_once NOVA_PLUGIN_PATH . 'includes/extensions/elementor/override/widgets.php';
function novaworks_elementor_autoload( $class ) {
if ( 0 !== strpos( $class, 'Novaworks_Element' ) ) {
return;
}
$filename = strtolower(
preg_replace(
[ '/^' . 'Novaworks_Element' . '\\\/', '/([a-z])([A-Z])/', '/_/', '/\\\/' ],
[ '', '$1-$2', '-', DIRECTORY_SEPARATOR ],
$class
)
);
$filename = NOVA_PLUGIN_PATH .'includes/extensions/elementor/' . $filename . '.php';
if ( is_readable( $filename ) ) {
include( $filename );
}
}
spl_autoload_register( 'novaworks_elementor_autoload' );
function novaworks_elementor_template_path(){
return apply_filters( 'NovaworksElement/template-path', 'partials/elementor/' );
}
function novaworks_elementor_get_template( $name = null ){
$template = locate_template( novaworks_elementor_template_path() . $name );
if ( ! $template ) {
$template = NOVA_PLUGIN_PATH . 'includes/extensions/elementor/templates/' . str_replace('novaworks-', '', $name);
}
if ( file_exists( $template ) ) {
return $template;
}
else {
return false;
}
}
function novaworks_elementor_get_all_modules(){
$elementor_modules = [
'advanced-carousel' => 'Advanced_Carousel',
'advanced-map' => 'Advanced_Map',
'animated-box' => 'Animated_Box',
'animated-text' => 'Animated_Text',
'audio' => 'Audio',
'banner' => 'Banner',
'button' => 'Button',
'brands' => 'Brands',
'circle-progress' => 'Circle_Progress',
'countdown-timer' => 'Countdown_Timer',
'dropbar' => 'Dropbar',
'headline' => 'Headline',
'horizontal-timeline' => 'Horizontal_Timeline',
'image-comparison' => 'Image_Comparison',
'images-layout' => 'Images_Layout',
'instagram-gallery' => 'Instagram_Gallery',
'portfolio' => 'Portfolio',
'posts' => 'Posts',
'price-list' => 'Price_List',
'pricing-table' => 'Pricing_Table',
'progress-bar' => 'Progress_Bar',
'scroll-navigation' => 'Scroll_Navigation',
'services' => 'Services',
'subscribe-form' => 'Subscribe_Form',
'table' => 'Table',
'tabs' => 'Tabs',
'team-member' => 'Team_Member',
'testimonials' => 'Testimonials',
'timeline' => 'Timeline',
'video-modal' => 'Video_Modal',
'breadcrumbs' => 'Breadcrumbs',
'post-navigation' => 'Post_Navigation',
'slides' => 'Slides',
'business-hours' => 'Business_Hours',
'heading' => 'Heading',
];
return $elementor_modules;
}
function novaworks_elementor_get_active_modules(){
$all_modules = novaworks_elementor_get_all_modules();
$active_modules = get_option('novaworks_elementor_modules');
$enable_modules = [];
if(!empty($active_modules)){
foreach ($active_modules as $module => $active ){
if(!empty($active) && isset($all_modules[$module])){
$enable_modules[$module] = $all_modules[$module];
}
}
}
if(defined('WPCF7_PLUGIN_URL')){
$enable_modules['contact-form-7'] = 'Contact_Form_7';
}
if(class_exists('WooCommerce')){
$enable_modules['products'] = 'Products';
}
return $enable_modules;
}
function novaworks_elementor_get_resource_dependencies(){
$resource_base_url = apply_filters('NovaworksElement/resource-base-url', NOVA_PLUGIN_URL . 'public/element');
$resource_lib_url = NOVA_PLUGIN_URL . 'public/element';
$google_api_key = apply_filters('NovaworksElement/advanced-map/api', '');
$min = WP_DEBUG ? '' : '.min';
$resource_dependencies = [
'advanced-carousel' => [
'css' => [
[
'handler' => 'novaworks-advanced-carousel-elm',
'src' => $resource_base_url . '/css/carousel'.$min.'.css'
],
[
'handler' => 'novaworks-banner-elm',
'src' => $resource_base_url . '/css/banner'.$min.'.css'
]
]
],
'slides' => [
'css' => [
[
'handler' => 'novaworks-slides-elm',
'src' => $resource_base_url . '/css/slides'.$min.'.css'
]
],
'js' => [
[
'handler' => 'novaworks-slides-elm',
'src' => $resource_base_url . '/js/slides'.$min.'.js'
]
]
],
'advanced-map' => [
'css' => [
[
'handler' => 'novaworks-advanced-map-elm',
'src' => $resource_base_url . '/css/map'.$min.'.css'
]
],
'js' => [
[
'handler' => 'google-maps-api',
'src' => add_query_arg( array( 'key' => $google_api_key ), 'https://maps.googleapis.com/maps/api/js' )
],
[
'handler' => 'novaworks-advanced-map-elm',
'src' => $resource_base_url . '/js/advanced-map'.$min.'.js'
]
]
],
'animated-box' => [
'css' => [
[
'handler' => 'novaworks-animated-box-elm',
'src' => $resource_base_url . '/css/animated-box'.$min.'.css'
]
],
'js' => [
[
'handler' => 'novaworks-animated-box-elm',
'src' => $resource_base_url . '/js/animated-box'.$min.'.js'
]
]
],
'animated-text' => [
'css' => [
[
'handler' => 'novaworks-animated-text-elm',
'src' => $resource_base_url . '/css/animated-text'.$min.'.css'
]
],
'js' => [
[
'handler' => 'novaworks-anime-js',
'src' => $resource_lib_url . '/js/lib/anime.min.js'
],
[
'handler' => 'novaworks-animated-text-elm',
'src' => $resource_base_url . '/js/animated-text'.$min.'.js'
]
]
],
'audio' => [
'css' => [
[
'handler' => 'novaworks-audio-elm',
'src' => $resource_base_url . '/css/audio'.$min.'.css'
]
],
'js' => [
[
'handler' => 'novaworks-audio-elm',
'src' => $resource_base_url . '/js/audio'.$min.'.js'
]
]
],
'banner' => [
'css' => [
[
'handler' => 'novaworks-banner-elm',
'src' => $resource_base_url . '/css/banner'.$min.'.css'
]
],
],
'button' => [
'css' => [
[
'handler' => 'novaworks-button-elm',
'src' => $resource_base_url . '/css/button'.$min.'.css'
]
]
],
'posts' => [
'css' => [
[
'handler' => 'novaworks-posts-elm',
'src' => $resource_base_url . '/css/posts'.$min.'.css'
]
]
],
'circle-progress' => [
'css' => [
[
'handler' => 'novaworks-circle-progress-elm',
'src' => $resource_base_url . '/css/circle-progress'.$min.'.css'
]
]
],
'dropbar' => [
'css' => [
[
'handler' => 'novaworks-dropbar-elm',
'src' => $resource_base_url . '/css/dropbar'.$min.'.css'
]
],
'js' => [
[
'handler' => 'novaworks-dropbar-elm',
'src' => $resource_base_url . '/js/dropbar'.$min.'.js'
]
]
],
'headline' => [
'css' => [
[
'handler' => 'novaworks-headline-elm',
'src' => $resource_base_url . '/css/headline'.$min.'.css'
]
]
],
'countdown-timer' => [
'css' => [
[
'handler' => 'novaworks-countdown-timer-elm',
'src' => $resource_base_url . '/css/countdown-timer'.$min.'.css'
]
],
'js' => [
[
'handler' => 'novaworks-countdown-timer-elm',
'src' => $resource_base_url . '/js/countdown-timer'.$min.'.js'
]
]
],
'horizontal-timeline' => [
'css' => [
[
'handler' => 'novaworks-horizontal-timeline-elm',
'src' => $resource_base_url . '/css/horizontal-timeline'.$min.'.css'
]
],
'js' => [
[
'handler' => 'novaworks-horizontal-timeline-elm',
'src' => $resource_base_url . '/js/horizontal-timeline'.$min.'.js'
]
]
],
'image-comparison' => [
'css' => [
[
'handler' => 'novaworks-juxtapose',
'src' => $resource_base_url . '/css/juxtapose'.$min.'.css'
],
[
'handler' => 'novaworks-image-comparison-elm',
'src' => $resource_base_url . '/css/image-comparison'.$min.'.css'
]
],
'js' => [
[
'handler' => 'novaworks-juxtapose',
'src' => $resource_lib_url . '/js/lib/juxtapose.min.js'
],
[
'handler' => 'novaworks-image-comparison-elm',
'src' => $resource_base_url . '/js/image-comparison'.$min.'.js'
]
]
],
'images-layout' => [
'css' => [
[
'handler' => 'novaworks-images-layout-elm',
'src' => $resource_base_url . '/css/image-layout'.$min.'.css'
]
]
],
'instagram-gallery' => [
'css' => [
[
'handler' => 'novaworks-instagram-gallery-elm',
'src' => $resource_base_url . '/css/instagram-gallery'.$min.'.css'
]
]
],
'price-list' => [
'css' => [
[
'handler' => 'novaworks-price-list-elm',
'src' => $resource_base_url . '/css/price-list'.$min.'.css'
]
]
],
'pricing-table' => [
'css' => [
[
'handler' => 'novaworks-pricing-table-elm',
'src' => $resource_base_url . '/css/pricing-table'.$min.'.css'
]
]
],
'progress-bar' => [
'css' => [
[
'handler' => 'novaworks-progress-bar-elm',
'src' => $resource_base_url . '/css/progress-bar'.$min.'.css'
]
],
'js' => [
[
'handler' => 'novaworks-anime-js',
'src' => $resource_lib_url . '/js/lib/anime.min.js'
],
[
'handler' => 'novaworks-progress-bar-elm',
'src' => $resource_base_url . '/js/progress-bar'.$min.'.js'
]
]
],
'scroll-navigation' => [
'css' => [
[
'handler' => 'novaworks-scroll-navigation-elm',
'src' => $resource_base_url . '/css/scroll-navigation'.$min.'.css'
]
],
'js' => [
[
'handler' => 'novaworks-scroll-navigation-elm',
'src' => $resource_base_url . '/js/scroll-navigation'.$min.'.js'
]
],
],
'services' => [
'css' => [
[
'handler' => 'novaworks-services-elm',
'src' => $resource_base_url . '/css/services'.$min.'.css'
]
]
],
'subscribe-form' => [
'css' => [
[
'handler' => 'novaworks-subscribe-form-elm',
'src' => $resource_base_url . '/css/subscribe-form'.$min.'.css'
]
],
'js' => [
[
'handler' => 'novaworks-subscribe-form-elm',
'src' => $resource_base_url . '/js/subscribe-form'.$min.'.js'
]
]
],
'table' => [
'css' => [
[
'handler' => 'novaworks-table-elm',
'src' => $resource_base_url . '/css/table'.$min.'.css'
]
],
'js' => [
[
'handler' => 'jquery-tablesorter',
'src' => $resource_lib_url . '/js/lib/tablesorter.min.js'
],
[
'handler' => 'novaworks-table-elm',
'src' => $resource_base_url . '/js/table'.$min.'.js'
]
],
],
'tabs' => [
'css' => [
[
'handler' => 'novaworks-tabs-elm',
'src' => $resource_base_url . '/css/tabs'.$min.'.css'
]
]
],
'team-member' => [
'css' => [
[
'handler' => 'novaworks-team-member-elm',
'src' => $resource_base_url . '/css/team-member'.$min.'.css'
]
]
],
'testimonials' => [
'css' => [
[
'handler' => 'novaworks-testimonials-elm',
'src' => $resource_base_url . '/css/testimonials'.$min.'.css'
]
]
],
'timeline' => [
'css' => [
[
'handler' => 'novaworks-timeline-elm',
'src' => $resource_base_url . '/css/timeline'.$min.'.css'
]
],
'js' => [
[
'handler' => 'novaworks-timeline-elm',
'src' => $resource_base_url . '/js/timeline'.$min.'.js'
]
]
],
'video-modal' => [
'css' => [
[
'handler' => 'novaworks-video-modal-elm',
'src' => $resource_base_url . '/css/video-modal'.$min.'.css'
]
],
'js' => [
[
'handler' => 'novaworks-video-modal-lib',
'src' => $resource_base_url . '/js/vendor/jquery-modal-video.js'
],
[
'handler' => 'novaworks-video-modal-elm',
'src' => $resource_base_url . '/js/video-modal'.$min.'.js'
]
]
],
'business-hours' => [
'css' => [
[
'handler' => 'novaworks-business-hours-elm',
'src' => $resource_base_url . '/css/business-hours'.$min.'.css'
]
]
],
'heading' => [
'css' => [
[
'handler' => 'novaworks-heading-elm',
'src' => $resource_base_url . '/css/heading'.$min.'.css'
]
]
],
];
$resource_dependencies = apply_filters('NovaworksElement/resource-dependencies', $resource_dependencies);
$enable_modules = novaworks_elementor_get_active_modules();
$modules = [];
if(!empty($enable_modules)){
foreach ($enable_modules as $k => $v){
if(isset($resource_dependencies[$k])){
$modules[$k] = $resource_dependencies[$k];
}
}
}
return apply_filters('NovaworksElement/module-enabled-resource-dependency', $modules);
}
function novaworks_elementor_register_module_assets(){
$min = WP_DEBUG ? '' : '.min';
$theme_version = defined('WP_DEBUG') && WP_DEBUG ? time() : NOVA_VERSION;
$modules = novaworks_elementor_get_resource_dependencies();
if(!empty($modules)){
foreach ($modules as $module => $resource){
if(!empty($resource['css'])){
foreach ($resource['css'] as $css){
wp_register_style($css['handler'], $css['src'], false, $theme_version);
}
}
if(!empty($resource['js'])){
foreach ($resource['js'] as $js){
wp_register_script($js['handler'], $js['src'], false, $theme_version, true);
}
}
}
}
$resource_base_url = apply_filters('NovaworksElement/resource-base-url', NOVA_PLUGIN_URL . 'public/element');
$resource_lib_url = NOVA_PLUGIN_URL . 'public/element';
if (novaworks_get_theme_support('elementor::css-transform')) {
$css_transform = ".la-css-transform-yes{-webkit-transition-duration:var(--la-tfx-transition-duration,.2s);transition-duration:var(--la-tfx-transition-duration,.2s);-webkit-transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transform:translate(var(--la-tfx-translate-x,0),var(--la-tfx-translate-y,0)) scale(var(--la-tfx-scale-x,1),var(--la-tfx-scale-y,1)) skew(var(--la-tfx-skew-x,0),var(--la-tfx-skew-y,0)) rotateX(var(--la-tfx-rotate-x,0)) rotateY(var(--la-tfx-rotate-y,0)) rotateZ(var(--la-tfx-rotate-z,0));transform:translate(var(--la-tfx-translate-x,0),var(--la-tfx-translate-y,0)) scale(var(--la-tfx-scale-x,1),var(--la-tfx-scale-y,1)) skew(var(--la-tfx-skew-x,0),var(--la-tfx-skew-y,0)) rotateX(var(--la-tfx-rotate-x,0)) rotateY(var(--la-tfx-rotate-y,0)) rotateZ(var(--la-tfx-rotate-z,0))}.la-css-transform-yes:hover{-webkit-transform:translate(var(--la-tfx-translate-x-hover,var(--la-tfx-translate-x,0)),var(--la-tfx-translate-y-hover,var(--la-tfx-translate-y,0))) scale(var(--la-tfx-scale-x-hover,var(--la-tfx-scale-x,1)),var(--la-tfx-scale-y-hover,var(--la-tfx-scale-y,1))) skew(var(--la-tfx-skew-x-hover,var(--la-tfx-skew-x,0)),var(--la-tfx-skew-y-hover,var(--la-tfx-skew-y,0))) rotateX(var(--la-tfx-rotate-x-hover,var(--la-tfx-rotate-x,0))) rotateY(var(--la-tfx-rotate-y-hover,var(--la-tfx-rotate-y,0))) rotateZ(var(--la-tfx-rotate-z-hover,var(--la-tfx-rotate-z,0)));transform:translate(var(--la-tfx-translate-x-hover,var(--la-tfx-translate-x,0)),var(--la-tfx-translate-y-hover,var(--la-tfx-translate-y,0))) scale(var(--la-tfx-scale-x-hover,var(--la-tfx-scale-x,1)),var(--la-tfx-scale-y-hover,var(--la-tfx-scale-y,1))) skew(var(--la-tfx-skew-x-hover,var(--la-tfx-skew-x,0)),var(--la-tfx-skew-y-hover,var(--la-tfx-skew-y,0))) rotateX(var(--la-tfx-rotate-x-hover,var(--la-tfx-rotate-x,0))) rotateY(var(--la-tfx-rotate-y-hover,var(--la-tfx-rotate-y,0))) rotateZ(var(--la-tfx-rotate-z-hover,var(--la-tfx-rotate-z,0)))}";
wp_add_inline_style('elementor-frontend', $css_transform);
}
if (novaworks_get_theme_support('elementor::floating-effects')) {
wp_register_script(
'novaworks-wrapper-links',
$resource_base_url . '/js/wrapper-links'.$min.'.js',
[ 'elementor-frontend' ],
$theme_version,
true
);
}
if (novaworks_get_theme_support('elementor::wrapper-links')) {
wp_register_script(
'novaworks-anime-js',
$resource_lib_url . '/js/lib/anime.min.js',
false,
$theme_version,
true
);
wp_register_script(
'novaworks-floating-effects',
$resource_base_url . '/js/floating-effects'.$min.'.js',
[ 'novaworks-anime-js', 'elementor-frontend' ],
$theme_version,
true
);
}
/**
* Enqueue Monion & Sticky Scripts
*/
if(!defined('ELEMENTOR_PRO_VERSION')){
wp_register_script(
'novaworks-sticky',
$resource_lib_url . '/js/lib/jquery.sticky.min.js',
[
'jquery',
],
$theme_version,
true
);
wp_register_script(
'novaworks-motion-fx',
$resource_lib_url . '/js/lib/motion-fx.js' ,
[
'elementor-frontend-modules',
'novaworks-sticky'
],
$theme_version,
true
);
}
wp_register_script(
'novaworks-element-front',
$resource_base_url . '/js/novaworks-element'.$min.'.js' ,
[ 'elementor-frontend' ],
$theme_version,
true
);
wp_localize_script(
'novaworks-element-front',
'NovaworksElementConfigs',
apply_filters( 'NovaworksElement/frontend/localize-data', [
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'invalidMail' => esc_attr__( 'Please specify a valid e-mail', 'novaworks' ),
] )
);
}
add_action( 'elementor/frontend/after_register_styles', 'novaworks_elementor_register_module_assets' );
function novaworks_elementor_init_hook(){
Novaworks_Element\Classes\Query_Control::instance();
Elementor\Plugin::instance()->elements_manager->add_category( 'novaworks', [
'title' => esc_html__( 'Novaworks Element', 'novaworks' ),
'icon' => 'font'
], 1 );
}
add_action('elementor/init', 'novaworks_elementor_init_hook' );
add_action('elementor/controls/controls_registered', function( $controls_manager ){
$controls_manager->add_group_control( \Novaworks_Element\Controls\Group_Control_Box_Style::get_type(), new \Novaworks_Element\Controls\Group_Control_Box_Style() );
if(!defined('ELEMENTOR_PRO_VERSION')){
$controls_manager->add_group_control( \Novaworks_Element\Controls\Group_Control_Motion_Fx::get_type(), new \Novaworks_Element\Controls\Group_Control_Motion_Fx() );
}
});
add_action('elementor/widgets/widgets_registered', function(){
$modules = novaworks_elementor_get_active_modules();
if( !empty($modules) ) {
foreach ($modules as $module => $name){
$class_name = 'Novaworks_Element\\Widgets\\' . $name;
if(class_exists($class_name)){
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new $class_name() );
}
}
}
});
add_action('elementor/editor/after_enqueue_styles', function(){
$theme_version = defined('WP_DEBUG') && WP_DEBUG ? time() : NOVA_VERSION;
wp_enqueue_style( 'novaworks-elementor', NOVA_PLUGIN_URL . 'admin/css/elementor.css', false, $theme_version);
});
add_action('elementor/frontend/after_render', function(){
$scriptNeedRemove = array(
'jquery-slick',
);
foreach ($scriptNeedRemove as $script) {
if (wp_script_is($script, 'registered')) {
wp_dequeue_script($script);
}
}
});
add_filter('novaworks/theme/defer_scripts', function( $scripts ){
$modules = novaworks_elementor_get_resource_dependencies();
if(!empty($modules)){
foreach ($modules as $module => $resource){
if(!empty($resource['js'])){
foreach ($resource['js'] as $js){
$scripts[] = $js['handler'];
}
}
}
}
$scripts[] = 'novaworks-element-front';
$scripts[] = 'novaworks-sticky';
$scripts[] = 'novaworks-motion-fx';
return $scripts;
});
add_filter('elementor/icons_manager/additional_tabs', function( $tabs ){
$tabs['novaicon'] = [
'name' => 'novaicon',
'label' => __( 'Nova Icons', 'novaworks' ),
'url' => NOVA_PLUGIN_URL . 'public/css/novaicon.css',
'prefix' => '',
'displayPrefix' => 'novaicon',
'labelIcon' => 'fas fa-star',
'ver' => '1.0.0',
'fetchJson' => NOVA_PLUGIN_URL . 'public/fonts/novaicon.json',
'native' => false
];
return $tabs;
});
function novaworks_elementor_tools_get_select_range( $to = 10 ){
$range = range( 1, $to );
return array_combine( $range, $range );
}
function novaworks_elementor_tools_get_nextprev_arrows_list( $type = '' ){
if($type == 'prev'){
return apply_filters(
'novaworks_elements/carousel/available_arrows/prev',
array(
'novaworksicon-left-arrow' => __( 'Default', 'novaworks' ),
'novaworksicon-small-triangle-left' => __( 'Small Triangle', 'novaworks' ),
'novaworksicon-triangle-left' => __( 'Triangle', 'novaworks' ),
'novaworksicon-arrow-left' => __( 'Arrow', 'novaworks' ),
'novaworksicon-svgleft' => __( 'SVG', 'novaworks' ),
)
);
}
return apply_filters(
'novaworks_elements/carousel/available_arrows/next',
array(
'novaworksicon-right-arrow' => __( 'Default', 'novaworks' ),
'novaworksicon-small-triangle-right' => __( 'Small Triangle', 'novaworks' ),
'novaworksicon-triangle-right' => __( 'Triangle', 'novaworks' ),
'novaworksicon-arrow-right' => __( 'Arrow', 'novaworks' ),
'novaworksicon-svgright' => __( 'SVG', 'novaworks' ),
)
);
}
function novaworks_elementor_tools_get_arrows_style(){
return apply_filters(
'novaworks_elements/carousel/arrows_styles',
array(
'default' => __( 'Default', 'novaworks' ),
'style-01' => __( 'Style 01', 'novaworks' ),
)
);
}
function novaworks_elementor_tools_get_carousel_arrow( $classes = [], $icons = []){
$format = apply_filters( 'NovaworksElement/carousel/arrows_format', '<button class="novaworks-arrow %1$s"><i class="%2$s"></i></button>', $classes, $icons );
return sprintf( $format, implode( ' ', $classes ), implode( ' ', $icons ) );
}
function novaworks_elementor_get_public_post_types( $args = [] ){
$post_type_args = [
'show_in_nav_menus' => true,
];
if ( ! empty( $args['post_type'] ) ) {
$post_type_args['name'] = $args['post_type'];
}
$_post_types = get_post_types( $post_type_args, 'objects' );
$post_types = [];
foreach ( $_post_types as $post_type => $object ) {
$post_types[ $post_type ] = $object->label;
}
return $post_types;
}
function novaworks_element_render_grid_classes( $columns = [] ){
$columns = wp_parse_args( $columns, array(
'desktop' => '1',
'laptop' => '',
'tablet' => '',
'mobile' => '',
'xmobile' => ''
) );
$replaces = array(
'xmobile' => 'xmobile-block-grid',
'mobile' => 'mobile-block-grid',
'tablet' => 'tablet-block-grid',
'laptop' => 'laptop-block-grid',
'desktop' => 'block-grid'
);
$classes = array();
foreach ( $columns as $device => $cols ) {
if ( ! empty( $cols ) ) {
$classes[] = sprintf( '%1$s-%2$s', $replaces[$device], $cols );
}
}
return implode( ' ' , $classes );
}
/** Fix Elementor AutoSave `revision` problem */
add_filter('wp_insert_post_data', function ( $data ){
if(strpos($data['post_content'], '<!-- Created With Elementor -->') !== false ){
$data['post_content'] = '<!-- Created With Elementor -->' . current_time('timestamp');
}
return $data;
}, 10);
Back to Directory
File Manager