AccountManagerSettingField.php
3 years ago
CreditCardSettingField.php
3 years ago
CustomizeAccountField.php
4 years ago
CustomizeAccountField.php
160 lines
| 1 | <?php |
| 2 | |
| 3 | namespace Give\PaymentGateways\Stripe\Admin; |
| 4 | |
| 5 | /** |
| 6 | * Class CustomizeAccountField |
| 7 | * |
| 8 | * @package Give\PaymentGateways\Stripe\Admin |
| 9 | * @since 2.13.0 |
| 10 | */ |
| 11 | class CustomizeAccountField |
| 12 | { |
| 13 | const DEFAULT_VALUE = 'disabled'; |
| 14 | |
| 15 | /** |
| 16 | * CustomizeAccountField constructor. |
| 17 | */ |
| 18 | public function __construct() |
| 19 | { |
| 20 | } |
| 21 | |
| 22 | /** |
| 23 | * Render |
| 24 | * |
| 25 | * @since 2.13.0 |
| 26 | */ |
| 27 | public function handle() |
| 28 | { |
| 29 | ?> |
| 30 | <div class="give-stripe-manage-account-wrapper"> |
| 31 | <?php |
| 32 | $this->getIntroductionSectionMarkup(); ?> |
| 33 | <?php |
| 34 | $this->getRadioButtons(); ?> |
| 35 | </div> |
| 36 | <?php |
| 37 | } |
| 38 | |
| 39 | /** |
| 40 | * @since 2.13.0 |
| 41 | */ |
| 42 | private function getIntroductionSectionMarkup() |
| 43 | { |
| 44 | ?> |
| 45 | <div class="give-stripe-per-form-main-heading"> |
| 46 | <h2><?php |
| 47 | esc_html_e( |
| 48 | 'Which Stripe account would you like to use to process donations for this form?', |
| 49 | 'give' |
| 50 | ); ?></h2> |
| 51 | </div> |
| 52 | <?php |
| 53 | } |
| 54 | |
| 55 | /** |
| 56 | * @since 2.13.0 |
| 57 | */ |
| 58 | private function getRadioButtons() |
| 59 | { |
| 60 | $value = $this->getValue(); |
| 61 | ?> |
| 62 | <div class="give-stripe-per-form-options"> |
| 63 | <div class="give-stripe-per-form-option-field give-stripe-boxshadow-option-wrap <?php |
| 64 | echo 'disabled' === $value ? 'give-stripe-boxshadow-option-wrap__selected' : ''; ?>"> |
| 65 | <div class="give-stripe-account-default-checkmark"> |
| 66 | <svg width="33" height="33" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 67 | <path |
| 68 | d="M32.375 16.1875C32.375 25.1276 25.1276 32.375 16.1875 32.375C7.24737 32.375 0 25.1276 0 16.1875C0 7.24737 7.24737 0 16.1875 0C25.1276 0 32.375 7.24737 32.375 16.1875ZM14.3151 24.7586L26.3252 12.7486C26.733 12.3407 26.733 11.6795 26.3252 11.2717L24.8483 9.79474C24.4404 9.38686 23.7792 9.38686 23.3713 9.79474L13.5766 19.5894L9.00371 15.0165C8.59589 14.6086 7.93462 14.6086 7.52673 15.0165L6.04982 16.4934C5.642 16.9012 5.642 17.5625 6.04982 17.9703L12.8381 24.7586C13.246 25.1665 13.9072 25.1665 14.3151 24.7586Z" |
| 69 | fill="#69B868" /> |
| 70 | </svg> |
| 71 | </div> |
| 72 | <label class="give-stripe-per-form-option-label"> |
| 73 | <input |
| 74 | name="give_stripe_per_form_accounts" |
| 75 | value="disabled" |
| 76 | type="radio" |
| 77 | style="display:none;" |
| 78 | <?php |
| 79 | checked('disabled', $value); ?> |
| 80 | > |
| 81 | <span class="give-stripe-per-form-radio-title"><?php |
| 82 | esc_html_e('Default Account', 'give'); ?></span> |
| 83 | <span class="give-stripe-per-form-description"> |
| 84 | <?php |
| 85 | echo sprintf( |
| 86 | '%1$s <a href="%2$s" target="_blank">Global Settings</a>.', |
| 87 | esc_html__('All donations are processed through the default account set in the', 'give'), |
| 88 | give_stripe_get_admin_settings_page_url() |
| 89 | ); |
| 90 | ?> |
| 91 | </span> |
| 92 | <span class="give-stripe-per-form-global-setting"> |
| 93 | <span class="give-stripe-per-form-global-setting__title"><?php |
| 94 | esc_html_e('Default account name:', 'give'); ?></span> |
| 95 | <span class="give-stripe-per-form-global-setting__name"> |
| 96 | <?php |
| 97 | // Output Globally set account |
| 98 | $globalAccount = give_stripe_get_default_account(); |
| 99 | |
| 100 | echo ! empty($globalAccount['account_name']) ? $globalAccount['account_name'] : esc_html__( |
| 101 | 'None set', |
| 102 | 'give' |
| 103 | ); |
| 104 | echo ! empty($globalAccount['account_slug']) ? ' (' . $globalAccount['account_slug'] . ')' : ''; |
| 105 | ?> |
| 106 | </span> |
| 107 | |
| 108 | </span> |
| 109 | |
| 110 | </label> |
| 111 | </div> |
| 112 | |
| 113 | <div class="give-stripe-per-form-option-field give-stripe-boxshadow-option-wrap <?php |
| 114 | echo 'enabled' === $value ? 'give-stripe-boxshadow-option-wrap__selected' : ''; ?>"> |
| 115 | <div class="give-stripe-account-default-checkmark"> |
| 116 | <svg width="33" height="33" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 117 | <path |
| 118 | d="M32.375 16.1875C32.375 25.1276 25.1276 32.375 16.1875 32.375C7.24737 32.375 0 25.1276 0 16.1875C0 7.24737 7.24737 0 16.1875 0C25.1276 0 32.375 7.24737 32.375 16.1875ZM14.3151 24.7586L26.3252 12.7486C26.733 12.3407 26.733 11.6795 26.3252 11.2717L24.8483 9.79474C24.4404 9.38686 23.7792 9.38686 23.3713 9.79474L13.5766 19.5894L9.00371 15.0165C8.59589 14.6086 7.93462 14.6086 7.52673 15.0165L6.04982 16.4934C5.642 16.9012 5.642 17.5625 6.04982 17.9703L12.8381 24.7586C13.246 25.1665 13.9072 25.1665 14.3151 24.7586Z" |
| 119 | fill="#69B868" /> |
| 120 | </svg> |
| 121 | </div> |
| 122 | <label class="give-stripe-per-form-option-label"> |
| 123 | <input |
| 124 | name="give_stripe_per_form_accounts" |
| 125 | value="enabled" |
| 126 | type="radio" |
| 127 | style="display: none;" |
| 128 | <?php |
| 129 | checked('enabled', $value); ?> |
| 130 | > |
| 131 | <span class="give-stripe-per-form-radio-title"><?php |
| 132 | esc_html_e('Customize Stripe Account', 'give'); ?></span> |
| 133 | <span class="give-stripe-per-form-description"> |
| 134 | <?php |
| 135 | esc_html_e( |
| 136 | 'Donations are processed through a Stripe account custom to this donation form. The default account is overridden for this form.', |
| 137 | 'give' |
| 138 | ); |
| 139 | ?> |
| 140 | </span> |
| 141 | </label> |
| 142 | </div> |
| 143 | </div> |
| 144 | <?php |
| 145 | } |
| 146 | |
| 147 | /** |
| 148 | * @since 2.13.0 |
| 149 | * @return string |
| 150 | */ |
| 151 | private function getValue() |
| 152 | { |
| 153 | global $post; |
| 154 | |
| 155 | $value = give()->form_meta->get_meta($post->ID, 'give_stripe_per_form_accounts', true); |
| 156 | |
| 157 | return $value ?: self::DEFAULT_VALUE; |
| 158 | } |
| 159 | } |
| 160 |