Server IP : 192.158.238.246 / Your IP : 18.226.88.145 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/7779/task/7779/cwd/plugins/give/src/TestData/Addons/Funds/ |
Upload File : |
<?php namespace Give\TestData\Addons\Funds; use Exception; use WP_CLI; /** * Class FundCommand * @package Give\TestData\Funds * * A WP-CLI command for seeding funds. */ class FundCommand { /** * @var FundFactory */ private $fundFactory; /** * @var FundRepository */ private $fundsRepository; /** * @param FundFactory $fundFactory * @param FundRepository $fundsRepository */ public function __construct(FundFactory $fundFactory, FundRepository $fundsRepository) { $this->fundFactory = $fundFactory; $this->fundsRepository = $fundsRepository; } /** * Generates Funds * * ## OPTIONS * [--count=<count>] * : Number of funds to generate * default: 5 * * [--preview=<preview>] * : Preview generated data * default: false * * [--consistent=<consistent>] * : Generate consistent data * default: false * * ## EXAMPLES * * wp give test-funds --count=5 --preview=true * * @when after_wp_load */ public function __invoke($args, $assocArgs) { global $wpdb; // Get CLI args $count = WP_CLI\Utils\get_flag_value($assocArgs, 'count', $default = 5); $preview = WP_CLI\Utils\get_flag_value($assocArgs, 'preview', $default = false); $consistent = WP_CLI\Utils\get_flag_value($assocArgs, 'consistent', $default = null); $funds = $this->fundFactory->consistent($consistent)->make($count); if ($preview) { WP_CLI\Utils\format_items( 'table', $funds, array_keys($this->fundFactory->definition()) ); } else { $progress = WP_CLI\Utils\make_progress_bar('Generating funds', $count); try { foreach ($funds as $fund) { $this->fundsRepository->insertFund($fund); $progress->tick(); } $wpdb->query('COMMIT'); $progress->finish(); } catch (Exception $e) { $wpdb->query('ROLLBACK'); WP_CLI::error($e->getMessage()); } } } }