PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.13.1
GiveWP – Donation Plugin and Fundraising Platform v4.13.1
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 / FeatureFlags / OptionBasedFormEditor / OptionBasedFormEditor.php
give / src / FeatureFlags / OptionBasedFormEditor Last commit date
Settings 1 year ago OptionBasedFormEditor.php 1 year ago ServiceProvider.php 1 year ago
OptionBasedFormEditor.php
72 lines
1 <?php
2
3 namespace Give\FeatureFlags\OptionBasedFormEditor;
4
5 use Give\DonationForms\V2\Repositories\DonationFormsRepository;
6 use Give\FeatureFlags\FeatureFlags;
7 use Give\Framework\Database\DB;
8 use Give\Framework\QueryBuilder\QueryBuilder;
9
10 /**
11 * @since 3.18.0
12 */
13 class OptionBasedFormEditor implements FeatureFlags
14 {
15 /**
16 * @since 3.18.0
17 */
18 public static function isEnabled(): bool
19 {
20 $option = give_get_option('option_based_form_editor', '');
21
22 if (empty($option)) {
23 $option = self::existOptionBasedFormsOnDb();
24 give_update_option('option_based_form_editor', $option ? 'enabled' : 'disabled');
25
26 return $option;
27 }
28
29 return give_is_setting_enabled($option);
30 }
31
32 /**
33 * @since 3.18.0
34 */
35 public static function helperText(): string
36 {
37
38 return sprintf(
39 '<div class="give-settings-section-group-helper">
40 <img src="%1$s" />
41 <div class="give-settings-section-group-helper__popout">
42 <img src="%2$s" />
43 <h5>%3$s</h5>
44 <p>%4$s</p>
45 </div>
46 </div>',
47 esc_url(GIVE_PLUGIN_URL . 'build/assets/dist/images/admin/help-circle.svg'),
48 esc_url(GIVE_PLUGIN_URL . 'build/assets/dist/images/admin/give-settings-gateways-v2.jpg'),
49 __('Only for Option-Based Form Editor', 'give'),
50 __('Uses the traditional settings options for creating and customizing a donation form.',
51 'give')
52 );
53 }
54
55 /**
56 * @since 3.18.0
57 */
58 public static function existOptionBasedFormsOnDb(): bool
59 {
60 return (bool)give(DonationFormsRepository::class)->prepareQuery()
61 ->whereNotExists(function (
62 QueryBuilder $builder
63 ) {
64 $builder
65 ->select(['meta_value', 'formBuilderSettings'])
66 ->from(DB::raw(DB::prefix('give_formmeta')))
67 ->where('meta_key', 'formBuilderSettings')
68 ->whereRaw('AND form_id = ID');
69 })->count();
70 }
71 }
72