Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/cartinsight.co/wp-content/plugins/colibri-page-builder/src/OCDI/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/cartinsight.co/wp-content/plugins/colibri-page-builder/src/OCDI/ImportActions.php
<?php
/**
 * Class for the import actions used in the One Click Demo Import plugin.
 * Register default WP actions for OCDI plugin.
 *
 * @package ocdi
 */

namespace ColibriWP\PageBuilder\OCDI;

class ImportActions {
    /**
     * Register all action hooks for this class.
     */
    public function register_hooks() {
        // Before content import.
        add_action( 'extendthemes-ocdi/before_content_import_execution', array(
            $this,
            'before_content_import_action'
        ), 10, 3 );

        // After content import.
        add_action( 'extendthemes-ocdi/after_content_import_execution', array(
            $this,
            'before_widget_import_action'
        ), 10, 3 );
        add_action( 'extendthemes-ocdi/after_content_import_execution', array( $this, 'widgets_import' ), 20, 3 );
        add_action( 'extendthemes-ocdi/after_content_import_execution', array( $this, 'redux_import' ), 30, 3 );

        // Customizer import.
        add_action( 'extendthemes-ocdi/customizer_import_execution', array( $this, 'customizer_import' ), 10, 1 );

        // After full import action.
        add_action( 'extendthemes-ocdi/after_all_import_execution', array( $this, 'after_import_action' ), 10, 3 );

        // Special widget import cases.
        if ( apply_filters( 'extendthemes-ocdi/enable_custom_menu_widget_ids_fix', true ) ) {
            add_action( 'extendthemes-ocdi/widget_settings_array', array( $this, 'fix_custom_menu_widget_ids' ) );
        }
    }


    public function fix_custom_menu_widget_ids( $widget ) {
        // Skip (no changes needed), if this is not a custom menu widget.
        if ( ! array_key_exists( 'nav_menu', $widget ) || empty( $widget['nav_menu'] ) || ! is_int( $widget['nav_menu'] ) ) {
            return $widget;
        }

        // Get import data, with new menu IDs.
        $ocdi                = OneClickDemoImport::get_instance();
        $content_import_data = $ocdi->importer->get_importer_data();
        $term_ids            = $content_import_data['mapping']['term_id'];

        // Set the new menu ID for the widget.
        $widget['nav_menu'] = $term_ids[ $widget['nav_menu'] ];

        return $widget;
    }


    /**
     * Execute the widgets import.
     *
     * @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
     * @param array $import_files The filtered import files defined in `pt-ocdi/import_files` filter.
     * @param int $selected_index Selected index of import.
     */
    public function widgets_import( $selected_import_files, $import_files, $selected_index ) {
        if ( ! empty( $selected_import_files['widgets'] ) ) {
            WidgetImporter::import( $selected_import_files['widgets'] );
        }
    }


    /**
     * Execute the Redux import.
     *
     * @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
     * @param array $import_files The filtered import files defined in `pt-ocdi/import_files` filter.
     * @param int $selected_index Selected index of import.
     */
    public function redux_import( $selected_import_files, $import_files, $selected_index ) {
        if ( ! empty( $selected_import_files['redux'] ) ) {
            ReduxImporter::import( $selected_import_files['redux'] );
        }
    }


    /**
     * Execute the customizer import.
     *
     * @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
     * @param array $import_files The filtered import files defined in `pt-ocdi/import_files` filter.
     * @param int $selected_index Selected index of import.
     */
    public function customizer_import( $selected_import_files ) {
        if ( ! empty( $selected_import_files['customizer'] ) ) {
            CustomizerImporter::import( $selected_import_files['customizer'] );
        }
    }


    /**
     * Execute the action: 'extendthemes-ocdi/before_content_import'.
     *
     * @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
     * @param array $import_files The filtered import files defined in `pt-ocdi/import_files` filter.
     * @param int $selected_index Selected index of import.
     */
    public function before_content_import_action( $selected_import_files, $import_files, $selected_index ) {
        $this->do_import_action( 'extendthemes-ocdi/before_content_import', $import_files[ $selected_index ] );
    }

    /**
     * Register the do_action hook, so users can hook to these during import.
     *
     * @param string $action The action name to be executed.
     * @param array $selected_import The data of selected import from `pt-ocdi/import_files` filter.
     */
    private function do_import_action( $action, $selected_import ) {
        if ( false !== has_action( $action ) ) {
            $ocdi          = OneClickDemoImport::get_instance();
            $log_file_path = $ocdi->get_log_file_path();

            ob_start();
            do_action( $action, $selected_import );
            $message = ob_get_clean();

            // Add this message to log file.
            $log_added = Helpers::append_to_file(
                $message,
                $log_file_path,
                $action
            );
        }
    }

    /**
     * Execute the action: 'extendthemes-ocdi/before_widgets_import'.
     *
     * @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
     * @param array $import_files The filtered import files defined in `pt-ocdi/import_files` filter.
     * @param int $selected_index Selected index of import.
     */
    public function before_widget_import_action( $selected_import_files, $import_files, $selected_index ) {
        $this->do_import_action( 'extendthemes-ocdi/before_widgets_import', $import_files[ $selected_index ] );
    }

    /**
     * Execute the action: 'extendthemes-ocdi/after_import'.
     *
     * @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
     * @param array $import_files The filtered import files defined in `pt-ocdi/import_files` filter.
     * @param int $selected_index Selected index of import.
     */
    public function after_import_action( $selected_import_files, $import_files, $selected_index ) {
        $this->do_import_action( 'extendthemes-ocdi/after_import', $import_files[ $selected_index ] );
    }
}

Spamworldpro Mini