| Server IP : 62.60.133.156 / Your IP : 216.73.217.51 Web Server : LiteSpeed System : Linux linux24.centraldnserver.com 4.18.0-553.141.2.lve.el8.x86_64 #1 SMP Wed Jul 8 16:10:02 UTC 2026 x86_64 User : mimradmin ( 1166) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, exec, popen, proc_open MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/cwd/wp-content/plugins/woocommerce-old/packages/blueprint/src/Steps/ |
Upload File : |
<?php
namespace Automattic\WooCommerce\Blueprint\Steps;
/**
* Class RunSql
*
* @package Automattic\WooCommerce\Blueprint\Steps
*/
class RunSql extends Step {
/**
* Sql code to run.
*
* @var string
*/
protected string $sql = '';
/**
* Name of the sql file.
*
* @var string
*/
protected string $name = 'schema.sql';
/**
* Constructor.
*
* @param string $sql Sql code to run.
* @param string $name Name of the sql file.
*/
public function __construct( string $sql, $name = 'schema.sql' ) {
$this->sql = $sql;
$this->name = $name;
}
/**
* Returns the name of this step.
*
* @return string The step name.
*/
public static function get_step_name(): string {
return 'runSql';
}
/**
* Returns the schema for the JSON representation of this step.
*
* @param int $version The version of the schema to return.
* @return array The schema array.
*/
public static function get_schema( int $version = 1 ): array {
return array(
'type' => 'object',
'properties' => array(
'step' => array(
'type' => 'string',
'enum' => array( static::get_step_name() ),
),
'sql' => array(
'type' => 'object',
'required' => array( 'contents', 'resource', 'name' ),
'properties' => array(
'resource' => array(
'type' => 'string',
'enum' => array( 'literal' ),
),
'name' => array(
'type' => 'string',
),
'contents' => array(
'type' => 'string',
),
),
),
),
'required' => array( 'step', 'sql' ),
);
}
/**
* Prepares an associative array for JSON encoding.
*
* @return array Array of data to be encoded as JSON.
*/
public function prepare_json_array(): array {
return array(
'step' => static::get_step_name(),
'sql' => array(
'resource' => 'literal',
'name' => $this->name,
'contents' => $this->sql,
),
);
}
}