PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.11.3
GiveWP – Donation Plugin and Fundraising Platform v2.11.3
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 / Onboarding / FormRepository.php
give / src / Onboarding Last commit date
Config 5 years ago Helpers 5 years ago Routes 5 years ago Setup 5 years ago Wizard 5 years ago DefaultFormFactory.php 5 years ago FormRepository.php 5 years ago LocaleCollection.php 5 years ago SettingsRepository.php 5 years ago SettingsRepositoryFactory.php 5 years ago
FormRepository.php
71 lines
1 <?php
2
3 namespace Give\Onboarding;
4
5 /**
6 * @since 2.8.0
7 */
8 class FormRepository {
9
10 /** @var SettingsRepository */
11 protected $settingsRepository;
12
13 /** @var DefaultFormFactory */
14 protected $defaultFormFactory;
15
16 /**
17 * @param SettingsRepository $settingsRepository
18 *
19 * @since 2.8.0
20 */
21 public function __construct( SettingsRepositoryFactory $settingsRepositoryFactory, DefaultFormFactory $defaultFormFactory ) {
22 $this->settingsRepository = $settingsRepositoryFactory->make( 'give_onboarding' );
23 $this->defaultFormFactory = $defaultFormFactory;
24 }
25
26 /**
27 * @return int Form ID
28 *
29 * @since 2.8.0
30 */
31 public function getOrMake() {
32 return $this->getDefaultFormID() ?: $this->makeAndPersist();
33 }
34
35 /**
36 * @return int Form ID
37 *
38 * @since 2.8.0
39 */
40 public function getDefaultFormID() {
41 $formID = $this->settingsRepository->get( 'form_id' );
42 return $this->isFormAvailable( $formID ) ? $formID : 0;
43 }
44
45 /**
46 * @param int $formID
47 *
48 * @return bool
49 *
50 * @since 2.8.0
51 */
52 protected function isFormAvailable( $formID ) {
53 $status = get_post_status( $formID );
54 return ! ( false === $status || 'trash' == $status );
55 }
56
57 /**
58 * @return int Form ID
59 *
60 * @since 2.8.0
61 */
62 protected function makeAndPersist() {
63 $formID = $this->defaultFormFactory->make();
64
65 $this->settingsRepository->set( 'form_id', $formID );
66 $this->settingsRepository->save();
67
68 return $formID;
69 }
70 }
71