PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.14.0
GiveWP – Donation Plugin and Fundraising Platform v2.14.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 5 years ago FundFactory.php 5 years ago FundRepository.php 5 years ago ServiceProvider.php 5 years ago
FundCommand.php
92 lines
1 <?php
2
3 namespace Give\TestData\Addons\Funds;
4
5 use WP_CLI;
6 use Throwable;
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 * @var FundFactory
17 */
18 private $fundFactory;
19 /**
20 * @var FundRepository
21 */
22 private $fundsRepository;
23
24 /**
25 * @param FundFactory $fundFactory
26 * @param FundRepository $fundsRepository
27 */
28 public function __construct( FundFactory $fundFactory, FundRepository $fundsRepository ) {
29 $this->fundFactory = $fundFactory;
30 $this->fundsRepository = $fundsRepository;
31 }
32
33 /**
34 * Generates Funds
35 *
36 * ## OPTIONS
37 * [--count=<count>]
38 * : Number of funds to generate
39 * default: 5
40 *
41 * [--preview=<preview>]
42 * : Preview generated data
43 * default: false
44 *
45 * [--consistent=<consistent>]
46 * : Generate consistent data
47 * default: false
48 *
49 * ## EXAMPLES
50 *
51 * wp give test-funds --count=5 --preview=true
52 *
53 * @when after_wp_load
54 */
55 public function __invoke( $args, $assocArgs ) {
56 global $wpdb;
57 // Get CLI args
58 $count = WP_CLI\Utils\get_flag_value( $assocArgs, 'count', $default = 5 );
59 $preview = WP_CLI\Utils\get_flag_value( $assocArgs, 'preview', $default = false );
60 $consistent = WP_CLI\Utils\get_flag_value( $assocArgs, 'consistent', $default = null );
61
62 $funds = $this->fundFactory->consistent( $consistent )->make( $count );
63
64 if ( $preview ) {
65 WP_CLI\Utils\format_items(
66 'table',
67 $funds,
68 array_keys( $this->fundFactory->definition() )
69 );
70 } else {
71 $progress = WP_CLI\Utils\make_progress_bar( 'Generating funds', $count );
72
73 try {
74
75 foreach ( $funds as $fund ) {
76 $this->fundsRepository->insertFund( $fund );
77 $progress->tick();
78 }
79
80 $wpdb->query( 'COMMIT' );
81
82 $progress->finish();
83
84 } catch ( Throwable $e ) {
85 $wpdb->query( 'ROLLBACK' );
86
87 WP_CLI::error( $e->getMessage() );
88 }
89 }
90 }
91 }
92