Exemple #1
0
 public final function get_scheme_controls()
 {
     $enabled_schemes = Schemes_Manager::get_enabled_schemes();
     return array_filter($this->get_controls(), function ($control) use($enabled_schemes) {
         return !empty($control['scheme']) && in_array($control['scheme']['type'], $enabled_schemes);
     });
 }
Exemple #2
0
 public function enqueue_scripts()
 {
     global $wp_styles, $wp_scripts;
     $post_id = get_the_ID();
     $plugin = Plugin::instance();
     $editor_data = $plugin->db->get_builder($post_id, DB::REVISION_DRAFT);
     // Reset global variable
     $wp_styles = new \WP_Styles();
     $wp_scripts = new \WP_Scripts();
     $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
     // Hack for waypoint with editor mode.
     wp_register_script('waypoints', ELEMENTOR_ASSETS_URL . 'lib/waypoints/waypoints-for-editor.js', ['jquery'], '2.0.2', true);
     // Enqueue frontend scripts too
     $plugin->frontend->enqueue_scripts();
     wp_register_script('backbone-marionette', ELEMENTOR_ASSETS_URL . 'lib/backbone/backbone.marionette' . $suffix . '.js', ['backbone'], '2.4.5', true);
     wp_register_script('backbone-radio', ELEMENTOR_ASSETS_URL . 'lib/backbone/backbone.radio' . $suffix . '.js', ['backbone'], '1.0.4', true);
     wp_register_script('perfect-scrollbar', ELEMENTOR_ASSETS_URL . 'lib/perfect-scrollbar/perfect-scrollbar.jquery' . $suffix . '.js', ['jquery'], '0.6.12', true);
     wp_register_script('jquery-easing', ELEMENTOR_ASSETS_URL . 'lib/jquery-easing/jquery-easing' . $suffix . '.js', ['jquery'], '1.3.2', true);
     wp_register_script('nprogress', ELEMENTOR_ASSETS_URL . 'lib/nprogress/nprogress' . $suffix . '.js', [], '0.2.0', true);
     wp_register_script('tipsy', ELEMENTOR_ASSETS_URL . 'lib/tipsy/tipsy' . $suffix . '.js', ['jquery'], '1.0.0', true);
     wp_register_script('imagesloaded', ELEMENTOR_ASSETS_URL . 'lib/imagesloaded/imagesloaded' . $suffix . '.js', ['jquery'], '4.1.0', true);
     wp_register_script('elementor-dialog', ELEMENTOR_ASSETS_URL . 'lib/dialog/dialog' . $suffix . '.js', ['jquery-ui-position'], '3.0.0', true);
     wp_register_script('jquery-select2', ELEMENTOR_ASSETS_URL . 'lib/select2/js/select2' . $suffix . '.js', ['jquery'], '4.0.2', true);
     wp_register_script('jquery-simple-dtpicker', ELEMENTOR_ASSETS_URL . 'lib/jquery-simple-dtpicker/jquery.simple-dtpicker' . $suffix . '.js', ['jquery'], '1.12.0', true);
     wp_register_script('elementor-editor', ELEMENTOR_ASSETS_URL . 'js/editor' . $suffix . '.js', ['wp-auth-check', 'jquery-ui-sortable', 'jquery-ui-resizable', 'backbone-marionette', 'backbone-radio', 'perfect-scrollbar', 'jquery-easing', 'nprogress', 'tipsy', 'imagesloaded', 'heartbeat', 'elementor-dialog', 'jquery-select2', 'jquery-simple-dtpicker'], $plugin->get_version(), true);
     wp_enqueue_script('elementor-editor');
     // Tweak for WP Admin menu icons
     wp_print_styles('editor-buttons');
     $locked_user = $this->get_locked_user($post_id);
     if ($locked_user) {
         $locked_user = $locked_user->display_name;
     }
     wp_localize_script('elementor-editor', 'ElementorConfig', ['ajaxurl' => admin_url('admin-ajax.php'), 'home_url' => home_url(), 'nonce' => wp_create_nonce('elementor-editing'), 'preview_link' => add_query_arg('elementor-preview', '', remove_query_arg('elementor')), 'elements_categories' => $plugin->elements_manager->get_categories(), 'controls' => $plugin->controls_manager->get_controls_data(), 'elements' => $plugin->elements_manager->get_element_types_config(), 'widgets' => $plugin->widgets_manager->get_widget_types_config(), 'schemes' => ['items' => $plugin->schemes_manager->get_registered_schemes_data(), 'enabled_schemes' => Schemes_Manager::get_enabled_schemes()], 'default_schemes' => $plugin->schemes_manager->get_schemes_defaults(), 'system_schemes' => $plugin->schemes_manager->get_system_schemes(), 'wp_editor' => $this->_get_wp_editor_config(), 'post_id' => $post_id, 'post_permalink' => get_the_permalink(), 'edit_post_link' => get_edit_post_link(), 'settings_page_link' => Settings::get_url(), 'elementor_site' => 'https://go.elementor.com/about-elementor/', 'help_the_content_url' => 'https://go.elementor.com/the-content-missing/', 'assets_url' => ELEMENTOR_ASSETS_URL, 'data' => $editor_data, 'locked_user' => $locked_user, 'is_rtl' => is_rtl(), 'locale' => get_locale(), 'introduction' => User::get_introduction(), 'viewportBreakpoints' => Responsive::get_breakpoints(), 'i18n' => ['elementor' => __('Elementor', 'elementor'), 'dialog_confirm_delete' => __('Are you sure you want to remove this {0}?', 'elementor'), 'dialog_user_taken_over' => __('{0} has taken over and is currently editing. Do you want to take over this page editing?', 'elementor'), 'delete' => __('Delete', 'elementor'), 'cancel' => __('Cancel', 'elementor'), 'delete_element' => __('Delete {0}', 'elementor'), 'take_over' => __('Take Over', 'elementor'), 'go_back' => __('Go Back', 'elementor'), 'saved' => __('Saved', 'elementor'), 'before_unload_alert' => __('Please note: All unsaved changes will be lost.', 'elementor'), 'edit_element' => __('Edit {0}', 'elementor'), 'global_colors' => __('Global Colors', 'elementor'), 'global_fonts' => __('Global Fonts', 'elementor'), 'elementor_settings' => __('Elementor Settings', 'elementor'), 'soon' => __('Soon', 'elementor'), 'revisions_history' => __('Revisions History', 'elementor'), 'about_elementor' => __('About Elementor', 'elementor'), 'inner_section' => __('Columns', 'elementor'), 'dialog_confirm_gallery_delete' => __('Are you sure you want to reset this gallery?', 'elementor'), 'delete_gallery' => __('Reset Gallery', 'elementor'), 'gallery_images_selected' => __('{0} Images Selected', 'elementor'), 'insert_media' => __('Insert Media', 'elementor'), 'preview_el_not_found_header' => __('Sorry, the content area was not found in your page.', 'elementor'), 'preview_el_not_found_message' => __('You must call \'the_content\' function in the current template, in order for Elementor to work on this page.', 'elementor'), 'learn_more' => __('Learn More', 'elementor'), 'an_error_occurred' => __('An error occurred', 'elementor'), 'templates_request_error' => __('The following error occurred when processing the request:', 'elementor'), 'save_your_template' => __('Save Your {0} to Library', 'elementor'), 'page' => __('Page', 'elementor'), 'section' => __('Section', 'elementor'), 'delete_template' => __('Delete Template', 'elementor'), 'delete_template_confirm' => __('Are you sure you want to delete this template?', 'elementor'), 'color_picker' => __('Color Picker', 'elementor'), 'clear_page' => __('Delete All Content', 'elementor'), 'dialog_confirm_clear_page' => __('Attention! We are going to DELETE ALL CONTENT from this page. Are you sure you want to do that?', 'elementor'), 'asc' => __('Ascending order', 'elementor'), 'desc' => __('Descending order', 'elementor')]]);
     $plugin->controls_manager->enqueue_control_scripts();
 }