Server IP : 172.67.158.161 / Your IP : 13.58.52.94 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/giankuin/dietcontrungnhanh.com/wp-content/plugins/ithemes-security-pro/pro/import-export/Import/ |
Upload File : |
<?php namespace iThemesSecurity\Import_Export\Import; use iThemesSecurity\Contracts\Import_Export_Source; use iThemesSecurity\Import_Export\Export\Export; use iThemesSecurity\Lib\Result; final class Importer { /** @var array */ private $export_schema; /** @var Import_Export_Source[] */ private $sources; public function __construct( array $export_schema, array $sources ) { $this->export_schema = $export_schema; $this->sources = $sources; } public function import( Export $export, Import_Context $context ): Result { if ( ! $this->export_schema ) { return Result::error( new \WP_Error( 'itsec.import-export.missing-schema', __( 'Cannot validate export as validation schema is missing.', 'it-l10n-ithemes-security-pro' ), [ 'status' => \WP_Http::INTERNAL_SERVER_ERROR ] ) ); } $valid = $export->validate_against( $this->export_schema ); if ( is_wp_error( $valid ) ) { return Result::error( $valid ); } if ( $export->get_build() > \ITSEC_Core::get_plugin_build() ) { return Result::error( new \WP_Error( 'itsec.import-export.newer-build', __( 'Cannot complete import as the export was generated by a newer version of Solid Security.', 'it-l10n-ithemes-security-pro' ), [ 'status' => \WP_Http::BAD_REQUEST ] ) ); } $export = $this->transform( $export, $context ); $results = []; foreach ( $this->sources as $source ) { if ( $export->has_data( $source->get_export_slug() ) && $context->is_source_included( $source->get_export_slug() ) ) { $results[] = $source->import( $export, $context ); } } return Result::combine( ...$results ); } public function transform( Export $export, Import_Context $context ): Export { foreach ( $this->sources as $source ) { if ( ! $export->has_data( $source->get_export_slug() ) ) { continue; } foreach ( $source->get_transformations() as $transformation ) { $export = $transformation->transform( $export, $context ); } } return $export; } }