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