PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.30.0
GiveWP – Donation Plugin and Fundraising Platform v2.30.0
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / TestData / Addons / Funds / FundCommand.php
give / src / TestData / Addons / Funds Last commit date
FundCommand.php 4 years ago FundFactory.php 4 years ago FundRepository.php 4 years ago ServiceProvider.php 4 years ago
FundCommand.php
93 lines
1 <?php
2
3 namespace Give\TestData\Addons\Funds;
4
5 use Exception;
6 use WP_CLI;
7
8 /**
9 * Class FundCommand
10 * @package Give\TestData\Funds
11 *
12 * A WP-CLI command for seeding funds.
13 */
14 class FundCommand
15 {
16 /**
17 * @var FundFactory
18 */
19 private $fundFactory;
20 /**
21 * @var FundRepository
22 */
23 private $fundsRepository;
24
25 /**
26 * @param FundFactory $fundFactory
27 * @param FundRepository $fundsRepository
28 */
29 public function __construct(FundFactory $fundFactory, FundRepository $fundsRepository)
30 {
31 $this->fundFactory = $fundFactory;
32 $this->fundsRepository = $fundsRepository;
33 }
34
35 /**
36 * Generates Funds
37 *
38 * ## OPTIONS
39 * [--count=<count>]
40 * : Number of funds to generate
41 * default: 5
42 *
43 * [--preview=<preview>]
44 * : Preview generated data
45 * default: false
46 *
47 * [--consistent=<consistent>]
48 * : Generate consistent data
49 * default: false
50 *
51 * ## EXAMPLES
52 *
53 * wp give test-funds --count=5 --preview=true
54 *
55 * @when after_wp_load
56 */
57 public function __invoke($args, $assocArgs)
58 {
59 global $wpdb;
60 // Get CLI args
61 $count = WP_CLI\Utils\get_flag_value($assocArgs, 'count', $default = 5);
62 $preview = WP_CLI\Utils\get_flag_value($assocArgs, 'preview', $default = false);
63 $consistent = WP_CLI\Utils\get_flag_value($assocArgs, 'consistent', $default = null);
64
65 $funds = $this->fundFactory->consistent($consistent)->make($count);
66
67 if ($preview) {
68 WP_CLI\Utils\format_items(
69 'table',
70 $funds,
71 array_keys($this->fundFactory->definition())
72 );
73 } else {
74 $progress = WP_CLI\Utils\make_progress_bar('Generating funds', $count);
75
76 try {
77 foreach ($funds as $fund) {
78 $this->fundsRepository->insertFund($fund);
79 $progress->tick();
80 }
81
82 $wpdb->query('COMMIT');
83
84 $progress->finish();
85 } catch (Exception $e) {
86 $wpdb->query('ROLLBACK');
87
88 WP_CLI::error($e->getMessage());
89 }
90 }
91 }
92 }
93