__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
namespace Automattic\WooCommerce\Blueprint;
use Automattic\WooCommerce\Blueprint\Schemas\JsonSchema;
use Opis\JsonSchema\Errors\ErrorFormatter;
use Opis\JsonSchema\Validator;
/**
* Class ImportSchema
*
* Handles the import schema functionality for WooCommerce.
*
* @package Automattic\WooCommerce\Blueprint
*/
class ImportSchema {
use UseWPFunctions;
/**
* JsonSchema object.
*
* @var JsonSchema The schema instance.
*/
private JsonSchema $schema;
/**
* Validator object.
*
* @var Validator The JSON schema validator instance.
*/
private Validator $validator;
/**
* ImportSchema constructor.
*
* @param JsonSchema $schema The schema instance.
* @param Validator|null $validator The validator instance, optional.
*/
public function __construct( JsonSchema $schema, ?Validator $validator = null ) {
$this->schema = $schema;
if ( null === $validator ) {
$validator = new Validator();
}
$this->validator = $validator;
}
/**
* Get the schema.
*
* @return JsonSchema The schema.
*/
public function get_schema() {
return $this->schema;
}
/**
* Create an ImportSchema instance from a file.
*
* @param string $file The file path.
* @return ImportSchema The created ImportSchema instance.
*
* @throws \RuntimeException If the JSON file cannot be read.
* @throws \InvalidArgumentException If the JSON is invalid or missing 'steps' field.
*/
public static function create_from_file( $file ) {
return self::create_from_json( $file );
}
/**
* Create an ImportSchema instance from a JSON file.
*
* @param string $json_path The JSON file path.
* @return ImportSchema The created ImportSchema instance.
*
* @throws \RuntimeException If the JSON file cannot be read.
* @throws \InvalidArgumentException If the JSON is invalid or missing 'steps' field.
*/
public static function create_from_json( $json_path ) {
return new self( new JsonSchema( $json_path ) );
}
/**
* Import the schema steps.
*
* @return StepProcessorResult[]
*/
public function import() {
$results = array();
$result = StepProcessorResult::success( 'ImportSchema' );
$results[] = $result;
foreach ( $this->schema->get_steps() as $step_schema ) {
$step_importer = new ImportStep( $step_schema, $this->validator );
$results[] = $step_importer->import();
}
return $results;
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Cli | Folder | 0775 |
|
|
| Exporters | Folder | 0775 |
|
|
| Importers | Folder | 0775 |
|
|
| ResourceStorages | Folder | 0775 |
|
|
| ResultFormatters | Folder | 0775 |
|
|
| Schemas | Folder | 0775 |
|
|
| Steps | Folder | 0775 |
|
|
| docs | Folder | 0775 |
|
|
| BuiltInExporters.php | File | 474 B | 0664 |
|
| BuiltInStepProcessors.php | File | 1.81 KB | 0664 |
|
| ClassExtractor.php | File | 6.05 KB | 0664 |
|
| Cli.php | File | 1.78 KB | 0664 |
|
| ExportSchema.php | File | 4.3 KB | 0664 |
|
| ImportSchema.php | File | 2.34 KB | 0664 |
|
| ImportStep.php | File | 4.46 KB | 0664 |
|
| Logger.php | File | 4.07 KB | 0664 |
|
| ResourceStorages.php | File | 1.45 KB | 0664 |
|
| StepProcessor.php | File | 680 B | 0664 |
|
| StepProcessorResult.php | File | 3.56 KB | 0664 |
|
| UsePluginHelpers.php | File | 3.13 KB | 0664 |
|
| UsePubSub.php | File | 1.51 KB | 0664 |
|
| UseWPFunctions.php | File | 9.72 KB | 0664 |
|
| Util.php | File | 4.39 KB | 0664 |
|