@@ -13,47 +13,47 @@ discard block |
||
| 13 | 13 | class GetPaid_Bank_Transfer_Gateway extends GetPaid_Payment_Gateway { |
| 14 | 14 | |
| 15 | 15 | /** |
| 16 | - * Payment method id. |
|
| 17 | - * |
|
| 18 | - * @var string |
|
| 19 | - */ |
|
| 16 | + * Payment method id. |
|
| 17 | + * |
|
| 18 | + * @var string |
|
| 19 | + */ |
|
| 20 | 20 | public $id = 'bank_transfer'; |
| 21 | 21 | |
| 22 | - /** |
|
| 23 | - * An array of features that this gateway supports. |
|
| 24 | - * |
|
| 25 | - * @var array |
|
| 26 | - */ |
|
| 27 | - protected $supports = array( |
|
| 28 | - 'subscription', |
|
| 29 | - 'addons', |
|
| 30 | - 'single_subscription_group', |
|
| 31 | - 'multiple_subscription_groups', |
|
| 32 | - 'subscription_date_change', |
|
| 33 | - 'subscription_bill_times_change', |
|
| 34 | - ); |
|
| 22 | + /** |
|
| 23 | + * An array of features that this gateway supports. |
|
| 24 | + * |
|
| 25 | + * @var array |
|
| 26 | + */ |
|
| 27 | + protected $supports = array( |
|
| 28 | + 'subscription', |
|
| 29 | + 'addons', |
|
| 30 | + 'single_subscription_group', |
|
| 31 | + 'multiple_subscription_groups', |
|
| 32 | + 'subscription_date_change', |
|
| 33 | + 'subscription_bill_times_change', |
|
| 34 | + ); |
|
| 35 | + |
|
| 36 | + /** |
|
| 37 | + * Payment method order. |
|
| 38 | + * |
|
| 39 | + * @var int |
|
| 40 | + */ |
|
| 41 | + public $order = 8; |
|
| 35 | 42 | |
| 36 | 43 | /** |
| 37 | - * Payment method order. |
|
| 38 | - * |
|
| 39 | - * @var int |
|
| 40 | - */ |
|
| 41 | - public $order = 8; |
|
| 42 | - |
|
| 43 | - /** |
|
| 44 | - * Bank transfer instructions. |
|
| 45 | - */ |
|
| 46 | - public $instructions; |
|
| 47 | - |
|
| 48 | - /** |
|
| 49 | - * Locale array. |
|
| 50 | - */ |
|
| 51 | - public $locale; |
|
| 44 | + * Bank transfer instructions. |
|
| 45 | + */ |
|
| 46 | + public $instructions; |
|
| 52 | 47 | |
| 53 | 48 | /** |
| 54 | - * Class constructor. |
|
| 55 | - */ |
|
| 56 | - public function __construct() { |
|
| 49 | + * Locale array. |
|
| 50 | + */ |
|
| 51 | + public $locale; |
|
| 52 | + |
|
| 53 | + /** |
|
| 54 | + * Class constructor. |
|
| 55 | + */ |
|
| 56 | + public function __construct() { |
|
| 57 | 57 | parent::__construct(); |
| 58 | 58 | |
| 59 | 59 | $this->title = __( 'Direct bank transfer', 'invoicing' ); |
@@ -61,24 +61,24 @@ discard block |
||
| 61 | 61 | $this->checkout_button_text = __( 'Proceed', 'invoicing' ); |
| 62 | 62 | $this->instructions = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) ); |
| 63 | 63 | |
| 64 | - add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) ); |
|
| 65 | - add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 ); |
|
| 66 | - add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 ); |
|
| 67 | - add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 ); |
|
| 68 | - add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) ); |
|
| 69 | - add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 ); |
|
| 64 | + add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) ); |
|
| 65 | + add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 ); |
|
| 66 | + add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 ); |
|
| 67 | + add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 ); |
|
| 68 | + add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) ); |
|
| 69 | + add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 ); |
|
| 70 | 70 | |
| 71 | 71 | } |
| 72 | 72 | |
| 73 | 73 | /** |
| 74 | - * Process Payment. |
|
| 75 | - * |
|
| 76 | - * @param WPInv_Invoice $invoice Invoice. |
|
| 77 | - * @param array $submission_data Posted checkout fields. |
|
| 78 | - * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
| 79 | - * @return array |
|
| 80 | - */ |
|
| 81 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
| 74 | + * Process Payment. |
|
| 75 | + * |
|
| 76 | + * @param WPInv_Invoice $invoice Invoice. |
|
| 77 | + * @param array $submission_data Posted checkout fields. |
|
| 78 | + * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
| 79 | + * @return array |
|
| 80 | + */ |
|
| 81 | + public function process_payment( $invoice, $submission_data, $submission ) { |
|
| 82 | 82 | |
| 83 | 83 | // Add a transaction id. |
| 84 | 84 | $invoice->set_transaction_id( $invoice->generate_key( 'bt_' ) ); |
@@ -99,66 +99,66 @@ discard block |
||
| 99 | 99 | } |
| 100 | 100 | |
| 101 | 101 | /** |
| 102 | - * Output for the order received page. |
|
| 103 | - * |
|
| 104 | - * @param WPInv_Invoice $invoice Invoice. |
|
| 105 | - */ |
|
| 106 | - public function thankyou_page( $invoice ) { |
|
| 102 | + * Output for the order received page. |
|
| 103 | + * |
|
| 104 | + * @param WPInv_Invoice $invoice Invoice. |
|
| 105 | + */ |
|
| 106 | + public function thankyou_page( $invoice ) { |
|
| 107 | 107 | |
| 108 | 108 | if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
| 109 | 109 | |
| 110 | - echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL; |
|
| 110 | + echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL; |
|
| 111 | 111 | |
| 112 | 112 | if ( ! empty( $this->instructions ) ) { |
| 113 | 113 | echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) ); |
| 114 | - } |
|
| 114 | + } |
|
| 115 | 115 | |
| 116 | - $this->bank_details( $invoice ); |
|
| 116 | + $this->bank_details( $invoice ); |
|
| 117 | 117 | |
| 118 | - echo '</div>'; |
|
| 118 | + echo '</div>'; |
|
| 119 | 119 | |
| 120 | 120 | } |
| 121 | 121 | |
| 122 | - } |
|
| 122 | + } |
|
| 123 | 123 | |
| 124 | 124 | /** |
| 125 | - * Add content to the WPI emails. |
|
| 126 | - * |
|
| 127 | - * @param WPInv_Invoice $invoice Invoice. |
|
| 128 | - * @param string $email_type Email format: plain text or HTML. |
|
| 129 | - * @param bool $sent_to_admin Sent to admin. |
|
| 130 | - */ |
|
| 131 | - public function email_instructions( $invoice, $email_type, $sent_to_admin ) { |
|
| 125 | + * Add content to the WPI emails. |
|
| 126 | + * |
|
| 127 | + * @param WPInv_Invoice $invoice Invoice. |
|
| 128 | + * @param string $email_type Email format: plain text or HTML. |
|
| 129 | + * @param bool $sent_to_admin Sent to admin. |
|
| 130 | + */ |
|
| 131 | + public function email_instructions( $invoice, $email_type, $sent_to_admin ) { |
|
| 132 | 132 | |
| 133 | - if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
| 133 | + if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
| 134 | 134 | |
| 135 | - echo '<div class="wpi-email-row getpaid-bank-transfer-details">'; |
|
| 135 | + echo '<div class="wpi-email-row getpaid-bank-transfer-details">'; |
|
| 136 | 136 | |
| 137 | - if ( $this->instructions ) { |
|
| 138 | - echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL ); |
|
| 137 | + if ( $this->instructions ) { |
|
| 138 | + echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL ); |
|
| 139 | 139 | } |
| 140 | 140 | |
| 141 | - $this->bank_details( $invoice ); |
|
| 141 | + $this->bank_details( $invoice ); |
|
| 142 | 142 | |
| 143 | - echo '</div>'; |
|
| 143 | + echo '</div>'; |
|
| 144 | 144 | |
| 145 | - } |
|
| 145 | + } |
|
| 146 | 146 | |
| 147 | 147 | } |
| 148 | 148 | |
| 149 | 149 | /** |
| 150 | - * Get bank details and place into a list format. |
|
| 151 | - * |
|
| 152 | - * @param WPInv_Invoice $invoice Invoice. |
|
| 153 | - */ |
|
| 154 | - protected function bank_details( $invoice ) { |
|
| 150 | + * Get bank details and place into a list format. |
|
| 151 | + * |
|
| 152 | + * @param WPInv_Invoice $invoice Invoice. |
|
| 153 | + */ |
|
| 154 | + protected function bank_details( $invoice ) { |
|
| 155 | 155 | |
| 156 | - // Get the invoice country and country $locale. |
|
| 157 | - $country = $invoice->get_country(); |
|
| 158 | - $locale = $this->get_country_locale(); |
|
| 156 | + // Get the invoice country and country $locale. |
|
| 157 | + $country = $invoice->get_country(); |
|
| 158 | + $locale = $this->get_country_locale(); |
|
| 159 | 159 | |
| 160 | - // Get sortcode label in the $locale array and use appropriate one. |
|
| 161 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
| 160 | + // Get sortcode label in the $locale array and use appropriate one. |
|
| 161 | + $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
| 162 | 162 | |
| 163 | 163 | $bank_fields = array( |
| 164 | 164 | 'ac_name' => __( 'Account Name', 'invoicing' ), |
@@ -177,11 +177,11 @@ discard block |
||
| 177 | 177 | |
| 178 | 178 | if ( ! empty( $value ) ) { |
| 179 | 179 | $bank_info[ $field ] = array( |
| 180 | - 'label' => $label, |
|
| 181 | - 'value' => $value, |
|
| 182 | - ); |
|
| 180 | + 'label' => $label, |
|
| 181 | + 'value' => $value, |
|
| 182 | + ); |
|
| 183 | 183 | } |
| 184 | - } |
|
| 184 | + } |
|
| 185 | 185 | |
| 186 | 186 | $bank_info = apply_filters( 'wpinv_bank_info', $bank_info, $invoice ); |
| 187 | 187 | |
@@ -189,139 +189,139 @@ discard block |
||
| 189 | 189 | return; |
| 190 | 190 | } |
| 191 | 191 | |
| 192 | - echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL; |
|
| 192 | + echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL; |
|
| 193 | + |
|
| 194 | + echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL; |
|
| 195 | + |
|
| 196 | + foreach ( $bank_info as $key => $data ) { |
|
| 197 | + echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL; |
|
| 198 | + } |
|
| 199 | + |
|
| 200 | + echo '</table>'; |
|
| 201 | + |
|
| 202 | + } |
|
| 193 | 203 | |
| 194 | - echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL; |
|
| 204 | + /** |
|
| 205 | + * Get country locale if localized. |
|
| 206 | + * |
|
| 207 | + * @return array |
|
| 208 | + */ |
|
| 209 | + public function get_country_locale() { |
|
| 210 | + |
|
| 211 | + if ( empty( $this->locale ) ) { |
|
| 212 | + |
|
| 213 | + // Locale information to be used - only those that are not 'Sort Code'. |
|
| 214 | + $this->locale = apply_filters( |
|
| 215 | + 'getpaid_get_bank_transfer_locale', |
|
| 216 | + array( |
|
| 217 | + 'AU' => array( |
|
| 218 | + 'sortcode' => array( |
|
| 219 | + 'label' => __( 'BSB', 'invoicing' ), |
|
| 220 | + ), |
|
| 221 | + ), |
|
| 222 | + 'CA' => array( |
|
| 223 | + 'sortcode' => array( |
|
| 224 | + 'label' => __( 'Bank transit number', 'invoicing' ), |
|
| 225 | + ), |
|
| 226 | + ), |
|
| 227 | + 'IN' => array( |
|
| 228 | + 'sortcode' => array( |
|
| 229 | + 'label' => __( 'IFSC', 'invoicing' ), |
|
| 230 | + ), |
|
| 231 | + ), |
|
| 232 | + 'IT' => array( |
|
| 233 | + 'sortcode' => array( |
|
| 234 | + 'label' => __( 'Branch sort', 'invoicing' ), |
|
| 235 | + ), |
|
| 236 | + ), |
|
| 237 | + 'NZ' => array( |
|
| 238 | + 'sortcode' => array( |
|
| 239 | + 'label' => __( 'Bank code', 'invoicing' ), |
|
| 240 | + ), |
|
| 241 | + ), |
|
| 242 | + 'SE' => array( |
|
| 243 | + 'sortcode' => array( |
|
| 244 | + 'label' => __( 'Bank code', 'invoicing' ), |
|
| 245 | + ), |
|
| 246 | + ), |
|
| 247 | + 'US' => array( |
|
| 248 | + 'sortcode' => array( |
|
| 249 | + 'label' => __( 'Routing number', 'invoicing' ), |
|
| 250 | + ), |
|
| 251 | + ), |
|
| 252 | + 'ZA' => array( |
|
| 253 | + 'sortcode' => array( |
|
| 254 | + 'label' => __( 'Branch code', 'invoicing' ), |
|
| 255 | + ), |
|
| 256 | + ), |
|
| 257 | + ) |
|
| 258 | + ); |
|
| 195 | 259 | |
| 196 | - foreach ( $bank_info as $key => $data ) { |
|
| 197 | - echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL; |
|
| 198 | - } |
|
| 260 | + } |
|
| 199 | 261 | |
| 200 | - echo '</table>'; |
|
| 262 | + return $this->locale; |
|
| 201 | 263 | |
| 202 | 264 | } |
| 203 | 265 | |
| 204 | 266 | /** |
| 205 | - * Get country locale if localized. |
|
| 206 | - * |
|
| 207 | - * @return array |
|
| 208 | - */ |
|
| 209 | - public function get_country_locale() { |
|
| 210 | - |
|
| 211 | - if ( empty( $this->locale ) ) { |
|
| 212 | - |
|
| 213 | - // Locale information to be used - only those that are not 'Sort Code'. |
|
| 214 | - $this->locale = apply_filters( |
|
| 215 | - 'getpaid_get_bank_transfer_locale', |
|
| 216 | - array( |
|
| 217 | - 'AU' => array( |
|
| 218 | - 'sortcode' => array( |
|
| 219 | - 'label' => __( 'BSB', 'invoicing' ), |
|
| 220 | - ), |
|
| 221 | - ), |
|
| 222 | - 'CA' => array( |
|
| 223 | - 'sortcode' => array( |
|
| 224 | - 'label' => __( 'Bank transit number', 'invoicing' ), |
|
| 225 | - ), |
|
| 226 | - ), |
|
| 227 | - 'IN' => array( |
|
| 228 | - 'sortcode' => array( |
|
| 229 | - 'label' => __( 'IFSC', 'invoicing' ), |
|
| 230 | - ), |
|
| 231 | - ), |
|
| 232 | - 'IT' => array( |
|
| 233 | - 'sortcode' => array( |
|
| 234 | - 'label' => __( 'Branch sort', 'invoicing' ), |
|
| 235 | - ), |
|
| 236 | - ), |
|
| 237 | - 'NZ' => array( |
|
| 238 | - 'sortcode' => array( |
|
| 239 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
| 240 | - ), |
|
| 241 | - ), |
|
| 242 | - 'SE' => array( |
|
| 243 | - 'sortcode' => array( |
|
| 244 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
| 245 | - ), |
|
| 246 | - ), |
|
| 247 | - 'US' => array( |
|
| 248 | - 'sortcode' => array( |
|
| 249 | - 'label' => __( 'Routing number', 'invoicing' ), |
|
| 250 | - ), |
|
| 251 | - ), |
|
| 252 | - 'ZA' => array( |
|
| 253 | - 'sortcode' => array( |
|
| 254 | - 'label' => __( 'Branch code', 'invoicing' ), |
|
| 255 | - ), |
|
| 256 | - ), |
|
| 257 | - ) |
|
| 258 | - ); |
|
| 259 | - |
|
| 260 | - } |
|
| 261 | - |
|
| 262 | - return $this->locale; |
|
| 263 | - |
|
| 264 | - } |
|
| 265 | - |
|
| 266 | - /** |
|
| 267 | - * Filters the gateway settings. |
|
| 268 | - * |
|
| 269 | - * @param array $admin_settings |
|
| 270 | - */ |
|
| 271 | - public function admin_settings( $admin_settings ) { |
|
| 267 | + * Filters the gateway settings. |
|
| 268 | + * |
|
| 269 | + * @param array $admin_settings |
|
| 270 | + */ |
|
| 271 | + public function admin_settings( $admin_settings ) { |
|
| 272 | 272 | |
| 273 | 273 | $admin_settings['bank_transfer_desc']['std'] = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ); |
| 274 | - $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' ); |
|
| 274 | + $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' ); |
|
| 275 | 275 | |
| 276 | - $locale = $this->get_country_locale(); |
|
| 276 | + $locale = $this->get_country_locale(); |
|
| 277 | 277 | |
| 278 | - // Get sortcode label in the $locale array and use appropriate one. |
|
| 279 | - $country = wpinv_default_billing_country(); |
|
| 280 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
| 278 | + // Get sortcode label in the $locale array and use appropriate one. |
|
| 279 | + $country = wpinv_default_billing_country(); |
|
| 280 | + $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
| 281 | 281 | |
| 282 | - $admin_settings['bank_transfer_ac_name'] = array( |
|
| 282 | + $admin_settings['bank_transfer_ac_name'] = array( |
|
| 283 | 283 | 'type' => 'text', |
| 284 | 284 | 'id' => 'bank_transfer_ac_name', |
| 285 | 285 | 'name' => __( 'Account Name', 'invoicing' ), |
| 286 | - ); |
|
| 286 | + ); |
|
| 287 | 287 | |
| 288 | - $admin_settings['bank_transfer_ac_no'] = array( |
|
| 288 | + $admin_settings['bank_transfer_ac_no'] = array( |
|
| 289 | 289 | 'type' => 'text', |
| 290 | 290 | 'id' => 'bank_transfer_ac_no', |
| 291 | 291 | 'name' => __( 'Account Number', 'invoicing' ), |
| 292 | - ); |
|
| 292 | + ); |
|
| 293 | 293 | |
| 294 | - $admin_settings['bank_transfer_bank_name'] = array( |
|
| 294 | + $admin_settings['bank_transfer_bank_name'] = array( |
|
| 295 | 295 | 'type' => 'text', |
| 296 | 296 | 'id' => 'bank_transfer_bank_name', |
| 297 | 297 | 'name' => __( 'Bank Name', 'invoicing' ), |
| 298 | - ); |
|
| 298 | + ); |
|
| 299 | 299 | |
| 300 | - $admin_settings['bank_transfer_ifsc'] = array( |
|
| 300 | + $admin_settings['bank_transfer_ifsc'] = array( |
|
| 301 | 301 | 'type' => 'text', |
| 302 | 302 | 'id' => 'bank_transfer_ifsc', |
| 303 | 303 | 'name' => __( 'IFSC Code', 'invoicing' ), |
| 304 | - ); |
|
| 304 | + ); |
|
| 305 | 305 | |
| 306 | - $admin_settings['bank_transfer_iban'] = array( |
|
| 306 | + $admin_settings['bank_transfer_iban'] = array( |
|
| 307 | 307 | 'type' => 'text', |
| 308 | 308 | 'id' => 'bank_transfer_iban', |
| 309 | 309 | 'name' => __( 'IBAN', 'invoicing' ), |
| 310 | - ); |
|
| 310 | + ); |
|
| 311 | 311 | |
| 312 | - $admin_settings['bank_transfer_bic'] = array( |
|
| 312 | + $admin_settings['bank_transfer_bic'] = array( |
|
| 313 | 313 | 'type' => 'text', |
| 314 | 314 | 'id' => 'bank_transfer_bic', |
| 315 | 315 | 'name' => __( 'BIC/Swift Code', 'invoicing' ), |
| 316 | - ); |
|
| 316 | + ); |
|
| 317 | 317 | |
| 318 | - $admin_settings['bank_transfer_sort_code'] = array( |
|
| 319 | - 'type' => 'text', |
|
| 320 | - 'id' => 'bank_transfer_sort_code', |
|
| 321 | - 'name' => $sortcode, |
|
| 322 | - ); |
|
| 318 | + $admin_settings['bank_transfer_sort_code'] = array( |
|
| 319 | + 'type' => 'text', |
|
| 320 | + 'id' => 'bank_transfer_sort_code', |
|
| 321 | + 'name' => $sortcode, |
|
| 322 | + ); |
|
| 323 | 323 | |
| 324 | - $admin_settings['bank_transfer_info'] = array( |
|
| 324 | + $admin_settings['bank_transfer_info'] = array( |
|
| 325 | 325 | 'id' => 'bank_transfer_info', |
| 326 | 326 | 'name' => __( 'Instructions', 'invoicing' ), |
| 327 | 327 | 'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ), |
@@ -331,17 +331,17 @@ discard block |
||
| 331 | 331 | 'rows' => 5, |
| 332 | 332 | ); |
| 333 | 333 | |
| 334 | - return $admin_settings; |
|
| 335 | - } |
|
| 334 | + return $admin_settings; |
|
| 335 | + } |
|
| 336 | 336 | |
| 337 | - /** |
|
| 338 | - * Processes invoice addons. |
|
| 339 | - * |
|
| 340 | - * @param WPInv_Invoice $invoice |
|
| 341 | - * @param GetPaid_Form_Item[] $items |
|
| 342 | - * @return WPInv_Invoice |
|
| 343 | - */ |
|
| 344 | - public function process_addons( $invoice, $items ) { |
|
| 337 | + /** |
|
| 338 | + * Processes invoice addons. |
|
| 339 | + * |
|
| 340 | + * @param WPInv_Invoice $invoice |
|
| 341 | + * @param GetPaid_Form_Item[] $items |
|
| 342 | + * @return WPInv_Invoice |
|
| 343 | + */ |
|
| 344 | + public function process_addons( $invoice, $items ) { |
|
| 345 | 345 | |
| 346 | 346 | foreach ( $items as $item ) { |
| 347 | 347 | $invoice->add_item( $item ); |
@@ -349,67 +349,67 @@ discard block |
||
| 349 | 349 | |
| 350 | 350 | $invoice->recalculate_total(); |
| 351 | 351 | $invoice->save(); |
| 352 | - } |
|
| 352 | + } |
|
| 353 | 353 | |
| 354 | - /** |
|
| 355 | - * (Maybe) renews a bank transfer subscription profile. |
|
| 356 | - * |
|
| 357 | - * |
|
| 354 | + /** |
|
| 355 | + * (Maybe) renews a bank transfer subscription profile. |
|
| 356 | + * |
|
| 357 | + * |
|
| 358 | 358 | * @param WPInv_Subscription $subscription |
| 359 | - */ |
|
| 360 | - public function maybe_renew_subscription( $subscription ) { |
|
| 359 | + */ |
|
| 360 | + public function maybe_renew_subscription( $subscription ) { |
|
| 361 | 361 | |
| 362 | 362 | // Ensure its our subscription && it's active. |
| 363 | 363 | if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) { |
| 364 | - $subscription->create_payment(); |
|
| 364 | + $subscription->create_payment(); |
|
| 365 | 365 | } |
| 366 | 366 | |
| 367 | 367 | } |
| 368 | 368 | |
| 369 | - /** |
|
| 370 | - * Process a bank transfer payment. |
|
| 371 | - * |
|
| 372 | - * |
|
| 369 | + /** |
|
| 370 | + * Process a bank transfer payment. |
|
| 371 | + * |
|
| 372 | + * |
|
| 373 | 373 | * @param WPInv_Invoice $invoice |
| 374 | - */ |
|
| 375 | - public function invoice_paid( $invoice ) { |
|
| 376 | - |
|
| 377 | - // Abort if not paid by bank transfer. |
|
| 378 | - if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) { |
|
| 379 | - return; |
|
| 380 | - } |
|
| 381 | - |
|
| 382 | - // Is it a parent payment? |
|
| 383 | - if ( 0 == $invoice->get_parent_id() ) { |
|
| 384 | - |
|
| 385 | - // (Maybe) activate subscriptions. |
|
| 386 | - $subscriptions = getpaid_get_invoice_subscriptions( $invoice ); |
|
| 387 | - |
|
| 388 | - if ( ! empty( $subscriptions ) ) { |
|
| 389 | - $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions ); |
|
| 390 | - |
|
| 391 | - foreach ( $subscriptions as $subscription ) { |
|
| 392 | - if ( $subscription->exists() ) { |
|
| 393 | - $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() ); |
|
| 394 | - $expiry = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) ); |
|
| 395 | - |
|
| 396 | - $subscription->set_next_renewal_date( $expiry ); |
|
| 397 | - $subscription->set_date_created( current_time( 'mysql' ) ); |
|
| 398 | - $subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ); |
|
| 399 | - $subscription->activate(); |
|
| 400 | - } |
|
| 401 | - } |
|
| 402 | - } |
|
| 403 | - } else { |
|
| 404 | - |
|
| 405 | - $subscription = getpaid_get_subscription( $invoice->get_subscription_id() ); |
|
| 406 | - |
|
| 407 | - // Renew the subscription. |
|
| 408 | - if ( $subscription && $subscription->exists() ) { |
|
| 409 | - $subscription->add_payment( array(), $invoice ); |
|
| 410 | - $subscription->renew( strtotime( $invoice->get_date_created() ) ); |
|
| 411 | - } |
|
| 412 | - } |
|
| 374 | + */ |
|
| 375 | + public function invoice_paid( $invoice ) { |
|
| 376 | + |
|
| 377 | + // Abort if not paid by bank transfer. |
|
| 378 | + if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) { |
|
| 379 | + return; |
|
| 380 | + } |
|
| 381 | + |
|
| 382 | + // Is it a parent payment? |
|
| 383 | + if ( 0 == $invoice->get_parent_id() ) { |
|
| 384 | + |
|
| 385 | + // (Maybe) activate subscriptions. |
|
| 386 | + $subscriptions = getpaid_get_invoice_subscriptions( $invoice ); |
|
| 387 | + |
|
| 388 | + if ( ! empty( $subscriptions ) ) { |
|
| 389 | + $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions ); |
|
| 390 | + |
|
| 391 | + foreach ( $subscriptions as $subscription ) { |
|
| 392 | + if ( $subscription->exists() ) { |
|
| 393 | + $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() ); |
|
| 394 | + $expiry = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) ); |
|
| 395 | + |
|
| 396 | + $subscription->set_next_renewal_date( $expiry ); |
|
| 397 | + $subscription->set_date_created( current_time( 'mysql' ) ); |
|
| 398 | + $subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ); |
|
| 399 | + $subscription->activate(); |
|
| 400 | + } |
|
| 401 | + } |
|
| 402 | + } |
|
| 403 | + } else { |
|
| 404 | + |
|
| 405 | + $subscription = getpaid_get_subscription( $invoice->get_subscription_id() ); |
|
| 406 | + |
|
| 407 | + // Renew the subscription. |
|
| 408 | + if ( $subscription && $subscription->exists() ) { |
|
| 409 | + $subscription->add_payment( array(), $invoice ); |
|
| 410 | + $subscription->renew( strtotime( $invoice->get_date_created() ) ); |
|
| 411 | + } |
|
| 412 | + } |
|
| 413 | 413 | |
| 414 | 414 | } |
| 415 | 415 | |
@@ -14,64 +14,64 @@ |
||
| 14 | 14 | * @return array|mixed|string|string[] |
| 15 | 15 | */ |
| 16 | 16 | function aui_bs_convert_sd_output( $output, $instance = '', $args = '', $sd = '' ) { |
| 17 | - global $aui_bs5; |
|
| 17 | + global $aui_bs5; |
|
| 18 | 18 | |
| 19 | - if ( $aui_bs5 ) { |
|
| 19 | + if ( $aui_bs5 ) { |
|
| 20 | 20 | |
| 21 | - $convert = array( |
|
| 22 | - 'ml-' => 'ms-', |
|
| 23 | - 'mr-' => 'me-', |
|
| 24 | - 'pl-' => 'ps-', |
|
| 25 | - 'pr-' => 'pe-', |
|
| 26 | - ' form-row' => ' row', |
|
| 27 | - ' embed-responsive-item' => '', |
|
| 28 | - ' embed-responsive' => ' ratio', |
|
| 29 | - '-1by1' => '-1x1', |
|
| 30 | - '-4by3' => '-4x3', |
|
| 31 | - '-16by9' => '-16x9', |
|
| 32 | - '-21by9' => '-21x9', |
|
| 33 | - 'geodir-lightbox-image' => 'aui-lightbox-image', |
|
| 34 | - ' badge-' => ' text-bg-', |
|
| 35 | - 'form-group' => 'mb-3', |
|
| 36 | - 'custom-select' => 'form-select', |
|
| 37 | - 'float-left' => 'float-start', |
|
| 38 | - 'float-right' => 'float-end', |
|
| 39 | - 'text-left' => 'text-start', |
|
| 40 | - 'text-sm-left' => 'text-sm-start', |
|
| 41 | - 'text-md-left' => 'text-md-start', |
|
| 42 | - 'text-lg-left' => 'text-lg-start', |
|
| 43 | - 'text-right' => 'text-end', |
|
| 44 | - 'text-sm-right' => 'text-sm-end', |
|
| 45 | - 'text-md-right' => 'text-md-end', |
|
| 46 | - 'text-lg-right' => 'text-lg-end', |
|
| 47 | - 'border-right' => 'border-end', |
|
| 48 | - 'border-left' => 'border-start', |
|
| 49 | - 'font-weight-' => 'fw-', |
|
| 50 | - 'btn-block' => 'w-100', |
|
| 51 | - 'rounded-left' => 'rounded-start', |
|
| 52 | - 'rounded-right' => 'rounded-end', |
|
| 53 | - 'font-italic' => 'fst-italic', |
|
| 21 | + $convert = array( |
|
| 22 | + 'ml-' => 'ms-', |
|
| 23 | + 'mr-' => 'me-', |
|
| 24 | + 'pl-' => 'ps-', |
|
| 25 | + 'pr-' => 'pe-', |
|
| 26 | + ' form-row' => ' row', |
|
| 27 | + ' embed-responsive-item' => '', |
|
| 28 | + ' embed-responsive' => ' ratio', |
|
| 29 | + '-1by1' => '-1x1', |
|
| 30 | + '-4by3' => '-4x3', |
|
| 31 | + '-16by9' => '-16x9', |
|
| 32 | + '-21by9' => '-21x9', |
|
| 33 | + 'geodir-lightbox-image' => 'aui-lightbox-image', |
|
| 34 | + ' badge-' => ' text-bg-', |
|
| 35 | + 'form-group' => 'mb-3', |
|
| 36 | + 'custom-select' => 'form-select', |
|
| 37 | + 'float-left' => 'float-start', |
|
| 38 | + 'float-right' => 'float-end', |
|
| 39 | + 'text-left' => 'text-start', |
|
| 40 | + 'text-sm-left' => 'text-sm-start', |
|
| 41 | + 'text-md-left' => 'text-md-start', |
|
| 42 | + 'text-lg-left' => 'text-lg-start', |
|
| 43 | + 'text-right' => 'text-end', |
|
| 44 | + 'text-sm-right' => 'text-sm-end', |
|
| 45 | + 'text-md-right' => 'text-md-end', |
|
| 46 | + 'text-lg-right' => 'text-lg-end', |
|
| 47 | + 'border-right' => 'border-end', |
|
| 48 | + 'border-left' => 'border-start', |
|
| 49 | + 'font-weight-' => 'fw-', |
|
| 50 | + 'btn-block' => 'w-100', |
|
| 51 | + 'rounded-left' => 'rounded-start', |
|
| 52 | + 'rounded-right' => 'rounded-end', |
|
| 53 | + 'font-italic' => 'fst-italic', |
|
| 54 | 54 | |
| 55 | 55 | // 'custom-control custom-checkbox' => 'form-check', |
| 56 | - // data |
|
| 57 | - ' data-toggle=' => ' data-bs-toggle=', |
|
| 58 | - 'data-ride=' => 'data-bs-ride=', |
|
| 59 | - 'data-controlnav=' => 'data-bs-controlnav=', |
|
| 60 | - 'data-slide=' => 'data-bs-slide=', |
|
| 61 | - 'data-slide-to=' => 'data-bs-slide-to=', |
|
| 62 | - 'data-target=' => 'data-bs-target=', |
|
| 63 | - 'data-dismiss="modal"' => 'data-bs-dismiss="modal"', |
|
| 64 | - 'class="close"' => 'class="btn-close"', |
|
| 65 | - '<span aria-hidden="true">×</span>' => '', |
|
| 66 | - ); |
|
| 67 | - $output = str_replace( |
|
| 68 | - array_keys( $convert ), |
|
| 69 | - array_values( $convert ), |
|
| 70 | - $output |
|
| 71 | - ); |
|
| 72 | - } |
|
| 56 | + // data |
|
| 57 | + ' data-toggle=' => ' data-bs-toggle=', |
|
| 58 | + 'data-ride=' => 'data-bs-ride=', |
|
| 59 | + 'data-controlnav=' => 'data-bs-controlnav=', |
|
| 60 | + 'data-slide=' => 'data-bs-slide=', |
|
| 61 | + 'data-slide-to=' => 'data-bs-slide-to=', |
|
| 62 | + 'data-target=' => 'data-bs-target=', |
|
| 63 | + 'data-dismiss="modal"' => 'data-bs-dismiss="modal"', |
|
| 64 | + 'class="close"' => 'class="btn-close"', |
|
| 65 | + '<span aria-hidden="true">×</span>' => '', |
|
| 66 | + ); |
|
| 67 | + $output = str_replace( |
|
| 68 | + array_keys( $convert ), |
|
| 69 | + array_values( $convert ), |
|
| 70 | + $output |
|
| 71 | + ); |
|
| 72 | + } |
|
| 73 | 73 | |
| 74 | - return $output; |
|
| 74 | + return $output; |
|
| 75 | 75 | } |
| 76 | 76 | |
| 77 | 77 | add_filter( 'wp_super_duper_widget_output', 'aui_bs_convert_sd_output', 10, 4 ); //$output, $instance, $args, $this |
@@ -1,60 +1,60 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | if ( ! defined( 'ABSPATH' ) ) { |
| 3 | - exit; |
|
| 3 | + exit; |
|
| 4 | 4 | } |
| 5 | 5 | |
| 6 | 6 | if ( ! class_exists( 'WP_Super_Duper' ) ) { |
| 7 | 7 | |
| 8 | - define( 'SUPER_DUPER_VER', '1.1.27' ); |
|
| 9 | - |
|
| 10 | - /** |
|
| 11 | - * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress. |
|
| 12 | - * |
|
| 13 | - * Should not be called direct but extended instead. |
|
| 14 | - * |
|
| 15 | - * Class WP_Super_Duper |
|
| 16 | - * @since 1.0.16 change log moved to file change-log.txt - CHANGED |
|
| 17 | - * @ver 1.1.1 |
|
| 18 | - */ |
|
| 19 | - class WP_Super_Duper extends WP_Widget { |
|
| 20 | - |
|
| 21 | - public $version = SUPER_DUPER_VER; |
|
| 22 | - public $font_awesome_icon_version = "5.11.2"; |
|
| 23 | - public $block_code; |
|
| 24 | - public $options; |
|
| 25 | - public $base_id; |
|
| 26 | - public $settings_hash; |
|
| 27 | - public $arguments = array(); |
|
| 28 | - public $instance = array(); |
|
| 29 | - private $class_name; |
|
| 30 | - |
|
| 31 | - /** |
|
| 32 | - * The relative url to the current folder. |
|
| 33 | - * |
|
| 34 | - * @var string |
|
| 35 | - */ |
|
| 36 | - public $url = ''; |
|
| 37 | - |
|
| 38 | - /** |
|
| 39 | - * Take the array options and use them to build. |
|
| 40 | - */ |
|
| 41 | - public function __construct( $options ) { |
|
| 42 | - global $sd_widgets; |
|
| 43 | - |
|
| 44 | - $sd_widgets[ $options['base_id'] ] = array( |
|
| 45 | - 'name' => $options['name'], |
|
| 46 | - 'class_name' => $options['class_name'], |
|
| 47 | - 'output_types' => !empty($options['output_types']) ? $options['output_types'] : array() |
|
| 48 | - ); |
|
| 49 | - $this->base_id = $options['base_id']; |
|
| 50 | - // lets filter the options before we do anything |
|
| 51 | - $options = apply_filters( "wp_super_duper_options", $options ); |
|
| 52 | - $options = apply_filters( "wp_super_duper_options_{$this->base_id}", $options ); |
|
| 53 | - $options = $this->add_name_from_key( $options ); |
|
| 54 | - $this->options = $options; |
|
| 55 | - |
|
| 56 | - $this->base_id = $options['base_id']; |
|
| 57 | - $this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array(); |
|
| 8 | + define( 'SUPER_DUPER_VER', '1.1.27' ); |
|
| 9 | + |
|
| 10 | + /** |
|
| 11 | + * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress. |
|
| 12 | + * |
|
| 13 | + * Should not be called direct but extended instead. |
|
| 14 | + * |
|
| 15 | + * Class WP_Super_Duper |
|
| 16 | + * @since 1.0.16 change log moved to file change-log.txt - CHANGED |
|
| 17 | + * @ver 1.1.1 |
|
| 18 | + */ |
|
| 19 | + class WP_Super_Duper extends WP_Widget { |
|
| 20 | + |
|
| 21 | + public $version = SUPER_DUPER_VER; |
|
| 22 | + public $font_awesome_icon_version = "5.11.2"; |
|
| 23 | + public $block_code; |
|
| 24 | + public $options; |
|
| 25 | + public $base_id; |
|
| 26 | + public $settings_hash; |
|
| 27 | + public $arguments = array(); |
|
| 28 | + public $instance = array(); |
|
| 29 | + private $class_name; |
|
| 30 | + |
|
| 31 | + /** |
|
| 32 | + * The relative url to the current folder. |
|
| 33 | + * |
|
| 34 | + * @var string |
|
| 35 | + */ |
|
| 36 | + public $url = ''; |
|
| 37 | + |
|
| 38 | + /** |
|
| 39 | + * Take the array options and use them to build. |
|
| 40 | + */ |
|
| 41 | + public function __construct( $options ) { |
|
| 42 | + global $sd_widgets; |
|
| 43 | + |
|
| 44 | + $sd_widgets[ $options['base_id'] ] = array( |
|
| 45 | + 'name' => $options['name'], |
|
| 46 | + 'class_name' => $options['class_name'], |
|
| 47 | + 'output_types' => !empty($options['output_types']) ? $options['output_types'] : array() |
|
| 48 | + ); |
|
| 49 | + $this->base_id = $options['base_id']; |
|
| 50 | + // lets filter the options before we do anything |
|
| 51 | + $options = apply_filters( "wp_super_duper_options", $options ); |
|
| 52 | + $options = apply_filters( "wp_super_duper_options_{$this->base_id}", $options ); |
|
| 53 | + $options = $this->add_name_from_key( $options ); |
|
| 54 | + $this->options = $options; |
|
| 55 | + |
|
| 56 | + $this->base_id = $options['base_id']; |
|
| 57 | + $this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array(); |
|
| 58 | 58 | |
| 59 | 59 | // nested blocks can't work as a widget |
| 60 | 60 | if(!empty($this->options['nested-block'])){ |
@@ -65,235 +65,235 @@ discard block |
||
| 65 | 65 | } |
| 66 | 66 | } |
| 67 | 67 | |
| 68 | - // init parent |
|
| 69 | - if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){ |
|
| 68 | + // init parent |
|
| 69 | + if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){ |
|
| 70 | 70 | parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] ); |
| 71 | - } |
|
| 71 | + } |
|
| 72 | 72 | |
| 73 | 73 | |
| 74 | - if ( isset( $options['class_name'] ) ) { |
|
| 75 | - // register widget |
|
| 76 | - $this->class_name = $options['class_name']; |
|
| 74 | + if ( isset( $options['class_name'] ) ) { |
|
| 75 | + // register widget |
|
| 76 | + $this->class_name = $options['class_name']; |
|
| 77 | 77 | |
| 78 | - // register shortcode, this needs to be done even for blocks and widgets |
|
| 78 | + // register shortcode, this needs to be done even for blocks and widgets |
|
| 79 | 79 | $this->register_shortcode(); |
| 80 | 80 | |
| 81 | 81 | |
| 82 | - // Fusion Builder (avada) support |
|
| 83 | - if ( function_exists( 'fusion_builder_map' ) ) { |
|
| 84 | - add_action( 'init', array( $this, 'register_fusion_element' ) ); |
|
| 85 | - } |
|
| 82 | + // Fusion Builder (avada) support |
|
| 83 | + if ( function_exists( 'fusion_builder_map' ) ) { |
|
| 84 | + add_action( 'init', array( $this, 'register_fusion_element' ) ); |
|
| 85 | + } |
|
| 86 | 86 | |
| 87 | - // register block |
|
| 88 | - if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){ |
|
| 89 | - add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) ); |
|
| 87 | + // register block |
|
| 88 | + if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){ |
|
| 89 | + add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) ); |
|
| 90 | 90 | } |
| 91 | - } |
|
| 91 | + } |
|
| 92 | 92 | |
| 93 | - // add the CSS and JS we need ONCE |
|
| 94 | - global $sd_widget_scripts; |
|
| 93 | + // add the CSS and JS we need ONCE |
|
| 94 | + global $sd_widget_scripts; |
|
| 95 | 95 | |
| 96 | - if ( ! $sd_widget_scripts ) { |
|
| 97 | - wp_add_inline_script( 'admin-widgets', $this->widget_js() ); |
|
| 98 | - wp_add_inline_script( 'customize-controls', $this->widget_js() ); |
|
| 99 | - wp_add_inline_style( 'widgets', $this->widget_css() ); |
|
| 96 | + if ( ! $sd_widget_scripts ) { |
|
| 97 | + wp_add_inline_script( 'admin-widgets', $this->widget_js() ); |
|
| 98 | + wp_add_inline_script( 'customize-controls', $this->widget_js() ); |
|
| 99 | + wp_add_inline_style( 'widgets', $this->widget_css() ); |
|
| 100 | 100 | |
| 101 | - // maybe add elementor editor styles |
|
| 102 | - add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) ); |
|
| 101 | + // maybe add elementor editor styles |
|
| 102 | + add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) ); |
|
| 103 | 103 | |
| 104 | - $sd_widget_scripts = true; |
|
| 104 | + $sd_widget_scripts = true; |
|
| 105 | 105 | |
| 106 | - // add shortcode insert button once |
|
| 107 | - add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) ); |
|
| 108 | - // generatepress theme sections compatibility |
|
| 109 | - if ( function_exists( 'generate_sections_sections_metabox' ) ) { |
|
| 110 | - add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 111 | - } |
|
| 112 | - /* Load script on Divi theme builder page */ |
|
| 113 | - if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) { |
|
| 114 | - add_thickbox(); |
|
| 115 | - add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 116 | - } |
|
| 106 | + // add shortcode insert button once |
|
| 107 | + add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) ); |
|
| 108 | + // generatepress theme sections compatibility |
|
| 109 | + if ( function_exists( 'generate_sections_sections_metabox' ) ) { |
|
| 110 | + add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 111 | + } |
|
| 112 | + /* Load script on Divi theme builder page */ |
|
| 113 | + if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) { |
|
| 114 | + add_thickbox(); |
|
| 115 | + add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 116 | + } |
|
| 117 | 117 | |
| 118 | - if ( $this->is_preview() ) { |
|
| 119 | - add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 120 | - // this makes the insert button work for elementor |
|
| 121 | - add_action( 'elementor/editor/after_enqueue_scripts', array( |
|
| 122 | - $this, |
|
| 123 | - 'shortcode_insert_button_script' |
|
| 124 | - ) ); // for elementor |
|
| 125 | - } |
|
| 126 | - // this makes the insert button work for cornerstone |
|
| 127 | - add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) ); |
|
| 118 | + if ( $this->is_preview() ) { |
|
| 119 | + add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 120 | + // this makes the insert button work for elementor |
|
| 121 | + add_action( 'elementor/editor/after_enqueue_scripts', array( |
|
| 122 | + $this, |
|
| 123 | + 'shortcode_insert_button_script' |
|
| 124 | + ) ); // for elementor |
|
| 125 | + } |
|
| 126 | + // this makes the insert button work for cornerstone |
|
| 127 | + add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) ); |
|
| 128 | 128 | |
| 129 | - add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) ); |
|
| 130 | - add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) ); |
|
| 129 | + add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) ); |
|
| 130 | + add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) ); |
|
| 131 | 131 | |
| 132 | - // add generator text to head |
|
| 133 | - add_action( 'admin_head', array( $this, 'generator' ) ); |
|
| 134 | - add_action( 'wp_head', array( $this, 'generator' ) ); |
|
| 135 | - } |
|
| 132 | + // add generator text to head |
|
| 133 | + add_action( 'admin_head', array( $this, 'generator' ) ); |
|
| 134 | + add_action( 'wp_head', array( $this, 'generator' ) ); |
|
| 135 | + } |
|
| 136 | 136 | |
| 137 | - do_action( 'wp_super_duper_widget_init', $options, $this ); |
|
| 138 | - } |
|
| 137 | + do_action( 'wp_super_duper_widget_init', $options, $this ); |
|
| 138 | + } |
|
| 139 | 139 | |
| 140 | 140 | /** |
| 141 | 141 | * The register widget function |
| 142 | 142 | * @return void |
| 143 | 143 | */ |
| 144 | - public function _register() { |
|
| 144 | + public function _register() { |
|
| 145 | 145 | if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){ |
| 146 | 146 | parent::_register(); |
| 147 | - } |
|
| 148 | - } |
|
| 147 | + } |
|
| 148 | + } |
|
| 149 | 149 | |
| 150 | - /** |
|
| 151 | - * Add our widget CSS to elementor editor. |
|
| 152 | - */ |
|
| 153 | - public function elementor_editor_styles() { |
|
| 154 | - wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) ); |
|
| 155 | - } |
|
| 150 | + /** |
|
| 151 | + * Add our widget CSS to elementor editor. |
|
| 152 | + */ |
|
| 153 | + public function elementor_editor_styles() { |
|
| 154 | + wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) ); |
|
| 155 | + } |
|
| 156 | 156 | |
| 157 | - public function register_fusion_element() { |
|
| 157 | + public function register_fusion_element() { |
|
| 158 | 158 | |
| 159 | - $options = $this->options; |
|
| 159 | + $options = $this->options; |
|
| 160 | 160 | |
| 161 | - if ( $this->base_id ) { |
|
| 161 | + if ( $this->base_id ) { |
|
| 162 | 162 | |
| 163 | - $params = $this->get_fusion_params(); |
|
| 163 | + $params = $this->get_fusion_params(); |
|
| 164 | 164 | |
| 165 | - $args = array( |
|
| 166 | - 'name' => $options['name'], |
|
| 167 | - 'shortcode' => $this->base_id, |
|
| 168 | - 'icon' => $options['block-icon'] ? $options['block-icon'] : 'far fa-square', |
|
| 169 | - 'allow_generator' => true, |
|
| 170 | - ); |
|
| 165 | + $args = array( |
|
| 166 | + 'name' => $options['name'], |
|
| 167 | + 'shortcode' => $this->base_id, |
|
| 168 | + 'icon' => $options['block-icon'] ? $options['block-icon'] : 'far fa-square', |
|
| 169 | + 'allow_generator' => true, |
|
| 170 | + ); |
|
| 171 | 171 | |
| 172 | - if ( ! empty( $params ) ) { |
|
| 173 | - $args['params'] = $params; |
|
| 174 | - } |
|
| 172 | + if ( ! empty( $params ) ) { |
|
| 173 | + $args['params'] = $params; |
|
| 174 | + } |
|
| 175 | 175 | |
| 176 | - fusion_builder_map( $args ); |
|
| 177 | - } |
|
| 176 | + fusion_builder_map( $args ); |
|
| 177 | + } |
|
| 178 | 178 | |
| 179 | - } |
|
| 179 | + } |
|
| 180 | 180 | |
| 181 | - public function get_fusion_params() { |
|
| 182 | - $params = array(); |
|
| 183 | - $arguments = $this->get_arguments(); |
|
| 184 | - |
|
| 185 | - if ( ! empty( $arguments ) ) { |
|
| 186 | - foreach ( $arguments as $key => $val ) { |
|
| 187 | - $param = array(); |
|
| 188 | - // type |
|
| 189 | - $param['type'] = str_replace( |
|
| 190 | - array( |
|
| 191 | - "text", |
|
| 192 | - "number", |
|
| 193 | - "email", |
|
| 194 | - "color", |
|
| 195 | - "checkbox" |
|
| 196 | - ), |
|
| 197 | - array( |
|
| 198 | - "textfield", |
|
| 199 | - "textfield", |
|
| 200 | - "textfield", |
|
| 201 | - "colorpicker", |
|
| 202 | - "select", |
|
| 203 | - |
|
| 204 | - ), |
|
| 205 | - $val['type'] ); |
|
| 206 | - |
|
| 207 | - // multiselect |
|
| 208 | - if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) { |
|
| 209 | - $param['type'] = 'multiple_select'; |
|
| 210 | - $param['multiple'] = true; |
|
| 211 | - } |
|
| 181 | + public function get_fusion_params() { |
|
| 182 | + $params = array(); |
|
| 183 | + $arguments = $this->get_arguments(); |
|
| 184 | + |
|
| 185 | + if ( ! empty( $arguments ) ) { |
|
| 186 | + foreach ( $arguments as $key => $val ) { |
|
| 187 | + $param = array(); |
|
| 188 | + // type |
|
| 189 | + $param['type'] = str_replace( |
|
| 190 | + array( |
|
| 191 | + "text", |
|
| 192 | + "number", |
|
| 193 | + "email", |
|
| 194 | + "color", |
|
| 195 | + "checkbox" |
|
| 196 | + ), |
|
| 197 | + array( |
|
| 198 | + "textfield", |
|
| 199 | + "textfield", |
|
| 200 | + "textfield", |
|
| 201 | + "colorpicker", |
|
| 202 | + "select", |
|
| 212 | 203 | |
| 213 | - // heading |
|
| 214 | - $param['heading'] = isset( $val['title'] ) ? $val['title'] : ''; |
|
| 204 | + ), |
|
| 205 | + $val['type'] ); |
|
| 215 | 206 | |
| 216 | - // description |
|
| 217 | - $param['description'] = isset( $val['desc'] ) ? $val['desc'] : ''; |
|
| 207 | + // multiselect |
|
| 208 | + if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) { |
|
| 209 | + $param['type'] = 'multiple_select'; |
|
| 210 | + $param['multiple'] = true; |
|
| 211 | + } |
|
| 218 | 212 | |
| 219 | - // param_name |
|
| 220 | - $param['param_name'] = $key; |
|
| 213 | + // heading |
|
| 214 | + $param['heading'] = isset( $val['title'] ) ? $val['title'] : ''; |
|
| 221 | 215 | |
| 222 | - // Default |
|
| 223 | - $param['default'] = isset( $val['default'] ) ? $val['default'] : ''; |
|
| 216 | + // description |
|
| 217 | + $param['description'] = isset( $val['desc'] ) ? $val['desc'] : ''; |
|
| 224 | 218 | |
| 225 | - // Group |
|
| 226 | - if ( isset( $val['group'] ) ) { |
|
| 227 | - $param['group'] = $val['group']; |
|
| 228 | - } |
|
| 219 | + // param_name |
|
| 220 | + $param['param_name'] = $key; |
|
| 229 | 221 | |
| 230 | - // value |
|
| 231 | - if ( $val['type'] == 'checkbox' ) { |
|
| 232 | - if ( isset( $val['default'] ) && $val['default'] == '0' ) { |
|
| 233 | - unset( $param['default'] ); |
|
| 234 | - } |
|
| 235 | - $param['value'] = array( '0' => __( "No" ), '1' => __( "Yes" ) ); |
|
| 236 | - } elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) { |
|
| 237 | - $param['value'] = isset( $val['options'] ) ? $val['options'] : array(); |
|
| 238 | - } else { |
|
| 239 | - $param['value'] = isset( $val['default'] ) ? $val['default'] : ''; |
|
| 240 | - } |
|
| 222 | + // Default |
|
| 223 | + $param['default'] = isset( $val['default'] ) ? $val['default'] : ''; |
|
| 241 | 224 | |
| 242 | - // setup the param |
|
| 243 | - $params[] = $param; |
|
| 225 | + // Group |
|
| 226 | + if ( isset( $val['group'] ) ) { |
|
| 227 | + $param['group'] = $val['group']; |
|
| 228 | + } |
|
| 244 | 229 | |
| 245 | - } |
|
| 246 | - } |
|
| 230 | + // value |
|
| 231 | + if ( $val['type'] == 'checkbox' ) { |
|
| 232 | + if ( isset( $val['default'] ) && $val['default'] == '0' ) { |
|
| 233 | + unset( $param['default'] ); |
|
| 234 | + } |
|
| 235 | + $param['value'] = array( '0' => __( "No" ), '1' => __( "Yes" ) ); |
|
| 236 | + } elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) { |
|
| 237 | + $param['value'] = isset( $val['options'] ) ? $val['options'] : array(); |
|
| 238 | + } else { |
|
| 239 | + $param['value'] = isset( $val['default'] ) ? $val['default'] : ''; |
|
| 240 | + } |
|
| 247 | 241 | |
| 242 | + // setup the param |
|
| 243 | + $params[] = $param; |
|
| 248 | 244 | |
| 249 | - return $params; |
|
| 250 | - } |
|
| 245 | + } |
|
| 246 | + } |
|
| 251 | 247 | |
| 252 | - /** |
|
| 253 | - * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder |
|
| 254 | - */ |
|
| 255 | - public static function maybe_cornerstone_builder() { |
|
| 256 | - if ( did_action( 'cornerstone_before_boot_app' ) ) { |
|
| 257 | - self::shortcode_insert_button_script(); |
|
| 258 | - } |
|
| 259 | - } |
|
| 260 | 248 | |
| 261 | - /** |
|
| 262 | - * A function to ge the shortcode builder picker html. |
|
| 263 | - * |
|
| 264 | - * @param string $editor_id |
|
| 265 | - * |
|
| 266 | - * @return string |
|
| 267 | - */ |
|
| 268 | - public static function get_picker( $editor_id = '' ) { |
|
| 269 | - |
|
| 270 | - ob_start(); |
|
| 271 | - if ( isset( $_POST['editor_id'] ) ) { |
|
| 272 | - $editor_id = esc_attr( $_POST['editor_id'] ); |
|
| 273 | - } elseif ( isset( $_REQUEST['et_fb'] ) ) { |
|
| 274 | - $editor_id = 'main_content_content_vb_tiny_mce'; |
|
| 275 | - } |
|
| 249 | + return $params; |
|
| 250 | + } |
|
| 251 | + |
|
| 252 | + /** |
|
| 253 | + * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder |
|
| 254 | + */ |
|
| 255 | + public static function maybe_cornerstone_builder() { |
|
| 256 | + if ( did_action( 'cornerstone_before_boot_app' ) ) { |
|
| 257 | + self::shortcode_insert_button_script(); |
|
| 258 | + } |
|
| 259 | + } |
|
| 260 | + |
|
| 261 | + /** |
|
| 262 | + * A function to ge the shortcode builder picker html. |
|
| 263 | + * |
|
| 264 | + * @param string $editor_id |
|
| 265 | + * |
|
| 266 | + * @return string |
|
| 267 | + */ |
|
| 268 | + public static function get_picker( $editor_id = '' ) { |
|
| 269 | + |
|
| 270 | + ob_start(); |
|
| 271 | + if ( isset( $_POST['editor_id'] ) ) { |
|
| 272 | + $editor_id = esc_attr( $_POST['editor_id'] ); |
|
| 273 | + } elseif ( isset( $_REQUEST['et_fb'] ) ) { |
|
| 274 | + $editor_id = 'main_content_content_vb_tiny_mce'; |
|
| 275 | + } |
|
| 276 | 276 | |
| 277 | - global $sd_widgets; |
|
| 277 | + global $sd_widgets; |
|
| 278 | 278 | |
| 279 | 279 | // print_r($sd_widgets);exit; |
| 280 | - ?> |
|
| 280 | + ?> |
|
| 281 | 281 | |
| 282 | 282 | <div class="sd-shortcode-left-wrap"> |
| 283 | 283 | <?php |
| 284 | - ksort( $sd_widgets ); |
|
| 285 | - // print_r($sd_widgets);exit; |
|
| 286 | - if ( ! empty( $sd_widgets ) ) { |
|
| 287 | - echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">'; |
|
| 288 | - echo "<option>" . __( 'Select shortcode' ) . "</option>"; |
|
| 289 | - foreach ( $sd_widgets as $shortcode => $class ) { |
|
| 290 | - if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; } |
|
| 291 | - echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>"; |
|
| 292 | - } |
|
| 293 | - echo "</select>"; |
|
| 284 | + ksort( $sd_widgets ); |
|
| 285 | + // print_r($sd_widgets);exit; |
|
| 286 | + if ( ! empty( $sd_widgets ) ) { |
|
| 287 | + echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">'; |
|
| 288 | + echo "<option>" . __( 'Select shortcode' ) . "</option>"; |
|
| 289 | + foreach ( $sd_widgets as $shortcode => $class ) { |
|
| 290 | + if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; } |
|
| 291 | + echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>"; |
|
| 292 | + } |
|
| 293 | + echo "</select>"; |
|
| 294 | 294 | |
| 295 | - } |
|
| 296 | - ?> |
|
| 295 | + } |
|
| 296 | + ?> |
|
| 297 | 297 | <div class="sd-shortcode-settings"></div> |
| 298 | 298 | |
| 299 | 299 | </div> |
@@ -304,8 +304,8 @@ discard block |
||
| 304 | 304 | <?php if ( $editor_id != '' ) { ?> |
| 305 | 305 | <button class="button sd-insert-shortcode-button" |
| 306 | 306 | onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) { |
| 307 | - echo "'" . $editor_id . "'"; |
|
| 308 | - } ?>)"><?php _e( 'Insert shortcode' ); ?></button> |
|
| 307 | + echo "'" . $editor_id . "'"; |
|
| 308 | + } ?>)"><?php _e( 'Insert shortcode' ); ?></button> |
|
| 309 | 309 | <?php } ?> |
| 310 | 310 | <button class="button" |
| 311 | 311 | onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button> |
@@ -313,150 +313,150 @@ discard block |
||
| 313 | 313 | </div> |
| 314 | 314 | <?php |
| 315 | 315 | |
| 316 | - $html = ob_get_clean(); |
|
| 316 | + $html = ob_get_clean(); |
|
| 317 | 317 | |
| 318 | - if ( wp_doing_ajax() ) { |
|
| 319 | - echo $html; |
|
| 320 | - $should_die = true; |
|
| 318 | + if ( wp_doing_ajax() ) { |
|
| 319 | + echo $html; |
|
| 320 | + $should_die = true; |
|
| 321 | 321 | |
| 322 | - // some builder get the editor via ajax so we should not die on those occasions |
|
| 323 | - $dont_die = array( |
|
| 324 | - 'parent_tag',// WP Bakery |
|
| 325 | - 'avia_request' // enfold |
|
| 326 | - ); |
|
| 322 | + // some builder get the editor via ajax so we should not die on those occasions |
|
| 323 | + $dont_die = array( |
|
| 324 | + 'parent_tag',// WP Bakery |
|
| 325 | + 'avia_request' // enfold |
|
| 326 | + ); |
|
| 327 | 327 | |
| 328 | - foreach ( $dont_die as $request ) { |
|
| 329 | - if ( isset( $_REQUEST[ $request ] ) ) { |
|
| 330 | - $should_die = false; |
|
| 331 | - } |
|
| 332 | - } |
|
| 328 | + foreach ( $dont_die as $request ) { |
|
| 329 | + if ( isset( $_REQUEST[ $request ] ) ) { |
|
| 330 | + $should_die = false; |
|
| 331 | + } |
|
| 332 | + } |
|
| 333 | 333 | |
| 334 | - if ( $should_die ) { |
|
| 335 | - wp_die(); |
|
| 336 | - } |
|
| 334 | + if ( $should_die ) { |
|
| 335 | + wp_die(); |
|
| 336 | + } |
|
| 337 | 337 | |
| 338 | - } else { |
|
| 339 | - return $html; |
|
| 340 | - } |
|
| 338 | + } else { |
|
| 339 | + return $html; |
|
| 340 | + } |
|
| 341 | 341 | |
| 342 | - return ''; |
|
| 342 | + return ''; |
|
| 343 | 343 | |
| 344 | - } |
|
| 344 | + } |
|
| 345 | 345 | |
| 346 | - /** |
|
| 347 | - * Output the version in the header. |
|
| 348 | - */ |
|
| 349 | - public function generator() { |
|
| 350 | - $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 351 | - $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 352 | - |
|
| 353 | - // Find source plugin/theme of SD |
|
| 354 | - $source = array(); |
|
| 355 | - if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 356 | - $source = explode( "/", plugin_basename( $file ) ); |
|
| 357 | - } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 358 | - $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 359 | - |
|
| 360 | - if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 361 | - $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 362 | - } |
|
| 363 | - } |
|
| 346 | + /** |
|
| 347 | + * Output the version in the header. |
|
| 348 | + */ |
|
| 349 | + public function generator() { |
|
| 350 | + $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 351 | + $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 352 | + |
|
| 353 | + // Find source plugin/theme of SD |
|
| 354 | + $source = array(); |
|
| 355 | + if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 356 | + $source = explode( "/", plugin_basename( $file ) ); |
|
| 357 | + } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 358 | + $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 359 | + |
|
| 360 | + if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 361 | + $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 362 | + } |
|
| 363 | + } |
|
| 364 | 364 | |
| 365 | - echo '<meta name="generator" content="WP Super Duper v' . $this->version . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />'; |
|
| 366 | - } |
|
| 365 | + echo '<meta name="generator" content="WP Super Duper v' . $this->version . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />'; |
|
| 366 | + } |
|
| 367 | 367 | |
| 368 | - /** |
|
| 369 | - * Get widget settings. |
|
| 370 | - * |
|
| 371 | - * @since 1.0.0 |
|
| 372 | - */ |
|
| 373 | - public static function get_widget_settings() { |
|
| 374 | - global $sd_widgets; |
|
| 375 | - |
|
| 376 | - $shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : ''; |
|
| 377 | - if ( ! $shortcode ) { |
|
| 378 | - wp_die(); |
|
| 379 | - } |
|
| 380 | - $widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : ''; |
|
| 381 | - if ( ! $widget_args ) { |
|
| 382 | - wp_die(); |
|
| 383 | - } |
|
| 384 | - $class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : ''; |
|
| 385 | - if ( ! $class_name ) { |
|
| 386 | - wp_die(); |
|
| 387 | - } |
|
| 368 | + /** |
|
| 369 | + * Get widget settings. |
|
| 370 | + * |
|
| 371 | + * @since 1.0.0 |
|
| 372 | + */ |
|
| 373 | + public static function get_widget_settings() { |
|
| 374 | + global $sd_widgets; |
|
| 375 | + |
|
| 376 | + $shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : ''; |
|
| 377 | + if ( ! $shortcode ) { |
|
| 378 | + wp_die(); |
|
| 379 | + } |
|
| 380 | + $widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : ''; |
|
| 381 | + if ( ! $widget_args ) { |
|
| 382 | + wp_die(); |
|
| 383 | + } |
|
| 384 | + $class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : ''; |
|
| 385 | + if ( ! $class_name ) { |
|
| 386 | + wp_die(); |
|
| 387 | + } |
|
| 388 | 388 | |
| 389 | - // invoke an instance method |
|
| 390 | - $widget = new $class_name; |
|
| 389 | + // invoke an instance method |
|
| 390 | + $widget = new $class_name; |
|
| 391 | 391 | |
| 392 | - ob_start(); |
|
| 393 | - $widget->form( array() ); |
|
| 394 | - $form = ob_get_clean(); |
|
| 395 | - echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>"; |
|
| 396 | - echo "<style>" . $widget->widget_css() . "</style>"; |
|
| 397 | - echo "<script>" . $widget->widget_js() . "</script>"; |
|
| 398 | - ?> |
|
| 392 | + ob_start(); |
|
| 393 | + $widget->form( array() ); |
|
| 394 | + $form = ob_get_clean(); |
|
| 395 | + echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>"; |
|
| 396 | + echo "<style>" . $widget->widget_css() . "</style>"; |
|
| 397 | + echo "<script>" . $widget->widget_js() . "</script>"; |
|
| 398 | + ?> |
|
| 399 | 399 | <?php |
| 400 | - wp_die(); |
|
| 401 | - } |
|
| 400 | + wp_die(); |
|
| 401 | + } |
|
| 402 | 402 | |
| 403 | - /** |
|
| 404 | - * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed). |
|
| 405 | - * |
|
| 406 | - * @param string $editor_id Optional. Shortcode editor id. Default null. |
|
| 407 | - * @param string $insert_shortcode_function Optional. Insert shortcode function. Default null. |
|
| 408 | - * |
|
| 409 | - *@since 1.0.0 |
|
| 410 | - * |
|
| 411 | - */ |
|
| 412 | - public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) { |
|
| 413 | - global $sd_widgets, $shortcode_insert_button_once; |
|
| 414 | - if ( $shortcode_insert_button_once ) { |
|
| 415 | - return; |
|
| 416 | - } |
|
| 417 | - add_thickbox(); |
|
| 403 | + /** |
|
| 404 | + * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed). |
|
| 405 | + * |
|
| 406 | + * @param string $editor_id Optional. Shortcode editor id. Default null. |
|
| 407 | + * @param string $insert_shortcode_function Optional. Insert shortcode function. Default null. |
|
| 408 | + * |
|
| 409 | + *@since 1.0.0 |
|
| 410 | + * |
|
| 411 | + */ |
|
| 412 | + public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) { |
|
| 413 | + global $sd_widgets, $shortcode_insert_button_once; |
|
| 414 | + if ( $shortcode_insert_button_once ) { |
|
| 415 | + return; |
|
| 416 | + } |
|
| 417 | + add_thickbox(); |
|
| 418 | 418 | |
| 419 | 419 | |
| 420 | - /** |
|
| 421 | - * Cornerstone makes us play dirty tricks :/ |
|
| 422 | - * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed. |
|
| 423 | - */ |
|
| 424 | - if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) { |
|
| 425 | - echo '<span id="insert-media-button">'; |
|
| 426 | - } |
|
| 420 | + /** |
|
| 421 | + * Cornerstone makes us play dirty tricks :/ |
|
| 422 | + * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed. |
|
| 423 | + */ |
|
| 424 | + if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) { |
|
| 425 | + echo '<span id="insert-media-button">'; |
|
| 426 | + } |
|
| 427 | 427 | |
| 428 | - echo self::shortcode_button( 'this', 'true' ); |
|
| 428 | + echo self::shortcode_button( 'this', 'true' ); |
|
| 429 | 429 | |
| 430 | - // see opening note |
|
| 431 | - if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) { |
|
| 432 | - echo '</span>'; // end #insert-media-button |
|
| 433 | - } |
|
| 430 | + // see opening note |
|
| 431 | + if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) { |
|
| 432 | + echo '</span>'; // end #insert-media-button |
|
| 433 | + } |
|
| 434 | 434 | |
| 435 | - // Add separate script for generatepress theme sections |
|
| 436 | - if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) { |
|
| 437 | - } else { |
|
| 438 | - self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function ); |
|
| 439 | - } |
|
| 435 | + // Add separate script for generatepress theme sections |
|
| 436 | + if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) { |
|
| 437 | + } else { |
|
| 438 | + self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function ); |
|
| 439 | + } |
|
| 440 | 440 | |
| 441 | - $shortcode_insert_button_once = true; |
|
| 442 | - } |
|
| 441 | + $shortcode_insert_button_once = true; |
|
| 442 | + } |
|
| 443 | 443 | |
| 444 | - /** |
|
| 445 | - * Gets the shortcode insert button html. |
|
| 446 | - * |
|
| 447 | - * @param string $id |
|
| 448 | - * @param string $search_for_id |
|
| 449 | - * |
|
| 450 | - * @return mixed |
|
| 451 | - */ |
|
| 452 | - public static function shortcode_button( $id = '', $search_for_id = '' ) { |
|
| 453 | - ob_start(); |
|
| 454 | - ?> |
|
| 444 | + /** |
|
| 445 | + * Gets the shortcode insert button html. |
|
| 446 | + * |
|
| 447 | + * @param string $id |
|
| 448 | + * @param string $search_for_id |
|
| 449 | + * |
|
| 450 | + * @return mixed |
|
| 451 | + */ |
|
| 452 | + public static function shortcode_button( $id = '', $search_for_id = '' ) { |
|
| 453 | + ob_start(); |
|
| 454 | + ?> |
|
| 455 | 455 | <span class="sd-lable-shortcode-inserter"> |
| 456 | 456 | <a onclick="sd_ajax_get_picker(<?php echo $id; |
| 457 | - if ( $search_for_id ) { |
|
| 458 | - echo "," . $search_for_id; |
|
| 459 | - } ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed" |
|
| 457 | + if ( $search_for_id ) { |
|
| 458 | + echo "," . $search_for_id; |
|
| 459 | + } ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed" |
|
| 460 | 460 | class="thickbox button super-duper-content-open" title="Add Shortcode"> |
| 461 | 461 | <span style="vertical-align: middle;line-height: 18px;font-size: 20px;" |
| 462 | 462 | class="dashicons dashicons-screenoptions"></span> |
@@ -467,21 +467,21 @@ discard block |
||
| 467 | 467 | </span> |
| 468 | 468 | |
| 469 | 469 | <?php |
| 470 | - $html = ob_get_clean(); |
|
| 470 | + $html = ob_get_clean(); |
|
| 471 | 471 | |
| 472 | - // remove line breaks so we can use it in js |
|
| 473 | - return preg_replace( "/\r|\n/", "", trim( $html ) ); |
|
| 474 | - } |
|
| 472 | + // remove line breaks so we can use it in js |
|
| 473 | + return preg_replace( "/\r|\n/", "", trim( $html ) ); |
|
| 474 | + } |
|
| 475 | 475 | |
| 476 | - /** |
|
| 477 | - * Makes SD work with the siteOrigin page builder. |
|
| 478 | - * |
|
| 479 | - * @return mixed |
|
| 480 | - *@since 1.0.6 |
|
| 481 | - */ |
|
| 482 | - public static function siteorigin_js() { |
|
| 483 | - ob_start(); |
|
| 484 | - ?> |
|
| 476 | + /** |
|
| 477 | + * Makes SD work with the siteOrigin page builder. |
|
| 478 | + * |
|
| 479 | + * @return mixed |
|
| 480 | + *@since 1.0.6 |
|
| 481 | + */ |
|
| 482 | + public static function siteorigin_js() { |
|
| 483 | + ob_start(); |
|
| 484 | + ?> |
|
| 485 | 485 | <script> |
| 486 | 486 | /** |
| 487 | 487 | * Check a form to see what items should be shown or hidden. |
@@ -557,29 +557,29 @@ discard block |
||
| 557 | 557 | }); |
| 558 | 558 | </script> |
| 559 | 559 | <?php |
| 560 | - $output = ob_get_clean(); |
|
| 560 | + $output = ob_get_clean(); |
|
| 561 | 561 | |
| 562 | - /* |
|
| 562 | + /* |
|
| 563 | 563 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 564 | 564 | */ |
| 565 | 565 | |
| 566 | - return str_replace( array( |
|
| 567 | - '<script>', |
|
| 568 | - '</script>' |
|
| 569 | - ), '', $output ); |
|
| 570 | - } |
|
| 566 | + return str_replace( array( |
|
| 567 | + '<script>', |
|
| 568 | + '</script>' |
|
| 569 | + ), '', $output ); |
|
| 570 | + } |
|
| 571 | 571 | |
| 572 | - /** |
|
| 573 | - * Output the JS and CSS for the shortcode insert button. |
|
| 574 | - * |
|
| 575 | - * @param string $editor_id |
|
| 576 | - * @param string $insert_shortcode_function |
|
| 577 | - * |
|
| 578 | - *@since 1.0.6 |
|
| 579 | - * |
|
| 580 | - */ |
|
| 581 | - public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) { |
|
| 582 | - ?> |
|
| 572 | + /** |
|
| 573 | + * Output the JS and CSS for the shortcode insert button. |
|
| 574 | + * |
|
| 575 | + * @param string $editor_id |
|
| 576 | + * @param string $insert_shortcode_function |
|
| 577 | + * |
|
| 578 | + *@since 1.0.6 |
|
| 579 | + * |
|
| 580 | + */ |
|
| 581 | + public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) { |
|
| 582 | + ?> |
|
| 583 | 583 | <style> |
| 584 | 584 | .sd-shortcode-left-wrap { |
| 585 | 585 | float: left; |
@@ -707,35 +707,35 @@ discard block |
||
| 707 | 707 | <?php } ?> |
| 708 | 708 | </style> |
| 709 | 709 | <?php |
| 710 | - if ( class_exists( 'SiteOrigin_Panels' ) ) { |
|
| 711 | - echo "<script>" . self::siteorigin_js() . "</script>"; |
|
| 712 | - } |
|
| 713 | - ?> |
|
| 710 | + if ( class_exists( 'SiteOrigin_Panels' ) ) { |
|
| 711 | + echo "<script>" . self::siteorigin_js() . "</script>"; |
|
| 712 | + } |
|
| 713 | + ?> |
|
| 714 | 714 | <script> |
| 715 | 715 | <?php |
| 716 | - if(! empty( $insert_shortcode_function )){ |
|
| 717 | - echo $insert_shortcode_function; |
|
| 718 | - }else{ |
|
| 716 | + if(! empty( $insert_shortcode_function )){ |
|
| 717 | + echo $insert_shortcode_function; |
|
| 718 | + }else{ |
|
| 719 | 719 | |
| 720 | - /** |
|
| 721 | - * Function for super duper insert shortcode. |
|
| 722 | - * |
|
| 723 | - * @since 1.0.0 |
|
| 724 | - */ |
|
| 725 | - ?> |
|
| 720 | + /** |
|
| 721 | + * Function for super duper insert shortcode. |
|
| 722 | + * |
|
| 723 | + * @since 1.0.0 |
|
| 724 | + */ |
|
| 725 | + ?> |
|
| 726 | 726 | function sd_insert_shortcode($editor_id) { |
| 727 | 727 | $shortcode = jQuery('#TB_ajaxContent #sd-shortcode-output').val(); |
| 728 | 728 | if ($shortcode) { |
| 729 | 729 | if (!$editor_id) { |
| 730 | 730 | <?php |
| 731 | - if ( isset( $_REQUEST['et_fb'] ) ) { |
|
| 732 | - echo '$editor_id = "#main_content_content_vb_tiny_mce";'; |
|
| 733 | - } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) { |
|
| 734 | - echo '$editor_id = "#elementor-controls .wp-editor-container textarea";'; |
|
| 735 | - } else { |
|
| 736 | - echo '$editor_id = "#wp-content-editor-container textarea";'; |
|
| 737 | - } |
|
| 738 | - ?> |
|
| 731 | + if ( isset( $_REQUEST['et_fb'] ) ) { |
|
| 732 | + echo '$editor_id = "#main_content_content_vb_tiny_mce";'; |
|
| 733 | + } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) { |
|
| 734 | + echo '$editor_id = "#elementor-controls .wp-editor-container textarea";'; |
|
| 735 | + } else { |
|
| 736 | + echo '$editor_id = "#wp-content-editor-container textarea";'; |
|
| 737 | + } |
|
| 738 | + ?> |
|
| 739 | 739 | } else { |
| 740 | 740 | $editor_id = '#' + $editor_id; |
| 741 | 741 | } |
@@ -1049,18 +1049,18 @@ discard block |
||
| 1049 | 1049 | } |
| 1050 | 1050 | </script> |
| 1051 | 1051 | <?php |
| 1052 | - } |
|
| 1052 | + } |
|
| 1053 | 1053 | |
| 1054 | - /** |
|
| 1055 | - * Gets some CSS for the widgets screen. |
|
| 1056 | - * |
|
| 1057 | - * @param bool $advanced If we should include advanced CSS. |
|
| 1058 | - * |
|
| 1059 | - * @return mixed |
|
| 1060 | - */ |
|
| 1061 | - public function widget_css( $advanced = true ) { |
|
| 1062 | - ob_start(); |
|
| 1063 | - ?> |
|
| 1054 | + /** |
|
| 1055 | + * Gets some CSS for the widgets screen. |
|
| 1056 | + * |
|
| 1057 | + * @param bool $advanced If we should include advanced CSS. |
|
| 1058 | + * |
|
| 1059 | + * @return mixed |
|
| 1060 | + */ |
|
| 1061 | + public function widget_css( $advanced = true ) { |
|
| 1062 | + ob_start(); |
|
| 1063 | + ?> |
|
| 1064 | 1064 | <style> |
| 1065 | 1065 | <?php if( $advanced ){ ?> |
| 1066 | 1066 | .sd-advanced-setting { |
@@ -1098,26 +1098,26 @@ discard block |
||
| 1098 | 1098 | } |
| 1099 | 1099 | </style> |
| 1100 | 1100 | <?php |
| 1101 | - $output = ob_get_clean(); |
|
| 1101 | + $output = ob_get_clean(); |
|
| 1102 | 1102 | |
| 1103 | - /* |
|
| 1103 | + /* |
|
| 1104 | 1104 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 1105 | 1105 | */ |
| 1106 | 1106 | |
| 1107 | - return str_replace( array( |
|
| 1108 | - '<style>', |
|
| 1109 | - '</style>' |
|
| 1110 | - ), '', $output ); |
|
| 1111 | - } |
|
| 1107 | + return str_replace( array( |
|
| 1108 | + '<style>', |
|
| 1109 | + '</style>' |
|
| 1110 | + ), '', $output ); |
|
| 1111 | + } |
|
| 1112 | 1112 | |
| 1113 | - /** |
|
| 1114 | - * Gets some JS for the widgets screen. |
|
| 1115 | - * |
|
| 1116 | - * @return mixed |
|
| 1117 | - */ |
|
| 1118 | - public function widget_js() { |
|
| 1119 | - ob_start(); |
|
| 1120 | - ?> |
|
| 1113 | + /** |
|
| 1114 | + * Gets some JS for the widgets screen. |
|
| 1115 | + * |
|
| 1116 | + * @return mixed |
|
| 1117 | + */ |
|
| 1118 | + public function widget_js() { |
|
| 1119 | + ob_start(); |
|
| 1120 | + ?> |
|
| 1121 | 1121 | <script> |
| 1122 | 1122 | |
| 1123 | 1123 | /** |
@@ -1268,515 +1268,515 @@ discard block |
||
| 1268 | 1268 | <?php do_action( 'wp_super_duper_widget_js', $this ); ?> |
| 1269 | 1269 | </script> |
| 1270 | 1270 | <?php |
| 1271 | - $output = ob_get_clean(); |
|
| 1271 | + $output = ob_get_clean(); |
|
| 1272 | 1272 | |
| 1273 | - /* |
|
| 1273 | + /* |
|
| 1274 | 1274 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 1275 | 1275 | */ |
| 1276 | 1276 | |
| 1277 | - return str_replace( array( |
|
| 1278 | - '<script>', |
|
| 1279 | - '</script>' |
|
| 1280 | - ), '', $output ); |
|
| 1281 | - } |
|
| 1277 | + return str_replace( array( |
|
| 1278 | + '<script>', |
|
| 1279 | + '</script>' |
|
| 1280 | + ), '', $output ); |
|
| 1281 | + } |
|
| 1282 | 1282 | |
| 1283 | 1283 | |
| 1284 | - /** |
|
| 1285 | - * Set the name from the argument key. |
|
| 1286 | - * |
|
| 1287 | - * @param $options |
|
| 1288 | - * |
|
| 1289 | - * @return mixed |
|
| 1290 | - */ |
|
| 1291 | - private function add_name_from_key( $options, $arguments = false ) { |
|
| 1292 | - if ( ! empty( $options['arguments'] ) ) { |
|
| 1293 | - foreach ( $options['arguments'] as $key => $val ) { |
|
| 1294 | - $options['arguments'][ $key ]['name'] = $key; |
|
| 1295 | - } |
|
| 1296 | - } elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) { |
|
| 1297 | - foreach ( $options as $key => $val ) { |
|
| 1298 | - $options[ $key ]['name'] = $key; |
|
| 1299 | - } |
|
| 1300 | - } |
|
| 1284 | + /** |
|
| 1285 | + * Set the name from the argument key. |
|
| 1286 | + * |
|
| 1287 | + * @param $options |
|
| 1288 | + * |
|
| 1289 | + * @return mixed |
|
| 1290 | + */ |
|
| 1291 | + private function add_name_from_key( $options, $arguments = false ) { |
|
| 1292 | + if ( ! empty( $options['arguments'] ) ) { |
|
| 1293 | + foreach ( $options['arguments'] as $key => $val ) { |
|
| 1294 | + $options['arguments'][ $key ]['name'] = $key; |
|
| 1295 | + } |
|
| 1296 | + } elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) { |
|
| 1297 | + foreach ( $options as $key => $val ) { |
|
| 1298 | + $options[ $key ]['name'] = $key; |
|
| 1299 | + } |
|
| 1300 | + } |
|
| 1301 | 1301 | |
| 1302 | - return $options; |
|
| 1303 | - } |
|
| 1302 | + return $options; |
|
| 1303 | + } |
|
| 1304 | 1304 | |
| 1305 | - /** |
|
| 1306 | - * Register the parent shortcode. |
|
| 1307 | - * |
|
| 1308 | - * @since 1.0.0 |
|
| 1309 | - */ |
|
| 1310 | - public function register_shortcode() { |
|
| 1311 | - add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) ); |
|
| 1312 | - add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) ); |
|
| 1313 | - } |
|
| 1305 | + /** |
|
| 1306 | + * Register the parent shortcode. |
|
| 1307 | + * |
|
| 1308 | + * @since 1.0.0 |
|
| 1309 | + */ |
|
| 1310 | + public function register_shortcode() { |
|
| 1311 | + add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) ); |
|
| 1312 | + add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) ); |
|
| 1313 | + } |
|
| 1314 | 1314 | |
| 1315 | - /** |
|
| 1316 | - * Render the shortcode via ajax so we can return it to Gutenberg. |
|
| 1317 | - * |
|
| 1318 | - * @since 1.0.0 |
|
| 1319 | - */ |
|
| 1320 | - public function render_shortcode() { |
|
| 1321 | - check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true ); |
|
| 1322 | - if ( ! current_user_can( 'manage_options' ) ) { |
|
| 1323 | - wp_die(); |
|
| 1324 | - } |
|
| 1315 | + /** |
|
| 1316 | + * Render the shortcode via ajax so we can return it to Gutenberg. |
|
| 1317 | + * |
|
| 1318 | + * @since 1.0.0 |
|
| 1319 | + */ |
|
| 1320 | + public function render_shortcode() { |
|
| 1321 | + check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true ); |
|
| 1322 | + if ( ! current_user_can( 'manage_options' ) ) { |
|
| 1323 | + wp_die(); |
|
| 1324 | + } |
|
| 1325 | 1325 | |
| 1326 | - // we might need the $post value here so lets set it. |
|
| 1327 | - if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) { |
|
| 1328 | - $post_obj = get_post( absint( $_POST['post_id'] ) ); |
|
| 1329 | - if ( ! empty( $post_obj ) && empty( $post ) ) { |
|
| 1330 | - global $post; |
|
| 1331 | - $post = $post_obj; |
|
| 1332 | - } |
|
| 1333 | - } |
|
| 1326 | + // we might need the $post value here so lets set it. |
|
| 1327 | + if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) { |
|
| 1328 | + $post_obj = get_post( absint( $_POST['post_id'] ) ); |
|
| 1329 | + if ( ! empty( $post_obj ) && empty( $post ) ) { |
|
| 1330 | + global $post; |
|
| 1331 | + $post = $post_obj; |
|
| 1332 | + } |
|
| 1333 | + } |
|
| 1334 | 1334 | |
| 1335 | - if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) { |
|
| 1336 | - $is_preview = $this->is_preview(); |
|
| 1337 | - $shortcode_name = sanitize_title_with_dashes( $_POST['shortcode'] ); |
|
| 1338 | - $attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array(); |
|
| 1339 | - $attributes = ''; |
|
| 1340 | - if ( ! empty( $attributes_array ) ) { |
|
| 1341 | - foreach ( $attributes_array as $key => $value ) { |
|
| 1342 | - if ( is_array( $value ) ) { |
|
| 1343 | - $value = implode( ",", $value ); |
|
| 1344 | - } |
|
| 1335 | + if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) { |
|
| 1336 | + $is_preview = $this->is_preview(); |
|
| 1337 | + $shortcode_name = sanitize_title_with_dashes( $_POST['shortcode'] ); |
|
| 1338 | + $attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array(); |
|
| 1339 | + $attributes = ''; |
|
| 1340 | + if ( ! empty( $attributes_array ) ) { |
|
| 1341 | + foreach ( $attributes_array as $key => $value ) { |
|
| 1342 | + if ( is_array( $value ) ) { |
|
| 1343 | + $value = implode( ",", $value ); |
|
| 1344 | + } |
|
| 1345 | 1345 | |
| 1346 | - if ( ! empty( $value ) ) { |
|
| 1347 | - $value = wp_unslash( $value ); |
|
| 1346 | + if ( ! empty( $value ) ) { |
|
| 1347 | + $value = wp_unslash( $value ); |
|
| 1348 | 1348 | |
| 1349 | - // Encode [ and ]. |
|
| 1350 | - if ( $is_preview ) { |
|
| 1351 | - $value = $this->encode_shortcodes( $value ); |
|
| 1352 | - } |
|
| 1353 | - } |
|
| 1354 | - $attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . esc_attr( $value ) . "' "; |
|
| 1355 | - } |
|
| 1356 | - } |
|
| 1349 | + // Encode [ and ]. |
|
| 1350 | + if ( $is_preview ) { |
|
| 1351 | + $value = $this->encode_shortcodes( $value ); |
|
| 1352 | + } |
|
| 1353 | + } |
|
| 1354 | + $attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . esc_attr( $value ) . "' "; |
|
| 1355 | + } |
|
| 1356 | + } |
|
| 1357 | 1357 | |
| 1358 | - $shortcode = "[" . $shortcode_name . " " . $attributes . "]"; |
|
| 1358 | + $shortcode = "[" . $shortcode_name . " " . $attributes . "]"; |
|
| 1359 | 1359 | |
| 1360 | - $content = do_shortcode( $shortcode ); |
|
| 1360 | + $content = do_shortcode( $shortcode ); |
|
| 1361 | 1361 | |
| 1362 | - // Decode [ and ]. |
|
| 1363 | - if ( ! empty( $content ) && $is_preview ) { |
|
| 1364 | - $content = $this->decode_shortcodes( $content ); |
|
| 1365 | - } |
|
| 1362 | + // Decode [ and ]. |
|
| 1363 | + if ( ! empty( $content ) && $is_preview ) { |
|
| 1364 | + $content = $this->decode_shortcodes( $content ); |
|
| 1365 | + } |
|
| 1366 | 1366 | |
| 1367 | - echo $content; |
|
| 1368 | - } |
|
| 1369 | - wp_die(); |
|
| 1370 | - } |
|
| 1367 | + echo $content; |
|
| 1368 | + } |
|
| 1369 | + wp_die(); |
|
| 1370 | + } |
|
| 1371 | 1371 | |
| 1372 | - /** |
|
| 1373 | - * Output the shortcode. |
|
| 1374 | - * |
|
| 1375 | - * @param array $args |
|
| 1376 | - * @param string $content |
|
| 1377 | - * |
|
| 1378 | - * @return string |
|
| 1379 | - */ |
|
| 1380 | - public function shortcode_output( $args = array(), $content = '' ) { |
|
| 1381 | - $_instance = $args; |
|
| 1382 | - |
|
| 1383 | - $args = $this->argument_values( $args ); |
|
| 1384 | - |
|
| 1385 | - // add extra argument so we know its a output to gutenberg |
|
| 1386 | - //$args |
|
| 1387 | - $args = $this->string_to_bool( $args ); |
|
| 1388 | - |
|
| 1389 | - // if we have a enclosed shortcode we add it to the special `html` argument |
|
| 1390 | - if ( ! empty( $content ) ) { |
|
| 1391 | - $args['html'] = $content; |
|
| 1392 | - } |
|
| 1372 | + /** |
|
| 1373 | + * Output the shortcode. |
|
| 1374 | + * |
|
| 1375 | + * @param array $args |
|
| 1376 | + * @param string $content |
|
| 1377 | + * |
|
| 1378 | + * @return string |
|
| 1379 | + */ |
|
| 1380 | + public function shortcode_output( $args = array(), $content = '' ) { |
|
| 1381 | + $_instance = $args; |
|
| 1393 | 1382 | |
| 1394 | - if ( ! $this->is_preview() ) { |
|
| 1395 | - /** |
|
| 1396 | - * Filters the settings for a particular widget args. |
|
| 1397 | - * |
|
| 1398 | - * @param array $args The current widget instance's settings. |
|
| 1399 | - * @param WP_Super_Duper $widget The current widget settings. |
|
| 1400 | - * @param array $_instance An array of default widget arguments. |
|
| 1401 | - * |
|
| 1402 | - *@since 1.0.28 |
|
| 1403 | - * |
|
| 1404 | - */ |
|
| 1405 | - $args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance ); |
|
| 1383 | + $args = $this->argument_values( $args ); |
|
| 1406 | 1384 | |
| 1407 | - if ( ! is_array( $args ) ) { |
|
| 1408 | - return $args; |
|
| 1409 | - } |
|
| 1410 | - } |
|
| 1385 | + // add extra argument so we know its a output to gutenberg |
|
| 1386 | + //$args |
|
| 1387 | + $args = $this->string_to_bool( $args ); |
|
| 1411 | 1388 | |
| 1412 | - $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : ''; |
|
| 1413 | - $class .= " sdel-".$this->get_instance_hash(); |
|
| 1389 | + // if we have a enclosed shortcode we add it to the special `html` argument |
|
| 1390 | + if ( ! empty( $content ) ) { |
|
| 1391 | + $args['html'] = $content; |
|
| 1392 | + } |
|
| 1414 | 1393 | |
| 1415 | - $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this ); |
|
| 1416 | - $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this ); |
|
| 1394 | + if ( ! $this->is_preview() ) { |
|
| 1395 | + /** |
|
| 1396 | + * Filters the settings for a particular widget args. |
|
| 1397 | + * |
|
| 1398 | + * @param array $args The current widget instance's settings. |
|
| 1399 | + * @param WP_Super_Duper $widget The current widget settings. |
|
| 1400 | + * @param array $_instance An array of default widget arguments. |
|
| 1401 | + * |
|
| 1402 | + *@since 1.0.28 |
|
| 1403 | + * |
|
| 1404 | + */ |
|
| 1405 | + $args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance ); |
|
| 1406 | + |
|
| 1407 | + if ( ! is_array( $args ) ) { |
|
| 1408 | + return $args; |
|
| 1409 | + } |
|
| 1410 | + } |
|
| 1417 | 1411 | |
| 1418 | - $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this ); |
|
| 1419 | - $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); |
|
| 1412 | + $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : ''; |
|
| 1413 | + $class .= " sdel-".$this->get_instance_hash(); |
|
| 1420 | 1414 | |
| 1421 | - $shortcode_args = array(); |
|
| 1422 | - $output = ''; |
|
| 1423 | - $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false; |
|
| 1424 | - if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) { |
|
| 1425 | - $no_wrap = true; |
|
| 1426 | - } |
|
| 1427 | - $main_content = $this->output( $args, $shortcode_args, $content ); |
|
| 1428 | - if ( $main_content && ! $no_wrap ) { |
|
| 1429 | - // wrap the shortcode in a div with the same class as the widget |
|
| 1430 | - $output .= '<div class="' . $class . '" ' . $attrs . '>'; |
|
| 1431 | - if ( ! empty( $args['title'] ) ) { |
|
| 1432 | - // if its a shortcode and there is a title try to grab the title wrappers |
|
| 1433 | - $shortcode_args = array( 'before_title' => '', 'after_title' => '' ); |
|
| 1434 | - if ( empty( $instance ) ) { |
|
| 1435 | - global $wp_registered_sidebars; |
|
| 1436 | - if ( ! empty( $wp_registered_sidebars ) ) { |
|
| 1437 | - foreach ( $wp_registered_sidebars as $sidebar ) { |
|
| 1438 | - if ( ! empty( $sidebar['before_title'] ) ) { |
|
| 1439 | - $shortcode_args['before_title'] = $sidebar['before_title']; |
|
| 1440 | - $shortcode_args['after_title'] = $sidebar['after_title']; |
|
| 1441 | - break; |
|
| 1442 | - } |
|
| 1443 | - } |
|
| 1444 | - } |
|
| 1445 | - } |
|
| 1446 | - $output .= $this->output_title( $shortcode_args, $args ); |
|
| 1447 | - } |
|
| 1448 | - $output .= $main_content; |
|
| 1449 | - $output .= '</div>'; |
|
| 1450 | - } elseif ( $main_content && $no_wrap ) { |
|
| 1451 | - $output .= $main_content; |
|
| 1452 | - } |
|
| 1415 | + $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this ); |
|
| 1416 | + $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this ); |
|
| 1453 | 1417 | |
| 1454 | - // if preview show a placeholder if empty |
|
| 1455 | - if ( $this->is_preview() && $output == '' ) { |
|
| 1456 | - $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
| 1457 | - } |
|
| 1418 | + $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this ); |
|
| 1419 | + $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); |
|
| 1458 | 1420 | |
| 1459 | - return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this ); |
|
| 1460 | - } |
|
| 1421 | + $shortcode_args = array(); |
|
| 1422 | + $output = ''; |
|
| 1423 | + $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false; |
|
| 1424 | + if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) { |
|
| 1425 | + $no_wrap = true; |
|
| 1426 | + } |
|
| 1427 | + $main_content = $this->output( $args, $shortcode_args, $content ); |
|
| 1428 | + if ( $main_content && ! $no_wrap ) { |
|
| 1429 | + // wrap the shortcode in a div with the same class as the widget |
|
| 1430 | + $output .= '<div class="' . $class . '" ' . $attrs . '>'; |
|
| 1431 | + if ( ! empty( $args['title'] ) ) { |
|
| 1432 | + // if its a shortcode and there is a title try to grab the title wrappers |
|
| 1433 | + $shortcode_args = array( 'before_title' => '', 'after_title' => '' ); |
|
| 1434 | + if ( empty( $instance ) ) { |
|
| 1435 | + global $wp_registered_sidebars; |
|
| 1436 | + if ( ! empty( $wp_registered_sidebars ) ) { |
|
| 1437 | + foreach ( $wp_registered_sidebars as $sidebar ) { |
|
| 1438 | + if ( ! empty( $sidebar['before_title'] ) ) { |
|
| 1439 | + $shortcode_args['before_title'] = $sidebar['before_title']; |
|
| 1440 | + $shortcode_args['after_title'] = $sidebar['after_title']; |
|
| 1441 | + break; |
|
| 1442 | + } |
|
| 1443 | + } |
|
| 1444 | + } |
|
| 1445 | + } |
|
| 1446 | + $output .= $this->output_title( $shortcode_args, $args ); |
|
| 1447 | + } |
|
| 1448 | + $output .= $main_content; |
|
| 1449 | + $output .= '</div>'; |
|
| 1450 | + } elseif ( $main_content && $no_wrap ) { |
|
| 1451 | + $output .= $main_content; |
|
| 1452 | + } |
|
| 1461 | 1453 | |
| 1462 | - /** |
|
| 1463 | - * Placeholder text to show if output is empty and we are on a preview/builder page. |
|
| 1464 | - * |
|
| 1465 | - * @param string $name |
|
| 1466 | - * |
|
| 1467 | - * @return string |
|
| 1468 | - */ |
|
| 1469 | - public function preview_placeholder_text( $name = '' ) { |
|
| 1470 | - return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>"; |
|
| 1471 | - } |
|
| 1454 | + // if preview show a placeholder if empty |
|
| 1455 | + if ( $this->is_preview() && $output == '' ) { |
|
| 1456 | + $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
| 1457 | + } |
|
| 1472 | 1458 | |
| 1473 | - /** |
|
| 1474 | - * Sometimes booleans values can be turned to strings, so we fix that. |
|
| 1475 | - * |
|
| 1476 | - * @param $options |
|
| 1477 | - * |
|
| 1478 | - * @return mixed |
|
| 1479 | - */ |
|
| 1480 | - public function string_to_bool( $options ) { |
|
| 1481 | - // convert bool strings to booleans |
|
| 1482 | - foreach ( $options as $key => $val ) { |
|
| 1483 | - if ( $val == 'false' ) { |
|
| 1484 | - $options[ $key ] = false; |
|
| 1485 | - } elseif ( $val == 'true' ) { |
|
| 1486 | - $options[ $key ] = true; |
|
| 1487 | - } |
|
| 1488 | - } |
|
| 1459 | + return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this ); |
|
| 1460 | + } |
|
| 1489 | 1461 | |
| 1490 | - return $options; |
|
| 1491 | - } |
|
| 1462 | + /** |
|
| 1463 | + * Placeholder text to show if output is empty and we are on a preview/builder page. |
|
| 1464 | + * |
|
| 1465 | + * @param string $name |
|
| 1466 | + * |
|
| 1467 | + * @return string |
|
| 1468 | + */ |
|
| 1469 | + public function preview_placeholder_text( $name = '' ) { |
|
| 1470 | + return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>"; |
|
| 1471 | + } |
|
| 1492 | 1472 | |
| 1493 | - /** |
|
| 1494 | - * Get the argument values that are also filterable. |
|
| 1495 | - * |
|
| 1496 | - * @param $instance |
|
| 1497 | - * |
|
| 1498 | - * @return array |
|
| 1499 | - *@since 1.0.12 Don't set checkbox default value if the value is empty. |
|
| 1500 | - * |
|
| 1501 | - */ |
|
| 1502 | - public function argument_values( $instance ) { |
|
| 1503 | - $argument_values = array(); |
|
| 1504 | - |
|
| 1505 | - // set widget instance |
|
| 1506 | - $this->instance = $instance; |
|
| 1507 | - |
|
| 1508 | - if ( empty( $this->arguments ) ) { |
|
| 1509 | - $this->arguments = $this->get_arguments(); |
|
| 1510 | - } |
|
| 1473 | + /** |
|
| 1474 | + * Sometimes booleans values can be turned to strings, so we fix that. |
|
| 1475 | + * |
|
| 1476 | + * @param $options |
|
| 1477 | + * |
|
| 1478 | + * @return mixed |
|
| 1479 | + */ |
|
| 1480 | + public function string_to_bool( $options ) { |
|
| 1481 | + // convert bool strings to booleans |
|
| 1482 | + foreach ( $options as $key => $val ) { |
|
| 1483 | + if ( $val == 'false' ) { |
|
| 1484 | + $options[ $key ] = false; |
|
| 1485 | + } elseif ( $val == 'true' ) { |
|
| 1486 | + $options[ $key ] = true; |
|
| 1487 | + } |
|
| 1488 | + } |
|
| 1511 | 1489 | |
| 1512 | - if ( ! empty( $this->arguments ) ) { |
|
| 1513 | - foreach ( $this->arguments as $key => $args ) { |
|
| 1514 | - // set the input name from the key |
|
| 1515 | - $args['name'] = $key; |
|
| 1516 | - // |
|
| 1517 | - $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : ''; |
|
| 1518 | - if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) { |
|
| 1519 | - // don't set default for an empty checkbox |
|
| 1520 | - } elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) { |
|
| 1521 | - $argument_values[ $key ] = $args['default']; |
|
| 1522 | - } |
|
| 1523 | - } |
|
| 1524 | - } |
|
| 1490 | + return $options; |
|
| 1491 | + } |
|
| 1525 | 1492 | |
| 1526 | - return $argument_values; |
|
| 1527 | - } |
|
| 1493 | + /** |
|
| 1494 | + * Get the argument values that are also filterable. |
|
| 1495 | + * |
|
| 1496 | + * @param $instance |
|
| 1497 | + * |
|
| 1498 | + * @return array |
|
| 1499 | + *@since 1.0.12 Don't set checkbox default value if the value is empty. |
|
| 1500 | + * |
|
| 1501 | + */ |
|
| 1502 | + public function argument_values( $instance ) { |
|
| 1503 | + $argument_values = array(); |
|
| 1528 | 1504 | |
| 1529 | - /** |
|
| 1530 | - * Set arguments in super duper. |
|
| 1531 | - * |
|
| 1532 | - * @return array Set arguments. |
|
| 1533 | - *@since 1.0.0 |
|
| 1534 | - * |
|
| 1535 | - */ |
|
| 1536 | - public function set_arguments() { |
|
| 1537 | - return $this->arguments; |
|
| 1538 | - } |
|
| 1505 | + // set widget instance |
|
| 1506 | + $this->instance = $instance; |
|
| 1539 | 1507 | |
| 1540 | - /** |
|
| 1541 | - * Get arguments in super duper. |
|
| 1542 | - * |
|
| 1543 | - * @return array Get arguments. |
|
| 1544 | - *@since 1.0.0 |
|
| 1545 | - * |
|
| 1546 | - */ |
|
| 1547 | - public function get_arguments() { |
|
| 1548 | - if ( empty( $this->arguments ) ) { |
|
| 1549 | - $this->arguments = $this->set_arguments(); |
|
| 1550 | - } |
|
| 1508 | + if ( empty( $this->arguments ) ) { |
|
| 1509 | + $this->arguments = $this->get_arguments(); |
|
| 1510 | + } |
|
| 1551 | 1511 | |
| 1552 | - $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance ); |
|
| 1553 | - $this->arguments = $this->add_name_from_key( $this->arguments, true ); |
|
| 1512 | + if ( ! empty( $this->arguments ) ) { |
|
| 1513 | + foreach ( $this->arguments as $key => $args ) { |
|
| 1514 | + // set the input name from the key |
|
| 1515 | + $args['name'] = $key; |
|
| 1516 | + // |
|
| 1517 | + $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : ''; |
|
| 1518 | + if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) { |
|
| 1519 | + // don't set default for an empty checkbox |
|
| 1520 | + } elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) { |
|
| 1521 | + $argument_values[ $key ] = $args['default']; |
|
| 1522 | + } |
|
| 1523 | + } |
|
| 1524 | + } |
|
| 1554 | 1525 | |
| 1555 | - return $this->arguments; |
|
| 1556 | - } |
|
| 1526 | + return $argument_values; |
|
| 1527 | + } |
|
| 1557 | 1528 | |
| 1558 | - /** |
|
| 1559 | - * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class. |
|
| 1560 | - * |
|
| 1561 | - * @param array $args |
|
| 1562 | - * @param array $widget_args |
|
| 1563 | - * @param string $content |
|
| 1564 | - */ |
|
| 1565 | - public function output( $args = array(), $widget_args = array(), $content = '' ) { |
|
| 1529 | + /** |
|
| 1530 | + * Set arguments in super duper. |
|
| 1531 | + * |
|
| 1532 | + * @return array Set arguments. |
|
| 1533 | + *@since 1.0.0 |
|
| 1534 | + * |
|
| 1535 | + */ |
|
| 1536 | + public function set_arguments() { |
|
| 1537 | + return $this->arguments; |
|
| 1538 | + } |
|
| 1566 | 1539 | |
| 1567 | - } |
|
| 1540 | + /** |
|
| 1541 | + * Get arguments in super duper. |
|
| 1542 | + * |
|
| 1543 | + * @return array Get arguments. |
|
| 1544 | + *@since 1.0.0 |
|
| 1545 | + * |
|
| 1546 | + */ |
|
| 1547 | + public function get_arguments() { |
|
| 1548 | + if ( empty( $this->arguments ) ) { |
|
| 1549 | + $this->arguments = $this->set_arguments(); |
|
| 1550 | + } |
|
| 1568 | 1551 | |
| 1569 | - /** |
|
| 1570 | - * Add the dynamic block code inline when the wp-block in enqueued. |
|
| 1571 | - */ |
|
| 1572 | - public function register_block() { |
|
| 1573 | - wp_add_inline_script( 'wp-blocks', $this->block() ); |
|
| 1574 | - if ( class_exists( 'SiteOrigin_Panels' ) ) { |
|
| 1575 | - wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() ); |
|
| 1576 | - } |
|
| 1577 | - } |
|
| 1552 | + $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance ); |
|
| 1553 | + $this->arguments = $this->add_name_from_key( $this->arguments, true ); |
|
| 1578 | 1554 | |
| 1579 | - /** |
|
| 1580 | - * Check if we need to show advanced options. |
|
| 1581 | - * |
|
| 1582 | - * @return bool |
|
| 1583 | - */ |
|
| 1584 | - public function block_show_advanced() { |
|
| 1585 | - |
|
| 1586 | - $show = false; |
|
| 1587 | - $arguments = $this->get_arguments(); |
|
| 1588 | - |
|
| 1589 | - if ( ! empty( $arguments ) ) { |
|
| 1590 | - foreach ( $arguments as $argument ) { |
|
| 1591 | - if ( isset( $argument['advanced'] ) && $argument['advanced'] ) { |
|
| 1592 | - $show = true; |
|
| 1593 | - break; // no need to continue if we know we have it |
|
| 1594 | - } |
|
| 1595 | - } |
|
| 1596 | - } |
|
| 1555 | + return $this->arguments; |
|
| 1556 | + } |
|
| 1597 | 1557 | |
| 1598 | - return $show; |
|
| 1599 | - } |
|
| 1558 | + /** |
|
| 1559 | + * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class. |
|
| 1560 | + * |
|
| 1561 | + * @param array $args |
|
| 1562 | + * @param array $widget_args |
|
| 1563 | + * @param string $content |
|
| 1564 | + */ |
|
| 1565 | + public function output( $args = array(), $widget_args = array(), $content = '' ) { |
|
| 1600 | 1566 | |
| 1601 | - /** |
|
| 1602 | - * Get the url path to the current folder. |
|
| 1603 | - * |
|
| 1604 | - * @return string |
|
| 1605 | - */ |
|
| 1606 | - public function get_url() { |
|
| 1607 | - $url = $this->url; |
|
| 1608 | - |
|
| 1609 | - if ( ! $url ) { |
|
| 1610 | - $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 1611 | - $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 1612 | - |
|
| 1613 | - // Replace http:// to https://. |
|
| 1614 | - if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 1615 | - $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 1616 | - } |
|
| 1567 | + } |
|
| 1617 | 1568 | |
| 1618 | - // Check if we are inside a plugin |
|
| 1619 | - $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 1620 | - $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 1621 | - $url = trailingslashit( $url ); |
|
| 1622 | - $this->url = $url; |
|
| 1623 | - } |
|
| 1569 | + /** |
|
| 1570 | + * Add the dynamic block code inline when the wp-block in enqueued. |
|
| 1571 | + */ |
|
| 1572 | + public function register_block() { |
|
| 1573 | + wp_add_inline_script( 'wp-blocks', $this->block() ); |
|
| 1574 | + if ( class_exists( 'SiteOrigin_Panels' ) ) { |
|
| 1575 | + wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() ); |
|
| 1576 | + } |
|
| 1577 | + } |
|
| 1624 | 1578 | |
| 1625 | - return $url; |
|
| 1626 | - } |
|
| 1579 | + /** |
|
| 1580 | + * Check if we need to show advanced options. |
|
| 1581 | + * |
|
| 1582 | + * @return bool |
|
| 1583 | + */ |
|
| 1584 | + public function block_show_advanced() { |
|
| 1627 | 1585 | |
| 1628 | - /** |
|
| 1629 | - * Get the url path to the current folder. |
|
| 1630 | - * |
|
| 1631 | - * @return string |
|
| 1632 | - */ |
|
| 1633 | - public function get_url_old() { |
|
| 1586 | + $show = false; |
|
| 1587 | + $arguments = $this->get_arguments(); |
|
| 1634 | 1588 | |
| 1635 | - $url = $this->url; |
|
| 1589 | + if ( ! empty( $arguments ) ) { |
|
| 1590 | + foreach ( $arguments as $argument ) { |
|
| 1591 | + if ( isset( $argument['advanced'] ) && $argument['advanced'] ) { |
|
| 1592 | + $show = true; |
|
| 1593 | + break; // no need to continue if we know we have it |
|
| 1594 | + } |
|
| 1595 | + } |
|
| 1596 | + } |
|
| 1636 | 1597 | |
| 1637 | - if ( ! $url ) { |
|
| 1638 | - // check if we are inside a plugin |
|
| 1639 | - $file_dir = str_replace( "/includes", "", dirname( __FILE__ ) ); |
|
| 1598 | + return $show; |
|
| 1599 | + } |
|
| 1640 | 1600 | |
| 1641 | - $dir_parts = explode( "/wp-content/", $file_dir ); |
|
| 1642 | - $url_parts = explode( "/wp-content/", plugins_url() ); |
|
| 1601 | + /** |
|
| 1602 | + * Get the url path to the current folder. |
|
| 1603 | + * |
|
| 1604 | + * @return string |
|
| 1605 | + */ |
|
| 1606 | + public function get_url() { |
|
| 1607 | + $url = $this->url; |
|
| 1643 | 1608 | |
| 1644 | - if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) { |
|
| 1645 | - $url = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] ); |
|
| 1646 | - $this->url = $url; |
|
| 1647 | - } |
|
| 1648 | - } |
|
| 1609 | + if ( ! $url ) { |
|
| 1610 | + $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 1611 | + $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 1649 | 1612 | |
| 1613 | + // Replace http:// to https://. |
|
| 1614 | + if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 1615 | + $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 1616 | + } |
|
| 1650 | 1617 | |
| 1651 | - return $url; |
|
| 1652 | - } |
|
| 1618 | + // Check if we are inside a plugin |
|
| 1619 | + $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 1620 | + $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 1621 | + $url = trailingslashit( $url ); |
|
| 1622 | + $this->url = $url; |
|
| 1623 | + } |
|
| 1653 | 1624 | |
| 1654 | - /** |
|
| 1655 | - * Generate the block icon. |
|
| 1656 | - * |
|
| 1657 | - * Enables the use of Font Awesome icons. |
|
| 1658 | - * |
|
| 1659 | - * @note xlink:href is actually deprecated but href is not supported by all so we use both. |
|
| 1660 | - * |
|
| 1661 | - * @param $icon |
|
| 1662 | - * |
|
| 1663 | - * @return string |
|
| 1664 | - *@since 1.1.0 |
|
| 1665 | - */ |
|
| 1666 | - public function get_block_icon( $icon ) { |
|
| 1667 | - |
|
| 1668 | - // check if we have a Font Awesome icon |
|
| 1669 | - $fa_type = ''; |
|
| 1670 | - if ( substr( $icon, 0, 7 ) === "fas fa-" ) { |
|
| 1671 | - $fa_type = 'solid'; |
|
| 1672 | - } elseif ( substr( $icon, 0, 7 ) === "far fa-" ) { |
|
| 1673 | - $fa_type = 'regular'; |
|
| 1674 | - } elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) { |
|
| 1675 | - $fa_type = 'brands'; |
|
| 1676 | - } else { |
|
| 1677 | - $icon = "'" . $icon . "'"; |
|
| 1678 | - } |
|
| 1625 | + return $url; |
|
| 1626 | + } |
|
| 1679 | 1627 | |
| 1680 | - // set the icon if we found one |
|
| 1681 | - if ( $fa_type ) { |
|
| 1682 | - $fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon ); |
|
| 1683 | - $icon = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))"; |
|
| 1684 | - } |
|
| 1628 | + /** |
|
| 1629 | + * Get the url path to the current folder. |
|
| 1630 | + * |
|
| 1631 | + * @return string |
|
| 1632 | + */ |
|
| 1633 | + public function get_url_old() { |
|
| 1685 | 1634 | |
| 1686 | - return $icon; |
|
| 1687 | - } |
|
| 1635 | + $url = $this->url; |
|
| 1636 | + |
|
| 1637 | + if ( ! $url ) { |
|
| 1638 | + // check if we are inside a plugin |
|
| 1639 | + $file_dir = str_replace( "/includes", "", dirname( __FILE__ ) ); |
|
| 1640 | + |
|
| 1641 | + $dir_parts = explode( "/wp-content/", $file_dir ); |
|
| 1642 | + $url_parts = explode( "/wp-content/", plugins_url() ); |
|
| 1643 | + |
|
| 1644 | + if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) { |
|
| 1645 | + $url = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] ); |
|
| 1646 | + $this->url = $url; |
|
| 1647 | + } |
|
| 1648 | + } |
|
| 1649 | + |
|
| 1650 | + |
|
| 1651 | + return $url; |
|
| 1652 | + } |
|
| 1653 | + |
|
| 1654 | + /** |
|
| 1655 | + * Generate the block icon. |
|
| 1656 | + * |
|
| 1657 | + * Enables the use of Font Awesome icons. |
|
| 1658 | + * |
|
| 1659 | + * @note xlink:href is actually deprecated but href is not supported by all so we use both. |
|
| 1660 | + * |
|
| 1661 | + * @param $icon |
|
| 1662 | + * |
|
| 1663 | + * @return string |
|
| 1664 | + *@since 1.1.0 |
|
| 1665 | + */ |
|
| 1666 | + public function get_block_icon( $icon ) { |
|
| 1667 | + |
|
| 1668 | + // check if we have a Font Awesome icon |
|
| 1669 | + $fa_type = ''; |
|
| 1670 | + if ( substr( $icon, 0, 7 ) === "fas fa-" ) { |
|
| 1671 | + $fa_type = 'solid'; |
|
| 1672 | + } elseif ( substr( $icon, 0, 7 ) === "far fa-" ) { |
|
| 1673 | + $fa_type = 'regular'; |
|
| 1674 | + } elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) { |
|
| 1675 | + $fa_type = 'brands'; |
|
| 1676 | + } else { |
|
| 1677 | + $icon = "'" . $icon . "'"; |
|
| 1678 | + } |
|
| 1679 | + |
|
| 1680 | + // set the icon if we found one |
|
| 1681 | + if ( $fa_type ) { |
|
| 1682 | + $fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon ); |
|
| 1683 | + $icon = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))"; |
|
| 1684 | + } |
|
| 1685 | + |
|
| 1686 | + return $icon; |
|
| 1687 | + } |
|
| 1688 | 1688 | |
| 1689 | - public function group_arguments( $arguments ) { |
|
| 1689 | + public function group_arguments( $arguments ) { |
|
| 1690 | 1690 | // echo '###';print_r($arguments); |
| 1691 | - if ( ! empty( $arguments ) ) { |
|
| 1692 | - $temp_arguments = array(); |
|
| 1693 | - $general = __( "General" ); |
|
| 1694 | - $add_sections = false; |
|
| 1695 | - foreach ( $arguments as $key => $args ) { |
|
| 1696 | - if ( isset( $args['group'] ) ) { |
|
| 1697 | - $temp_arguments[ $args['group'] ][ $key ] = $args; |
|
| 1698 | - $add_sections = true; |
|
| 1699 | - } else { |
|
| 1700 | - $temp_arguments[ $general ][ $key ] = $args; |
|
| 1701 | - } |
|
| 1702 | - } |
|
| 1691 | + if ( ! empty( $arguments ) ) { |
|
| 1692 | + $temp_arguments = array(); |
|
| 1693 | + $general = __( "General" ); |
|
| 1694 | + $add_sections = false; |
|
| 1695 | + foreach ( $arguments as $key => $args ) { |
|
| 1696 | + if ( isset( $args['group'] ) ) { |
|
| 1697 | + $temp_arguments[ $args['group'] ][ $key ] = $args; |
|
| 1698 | + $add_sections = true; |
|
| 1699 | + } else { |
|
| 1700 | + $temp_arguments[ $general ][ $key ] = $args; |
|
| 1701 | + } |
|
| 1702 | + } |
|
| 1703 | 1703 | |
| 1704 | - // only add sections if more than one |
|
| 1705 | - if ( $add_sections ) { |
|
| 1706 | - $arguments = $temp_arguments; |
|
| 1707 | - } |
|
| 1708 | - } |
|
| 1704 | + // only add sections if more than one |
|
| 1705 | + if ( $add_sections ) { |
|
| 1706 | + $arguments = $temp_arguments; |
|
| 1707 | + } |
|
| 1708 | + } |
|
| 1709 | 1709 | |
| 1710 | 1710 | // echo '###';print_r($arguments); |
| 1711 | - return $arguments; |
|
| 1712 | - } |
|
| 1711 | + return $arguments; |
|
| 1712 | + } |
|
| 1713 | 1713 | |
| 1714 | - /** |
|
| 1715 | - * Parse used group tabs. |
|
| 1716 | - * |
|
| 1717 | - * @since 1.1.17 |
|
| 1718 | - */ |
|
| 1719 | - public function group_block_tabs( $tabs, $arguments ) { |
|
| 1720 | - if ( ! empty( $tabs ) && ! empty( $arguments ) ) { |
|
| 1721 | - $has_sections = false; |
|
| 1722 | - |
|
| 1723 | - foreach ( $this->arguments as $key => $args ) { |
|
| 1724 | - if ( isset( $args['group'] ) ) { |
|
| 1725 | - $has_sections = true; |
|
| 1726 | - break; |
|
| 1727 | - } |
|
| 1728 | - } |
|
| 1714 | + /** |
|
| 1715 | + * Parse used group tabs. |
|
| 1716 | + * |
|
| 1717 | + * @since 1.1.17 |
|
| 1718 | + */ |
|
| 1719 | + public function group_block_tabs( $tabs, $arguments ) { |
|
| 1720 | + if ( ! empty( $tabs ) && ! empty( $arguments ) ) { |
|
| 1721 | + $has_sections = false; |
|
| 1722 | + |
|
| 1723 | + foreach ( $this->arguments as $key => $args ) { |
|
| 1724 | + if ( isset( $args['group'] ) ) { |
|
| 1725 | + $has_sections = true; |
|
| 1726 | + break; |
|
| 1727 | + } |
|
| 1728 | + } |
|
| 1729 | 1729 | |
| 1730 | - if ( ! $has_sections ) { |
|
| 1731 | - return $tabs; |
|
| 1732 | - } |
|
| 1730 | + if ( ! $has_sections ) { |
|
| 1731 | + return $tabs; |
|
| 1732 | + } |
|
| 1733 | 1733 | |
| 1734 | - $new_tabs = array(); |
|
| 1734 | + $new_tabs = array(); |
|
| 1735 | 1735 | |
| 1736 | - foreach ( $tabs as $tab_key => $tab ) { |
|
| 1737 | - $new_groups = array(); |
|
| 1736 | + foreach ( $tabs as $tab_key => $tab ) { |
|
| 1737 | + $new_groups = array(); |
|
| 1738 | 1738 | |
| 1739 | - if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) { |
|
| 1740 | - foreach ( $tab['groups'] as $group ) { |
|
| 1741 | - if ( isset( $arguments[ $group ] ) ) { |
|
| 1742 | - $new_groups[] = $group; |
|
| 1743 | - } |
|
| 1744 | - } |
|
| 1745 | - } |
|
| 1739 | + if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) { |
|
| 1740 | + foreach ( $tab['groups'] as $group ) { |
|
| 1741 | + if ( isset( $arguments[ $group ] ) ) { |
|
| 1742 | + $new_groups[] = $group; |
|
| 1743 | + } |
|
| 1744 | + } |
|
| 1745 | + } |
|
| 1746 | 1746 | |
| 1747 | - if ( ! empty( $new_groups ) ) { |
|
| 1748 | - $tab['groups'] = $new_groups; |
|
| 1747 | + if ( ! empty( $new_groups ) ) { |
|
| 1748 | + $tab['groups'] = $new_groups; |
|
| 1749 | 1749 | |
| 1750 | - $new_tabs[ $tab_key ] = $tab; |
|
| 1751 | - } |
|
| 1752 | - } |
|
| 1750 | + $new_tabs[ $tab_key ] = $tab; |
|
| 1751 | + } |
|
| 1752 | + } |
|
| 1753 | 1753 | |
| 1754 | - $tabs = $new_tabs; |
|
| 1755 | - } |
|
| 1754 | + $tabs = $new_tabs; |
|
| 1755 | + } |
|
| 1756 | 1756 | |
| 1757 | - return $tabs; |
|
| 1758 | - } |
|
| 1757 | + return $tabs; |
|
| 1758 | + } |
|
| 1759 | + |
|
| 1760 | + /** |
|
| 1761 | + * Output the JS for building the dynamic Guntenberg block. |
|
| 1762 | + * |
|
| 1763 | + * @return mixed |
|
| 1764 | + *@since 1.0.9 Save numbers as numbers and not strings. |
|
| 1765 | + * @since 1.1.0 Font Awesome classes can be used for icons. |
|
| 1766 | + * @since 1.0.4 Added block_wrap property which will set the block wrapping output element ie: div, span, p or empty for no wrap. |
|
| 1767 | + */ |
|
| 1768 | + public function block() { |
|
| 1769 | + global $sd_is_js_functions_loaded, $aui_bs5; |
|
| 1770 | + |
|
| 1771 | + $show_advanced = $this->block_show_advanced(); |
|
| 1759 | 1772 | |
| 1760 | - /** |
|
| 1761 | - * Output the JS for building the dynamic Guntenberg block. |
|
| 1762 | - * |
|
| 1763 | - * @return mixed |
|
| 1764 | - *@since 1.0.9 Save numbers as numbers and not strings. |
|
| 1765 | - * @since 1.1.0 Font Awesome classes can be used for icons. |
|
| 1766 | - * @since 1.0.4 Added block_wrap property which will set the block wrapping output element ie: div, span, p or empty for no wrap. |
|
| 1767 | - */ |
|
| 1768 | - public function block() { |
|
| 1769 | - global $sd_is_js_functions_loaded, $aui_bs5; |
|
| 1770 | - |
|
| 1771 | - $show_advanced = $this->block_show_advanced(); |
|
| 1772 | - |
|
| 1773 | - ob_start(); |
|
| 1774 | - ?> |
|
| 1773 | + ob_start(); |
|
| 1774 | + ?> |
|
| 1775 | 1775 | <script> |
| 1776 | 1776 | <?php |
| 1777 | - if ( ! $sd_is_js_functions_loaded ) { |
|
| 1778 | - $sd_is_js_functions_loaded = true; |
|
| 1779 | - ?> |
|
| 1777 | + if ( ! $sd_is_js_functions_loaded ) { |
|
| 1778 | + $sd_is_js_functions_loaded = true; |
|
| 1779 | + ?> |
|
| 1780 | 1780 | function sd_show_view_options($this){ |
| 1781 | 1781 | if(jQuery($this).html().length){ |
| 1782 | 1782 | jQuery($this).html(''); |
@@ -2224,8 +2224,8 @@ discard block |
||
| 2224 | 2224 | $classes = []; |
| 2225 | 2225 | |
| 2226 | 2226 | <?php |
| 2227 | - if($aui_bs5){ |
|
| 2228 | - ?> |
|
| 2227 | + if($aui_bs5){ |
|
| 2228 | + ?> |
|
| 2229 | 2229 | $aui_bs5 = true; |
| 2230 | 2230 | $p_ml = 'ms-'; |
| 2231 | 2231 | $p_mr = 'me-'; |
@@ -2233,8 +2233,8 @@ discard block |
||
| 2233 | 2233 | $p_pl = 'ps-'; |
| 2234 | 2234 | $p_pr = 'pe-'; |
| 2235 | 2235 | <?php |
| 2236 | - }else{ |
|
| 2237 | - ?> |
|
| 2236 | + }else{ |
|
| 2237 | + ?> |
|
| 2238 | 2238 | $aui_bs5 = false; |
| 2239 | 2239 | $p_ml = 'ml-'; |
| 2240 | 2240 | $p_mr = 'mr-'; |
@@ -2242,8 +2242,8 @@ discard block |
||
| 2242 | 2242 | $p_pl = 'pl-'; |
| 2243 | 2243 | $p_pr = 'pr-'; |
| 2244 | 2244 | <?php |
| 2245 | - } |
|
| 2246 | - ?> |
|
| 2245 | + } |
|
| 2246 | + ?> |
|
| 2247 | 2247 | |
| 2248 | 2248 | // margins |
| 2249 | 2249 | if ( $args['mt'] !== undefined && $args['mt'] !== '' ) { $classes.push( "mt-" + $args['mt'] ); $mt = $args['mt']; }else{$mt = null;} |
@@ -2426,10 +2426,10 @@ discard block |
||
| 2426 | 2426 | |
| 2427 | 2427 | } |
| 2428 | 2428 | |
| 2429 | - if(method_exists($this,'block_global_js')){ |
|
| 2430 | - echo $this->block_global_js(); |
|
| 2431 | - } |
|
| 2432 | - ?> |
|
| 2429 | + if(method_exists($this,'block_global_js')){ |
|
| 2430 | + echo $this->block_global_js(); |
|
| 2431 | + } |
|
| 2432 | + ?> |
|
| 2433 | 2433 | |
| 2434 | 2434 | jQuery(function() { |
| 2435 | 2435 | |
@@ -2479,14 +2479,14 @@ discard block |
||
| 2479 | 2479 | icon: <?php echo $this->get_block_icon( $this->options['block-icon'] );?>,//'<?php echo isset( $this->options['block-icon'] ) ? esc_attr( $this->options['block-icon'] ) : 'shield-alt';?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/. |
| 2480 | 2480 | supports: { |
| 2481 | 2481 | <?php |
| 2482 | - if ( isset( $this->options['block-supports'] ) ) { |
|
| 2483 | - echo $this->array_to_attributes( $this->options['block-supports'] ); |
|
| 2484 | - } |
|
| 2485 | - ?> |
|
| 2482 | + if ( isset( $this->options['block-supports'] ) ) { |
|
| 2483 | + echo $this->array_to_attributes( $this->options['block-supports'] ); |
|
| 2484 | + } |
|
| 2485 | + ?> |
|
| 2486 | 2486 | }, |
| 2487 | 2487 | <?php |
| 2488 | - if ( isset( $this->options['block-label'] ) ) { |
|
| 2489 | - ?> |
|
| 2488 | + if ( isset( $this->options['block-label'] ) ) { |
|
| 2489 | + ?> |
|
| 2490 | 2490 | __experimentalLabel( attributes, { context } ) { |
| 2491 | 2491 | return <?php echo $this->options['block-label']; ?>; |
| 2492 | 2492 | }, |
@@ -2495,7 +2495,7 @@ discard block |
||
| 2495 | 2495 | ?> |
| 2496 | 2496 | category: '<?php echo isset( $this->options['block-category'] ) ? esc_attr( $this->options['block-category'] ) : 'common';?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed. |
| 2497 | 2497 | <?php if ( isset( $this->options['block-keywords'] ) ) { |
| 2498 | - echo "keywords : " . $this->options['block-keywords'] . ","; |
|
| 2498 | + echo "keywords : " . $this->options['block-keywords'] . ","; |
|
| 2499 | 2499 | |
| 2500 | 2500 | // // block hover preview. |
| 2501 | 2501 | // $example_args = array(); |
@@ -2520,86 +2520,86 @@ discard block |
||
| 2520 | 2520 | |
| 2521 | 2521 | } |
| 2522 | 2522 | |
| 2523 | - // maybe set no_wrap |
|
| 2524 | - $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false; |
|
| 2525 | - if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) { |
|
| 2526 | - $no_wrap = true; |
|
| 2527 | - } |
|
| 2528 | - if ( $no_wrap ) { |
|
| 2529 | - $this->options['block-wrap'] = ''; |
|
| 2530 | - } |
|
| 2523 | + // maybe set no_wrap |
|
| 2524 | + $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false; |
|
| 2525 | + if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) { |
|
| 2526 | + $no_wrap = true; |
|
| 2527 | + } |
|
| 2528 | + if ( $no_wrap ) { |
|
| 2529 | + $this->options['block-wrap'] = ''; |
|
| 2530 | + } |
|
| 2531 | 2531 | |
| 2532 | - // maybe load the drag/drop functions. |
|
| 2533 | - $img_drag_drop = false; |
|
| 2532 | + // maybe load the drag/drop functions. |
|
| 2533 | + $img_drag_drop = false; |
|
| 2534 | 2534 | |
| 2535 | - $show_alignment = false; |
|
| 2536 | - // align feature |
|
| 2537 | - /*echo "supports: {"; |
|
| 2535 | + $show_alignment = false; |
|
| 2536 | + // align feature |
|
| 2537 | + /*echo "supports: {"; |
|
| 2538 | 2538 | echo " align: true,"; |
| 2539 | 2539 | echo " html: false"; |
| 2540 | 2540 | echo "},";*/ |
| 2541 | 2541 | |
| 2542 | - if ( ! empty( $this->arguments ) ) { |
|
| 2543 | - echo "attributes : {"; |
|
| 2542 | + if ( ! empty( $this->arguments ) ) { |
|
| 2543 | + echo "attributes : {"; |
|
| 2544 | 2544 | |
| 2545 | - if ( $show_advanced ) { |
|
| 2546 | - echo "show_advanced: {"; |
|
| 2547 | - echo " type: 'boolean',"; |
|
| 2548 | - echo " default: false,"; |
|
| 2549 | - echo "},"; |
|
| 2550 | - } |
|
| 2545 | + if ( $show_advanced ) { |
|
| 2546 | + echo "show_advanced: {"; |
|
| 2547 | + echo " type: 'boolean',"; |
|
| 2548 | + echo " default: false,"; |
|
| 2549 | + echo "},"; |
|
| 2550 | + } |
|
| 2551 | 2551 | |
| 2552 | - // block wrap element |
|
| 2553 | - if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this? |
|
| 2554 | - echo "block_wrap: {"; |
|
| 2555 | - echo " type: 'string',"; |
|
| 2556 | - echo " default: '" . esc_attr( $this->options['block-wrap'] ) . "',"; |
|
| 2557 | - echo "},"; |
|
| 2558 | - } |
|
| 2552 | + // block wrap element |
|
| 2553 | + if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this? |
|
| 2554 | + echo "block_wrap: {"; |
|
| 2555 | + echo " type: 'string',"; |
|
| 2556 | + echo " default: '" . esc_attr( $this->options['block-wrap'] ) . "',"; |
|
| 2557 | + echo "},"; |
|
| 2558 | + } |
|
| 2559 | 2559 | |
| 2560 | 2560 | |
| 2561 | 2561 | |
| 2562 | - foreach ( $this->arguments as $key => $args ) { |
|
| 2562 | + foreach ( $this->arguments as $key => $args ) { |
|
| 2563 | 2563 | |
| 2564 | - if( $args['type'] == 'image' || $args['type'] == 'images' ){ |
|
| 2565 | - $img_drag_drop = true; |
|
| 2566 | - } |
|
| 2564 | + if( $args['type'] == 'image' || $args['type'] == 'images' ){ |
|
| 2565 | + $img_drag_drop = true; |
|
| 2566 | + } |
|
| 2567 | 2567 | |
| 2568 | - // set if we should show alignment |
|
| 2569 | - if ( $key == 'alignment' ) { |
|
| 2570 | - $show_alignment = true; |
|
| 2571 | - } |
|
| 2568 | + // set if we should show alignment |
|
| 2569 | + if ( $key == 'alignment' ) { |
|
| 2570 | + $show_alignment = true; |
|
| 2571 | + } |
|
| 2572 | 2572 | |
| 2573 | - $extra = ''; |
|
| 2573 | + $extra = ''; |
|
| 2574 | 2574 | |
| 2575 | - if ( $args['type'] == 'notice' || $args['type'] == 'tab' ) { |
|
| 2576 | - continue; |
|
| 2577 | - } |
|
| 2578 | - elseif ( $args['type'] == 'checkbox' ) { |
|
| 2579 | - $type = 'boolean'; |
|
| 2580 | - $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false'; |
|
| 2581 | - } elseif ( $args['type'] == 'number' ) { |
|
| 2582 | - $type = 'number'; |
|
| 2583 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2584 | - } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) { |
|
| 2585 | - $type = 'array'; |
|
| 2586 | - if ( isset( $args['default'] ) && is_array( $args['default'] ) ) { |
|
| 2587 | - $default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]"; |
|
| 2588 | - } else { |
|
| 2589 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2590 | - } |
|
| 2591 | - } elseif ( $args['type'] == 'tagselect' ) { |
|
| 2592 | - $type = 'array'; |
|
| 2593 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2594 | - } elseif ( $args['type'] == 'multiselect' ) { |
|
| 2595 | - $type = 'array'; |
|
| 2596 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2597 | - } elseif ( $args['type'] == 'image_xy' ) { |
|
| 2598 | - $type = 'object'; |
|
| 2599 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2600 | - } elseif ( $args['type'] == 'image' ) { |
|
| 2601 | - $type = 'string'; |
|
| 2602 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2575 | + if ( $args['type'] == 'notice' || $args['type'] == 'tab' ) { |
|
| 2576 | + continue; |
|
| 2577 | + } |
|
| 2578 | + elseif ( $args['type'] == 'checkbox' ) { |
|
| 2579 | + $type = 'boolean'; |
|
| 2580 | + $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false'; |
|
| 2581 | + } elseif ( $args['type'] == 'number' ) { |
|
| 2582 | + $type = 'number'; |
|
| 2583 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2584 | + } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) { |
|
| 2585 | + $type = 'array'; |
|
| 2586 | + if ( isset( $args['default'] ) && is_array( $args['default'] ) ) { |
|
| 2587 | + $default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]"; |
|
| 2588 | + } else { |
|
| 2589 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2590 | + } |
|
| 2591 | + } elseif ( $args['type'] == 'tagselect' ) { |
|
| 2592 | + $type = 'array'; |
|
| 2593 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2594 | + } elseif ( $args['type'] == 'multiselect' ) { |
|
| 2595 | + $type = 'array'; |
|
| 2596 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2597 | + } elseif ( $args['type'] == 'image_xy' ) { |
|
| 2598 | + $type = 'object'; |
|
| 2599 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2600 | + } elseif ( $args['type'] == 'image' ) { |
|
| 2601 | + $type = 'string'; |
|
| 2602 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2603 | 2603 | |
| 2604 | 2604 | // add a field for ID |
| 2605 | 2605 | // echo $key . "_id : {"; |
@@ -2609,25 +2609,25 @@ discard block |
||
| 2609 | 2609 | // echo "type : 'object',"; |
| 2610 | 2610 | // echo "},"; |
| 2611 | 2611 | |
| 2612 | - } else { |
|
| 2613 | - $type = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string'; |
|
| 2614 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2612 | + } else { |
|
| 2613 | + $type = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string'; |
|
| 2614 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2615 | 2615 | |
| 2616 | - } |
|
| 2617 | - echo $key . " : {"; |
|
| 2618 | - echo "type : '$type',"; |
|
| 2619 | - echo "default : $default,"; |
|
| 2620 | - echo "},"; |
|
| 2621 | - } |
|
| 2616 | + } |
|
| 2617 | + echo $key . " : {"; |
|
| 2618 | + echo "type : '$type',"; |
|
| 2619 | + echo "default : $default,"; |
|
| 2620 | + echo "},"; |
|
| 2621 | + } |
|
| 2622 | 2622 | |
| 2623 | - echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},"; |
|
| 2624 | - echo "className: { type: 'string', default: '' },"; |
|
| 2623 | + echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},"; |
|
| 2624 | + echo "className: { type: 'string', default: '' },"; |
|
| 2625 | 2625 | |
| 2626 | - echo "},"; |
|
| 2626 | + echo "},"; |
|
| 2627 | 2627 | |
| 2628 | - } |
|
| 2628 | + } |
|
| 2629 | 2629 | |
| 2630 | - ?> |
|
| 2630 | + ?> |
|
| 2631 | 2631 | |
| 2632 | 2632 | // The "edit" property must be a valid function. |
| 2633 | 2633 | edit: function (props) { |
@@ -2726,9 +2726,9 @@ discard block |
||
| 2726 | 2726 | |
| 2727 | 2727 | var $value = ''; |
| 2728 | 2728 | <?php |
| 2729 | - // if we have a post_type and a category then link them |
|
| 2730 | - if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){ |
|
| 2731 | - ?> |
|
| 2729 | + // if we have a post_type and a category then link them |
|
| 2730 | + if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){ |
|
| 2731 | + ?> |
|
| 2732 | 2732 | if(typeof(prev_attributes[props.clientId]) != 'undefined'){ |
| 2733 | 2733 | $pt = props.attributes.post_type; |
| 2734 | 2734 | if(post_type_rest_slugs.length){ |
@@ -2741,11 +2741,11 @@ discard block |
||
| 2741 | 2741 | term_query_type = $pt; |
| 2742 | 2742 | } |
| 2743 | 2743 | <?php |
| 2744 | - $cat_path = ''; |
|
| 2745 | - if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) { |
|
| 2746 | - $cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) ); |
|
| 2747 | - $cat_path = str_replace( array( '"', ''' ), array( '"', "'" ), $cat_path ); |
|
| 2748 | - } |
|
| 2744 | + $cat_path = ''; |
|
| 2745 | + if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) { |
|
| 2746 | + $cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) ); |
|
| 2747 | + $cat_path = str_replace( array( '"', ''' ), array( '"', "'" ), $cat_path ); |
|
| 2748 | + } |
|
| 2749 | 2749 | ?> |
| 2750 | 2750 | /* taxonomies */ |
| 2751 | 2751 | if($value && 'post_type' in prev_attributes[props.clientId] && 'category' in prev_attributes[props.clientId] && run){ |
@@ -2837,7 +2837,7 @@ discard block |
||
| 2837 | 2837 | <?php |
| 2838 | 2838 | $current_screen = function_exists('get_current_screen') ? get_current_screen() : ''; |
| 2839 | 2839 | if(!empty($current_screen->base) && $current_screen->base==='widgets'){ |
| 2840 | - echo 'const { deviceType } = "";'; |
|
| 2840 | + echo 'const { deviceType } = "";'; |
|
| 2841 | 2841 | }else{ |
| 2842 | 2842 | ?> |
| 2843 | 2843 | /** Get device type const. */ |
@@ -2871,8 +2871,8 @@ discard block |
||
| 2871 | 2871 | 'attributes': props.attributes, |
| 2872 | 2872 | 'block_parent_name': parentBlocks.length ? parentBlocks[parentBlocks.length - 1].name : '', |
| 2873 | 2873 | 'post_id': <?php global $post; if ( isset( $post->ID ) ) { |
| 2874 | - echo $post->ID; |
|
| 2875 | - }else{echo '0';}?>, |
|
| 2874 | + echo $post->ID; |
|
| 2875 | + }else{echo '0';}?>, |
|
| 2876 | 2876 | '_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>' |
| 2877 | 2877 | }; |
| 2878 | 2878 | |
@@ -2949,10 +2949,10 @@ discard block |
||
| 2949 | 2949 | |
| 2950 | 2950 | <?php |
| 2951 | 2951 | |
| 2952 | - if(! empty( $this->arguments )){ |
|
| 2952 | + if(! empty( $this->arguments )){ |
|
| 2953 | 2953 | |
| 2954 | - if ( $show_advanced ) { |
|
| 2955 | - ?> |
|
| 2954 | + if ( $show_advanced ) { |
|
| 2955 | + ?> |
|
| 2956 | 2956 | el('div', { |
| 2957 | 2957 | style: {'padding-left': '16px','padding-right': '16px'} |
| 2958 | 2958 | }, |
@@ -2969,127 +2969,127 @@ discard block |
||
| 2969 | 2969 | ) |
| 2970 | 2970 | , |
| 2971 | 2971 | <?php |
| 2972 | - } |
|
| 2972 | + } |
|
| 2973 | 2973 | |
| 2974 | - $arguments = $this->group_arguments( $this->arguments ); |
|
| 2975 | - $block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array(); |
|
| 2974 | + $arguments = $this->group_arguments( $this->arguments ); |
|
| 2975 | + $block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array(); |
|
| 2976 | 2976 | |
| 2977 | - // Do we have sections? |
|
| 2978 | - $has_sections = $arguments == $this->arguments ? false : true; |
|
| 2977 | + // Do we have sections? |
|
| 2978 | + $has_sections = $arguments == $this->arguments ? false : true; |
|
| 2979 | 2979 | |
| 2980 | - if($has_sections){ |
|
| 2981 | - $panel_count = 0; |
|
| 2982 | - $open_tab = ''; |
|
| 2980 | + if($has_sections){ |
|
| 2981 | + $panel_count = 0; |
|
| 2982 | + $open_tab = ''; |
|
| 2983 | 2983 | |
| 2984 | - $open_tab_groups = array(); |
|
| 2985 | - $used_tabs = array(); |
|
| 2984 | + $open_tab_groups = array(); |
|
| 2985 | + $used_tabs = array(); |
|
| 2986 | 2986 | |
| 2987 | - foreach ( $arguments as $key => $args ) { |
|
| 2988 | - $close_tab = false; |
|
| 2989 | - $close_tabs = false; |
|
| 2987 | + foreach ( $arguments as $key => $args ) { |
|
| 2988 | + $close_tab = false; |
|
| 2989 | + $close_tabs = false; |
|
| 2990 | 2990 | |
| 2991 | - if ( ! empty( $block_group_tabs ) ) { |
|
| 2992 | - foreach ( $block_group_tabs as $tab_name => $tab_args ) { |
|
| 2993 | - if ( in_array( $key, $tab_args['groups'] ) ) { |
|
| 2994 | - $open_tab_groups[] = $key; |
|
| 2991 | + if ( ! empty( $block_group_tabs ) ) { |
|
| 2992 | + foreach ( $block_group_tabs as $tab_name => $tab_args ) { |
|
| 2993 | + if ( in_array( $key, $tab_args['groups'] ) ) { |
|
| 2994 | + $open_tab_groups[] = $key; |
|
| 2995 | 2995 | |
| 2996 | - if ( $open_tab != $tab_name ) { |
|
| 2997 | - $tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false; |
|
| 2998 | - $tab_args['tab']['open'] = true; |
|
| 2996 | + if ( $open_tab != $tab_name ) { |
|
| 2997 | + $tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false; |
|
| 2998 | + $tab_args['tab']['open'] = true; |
|
| 2999 | 2999 | |
| 3000 | - $this->block_tab_start( '', $tab_args ); |
|
| 3001 | - $open_tab = $tab_name; |
|
| 3002 | - $used_tabs[] = $tab_name; |
|
| 3003 | - } |
|
| 3000 | + $this->block_tab_start( '', $tab_args ); |
|
| 3001 | + $open_tab = $tab_name; |
|
| 3002 | + $used_tabs[] = $tab_name; |
|
| 3003 | + } |
|
| 3004 | 3004 | |
| 3005 | - if ( $open_tab_groups == $tab_args['groups'] ) { |
|
| 3006 | - $close_tab = true; |
|
| 3007 | - $open_tab_groups = array(); |
|
| 3005 | + if ( $open_tab_groups == $tab_args['groups'] ) { |
|
| 3006 | + $close_tab = true; |
|
| 3007 | + $open_tab_groups = array(); |
|
| 3008 | 3008 | |
| 3009 | - if ( $used_tabs == array_keys( $block_group_tabs ) ) { |
|
| 3010 | - $close_tabs = true; |
|
| 3011 | - } |
|
| 3012 | - } |
|
| 3013 | - } |
|
| 3014 | - } |
|
| 3015 | - } |
|
| 3016 | - ?> |
|
| 3009 | + if ( $used_tabs == array_keys( $block_group_tabs ) ) { |
|
| 3010 | + $close_tabs = true; |
|
| 3011 | + } |
|
| 3012 | + } |
|
| 3013 | + } |
|
| 3014 | + } |
|
| 3015 | + } |
|
| 3016 | + ?> |
|
| 3017 | 3017 | el(wp.components.PanelBody, { |
| 3018 | 3018 | title: '<?php esc_attr_e( $key ); ?>', |
| 3019 | 3019 | initialOpen: <?php if ( $panel_count ) { |
| 3020 | - echo "false"; |
|
| 3021 | - } else { |
|
| 3022 | - echo "true"; |
|
| 3023 | - }?> |
|
| 3020 | + echo "false"; |
|
| 3021 | + } else { |
|
| 3022 | + echo "true"; |
|
| 3023 | + }?> |
|
| 3024 | 3024 | }, |
| 3025 | 3025 | <?php |
| 3026 | - foreach ( $args as $k => $a ) { |
|
| 3027 | - $this->block_tab_start( $k, $a ); |
|
| 3028 | - $this->block_row_start( $k, $a ); |
|
| 3029 | - $this->build_block_arguments( $k, $a ); |
|
| 3030 | - $this->block_row_end( $k, $a ); |
|
| 3031 | - $this->block_tab_end( $k, $a ); |
|
| 3032 | - } |
|
| 3033 | - ?> |
|
| 3026 | + foreach ( $args as $k => $a ) { |
|
| 3027 | + $this->block_tab_start( $k, $a ); |
|
| 3028 | + $this->block_row_start( $k, $a ); |
|
| 3029 | + $this->build_block_arguments( $k, $a ); |
|
| 3030 | + $this->block_row_end( $k, $a ); |
|
| 3031 | + $this->block_tab_end( $k, $a ); |
|
| 3032 | + } |
|
| 3033 | + ?> |
|
| 3034 | 3034 | ), |
| 3035 | 3035 | <?php |
| 3036 | - $panel_count ++; |
|
| 3036 | + $panel_count ++; |
|
| 3037 | 3037 | |
| 3038 | - if($close_tab || $close_tabs){ |
|
| 3039 | - $tab_args = array( |
|
| 3040 | - 'tab' => array( |
|
| 3041 | - 'tabs_close' => $close_tabs, |
|
| 3042 | - 'close' => true, |
|
| 3043 | - ) |
|
| 3038 | + if($close_tab || $close_tabs){ |
|
| 3039 | + $tab_args = array( |
|
| 3040 | + 'tab' => array( |
|
| 3041 | + 'tabs_close' => $close_tabs, |
|
| 3042 | + 'close' => true, |
|
| 3043 | + ) |
|
| 3044 | 3044 | |
| 3045 | - ); |
|
| 3046 | - $this->block_tab_end( '', $tab_args ); |
|
| 3045 | + ); |
|
| 3046 | + $this->block_tab_end( '', $tab_args ); |
|
| 3047 | 3047 | // echo '###close'; print_r($tab_args); |
| 3048 | - $panel_count = 0; |
|
| 3049 | - } |
|
| 3048 | + $panel_count = 0; |
|
| 3049 | + } |
|
| 3050 | 3050 | // |
| 3051 | 3051 | |
| 3052 | - } |
|
| 3053 | - }else { |
|
| 3054 | - ?> |
|
| 3052 | + } |
|
| 3053 | + }else { |
|
| 3054 | + ?> |
|
| 3055 | 3055 | el(wp.components.PanelBody, { |
| 3056 | 3056 | title: '<?php esc_attr_e( "Settings" ); ?>', |
| 3057 | 3057 | initialOpen: true |
| 3058 | 3058 | }, |
| 3059 | 3059 | <?php |
| 3060 | - foreach ( $this->arguments as $key => $args ) { |
|
| 3061 | - $this->block_row_start( $key, $args ); |
|
| 3062 | - $this->build_block_arguments( $key, $args ); |
|
| 3063 | - $this->block_row_end( $key, $args ); |
|
| 3064 | - } |
|
| 3065 | - ?> |
|
| 3060 | + foreach ( $this->arguments as $key => $args ) { |
|
| 3061 | + $this->block_row_start( $key, $args ); |
|
| 3062 | + $this->build_block_arguments( $key, $args ); |
|
| 3063 | + $this->block_row_end( $key, $args ); |
|
| 3064 | + } |
|
| 3065 | + ?> |
|
| 3066 | 3066 | ), |
| 3067 | 3067 | <?php |
| 3068 | - } |
|
| 3068 | + } |
|
| 3069 | 3069 | |
| 3070 | - } |
|
| 3071 | - ?> |
|
| 3070 | + } |
|
| 3071 | + ?> |
|
| 3072 | 3072 | |
| 3073 | 3073 | ), |
| 3074 | 3074 | |
| 3075 | 3075 | <?php |
| 3076 | - // If the user sets block-output array then build it |
|
| 3077 | - if ( ! empty( $this->options['block-output'] ) ) { |
|
| 3078 | - $this->block_element( $this->options['block-output'] ); |
|
| 3079 | - }elseif(!empty($this->options['block-edit-return'])){ |
|
| 3080 | - echo $this->options['block-edit-return']; |
|
| 3081 | - }else{ |
|
| 3082 | - // if no block-output is set then we try and get the shortcode html output via ajax. |
|
| 3083 | - $block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div'; |
|
| 3084 | - ?> |
|
| 3076 | + // If the user sets block-output array then build it |
|
| 3077 | + if ( ! empty( $this->options['block-output'] ) ) { |
|
| 3078 | + $this->block_element( $this->options['block-output'] ); |
|
| 3079 | + }elseif(!empty($this->options['block-edit-return'])){ |
|
| 3080 | + echo $this->options['block-edit-return']; |
|
| 3081 | + }else{ |
|
| 3082 | + // if no block-output is set then we try and get the shortcode html output via ajax. |
|
| 3083 | + $block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div'; |
|
| 3084 | + ?> |
|
| 3085 | 3085 | el('<?php echo esc_attr($block_edit_wrap_tag); ?>', wp.blockEditor.useBlockProps({ |
| 3086 | 3086 | dangerouslySetInnerHTML: {__html: onChangeContent()}, |
| 3087 | 3087 | className: props.className, |
| 3088 | 3088 | style: {'minHeight': '30px'} |
| 3089 | 3089 | })) |
| 3090 | 3090 | <?php |
| 3091 | - } |
|
| 3092 | - ?> |
|
| 3091 | + } |
|
| 3092 | + ?> |
|
| 3093 | 3093 | ]; // end return |
| 3094 | 3094 | |
| 3095 | 3095 | <?php |
@@ -3108,11 +3108,11 @@ discard block |
||
| 3108 | 3108 | $html = ''; |
| 3109 | 3109 | <?php |
| 3110 | 3110 | |
| 3111 | - if(! empty( $this->arguments )){ |
|
| 3111 | + if(! empty( $this->arguments )){ |
|
| 3112 | 3112 | |
| 3113 | - foreach($this->arguments as $key => $args){ |
|
| 3114 | - // if($args['type']=='tabs'){continue;} |
|
| 3115 | - ?> |
|
| 3113 | + foreach($this->arguments as $key => $args){ |
|
| 3114 | + // if($args['type']=='tabs'){continue;} |
|
| 3115 | + ?> |
|
| 3116 | 3116 | if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) { |
| 3117 | 3117 | if ('<?php echo esc_attr( $key );?>' == 'html') { |
| 3118 | 3118 | $html = attr.<?php echo esc_attr( $key );?>; |
@@ -3123,10 +3123,10 @@ discard block |
||
| 3123 | 3123 | } |
| 3124 | 3124 | } |
| 3125 | 3125 | <?php |
| 3126 | - } |
|
| 3127 | - } |
|
| 3126 | + } |
|
| 3127 | + } |
|
| 3128 | 3128 | |
| 3129 | - ?> |
|
| 3129 | + ?> |
|
| 3130 | 3130 | content += "]"; |
| 3131 | 3131 | |
| 3132 | 3132 | <?php |
@@ -3173,7 +3173,7 @@ discard block |
||
| 3173 | 3173 | // $this->block_element( $this->options['block-output'], true ); |
| 3174 | 3174 | // echo ";"; |
| 3175 | 3175 | |
| 3176 | - ?> |
|
| 3176 | + ?> |
|
| 3177 | 3177 | return el( |
| 3178 | 3178 | '', |
| 3179 | 3179 | {}, |
@@ -3183,9 +3183,9 @@ discard block |
||
| 3183 | 3183 | ); |
| 3184 | 3184 | <?php |
| 3185 | 3185 | |
| 3186 | - }elseif(!empty($this->options['block-save-return'])){ |
|
| 3187 | - echo 'return ' . $this->options['block-save-return']; |
|
| 3188 | - }elseif(!empty($this->options['nested-block'])){ |
|
| 3186 | + }elseif(!empty($this->options['block-save-return'])){ |
|
| 3187 | + echo 'return ' . $this->options['block-save-return']; |
|
| 3188 | + }elseif(!empty($this->options['nested-block'])){ |
|
| 3189 | 3189 | ?> |
| 3190 | 3190 | return el( |
| 3191 | 3191 | '', |
@@ -3195,22 +3195,22 @@ discard block |
||
| 3195 | 3195 | el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}}) |
| 3196 | 3196 | ); |
| 3197 | 3197 | <?php |
| 3198 | - }elseif(!empty( $this->options['block-save-return'] ) ){ |
|
| 3198 | + }elseif(!empty( $this->options['block-save-return'] ) ){ |
|
| 3199 | 3199 | echo "return ". $this->options['block-edit-return'].";"; |
| 3200 | - }elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){ |
|
| 3201 | - ?> |
|
| 3200 | + }elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){ |
|
| 3201 | + ?> |
|
| 3202 | 3202 | return content; |
| 3203 | 3203 | <?php |
| 3204 | - }else{ |
|
| 3205 | - ?> |
|
| 3204 | + }else{ |
|
| 3205 | + ?> |
|
| 3206 | 3206 | var block_wrap = 'div'; |
| 3207 | 3207 | if (attr.hasOwnProperty("block_wrap")) { |
| 3208 | 3208 | block_wrap = attr.block_wrap; |
| 3209 | 3209 | } |
| 3210 | 3210 | return el(block_wrap, wp.blockEditor.useBlockProps.save( {dangerouslySetInnerHTML: {__html: content}, className: align} )); |
| 3211 | 3211 | <?php |
| 3212 | - } |
|
| 3213 | - ?> |
|
| 3212 | + } |
|
| 3213 | + ?> |
|
| 3214 | 3214 | |
| 3215 | 3215 | |
| 3216 | 3216 | } |
@@ -3224,29 +3224,29 @@ discard block |
||
| 3224 | 3224 | }); |
| 3225 | 3225 | </script> |
| 3226 | 3226 | <?php |
| 3227 | - $output = ob_get_clean(); |
|
| 3227 | + $output = ob_get_clean(); |
|
| 3228 | 3228 | |
| 3229 | - /* |
|
| 3229 | + /* |
|
| 3230 | 3230 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 3231 | 3231 | */ |
| 3232 | 3232 | |
| 3233 | - return str_replace( array( |
|
| 3234 | - '<script>', |
|
| 3235 | - '</script>' |
|
| 3236 | - ), '', $output ); |
|
| 3237 | - } |
|
| 3233 | + return str_replace( array( |
|
| 3234 | + '<script>', |
|
| 3235 | + '</script>' |
|
| 3236 | + ), '', $output ); |
|
| 3237 | + } |
|
| 3238 | 3238 | |
| 3239 | 3239 | |
| 3240 | 3240 | |
| 3241 | - public function block_row_start($key, $args){ |
|
| 3241 | + public function block_row_start($key, $args){ |
|
| 3242 | 3242 | |
| 3243 | - // check for row |
|
| 3244 | - if(!empty($args['row'])){ |
|
| 3243 | + // check for row |
|
| 3244 | + if(!empty($args['row'])){ |
|
| 3245 | 3245 | |
| 3246 | - if(!empty($args['row']['open'])){ |
|
| 3246 | + if(!empty($args['row']['open'])){ |
|
| 3247 | 3247 | |
| 3248 | - // element require |
|
| 3249 | - $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : ""; |
|
| 3248 | + // element require |
|
| 3249 | + $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : ""; |
|
| 3250 | 3250 | $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : ''; |
| 3251 | 3251 | $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : ''; |
| 3252 | 3252 | $device_type_icon = ''; |
@@ -3257,10 +3257,10 @@ discard block |
||
| 3257 | 3257 | }elseif($device_type=='Mobile'){ |
| 3258 | 3258 | $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
| 3259 | 3259 | } |
| 3260 | - echo $element_require; |
|
| 3260 | + echo $element_require; |
|
| 3261 | 3261 | echo $device_type_require; |
| 3262 | 3262 | |
| 3263 | - if(false){?><script><?php }?> |
|
| 3263 | + if(false){?><script><?php }?> |
|
| 3264 | 3264 | el('div', { |
| 3265 | 3265 | className: 'bsui components-base-control', |
| 3266 | 3266 | }, |
@@ -3298,51 +3298,51 @@ discard block |
||
| 3298 | 3298 | }, |
| 3299 | 3299 | |
| 3300 | 3300 | <?php |
| 3301 | - if(false){?></script><?php } |
|
| 3302 | - }elseif(!empty($args['row']['close'])){ |
|
| 3303 | - if(false){?><script><?php }?> |
|
| 3301 | + if(false){?></script><?php } |
|
| 3302 | + }elseif(!empty($args['row']['close'])){ |
|
| 3303 | + if(false){?><script><?php }?> |
|
| 3304 | 3304 | el( |
| 3305 | 3305 | 'div', |
| 3306 | 3306 | { |
| 3307 | 3307 | className: 'col pl-0 ps-0', |
| 3308 | 3308 | }, |
| 3309 | 3309 | <?php |
| 3310 | - if(false){?></script><?php } |
|
| 3311 | - }else{ |
|
| 3312 | - if(false){?><script><?php }?> |
|
| 3310 | + if(false){?></script><?php } |
|
| 3311 | + }else{ |
|
| 3312 | + if(false){?><script><?php }?> |
|
| 3313 | 3313 | el( |
| 3314 | 3314 | 'div', |
| 3315 | 3315 | { |
| 3316 | 3316 | className: 'col pl-0 ps-0 pr-2 pe-2', |
| 3317 | 3317 | }, |
| 3318 | 3318 | <?php |
| 3319 | - if(false){?></script><?php } |
|
| 3320 | - } |
|
| 3319 | + if(false){?></script><?php } |
|
| 3320 | + } |
|
| 3321 | 3321 | |
| 3322 | - } |
|
| 3322 | + } |
|
| 3323 | 3323 | |
| 3324 | - } |
|
| 3324 | + } |
|
| 3325 | 3325 | |
| 3326 | - public function block_row_end($key, $args){ |
|
| 3326 | + public function block_row_end($key, $args){ |
|
| 3327 | 3327 | |
| 3328 | - if(!empty($args['row'])){ |
|
| 3329 | - // maybe close |
|
| 3330 | - if(!empty($args['row']['close'])){ |
|
| 3331 | - echo "))"; |
|
| 3332 | - } |
|
| 3328 | + if(!empty($args['row'])){ |
|
| 3329 | + // maybe close |
|
| 3330 | + if(!empty($args['row']['close'])){ |
|
| 3331 | + echo "))"; |
|
| 3332 | + } |
|
| 3333 | 3333 | |
| 3334 | - echo "),"; |
|
| 3335 | - } |
|
| 3336 | - } |
|
| 3334 | + echo "),"; |
|
| 3335 | + } |
|
| 3336 | + } |
|
| 3337 | 3337 | |
| 3338 | - public function block_tab_start($key, $args){ |
|
| 3338 | + public function block_tab_start($key, $args){ |
|
| 3339 | 3339 | |
| 3340 | - // check for row |
|
| 3341 | - if(!empty($args['tab'])){ |
|
| 3340 | + // check for row |
|
| 3341 | + if(!empty($args['tab'])){ |
|
| 3342 | 3342 | |
| 3343 | - if(!empty($args['tab']['tabs_open'])){ |
|
| 3343 | + if(!empty($args['tab']['tabs_open'])){ |
|
| 3344 | 3344 | |
| 3345 | - if(false){?><script><?php }?> |
|
| 3345 | + if(false){?><script><?php }?> |
|
| 3346 | 3346 | |
| 3347 | 3347 | el('div',{className: 'bsui'}, |
| 3348 | 3348 | |
@@ -3355,12 +3355,12 @@ discard block |
||
| 3355 | 3355 | tabs: [ |
| 3356 | 3356 | |
| 3357 | 3357 | <?php |
| 3358 | - if(false){?></script><?php } |
|
| 3359 | - } |
|
| 3358 | + if(false){?></script><?php } |
|
| 3359 | + } |
|
| 3360 | 3360 | |
| 3361 | - if(!empty($args['tab']['open'])){ |
|
| 3361 | + if(!empty($args['tab']['open'])){ |
|
| 3362 | 3362 | |
| 3363 | - if(false){?><script><?php }?> |
|
| 3363 | + if(false){?><script><?php }?> |
|
| 3364 | 3364 | { |
| 3365 | 3365 | name: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>', |
| 3366 | 3366 | title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes( esc_attr( $args['tab']['title']) ); ?>'}}), |
@@ -3369,44 +3369,44 @@ discard block |
||
| 3369 | 3369 | className: 'components-base-control__help mb-0', |
| 3370 | 3370 | dangerouslySetInnerHTML: {__html:'<?php echo addslashes( $args['tab']['desc'] ); ?>'} |
| 3371 | 3371 | }),<?php } |
| 3372 | - if(false){?></script><?php } |
|
| 3373 | - } |
|
| 3372 | + if(false){?></script><?php } |
|
| 3373 | + } |
|
| 3374 | 3374 | |
| 3375 | - } |
|
| 3375 | + } |
|
| 3376 | 3376 | |
| 3377 | - } |
|
| 3377 | + } |
|
| 3378 | 3378 | |
| 3379 | - public function block_tab_end($key, $args){ |
|
| 3379 | + public function block_tab_end($key, $args){ |
|
| 3380 | 3380 | |
| 3381 | - if(!empty($args['tab'])){ |
|
| 3382 | - // maybe close |
|
| 3383 | - if(!empty($args['tab']['close'])){ |
|
| 3384 | - echo ")}, /* tab close */"; |
|
| 3385 | - } |
|
| 3381 | + if(!empty($args['tab'])){ |
|
| 3382 | + // maybe close |
|
| 3383 | + if(!empty($args['tab']['close'])){ |
|
| 3384 | + echo ")}, /* tab close */"; |
|
| 3385 | + } |
|
| 3386 | 3386 | |
| 3387 | - if(!empty($args['tab']['tabs_close'])){ |
|
| 3388 | - if(false){?><script><?php }?> |
|
| 3387 | + if(!empty($args['tab']['tabs_close'])){ |
|
| 3388 | + if(false){?><script><?php }?> |
|
| 3389 | 3389 | ]}, ( tab ) => { |
| 3390 | 3390 | return tab.content; |
| 3391 | 3391 | } |
| 3392 | 3392 | )), /* tabs close */ |
| 3393 | 3393 | <?php if(false){ ?></script><?php } |
| 3394 | - } |
|
| 3395 | - } |
|
| 3396 | - } |
|
| 3394 | + } |
|
| 3395 | + } |
|
| 3396 | + } |
|
| 3397 | 3397 | |
| 3398 | - public function build_block_arguments( $key, $args ) { |
|
| 3399 | - $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : ''; |
|
| 3400 | - $options = ''; |
|
| 3401 | - $extra = ''; |
|
| 3402 | - $require = ''; |
|
| 3398 | + public function build_block_arguments( $key, $args ) { |
|
| 3399 | + $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : ''; |
|
| 3400 | + $options = ''; |
|
| 3401 | + $extra = ''; |
|
| 3402 | + $require = ''; |
|
| 3403 | 3403 | $inside_elements = ''; |
| 3404 | - $after_elements = ''; |
|
| 3404 | + $after_elements = ''; |
|
| 3405 | 3405 | |
| 3406 | - // `content` is a protected and special argument |
|
| 3407 | - if ( $key == 'content' ) { |
|
| 3408 | - return; |
|
| 3409 | - } |
|
| 3406 | + // `content` is a protected and special argument |
|
| 3407 | + if ( $key == 'content' ) { |
|
| 3408 | + return; |
|
| 3409 | + } |
|
| 3410 | 3410 | |
| 3411 | 3411 | $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : ''; |
| 3412 | 3412 | $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : ''; |
@@ -3419,37 +3419,37 @@ discard block |
||
| 3419 | 3419 | $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
| 3420 | 3420 | } |
| 3421 | 3421 | |
| 3422 | - // icon |
|
| 3423 | - $icon = ''; |
|
| 3424 | - if( !empty( $args['icon'] ) ){ |
|
| 3425 | - $icon .= "el('div', {"; |
|
| 3426 | - $icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},"; |
|
| 3427 | - $icon .= "className: 'text-center',"; |
|
| 3428 | - $icon .= "title: '".addslashes( $args['title'] )."',"; |
|
| 3429 | - $icon .= "}),"; |
|
| 3430 | - |
|
| 3431 | - // blank title as its added to the icon. |
|
| 3432 | - $args['title'] = ''; |
|
| 3433 | - } |
|
| 3422 | + // icon |
|
| 3423 | + $icon = ''; |
|
| 3424 | + if( !empty( $args['icon'] ) ){ |
|
| 3425 | + $icon .= "el('div', {"; |
|
| 3426 | + $icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},"; |
|
| 3427 | + $icon .= "className: 'text-center',"; |
|
| 3428 | + $icon .= "title: '".addslashes( $args['title'] )."',"; |
|
| 3429 | + $icon .= "}),"; |
|
| 3430 | + |
|
| 3431 | + // blank title as its added to the icon. |
|
| 3432 | + $args['title'] = ''; |
|
| 3433 | + } |
|
| 3434 | 3434 | |
| 3435 | - // require advanced |
|
| 3436 | - $require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : ""; |
|
| 3435 | + // require advanced |
|
| 3436 | + $require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : ""; |
|
| 3437 | 3437 | |
| 3438 | - // element require |
|
| 3439 | - $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : ""; |
|
| 3438 | + // element require |
|
| 3439 | + $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : ""; |
|
| 3440 | 3440 | |
| 3441 | 3441 | |
| 3442 | - $onchange = "props.setAttributes({ $key: $key } )"; |
|
| 3443 | - $onchangecomplete = ""; |
|
| 3444 | - $value = "props.attributes.$key"; |
|
| 3445 | - $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' ); |
|
| 3446 | - if ( in_array( $args['type'], $text_type ) ) { |
|
| 3447 | - $type = 'TextControl'; |
|
| 3448 | - // Save numbers as numbers and not strings |
|
| 3449 | - if ( $args['type'] == 'number' ) { |
|
| 3450 | - $onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )"; |
|
| 3451 | - } |
|
| 3452 | - } |
|
| 3442 | + $onchange = "props.setAttributes({ $key: $key } )"; |
|
| 3443 | + $onchangecomplete = ""; |
|
| 3444 | + $value = "props.attributes.$key"; |
|
| 3445 | + $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' ); |
|
| 3446 | + if ( in_array( $args['type'], $text_type ) ) { |
|
| 3447 | + $type = 'TextControl'; |
|
| 3448 | + // Save numbers as numbers and not strings |
|
| 3449 | + if ( $args['type'] == 'number' ) { |
|
| 3450 | + $onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )"; |
|
| 3451 | + } |
|
| 3452 | + } |
|
| 3453 | 3453 | // else if ( $args['type'] == 'popup' ) { |
| 3454 | 3454 | // $type = 'TextControl'; |
| 3455 | 3455 | // $args['type'] == 'text'; |
@@ -3467,21 +3467,21 @@ discard block |
||
| 3467 | 3467 | // |
| 3468 | 3468 | // $value = "props.attributes.$key ? props.attributes.$key : ''"; |
| 3469 | 3469 | // } |
| 3470 | - else if ( $args['type'] == 'styleid' ) { |
|
| 3471 | - $type = 'TextControl'; |
|
| 3472 | - $args['type'] == 'text'; |
|
| 3473 | - // Save numbers as numbers and not strings |
|
| 3474 | - $value = "props.attributes.$key ? props.attributes.$key : ''"; |
|
| 3475 | - }else if ( $args['type'] == 'notice' ) { |
|
| 3476 | - |
|
| 3477 | - $notice_message = !empty($args['desc']) ? addslashes($args['desc']) : ''; |
|
| 3478 | - $notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info'; |
|
| 3479 | - |
|
| 3480 | - $notice = "el('div',{className:'bsui'},el(wp.components.Notice, {status: '$notice_status',isDismissible: false,className: 'm-0 pr-0 pe-0 mb-3'},el('div',{dangerouslySetInnerHTML: {__html: '$notice_message'}}))),"; |
|
| 3481 | - echo $notice_message ? $element_require . $notice : ''; |
|
| 3482 | - return; |
|
| 3483 | - } |
|
| 3484 | - /* |
|
| 3470 | + else if ( $args['type'] == 'styleid' ) { |
|
| 3471 | + $type = 'TextControl'; |
|
| 3472 | + $args['type'] == 'text'; |
|
| 3473 | + // Save numbers as numbers and not strings |
|
| 3474 | + $value = "props.attributes.$key ? props.attributes.$key : ''"; |
|
| 3475 | + }else if ( $args['type'] == 'notice' ) { |
|
| 3476 | + |
|
| 3477 | + $notice_message = !empty($args['desc']) ? addslashes($args['desc']) : ''; |
|
| 3478 | + $notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info'; |
|
| 3479 | + |
|
| 3480 | + $notice = "el('div',{className:'bsui'},el(wp.components.Notice, {status: '$notice_status',isDismissible: false,className: 'm-0 pr-0 pe-0 mb-3'},el('div',{dangerouslySetInnerHTML: {__html: '$notice_message'}}))),"; |
|
| 3481 | + echo $notice_message ? $element_require . $notice : ''; |
|
| 3482 | + return; |
|
| 3483 | + } |
|
| 3484 | + /* |
|
| 3485 | 3485 | * https://www.wptricks.com/question/set-current-tab-on-a-gutenberg-tabpanel-component-from-outside-that-component/ es5 layout |
| 3486 | 3486 | elseif($args['type']=='tabs'){ |
| 3487 | 3487 | ?> |
@@ -3534,22 +3534,22 @@ discard block |
||
| 3534 | 3534 | return; |
| 3535 | 3535 | } |
| 3536 | 3536 | */ |
| 3537 | - elseif ( $args['type'] == 'color' ) { |
|
| 3538 | - $type = 'ColorPicker'; |
|
| 3539 | - $onchange = ""; |
|
| 3540 | - $extra = "color: $value,"; |
|
| 3541 | - if(!empty($args['disable_alpha'])){ |
|
| 3542 | - $extra .= "disableAlpha: true,"; |
|
| 3543 | - } |
|
| 3544 | - $onchangecomplete = "onChangeComplete: function($key) { |
|
| 3537 | + elseif ( $args['type'] == 'color' ) { |
|
| 3538 | + $type = 'ColorPicker'; |
|
| 3539 | + $onchange = ""; |
|
| 3540 | + $extra = "color: $value,"; |
|
| 3541 | + if(!empty($args['disable_alpha'])){ |
|
| 3542 | + $extra .= "disableAlpha: true,"; |
|
| 3543 | + } |
|
| 3544 | + $onchangecomplete = "onChangeComplete: function($key) { |
|
| 3545 | 3545 | value = $key.rgb.a && $key.rgb.a < 1 ? \"rgba(\"+$key.rgb.r+\",\"+$key.rgb.g+\",\"+$key.rgb.b+\",\"+$key.rgb.a+\")\" : $key.hex; |
| 3546 | 3546 | props.setAttributes({ |
| 3547 | 3547 | $key: value |
| 3548 | 3548 | }); |
| 3549 | 3549 | },"; |
| 3550 | - }elseif ( $args['type'] == 'gradient' ) { |
|
| 3551 | - $type = 'GradientPicker'; |
|
| 3552 | - $extra .= "gradients: [{ |
|
| 3550 | + }elseif ( $args['type'] == 'gradient' ) { |
|
| 3551 | + $type = 'GradientPicker'; |
|
| 3552 | + $extra .= "gradients: [{ |
|
| 3553 | 3553 | name: 'Vivid cyan blue to vivid purple', |
| 3554 | 3554 | gradient: |
| 3555 | 3555 | 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)', |
@@ -3586,7 +3586,7 @@ discard block |
||
| 3586 | 3586 | slug: 'cool-to-warm-spectrum', |
| 3587 | 3587 | }],"; |
| 3588 | 3588 | |
| 3589 | - }elseif ( $args['type'] == 'image' ) { |
|
| 3589 | + }elseif ( $args['type'] == 'image' ) { |
|
| 3590 | 3590 | // print_r($args); |
| 3591 | 3591 | |
| 3592 | 3592 | $img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key || props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{ |
@@ -3611,15 +3611,15 @@ discard block |
||
| 3611 | 3611 | |
| 3612 | 3612 | |
| 3613 | 3613 | $value = '""'; |
| 3614 | - $type = 'MediaUpload'; |
|
| 3614 | + $type = 'MediaUpload'; |
|
| 3615 | 3615 | $extra .= "onSelect: function(media){ |
| 3616 | 3616 | return props.setAttributes({ |
| 3617 | 3617 | $key: media.url, |
| 3618 | 3618 | {$key}_id: media.id |
| 3619 | 3619 | }); |
| 3620 | 3620 | },"; |
| 3621 | - $extra .= "type: 'image',"; |
|
| 3622 | - $extra .= "render: function (obj) { |
|
| 3621 | + $extra .= "type: 'image',"; |
|
| 3622 | + $extra .= "render: function (obj) { |
|
| 3623 | 3623 | return el( 'div',{}, |
| 3624 | 3624 | ( !props.attributes.$key && !props.attributes.{$key}_use_featured ) && el( wp.components.Button, { |
| 3625 | 3625 | className: 'components-button components-circular-option-picker__clear is-primary is-smallx', |
@@ -3648,8 +3648,8 @@ discard block |
||
| 3648 | 3648 | $onchange = ""; |
| 3649 | 3649 | |
| 3650 | 3650 | //$inside_elements = ",el('div',{},'file upload')"; |
| 3651 | - } else if ( $args['type'] == 'images' ) { |
|
| 3652 | - $img_preview = "props.attributes.$key && (function() { |
|
| 3651 | + } else if ( $args['type'] == 'images' ) { |
|
| 3652 | + $img_preview = "props.attributes.$key && (function() { |
|
| 3653 | 3653 | let uploads = JSON.parse('['+props.attributes.$key+']'); |
| 3654 | 3654 | let images = []; |
| 3655 | 3655 | uploads.map((upload, index) => ( |
@@ -3676,9 +3676,9 @@ discard block |
||
| 3676 | 3676 | })(),"; |
| 3677 | 3677 | |
| 3678 | 3678 | |
| 3679 | - $value = '""'; |
|
| 3680 | - $type = 'MediaUpload'; |
|
| 3681 | - $extra .= "onSelect: function(media){ |
|
| 3679 | + $value = '""'; |
|
| 3680 | + $type = 'MediaUpload'; |
|
| 3681 | + $extra .= "onSelect: function(media){ |
|
| 3682 | 3682 | let slim_images = props.attributes.$key ? JSON.parse('['+props.attributes.$key+']') : []; |
| 3683 | 3683 | if(media.length){ |
| 3684 | 3684 | for (var i=0; i < media.length; i++) { |
@@ -3691,9 +3691,9 @@ discard block |
||
| 3691 | 3691 | } |
| 3692 | 3692 | return props.setAttributes({ $key: slimImagesV}); |
| 3693 | 3693 | },"; |
| 3694 | - $extra .= "type: 'image',"; |
|
| 3695 | - $extra .= "multiple: true,"; |
|
| 3696 | - $extra .= "render: function (obj) { |
|
| 3694 | + $extra .= "type: 'image',"; |
|
| 3695 | + $extra .= "multiple: true,"; |
|
| 3696 | + $extra .= "render: function (obj) { |
|
| 3697 | 3697 | /* Init the sort */ |
| 3698 | 3698 | enableDragSort('sd-sortable'); |
| 3699 | 3699 | return el( 'div',{}, |
@@ -3723,37 +3723,37 @@ discard block |
||
| 3723 | 3723 | $onchange = ""; |
| 3724 | 3724 | |
| 3725 | 3725 | //$inside_elements = ",el('div',{},'file upload')"; |
| 3726 | - } |
|
| 3727 | - elseif ( $args['type'] == 'checkbox' ) { |
|
| 3728 | - $type = 'CheckboxControl'; |
|
| 3729 | - $extra .= "checked: props.attributes.$key,"; |
|
| 3730 | - $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )"; |
|
| 3731 | - } elseif ( $args['type'] == 'textarea' ) { |
|
| 3732 | - $type = 'TextareaControl'; |
|
| 3733 | - |
|
| 3734 | - } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) { |
|
| 3735 | - $type = 'SelectControl'; |
|
| 3736 | - |
|
| 3737 | - if($args['name'] == 'category' && !empty($args['post_type_linked'])){ |
|
| 3738 | - $options .= "options: taxonomies_".str_replace("-","_", $this->id).","; |
|
| 3739 | - }elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){ |
|
| 3740 | - $options .= "options: sort_by_".str_replace("-","_", $this->id).","; |
|
| 3741 | - }else { |
|
| 3742 | - |
|
| 3743 | - if ( ! empty( $args['options'] ) ) { |
|
| 3744 | - $options .= "options: ["; |
|
| 3745 | - foreach ( $args['options'] as $option_val => $option_label ) { |
|
| 3746 | - $options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . addslashes( $option_label ) . "' },"; |
|
| 3747 | - } |
|
| 3748 | - $options .= "],"; |
|
| 3749 | - } |
|
| 3750 | - } |
|
| 3751 | - if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550 |
|
| 3752 | - $extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, '; |
|
| 3753 | - } |
|
| 3726 | + } |
|
| 3727 | + elseif ( $args['type'] == 'checkbox' ) { |
|
| 3728 | + $type = 'CheckboxControl'; |
|
| 3729 | + $extra .= "checked: props.attributes.$key,"; |
|
| 3730 | + $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )"; |
|
| 3731 | + } elseif ( $args['type'] == 'textarea' ) { |
|
| 3732 | + $type = 'TextareaControl'; |
|
| 3733 | + |
|
| 3734 | + } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) { |
|
| 3735 | + $type = 'SelectControl'; |
|
| 3736 | + |
|
| 3737 | + if($args['name'] == 'category' && !empty($args['post_type_linked'])){ |
|
| 3738 | + $options .= "options: taxonomies_".str_replace("-","_", $this->id).","; |
|
| 3739 | + }elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){ |
|
| 3740 | + $options .= "options: sort_by_".str_replace("-","_", $this->id).","; |
|
| 3741 | + }else { |
|
| 3742 | + |
|
| 3743 | + if ( ! empty( $args['options'] ) ) { |
|
| 3744 | + $options .= "options: ["; |
|
| 3745 | + foreach ( $args['options'] as $option_val => $option_label ) { |
|
| 3746 | + $options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . addslashes( $option_label ) . "' },"; |
|
| 3747 | + } |
|
| 3748 | + $options .= "],"; |
|
| 3749 | + } |
|
| 3750 | + } |
|
| 3751 | + if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550 |
|
| 3752 | + $extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, '; |
|
| 3753 | + } |
|
| 3754 | 3754 | |
| 3755 | - if($args['type'] == 'multiselect' || ( isset( $args['multiple'] ) && $args['multiple'] ) ){ |
|
| 3756 | - $after_elements .= "props.attributes.$key && el( wp.components.Button, { |
|
| 3755 | + if($args['type'] == 'multiselect' || ( isset( $args['multiple'] ) && $args['multiple'] ) ){ |
|
| 3756 | + $after_elements .= "props.attributes.$key && el( wp.components.Button, { |
|
| 3757 | 3757 | className: 'components-button components-circular-option-picker__clear is-secondary is-small', |
| 3758 | 3758 | style: {margin:'-8px 0 8px 0',display: 'block'}, |
| 3759 | 3759 | onClick: function(){ |
@@ -3764,8 +3764,8 @@ discard block |
||
| 3764 | 3764 | }, |
| 3765 | 3765 | 'Clear' |
| 3766 | 3766 | ),"; |
| 3767 | - } |
|
| 3768 | - } elseif ( $args['type'] == 'tagselect' ) { |
|
| 3767 | + } |
|
| 3768 | + } elseif ( $args['type'] == 'tagselect' ) { |
|
| 3769 | 3769 | // $type = 'FormTokenField'; |
| 3770 | 3770 | // |
| 3771 | 3771 | // if ( ! empty( $args['options'] ) ) { |
@@ -3800,20 +3800,20 @@ discard block |
||
| 3800 | 3800 | // $value = "[]"; |
| 3801 | 3801 | // $extra .= ' __experimentalExpandOnFocus: true,'; |
| 3802 | 3802 | |
| 3803 | - } else if ( $args['type'] == 'alignment' ) { |
|
| 3804 | - $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example |
|
| 3805 | - } else if ( $args['type'] == 'margins' ) { |
|
| 3806 | - |
|
| 3807 | - } else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) { |
|
| 3808 | - $type = 'TextControl'; |
|
| 3809 | - $value = "(props.attributes.$key ? props.attributes.$key : '')"; |
|
| 3810 | - $args['type'] = 'text'; |
|
| 3811 | - $options .= 'disabled:true,'; |
|
| 3812 | - $bsvc_title = esc_attr( addslashes( $args['title'] ) ); |
|
| 3813 | - $bsvc_body = $this->block_visibility_fields( $args ); |
|
| 3814 | - // @TODO reset button |
|
| 3815 | - $bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'super-duper' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'super-duper' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'super-duper' ) . '</button>'; |
|
| 3816 | - $after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, { |
|
| 3803 | + } else if ( $args['type'] == 'alignment' ) { |
|
| 3804 | + $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example |
|
| 3805 | + } else if ( $args['type'] == 'margins' ) { |
|
| 3806 | + |
|
| 3807 | + } else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) { |
|
| 3808 | + $type = 'TextControl'; |
|
| 3809 | + $value = "(props.attributes.$key ? props.attributes.$key : '')"; |
|
| 3810 | + $args['type'] = 'text'; |
|
| 3811 | + $options .= 'disabled:true,'; |
|
| 3812 | + $bsvc_title = esc_attr( addslashes( $args['title'] ) ); |
|
| 3813 | + $bsvc_body = $this->block_visibility_fields( $args ); |
|
| 3814 | + // @TODO reset button |
|
| 3815 | + $bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'super-duper' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'super-duper' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'super-duper' ) . '</button>'; |
|
| 3816 | + $after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, { |
|
| 3817 | 3817 | className: 'components-button components-circular-option-picker__clear is-primary is-smallx', |
| 3818 | 3818 | onClick: function() { |
| 3819 | 3819 | var sValue = props.attributes." . $key . "; |
@@ -3839,39 +3839,39 @@ discard block |
||
| 3839 | 3839 | }, |
| 3840 | 3840 | '" . addslashes( ! empty( $args['button_title'] ) ? $args['button_title'] : $args['title'] ) . "' |
| 3841 | 3841 | ) ),"; |
| 3842 | - } else { |
|
| 3843 | - return;// if we have not implemented the control then don't break the JS. |
|
| 3844 | - } |
|
| 3842 | + } else { |
|
| 3843 | + return;// if we have not implemented the control then don't break the JS. |
|
| 3844 | + } |
|
| 3845 | 3845 | |
| 3846 | - // color input does not show the labels so we add them |
|
| 3847 | - if($args['type']=='color'){ |
|
| 3848 | - // add show only if advanced |
|
| 3849 | - echo $require_advanced; |
|
| 3850 | - // add setting require if defined |
|
| 3851 | - echo $element_require; |
|
| 3852 | - echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),"; |
|
| 3853 | - } |
|
| 3846 | + // color input does not show the labels so we add them |
|
| 3847 | + if($args['type']=='color'){ |
|
| 3848 | + // add show only if advanced |
|
| 3849 | + echo $require_advanced; |
|
| 3850 | + // add setting require if defined |
|
| 3851 | + echo $element_require; |
|
| 3852 | + echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),"; |
|
| 3853 | + } |
|
| 3854 | 3854 | |
| 3855 | - // add show only if advanced |
|
| 3856 | - echo $require_advanced; |
|
| 3857 | - // add setting require if defined |
|
| 3858 | - echo $element_require; |
|
| 3855 | + // add show only if advanced |
|
| 3856 | + echo $require_advanced; |
|
| 3857 | + // add setting require if defined |
|
| 3858 | + echo $element_require; |
|
| 3859 | 3859 | echo $device_type_require; |
| 3860 | 3860 | |
| 3861 | - // icon |
|
| 3862 | - echo $icon; |
|
| 3863 | - ?> |
|
| 3861 | + // icon |
|
| 3862 | + echo $icon; |
|
| 3863 | + ?> |
|
| 3864 | 3864 | el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type : "wp.components.".$type; ?>, { |
| 3865 | 3865 | label: <?php if ( empty( $args['title'] ) ) { echo "''"; } else if ( empty( $args['row'] ) && ! empty( $args['device_type'] ) ) { ?>el('label',{className:'components-base-control__label',style:{width:"100%"}},el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['title'] ) ?>'}}),<?php if ( $device_type_icon ) { ?>deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})<?php } ?>)<?php |
| 3866 | - } else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>, |
|
| 3866 | + } else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>, |
|
| 3867 | 3867 | help: <?php echo ( isset( $args['desc'] ) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim( wp_kses_post( addslashes( $args['desc'] ) ) ) . "'}})" : "''" ); ?>, |
| 3868 | 3868 | value: <?php echo $value; ?>, |
| 3869 | 3869 | <?php if ( $type == 'TextControl' && $args['type'] != 'text' ) { |
| 3870 | - echo "type: '" . addslashes( $args['type'] ) . "',"; |
|
| 3871 | - } ?> |
|
| 3870 | + echo "type: '" . addslashes( $args['type'] ) . "',"; |
|
| 3871 | + } ?> |
|
| 3872 | 3872 | <?php if ( ! empty( $args['placeholder'] ) ) { |
| 3873 | - echo "placeholder: '" . addslashes( trim( esc_html( $args['placeholder'] ) ) ) . "',"; |
|
| 3874 | - } ?> |
|
| 3873 | + echo "placeholder: '" . addslashes( trim( esc_html( $args['placeholder'] ) ) ) . "',"; |
|
| 3874 | + } ?> |
|
| 3875 | 3875 | <?php echo $options; ?> |
| 3876 | 3876 | <?php echo $extra; ?> |
| 3877 | 3877 | <?php echo $custom_attributes; ?> |
@@ -3883,68 +3883,68 @@ discard block |
||
| 3883 | 3883 | <?php } ?> |
| 3884 | 3884 | } <?php echo $inside_elements; ?> ), |
| 3885 | 3885 | <?php |
| 3886 | - echo $after_elements; |
|
| 3887 | - } |
|
| 3886 | + echo $after_elements; |
|
| 3887 | + } |
|
| 3888 | 3888 | |
| 3889 | - /** |
|
| 3890 | - * Convert an array of attributes to block string. |
|
| 3891 | - * |
|
| 3892 | - * @param $custom_attributes |
|
| 3893 | - * |
|
| 3894 | - * @return string |
|
| 3895 | - *@todo there is prob a faster way to do this, also we could add some validation here. |
|
| 3896 | - * |
|
| 3897 | - */ |
|
| 3898 | - public function array_to_attributes( $custom_attributes, $html = false ) { |
|
| 3899 | - $attributes = ''; |
|
| 3900 | - if ( ! empty( $custom_attributes ) ) { |
|
| 3901 | - |
|
| 3902 | - foreach ( $custom_attributes as $key => $val ) { |
|
| 3903 | - if(is_array($val)){ |
|
| 3904 | - $attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},'; |
|
| 3905 | - }else{ |
|
| 3906 | - $attributes .= $html ? " $key='$val' " : "'$key': '$val',"; |
|
| 3907 | - } |
|
| 3908 | - } |
|
| 3889 | + /** |
|
| 3890 | + * Convert an array of attributes to block string. |
|
| 3891 | + * |
|
| 3892 | + * @param $custom_attributes |
|
| 3893 | + * |
|
| 3894 | + * @return string |
|
| 3895 | + *@todo there is prob a faster way to do this, also we could add some validation here. |
|
| 3896 | + * |
|
| 3897 | + */ |
|
| 3898 | + public function array_to_attributes( $custom_attributes, $html = false ) { |
|
| 3899 | + $attributes = ''; |
|
| 3900 | + if ( ! empty( $custom_attributes ) ) { |
|
| 3909 | 3901 | |
| 3910 | - } |
|
| 3902 | + foreach ( $custom_attributes as $key => $val ) { |
|
| 3903 | + if(is_array($val)){ |
|
| 3904 | + $attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},'; |
|
| 3905 | + }else{ |
|
| 3906 | + $attributes .= $html ? " $key='$val' " : "'$key': '$val',"; |
|
| 3907 | + } |
|
| 3908 | + } |
|
| 3911 | 3909 | |
| 3912 | - return $attributes; |
|
| 3913 | - } |
|
| 3910 | + } |
|
| 3911 | + |
|
| 3912 | + return $attributes; |
|
| 3913 | + } |
|
| 3914 | 3914 | |
| 3915 | 3915 | |
| 3916 | 3916 | |
| 3917 | - /** |
|
| 3918 | - * A self looping function to create the output for JS block elements. |
|
| 3919 | - * |
|
| 3920 | - * This is what is output in the WP Editor visual view. |
|
| 3921 | - * |
|
| 3922 | - * @param $args |
|
| 3923 | - */ |
|
| 3924 | - public function block_element( $args, $save = false ) { |
|
| 3917 | + /** |
|
| 3918 | + * A self looping function to create the output for JS block elements. |
|
| 3919 | + * |
|
| 3920 | + * This is what is output in the WP Editor visual view. |
|
| 3921 | + * |
|
| 3922 | + * @param $args |
|
| 3923 | + */ |
|
| 3924 | + public function block_element( $args, $save = false ) { |
|
| 3925 | 3925 | |
| 3926 | 3926 | |
| 3927 | - if ( ! empty( $args ) ) { |
|
| 3928 | - foreach ( $args as $element => $new_args ) { |
|
| 3927 | + if ( ! empty( $args ) ) { |
|
| 3928 | + foreach ( $args as $element => $new_args ) { |
|
| 3929 | 3929 | |
| 3930 | - if ( is_array( $new_args ) ) { // its an element |
|
| 3930 | + if ( is_array( $new_args ) ) { // its an element |
|
| 3931 | 3931 | |
| 3932 | 3932 | |
| 3933 | - if ( isset( $new_args['element'] ) ) { |
|
| 3933 | + if ( isset( $new_args['element'] ) ) { |
|
| 3934 | 3934 | |
| 3935 | - if ( isset( $new_args['element_require'] ) ) { |
|
| 3936 | - echo str_replace( array( |
|
| 3937 | - "'+", |
|
| 3938 | - "+'" |
|
| 3939 | - ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " && "; |
|
| 3940 | - unset( $new_args['element_require'] ); |
|
| 3941 | - } |
|
| 3935 | + if ( isset( $new_args['element_require'] ) ) { |
|
| 3936 | + echo str_replace( array( |
|
| 3937 | + "'+", |
|
| 3938 | + "+'" |
|
| 3939 | + ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " && "; |
|
| 3940 | + unset( $new_args['element_require'] ); |
|
| 3941 | + } |
|
| 3942 | 3942 | |
| 3943 | 3943 | if($new_args['element']=='InnerBlocks'){ |
| 3944 | 3944 | echo "\n el( InnerBlocks, {"; |
| 3945 | 3945 | }elseif($new_args['element']=='innerBlocksProps'){ |
| 3946 | 3946 | $element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div'; |
| 3947 | - // echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {"; |
|
| 3947 | + // echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {"; |
|
| 3948 | 3948 | // echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( "; |
| 3949 | 3949 | echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( "; |
| 3950 | 3950 | echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {"; |
@@ -3954,74 +3954,74 @@ discard block |
||
| 3954 | 3954 | echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : ''; |
| 3955 | 3955 | // echo '###'; |
| 3956 | 3956 | |
| 3957 | - // echo '###'; |
|
| 3957 | + // echo '###'; |
|
| 3958 | 3958 | }elseif($new_args['element']=='BlocksProps'){ |
| 3959 | 3959 | |
| 3960 | - if ( isset($new_args['if_inner_element']) ) { |
|
| 3961 | - $element = $new_args['if_inner_element']; |
|
| 3962 | - }else { |
|
| 3963 | - $element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'"; |
|
| 3964 | - } |
|
| 3960 | + if ( isset($new_args['if_inner_element']) ) { |
|
| 3961 | + $element = $new_args['if_inner_element']; |
|
| 3962 | + }else { |
|
| 3963 | + $element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'"; |
|
| 3964 | + } |
|
| 3965 | 3965 | |
| 3966 | - unset($new_args['inner_element']); |
|
| 3966 | + unset($new_args['inner_element']); |
|
| 3967 | 3967 | echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {"; |
| 3968 | 3968 | echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : ''; |
| 3969 | 3969 | |
| 3970 | 3970 | |
| 3971 | - // echo "} ),"; |
|
| 3971 | + // echo "} ),"; |
|
| 3972 | 3972 | |
| 3973 | 3973 | }else{ |
| 3974 | 3974 | echo "\n el( '" . $new_args['element'] . "', {"; |
| 3975 | 3975 | } |
| 3976 | 3976 | |
| 3977 | 3977 | |
| 3978 | - // get the attributes |
|
| 3979 | - foreach ( $new_args as $new_key => $new_value ) { |
|
| 3978 | + // get the attributes |
|
| 3979 | + foreach ( $new_args as $new_key => $new_value ) { |
|
| 3980 | 3980 | |
| 3981 | 3981 | |
| 3982 | - if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) { |
|
| 3983 | - // do nothing |
|
| 3984 | - } else { |
|
| 3985 | - echo $this->block_element( array( $new_key => $new_value ),$save ); |
|
| 3986 | - } |
|
| 3987 | - } |
|
| 3982 | + if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) { |
|
| 3983 | + // do nothing |
|
| 3984 | + } else { |
|
| 3985 | + echo $this->block_element( array( $new_key => $new_value ),$save ); |
|
| 3986 | + } |
|
| 3987 | + } |
|
| 3988 | 3988 | |
| 3989 | - echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes |
|
| 3989 | + echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes |
|
| 3990 | 3990 | |
| 3991 | - // get the content |
|
| 3992 | - $first_item = 0; |
|
| 3993 | - foreach ( $new_args as $new_key => $new_value ) { |
|
| 3994 | - if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) { |
|
| 3991 | + // get the content |
|
| 3992 | + $first_item = 0; |
|
| 3993 | + foreach ( $new_args as $new_key => $new_value ) { |
|
| 3994 | + if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) { |
|
| 3995 | 3995 | |
| 3996 | - if ( $new_key === 'content' ) { |
|
| 3997 | - echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'"; |
|
| 3998 | - }else if ( $new_key === 'if_content' ) { |
|
| 3999 | - echo $this->block_props_replace( $new_value ); |
|
| 4000 | - } |
|
| 3996 | + if ( $new_key === 'content' ) { |
|
| 3997 | + echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'"; |
|
| 3998 | + }else if ( $new_key === 'if_content' ) { |
|
| 3999 | + echo $this->block_props_replace( $new_value ); |
|
| 4000 | + } |
|
| 4001 | 4001 | |
| 4002 | - if ( is_array( $new_value ) ) { |
|
| 4002 | + if ( is_array( $new_value ) ) { |
|
| 4003 | 4003 | |
| 4004 | - if ( isset( $new_value['element_require'] ) ) { |
|
| 4005 | - echo str_replace( array( |
|
| 4006 | - "'+", |
|
| 4007 | - "+'" |
|
| 4008 | - ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " && "; |
|
| 4009 | - unset( $new_value['element_require'] ); |
|
| 4010 | - } |
|
| 4004 | + if ( isset( $new_value['element_require'] ) ) { |
|
| 4005 | + echo str_replace( array( |
|
| 4006 | + "'+", |
|
| 4007 | + "+'" |
|
| 4008 | + ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " && "; |
|
| 4009 | + unset( $new_value['element_require'] ); |
|
| 4010 | + } |
|
| 4011 | 4011 | |
| 4012 | - if ( isset( $new_value['element_repeat'] ) ) { |
|
| 4013 | - $x = 1; |
|
| 4014 | - while ( $x <= absint( $new_value['element_repeat'] ) ) { |
|
| 4015 | - $this->block_element( array( '' => $new_value ),$save ); |
|
| 4016 | - $x ++; |
|
| 4017 | - } |
|
| 4018 | - } else { |
|
| 4019 | - $this->block_element( array( '' => $new_value ),$save ); |
|
| 4020 | - } |
|
| 4021 | - } |
|
| 4022 | - $first_item ++; |
|
| 4023 | - } |
|
| 4024 | - } |
|
| 4012 | + if ( isset( $new_value['element_repeat'] ) ) { |
|
| 4013 | + $x = 1; |
|
| 4014 | + while ( $x <= absint( $new_value['element_repeat'] ) ) { |
|
| 4015 | + $this->block_element( array( '' => $new_value ),$save ); |
|
| 4016 | + $x ++; |
|
| 4017 | + } |
|
| 4018 | + } else { |
|
| 4019 | + $this->block_element( array( '' => $new_value ),$save ); |
|
| 4020 | + } |
|
| 4021 | + } |
|
| 4022 | + $first_item ++; |
|
| 4023 | + } |
|
| 4024 | + } |
|
| 4025 | 4025 | |
| 4026 | 4026 | if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){ |
| 4027 | 4027 | echo "))";// end content |
@@ -4030,1067 +4030,1067 @@ discard block |
||
| 4030 | 4030 | } |
| 4031 | 4031 | |
| 4032 | 4032 | |
| 4033 | - echo ", \n"; |
|
| 4033 | + echo ", \n"; |
|
| 4034 | 4034 | |
| 4035 | - } |
|
| 4036 | - } else { |
|
| 4035 | + } |
|
| 4036 | + } else { |
|
| 4037 | 4037 | |
| 4038 | - if ( substr( $element, 0, 3 ) === "if_" ) { |
|
| 4039 | - $extra = ''; |
|
| 4040 | - if( strpos($new_args, '[%WrapClass%]') !== false ){ |
|
| 4041 | - $new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args); |
|
| 4042 | - $new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args); |
|
| 4043 | - } |
|
| 4044 | - echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ","; |
|
| 4045 | - } elseif ( $element == 'style' && strpos($new_args, '[%WrapStyle%]') !== false ) { |
|
| 4038 | + if ( substr( $element, 0, 3 ) === "if_" ) { |
|
| 4039 | + $extra = ''; |
|
| 4040 | + if( strpos($new_args, '[%WrapClass%]') !== false ){ |
|
| 4041 | + $new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args); |
|
| 4042 | + $new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args); |
|
| 4043 | + } |
|
| 4044 | + echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ","; |
|
| 4045 | + } elseif ( $element == 'style' && strpos($new_args, '[%WrapStyle%]') !== false ) { |
|
| 4046 | 4046 | $new_args = str_replace('[%WrapStyle%]','',$new_args); |
| 4047 | 4047 | echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },"; |
| 4048 | 4048 | // echo $element . ": " . $this->block_props_replace( $new_args ) . ","; |
| 4049 | - } elseif ( $element == 'style' ) { |
|
| 4050 | - echo $element . ": " . $this->block_props_replace( $new_args ) . ","; |
|
| 4051 | - } elseif ( ( $element == 'class' || $element == 'className' ) && strpos($new_args, '[%WrapClass%]') !== false ) { |
|
| 4049 | + } elseif ( $element == 'style' ) { |
|
| 4050 | + echo $element . ": " . $this->block_props_replace( $new_args ) . ","; |
|
| 4051 | + } elseif ( ( $element == 'class' || $element == 'className' ) && strpos($new_args, '[%WrapClass%]') !== false ) { |
|
| 4052 | 4052 | $new_args = str_replace('[%WrapClass%]','',$new_args); |
| 4053 | 4053 | echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),"; |
| 4054 | - } elseif ( $element == 'template' && $new_args ) { |
|
| 4055 | - echo $element . ": $new_args,"; |
|
| 4056 | - } else { |
|
| 4057 | - echo $element . ": '" . $this->block_props_replace( $new_args ) . "',"; |
|
| 4058 | - } |
|
| 4054 | + } elseif ( $element == 'template' && $new_args ) { |
|
| 4055 | + echo $element . ": $new_args,"; |
|
| 4056 | + } else { |
|
| 4057 | + echo $element . ": '" . $this->block_props_replace( $new_args ) . "',"; |
|
| 4058 | + } |
|
| 4059 | 4059 | |
| 4060 | - } |
|
| 4061 | - } |
|
| 4062 | - } |
|
| 4063 | - } |
|
| 4060 | + } |
|
| 4061 | + } |
|
| 4062 | + } |
|
| 4063 | + } |
|
| 4064 | 4064 | |
| 4065 | - /** |
|
| 4066 | - * Replace block attributes placeholders with the proper naming. |
|
| 4067 | - * |
|
| 4068 | - * @param $string |
|
| 4069 | - * |
|
| 4070 | - * @return mixed |
|
| 4071 | - */ |
|
| 4072 | - public function block_props_replace( $string, $no_wrap = false ) { |
|
| 4073 | - |
|
| 4074 | - if ( $no_wrap ) { |
|
| 4075 | - $string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string ); |
|
| 4076 | - } else { |
|
| 4077 | - $string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string ); |
|
| 4078 | - } |
|
| 4065 | + /** |
|
| 4066 | + * Replace block attributes placeholders with the proper naming. |
|
| 4067 | + * |
|
| 4068 | + * @param $string |
|
| 4069 | + * |
|
| 4070 | + * @return mixed |
|
| 4071 | + */ |
|
| 4072 | + public function block_props_replace( $string, $no_wrap = false ) { |
|
| 4079 | 4073 | |
| 4080 | - return $string; |
|
| 4081 | - } |
|
| 4074 | + if ( $no_wrap ) { |
|
| 4075 | + $string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string ); |
|
| 4076 | + } else { |
|
| 4077 | + $string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string ); |
|
| 4078 | + } |
|
| 4082 | 4079 | |
| 4083 | - /** |
|
| 4084 | - * Outputs the content of the widget |
|
| 4085 | - * |
|
| 4086 | - * @param array $args |
|
| 4087 | - * @param array $instance |
|
| 4088 | - */ |
|
| 4089 | - public function widget( $args, $instance ) { |
|
| 4090 | - if ( ! is_array( $args ) ) { |
|
| 4091 | - $args = array(); |
|
| 4092 | - } |
|
| 4080 | + return $string; |
|
| 4081 | + } |
|
| 4093 | 4082 | |
| 4094 | - // Get the filtered values |
|
| 4095 | - $argument_values = $this->argument_values( $instance ); |
|
| 4096 | - $argument_values = $this->string_to_bool( $argument_values ); |
|
| 4097 | - $output = $this->output( $argument_values, $args ); |
|
| 4083 | + /** |
|
| 4084 | + * Outputs the content of the widget |
|
| 4085 | + * |
|
| 4086 | + * @param array $args |
|
| 4087 | + * @param array $instance |
|
| 4088 | + */ |
|
| 4089 | + public function widget( $args, $instance ) { |
|
| 4090 | + if ( ! is_array( $args ) ) { |
|
| 4091 | + $args = array(); |
|
| 4092 | + } |
|
| 4098 | 4093 | |
| 4099 | - $no_wrap = false; |
|
| 4100 | - if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) { |
|
| 4101 | - $no_wrap = true; |
|
| 4102 | - } |
|
| 4094 | + // Get the filtered values |
|
| 4095 | + $argument_values = $this->argument_values( $instance ); |
|
| 4096 | + $argument_values = $this->string_to_bool( $argument_values ); |
|
| 4097 | + $output = $this->output( $argument_values, $args ); |
|
| 4103 | 4098 | |
| 4104 | - ob_start(); |
|
| 4105 | - if ( $output && ! $no_wrap ) { |
|
| 4099 | + $no_wrap = false; |
|
| 4100 | + if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) { |
|
| 4101 | + $no_wrap = true; |
|
| 4102 | + } |
|
| 4106 | 4103 | |
| 4107 | - $class_original = $this->options['widget_ops']['classname']; |
|
| 4108 | - $class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash(); |
|
| 4104 | + ob_start(); |
|
| 4105 | + if ( $output && ! $no_wrap ) { |
|
| 4109 | 4106 | |
| 4110 | - // Before widget |
|
| 4111 | - $before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : ''; |
|
| 4112 | - $before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget; |
|
| 4113 | - $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this ); |
|
| 4114 | - $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this ); |
|
| 4107 | + $class_original = $this->options['widget_ops']['classname']; |
|
| 4108 | + $class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash(); |
|
| 4115 | 4109 | |
| 4116 | - // After widget |
|
| 4117 | - $after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : ''; |
|
| 4118 | - $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this ); |
|
| 4119 | - $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this ); |
|
| 4110 | + // Before widget |
|
| 4111 | + $before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : ''; |
|
| 4112 | + $before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget; |
|
| 4113 | + $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this ); |
|
| 4114 | + $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this ); |
|
| 4120 | 4115 | |
| 4121 | - echo $before_widget; |
|
| 4122 | - // elementor strips the widget wrapping div so we check for and add it back if needed |
|
| 4123 | - if ( $this->is_elementor_widget_output() ) { |
|
| 4124 | - // Filter class & attrs for elementor widget output. |
|
| 4125 | - $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this ); |
|
| 4126 | - $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this ); |
|
| 4116 | + // After widget |
|
| 4117 | + $after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : ''; |
|
| 4118 | + $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this ); |
|
| 4119 | + $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this ); |
|
| 4127 | 4120 | |
| 4128 | - $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this ); |
|
| 4129 | - $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); |
|
| 4121 | + echo $before_widget; |
|
| 4122 | + // elementor strips the widget wrapping div so we check for and add it back if needed |
|
| 4123 | + if ( $this->is_elementor_widget_output() ) { |
|
| 4124 | + // Filter class & attrs for elementor widget output. |
|
| 4125 | + $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this ); |
|
| 4126 | + $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this ); |
|
| 4130 | 4127 | |
| 4131 | - echo "<span class='" . esc_attr( $class ) . "' " . $attrs . ">"; |
|
| 4132 | - } |
|
| 4133 | - echo $this->output_title( $args, $instance ); |
|
| 4134 | - echo $output; |
|
| 4135 | - if ( $this->is_elementor_widget_output() ) { |
|
| 4136 | - echo "</span>"; |
|
| 4137 | - } |
|
| 4138 | - echo $after_widget; |
|
| 4139 | - } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty |
|
| 4140 | - $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
| 4141 | - echo $output; |
|
| 4142 | - } elseif ( $output && $no_wrap ) { |
|
| 4143 | - echo $output; |
|
| 4144 | - } |
|
| 4145 | - $output = ob_get_clean(); |
|
| 4128 | + $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this ); |
|
| 4129 | + $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); |
|
| 4146 | 4130 | |
| 4147 | - $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this ); |
|
| 4131 | + echo "<span class='" . esc_attr( $class ) . "' " . $attrs . ">"; |
|
| 4132 | + } |
|
| 4133 | + echo $this->output_title( $args, $instance ); |
|
| 4134 | + echo $output; |
|
| 4135 | + if ( $this->is_elementor_widget_output() ) { |
|
| 4136 | + echo "</span>"; |
|
| 4137 | + } |
|
| 4138 | + echo $after_widget; |
|
| 4139 | + } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty |
|
| 4140 | + $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
| 4141 | + echo $output; |
|
| 4142 | + } elseif ( $output && $no_wrap ) { |
|
| 4143 | + echo $output; |
|
| 4144 | + } |
|
| 4145 | + $output = ob_get_clean(); |
|
| 4148 | 4146 | |
| 4149 | - echo $output; |
|
| 4150 | - } |
|
| 4147 | + $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this ); |
|
| 4151 | 4148 | |
| 4152 | - /** |
|
| 4153 | - * Tests if the current output is inside a elementor container. |
|
| 4154 | - * |
|
| 4155 | - * @return bool |
|
| 4156 | - *@since 1.0.4 |
|
| 4157 | - */ |
|
| 4158 | - public function is_elementor_widget_output() { |
|
| 4159 | - $result = false; |
|
| 4160 | - if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) { |
|
| 4161 | - $result = true; |
|
| 4162 | - } |
|
| 4149 | + echo $output; |
|
| 4150 | + } |
|
| 4163 | 4151 | |
| 4164 | - return $result; |
|
| 4165 | - } |
|
| 4152 | + /** |
|
| 4153 | + * Tests if the current output is inside a elementor container. |
|
| 4154 | + * |
|
| 4155 | + * @return bool |
|
| 4156 | + *@since 1.0.4 |
|
| 4157 | + */ |
|
| 4158 | + public function is_elementor_widget_output() { |
|
| 4159 | + $result = false; |
|
| 4160 | + if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) { |
|
| 4161 | + $result = true; |
|
| 4162 | + } |
|
| 4166 | 4163 | |
| 4167 | - /** |
|
| 4168 | - * Tests if the current output is inside a elementor preview. |
|
| 4169 | - * |
|
| 4170 | - * @return bool |
|
| 4171 | - *@since 1.0.4 |
|
| 4172 | - */ |
|
| 4173 | - public function is_elementor_preview() { |
|
| 4174 | - $result = false; |
|
| 4175 | - if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) { |
|
| 4176 | - $result = true; |
|
| 4177 | - } |
|
| 4164 | + return $result; |
|
| 4165 | + } |
|
| 4178 | 4166 | |
| 4179 | - return $result; |
|
| 4180 | - } |
|
| 4167 | + /** |
|
| 4168 | + * Tests if the current output is inside a elementor preview. |
|
| 4169 | + * |
|
| 4170 | + * @return bool |
|
| 4171 | + *@since 1.0.4 |
|
| 4172 | + */ |
|
| 4173 | + public function is_elementor_preview() { |
|
| 4174 | + $result = false; |
|
| 4175 | + if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) { |
|
| 4176 | + $result = true; |
|
| 4177 | + } |
|
| 4181 | 4178 | |
| 4182 | - /** |
|
| 4183 | - * Tests if the current output is inside a Divi preview. |
|
| 4184 | - * |
|
| 4185 | - * @return bool |
|
| 4186 | - *@since 1.0.6 |
|
| 4187 | - */ |
|
| 4188 | - public function is_divi_preview() { |
|
| 4189 | - $result = false; |
|
| 4190 | - if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) { |
|
| 4191 | - $result = true; |
|
| 4192 | - } |
|
| 4179 | + return $result; |
|
| 4180 | + } |
|
| 4193 | 4181 | |
| 4194 | - return $result; |
|
| 4195 | - } |
|
| 4182 | + /** |
|
| 4183 | + * Tests if the current output is inside a Divi preview. |
|
| 4184 | + * |
|
| 4185 | + * @return bool |
|
| 4186 | + *@since 1.0.6 |
|
| 4187 | + */ |
|
| 4188 | + public function is_divi_preview() { |
|
| 4189 | + $result = false; |
|
| 4190 | + if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) { |
|
| 4191 | + $result = true; |
|
| 4192 | + } |
|
| 4196 | 4193 | |
| 4197 | - /** |
|
| 4198 | - * Tests if the current output is inside a Beaver builder preview. |
|
| 4199 | - * |
|
| 4200 | - * @return bool |
|
| 4201 | - *@since 1.0.6 |
|
| 4202 | - */ |
|
| 4203 | - public function is_beaver_preview() { |
|
| 4204 | - $result = false; |
|
| 4205 | - if ( isset( $_REQUEST['fl_builder'] ) ) { |
|
| 4206 | - $result = true; |
|
| 4207 | - } |
|
| 4194 | + return $result; |
|
| 4195 | + } |
|
| 4208 | 4196 | |
| 4209 | - return $result; |
|
| 4210 | - } |
|
| 4197 | + /** |
|
| 4198 | + * Tests if the current output is inside a Beaver builder preview. |
|
| 4199 | + * |
|
| 4200 | + * @return bool |
|
| 4201 | + *@since 1.0.6 |
|
| 4202 | + */ |
|
| 4203 | + public function is_beaver_preview() { |
|
| 4204 | + $result = false; |
|
| 4205 | + if ( isset( $_REQUEST['fl_builder'] ) ) { |
|
| 4206 | + $result = true; |
|
| 4207 | + } |
|
| 4211 | 4208 | |
| 4212 | - /** |
|
| 4213 | - * Tests if the current output is inside a siteorigin builder preview. |
|
| 4214 | - * |
|
| 4215 | - * @return bool |
|
| 4216 | - *@since 1.0.6 |
|
| 4217 | - */ |
|
| 4218 | - public function is_siteorigin_preview() { |
|
| 4219 | - $result = false; |
|
| 4220 | - if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) { |
|
| 4221 | - $result = true; |
|
| 4222 | - } |
|
| 4209 | + return $result; |
|
| 4210 | + } |
|
| 4223 | 4211 | |
| 4224 | - return $result; |
|
| 4225 | - } |
|
| 4212 | + /** |
|
| 4213 | + * Tests if the current output is inside a siteorigin builder preview. |
|
| 4214 | + * |
|
| 4215 | + * @return bool |
|
| 4216 | + *@since 1.0.6 |
|
| 4217 | + */ |
|
| 4218 | + public function is_siteorigin_preview() { |
|
| 4219 | + $result = false; |
|
| 4220 | + if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) { |
|
| 4221 | + $result = true; |
|
| 4222 | + } |
|
| 4226 | 4223 | |
| 4227 | - /** |
|
| 4228 | - * Tests if the current output is inside a cornerstone builder preview. |
|
| 4229 | - * |
|
| 4230 | - * @return bool |
|
| 4231 | - *@since 1.0.8 |
|
| 4232 | - */ |
|
| 4233 | - public function is_cornerstone_preview() { |
|
| 4234 | - $result = false; |
|
| 4235 | - if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) { |
|
| 4236 | - $result = true; |
|
| 4237 | - } |
|
| 4224 | + return $result; |
|
| 4225 | + } |
|
| 4238 | 4226 | |
| 4239 | - return $result; |
|
| 4240 | - } |
|
| 4227 | + /** |
|
| 4228 | + * Tests if the current output is inside a cornerstone builder preview. |
|
| 4229 | + * |
|
| 4230 | + * @return bool |
|
| 4231 | + *@since 1.0.8 |
|
| 4232 | + */ |
|
| 4233 | + public function is_cornerstone_preview() { |
|
| 4234 | + $result = false; |
|
| 4235 | + if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) { |
|
| 4236 | + $result = true; |
|
| 4237 | + } |
|
| 4241 | 4238 | |
| 4242 | - /** |
|
| 4243 | - * Tests if the current output is inside a fusion builder preview. |
|
| 4244 | - * |
|
| 4245 | - * @return bool |
|
| 4246 | - *@since 1.1.0 |
|
| 4247 | - */ |
|
| 4248 | - public function is_fusion_preview() { |
|
| 4249 | - $result = false; |
|
| 4250 | - if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) { |
|
| 4251 | - $result = true; |
|
| 4252 | - } |
|
| 4239 | + return $result; |
|
| 4240 | + } |
|
| 4253 | 4241 | |
| 4254 | - return $result; |
|
| 4255 | - } |
|
| 4242 | + /** |
|
| 4243 | + * Tests if the current output is inside a fusion builder preview. |
|
| 4244 | + * |
|
| 4245 | + * @return bool |
|
| 4246 | + *@since 1.1.0 |
|
| 4247 | + */ |
|
| 4248 | + public function is_fusion_preview() { |
|
| 4249 | + $result = false; |
|
| 4250 | + if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) { |
|
| 4251 | + $result = true; |
|
| 4252 | + } |
|
| 4256 | 4253 | |
| 4257 | - /** |
|
| 4258 | - * Tests if the current output is inside a Oxygen builder preview. |
|
| 4259 | - * |
|
| 4260 | - * @return bool |
|
| 4261 | - *@since 1.0.18 |
|
| 4262 | - */ |
|
| 4263 | - public function is_oxygen_preview() { |
|
| 4264 | - $result = false; |
|
| 4265 | - if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) { |
|
| 4266 | - $result = true; |
|
| 4267 | - } |
|
| 4254 | + return $result; |
|
| 4255 | + } |
|
| 4268 | 4256 | |
| 4269 | - return $result; |
|
| 4270 | - } |
|
| 4257 | + /** |
|
| 4258 | + * Tests if the current output is inside a Oxygen builder preview. |
|
| 4259 | + * |
|
| 4260 | + * @return bool |
|
| 4261 | + *@since 1.0.18 |
|
| 4262 | + */ |
|
| 4263 | + public function is_oxygen_preview() { |
|
| 4264 | + $result = false; |
|
| 4265 | + if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) { |
|
| 4266 | + $result = true; |
|
| 4267 | + } |
|
| 4271 | 4268 | |
| 4272 | - /** |
|
| 4273 | - * Check for Kallyas theme Zion builder preview. |
|
| 4274 | - * |
|
| 4275 | - * @since 1.1.22 |
|
| 4276 | - * |
|
| 4277 | - * @return bool True when preview page otherwise false. |
|
| 4278 | - */ |
|
| 4279 | - public function is_kallyas_zion_preview() { |
|
| 4280 | - $result = false; |
|
| 4281 | - |
|
| 4282 | - if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) { |
|
| 4283 | - $result = true; |
|
| 4284 | - } |
|
| 4269 | + return $result; |
|
| 4270 | + } |
|
| 4285 | 4271 | |
| 4286 | - return $result; |
|
| 4287 | - } |
|
| 4272 | + /** |
|
| 4273 | + * Check for Kallyas theme Zion builder preview. |
|
| 4274 | + * |
|
| 4275 | + * @since 1.1.22 |
|
| 4276 | + * |
|
| 4277 | + * @return bool True when preview page otherwise false. |
|
| 4278 | + */ |
|
| 4279 | + public function is_kallyas_zion_preview() { |
|
| 4280 | + $result = false; |
|
| 4288 | 4281 | |
| 4289 | - /** |
|
| 4290 | - * General function to check if we are in a preview situation. |
|
| 4291 | - * |
|
| 4292 | - * @return bool |
|
| 4293 | - *@since 1.0.6 |
|
| 4294 | - */ |
|
| 4295 | - public function is_preview() { |
|
| 4296 | - $preview = false; |
|
| 4297 | - if ( $this->is_divi_preview() ) { |
|
| 4298 | - $preview = true; |
|
| 4299 | - } elseif ( $this->is_elementor_preview() ) { |
|
| 4300 | - $preview = true; |
|
| 4301 | - } elseif ( $this->is_beaver_preview() ) { |
|
| 4302 | - $preview = true; |
|
| 4303 | - } elseif ( $this->is_siteorigin_preview() ) { |
|
| 4304 | - $preview = true; |
|
| 4305 | - } elseif ( $this->is_cornerstone_preview() ) { |
|
| 4306 | - $preview = true; |
|
| 4307 | - } elseif ( $this->is_fusion_preview() ) { |
|
| 4308 | - $preview = true; |
|
| 4309 | - } elseif ( $this->is_oxygen_preview() ) { |
|
| 4310 | - $preview = true; |
|
| 4311 | - } elseif( $this->is_kallyas_zion_preview() ) { |
|
| 4312 | - $preview = true; |
|
| 4313 | - } elseif( $this->is_block_content_call() ) { |
|
| 4314 | - $preview = true; |
|
| 4315 | - } |
|
| 4282 | + if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) { |
|
| 4283 | + $result = true; |
|
| 4284 | + } |
|
| 4316 | 4285 | |
| 4317 | - return $preview; |
|
| 4318 | - } |
|
| 4286 | + return $result; |
|
| 4287 | + } |
|
| 4319 | 4288 | |
| 4320 | - /** |
|
| 4321 | - * Output the super title. |
|
| 4322 | - * |
|
| 4323 | - * @param $args |
|
| 4324 | - * @param array $instance |
|
| 4325 | - * |
|
| 4326 | - * @return string |
|
| 4327 | - */ |
|
| 4328 | - public function output_title( $args, $instance = array() ) { |
|
| 4329 | - $output = ''; |
|
| 4330 | - if ( ! empty( $instance['title'] ) ) { |
|
| 4331 | - /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */ |
|
| 4332 | - $title = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ); |
|
| 4333 | - |
|
| 4334 | - if(empty($instance['widget_title_tag'])){ |
|
| 4335 | - $output = $args['before_title'] . $title . $args['after_title']; |
|
| 4336 | - }else{ |
|
| 4337 | - $title_tag = esc_attr( $instance['widget_title_tag'] ); |
|
| 4338 | - |
|
| 4339 | - // classes |
|
| 4340 | - $title_classes = array(); |
|
| 4341 | - $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : ''; |
|
| 4342 | - $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : ''; |
|
| 4343 | - $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : ''; |
|
| 4344 | - $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : ''; |
|
| 4345 | - $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : ''; |
|
| 4346 | - $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : ''; |
|
| 4347 | - $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : ''; |
|
| 4348 | - $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : ''; |
|
| 4349 | - $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : ''; |
|
| 4350 | - $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : ''; |
|
| 4351 | - $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : ''; |
|
| 4352 | - $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : ''; |
|
| 4353 | - $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : ''; |
|
| 4354 | - |
|
| 4355 | - $class = !empty( $title_classes ) ? implode(" ",$title_classes) : ''; |
|
| 4356 | - $output = "<$title_tag class='$class' >$title</$title_tag>"; |
|
| 4357 | - } |
|
| 4289 | + /** |
|
| 4290 | + * General function to check if we are in a preview situation. |
|
| 4291 | + * |
|
| 4292 | + * @return bool |
|
| 4293 | + *@since 1.0.6 |
|
| 4294 | + */ |
|
| 4295 | + public function is_preview() { |
|
| 4296 | + $preview = false; |
|
| 4297 | + if ( $this->is_divi_preview() ) { |
|
| 4298 | + $preview = true; |
|
| 4299 | + } elseif ( $this->is_elementor_preview() ) { |
|
| 4300 | + $preview = true; |
|
| 4301 | + } elseif ( $this->is_beaver_preview() ) { |
|
| 4302 | + $preview = true; |
|
| 4303 | + } elseif ( $this->is_siteorigin_preview() ) { |
|
| 4304 | + $preview = true; |
|
| 4305 | + } elseif ( $this->is_cornerstone_preview() ) { |
|
| 4306 | + $preview = true; |
|
| 4307 | + } elseif ( $this->is_fusion_preview() ) { |
|
| 4308 | + $preview = true; |
|
| 4309 | + } elseif ( $this->is_oxygen_preview() ) { |
|
| 4310 | + $preview = true; |
|
| 4311 | + } elseif( $this->is_kallyas_zion_preview() ) { |
|
| 4312 | + $preview = true; |
|
| 4313 | + } elseif( $this->is_block_content_call() ) { |
|
| 4314 | + $preview = true; |
|
| 4315 | + } |
|
| 4358 | 4316 | |
| 4359 | - } |
|
| 4317 | + return $preview; |
|
| 4318 | + } |
|
| 4360 | 4319 | |
| 4361 | - return $output; |
|
| 4362 | - } |
|
| 4320 | + /** |
|
| 4321 | + * Output the super title. |
|
| 4322 | + * |
|
| 4323 | + * @param $args |
|
| 4324 | + * @param array $instance |
|
| 4325 | + * |
|
| 4326 | + * @return string |
|
| 4327 | + */ |
|
| 4328 | + public function output_title( $args, $instance = array() ) { |
|
| 4329 | + $output = ''; |
|
| 4330 | + if ( ! empty( $instance['title'] ) ) { |
|
| 4331 | + /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */ |
|
| 4332 | + $title = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ); |
|
| 4333 | + |
|
| 4334 | + if(empty($instance['widget_title_tag'])){ |
|
| 4335 | + $output = $args['before_title'] . $title . $args['after_title']; |
|
| 4336 | + }else{ |
|
| 4337 | + $title_tag = esc_attr( $instance['widget_title_tag'] ); |
|
| 4338 | + |
|
| 4339 | + // classes |
|
| 4340 | + $title_classes = array(); |
|
| 4341 | + $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : ''; |
|
| 4342 | + $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : ''; |
|
| 4343 | + $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : ''; |
|
| 4344 | + $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : ''; |
|
| 4345 | + $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : ''; |
|
| 4346 | + $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : ''; |
|
| 4347 | + $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : ''; |
|
| 4348 | + $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : ''; |
|
| 4349 | + $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : ''; |
|
| 4350 | + $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : ''; |
|
| 4351 | + $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : ''; |
|
| 4352 | + $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : ''; |
|
| 4353 | + $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : ''; |
|
| 4354 | + |
|
| 4355 | + $class = !empty( $title_classes ) ? implode(" ",$title_classes) : ''; |
|
| 4356 | + $output = "<$title_tag class='$class' >$title</$title_tag>"; |
|
| 4357 | + } |
|
| 4358 | + |
|
| 4359 | + } |
|
| 4360 | + |
|
| 4361 | + return $output; |
|
| 4362 | + } |
|
| 4363 | 4363 | |
| 4364 | - /** |
|
| 4365 | - * Outputs the options form inputs for the widget. |
|
| 4366 | - * |
|
| 4367 | - * @param array $instance The widget options. |
|
| 4368 | - */ |
|
| 4369 | - public function form( $instance ) { |
|
| 4364 | + /** |
|
| 4365 | + * Outputs the options form inputs for the widget. |
|
| 4366 | + * |
|
| 4367 | + * @param array $instance The widget options. |
|
| 4368 | + */ |
|
| 4369 | + public function form( $instance ) { |
|
| 4370 | 4370 | |
| 4371 | - // set widget instance |
|
| 4372 | - $this->instance = $instance; |
|
| 4371 | + // set widget instance |
|
| 4372 | + $this->instance = $instance; |
|
| 4373 | 4373 | |
| 4374 | - // set it as a SD widget |
|
| 4375 | - echo $this->widget_advanced_toggle(); |
|
| 4374 | + // set it as a SD widget |
|
| 4375 | + echo $this->widget_advanced_toggle(); |
|
| 4376 | 4376 | |
| 4377 | - echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>"; |
|
| 4378 | - $arguments_raw = $this->get_arguments(); |
|
| 4377 | + echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>"; |
|
| 4378 | + $arguments_raw = $this->get_arguments(); |
|
| 4379 | 4379 | |
| 4380 | - if ( is_array( $arguments_raw ) ) { |
|
| 4380 | + if ( is_array( $arguments_raw ) ) { |
|
| 4381 | 4381 | |
| 4382 | - $arguments = $this->group_arguments( $arguments_raw ); |
|
| 4382 | + $arguments = $this->group_arguments( $arguments_raw ); |
|
| 4383 | 4383 | |
| 4384 | - // Do we have sections? |
|
| 4385 | - $has_sections = $arguments == $arguments_raw ? false : true; |
|
| 4384 | + // Do we have sections? |
|
| 4385 | + $has_sections = $arguments == $arguments_raw ? false : true; |
|
| 4386 | 4386 | |
| 4387 | 4387 | |
| 4388 | - if ( $has_sections ) { |
|
| 4389 | - $panel_count = 0; |
|
| 4390 | - foreach ( $arguments as $key => $args ) { |
|
| 4388 | + if ( $has_sections ) { |
|
| 4389 | + $panel_count = 0; |
|
| 4390 | + foreach ( $arguments as $key => $args ) { |
|
| 4391 | 4391 | |
| 4392 | - ?> |
|
| 4392 | + ?> |
|
| 4393 | 4393 | <script> |
| 4394 | 4394 | // jQuery(this).find("i").toggleClass("fas fa-chevron-up fas fa-chevron-down");jQuery(this).next().toggle(); |
| 4395 | 4395 | </script> |
| 4396 | 4396 | <?php |
| 4397 | 4397 | |
| 4398 | - $hide = $panel_count ? ' style="display:none;" ' : ''; |
|
| 4399 | - $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down'; |
|
| 4400 | - echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>"; |
|
| 4401 | - echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>"; |
|
| 4398 | + $hide = $panel_count ? ' style="display:none;" ' : ''; |
|
| 4399 | + $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down'; |
|
| 4400 | + echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>"; |
|
| 4401 | + echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>"; |
|
| 4402 | 4402 | |
| 4403 | - foreach ( $args as $k => $a ) { |
|
| 4403 | + foreach ( $args as $k => $a ) { |
|
| 4404 | 4404 | |
| 4405 | - $this->widget_inputs_row_start($k, $a); |
|
| 4406 | - $this->widget_inputs( $a, $instance ); |
|
| 4407 | - $this->widget_inputs_row_end($k, $a); |
|
| 4405 | + $this->widget_inputs_row_start($k, $a); |
|
| 4406 | + $this->widget_inputs( $a, $instance ); |
|
| 4407 | + $this->widget_inputs_row_end($k, $a); |
|
| 4408 | 4408 | |
| 4409 | - } |
|
| 4409 | + } |
|
| 4410 | 4410 | |
| 4411 | - echo "</div>"; |
|
| 4411 | + echo "</div>"; |
|
| 4412 | 4412 | |
| 4413 | - $panel_count ++; |
|
| 4413 | + $panel_count ++; |
|
| 4414 | 4414 | |
| 4415 | - } |
|
| 4416 | - } else { |
|
| 4417 | - foreach ( $arguments as $key => $args ) { |
|
| 4418 | - $this->widget_inputs_row_start($key, $args); |
|
| 4419 | - $this->widget_inputs( $args, $instance ); |
|
| 4420 | - $this->widget_inputs_row_end($key, $args); |
|
| 4421 | - } |
|
| 4422 | - } |
|
| 4415 | + } |
|
| 4416 | + } else { |
|
| 4417 | + foreach ( $arguments as $key => $args ) { |
|
| 4418 | + $this->widget_inputs_row_start($key, $args); |
|
| 4419 | + $this->widget_inputs( $args, $instance ); |
|
| 4420 | + $this->widget_inputs_row_end($key, $args); |
|
| 4421 | + } |
|
| 4422 | + } |
|
| 4423 | 4423 | |
| 4424 | - } |
|
| 4425 | - } |
|
| 4424 | + } |
|
| 4425 | + } |
|
| 4426 | 4426 | |
| 4427 | - public function widget_inputs_row_start($key, $args){ |
|
| 4428 | - if(!empty($args['row'])){ |
|
| 4429 | - // maybe open |
|
| 4430 | - if(!empty($args['row']['open'])){ |
|
| 4431 | - ?> |
|
| 4427 | + public function widget_inputs_row_start($key, $args){ |
|
| 4428 | + if(!empty($args['row'])){ |
|
| 4429 | + // maybe open |
|
| 4430 | + if(!empty($args['row']['open'])){ |
|
| 4431 | + ?> |
|
| 4432 | 4432 | <div class='bsui sd-argument ' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php if ( !empty($args['row']['element_require'])) { |
| 4433 | - echo $this->convert_element_require( $args['row']['element_require'] ); |
|
| 4434 | - } ?>'> |
|
| 4433 | + echo $this->convert_element_require( $args['row']['element_require'] ); |
|
| 4434 | + } ?>'> |
|
| 4435 | 4435 | <?php if(!empty($args['row']['title'])){ ?> |
| 4436 | 4436 | <label class="mb-0 "><?php echo esc_attr( $args['row']['title'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label> |
| 4437 | 4437 | <?php }?> |
| 4438 | 4438 | <div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'> |
| 4439 | 4439 | <div class='col pr-2'> |
| 4440 | 4440 | <?php |
| 4441 | - }elseif(!empty($args['row']['close'])){ |
|
| 4442 | - echo "<div class='col pl-0 ps-0'>"; |
|
| 4443 | - }else{ |
|
| 4444 | - echo "<div class='col pl-0 ps-0 pr-2 pe-2'>"; |
|
| 4445 | - } |
|
| 4446 | - } |
|
| 4447 | - } |
|
| 4441 | + }elseif(!empty($args['row']['close'])){ |
|
| 4442 | + echo "<div class='col pl-0 ps-0'>"; |
|
| 4443 | + }else{ |
|
| 4444 | + echo "<div class='col pl-0 ps-0 pr-2 pe-2'>"; |
|
| 4445 | + } |
|
| 4446 | + } |
|
| 4447 | + } |
|
| 4448 | 4448 | |
| 4449 | - public function widget_inputs_row_end($key, $args){ |
|
| 4449 | + public function widget_inputs_row_end($key, $args){ |
|
| 4450 | 4450 | |
| 4451 | - if(!empty($args['row'])){ |
|
| 4452 | - // maybe close |
|
| 4453 | - if(!empty($args['row']['close'])){ |
|
| 4454 | - echo "</div></div>"; |
|
| 4455 | - } |
|
| 4451 | + if(!empty($args['row'])){ |
|
| 4452 | + // maybe close |
|
| 4453 | + if(!empty($args['row']['close'])){ |
|
| 4454 | + echo "</div></div>"; |
|
| 4455 | + } |
|
| 4456 | 4456 | |
| 4457 | - echo "</div>"; |
|
| 4458 | - } |
|
| 4459 | - } |
|
| 4457 | + echo "</div>"; |
|
| 4458 | + } |
|
| 4459 | + } |
|
| 4460 | 4460 | |
| 4461 | - /** |
|
| 4462 | - * Get the hidden input that when added makes the advanced button show on widget settings. |
|
| 4463 | - * |
|
| 4464 | - * @return string |
|
| 4465 | - */ |
|
| 4466 | - public function widget_advanced_toggle() { |
|
| 4461 | + /** |
|
| 4462 | + * Get the hidden input that when added makes the advanced button show on widget settings. |
|
| 4463 | + * |
|
| 4464 | + * @return string |
|
| 4465 | + */ |
|
| 4466 | + public function widget_advanced_toggle() { |
|
| 4467 | 4467 | |
| 4468 | - $output = ''; |
|
| 4469 | - if ( $this->block_show_advanced() ) { |
|
| 4470 | - $val = 1; |
|
| 4471 | - } else { |
|
| 4472 | - $val = 0; |
|
| 4473 | - } |
|
| 4468 | + $output = ''; |
|
| 4469 | + if ( $this->block_show_advanced() ) { |
|
| 4470 | + $val = 1; |
|
| 4471 | + } else { |
|
| 4472 | + $val = 0; |
|
| 4473 | + } |
|
| 4474 | 4474 | |
| 4475 | - $output .= "<input type='hidden' class='sd-show-advanced' value='$val' />"; |
|
| 4475 | + $output .= "<input type='hidden' class='sd-show-advanced' value='$val' />"; |
|
| 4476 | 4476 | |
| 4477 | - return $output; |
|
| 4478 | - } |
|
| 4477 | + return $output; |
|
| 4478 | + } |
|
| 4479 | 4479 | |
| 4480 | - /** |
|
| 4481 | - * Convert require element. |
|
| 4482 | - * |
|
| 4483 | - * @param string $input Input element. |
|
| 4484 | - * |
|
| 4485 | - * @return string $output |
|
| 4486 | - *@since 1.0.0 |
|
| 4487 | - * |
|
| 4488 | - */ |
|
| 4489 | - public function convert_element_require( $input ) { |
|
| 4490 | - |
|
| 4491 | - $input = str_replace( "'", '"', $input );// we only want double quotes |
|
| 4492 | - |
|
| 4493 | - $output = esc_attr( str_replace( array( "[%", "%]" ), array( |
|
| 4494 | - "jQuery(form).find('[data-argument=\"", |
|
| 4495 | - "\"]').find('input,select,textarea').val()" |
|
| 4496 | - ), $input ) ); |
|
| 4497 | - |
|
| 4498 | - return $output; |
|
| 4499 | - } |
|
| 4480 | + /** |
|
| 4481 | + * Convert require element. |
|
| 4482 | + * |
|
| 4483 | + * @param string $input Input element. |
|
| 4484 | + * |
|
| 4485 | + * @return string $output |
|
| 4486 | + *@since 1.0.0 |
|
| 4487 | + * |
|
| 4488 | + */ |
|
| 4489 | + public function convert_element_require( $input ) { |
|
| 4500 | 4490 | |
| 4501 | - /** |
|
| 4502 | - * Builds the inputs for the widget options. |
|
| 4503 | - * |
|
| 4504 | - * @param $args |
|
| 4505 | - * @param $instance |
|
| 4506 | - */ |
|
| 4507 | - public function widget_inputs( $args, $instance ) { |
|
| 4508 | - |
|
| 4509 | - $class = ""; |
|
| 4510 | - $element_require = ""; |
|
| 4511 | - $custom_attributes = ""; |
|
| 4512 | - |
|
| 4513 | - // get value |
|
| 4514 | - if ( isset( $instance[ $args['name'] ] ) ) { |
|
| 4515 | - $value = $instance[ $args['name'] ]; |
|
| 4516 | - } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) { |
|
| 4517 | - $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] ); |
|
| 4518 | - } else { |
|
| 4519 | - $value = ''; |
|
| 4520 | - } |
|
| 4491 | + $input = str_replace( "'", '"', $input );// we only want double quotes |
|
| 4521 | 4492 | |
| 4522 | - // get placeholder |
|
| 4523 | - if ( ! empty( $args['placeholder'] ) ) { |
|
| 4524 | - $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'"; |
|
| 4525 | - } else { |
|
| 4526 | - $placeholder = ''; |
|
| 4527 | - } |
|
| 4493 | + $output = esc_attr( str_replace( array( "[%", "%]" ), array( |
|
| 4494 | + "jQuery(form).find('[data-argument=\"", |
|
| 4495 | + "\"]').find('input,select,textarea').val()" |
|
| 4496 | + ), $input ) ); |
|
| 4528 | 4497 | |
| 4529 | - // get if advanced |
|
| 4530 | - if ( isset( $args['advanced'] ) && $args['advanced'] ) { |
|
| 4531 | - $class .= " sd-advanced-setting "; |
|
| 4532 | - } |
|
| 4498 | + return $output; |
|
| 4499 | + } |
|
| 4533 | 4500 | |
| 4534 | - // element_require |
|
| 4535 | - if ( isset( $args['element_require'] ) && $args['element_require'] ) { |
|
| 4536 | - $element_require = $args['element_require']; |
|
| 4537 | - } |
|
| 4501 | + /** |
|
| 4502 | + * Builds the inputs for the widget options. |
|
| 4503 | + * |
|
| 4504 | + * @param $args |
|
| 4505 | + * @param $instance |
|
| 4506 | + */ |
|
| 4507 | + public function widget_inputs( $args, $instance ) { |
|
| 4508 | + |
|
| 4509 | + $class = ""; |
|
| 4510 | + $element_require = ""; |
|
| 4511 | + $custom_attributes = ""; |
|
| 4512 | + |
|
| 4513 | + // get value |
|
| 4514 | + if ( isset( $instance[ $args['name'] ] ) ) { |
|
| 4515 | + $value = $instance[ $args['name'] ]; |
|
| 4516 | + } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) { |
|
| 4517 | + $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] ); |
|
| 4518 | + } else { |
|
| 4519 | + $value = ''; |
|
| 4520 | + } |
|
| 4538 | 4521 | |
| 4539 | - // custom_attributes |
|
| 4540 | - if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) { |
|
| 4541 | - $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true ); |
|
| 4542 | - } |
|
| 4522 | + // get placeholder |
|
| 4523 | + if ( ! empty( $args['placeholder'] ) ) { |
|
| 4524 | + $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'"; |
|
| 4525 | + } else { |
|
| 4526 | + $placeholder = ''; |
|
| 4527 | + } |
|
| 4528 | + |
|
| 4529 | + // get if advanced |
|
| 4530 | + if ( isset( $args['advanced'] ) && $args['advanced'] ) { |
|
| 4531 | + $class .= " sd-advanced-setting "; |
|
| 4532 | + } |
|
| 4533 | + |
|
| 4534 | + // element_require |
|
| 4535 | + if ( isset( $args['element_require'] ) && $args['element_require'] ) { |
|
| 4536 | + $element_require = $args['element_require']; |
|
| 4537 | + } |
|
| 4538 | + |
|
| 4539 | + // custom_attributes |
|
| 4540 | + if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) { |
|
| 4541 | + $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true ); |
|
| 4542 | + } |
|
| 4543 | 4543 | |
| 4544 | - // before wrapper |
|
| 4545 | - ?> |
|
| 4544 | + // before wrapper |
|
| 4545 | + ?> |
|
| 4546 | 4546 | <p class="sd-argument <?php echo esc_attr( $class ); ?>" data-argument='<?php echo esc_attr( $args['name'] ); ?>' data-element_require='<?php if ( $element_require ) { echo $this->convert_element_require( $element_require );} ?>'> |
| 4547 | 4547 | <?php |
| 4548 | - switch ( $args['type'] ) { |
|
| 4549 | - //array('text','password','number','email','tel','url','color') |
|
| 4550 | - case "text": |
|
| 4551 | - case "password": |
|
| 4552 | - case "number": |
|
| 4553 | - case "email": |
|
| 4554 | - case "tel": |
|
| 4555 | - case "url": |
|
| 4556 | - case "color": |
|
| 4557 | - ?> |
|
| 4548 | + switch ( $args['type'] ) { |
|
| 4549 | + //array('text','password','number','email','tel','url','color') |
|
| 4550 | + case "text": |
|
| 4551 | + case "password": |
|
| 4552 | + case "number": |
|
| 4553 | + case "email": |
|
| 4554 | + case "tel": |
|
| 4555 | + case "url": |
|
| 4556 | + case "color": |
|
| 4557 | + ?> |
|
| 4558 | 4558 | <label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label> |
| 4559 | 4559 | <input <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="<?php echo esc_attr( $args['type'] ); ?>" value="<?php echo esc_attr( $value ); ?>"> |
| 4560 | 4560 | <?php |
| 4561 | 4561 | |
| 4562 | - break; |
|
| 4563 | - case "select": |
|
| 4564 | - $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false; |
|
| 4565 | - if ( $multiple ) { |
|
| 4566 | - if ( empty( $value ) ) { |
|
| 4567 | - $value = array(); |
|
| 4568 | - } |
|
| 4569 | - } |
|
| 4570 | - ?> |
|
| 4562 | + break; |
|
| 4563 | + case "select": |
|
| 4564 | + $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false; |
|
| 4565 | + if ( $multiple ) { |
|
| 4566 | + if ( empty( $value ) ) { |
|
| 4567 | + $value = array(); |
|
| 4568 | + } |
|
| 4569 | + } |
|
| 4570 | + ?> |
|
| 4571 | 4571 | <label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label> |
| 4572 | 4572 | <select <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); if ( $multiple ) { echo "[]"; } ?>" |
| 4573 | 4573 | <?php if ( $multiple ) { |
| 4574 | - echo "multiple"; |
|
| 4575 | - } //@todo not implemented yet due to gutenberg not supporting it |
|
| 4576 | - ?>> |
|
| 4574 | + echo "multiple"; |
|
| 4575 | + } //@todo not implemented yet due to gutenberg not supporting it |
|
| 4576 | + ?>> |
|
| 4577 | 4577 | <?php |
| 4578 | 4578 | |
| 4579 | - if ( ! empty( $args['options'] ) ) { |
|
| 4580 | - foreach ( $args['options'] as $val => $label ) { |
|
| 4581 | - if ( $multiple ) { |
|
| 4582 | - $selected = in_array( $val, $value ) ? 'selected="selected"' : ''; |
|
| 4583 | - } else { |
|
| 4584 | - $selected = selected( $value, $val, false ); |
|
| 4585 | - } |
|
| 4586 | - echo "<option value='$val' " . $selected . ">$label</option>"; |
|
| 4587 | - } |
|
| 4588 | - } |
|
| 4589 | - ?> |
|
| 4579 | + if ( ! empty( $args['options'] ) ) { |
|
| 4580 | + foreach ( $args['options'] as $val => $label ) { |
|
| 4581 | + if ( $multiple ) { |
|
| 4582 | + $selected = in_array( $val, $value ) ? 'selected="selected"' : ''; |
|
| 4583 | + } else { |
|
| 4584 | + $selected = selected( $value, $val, false ); |
|
| 4585 | + } |
|
| 4586 | + echo "<option value='$val' " . $selected . ">$label</option>"; |
|
| 4587 | + } |
|
| 4588 | + } |
|
| 4589 | + ?> |
|
| 4590 | 4590 | </select> |
| 4591 | 4591 | <?php |
| 4592 | - break; |
|
| 4593 | - case "checkbox": |
|
| 4594 | - ?> |
|
| 4592 | + break; |
|
| 4593 | + case "checkbox": |
|
| 4594 | + ?> |
|
| 4595 | 4595 | <input <?php echo $placeholder; ?> <?php checked( 1, $value, true ) ?> <?php echo $custom_attributes; ?> class="widefat" id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="checkbox" value="1"> |
| 4596 | 4596 | <label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label> |
| 4597 | 4597 | <?php |
| 4598 | - break; |
|
| 4599 | - case "textarea": |
|
| 4600 | - ?> |
|
| 4598 | + break; |
|
| 4599 | + case "textarea": |
|
| 4600 | + ?> |
|
| 4601 | 4601 | <label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label> |
| 4602 | 4602 | <textarea <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>"><?php echo esc_attr( $value ); ?></textarea> |
| 4603 | 4603 | <?php |
| 4604 | 4604 | |
| 4605 | - break; |
|
| 4606 | - case "hidden": |
|
| 4607 | - ?> |
|
| 4605 | + break; |
|
| 4606 | + case "hidden": |
|
| 4607 | + ?> |
|
| 4608 | 4608 | <input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden" value="<?php echo esc_attr( $value ); ?>"> |
| 4609 | 4609 | <?php |
| 4610 | - break; |
|
| 4611 | - default: |
|
| 4612 | - echo "No input type found!"; // @todo we need to add more input types. |
|
| 4613 | - } |
|
| 4614 | - // after wrapper |
|
| 4615 | - ?></p><?php |
|
| 4616 | - } |
|
| 4610 | + break; |
|
| 4611 | + default: |
|
| 4612 | + echo "No input type found!"; // @todo we need to add more input types. |
|
| 4613 | + } |
|
| 4614 | + // after wrapper |
|
| 4615 | + ?></p><?php |
|
| 4616 | + } |
|
| 4617 | 4617 | |
| 4618 | - public function get_widget_icon($icon = 'box-top', $title = ''){ |
|
| 4619 | - if($icon=='box-top'){ |
|
| 4620 | - return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>'; |
|
| 4621 | - }elseif($icon=='box-right'){ |
|
| 4622 | - return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>'; |
|
| 4623 | - }elseif($icon=='box-bottom'){ |
|
| 4624 | - return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>'; |
|
| 4625 | - }elseif($icon=='box-left'){ |
|
| 4626 | - return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>'; |
|
| 4627 | - } |
|
| 4628 | - } |
|
| 4618 | + public function get_widget_icon($icon = 'box-top', $title = ''){ |
|
| 4619 | + if($icon=='box-top'){ |
|
| 4620 | + return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>'; |
|
| 4621 | + }elseif($icon=='box-right'){ |
|
| 4622 | + return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>'; |
|
| 4623 | + }elseif($icon=='box-bottom'){ |
|
| 4624 | + return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>'; |
|
| 4625 | + }elseif($icon=='box-left'){ |
|
| 4626 | + return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>'; |
|
| 4627 | + } |
|
| 4628 | + } |
|
| 4629 | 4629 | |
| 4630 | - /** |
|
| 4631 | - * Get the widget input description html. |
|
| 4632 | - * |
|
| 4633 | - * @param $args |
|
| 4634 | - * |
|
| 4635 | - * @return string |
|
| 4636 | - * @todo, need to make its own tooltip script |
|
| 4637 | - */ |
|
| 4638 | - public function widget_field_desc( $args ) { |
|
| 4639 | - |
|
| 4640 | - $description = ''; |
|
| 4641 | - if ( isset( $args['desc'] ) && $args['desc'] ) { |
|
| 4642 | - if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) { |
|
| 4643 | - $description = $this->desc_tip( $args['desc'] ); |
|
| 4644 | - } else { |
|
| 4645 | - $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>'; |
|
| 4646 | - } |
|
| 4647 | - } |
|
| 4630 | + /** |
|
| 4631 | + * Get the widget input description html. |
|
| 4632 | + * |
|
| 4633 | + * @param $args |
|
| 4634 | + * |
|
| 4635 | + * @return string |
|
| 4636 | + * @todo, need to make its own tooltip script |
|
| 4637 | + */ |
|
| 4638 | + public function widget_field_desc( $args ) { |
|
| 4639 | + |
|
| 4640 | + $description = ''; |
|
| 4641 | + if ( isset( $args['desc'] ) && $args['desc'] ) { |
|
| 4642 | + if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) { |
|
| 4643 | + $description = $this->desc_tip( $args['desc'] ); |
|
| 4644 | + } else { |
|
| 4645 | + $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>'; |
|
| 4646 | + } |
|
| 4647 | + } |
|
| 4648 | 4648 | |
| 4649 | - return $description; |
|
| 4650 | - } |
|
| 4649 | + return $description; |
|
| 4650 | + } |
|
| 4651 | 4651 | |
| 4652 | - /** |
|
| 4653 | - * Get the widget input title html. |
|
| 4654 | - * |
|
| 4655 | - * @param $args |
|
| 4656 | - * |
|
| 4657 | - * @return string |
|
| 4658 | - */ |
|
| 4659 | - public function widget_field_title( $args ) { |
|
| 4660 | - |
|
| 4661 | - $title = ''; |
|
| 4662 | - if ( isset( $args['title'] ) && $args['title'] ) { |
|
| 4663 | - if ( isset( $args['icon'] ) && $args['icon'] ) { |
|
| 4664 | - $title = self::get_widget_icon( $args['icon'], $args['title'] ); |
|
| 4665 | - } else { |
|
| 4666 | - $title = esc_attr($args['title']); |
|
| 4667 | - } |
|
| 4668 | - } |
|
| 4652 | + /** |
|
| 4653 | + * Get the widget input title html. |
|
| 4654 | + * |
|
| 4655 | + * @param $args |
|
| 4656 | + * |
|
| 4657 | + * @return string |
|
| 4658 | + */ |
|
| 4659 | + public function widget_field_title( $args ) { |
|
| 4660 | + |
|
| 4661 | + $title = ''; |
|
| 4662 | + if ( isset( $args['title'] ) && $args['title'] ) { |
|
| 4663 | + if ( isset( $args['icon'] ) && $args['icon'] ) { |
|
| 4664 | + $title = self::get_widget_icon( $args['icon'], $args['title'] ); |
|
| 4665 | + } else { |
|
| 4666 | + $title = esc_attr($args['title']); |
|
| 4667 | + } |
|
| 4668 | + } |
|
| 4669 | 4669 | |
| 4670 | - return $title; |
|
| 4671 | - } |
|
| 4670 | + return $title; |
|
| 4671 | + } |
|
| 4672 | 4672 | |
| 4673 | - /** |
|
| 4674 | - * Get the tool tip html. |
|
| 4675 | - * |
|
| 4676 | - * @param $tip |
|
| 4677 | - * @param bool $allow_html |
|
| 4678 | - * |
|
| 4679 | - * @return string |
|
| 4680 | - */ |
|
| 4681 | - function desc_tip( $tip, $allow_html = false ) { |
|
| 4682 | - if ( $allow_html ) { |
|
| 4683 | - $tip = $this->sanitize_tooltip( $tip ); |
|
| 4684 | - } else { |
|
| 4685 | - $tip = esc_attr( $tip ); |
|
| 4686 | - } |
|
| 4673 | + /** |
|
| 4674 | + * Get the tool tip html. |
|
| 4675 | + * |
|
| 4676 | + * @param $tip |
|
| 4677 | + * @param bool $allow_html |
|
| 4678 | + * |
|
| 4679 | + * @return string |
|
| 4680 | + */ |
|
| 4681 | + function desc_tip( $tip, $allow_html = false ) { |
|
| 4682 | + if ( $allow_html ) { |
|
| 4683 | + $tip = $this->sanitize_tooltip( $tip ); |
|
| 4684 | + } else { |
|
| 4685 | + $tip = esc_attr( $tip ); |
|
| 4686 | + } |
|
| 4687 | 4687 | |
| 4688 | - return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>'; |
|
| 4689 | - } |
|
| 4688 | + return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>'; |
|
| 4689 | + } |
|
| 4690 | 4690 | |
| 4691 | - /** |
|
| 4692 | - * Sanitize a string destined to be a tooltip. |
|
| 4693 | - * |
|
| 4694 | - * @param string $var |
|
| 4695 | - * |
|
| 4696 | - * @return string |
|
| 4697 | - */ |
|
| 4698 | - public function sanitize_tooltip( $var ) { |
|
| 4699 | - return htmlspecialchars( wp_kses( html_entity_decode( $var ), array( |
|
| 4700 | - 'br' => array(), |
|
| 4701 | - 'em' => array(), |
|
| 4702 | - 'strong' => array(), |
|
| 4703 | - 'small' => array(), |
|
| 4704 | - 'span' => array(), |
|
| 4705 | - 'ul' => array(), |
|
| 4706 | - 'li' => array(), |
|
| 4707 | - 'ol' => array(), |
|
| 4708 | - 'p' => array(), |
|
| 4709 | - ) ) ); |
|
| 4710 | - } |
|
| 4691 | + /** |
|
| 4692 | + * Sanitize a string destined to be a tooltip. |
|
| 4693 | + * |
|
| 4694 | + * @param string $var |
|
| 4695 | + * |
|
| 4696 | + * @return string |
|
| 4697 | + */ |
|
| 4698 | + public function sanitize_tooltip( $var ) { |
|
| 4699 | + return htmlspecialchars( wp_kses( html_entity_decode( $var ), array( |
|
| 4700 | + 'br' => array(), |
|
| 4701 | + 'em' => array(), |
|
| 4702 | + 'strong' => array(), |
|
| 4703 | + 'small' => array(), |
|
| 4704 | + 'span' => array(), |
|
| 4705 | + 'ul' => array(), |
|
| 4706 | + 'li' => array(), |
|
| 4707 | + 'ol' => array(), |
|
| 4708 | + 'p' => array(), |
|
| 4709 | + ) ) ); |
|
| 4710 | + } |
|
| 4711 | 4711 | |
| 4712 | - /** |
|
| 4713 | - * Processing widget options on save |
|
| 4714 | - * |
|
| 4715 | - * @param array $new_instance The new options |
|
| 4716 | - * @param array $old_instance The previous options |
|
| 4717 | - * |
|
| 4718 | - * @return array |
|
| 4719 | - * @todo we should add some sanitation here. |
|
| 4720 | - */ |
|
| 4721 | - public function update( $new_instance, $old_instance ) { |
|
| 4722 | - |
|
| 4723 | - //save the widget |
|
| 4724 | - $instance = array_merge( (array) $old_instance, (array) $new_instance ); |
|
| 4725 | - |
|
| 4726 | - // set widget instance |
|
| 4727 | - $this->instance = $instance; |
|
| 4728 | - |
|
| 4729 | - if ( empty( $this->arguments ) ) { |
|
| 4730 | - $this->get_arguments(); |
|
| 4731 | - } |
|
| 4712 | + /** |
|
| 4713 | + * Processing widget options on save |
|
| 4714 | + * |
|
| 4715 | + * @param array $new_instance The new options |
|
| 4716 | + * @param array $old_instance The previous options |
|
| 4717 | + * |
|
| 4718 | + * @return array |
|
| 4719 | + * @todo we should add some sanitation here. |
|
| 4720 | + */ |
|
| 4721 | + public function update( $new_instance, $old_instance ) { |
|
| 4732 | 4722 | |
| 4733 | - // check for checkboxes |
|
| 4734 | - if ( ! empty( $this->arguments ) ) { |
|
| 4735 | - foreach ( $this->arguments as $argument ) { |
|
| 4736 | - if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) { |
|
| 4737 | - $instance[ $argument['name'] ] = '0'; |
|
| 4738 | - } |
|
| 4739 | - } |
|
| 4740 | - } |
|
| 4723 | + //save the widget |
|
| 4724 | + $instance = array_merge( (array) $old_instance, (array) $new_instance ); |
|
| 4741 | 4725 | |
| 4742 | - return $instance; |
|
| 4743 | - } |
|
| 4726 | + // set widget instance |
|
| 4727 | + $this->instance = $instance; |
|
| 4744 | 4728 | |
| 4745 | - /** |
|
| 4746 | - * Checks if the current call is a ajax call to get the block content. |
|
| 4747 | - * |
|
| 4748 | - * This can be used in your widget to return different content as the block content. |
|
| 4749 | - * |
|
| 4750 | - * @return bool |
|
| 4751 | - *@since 1.0.3 |
|
| 4752 | - */ |
|
| 4753 | - public function is_block_content_call() { |
|
| 4754 | - $result = false; |
|
| 4755 | - if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) { |
|
| 4756 | - $result = true; |
|
| 4757 | - } |
|
| 4729 | + if ( empty( $this->arguments ) ) { |
|
| 4730 | + $this->get_arguments(); |
|
| 4731 | + } |
|
| 4758 | 4732 | |
| 4759 | - return $result; |
|
| 4760 | - } |
|
| 4733 | + // check for checkboxes |
|
| 4734 | + if ( ! empty( $this->arguments ) ) { |
|
| 4735 | + foreach ( $this->arguments as $argument ) { |
|
| 4736 | + if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) { |
|
| 4737 | + $instance[ $argument['name'] ] = '0'; |
|
| 4738 | + } |
|
| 4739 | + } |
|
| 4740 | + } |
|
| 4761 | 4741 | |
| 4762 | - /** |
|
| 4763 | - * Get an instance hash that will be unique to the type and settings. |
|
| 4764 | - * |
|
| 4765 | - * @return string |
|
| 4766 | - *@since 1.0.20 |
|
| 4767 | - */ |
|
| 4768 | - public function get_instance_hash(){ |
|
| 4769 | - $instance_string = $this->base_id.serialize($this->instance); |
|
| 4770 | - return hash('crc32b',$instance_string); |
|
| 4771 | - } |
|
| 4742 | + return $instance; |
|
| 4743 | + } |
|
| 4772 | 4744 | |
| 4773 | - /** |
|
| 4774 | - * Generate and return inline styles from CSS rules that will match the unique class of the instance. |
|
| 4775 | - * |
|
| 4776 | - * @param array $rules |
|
| 4777 | - * |
|
| 4778 | - * @return string |
|
| 4779 | - *@since 1.0.20 |
|
| 4780 | - */ |
|
| 4781 | - public function get_instance_style($rules = array()){ |
|
| 4782 | - $css = ''; |
|
| 4783 | - |
|
| 4784 | - if(!empty($rules)){ |
|
| 4785 | - $rules = array_unique($rules); |
|
| 4786 | - $instance_hash = $this->get_instance_hash(); |
|
| 4787 | - $css .= "<style>"; |
|
| 4788 | - foreach($rules as $rule){ |
|
| 4789 | - $css .= ".sdel-$instance_hash $rule"; |
|
| 4790 | - } |
|
| 4791 | - $css .= "</style>"; |
|
| 4792 | - } |
|
| 4745 | + /** |
|
| 4746 | + * Checks if the current call is a ajax call to get the block content. |
|
| 4747 | + * |
|
| 4748 | + * This can be used in your widget to return different content as the block content. |
|
| 4749 | + * |
|
| 4750 | + * @return bool |
|
| 4751 | + *@since 1.0.3 |
|
| 4752 | + */ |
|
| 4753 | + public function is_block_content_call() { |
|
| 4754 | + $result = false; |
|
| 4755 | + if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) { |
|
| 4756 | + $result = true; |
|
| 4757 | + } |
|
| 4793 | 4758 | |
| 4794 | - return $css; |
|
| 4795 | - } |
|
| 4759 | + return $result; |
|
| 4760 | + } |
|
| 4796 | 4761 | |
| 4797 | - /** |
|
| 4798 | - * Encode shortcodes tags. |
|
| 4799 | - * |
|
| 4800 | - * @param string $content Content to search for shortcode tags. |
|
| 4801 | - * |
|
| 4762 | + /** |
|
| 4763 | + * Get an instance hash that will be unique to the type and settings. |
|
| 4764 | + * |
|
| 4765 | + * @return string |
|
| 4766 | + *@since 1.0.20 |
|
| 4767 | + */ |
|
| 4768 | + public function get_instance_hash(){ |
|
| 4769 | + $instance_string = $this->base_id.serialize($this->instance); |
|
| 4770 | + return hash('crc32b',$instance_string); |
|
| 4771 | + } |
|
| 4772 | + |
|
| 4773 | + /** |
|
| 4774 | + * Generate and return inline styles from CSS rules that will match the unique class of the instance. |
|
| 4775 | + * |
|
| 4776 | + * @param array $rules |
|
| 4777 | + * |
|
| 4778 | + * @return string |
|
| 4779 | + *@since 1.0.20 |
|
| 4780 | + */ |
|
| 4781 | + public function get_instance_style($rules = array()){ |
|
| 4782 | + $css = ''; |
|
| 4783 | + |
|
| 4784 | + if(!empty($rules)){ |
|
| 4785 | + $rules = array_unique($rules); |
|
| 4786 | + $instance_hash = $this->get_instance_hash(); |
|
| 4787 | + $css .= "<style>"; |
|
| 4788 | + foreach($rules as $rule){ |
|
| 4789 | + $css .= ".sdel-$instance_hash $rule"; |
|
| 4790 | + } |
|
| 4791 | + $css .= "</style>"; |
|
| 4792 | + } |
|
| 4793 | + |
|
| 4794 | + return $css; |
|
| 4795 | + } |
|
| 4796 | + |
|
| 4797 | + /** |
|
| 4798 | + * Encode shortcodes tags. |
|
| 4799 | + * |
|
| 4800 | + * @param string $content Content to search for shortcode tags. |
|
| 4801 | + * |
|
| 4802 | 4802 | *@return string Content with shortcode tags removed. |
| 4803 | - *@since 1.0.28 |
|
| 4804 | - * |
|
| 4805 | - */ |
|
| 4806 | - public function encode_shortcodes( $content ) { |
|
| 4807 | - // Avoids existing encoded tags. |
|
| 4808 | - $trans = array( |
|
| 4809 | - '[' => '[', |
|
| 4810 | - ']' => ']', |
|
| 4811 | - '&#91;' => '[', |
|
| 4812 | - '&#93;' => ']', |
|
| 4813 | - '<' => '&0lt;', |
|
| 4814 | - '>' => '&0gt;', |
|
| 4815 | - '&lt;' => '&0lt;', |
|
| 4816 | - '&gt;' => '&0gt;', |
|
| 4817 | - ); |
|
| 4818 | - |
|
| 4819 | - $content = strtr( $content, $trans ); |
|
| 4820 | - |
|
| 4821 | - $trans = array( |
|
| 4822 | - '[' => '[', |
|
| 4823 | - ']' => ']', |
|
| 4824 | - '<' => '<', |
|
| 4825 | - '>' => '>', |
|
| 4826 | - '"' => '"', |
|
| 4827 | - "'" => ''', |
|
| 4828 | - ); |
|
| 4829 | - |
|
| 4830 | - $content = strtr( $content, $trans ); |
|
| 4831 | - |
|
| 4832 | - return $content; |
|
| 4833 | - } |
|
| 4803 | + *@since 1.0.28 |
|
| 4804 | + * |
|
| 4805 | + */ |
|
| 4806 | + public function encode_shortcodes( $content ) { |
|
| 4807 | + // Avoids existing encoded tags. |
|
| 4808 | + $trans = array( |
|
| 4809 | + '[' => '[', |
|
| 4810 | + ']' => ']', |
|
| 4811 | + '&#91;' => '[', |
|
| 4812 | + '&#93;' => ']', |
|
| 4813 | + '<' => '&0lt;', |
|
| 4814 | + '>' => '&0gt;', |
|
| 4815 | + '&lt;' => '&0lt;', |
|
| 4816 | + '&gt;' => '&0gt;', |
|
| 4817 | + ); |
|
| 4818 | + |
|
| 4819 | + $content = strtr( $content, $trans ); |
|
| 4820 | + |
|
| 4821 | + $trans = array( |
|
| 4822 | + '[' => '[', |
|
| 4823 | + ']' => ']', |
|
| 4824 | + '<' => '<', |
|
| 4825 | + '>' => '>', |
|
| 4826 | + '"' => '"', |
|
| 4827 | + "'" => ''', |
|
| 4828 | + ); |
|
| 4829 | + |
|
| 4830 | + $content = strtr( $content, $trans ); |
|
| 4831 | + |
|
| 4832 | + return $content; |
|
| 4833 | + } |
|
| 4834 | 4834 | |
| 4835 | - /** |
|
| 4836 | - * Remove encoded shortcod tags. |
|
| 4837 | - * |
|
| 4838 | - * @param string $content Content to search for shortcode tags. |
|
| 4839 | - * |
|
| 4835 | + /** |
|
| 4836 | + * Remove encoded shortcod tags. |
|
| 4837 | + * |
|
| 4838 | + * @param string $content Content to search for shortcode tags. |
|
| 4839 | + * |
|
| 4840 | 4840 | *@return string Content with decoded shortcode tags. |
| 4841 | - *@since 1.0.28 |
|
| 4842 | - * |
|
| 4843 | - */ |
|
| 4844 | - public function decode_shortcodes( $content ) { |
|
| 4845 | - $trans = array( |
|
| 4846 | - '[' => '[', |
|
| 4847 | - ']' => ']', |
|
| 4848 | - '&#91;' => '[', |
|
| 4849 | - '&#93;' => ']', |
|
| 4850 | - '<' => '<', |
|
| 4851 | - '>' => '>', |
|
| 4852 | - '&lt;' => '<', |
|
| 4853 | - '&gt;' => '>', |
|
| 4854 | - '"' => '"', |
|
| 4855 | - ''' => "'", |
|
| 4856 | - ); |
|
| 4857 | - |
|
| 4858 | - $content = strtr( $content, $trans ); |
|
| 4859 | - |
|
| 4860 | - $trans = array( |
|
| 4861 | - '[' => '[', |
|
| 4862 | - ']' => ']', |
|
| 4863 | - '&#091;' => '[', |
|
| 4864 | - '&#093;' => ']', |
|
| 4865 | - '&0lt;' => '<', |
|
| 4866 | - '&0gt;' => '>', |
|
| 4867 | - '&0lt;' => '<', |
|
| 4868 | - '&0gt;' => '>', |
|
| 4869 | - ); |
|
| 4870 | - |
|
| 4871 | - $content = strtr( $content, $trans ); |
|
| 4872 | - |
|
| 4873 | - return $content; |
|
| 4874 | - } |
|
| 4875 | - |
|
| 4876 | - public function block_visibility_fields( $args ) { |
|
| 4877 | - $value = ! empty( $args['value'] ) ? esc_attr( $args['value'] ) : ''; |
|
| 4878 | - $content = '<div class="bs-vc-rule-template d-none">'; |
|
| 4879 | - $content .= '<div class="p-3 pb-0 mb-3 border border-1 rounded-1 position-relative bs-vc-rule" data-bs-index="BSVCINDEX" >'; |
|
| 4880 | - $content .= '<div class="row">'; |
|
| 4881 | - $content .= '<div class="col-sm-12">'; |
|
| 4882 | - $content .= '<div class="bs-rule-action position-absolute top-0 end-0 p-2 zindex-5"><span class="text-danger c-pointer bs-vc-remove-rule" title="' . esc_attr__( 'Remove Rule', 'super-duper' ) . '"><i class="fas fa-circle-minus fs-6"></i></span></div>'; |
|
| 4883 | - $content .= aui()->select( |
|
| 4884 | - array( |
|
| 4885 | - 'id' => 'bsvc_rule_BSVCINDEX', |
|
| 4886 | - 'name' => 'bsvc_rule_BSVCINDEX', |
|
| 4887 | - 'label' => __( 'Rule', 'super-duper' ), |
|
| 4888 | - 'placeholder' => __( 'Select Rule...', 'super-duper' ), |
|
| 4889 | - 'class' => 'bsvc_rule form-select-sm', |
|
| 4890 | - 'options' => sd_visibility_rules_options(), |
|
| 4891 | - 'default' => '', |
|
| 4892 | - 'value' => '', |
|
| 4893 | - 'label_type' => '', |
|
| 4894 | - 'select2' => false, |
|
| 4895 | - 'input_group_left' => __( 'Rule:', 'super-duper' ), |
|
| 4896 | - 'extra_attributes' => array( |
|
| 4897 | - 'data-minimum-results-for-search' => '-1' |
|
| 4898 | - ) |
|
| 4899 | - ) |
|
| 4900 | - ); |
|
| 4901 | - |
|
| 4902 | - $content .= '</div>'; |
|
| 4903 | - |
|
| 4904 | - if ( class_exists( 'GeoDirectory' ) ) { |
|
| 4905 | - $content .= '<div class="col-md-7 col-sm-12">'; |
|
| 4906 | - |
|
| 4907 | - $content .= aui()->select( |
|
| 4908 | - array( |
|
| 4909 | - 'id' => 'bsvc_gd_field_BSVCINDEX', |
|
| 4910 | - 'name' => 'bsvc_gd_field_BSVCINDEX', |
|
| 4911 | - 'label' => __( 'FIELD', 'super-duper' ), |
|
| 4912 | - 'placeholder' => __( 'FIELD', 'super-duper' ), |
|
| 4913 | - 'class' => 'bsvc_gd_field form-select-sm', |
|
| 4914 | - 'options' => sd_visibility_gd_field_options(), |
|
| 4915 | - 'default' => '', |
|
| 4916 | - 'value' => '', |
|
| 4917 | - 'label_type' => '', |
|
| 4918 | - 'select2' => false, |
|
| 4919 | - 'element_require' => '[%bsvc_rule_BSVCINDEX%]=="gd_field"', |
|
| 4920 | - 'extra_attributes' => array( |
|
| 4921 | - 'data-minimum-results-for-search' => '-1' |
|
| 4922 | - ) |
|
| 4923 | - ) |
|
| 4924 | - ); |
|
| 4925 | - |
|
| 4926 | - $content .= '</div>'; |
|
| 4927 | - $content .= '<div class="col-md-5 col-sm-12">'; |
|
| 4928 | - |
|
| 4929 | - $content .= aui()->select( |
|
| 4930 | - array( |
|
| 4931 | - 'id' => 'bsvc_gd_field_condition_BSVCINDEX', |
|
| 4932 | - 'name' => 'bsvc_gd_field_condition_BSVCINDEX', |
|
| 4933 | - 'label' => __( 'CONDITION', 'super-duper' ), |
|
| 4934 | - 'placeholder' => __( 'CONDITION', 'super-duper' ), |
|
| 4935 | - 'class' => 'bsvc_gd_field_condition form-select-sm', |
|
| 4936 | - 'options' => sd_visibility_field_condition_options(), |
|
| 4937 | - 'default' => '', |
|
| 4938 | - 'value' => '', |
|
| 4939 | - 'label_type' => '', |
|
| 4940 | - 'select2' => false, |
|
| 4941 | - 'element_require' => '[%bsvc_rule_BSVCINDEX%]=="gd_field"', |
|
| 4942 | - 'extra_attributes' => array( |
|
| 4943 | - 'data-minimum-results-for-search' => '-1' |
|
| 4944 | - ) |
|
| 4945 | - ) |
|
| 4946 | - ); |
|
| 4947 | - |
|
| 4948 | - $content .= '</div>'; |
|
| 4949 | - $content .= '<div class="col-sm-12">'; |
|
| 4950 | - |
|
| 4951 | - $content .= aui()->input( |
|
| 4952 | - array( |
|
| 4953 | - 'type' => 'text', |
|
| 4954 | - 'id' => 'bsvc_gd_field_search_BSVCINDEX', |
|
| 4955 | - 'name' => 'bsvc_gd_field_search_BSVCINDEX', |
|
| 4956 | - 'label' => __( 'VALUE TO MATCH', 'super-duper' ), |
|
| 4957 | - 'class' => 'bsvc_gd_field_search form-control-sm', |
|
| 4958 | - 'placeholder' => __( 'VALUE TO MATCH', 'super-duper' ), |
|
| 4959 | - 'label_type' => '', |
|
| 4960 | - 'value' => '', |
|
| 4961 | - 'element_require' => '([%bsvc_rule_BSVCINDEX%]=="gd_field" && [%bsvc_gd_field_condition_BSVCINDEX%] && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_empty" && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_not_empty")' |
|
| 4962 | - ) |
|
| 4963 | - ); |
|
| 4841 | + *@since 1.0.28 |
|
| 4842 | + * |
|
| 4843 | + */ |
|
| 4844 | + public function decode_shortcodes( $content ) { |
|
| 4845 | + $trans = array( |
|
| 4846 | + '[' => '[', |
|
| 4847 | + ']' => ']', |
|
| 4848 | + '&#91;' => '[', |
|
| 4849 | + '&#93;' => ']', |
|
| 4850 | + '<' => '<', |
|
| 4851 | + '>' => '>', |
|
| 4852 | + '&lt;' => '<', |
|
| 4853 | + '&gt;' => '>', |
|
| 4854 | + '"' => '"', |
|
| 4855 | + ''' => "'", |
|
| 4856 | + ); |
|
| 4857 | + |
|
| 4858 | + $content = strtr( $content, $trans ); |
|
| 4859 | + |
|
| 4860 | + $trans = array( |
|
| 4861 | + '[' => '[', |
|
| 4862 | + ']' => ']', |
|
| 4863 | + '&#091;' => '[', |
|
| 4864 | + '&#093;' => ']', |
|
| 4865 | + '&0lt;' => '<', |
|
| 4866 | + '&0gt;' => '>', |
|
| 4867 | + '&0lt;' => '<', |
|
| 4868 | + '&0gt;' => '>', |
|
| 4869 | + ); |
|
| 4870 | + |
|
| 4871 | + $content = strtr( $content, $trans ); |
|
| 4872 | + |
|
| 4873 | + return $content; |
|
| 4874 | + } |
|
| 4964 | 4875 | |
| 4965 | - $content .= '</div>'; |
|
| 4966 | - } |
|
| 4876 | + public function block_visibility_fields( $args ) { |
|
| 4877 | + $value = ! empty( $args['value'] ) ? esc_attr( $args['value'] ) : ''; |
|
| 4878 | + $content = '<div class="bs-vc-rule-template d-none">'; |
|
| 4879 | + $content .= '<div class="p-3 pb-0 mb-3 border border-1 rounded-1 position-relative bs-vc-rule" data-bs-index="BSVCINDEX" >'; |
|
| 4880 | + $content .= '<div class="row">'; |
|
| 4881 | + $content .= '<div class="col-sm-12">'; |
|
| 4882 | + $content .= '<div class="bs-rule-action position-absolute top-0 end-0 p-2 zindex-5"><span class="text-danger c-pointer bs-vc-remove-rule" title="' . esc_attr__( 'Remove Rule', 'super-duper' ) . '"><i class="fas fa-circle-minus fs-6"></i></span></div>'; |
|
| 4883 | + $content .= aui()->select( |
|
| 4884 | + array( |
|
| 4885 | + 'id' => 'bsvc_rule_BSVCINDEX', |
|
| 4886 | + 'name' => 'bsvc_rule_BSVCINDEX', |
|
| 4887 | + 'label' => __( 'Rule', 'super-duper' ), |
|
| 4888 | + 'placeholder' => __( 'Select Rule...', 'super-duper' ), |
|
| 4889 | + 'class' => 'bsvc_rule form-select-sm', |
|
| 4890 | + 'options' => sd_visibility_rules_options(), |
|
| 4891 | + 'default' => '', |
|
| 4892 | + 'value' => '', |
|
| 4893 | + 'label_type' => '', |
|
| 4894 | + 'select2' => false, |
|
| 4895 | + 'input_group_left' => __( 'Rule:', 'super-duper' ), |
|
| 4896 | + 'extra_attributes' => array( |
|
| 4897 | + 'data-minimum-results-for-search' => '-1' |
|
| 4898 | + ) |
|
| 4899 | + ) |
|
| 4900 | + ); |
|
| 4901 | + |
|
| 4902 | + $content .= '</div>'; |
|
| 4903 | + |
|
| 4904 | + if ( class_exists( 'GeoDirectory' ) ) { |
|
| 4905 | + $content .= '<div class="col-md-7 col-sm-12">'; |
|
| 4906 | + |
|
| 4907 | + $content .= aui()->select( |
|
| 4908 | + array( |
|
| 4909 | + 'id' => 'bsvc_gd_field_BSVCINDEX', |
|
| 4910 | + 'name' => 'bsvc_gd_field_BSVCINDEX', |
|
| 4911 | + 'label' => __( 'FIELD', 'super-duper' ), |
|
| 4912 | + 'placeholder' => __( 'FIELD', 'super-duper' ), |
|
| 4913 | + 'class' => 'bsvc_gd_field form-select-sm', |
|
| 4914 | + 'options' => sd_visibility_gd_field_options(), |
|
| 4915 | + 'default' => '', |
|
| 4916 | + 'value' => '', |
|
| 4917 | + 'label_type' => '', |
|
| 4918 | + 'select2' => false, |
|
| 4919 | + 'element_require' => '[%bsvc_rule_BSVCINDEX%]=="gd_field"', |
|
| 4920 | + 'extra_attributes' => array( |
|
| 4921 | + 'data-minimum-results-for-search' => '-1' |
|
| 4922 | + ) |
|
| 4923 | + ) |
|
| 4924 | + ); |
|
| 4925 | + |
|
| 4926 | + $content .= '</div>'; |
|
| 4927 | + $content .= '<div class="col-md-5 col-sm-12">'; |
|
| 4928 | + |
|
| 4929 | + $content .= aui()->select( |
|
| 4930 | + array( |
|
| 4931 | + 'id' => 'bsvc_gd_field_condition_BSVCINDEX', |
|
| 4932 | + 'name' => 'bsvc_gd_field_condition_BSVCINDEX', |
|
| 4933 | + 'label' => __( 'CONDITION', 'super-duper' ), |
|
| 4934 | + 'placeholder' => __( 'CONDITION', 'super-duper' ), |
|
| 4935 | + 'class' => 'bsvc_gd_field_condition form-select-sm', |
|
| 4936 | + 'options' => sd_visibility_field_condition_options(), |
|
| 4937 | + 'default' => '', |
|
| 4938 | + 'value' => '', |
|
| 4939 | + 'label_type' => '', |
|
| 4940 | + 'select2' => false, |
|
| 4941 | + 'element_require' => '[%bsvc_rule_BSVCINDEX%]=="gd_field"', |
|
| 4942 | + 'extra_attributes' => array( |
|
| 4943 | + 'data-minimum-results-for-search' => '-1' |
|
| 4944 | + ) |
|
| 4945 | + ) |
|
| 4946 | + ); |
|
| 4947 | + |
|
| 4948 | + $content .= '</div>'; |
|
| 4949 | + $content .= '<div class="col-sm-12">'; |
|
| 4950 | + |
|
| 4951 | + $content .= aui()->input( |
|
| 4952 | + array( |
|
| 4953 | + 'type' => 'text', |
|
| 4954 | + 'id' => 'bsvc_gd_field_search_BSVCINDEX', |
|
| 4955 | + 'name' => 'bsvc_gd_field_search_BSVCINDEX', |
|
| 4956 | + 'label' => __( 'VALUE TO MATCH', 'super-duper' ), |
|
| 4957 | + 'class' => 'bsvc_gd_field_search form-control-sm', |
|
| 4958 | + 'placeholder' => __( 'VALUE TO MATCH', 'super-duper' ), |
|
| 4959 | + 'label_type' => '', |
|
| 4960 | + 'value' => '', |
|
| 4961 | + 'element_require' => '([%bsvc_rule_BSVCINDEX%]=="gd_field" && [%bsvc_gd_field_condition_BSVCINDEX%] && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_empty" && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_not_empty")' |
|
| 4962 | + ) |
|
| 4963 | + ); |
|
| 4964 | + |
|
| 4965 | + $content .= '</div>'; |
|
| 4966 | + } |
|
| 4967 | 4967 | |
| 4968 | - $content .= '</div>'; |
|
| 4969 | - |
|
| 4970 | - $content .= '<div class="row aui-conditional-field" data-element-require="jQuery(form).find(\'[name=bsvc_rule_BSVCINDEX]\').val()==\'user_roles\'" data-argument="bsvc_user_roles_BSVCINDEX_1"><label for="bsvc_user_roles_BSVCINDEX_1" class="form-label mb-3">' . __( 'Select User Roles:', 'super-duper' ) . '</label>'; |
|
| 4971 | - $role_options = sd_user_roles_options(); |
|
| 4972 | - |
|
| 4973 | - $role_option_i = 0; |
|
| 4974 | - foreach ( $role_options as $role_option_key => $role_option_name ) { |
|
| 4975 | - $role_option_i++; |
|
| 4976 | - |
|
| 4977 | - $content .= '<div class="col-sm-6">'; |
|
| 4978 | - $content .= aui()->input( |
|
| 4979 | - array( |
|
| 4980 | - 'id' => 'bsvc_user_roles_BSVCINDEX_' . $role_option_i, |
|
| 4981 | - 'name' => 'bsvc_user_roles_BSVCINDEX[]', |
|
| 4982 | - 'type' => 'checkbox', |
|
| 4983 | - 'label' => $role_option_name, |
|
| 4984 | - 'label_type' => 'hidden', |
|
| 4985 | - 'class' => 'bsvc_user_roles', |
|
| 4986 | - 'value' => $role_option_key, |
|
| 4987 | - 'switch' => 'md', |
|
| 4988 | - 'no_wrap' => true |
|
| 4989 | - ) |
|
| 4990 | - ); |
|
| 4991 | - $content .= '</div>'; |
|
| 4992 | - } |
|
| 4993 | - $content .= '</div>'; |
|
| 4994 | - $content .= '</div>'; |
|
| 4995 | - $content .= '</div>'; |
|
| 4996 | - $content .= '<form id="bs-vc-modal-form" class="bs-vc-modal-form">'; |
|
| 4997 | - $content .= '<div class="bs-vc-rule-sets"></div>'; |
|
| 4998 | - $content .= '<div class="row"><div class="col-sm-12 text-center pt-1 pb-4"><button type="button" class="btn btn-sm btn-primary d-block w-100 bs-vc-add-rule"><i class="fas fa-plus"></i> ' . __( 'Add Rule', 'super-duper' ) . '</button></div></div>'; |
|
| 4999 | - $content .= '<div class="row"><div class="col-md-6 col-sm-12">'; |
|
| 5000 | - $content .= aui()->select( |
|
| 5001 | - array( |
|
| 5002 | - 'id' => 'bsvc_output', |
|
| 5003 | - 'name' => 'bsvc_output', |
|
| 5004 | - 'label' => __( 'What should happen if rules met.', 'super-duper' ), |
|
| 5005 | - 'placeholder' => __( 'Default Output', 'super-duper' ), |
|
| 5006 | - 'class' => 'bsvc_output form-select-sm', |
|
| 5007 | - 'options' => sd_visibility_output_options(), |
|
| 5008 | - 'default' => '', |
|
| 5009 | - 'value' => '', |
|
| 5010 | - 'label_type' => 'top', |
|
| 5011 | - 'select2' => true, |
|
| 5012 | - 'extra_attributes' => array( |
|
| 5013 | - 'data-minimum-results-for-search' => '-1' |
|
| 5014 | - ) |
|
| 5015 | - ) |
|
| 5016 | - ); |
|
| 5017 | - |
|
| 5018 | - $content .= '</div><div class="col-md-6 col-sm-12">'; |
|
| 5019 | - |
|
| 5020 | - $content .= aui()->select( |
|
| 5021 | - array( |
|
| 5022 | - 'id' => 'bsvc_page', |
|
| 5023 | - 'name' => 'bsvc_page', |
|
| 5024 | - 'label' => __( 'Page Content', 'super-duper' ), |
|
| 5025 | - 'placeholder' => __( 'Select Page ID...', 'super-duper' ), |
|
| 5026 | - 'class' => 'bsvc_page form-select-sm', |
|
| 5027 | - 'options' => sd_template_page_options(), |
|
| 5028 | - 'default' => '', |
|
| 5029 | - 'value' => '', |
|
| 5030 | - 'label_type' => 'top', |
|
| 5031 | - 'select2' => true, |
|
| 5032 | - 'element_require' => '[%bsvc_output%]=="page"' |
|
| 5033 | - ) |
|
| 5034 | - ); |
|
| 5035 | - |
|
| 5036 | - $content .= aui()->select( |
|
| 5037 | - array( |
|
| 5038 | - 'id' => 'bsvc_tmpl_part', |
|
| 5039 | - 'name' => 'bsvc_tmpl_part', |
|
| 5040 | - 'label' => __( 'Template Part', 'super-duper' ), |
|
| 5041 | - 'placeholder' => __( 'Select Template Part...', 'super-duper' ), |
|
| 5042 | - 'class' => 'bsvc_tmpl_part form-select-sm', |
|
| 5043 | - 'options' => sd_template_part_options(), |
|
| 5044 | - 'default' => '', |
|
| 5045 | - 'value' => '', |
|
| 5046 | - 'label_type' => 'top', |
|
| 5047 | - 'select2' => true, |
|
| 5048 | - 'element_require' => '[%bsvc_output%]=="template_part"', |
|
| 5049 | - 'extra_attributes' => array( |
|
| 5050 | - 'data-minimum-results-for-search' => '-1' |
|
| 5051 | - ) |
|
| 5052 | - ) |
|
| 5053 | - ); |
|
| 5054 | - |
|
| 5055 | - $content .= aui()->select( |
|
| 5056 | - array( |
|
| 5057 | - 'id' => 'bsvc_message_type', |
|
| 5058 | - 'name' => 'bsvc_message_type', |
|
| 5059 | - 'label' => __( 'Custom Message Type', 'super-duper' ), |
|
| 5060 | - 'placeholder' => __( 'Default (none)', 'super-duper' ), |
|
| 5061 | - 'class' => 'bsvc_message_type form-select-sm', |
|
| 5062 | - 'options' => sd_aui_colors(), |
|
| 5063 | - 'default' => '', |
|
| 5064 | - 'value' => '', |
|
| 5065 | - 'label_type' => 'top', |
|
| 5066 | - 'select2' => true, |
|
| 5067 | - 'element_require' => '[%bsvc_output%]=="message"', |
|
| 5068 | - 'extra_attributes' => array( |
|
| 5069 | - 'data-minimum-results-for-search' => '-1' |
|
| 5070 | - ) |
|
| 5071 | - ) |
|
| 5072 | - ); |
|
| 5073 | - |
|
| 5074 | - $content .= '</div><div class="col-sm-12">'; |
|
| 5075 | - |
|
| 5076 | - $content .= aui()->input( |
|
| 5077 | - array( |
|
| 5078 | - 'type' => 'text', |
|
| 5079 | - 'id' => 'bsvc_message', |
|
| 5080 | - 'name' => 'bsvc_message', |
|
| 5081 | - 'label' => '', |
|
| 5082 | - 'class' => 'bsvc_message form-control-sm', |
|
| 5083 | - 'placeholder' => __( 'CUSTOM MESSAGE TO SHOW', 'super-duper' ), |
|
| 5084 | - 'label_type' => '', |
|
| 5085 | - 'value' => '', |
|
| 5086 | - 'form_group_class' => ' ', |
|
| 5087 | - 'element_require' => '[%bsvc_output%]=="message"', |
|
| 5088 | - ) |
|
| 5089 | - ); |
|
| 5090 | - |
|
| 5091 | - $content .= '</div></div></form><input type="hidden" id="bsvc_raw_value" name="bsvc_raw_value" value="' . $value . '">'; |
|
| 5092 | - |
|
| 5093 | - return $content; |
|
| 5094 | - } |
|
| 5095 | - } |
|
| 4968 | + $content .= '</div>'; |
|
| 4969 | + |
|
| 4970 | + $content .= '<div class="row aui-conditional-field" data-element-require="jQuery(form).find(\'[name=bsvc_rule_BSVCINDEX]\').val()==\'user_roles\'" data-argument="bsvc_user_roles_BSVCINDEX_1"><label for="bsvc_user_roles_BSVCINDEX_1" class="form-label mb-3">' . __( 'Select User Roles:', 'super-duper' ) . '</label>'; |
|
| 4971 | + $role_options = sd_user_roles_options(); |
|
| 4972 | + |
|
| 4973 | + $role_option_i = 0; |
|
| 4974 | + foreach ( $role_options as $role_option_key => $role_option_name ) { |
|
| 4975 | + $role_option_i++; |
|
| 4976 | + |
|
| 4977 | + $content .= '<div class="col-sm-6">'; |
|
| 4978 | + $content .= aui()->input( |
|
| 4979 | + array( |
|
| 4980 | + 'id' => 'bsvc_user_roles_BSVCINDEX_' . $role_option_i, |
|
| 4981 | + 'name' => 'bsvc_user_roles_BSVCINDEX[]', |
|
| 4982 | + 'type' => 'checkbox', |
|
| 4983 | + 'label' => $role_option_name, |
|
| 4984 | + 'label_type' => 'hidden', |
|
| 4985 | + 'class' => 'bsvc_user_roles', |
|
| 4986 | + 'value' => $role_option_key, |
|
| 4987 | + 'switch' => 'md', |
|
| 4988 | + 'no_wrap' => true |
|
| 4989 | + ) |
|
| 4990 | + ); |
|
| 4991 | + $content .= '</div>'; |
|
| 4992 | + } |
|
| 4993 | + $content .= '</div>'; |
|
| 4994 | + $content .= '</div>'; |
|
| 4995 | + $content .= '</div>'; |
|
| 4996 | + $content .= '<form id="bs-vc-modal-form" class="bs-vc-modal-form">'; |
|
| 4997 | + $content .= '<div class="bs-vc-rule-sets"></div>'; |
|
| 4998 | + $content .= '<div class="row"><div class="col-sm-12 text-center pt-1 pb-4"><button type="button" class="btn btn-sm btn-primary d-block w-100 bs-vc-add-rule"><i class="fas fa-plus"></i> ' . __( 'Add Rule', 'super-duper' ) . '</button></div></div>'; |
|
| 4999 | + $content .= '<div class="row"><div class="col-md-6 col-sm-12">'; |
|
| 5000 | + $content .= aui()->select( |
|
| 5001 | + array( |
|
| 5002 | + 'id' => 'bsvc_output', |
|
| 5003 | + 'name' => 'bsvc_output', |
|
| 5004 | + 'label' => __( 'What should happen if rules met.', 'super-duper' ), |
|
| 5005 | + 'placeholder' => __( 'Default Output', 'super-duper' ), |
|
| 5006 | + 'class' => 'bsvc_output form-select-sm', |
|
| 5007 | + 'options' => sd_visibility_output_options(), |
|
| 5008 | + 'default' => '', |
|
| 5009 | + 'value' => '', |
|
| 5010 | + 'label_type' => 'top', |
|
| 5011 | + 'select2' => true, |
|
| 5012 | + 'extra_attributes' => array( |
|
| 5013 | + 'data-minimum-results-for-search' => '-1' |
|
| 5014 | + ) |
|
| 5015 | + ) |
|
| 5016 | + ); |
|
| 5017 | + |
|
| 5018 | + $content .= '</div><div class="col-md-6 col-sm-12">'; |
|
| 5019 | + |
|
| 5020 | + $content .= aui()->select( |
|
| 5021 | + array( |
|
| 5022 | + 'id' => 'bsvc_page', |
|
| 5023 | + 'name' => 'bsvc_page', |
|
| 5024 | + 'label' => __( 'Page Content', 'super-duper' ), |
|
| 5025 | + 'placeholder' => __( 'Select Page ID...', 'super-duper' ), |
|
| 5026 | + 'class' => 'bsvc_page form-select-sm', |
|
| 5027 | + 'options' => sd_template_page_options(), |
|
| 5028 | + 'default' => '', |
|
| 5029 | + 'value' => '', |
|
| 5030 | + 'label_type' => 'top', |
|
| 5031 | + 'select2' => true, |
|
| 5032 | + 'element_require' => '[%bsvc_output%]=="page"' |
|
| 5033 | + ) |
|
| 5034 | + ); |
|
| 5035 | + |
|
| 5036 | + $content .= aui()->select( |
|
| 5037 | + array( |
|
| 5038 | + 'id' => 'bsvc_tmpl_part', |
|
| 5039 | + 'name' => 'bsvc_tmpl_part', |
|
| 5040 | + 'label' => __( 'Template Part', 'super-duper' ), |
|
| 5041 | + 'placeholder' => __( 'Select Template Part...', 'super-duper' ), |
|
| 5042 | + 'class' => 'bsvc_tmpl_part form-select-sm', |
|
| 5043 | + 'options' => sd_template_part_options(), |
|
| 5044 | + 'default' => '', |
|
| 5045 | + 'value' => '', |
|
| 5046 | + 'label_type' => 'top', |
|
| 5047 | + 'select2' => true, |
|
| 5048 | + 'element_require' => '[%bsvc_output%]=="template_part"', |
|
| 5049 | + 'extra_attributes' => array( |
|
| 5050 | + 'data-minimum-results-for-search' => '-1' |
|
| 5051 | + ) |
|
| 5052 | + ) |
|
| 5053 | + ); |
|
| 5054 | + |
|
| 5055 | + $content .= aui()->select( |
|
| 5056 | + array( |
|
| 5057 | + 'id' => 'bsvc_message_type', |
|
| 5058 | + 'name' => 'bsvc_message_type', |
|
| 5059 | + 'label' => __( 'Custom Message Type', 'super-duper' ), |
|
| 5060 | + 'placeholder' => __( 'Default (none)', 'super-duper' ), |
|
| 5061 | + 'class' => 'bsvc_message_type form-select-sm', |
|
| 5062 | + 'options' => sd_aui_colors(), |
|
| 5063 | + 'default' => '', |
|
| 5064 | + 'value' => '', |
|
| 5065 | + 'label_type' => 'top', |
|
| 5066 | + 'select2' => true, |
|
| 5067 | + 'element_require' => '[%bsvc_output%]=="message"', |
|
| 5068 | + 'extra_attributes' => array( |
|
| 5069 | + 'data-minimum-results-for-search' => '-1' |
|
| 5070 | + ) |
|
| 5071 | + ) |
|
| 5072 | + ); |
|
| 5073 | + |
|
| 5074 | + $content .= '</div><div class="col-sm-12">'; |
|
| 5075 | + |
|
| 5076 | + $content .= aui()->input( |
|
| 5077 | + array( |
|
| 5078 | + 'type' => 'text', |
|
| 5079 | + 'id' => 'bsvc_message', |
|
| 5080 | + 'name' => 'bsvc_message', |
|
| 5081 | + 'label' => '', |
|
| 5082 | + 'class' => 'bsvc_message form-control-sm', |
|
| 5083 | + 'placeholder' => __( 'CUSTOM MESSAGE TO SHOW', 'super-duper' ), |
|
| 5084 | + 'label_type' => '', |
|
| 5085 | + 'value' => '', |
|
| 5086 | + 'form_group_class' => ' ', |
|
| 5087 | + 'element_require' => '[%bsvc_output%]=="message"', |
|
| 5088 | + ) |
|
| 5089 | + ); |
|
| 5090 | + |
|
| 5091 | + $content .= '</div></div></form><input type="hidden" id="bsvc_raw_value" name="bsvc_raw_value" value="' . $value . '">'; |
|
| 5092 | + |
|
| 5093 | + return $content; |
|
| 5094 | + } |
|
| 5095 | + } |
|
| 5096 | 5096 | } |
@@ -11,21 +11,21 @@ discard block |
||
| 11 | 11 | * @return mixed|void |
| 12 | 12 | */ |
| 13 | 13 | function sd_pagenow_exclude() { |
| 14 | - return apply_filters( |
|
| 15 | - 'sd_pagenow_exclude', |
|
| 16 | - array( |
|
| 17 | - 'upload.php', |
|
| 18 | - 'edit-comments.php', |
|
| 19 | - 'edit-tags.php', |
|
| 20 | - 'index.php', |
|
| 21 | - 'media-new.php', |
|
| 22 | - 'options-discussion.php', |
|
| 23 | - 'options-writing.php', |
|
| 24 | - 'edit.php', |
|
| 25 | - 'themes.php', |
|
| 26 | - 'users.php', |
|
| 27 | - ) |
|
| 28 | - ); |
|
| 14 | + return apply_filters( |
|
| 15 | + 'sd_pagenow_exclude', |
|
| 16 | + array( |
|
| 17 | + 'upload.php', |
|
| 18 | + 'edit-comments.php', |
|
| 19 | + 'edit-tags.php', |
|
| 20 | + 'index.php', |
|
| 21 | + 'media-new.php', |
|
| 22 | + 'options-discussion.php', |
|
| 23 | + 'options-writing.php', |
|
| 24 | + 'edit.php', |
|
| 25 | + 'themes.php', |
|
| 26 | + 'users.php', |
|
| 27 | + ) |
|
| 28 | + ); |
|
| 29 | 29 | } |
| 30 | 30 | |
| 31 | 31 | |
@@ -37,7 +37,7 @@ discard block |
||
| 37 | 37 | * @return mixed|void |
| 38 | 38 | */ |
| 39 | 39 | function sd_widget_exclude() { |
| 40 | - return apply_filters( 'sd_widget_exclude', array() ); |
|
| 40 | + return apply_filters( 'sd_widget_exclude', array() ); |
|
| 41 | 41 | } |
| 42 | 42 | |
| 43 | 43 | |
@@ -50,83 +50,83 @@ discard block |
||
| 50 | 50 | * @return array |
| 51 | 51 | */ |
| 52 | 52 | function sd_get_margin_input( $type = 'mt', $overwrite = array(), $include_negatives = true ) { |
| 53 | - global $aui_bs5; |
|
| 54 | - $options = array( |
|
| 55 | - '' => __( 'None', 'super-duper' ), |
|
| 56 | - 'auto' => __( 'auto', 'super-duper' ), |
|
| 57 | - '0' => '0', |
|
| 58 | - '1' => '1', |
|
| 59 | - '2' => '2', |
|
| 60 | - '3' => '3', |
|
| 61 | - '4' => '4', |
|
| 62 | - '5' => '5', |
|
| 63 | - '6' => '6', |
|
| 64 | - '7' => '7', |
|
| 65 | - '8' => '8', |
|
| 66 | - '9' => '9', |
|
| 67 | - '10' => '10', |
|
| 68 | - '11' => '11', |
|
| 69 | - '12' => '12', |
|
| 70 | - ); |
|
| 71 | - |
|
| 72 | - if ( $include_negatives ) { |
|
| 73 | - $options['n1'] = '-1'; |
|
| 74 | - $options['n2'] = '-2'; |
|
| 75 | - $options['n3'] = '-3'; |
|
| 76 | - $options['n4'] = '-4'; |
|
| 77 | - $options['n5'] = '-5'; |
|
| 78 | - $options['n6'] = '-6'; |
|
| 79 | - $options['n7'] = '-7'; |
|
| 80 | - $options['n8'] = '-8'; |
|
| 81 | - $options['n9'] = '-9'; |
|
| 82 | - $options['n10'] = '-10'; |
|
| 83 | - $options['n11'] = '-11'; |
|
| 84 | - $options['n12'] = '-12'; |
|
| 85 | - } |
|
| 86 | - |
|
| 87 | - $defaults = array( |
|
| 88 | - 'type' => 'select', |
|
| 89 | - 'title' => __( 'Margin top', 'super-duper' ), |
|
| 90 | - 'options' => $options, |
|
| 91 | - 'default' => '', |
|
| 92 | - 'desc_tip' => true, |
|
| 93 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 94 | - ); |
|
| 95 | - |
|
| 96 | - // title |
|
| 97 | - if ( $type == 'mt' ) { |
|
| 98 | - $defaults['title'] = __( 'Margin top', 'super-duper' ); |
|
| 99 | - $defaults['icon'] = 'box-top'; |
|
| 100 | - $defaults['row'] = array( |
|
| 101 | - 'title' => __( 'Margins', 'super-duper' ), |
|
| 102 | - 'key' => 'wrapper-margins', |
|
| 103 | - 'open' => true, |
|
| 104 | - 'class' => 'text-center', |
|
| 105 | - ); |
|
| 106 | - } elseif ( $type == 'mr' ) { |
|
| 107 | - $defaults['title'] = __( 'Margin right', 'super-duper' ); |
|
| 108 | - $defaults['icon'] = 'box-right'; |
|
| 109 | - $defaults['row'] = array( |
|
| 110 | - 'key' => 'wrapper-margins', |
|
| 111 | - ); |
|
| 112 | - } elseif ( $type == 'mb' ) { |
|
| 113 | - $defaults['title'] = __( 'Margin bottom', 'super-duper' ); |
|
| 114 | - $defaults['icon'] = 'box-bottom'; |
|
| 115 | - $defaults['row'] = array( |
|
| 116 | - 'key' => 'wrapper-margins', |
|
| 117 | - ); |
|
| 118 | - } elseif ( $type == 'ml' ) { |
|
| 119 | - $defaults['title'] = __( 'Margin left', 'super-duper' ); |
|
| 120 | - $defaults['icon'] = 'box-left'; |
|
| 121 | - $defaults['row'] = array( |
|
| 122 | - 'key' => 'wrapper-margins', |
|
| 123 | - 'close' => true, |
|
| 124 | - ); |
|
| 125 | - } |
|
| 126 | - |
|
| 127 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 128 | - |
|
| 129 | - return $input; |
|
| 53 | + global $aui_bs5; |
|
| 54 | + $options = array( |
|
| 55 | + '' => __( 'None', 'super-duper' ), |
|
| 56 | + 'auto' => __( 'auto', 'super-duper' ), |
|
| 57 | + '0' => '0', |
|
| 58 | + '1' => '1', |
|
| 59 | + '2' => '2', |
|
| 60 | + '3' => '3', |
|
| 61 | + '4' => '4', |
|
| 62 | + '5' => '5', |
|
| 63 | + '6' => '6', |
|
| 64 | + '7' => '7', |
|
| 65 | + '8' => '8', |
|
| 66 | + '9' => '9', |
|
| 67 | + '10' => '10', |
|
| 68 | + '11' => '11', |
|
| 69 | + '12' => '12', |
|
| 70 | + ); |
|
| 71 | + |
|
| 72 | + if ( $include_negatives ) { |
|
| 73 | + $options['n1'] = '-1'; |
|
| 74 | + $options['n2'] = '-2'; |
|
| 75 | + $options['n3'] = '-3'; |
|
| 76 | + $options['n4'] = '-4'; |
|
| 77 | + $options['n5'] = '-5'; |
|
| 78 | + $options['n6'] = '-6'; |
|
| 79 | + $options['n7'] = '-7'; |
|
| 80 | + $options['n8'] = '-8'; |
|
| 81 | + $options['n9'] = '-9'; |
|
| 82 | + $options['n10'] = '-10'; |
|
| 83 | + $options['n11'] = '-11'; |
|
| 84 | + $options['n12'] = '-12'; |
|
| 85 | + } |
|
| 86 | + |
|
| 87 | + $defaults = array( |
|
| 88 | + 'type' => 'select', |
|
| 89 | + 'title' => __( 'Margin top', 'super-duper' ), |
|
| 90 | + 'options' => $options, |
|
| 91 | + 'default' => '', |
|
| 92 | + 'desc_tip' => true, |
|
| 93 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 94 | + ); |
|
| 95 | + |
|
| 96 | + // title |
|
| 97 | + if ( $type == 'mt' ) { |
|
| 98 | + $defaults['title'] = __( 'Margin top', 'super-duper' ); |
|
| 99 | + $defaults['icon'] = 'box-top'; |
|
| 100 | + $defaults['row'] = array( |
|
| 101 | + 'title' => __( 'Margins', 'super-duper' ), |
|
| 102 | + 'key' => 'wrapper-margins', |
|
| 103 | + 'open' => true, |
|
| 104 | + 'class' => 'text-center', |
|
| 105 | + ); |
|
| 106 | + } elseif ( $type == 'mr' ) { |
|
| 107 | + $defaults['title'] = __( 'Margin right', 'super-duper' ); |
|
| 108 | + $defaults['icon'] = 'box-right'; |
|
| 109 | + $defaults['row'] = array( |
|
| 110 | + 'key' => 'wrapper-margins', |
|
| 111 | + ); |
|
| 112 | + } elseif ( $type == 'mb' ) { |
|
| 113 | + $defaults['title'] = __( 'Margin bottom', 'super-duper' ); |
|
| 114 | + $defaults['icon'] = 'box-bottom'; |
|
| 115 | + $defaults['row'] = array( |
|
| 116 | + 'key' => 'wrapper-margins', |
|
| 117 | + ); |
|
| 118 | + } elseif ( $type == 'ml' ) { |
|
| 119 | + $defaults['title'] = __( 'Margin left', 'super-duper' ); |
|
| 120 | + $defaults['icon'] = 'box-left'; |
|
| 121 | + $defaults['row'] = array( |
|
| 122 | + 'key' => 'wrapper-margins', |
|
| 123 | + 'close' => true, |
|
| 124 | + ); |
|
| 125 | + } |
|
| 126 | + |
|
| 127 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 128 | + |
|
| 129 | + return $input; |
|
| 130 | 130 | } |
| 131 | 131 | |
| 132 | 132 | /** |
@@ -138,67 +138,67 @@ discard block |
||
| 138 | 138 | * @return array |
| 139 | 139 | */ |
| 140 | 140 | function sd_get_padding_input( $type = 'pt', $overwrite = array() ) { |
| 141 | - $options = array( |
|
| 142 | - '' => __( 'None', 'super-duper' ), |
|
| 143 | - '0' => '0', |
|
| 144 | - '1' => '1', |
|
| 145 | - '2' => '2', |
|
| 146 | - '3' => '3', |
|
| 147 | - '4' => '4', |
|
| 148 | - '5' => '5', |
|
| 149 | - '6' => '6', |
|
| 150 | - '7' => '7', |
|
| 151 | - '8' => '8', |
|
| 152 | - '9' => '9', |
|
| 153 | - '10' => '10', |
|
| 154 | - '11' => '11', |
|
| 155 | - '12' => '12', |
|
| 156 | - ); |
|
| 157 | - |
|
| 158 | - $defaults = array( |
|
| 159 | - 'type' => 'select', |
|
| 160 | - 'title' => __( 'Padding top', 'super-duper' ), |
|
| 161 | - 'options' => $options, |
|
| 162 | - 'default' => '', |
|
| 163 | - 'desc_tip' => true, |
|
| 164 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 165 | - ); |
|
| 166 | - |
|
| 167 | - // title |
|
| 168 | - if ( $type == 'pt' ) { |
|
| 169 | - $defaults['title'] = __( 'Padding top', 'super-duper' ); |
|
| 170 | - $defaults['icon'] = 'box-top'; |
|
| 171 | - $defaults['row'] = array( |
|
| 172 | - 'title' => __( 'Padding', 'super-duper' ), |
|
| 173 | - 'key' => 'wrapper-padding', |
|
| 174 | - 'open' => true, |
|
| 175 | - 'class' => 'text-center', |
|
| 176 | - ); |
|
| 177 | - } elseif ( $type == 'pr' ) { |
|
| 178 | - $defaults['title'] = __( 'Padding right', 'super-duper' ); |
|
| 179 | - $defaults['icon'] = 'box-right'; |
|
| 180 | - $defaults['row'] = array( |
|
| 181 | - 'key' => 'wrapper-padding', |
|
| 182 | - ); |
|
| 183 | - } elseif ( $type == 'pb' ) { |
|
| 184 | - $defaults['title'] = __( 'Padding bottom', 'super-duper' ); |
|
| 185 | - $defaults['icon'] = 'box-bottom'; |
|
| 186 | - $defaults['row'] = array( |
|
| 187 | - 'key' => 'wrapper-padding', |
|
| 188 | - ); |
|
| 189 | - } elseif ( $type == 'pl' ) { |
|
| 190 | - $defaults['title'] = __( 'Padding left', 'super-duper' ); |
|
| 191 | - $defaults['icon'] = 'box-left'; |
|
| 192 | - $defaults['row'] = array( |
|
| 193 | - 'key' => 'wrapper-padding', |
|
| 194 | - 'close' => true, |
|
| 195 | - |
|
| 196 | - ); |
|
| 197 | - } |
|
| 198 | - |
|
| 199 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 200 | - |
|
| 201 | - return $input; |
|
| 141 | + $options = array( |
|
| 142 | + '' => __( 'None', 'super-duper' ), |
|
| 143 | + '0' => '0', |
|
| 144 | + '1' => '1', |
|
| 145 | + '2' => '2', |
|
| 146 | + '3' => '3', |
|
| 147 | + '4' => '4', |
|
| 148 | + '5' => '5', |
|
| 149 | + '6' => '6', |
|
| 150 | + '7' => '7', |
|
| 151 | + '8' => '8', |
|
| 152 | + '9' => '9', |
|
| 153 | + '10' => '10', |
|
| 154 | + '11' => '11', |
|
| 155 | + '12' => '12', |
|
| 156 | + ); |
|
| 157 | + |
|
| 158 | + $defaults = array( |
|
| 159 | + 'type' => 'select', |
|
| 160 | + 'title' => __( 'Padding top', 'super-duper' ), |
|
| 161 | + 'options' => $options, |
|
| 162 | + 'default' => '', |
|
| 163 | + 'desc_tip' => true, |
|
| 164 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 165 | + ); |
|
| 166 | + |
|
| 167 | + // title |
|
| 168 | + if ( $type == 'pt' ) { |
|
| 169 | + $defaults['title'] = __( 'Padding top', 'super-duper' ); |
|
| 170 | + $defaults['icon'] = 'box-top'; |
|
| 171 | + $defaults['row'] = array( |
|
| 172 | + 'title' => __( 'Padding', 'super-duper' ), |
|
| 173 | + 'key' => 'wrapper-padding', |
|
| 174 | + 'open' => true, |
|
| 175 | + 'class' => 'text-center', |
|
| 176 | + ); |
|
| 177 | + } elseif ( $type == 'pr' ) { |
|
| 178 | + $defaults['title'] = __( 'Padding right', 'super-duper' ); |
|
| 179 | + $defaults['icon'] = 'box-right'; |
|
| 180 | + $defaults['row'] = array( |
|
| 181 | + 'key' => 'wrapper-padding', |
|
| 182 | + ); |
|
| 183 | + } elseif ( $type == 'pb' ) { |
|
| 184 | + $defaults['title'] = __( 'Padding bottom', 'super-duper' ); |
|
| 185 | + $defaults['icon'] = 'box-bottom'; |
|
| 186 | + $defaults['row'] = array( |
|
| 187 | + 'key' => 'wrapper-padding', |
|
| 188 | + ); |
|
| 189 | + } elseif ( $type == 'pl' ) { |
|
| 190 | + $defaults['title'] = __( 'Padding left', 'super-duper' ); |
|
| 191 | + $defaults['icon'] = 'box-left'; |
|
| 192 | + $defaults['row'] = array( |
|
| 193 | + 'key' => 'wrapper-padding', |
|
| 194 | + 'close' => true, |
|
| 195 | + |
|
| 196 | + ); |
|
| 197 | + } |
|
| 198 | + |
|
| 199 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 200 | + |
|
| 201 | + return $input; |
|
| 202 | 202 | } |
| 203 | 203 | |
| 204 | 204 | /** |
@@ -210,97 +210,97 @@ discard block |
||
| 210 | 210 | * @return array |
| 211 | 211 | */ |
| 212 | 212 | function sd_get_border_input( $type = 'border', $overwrite = array() ) { |
| 213 | - global $aui_bs5; |
|
| 214 | - |
|
| 215 | - $defaults = array( |
|
| 216 | - 'type' => 'select', |
|
| 217 | - 'title' => __( 'Border', 'super-duper' ), |
|
| 218 | - 'options' => array(), |
|
| 219 | - 'default' => '', |
|
| 220 | - 'desc_tip' => true, |
|
| 221 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 222 | - ); |
|
| 223 | - |
|
| 224 | - // title |
|
| 225 | - if ( 'rounded' === $type ) { |
|
| 226 | - $defaults['title'] = __( 'Border radius type', 'super-duper' ); |
|
| 227 | - $defaults['options'] = array( |
|
| 228 | - '' => __( 'Default', 'super-duper' ), |
|
| 229 | - 'rounded' => 'rounded', |
|
| 230 | - 'rounded-top' => 'rounded-top', |
|
| 231 | - 'rounded-right' => 'rounded-right', |
|
| 232 | - 'rounded-bottom' => 'rounded-bottom', |
|
| 233 | - 'rounded-left' => 'rounded-left', |
|
| 234 | - ); |
|
| 235 | - $defaults['element_require'] = '[%border%]'; |
|
| 236 | - } elseif ( 'rounded_size' === $type ) { |
|
| 237 | - $defaults['title'] = __( 'Border radius size', 'super-duper' ); |
|
| 238 | - |
|
| 239 | - if ( $aui_bs5 ) { |
|
| 240 | - $defaults['options'] = array( |
|
| 241 | - '' => __( 'Default', 'super-duper' ), |
|
| 242 | - '0' => '0', |
|
| 243 | - '1' => '1', |
|
| 244 | - '2' => '2', |
|
| 245 | - '3' => '3', |
|
| 246 | - '4' => '4', |
|
| 247 | - 'circle' => 'circle', |
|
| 248 | - 'pill' => 'pill', |
|
| 249 | - ); |
|
| 250 | - } else { |
|
| 251 | - $defaults['options'] = array( |
|
| 252 | - '' => __( 'Default', 'super-duper' ), |
|
| 253 | - 'sm' => __( 'Small', 'super-duper' ), |
|
| 254 | - 'lg' => __( 'Large', 'super-duper' ), |
|
| 255 | - ); |
|
| 256 | - } |
|
| 257 | - $defaults['element_require'] = '[%border%]'; |
|
| 258 | - } elseif ( 'width' === $type ) { // BS% |
|
| 259 | - $defaults['title'] = __( 'Border width', 'super-duper' ); |
|
| 260 | - $defaults['options'] = array( |
|
| 261 | - '' => __( 'Default', 'super-duper' ), |
|
| 262 | - 'border-2' => '2', |
|
| 263 | - 'border-3' => '3', |
|
| 264 | - 'border-4' => '4', |
|
| 265 | - 'border-5' => '5', |
|
| 266 | - ); |
|
| 267 | - $defaults['element_require'] = $aui_bs5 ? '[%border%]' : '1==2'; |
|
| 268 | - } elseif ( 'opacity' === $type ) { // BS% |
|
| 269 | - $defaults['title'] = __( 'Border opacity', 'super-duper' ); |
|
| 270 | - $defaults['options'] = array( |
|
| 271 | - '' => __( 'Default', 'super-duper' ), |
|
| 272 | - 'border-opacity-75' => '75%', |
|
| 273 | - 'border-opacity-50' => '50%', |
|
| 274 | - 'border-opacity-25' => '25%', |
|
| 275 | - 'border-opacity-10' => '10%', |
|
| 276 | - ); |
|
| 277 | - $defaults['element_require'] = $aui_bs5 ? '[%border%]' : '1==2'; |
|
| 278 | - } elseif ( 'type' === $type ) { |
|
| 279 | - $defaults['title'] = __( 'Border show', 'super-duper' ); |
|
| 280 | - $defaults['options'] = array( |
|
| 281 | - 'border' => __( 'Full (set color to show)', 'super-duper' ), |
|
| 282 | - 'border-top' => __( 'Top', 'super-duper' ), |
|
| 283 | - 'border-bottom' => __( 'Bottom', 'super-duper' ), |
|
| 284 | - 'border-left' => __( 'Left', 'super-duper' ), |
|
| 285 | - 'border-right' => __( 'Right', 'super-duper' ), |
|
| 286 | - 'border-top-0' => __( '-Top', 'super-duper' ), |
|
| 287 | - 'border-bottom-0' => __( '-Bottom', 'super-duper' ), |
|
| 288 | - 'border-left-0' => __( '-Left', 'super-duper' ), |
|
| 289 | - 'border-right-0' => __( '-Right', 'super-duper' ), |
|
| 290 | - ); |
|
| 291 | - $defaults['element_require'] = '[%border%]'; |
|
| 292 | - |
|
| 293 | - } else { |
|
| 294 | - $defaults['title'] = __( 'Border color', 'super-duper' ); |
|
| 295 | - $defaults['options'] = array( |
|
| 296 | - '' => __( 'Default', 'super-duper' ), |
|
| 297 | - '0' => __( 'None', 'super-duper' ), |
|
| 298 | - ) + sd_aui_colors(); |
|
| 299 | - } |
|
| 300 | - |
|
| 301 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 302 | - |
|
| 303 | - return $input; |
|
| 213 | + global $aui_bs5; |
|
| 214 | + |
|
| 215 | + $defaults = array( |
|
| 216 | + 'type' => 'select', |
|
| 217 | + 'title' => __( 'Border', 'super-duper' ), |
|
| 218 | + 'options' => array(), |
|
| 219 | + 'default' => '', |
|
| 220 | + 'desc_tip' => true, |
|
| 221 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 222 | + ); |
|
| 223 | + |
|
| 224 | + // title |
|
| 225 | + if ( 'rounded' === $type ) { |
|
| 226 | + $defaults['title'] = __( 'Border radius type', 'super-duper' ); |
|
| 227 | + $defaults['options'] = array( |
|
| 228 | + '' => __( 'Default', 'super-duper' ), |
|
| 229 | + 'rounded' => 'rounded', |
|
| 230 | + 'rounded-top' => 'rounded-top', |
|
| 231 | + 'rounded-right' => 'rounded-right', |
|
| 232 | + 'rounded-bottom' => 'rounded-bottom', |
|
| 233 | + 'rounded-left' => 'rounded-left', |
|
| 234 | + ); |
|
| 235 | + $defaults['element_require'] = '[%border%]'; |
|
| 236 | + } elseif ( 'rounded_size' === $type ) { |
|
| 237 | + $defaults['title'] = __( 'Border radius size', 'super-duper' ); |
|
| 238 | + |
|
| 239 | + if ( $aui_bs5 ) { |
|
| 240 | + $defaults['options'] = array( |
|
| 241 | + '' => __( 'Default', 'super-duper' ), |
|
| 242 | + '0' => '0', |
|
| 243 | + '1' => '1', |
|
| 244 | + '2' => '2', |
|
| 245 | + '3' => '3', |
|
| 246 | + '4' => '4', |
|
| 247 | + 'circle' => 'circle', |
|
| 248 | + 'pill' => 'pill', |
|
| 249 | + ); |
|
| 250 | + } else { |
|
| 251 | + $defaults['options'] = array( |
|
| 252 | + '' => __( 'Default', 'super-duper' ), |
|
| 253 | + 'sm' => __( 'Small', 'super-duper' ), |
|
| 254 | + 'lg' => __( 'Large', 'super-duper' ), |
|
| 255 | + ); |
|
| 256 | + } |
|
| 257 | + $defaults['element_require'] = '[%border%]'; |
|
| 258 | + } elseif ( 'width' === $type ) { // BS% |
|
| 259 | + $defaults['title'] = __( 'Border width', 'super-duper' ); |
|
| 260 | + $defaults['options'] = array( |
|
| 261 | + '' => __( 'Default', 'super-duper' ), |
|
| 262 | + 'border-2' => '2', |
|
| 263 | + 'border-3' => '3', |
|
| 264 | + 'border-4' => '4', |
|
| 265 | + 'border-5' => '5', |
|
| 266 | + ); |
|
| 267 | + $defaults['element_require'] = $aui_bs5 ? '[%border%]' : '1==2'; |
|
| 268 | + } elseif ( 'opacity' === $type ) { // BS% |
|
| 269 | + $defaults['title'] = __( 'Border opacity', 'super-duper' ); |
|
| 270 | + $defaults['options'] = array( |
|
| 271 | + '' => __( 'Default', 'super-duper' ), |
|
| 272 | + 'border-opacity-75' => '75%', |
|
| 273 | + 'border-opacity-50' => '50%', |
|
| 274 | + 'border-opacity-25' => '25%', |
|
| 275 | + 'border-opacity-10' => '10%', |
|
| 276 | + ); |
|
| 277 | + $defaults['element_require'] = $aui_bs5 ? '[%border%]' : '1==2'; |
|
| 278 | + } elseif ( 'type' === $type ) { |
|
| 279 | + $defaults['title'] = __( 'Border show', 'super-duper' ); |
|
| 280 | + $defaults['options'] = array( |
|
| 281 | + 'border' => __( 'Full (set color to show)', 'super-duper' ), |
|
| 282 | + 'border-top' => __( 'Top', 'super-duper' ), |
|
| 283 | + 'border-bottom' => __( 'Bottom', 'super-duper' ), |
|
| 284 | + 'border-left' => __( 'Left', 'super-duper' ), |
|
| 285 | + 'border-right' => __( 'Right', 'super-duper' ), |
|
| 286 | + 'border-top-0' => __( '-Top', 'super-duper' ), |
|
| 287 | + 'border-bottom-0' => __( '-Bottom', 'super-duper' ), |
|
| 288 | + 'border-left-0' => __( '-Left', 'super-duper' ), |
|
| 289 | + 'border-right-0' => __( '-Right', 'super-duper' ), |
|
| 290 | + ); |
|
| 291 | + $defaults['element_require'] = '[%border%]'; |
|
| 292 | + |
|
| 293 | + } else { |
|
| 294 | + $defaults['title'] = __( 'Border color', 'super-duper' ); |
|
| 295 | + $defaults['options'] = array( |
|
| 296 | + '' => __( 'Default', 'super-duper' ), |
|
| 297 | + '0' => __( 'None', 'super-duper' ), |
|
| 298 | + ) + sd_aui_colors(); |
|
| 299 | + } |
|
| 300 | + |
|
| 301 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 302 | + |
|
| 303 | + return $input; |
|
| 304 | 304 | } |
| 305 | 305 | |
| 306 | 306 | /** |
@@ -312,25 +312,25 @@ discard block |
||
| 312 | 312 | * @return array |
| 313 | 313 | */ |
| 314 | 314 | function sd_get_shadow_input( $type = 'shadow', $overwrite = array() ) { |
| 315 | - $options = array( |
|
| 316 | - '' => __( 'None', 'super-duper' ), |
|
| 317 | - 'shadow-sm' => __( 'Small', 'super-duper' ), |
|
| 318 | - 'shadow' => __( 'Regular', 'super-duper' ), |
|
| 319 | - 'shadow-lg' => __( 'Large', 'super-duper' ), |
|
| 320 | - ); |
|
| 315 | + $options = array( |
|
| 316 | + '' => __( 'None', 'super-duper' ), |
|
| 317 | + 'shadow-sm' => __( 'Small', 'super-duper' ), |
|
| 318 | + 'shadow' => __( 'Regular', 'super-duper' ), |
|
| 319 | + 'shadow-lg' => __( 'Large', 'super-duper' ), |
|
| 320 | + ); |
|
| 321 | 321 | |
| 322 | - $defaults = array( |
|
| 323 | - 'type' => 'select', |
|
| 324 | - 'title' => __( 'Shadow', 'super-duper' ), |
|
| 325 | - 'options' => $options, |
|
| 326 | - 'default' => '', |
|
| 327 | - 'desc_tip' => true, |
|
| 328 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 329 | - ); |
|
| 322 | + $defaults = array( |
|
| 323 | + 'type' => 'select', |
|
| 324 | + 'title' => __( 'Shadow', 'super-duper' ), |
|
| 325 | + 'options' => $options, |
|
| 326 | + 'default' => '', |
|
| 327 | + 'desc_tip' => true, |
|
| 328 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 329 | + ); |
|
| 330 | 330 | |
| 331 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 331 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 332 | 332 | |
| 333 | - return $input; |
|
| 333 | + return $input; |
|
| 334 | 334 | } |
| 335 | 335 | |
| 336 | 336 | /** |
@@ -342,23 +342,23 @@ discard block |
||
| 342 | 342 | * @return array |
| 343 | 343 | */ |
| 344 | 344 | function sd_get_background_input( $type = 'bg', $overwrite = array() ) { |
| 345 | - $options = array( |
|
| 346 | - '' => __( 'None', 'super-duper' ), |
|
| 347 | - 'transparent' => __( 'Transparent', 'super-duper' ), |
|
| 348 | - ) + sd_aui_colors(); |
|
| 345 | + $options = array( |
|
| 346 | + '' => __( 'None', 'super-duper' ), |
|
| 347 | + 'transparent' => __( 'Transparent', 'super-duper' ), |
|
| 348 | + ) + sd_aui_colors(); |
|
| 349 | 349 | |
| 350 | - $defaults = array( |
|
| 351 | - 'type' => 'select', |
|
| 352 | - 'title' => __( 'Background color', 'super-duper' ), |
|
| 353 | - 'options' => $options, |
|
| 354 | - 'default' => '', |
|
| 355 | - 'desc_tip' => true, |
|
| 356 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 357 | - ); |
|
| 350 | + $defaults = array( |
|
| 351 | + 'type' => 'select', |
|
| 352 | + 'title' => __( 'Background color', 'super-duper' ), |
|
| 353 | + 'options' => $options, |
|
| 354 | + 'default' => '', |
|
| 355 | + 'desc_tip' => true, |
|
| 356 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 357 | + ); |
|
| 358 | 358 | |
| 359 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 359 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 360 | 360 | |
| 361 | - return $input; |
|
| 361 | + return $input; |
|
| 362 | 362 | } |
| 363 | 363 | |
| 364 | 364 | /** |
@@ -370,35 +370,35 @@ discard block |
||
| 370 | 370 | * @return array |
| 371 | 371 | */ |
| 372 | 372 | function sd_get_opacity_input( $type = 'opacity', $overwrite = array() ) { |
| 373 | - $options = array( |
|
| 374 | - '' => __( 'Default', 'super-duper' ), |
|
| 375 | - 'opacity-10' => '10%', |
|
| 376 | - 'opacity-15' => '15%', |
|
| 377 | - 'opacity-25' => '25%', |
|
| 378 | - 'opacity-35' => '35%', |
|
| 379 | - 'opacity-40' => '40%', |
|
| 380 | - 'opacity-50' => '50%', |
|
| 381 | - 'opacity-60' => '60%', |
|
| 382 | - 'opacity-65' => '65%', |
|
| 383 | - 'opacity-70' => '70%', |
|
| 384 | - 'opacity-75' => '75%', |
|
| 385 | - 'opacity-80' => '80%', |
|
| 386 | - 'opacity-90' => '90%', |
|
| 387 | - 'opacity-100' => '100%', |
|
| 388 | - ); |
|
| 389 | - |
|
| 390 | - $defaults = array( |
|
| 391 | - 'type' => 'select', |
|
| 392 | - 'title' => __( 'Opacity', 'super-duper' ), |
|
| 393 | - 'options' => $options, |
|
| 394 | - 'default' => '', |
|
| 395 | - 'desc_tip' => true, |
|
| 396 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 397 | - ); |
|
| 398 | - |
|
| 399 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 400 | - |
|
| 401 | - return $input; |
|
| 373 | + $options = array( |
|
| 374 | + '' => __( 'Default', 'super-duper' ), |
|
| 375 | + 'opacity-10' => '10%', |
|
| 376 | + 'opacity-15' => '15%', |
|
| 377 | + 'opacity-25' => '25%', |
|
| 378 | + 'opacity-35' => '35%', |
|
| 379 | + 'opacity-40' => '40%', |
|
| 380 | + 'opacity-50' => '50%', |
|
| 381 | + 'opacity-60' => '60%', |
|
| 382 | + 'opacity-65' => '65%', |
|
| 383 | + 'opacity-70' => '70%', |
|
| 384 | + 'opacity-75' => '75%', |
|
| 385 | + 'opacity-80' => '80%', |
|
| 386 | + 'opacity-90' => '90%', |
|
| 387 | + 'opacity-100' => '100%', |
|
| 388 | + ); |
|
| 389 | + |
|
| 390 | + $defaults = array( |
|
| 391 | + 'type' => 'select', |
|
| 392 | + 'title' => __( 'Opacity', 'super-duper' ), |
|
| 393 | + 'options' => $options, |
|
| 394 | + 'default' => '', |
|
| 395 | + 'desc_tip' => true, |
|
| 396 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 397 | + ); |
|
| 398 | + |
|
| 399 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 400 | + |
|
| 401 | + return $input; |
|
| 402 | 402 | } |
| 403 | 403 | |
| 404 | 404 | /** |
@@ -411,124 +411,124 @@ discard block |
||
| 411 | 411 | */ |
| 412 | 412 | function sd_get_background_inputs( $type = 'bg', $overwrite = array(), $overwrite_color = array(), $overwrite_gradient = array(), $overwrite_image = array(), $include_button_colors = false ) { |
| 413 | 413 | |
| 414 | - $color_options = $include_button_colors ? sd_aui_colors( false, true, true, true ) : sd_aui_colors(); |
|
| 415 | - |
|
| 416 | - $options = array( |
|
| 417 | - '' => __( 'None', 'super-duper' ), |
|
| 418 | - 'transparent' => __( 'Transparent', 'super-duper' ), |
|
| 419 | - ) + $color_options; |
|
| 420 | - |
|
| 421 | - if ( false !== $overwrite_color ) { |
|
| 422 | - $options['custom-color'] = __( 'Custom Color', 'super-duper' ); |
|
| 423 | - } |
|
| 424 | - |
|
| 425 | - if ( false !== $overwrite_gradient ) { |
|
| 426 | - $options['custom-gradient'] = __( 'Custom Gradient', 'super-duper' ); |
|
| 427 | - } |
|
| 428 | - |
|
| 429 | - $defaults = array( |
|
| 430 | - 'type' => 'select', |
|
| 431 | - 'title' => __( 'Background Color', 'super-duper' ), |
|
| 432 | - 'options' => $options, |
|
| 433 | - 'default' => '', |
|
| 434 | - 'desc_tip' => true, |
|
| 435 | - 'group' => __( 'Background', 'super-duper' ), |
|
| 436 | - ); |
|
| 437 | - |
|
| 438 | - if ( $overwrite !== false ) { |
|
| 439 | - $input[ $type ] = wp_parse_args( $overwrite, $defaults ); |
|
| 440 | - } |
|
| 441 | - |
|
| 442 | - if ( $overwrite_color !== false ) { |
|
| 443 | - $input[ $type . '_color' ] = wp_parse_args( |
|
| 444 | - $overwrite_color, |
|
| 445 | - array( |
|
| 446 | - 'type' => 'color', |
|
| 447 | - 'title' => __( 'Custom color', 'super-duper' ), |
|
| 448 | - 'placeholder' => '', |
|
| 449 | - 'default' => '#0073aa', |
|
| 450 | - 'desc_tip' => true, |
|
| 451 | - 'group' => __( 'Background', 'super-duper' ), |
|
| 452 | - 'element_require' => '[%' . $type . '%]=="custom-color"', |
|
| 453 | - ) |
|
| 454 | - ); |
|
| 455 | - } |
|
| 456 | - |
|
| 457 | - if ( $overwrite_gradient !== false ) { |
|
| 458 | - $input[ $type . '_gradient' ] = wp_parse_args( |
|
| 459 | - $overwrite_gradient, |
|
| 460 | - array( |
|
| 461 | - 'type' => 'gradient', |
|
| 462 | - 'title' => __( 'Custom gradient', 'super-duper' ), |
|
| 463 | - 'placeholder' => '', |
|
| 464 | - 'default' => 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)', |
|
| 465 | - 'desc_tip' => true, |
|
| 466 | - 'group' => __( 'Background', 'super-duper' ), |
|
| 467 | - 'element_require' => '[%' . $type . '%]=="custom-gradient"', |
|
| 468 | - ) |
|
| 469 | - ); |
|
| 470 | - } |
|
| 471 | - |
|
| 472 | - if ( $overwrite_image !== false ) { |
|
| 473 | - |
|
| 474 | - $input[ $type . '_image_fixed' ] = array( |
|
| 475 | - 'type' => 'checkbox', |
|
| 476 | - 'title' => __( 'Fixed background', 'super-duper' ), |
|
| 477 | - 'default' => '', |
|
| 478 | - 'desc_tip' => true, |
|
| 479 | - 'group' => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'super-duper' ), |
|
| 480 | - 'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )', |
|
| 481 | - |
|
| 482 | - ); |
|
| 483 | - |
|
| 484 | - $input[ $type . '_image_use_featured' ] = array( |
|
| 485 | - 'type' => 'checkbox', |
|
| 486 | - 'title' => __( 'Use featured image', 'super-duper' ), |
|
| 487 | - 'default' => '', |
|
| 488 | - 'desc_tip' => true, |
|
| 489 | - 'group' => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'super-duper' ), |
|
| 490 | - 'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )', |
|
| 491 | - |
|
| 492 | - ); |
|
| 493 | - |
|
| 494 | - $input[ $type . '_image' ] = wp_parse_args( |
|
| 495 | - $overwrite_image, |
|
| 496 | - array( |
|
| 497 | - 'type' => 'image', |
|
| 498 | - 'title' => __( 'Custom image', 'super-duper' ), |
|
| 499 | - 'placeholder' => '', |
|
| 500 | - 'default' => '', |
|
| 501 | - 'desc_tip' => true, |
|
| 502 | - 'group' => __( 'Background', 'super-duper' ), |
|
| 503 | - // 'element_require' => ' ![%' . $type . '_image_use_featured%] ' |
|
| 504 | - ) |
|
| 505 | - ); |
|
| 506 | - |
|
| 507 | - $input[ $type . '_image_id' ] = wp_parse_args( |
|
| 508 | - $overwrite_image, |
|
| 509 | - array( |
|
| 510 | - 'type' => 'hidden', |
|
| 511 | - 'hidden_type' => 'number', |
|
| 512 | - 'title' => '', |
|
| 513 | - 'placeholder' => '', |
|
| 514 | - 'default' => '', |
|
| 515 | - 'group' => __( 'Background', 'super-duper' ), |
|
| 516 | - ) |
|
| 517 | - ); |
|
| 518 | - |
|
| 519 | - $input[ $type . '_image_xy' ] = wp_parse_args( |
|
| 520 | - $overwrite_image, |
|
| 521 | - array( |
|
| 522 | - 'type' => 'image_xy', |
|
| 523 | - 'title' => '', |
|
| 524 | - 'placeholder' => '', |
|
| 525 | - 'default' => '', |
|
| 526 | - 'group' => __( 'Background', 'super-duper' ), |
|
| 527 | - ) |
|
| 528 | - ); |
|
| 529 | - } |
|
| 530 | - |
|
| 531 | - return $input; |
|
| 414 | + $color_options = $include_button_colors ? sd_aui_colors( false, true, true, true ) : sd_aui_colors(); |
|
| 415 | + |
|
| 416 | + $options = array( |
|
| 417 | + '' => __( 'None', 'super-duper' ), |
|
| 418 | + 'transparent' => __( 'Transparent', 'super-duper' ), |
|
| 419 | + ) + $color_options; |
|
| 420 | + |
|
| 421 | + if ( false !== $overwrite_color ) { |
|
| 422 | + $options['custom-color'] = __( 'Custom Color', 'super-duper' ); |
|
| 423 | + } |
|
| 424 | + |
|
| 425 | + if ( false !== $overwrite_gradient ) { |
|
| 426 | + $options['custom-gradient'] = __( 'Custom Gradient', 'super-duper' ); |
|
| 427 | + } |
|
| 428 | + |
|
| 429 | + $defaults = array( |
|
| 430 | + 'type' => 'select', |
|
| 431 | + 'title' => __( 'Background Color', 'super-duper' ), |
|
| 432 | + 'options' => $options, |
|
| 433 | + 'default' => '', |
|
| 434 | + 'desc_tip' => true, |
|
| 435 | + 'group' => __( 'Background', 'super-duper' ), |
|
| 436 | + ); |
|
| 437 | + |
|
| 438 | + if ( $overwrite !== false ) { |
|
| 439 | + $input[ $type ] = wp_parse_args( $overwrite, $defaults ); |
|
| 440 | + } |
|
| 441 | + |
|
| 442 | + if ( $overwrite_color !== false ) { |
|
| 443 | + $input[ $type . '_color' ] = wp_parse_args( |
|
| 444 | + $overwrite_color, |
|
| 445 | + array( |
|
| 446 | + 'type' => 'color', |
|
| 447 | + 'title' => __( 'Custom color', 'super-duper' ), |
|
| 448 | + 'placeholder' => '', |
|
| 449 | + 'default' => '#0073aa', |
|
| 450 | + 'desc_tip' => true, |
|
| 451 | + 'group' => __( 'Background', 'super-duper' ), |
|
| 452 | + 'element_require' => '[%' . $type . '%]=="custom-color"', |
|
| 453 | + ) |
|
| 454 | + ); |
|
| 455 | + } |
|
| 456 | + |
|
| 457 | + if ( $overwrite_gradient !== false ) { |
|
| 458 | + $input[ $type . '_gradient' ] = wp_parse_args( |
|
| 459 | + $overwrite_gradient, |
|
| 460 | + array( |
|
| 461 | + 'type' => 'gradient', |
|
| 462 | + 'title' => __( 'Custom gradient', 'super-duper' ), |
|
| 463 | + 'placeholder' => '', |
|
| 464 | + 'default' => 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)', |
|
| 465 | + 'desc_tip' => true, |
|
| 466 | + 'group' => __( 'Background', 'super-duper' ), |
|
| 467 | + 'element_require' => '[%' . $type . '%]=="custom-gradient"', |
|
| 468 | + ) |
|
| 469 | + ); |
|
| 470 | + } |
|
| 471 | + |
|
| 472 | + if ( $overwrite_image !== false ) { |
|
| 473 | + |
|
| 474 | + $input[ $type . '_image_fixed' ] = array( |
|
| 475 | + 'type' => 'checkbox', |
|
| 476 | + 'title' => __( 'Fixed background', 'super-duper' ), |
|
| 477 | + 'default' => '', |
|
| 478 | + 'desc_tip' => true, |
|
| 479 | + 'group' => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'super-duper' ), |
|
| 480 | + 'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )', |
|
| 481 | + |
|
| 482 | + ); |
|
| 483 | + |
|
| 484 | + $input[ $type . '_image_use_featured' ] = array( |
|
| 485 | + 'type' => 'checkbox', |
|
| 486 | + 'title' => __( 'Use featured image', 'super-duper' ), |
|
| 487 | + 'default' => '', |
|
| 488 | + 'desc_tip' => true, |
|
| 489 | + 'group' => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'super-duper' ), |
|
| 490 | + 'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )', |
|
| 491 | + |
|
| 492 | + ); |
|
| 493 | + |
|
| 494 | + $input[ $type . '_image' ] = wp_parse_args( |
|
| 495 | + $overwrite_image, |
|
| 496 | + array( |
|
| 497 | + 'type' => 'image', |
|
| 498 | + 'title' => __( 'Custom image', 'super-duper' ), |
|
| 499 | + 'placeholder' => '', |
|
| 500 | + 'default' => '', |
|
| 501 | + 'desc_tip' => true, |
|
| 502 | + 'group' => __( 'Background', 'super-duper' ), |
|
| 503 | + // 'element_require' => ' ![%' . $type . '_image_use_featured%] ' |
|
| 504 | + ) |
|
| 505 | + ); |
|
| 506 | + |
|
| 507 | + $input[ $type . '_image_id' ] = wp_parse_args( |
|
| 508 | + $overwrite_image, |
|
| 509 | + array( |
|
| 510 | + 'type' => 'hidden', |
|
| 511 | + 'hidden_type' => 'number', |
|
| 512 | + 'title' => '', |
|
| 513 | + 'placeholder' => '', |
|
| 514 | + 'default' => '', |
|
| 515 | + 'group' => __( 'Background', 'super-duper' ), |
|
| 516 | + ) |
|
| 517 | + ); |
|
| 518 | + |
|
| 519 | + $input[ $type . '_image_xy' ] = wp_parse_args( |
|
| 520 | + $overwrite_image, |
|
| 521 | + array( |
|
| 522 | + 'type' => 'image_xy', |
|
| 523 | + 'title' => '', |
|
| 524 | + 'placeholder' => '', |
|
| 525 | + 'default' => '', |
|
| 526 | + 'group' => __( 'Background', 'super-duper' ), |
|
| 527 | + ) |
|
| 528 | + ); |
|
| 529 | + } |
|
| 530 | + |
|
| 531 | + return $input; |
|
| 532 | 532 | } |
| 533 | 533 | |
| 534 | 534 | /** |
@@ -541,175 +541,175 @@ discard block |
||
| 541 | 541 | */ |
| 542 | 542 | function sd_get_shape_divider_inputs( $type = 'sd', $overwrite = array(), $overwrite_color = array(), $overwrite_gradient = array(), $overwrite_image = array() ) { |
| 543 | 543 | |
| 544 | - $options = array( |
|
| 545 | - '' => __( 'None', 'super-duper' ), |
|
| 546 | - 'mountains' => __( 'Mountains', 'super-duper' ), |
|
| 547 | - 'drops' => __( 'Drops', 'super-duper' ), |
|
| 548 | - 'clouds' => __( 'Clouds', 'super-duper' ), |
|
| 549 | - 'zigzag' => __( 'Zigzag', 'super-duper' ), |
|
| 550 | - 'pyramids' => __( 'Pyramids', 'super-duper' ), |
|
| 551 | - 'triangle' => __( 'Triangle', 'super-duper' ), |
|
| 552 | - 'triangle-asymmetrical' => __( 'Triangle Asymmetrical', 'super-duper' ), |
|
| 553 | - 'tilt' => __( 'Tilt', 'super-duper' ), |
|
| 554 | - 'opacity-tilt' => __( 'Opacity Tilt', 'super-duper' ), |
|
| 555 | - 'opacity-fan' => __( 'Opacity Fan', 'super-duper' ), |
|
| 556 | - 'curve' => __( 'Curve', 'super-duper' ), |
|
| 557 | - 'curve-asymmetrical' => __( 'Curve Asymmetrical', 'super-duper' ), |
|
| 558 | - 'waves' => __( 'Waves', 'super-duper' ), |
|
| 559 | - 'wave-brush' => __( 'Wave Brush', 'super-duper' ), |
|
| 560 | - 'waves-pattern' => __( 'Waves Pattern', 'super-duper' ), |
|
| 561 | - 'arrow' => __( 'Arrow', 'super-duper' ), |
|
| 562 | - 'split' => __( 'Split', 'super-duper' ), |
|
| 563 | - 'book' => __( 'Book', 'super-duper' ), |
|
| 564 | - ); |
|
| 565 | - |
|
| 566 | - $defaults = array( |
|
| 567 | - 'type' => 'select', |
|
| 568 | - 'title' => __( 'Type', 'super-duper' ), |
|
| 569 | - 'options' => $options, |
|
| 570 | - 'default' => '', |
|
| 571 | - 'desc_tip' => true, |
|
| 572 | - 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 573 | - ); |
|
| 574 | - |
|
| 575 | - $input[ $type ] = wp_parse_args( $overwrite, $defaults ); |
|
| 576 | - |
|
| 577 | - $input[ $type . '_notice' ] = array( |
|
| 578 | - 'type' => 'notice', |
|
| 579 | - 'desc' => __( 'Parent element must be position `relative`', 'super-duper' ), |
|
| 580 | - 'status' => 'warning', |
|
| 581 | - 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 582 | - 'element_require' => '[%' . $type . '%]!=""', |
|
| 583 | - ); |
|
| 584 | - |
|
| 585 | - $input[ $type . '_position' ] = wp_parse_args( |
|
| 586 | - $overwrite_color, |
|
| 587 | - array( |
|
| 588 | - 'type' => 'select', |
|
| 589 | - 'title' => __( 'Position', 'super-duper' ), |
|
| 590 | - 'options' => array( |
|
| 591 | - 'top' => __( 'Top', 'super-duper' ), |
|
| 592 | - 'bottom' => __( 'Bottom', 'super-duper' ), |
|
| 593 | - ), |
|
| 594 | - 'desc_tip' => true, |
|
| 595 | - 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 596 | - 'element_require' => '[%' . $type . '%]!=""', |
|
| 597 | - ) |
|
| 598 | - ); |
|
| 599 | - |
|
| 600 | - $options = array( |
|
| 601 | - '' => __( 'None', 'super-duper' ), |
|
| 602 | - 'transparent' => __( 'Transparent', 'super-duper' ), |
|
| 603 | - ) + sd_aui_colors() |
|
| 604 | - + array( |
|
| 605 | - 'custom-color' => __( 'Custom Color', 'super-duper' ), |
|
| 606 | - ); |
|
| 607 | - |
|
| 608 | - $input[ $type . '_color' ] = wp_parse_args( |
|
| 609 | - $overwrite_color, |
|
| 610 | - array( |
|
| 611 | - 'type' => 'select', |
|
| 612 | - 'title' => __( 'Color', 'super-duper' ), |
|
| 613 | - 'options' => $options, |
|
| 614 | - 'desc_tip' => true, |
|
| 615 | - 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 616 | - 'element_require' => '[%' . $type . '%]!=""', |
|
| 617 | - ) |
|
| 618 | - ); |
|
| 619 | - |
|
| 620 | - $input[ $type . '_custom_color' ] = wp_parse_args( |
|
| 621 | - $overwrite_color, |
|
| 622 | - array( |
|
| 623 | - 'type' => 'color', |
|
| 624 | - 'title' => __( 'Custom color', 'super-duper' ), |
|
| 625 | - 'placeholder' => '', |
|
| 626 | - 'default' => '#0073aa', |
|
| 627 | - 'desc_tip' => true, |
|
| 628 | - 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 629 | - 'element_require' => '[%' . $type . '_color%]=="custom-color" && [%' . $type . '%]!=""', |
|
| 630 | - ) |
|
| 631 | - ); |
|
| 632 | - |
|
| 633 | - $input[ $type . '_width' ] = wp_parse_args( |
|
| 634 | - $overwrite_gradient, |
|
| 635 | - array( |
|
| 636 | - 'type' => 'range', |
|
| 637 | - 'title' => __( 'Width', 'super-duper' ), |
|
| 638 | - 'placeholder' => '', |
|
| 639 | - 'default' => '200', |
|
| 640 | - 'desc_tip' => true, |
|
| 641 | - 'custom_attributes' => array( |
|
| 642 | - 'min' => 100, |
|
| 643 | - 'max' => 300, |
|
| 644 | - ), |
|
| 645 | - 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 646 | - 'element_require' => '[%' . $type . '%]!=""', |
|
| 647 | - ) |
|
| 648 | - ); |
|
| 649 | - |
|
| 650 | - $input[ $type . '_height' ] = array( |
|
| 651 | - 'type' => 'range', |
|
| 652 | - 'title' => __( 'Height', 'super-duper' ), |
|
| 653 | - 'default' => '100', |
|
| 654 | - 'desc_tip' => true, |
|
| 655 | - 'custom_attributes' => array( |
|
| 656 | - 'min' => 0, |
|
| 657 | - 'max' => 500, |
|
| 658 | - ), |
|
| 659 | - 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 660 | - 'element_require' => '[%' . $type . '%]!=""', |
|
| 661 | - ); |
|
| 662 | - |
|
| 663 | - $requires = array( |
|
| 664 | - 'mountains' => array( 'flip' ), |
|
| 665 | - 'drops' => array( 'flip', 'invert' ), |
|
| 666 | - 'clouds' => array( 'flip', 'invert' ), |
|
| 667 | - 'zigzag' => array(), |
|
| 668 | - 'pyramids' => array( 'flip', 'invert' ), |
|
| 669 | - 'triangle' => array( 'invert' ), |
|
| 670 | - 'triangle-asymmetrical' => array( 'flip', 'invert' ), |
|
| 671 | - 'tilt' => array( 'flip' ), |
|
| 672 | - 'opacity-tilt' => array( 'flip' ), |
|
| 673 | - 'opacity-fan' => array(), |
|
| 674 | - 'curve' => array( 'invert' ), |
|
| 675 | - 'curve-asymmetrical' => array( 'flip', 'invert' ), |
|
| 676 | - 'waves' => array( 'flip', 'invert' ), |
|
| 677 | - 'wave-brush' => array( 'flip' ), |
|
| 678 | - 'waves-pattern' => array( 'flip' ), |
|
| 679 | - 'arrow' => array( 'invert' ), |
|
| 680 | - 'split' => array( 'invert' ), |
|
| 681 | - 'book' => array( 'invert' ), |
|
| 682 | - ); |
|
| 683 | - |
|
| 684 | - $input[ $type . '_flip' ] = array( |
|
| 685 | - 'type' => 'checkbox', |
|
| 686 | - 'title' => __( 'Flip', 'super-duper' ), |
|
| 687 | - 'default' => '', |
|
| 688 | - 'desc_tip' => true, |
|
| 689 | - 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 690 | - 'element_require' => sd_get_element_require_string( $requires, 'flip', 'sd' ), |
|
| 691 | - ); |
|
| 692 | - |
|
| 693 | - $input[ $type . '_invert' ] = array( |
|
| 694 | - 'type' => 'checkbox', |
|
| 695 | - 'title' => __( 'Invert', 'super-duper' ), |
|
| 696 | - 'default' => '', |
|
| 697 | - 'desc_tip' => true, |
|
| 698 | - 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 699 | - 'element_require' => sd_get_element_require_string( $requires, 'invert', 'sd' ), |
|
| 700 | - ); |
|
| 701 | - |
|
| 702 | - $input[ $type . '_btf' ] = array( |
|
| 703 | - 'type' => 'checkbox', |
|
| 704 | - 'title' => __( 'Bring to front', 'super-duper' ), |
|
| 705 | - 'default' => '', |
|
| 706 | - 'desc_tip' => true, |
|
| 707 | - 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 708 | - 'element_require' => '[%' . $type . '%]!=""', |
|
| 709 | - |
|
| 710 | - ); |
|
| 711 | - |
|
| 712 | - return $input; |
|
| 544 | + $options = array( |
|
| 545 | + '' => __( 'None', 'super-duper' ), |
|
| 546 | + 'mountains' => __( 'Mountains', 'super-duper' ), |
|
| 547 | + 'drops' => __( 'Drops', 'super-duper' ), |
|
| 548 | + 'clouds' => __( 'Clouds', 'super-duper' ), |
|
| 549 | + 'zigzag' => __( 'Zigzag', 'super-duper' ), |
|
| 550 | + 'pyramids' => __( 'Pyramids', 'super-duper' ), |
|
| 551 | + 'triangle' => __( 'Triangle', 'super-duper' ), |
|
| 552 | + 'triangle-asymmetrical' => __( 'Triangle Asymmetrical', 'super-duper' ), |
|
| 553 | + 'tilt' => __( 'Tilt', 'super-duper' ), |
|
| 554 | + 'opacity-tilt' => __( 'Opacity Tilt', 'super-duper' ), |
|
| 555 | + 'opacity-fan' => __( 'Opacity Fan', 'super-duper' ), |
|
| 556 | + 'curve' => __( 'Curve', 'super-duper' ), |
|
| 557 | + 'curve-asymmetrical' => __( 'Curve Asymmetrical', 'super-duper' ), |
|
| 558 | + 'waves' => __( 'Waves', 'super-duper' ), |
|
| 559 | + 'wave-brush' => __( 'Wave Brush', 'super-duper' ), |
|
| 560 | + 'waves-pattern' => __( 'Waves Pattern', 'super-duper' ), |
|
| 561 | + 'arrow' => __( 'Arrow', 'super-duper' ), |
|
| 562 | + 'split' => __( 'Split', 'super-duper' ), |
|
| 563 | + 'book' => __( 'Book', 'super-duper' ), |
|
| 564 | + ); |
|
| 565 | + |
|
| 566 | + $defaults = array( |
|
| 567 | + 'type' => 'select', |
|
| 568 | + 'title' => __( 'Type', 'super-duper' ), |
|
| 569 | + 'options' => $options, |
|
| 570 | + 'default' => '', |
|
| 571 | + 'desc_tip' => true, |
|
| 572 | + 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 573 | + ); |
|
| 574 | + |
|
| 575 | + $input[ $type ] = wp_parse_args( $overwrite, $defaults ); |
|
| 576 | + |
|
| 577 | + $input[ $type . '_notice' ] = array( |
|
| 578 | + 'type' => 'notice', |
|
| 579 | + 'desc' => __( 'Parent element must be position `relative`', 'super-duper' ), |
|
| 580 | + 'status' => 'warning', |
|
| 581 | + 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 582 | + 'element_require' => '[%' . $type . '%]!=""', |
|
| 583 | + ); |
|
| 584 | + |
|
| 585 | + $input[ $type . '_position' ] = wp_parse_args( |
|
| 586 | + $overwrite_color, |
|
| 587 | + array( |
|
| 588 | + 'type' => 'select', |
|
| 589 | + 'title' => __( 'Position', 'super-duper' ), |
|
| 590 | + 'options' => array( |
|
| 591 | + 'top' => __( 'Top', 'super-duper' ), |
|
| 592 | + 'bottom' => __( 'Bottom', 'super-duper' ), |
|
| 593 | + ), |
|
| 594 | + 'desc_tip' => true, |
|
| 595 | + 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 596 | + 'element_require' => '[%' . $type . '%]!=""', |
|
| 597 | + ) |
|
| 598 | + ); |
|
| 599 | + |
|
| 600 | + $options = array( |
|
| 601 | + '' => __( 'None', 'super-duper' ), |
|
| 602 | + 'transparent' => __( 'Transparent', 'super-duper' ), |
|
| 603 | + ) + sd_aui_colors() |
|
| 604 | + + array( |
|
| 605 | + 'custom-color' => __( 'Custom Color', 'super-duper' ), |
|
| 606 | + ); |
|
| 607 | + |
|
| 608 | + $input[ $type . '_color' ] = wp_parse_args( |
|
| 609 | + $overwrite_color, |
|
| 610 | + array( |
|
| 611 | + 'type' => 'select', |
|
| 612 | + 'title' => __( 'Color', 'super-duper' ), |
|
| 613 | + 'options' => $options, |
|
| 614 | + 'desc_tip' => true, |
|
| 615 | + 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 616 | + 'element_require' => '[%' . $type . '%]!=""', |
|
| 617 | + ) |
|
| 618 | + ); |
|
| 619 | + |
|
| 620 | + $input[ $type . '_custom_color' ] = wp_parse_args( |
|
| 621 | + $overwrite_color, |
|
| 622 | + array( |
|
| 623 | + 'type' => 'color', |
|
| 624 | + 'title' => __( 'Custom color', 'super-duper' ), |
|
| 625 | + 'placeholder' => '', |
|
| 626 | + 'default' => '#0073aa', |
|
| 627 | + 'desc_tip' => true, |
|
| 628 | + 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 629 | + 'element_require' => '[%' . $type . '_color%]=="custom-color" && [%' . $type . '%]!=""', |
|
| 630 | + ) |
|
| 631 | + ); |
|
| 632 | + |
|
| 633 | + $input[ $type . '_width' ] = wp_parse_args( |
|
| 634 | + $overwrite_gradient, |
|
| 635 | + array( |
|
| 636 | + 'type' => 'range', |
|
| 637 | + 'title' => __( 'Width', 'super-duper' ), |
|
| 638 | + 'placeholder' => '', |
|
| 639 | + 'default' => '200', |
|
| 640 | + 'desc_tip' => true, |
|
| 641 | + 'custom_attributes' => array( |
|
| 642 | + 'min' => 100, |
|
| 643 | + 'max' => 300, |
|
| 644 | + ), |
|
| 645 | + 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 646 | + 'element_require' => '[%' . $type . '%]!=""', |
|
| 647 | + ) |
|
| 648 | + ); |
|
| 649 | + |
|
| 650 | + $input[ $type . '_height' ] = array( |
|
| 651 | + 'type' => 'range', |
|
| 652 | + 'title' => __( 'Height', 'super-duper' ), |
|
| 653 | + 'default' => '100', |
|
| 654 | + 'desc_tip' => true, |
|
| 655 | + 'custom_attributes' => array( |
|
| 656 | + 'min' => 0, |
|
| 657 | + 'max' => 500, |
|
| 658 | + ), |
|
| 659 | + 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 660 | + 'element_require' => '[%' . $type . '%]!=""', |
|
| 661 | + ); |
|
| 662 | + |
|
| 663 | + $requires = array( |
|
| 664 | + 'mountains' => array( 'flip' ), |
|
| 665 | + 'drops' => array( 'flip', 'invert' ), |
|
| 666 | + 'clouds' => array( 'flip', 'invert' ), |
|
| 667 | + 'zigzag' => array(), |
|
| 668 | + 'pyramids' => array( 'flip', 'invert' ), |
|
| 669 | + 'triangle' => array( 'invert' ), |
|
| 670 | + 'triangle-asymmetrical' => array( 'flip', 'invert' ), |
|
| 671 | + 'tilt' => array( 'flip' ), |
|
| 672 | + 'opacity-tilt' => array( 'flip' ), |
|
| 673 | + 'opacity-fan' => array(), |
|
| 674 | + 'curve' => array( 'invert' ), |
|
| 675 | + 'curve-asymmetrical' => array( 'flip', 'invert' ), |
|
| 676 | + 'waves' => array( 'flip', 'invert' ), |
|
| 677 | + 'wave-brush' => array( 'flip' ), |
|
| 678 | + 'waves-pattern' => array( 'flip' ), |
|
| 679 | + 'arrow' => array( 'invert' ), |
|
| 680 | + 'split' => array( 'invert' ), |
|
| 681 | + 'book' => array( 'invert' ), |
|
| 682 | + ); |
|
| 683 | + |
|
| 684 | + $input[ $type . '_flip' ] = array( |
|
| 685 | + 'type' => 'checkbox', |
|
| 686 | + 'title' => __( 'Flip', 'super-duper' ), |
|
| 687 | + 'default' => '', |
|
| 688 | + 'desc_tip' => true, |
|
| 689 | + 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 690 | + 'element_require' => sd_get_element_require_string( $requires, 'flip', 'sd' ), |
|
| 691 | + ); |
|
| 692 | + |
|
| 693 | + $input[ $type . '_invert' ] = array( |
|
| 694 | + 'type' => 'checkbox', |
|
| 695 | + 'title' => __( 'Invert', 'super-duper' ), |
|
| 696 | + 'default' => '', |
|
| 697 | + 'desc_tip' => true, |
|
| 698 | + 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 699 | + 'element_require' => sd_get_element_require_string( $requires, 'invert', 'sd' ), |
|
| 700 | + ); |
|
| 701 | + |
|
| 702 | + $input[ $type . '_btf' ] = array( |
|
| 703 | + 'type' => 'checkbox', |
|
| 704 | + 'title' => __( 'Bring to front', 'super-duper' ), |
|
| 705 | + 'default' => '', |
|
| 706 | + 'desc_tip' => true, |
|
| 707 | + 'group' => __( 'Shape Divider', 'super-duper' ), |
|
| 708 | + 'element_require' => '[%' . $type . '%]!=""', |
|
| 709 | + |
|
| 710 | + ); |
|
| 711 | + |
|
| 712 | + return $input; |
|
| 713 | 713 | } |
| 714 | 714 | |
| 715 | 715 | /** |
@@ -722,22 +722,22 @@ discard block |
||
| 722 | 722 | * @return string |
| 723 | 723 | */ |
| 724 | 724 | function sd_get_element_require_string( $args, $key, $type ) { |
| 725 | - $output = ''; |
|
| 726 | - $requires = array(); |
|
| 725 | + $output = ''; |
|
| 726 | + $requires = array(); |
|
| 727 | 727 | |
| 728 | - if ( ! empty( $args ) ) { |
|
| 729 | - foreach ( $args as $t => $k ) { |
|
| 730 | - if ( in_array( $key, $k ) ) { |
|
| 731 | - $requires[] = '[%' . $type . '%]=="' . $t . '"'; |
|
| 732 | - } |
|
| 733 | - } |
|
| 728 | + if ( ! empty( $args ) ) { |
|
| 729 | + foreach ( $args as $t => $k ) { |
|
| 730 | + if ( in_array( $key, $k ) ) { |
|
| 731 | + $requires[] = '[%' . $type . '%]=="' . $t . '"'; |
|
| 732 | + } |
|
| 733 | + } |
|
| 734 | 734 | |
| 735 | - if ( ! empty( $requires ) ) { |
|
| 736 | - $output = '(' . implode( ' || ', $requires ) . ')'; |
|
| 737 | - } |
|
| 738 | - } |
|
| 735 | + if ( ! empty( $requires ) ) { |
|
| 736 | + $output = '(' . implode( ' || ', $requires ) . ')'; |
|
| 737 | + } |
|
| 738 | + } |
|
| 739 | 739 | |
| 740 | - return $output; |
|
| 740 | + return $output; |
|
| 741 | 741 | } |
| 742 | 742 | |
| 743 | 743 | /** |
@@ -749,41 +749,41 @@ discard block |
||
| 749 | 749 | * @return array |
| 750 | 750 | */ |
| 751 | 751 | function sd_get_text_color_input( $type = 'text_color', $overwrite = array(), $has_custom = false ) { |
| 752 | - $options = array( |
|
| 753 | - '' => __( 'None', 'super-duper' ), |
|
| 754 | - ) + sd_aui_colors(); |
|
| 752 | + $options = array( |
|
| 753 | + '' => __( 'None', 'super-duper' ), |
|
| 754 | + ) + sd_aui_colors(); |
|
| 755 | 755 | |
| 756 | - if ( $has_custom ) { |
|
| 757 | - $options['custom'] = __( 'Custom color', 'super-duper' ); |
|
| 758 | - } |
|
| 756 | + if ( $has_custom ) { |
|
| 757 | + $options['custom'] = __( 'Custom color', 'super-duper' ); |
|
| 758 | + } |
|
| 759 | 759 | |
| 760 | - $defaults = array( |
|
| 761 | - 'type' => 'select', |
|
| 762 | - 'title' => __( 'Text color', 'super-duper' ), |
|
| 763 | - 'options' => $options, |
|
| 764 | - 'default' => '', |
|
| 765 | - 'desc_tip' => true, |
|
| 766 | - 'group' => __( 'Typography', 'super-duper' ), |
|
| 767 | - ); |
|
| 760 | + $defaults = array( |
|
| 761 | + 'type' => 'select', |
|
| 762 | + 'title' => __( 'Text color', 'super-duper' ), |
|
| 763 | + 'options' => $options, |
|
| 764 | + 'default' => '', |
|
| 765 | + 'desc_tip' => true, |
|
| 766 | + 'group' => __( 'Typography', 'super-duper' ), |
|
| 767 | + ); |
|
| 768 | 768 | |
| 769 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 769 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 770 | 770 | |
| 771 | - return $input; |
|
| 771 | + return $input; |
|
| 772 | 772 | } |
| 773 | 773 | |
| 774 | 774 | function sd_get_text_color_input_group( $type = 'text_color', $overwrite = array(), $overwrite_custom = array() ) { |
| 775 | - $inputs = array(); |
|
| 775 | + $inputs = array(); |
|
| 776 | 776 | |
| 777 | - if ( $overwrite !== false ) { |
|
| 778 | - $inputs[ $type ] = sd_get_text_color_input( $type, $overwrite, true ); |
|
| 779 | - } |
|
| 777 | + if ( $overwrite !== false ) { |
|
| 778 | + $inputs[ $type ] = sd_get_text_color_input( $type, $overwrite, true ); |
|
| 779 | + } |
|
| 780 | 780 | |
| 781 | - if ( $overwrite_custom !== false ) { |
|
| 782 | - $custom = $type . '_custom'; |
|
| 783 | - $inputs[ $custom ] = sd_get_custom_color_input( $custom, $overwrite_custom, $type ); |
|
| 784 | - } |
|
| 781 | + if ( $overwrite_custom !== false ) { |
|
| 782 | + $custom = $type . '_custom'; |
|
| 783 | + $inputs[ $custom ] = sd_get_custom_color_input( $custom, $overwrite_custom, $type ); |
|
| 784 | + } |
|
| 785 | 785 | |
| 786 | - return $inputs; |
|
| 786 | + return $inputs; |
|
| 787 | 787 | } |
| 788 | 788 | |
| 789 | 789 | /** |
@@ -796,22 +796,22 @@ discard block |
||
| 796 | 796 | */ |
| 797 | 797 | function sd_get_custom_color_input( $type = 'color_custom', $overwrite = array(), $parent_type = '' ) { |
| 798 | 798 | |
| 799 | - $defaults = array( |
|
| 800 | - 'type' => 'color', |
|
| 801 | - 'title' => __( 'Custom color', 'super-duper' ), |
|
| 802 | - 'default' => '', |
|
| 803 | - 'placeholder' => '', |
|
| 804 | - 'desc_tip' => true, |
|
| 805 | - 'group' => __( 'Typography', 'super-duper' ), |
|
| 806 | - ); |
|
| 799 | + $defaults = array( |
|
| 800 | + 'type' => 'color', |
|
| 801 | + 'title' => __( 'Custom color', 'super-duper' ), |
|
| 802 | + 'default' => '', |
|
| 803 | + 'placeholder' => '', |
|
| 804 | + 'desc_tip' => true, |
|
| 805 | + 'group' => __( 'Typography', 'super-duper' ), |
|
| 806 | + ); |
|
| 807 | 807 | |
| 808 | - if ( $parent_type ) { |
|
| 809 | - $defaults['element_require'] = '[%' . $parent_type . '%]=="custom"'; |
|
| 810 | - } |
|
| 808 | + if ( $parent_type ) { |
|
| 809 | + $defaults['element_require'] = '[%' . $parent_type . '%]=="custom"'; |
|
| 810 | + } |
|
| 811 | 811 | |
| 812 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 812 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 813 | 813 | |
| 814 | - return $input; |
|
| 814 | + return $input; |
|
| 815 | 815 | } |
| 816 | 816 | |
| 817 | 817 | /** |
@@ -824,44 +824,44 @@ discard block |
||
| 824 | 824 | */ |
| 825 | 825 | function sd_get_col_input( $type = 'col', $overwrite = array() ) { |
| 826 | 826 | |
| 827 | - $device_size = ''; |
|
| 828 | - if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 829 | - if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 830 | - $device_size = '-md'; |
|
| 831 | - } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 832 | - $device_size = '-lg'; |
|
| 833 | - } |
|
| 834 | - } |
|
| 835 | - $options = array( |
|
| 836 | - '' => __( 'Default', 'super-duper' ), |
|
| 837 | - 'auto' => __( 'auto', 'super-duper' ), |
|
| 838 | - '1' => '1/12', |
|
| 839 | - '2' => '2/12', |
|
| 840 | - '3' => '3/12', |
|
| 841 | - '4' => '4/12', |
|
| 842 | - '5' => '5/12', |
|
| 843 | - '6' => '6/12', |
|
| 844 | - '7' => '7/12', |
|
| 845 | - '8' => '8/12', |
|
| 846 | - '9' => '9/12', |
|
| 847 | - '10' => '10/12', |
|
| 848 | - '11' => '11/12', |
|
| 849 | - '12' => '12/12', |
|
| 850 | - ); |
|
| 851 | - |
|
| 852 | - $defaults = array( |
|
| 853 | - 'type' => 'select', |
|
| 854 | - 'title' => __( 'Column width', 'super-duper' ), |
|
| 855 | - 'options' => $options, |
|
| 856 | - 'default' => '', |
|
| 857 | - 'desc_tip' => true, |
|
| 858 | - 'group' => __( 'Container', 'super-duper' ), |
|
| 859 | - 'element_require' => '[%container%]=="col"', |
|
| 860 | - ); |
|
| 861 | - |
|
| 862 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 863 | - |
|
| 864 | - return $input; |
|
| 827 | + $device_size = ''; |
|
| 828 | + if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 829 | + if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 830 | + $device_size = '-md'; |
|
| 831 | + } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 832 | + $device_size = '-lg'; |
|
| 833 | + } |
|
| 834 | + } |
|
| 835 | + $options = array( |
|
| 836 | + '' => __( 'Default', 'super-duper' ), |
|
| 837 | + 'auto' => __( 'auto', 'super-duper' ), |
|
| 838 | + '1' => '1/12', |
|
| 839 | + '2' => '2/12', |
|
| 840 | + '3' => '3/12', |
|
| 841 | + '4' => '4/12', |
|
| 842 | + '5' => '5/12', |
|
| 843 | + '6' => '6/12', |
|
| 844 | + '7' => '7/12', |
|
| 845 | + '8' => '8/12', |
|
| 846 | + '9' => '9/12', |
|
| 847 | + '10' => '10/12', |
|
| 848 | + '11' => '11/12', |
|
| 849 | + '12' => '12/12', |
|
| 850 | + ); |
|
| 851 | + |
|
| 852 | + $defaults = array( |
|
| 853 | + 'type' => 'select', |
|
| 854 | + 'title' => __( 'Column width', 'super-duper' ), |
|
| 855 | + 'options' => $options, |
|
| 856 | + 'default' => '', |
|
| 857 | + 'desc_tip' => true, |
|
| 858 | + 'group' => __( 'Container', 'super-duper' ), |
|
| 859 | + 'element_require' => '[%container%]=="col"', |
|
| 860 | + ); |
|
| 861 | + |
|
| 862 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 863 | + |
|
| 864 | + return $input; |
|
| 865 | 865 | } |
| 866 | 866 | |
| 867 | 867 | /** |
@@ -874,37 +874,37 @@ discard block |
||
| 874 | 874 | */ |
| 875 | 875 | function sd_get_row_cols_input( $type = 'row_cols', $overwrite = array() ) { |
| 876 | 876 | |
| 877 | - $device_size = ''; |
|
| 878 | - if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 879 | - if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 880 | - $device_size = '-md'; |
|
| 881 | - } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 882 | - $device_size = '-lg'; |
|
| 883 | - } |
|
| 884 | - } |
|
| 885 | - $options = array( |
|
| 886 | - '' => __( 'auto', 'super-duper' ), |
|
| 887 | - '1' => '1', |
|
| 888 | - '2' => '2', |
|
| 889 | - '3' => '3', |
|
| 890 | - '4' => '4', |
|
| 891 | - '5' => '5', |
|
| 892 | - '6' => '6', |
|
| 893 | - ); |
|
| 894 | - |
|
| 895 | - $defaults = array( |
|
| 896 | - 'type' => 'select', |
|
| 897 | - 'title' => __( 'Row columns', 'super-duper' ), |
|
| 898 | - 'options' => $options, |
|
| 899 | - 'default' => '', |
|
| 900 | - 'desc_tip' => true, |
|
| 901 | - 'group' => __( 'Container', 'super-duper' ), |
|
| 902 | - 'element_require' => '[%container%]=="row"', |
|
| 903 | - ); |
|
| 904 | - |
|
| 905 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 906 | - |
|
| 907 | - return $input; |
|
| 877 | + $device_size = ''; |
|
| 878 | + if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 879 | + if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 880 | + $device_size = '-md'; |
|
| 881 | + } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 882 | + $device_size = '-lg'; |
|
| 883 | + } |
|
| 884 | + } |
|
| 885 | + $options = array( |
|
| 886 | + '' => __( 'auto', 'super-duper' ), |
|
| 887 | + '1' => '1', |
|
| 888 | + '2' => '2', |
|
| 889 | + '3' => '3', |
|
| 890 | + '4' => '4', |
|
| 891 | + '5' => '5', |
|
| 892 | + '6' => '6', |
|
| 893 | + ); |
|
| 894 | + |
|
| 895 | + $defaults = array( |
|
| 896 | + 'type' => 'select', |
|
| 897 | + 'title' => __( 'Row columns', 'super-duper' ), |
|
| 898 | + 'options' => $options, |
|
| 899 | + 'default' => '', |
|
| 900 | + 'desc_tip' => true, |
|
| 901 | + 'group' => __( 'Container', 'super-duper' ), |
|
| 902 | + 'element_require' => '[%container%]=="row"', |
|
| 903 | + ); |
|
| 904 | + |
|
| 905 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 906 | + |
|
| 907 | + return $input; |
|
| 908 | 908 | } |
| 909 | 909 | |
| 910 | 910 | /** |
@@ -917,33 +917,33 @@ discard block |
||
| 917 | 917 | */ |
| 918 | 918 | function sd_get_text_align_input( $type = 'text_align', $overwrite = array() ) { |
| 919 | 919 | |
| 920 | - $device_size = ''; |
|
| 921 | - if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 922 | - if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 923 | - $device_size = '-md'; |
|
| 924 | - } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 925 | - $device_size = '-lg'; |
|
| 926 | - } |
|
| 927 | - } |
|
| 928 | - $options = array( |
|
| 929 | - '' => __( 'Default', 'super-duper' ), |
|
| 930 | - 'text' . $device_size . '-left' => __( 'Left', 'super-duper' ), |
|
| 931 | - 'text' . $device_size . '-right' => __( 'Right', 'super-duper' ), |
|
| 932 | - 'text' . $device_size . '-center' => __( 'Center', 'super-duper' ), |
|
| 933 | - ); |
|
| 934 | - |
|
| 935 | - $defaults = array( |
|
| 936 | - 'type' => 'select', |
|
| 937 | - 'title' => __( 'Text align', 'super-duper' ), |
|
| 938 | - 'options' => $options, |
|
| 939 | - 'default' => '', |
|
| 940 | - 'desc_tip' => true, |
|
| 941 | - 'group' => __( 'Typography', 'super-duper' ), |
|
| 942 | - ); |
|
| 943 | - |
|
| 944 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 945 | - |
|
| 946 | - return $input; |
|
| 920 | + $device_size = ''; |
|
| 921 | + if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 922 | + if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 923 | + $device_size = '-md'; |
|
| 924 | + } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 925 | + $device_size = '-lg'; |
|
| 926 | + } |
|
| 927 | + } |
|
| 928 | + $options = array( |
|
| 929 | + '' => __( 'Default', 'super-duper' ), |
|
| 930 | + 'text' . $device_size . '-left' => __( 'Left', 'super-duper' ), |
|
| 931 | + 'text' . $device_size . '-right' => __( 'Right', 'super-duper' ), |
|
| 932 | + 'text' . $device_size . '-center' => __( 'Center', 'super-duper' ), |
|
| 933 | + ); |
|
| 934 | + |
|
| 935 | + $defaults = array( |
|
| 936 | + 'type' => 'select', |
|
| 937 | + 'title' => __( 'Text align', 'super-duper' ), |
|
| 938 | + 'options' => $options, |
|
| 939 | + 'default' => '', |
|
| 940 | + 'desc_tip' => true, |
|
| 941 | + 'group' => __( 'Typography', 'super-duper' ), |
|
| 942 | + ); |
|
| 943 | + |
|
| 944 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 945 | + |
|
| 946 | + return $input; |
|
| 947 | 947 | } |
| 948 | 948 | |
| 949 | 949 | /** |
@@ -956,39 +956,39 @@ discard block |
||
| 956 | 956 | */ |
| 957 | 957 | function sd_get_display_input( $type = 'display', $overwrite = array() ) { |
| 958 | 958 | |
| 959 | - $device_size = ''; |
|
| 960 | - if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 961 | - if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 962 | - $device_size = '-md'; |
|
| 963 | - } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 964 | - $device_size = '-lg'; |
|
| 965 | - } |
|
| 966 | - } |
|
| 967 | - $options = array( |
|
| 968 | - '' => __( 'Default', 'super-duper' ), |
|
| 969 | - 'd' . $device_size . '-none' => 'none', |
|
| 970 | - 'd' . $device_size . '-inline' => 'inline', |
|
| 971 | - 'd' . $device_size . '-inline-block' => 'inline-block', |
|
| 972 | - 'd' . $device_size . '-block' => 'block', |
|
| 973 | - 'd' . $device_size . '-table' => 'table', |
|
| 974 | - 'd' . $device_size . '-table-cell' => 'table-cell', |
|
| 975 | - 'd' . $device_size . '-table-row' => 'table-row', |
|
| 976 | - 'd' . $device_size . '-flex' => 'flex', |
|
| 977 | - 'd' . $device_size . '-inline-flex' => 'inline-flex', |
|
| 978 | - ); |
|
| 979 | - |
|
| 980 | - $defaults = array( |
|
| 981 | - 'type' => 'select', |
|
| 982 | - 'title' => __( 'Display', 'super-duper' ), |
|
| 983 | - 'options' => $options, |
|
| 984 | - 'default' => '', |
|
| 985 | - 'desc_tip' => true, |
|
| 986 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 987 | - ); |
|
| 988 | - |
|
| 989 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 990 | - |
|
| 991 | - return $input; |
|
| 959 | + $device_size = ''; |
|
| 960 | + if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 961 | + if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 962 | + $device_size = '-md'; |
|
| 963 | + } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 964 | + $device_size = '-lg'; |
|
| 965 | + } |
|
| 966 | + } |
|
| 967 | + $options = array( |
|
| 968 | + '' => __( 'Default', 'super-duper' ), |
|
| 969 | + 'd' . $device_size . '-none' => 'none', |
|
| 970 | + 'd' . $device_size . '-inline' => 'inline', |
|
| 971 | + 'd' . $device_size . '-inline-block' => 'inline-block', |
|
| 972 | + 'd' . $device_size . '-block' => 'block', |
|
| 973 | + 'd' . $device_size . '-table' => 'table', |
|
| 974 | + 'd' . $device_size . '-table-cell' => 'table-cell', |
|
| 975 | + 'd' . $device_size . '-table-row' => 'table-row', |
|
| 976 | + 'd' . $device_size . '-flex' => 'flex', |
|
| 977 | + 'd' . $device_size . '-inline-flex' => 'inline-flex', |
|
| 978 | + ); |
|
| 979 | + |
|
| 980 | + $defaults = array( |
|
| 981 | + 'type' => 'select', |
|
| 982 | + 'title' => __( 'Display', 'super-duper' ), |
|
| 983 | + 'options' => $options, |
|
| 984 | + 'default' => '', |
|
| 985 | + 'desc_tip' => true, |
|
| 986 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 987 | + ); |
|
| 988 | + |
|
| 989 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 990 | + |
|
| 991 | + return $input; |
|
| 992 | 992 | } |
| 993 | 993 | |
| 994 | 994 | /** |
@@ -1001,17 +1001,17 @@ discard block |
||
| 1001 | 1001 | */ |
| 1002 | 1002 | function sd_get_text_justify_input( $type = 'text_justify', $overwrite = array() ) { |
| 1003 | 1003 | |
| 1004 | - $defaults = array( |
|
| 1005 | - 'type' => 'checkbox', |
|
| 1006 | - 'title' => __( 'Text justify', 'super-duper' ), |
|
| 1007 | - 'default' => '', |
|
| 1008 | - 'desc_tip' => true, |
|
| 1009 | - 'group' => __( 'Typography', 'super-duper' ), |
|
| 1010 | - ); |
|
| 1004 | + $defaults = array( |
|
| 1005 | + 'type' => 'checkbox', |
|
| 1006 | + 'title' => __( 'Text justify', 'super-duper' ), |
|
| 1007 | + 'default' => '', |
|
| 1008 | + 'desc_tip' => true, |
|
| 1009 | + 'group' => __( 'Typography', 'super-duper' ), |
|
| 1010 | + ); |
|
| 1011 | 1011 | |
| 1012 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1012 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1013 | 1013 | |
| 1014 | - return $input; |
|
| 1014 | + return $input; |
|
| 1015 | 1015 | } |
| 1016 | 1016 | |
| 1017 | 1017 | /** |
@@ -1024,72 +1024,72 @@ discard block |
||
| 1024 | 1024 | * @return array |
| 1025 | 1025 | */ |
| 1026 | 1026 | function sd_aui_colors( $include_branding = false, $include_outlines = false, $outline_button_only_text = false, $include_translucent = false ) { |
| 1027 | - $theme_colors = array(); |
|
| 1028 | - |
|
| 1029 | - $theme_colors['primary'] = __( 'Primary', 'super-duper' ); |
|
| 1030 | - $theme_colors['secondary'] = __( 'Secondary', 'super-duper' ); |
|
| 1031 | - $theme_colors['success'] = __( 'Success', 'super-duper' ); |
|
| 1032 | - $theme_colors['danger'] = __( 'Danger', 'super-duper' ); |
|
| 1033 | - $theme_colors['warning'] = __( 'Warning', 'super-duper' ); |
|
| 1034 | - $theme_colors['info'] = __( 'Info', 'super-duper' ); |
|
| 1035 | - $theme_colors['light'] = __( 'Light', 'super-duper' ); |
|
| 1036 | - $theme_colors['dark'] = __( 'Dark', 'super-duper' ); |
|
| 1037 | - $theme_colors['black'] = __( 'Black', 'super-duper' ); |
|
| 1038 | - $theme_colors['white'] = __( 'White', 'super-duper' ); |
|
| 1039 | - $theme_colors['purple'] = __( 'Purple', 'super-duper' ); |
|
| 1040 | - $theme_colors['salmon'] = __( 'Salmon', 'super-duper' ); |
|
| 1041 | - $theme_colors['cyan'] = __( 'Cyan', 'super-duper' ); |
|
| 1042 | - $theme_colors['gray'] = __( 'Gray', 'super-duper' ); |
|
| 1043 | - $theme_colors['muted'] = __( 'Muted', 'super-duper' ); |
|
| 1044 | - $theme_colors['gray-dark'] = __( 'Gray dark', 'super-duper' ); |
|
| 1045 | - $theme_colors['indigo'] = __( 'Indigo', 'super-duper' ); |
|
| 1046 | - $theme_colors['orange'] = __( 'Orange', 'super-duper' ); |
|
| 1047 | - |
|
| 1048 | - if ( $include_outlines ) { |
|
| 1049 | - $button_only = $outline_button_only_text ? ' ' . __( '(button only)', 'super-duper' ) : ''; |
|
| 1050 | - $theme_colors['outline-primary'] = __( 'Primary outline', 'super-duper' ) . $button_only; |
|
| 1051 | - $theme_colors['outline-secondary'] = __( 'Secondary outline', 'super-duper' ) . $button_only; |
|
| 1052 | - $theme_colors['outline-success'] = __( 'Success outline', 'super-duper' ) . $button_only; |
|
| 1053 | - $theme_colors['outline-danger'] = __( 'Danger outline', 'super-duper' ) . $button_only; |
|
| 1054 | - $theme_colors['outline-warning'] = __( 'Warning outline', 'super-duper' ) . $button_only; |
|
| 1055 | - $theme_colors['outline-info'] = __( 'Info outline', 'super-duper' ) . $button_only; |
|
| 1056 | - $theme_colors['outline-light'] = __( 'Light outline', 'super-duper' ) . $button_only; |
|
| 1057 | - $theme_colors['outline-dark'] = __( 'Dark outline', 'super-duper' ) . $button_only; |
|
| 1058 | - $theme_colors['outline-white'] = __( 'White outline', 'super-duper' ) . $button_only; |
|
| 1059 | - $theme_colors['outline-purple'] = __( 'Purple outline', 'super-duper' ) . $button_only; |
|
| 1060 | - $theme_colors['outline-salmon'] = __( 'Salmon outline', 'super-duper' ) . $button_only; |
|
| 1061 | - $theme_colors['outline-cyan'] = __( 'Cyan outline', 'super-duper' ) . $button_only; |
|
| 1062 | - $theme_colors['outline-gray'] = __( 'Gray outline', 'super-duper' ) . $button_only; |
|
| 1063 | - $theme_colors['outline-gray-dark'] = __( 'Gray dark outline', 'super-duper' ) . $button_only; |
|
| 1064 | - $theme_colors['outline-indigo'] = __( 'Indigo outline', 'super-duper' ) . $button_only; |
|
| 1065 | - $theme_colors['outline-orange'] = __( 'Orange outline', 'super-duper' ) . $button_only; |
|
| 1066 | - } |
|
| 1067 | - |
|
| 1068 | - if ( $include_branding ) { |
|
| 1069 | - $theme_colors = $theme_colors + sd_aui_branding_colors(); |
|
| 1070 | - } |
|
| 1071 | - |
|
| 1072 | - if ( $include_translucent ) { |
|
| 1073 | - $button_only = $outline_button_only_text ? ' ' . __( '(button only)', 'super-duper' ) : ''; |
|
| 1074 | - $theme_colors['translucent-primary'] = __( 'Primary translucent', 'super-duper' ) . $button_only; |
|
| 1075 | - $theme_colors['translucent-secondary'] = __( 'Secondary translucent', 'super-duper' ) . $button_only; |
|
| 1076 | - $theme_colors['translucent-success'] = __( 'Success translucent', 'super-duper' ) . $button_only; |
|
| 1077 | - $theme_colors['translucent-danger'] = __( 'Danger translucent', 'super-duper' ) . $button_only; |
|
| 1078 | - $theme_colors['translucent-warning'] = __( 'Warning translucent', 'super-duper' ) . $button_only; |
|
| 1079 | - $theme_colors['translucent-info'] = __( 'Info translucent', 'super-duper' ) . $button_only; |
|
| 1080 | - $theme_colors['translucent-light'] = __( 'Light translucent', 'super-duper' ) . $button_only; |
|
| 1081 | - $theme_colors['translucent-dark'] = __( 'Dark translucent', 'super-duper' ) . $button_only; |
|
| 1082 | - $theme_colors['translucent-white'] = __( 'White translucent', 'super-duper' ) . $button_only; |
|
| 1083 | - $theme_colors['translucent-purple'] = __( 'Purple translucent', 'super-duper' ) . $button_only; |
|
| 1084 | - $theme_colors['translucent-salmon'] = __( 'Salmon translucent', 'super-duper' ) . $button_only; |
|
| 1085 | - $theme_colors['translucent-cyan'] = __( 'Cyan translucent', 'super-duper' ) . $button_only; |
|
| 1086 | - $theme_colors['translucent-gray'] = __( 'Gray translucent', 'super-duper' ) . $button_only; |
|
| 1087 | - $theme_colors['translucent-gray-dark'] = __( 'Gray dark translucent', 'super-duper' ) . $button_only; |
|
| 1088 | - $theme_colors['translucent-indigo'] = __( 'Indigo translucent', 'super-duper' ) . $button_only; |
|
| 1089 | - $theme_colors['translucent-orange'] = __( 'Orange translucent', 'super-duper' ) . $button_only; |
|
| 1090 | - } |
|
| 1091 | - |
|
| 1092 | - return apply_filters( 'sd_aui_colors', $theme_colors, $include_outlines, $include_branding ); |
|
| 1027 | + $theme_colors = array(); |
|
| 1028 | + |
|
| 1029 | + $theme_colors['primary'] = __( 'Primary', 'super-duper' ); |
|
| 1030 | + $theme_colors['secondary'] = __( 'Secondary', 'super-duper' ); |
|
| 1031 | + $theme_colors['success'] = __( 'Success', 'super-duper' ); |
|
| 1032 | + $theme_colors['danger'] = __( 'Danger', 'super-duper' ); |
|
| 1033 | + $theme_colors['warning'] = __( 'Warning', 'super-duper' ); |
|
| 1034 | + $theme_colors['info'] = __( 'Info', 'super-duper' ); |
|
| 1035 | + $theme_colors['light'] = __( 'Light', 'super-duper' ); |
|
| 1036 | + $theme_colors['dark'] = __( 'Dark', 'super-duper' ); |
|
| 1037 | + $theme_colors['black'] = __( 'Black', 'super-duper' ); |
|
| 1038 | + $theme_colors['white'] = __( 'White', 'super-duper' ); |
|
| 1039 | + $theme_colors['purple'] = __( 'Purple', 'super-duper' ); |
|
| 1040 | + $theme_colors['salmon'] = __( 'Salmon', 'super-duper' ); |
|
| 1041 | + $theme_colors['cyan'] = __( 'Cyan', 'super-duper' ); |
|
| 1042 | + $theme_colors['gray'] = __( 'Gray', 'super-duper' ); |
|
| 1043 | + $theme_colors['muted'] = __( 'Muted', 'super-duper' ); |
|
| 1044 | + $theme_colors['gray-dark'] = __( 'Gray dark', 'super-duper' ); |
|
| 1045 | + $theme_colors['indigo'] = __( 'Indigo', 'super-duper' ); |
|
| 1046 | + $theme_colors['orange'] = __( 'Orange', 'super-duper' ); |
|
| 1047 | + |
|
| 1048 | + if ( $include_outlines ) { |
|
| 1049 | + $button_only = $outline_button_only_text ? ' ' . __( '(button only)', 'super-duper' ) : ''; |
|
| 1050 | + $theme_colors['outline-primary'] = __( 'Primary outline', 'super-duper' ) . $button_only; |
|
| 1051 | + $theme_colors['outline-secondary'] = __( 'Secondary outline', 'super-duper' ) . $button_only; |
|
| 1052 | + $theme_colors['outline-success'] = __( 'Success outline', 'super-duper' ) . $button_only; |
|
| 1053 | + $theme_colors['outline-danger'] = __( 'Danger outline', 'super-duper' ) . $button_only; |
|
| 1054 | + $theme_colors['outline-warning'] = __( 'Warning outline', 'super-duper' ) . $button_only; |
|
| 1055 | + $theme_colors['outline-info'] = __( 'Info outline', 'super-duper' ) . $button_only; |
|
| 1056 | + $theme_colors['outline-light'] = __( 'Light outline', 'super-duper' ) . $button_only; |
|
| 1057 | + $theme_colors['outline-dark'] = __( 'Dark outline', 'super-duper' ) . $button_only; |
|
| 1058 | + $theme_colors['outline-white'] = __( 'White outline', 'super-duper' ) . $button_only; |
|
| 1059 | + $theme_colors['outline-purple'] = __( 'Purple outline', 'super-duper' ) . $button_only; |
|
| 1060 | + $theme_colors['outline-salmon'] = __( 'Salmon outline', 'super-duper' ) . $button_only; |
|
| 1061 | + $theme_colors['outline-cyan'] = __( 'Cyan outline', 'super-duper' ) . $button_only; |
|
| 1062 | + $theme_colors['outline-gray'] = __( 'Gray outline', 'super-duper' ) . $button_only; |
|
| 1063 | + $theme_colors['outline-gray-dark'] = __( 'Gray dark outline', 'super-duper' ) . $button_only; |
|
| 1064 | + $theme_colors['outline-indigo'] = __( 'Indigo outline', 'super-duper' ) . $button_only; |
|
| 1065 | + $theme_colors['outline-orange'] = __( 'Orange outline', 'super-duper' ) . $button_only; |
|
| 1066 | + } |
|
| 1067 | + |
|
| 1068 | + if ( $include_branding ) { |
|
| 1069 | + $theme_colors = $theme_colors + sd_aui_branding_colors(); |
|
| 1070 | + } |
|
| 1071 | + |
|
| 1072 | + if ( $include_translucent ) { |
|
| 1073 | + $button_only = $outline_button_only_text ? ' ' . __( '(button only)', 'super-duper' ) : ''; |
|
| 1074 | + $theme_colors['translucent-primary'] = __( 'Primary translucent', 'super-duper' ) . $button_only; |
|
| 1075 | + $theme_colors['translucent-secondary'] = __( 'Secondary translucent', 'super-duper' ) . $button_only; |
|
| 1076 | + $theme_colors['translucent-success'] = __( 'Success translucent', 'super-duper' ) . $button_only; |
|
| 1077 | + $theme_colors['translucent-danger'] = __( 'Danger translucent', 'super-duper' ) . $button_only; |
|
| 1078 | + $theme_colors['translucent-warning'] = __( 'Warning translucent', 'super-duper' ) . $button_only; |
|
| 1079 | + $theme_colors['translucent-info'] = __( 'Info translucent', 'super-duper' ) . $button_only; |
|
| 1080 | + $theme_colors['translucent-light'] = __( 'Light translucent', 'super-duper' ) . $button_only; |
|
| 1081 | + $theme_colors['translucent-dark'] = __( 'Dark translucent', 'super-duper' ) . $button_only; |
|
| 1082 | + $theme_colors['translucent-white'] = __( 'White translucent', 'super-duper' ) . $button_only; |
|
| 1083 | + $theme_colors['translucent-purple'] = __( 'Purple translucent', 'super-duper' ) . $button_only; |
|
| 1084 | + $theme_colors['translucent-salmon'] = __( 'Salmon translucent', 'super-duper' ) . $button_only; |
|
| 1085 | + $theme_colors['translucent-cyan'] = __( 'Cyan translucent', 'super-duper' ) . $button_only; |
|
| 1086 | + $theme_colors['translucent-gray'] = __( 'Gray translucent', 'super-duper' ) . $button_only; |
|
| 1087 | + $theme_colors['translucent-gray-dark'] = __( 'Gray dark translucent', 'super-duper' ) . $button_only; |
|
| 1088 | + $theme_colors['translucent-indigo'] = __( 'Indigo translucent', 'super-duper' ) . $button_only; |
|
| 1089 | + $theme_colors['translucent-orange'] = __( 'Orange translucent', 'super-duper' ) . $button_only; |
|
| 1090 | + } |
|
| 1091 | + |
|
| 1092 | + return apply_filters( 'sd_aui_colors', $theme_colors, $include_outlines, $include_branding ); |
|
| 1093 | 1093 | } |
| 1094 | 1094 | |
| 1095 | 1095 | /** |
@@ -1098,19 +1098,19 @@ discard block |
||
| 1098 | 1098 | * @return array |
| 1099 | 1099 | */ |
| 1100 | 1100 | function sd_aui_branding_colors() { |
| 1101 | - return array( |
|
| 1102 | - 'facebook' => __( 'Facebook', 'super-duper' ), |
|
| 1103 | - 'twitter' => __( 'Twitter', 'super-duper' ), |
|
| 1104 | - 'instagram' => __( 'Instagram', 'super-duper' ), |
|
| 1105 | - 'linkedin' => __( 'Linkedin', 'super-duper' ), |
|
| 1106 | - 'flickr' => __( 'Flickr', 'super-duper' ), |
|
| 1107 | - 'github' => __( 'GitHub', 'super-duper' ), |
|
| 1108 | - 'youtube' => __( 'YouTube', 'super-duper' ), |
|
| 1109 | - 'wordpress' => __( 'WordPress', 'super-duper' ), |
|
| 1110 | - 'google' => __( 'Google', 'super-duper' ), |
|
| 1111 | - 'yahoo' => __( 'Yahoo', 'super-duper' ), |
|
| 1112 | - 'vkontakte' => __( 'Vkontakte', 'super-duper' ), |
|
| 1113 | - ); |
|
| 1101 | + return array( |
|
| 1102 | + 'facebook' => __( 'Facebook', 'super-duper' ), |
|
| 1103 | + 'twitter' => __( 'Twitter', 'super-duper' ), |
|
| 1104 | + 'instagram' => __( 'Instagram', 'super-duper' ), |
|
| 1105 | + 'linkedin' => __( 'Linkedin', 'super-duper' ), |
|
| 1106 | + 'flickr' => __( 'Flickr', 'super-duper' ), |
|
| 1107 | + 'github' => __( 'GitHub', 'super-duper' ), |
|
| 1108 | + 'youtube' => __( 'YouTube', 'super-duper' ), |
|
| 1109 | + 'wordpress' => __( 'WordPress', 'super-duper' ), |
|
| 1110 | + 'google' => __( 'Google', 'super-duper' ), |
|
| 1111 | + 'yahoo' => __( 'Yahoo', 'super-duper' ), |
|
| 1112 | + 'vkontakte' => __( 'Vkontakte', 'super-duper' ), |
|
| 1113 | + ); |
|
| 1114 | 1114 | } |
| 1115 | 1115 | |
| 1116 | 1116 | |
@@ -1124,38 +1124,38 @@ discard block |
||
| 1124 | 1124 | */ |
| 1125 | 1125 | function sd_get_container_class_input( $type = 'container', $overwrite = array() ) { |
| 1126 | 1126 | |
| 1127 | - $options = array( |
|
| 1128 | - 'container' => __( 'container (default)', 'super-duper' ), |
|
| 1129 | - 'container-sm' => 'container-sm', |
|
| 1130 | - 'container-md' => 'container-md', |
|
| 1131 | - 'container-lg' => 'container-lg', |
|
| 1132 | - 'container-xl' => 'container-xl', |
|
| 1133 | - 'container-xxl' => 'container-xxl', |
|
| 1134 | - 'container-fluid' => 'container-fluid', |
|
| 1135 | - 'row' => 'row', |
|
| 1136 | - 'col' => 'col', |
|
| 1137 | - 'card' => 'card', |
|
| 1138 | - 'card-header' => 'card-header', |
|
| 1139 | - 'card-img-top' => 'card-img-top', |
|
| 1140 | - 'card-body' => 'card-body', |
|
| 1141 | - 'card-footer' => 'card-footer', |
|
| 1142 | - 'list-group' => 'list-group', |
|
| 1143 | - 'list-group-item' => 'list-group-item', |
|
| 1144 | - '' => __( 'no container class', 'super-duper' ), |
|
| 1145 | - ); |
|
| 1146 | - |
|
| 1147 | - $defaults = array( |
|
| 1148 | - 'type' => 'select', |
|
| 1149 | - 'title' => __( 'Type', 'super-duper' ), |
|
| 1150 | - 'options' => $options, |
|
| 1151 | - 'default' => '', |
|
| 1152 | - 'desc_tip' => true, |
|
| 1153 | - 'group' => __( 'Container', 'super-duper' ), |
|
| 1154 | - ); |
|
| 1155 | - |
|
| 1156 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1157 | - |
|
| 1158 | - return $input; |
|
| 1127 | + $options = array( |
|
| 1128 | + 'container' => __( 'container (default)', 'super-duper' ), |
|
| 1129 | + 'container-sm' => 'container-sm', |
|
| 1130 | + 'container-md' => 'container-md', |
|
| 1131 | + 'container-lg' => 'container-lg', |
|
| 1132 | + 'container-xl' => 'container-xl', |
|
| 1133 | + 'container-xxl' => 'container-xxl', |
|
| 1134 | + 'container-fluid' => 'container-fluid', |
|
| 1135 | + 'row' => 'row', |
|
| 1136 | + 'col' => 'col', |
|
| 1137 | + 'card' => 'card', |
|
| 1138 | + 'card-header' => 'card-header', |
|
| 1139 | + 'card-img-top' => 'card-img-top', |
|
| 1140 | + 'card-body' => 'card-body', |
|
| 1141 | + 'card-footer' => 'card-footer', |
|
| 1142 | + 'list-group' => 'list-group', |
|
| 1143 | + 'list-group-item' => 'list-group-item', |
|
| 1144 | + '' => __( 'no container class', 'super-duper' ), |
|
| 1145 | + ); |
|
| 1146 | + |
|
| 1147 | + $defaults = array( |
|
| 1148 | + 'type' => 'select', |
|
| 1149 | + 'title' => __( 'Type', 'super-duper' ), |
|
| 1150 | + 'options' => $options, |
|
| 1151 | + 'default' => '', |
|
| 1152 | + 'desc_tip' => true, |
|
| 1153 | + 'group' => __( 'Container', 'super-duper' ), |
|
| 1154 | + ); |
|
| 1155 | + |
|
| 1156 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1157 | + |
|
| 1158 | + return $input; |
|
| 1159 | 1159 | } |
| 1160 | 1160 | |
| 1161 | 1161 | /** |
@@ -1168,30 +1168,30 @@ discard block |
||
| 1168 | 1168 | */ |
| 1169 | 1169 | function sd_get_position_class_input( $type = 'position', $overwrite = array() ) { |
| 1170 | 1170 | |
| 1171 | - $options = array( |
|
| 1172 | - '' => __( 'Default', 'super-duper' ), |
|
| 1173 | - 'position-static' => 'static', |
|
| 1174 | - 'position-relative' => 'relative', |
|
| 1175 | - 'position-absolute' => 'absolute', |
|
| 1176 | - 'position-fixed' => 'fixed', |
|
| 1177 | - 'position-sticky' => 'sticky', |
|
| 1178 | - 'fixed-top' => 'fixed-top', |
|
| 1179 | - 'fixed-bottom' => 'fixed-bottom', |
|
| 1180 | - 'sticky-top' => 'sticky-top', |
|
| 1181 | - ); |
|
| 1171 | + $options = array( |
|
| 1172 | + '' => __( 'Default', 'super-duper' ), |
|
| 1173 | + 'position-static' => 'static', |
|
| 1174 | + 'position-relative' => 'relative', |
|
| 1175 | + 'position-absolute' => 'absolute', |
|
| 1176 | + 'position-fixed' => 'fixed', |
|
| 1177 | + 'position-sticky' => 'sticky', |
|
| 1178 | + 'fixed-top' => 'fixed-top', |
|
| 1179 | + 'fixed-bottom' => 'fixed-bottom', |
|
| 1180 | + 'sticky-top' => 'sticky-top', |
|
| 1181 | + ); |
|
| 1182 | 1182 | |
| 1183 | - $defaults = array( |
|
| 1184 | - 'type' => 'select', |
|
| 1185 | - 'title' => __( 'Position', 'super-duper' ), |
|
| 1186 | - 'options' => $options, |
|
| 1187 | - 'default' => '', |
|
| 1188 | - 'desc_tip' => true, |
|
| 1189 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1190 | - ); |
|
| 1183 | + $defaults = array( |
|
| 1184 | + 'type' => 'select', |
|
| 1185 | + 'title' => __( 'Position', 'super-duper' ), |
|
| 1186 | + 'options' => $options, |
|
| 1187 | + 'default' => '', |
|
| 1188 | + 'desc_tip' => true, |
|
| 1189 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1190 | + ); |
|
| 1191 | 1191 | |
| 1192 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1192 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1193 | 1193 | |
| 1194 | - return $input; |
|
| 1194 | + return $input; |
|
| 1195 | 1195 | } |
| 1196 | 1196 | |
| 1197 | 1197 | /** |
@@ -1202,32 +1202,32 @@ discard block |
||
| 1202 | 1202 | */ |
| 1203 | 1203 | function sd_get_absolute_position_input( $type = 'absolute_position', $overwrite = array() ) { |
| 1204 | 1204 | |
| 1205 | - $options = array( |
|
| 1206 | - '' => __( 'Default', 'super-duper' ), |
|
| 1207 | - 'top-left' => 'top-left', |
|
| 1208 | - 'top-center' => 'top-center', |
|
| 1209 | - 'top-right' => 'top-right', |
|
| 1210 | - 'center-left' => 'middle-left', |
|
| 1211 | - 'center' => 'center', |
|
| 1212 | - 'center-right' => 'middle-right', |
|
| 1213 | - 'bottom-left' => 'bottom-left', |
|
| 1214 | - 'bottom-center' => 'bottom-center', |
|
| 1215 | - 'bottom-right' => 'bottom-right', |
|
| 1216 | - ); |
|
| 1217 | - |
|
| 1218 | - $defaults = array( |
|
| 1219 | - 'type' => 'select', |
|
| 1220 | - 'title' => __( 'Absolute Position', 'super-duper' ), |
|
| 1221 | - 'options' => $options, |
|
| 1222 | - 'default' => '', |
|
| 1223 | - 'desc_tip' => true, |
|
| 1224 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1225 | - 'element_require' => '[%position%]=="position-absolute"', |
|
| 1226 | - ); |
|
| 1227 | - |
|
| 1228 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1229 | - |
|
| 1230 | - return $input; |
|
| 1205 | + $options = array( |
|
| 1206 | + '' => __( 'Default', 'super-duper' ), |
|
| 1207 | + 'top-left' => 'top-left', |
|
| 1208 | + 'top-center' => 'top-center', |
|
| 1209 | + 'top-right' => 'top-right', |
|
| 1210 | + 'center-left' => 'middle-left', |
|
| 1211 | + 'center' => 'center', |
|
| 1212 | + 'center-right' => 'middle-right', |
|
| 1213 | + 'bottom-left' => 'bottom-left', |
|
| 1214 | + 'bottom-center' => 'bottom-center', |
|
| 1215 | + 'bottom-right' => 'bottom-right', |
|
| 1216 | + ); |
|
| 1217 | + |
|
| 1218 | + $defaults = array( |
|
| 1219 | + 'type' => 'select', |
|
| 1220 | + 'title' => __( 'Absolute Position', 'super-duper' ), |
|
| 1221 | + 'options' => $options, |
|
| 1222 | + 'default' => '', |
|
| 1223 | + 'desc_tip' => true, |
|
| 1224 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1225 | + 'element_require' => '[%position%]=="position-absolute"', |
|
| 1226 | + ); |
|
| 1227 | + |
|
| 1228 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1229 | + |
|
| 1230 | + return $input; |
|
| 1231 | 1231 | } |
| 1232 | 1232 | |
| 1233 | 1233 | /** |
@@ -1240,38 +1240,38 @@ discard block |
||
| 1240 | 1240 | */ |
| 1241 | 1241 | function sd_get_sticky_offset_input( $type = 'top', $overwrite = array() ) { |
| 1242 | 1242 | |
| 1243 | - $defaults = array( |
|
| 1244 | - 'type' => 'number', |
|
| 1245 | - 'title' => __( 'Sticky offset', 'super-duper' ), |
|
| 1246 | - //'desc' => __( 'Sticky offset', 'super-duper' ), |
|
| 1247 | - 'default' => '', |
|
| 1248 | - 'desc_tip' => true, |
|
| 1249 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1250 | - 'element_require' => '[%position%]=="sticky" || [%position%]=="sticky-top"', |
|
| 1251 | - ); |
|
| 1252 | - |
|
| 1253 | - // title |
|
| 1254 | - if ( $type == 'top' ) { |
|
| 1255 | - $defaults['title'] = __( 'Top offset', 'super-duper' ); |
|
| 1256 | - $defaults['icon'] = 'box-top'; |
|
| 1257 | - $defaults['row'] = array( |
|
| 1258 | - 'title' => __( 'Sticky offset', 'super-duper' ), |
|
| 1259 | - 'key' => 'sticky-offset', |
|
| 1260 | - 'open' => true, |
|
| 1261 | - 'class' => 'text-center', |
|
| 1262 | - ); |
|
| 1263 | - } elseif ( $type == 'bottom' ) { |
|
| 1264 | - $defaults['title'] = __( 'Bottom offset', 'super-duper' ); |
|
| 1265 | - $defaults['icon'] = 'box-bottom'; |
|
| 1266 | - $defaults['row'] = array( |
|
| 1267 | - 'key' => 'sticky-offset', |
|
| 1268 | - 'close' => true, |
|
| 1269 | - ); |
|
| 1270 | - } |
|
| 1271 | - |
|
| 1272 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1273 | - |
|
| 1274 | - return $input; |
|
| 1243 | + $defaults = array( |
|
| 1244 | + 'type' => 'number', |
|
| 1245 | + 'title' => __( 'Sticky offset', 'super-duper' ), |
|
| 1246 | + //'desc' => __( 'Sticky offset', 'super-duper' ), |
|
| 1247 | + 'default' => '', |
|
| 1248 | + 'desc_tip' => true, |
|
| 1249 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1250 | + 'element_require' => '[%position%]=="sticky" || [%position%]=="sticky-top"', |
|
| 1251 | + ); |
|
| 1252 | + |
|
| 1253 | + // title |
|
| 1254 | + if ( $type == 'top' ) { |
|
| 1255 | + $defaults['title'] = __( 'Top offset', 'super-duper' ); |
|
| 1256 | + $defaults['icon'] = 'box-top'; |
|
| 1257 | + $defaults['row'] = array( |
|
| 1258 | + 'title' => __( 'Sticky offset', 'super-duper' ), |
|
| 1259 | + 'key' => 'sticky-offset', |
|
| 1260 | + 'open' => true, |
|
| 1261 | + 'class' => 'text-center', |
|
| 1262 | + ); |
|
| 1263 | + } elseif ( $type == 'bottom' ) { |
|
| 1264 | + $defaults['title'] = __( 'Bottom offset', 'super-duper' ); |
|
| 1265 | + $defaults['icon'] = 'box-bottom'; |
|
| 1266 | + $defaults['row'] = array( |
|
| 1267 | + 'key' => 'sticky-offset', |
|
| 1268 | + 'close' => true, |
|
| 1269 | + ); |
|
| 1270 | + } |
|
| 1271 | + |
|
| 1272 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1273 | + |
|
| 1274 | + return $input; |
|
| 1275 | 1275 | } |
| 1276 | 1276 | |
| 1277 | 1277 | /** |
@@ -1283,61 +1283,61 @@ discard block |
||
| 1283 | 1283 | * @return array |
| 1284 | 1284 | */ |
| 1285 | 1285 | function sd_get_font_size_input( $type = 'font_size', $overwrite = array(), $has_custom = false ) { |
| 1286 | - global $aui_bs5; |
|
| 1287 | - |
|
| 1288 | - $options[] = __( 'Inherit from parent', 'super-duper' ); |
|
| 1289 | - if ( $aui_bs5 ) { |
|
| 1290 | - // responsive font sizes |
|
| 1291 | - $options['fs-base'] = 'fs-base (body default)'; |
|
| 1292 | - $options['fs-6'] = 'fs-6'; |
|
| 1293 | - $options['fs-5'] = 'fs-5'; |
|
| 1294 | - $options['fs-4'] = 'fs-4'; |
|
| 1295 | - $options['fs-3'] = 'fs-3'; |
|
| 1296 | - $options['fs-2'] = 'fs-2'; |
|
| 1297 | - $options['fs-1'] = 'fs-1'; |
|
| 1298 | - |
|
| 1299 | - // custom |
|
| 1300 | - $options['fs-lg'] = 'fs-lg'; |
|
| 1301 | - $options['fs-sm'] = 'fs-sm'; |
|
| 1302 | - $options['fs-xs'] = 'fs-xs'; |
|
| 1303 | - $options['fs-xxs'] = 'fs-xxs'; |
|
| 1304 | - |
|
| 1305 | - } |
|
| 1306 | - |
|
| 1307 | - $options = $options + array( |
|
| 1308 | - 'h6' => 'h6', |
|
| 1309 | - 'h5' => 'h5', |
|
| 1310 | - 'h4' => 'h4', |
|
| 1311 | - 'h3' => 'h3', |
|
| 1312 | - 'h2' => 'h2', |
|
| 1313 | - 'h1' => 'h1', |
|
| 1314 | - 'display-1' => 'display-1', |
|
| 1315 | - 'display-2' => 'display-2', |
|
| 1316 | - 'display-3' => 'display-3', |
|
| 1317 | - 'display-4' => 'display-4', |
|
| 1318 | - ); |
|
| 1319 | - |
|
| 1320 | - if ( $aui_bs5 ) { |
|
| 1321 | - $options['display-5'] = 'display-5'; |
|
| 1322 | - $options['display-6'] = 'display-6'; |
|
| 1323 | - } |
|
| 1324 | - |
|
| 1325 | - if ( $has_custom ) { |
|
| 1326 | - $options['custom'] = __( 'Custom size', 'super-duper' ); |
|
| 1327 | - } |
|
| 1328 | - |
|
| 1329 | - $defaults = array( |
|
| 1330 | - 'type' => 'select', |
|
| 1331 | - 'title' => __( 'Font size', 'super-duper' ), |
|
| 1332 | - 'options' => $options, |
|
| 1333 | - 'default' => '', |
|
| 1334 | - 'desc_tip' => true, |
|
| 1335 | - 'group' => __( 'Typography', 'super-duper' ), |
|
| 1336 | - ); |
|
| 1337 | - |
|
| 1338 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1339 | - |
|
| 1340 | - return $input; |
|
| 1286 | + global $aui_bs5; |
|
| 1287 | + |
|
| 1288 | + $options[] = __( 'Inherit from parent', 'super-duper' ); |
|
| 1289 | + if ( $aui_bs5 ) { |
|
| 1290 | + // responsive font sizes |
|
| 1291 | + $options['fs-base'] = 'fs-base (body default)'; |
|
| 1292 | + $options['fs-6'] = 'fs-6'; |
|
| 1293 | + $options['fs-5'] = 'fs-5'; |
|
| 1294 | + $options['fs-4'] = 'fs-4'; |
|
| 1295 | + $options['fs-3'] = 'fs-3'; |
|
| 1296 | + $options['fs-2'] = 'fs-2'; |
|
| 1297 | + $options['fs-1'] = 'fs-1'; |
|
| 1298 | + |
|
| 1299 | + // custom |
|
| 1300 | + $options['fs-lg'] = 'fs-lg'; |
|
| 1301 | + $options['fs-sm'] = 'fs-sm'; |
|
| 1302 | + $options['fs-xs'] = 'fs-xs'; |
|
| 1303 | + $options['fs-xxs'] = 'fs-xxs'; |
|
| 1304 | + |
|
| 1305 | + } |
|
| 1306 | + |
|
| 1307 | + $options = $options + array( |
|
| 1308 | + 'h6' => 'h6', |
|
| 1309 | + 'h5' => 'h5', |
|
| 1310 | + 'h4' => 'h4', |
|
| 1311 | + 'h3' => 'h3', |
|
| 1312 | + 'h2' => 'h2', |
|
| 1313 | + 'h1' => 'h1', |
|
| 1314 | + 'display-1' => 'display-1', |
|
| 1315 | + 'display-2' => 'display-2', |
|
| 1316 | + 'display-3' => 'display-3', |
|
| 1317 | + 'display-4' => 'display-4', |
|
| 1318 | + ); |
|
| 1319 | + |
|
| 1320 | + if ( $aui_bs5 ) { |
|
| 1321 | + $options['display-5'] = 'display-5'; |
|
| 1322 | + $options['display-6'] = 'display-6'; |
|
| 1323 | + } |
|
| 1324 | + |
|
| 1325 | + if ( $has_custom ) { |
|
| 1326 | + $options['custom'] = __( 'Custom size', 'super-duper' ); |
|
| 1327 | + } |
|
| 1328 | + |
|
| 1329 | + $defaults = array( |
|
| 1330 | + 'type' => 'select', |
|
| 1331 | + 'title' => __( 'Font size', 'super-duper' ), |
|
| 1332 | + 'options' => $options, |
|
| 1333 | + 'default' => '', |
|
| 1334 | + 'desc_tip' => true, |
|
| 1335 | + 'group' => __( 'Typography', 'super-duper' ), |
|
| 1336 | + ); |
|
| 1337 | + |
|
| 1338 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1339 | + |
|
| 1340 | + return $input; |
|
| 1341 | 1341 | } |
| 1342 | 1342 | |
| 1343 | 1343 | /** |
@@ -1350,27 +1350,27 @@ discard block |
||
| 1350 | 1350 | */ |
| 1351 | 1351 | function sd_get_font_custom_size_input( $type = 'font_size_custom', $overwrite = array(), $parent_type = '' ) { |
| 1352 | 1352 | |
| 1353 | - $defaults = array( |
|
| 1354 | - 'type' => 'number', |
|
| 1355 | - 'title' => __( 'Font size (rem)', 'super-duper' ), |
|
| 1356 | - 'default' => '', |
|
| 1357 | - 'placeholder' => '1.25', |
|
| 1358 | - 'custom_attributes' => array( |
|
| 1359 | - 'step' => '0.1', |
|
| 1360 | - 'min' => '0', |
|
| 1361 | - 'max' => '100', |
|
| 1362 | - ), |
|
| 1363 | - 'desc_tip' => true, |
|
| 1364 | - 'group' => __( 'Typography', 'super-duper' ), |
|
| 1365 | - ); |
|
| 1353 | + $defaults = array( |
|
| 1354 | + 'type' => 'number', |
|
| 1355 | + 'title' => __( 'Font size (rem)', 'super-duper' ), |
|
| 1356 | + 'default' => '', |
|
| 1357 | + 'placeholder' => '1.25', |
|
| 1358 | + 'custom_attributes' => array( |
|
| 1359 | + 'step' => '0.1', |
|
| 1360 | + 'min' => '0', |
|
| 1361 | + 'max' => '100', |
|
| 1362 | + ), |
|
| 1363 | + 'desc_tip' => true, |
|
| 1364 | + 'group' => __( 'Typography', 'super-duper' ), |
|
| 1365 | + ); |
|
| 1366 | 1366 | |
| 1367 | - if ( $parent_type ) { |
|
| 1368 | - $defaults['element_require'] = '[%' . $parent_type . '%]=="custom"'; |
|
| 1369 | - } |
|
| 1367 | + if ( $parent_type ) { |
|
| 1368 | + $defaults['element_require'] = '[%' . $parent_type . '%]=="custom"'; |
|
| 1369 | + } |
|
| 1370 | 1370 | |
| 1371 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1371 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1372 | 1372 | |
| 1373 | - return $input; |
|
| 1373 | + return $input; |
|
| 1374 | 1374 | } |
| 1375 | 1375 | |
| 1376 | 1376 | /** |
@@ -1383,23 +1383,23 @@ discard block |
||
| 1383 | 1383 | */ |
| 1384 | 1384 | function sd_get_font_line_height_input( $type = 'font_line_height', $overwrite = array() ) { |
| 1385 | 1385 | |
| 1386 | - $defaults = array( |
|
| 1387 | - 'type' => 'number', |
|
| 1388 | - 'title' => __( 'Font Line Height', 'super-duper' ), |
|
| 1389 | - 'default' => '', |
|
| 1390 | - 'placeholder' => '1.75', |
|
| 1391 | - 'custom_attributes' => array( |
|
| 1392 | - 'step' => '0.1', |
|
| 1393 | - 'min' => '0', |
|
| 1394 | - 'max' => '100', |
|
| 1395 | - ), |
|
| 1396 | - 'desc_tip' => true, |
|
| 1397 | - 'group' => __( 'Typography', 'super-duper' ), |
|
| 1398 | - ); |
|
| 1386 | + $defaults = array( |
|
| 1387 | + 'type' => 'number', |
|
| 1388 | + 'title' => __( 'Font Line Height', 'super-duper' ), |
|
| 1389 | + 'default' => '', |
|
| 1390 | + 'placeholder' => '1.75', |
|
| 1391 | + 'custom_attributes' => array( |
|
| 1392 | + 'step' => '0.1', |
|
| 1393 | + 'min' => '0', |
|
| 1394 | + 'max' => '100', |
|
| 1395 | + ), |
|
| 1396 | + 'desc_tip' => true, |
|
| 1397 | + 'group' => __( 'Typography', 'super-duper' ), |
|
| 1398 | + ); |
|
| 1399 | 1399 | |
| 1400 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1400 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1401 | 1401 | |
| 1402 | - return $input; |
|
| 1402 | + return $input; |
|
| 1403 | 1403 | } |
| 1404 | 1404 | |
| 1405 | 1405 | /** |
@@ -1412,18 +1412,18 @@ discard block |
||
| 1412 | 1412 | */ |
| 1413 | 1413 | function sd_get_font_size_input_group( $type = 'font_size', $overwrite = array(), $overwrite_custom = array() ) { |
| 1414 | 1414 | |
| 1415 | - $inputs = array(); |
|
| 1415 | + $inputs = array(); |
|
| 1416 | 1416 | |
| 1417 | - if ( $overwrite !== false ) { |
|
| 1418 | - $inputs[ $type ] = sd_get_font_size_input( $type, $overwrite, true ); |
|
| 1419 | - } |
|
| 1417 | + if ( $overwrite !== false ) { |
|
| 1418 | + $inputs[ $type ] = sd_get_font_size_input( $type, $overwrite, true ); |
|
| 1419 | + } |
|
| 1420 | 1420 | |
| 1421 | - if ( $overwrite_custom !== false ) { |
|
| 1422 | - $custom = $type . '_custom'; |
|
| 1423 | - $inputs[ $custom ] = sd_get_font_custom_size_input( $custom, $overwrite_custom, $type ); |
|
| 1424 | - } |
|
| 1421 | + if ( $overwrite_custom !== false ) { |
|
| 1422 | + $custom = $type . '_custom'; |
|
| 1423 | + $inputs[ $custom ] = sd_get_font_custom_size_input( $custom, $overwrite_custom, $type ); |
|
| 1424 | + } |
|
| 1425 | 1425 | |
| 1426 | - return $inputs; |
|
| 1426 | + return $inputs; |
|
| 1427 | 1427 | } |
| 1428 | 1428 | |
| 1429 | 1429 | /** |
@@ -1436,33 +1436,33 @@ discard block |
||
| 1436 | 1436 | */ |
| 1437 | 1437 | function sd_get_font_weight_input( $type = 'font_weight', $overwrite = array() ) { |
| 1438 | 1438 | |
| 1439 | - $options = array( |
|
| 1440 | - '' => __( 'Inherit', 'super-duper' ), |
|
| 1441 | - 'font-weight-bold' => 'bold', |
|
| 1442 | - 'font-weight-bolder' => 'bolder', |
|
| 1443 | - 'font-weight-normal' => 'normal', |
|
| 1444 | - 'font-weight-light' => 'light', |
|
| 1445 | - 'font-weight-lighter' => 'lighter', |
|
| 1446 | - 'font-italic' => 'italic', |
|
| 1447 | - 'font-weight-bold font-italic' => 'bold italic', |
|
| 1448 | - 'font-weight-bolder font-italic' => 'bolder italic', |
|
| 1449 | - 'font-weight-normal font-italic' => 'normal italic', |
|
| 1450 | - 'font-weight-light font-italic' => 'light italic', |
|
| 1451 | - 'font-weight-lighter font-italic' => 'lighter italic', |
|
| 1452 | - ); |
|
| 1453 | - |
|
| 1454 | - $defaults = array( |
|
| 1455 | - 'type' => 'select', |
|
| 1456 | - 'title' => __( 'Appearance', 'super-duper' ), |
|
| 1457 | - 'options' => $options, |
|
| 1458 | - 'default' => '', |
|
| 1459 | - 'desc_tip' => true, |
|
| 1460 | - 'group' => __( 'Typography', 'super-duper' ), |
|
| 1461 | - ); |
|
| 1462 | - |
|
| 1463 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1464 | - |
|
| 1465 | - return $input; |
|
| 1439 | + $options = array( |
|
| 1440 | + '' => __( 'Inherit', 'super-duper' ), |
|
| 1441 | + 'font-weight-bold' => 'bold', |
|
| 1442 | + 'font-weight-bolder' => 'bolder', |
|
| 1443 | + 'font-weight-normal' => 'normal', |
|
| 1444 | + 'font-weight-light' => 'light', |
|
| 1445 | + 'font-weight-lighter' => 'lighter', |
|
| 1446 | + 'font-italic' => 'italic', |
|
| 1447 | + 'font-weight-bold font-italic' => 'bold italic', |
|
| 1448 | + 'font-weight-bolder font-italic' => 'bolder italic', |
|
| 1449 | + 'font-weight-normal font-italic' => 'normal italic', |
|
| 1450 | + 'font-weight-light font-italic' => 'light italic', |
|
| 1451 | + 'font-weight-lighter font-italic' => 'lighter italic', |
|
| 1452 | + ); |
|
| 1453 | + |
|
| 1454 | + $defaults = array( |
|
| 1455 | + 'type' => 'select', |
|
| 1456 | + 'title' => __( 'Appearance', 'super-duper' ), |
|
| 1457 | + 'options' => $options, |
|
| 1458 | + 'default' => '', |
|
| 1459 | + 'desc_tip' => true, |
|
| 1460 | + 'group' => __( 'Typography', 'super-duper' ), |
|
| 1461 | + ); |
|
| 1462 | + |
|
| 1463 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1464 | + |
|
| 1465 | + return $input; |
|
| 1466 | 1466 | } |
| 1467 | 1467 | |
| 1468 | 1468 | /** |
@@ -1475,25 +1475,25 @@ discard block |
||
| 1475 | 1475 | */ |
| 1476 | 1476 | function sd_get_font_case_input( $type = 'font_weight', $overwrite = array() ) { |
| 1477 | 1477 | |
| 1478 | - $options = array( |
|
| 1479 | - '' => __( 'Default', 'super-duper' ), |
|
| 1480 | - 'text-lowercase' => __( 'lowercase', 'super-duper' ), |
|
| 1481 | - 'text-uppercase' => __( 'UPPERCASE', 'super-duper' ), |
|
| 1482 | - 'text-capitalize' => __( 'Capitalize', 'super-duper' ), |
|
| 1483 | - ); |
|
| 1478 | + $options = array( |
|
| 1479 | + '' => __( 'Default', 'super-duper' ), |
|
| 1480 | + 'text-lowercase' => __( 'lowercase', 'super-duper' ), |
|
| 1481 | + 'text-uppercase' => __( 'UPPERCASE', 'super-duper' ), |
|
| 1482 | + 'text-capitalize' => __( 'Capitalize', 'super-duper' ), |
|
| 1483 | + ); |
|
| 1484 | 1484 | |
| 1485 | - $defaults = array( |
|
| 1486 | - 'type' => 'select', |
|
| 1487 | - 'title' => __( 'Letter case', 'super-duper' ), |
|
| 1488 | - 'options' => $options, |
|
| 1489 | - 'default' => '', |
|
| 1490 | - 'desc_tip' => true, |
|
| 1491 | - 'group' => __( 'Typography', 'super-duper' ), |
|
| 1492 | - ); |
|
| 1485 | + $defaults = array( |
|
| 1486 | + 'type' => 'select', |
|
| 1487 | + 'title' => __( 'Letter case', 'super-duper' ), |
|
| 1488 | + 'options' => $options, |
|
| 1489 | + 'default' => '', |
|
| 1490 | + 'desc_tip' => true, |
|
| 1491 | + 'group' => __( 'Typography', 'super-duper' ), |
|
| 1492 | + ); |
|
| 1493 | 1493 | |
| 1494 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1494 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1495 | 1495 | |
| 1496 | - return $input; |
|
| 1496 | + return $input; |
|
| 1497 | 1497 | } |
| 1498 | 1498 | |
| 1499 | 1499 | /** |
@@ -1507,23 +1507,23 @@ discard block |
||
| 1507 | 1507 | */ |
| 1508 | 1508 | function sd_get_font_italic_input( $type = 'font_italic', $overwrite = array() ) { |
| 1509 | 1509 | |
| 1510 | - $options = array( |
|
| 1511 | - '' => __( 'No', 'super-duper' ), |
|
| 1512 | - 'font-italic' => __( 'Yes', 'super-duper' ), |
|
| 1513 | - ); |
|
| 1510 | + $options = array( |
|
| 1511 | + '' => __( 'No', 'super-duper' ), |
|
| 1512 | + 'font-italic' => __( 'Yes', 'super-duper' ), |
|
| 1513 | + ); |
|
| 1514 | 1514 | |
| 1515 | - $defaults = array( |
|
| 1516 | - 'type' => 'select', |
|
| 1517 | - 'title' => __( 'Font italic', 'super-duper' ), |
|
| 1518 | - 'options' => $options, |
|
| 1519 | - 'default' => '', |
|
| 1520 | - 'desc_tip' => true, |
|
| 1521 | - 'group' => __( 'Typography', 'super-duper' ), |
|
| 1522 | - ); |
|
| 1515 | + $defaults = array( |
|
| 1516 | + 'type' => 'select', |
|
| 1517 | + 'title' => __( 'Font italic', 'super-duper' ), |
|
| 1518 | + 'options' => $options, |
|
| 1519 | + 'default' => '', |
|
| 1520 | + 'desc_tip' => true, |
|
| 1521 | + 'group' => __( 'Typography', 'super-duper' ), |
|
| 1522 | + ); |
|
| 1523 | 1523 | |
| 1524 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1524 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1525 | 1525 | |
| 1526 | - return $input; |
|
| 1526 | + return $input; |
|
| 1527 | 1527 | } |
| 1528 | 1528 | |
| 1529 | 1529 | /** |
@@ -1536,18 +1536,18 @@ discard block |
||
| 1536 | 1536 | */ |
| 1537 | 1537 | function sd_get_anchor_input( $type = 'anchor', $overwrite = array() ) { |
| 1538 | 1538 | |
| 1539 | - $defaults = array( |
|
| 1540 | - 'type' => 'text', |
|
| 1541 | - 'title' => __( 'HTML anchor', 'super-duper' ), |
|
| 1542 | - 'desc' => __( 'Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.', 'super-duper' ), |
|
| 1543 | - 'default' => '', |
|
| 1544 | - 'desc_tip' => true, |
|
| 1545 | - 'group' => __( 'Advanced', 'super-duper' ), |
|
| 1546 | - ); |
|
| 1539 | + $defaults = array( |
|
| 1540 | + 'type' => 'text', |
|
| 1541 | + 'title' => __( 'HTML anchor', 'super-duper' ), |
|
| 1542 | + 'desc' => __( 'Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.', 'super-duper' ), |
|
| 1543 | + 'default' => '', |
|
| 1544 | + 'desc_tip' => true, |
|
| 1545 | + 'group' => __( 'Advanced', 'super-duper' ), |
|
| 1546 | + ); |
|
| 1547 | 1547 | |
| 1548 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1548 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1549 | 1549 | |
| 1550 | - return $input; |
|
| 1550 | + return $input; |
|
| 1551 | 1551 | } |
| 1552 | 1552 | |
| 1553 | 1553 | /** |
@@ -1560,18 +1560,18 @@ discard block |
||
| 1560 | 1560 | */ |
| 1561 | 1561 | function sd_get_class_input( $type = 'css_class', $overwrite = array() ) { |
| 1562 | 1562 | |
| 1563 | - $defaults = array( |
|
| 1564 | - 'type' => 'text', |
|
| 1565 | - 'title' => __( 'Additional CSS class(es)', 'super-duper' ), |
|
| 1566 | - 'desc' => __( 'Separate multiple classes with spaces.', 'super-duper' ), |
|
| 1567 | - 'default' => '', |
|
| 1568 | - 'desc_tip' => true, |
|
| 1569 | - 'group' => __( 'Advanced', 'super-duper' ), |
|
| 1570 | - ); |
|
| 1563 | + $defaults = array( |
|
| 1564 | + 'type' => 'text', |
|
| 1565 | + 'title' => __( 'Additional CSS class(es)', 'super-duper' ), |
|
| 1566 | + 'desc' => __( 'Separate multiple classes with spaces.', 'super-duper' ), |
|
| 1567 | + 'default' => '', |
|
| 1568 | + 'desc_tip' => true, |
|
| 1569 | + 'group' => __( 'Advanced', 'super-duper' ), |
|
| 1570 | + ); |
|
| 1571 | 1571 | |
| 1572 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1572 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1573 | 1573 | |
| 1574 | - return $input; |
|
| 1574 | + return $input; |
|
| 1575 | 1575 | } |
| 1576 | 1576 | |
| 1577 | 1577 | /** |
@@ -1584,341 +1584,341 @@ discard block |
||
| 1584 | 1584 | */ |
| 1585 | 1585 | function sd_get_hover_animations_input( $type = 'hover_animations', $overwrite = array() ) { |
| 1586 | 1586 | |
| 1587 | - $options = array( |
|
| 1588 | - '' => __( 'none', 'super-duper' ), |
|
| 1589 | - 'hover-zoom' => __( 'Zoom', 'super-duper' ), |
|
| 1590 | - 'hover-shadow' => __( 'Shadow', 'super-duper' ), |
|
| 1591 | - 'hover-move-up' => __( 'Move up', 'super-duper' ), |
|
| 1592 | - 'hover-move-down' => __( 'Move down', 'super-duper' ), |
|
| 1593 | - 'hover-move-left' => __( 'Move left', 'super-duper' ), |
|
| 1594 | - 'hover-move-right' => __( 'Move right', 'super-duper' ), |
|
| 1595 | - ); |
|
| 1587 | + $options = array( |
|
| 1588 | + '' => __( 'none', 'super-duper' ), |
|
| 1589 | + 'hover-zoom' => __( 'Zoom', 'super-duper' ), |
|
| 1590 | + 'hover-shadow' => __( 'Shadow', 'super-duper' ), |
|
| 1591 | + 'hover-move-up' => __( 'Move up', 'super-duper' ), |
|
| 1592 | + 'hover-move-down' => __( 'Move down', 'super-duper' ), |
|
| 1593 | + 'hover-move-left' => __( 'Move left', 'super-duper' ), |
|
| 1594 | + 'hover-move-right' => __( 'Move right', 'super-duper' ), |
|
| 1595 | + ); |
|
| 1596 | 1596 | |
| 1597 | - $defaults = array( |
|
| 1598 | - 'type' => 'select', |
|
| 1599 | - 'multiple' => true, |
|
| 1600 | - 'title' => __( 'Hover Animations', 'super-duper' ), |
|
| 1601 | - 'options' => $options, |
|
| 1602 | - 'default' => '', |
|
| 1603 | - 'desc_tip' => true, |
|
| 1604 | - 'group' => __( 'Hover Animations', 'super-duper' ), |
|
| 1605 | - ); |
|
| 1597 | + $defaults = array( |
|
| 1598 | + 'type' => 'select', |
|
| 1599 | + 'multiple' => true, |
|
| 1600 | + 'title' => __( 'Hover Animations', 'super-duper' ), |
|
| 1601 | + 'options' => $options, |
|
| 1602 | + 'default' => '', |
|
| 1603 | + 'desc_tip' => true, |
|
| 1604 | + 'group' => __( 'Hover Animations', 'super-duper' ), |
|
| 1605 | + ); |
|
| 1606 | 1606 | |
| 1607 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1607 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1608 | 1608 | |
| 1609 | - return $input; |
|
| 1609 | + return $input; |
|
| 1610 | 1610 | } |
| 1611 | 1611 | |
| 1612 | 1612 | |
| 1613 | 1613 | function sd_get_flex_align_items_input( $type = 'align-items', $overwrite = array() ) { |
| 1614 | - $device_size = ''; |
|
| 1615 | - if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 1616 | - if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 1617 | - $device_size = '-md'; |
|
| 1618 | - } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 1619 | - $device_size = '-lg'; |
|
| 1620 | - } |
|
| 1621 | - } |
|
| 1622 | - $options = array( |
|
| 1623 | - '' => __( 'Default', 'super-duper' ), |
|
| 1624 | - 'align-items' . $device_size . '-start' => 'align-items-start', |
|
| 1625 | - 'align-items' . $device_size . '-end' => 'align-items-end', |
|
| 1626 | - 'align-items' . $device_size . '-center' => 'align-items-center', |
|
| 1627 | - 'align-items' . $device_size . '-baseline' => 'align-items-baseline', |
|
| 1628 | - 'align-items' . $device_size . '-stretch' => 'align-items-stretch', |
|
| 1629 | - ); |
|
| 1630 | - |
|
| 1631 | - $defaults = array( |
|
| 1632 | - 'type' => 'select', |
|
| 1633 | - 'title' => __( 'Vertical Align Items', 'super-duper' ), |
|
| 1634 | - 'options' => $options, |
|
| 1635 | - 'default' => '', |
|
| 1636 | - 'desc_tip' => true, |
|
| 1637 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1638 | - 'element_require' => ' ( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ', |
|
| 1639 | - |
|
| 1640 | - ); |
|
| 1641 | - |
|
| 1642 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1643 | - |
|
| 1644 | - return $input; |
|
| 1614 | + $device_size = ''; |
|
| 1615 | + if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 1616 | + if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 1617 | + $device_size = '-md'; |
|
| 1618 | + } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 1619 | + $device_size = '-lg'; |
|
| 1620 | + } |
|
| 1621 | + } |
|
| 1622 | + $options = array( |
|
| 1623 | + '' => __( 'Default', 'super-duper' ), |
|
| 1624 | + 'align-items' . $device_size . '-start' => 'align-items-start', |
|
| 1625 | + 'align-items' . $device_size . '-end' => 'align-items-end', |
|
| 1626 | + 'align-items' . $device_size . '-center' => 'align-items-center', |
|
| 1627 | + 'align-items' . $device_size . '-baseline' => 'align-items-baseline', |
|
| 1628 | + 'align-items' . $device_size . '-stretch' => 'align-items-stretch', |
|
| 1629 | + ); |
|
| 1630 | + |
|
| 1631 | + $defaults = array( |
|
| 1632 | + 'type' => 'select', |
|
| 1633 | + 'title' => __( 'Vertical Align Items', 'super-duper' ), |
|
| 1634 | + 'options' => $options, |
|
| 1635 | + 'default' => '', |
|
| 1636 | + 'desc_tip' => true, |
|
| 1637 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1638 | + 'element_require' => ' ( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ', |
|
| 1639 | + |
|
| 1640 | + ); |
|
| 1641 | + |
|
| 1642 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1643 | + |
|
| 1644 | + return $input; |
|
| 1645 | 1645 | } |
| 1646 | 1646 | |
| 1647 | 1647 | function sd_get_flex_align_items_input_group( $type = 'flex_align_items', $overwrite = array() ) { |
| 1648 | - $inputs = array(); |
|
| 1649 | - $sizes = array( |
|
| 1650 | - '' => 'Mobile', |
|
| 1651 | - '_md' => 'Tablet', |
|
| 1652 | - '_lg' => 'Desktop', |
|
| 1653 | - ); |
|
| 1648 | + $inputs = array(); |
|
| 1649 | + $sizes = array( |
|
| 1650 | + '' => 'Mobile', |
|
| 1651 | + '_md' => 'Tablet', |
|
| 1652 | + '_lg' => 'Desktop', |
|
| 1653 | + ); |
|
| 1654 | 1654 | |
| 1655 | - if ( $overwrite !== false ) { |
|
| 1655 | + if ( $overwrite !== false ) { |
|
| 1656 | 1656 | |
| 1657 | - foreach ( $sizes as $ds => $dt ) { |
|
| 1658 | - $overwrite['device_type'] = $dt; |
|
| 1659 | - $inputs[ $type . $ds ] = sd_get_flex_align_items_input( $type, $overwrite ); |
|
| 1660 | - } |
|
| 1661 | - } |
|
| 1657 | + foreach ( $sizes as $ds => $dt ) { |
|
| 1658 | + $overwrite['device_type'] = $dt; |
|
| 1659 | + $inputs[ $type . $ds ] = sd_get_flex_align_items_input( $type, $overwrite ); |
|
| 1660 | + } |
|
| 1661 | + } |
|
| 1662 | 1662 | |
| 1663 | - return $inputs; |
|
| 1663 | + return $inputs; |
|
| 1664 | 1664 | } |
| 1665 | 1665 | |
| 1666 | 1666 | function sd_get_flex_justify_content_input( $type = 'flex_justify_content', $overwrite = array() ) { |
| 1667 | - $device_size = ''; |
|
| 1668 | - if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 1669 | - if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 1670 | - $device_size = '-md'; |
|
| 1671 | - } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 1672 | - $device_size = '-lg'; |
|
| 1673 | - } |
|
| 1674 | - } |
|
| 1675 | - $options = array( |
|
| 1676 | - '' => __( 'Default', 'super-duper' ), |
|
| 1677 | - 'justify-content' . $device_size . '-start' => 'justify-content-start', |
|
| 1678 | - 'justify-content' . $device_size . '-end' => 'justify-content-end', |
|
| 1679 | - 'justify-content' . $device_size . '-center' => 'justify-content-center', |
|
| 1680 | - 'justify-content' . $device_size . '-between' => 'justify-content-between', |
|
| 1681 | - 'justify-content' . $device_size . '-stretch' => 'justify-content-around', |
|
| 1682 | - ); |
|
| 1683 | - |
|
| 1684 | - $defaults = array( |
|
| 1685 | - 'type' => 'select', |
|
| 1686 | - 'title' => __( 'Justify content', 'super-duper' ), |
|
| 1687 | - 'options' => $options, |
|
| 1688 | - 'default' => '', |
|
| 1689 | - 'desc_tip' => true, |
|
| 1690 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1691 | - 'element_require' => '( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ', |
|
| 1692 | - |
|
| 1693 | - ); |
|
| 1694 | - |
|
| 1695 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1696 | - |
|
| 1697 | - return $input; |
|
| 1667 | + $device_size = ''; |
|
| 1668 | + if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 1669 | + if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 1670 | + $device_size = '-md'; |
|
| 1671 | + } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 1672 | + $device_size = '-lg'; |
|
| 1673 | + } |
|
| 1674 | + } |
|
| 1675 | + $options = array( |
|
| 1676 | + '' => __( 'Default', 'super-duper' ), |
|
| 1677 | + 'justify-content' . $device_size . '-start' => 'justify-content-start', |
|
| 1678 | + 'justify-content' . $device_size . '-end' => 'justify-content-end', |
|
| 1679 | + 'justify-content' . $device_size . '-center' => 'justify-content-center', |
|
| 1680 | + 'justify-content' . $device_size . '-between' => 'justify-content-between', |
|
| 1681 | + 'justify-content' . $device_size . '-stretch' => 'justify-content-around', |
|
| 1682 | + ); |
|
| 1683 | + |
|
| 1684 | + $defaults = array( |
|
| 1685 | + 'type' => 'select', |
|
| 1686 | + 'title' => __( 'Justify content', 'super-duper' ), |
|
| 1687 | + 'options' => $options, |
|
| 1688 | + 'default' => '', |
|
| 1689 | + 'desc_tip' => true, |
|
| 1690 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1691 | + 'element_require' => '( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ', |
|
| 1692 | + |
|
| 1693 | + ); |
|
| 1694 | + |
|
| 1695 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1696 | + |
|
| 1697 | + return $input; |
|
| 1698 | 1698 | } |
| 1699 | 1699 | |
| 1700 | 1700 | function sd_get_flex_justify_content_input_group( $type = 'flex_justify_content', $overwrite = array() ) { |
| 1701 | - $inputs = array(); |
|
| 1702 | - $sizes = array( |
|
| 1703 | - '' => 'Mobile', |
|
| 1704 | - '_md' => 'Tablet', |
|
| 1705 | - '_lg' => 'Desktop', |
|
| 1706 | - ); |
|
| 1701 | + $inputs = array(); |
|
| 1702 | + $sizes = array( |
|
| 1703 | + '' => 'Mobile', |
|
| 1704 | + '_md' => 'Tablet', |
|
| 1705 | + '_lg' => 'Desktop', |
|
| 1706 | + ); |
|
| 1707 | 1707 | |
| 1708 | - if ( $overwrite !== false ) { |
|
| 1708 | + if ( $overwrite !== false ) { |
|
| 1709 | 1709 | |
| 1710 | - foreach ( $sizes as $ds => $dt ) { |
|
| 1711 | - $overwrite['device_type'] = $dt; |
|
| 1712 | - $inputs[ $type . $ds ] = sd_get_flex_justify_content_input( $type, $overwrite ); |
|
| 1713 | - } |
|
| 1714 | - } |
|
| 1710 | + foreach ( $sizes as $ds => $dt ) { |
|
| 1711 | + $overwrite['device_type'] = $dt; |
|
| 1712 | + $inputs[ $type . $ds ] = sd_get_flex_justify_content_input( $type, $overwrite ); |
|
| 1713 | + } |
|
| 1714 | + } |
|
| 1715 | 1715 | |
| 1716 | - return $inputs; |
|
| 1716 | + return $inputs; |
|
| 1717 | 1717 | } |
| 1718 | 1718 | |
| 1719 | 1719 | |
| 1720 | 1720 | function sd_get_flex_align_self_input( $type = 'flex_align_self', $overwrite = array() ) { |
| 1721 | - $device_size = ''; |
|
| 1722 | - if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 1723 | - if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 1724 | - $device_size = '-md'; |
|
| 1725 | - } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 1726 | - $device_size = '-lg'; |
|
| 1727 | - } |
|
| 1728 | - } |
|
| 1729 | - $options = array( |
|
| 1730 | - '' => __( 'Default', 'super-duper' ), |
|
| 1731 | - 'align-items' . $device_size . '-start' => 'align-items-start', |
|
| 1732 | - 'align-items' . $device_size . '-end' => 'align-items-end', |
|
| 1733 | - 'align-items' . $device_size . '-center' => 'align-items-center', |
|
| 1734 | - 'align-items' . $device_size . '-baseline' => 'align-items-baseline', |
|
| 1735 | - 'align-items' . $device_size . '-stretch' => 'align-items-stretch', |
|
| 1736 | - ); |
|
| 1737 | - |
|
| 1738 | - $defaults = array( |
|
| 1739 | - 'type' => 'select', |
|
| 1740 | - 'title' => __( 'Align Self', 'super-duper' ), |
|
| 1741 | - 'options' => $options, |
|
| 1742 | - 'default' => '', |
|
| 1743 | - 'desc_tip' => true, |
|
| 1744 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1745 | - 'element_require' => ' [%container%]=="col" ', |
|
| 1746 | - |
|
| 1747 | - ); |
|
| 1748 | - |
|
| 1749 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1750 | - |
|
| 1751 | - return $input; |
|
| 1721 | + $device_size = ''; |
|
| 1722 | + if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 1723 | + if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 1724 | + $device_size = '-md'; |
|
| 1725 | + } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 1726 | + $device_size = '-lg'; |
|
| 1727 | + } |
|
| 1728 | + } |
|
| 1729 | + $options = array( |
|
| 1730 | + '' => __( 'Default', 'super-duper' ), |
|
| 1731 | + 'align-items' . $device_size . '-start' => 'align-items-start', |
|
| 1732 | + 'align-items' . $device_size . '-end' => 'align-items-end', |
|
| 1733 | + 'align-items' . $device_size . '-center' => 'align-items-center', |
|
| 1734 | + 'align-items' . $device_size . '-baseline' => 'align-items-baseline', |
|
| 1735 | + 'align-items' . $device_size . '-stretch' => 'align-items-stretch', |
|
| 1736 | + ); |
|
| 1737 | + |
|
| 1738 | + $defaults = array( |
|
| 1739 | + 'type' => 'select', |
|
| 1740 | + 'title' => __( 'Align Self', 'super-duper' ), |
|
| 1741 | + 'options' => $options, |
|
| 1742 | + 'default' => '', |
|
| 1743 | + 'desc_tip' => true, |
|
| 1744 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1745 | + 'element_require' => ' [%container%]=="col" ', |
|
| 1746 | + |
|
| 1747 | + ); |
|
| 1748 | + |
|
| 1749 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1750 | + |
|
| 1751 | + return $input; |
|
| 1752 | 1752 | } |
| 1753 | 1753 | |
| 1754 | 1754 | function sd_get_flex_align_self_input_group( $type = 'flex_align_self', $overwrite = array() ) { |
| 1755 | - $inputs = array(); |
|
| 1756 | - $sizes = array( |
|
| 1757 | - '' => 'Mobile', |
|
| 1758 | - '_md' => 'Tablet', |
|
| 1759 | - '_lg' => 'Desktop', |
|
| 1760 | - ); |
|
| 1755 | + $inputs = array(); |
|
| 1756 | + $sizes = array( |
|
| 1757 | + '' => 'Mobile', |
|
| 1758 | + '_md' => 'Tablet', |
|
| 1759 | + '_lg' => 'Desktop', |
|
| 1760 | + ); |
|
| 1761 | 1761 | |
| 1762 | - if ( $overwrite !== false ) { |
|
| 1762 | + if ( $overwrite !== false ) { |
|
| 1763 | 1763 | |
| 1764 | - foreach ( $sizes as $ds => $dt ) { |
|
| 1765 | - $overwrite['device_type'] = $dt; |
|
| 1766 | - $inputs[ $type . $ds ] = sd_get_flex_align_self_input( $type, $overwrite ); |
|
| 1767 | - } |
|
| 1768 | - } |
|
| 1764 | + foreach ( $sizes as $ds => $dt ) { |
|
| 1765 | + $overwrite['device_type'] = $dt; |
|
| 1766 | + $inputs[ $type . $ds ] = sd_get_flex_align_self_input( $type, $overwrite ); |
|
| 1767 | + } |
|
| 1768 | + } |
|
| 1769 | 1769 | |
| 1770 | - return $inputs; |
|
| 1770 | + return $inputs; |
|
| 1771 | 1771 | } |
| 1772 | 1772 | |
| 1773 | 1773 | function sd_get_flex_order_input( $type = 'flex_order', $overwrite = array() ) { |
| 1774 | - $device_size = ''; |
|
| 1775 | - if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 1776 | - if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 1777 | - $device_size = '-md'; |
|
| 1778 | - } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 1779 | - $device_size = '-lg'; |
|
| 1780 | - } |
|
| 1781 | - } |
|
| 1782 | - $options = array( |
|
| 1783 | - '' => __( 'Default', 'super-duper' ), |
|
| 1784 | - ); |
|
| 1785 | - |
|
| 1786 | - $i = 0; |
|
| 1787 | - while ( $i <= 5 ) { |
|
| 1788 | - $options[ 'order' . $device_size . '-' . $i ] = $i; |
|
| 1789 | - $i++; |
|
| 1790 | - } |
|
| 1791 | - |
|
| 1792 | - $defaults = array( |
|
| 1793 | - 'type' => 'select', |
|
| 1794 | - 'title' => __( 'Flex Order', 'super-duper' ), |
|
| 1795 | - 'options' => $options, |
|
| 1796 | - 'default' => '', |
|
| 1797 | - 'desc_tip' => true, |
|
| 1798 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1799 | - 'element_require' => ' [%container%]=="col" ', |
|
| 1800 | - |
|
| 1801 | - ); |
|
| 1802 | - |
|
| 1803 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1804 | - |
|
| 1805 | - return $input; |
|
| 1774 | + $device_size = ''; |
|
| 1775 | + if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 1776 | + if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 1777 | + $device_size = '-md'; |
|
| 1778 | + } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 1779 | + $device_size = '-lg'; |
|
| 1780 | + } |
|
| 1781 | + } |
|
| 1782 | + $options = array( |
|
| 1783 | + '' => __( 'Default', 'super-duper' ), |
|
| 1784 | + ); |
|
| 1785 | + |
|
| 1786 | + $i = 0; |
|
| 1787 | + while ( $i <= 5 ) { |
|
| 1788 | + $options[ 'order' . $device_size . '-' . $i ] = $i; |
|
| 1789 | + $i++; |
|
| 1790 | + } |
|
| 1791 | + |
|
| 1792 | + $defaults = array( |
|
| 1793 | + 'type' => 'select', |
|
| 1794 | + 'title' => __( 'Flex Order', 'super-duper' ), |
|
| 1795 | + 'options' => $options, |
|
| 1796 | + 'default' => '', |
|
| 1797 | + 'desc_tip' => true, |
|
| 1798 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1799 | + 'element_require' => ' [%container%]=="col" ', |
|
| 1800 | + |
|
| 1801 | + ); |
|
| 1802 | + |
|
| 1803 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1804 | + |
|
| 1805 | + return $input; |
|
| 1806 | 1806 | } |
| 1807 | 1807 | |
| 1808 | 1808 | function sd_get_flex_order_input_group( $type = 'flex_order', $overwrite = array() ) { |
| 1809 | - $inputs = array(); |
|
| 1810 | - $sizes = array( |
|
| 1811 | - '' => 'Mobile', |
|
| 1812 | - '_md' => 'Tablet', |
|
| 1813 | - '_lg' => 'Desktop', |
|
| 1814 | - ); |
|
| 1809 | + $inputs = array(); |
|
| 1810 | + $sizes = array( |
|
| 1811 | + '' => 'Mobile', |
|
| 1812 | + '_md' => 'Tablet', |
|
| 1813 | + '_lg' => 'Desktop', |
|
| 1814 | + ); |
|
| 1815 | 1815 | |
| 1816 | - if ( $overwrite !== false ) { |
|
| 1816 | + if ( $overwrite !== false ) { |
|
| 1817 | 1817 | |
| 1818 | - foreach ( $sizes as $ds => $dt ) { |
|
| 1819 | - $overwrite['device_type'] = $dt; |
|
| 1820 | - $inputs[ $type . $ds ] = sd_get_flex_order_input( $type, $overwrite ); |
|
| 1821 | - } |
|
| 1822 | - } |
|
| 1818 | + foreach ( $sizes as $ds => $dt ) { |
|
| 1819 | + $overwrite['device_type'] = $dt; |
|
| 1820 | + $inputs[ $type . $ds ] = sd_get_flex_order_input( $type, $overwrite ); |
|
| 1821 | + } |
|
| 1822 | + } |
|
| 1823 | 1823 | |
| 1824 | - return $inputs; |
|
| 1824 | + return $inputs; |
|
| 1825 | 1825 | } |
| 1826 | 1826 | |
| 1827 | 1827 | function sd_get_flex_wrap_group( $type = 'flex_wrap', $overwrite = array() ) { |
| 1828 | - $inputs = array(); |
|
| 1829 | - $sizes = array( |
|
| 1830 | - '' => 'Mobile', |
|
| 1831 | - '_md' => 'Tablet', |
|
| 1832 | - '_lg' => 'Desktop', |
|
| 1833 | - ); |
|
| 1828 | + $inputs = array(); |
|
| 1829 | + $sizes = array( |
|
| 1830 | + '' => 'Mobile', |
|
| 1831 | + '_md' => 'Tablet', |
|
| 1832 | + '_lg' => 'Desktop', |
|
| 1833 | + ); |
|
| 1834 | 1834 | |
| 1835 | - if ( $overwrite !== false ) { |
|
| 1835 | + if ( $overwrite !== false ) { |
|
| 1836 | 1836 | |
| 1837 | - foreach ( $sizes as $ds => $dt ) { |
|
| 1838 | - $overwrite['device_type'] = $dt; |
|
| 1839 | - $inputs[ $type . $ds ] = sd_get_flex_wrap_input( $type, $overwrite ); |
|
| 1840 | - } |
|
| 1841 | - } |
|
| 1837 | + foreach ( $sizes as $ds => $dt ) { |
|
| 1838 | + $overwrite['device_type'] = $dt; |
|
| 1839 | + $inputs[ $type . $ds ] = sd_get_flex_wrap_input( $type, $overwrite ); |
|
| 1840 | + } |
|
| 1841 | + } |
|
| 1842 | 1842 | |
| 1843 | - return $inputs; |
|
| 1843 | + return $inputs; |
|
| 1844 | 1844 | } |
| 1845 | 1845 | |
| 1846 | 1846 | function sd_get_flex_wrap_input( $type = 'flex_wrap', $overwrite = array() ) { |
| 1847 | - $device_size = ''; |
|
| 1848 | - if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 1849 | - if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 1850 | - $device_size = '-md'; |
|
| 1851 | - } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 1852 | - $device_size = '-lg'; |
|
| 1853 | - } |
|
| 1854 | - } |
|
| 1855 | - $options = array( |
|
| 1856 | - '' => __( 'Default', 'super-duper' ), |
|
| 1857 | - 'flex' . $device_size . '-nowrap' => 'nowrap', |
|
| 1858 | - 'flex' . $device_size . '-wrap' => 'wrap', |
|
| 1859 | - 'flex' . $device_size . '-wrap-reverse' => 'wrap-reverse', |
|
| 1860 | - ); |
|
| 1861 | - |
|
| 1862 | - $defaults = array( |
|
| 1863 | - 'type' => 'select', |
|
| 1864 | - 'title' => __( 'Flex wrap', 'super-duper' ), |
|
| 1865 | - 'options' => $options, |
|
| 1866 | - 'default' => '', |
|
| 1867 | - 'desc_tip' => true, |
|
| 1868 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1869 | - ); |
|
| 1870 | - |
|
| 1871 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1872 | - |
|
| 1873 | - return $input; |
|
| 1847 | + $device_size = ''; |
|
| 1848 | + if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 1849 | + if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 1850 | + $device_size = '-md'; |
|
| 1851 | + } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 1852 | + $device_size = '-lg'; |
|
| 1853 | + } |
|
| 1854 | + } |
|
| 1855 | + $options = array( |
|
| 1856 | + '' => __( 'Default', 'super-duper' ), |
|
| 1857 | + 'flex' . $device_size . '-nowrap' => 'nowrap', |
|
| 1858 | + 'flex' . $device_size . '-wrap' => 'wrap', |
|
| 1859 | + 'flex' . $device_size . '-wrap-reverse' => 'wrap-reverse', |
|
| 1860 | + ); |
|
| 1861 | + |
|
| 1862 | + $defaults = array( |
|
| 1863 | + 'type' => 'select', |
|
| 1864 | + 'title' => __( 'Flex wrap', 'super-duper' ), |
|
| 1865 | + 'options' => $options, |
|
| 1866 | + 'default' => '', |
|
| 1867 | + 'desc_tip' => true, |
|
| 1868 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1869 | + ); |
|
| 1870 | + |
|
| 1871 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1872 | + |
|
| 1873 | + return $input; |
|
| 1874 | 1874 | } |
| 1875 | 1875 | |
| 1876 | 1876 | function sd_get_float_group( $type = 'float', $overwrite = array() ) { |
| 1877 | - $inputs = array(); |
|
| 1878 | - $sizes = array( |
|
| 1879 | - '' => 'Mobile', |
|
| 1880 | - '_md' => 'Tablet', |
|
| 1881 | - '_lg' => 'Desktop', |
|
| 1882 | - ); |
|
| 1877 | + $inputs = array(); |
|
| 1878 | + $sizes = array( |
|
| 1879 | + '' => 'Mobile', |
|
| 1880 | + '_md' => 'Tablet', |
|
| 1881 | + '_lg' => 'Desktop', |
|
| 1882 | + ); |
|
| 1883 | 1883 | |
| 1884 | - if ( $overwrite !== false ) { |
|
| 1884 | + if ( $overwrite !== false ) { |
|
| 1885 | 1885 | |
| 1886 | - foreach ( $sizes as $ds => $dt ) { |
|
| 1887 | - $overwrite['device_type'] = $dt; |
|
| 1888 | - $inputs[ $type . $ds ] = sd_get_float_input( $type, $overwrite ); |
|
| 1889 | - } |
|
| 1890 | - } |
|
| 1886 | + foreach ( $sizes as $ds => $dt ) { |
|
| 1887 | + $overwrite['device_type'] = $dt; |
|
| 1888 | + $inputs[ $type . $ds ] = sd_get_float_input( $type, $overwrite ); |
|
| 1889 | + } |
|
| 1890 | + } |
|
| 1891 | 1891 | |
| 1892 | - return $inputs; |
|
| 1892 | + return $inputs; |
|
| 1893 | 1893 | } |
| 1894 | 1894 | function sd_get_float_input( $type = 'float', $overwrite = array() ) { |
| 1895 | - $device_size = ''; |
|
| 1896 | - if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 1897 | - if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 1898 | - $device_size = '-md'; |
|
| 1899 | - } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 1900 | - $device_size = '-lg'; |
|
| 1901 | - } |
|
| 1902 | - } |
|
| 1903 | - $options = array( |
|
| 1904 | - '' => __( 'Default', 'super-duper' ), |
|
| 1905 | - 'float' . $device_size . '-start' => 'left', |
|
| 1906 | - 'float' . $device_size . '-end' => 'right', |
|
| 1907 | - 'float' . $device_size . '-none' => 'none', |
|
| 1908 | - ); |
|
| 1909 | - |
|
| 1910 | - $defaults = array( |
|
| 1911 | - 'type' => 'select', |
|
| 1912 | - 'title' => __( 'Float', 'super-duper' ), |
|
| 1913 | - 'options' => $options, |
|
| 1914 | - 'default' => '', |
|
| 1915 | - 'desc_tip' => true, |
|
| 1916 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1917 | - ); |
|
| 1918 | - |
|
| 1919 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1920 | - |
|
| 1921 | - return $input; |
|
| 1895 | + $device_size = ''; |
|
| 1896 | + if ( ! empty( $overwrite['device_type'] ) ) { |
|
| 1897 | + if ( $overwrite['device_type'] == 'Tablet' ) { |
|
| 1898 | + $device_size = '-md'; |
|
| 1899 | + } elseif ( $overwrite['device_type'] == 'Desktop' ) { |
|
| 1900 | + $device_size = '-lg'; |
|
| 1901 | + } |
|
| 1902 | + } |
|
| 1903 | + $options = array( |
|
| 1904 | + '' => __( 'Default', 'super-duper' ), |
|
| 1905 | + 'float' . $device_size . '-start' => 'left', |
|
| 1906 | + 'float' . $device_size . '-end' => 'right', |
|
| 1907 | + 'float' . $device_size . '-none' => 'none', |
|
| 1908 | + ); |
|
| 1909 | + |
|
| 1910 | + $defaults = array( |
|
| 1911 | + 'type' => 'select', |
|
| 1912 | + 'title' => __( 'Float', 'super-duper' ), |
|
| 1913 | + 'options' => $options, |
|
| 1914 | + 'default' => '', |
|
| 1915 | + 'desc_tip' => true, |
|
| 1916 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1917 | + ); |
|
| 1918 | + |
|
| 1919 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1920 | + |
|
| 1921 | + return $input; |
|
| 1922 | 1922 | } |
| 1923 | 1923 | |
| 1924 | 1924 | /** |
@@ -1929,26 +1929,26 @@ discard block |
||
| 1929 | 1929 | */ |
| 1930 | 1930 | function sd_get_zindex_input( $type = 'zindex', $overwrite = array() ) { |
| 1931 | 1931 | |
| 1932 | - $options = array( |
|
| 1933 | - '' => __( 'Default', 'super-duper' ), |
|
| 1934 | - 'zindex-0' => '0', |
|
| 1935 | - 'zindex-1' => '1', |
|
| 1936 | - 'zindex-5' => '5', |
|
| 1937 | - 'zindex-10' => '10', |
|
| 1938 | - ); |
|
| 1932 | + $options = array( |
|
| 1933 | + '' => __( 'Default', 'super-duper' ), |
|
| 1934 | + 'zindex-0' => '0', |
|
| 1935 | + 'zindex-1' => '1', |
|
| 1936 | + 'zindex-5' => '5', |
|
| 1937 | + 'zindex-10' => '10', |
|
| 1938 | + ); |
|
| 1939 | 1939 | |
| 1940 | - $defaults = array( |
|
| 1941 | - 'type' => 'select', |
|
| 1942 | - 'title' => __( 'Z-index', 'super-duper' ), |
|
| 1943 | - 'options' => $options, |
|
| 1944 | - 'default' => '', |
|
| 1945 | - 'desc_tip' => true, |
|
| 1946 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1947 | - ); |
|
| 1940 | + $defaults = array( |
|
| 1941 | + 'type' => 'select', |
|
| 1942 | + 'title' => __( 'Z-index', 'super-duper' ), |
|
| 1943 | + 'options' => $options, |
|
| 1944 | + 'default' => '', |
|
| 1945 | + 'desc_tip' => true, |
|
| 1946 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1947 | + ); |
|
| 1948 | 1948 | |
| 1949 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1949 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1950 | 1950 | |
| 1951 | - return $input; |
|
| 1951 | + return $input; |
|
| 1952 | 1952 | } |
| 1953 | 1953 | |
| 1954 | 1954 | /** |
@@ -1959,26 +1959,26 @@ discard block |
||
| 1959 | 1959 | */ |
| 1960 | 1960 | function sd_get_overflow_input( $type = 'overflow', $overwrite = array() ) { |
| 1961 | 1961 | |
| 1962 | - $options = array( |
|
| 1963 | - '' => __( 'Default', 'super-duper' ), |
|
| 1964 | - 'overflow-auto' => __( 'Auto', 'super-duper' ), |
|
| 1965 | - 'overflow-hidden' => __( 'Hidden', 'super-duper' ), |
|
| 1966 | - 'overflow-visible' => __( 'Visible', 'super-duper' ), |
|
| 1967 | - 'overflow-scroll' => __( 'Scroll', 'super-duper' ), |
|
| 1968 | - ); |
|
| 1962 | + $options = array( |
|
| 1963 | + '' => __( 'Default', 'super-duper' ), |
|
| 1964 | + 'overflow-auto' => __( 'Auto', 'super-duper' ), |
|
| 1965 | + 'overflow-hidden' => __( 'Hidden', 'super-duper' ), |
|
| 1966 | + 'overflow-visible' => __( 'Visible', 'super-duper' ), |
|
| 1967 | + 'overflow-scroll' => __( 'Scroll', 'super-duper' ), |
|
| 1968 | + ); |
|
| 1969 | 1969 | |
| 1970 | - $defaults = array( |
|
| 1971 | - 'type' => 'select', |
|
| 1972 | - 'title' => __( 'Overflow', 'super-duper' ), |
|
| 1973 | - 'options' => $options, |
|
| 1974 | - 'default' => '', |
|
| 1975 | - 'desc_tip' => true, |
|
| 1976 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1977 | - ); |
|
| 1970 | + $defaults = array( |
|
| 1971 | + 'type' => 'select', |
|
| 1972 | + 'title' => __( 'Overflow', 'super-duper' ), |
|
| 1973 | + 'options' => $options, |
|
| 1974 | + 'default' => '', |
|
| 1975 | + 'desc_tip' => true, |
|
| 1976 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 1977 | + ); |
|
| 1978 | 1978 | |
| 1979 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1979 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 1980 | 1980 | |
| 1981 | - return $input; |
|
| 1981 | + return $input; |
|
| 1982 | 1982 | } |
| 1983 | 1983 | |
| 1984 | 1984 | /** |
@@ -1989,19 +1989,19 @@ discard block |
||
| 1989 | 1989 | */ |
| 1990 | 1990 | function sd_get_max_height_input( $type = 'max_height', $overwrite = array() ) { |
| 1991 | 1991 | |
| 1992 | - $defaults = array( |
|
| 1993 | - 'type' => 'text', |
|
| 1994 | - 'title' => __( 'Max height', 'super-duper' ), |
|
| 1995 | - 'value' => '', |
|
| 1996 | - 'default' => '', |
|
| 1997 | - 'placeholder' => '', |
|
| 1998 | - 'desc_tip' => true, |
|
| 1999 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 2000 | - ); |
|
| 1992 | + $defaults = array( |
|
| 1993 | + 'type' => 'text', |
|
| 1994 | + 'title' => __( 'Max height', 'super-duper' ), |
|
| 1995 | + 'value' => '', |
|
| 1996 | + 'default' => '', |
|
| 1997 | + 'placeholder' => '', |
|
| 1998 | + 'desc_tip' => true, |
|
| 1999 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 2000 | + ); |
|
| 2001 | 2001 | |
| 2002 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 2002 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 2003 | 2003 | |
| 2004 | - return $input; |
|
| 2004 | + return $input; |
|
| 2005 | 2005 | } |
| 2006 | 2006 | |
| 2007 | 2007 | /** |
@@ -2012,23 +2012,23 @@ discard block |
||
| 2012 | 2012 | */ |
| 2013 | 2013 | function sd_get_scrollbars_input( $type = 'scrollbars', $overwrite = array() ) { |
| 2014 | 2014 | |
| 2015 | - $options = array( |
|
| 2016 | - '' => __( 'Default', 'super-duper' ), |
|
| 2017 | - 'scrollbars-ios' => __( 'IOS Style', 'super-duper' ), |
|
| 2018 | - ); |
|
| 2015 | + $options = array( |
|
| 2016 | + '' => __( 'Default', 'super-duper' ), |
|
| 2017 | + 'scrollbars-ios' => __( 'IOS Style', 'super-duper' ), |
|
| 2018 | + ); |
|
| 2019 | 2019 | |
| 2020 | - $defaults = array( |
|
| 2021 | - 'type' => 'select', |
|
| 2022 | - 'title' => __( 'Scrollbars', 'super-duper' ), |
|
| 2023 | - 'options' => $options, |
|
| 2024 | - 'default' => '', |
|
| 2025 | - 'desc_tip' => true, |
|
| 2026 | - 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 2027 | - ); |
|
| 2020 | + $defaults = array( |
|
| 2021 | + 'type' => 'select', |
|
| 2022 | + 'title' => __( 'Scrollbars', 'super-duper' ), |
|
| 2023 | + 'options' => $options, |
|
| 2024 | + 'default' => '', |
|
| 2025 | + 'desc_tip' => true, |
|
| 2026 | + 'group' => __( 'Wrapper Styles', 'super-duper' ), |
|
| 2027 | + ); |
|
| 2028 | 2028 | |
| 2029 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 2029 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 2030 | 2030 | |
| 2031 | - return $input; |
|
| 2031 | + return $input; |
|
| 2032 | 2032 | } |
| 2033 | 2033 | |
| 2034 | 2034 | /** |
@@ -2040,415 +2040,415 @@ discard block |
||
| 2040 | 2040 | * @todo find best way to use px- py- or general p- |
| 2041 | 2041 | */ |
| 2042 | 2042 | function sd_build_aui_class( $args ) { |
| 2043 | - global $aui_bs5; |
|
| 2044 | - |
|
| 2045 | - $classes = array(); |
|
| 2046 | - |
|
| 2047 | - if ( $aui_bs5 ) { |
|
| 2048 | - $p_ml = 'ms-'; |
|
| 2049 | - $p_mr = 'me-'; |
|
| 2050 | - |
|
| 2051 | - $p_pl = 'ps-'; |
|
| 2052 | - $p_pr = 'pe-'; |
|
| 2053 | - } else { |
|
| 2054 | - $p_ml = 'ml-'; |
|
| 2055 | - $p_mr = 'mr-'; |
|
| 2056 | - |
|
| 2057 | - $p_pl = 'pl-'; |
|
| 2058 | - $p_pr = 'pr-'; |
|
| 2059 | - } |
|
| 2060 | - |
|
| 2061 | - // margins. |
|
| 2062 | - if ( isset( $args['mt'] ) && $args['mt'] !== '' ) { |
|
| 2063 | - $classes[] = 'mt-' . sanitize_html_class( $args['mt'] ); |
|
| 2064 | - $mt = $args['mt']; |
|
| 2065 | - } else { |
|
| 2066 | - $mt = null; |
|
| 2067 | - } |
|
| 2068 | - if ( isset( $args['mr'] ) && $args['mr'] !== '' ) { |
|
| 2069 | - $classes[] = $p_mr . sanitize_html_class( $args['mr'] ); |
|
| 2070 | - $mr = $args['mr']; |
|
| 2071 | - } else { |
|
| 2072 | - $mr = null; |
|
| 2073 | - } |
|
| 2074 | - if ( isset( $args['mb'] ) && $args['mb'] !== '' ) { |
|
| 2075 | - $classes[] = 'mb-' . sanitize_html_class( $args['mb'] ); |
|
| 2076 | - $mb = $args['mb']; |
|
| 2077 | - } else { |
|
| 2078 | - $mb = null; |
|
| 2079 | - } |
|
| 2080 | - if ( isset( $args['ml'] ) && $args['ml'] !== '' ) { |
|
| 2081 | - $classes[] = $p_ml . sanitize_html_class( $args['ml'] ); |
|
| 2082 | - $ml = $args['ml']; |
|
| 2083 | - } else { |
|
| 2084 | - $ml = null; |
|
| 2085 | - } |
|
| 2086 | - |
|
| 2087 | - // margins tablet. |
|
| 2088 | - if ( isset( $args['mt_md'] ) && $args['mt_md'] !== '' ) { |
|
| 2089 | - $classes[] = 'mt-md-' . sanitize_html_class( $args['mt_md'] ); |
|
| 2090 | - $mt_md = $args['mt_md']; |
|
| 2091 | - } else { |
|
| 2092 | - $mt_md = null; |
|
| 2093 | - } |
|
| 2094 | - if ( isset( $args['mr_md'] ) && $args['mr_md'] !== '' ) { |
|
| 2095 | - $classes[] = $p_mr . 'md-' . sanitize_html_class( $args['mr_md'] ); |
|
| 2096 | - $mt_md = $args['mr_md']; |
|
| 2097 | - } else { |
|
| 2098 | - $mr_md = null; |
|
| 2099 | - } |
|
| 2100 | - if ( isset( $args['mb_md'] ) && $args['mb_md'] !== '' ) { |
|
| 2101 | - $classes[] = 'mb-md-' . sanitize_html_class( $args['mb_md'] ); |
|
| 2102 | - $mt_md = $args['mb_md']; |
|
| 2103 | - } else { |
|
| 2104 | - $mb_md = null; |
|
| 2105 | - } |
|
| 2106 | - if ( isset( $args['ml_md'] ) && $args['ml_md'] !== '' ) { |
|
| 2107 | - $classes[] = $p_ml . 'md-' . sanitize_html_class( $args['ml_md'] ); |
|
| 2108 | - $mt_md = $args['ml_md']; |
|
| 2109 | - } else { |
|
| 2110 | - $ml_md = null; |
|
| 2111 | - } |
|
| 2112 | - |
|
| 2113 | - // margins desktop. |
|
| 2114 | - if ( isset( $args['mt_lg'] ) && $args['mt_lg'] !== '' ) { |
|
| 2115 | - if ( $mt == null && $mt_md == null ) { |
|
| 2116 | - $classes[] = 'mt-' . sanitize_html_class( $args['mt_lg'] ); |
|
| 2117 | - } else { |
|
| 2118 | - $classes[] = 'mt-lg-' . sanitize_html_class( $args['mt_lg'] ); |
|
| 2119 | - } |
|
| 2120 | - } |
|
| 2121 | - if ( isset( $args['mr_lg'] ) && $args['mr_lg'] !== '' ) { |
|
| 2122 | - if ( $mr == null && $mr_md == null ) { |
|
| 2123 | - $classes[] = $p_mr . sanitize_html_class( $args['mr_lg'] ); |
|
| 2124 | - } else { |
|
| 2125 | - $classes[] = $p_mr . 'lg-' . sanitize_html_class( $args['mr_lg'] ); |
|
| 2126 | - } |
|
| 2127 | - } |
|
| 2128 | - if ( isset( $args['mb_lg'] ) && $args['mb_lg'] !== '' ) { |
|
| 2129 | - if ( $mb == null && $mb_md == null ) { |
|
| 2130 | - $classes[] = 'mb-' . sanitize_html_class( $args['mb_lg'] ); |
|
| 2131 | - } else { |
|
| 2132 | - $classes[] = 'mb-lg-' . sanitize_html_class( $args['mb_lg'] ); |
|
| 2133 | - } |
|
| 2134 | - } |
|
| 2135 | - if ( isset( $args['ml_lg'] ) && $args['ml_lg'] !== '' ) { |
|
| 2136 | - if ( $ml == null && $ml_md == null ) { |
|
| 2137 | - $classes[] = $p_ml . sanitize_html_class( $args['ml_lg'] ); |
|
| 2138 | - } else { |
|
| 2139 | - $classes[] = $p_ml . 'lg-' . sanitize_html_class( $args['ml_lg'] ); |
|
| 2140 | - } |
|
| 2141 | - } |
|
| 2142 | - |
|
| 2143 | - // padding. |
|
| 2144 | - if ( isset( $args['pt'] ) && $args['pt'] !== '' ) { |
|
| 2145 | - $classes[] = 'pt-' . sanitize_html_class( $args['pt'] ); |
|
| 2146 | - $pt = $args['pt']; |
|
| 2147 | - } else { |
|
| 2148 | - $pt = null; |
|
| 2149 | - } |
|
| 2150 | - if ( isset( $args['pr'] ) && $args['pr'] !== '' ) { |
|
| 2151 | - $classes[] = $p_pr . sanitize_html_class( $args['pr'] ); |
|
| 2152 | - $pr = $args['pr']; |
|
| 2153 | - } else { |
|
| 2154 | - $pr = null; |
|
| 2155 | - } |
|
| 2156 | - if ( isset( $args['pb'] ) && $args['pb'] !== '' ) { |
|
| 2157 | - $classes[] = 'pb-' . sanitize_html_class( $args['pb'] ); |
|
| 2158 | - $pb = $args['pb']; |
|
| 2159 | - } else { |
|
| 2160 | - $pb = null; |
|
| 2161 | - } |
|
| 2162 | - if ( isset( $args['pl'] ) && $args['pl'] !== '' ) { |
|
| 2163 | - $classes[] = $p_pl . sanitize_html_class( $args['pl'] ); |
|
| 2164 | - $pl = $args['pl']; |
|
| 2165 | - } else { |
|
| 2166 | - $pl = null; |
|
| 2167 | - } |
|
| 2168 | - |
|
| 2169 | - // padding tablet. |
|
| 2170 | - if ( isset( $args['pt_md'] ) && $args['pt_md'] !== '' ) { |
|
| 2171 | - $classes[] = 'pt-md-' . sanitize_html_class( $args['pt_md'] ); |
|
| 2172 | - $pt_md = $args['pt_md']; |
|
| 2173 | - } else { |
|
| 2174 | - $pt_md = null; |
|
| 2175 | - } |
|
| 2176 | - if ( isset( $args['pr_md'] ) && $args['pr_md'] !== '' ) { |
|
| 2177 | - $classes[] = $p_pr . 'md-' . sanitize_html_class( $args['pr_md'] ); |
|
| 2178 | - $pr_md = $args['pr_md']; |
|
| 2179 | - } else { |
|
| 2180 | - $pr_md = null; |
|
| 2181 | - } |
|
| 2182 | - if ( isset( $args['pb_md'] ) && $args['pb_md'] !== '' ) { |
|
| 2183 | - $classes[] = 'pb-md-' . sanitize_html_class( $args['pb_md'] ); |
|
| 2184 | - $pb_md = $args['pb_md']; |
|
| 2185 | - } else { |
|
| 2186 | - $pb_md = null; |
|
| 2187 | - } |
|
| 2188 | - if ( isset( $args['pl_md'] ) && $args['pl_md'] !== '' ) { |
|
| 2189 | - $classes[] = $p_pl . 'md-' . sanitize_html_class( $args['pl_md'] ); |
|
| 2190 | - $pl_md = $args['pl_md']; |
|
| 2191 | - } else { |
|
| 2192 | - $pl_md = null; |
|
| 2193 | - } |
|
| 2194 | - |
|
| 2195 | - // padding desktop. |
|
| 2196 | - if ( isset( $args['pt_lg'] ) && $args['pt_lg'] !== '' ) { |
|
| 2197 | - if ( $pt == null && $pt_md == null ) { |
|
| 2198 | - $classes[] = 'pt-' . sanitize_html_class( $args['pt_lg'] ); |
|
| 2199 | - } else { |
|
| 2200 | - $classes[] = 'pt-lg-' . sanitize_html_class( $args['pt_lg'] ); |
|
| 2201 | - } |
|
| 2202 | - } |
|
| 2203 | - if ( isset( $args['pr_lg'] ) && $args['pr_lg'] !== '' ) { |
|
| 2204 | - if ( $pr == null && $pr_md == null ) { |
|
| 2205 | - $classes[] = $p_pr . sanitize_html_class( $args['pr_lg'] ); |
|
| 2206 | - } else { |
|
| 2207 | - $classes[] = $p_pr . 'lg-' . sanitize_html_class( $args['pr_lg'] ); |
|
| 2208 | - } |
|
| 2209 | - } |
|
| 2210 | - if ( isset( $args['pb_lg'] ) && $args['pb_lg'] !== '' ) { |
|
| 2211 | - if ( $pb == null && $pb_md == null ) { |
|
| 2212 | - $classes[] = 'pb-' . sanitize_html_class( $args['pb_lg'] ); |
|
| 2213 | - } else { |
|
| 2214 | - $classes[] = 'pb-lg-' . sanitize_html_class( $args['pb_lg'] ); |
|
| 2215 | - } |
|
| 2216 | - } |
|
| 2217 | - if ( isset( $args['pl_lg'] ) && $args['pl_lg'] !== '' ) { |
|
| 2218 | - if ( $pl == null && $pl_md == null ) { |
|
| 2219 | - $classes[] = $p_pl . sanitize_html_class( $args['pl_lg'] ); |
|
| 2220 | - } else { |
|
| 2221 | - $classes[] = $p_pl . 'lg-' . sanitize_html_class( $args['pl_lg'] ); |
|
| 2222 | - } |
|
| 2223 | - } |
|
| 2224 | - |
|
| 2225 | - // row cols, mobile, tablet, desktop |
|
| 2226 | - if ( ! empty( $args['row_cols'] ) && $args['row_cols'] !== '' ) { |
|
| 2227 | - $classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols'] ); |
|
| 2228 | - $row_cols = $args['row_cols']; |
|
| 2229 | - } else { |
|
| 2230 | - $row_cols = null; |
|
| 2231 | - } |
|
| 2232 | - if ( ! empty( $args['row_cols_md'] ) && $args['row_cols_md'] !== '' ) { |
|
| 2233 | - $classes[] = sanitize_html_class( 'row-cols-md-' . $args['row_cols_md'] ); |
|
| 2234 | - $row_cols_md = $args['row_cols_md']; |
|
| 2235 | - } else { |
|
| 2236 | - $row_cols_md = null; |
|
| 2237 | - } |
|
| 2238 | - if ( ! empty( $args['row_cols_lg'] ) && $args['row_cols_lg'] !== '' ) { |
|
| 2239 | - if ( $row_cols == null && $row_cols_md == null ) { |
|
| 2240 | - $classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols_lg'] ); |
|
| 2241 | - } else { |
|
| 2242 | - $classes[] = sanitize_html_class( 'row-cols-lg-' . $args['row_cols_lg'] ); |
|
| 2243 | - } |
|
| 2244 | - } |
|
| 2245 | - |
|
| 2246 | - // columns , mobile, tablet, desktop |
|
| 2247 | - if ( ! empty( $args['col'] ) && $args['col'] !== '' ) { |
|
| 2248 | - $classes[] = sanitize_html_class( 'col-' . $args['col'] ); |
|
| 2249 | - $col = $args['col']; |
|
| 2250 | - } else { |
|
| 2251 | - $col = null; |
|
| 2252 | - } |
|
| 2253 | - if ( ! empty( $args['col_md'] ) && $args['col_md'] !== '' ) { |
|
| 2254 | - $classes[] = sanitize_html_class( 'col-md-' . $args['col_md'] ); |
|
| 2255 | - $col_md = $args['col_md']; |
|
| 2256 | - } else { |
|
| 2257 | - $col_md = null; |
|
| 2258 | - } |
|
| 2259 | - if ( ! empty( $args['col_lg'] ) && $args['col_lg'] !== '' ) { |
|
| 2260 | - if ( $col == null && $col_md == null ) { |
|
| 2261 | - $classes[] = sanitize_html_class( 'col-' . $args['col_lg'] ); |
|
| 2262 | - } else { |
|
| 2263 | - $classes[] = sanitize_html_class( 'col-lg-' . $args['col_lg'] ); |
|
| 2264 | - } |
|
| 2265 | - } |
|
| 2266 | - |
|
| 2267 | - // border |
|
| 2268 | - if ( isset( $args['border'] ) && ( $args['border'] == 'none' || $args['border'] === '0' || $args['border'] === 0 ) ) { |
|
| 2269 | - $classes[] = 'border-0'; |
|
| 2270 | - } elseif ( ! empty( $args['border'] ) ) { |
|
| 2271 | - $border_class = 'border'; |
|
| 2272 | - if ( ! empty( $args['border_type'] ) && strpos( $args['border_type'], '-0' ) === false ) { |
|
| 2273 | - $border_class = ''; |
|
| 2274 | - } |
|
| 2275 | - $classes[] = $border_class . ' border-' . sanitize_html_class( $args['border'] ); |
|
| 2276 | - } |
|
| 2277 | - |
|
| 2278 | - // border radius type |
|
| 2279 | - if ( ! empty( $args['rounded'] ) ) { |
|
| 2280 | - $classes[] = sanitize_html_class( $args['rounded'] ); |
|
| 2281 | - } |
|
| 2282 | - |
|
| 2283 | - // border radius size BS4 |
|
| 2284 | - if ( isset( $args['rounded_size'] ) && in_array( $args['rounded_size'], array( 'sm', 'lg' ) ) ) { |
|
| 2285 | - $classes[] = 'rounded-' . sanitize_html_class( $args['rounded_size'] ); |
|
| 2286 | - // if we set a size then we need to remove "rounded" if set |
|
| 2287 | - if ( ( $key = array_search( 'rounded', $classes ) ) !== false ) { |
|
| 2288 | - unset( $classes[ $key ] ); |
|
| 2289 | - } |
|
| 2290 | - } else { |
|
| 2291 | - |
|
| 2292 | - // border radius size , mobile, tablet, desktop |
|
| 2293 | - if ( isset( $args['rounded_size'] ) && $args['rounded_size'] !== '' ) { |
|
| 2294 | - $classes[] = sanitize_html_class( 'rounded-' . $args['rounded_size'] ); |
|
| 2295 | - $rounded_size = $args['rounded_size']; |
|
| 2296 | - } else { |
|
| 2297 | - $rounded_size = null; |
|
| 2298 | - } |
|
| 2299 | - if ( isset( $args['rounded_size_md'] ) && $args['rounded_size_md'] !== '' ) { |
|
| 2300 | - $classes[] = sanitize_html_class( 'rounded-md-' . $args['rounded_size_md'] ); |
|
| 2301 | - $rounded_size_md = $args['rounded_size_md']; |
|
| 2302 | - } else { |
|
| 2303 | - $rounded_size_md = null; |
|
| 2304 | - } |
|
| 2305 | - if ( isset( $args['rounded_size_lg'] ) && $args['rounded_size_lg'] !== '' ) { |
|
| 2306 | - if ( $rounded_size == null && $rounded_size_md == null ) { |
|
| 2307 | - $classes[] = sanitize_html_class( 'rounded-' . $args['rounded_size_lg'] ); |
|
| 2308 | - } else { |
|
| 2309 | - $classes[] = sanitize_html_class( 'rounded-lg-' . $args['rounded_size_lg'] ); |
|
| 2310 | - } |
|
| 2311 | - } |
|
| 2312 | - } |
|
| 2313 | - |
|
| 2314 | - // shadow |
|
| 2315 | - //if ( !empty( $args['shadow'] ) ) { $classes[] = sanitize_html_class($args['shadow']); } |
|
| 2316 | - |
|
| 2317 | - // background |
|
| 2318 | - if ( ! empty( $args['bg'] ) ) { |
|
| 2319 | - $classes[] = 'bg-' . sanitize_html_class( $args['bg'] ); |
|
| 2320 | - } |
|
| 2321 | - |
|
| 2322 | - // text_color |
|
| 2323 | - if ( ! empty( $args['text_color'] ) ) { |
|
| 2324 | - $classes[] = 'text-' . sanitize_html_class( $args['text_color'] ); |
|
| 2325 | - } |
|
| 2326 | - |
|
| 2327 | - // text_align |
|
| 2328 | - if ( ! empty( $args['text_justify'] ) ) { |
|
| 2329 | - $classes[] = 'text-justify'; |
|
| 2330 | - } else { |
|
| 2331 | - if ( ! empty( $args['text_align'] ) ) { |
|
| 2332 | - $classes[] = sanitize_html_class( $args['text_align'] ); |
|
| 2333 | - $text_align = $args['text_align']; |
|
| 2334 | - } else { |
|
| 2335 | - $text_align = null; |
|
| 2336 | - } |
|
| 2337 | - if ( ! empty( $args['text_align_md'] ) && $args['text_align_md'] !== '' ) { |
|
| 2338 | - $classes[] = sanitize_html_class( $args['text_align_md'] ); |
|
| 2339 | - $text_align_md = $args['text_align_md']; |
|
| 2340 | - } else { |
|
| 2341 | - $text_align_md = null; |
|
| 2342 | - } |
|
| 2343 | - if ( ! empty( $args['text_align_lg'] ) && $args['text_align_lg'] !== '' ) { |
|
| 2344 | - if ( $text_align == null && $text_align_md == null ) { |
|
| 2345 | - $classes[] = sanitize_html_class( str_replace( '-lg', '', $args['text_align_lg'] ) ); |
|
| 2346 | - } else { |
|
| 2347 | - $classes[] = sanitize_html_class( $args['text_align_lg'] ); |
|
| 2348 | - } |
|
| 2349 | - } |
|
| 2350 | - } |
|
| 2351 | - |
|
| 2352 | - // display |
|
| 2353 | - if ( ! empty( $args['display'] ) ) { |
|
| 2354 | - $classes[] = sanitize_html_class( $args['display'] ); |
|
| 2355 | - $display = $args['display']; |
|
| 2356 | - } else { |
|
| 2357 | - $display = null; |
|
| 2358 | - } |
|
| 2359 | - if ( ! empty( $args['display_md'] ) && $args['display_md'] !== '' ) { |
|
| 2360 | - $classes[] = sanitize_html_class( $args['display_md'] ); |
|
| 2361 | - $display_md = $args['display_md']; |
|
| 2362 | - } else { |
|
| 2363 | - $display_md = null; |
|
| 2364 | - } |
|
| 2365 | - if ( ! empty( $args['display_lg'] ) && $args['display_lg'] !== '' ) { |
|
| 2366 | - if ( $display == null && $display_md == null ) { |
|
| 2367 | - $classes[] = sanitize_html_class( str_replace( '-lg', '', $args['display_lg'] ) ); |
|
| 2368 | - } else { |
|
| 2369 | - $classes[] = sanitize_html_class( $args['display_lg'] ); |
|
| 2370 | - } |
|
| 2371 | - } |
|
| 2372 | - |
|
| 2373 | - // bgtus - background transparent until scroll |
|
| 2374 | - if ( ! empty( $args['bgtus'] ) ) { |
|
| 2375 | - $classes[] = sanitize_html_class( 'bg-transparent-until-scroll' ); |
|
| 2376 | - } |
|
| 2377 | - |
|
| 2378 | - // cscos - change color scheme on scroll |
|
| 2379 | - if ( ! empty( $args['bgtus'] ) && ! empty( $args['cscos'] ) ) { |
|
| 2380 | - $classes[] = sanitize_html_class( 'color-scheme-flip-on-scroll' ); |
|
| 2381 | - } |
|
| 2382 | - |
|
| 2383 | - // hover animations |
|
| 2384 | - if ( ! empty( $args['hover_animations'] ) ) { |
|
| 2385 | - $classes[] = sd_sanitize_html_classes( str_replace( ',', ' ', $args['hover_animations'] ) ); |
|
| 2386 | - } |
|
| 2387 | - |
|
| 2388 | - // absolute_position |
|
| 2389 | - if ( ! empty( $args['absolute_position'] ) ) { |
|
| 2390 | - if ( 'top-left' === $args['absolute_position'] ) { |
|
| 2391 | - $classes[] = 'start-0 top-0'; |
|
| 2392 | - } elseif ( 'top-center' === $args['absolute_position'] ) { |
|
| 2393 | - $classes[] = 'start-50 top-0 translate-middle'; |
|
| 2394 | - } elseif ( 'top-right' === $args['absolute_position'] ) { |
|
| 2395 | - $classes[] = 'end-0 top-0'; |
|
| 2396 | - } elseif ( 'center-left' === $args['absolute_position'] ) { |
|
| 2397 | - $classes[] = 'start-0 top-50'; |
|
| 2398 | - } elseif ( 'center' === $args['absolute_position'] ) { |
|
| 2399 | - $classes[] = 'start-50 top-50 translate-middle'; |
|
| 2400 | - } elseif ( 'center-right' === $args['absolute_position'] ) { |
|
| 2401 | - $classes[] = 'end-0 top-50'; |
|
| 2402 | - } elseif ( 'bottom-left' === $args['absolute_position'] ) { |
|
| 2403 | - $classes[] = 'start-0 bottom-0'; |
|
| 2404 | - } elseif ( 'bottom-center' === $args['absolute_position'] ) { |
|
| 2405 | - $classes[] = 'start-50 bottom-0 translate-middle'; |
|
| 2406 | - } elseif ( 'bottom-right' === $args['absolute_position'] ) { |
|
| 2407 | - $classes[] = 'end-0 bottom-0'; |
|
| 2408 | - } |
|
| 2409 | - } |
|
| 2410 | - |
|
| 2411 | - // build classes from build keys |
|
| 2412 | - $build_keys = sd_get_class_build_keys(); |
|
| 2413 | - if ( ! empty( $build_keys ) ) { |
|
| 2414 | - foreach ( $build_keys as $key ) { |
|
| 2415 | - |
|
| 2416 | - if ( substr( $key, -4 ) == '-MTD' ) { |
|
| 2417 | - |
|
| 2418 | - $k = str_replace( '-MTD', '', $key ); |
|
| 2419 | - |
|
| 2420 | - // Mobile, Tablet, Desktop |
|
| 2421 | - if ( ! empty( $args[ $k ] ) && $args[ $k ] !== '' ) { |
|
| 2422 | - $classes[] = sanitize_html_class( $args[ $k ] ); |
|
| 2423 | - $v = $args[ $k ]; |
|
| 2424 | - } else { |
|
| 2425 | - $v = null; |
|
| 2426 | - } |
|
| 2427 | - if ( ! empty( $args[ $k . '_md' ] ) && $args[ $k . '_md' ] !== '' ) { |
|
| 2428 | - $classes[] = sanitize_html_class( $args[ $k . '_md' ] ); |
|
| 2429 | - $v_md = $args[ $k . '_md' ]; |
|
| 2430 | - } else { |
|
| 2431 | - $v_md = null; |
|
| 2432 | - } |
|
| 2433 | - if ( ! empty( $args[ $k . '_lg' ] ) && $args[ $k . '_lg' ] !== '' ) { |
|
| 2434 | - if ( $v == null && $v_md == null ) { |
|
| 2435 | - $classes[] = sanitize_html_class( str_replace( '-lg', '', $args[ $k . '_lg' ] ) ); |
|
| 2436 | - } else { |
|
| 2437 | - $classes[] = sanitize_html_class( $args[ $k . '_lg' ] ); |
|
| 2438 | - } |
|
| 2439 | - } |
|
| 2440 | - } else { |
|
| 2441 | - if ( $key == 'font_size' && ! empty( $args[ $key ] ) && $args[ $key ] == 'custom' ) { |
|
| 2442 | - continue; |
|
| 2443 | - } |
|
| 2444 | - if ( ! empty( $args[ $key ] ) ) { |
|
| 2445 | - $classes[] = sd_sanitize_html_classes( $args[ $key ] ); |
|
| 2446 | - } |
|
| 2447 | - } |
|
| 2448 | - } |
|
| 2449 | - } |
|
| 2450 | - |
|
| 2451 | - return implode( ' ', $classes ); |
|
| 2043 | + global $aui_bs5; |
|
| 2044 | + |
|
| 2045 | + $classes = array(); |
|
| 2046 | + |
|
| 2047 | + if ( $aui_bs5 ) { |
|
| 2048 | + $p_ml = 'ms-'; |
|
| 2049 | + $p_mr = 'me-'; |
|
| 2050 | + |
|
| 2051 | + $p_pl = 'ps-'; |
|
| 2052 | + $p_pr = 'pe-'; |
|
| 2053 | + } else { |
|
| 2054 | + $p_ml = 'ml-'; |
|
| 2055 | + $p_mr = 'mr-'; |
|
| 2056 | + |
|
| 2057 | + $p_pl = 'pl-'; |
|
| 2058 | + $p_pr = 'pr-'; |
|
| 2059 | + } |
|
| 2060 | + |
|
| 2061 | + // margins. |
|
| 2062 | + if ( isset( $args['mt'] ) && $args['mt'] !== '' ) { |
|
| 2063 | + $classes[] = 'mt-' . sanitize_html_class( $args['mt'] ); |
|
| 2064 | + $mt = $args['mt']; |
|
| 2065 | + } else { |
|
| 2066 | + $mt = null; |
|
| 2067 | + } |
|
| 2068 | + if ( isset( $args['mr'] ) && $args['mr'] !== '' ) { |
|
| 2069 | + $classes[] = $p_mr . sanitize_html_class( $args['mr'] ); |
|
| 2070 | + $mr = $args['mr']; |
|
| 2071 | + } else { |
|
| 2072 | + $mr = null; |
|
| 2073 | + } |
|
| 2074 | + if ( isset( $args['mb'] ) && $args['mb'] !== '' ) { |
|
| 2075 | + $classes[] = 'mb-' . sanitize_html_class( $args['mb'] ); |
|
| 2076 | + $mb = $args['mb']; |
|
| 2077 | + } else { |
|
| 2078 | + $mb = null; |
|
| 2079 | + } |
|
| 2080 | + if ( isset( $args['ml'] ) && $args['ml'] !== '' ) { |
|
| 2081 | + $classes[] = $p_ml . sanitize_html_class( $args['ml'] ); |
|
| 2082 | + $ml = $args['ml']; |
|
| 2083 | + } else { |
|
| 2084 | + $ml = null; |
|
| 2085 | + } |
|
| 2086 | + |
|
| 2087 | + // margins tablet. |
|
| 2088 | + if ( isset( $args['mt_md'] ) && $args['mt_md'] !== '' ) { |
|
| 2089 | + $classes[] = 'mt-md-' . sanitize_html_class( $args['mt_md'] ); |
|
| 2090 | + $mt_md = $args['mt_md']; |
|
| 2091 | + } else { |
|
| 2092 | + $mt_md = null; |
|
| 2093 | + } |
|
| 2094 | + if ( isset( $args['mr_md'] ) && $args['mr_md'] !== '' ) { |
|
| 2095 | + $classes[] = $p_mr . 'md-' . sanitize_html_class( $args['mr_md'] ); |
|
| 2096 | + $mt_md = $args['mr_md']; |
|
| 2097 | + } else { |
|
| 2098 | + $mr_md = null; |
|
| 2099 | + } |
|
| 2100 | + if ( isset( $args['mb_md'] ) && $args['mb_md'] !== '' ) { |
|
| 2101 | + $classes[] = 'mb-md-' . sanitize_html_class( $args['mb_md'] ); |
|
| 2102 | + $mt_md = $args['mb_md']; |
|
| 2103 | + } else { |
|
| 2104 | + $mb_md = null; |
|
| 2105 | + } |
|
| 2106 | + if ( isset( $args['ml_md'] ) && $args['ml_md'] !== '' ) { |
|
| 2107 | + $classes[] = $p_ml . 'md-' . sanitize_html_class( $args['ml_md'] ); |
|
| 2108 | + $mt_md = $args['ml_md']; |
|
| 2109 | + } else { |
|
| 2110 | + $ml_md = null; |
|
| 2111 | + } |
|
| 2112 | + |
|
| 2113 | + // margins desktop. |
|
| 2114 | + if ( isset( $args['mt_lg'] ) && $args['mt_lg'] !== '' ) { |
|
| 2115 | + if ( $mt == null && $mt_md == null ) { |
|
| 2116 | + $classes[] = 'mt-' . sanitize_html_class( $args['mt_lg'] ); |
|
| 2117 | + } else { |
|
| 2118 | + $classes[] = 'mt-lg-' . sanitize_html_class( $args['mt_lg'] ); |
|
| 2119 | + } |
|
| 2120 | + } |
|
| 2121 | + if ( isset( $args['mr_lg'] ) && $args['mr_lg'] !== '' ) { |
|
| 2122 | + if ( $mr == null && $mr_md == null ) { |
|
| 2123 | + $classes[] = $p_mr . sanitize_html_class( $args['mr_lg'] ); |
|
| 2124 | + } else { |
|
| 2125 | + $classes[] = $p_mr . 'lg-' . sanitize_html_class( $args['mr_lg'] ); |
|
| 2126 | + } |
|
| 2127 | + } |
|
| 2128 | + if ( isset( $args['mb_lg'] ) && $args['mb_lg'] !== '' ) { |
|
| 2129 | + if ( $mb == null && $mb_md == null ) { |
|
| 2130 | + $classes[] = 'mb-' . sanitize_html_class( $args['mb_lg'] ); |
|
| 2131 | + } else { |
|
| 2132 | + $classes[] = 'mb-lg-' . sanitize_html_class( $args['mb_lg'] ); |
|
| 2133 | + } |
|
| 2134 | + } |
|
| 2135 | + if ( isset( $args['ml_lg'] ) && $args['ml_lg'] !== '' ) { |
|
| 2136 | + if ( $ml == null && $ml_md == null ) { |
|
| 2137 | + $classes[] = $p_ml . sanitize_html_class( $args['ml_lg'] ); |
|
| 2138 | + } else { |
|
| 2139 | + $classes[] = $p_ml . 'lg-' . sanitize_html_class( $args['ml_lg'] ); |
|
| 2140 | + } |
|
| 2141 | + } |
|
| 2142 | + |
|
| 2143 | + // padding. |
|
| 2144 | + if ( isset( $args['pt'] ) && $args['pt'] !== '' ) { |
|
| 2145 | + $classes[] = 'pt-' . sanitize_html_class( $args['pt'] ); |
|
| 2146 | + $pt = $args['pt']; |
|
| 2147 | + } else { |
|
| 2148 | + $pt = null; |
|
| 2149 | + } |
|
| 2150 | + if ( isset( $args['pr'] ) && $args['pr'] !== '' ) { |
|
| 2151 | + $classes[] = $p_pr . sanitize_html_class( $args['pr'] ); |
|
| 2152 | + $pr = $args['pr']; |
|
| 2153 | + } else { |
|
| 2154 | + $pr = null; |
|
| 2155 | + } |
|
| 2156 | + if ( isset( $args['pb'] ) && $args['pb'] !== '' ) { |
|
| 2157 | + $classes[] = 'pb-' . sanitize_html_class( $args['pb'] ); |
|
| 2158 | + $pb = $args['pb']; |
|
| 2159 | + } else { |
|
| 2160 | + $pb = null; |
|
| 2161 | + } |
|
| 2162 | + if ( isset( $args['pl'] ) && $args['pl'] !== '' ) { |
|
| 2163 | + $classes[] = $p_pl . sanitize_html_class( $args['pl'] ); |
|
| 2164 | + $pl = $args['pl']; |
|
| 2165 | + } else { |
|
| 2166 | + $pl = null; |
|
| 2167 | + } |
|
| 2168 | + |
|
| 2169 | + // padding tablet. |
|
| 2170 | + if ( isset( $args['pt_md'] ) && $args['pt_md'] !== '' ) { |
|
| 2171 | + $classes[] = 'pt-md-' . sanitize_html_class( $args['pt_md'] ); |
|
| 2172 | + $pt_md = $args['pt_md']; |
|
| 2173 | + } else { |
|
| 2174 | + $pt_md = null; |
|
| 2175 | + } |
|
| 2176 | + if ( isset( $args['pr_md'] ) && $args['pr_md'] !== '' ) { |
|
| 2177 | + $classes[] = $p_pr . 'md-' . sanitize_html_class( $args['pr_md'] ); |
|
| 2178 | + $pr_md = $args['pr_md']; |
|
| 2179 | + } else { |
|
| 2180 | + $pr_md = null; |
|
| 2181 | + } |
|
| 2182 | + if ( isset( $args['pb_md'] ) && $args['pb_md'] !== '' ) { |
|
| 2183 | + $classes[] = 'pb-md-' . sanitize_html_class( $args['pb_md'] ); |
|
| 2184 | + $pb_md = $args['pb_md']; |
|
| 2185 | + } else { |
|
| 2186 | + $pb_md = null; |
|
| 2187 | + } |
|
| 2188 | + if ( isset( $args['pl_md'] ) && $args['pl_md'] !== '' ) { |
|
| 2189 | + $classes[] = $p_pl . 'md-' . sanitize_html_class( $args['pl_md'] ); |
|
| 2190 | + $pl_md = $args['pl_md']; |
|
| 2191 | + } else { |
|
| 2192 | + $pl_md = null; |
|
| 2193 | + } |
|
| 2194 | + |
|
| 2195 | + // padding desktop. |
|
| 2196 | + if ( isset( $args['pt_lg'] ) && $args['pt_lg'] !== '' ) { |
|
| 2197 | + if ( $pt == null && $pt_md == null ) { |
|
| 2198 | + $classes[] = 'pt-' . sanitize_html_class( $args['pt_lg'] ); |
|
| 2199 | + } else { |
|
| 2200 | + $classes[] = 'pt-lg-' . sanitize_html_class( $args['pt_lg'] ); |
|
| 2201 | + } |
|
| 2202 | + } |
|
| 2203 | + if ( isset( $args['pr_lg'] ) && $args['pr_lg'] !== '' ) { |
|
| 2204 | + if ( $pr == null && $pr_md == null ) { |
|
| 2205 | + $classes[] = $p_pr . sanitize_html_class( $args['pr_lg'] ); |
|
| 2206 | + } else { |
|
| 2207 | + $classes[] = $p_pr . 'lg-' . sanitize_html_class( $args['pr_lg'] ); |
|
| 2208 | + } |
|
| 2209 | + } |
|
| 2210 | + if ( isset( $args['pb_lg'] ) && $args['pb_lg'] !== '' ) { |
|
| 2211 | + if ( $pb == null && $pb_md == null ) { |
|
| 2212 | + $classes[] = 'pb-' . sanitize_html_class( $args['pb_lg'] ); |
|
| 2213 | + } else { |
|
| 2214 | + $classes[] = 'pb-lg-' . sanitize_html_class( $args['pb_lg'] ); |
|
| 2215 | + } |
|
| 2216 | + } |
|
| 2217 | + if ( isset( $args['pl_lg'] ) && $args['pl_lg'] !== '' ) { |
|
| 2218 | + if ( $pl == null && $pl_md == null ) { |
|
| 2219 | + $classes[] = $p_pl . sanitize_html_class( $args['pl_lg'] ); |
|
| 2220 | + } else { |
|
| 2221 | + $classes[] = $p_pl . 'lg-' . sanitize_html_class( $args['pl_lg'] ); |
|
| 2222 | + } |
|
| 2223 | + } |
|
| 2224 | + |
|
| 2225 | + // row cols, mobile, tablet, desktop |
|
| 2226 | + if ( ! empty( $args['row_cols'] ) && $args['row_cols'] !== '' ) { |
|
| 2227 | + $classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols'] ); |
|
| 2228 | + $row_cols = $args['row_cols']; |
|
| 2229 | + } else { |
|
| 2230 | + $row_cols = null; |
|
| 2231 | + } |
|
| 2232 | + if ( ! empty( $args['row_cols_md'] ) && $args['row_cols_md'] !== '' ) { |
|
| 2233 | + $classes[] = sanitize_html_class( 'row-cols-md-' . $args['row_cols_md'] ); |
|
| 2234 | + $row_cols_md = $args['row_cols_md']; |
|
| 2235 | + } else { |
|
| 2236 | + $row_cols_md = null; |
|
| 2237 | + } |
|
| 2238 | + if ( ! empty( $args['row_cols_lg'] ) && $args['row_cols_lg'] !== '' ) { |
|
| 2239 | + if ( $row_cols == null && $row_cols_md == null ) { |
|
| 2240 | + $classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols_lg'] ); |
|
| 2241 | + } else { |
|
| 2242 | + $classes[] = sanitize_html_class( 'row-cols-lg-' . $args['row_cols_lg'] ); |
|
| 2243 | + } |
|
| 2244 | + } |
|
| 2245 | + |
|
| 2246 | + // columns , mobile, tablet, desktop |
|
| 2247 | + if ( ! empty( $args['col'] ) && $args['col'] !== '' ) { |
|
| 2248 | + $classes[] = sanitize_html_class( 'col-' . $args['col'] ); |
|
| 2249 | + $col = $args['col']; |
|
| 2250 | + } else { |
|
| 2251 | + $col = null; |
|
| 2252 | + } |
|
| 2253 | + if ( ! empty( $args['col_md'] ) && $args['col_md'] !== '' ) { |
|
| 2254 | + $classes[] = sanitize_html_class( 'col-md-' . $args['col_md'] ); |
|
| 2255 | + $col_md = $args['col_md']; |
|
| 2256 | + } else { |
|
| 2257 | + $col_md = null; |
|
| 2258 | + } |
|
| 2259 | + if ( ! empty( $args['col_lg'] ) && $args['col_lg'] !== '' ) { |
|
| 2260 | + if ( $col == null && $col_md == null ) { |
|
| 2261 | + $classes[] = sanitize_html_class( 'col-' . $args['col_lg'] ); |
|
| 2262 | + } else { |
|
| 2263 | + $classes[] = sanitize_html_class( 'col-lg-' . $args['col_lg'] ); |
|
| 2264 | + } |
|
| 2265 | + } |
|
| 2266 | + |
|
| 2267 | + // border |
|
| 2268 | + if ( isset( $args['border'] ) && ( $args['border'] == 'none' || $args['border'] === '0' || $args['border'] === 0 ) ) { |
|
| 2269 | + $classes[] = 'border-0'; |
|
| 2270 | + } elseif ( ! empty( $args['border'] ) ) { |
|
| 2271 | + $border_class = 'border'; |
|
| 2272 | + if ( ! empty( $args['border_type'] ) && strpos( $args['border_type'], '-0' ) === false ) { |
|
| 2273 | + $border_class = ''; |
|
| 2274 | + } |
|
| 2275 | + $classes[] = $border_class . ' border-' . sanitize_html_class( $args['border'] ); |
|
| 2276 | + } |
|
| 2277 | + |
|
| 2278 | + // border radius type |
|
| 2279 | + if ( ! empty( $args['rounded'] ) ) { |
|
| 2280 | + $classes[] = sanitize_html_class( $args['rounded'] ); |
|
| 2281 | + } |
|
| 2282 | + |
|
| 2283 | + // border radius size BS4 |
|
| 2284 | + if ( isset( $args['rounded_size'] ) && in_array( $args['rounded_size'], array( 'sm', 'lg' ) ) ) { |
|
| 2285 | + $classes[] = 'rounded-' . sanitize_html_class( $args['rounded_size'] ); |
|
| 2286 | + // if we set a size then we need to remove "rounded" if set |
|
| 2287 | + if ( ( $key = array_search( 'rounded', $classes ) ) !== false ) { |
|
| 2288 | + unset( $classes[ $key ] ); |
|
| 2289 | + } |
|
| 2290 | + } else { |
|
| 2291 | + |
|
| 2292 | + // border radius size , mobile, tablet, desktop |
|
| 2293 | + if ( isset( $args['rounded_size'] ) && $args['rounded_size'] !== '' ) { |
|
| 2294 | + $classes[] = sanitize_html_class( 'rounded-' . $args['rounded_size'] ); |
|
| 2295 | + $rounded_size = $args['rounded_size']; |
|
| 2296 | + } else { |
|
| 2297 | + $rounded_size = null; |
|
| 2298 | + } |
|
| 2299 | + if ( isset( $args['rounded_size_md'] ) && $args['rounded_size_md'] !== '' ) { |
|
| 2300 | + $classes[] = sanitize_html_class( 'rounded-md-' . $args['rounded_size_md'] ); |
|
| 2301 | + $rounded_size_md = $args['rounded_size_md']; |
|
| 2302 | + } else { |
|
| 2303 | + $rounded_size_md = null; |
|
| 2304 | + } |
|
| 2305 | + if ( isset( $args['rounded_size_lg'] ) && $args['rounded_size_lg'] !== '' ) { |
|
| 2306 | + if ( $rounded_size == null && $rounded_size_md == null ) { |
|
| 2307 | + $classes[] = sanitize_html_class( 'rounded-' . $args['rounded_size_lg'] ); |
|
| 2308 | + } else { |
|
| 2309 | + $classes[] = sanitize_html_class( 'rounded-lg-' . $args['rounded_size_lg'] ); |
|
| 2310 | + } |
|
| 2311 | + } |
|
| 2312 | + } |
|
| 2313 | + |
|
| 2314 | + // shadow |
|
| 2315 | + //if ( !empty( $args['shadow'] ) ) { $classes[] = sanitize_html_class($args['shadow']); } |
|
| 2316 | + |
|
| 2317 | + // background |
|
| 2318 | + if ( ! empty( $args['bg'] ) ) { |
|
| 2319 | + $classes[] = 'bg-' . sanitize_html_class( $args['bg'] ); |
|
| 2320 | + } |
|
| 2321 | + |
|
| 2322 | + // text_color |
|
| 2323 | + if ( ! empty( $args['text_color'] ) ) { |
|
| 2324 | + $classes[] = 'text-' . sanitize_html_class( $args['text_color'] ); |
|
| 2325 | + } |
|
| 2326 | + |
|
| 2327 | + // text_align |
|
| 2328 | + if ( ! empty( $args['text_justify'] ) ) { |
|
| 2329 | + $classes[] = 'text-justify'; |
|
| 2330 | + } else { |
|
| 2331 | + if ( ! empty( $args['text_align'] ) ) { |
|
| 2332 | + $classes[] = sanitize_html_class( $args['text_align'] ); |
|
| 2333 | + $text_align = $args['text_align']; |
|
| 2334 | + } else { |
|
| 2335 | + $text_align = null; |
|
| 2336 | + } |
|
| 2337 | + if ( ! empty( $args['text_align_md'] ) && $args['text_align_md'] !== '' ) { |
|
| 2338 | + $classes[] = sanitize_html_class( $args['text_align_md'] ); |
|
| 2339 | + $text_align_md = $args['text_align_md']; |
|
| 2340 | + } else { |
|
| 2341 | + $text_align_md = null; |
|
| 2342 | + } |
|
| 2343 | + if ( ! empty( $args['text_align_lg'] ) && $args['text_align_lg'] !== '' ) { |
|
| 2344 | + if ( $text_align == null && $text_align_md == null ) { |
|
| 2345 | + $classes[] = sanitize_html_class( str_replace( '-lg', '', $args['text_align_lg'] ) ); |
|
| 2346 | + } else { |
|
| 2347 | + $classes[] = sanitize_html_class( $args['text_align_lg'] ); |
|
| 2348 | + } |
|
| 2349 | + } |
|
| 2350 | + } |
|
| 2351 | + |
|
| 2352 | + // display |
|
| 2353 | + if ( ! empty( $args['display'] ) ) { |
|
| 2354 | + $classes[] = sanitize_html_class( $args['display'] ); |
|
| 2355 | + $display = $args['display']; |
|
| 2356 | + } else { |
|
| 2357 | + $display = null; |
|
| 2358 | + } |
|
| 2359 | + if ( ! empty( $args['display_md'] ) && $args['display_md'] !== '' ) { |
|
| 2360 | + $classes[] = sanitize_html_class( $args['display_md'] ); |
|
| 2361 | + $display_md = $args['display_md']; |
|
| 2362 | + } else { |
|
| 2363 | + $display_md = null; |
|
| 2364 | + } |
|
| 2365 | + if ( ! empty( $args['display_lg'] ) && $args['display_lg'] !== '' ) { |
|
| 2366 | + if ( $display == null && $display_md == null ) { |
|
| 2367 | + $classes[] = sanitize_html_class( str_replace( '-lg', '', $args['display_lg'] ) ); |
|
| 2368 | + } else { |
|
| 2369 | + $classes[] = sanitize_html_class( $args['display_lg'] ); |
|
| 2370 | + } |
|
| 2371 | + } |
|
| 2372 | + |
|
| 2373 | + // bgtus - background transparent until scroll |
|
| 2374 | + if ( ! empty( $args['bgtus'] ) ) { |
|
| 2375 | + $classes[] = sanitize_html_class( 'bg-transparent-until-scroll' ); |
|
| 2376 | + } |
|
| 2377 | + |
|
| 2378 | + // cscos - change color scheme on scroll |
|
| 2379 | + if ( ! empty( $args['bgtus'] ) && ! empty( $args['cscos'] ) ) { |
|
| 2380 | + $classes[] = sanitize_html_class( 'color-scheme-flip-on-scroll' ); |
|
| 2381 | + } |
|
| 2382 | + |
|
| 2383 | + // hover animations |
|
| 2384 | + if ( ! empty( $args['hover_animations'] ) ) { |
|
| 2385 | + $classes[] = sd_sanitize_html_classes( str_replace( ',', ' ', $args['hover_animations'] ) ); |
|
| 2386 | + } |
|
| 2387 | + |
|
| 2388 | + // absolute_position |
|
| 2389 | + if ( ! empty( $args['absolute_position'] ) ) { |
|
| 2390 | + if ( 'top-left' === $args['absolute_position'] ) { |
|
| 2391 | + $classes[] = 'start-0 top-0'; |
|
| 2392 | + } elseif ( 'top-center' === $args['absolute_position'] ) { |
|
| 2393 | + $classes[] = 'start-50 top-0 translate-middle'; |
|
| 2394 | + } elseif ( 'top-right' === $args['absolute_position'] ) { |
|
| 2395 | + $classes[] = 'end-0 top-0'; |
|
| 2396 | + } elseif ( 'center-left' === $args['absolute_position'] ) { |
|
| 2397 | + $classes[] = 'start-0 top-50'; |
|
| 2398 | + } elseif ( 'center' === $args['absolute_position'] ) { |
|
| 2399 | + $classes[] = 'start-50 top-50 translate-middle'; |
|
| 2400 | + } elseif ( 'center-right' === $args['absolute_position'] ) { |
|
| 2401 | + $classes[] = 'end-0 top-50'; |
|
| 2402 | + } elseif ( 'bottom-left' === $args['absolute_position'] ) { |
|
| 2403 | + $classes[] = 'start-0 bottom-0'; |
|
| 2404 | + } elseif ( 'bottom-center' === $args['absolute_position'] ) { |
|
| 2405 | + $classes[] = 'start-50 bottom-0 translate-middle'; |
|
| 2406 | + } elseif ( 'bottom-right' === $args['absolute_position'] ) { |
|
| 2407 | + $classes[] = 'end-0 bottom-0'; |
|
| 2408 | + } |
|
| 2409 | + } |
|
| 2410 | + |
|
| 2411 | + // build classes from build keys |
|
| 2412 | + $build_keys = sd_get_class_build_keys(); |
|
| 2413 | + if ( ! empty( $build_keys ) ) { |
|
| 2414 | + foreach ( $build_keys as $key ) { |
|
| 2415 | + |
|
| 2416 | + if ( substr( $key, -4 ) == '-MTD' ) { |
|
| 2417 | + |
|
| 2418 | + $k = str_replace( '-MTD', '', $key ); |
|
| 2419 | + |
|
| 2420 | + // Mobile, Tablet, Desktop |
|
| 2421 | + if ( ! empty( $args[ $k ] ) && $args[ $k ] !== '' ) { |
|
| 2422 | + $classes[] = sanitize_html_class( $args[ $k ] ); |
|
| 2423 | + $v = $args[ $k ]; |
|
| 2424 | + } else { |
|
| 2425 | + $v = null; |
|
| 2426 | + } |
|
| 2427 | + if ( ! empty( $args[ $k . '_md' ] ) && $args[ $k . '_md' ] !== '' ) { |
|
| 2428 | + $classes[] = sanitize_html_class( $args[ $k . '_md' ] ); |
|
| 2429 | + $v_md = $args[ $k . '_md' ]; |
|
| 2430 | + } else { |
|
| 2431 | + $v_md = null; |
|
| 2432 | + } |
|
| 2433 | + if ( ! empty( $args[ $k . '_lg' ] ) && $args[ $k . '_lg' ] !== '' ) { |
|
| 2434 | + if ( $v == null && $v_md == null ) { |
|
| 2435 | + $classes[] = sanitize_html_class( str_replace( '-lg', '', $args[ $k . '_lg' ] ) ); |
|
| 2436 | + } else { |
|
| 2437 | + $classes[] = sanitize_html_class( $args[ $k . '_lg' ] ); |
|
| 2438 | + } |
|
| 2439 | + } |
|
| 2440 | + } else { |
|
| 2441 | + if ( $key == 'font_size' && ! empty( $args[ $key ] ) && $args[ $key ] == 'custom' ) { |
|
| 2442 | + continue; |
|
| 2443 | + } |
|
| 2444 | + if ( ! empty( $args[ $key ] ) ) { |
|
| 2445 | + $classes[] = sd_sanitize_html_classes( $args[ $key ] ); |
|
| 2446 | + } |
|
| 2447 | + } |
|
| 2448 | + } |
|
| 2449 | + } |
|
| 2450 | + |
|
| 2451 | + return implode( ' ', $classes ); |
|
| 2452 | 2452 | } |
| 2453 | 2453 | |
| 2454 | 2454 | /** |
@@ -2460,90 +2460,90 @@ discard block |
||
| 2460 | 2460 | */ |
| 2461 | 2461 | function sd_build_aui_styles( $args ) { |
| 2462 | 2462 | |
| 2463 | - $styles = array(); |
|
| 2464 | - |
|
| 2465 | - // background color |
|
| 2466 | - if ( ! empty( $args['bg'] ) && $args['bg'] !== '' ) { |
|
| 2467 | - if ( $args['bg'] == 'custom-color' ) { |
|
| 2468 | - $styles['background-color'] = $args['bg_color']; |
|
| 2469 | - } elseif ( $args['bg'] == 'custom-gradient' ) { |
|
| 2470 | - $styles['background-image'] = $args['bg_gradient']; |
|
| 2471 | - |
|
| 2472 | - // use background on text. |
|
| 2473 | - if ( ! empty( $args['bg_on_text'] ) && $args['bg_on_text'] ) { |
|
| 2474 | - $styles['background-clip'] = 'text'; |
|
| 2475 | - $styles['-webkit-background-clip'] = 'text'; |
|
| 2476 | - $styles['text-fill-color'] = 'transparent'; |
|
| 2477 | - $styles['-webkit-text-fill-color'] = 'transparent'; |
|
| 2478 | - } |
|
| 2479 | - } |
|
| 2480 | - } |
|
| 2481 | - |
|
| 2482 | - if ( ! empty( $args['bg_image'] ) && $args['bg_image'] !== '' ) { |
|
| 2483 | - $hasImage = true; |
|
| 2484 | - if ( ! empty( $styles['background-color'] ) && $args['bg'] == 'custom-color' ) { |
|
| 2485 | - $styles['background-image'] = 'url(' . $args['bg_image'] . ')'; |
|
| 2486 | - $styles['background-blend-mode'] = 'overlay'; |
|
| 2487 | - } elseif ( ! empty( $styles['background-image'] ) && $args['bg'] == 'custom-gradient' ) { |
|
| 2488 | - $styles['background-image'] .= ',url(' . $args['bg_image'] . ')'; |
|
| 2489 | - } elseif ( ! empty( $args['bg'] ) && $args['bg'] != '' && $args['bg'] != 'transparent' ) { |
|
| 2490 | - // do nothing as we alreay have a preset |
|
| 2491 | - $hasImage = false; |
|
| 2492 | - } else { |
|
| 2493 | - $styles['background-image'] = 'url(' . $args['bg_image'] . ')'; |
|
| 2494 | - } |
|
| 2495 | - |
|
| 2496 | - if ( $hasImage ) { |
|
| 2497 | - $styles['background-size'] = 'cover'; |
|
| 2498 | - |
|
| 2499 | - if ( ! empty( $args['bg_image_fixed'] ) && $args['bg_image_fixed'] ) { |
|
| 2500 | - $styles['background-attachment'] = 'fixed'; |
|
| 2501 | - } |
|
| 2502 | - } |
|
| 2503 | - |
|
| 2504 | - if ( $hasImage && ! empty( $args['bg_image_xy'] ) && ! empty( $args['bg_image_xy']['x'] ) ) { |
|
| 2505 | - $styles['background-position'] = ( $args['bg_image_xy']['x'] * 100 ) . '% ' . ( $args['bg_image_xy']['y'] * 100 ) . '%'; |
|
| 2506 | - } |
|
| 2507 | - } |
|
| 2508 | - |
|
| 2509 | - // sticky offset top |
|
| 2510 | - if ( ! empty( $args['sticky_offset_top'] ) && $args['sticky_offset_top'] !== '' ) { |
|
| 2511 | - $styles['top'] = absint( $args['sticky_offset_top'] ); |
|
| 2512 | - } |
|
| 2513 | - |
|
| 2514 | - // sticky offset bottom |
|
| 2515 | - if ( ! empty( $args['sticky_offset_bottom'] ) && $args['sticky_offset_bottom'] !== '' ) { |
|
| 2516 | - $styles['bottom'] = absint( $args['sticky_offset_bottom'] ); |
|
| 2517 | - } |
|
| 2518 | - |
|
| 2519 | - // font size |
|
| 2520 | - if ( ! empty( $args['font_size_custom'] ) && $args['font_size_custom'] !== '' ) { |
|
| 2521 | - $styles['font-size'] = (float) $args['font_size_custom'] . 'rem'; |
|
| 2522 | - } |
|
| 2523 | - |
|
| 2524 | - // font color |
|
| 2525 | - if ( ! empty( $args['text_color_custom'] ) && $args['text_color_custom'] !== '' ) { |
|
| 2526 | - $styles['color'] = esc_attr( $args['text_color_custom'] ); |
|
| 2527 | - } |
|
| 2528 | - |
|
| 2529 | - // font line height |
|
| 2530 | - if ( ! empty( $args['font_line_height'] ) && $args['font_line_height'] !== '' ) { |
|
| 2531 | - $styles['line-height'] = esc_attr( $args['font_line_height'] ); |
|
| 2532 | - } |
|
| 2533 | - |
|
| 2534 | - // max height |
|
| 2535 | - if ( ! empty( $args['max_height'] ) && $args['max_height'] !== '' ) { |
|
| 2536 | - $styles['max-height'] = esc_attr( $args['max_height'] ); |
|
| 2537 | - } |
|
| 2538 | - |
|
| 2539 | - $style_string = ''; |
|
| 2540 | - if ( ! empty( $styles ) ) { |
|
| 2541 | - foreach ( $styles as $key => $val ) { |
|
| 2542 | - $style_string .= esc_attr( $key ) . ':' . esc_attr( $val ) . ';'; |
|
| 2543 | - } |
|
| 2544 | - } |
|
| 2545 | - |
|
| 2546 | - return $style_string; |
|
| 2463 | + $styles = array(); |
|
| 2464 | + |
|
| 2465 | + // background color |
|
| 2466 | + if ( ! empty( $args['bg'] ) && $args['bg'] !== '' ) { |
|
| 2467 | + if ( $args['bg'] == 'custom-color' ) { |
|
| 2468 | + $styles['background-color'] = $args['bg_color']; |
|
| 2469 | + } elseif ( $args['bg'] == 'custom-gradient' ) { |
|
| 2470 | + $styles['background-image'] = $args['bg_gradient']; |
|
| 2471 | + |
|
| 2472 | + // use background on text. |
|
| 2473 | + if ( ! empty( $args['bg_on_text'] ) && $args['bg_on_text'] ) { |
|
| 2474 | + $styles['background-clip'] = 'text'; |
|
| 2475 | + $styles['-webkit-background-clip'] = 'text'; |
|
| 2476 | + $styles['text-fill-color'] = 'transparent'; |
|
| 2477 | + $styles['-webkit-text-fill-color'] = 'transparent'; |
|
| 2478 | + } |
|
| 2479 | + } |
|
| 2480 | + } |
|
| 2481 | + |
|
| 2482 | + if ( ! empty( $args['bg_image'] ) && $args['bg_image'] !== '' ) { |
|
| 2483 | + $hasImage = true; |
|
| 2484 | + if ( ! empty( $styles['background-color'] ) && $args['bg'] == 'custom-color' ) { |
|
| 2485 | + $styles['background-image'] = 'url(' . $args['bg_image'] . ')'; |
|
| 2486 | + $styles['background-blend-mode'] = 'overlay'; |
|
| 2487 | + } elseif ( ! empty( $styles['background-image'] ) && $args['bg'] == 'custom-gradient' ) { |
|
| 2488 | + $styles['background-image'] .= ',url(' . $args['bg_image'] . ')'; |
|
| 2489 | + } elseif ( ! empty( $args['bg'] ) && $args['bg'] != '' && $args['bg'] != 'transparent' ) { |
|
| 2490 | + // do nothing as we alreay have a preset |
|
| 2491 | + $hasImage = false; |
|
| 2492 | + } else { |
|
| 2493 | + $styles['background-image'] = 'url(' . $args['bg_image'] . ')'; |
|
| 2494 | + } |
|
| 2495 | + |
|
| 2496 | + if ( $hasImage ) { |
|
| 2497 | + $styles['background-size'] = 'cover'; |
|
| 2498 | + |
|
| 2499 | + if ( ! empty( $args['bg_image_fixed'] ) && $args['bg_image_fixed'] ) { |
|
| 2500 | + $styles['background-attachment'] = 'fixed'; |
|
| 2501 | + } |
|
| 2502 | + } |
|
| 2503 | + |
|
| 2504 | + if ( $hasImage && ! empty( $args['bg_image_xy'] ) && ! empty( $args['bg_image_xy']['x'] ) ) { |
|
| 2505 | + $styles['background-position'] = ( $args['bg_image_xy']['x'] * 100 ) . '% ' . ( $args['bg_image_xy']['y'] * 100 ) . '%'; |
|
| 2506 | + } |
|
| 2507 | + } |
|
| 2508 | + |
|
| 2509 | + // sticky offset top |
|
| 2510 | + if ( ! empty( $args['sticky_offset_top'] ) && $args['sticky_offset_top'] !== '' ) { |
|
| 2511 | + $styles['top'] = absint( $args['sticky_offset_top'] ); |
|
| 2512 | + } |
|
| 2513 | + |
|
| 2514 | + // sticky offset bottom |
|
| 2515 | + if ( ! empty( $args['sticky_offset_bottom'] ) && $args['sticky_offset_bottom'] !== '' ) { |
|
| 2516 | + $styles['bottom'] = absint( $args['sticky_offset_bottom'] ); |
|
| 2517 | + } |
|
| 2518 | + |
|
| 2519 | + // font size |
|
| 2520 | + if ( ! empty( $args['font_size_custom'] ) && $args['font_size_custom'] !== '' ) { |
|
| 2521 | + $styles['font-size'] = (float) $args['font_size_custom'] . 'rem'; |
|
| 2522 | + } |
|
| 2523 | + |
|
| 2524 | + // font color |
|
| 2525 | + if ( ! empty( $args['text_color_custom'] ) && $args['text_color_custom'] !== '' ) { |
|
| 2526 | + $styles['color'] = esc_attr( $args['text_color_custom'] ); |
|
| 2527 | + } |
|
| 2528 | + |
|
| 2529 | + // font line height |
|
| 2530 | + if ( ! empty( $args['font_line_height'] ) && $args['font_line_height'] !== '' ) { |
|
| 2531 | + $styles['line-height'] = esc_attr( $args['font_line_height'] ); |
|
| 2532 | + } |
|
| 2533 | + |
|
| 2534 | + // max height |
|
| 2535 | + if ( ! empty( $args['max_height'] ) && $args['max_height'] !== '' ) { |
|
| 2536 | + $styles['max-height'] = esc_attr( $args['max_height'] ); |
|
| 2537 | + } |
|
| 2538 | + |
|
| 2539 | + $style_string = ''; |
|
| 2540 | + if ( ! empty( $styles ) ) { |
|
| 2541 | + foreach ( $styles as $key => $val ) { |
|
| 2542 | + $style_string .= esc_attr( $key ) . ':' . esc_attr( $val ) . ';'; |
|
| 2543 | + } |
|
| 2544 | + } |
|
| 2545 | + |
|
| 2546 | + return $style_string; |
|
| 2547 | 2547 | |
| 2548 | 2548 | } |
| 2549 | 2549 | |
@@ -2556,34 +2556,34 @@ discard block |
||
| 2556 | 2556 | * @return string |
| 2557 | 2557 | */ |
| 2558 | 2558 | function sd_build_hover_styles( $args, $is_preview = false ) { |
| 2559 | - $rules = ''; |
|
| 2560 | - // text color |
|
| 2561 | - if ( ! empty( $args['styleid'] ) ) { |
|
| 2562 | - $styleid = $is_preview ? 'html .editor-styles-wrapper .' . esc_attr( $args['styleid'] ) : 'html .' . esc_attr( $args['styleid'] ); |
|
| 2563 | - |
|
| 2564 | - // text |
|
| 2565 | - if ( ! empty( $args['text_color_hover'] ) ) { |
|
| 2566 | - $key = 'custom' === $args['text_color_hover'] && ! empty( $args['text_color_hover_custom'] ) ? 'text_color_hover_custom' : 'text_color_hover'; |
|
| 2567 | - $color = sd_get_color_from_var( $args[ $key ] ); |
|
| 2568 | - $rules .= $styleid . ':hover {color: ' . $color . ' !important;} '; |
|
| 2569 | - } |
|
| 2570 | - |
|
| 2571 | - // bg |
|
| 2572 | - if ( ! empty( $args['bg_hover'] ) ) { |
|
| 2573 | - if ( 'custom-gradient' === $args['bg_hover'] ) { |
|
| 2574 | - $color = $args['bg_hover_gradient']; |
|
| 2575 | - $rules .= $styleid . ':hover {background-image: ' . $color . ' !important;} '; |
|
| 2576 | - $rules .= $styleid . '.btn:hover {border-color: transparent !important;} '; |
|
| 2577 | - } else { |
|
| 2578 | - $key = 'custom-color' === $args['bg_hover'] ? 'bg_hover_color' : 'bg_hover'; |
|
| 2579 | - $color = sd_get_color_from_var( $args[ $key ] ); |
|
| 2580 | - $rules .= $styleid . ':hover {background: ' . $color . ' !important;} '; |
|
| 2581 | - $rules .= $styleid . '.btn:hover {border-color: ' . $color . ' !important;} '; |
|
| 2582 | - } |
|
| 2583 | - } |
|
| 2584 | - } |
|
| 2585 | - |
|
| 2586 | - return $rules ? '<style>' . $rules . '</style>' : ''; |
|
| 2559 | + $rules = ''; |
|
| 2560 | + // text color |
|
| 2561 | + if ( ! empty( $args['styleid'] ) ) { |
|
| 2562 | + $styleid = $is_preview ? 'html .editor-styles-wrapper .' . esc_attr( $args['styleid'] ) : 'html .' . esc_attr( $args['styleid'] ); |
|
| 2563 | + |
|
| 2564 | + // text |
|
| 2565 | + if ( ! empty( $args['text_color_hover'] ) ) { |
|
| 2566 | + $key = 'custom' === $args['text_color_hover'] && ! empty( $args['text_color_hover_custom'] ) ? 'text_color_hover_custom' : 'text_color_hover'; |
|
| 2567 | + $color = sd_get_color_from_var( $args[ $key ] ); |
|
| 2568 | + $rules .= $styleid . ':hover {color: ' . $color . ' !important;} '; |
|
| 2569 | + } |
|
| 2570 | + |
|
| 2571 | + // bg |
|
| 2572 | + if ( ! empty( $args['bg_hover'] ) ) { |
|
| 2573 | + if ( 'custom-gradient' === $args['bg_hover'] ) { |
|
| 2574 | + $color = $args['bg_hover_gradient']; |
|
| 2575 | + $rules .= $styleid . ':hover {background-image: ' . $color . ' !important;} '; |
|
| 2576 | + $rules .= $styleid . '.btn:hover {border-color: transparent !important;} '; |
|
| 2577 | + } else { |
|
| 2578 | + $key = 'custom-color' === $args['bg_hover'] ? 'bg_hover_color' : 'bg_hover'; |
|
| 2579 | + $color = sd_get_color_from_var( $args[ $key ] ); |
|
| 2580 | + $rules .= $styleid . ':hover {background: ' . $color . ' !important;} '; |
|
| 2581 | + $rules .= $styleid . '.btn:hover {border-color: ' . $color . ' !important;} '; |
|
| 2582 | + } |
|
| 2583 | + } |
|
| 2584 | + } |
|
| 2585 | + |
|
| 2586 | + return $rules ? '<style>' . $rules . '</style>' : ''; |
|
| 2587 | 2587 | } |
| 2588 | 2588 | |
| 2589 | 2589 | /** |
@@ -2595,12 +2595,12 @@ discard block |
||
| 2595 | 2595 | */ |
| 2596 | 2596 | function sd_get_color_from_var( $var ) { |
| 2597 | 2597 | |
| 2598 | - //sanitize_hex_color() @todo this does not cover transparency |
|
| 2599 | - if ( strpos( $var, '#' ) === false ) { |
|
| 2600 | - $var = defined( 'BLOCKSTRAP_BLOCKS_VERSION' ) ? 'var(--wp--preset--color--' . esc_attr( $var ) . ')' : 'var(--' . esc_attr( $var ) . ')'; |
|
| 2601 | - } |
|
| 2598 | + //sanitize_hex_color() @todo this does not cover transparency |
|
| 2599 | + if ( strpos( $var, '#' ) === false ) { |
|
| 2600 | + $var = defined( 'BLOCKSTRAP_BLOCKS_VERSION' ) ? 'var(--wp--preset--color--' . esc_attr( $var ) . ')' : 'var(--' . esc_attr( $var ) . ')'; |
|
| 2601 | + } |
|
| 2602 | 2602 | |
| 2603 | - return $var; |
|
| 2603 | + return $var; |
|
| 2604 | 2604 | } |
| 2605 | 2605 | |
| 2606 | 2606 | /** |
@@ -2612,19 +2612,19 @@ discard block |
||
| 2612 | 2612 | * @return string |
| 2613 | 2613 | */ |
| 2614 | 2614 | function sd_sanitize_html_classes( $classes, $sep = ' ' ) { |
| 2615 | - $return = ''; |
|
| 2615 | + $return = ''; |
|
| 2616 | 2616 | |
| 2617 | - if ( ! is_array( $classes ) ) { |
|
| 2618 | - $classes = explode( $sep, $classes ); |
|
| 2619 | - } |
|
| 2617 | + if ( ! is_array( $classes ) ) { |
|
| 2618 | + $classes = explode( $sep, $classes ); |
|
| 2619 | + } |
|
| 2620 | 2620 | |
| 2621 | - if ( ! empty( $classes ) ) { |
|
| 2622 | - foreach ( $classes as $class ) { |
|
| 2623 | - $return .= sanitize_html_class( $class ) . ' '; |
|
| 2624 | - } |
|
| 2625 | - } |
|
| 2621 | + if ( ! empty( $classes ) ) { |
|
| 2622 | + foreach ( $classes as $class ) { |
|
| 2623 | + $return .= sanitize_html_class( $class ) . ' '; |
|
| 2624 | + } |
|
| 2625 | + } |
|
| 2626 | 2626 | |
| 2627 | - return $return; |
|
| 2627 | + return $return; |
|
| 2628 | 2628 | } |
| 2629 | 2629 | |
| 2630 | 2630 | |
@@ -2634,38 +2634,38 @@ discard block |
||
| 2634 | 2634 | * @return void |
| 2635 | 2635 | */ |
| 2636 | 2636 | function sd_get_class_build_keys() { |
| 2637 | - $keys = array( |
|
| 2638 | - 'container', |
|
| 2639 | - 'position', |
|
| 2640 | - 'flex_direction', |
|
| 2641 | - 'shadow', |
|
| 2642 | - 'rounded', |
|
| 2643 | - 'nav_style', |
|
| 2644 | - 'horizontal_alignment', |
|
| 2645 | - 'nav_fill', |
|
| 2646 | - 'width', |
|
| 2647 | - 'font_weight', |
|
| 2648 | - 'font_size', |
|
| 2649 | - 'font_case', |
|
| 2650 | - 'css_class', |
|
| 2651 | - 'flex_align_items-MTD', |
|
| 2652 | - 'flex_justify_content-MTD', |
|
| 2653 | - 'flex_align_self-MTD', |
|
| 2654 | - 'flex_order-MTD', |
|
| 2655 | - 'styleid', |
|
| 2656 | - 'border_opacity', |
|
| 2657 | - 'border_width', |
|
| 2658 | - 'border_type', |
|
| 2659 | - 'opacity', |
|
| 2660 | - 'zindex', |
|
| 2661 | - 'flex_wrap-MTD', |
|
| 2662 | - 'h100', |
|
| 2663 | - 'overflow', |
|
| 2664 | - 'scrollbars', |
|
| 2665 | - 'float-MTD' |
|
| 2666 | - ); |
|
| 2667 | - |
|
| 2668 | - return apply_filters( 'sd_class_build_keys', $keys ); |
|
| 2637 | + $keys = array( |
|
| 2638 | + 'container', |
|
| 2639 | + 'position', |
|
| 2640 | + 'flex_direction', |
|
| 2641 | + 'shadow', |
|
| 2642 | + 'rounded', |
|
| 2643 | + 'nav_style', |
|
| 2644 | + 'horizontal_alignment', |
|
| 2645 | + 'nav_fill', |
|
| 2646 | + 'width', |
|
| 2647 | + 'font_weight', |
|
| 2648 | + 'font_size', |
|
| 2649 | + 'font_case', |
|
| 2650 | + 'css_class', |
|
| 2651 | + 'flex_align_items-MTD', |
|
| 2652 | + 'flex_justify_content-MTD', |
|
| 2653 | + 'flex_align_self-MTD', |
|
| 2654 | + 'flex_order-MTD', |
|
| 2655 | + 'styleid', |
|
| 2656 | + 'border_opacity', |
|
| 2657 | + 'border_width', |
|
| 2658 | + 'border_type', |
|
| 2659 | + 'opacity', |
|
| 2660 | + 'zindex', |
|
| 2661 | + 'flex_wrap-MTD', |
|
| 2662 | + 'h100', |
|
| 2663 | + 'overflow', |
|
| 2664 | + 'scrollbars', |
|
| 2665 | + 'float-MTD' |
|
| 2666 | + ); |
|
| 2667 | + |
|
| 2668 | + return apply_filters( 'sd_class_build_keys', $keys ); |
|
| 2669 | 2669 | } |
| 2670 | 2670 | |
| 2671 | 2671 | /** |
@@ -2677,18 +2677,18 @@ discard block |
||
| 2677 | 2677 | * @return array |
| 2678 | 2678 | */ |
| 2679 | 2679 | function sd_get_visibility_conditions_input( $type = 'visibility_conditions', $overwrite = array() ) { |
| 2680 | - $defaults = array( |
|
| 2681 | - 'type' => 'visibility_conditions', |
|
| 2682 | - 'title' => __( 'Block Visibility', 'super-duper' ), |
|
| 2683 | - 'button_title' => __( 'Set Block Visibility', 'super-duper' ), |
|
| 2684 | - 'default' => '', |
|
| 2685 | - 'desc_tip' => true, |
|
| 2686 | - 'group' => __( 'Visibility Conditions', 'super-duper' ), |
|
| 2687 | - ); |
|
| 2680 | + $defaults = array( |
|
| 2681 | + 'type' => 'visibility_conditions', |
|
| 2682 | + 'title' => __( 'Block Visibility', 'super-duper' ), |
|
| 2683 | + 'button_title' => __( 'Set Block Visibility', 'super-duper' ), |
|
| 2684 | + 'default' => '', |
|
| 2685 | + 'desc_tip' => true, |
|
| 2686 | + 'group' => __( 'Visibility Conditions', 'super-duper' ), |
|
| 2687 | + ); |
|
| 2688 | 2688 | |
| 2689 | - $input = wp_parse_args( $overwrite, $defaults ); |
|
| 2689 | + $input = wp_parse_args( $overwrite, $defaults ); |
|
| 2690 | 2690 | |
| 2691 | - return $input; |
|
| 2691 | + return $input; |
|
| 2692 | 2692 | } |
| 2693 | 2693 | |
| 2694 | 2694 | /** |
@@ -2700,21 +2700,21 @@ discard block |
||
| 2700 | 2700 | * @return array An array of roles. |
| 2701 | 2701 | */ |
| 2702 | 2702 | function sd_user_roles_options( $exclude = array() ) { |
| 2703 | - $user_roles = array(); |
|
| 2703 | + $user_roles = array(); |
|
| 2704 | 2704 | |
| 2705 | - if ( !function_exists('get_editable_roles') ) { |
|
| 2706 | - require_once( ABSPATH . '/wp-admin/includes/user.php' ); |
|
| 2707 | - } |
|
| 2705 | + if ( !function_exists('get_editable_roles') ) { |
|
| 2706 | + require_once( ABSPATH . '/wp-admin/includes/user.php' ); |
|
| 2707 | + } |
|
| 2708 | 2708 | |
| 2709 | - $roles = get_editable_roles(); |
|
| 2709 | + $roles = get_editable_roles(); |
|
| 2710 | 2710 | |
| 2711 | - foreach ( $roles as $role => $data ) { |
|
| 2712 | - if ( ! ( ! empty( $exclude ) && in_array( $role, $exclude ) ) ) { |
|
| 2713 | - $user_roles[ esc_attr( $role ) ] = translate_user_role( $data['name'] ); |
|
| 2714 | - } |
|
| 2715 | - } |
|
| 2711 | + foreach ( $roles as $role => $data ) { |
|
| 2712 | + if ( ! ( ! empty( $exclude ) && in_array( $role, $exclude ) ) ) { |
|
| 2713 | + $user_roles[ esc_attr( $role ) ] = translate_user_role( $data['name'] ); |
|
| 2714 | + } |
|
| 2715 | + } |
|
| 2716 | 2716 | |
| 2717 | - return apply_filters( 'sd_user_roles_options', $user_roles ); |
|
| 2717 | + return apply_filters( 'sd_user_roles_options', $user_roles ); |
|
| 2718 | 2718 | } |
| 2719 | 2719 | |
| 2720 | 2720 | /** |
@@ -2725,17 +2725,17 @@ discard block |
||
| 2725 | 2725 | * @return array Rule options. |
| 2726 | 2726 | */ |
| 2727 | 2727 | function sd_visibility_rules_options() { |
| 2728 | - $options = array( |
|
| 2729 | - 'logged_in' => __( 'Logged In', 'super-duper' ), |
|
| 2730 | - 'logged_out' => __( 'Logged Out', 'super-duper' ), |
|
| 2731 | - 'user_roles' => __( 'Specific User Roles', 'super-duper' ) |
|
| 2732 | - ); |
|
| 2728 | + $options = array( |
|
| 2729 | + 'logged_in' => __( 'Logged In', 'super-duper' ), |
|
| 2730 | + 'logged_out' => __( 'Logged Out', 'super-duper' ), |
|
| 2731 | + 'user_roles' => __( 'Specific User Roles', 'super-duper' ) |
|
| 2732 | + ); |
|
| 2733 | 2733 | |
| 2734 | - if ( class_exists( 'GeoDirectory' ) ) { |
|
| 2735 | - $options['gd_field'] = __( 'GD Field', 'super-duper' ); |
|
| 2736 | - } |
|
| 2734 | + if ( class_exists( 'GeoDirectory' ) ) { |
|
| 2735 | + $options['gd_field'] = __( 'GD Field', 'super-duper' ); |
|
| 2736 | + } |
|
| 2737 | 2737 | |
| 2738 | - return apply_filters( 'sd_visibility_rules_options', $options ); |
|
| 2738 | + return apply_filters( 'sd_visibility_rules_options', $options ); |
|
| 2739 | 2739 | } |
| 2740 | 2740 | |
| 2741 | 2741 | /** |
@@ -2744,37 +2744,37 @@ discard block |
||
| 2744 | 2744 | * @return array |
| 2745 | 2745 | */ |
| 2746 | 2746 | function sd_visibility_gd_field_options(){ |
| 2747 | - $fields = geodir_post_custom_fields( '', 'all', 'all', 'none' ); |
|
| 2747 | + $fields = geodir_post_custom_fields( '', 'all', 'all', 'none' ); |
|
| 2748 | 2748 | |
| 2749 | - $keys = array(); |
|
| 2750 | - if ( ! empty( $fields ) ) { |
|
| 2751 | - foreach( $fields as $field ) { |
|
| 2752 | - if ( apply_filters( 'geodir_badge_field_skip_key', false, $field ) ) { |
|
| 2753 | - continue; |
|
| 2754 | - } |
|
| 2749 | + $keys = array(); |
|
| 2750 | + if ( ! empty( $fields ) ) { |
|
| 2751 | + foreach( $fields as $field ) { |
|
| 2752 | + if ( apply_filters( 'geodir_badge_field_skip_key', false, $field ) ) { |
|
| 2753 | + continue; |
|
| 2754 | + } |
|
| 2755 | 2755 | |
| 2756 | - $keys[ $field['htmlvar_name'] ] = $field['htmlvar_name'] . ' ( ' . __( $field['admin_title'], 'geodirectory' ) . ' )'; |
|
| 2756 | + $keys[ $field['htmlvar_name'] ] = $field['htmlvar_name'] . ' ( ' . __( $field['admin_title'], 'geodirectory' ) . ' )'; |
|
| 2757 | 2757 | |
| 2758 | - // Extra address fields |
|
| 2759 | - if ( $field['htmlvar_name'] == 'address' && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) { |
|
| 2760 | - foreach ( $address_fields as $_field => $args ) { |
|
| 2761 | - if ( $_field != 'map_directions' && $_field != 'street' ) { |
|
| 2762 | - $keys[ $_field ] = $_field . ' ( ' . $args['frontend_title'] . ' )'; |
|
| 2763 | - } |
|
| 2764 | - } |
|
| 2765 | - } |
|
| 2766 | - } |
|
| 2767 | - } |
|
| 2758 | + // Extra address fields |
|
| 2759 | + if ( $field['htmlvar_name'] == 'address' && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) { |
|
| 2760 | + foreach ( $address_fields as $_field => $args ) { |
|
| 2761 | + if ( $_field != 'map_directions' && $_field != 'street' ) { |
|
| 2762 | + $keys[ $_field ] = $_field . ' ( ' . $args['frontend_title'] . ' )'; |
|
| 2763 | + } |
|
| 2764 | + } |
|
| 2765 | + } |
|
| 2766 | + } |
|
| 2767 | + } |
|
| 2768 | 2768 | |
| 2769 | - $keys['post_date'] = 'post_date ( ' . __( 'post date', 'geodirectory' ) . ' )'; |
|
| 2770 | - $keys['post_modified'] = 'post_modified ( ' . __( 'post modified', 'geodirectory' ) . ' )'; |
|
| 2771 | - $keys['default_category'] = 'default_category ( ' . __( 'Default Category', 'geodirectory' ) . ' )'; |
|
| 2772 | - $keys['post_id'] = 'post_id ( ' . __( 'post id', 'geodirectory' ) . ' )'; |
|
| 2773 | - $keys['post_status'] = 'post_status ( ' . __( 'Post Status', 'geodirectory' ) . ' )'; |
|
| 2769 | + $keys['post_date'] = 'post_date ( ' . __( 'post date', 'geodirectory' ) . ' )'; |
|
| 2770 | + $keys['post_modified'] = 'post_modified ( ' . __( 'post modified', 'geodirectory' ) . ' )'; |
|
| 2771 | + $keys['default_category'] = 'default_category ( ' . __( 'Default Category', 'geodirectory' ) . ' )'; |
|
| 2772 | + $keys['post_id'] = 'post_id ( ' . __( 'post id', 'geodirectory' ) . ' )'; |
|
| 2773 | + $keys['post_status'] = 'post_status ( ' . __( 'Post Status', 'geodirectory' ) . ' )'; |
|
| 2774 | 2774 | |
| 2775 | - $options = apply_filters( 'geodir_badge_field_keys', $keys ); |
|
| 2775 | + $options = apply_filters( 'geodir_badge_field_keys', $keys ); |
|
| 2776 | 2776 | |
| 2777 | - return apply_filters( 'sd_visibility_gd_field_options', $options ); |
|
| 2777 | + return apply_filters( 'sd_visibility_gd_field_options', $options ); |
|
| 2778 | 2778 | } |
| 2779 | 2779 | |
| 2780 | 2780 | /** |
@@ -2783,18 +2783,18 @@ discard block |
||
| 2783 | 2783 | * @return array |
| 2784 | 2784 | */ |
| 2785 | 2785 | function sd_visibility_field_condition_options(){ |
| 2786 | - $options = array( |
|
| 2787 | - 'is_empty' => __( 'is empty', 'super-duper' ), |
|
| 2788 | - 'is_not_empty' => __( 'is not empty', 'super-duper' ), |
|
| 2789 | - 'is_equal' => __( 'is equal', 'super-duper' ), |
|
| 2790 | - 'is_not_equal' => __( 'is not equal', 'super-duper' ), |
|
| 2791 | - 'is_greater_than' => __( 'is greater than', 'super-duper' ), |
|
| 2792 | - 'is_less_than' => __( 'is less than', 'super-duper' ), |
|
| 2793 | - 'is_contains' => __( 'is contains', 'super-duper' ), |
|
| 2794 | - 'is_not_contains' => __( 'is not contains', 'super-duper' ), |
|
| 2795 | - ); |
|
| 2786 | + $options = array( |
|
| 2787 | + 'is_empty' => __( 'is empty', 'super-duper' ), |
|
| 2788 | + 'is_not_empty' => __( 'is not empty', 'super-duper' ), |
|
| 2789 | + 'is_equal' => __( 'is equal', 'super-duper' ), |
|
| 2790 | + 'is_not_equal' => __( 'is not equal', 'super-duper' ), |
|
| 2791 | + 'is_greater_than' => __( 'is greater than', 'super-duper' ), |
|
| 2792 | + 'is_less_than' => __( 'is less than', 'super-duper' ), |
|
| 2793 | + 'is_contains' => __( 'is contains', 'super-duper' ), |
|
| 2794 | + 'is_not_contains' => __( 'is not contains', 'super-duper' ), |
|
| 2795 | + ); |
|
| 2796 | 2796 | |
| 2797 | - return apply_filters( 'sd_visibility_field_condition_options', $options ); |
|
| 2797 | + return apply_filters( 'sd_visibility_field_condition_options', $options ); |
|
| 2798 | 2798 | } |
| 2799 | 2799 | |
| 2800 | 2800 | /** |
@@ -2805,14 +2805,14 @@ discard block |
||
| 2805 | 2805 | * @return array Template type options. |
| 2806 | 2806 | */ |
| 2807 | 2807 | function sd_visibility_output_options() { |
| 2808 | - $options = array( |
|
| 2809 | - 'hide' => __( 'Hide Block', 'super-duper' ), |
|
| 2810 | - 'message' => __( 'Show Custom Message', 'super-duper' ), |
|
| 2811 | - 'page' => __( 'Show Page Content', 'super-duper' ), |
|
| 2812 | - 'template_part' => __( 'Show Template Part', 'super-duper' ), |
|
| 2813 | - ); |
|
| 2808 | + $options = array( |
|
| 2809 | + 'hide' => __( 'Hide Block', 'super-duper' ), |
|
| 2810 | + 'message' => __( 'Show Custom Message', 'super-duper' ), |
|
| 2811 | + 'page' => __( 'Show Page Content', 'super-duper' ), |
|
| 2812 | + 'template_part' => __( 'Show Template Part', 'super-duper' ), |
|
| 2813 | + ); |
|
| 2814 | 2814 | |
| 2815 | - return apply_filters( 'sd_visibility_output_options', $options ); |
|
| 2815 | + return apply_filters( 'sd_visibility_output_options', $options ); |
|
| 2816 | 2816 | } |
| 2817 | 2817 | |
| 2818 | 2818 | /** |
@@ -2824,45 +2824,45 @@ discard block |
||
| 2824 | 2824 | * @return array Template page options. |
| 2825 | 2825 | */ |
| 2826 | 2826 | function sd_template_page_options( $args = array() ) { |
| 2827 | - global $sd_tmpl_page_options; |
|
| 2827 | + global $sd_tmpl_page_options; |
|
| 2828 | 2828 | |
| 2829 | - if ( ! empty( $sd_tmpl_page_options ) ) { |
|
| 2830 | - return $sd_tmpl_page_options; |
|
| 2831 | - } |
|
| 2829 | + if ( ! empty( $sd_tmpl_page_options ) ) { |
|
| 2830 | + return $sd_tmpl_page_options; |
|
| 2831 | + } |
|
| 2832 | 2832 | |
| 2833 | - $args = wp_parse_args( $args, array( |
|
| 2834 | - 'child_of' => 0, |
|
| 2835 | - 'sort_column' => 'post_title', |
|
| 2836 | - 'sort_order' => 'ASC' |
|
| 2837 | - ) ); |
|
| 2833 | + $args = wp_parse_args( $args, array( |
|
| 2834 | + 'child_of' => 0, |
|
| 2835 | + 'sort_column' => 'post_title', |
|
| 2836 | + 'sort_order' => 'ASC' |
|
| 2837 | + ) ); |
|
| 2838 | 2838 | |
| 2839 | - $exclude_pages = array(); |
|
| 2840 | - if ( $page_on_front = get_option( 'page_on_front' ) ) { |
|
| 2841 | - $exclude_pages[] = $page_on_front; |
|
| 2842 | - } |
|
| 2839 | + $exclude_pages = array(); |
|
| 2840 | + if ( $page_on_front = get_option( 'page_on_front' ) ) { |
|
| 2841 | + $exclude_pages[] = $page_on_front; |
|
| 2842 | + } |
|
| 2843 | 2843 | |
| 2844 | - if ( $page_for_posts = get_option( 'page_for_posts' ) ) { |
|
| 2845 | - $exclude_pages[] = $page_for_posts; |
|
| 2846 | - } |
|
| 2844 | + if ( $page_for_posts = get_option( 'page_for_posts' ) ) { |
|
| 2845 | + $exclude_pages[] = $page_for_posts; |
|
| 2846 | + } |
|
| 2847 | 2847 | |
| 2848 | - if ( ! empty( $exclude_pages ) ) { |
|
| 2849 | - $args['exclude'] = $exclude_pages; |
|
| 2850 | - } |
|
| 2848 | + if ( ! empty( $exclude_pages ) ) { |
|
| 2849 | + $args['exclude'] = $exclude_pages; |
|
| 2850 | + } |
|
| 2851 | 2851 | |
| 2852 | - $pages = get_pages( $args ); |
|
| 2852 | + $pages = get_pages( $args ); |
|
| 2853 | 2853 | |
| 2854 | - $options = array( '' => __( 'Select Page...', 'super-duper' ) ); |
|
| 2855 | - if ( ! empty( $pages ) ) { |
|
| 2856 | - foreach ( $pages as $page ) { |
|
| 2857 | - if ( ! empty( $page->ID ) && ! empty( $page->post_title ) ) { |
|
| 2858 | - $options[ $page->ID ] = $page->post_title . ' (#' . $page->ID . ')'; |
|
| 2859 | - } |
|
| 2860 | - } |
|
| 2861 | - } |
|
| 2854 | + $options = array( '' => __( 'Select Page...', 'super-duper' ) ); |
|
| 2855 | + if ( ! empty( $pages ) ) { |
|
| 2856 | + foreach ( $pages as $page ) { |
|
| 2857 | + if ( ! empty( $page->ID ) && ! empty( $page->post_title ) ) { |
|
| 2858 | + $options[ $page->ID ] = $page->post_title . ' (#' . $page->ID . ')'; |
|
| 2859 | + } |
|
| 2860 | + } |
|
| 2861 | + } |
|
| 2862 | 2862 | |
| 2863 | - $sd_tmpl_page_options = $options; |
|
| 2863 | + $sd_tmpl_page_options = $options; |
|
| 2864 | 2864 | |
| 2865 | - return apply_filters( 'sd_template_page_options', $options ); |
|
| 2865 | + return apply_filters( 'sd_template_page_options', $options ); |
|
| 2866 | 2866 | } |
| 2867 | 2867 | |
| 2868 | 2868 | /** |
@@ -2874,25 +2874,25 @@ discard block |
||
| 2874 | 2874 | * @return array Template part options. |
| 2875 | 2875 | */ |
| 2876 | 2876 | function sd_template_part_options( $args = array() ) { |
| 2877 | - global $sd_tmpl_part_options; |
|
| 2877 | + global $sd_tmpl_part_options; |
|
| 2878 | 2878 | |
| 2879 | - if ( ! empty( $sd_tmpl_part_options ) ) { |
|
| 2880 | - return $sd_tmpl_part_options; |
|
| 2881 | - } |
|
| 2879 | + if ( ! empty( $sd_tmpl_part_options ) ) { |
|
| 2880 | + return $sd_tmpl_part_options; |
|
| 2881 | + } |
|
| 2882 | 2882 | |
| 2883 | - $options = array( '' => __( 'Select Template Part...', 'super-duper' ) ); |
|
| 2883 | + $options = array( '' => __( 'Select Template Part...', 'super-duper' ) ); |
|
| 2884 | 2884 | |
| 2885 | - $parts = get_block_templates( array(), 'wp_template_part' ); |
|
| 2885 | + $parts = get_block_templates( array(), 'wp_template_part' ); |
|
| 2886 | 2886 | |
| 2887 | - if ( ! empty( $parts ) ) { |
|
| 2888 | - foreach ( $parts as $part ) { |
|
| 2889 | - $options[ $part->slug ] = $part->title . ' (#' . $part->slug . ')'; |
|
| 2890 | - } |
|
| 2891 | - } |
|
| 2887 | + if ( ! empty( $parts ) ) { |
|
| 2888 | + foreach ( $parts as $part ) { |
|
| 2889 | + $options[ $part->slug ] = $part->title . ' (#' . $part->slug . ')'; |
|
| 2890 | + } |
|
| 2891 | + } |
|
| 2892 | 2892 | |
| 2893 | - $sd_tmpl_part_options = $options; |
|
| 2893 | + $sd_tmpl_part_options = $options; |
|
| 2894 | 2894 | |
| 2895 | - return apply_filters( 'sd_template_part_options', $options, $args ); |
|
| 2895 | + return apply_filters( 'sd_template_part_options', $options, $args ); |
|
| 2896 | 2896 | } |
| 2897 | 2897 | |
| 2898 | 2898 | /** |
@@ -2904,25 +2904,25 @@ discard block |
||
| 2904 | 2904 | * @return array Template part object. |
| 2905 | 2905 | */ |
| 2906 | 2906 | function sd_get_template_part_by_slug( $slug ) { |
| 2907 | - global $bs_tmpl_part_by_slug; |
|
| 2907 | + global $bs_tmpl_part_by_slug; |
|
| 2908 | 2908 | |
| 2909 | - if ( empty( $bs_tmpl_part_by_slug ) ) { |
|
| 2910 | - $bs_tmpl_part_by_slug = array(); |
|
| 2911 | - } |
|
| 2909 | + if ( empty( $bs_tmpl_part_by_slug ) ) { |
|
| 2910 | + $bs_tmpl_part_by_slug = array(); |
|
| 2911 | + } |
|
| 2912 | 2912 | |
| 2913 | - if ( isset( $bs_tmpl_part_by_slug[ $slug ] ) ) { |
|
| 2914 | - return $bs_tmpl_part_by_slug[ $slug ]; |
|
| 2915 | - } |
|
| 2913 | + if ( isset( $bs_tmpl_part_by_slug[ $slug ] ) ) { |
|
| 2914 | + return $bs_tmpl_part_by_slug[ $slug ]; |
|
| 2915 | + } |
|
| 2916 | 2916 | |
| 2917 | - $template_query = get_block_templates( array( 'slug__in' => array( $slug ) ), 'wp_template_part' ); |
|
| 2917 | + $template_query = get_block_templates( array( 'slug__in' => array( $slug ) ), 'wp_template_part' ); |
|
| 2918 | 2918 | |
| 2919 | - $query_post = ! empty( $template_query ) ? $template_query[0] : array(); |
|
| 2919 | + $query_post = ! empty( $template_query ) ? $template_query[0] : array(); |
|
| 2920 | 2920 | |
| 2921 | - $template_part = ! empty( $query_post ) && $query_post->status == 'publish' ? $query_post : array(); |
|
| 2921 | + $template_part = ! empty( $query_post ) && $query_post->status == 'publish' ? $query_post : array(); |
|
| 2922 | 2922 | |
| 2923 | - $bs_tmpl_part_by_slug[ $slug ] = $template_part; |
|
| 2923 | + $bs_tmpl_part_by_slug[ $slug ] = $template_part; |
|
| 2924 | 2924 | |
| 2925 | - return apply_filters( 'sd_get_template_part_by_slug', $template_part, $slug ); |
|
| 2925 | + return apply_filters( 'sd_get_template_part_by_slug', $template_part, $slug ); |
|
| 2926 | 2926 | } |
| 2927 | 2927 | |
| 2928 | 2928 | /** |
@@ -2935,364 +2935,364 @@ discard block |
||
| 2935 | 2935 | * @param WP_Block $instance The block instance. |
| 2936 | 2936 | */ |
| 2937 | 2937 | function sd_render_block( $block_content, $block, $instance = '' ) { |
| 2938 | - // No block visibility conditions set. |
|
| 2939 | - if ( empty( $block['attrs']['visibility_conditions'] ) ) { |
|
| 2940 | - return $block_content; |
|
| 2941 | - } |
|
| 2942 | - |
|
| 2943 | - $attributes = json_decode( $block['attrs']['visibility_conditions'], true ); |
|
| 2944 | - $rules = ! empty( $attributes ) ? sd_block_parse_rules( $attributes ) : array(); |
|
| 2945 | - |
|
| 2946 | - // No rules set. |
|
| 2947 | - if ( empty( $rules ) ) { |
|
| 2948 | - return $block_content; |
|
| 2949 | - } |
|
| 2950 | - |
|
| 2951 | - $_block_content = $block_content; |
|
| 2952 | - |
|
| 2953 | - if ( ! empty( $rules ) && sd_block_check_rules( $rules ) ) { |
|
| 2954 | - if ( ! empty( $attributes['output']['type'] ) ) { |
|
| 2955 | - switch ( $attributes['output']['type'] ) { |
|
| 2956 | - case 'hide': |
|
| 2957 | - $valid_type = true; |
|
| 2958 | - $content = ''; |
|
| 2959 | - |
|
| 2960 | - break; |
|
| 2961 | - case 'message': |
|
| 2962 | - $valid_type = true; |
|
| 2963 | - |
|
| 2964 | - if ( isset( $attributes['output']['message'] ) ) { |
|
| 2965 | - $content = $attributes['output']['message'] != '' ? __( stripslashes( $attributes['output']['message'] ), 'super-duper' ) : $attributes['output']['message']; |
|
| 2966 | - |
|
| 2967 | - if ( ! empty( $attributes['output']['message_type'] ) ) { |
|
| 2968 | - $content = aui()->alert( array( |
|
| 2969 | - 'type'=> $attributes['output']['message_type'], |
|
| 2970 | - 'content'=> $content |
|
| 2971 | - ) |
|
| 2972 | - ); |
|
| 2973 | - } |
|
| 2974 | - } |
|
| 2975 | - |
|
| 2976 | - break; |
|
| 2977 | - case 'page': |
|
| 2978 | - $valid_type = true; |
|
| 2979 | - |
|
| 2980 | - $page_id = ! empty( $attributes['output']['page'] ) ? absint( $attributes['output']['page'] ) : 0; |
|
| 2981 | - $content = sd_get_page_content( $page_id ); |
|
| 2982 | - |
|
| 2983 | - break; |
|
| 2984 | - case 'template_part': |
|
| 2985 | - $valid_type = true; |
|
| 2986 | - |
|
| 2987 | - $template_part = ! empty( $attributes['output']['template_part'] ) ? $attributes['output']['template_part'] : ''; |
|
| 2988 | - $content = sd_get_template_part_content( $template_part ); |
|
| 2989 | - |
|
| 2990 | - break; |
|
| 2991 | - default: |
|
| 2992 | - $valid_type = false; |
|
| 2993 | - break; |
|
| 2994 | - } |
|
| 2995 | - |
|
| 2996 | - if ( $valid_type ) { |
|
| 2997 | - $block_content = '<div class="' . esc_attr( wp_get_block_default_classname( $instance->name ) ) . ' sd-block-has-rule">' . $content . '</div>'; |
|
| 2998 | - } |
|
| 2999 | - } |
|
| 3000 | - } |
|
| 3001 | - |
|
| 3002 | - return apply_filters( 'sd_render_block_visibility_content', $block_content, $_block_content, $attributes, $block, $instance ); |
|
| 2938 | + // No block visibility conditions set. |
|
| 2939 | + if ( empty( $block['attrs']['visibility_conditions'] ) ) { |
|
| 2940 | + return $block_content; |
|
| 2941 | + } |
|
| 2942 | + |
|
| 2943 | + $attributes = json_decode( $block['attrs']['visibility_conditions'], true ); |
|
| 2944 | + $rules = ! empty( $attributes ) ? sd_block_parse_rules( $attributes ) : array(); |
|
| 2945 | + |
|
| 2946 | + // No rules set. |
|
| 2947 | + if ( empty( $rules ) ) { |
|
| 2948 | + return $block_content; |
|
| 2949 | + } |
|
| 2950 | + |
|
| 2951 | + $_block_content = $block_content; |
|
| 2952 | + |
|
| 2953 | + if ( ! empty( $rules ) && sd_block_check_rules( $rules ) ) { |
|
| 2954 | + if ( ! empty( $attributes['output']['type'] ) ) { |
|
| 2955 | + switch ( $attributes['output']['type'] ) { |
|
| 2956 | + case 'hide': |
|
| 2957 | + $valid_type = true; |
|
| 2958 | + $content = ''; |
|
| 2959 | + |
|
| 2960 | + break; |
|
| 2961 | + case 'message': |
|
| 2962 | + $valid_type = true; |
|
| 2963 | + |
|
| 2964 | + if ( isset( $attributes['output']['message'] ) ) { |
|
| 2965 | + $content = $attributes['output']['message'] != '' ? __( stripslashes( $attributes['output']['message'] ), 'super-duper' ) : $attributes['output']['message']; |
|
| 2966 | + |
|
| 2967 | + if ( ! empty( $attributes['output']['message_type'] ) ) { |
|
| 2968 | + $content = aui()->alert( array( |
|
| 2969 | + 'type'=> $attributes['output']['message_type'], |
|
| 2970 | + 'content'=> $content |
|
| 2971 | + ) |
|
| 2972 | + ); |
|
| 2973 | + } |
|
| 2974 | + } |
|
| 2975 | + |
|
| 2976 | + break; |
|
| 2977 | + case 'page': |
|
| 2978 | + $valid_type = true; |
|
| 2979 | + |
|
| 2980 | + $page_id = ! empty( $attributes['output']['page'] ) ? absint( $attributes['output']['page'] ) : 0; |
|
| 2981 | + $content = sd_get_page_content( $page_id ); |
|
| 2982 | + |
|
| 2983 | + break; |
|
| 2984 | + case 'template_part': |
|
| 2985 | + $valid_type = true; |
|
| 2986 | + |
|
| 2987 | + $template_part = ! empty( $attributes['output']['template_part'] ) ? $attributes['output']['template_part'] : ''; |
|
| 2988 | + $content = sd_get_template_part_content( $template_part ); |
|
| 2989 | + |
|
| 2990 | + break; |
|
| 2991 | + default: |
|
| 2992 | + $valid_type = false; |
|
| 2993 | + break; |
|
| 2994 | + } |
|
| 2995 | + |
|
| 2996 | + if ( $valid_type ) { |
|
| 2997 | + $block_content = '<div class="' . esc_attr( wp_get_block_default_classname( $instance->name ) ) . ' sd-block-has-rule">' . $content . '</div>'; |
|
| 2998 | + } |
|
| 2999 | + } |
|
| 3000 | + } |
|
| 3001 | + |
|
| 3002 | + return apply_filters( 'sd_render_block_visibility_content', $block_content, $_block_content, $attributes, $block, $instance ); |
|
| 3003 | 3003 | } |
| 3004 | 3004 | add_filter( 'render_block', 'sd_render_block', 9, 3 ); |
| 3005 | 3005 | |
| 3006 | 3006 | function sd_get_page_content( $page_id ) { |
| 3007 | - $content = $page_id > 0 ? get_post_field( 'post_content', (int) $page_id ) : ''; |
|
| 3007 | + $content = $page_id > 0 ? get_post_field( 'post_content', (int) $page_id ) : ''; |
|
| 3008 | 3008 | |
| 3009 | - // Maybe bypass content |
|
| 3010 | - $bypass_content = apply_filters( 'sd_bypass_page_content', '', $content, $page_id ); |
|
| 3011 | - if ( $bypass_content ) { |
|
| 3012 | - return $bypass_content; |
|
| 3013 | - } |
|
| 3009 | + // Maybe bypass content |
|
| 3010 | + $bypass_content = apply_filters( 'sd_bypass_page_content', '', $content, $page_id ); |
|
| 3011 | + if ( $bypass_content ) { |
|
| 3012 | + return $bypass_content; |
|
| 3013 | + } |
|
| 3014 | 3014 | |
| 3015 | - // Run the shortcodes on the content. |
|
| 3016 | - $content = do_shortcode( $content ); |
|
| 3015 | + // Run the shortcodes on the content. |
|
| 3016 | + $content = do_shortcode( $content ); |
|
| 3017 | 3017 | |
| 3018 | - // Run block content if its available. |
|
| 3019 | - if ( function_exists( 'do_blocks' ) ) { |
|
| 3020 | - $content = do_blocks( $content ); |
|
| 3021 | - } |
|
| 3018 | + // Run block content if its available. |
|
| 3019 | + if ( function_exists( 'do_blocks' ) ) { |
|
| 3020 | + $content = do_blocks( $content ); |
|
| 3021 | + } |
|
| 3022 | 3022 | |
| 3023 | - return apply_filters( 'sd_get_page_content', $content, $page_id ); |
|
| 3023 | + return apply_filters( 'sd_get_page_content', $content, $page_id ); |
|
| 3024 | 3024 | } |
| 3025 | 3025 | |
| 3026 | 3026 | function sd_get_template_part_content( $template_part ) { |
| 3027 | - $template_part_post = $template_part ? sd_get_template_part_by_slug( $template_part ) : array(); |
|
| 3028 | - $content = ! empty( $template_part_post ) ? $template_part_post->content : ''; |
|
| 3027 | + $template_part_post = $template_part ? sd_get_template_part_by_slug( $template_part ) : array(); |
|
| 3028 | + $content = ! empty( $template_part_post ) ? $template_part_post->content : ''; |
|
| 3029 | 3029 | |
| 3030 | - // Maybe bypass content |
|
| 3031 | - $bypass_content = apply_filters( 'sd_bypass_template_part_content', '', $content, $template_part ); |
|
| 3032 | - if ( $bypass_content ) { |
|
| 3033 | - return $bypass_content; |
|
| 3034 | - } |
|
| 3030 | + // Maybe bypass content |
|
| 3031 | + $bypass_content = apply_filters( 'sd_bypass_template_part_content', '', $content, $template_part ); |
|
| 3032 | + if ( $bypass_content ) { |
|
| 3033 | + return $bypass_content; |
|
| 3034 | + } |
|
| 3035 | 3035 | |
| 3036 | - // Run the shortcodes on the content. |
|
| 3037 | - $content = do_shortcode( $content ); |
|
| 3036 | + // Run the shortcodes on the content. |
|
| 3037 | + $content = do_shortcode( $content ); |
|
| 3038 | 3038 | |
| 3039 | - // Run block content if its available. |
|
| 3040 | - if ( function_exists( 'do_blocks' ) ) { |
|
| 3041 | - $content = do_blocks( $content ); |
|
| 3042 | - } |
|
| 3039 | + // Run block content if its available. |
|
| 3040 | + if ( function_exists( 'do_blocks' ) ) { |
|
| 3041 | + $content = do_blocks( $content ); |
|
| 3042 | + } |
|
| 3043 | 3043 | |
| 3044 | - return apply_filters( 'sd_get_template_part_content', $content, $template_part ); |
|
| 3044 | + return apply_filters( 'sd_get_template_part_content', $content, $template_part ); |
|
| 3045 | 3045 | } |
| 3046 | 3046 | |
| 3047 | 3047 | function sd_block_parse_rules( $attrs ) { |
| 3048 | - $rules = array(); |
|
| 3048 | + $rules = array(); |
|
| 3049 | 3049 | |
| 3050 | - if ( ! empty( $attrs ) && is_array( $attrs ) ) { |
|
| 3051 | - $attrs_keys = array_keys( $attrs ); |
|
| 3050 | + if ( ! empty( $attrs ) && is_array( $attrs ) ) { |
|
| 3051 | + $attrs_keys = array_keys( $attrs ); |
|
| 3052 | 3052 | |
| 3053 | - for ( $i = 1; $i <= count( $attrs_keys ); $i++ ) { |
|
| 3054 | - if ( ! empty( $attrs[ 'rule' . $i ] ) && is_array( $attrs[ 'rule' . $i ] ) ) { |
|
| 3055 | - $rules[] = $attrs[ 'rule' . $i ]; |
|
| 3056 | - } |
|
| 3057 | - } |
|
| 3058 | - } |
|
| 3053 | + for ( $i = 1; $i <= count( $attrs_keys ); $i++ ) { |
|
| 3054 | + if ( ! empty( $attrs[ 'rule' . $i ] ) && is_array( $attrs[ 'rule' . $i ] ) ) { |
|
| 3055 | + $rules[] = $attrs[ 'rule' . $i ]; |
|
| 3056 | + } |
|
| 3057 | + } |
|
| 3058 | + } |
|
| 3059 | 3059 | |
| 3060 | - return apply_filters( 'sd_block_parse_rules', $rules, $attrs ); |
|
| 3060 | + return apply_filters( 'sd_block_parse_rules', $rules, $attrs ); |
|
| 3061 | 3061 | } |
| 3062 | 3062 | |
| 3063 | 3063 | function sd_block_check_rules( $rules ) { |
| 3064 | - if ( ! ( is_array( $rules ) && ! empty( $rules ) ) ) { |
|
| 3065 | - return true; |
|
| 3066 | - } |
|
| 3064 | + if ( ! ( is_array( $rules ) && ! empty( $rules ) ) ) { |
|
| 3065 | + return true; |
|
| 3066 | + } |
|
| 3067 | 3067 | |
| 3068 | - foreach ( $rules as $key => $rule ) { |
|
| 3069 | - $match = apply_filters( 'sd_block_check_rule', true, $rule ); |
|
| 3068 | + foreach ( $rules as $key => $rule ) { |
|
| 3069 | + $match = apply_filters( 'sd_block_check_rule', true, $rule ); |
|
| 3070 | 3070 | |
| 3071 | - if ( ! $match ) { |
|
| 3072 | - break; |
|
| 3073 | - } |
|
| 3074 | - } |
|
| 3071 | + if ( ! $match ) { |
|
| 3072 | + break; |
|
| 3073 | + } |
|
| 3074 | + } |
|
| 3075 | 3075 | |
| 3076 | - return apply_filters( 'sd_block_check_rules', $match, $rules ); |
|
| 3076 | + return apply_filters( 'sd_block_check_rules', $match, $rules ); |
|
| 3077 | 3077 | } |
| 3078 | 3078 | |
| 3079 | 3079 | function sd_block_check_rule( $match, $rule ) { |
| 3080 | - if ( $match && ! empty( $rule['type'] ) ) { |
|
| 3081 | - switch ( $rule['type'] ) { |
|
| 3082 | - case 'logged_in': |
|
| 3083 | - $match = (bool) is_user_logged_in(); |
|
| 3080 | + if ( $match && ! empty( $rule['type'] ) ) { |
|
| 3081 | + switch ( $rule['type'] ) { |
|
| 3082 | + case 'logged_in': |
|
| 3083 | + $match = (bool) is_user_logged_in(); |
|
| 3084 | 3084 | |
| 3085 | - break; |
|
| 3086 | - case 'logged_out': |
|
| 3087 | - $match = ! is_user_logged_in(); |
|
| 3085 | + break; |
|
| 3086 | + case 'logged_out': |
|
| 3087 | + $match = ! is_user_logged_in(); |
|
| 3088 | 3088 | |
| 3089 | - break; |
|
| 3090 | - case 'user_roles': |
|
| 3091 | - $match = false; |
|
| 3089 | + break; |
|
| 3090 | + case 'user_roles': |
|
| 3091 | + $match = false; |
|
| 3092 | 3092 | |
| 3093 | - if ( ! empty( $rule['user_roles'] ) ) { |
|
| 3094 | - $user_roles = is_scalar( $rule['user_roles'] ) ? explode( ",", $rule['user_roles'] ) : $rule['user_roles']; |
|
| 3093 | + if ( ! empty( $rule['user_roles'] ) ) { |
|
| 3094 | + $user_roles = is_scalar( $rule['user_roles'] ) ? explode( ",", $rule['user_roles'] ) : $rule['user_roles']; |
|
| 3095 | 3095 | |
| 3096 | - if ( is_array( $user_roles ) ) { |
|
| 3097 | - $user_roles = array_filter( array_map( 'trim', $user_roles ) ); |
|
| 3098 | - } |
|
| 3096 | + if ( is_array( $user_roles ) ) { |
|
| 3097 | + $user_roles = array_filter( array_map( 'trim', $user_roles ) ); |
|
| 3098 | + } |
|
| 3099 | 3099 | |
| 3100 | - if ( ! empty( $user_roles ) && is_array( $user_roles ) && is_user_logged_in() && ( $current_user = wp_get_current_user() ) ) { |
|
| 3101 | - $current_user_roles = $current_user->roles; |
|
| 3100 | + if ( ! empty( $user_roles ) && is_array( $user_roles ) && is_user_logged_in() && ( $current_user = wp_get_current_user() ) ) { |
|
| 3101 | + $current_user_roles = $current_user->roles; |
|
| 3102 | 3102 | |
| 3103 | - foreach ( $user_roles as $role ) { |
|
| 3104 | - if ( in_array( $role, $current_user_roles ) ) { |
|
| 3105 | - $match = true; |
|
| 3106 | - } |
|
| 3107 | - } |
|
| 3108 | - } |
|
| 3109 | - } |
|
| 3103 | + foreach ( $user_roles as $role ) { |
|
| 3104 | + if ( in_array( $role, $current_user_roles ) ) { |
|
| 3105 | + $match = true; |
|
| 3106 | + } |
|
| 3107 | + } |
|
| 3108 | + } |
|
| 3109 | + } |
|
| 3110 | 3110 | |
| 3111 | - break; |
|
| 3112 | - case 'gd_field': |
|
| 3113 | - $match = sd_block_check_rule_gd_field( $rule ); |
|
| 3111 | + break; |
|
| 3112 | + case 'gd_field': |
|
| 3113 | + $match = sd_block_check_rule_gd_field( $rule ); |
|
| 3114 | 3114 | |
| 3115 | - break; |
|
| 3116 | - } |
|
| 3117 | - } |
|
| 3115 | + break; |
|
| 3116 | + } |
|
| 3117 | + } |
|
| 3118 | 3118 | |
| 3119 | - return $match; |
|
| 3119 | + return $match; |
|
| 3120 | 3120 | } |
| 3121 | 3121 | add_filter( 'sd_block_check_rule', 'sd_block_check_rule', 10, 2 ); |
| 3122 | 3122 | |
| 3123 | 3123 | function sd_block_check_rule_gd_field( $rule ) { |
| 3124 | - global $gd_post; |
|
| 3125 | - |
|
| 3126 | - $match_found = false; |
|
| 3127 | - |
|
| 3128 | - if ( class_exists( 'GeoDirectory' ) && ! empty( $gd_post->ID ) && ! empty( $rule['field'] ) && ! empty( $rule['condition'] ) ) { |
|
| 3129 | - $args['block_visibility'] = true; |
|
| 3130 | - $args['key'] = $rule['field']; |
|
| 3131 | - $args['condition'] = $rule['condition']; |
|
| 3132 | - $args['search'] = isset( $rule['search'] ) ? $rule['search'] : ''; |
|
| 3133 | - |
|
| 3134 | - if ( $args['key'] == 'street' ) { |
|
| 3135 | - $args['key'] = 'address'; |
|
| 3136 | - } |
|
| 3137 | - |
|
| 3138 | - $match_field = $_match_field = $args['key']; |
|
| 3139 | - |
|
| 3140 | - if ( $match_field == 'address' ) { |
|
| 3141 | - $match_field = 'street'; |
|
| 3142 | - } elseif ( $match_field == 'post_images' ) { |
|
| 3143 | - $match_field = 'featured_image'; |
|
| 3144 | - } |
|
| 3145 | - |
|
| 3146 | - $find_post = $gd_post; |
|
| 3147 | - $find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array(); |
|
| 3148 | - |
|
| 3149 | - if ( ! empty( $find_post->ID ) && ! in_array( 'post_category', $find_post_keys ) ) { |
|
| 3150 | - $find_post = geodir_get_post_info( (int) $find_post->ID ); |
|
| 3151 | - $find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array(); |
|
| 3152 | - } |
|
| 3153 | - |
|
| 3154 | - if ( $match_field === '' || ( ! empty( $find_post_keys ) && ( in_array( $match_field, $find_post_keys ) || in_array( $_match_field, $find_post_keys ) ) ) ) { |
|
| 3155 | - $address_fields = array( 'street2', 'neighbourhood', 'city', 'region', 'country', 'zip', 'latitude', 'longitude' ); // Address fields |
|
| 3156 | - $field = array(); |
|
| 3157 | - |
|
| 3158 | - if ( $match_field && ! in_array( $match_field, array( 'post_date', 'post_modified', 'default_category', 'post_id', 'post_status' ) ) && ! in_array( $match_field, $address_fields ) ) { |
|
| 3159 | - $package_id = geodir_get_post_package_id( $find_post->ID, $find_post->post_type ); |
|
| 3160 | - $fields = geodir_post_custom_fields( $package_id, 'all', $find_post->post_type, 'none' ); |
|
| 3161 | - |
|
| 3162 | - foreach ( $fields as $field_info ) { |
|
| 3163 | - if ( $match_field == $field_info['htmlvar_name'] ) { |
|
| 3164 | - $field = $field_info; |
|
| 3165 | - break; |
|
| 3166 | - } elseif( $_match_field == $field_info['htmlvar_name'] ) { |
|
| 3167 | - $field = $field_info; |
|
| 3168 | - break; |
|
| 3169 | - } |
|
| 3170 | - } |
|
| 3171 | - |
|
| 3172 | - if ( empty( $field ) ) { |
|
| 3173 | - return false; |
|
| 3174 | - } |
|
| 3175 | - } |
|
| 3176 | - |
|
| 3177 | - // Parse search. |
|
| 3178 | - $search = sd_gd_field_rule_search( $args['search'], $find_post->post_type, $rule ); |
|
| 3179 | - |
|
| 3180 | - // Address fields. |
|
| 3181 | - if ( in_array( $match_field, $address_fields ) && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) { |
|
| 3182 | - if ( ! empty( $address_fields[ $match_field ] ) ) { |
|
| 3183 | - $field = $address_fields[ $match_field ]; |
|
| 3184 | - } |
|
| 3185 | - } |
|
| 3186 | - |
|
| 3187 | - $is_date = ( ! empty( $field['type'] ) && $field['type'] == 'datepicker' ) || in_array( $match_field, array( 'post_date', 'post_modified' ) ) ? true : false; |
|
| 3188 | - $is_date = apply_filters( 'geodir_post_badge_is_date', $is_date, $match_field, $field, $args, $find_post ); |
|
| 3189 | - |
|
| 3190 | - $match_value = isset($find_post->{$match_field}) ? esc_attr( trim( $find_post->{$match_field} ) ) : ''; |
|
| 3191 | - $match_found = $match_field === '' ? true : false; |
|
| 3192 | - |
|
| 3193 | - if ( ! $match_found ) { |
|
| 3194 | - if ( ( $match_field == 'post_date' || $match_field == 'post_modified' ) && ( empty( $args['condition'] ) || $args['condition'] == 'is_greater_than' || $args['condition'] == 'is_less_than' ) ) { |
|
| 3195 | - if ( strpos( $search, '+' ) === false && strpos( $search, '-' ) === false ) { |
|
| 3196 | - $search = '+' . $search; |
|
| 3197 | - } |
|
| 3198 | - $the_time = $match_field == 'post_modified' ? get_the_modified_date( 'Y-m-d', $find_post ) : get_the_time( 'Y-m-d', $find_post ); |
|
| 3199 | - $until_time = strtotime( $the_time . ' ' . $search . ' days' ); |
|
| 3200 | - $now_time = strtotime( date_i18n( 'Y-m-d', current_time( 'timestamp' ) ) ); |
|
| 3201 | - if ( ( empty( $args['condition'] ) || $args['condition'] == 'is_less_than' ) && $until_time > $now_time ) { |
|
| 3202 | - $match_found = true; |
|
| 3203 | - } elseif ( $args['condition'] == 'is_greater_than' && $until_time < $now_time ) { |
|
| 3204 | - $match_found = true; |
|
| 3205 | - } |
|
| 3206 | - } else { |
|
| 3207 | - switch ( $args['condition'] ) { |
|
| 3208 | - case 'is_equal': |
|
| 3209 | - $match_found = (bool) ( $search != '' && $match_value == $search ); |
|
| 3210 | - break; |
|
| 3211 | - case 'is_not_equal': |
|
| 3212 | - $match_found = (bool) ( $search != '' && $match_value != $search ); |
|
| 3213 | - break; |
|
| 3214 | - case 'is_greater_than': |
|
| 3215 | - $match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value > $search ); |
|
| 3216 | - break; |
|
| 3217 | - case 'is_less_than': |
|
| 3218 | - $match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value < $search ); |
|
| 3219 | - break; |
|
| 3220 | - case 'is_empty': |
|
| 3221 | - $match_found = (bool) ( $match_value === '' || $match_value === false || $match_value === '0' || is_null( $match_value ) ); |
|
| 3222 | - break; |
|
| 3223 | - case 'is_not_empty': |
|
| 3224 | - $match_found = (bool) ( $match_value !== '' && $match_value !== false && $match_value !== '0' && ! is_null( $match_value ) ); |
|
| 3225 | - break; |
|
| 3226 | - case 'is_contains': |
|
| 3227 | - $match_found = (bool) ( $search != '' && stripos( $match_value, $search ) !== false ); |
|
| 3228 | - break; |
|
| 3229 | - case 'is_not_contains': |
|
| 3230 | - $match_found = (bool) ( $search != '' && stripos( $match_value, $search ) === false ); |
|
| 3231 | - break; |
|
| 3232 | - } |
|
| 3233 | - } |
|
| 3234 | - } |
|
| 3235 | - |
|
| 3236 | - $match_found = apply_filters( 'geodir_post_badge_check_match_found', $match_found, $args, $find_post ); |
|
| 3237 | - } |
|
| 3238 | - } |
|
| 3239 | - |
|
| 3240 | - return $match_found; |
|
| 3124 | + global $gd_post; |
|
| 3125 | + |
|
| 3126 | + $match_found = false; |
|
| 3127 | + |
|
| 3128 | + if ( class_exists( 'GeoDirectory' ) && ! empty( $gd_post->ID ) && ! empty( $rule['field'] ) && ! empty( $rule['condition'] ) ) { |
|
| 3129 | + $args['block_visibility'] = true; |
|
| 3130 | + $args['key'] = $rule['field']; |
|
| 3131 | + $args['condition'] = $rule['condition']; |
|
| 3132 | + $args['search'] = isset( $rule['search'] ) ? $rule['search'] : ''; |
|
| 3133 | + |
|
| 3134 | + if ( $args['key'] == 'street' ) { |
|
| 3135 | + $args['key'] = 'address'; |
|
| 3136 | + } |
|
| 3137 | + |
|
| 3138 | + $match_field = $_match_field = $args['key']; |
|
| 3139 | + |
|
| 3140 | + if ( $match_field == 'address' ) { |
|
| 3141 | + $match_field = 'street'; |
|
| 3142 | + } elseif ( $match_field == 'post_images' ) { |
|
| 3143 | + $match_field = 'featured_image'; |
|
| 3144 | + } |
|
| 3145 | + |
|
| 3146 | + $find_post = $gd_post; |
|
| 3147 | + $find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array(); |
|
| 3148 | + |
|
| 3149 | + if ( ! empty( $find_post->ID ) && ! in_array( 'post_category', $find_post_keys ) ) { |
|
| 3150 | + $find_post = geodir_get_post_info( (int) $find_post->ID ); |
|
| 3151 | + $find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array(); |
|
| 3152 | + } |
|
| 3153 | + |
|
| 3154 | + if ( $match_field === '' || ( ! empty( $find_post_keys ) && ( in_array( $match_field, $find_post_keys ) || in_array( $_match_field, $find_post_keys ) ) ) ) { |
|
| 3155 | + $address_fields = array( 'street2', 'neighbourhood', 'city', 'region', 'country', 'zip', 'latitude', 'longitude' ); // Address fields |
|
| 3156 | + $field = array(); |
|
| 3157 | + |
|
| 3158 | + if ( $match_field && ! in_array( $match_field, array( 'post_date', 'post_modified', 'default_category', 'post_id', 'post_status' ) ) && ! in_array( $match_field, $address_fields ) ) { |
|
| 3159 | + $package_id = geodir_get_post_package_id( $find_post->ID, $find_post->post_type ); |
|
| 3160 | + $fields = geodir_post_custom_fields( $package_id, 'all', $find_post->post_type, 'none' ); |
|
| 3161 | + |
|
| 3162 | + foreach ( $fields as $field_info ) { |
|
| 3163 | + if ( $match_field == $field_info['htmlvar_name'] ) { |
|
| 3164 | + $field = $field_info; |
|
| 3165 | + break; |
|
| 3166 | + } elseif( $_match_field == $field_info['htmlvar_name'] ) { |
|
| 3167 | + $field = $field_info; |
|
| 3168 | + break; |
|
| 3169 | + } |
|
| 3170 | + } |
|
| 3171 | + |
|
| 3172 | + if ( empty( $field ) ) { |
|
| 3173 | + return false; |
|
| 3174 | + } |
|
| 3175 | + } |
|
| 3176 | + |
|
| 3177 | + // Parse search. |
|
| 3178 | + $search = sd_gd_field_rule_search( $args['search'], $find_post->post_type, $rule ); |
|
| 3179 | + |
|
| 3180 | + // Address fields. |
|
| 3181 | + if ( in_array( $match_field, $address_fields ) && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) { |
|
| 3182 | + if ( ! empty( $address_fields[ $match_field ] ) ) { |
|
| 3183 | + $field = $address_fields[ $match_field ]; |
|
| 3184 | + } |
|
| 3185 | + } |
|
| 3186 | + |
|
| 3187 | + $is_date = ( ! empty( $field['type'] ) && $field['type'] == 'datepicker' ) || in_array( $match_field, array( 'post_date', 'post_modified' ) ) ? true : false; |
|
| 3188 | + $is_date = apply_filters( 'geodir_post_badge_is_date', $is_date, $match_field, $field, $args, $find_post ); |
|
| 3189 | + |
|
| 3190 | + $match_value = isset($find_post->{$match_field}) ? esc_attr( trim( $find_post->{$match_field} ) ) : ''; |
|
| 3191 | + $match_found = $match_field === '' ? true : false; |
|
| 3192 | + |
|
| 3193 | + if ( ! $match_found ) { |
|
| 3194 | + if ( ( $match_field == 'post_date' || $match_field == 'post_modified' ) && ( empty( $args['condition'] ) || $args['condition'] == 'is_greater_than' || $args['condition'] == 'is_less_than' ) ) { |
|
| 3195 | + if ( strpos( $search, '+' ) === false && strpos( $search, '-' ) === false ) { |
|
| 3196 | + $search = '+' . $search; |
|
| 3197 | + } |
|
| 3198 | + $the_time = $match_field == 'post_modified' ? get_the_modified_date( 'Y-m-d', $find_post ) : get_the_time( 'Y-m-d', $find_post ); |
|
| 3199 | + $until_time = strtotime( $the_time . ' ' . $search . ' days' ); |
|
| 3200 | + $now_time = strtotime( date_i18n( 'Y-m-d', current_time( 'timestamp' ) ) ); |
|
| 3201 | + if ( ( empty( $args['condition'] ) || $args['condition'] == 'is_less_than' ) && $until_time > $now_time ) { |
|
| 3202 | + $match_found = true; |
|
| 3203 | + } elseif ( $args['condition'] == 'is_greater_than' && $until_time < $now_time ) { |
|
| 3204 | + $match_found = true; |
|
| 3205 | + } |
|
| 3206 | + } else { |
|
| 3207 | + switch ( $args['condition'] ) { |
|
| 3208 | + case 'is_equal': |
|
| 3209 | + $match_found = (bool) ( $search != '' && $match_value == $search ); |
|
| 3210 | + break; |
|
| 3211 | + case 'is_not_equal': |
|
| 3212 | + $match_found = (bool) ( $search != '' && $match_value != $search ); |
|
| 3213 | + break; |
|
| 3214 | + case 'is_greater_than': |
|
| 3215 | + $match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value > $search ); |
|
| 3216 | + break; |
|
| 3217 | + case 'is_less_than': |
|
| 3218 | + $match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value < $search ); |
|
| 3219 | + break; |
|
| 3220 | + case 'is_empty': |
|
| 3221 | + $match_found = (bool) ( $match_value === '' || $match_value === false || $match_value === '0' || is_null( $match_value ) ); |
|
| 3222 | + break; |
|
| 3223 | + case 'is_not_empty': |
|
| 3224 | + $match_found = (bool) ( $match_value !== '' && $match_value !== false && $match_value !== '0' && ! is_null( $match_value ) ); |
|
| 3225 | + break; |
|
| 3226 | + case 'is_contains': |
|
| 3227 | + $match_found = (bool) ( $search != '' && stripos( $match_value, $search ) !== false ); |
|
| 3228 | + break; |
|
| 3229 | + case 'is_not_contains': |
|
| 3230 | + $match_found = (bool) ( $search != '' && stripos( $match_value, $search ) === false ); |
|
| 3231 | + break; |
|
| 3232 | + } |
|
| 3233 | + } |
|
| 3234 | + } |
|
| 3235 | + |
|
| 3236 | + $match_found = apply_filters( 'geodir_post_badge_check_match_found', $match_found, $args, $find_post ); |
|
| 3237 | + } |
|
| 3238 | + } |
|
| 3239 | + |
|
| 3240 | + return $match_found; |
|
| 3241 | 3241 | } |
| 3242 | 3242 | |
| 3243 | 3243 | function sd_gd_field_rule_search( $search, $post_type, $rule ) { |
| 3244 | - if ( ! $search ) { |
|
| 3245 | - return $search; |
|
| 3246 | - } |
|
| 3247 | - |
|
| 3248 | - $orig_search = $search; |
|
| 3249 | - $_search = strtolower( $search ); |
|
| 3250 | - |
|
| 3251 | - if ( $_search == 'date_today' ) { |
|
| 3252 | - $search = date( 'Y-m-d' ); |
|
| 3253 | - } else if ( $_search == 'date_tomorrow' ) { |
|
| 3254 | - $search = date( 'Y-m-d', strtotime( "+1 day" ) ); |
|
| 3255 | - } else if ( $_search == 'date_yesterday' ) { |
|
| 3256 | - $search = date( 'Y-m-d', strtotime( "-1 day" ) ); |
|
| 3257 | - } else if ( $_search == 'time_his' ) { |
|
| 3258 | - $search = date( 'H:i:s' ); |
|
| 3259 | - } else if ( $_search == 'time_hi' ) { |
|
| 3260 | - $search = date( 'H:i' ); |
|
| 3261 | - } else if ( $_search == 'datetime_now' ) { |
|
| 3262 | - $search = date( 'Y-m-d H:i:s' ); |
|
| 3263 | - } else if ( strpos( $_search, 'datetime_after_' ) === 0 ) { |
|
| 3264 | - $_searches = explode( 'datetime_after_', $_search, 2 ); |
|
| 3265 | - |
|
| 3266 | - if ( ! empty( $_searches[1] ) ) { |
|
| 3267 | - $search = date( 'Y-m-d H:i:s', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) ); |
|
| 3268 | - } else { |
|
| 3269 | - $search = date( 'Y-m-d H:i:s' ); |
|
| 3270 | - } |
|
| 3271 | - } else if ( strpos( $_search, 'datetime_before_' ) === 0 ) { |
|
| 3272 | - $_searches = explode( 'datetime_before_', $_search, 2 ); |
|
| 3273 | - |
|
| 3274 | - if ( ! empty( $_searches[1] ) ) { |
|
| 3275 | - $search = date( 'Y-m-d H:i:s', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) ); |
|
| 3276 | - } else { |
|
| 3277 | - $search = date( 'Y-m-d H:i:s' ); |
|
| 3278 | - } |
|
| 3279 | - } else if ( strpos( $_search, 'date_after_' ) === 0 ) { |
|
| 3280 | - $_searches = explode( 'date_after_', $_search, 2 ); |
|
| 3281 | - |
|
| 3282 | - if ( ! empty( $_searches[1] ) ) { |
|
| 3283 | - $search = date( 'Y-m-d', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) ); |
|
| 3284 | - } else { |
|
| 3285 | - $search = date( 'Y-m-d' ); |
|
| 3286 | - } |
|
| 3287 | - } else if ( strpos( $_search, 'date_before_' ) === 0 ) { |
|
| 3288 | - $_searches = explode( 'date_before_', $_search, 2 ); |
|
| 3289 | - |
|
| 3290 | - if ( ! empty( $_searches[1] ) ) { |
|
| 3291 | - $search = date( 'Y-m-d', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) ); |
|
| 3292 | - } else { |
|
| 3293 | - $search = date( 'Y-m-d' ); |
|
| 3294 | - } |
|
| 3295 | - } |
|
| 3296 | - |
|
| 3297 | - return apply_filters( 'sd_gd_field_rule_search', $search, $post_type, $rule, $orig_search ); |
|
| 3244 | + if ( ! $search ) { |
|
| 3245 | + return $search; |
|
| 3246 | + } |
|
| 3247 | + |
|
| 3248 | + $orig_search = $search; |
|
| 3249 | + $_search = strtolower( $search ); |
|
| 3250 | + |
|
| 3251 | + if ( $_search == 'date_today' ) { |
|
| 3252 | + $search = date( 'Y-m-d' ); |
|
| 3253 | + } else if ( $_search == 'date_tomorrow' ) { |
|
| 3254 | + $search = date( 'Y-m-d', strtotime( "+1 day" ) ); |
|
| 3255 | + } else if ( $_search == 'date_yesterday' ) { |
|
| 3256 | + $search = date( 'Y-m-d', strtotime( "-1 day" ) ); |
|
| 3257 | + } else if ( $_search == 'time_his' ) { |
|
| 3258 | + $search = date( 'H:i:s' ); |
|
| 3259 | + } else if ( $_search == 'time_hi' ) { |
|
| 3260 | + $search = date( 'H:i' ); |
|
| 3261 | + } else if ( $_search == 'datetime_now' ) { |
|
| 3262 | + $search = date( 'Y-m-d H:i:s' ); |
|
| 3263 | + } else if ( strpos( $_search, 'datetime_after_' ) === 0 ) { |
|
| 3264 | + $_searches = explode( 'datetime_after_', $_search, 2 ); |
|
| 3265 | + |
|
| 3266 | + if ( ! empty( $_searches[1] ) ) { |
|
| 3267 | + $search = date( 'Y-m-d H:i:s', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) ); |
|
| 3268 | + } else { |
|
| 3269 | + $search = date( 'Y-m-d H:i:s' ); |
|
| 3270 | + } |
|
| 3271 | + } else if ( strpos( $_search, 'datetime_before_' ) === 0 ) { |
|
| 3272 | + $_searches = explode( 'datetime_before_', $_search, 2 ); |
|
| 3273 | + |
|
| 3274 | + if ( ! empty( $_searches[1] ) ) { |
|
| 3275 | + $search = date( 'Y-m-d H:i:s', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) ); |
|
| 3276 | + } else { |
|
| 3277 | + $search = date( 'Y-m-d H:i:s' ); |
|
| 3278 | + } |
|
| 3279 | + } else if ( strpos( $_search, 'date_after_' ) === 0 ) { |
|
| 3280 | + $_searches = explode( 'date_after_', $_search, 2 ); |
|
| 3281 | + |
|
| 3282 | + if ( ! empty( $_searches[1] ) ) { |
|
| 3283 | + $search = date( 'Y-m-d', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) ); |
|
| 3284 | + } else { |
|
| 3285 | + $search = date( 'Y-m-d' ); |
|
| 3286 | + } |
|
| 3287 | + } else if ( strpos( $_search, 'date_before_' ) === 0 ) { |
|
| 3288 | + $_searches = explode( 'date_before_', $_search, 2 ); |
|
| 3289 | + |
|
| 3290 | + if ( ! empty( $_searches[1] ) ) { |
|
| 3291 | + $search = date( 'Y-m-d', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) ); |
|
| 3292 | + } else { |
|
| 3293 | + $search = date( 'Y-m-d' ); |
|
| 3294 | + } |
|
| 3295 | + } |
|
| 3296 | + |
|
| 3297 | + return apply_filters( 'sd_gd_field_rule_search', $search, $post_type, $rule, $orig_search ); |
|
| 3298 | 3298 | } |
| 3299 | 3299 | \ No newline at end of file |
@@ -13,7 +13,7 @@ discard block |
||
| 13 | 13 | * Bail if we are not in WP. |
| 14 | 14 | */ |
| 15 | 15 | if ( ! defined( 'ABSPATH' ) ) { |
| 16 | - exit; |
|
| 16 | + exit; |
|
| 17 | 17 | } |
| 18 | 18 | |
| 19 | 19 | /** |
@@ -21,416 +21,416 @@ discard block |
||
| 21 | 21 | */ |
| 22 | 22 | if ( ! class_exists( 'WP_Font_Awesome_Settings' ) ) { |
| 23 | 23 | |
| 24 | - /** |
|
| 25 | - * A Class to be able to change settings for Font Awesome. |
|
| 26 | - * |
|
| 27 | - * Class WP_Font_Awesome_Settings |
|
| 28 | - * @since 1.0.10 Now able to pass wp.org theme check. |
|
| 29 | - * @since 1.0.11 Font Awesome Pro now supported. |
|
| 30 | - * @since 1.0.11 Font Awesome Kits now supported. |
|
| 31 | - * @since 1.0.13 RTL language support added. |
|
| 32 | - * @since 1.0.14 Warning added for v6 pro requires kit and will now not work if official FA plugin installed. |
|
| 33 | - * @since 1.0.15 Font Awesome will now load in the FSE if enable din the backend. |
|
| 34 | - * @since 1.1.0 Option added to load FontAwesome locally. |
|
| 35 | - * @since 1.1.1 Requires to re-save settings to load locally when option does not exists - FIXED. |
|
| 36 | - * @since 1.1.2 Bumped the latest version to 6.3.0 - CHANGED. |
|
| 24 | + /** |
|
| 25 | + * A Class to be able to change settings for Font Awesome. |
|
| 26 | + * |
|
| 27 | + * Class WP_Font_Awesome_Settings |
|
| 28 | + * @since 1.0.10 Now able to pass wp.org theme check. |
|
| 29 | + * @since 1.0.11 Font Awesome Pro now supported. |
|
| 30 | + * @since 1.0.11 Font Awesome Kits now supported. |
|
| 31 | + * @since 1.0.13 RTL language support added. |
|
| 32 | + * @since 1.0.14 Warning added for v6 pro requires kit and will now not work if official FA plugin installed. |
|
| 33 | + * @since 1.0.15 Font Awesome will now load in the FSE if enable din the backend. |
|
| 34 | + * @since 1.1.0 Option added to load FontAwesome locally. |
|
| 35 | + * @since 1.1.1 Requires to re-save settings to load locally when option does not exists - FIXED. |
|
| 36 | + * @since 1.1.2 Bumped the latest version to 6.3.0 - CHANGED. |
|
| 37 | 37 | * @since 1.1.3 Added JS files for iconpicker and added constant for URL for AyeCode-UI - ADDED. |
| 38 | 38 | * @since 1.1.5 Added constant for when pro enabled - ADDED. |
| 39 | 39 | * @since 1.1.6 Calling FA in wp_footer can cause issues on frontend - REVERTED |
| 40 | - * @ver 1.1.6 |
|
| 41 | - * @todo decide how to implement textdomain |
|
| 42 | - */ |
|
| 43 | - class WP_Font_Awesome_Settings { |
|
| 44 | - |
|
| 45 | - /** |
|
| 46 | - * Class version version. |
|
| 47 | - * |
|
| 48 | - * @var string |
|
| 49 | - */ |
|
| 50 | - public $version = '1.1.6'; |
|
| 51 | - |
|
| 52 | - /** |
|
| 53 | - * Class textdomain. |
|
| 54 | - * |
|
| 55 | - * @var string |
|
| 56 | - */ |
|
| 57 | - public $textdomain = 'font-awesome-settings'; |
|
| 58 | - |
|
| 59 | - /** |
|
| 60 | - * Latest version of Font Awesome at time of publish published. |
|
| 61 | - * |
|
| 62 | - * @var string |
|
| 63 | - */ |
|
| 64 | - public $latest = "6.4.2"; |
|
| 65 | - |
|
| 66 | - /** |
|
| 67 | - * The title. |
|
| 68 | - * |
|
| 69 | - * @var string |
|
| 70 | - */ |
|
| 71 | - public $name = 'Font Awesome'; |
|
| 72 | - |
|
| 73 | - /** |
|
| 74 | - * Holds the settings values. |
|
| 75 | - * |
|
| 76 | - * @var array |
|
| 77 | - */ |
|
| 78 | - private $settings; |
|
| 79 | - |
|
| 80 | - /** |
|
| 81 | - * WP_Font_Awesome_Settings instance. |
|
| 82 | - * |
|
| 83 | - * @access private |
|
| 84 | - * @since 1.0.0 |
|
| 85 | - * @var WP_Font_Awesome_Settings There can be only one! |
|
| 86 | - */ |
|
| 87 | - private static $instance = null; |
|
| 88 | - |
|
| 89 | - /** |
|
| 90 | - * Main WP_Font_Awesome_Settings Instance. |
|
| 91 | - * |
|
| 92 | - * Ensures only one instance of WP_Font_Awesome_Settings is loaded or can be loaded. |
|
| 93 | - * |
|
| 94 | - * @since 1.0.0 |
|
| 95 | - * @static |
|
| 96 | - * @return WP_Font_Awesome_Settings - Main instance. |
|
| 97 | - */ |
|
| 98 | - public static function instance() { |
|
| 99 | - if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WP_Font_Awesome_Settings ) ) { |
|
| 100 | - self::$instance = new WP_Font_Awesome_Settings; |
|
| 101 | - |
|
| 102 | - add_action( 'init', array( self::$instance, 'init' ) ); // set settings |
|
| 103 | - |
|
| 104 | - if ( is_admin() ) { |
|
| 105 | - add_action( 'admin_menu', array( self::$instance, 'menu_item' ) ); |
|
| 106 | - add_action( 'admin_init', array( self::$instance, 'register_settings' ) ); |
|
| 107 | - add_action( 'admin_init', array( self::$instance, 'constants' ) ); |
|
| 108 | - add_action( 'admin_notices', array( self::$instance, 'admin_notices' ) ); |
|
| 109 | - } |
|
| 110 | - |
|
| 111 | - do_action( 'wp_font_awesome_settings_loaded' ); |
|
| 112 | - } |
|
| 113 | - |
|
| 114 | - return self::$instance; |
|
| 115 | - } |
|
| 116 | - |
|
| 117 | - /** |
|
| 40 | + * @ver 1.1.6 |
|
| 41 | + * @todo decide how to implement textdomain |
|
| 42 | + */ |
|
| 43 | + class WP_Font_Awesome_Settings { |
|
| 44 | + |
|
| 45 | + /** |
|
| 46 | + * Class version version. |
|
| 47 | + * |
|
| 48 | + * @var string |
|
| 49 | + */ |
|
| 50 | + public $version = '1.1.6'; |
|
| 51 | + |
|
| 52 | + /** |
|
| 53 | + * Class textdomain. |
|
| 54 | + * |
|
| 55 | + * @var string |
|
| 56 | + */ |
|
| 57 | + public $textdomain = 'font-awesome-settings'; |
|
| 58 | + |
|
| 59 | + /** |
|
| 60 | + * Latest version of Font Awesome at time of publish published. |
|
| 61 | + * |
|
| 62 | + * @var string |
|
| 63 | + */ |
|
| 64 | + public $latest = "6.4.2"; |
|
| 65 | + |
|
| 66 | + /** |
|
| 67 | + * The title. |
|
| 68 | + * |
|
| 69 | + * @var string |
|
| 70 | + */ |
|
| 71 | + public $name = 'Font Awesome'; |
|
| 72 | + |
|
| 73 | + /** |
|
| 74 | + * Holds the settings values. |
|
| 75 | + * |
|
| 76 | + * @var array |
|
| 77 | + */ |
|
| 78 | + private $settings; |
|
| 79 | + |
|
| 80 | + /** |
|
| 81 | + * WP_Font_Awesome_Settings instance. |
|
| 82 | + * |
|
| 83 | + * @access private |
|
| 84 | + * @since 1.0.0 |
|
| 85 | + * @var WP_Font_Awesome_Settings There can be only one! |
|
| 86 | + */ |
|
| 87 | + private static $instance = null; |
|
| 88 | + |
|
| 89 | + /** |
|
| 90 | + * Main WP_Font_Awesome_Settings Instance. |
|
| 91 | + * |
|
| 92 | + * Ensures only one instance of WP_Font_Awesome_Settings is loaded or can be loaded. |
|
| 93 | + * |
|
| 94 | + * @since 1.0.0 |
|
| 95 | + * @static |
|
| 96 | + * @return WP_Font_Awesome_Settings - Main instance. |
|
| 97 | + */ |
|
| 98 | + public static function instance() { |
|
| 99 | + if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WP_Font_Awesome_Settings ) ) { |
|
| 100 | + self::$instance = new WP_Font_Awesome_Settings; |
|
| 101 | + |
|
| 102 | + add_action( 'init', array( self::$instance, 'init' ) ); // set settings |
|
| 103 | + |
|
| 104 | + if ( is_admin() ) { |
|
| 105 | + add_action( 'admin_menu', array( self::$instance, 'menu_item' ) ); |
|
| 106 | + add_action( 'admin_init', array( self::$instance, 'register_settings' ) ); |
|
| 107 | + add_action( 'admin_init', array( self::$instance, 'constants' ) ); |
|
| 108 | + add_action( 'admin_notices', array( self::$instance, 'admin_notices' ) ); |
|
| 109 | + } |
|
| 110 | + |
|
| 111 | + do_action( 'wp_font_awesome_settings_loaded' ); |
|
| 112 | + } |
|
| 113 | + |
|
| 114 | + return self::$instance; |
|
| 115 | + } |
|
| 116 | + |
|
| 117 | + /** |
|
| 118 | 118 | * Define any constants that may be needed by other packages. |
| 119 | 119 | * |
| 120 | - * @return void |
|
| 121 | - */ |
|
| 122 | - public function constants(){ |
|
| 120 | + * @return void |
|
| 121 | + */ |
|
| 122 | + public function constants(){ |
|
| 123 | 123 | |
| 124 | - // register iconpicker constant |
|
| 125 | - if ( ! defined( 'FAS_ICONPICKER_JS_URL' ) ) { |
|
| 126 | - $url = $this->get_path_url(); |
|
| 127 | - $version = $this->settings['version']; |
|
| 124 | + // register iconpicker constant |
|
| 125 | + if ( ! defined( 'FAS_ICONPICKER_JS_URL' ) ) { |
|
| 126 | + $url = $this->get_path_url(); |
|
| 127 | + $version = $this->settings['version']; |
|
| 128 | 128 | |
| 129 | - if( !$version || version_compare($version,'5.999','>')){ |
|
| 130 | - $url .= 'assets/js/fa-iconpicker-v6.min.js'; |
|
| 131 | - }else{ |
|
| 132 | - $url .= 'assets/js/fa-iconpicker-v5.min.js'; |
|
| 133 | - } |
|
| 129 | + if( !$version || version_compare($version,'5.999','>')){ |
|
| 130 | + $url .= 'assets/js/fa-iconpicker-v6.min.js'; |
|
| 131 | + }else{ |
|
| 132 | + $url .= 'assets/js/fa-iconpicker-v5.min.js'; |
|
| 133 | + } |
|
| 134 | 134 | |
| 135 | - define( 'FAS_ICONPICKER_JS_URL', $url ); |
|
| 135 | + define( 'FAS_ICONPICKER_JS_URL', $url ); |
|
| 136 | 136 | |
| 137 | - } |
|
| 137 | + } |
|
| 138 | 138 | |
| 139 | 139 | // Set a constant if pro enbaled |
| 140 | - if ( ! defined( 'FAS_PRO' ) && $this->settings['pro'] ) { |
|
| 141 | - define( 'FAS_PRO', true ); |
|
| 142 | - } |
|
| 143 | - } |
|
| 144 | - |
|
| 145 | - /** |
|
| 146 | - * Get the url path to the current folder. |
|
| 147 | - * |
|
| 148 | - * @return string |
|
| 149 | - */ |
|
| 150 | - public function get_path_url() { |
|
| 151 | - $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 152 | - $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 153 | - |
|
| 154 | - // Replace http:// to https://. |
|
| 155 | - if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 156 | - $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 157 | - } |
|
| 158 | - |
|
| 159 | - // Check if we are inside a plugin |
|
| 160 | - $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 161 | - $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 162 | - |
|
| 163 | - return trailingslashit( $url ); |
|
| 164 | - } |
|
| 165 | - |
|
| 166 | - /** |
|
| 167 | - * Initiate the settings and add the required action hooks. |
|
| 168 | - * |
|
| 169 | - * @since 1.0.8 Settings name wrong - FIXED |
|
| 170 | - */ |
|
| 171 | - public function init() { |
|
| 172 | - // Download fontawesome locally. |
|
| 173 | - add_action( 'add_option_wp-font-awesome-settings', array( $this, 'add_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 174 | - add_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 175 | - |
|
| 176 | - $this->settings = $this->get_settings(); |
|
| 177 | - |
|
| 178 | - // check if the official plugin is active and use that instead if so. |
|
| 179 | - if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 180 | - |
|
| 181 | - if ( $this->settings['type'] == 'CSS' ) { |
|
| 182 | - |
|
| 183 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) { |
|
| 184 | - add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 ); |
|
| 140 | + if ( ! defined( 'FAS_PRO' ) && $this->settings['pro'] ) { |
|
| 141 | + define( 'FAS_PRO', true ); |
|
| 142 | + } |
|
| 143 | + } |
|
| 144 | + |
|
| 145 | + /** |
|
| 146 | + * Get the url path to the current folder. |
|
| 147 | + * |
|
| 148 | + * @return string |
|
| 149 | + */ |
|
| 150 | + public function get_path_url() { |
|
| 151 | + $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 152 | + $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 153 | + |
|
| 154 | + // Replace http:// to https://. |
|
| 155 | + if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 156 | + $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 157 | + } |
|
| 158 | + |
|
| 159 | + // Check if we are inside a plugin |
|
| 160 | + $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 161 | + $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 162 | + |
|
| 163 | + return trailingslashit( $url ); |
|
| 164 | + } |
|
| 165 | + |
|
| 166 | + /** |
|
| 167 | + * Initiate the settings and add the required action hooks. |
|
| 168 | + * |
|
| 169 | + * @since 1.0.8 Settings name wrong - FIXED |
|
| 170 | + */ |
|
| 171 | + public function init() { |
|
| 172 | + // Download fontawesome locally. |
|
| 173 | + add_action( 'add_option_wp-font-awesome-settings', array( $this, 'add_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 174 | + add_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 175 | + |
|
| 176 | + $this->settings = $this->get_settings(); |
|
| 177 | + |
|
| 178 | + // check if the official plugin is active and use that instead if so. |
|
| 179 | + if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 180 | + |
|
| 181 | + if ( $this->settings['type'] == 'CSS' ) { |
|
| 182 | + |
|
| 183 | + if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) { |
|
| 184 | + add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 ); |
|
| 185 | 185 | // add_action( 'wp_footer', array( $this, 'enqueue_style' ), 5000 ); // not sure why this was added, seems to break frontend |
| 186 | - } |
|
| 187 | - |
|
| 188 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) { |
|
| 189 | - add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 ); |
|
| 190 | - add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_styles' ), 10, 2 ); |
|
| 191 | - } |
|
| 192 | - |
|
| 193 | - } else { |
|
| 194 | - |
|
| 195 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) { |
|
| 196 | - add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 ); |
|
| 197 | - } |
|
| 198 | - |
|
| 199 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) { |
|
| 200 | - add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 ); |
|
| 201 | - add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_scripts' ), 10, 2 ); |
|
| 202 | - } |
|
| 203 | - } |
|
| 204 | - |
|
| 205 | - // remove font awesome if set to do so |
|
| 206 | - if ( $this->settings['dequeue'] == '1' ) { |
|
| 207 | - add_action( 'clean_url', array( $this, 'remove_font_awesome' ), 5000, 3 ); |
|
| 208 | - } |
|
| 209 | - } |
|
| 210 | - |
|
| 211 | - } |
|
| 212 | - |
|
| 213 | - /** |
|
| 214 | - * Add FA to the FSE. |
|
| 215 | - * |
|
| 216 | - * @param $editor_settings |
|
| 217 | - * @param $block_editor_context |
|
| 218 | - * |
|
| 219 | - * @return array |
|
| 220 | - */ |
|
| 221 | - public function enqueue_editor_styles( $editor_settings, $block_editor_context ){ |
|
| 222 | - |
|
| 223 | - if ( ! empty( $editor_settings['__unstableResolvedAssets']['styles'] ) ) { |
|
| 224 | - $url = $this->get_url(); |
|
| 225 | - $editor_settings['__unstableResolvedAssets']['styles'] .= "<link rel='stylesheet' id='font-awesome-css' href='$url' media='all' />"; |
|
| 226 | - } |
|
| 227 | - |
|
| 228 | - return $editor_settings; |
|
| 229 | - } |
|
| 230 | - |
|
| 231 | - /** |
|
| 232 | - * Add FA to the FSE. |
|
| 233 | - * |
|
| 234 | - * @param $editor_settings |
|
| 235 | - * @param $block_editor_context |
|
| 236 | - * |
|
| 237 | - * @return array |
|
| 238 | - */ |
|
| 239 | - public function enqueue_editor_scripts( $editor_settings, $block_editor_context ){ |
|
| 240 | - |
|
| 241 | - $url = $this->get_url(); |
|
| 242 | - $editor_settings['__unstableResolvedAssets']['scripts'] .= "<script src='$url' id='font-awesome-js'></script>"; |
|
| 243 | - |
|
| 244 | - return $editor_settings; |
|
| 245 | - } |
|
| 246 | - |
|
| 247 | - /** |
|
| 248 | - * Adds the Font Awesome styles. |
|
| 249 | - */ |
|
| 250 | - public function enqueue_style() { |
|
| 251 | - // build url |
|
| 252 | - $url = $this->get_url(); |
|
| 253 | - $version = ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) ? strip_tags( $this->settings['local_version'] ) : null; |
|
| 254 | - |
|
| 255 | - wp_deregister_style( 'font-awesome' ); // deregister in case its already there |
|
| 256 | - wp_register_style( 'font-awesome', $url, array(), $version ); |
|
| 257 | - wp_enqueue_style( 'font-awesome' ); |
|
| 258 | - |
|
| 259 | - // RTL language support CSS. |
|
| 260 | - if ( is_rtl() ) { |
|
| 261 | - wp_add_inline_style( 'font-awesome', $this->rtl_inline_css() ); |
|
| 262 | - } |
|
| 263 | - |
|
| 264 | - if ( $this->settings['shims'] ) { |
|
| 265 | - $url = $this->get_url( true ); |
|
| 266 | - wp_deregister_style( 'font-awesome-shims' ); // deregister in case its already there |
|
| 267 | - wp_register_style( 'font-awesome-shims', $url, array(), $version ); |
|
| 268 | - wp_enqueue_style( 'font-awesome-shims' ); |
|
| 269 | - } |
|
| 270 | - } |
|
| 271 | - |
|
| 272 | - /** |
|
| 273 | - * Adds the Font Awesome JS. |
|
| 274 | - */ |
|
| 275 | - public function enqueue_scripts() { |
|
| 276 | - // build url |
|
| 277 | - $url = $this->get_url(); |
|
| 278 | - |
|
| 279 | - $deregister_function = 'wp' . '_' . 'deregister' . '_' . 'script'; |
|
| 280 | - call_user_func( $deregister_function, 'font-awesome' ); // deregister in case its already there |
|
| 281 | - wp_register_script( 'font-awesome', $url, array(), null ); |
|
| 282 | - wp_enqueue_script( 'font-awesome' ); |
|
| 283 | - |
|
| 284 | - if ( $this->settings['shims'] ) { |
|
| 285 | - $url = $this->get_url( true ); |
|
| 286 | - call_user_func( $deregister_function, 'font-awesome-shims' ); // deregister in case its already there |
|
| 287 | - wp_register_script( 'font-awesome-shims', $url, array(), null ); |
|
| 288 | - wp_enqueue_script( 'font-awesome-shims' ); |
|
| 289 | - } |
|
| 290 | - } |
|
| 291 | - |
|
| 292 | - /** |
|
| 293 | - * Get the url of the Font Awesome files. |
|
| 294 | - * |
|
| 295 | - * @param bool $shims If this is a shim file or not. |
|
| 296 | - * @param bool $local Load locally if allowed. |
|
| 297 | - * |
|
| 298 | - * @return string The url to the file. |
|
| 299 | - */ |
|
| 300 | - public function get_url( $shims = false, $local = true ) { |
|
| 301 | - $script = $shims ? 'v4-shims' : 'all'; |
|
| 302 | - $sub = $this->settings['pro'] ? 'pro' : 'use'; |
|
| 303 | - $type = $this->settings['type']; |
|
| 304 | - $version = $this->settings['version']; |
|
| 305 | - $kit_url = $this->settings['kit-url'] ? esc_url( $this->settings['kit-url'] ) : ''; |
|
| 306 | - $url = ''; |
|
| 307 | - |
|
| 308 | - if ( $type == 'KIT' && $kit_url ) { |
|
| 309 | - if ( $shims ) { |
|
| 310 | - // if its a kit then we don't add shims here |
|
| 311 | - return ''; |
|
| 312 | - } |
|
| 313 | - $url .= $kit_url; // CDN |
|
| 314 | - $url .= "?wpfas=true"; // set our var so our version is not removed |
|
| 315 | - } else { |
|
| 316 | - $v = ''; |
|
| 317 | - // Check and load locally. |
|
| 318 | - if ( $local && $this->has_local() ) { |
|
| 319 | - $script .= ".min"; |
|
| 320 | - $v .= '&ver=' . strip_tags( $this->settings['local_version'] ); |
|
| 321 | - $url .= $this->get_fonts_url(); // Local fonts url. |
|
| 322 | - } else { |
|
| 323 | - $url .= "https://$sub.fontawesome.com/releases/"; // CDN |
|
| 324 | - $url .= ! empty( $version ) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version |
|
| 325 | - } |
|
| 326 | - $url .= $type == 'CSS' ? 'css/' : 'js/'; // type |
|
| 327 | - $url .= $type == 'CSS' ? $script . '.css' : $script . '.js'; // type |
|
| 328 | - $url .= "?wpfas=true" . $v; // set our var so our version is not removed |
|
| 329 | - } |
|
| 330 | - |
|
| 331 | - return $url; |
|
| 332 | - } |
|
| 333 | - |
|
| 334 | - /** |
|
| 335 | - * Try and remove any other versions of Font Awesome added by other plugins/themes. |
|
| 336 | - * |
|
| 337 | - * Uses the clean_url filter to try and remove any other Font Awesome files added, it can also add pseudo-elements flag for the JS version. |
|
| 338 | - * |
|
| 339 | - * @param $url |
|
| 340 | - * @param $original_url |
|
| 341 | - * @param $_context |
|
| 342 | - * |
|
| 343 | - * @return string The filtered url. |
|
| 344 | - */ |
|
| 345 | - public function remove_font_awesome( $url, $original_url, $_context ) { |
|
| 346 | - |
|
| 347 | - if ( $_context == 'display' |
|
| 348 | - && ( strstr( $url, "fontawesome" ) !== false || strstr( $url, "font-awesome" ) !== false ) |
|
| 349 | - && ( strstr( $url, ".js" ) !== false || strstr( $url, ".css" ) !== false ) |
|
| 350 | - ) {// it's a font-awesome-url (probably) |
|
| 351 | - |
|
| 352 | - if ( strstr( $url, "wpfas=true" ) !== false ) { |
|
| 353 | - if ( $this->settings['type'] == 'JS' ) { |
|
| 354 | - if ( $this->settings['js-pseudo'] ) { |
|
| 355 | - $url .= "' data-search-pseudo-elements defer='defer"; |
|
| 356 | - } else { |
|
| 357 | - $url .= "' defer='defer"; |
|
| 358 | - } |
|
| 359 | - } |
|
| 360 | - } else { |
|
| 361 | - $url = ''; // removing the url removes the file |
|
| 362 | - } |
|
| 363 | - |
|
| 364 | - } |
|
| 365 | - |
|
| 366 | - return $url; |
|
| 367 | - } |
|
| 368 | - |
|
| 369 | - /** |
|
| 370 | - * Register the database settings with WordPress. |
|
| 371 | - */ |
|
| 372 | - public function register_settings() { |
|
| 373 | - register_setting( 'wp-font-awesome-settings', 'wp-font-awesome-settings' ); |
|
| 374 | - } |
|
| 375 | - |
|
| 376 | - /** |
|
| 377 | - * Add the WordPress settings menu item. |
|
| 378 | - * @since 1.0.10 Calling function name direct will fail theme check so we don't. |
|
| 379 | - */ |
|
| 380 | - public function menu_item() { |
|
| 381 | - $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme |
|
| 382 | - call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array( |
|
| 383 | - $this, |
|
| 384 | - 'settings_page' |
|
| 385 | - ) ); |
|
| 386 | - } |
|
| 387 | - |
|
| 388 | - /** |
|
| 389 | - * Get the current Font Awesome output settings. |
|
| 390 | - * |
|
| 391 | - * @return array The array of settings. |
|
| 392 | - */ |
|
| 393 | - public function get_settings() { |
|
| 394 | - $db_settings = get_option( 'wp-font-awesome-settings' ); |
|
| 395 | - |
|
| 396 | - $defaults = array( |
|
| 397 | - 'type' => 'CSS', // type to use, CSS or JS or KIT |
|
| 398 | - 'version' => '', // latest |
|
| 399 | - 'enqueue' => '', // front and backend |
|
| 400 | - 'shims' => '0', // default OFF now in 2020 |
|
| 401 | - 'js-pseudo' => '0', // if the pseudo elements flag should be set (CPU intensive) |
|
| 402 | - 'dequeue' => '0', // if we should try to remove other versions added by other plugins/themes |
|
| 403 | - 'pro' => '0', // if pro CDN url should be used |
|
| 404 | - 'local' => '0', // Store fonts locally. |
|
| 405 | - 'local_version' => '', // Local fonts version. |
|
| 406 | - 'kit-url' => '', // the kit url |
|
| 407 | - ); |
|
| 408 | - |
|
| 409 | - $settings = wp_parse_args( $db_settings, $defaults ); |
|
| 410 | - |
|
| 411 | - /** |
|
| 412 | - * Filter the Font Awesome settings. |
|
| 413 | - * |
|
| 414 | - * @todo if we add this filer people might use it and then it defeates the purpose of this class :/ |
|
| 415 | - */ |
|
| 416 | - return $this->settings = apply_filters( 'wp-font-awesome-settings', $settings, $db_settings, $defaults ); |
|
| 417 | - } |
|
| 418 | - |
|
| 419 | - /** |
|
| 420 | - * The settings page html output. |
|
| 421 | - */ |
|
| 422 | - public function settings_page() { |
|
| 423 | - if ( ! current_user_can( 'manage_options' ) ) { |
|
| 424 | - wp_die( __( 'You do not have sufficient permissions to access this page.', 'font-awesome-settings' ) ); |
|
| 425 | - } |
|
| 426 | - |
|
| 427 | - // a hidden way to force the update of the version number via api instead of waiting the 48 hours |
|
| 428 | - if ( isset( $_REQUEST['force-version-check'] ) ) { |
|
| 429 | - $this->get_latest_version( $force_api = true ); |
|
| 430 | - } |
|
| 431 | - |
|
| 432 | - if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 433 | - ?> |
|
| 186 | + } |
|
| 187 | + |
|
| 188 | + if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) { |
|
| 189 | + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 ); |
|
| 190 | + add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_styles' ), 10, 2 ); |
|
| 191 | + } |
|
| 192 | + |
|
| 193 | + } else { |
|
| 194 | + |
|
| 195 | + if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) { |
|
| 196 | + add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 ); |
|
| 197 | + } |
|
| 198 | + |
|
| 199 | + if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) { |
|
| 200 | + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 ); |
|
| 201 | + add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_scripts' ), 10, 2 ); |
|
| 202 | + } |
|
| 203 | + } |
|
| 204 | + |
|
| 205 | + // remove font awesome if set to do so |
|
| 206 | + if ( $this->settings['dequeue'] == '1' ) { |
|
| 207 | + add_action( 'clean_url', array( $this, 'remove_font_awesome' ), 5000, 3 ); |
|
| 208 | + } |
|
| 209 | + } |
|
| 210 | + |
|
| 211 | + } |
|
| 212 | + |
|
| 213 | + /** |
|
| 214 | + * Add FA to the FSE. |
|
| 215 | + * |
|
| 216 | + * @param $editor_settings |
|
| 217 | + * @param $block_editor_context |
|
| 218 | + * |
|
| 219 | + * @return array |
|
| 220 | + */ |
|
| 221 | + public function enqueue_editor_styles( $editor_settings, $block_editor_context ){ |
|
| 222 | + |
|
| 223 | + if ( ! empty( $editor_settings['__unstableResolvedAssets']['styles'] ) ) { |
|
| 224 | + $url = $this->get_url(); |
|
| 225 | + $editor_settings['__unstableResolvedAssets']['styles'] .= "<link rel='stylesheet' id='font-awesome-css' href='$url' media='all' />"; |
|
| 226 | + } |
|
| 227 | + |
|
| 228 | + return $editor_settings; |
|
| 229 | + } |
|
| 230 | + |
|
| 231 | + /** |
|
| 232 | + * Add FA to the FSE. |
|
| 233 | + * |
|
| 234 | + * @param $editor_settings |
|
| 235 | + * @param $block_editor_context |
|
| 236 | + * |
|
| 237 | + * @return array |
|
| 238 | + */ |
|
| 239 | + public function enqueue_editor_scripts( $editor_settings, $block_editor_context ){ |
|
| 240 | + |
|
| 241 | + $url = $this->get_url(); |
|
| 242 | + $editor_settings['__unstableResolvedAssets']['scripts'] .= "<script src='$url' id='font-awesome-js'></script>"; |
|
| 243 | + |
|
| 244 | + return $editor_settings; |
|
| 245 | + } |
|
| 246 | + |
|
| 247 | + /** |
|
| 248 | + * Adds the Font Awesome styles. |
|
| 249 | + */ |
|
| 250 | + public function enqueue_style() { |
|
| 251 | + // build url |
|
| 252 | + $url = $this->get_url(); |
|
| 253 | + $version = ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) ? strip_tags( $this->settings['local_version'] ) : null; |
|
| 254 | + |
|
| 255 | + wp_deregister_style( 'font-awesome' ); // deregister in case its already there |
|
| 256 | + wp_register_style( 'font-awesome', $url, array(), $version ); |
|
| 257 | + wp_enqueue_style( 'font-awesome' ); |
|
| 258 | + |
|
| 259 | + // RTL language support CSS. |
|
| 260 | + if ( is_rtl() ) { |
|
| 261 | + wp_add_inline_style( 'font-awesome', $this->rtl_inline_css() ); |
|
| 262 | + } |
|
| 263 | + |
|
| 264 | + if ( $this->settings['shims'] ) { |
|
| 265 | + $url = $this->get_url( true ); |
|
| 266 | + wp_deregister_style( 'font-awesome-shims' ); // deregister in case its already there |
|
| 267 | + wp_register_style( 'font-awesome-shims', $url, array(), $version ); |
|
| 268 | + wp_enqueue_style( 'font-awesome-shims' ); |
|
| 269 | + } |
|
| 270 | + } |
|
| 271 | + |
|
| 272 | + /** |
|
| 273 | + * Adds the Font Awesome JS. |
|
| 274 | + */ |
|
| 275 | + public function enqueue_scripts() { |
|
| 276 | + // build url |
|
| 277 | + $url = $this->get_url(); |
|
| 278 | + |
|
| 279 | + $deregister_function = 'wp' . '_' . 'deregister' . '_' . 'script'; |
|
| 280 | + call_user_func( $deregister_function, 'font-awesome' ); // deregister in case its already there |
|
| 281 | + wp_register_script( 'font-awesome', $url, array(), null ); |
|
| 282 | + wp_enqueue_script( 'font-awesome' ); |
|
| 283 | + |
|
| 284 | + if ( $this->settings['shims'] ) { |
|
| 285 | + $url = $this->get_url( true ); |
|
| 286 | + call_user_func( $deregister_function, 'font-awesome-shims' ); // deregister in case its already there |
|
| 287 | + wp_register_script( 'font-awesome-shims', $url, array(), null ); |
|
| 288 | + wp_enqueue_script( 'font-awesome-shims' ); |
|
| 289 | + } |
|
| 290 | + } |
|
| 291 | + |
|
| 292 | + /** |
|
| 293 | + * Get the url of the Font Awesome files. |
|
| 294 | + * |
|
| 295 | + * @param bool $shims If this is a shim file or not. |
|
| 296 | + * @param bool $local Load locally if allowed. |
|
| 297 | + * |
|
| 298 | + * @return string The url to the file. |
|
| 299 | + */ |
|
| 300 | + public function get_url( $shims = false, $local = true ) { |
|
| 301 | + $script = $shims ? 'v4-shims' : 'all'; |
|
| 302 | + $sub = $this->settings['pro'] ? 'pro' : 'use'; |
|
| 303 | + $type = $this->settings['type']; |
|
| 304 | + $version = $this->settings['version']; |
|
| 305 | + $kit_url = $this->settings['kit-url'] ? esc_url( $this->settings['kit-url'] ) : ''; |
|
| 306 | + $url = ''; |
|
| 307 | + |
|
| 308 | + if ( $type == 'KIT' && $kit_url ) { |
|
| 309 | + if ( $shims ) { |
|
| 310 | + // if its a kit then we don't add shims here |
|
| 311 | + return ''; |
|
| 312 | + } |
|
| 313 | + $url .= $kit_url; // CDN |
|
| 314 | + $url .= "?wpfas=true"; // set our var so our version is not removed |
|
| 315 | + } else { |
|
| 316 | + $v = ''; |
|
| 317 | + // Check and load locally. |
|
| 318 | + if ( $local && $this->has_local() ) { |
|
| 319 | + $script .= ".min"; |
|
| 320 | + $v .= '&ver=' . strip_tags( $this->settings['local_version'] ); |
|
| 321 | + $url .= $this->get_fonts_url(); // Local fonts url. |
|
| 322 | + } else { |
|
| 323 | + $url .= "https://$sub.fontawesome.com/releases/"; // CDN |
|
| 324 | + $url .= ! empty( $version ) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version |
|
| 325 | + } |
|
| 326 | + $url .= $type == 'CSS' ? 'css/' : 'js/'; // type |
|
| 327 | + $url .= $type == 'CSS' ? $script . '.css' : $script . '.js'; // type |
|
| 328 | + $url .= "?wpfas=true" . $v; // set our var so our version is not removed |
|
| 329 | + } |
|
| 330 | + |
|
| 331 | + return $url; |
|
| 332 | + } |
|
| 333 | + |
|
| 334 | + /** |
|
| 335 | + * Try and remove any other versions of Font Awesome added by other plugins/themes. |
|
| 336 | + * |
|
| 337 | + * Uses the clean_url filter to try and remove any other Font Awesome files added, it can also add pseudo-elements flag for the JS version. |
|
| 338 | + * |
|
| 339 | + * @param $url |
|
| 340 | + * @param $original_url |
|
| 341 | + * @param $_context |
|
| 342 | + * |
|
| 343 | + * @return string The filtered url. |
|
| 344 | + */ |
|
| 345 | + public function remove_font_awesome( $url, $original_url, $_context ) { |
|
| 346 | + |
|
| 347 | + if ( $_context == 'display' |
|
| 348 | + && ( strstr( $url, "fontawesome" ) !== false || strstr( $url, "font-awesome" ) !== false ) |
|
| 349 | + && ( strstr( $url, ".js" ) !== false || strstr( $url, ".css" ) !== false ) |
|
| 350 | + ) {// it's a font-awesome-url (probably) |
|
| 351 | + |
|
| 352 | + if ( strstr( $url, "wpfas=true" ) !== false ) { |
|
| 353 | + if ( $this->settings['type'] == 'JS' ) { |
|
| 354 | + if ( $this->settings['js-pseudo'] ) { |
|
| 355 | + $url .= "' data-search-pseudo-elements defer='defer"; |
|
| 356 | + } else { |
|
| 357 | + $url .= "' defer='defer"; |
|
| 358 | + } |
|
| 359 | + } |
|
| 360 | + } else { |
|
| 361 | + $url = ''; // removing the url removes the file |
|
| 362 | + } |
|
| 363 | + |
|
| 364 | + } |
|
| 365 | + |
|
| 366 | + return $url; |
|
| 367 | + } |
|
| 368 | + |
|
| 369 | + /** |
|
| 370 | + * Register the database settings with WordPress. |
|
| 371 | + */ |
|
| 372 | + public function register_settings() { |
|
| 373 | + register_setting( 'wp-font-awesome-settings', 'wp-font-awesome-settings' ); |
|
| 374 | + } |
|
| 375 | + |
|
| 376 | + /** |
|
| 377 | + * Add the WordPress settings menu item. |
|
| 378 | + * @since 1.0.10 Calling function name direct will fail theme check so we don't. |
|
| 379 | + */ |
|
| 380 | + public function menu_item() { |
|
| 381 | + $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme |
|
| 382 | + call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array( |
|
| 383 | + $this, |
|
| 384 | + 'settings_page' |
|
| 385 | + ) ); |
|
| 386 | + } |
|
| 387 | + |
|
| 388 | + /** |
|
| 389 | + * Get the current Font Awesome output settings. |
|
| 390 | + * |
|
| 391 | + * @return array The array of settings. |
|
| 392 | + */ |
|
| 393 | + public function get_settings() { |
|
| 394 | + $db_settings = get_option( 'wp-font-awesome-settings' ); |
|
| 395 | + |
|
| 396 | + $defaults = array( |
|
| 397 | + 'type' => 'CSS', // type to use, CSS or JS or KIT |
|
| 398 | + 'version' => '', // latest |
|
| 399 | + 'enqueue' => '', // front and backend |
|
| 400 | + 'shims' => '0', // default OFF now in 2020 |
|
| 401 | + 'js-pseudo' => '0', // if the pseudo elements flag should be set (CPU intensive) |
|
| 402 | + 'dequeue' => '0', // if we should try to remove other versions added by other plugins/themes |
|
| 403 | + 'pro' => '0', // if pro CDN url should be used |
|
| 404 | + 'local' => '0', // Store fonts locally. |
|
| 405 | + 'local_version' => '', // Local fonts version. |
|
| 406 | + 'kit-url' => '', // the kit url |
|
| 407 | + ); |
|
| 408 | + |
|
| 409 | + $settings = wp_parse_args( $db_settings, $defaults ); |
|
| 410 | + |
|
| 411 | + /** |
|
| 412 | + * Filter the Font Awesome settings. |
|
| 413 | + * |
|
| 414 | + * @todo if we add this filer people might use it and then it defeates the purpose of this class :/ |
|
| 415 | + */ |
|
| 416 | + return $this->settings = apply_filters( 'wp-font-awesome-settings', $settings, $db_settings, $defaults ); |
|
| 417 | + } |
|
| 418 | + |
|
| 419 | + /** |
|
| 420 | + * The settings page html output. |
|
| 421 | + */ |
|
| 422 | + public function settings_page() { |
|
| 423 | + if ( ! current_user_can( 'manage_options' ) ) { |
|
| 424 | + wp_die( __( 'You do not have sufficient permissions to access this page.', 'font-awesome-settings' ) ); |
|
| 425 | + } |
|
| 426 | + |
|
| 427 | + // a hidden way to force the update of the version number via api instead of waiting the 48 hours |
|
| 428 | + if ( isset( $_REQUEST['force-version-check'] ) ) { |
|
| 429 | + $this->get_latest_version( $force_api = true ); |
|
| 430 | + } |
|
| 431 | + |
|
| 432 | + if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 433 | + ?> |
|
| 434 | 434 | <style> |
| 435 | 435 | .wpfas-kit-show { |
| 436 | 436 | display: none; |
@@ -456,16 +456,16 @@ discard block |
||
| 456 | 456 | <h1><?php echo $this->name; ?></h1> |
| 457 | 457 | <form method="post" action="options.php" class="fas-settings-form"> |
| 458 | 458 | <?php |
| 459 | - settings_fields( 'wp-font-awesome-settings' ); |
|
| 460 | - do_settings_sections( 'wp-font-awesome-settings' ); |
|
| 461 | - $table_class = ''; |
|
| 462 | - if ( $this->settings['type'] ) { |
|
| 463 | - $table_class .= 'wpfas-' . sanitize_html_class( strtolower( $this->settings['type'] ) ) . '-set'; |
|
| 464 | - } |
|
| 465 | - if ( ! empty( $this->settings['pro'] ) ) { |
|
| 466 | - $table_class .= ' wpfas-has-pro'; |
|
| 467 | - } |
|
| 468 | - ?> |
|
| 459 | + settings_fields( 'wp-font-awesome-settings' ); |
|
| 460 | + do_settings_sections( 'wp-font-awesome-settings' ); |
|
| 461 | + $table_class = ''; |
|
| 462 | + if ( $this->settings['type'] ) { |
|
| 463 | + $table_class .= 'wpfas-' . sanitize_html_class( strtolower( $this->settings['type'] ) ) . '-set'; |
|
| 464 | + } |
|
| 465 | + if ( ! empty( $this->settings['pro'] ) ) { |
|
| 466 | + $table_class .= ' wpfas-has-pro'; |
|
| 467 | + } |
|
| 468 | + ?> |
|
| 469 | 469 | <?php if ( $this->settings['type'] != 'KIT' && ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) ) { ?> |
| 470 | 470 | <?php if ( $this->has_local() ) { ?> |
| 471 | 471 | <div class="notice notice-info"><p><strong><?php _e( 'Font Awesome fonts are loading locally.', 'font-awesome-settings' ); ?></strong></p></div> |
@@ -490,12 +490,12 @@ discard block |
||
| 490 | 490 | <td> |
| 491 | 491 | <input class="regular-text" id="wpfas-kit-url" type="url" name="wp-font-awesome-settings[kit-url]" value="<?php echo esc_attr( $this->settings['kit-url'] ); ?>" placeholder="<?php echo 'https://kit.font';echo 'awesome.com/123abc.js'; // this won't pass theme check :(?>"/> |
| 492 | 492 | <span><?php |
| 493 | - echo sprintf( |
|
| 494 | - __( 'Requires a free account with Font Awesome. %sGet kit url%s', 'font-awesome-settings' ), |
|
| 495 | - '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/kits"><i class="fas fa-external-link-alt"></i>', |
|
| 496 | - '</a>' |
|
| 497 | - ); |
|
| 498 | - ?></span> |
|
| 493 | + echo sprintf( |
|
| 494 | + __( 'Requires a free account with Font Awesome. %sGet kit url%s', 'font-awesome-settings' ), |
|
| 495 | + '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/kits"><i class="fas fa-external-link-alt"></i>', |
|
| 496 | + '</a>' |
|
| 497 | + ); |
|
| 498 | + ?></span> |
|
| 499 | 499 | </td> |
| 500 | 500 | </tr> |
| 501 | 501 | |
@@ -536,14 +536,14 @@ discard block |
||
| 536 | 536 | <input type="hidden" name="wp-font-awesome-settings[pro]" value="0"/> |
| 537 | 537 | <input type="checkbox" name="wp-font-awesome-settings[pro]" value="1" <?php checked( $this->settings['pro'], '1' ); ?> id="wpfas-pro" onchange="if(jQuery(this).is(':checked')){jQuery('.wpfas-table-settings').addClass('wpfas-has-pro')}else{jQuery('.wpfas-table-settings').removeClass('wpfas-has-pro')}"/> |
| 538 | 538 | <span><?php |
| 539 | - echo wp_sprintf( |
|
| 540 | - __( 'Requires a subscription. %sLearn more%s %sManage my allowed domains%s', 'font-awesome-settings' ), |
|
| 541 | - '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/referral?a=c9b89e1418">', |
|
| 542 | - ' <i class="fas fa-external-link-alt"></i></a>', |
|
| 543 | - '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/account/cdn">', |
|
| 544 | - ' <i class="fas fa-external-link-alt"></i></a>' |
|
| 545 | - ); |
|
| 546 | - ?></span> |
|
| 539 | + echo wp_sprintf( |
|
| 540 | + __( 'Requires a subscription. %sLearn more%s %sManage my allowed domains%s', 'font-awesome-settings' ), |
|
| 541 | + '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/referral?a=c9b89e1418">', |
|
| 542 | + ' <i class="fas fa-external-link-alt"></i></a>', |
|
| 543 | + '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/account/cdn">', |
|
| 544 | + ' <i class="fas fa-external-link-alt"></i></a>' |
|
| 545 | + ); |
|
| 546 | + ?></span> |
|
| 547 | 547 | </td> |
| 548 | 548 | </tr> |
| 549 | 549 | |
@@ -597,8 +597,8 @@ discard block |
||
| 597 | 597 | </table> |
| 598 | 598 | <div class="fas-buttons"> |
| 599 | 599 | <?php |
| 600 | - submit_button(); |
|
| 601 | - ?> |
|
| 600 | + submit_button(); |
|
| 601 | + ?> |
|
| 602 | 602 | <p class="submit"><a href="https://fontawesome.com/referral?a=c9b89e1418" class="button button-secondary"><?php _e('Get 24,000+ more icons with Font Awesome Pro','font-awesome-settings'); ?> <i class="fas fa-external-link-alt"></i></a></p> |
| 603 | 603 | |
| 604 | 604 | </div> |
@@ -607,392 +607,392 @@ discard block |
||
| 607 | 607 | <div id="wpfas-version"><?php echo sprintf(__( 'Version: %s (affiliate links provided)', 'font-awesome-settings' ), $this->version ); ?></div> |
| 608 | 608 | </div> |
| 609 | 609 | <?php |
| 610 | - } |
|
| 611 | - } |
|
| 612 | - |
|
| 613 | - /** |
|
| 614 | - * Check a version number is valid and if so return it or else return an empty string. |
|
| 615 | - * |
|
| 616 | - * @param $version string The version number to check. |
|
| 617 | - * |
|
| 618 | - * @since 1.0.6 |
|
| 619 | - * |
|
| 620 | - * @return string Either a valid version number or an empty string. |
|
| 621 | - */ |
|
| 622 | - public function validate_version_number( $version ) { |
|
| 623 | - |
|
| 624 | - if ( version_compare( $version, '0.0.1', '>=' ) >= 0 ) { |
|
| 625 | - // valid |
|
| 626 | - } else { |
|
| 627 | - $version = '';// not validated |
|
| 628 | - } |
|
| 629 | - |
|
| 630 | - return $version; |
|
| 631 | - } |
|
| 632 | - |
|
| 633 | - |
|
| 634 | - /** |
|
| 635 | - * Get the latest version of Font Awesome. |
|
| 636 | - * |
|
| 637 | - * We check for a cached version and if none we will check for a live version via API and then cache it for 48 hours. |
|
| 638 | - * |
|
| 639 | - * @since 1.0.7 |
|
| 640 | - * @return mixed|string The latest version number found. |
|
| 641 | - */ |
|
| 642 | - public function get_latest_version( $force_api = false ) { |
|
| 643 | - $latest_version = $this->latest; |
|
| 644 | - |
|
| 645 | - $cache = get_transient( 'wp-font-awesome-settings-version' ); |
|
| 646 | - |
|
| 647 | - if ( $cache === false || $force_api ) { // its not set |
|
| 648 | - $api_ver = $this->get_latest_version_from_api(); |
|
| 649 | - if ( version_compare( $api_ver, $this->latest, '>=' ) >= 0 ) { |
|
| 650 | - $latest_version = $api_ver; |
|
| 651 | - set_transient( 'wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS ); |
|
| 652 | - } |
|
| 653 | - } elseif ( $this->validate_version_number( $cache ) ) { |
|
| 654 | - if ( version_compare( $cache, $this->latest, '>=' ) >= 0 ) { |
|
| 655 | - $latest_version = $cache; |
|
| 656 | - } |
|
| 657 | - } |
|
| 658 | - |
|
| 659 | - // Check and auto download fonts locally. |
|
| 660 | - if ( empty( $this->settings['pro'] ) && empty( $this->settings['version'] ) && $this->settings['type'] != 'KIT' && ! empty( $this->settings['local'] ) && ! empty( $this->settings['local_version'] ) && ! empty( $latest_version ) ) { |
|
| 661 | - if ( version_compare( $latest_version, $this->settings['local_version'], '>' ) && is_admin() && ! wp_doing_ajax() ) { |
|
| 662 | - $this->download_package( $latest_version ); |
|
| 663 | - } |
|
| 664 | - } |
|
| 665 | - |
|
| 666 | - return $latest_version; |
|
| 667 | - } |
|
| 668 | - |
|
| 669 | - /** |
|
| 670 | - * Get the latest Font Awesome version from the github API. |
|
| 671 | - * |
|
| 672 | - * @since 1.0.7 |
|
| 673 | - * @return string The latest version number or `0` on API fail. |
|
| 674 | - */ |
|
| 675 | - public function get_latest_version_from_api() { |
|
| 676 | - $version = "0"; |
|
| 677 | - $response = wp_remote_get( "https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest" ); |
|
| 678 | - if ( ! is_wp_error( $response ) && is_array( $response ) ) { |
|
| 679 | - $api_response = json_decode( wp_remote_retrieve_body( $response ), true ); |
|
| 680 | - if ( isset( $api_response['tag_name'] ) && version_compare( $api_response['tag_name'], $this->latest, '>=' ) >= 0 && empty( $api_response['prerelease'] ) ) { |
|
| 681 | - $version = $api_response['tag_name']; |
|
| 682 | - } |
|
| 683 | - } |
|
| 684 | - |
|
| 685 | - return $version; |
|
| 686 | - } |
|
| 687 | - |
|
| 688 | - /** |
|
| 689 | - * Inline CSS for RTL language support. |
|
| 690 | - * |
|
| 691 | - * @since 1.0.13 |
|
| 692 | - * @return string Inline CSS. |
|
| 693 | - */ |
|
| 694 | - public function rtl_inline_css() { |
|
| 695 | - $inline_css = '[dir=rtl] .fa-address,[dir=rtl] .fa-address-card,[dir=rtl] .fa-adjust,[dir=rtl] .fa-alarm-clock,[dir=rtl] .fa-align-left,[dir=rtl] .fa-align-right,[dir=rtl] .fa-analytics,[dir=rtl] .fa-angle-double-left,[dir=rtl] .fa-angle-double-right,[dir=rtl] .fa-angle-left,[dir=rtl] .fa-angle-right,[dir=rtl] .fa-arrow-alt-circle-left,[dir=rtl] .fa-arrow-alt-circle-right,[dir=rtl] .fa-arrow-alt-from-left,[dir=rtl] .fa-arrow-alt-from-right,[dir=rtl] .fa-arrow-alt-left,[dir=rtl] .fa-arrow-alt-right,[dir=rtl] .fa-arrow-alt-square-left,[dir=rtl] .fa-arrow-alt-square-right,[dir=rtl] .fa-arrow-alt-to-left,[dir=rtl] .fa-arrow-alt-to-right,[dir=rtl] .fa-arrow-circle-left,[dir=rtl] .fa-arrow-circle-right,[dir=rtl] .fa-arrow-from-left,[dir=rtl] .fa-arrow-from-right,[dir=rtl] .fa-arrow-left,[dir=rtl] .fa-arrow-right,[dir=rtl] .fa-arrow-square-left,[dir=rtl] .fa-arrow-square-right,[dir=rtl] .fa-arrow-to-left,[dir=rtl] .fa-arrow-to-right,[dir=rtl] .fa-balance-scale-left,[dir=rtl] .fa-balance-scale-right,[dir=rtl] .fa-bed,[dir=rtl] .fa-bed-bunk,[dir=rtl] .fa-bed-empty,[dir=rtl] .fa-border-left,[dir=rtl] .fa-border-right,[dir=rtl] .fa-calendar-check,[dir=rtl] .fa-caret-circle-left,[dir=rtl] .fa-caret-circle-right,[dir=rtl] .fa-caret-left,[dir=rtl] .fa-caret-right,[dir=rtl] .fa-caret-square-left,[dir=rtl] .fa-caret-square-right,[dir=rtl] .fa-cart-arrow-down,[dir=rtl] .fa-cart-plus,[dir=rtl] .fa-chart-area,[dir=rtl] .fa-chart-bar,[dir=rtl] .fa-chart-line,[dir=rtl] .fa-chart-line-down,[dir=rtl] .fa-chart-network,[dir=rtl] .fa-chart-pie,[dir=rtl] .fa-chart-pie-alt,[dir=rtl] .fa-chart-scatter,[dir=rtl] .fa-check-circle,[dir=rtl] .fa-check-square,[dir=rtl] .fa-chevron-circle-left,[dir=rtl] .fa-chevron-circle-right,[dir=rtl] .fa-chevron-double-left,[dir=rtl] .fa-chevron-double-right,[dir=rtl] .fa-chevron-left,[dir=rtl] .fa-chevron-right,[dir=rtl] .fa-chevron-square-left,[dir=rtl] .fa-chevron-square-right,[dir=rtl] .fa-clock,[dir=rtl] .fa-file,[dir=rtl] .fa-file-alt,[dir=rtl] .fa-file-archive,[dir=rtl] .fa-file-audio,[dir=rtl] .fa-file-chart-line,[dir=rtl] .fa-file-chart-pie,[dir=rtl] .fa-file-code,[dir=rtl] .fa-file-excel,[dir=rtl] .fa-file-image,[dir=rtl] .fa-file-pdf,[dir=rtl] .fa-file-powerpoint,[dir=rtl] .fa-file-video,[dir=rtl] .fa-file-word,[dir=rtl] .fa-flag,[dir=rtl] .fa-folder,[dir=rtl] .fa-folder-open,[dir=rtl] .fa-hand-lizard,[dir=rtl] .fa-hand-point-down,[dir=rtl] .fa-hand-point-left,[dir=rtl] .fa-hand-point-right,[dir=rtl] .fa-hand-point-up,[dir=rtl] .fa-hand-scissors,[dir=rtl] .fa-image,[dir=rtl] .fa-long-arrow-alt-left,[dir=rtl] .fa-long-arrow-alt-right,[dir=rtl] .fa-long-arrow-left,[dir=rtl] .fa-long-arrow-right,[dir=rtl] .fa-luggage-cart,[dir=rtl] .fa-moon,[dir=rtl] .fa-pencil,[dir=rtl] .fa-pencil-alt,[dir=rtl] .fa-play-circle,[dir=rtl] .fa-project-diagram,[dir=rtl] .fa-quote-left,[dir=rtl] .fa-quote-right,[dir=rtl] .fa-shopping-cart,[dir=rtl] .fa-thumbs-down,[dir=rtl] .fa-thumbs-up,[dir=rtl] .fa-user-chart{filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);transform:scale(-1,1)}[dir=rtl] .fa-spin{animation-direction:reverse}'; |
|
| 696 | - |
|
| 697 | - return $inline_css; |
|
| 698 | - } |
|
| 699 | - |
|
| 700 | - /** |
|
| 701 | - * Show any warnings as an admin notice. |
|
| 702 | - * |
|
| 703 | - * @return void |
|
| 704 | - */ |
|
| 705 | - public function admin_notices() { |
|
| 706 | - $settings = $this->settings; |
|
| 707 | - |
|
| 708 | - if ( defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 709 | - if ( ! empty( $_REQUEST['page'] ) && $_REQUEST['page'] == 'wp-font-awesome-settings' ) { |
|
| 710 | - ?> |
|
| 610 | + } |
|
| 611 | + } |
|
| 612 | + |
|
| 613 | + /** |
|
| 614 | + * Check a version number is valid and if so return it or else return an empty string. |
|
| 615 | + * |
|
| 616 | + * @param $version string The version number to check. |
|
| 617 | + * |
|
| 618 | + * @since 1.0.6 |
|
| 619 | + * |
|
| 620 | + * @return string Either a valid version number or an empty string. |
|
| 621 | + */ |
|
| 622 | + public function validate_version_number( $version ) { |
|
| 623 | + |
|
| 624 | + if ( version_compare( $version, '0.0.1', '>=' ) >= 0 ) { |
|
| 625 | + // valid |
|
| 626 | + } else { |
|
| 627 | + $version = '';// not validated |
|
| 628 | + } |
|
| 629 | + |
|
| 630 | + return $version; |
|
| 631 | + } |
|
| 632 | + |
|
| 633 | + |
|
| 634 | + /** |
|
| 635 | + * Get the latest version of Font Awesome. |
|
| 636 | + * |
|
| 637 | + * We check for a cached version and if none we will check for a live version via API and then cache it for 48 hours. |
|
| 638 | + * |
|
| 639 | + * @since 1.0.7 |
|
| 640 | + * @return mixed|string The latest version number found. |
|
| 641 | + */ |
|
| 642 | + public function get_latest_version( $force_api = false ) { |
|
| 643 | + $latest_version = $this->latest; |
|
| 644 | + |
|
| 645 | + $cache = get_transient( 'wp-font-awesome-settings-version' ); |
|
| 646 | + |
|
| 647 | + if ( $cache === false || $force_api ) { // its not set |
|
| 648 | + $api_ver = $this->get_latest_version_from_api(); |
|
| 649 | + if ( version_compare( $api_ver, $this->latest, '>=' ) >= 0 ) { |
|
| 650 | + $latest_version = $api_ver; |
|
| 651 | + set_transient( 'wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS ); |
|
| 652 | + } |
|
| 653 | + } elseif ( $this->validate_version_number( $cache ) ) { |
|
| 654 | + if ( version_compare( $cache, $this->latest, '>=' ) >= 0 ) { |
|
| 655 | + $latest_version = $cache; |
|
| 656 | + } |
|
| 657 | + } |
|
| 658 | + |
|
| 659 | + // Check and auto download fonts locally. |
|
| 660 | + if ( empty( $this->settings['pro'] ) && empty( $this->settings['version'] ) && $this->settings['type'] != 'KIT' && ! empty( $this->settings['local'] ) && ! empty( $this->settings['local_version'] ) && ! empty( $latest_version ) ) { |
|
| 661 | + if ( version_compare( $latest_version, $this->settings['local_version'], '>' ) && is_admin() && ! wp_doing_ajax() ) { |
|
| 662 | + $this->download_package( $latest_version ); |
|
| 663 | + } |
|
| 664 | + } |
|
| 665 | + |
|
| 666 | + return $latest_version; |
|
| 667 | + } |
|
| 668 | + |
|
| 669 | + /** |
|
| 670 | + * Get the latest Font Awesome version from the github API. |
|
| 671 | + * |
|
| 672 | + * @since 1.0.7 |
|
| 673 | + * @return string The latest version number or `0` on API fail. |
|
| 674 | + */ |
|
| 675 | + public function get_latest_version_from_api() { |
|
| 676 | + $version = "0"; |
|
| 677 | + $response = wp_remote_get( "https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest" ); |
|
| 678 | + if ( ! is_wp_error( $response ) && is_array( $response ) ) { |
|
| 679 | + $api_response = json_decode( wp_remote_retrieve_body( $response ), true ); |
|
| 680 | + if ( isset( $api_response['tag_name'] ) && version_compare( $api_response['tag_name'], $this->latest, '>=' ) >= 0 && empty( $api_response['prerelease'] ) ) { |
|
| 681 | + $version = $api_response['tag_name']; |
|
| 682 | + } |
|
| 683 | + } |
|
| 684 | + |
|
| 685 | + return $version; |
|
| 686 | + } |
|
| 687 | + |
|
| 688 | + /** |
|
| 689 | + * Inline CSS for RTL language support. |
|
| 690 | + * |
|
| 691 | + * @since 1.0.13 |
|
| 692 | + * @return string Inline CSS. |
|
| 693 | + */ |
|
| 694 | + public function rtl_inline_css() { |
|
| 695 | + $inline_css = '[dir=rtl] .fa-address,[dir=rtl] .fa-address-card,[dir=rtl] .fa-adjust,[dir=rtl] .fa-alarm-clock,[dir=rtl] .fa-align-left,[dir=rtl] .fa-align-right,[dir=rtl] .fa-analytics,[dir=rtl] .fa-angle-double-left,[dir=rtl] .fa-angle-double-right,[dir=rtl] .fa-angle-left,[dir=rtl] .fa-angle-right,[dir=rtl] .fa-arrow-alt-circle-left,[dir=rtl] .fa-arrow-alt-circle-right,[dir=rtl] .fa-arrow-alt-from-left,[dir=rtl] .fa-arrow-alt-from-right,[dir=rtl] .fa-arrow-alt-left,[dir=rtl] .fa-arrow-alt-right,[dir=rtl] .fa-arrow-alt-square-left,[dir=rtl] .fa-arrow-alt-square-right,[dir=rtl] .fa-arrow-alt-to-left,[dir=rtl] .fa-arrow-alt-to-right,[dir=rtl] .fa-arrow-circle-left,[dir=rtl] .fa-arrow-circle-right,[dir=rtl] .fa-arrow-from-left,[dir=rtl] .fa-arrow-from-right,[dir=rtl] .fa-arrow-left,[dir=rtl] .fa-arrow-right,[dir=rtl] .fa-arrow-square-left,[dir=rtl] .fa-arrow-square-right,[dir=rtl] .fa-arrow-to-left,[dir=rtl] .fa-arrow-to-right,[dir=rtl] .fa-balance-scale-left,[dir=rtl] .fa-balance-scale-right,[dir=rtl] .fa-bed,[dir=rtl] .fa-bed-bunk,[dir=rtl] .fa-bed-empty,[dir=rtl] .fa-border-left,[dir=rtl] .fa-border-right,[dir=rtl] .fa-calendar-check,[dir=rtl] .fa-caret-circle-left,[dir=rtl] .fa-caret-circle-right,[dir=rtl] .fa-caret-left,[dir=rtl] .fa-caret-right,[dir=rtl] .fa-caret-square-left,[dir=rtl] .fa-caret-square-right,[dir=rtl] .fa-cart-arrow-down,[dir=rtl] .fa-cart-plus,[dir=rtl] .fa-chart-area,[dir=rtl] .fa-chart-bar,[dir=rtl] .fa-chart-line,[dir=rtl] .fa-chart-line-down,[dir=rtl] .fa-chart-network,[dir=rtl] .fa-chart-pie,[dir=rtl] .fa-chart-pie-alt,[dir=rtl] .fa-chart-scatter,[dir=rtl] .fa-check-circle,[dir=rtl] .fa-check-square,[dir=rtl] .fa-chevron-circle-left,[dir=rtl] .fa-chevron-circle-right,[dir=rtl] .fa-chevron-double-left,[dir=rtl] .fa-chevron-double-right,[dir=rtl] .fa-chevron-left,[dir=rtl] .fa-chevron-right,[dir=rtl] .fa-chevron-square-left,[dir=rtl] .fa-chevron-square-right,[dir=rtl] .fa-clock,[dir=rtl] .fa-file,[dir=rtl] .fa-file-alt,[dir=rtl] .fa-file-archive,[dir=rtl] .fa-file-audio,[dir=rtl] .fa-file-chart-line,[dir=rtl] .fa-file-chart-pie,[dir=rtl] .fa-file-code,[dir=rtl] .fa-file-excel,[dir=rtl] .fa-file-image,[dir=rtl] .fa-file-pdf,[dir=rtl] .fa-file-powerpoint,[dir=rtl] .fa-file-video,[dir=rtl] .fa-file-word,[dir=rtl] .fa-flag,[dir=rtl] .fa-folder,[dir=rtl] .fa-folder-open,[dir=rtl] .fa-hand-lizard,[dir=rtl] .fa-hand-point-down,[dir=rtl] .fa-hand-point-left,[dir=rtl] .fa-hand-point-right,[dir=rtl] .fa-hand-point-up,[dir=rtl] .fa-hand-scissors,[dir=rtl] .fa-image,[dir=rtl] .fa-long-arrow-alt-left,[dir=rtl] .fa-long-arrow-alt-right,[dir=rtl] .fa-long-arrow-left,[dir=rtl] .fa-long-arrow-right,[dir=rtl] .fa-luggage-cart,[dir=rtl] .fa-moon,[dir=rtl] .fa-pencil,[dir=rtl] .fa-pencil-alt,[dir=rtl] .fa-play-circle,[dir=rtl] .fa-project-diagram,[dir=rtl] .fa-quote-left,[dir=rtl] .fa-quote-right,[dir=rtl] .fa-shopping-cart,[dir=rtl] .fa-thumbs-down,[dir=rtl] .fa-thumbs-up,[dir=rtl] .fa-user-chart{filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);transform:scale(-1,1)}[dir=rtl] .fa-spin{animation-direction:reverse}'; |
|
| 696 | + |
|
| 697 | + return $inline_css; |
|
| 698 | + } |
|
| 699 | + |
|
| 700 | + /** |
|
| 701 | + * Show any warnings as an admin notice. |
|
| 702 | + * |
|
| 703 | + * @return void |
|
| 704 | + */ |
|
| 705 | + public function admin_notices() { |
|
| 706 | + $settings = $this->settings; |
|
| 707 | + |
|
| 708 | + if ( defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 709 | + if ( ! empty( $_REQUEST['page'] ) && $_REQUEST['page'] == 'wp-font-awesome-settings' ) { |
|
| 710 | + ?> |
|
| 711 | 711 | <div class="notice notice-error is-dismissible"> |
| 712 | 712 | <p><?php _e( 'The Official Font Awesome Plugin is active, please adjust your settings there.', 'font-awesome-settings' ); ?></p> |
| 713 | 713 | </div> |
| 714 | 714 | <?php |
| 715 | - } |
|
| 716 | - } else { |
|
| 717 | - if ( ! empty( $settings ) ) { |
|
| 718 | - if ( $settings['type'] != 'KIT' && $settings['pro'] && ( $settings['version'] == '' || version_compare( $settings['version'], '6', '>=' ) ) ) { |
|
| 719 | - $link = admin_url('options-general.php?page=wp-font-awesome-settings'); |
|
| 720 | - ?> |
|
| 715 | + } |
|
| 716 | + } else { |
|
| 717 | + if ( ! empty( $settings ) ) { |
|
| 718 | + if ( $settings['type'] != 'KIT' && $settings['pro'] && ( $settings['version'] == '' || version_compare( $settings['version'], '6', '>=' ) ) ) { |
|
| 719 | + $link = admin_url('options-general.php?page=wp-font-awesome-settings'); |
|
| 720 | + ?> |
|
| 721 | 721 | <div class="notice notice-error is-dismissible"> |
| 722 | 722 | <p><?php echo sprintf( __( 'Font Awesome Pro v6 requires the use of a kit, please setup your kit in %ssettings.%s', 'font-awesome-settings' ),"<a href='". esc_url_raw( $link )."'>","</a>" ); ?></p> |
| 723 | 723 | </div> |
| 724 | 724 | <?php |
| 725 | - } |
|
| 726 | - } |
|
| 727 | - } |
|
| 728 | - } |
|
| 729 | - |
|
| 730 | - /** |
|
| 731 | - * Handle fontawesome add settings to download fontawesome to store locally. |
|
| 732 | - * |
|
| 733 | - * @since 1.1.1 |
|
| 734 | - * |
|
| 735 | - * @param string $option The option name. |
|
| 736 | - * @param mixed $value The option value. |
|
| 737 | - */ |
|
| 738 | - public function add_option_wp_font_awesome_settings( $option, $value ) { |
|
| 739 | - // Do nothing if WordPress is being installed. |
|
| 740 | - if ( wp_installing() ) { |
|
| 741 | - return; |
|
| 742 | - } |
|
| 743 | - |
|
| 744 | - if ( ! empty( $value['local'] ) && empty( $value['pro'] ) && ! ( ! empty( $value['type'] ) && $value['type'] == 'KIT' ) ) { |
|
| 745 | - $version = isset( $value['version'] ) && $value['version'] ? $value['version'] : $this->get_latest_version(); |
|
| 746 | - |
|
| 747 | - if ( ! empty( $version ) ) { |
|
| 748 | - $response = $this->download_package( $version, $value ); |
|
| 749 | - |
|
| 750 | - if ( is_wp_error( $response ) ) { |
|
| 751 | - add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'font-awesome-settings' ) . ' ' . $response->get_error_message(), 'error' ); |
|
| 752 | - } |
|
| 753 | - } |
|
| 754 | - } |
|
| 755 | - } |
|
| 756 | - |
|
| 757 | - /** |
|
| 758 | - * Handle fontawesome update settings to download fontawesome to store locally. |
|
| 759 | - * |
|
| 760 | - * @since 1.1.0 |
|
| 761 | - * |
|
| 762 | - * @param mixed $old_value The old option value. |
|
| 763 | - * @param mixed $value The new option value. |
|
| 764 | - */ |
|
| 765 | - public function update_option_wp_font_awesome_settings( $old_value, $new_value ) { |
|
| 766 | - // Do nothing if WordPress is being installed. |
|
| 767 | - if ( wp_installing() ) { |
|
| 768 | - return; |
|
| 769 | - } |
|
| 770 | - |
|
| 771 | - if ( ! empty( $new_value['local'] ) && empty( $new_value['pro'] ) && ! ( ! empty( $new_value['type'] ) && $new_value['type'] == 'KIT' ) ) { |
|
| 772 | - // Old values |
|
| 773 | - $old_version = isset( $old_value['version'] ) && $old_value['version'] ? $old_value['version'] : ( isset( $old_value['local_version'] ) ? $old_value['local_version'] : '' ); |
|
| 774 | - $old_local = isset( $old_value['local'] ) ? (int) $old_value['local'] : 0; |
|
| 775 | - |
|
| 776 | - // New values |
|
| 777 | - $new_version = isset( $new_value['version'] ) && $new_value['version'] ? $new_value['version'] : $this->get_latest_version(); |
|
| 778 | - |
|
| 779 | - if ( empty( $old_local ) || $old_version !== $new_version || ! file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) { |
|
| 780 | - $response = $this->download_package( $new_version, $new_value ); |
|
| 781 | - |
|
| 782 | - if ( is_wp_error( $response ) ) { |
|
| 783 | - add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'font-awesome-settings' ) . ' ' . $response->get_error_message(), 'error' ); |
|
| 784 | - } |
|
| 785 | - } |
|
| 786 | - } |
|
| 787 | - } |
|
| 788 | - |
|
| 789 | - /** |
|
| 790 | - * Get the fonts directory local path. |
|
| 791 | - * |
|
| 792 | - * @since 1.1.0 |
|
| 793 | - * |
|
| 794 | - * @param string Fonts directory local path. |
|
| 795 | - */ |
|
| 796 | - public function get_fonts_dir() { |
|
| 797 | - $upload_dir = wp_upload_dir( null, false ); |
|
| 798 | - |
|
| 799 | - return $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'ayefonts' . DIRECTORY_SEPARATOR . 'fa' . DIRECTORY_SEPARATOR; |
|
| 800 | - } |
|
| 801 | - |
|
| 802 | - /** |
|
| 803 | - * Get the fonts directory local url. |
|
| 804 | - * |
|
| 805 | - * @since 1.1.0 |
|
| 806 | - * |
|
| 807 | - * @param string Fonts directory local url. |
|
| 808 | - */ |
|
| 809 | - public function get_fonts_url() { |
|
| 810 | - $upload_dir = wp_upload_dir( null, false ); |
|
| 811 | - |
|
| 812 | - return $upload_dir['baseurl'] . '/ayefonts/fa/'; |
|
| 813 | - } |
|
| 814 | - |
|
| 815 | - /** |
|
| 816 | - * Check whether load locally active. |
|
| 817 | - * |
|
| 818 | - * @since 1.1.0 |
|
| 819 | - * |
|
| 820 | - * @return bool True if active else false. |
|
| 821 | - */ |
|
| 822 | - public function has_local() { |
|
| 823 | - if ( ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) && file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) { |
|
| 824 | - return true; |
|
| 825 | - } |
|
| 826 | - |
|
| 827 | - return false; |
|
| 828 | - } |
|
| 829 | - |
|
| 830 | - /** |
|
| 831 | - * Get the WP Filesystem access. |
|
| 832 | - * |
|
| 833 | - * @since 1.1.0 |
|
| 834 | - * |
|
| 835 | - * @return object The WP Filesystem. |
|
| 836 | - */ |
|
| 837 | - public function get_wp_filesystem() { |
|
| 838 | - if ( ! function_exists( 'get_filesystem_method' ) ) { |
|
| 839 | - require_once( ABSPATH . "/wp-admin/includes/file.php" ); |
|
| 840 | - } |
|
| 841 | - |
|
| 842 | - $access_type = get_filesystem_method(); |
|
| 843 | - |
|
| 844 | - if ( $access_type === 'direct' ) { |
|
| 845 | - /* You can safely run request_filesystem_credentials() without any issues and don't need to worry about passing in a URL */ |
|
| 846 | - $creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() ); |
|
| 847 | - |
|
| 848 | - /* Initialize the API */ |
|
| 849 | - if ( ! WP_Filesystem( $creds ) ) { |
|
| 850 | - /* Any problems and we exit */ |
|
| 851 | - return false; |
|
| 852 | - } |
|
| 853 | - |
|
| 854 | - global $wp_filesystem; |
|
| 855 | - |
|
| 856 | - return $wp_filesystem; |
|
| 857 | - /* Do our file manipulations below */ |
|
| 858 | - } else if ( defined( 'FTP_USER' ) ) { |
|
| 859 | - $creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() ); |
|
| 860 | - |
|
| 861 | - /* Initialize the API */ |
|
| 862 | - if ( ! WP_Filesystem( $creds ) ) { |
|
| 863 | - /* Any problems and we exit */ |
|
| 864 | - return false; |
|
| 865 | - } |
|
| 866 | - |
|
| 867 | - global $wp_filesystem; |
|
| 868 | - |
|
| 869 | - return $wp_filesystem; |
|
| 870 | - } else { |
|
| 871 | - /* Don't have direct write access. Prompt user with our notice */ |
|
| 872 | - return false; |
|
| 873 | - } |
|
| 874 | - } |
|
| 875 | - |
|
| 876 | - /** |
|
| 877 | - * Download the fontawesome package file. |
|
| 878 | - * |
|
| 879 | - * @since 1.1.0 |
|
| 880 | - * |
|
| 881 | - * @param mixed $version The font awesome. |
|
| 882 | - * @param array $option Fontawesome settings. |
|
| 883 | - * @return WP_ERROR|bool Error on fail and true on success. |
|
| 884 | - */ |
|
| 885 | - public function download_package( $version, $option = array() ) { |
|
| 886 | - $filename = 'fontawesome-free-' . $version . '-web'; |
|
| 887 | - $url = 'https://use.fontawesome.com/releases/v' . $version . '/' . $filename . '.zip'; |
|
| 888 | - |
|
| 889 | - if ( ! function_exists( 'wp_handle_upload' ) ) { |
|
| 890 | - require_once ABSPATH . 'wp-admin/includes/file.php'; |
|
| 891 | - } |
|
| 892 | - |
|
| 893 | - $download_file = download_url( esc_url_raw( $url ) ); |
|
| 894 | - |
|
| 895 | - if ( is_wp_error( $download_file ) ) { |
|
| 896 | - return new WP_Error( 'fontawesome_download_failed', __( $download_file->get_error_message(), 'font-awesome-settings' ) ); |
|
| 897 | - } else if ( empty( $download_file ) ) { |
|
| 898 | - return new WP_Error( 'fontawesome_download_failed', __( 'Something went wrong in downloading the font awesome to store locally.', 'font-awesome-settings' ) ); |
|
| 899 | - } |
|
| 900 | - |
|
| 901 | - $response = $this->extract_package( $download_file, $filename, true ); |
|
| 902 | - |
|
| 903 | - // Update local version. |
|
| 904 | - if ( is_wp_error( $response ) ) { |
|
| 905 | - return $response; |
|
| 906 | - } else if ( $response ) { |
|
| 907 | - if ( empty( $option ) ) { |
|
| 908 | - $option = get_option( 'wp-font-awesome-settings' ); |
|
| 909 | - } |
|
| 910 | - |
|
| 911 | - $option['local_version'] = $version; |
|
| 912 | - |
|
| 913 | - // Remove action to prevent looping. |
|
| 914 | - remove_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 915 | - |
|
| 916 | - update_option( 'wp-font-awesome-settings', $option ); |
|
| 917 | - |
|
| 918 | - return true; |
|
| 919 | - } |
|
| 920 | - |
|
| 921 | - return false; |
|
| 922 | - } |
|
| 923 | - |
|
| 924 | - /** |
|
| 925 | - * Extract the fontawesome package file. |
|
| 926 | - * |
|
| 927 | - * @since 1.1.0 |
|
| 928 | - * |
|
| 929 | - * @param string $package The package file path. |
|
| 930 | - * @param string $dirname Package file name. |
|
| 931 | - * @param bool $delete_package Delete temp file or not. |
|
| 932 | - * @return WP_Error|bool True on success WP_Error on fail. |
|
| 933 | - */ |
|
| 934 | - public function extract_package( $package, $dirname = '', $delete_package = false ) { |
|
| 935 | - global $wp_filesystem; |
|
| 936 | - |
|
| 937 | - $wp_filesystem = $this->get_wp_filesystem(); |
|
| 938 | - |
|
| 939 | - if ( empty( $wp_filesystem ) && isset( $wp_filesystem->errors ) && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() ) { |
|
| 940 | - return new WP_Error( 'fontawesome_filesystem_error', __( $wp_filesystem->errors->get_error_message(), 'font-awesome-settings' ) ); |
|
| 941 | - } else if ( empty( $wp_filesystem ) ) { |
|
| 942 | - return new WP_Error( 'fontawesome_filesystem_error', __( 'Failed to initialise WP_Filesystem while trying to download the Font Awesome package.', 'font-awesome-settings' ) ); |
|
| 943 | - } |
|
| 944 | - |
|
| 945 | - $fonts_dir = $this->get_fonts_dir(); |
|
| 946 | - $fonts_tmp_dir = dirname( $fonts_dir ) . DIRECTORY_SEPARATOR . 'fa-tmp' . DIRECTORY_SEPARATOR; |
|
| 947 | - |
|
| 948 | - if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) { |
|
| 949 | - $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 950 | - } |
|
| 951 | - |
|
| 952 | - // Unzip package to working directory. |
|
| 953 | - $result = unzip_file( $package, $fonts_tmp_dir ); |
|
| 954 | - |
|
| 955 | - if ( is_wp_error( $result ) ) { |
|
| 956 | - $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 957 | - |
|
| 958 | - if ( 'incompatible_archive' === $result->get_error_code() ) { |
|
| 959 | - return new WP_Error( 'fontawesome_incompatible_archive', __( $result->get_error_message(), 'font-awesome-settings' ) ); |
|
| 960 | - } |
|
| 961 | - |
|
| 962 | - return $result; |
|
| 963 | - } |
|
| 964 | - |
|
| 965 | - if ( $wp_filesystem->is_dir( $fonts_dir ) ) { |
|
| 966 | - $wp_filesystem->delete( $fonts_dir, true ); |
|
| 967 | - } |
|
| 968 | - |
|
| 969 | - $extract_dir = $fonts_tmp_dir; |
|
| 970 | - |
|
| 971 | - if ( $dirname && $wp_filesystem->is_dir( $extract_dir . $dirname . DIRECTORY_SEPARATOR ) ) { |
|
| 972 | - $extract_dir .= $dirname . DIRECTORY_SEPARATOR; |
|
| 973 | - } |
|
| 974 | - |
|
| 975 | - try { |
|
| 976 | - $return = $wp_filesystem->move( $extract_dir, $fonts_dir, true ); |
|
| 977 | - } catch ( Exception $e ) { |
|
| 978 | - $return = new WP_Error( 'fontawesome_move_package', __( 'Fail to move font awesome package!', 'font-awesome-settings' ) ); |
|
| 979 | - } |
|
| 980 | - |
|
| 981 | - if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) { |
|
| 982 | - $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 983 | - } |
|
| 984 | - |
|
| 985 | - // Once extracted, delete the package if required. |
|
| 986 | - if ( $delete_package ) { |
|
| 987 | - unlink( $package ); |
|
| 988 | - } |
|
| 989 | - |
|
| 990 | - return $return; |
|
| 991 | - } |
|
| 992 | - } |
|
| 993 | - |
|
| 994 | - /** |
|
| 995 | - * Run the class if found. |
|
| 996 | - */ |
|
| 997 | - WP_Font_Awesome_Settings::instance(); |
|
| 725 | + } |
|
| 726 | + } |
|
| 727 | + } |
|
| 728 | + } |
|
| 729 | + |
|
| 730 | + /** |
|
| 731 | + * Handle fontawesome add settings to download fontawesome to store locally. |
|
| 732 | + * |
|
| 733 | + * @since 1.1.1 |
|
| 734 | + * |
|
| 735 | + * @param string $option The option name. |
|
| 736 | + * @param mixed $value The option value. |
|
| 737 | + */ |
|
| 738 | + public function add_option_wp_font_awesome_settings( $option, $value ) { |
|
| 739 | + // Do nothing if WordPress is being installed. |
|
| 740 | + if ( wp_installing() ) { |
|
| 741 | + return; |
|
| 742 | + } |
|
| 743 | + |
|
| 744 | + if ( ! empty( $value['local'] ) && empty( $value['pro'] ) && ! ( ! empty( $value['type'] ) && $value['type'] == 'KIT' ) ) { |
|
| 745 | + $version = isset( $value['version'] ) && $value['version'] ? $value['version'] : $this->get_latest_version(); |
|
| 746 | + |
|
| 747 | + if ( ! empty( $version ) ) { |
|
| 748 | + $response = $this->download_package( $version, $value ); |
|
| 749 | + |
|
| 750 | + if ( is_wp_error( $response ) ) { |
|
| 751 | + add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'font-awesome-settings' ) . ' ' . $response->get_error_message(), 'error' ); |
|
| 752 | + } |
|
| 753 | + } |
|
| 754 | + } |
|
| 755 | + } |
|
| 756 | + |
|
| 757 | + /** |
|
| 758 | + * Handle fontawesome update settings to download fontawesome to store locally. |
|
| 759 | + * |
|
| 760 | + * @since 1.1.0 |
|
| 761 | + * |
|
| 762 | + * @param mixed $old_value The old option value. |
|
| 763 | + * @param mixed $value The new option value. |
|
| 764 | + */ |
|
| 765 | + public function update_option_wp_font_awesome_settings( $old_value, $new_value ) { |
|
| 766 | + // Do nothing if WordPress is being installed. |
|
| 767 | + if ( wp_installing() ) { |
|
| 768 | + return; |
|
| 769 | + } |
|
| 770 | + |
|
| 771 | + if ( ! empty( $new_value['local'] ) && empty( $new_value['pro'] ) && ! ( ! empty( $new_value['type'] ) && $new_value['type'] == 'KIT' ) ) { |
|
| 772 | + // Old values |
|
| 773 | + $old_version = isset( $old_value['version'] ) && $old_value['version'] ? $old_value['version'] : ( isset( $old_value['local_version'] ) ? $old_value['local_version'] : '' ); |
|
| 774 | + $old_local = isset( $old_value['local'] ) ? (int) $old_value['local'] : 0; |
|
| 775 | + |
|
| 776 | + // New values |
|
| 777 | + $new_version = isset( $new_value['version'] ) && $new_value['version'] ? $new_value['version'] : $this->get_latest_version(); |
|
| 778 | + |
|
| 779 | + if ( empty( $old_local ) || $old_version !== $new_version || ! file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) { |
|
| 780 | + $response = $this->download_package( $new_version, $new_value ); |
|
| 781 | + |
|
| 782 | + if ( is_wp_error( $response ) ) { |
|
| 783 | + add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'font-awesome-settings' ) . ' ' . $response->get_error_message(), 'error' ); |
|
| 784 | + } |
|
| 785 | + } |
|
| 786 | + } |
|
| 787 | + } |
|
| 788 | + |
|
| 789 | + /** |
|
| 790 | + * Get the fonts directory local path. |
|
| 791 | + * |
|
| 792 | + * @since 1.1.0 |
|
| 793 | + * |
|
| 794 | + * @param string Fonts directory local path. |
|
| 795 | + */ |
|
| 796 | + public function get_fonts_dir() { |
|
| 797 | + $upload_dir = wp_upload_dir( null, false ); |
|
| 798 | + |
|
| 799 | + return $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'ayefonts' . DIRECTORY_SEPARATOR . 'fa' . DIRECTORY_SEPARATOR; |
|
| 800 | + } |
|
| 801 | + |
|
| 802 | + /** |
|
| 803 | + * Get the fonts directory local url. |
|
| 804 | + * |
|
| 805 | + * @since 1.1.0 |
|
| 806 | + * |
|
| 807 | + * @param string Fonts directory local url. |
|
| 808 | + */ |
|
| 809 | + public function get_fonts_url() { |
|
| 810 | + $upload_dir = wp_upload_dir( null, false ); |
|
| 811 | + |
|
| 812 | + return $upload_dir['baseurl'] . '/ayefonts/fa/'; |
|
| 813 | + } |
|
| 814 | + |
|
| 815 | + /** |
|
| 816 | + * Check whether load locally active. |
|
| 817 | + * |
|
| 818 | + * @since 1.1.0 |
|
| 819 | + * |
|
| 820 | + * @return bool True if active else false. |
|
| 821 | + */ |
|
| 822 | + public function has_local() { |
|
| 823 | + if ( ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) && file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) { |
|
| 824 | + return true; |
|
| 825 | + } |
|
| 826 | + |
|
| 827 | + return false; |
|
| 828 | + } |
|
| 829 | + |
|
| 830 | + /** |
|
| 831 | + * Get the WP Filesystem access. |
|
| 832 | + * |
|
| 833 | + * @since 1.1.0 |
|
| 834 | + * |
|
| 835 | + * @return object The WP Filesystem. |
|
| 836 | + */ |
|
| 837 | + public function get_wp_filesystem() { |
|
| 838 | + if ( ! function_exists( 'get_filesystem_method' ) ) { |
|
| 839 | + require_once( ABSPATH . "/wp-admin/includes/file.php" ); |
|
| 840 | + } |
|
| 841 | + |
|
| 842 | + $access_type = get_filesystem_method(); |
|
| 843 | + |
|
| 844 | + if ( $access_type === 'direct' ) { |
|
| 845 | + /* You can safely run request_filesystem_credentials() without any issues and don't need to worry about passing in a URL */ |
|
| 846 | + $creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() ); |
|
| 847 | + |
|
| 848 | + /* Initialize the API */ |
|
| 849 | + if ( ! WP_Filesystem( $creds ) ) { |
|
| 850 | + /* Any problems and we exit */ |
|
| 851 | + return false; |
|
| 852 | + } |
|
| 853 | + |
|
| 854 | + global $wp_filesystem; |
|
| 855 | + |
|
| 856 | + return $wp_filesystem; |
|
| 857 | + /* Do our file manipulations below */ |
|
| 858 | + } else if ( defined( 'FTP_USER' ) ) { |
|
| 859 | + $creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() ); |
|
| 860 | + |
|
| 861 | + /* Initialize the API */ |
|
| 862 | + if ( ! WP_Filesystem( $creds ) ) { |
|
| 863 | + /* Any problems and we exit */ |
|
| 864 | + return false; |
|
| 865 | + } |
|
| 866 | + |
|
| 867 | + global $wp_filesystem; |
|
| 868 | + |
|
| 869 | + return $wp_filesystem; |
|
| 870 | + } else { |
|
| 871 | + /* Don't have direct write access. Prompt user with our notice */ |
|
| 872 | + return false; |
|
| 873 | + } |
|
| 874 | + } |
|
| 875 | + |
|
| 876 | + /** |
|
| 877 | + * Download the fontawesome package file. |
|
| 878 | + * |
|
| 879 | + * @since 1.1.0 |
|
| 880 | + * |
|
| 881 | + * @param mixed $version The font awesome. |
|
| 882 | + * @param array $option Fontawesome settings. |
|
| 883 | + * @return WP_ERROR|bool Error on fail and true on success. |
|
| 884 | + */ |
|
| 885 | + public function download_package( $version, $option = array() ) { |
|
| 886 | + $filename = 'fontawesome-free-' . $version . '-web'; |
|
| 887 | + $url = 'https://use.fontawesome.com/releases/v' . $version . '/' . $filename . '.zip'; |
|
| 888 | + |
|
| 889 | + if ( ! function_exists( 'wp_handle_upload' ) ) { |
|
| 890 | + require_once ABSPATH . 'wp-admin/includes/file.php'; |
|
| 891 | + } |
|
| 892 | + |
|
| 893 | + $download_file = download_url( esc_url_raw( $url ) ); |
|
| 894 | + |
|
| 895 | + if ( is_wp_error( $download_file ) ) { |
|
| 896 | + return new WP_Error( 'fontawesome_download_failed', __( $download_file->get_error_message(), 'font-awesome-settings' ) ); |
|
| 897 | + } else if ( empty( $download_file ) ) { |
|
| 898 | + return new WP_Error( 'fontawesome_download_failed', __( 'Something went wrong in downloading the font awesome to store locally.', 'font-awesome-settings' ) ); |
|
| 899 | + } |
|
| 900 | + |
|
| 901 | + $response = $this->extract_package( $download_file, $filename, true ); |
|
| 902 | + |
|
| 903 | + // Update local version. |
|
| 904 | + if ( is_wp_error( $response ) ) { |
|
| 905 | + return $response; |
|
| 906 | + } else if ( $response ) { |
|
| 907 | + if ( empty( $option ) ) { |
|
| 908 | + $option = get_option( 'wp-font-awesome-settings' ); |
|
| 909 | + } |
|
| 910 | + |
|
| 911 | + $option['local_version'] = $version; |
|
| 912 | + |
|
| 913 | + // Remove action to prevent looping. |
|
| 914 | + remove_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 915 | + |
|
| 916 | + update_option( 'wp-font-awesome-settings', $option ); |
|
| 917 | + |
|
| 918 | + return true; |
|
| 919 | + } |
|
| 920 | + |
|
| 921 | + return false; |
|
| 922 | + } |
|
| 923 | + |
|
| 924 | + /** |
|
| 925 | + * Extract the fontawesome package file. |
|
| 926 | + * |
|
| 927 | + * @since 1.1.0 |
|
| 928 | + * |
|
| 929 | + * @param string $package The package file path. |
|
| 930 | + * @param string $dirname Package file name. |
|
| 931 | + * @param bool $delete_package Delete temp file or not. |
|
| 932 | + * @return WP_Error|bool True on success WP_Error on fail. |
|
| 933 | + */ |
|
| 934 | + public function extract_package( $package, $dirname = '', $delete_package = false ) { |
|
| 935 | + global $wp_filesystem; |
|
| 936 | + |
|
| 937 | + $wp_filesystem = $this->get_wp_filesystem(); |
|
| 938 | + |
|
| 939 | + if ( empty( $wp_filesystem ) && isset( $wp_filesystem->errors ) && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() ) { |
|
| 940 | + return new WP_Error( 'fontawesome_filesystem_error', __( $wp_filesystem->errors->get_error_message(), 'font-awesome-settings' ) ); |
|
| 941 | + } else if ( empty( $wp_filesystem ) ) { |
|
| 942 | + return new WP_Error( 'fontawesome_filesystem_error', __( 'Failed to initialise WP_Filesystem while trying to download the Font Awesome package.', 'font-awesome-settings' ) ); |
|
| 943 | + } |
|
| 944 | + |
|
| 945 | + $fonts_dir = $this->get_fonts_dir(); |
|
| 946 | + $fonts_tmp_dir = dirname( $fonts_dir ) . DIRECTORY_SEPARATOR . 'fa-tmp' . DIRECTORY_SEPARATOR; |
|
| 947 | + |
|
| 948 | + if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) { |
|
| 949 | + $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 950 | + } |
|
| 951 | + |
|
| 952 | + // Unzip package to working directory. |
|
| 953 | + $result = unzip_file( $package, $fonts_tmp_dir ); |
|
| 954 | + |
|
| 955 | + if ( is_wp_error( $result ) ) { |
|
| 956 | + $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 957 | + |
|
| 958 | + if ( 'incompatible_archive' === $result->get_error_code() ) { |
|
| 959 | + return new WP_Error( 'fontawesome_incompatible_archive', __( $result->get_error_message(), 'font-awesome-settings' ) ); |
|
| 960 | + } |
|
| 961 | + |
|
| 962 | + return $result; |
|
| 963 | + } |
|
| 964 | + |
|
| 965 | + if ( $wp_filesystem->is_dir( $fonts_dir ) ) { |
|
| 966 | + $wp_filesystem->delete( $fonts_dir, true ); |
|
| 967 | + } |
|
| 968 | + |
|
| 969 | + $extract_dir = $fonts_tmp_dir; |
|
| 970 | + |
|
| 971 | + if ( $dirname && $wp_filesystem->is_dir( $extract_dir . $dirname . DIRECTORY_SEPARATOR ) ) { |
|
| 972 | + $extract_dir .= $dirname . DIRECTORY_SEPARATOR; |
|
| 973 | + } |
|
| 974 | + |
|
| 975 | + try { |
|
| 976 | + $return = $wp_filesystem->move( $extract_dir, $fonts_dir, true ); |
|
| 977 | + } catch ( Exception $e ) { |
|
| 978 | + $return = new WP_Error( 'fontawesome_move_package', __( 'Fail to move font awesome package!', 'font-awesome-settings' ) ); |
|
| 979 | + } |
|
| 980 | + |
|
| 981 | + if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) { |
|
| 982 | + $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 983 | + } |
|
| 984 | + |
|
| 985 | + // Once extracted, delete the package if required. |
|
| 986 | + if ( $delete_package ) { |
|
| 987 | + unlink( $package ); |
|
| 988 | + } |
|
| 989 | + |
|
| 990 | + return $return; |
|
| 991 | + } |
|
| 992 | + } |
|
| 993 | + |
|
| 994 | + /** |
|
| 995 | + * Run the class if found. |
|
| 996 | + */ |
|
| 997 | + WP_Font_Awesome_Settings::instance(); |
|
| 998 | 998 | } |
@@ -13,7 +13,7 @@ discard block |
||
| 13 | 13 | * Bail if we are not in WP. |
| 14 | 14 | */ |
| 15 | 15 | if ( ! defined( 'ABSPATH' ) ) { |
| 16 | - exit; |
|
| 16 | + exit; |
|
| 17 | 17 | } |
| 18 | 18 | |
| 19 | 19 | /** |
@@ -21,480 +21,480 @@ discard block |
||
| 21 | 21 | */ |
| 22 | 22 | if ( ! class_exists( 'AyeCode_UI_Settings' ) ) { |
| 23 | 23 | |
| 24 | - /** |
|
| 25 | - * A Class to be able to change settings for Font Awesome. |
|
| 26 | - * |
|
| 27 | - * Class AyeCode_UI_Settings |
|
| 28 | - * @ver 1.0.0 |
|
| 29 | - * @todo decide how to implement textdomain |
|
| 30 | - */ |
|
| 31 | - class AyeCode_UI_Settings { |
|
| 32 | - |
|
| 33 | - /** |
|
| 34 | - * Class version version. |
|
| 35 | - * |
|
| 36 | - * @var string |
|
| 37 | - */ |
|
| 38 | - public $version = '0.2.0'; |
|
| 39 | - |
|
| 40 | - /** |
|
| 41 | - * Class textdomain. |
|
| 42 | - * |
|
| 43 | - * @var string |
|
| 44 | - */ |
|
| 45 | - public $textdomain = 'aui'; |
|
| 46 | - |
|
| 47 | - /** |
|
| 48 | - * Latest version of Bootstrap at time of publish published. |
|
| 49 | - * |
|
| 50 | - * @var string |
|
| 51 | - */ |
|
| 52 | - public $latest = "5.2.2"; |
|
| 53 | - |
|
| 54 | - /** |
|
| 55 | - * Current version of select2 being used. |
|
| 56 | - * |
|
| 57 | - * @var string |
|
| 58 | - */ |
|
| 59 | - public $select2_version = "4.0.11"; |
|
| 60 | - |
|
| 61 | - /** |
|
| 62 | - * The title. |
|
| 63 | - * |
|
| 64 | - * @var string |
|
| 65 | - */ |
|
| 66 | - public $name = 'AyeCode UI'; |
|
| 67 | - |
|
| 68 | - /** |
|
| 69 | - * The relative url to the assets. |
|
| 70 | - * |
|
| 71 | - * @var string |
|
| 72 | - */ |
|
| 73 | - public $url = ''; |
|
| 74 | - |
|
| 75 | - /** |
|
| 76 | - * Holds the settings values. |
|
| 77 | - * |
|
| 78 | - * @var array |
|
| 79 | - */ |
|
| 80 | - private $settings; |
|
| 81 | - |
|
| 82 | - /** |
|
| 83 | - * AyeCode_UI_Settings instance. |
|
| 84 | - * |
|
| 85 | - * @access private |
|
| 86 | - * @since 1.0.0 |
|
| 87 | - * @var AyeCode_UI_Settings There can be only one! |
|
| 88 | - */ |
|
| 89 | - private static $instance = null; |
|
| 90 | - |
|
| 91 | - |
|
| 92 | - /** |
|
| 93 | - * Main AyeCode_UI_Settings Instance. |
|
| 94 | - * |
|
| 95 | - * Ensures only one instance of AyeCode_UI_Settings is loaded or can be loaded. |
|
| 96 | - * |
|
| 97 | - * @since 1.0.0 |
|
| 98 | - * @static |
|
| 99 | - * @return AyeCode_UI_Settings - Main instance. |
|
| 100 | - */ |
|
| 101 | - public static function instance() { |
|
| 102 | - if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) { |
|
| 103 | - |
|
| 104 | - self::$instance = new AyeCode_UI_Settings; |
|
| 105 | - |
|
| 106 | - add_action( 'init', array( self::$instance, 'init' ) ); // set settings |
|
| 107 | - |
|
| 108 | - if ( is_admin() ) { |
|
| 109 | - add_action( 'admin_menu', array( self::$instance, 'menu_item' ) ); |
|
| 110 | - add_action( 'admin_init', array( self::$instance, 'register_settings' ) ); |
|
| 111 | - |
|
| 112 | - // Maybe show example page |
|
| 113 | - add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) ); |
|
| 114 | - |
|
| 115 | - if ( defined( 'BLOCKSTRAP_VERSION' ) ) { |
|
| 116 | - add_filter( 'sd_aui_colors', array( self::$instance,'sd_aui_colors' ), 10, 3 ); |
|
| 117 | - } |
|
| 118 | - } |
|
| 24 | + /** |
|
| 25 | + * A Class to be able to change settings for Font Awesome. |
|
| 26 | + * |
|
| 27 | + * Class AyeCode_UI_Settings |
|
| 28 | + * @ver 1.0.0 |
|
| 29 | + * @todo decide how to implement textdomain |
|
| 30 | + */ |
|
| 31 | + class AyeCode_UI_Settings { |
|
| 32 | + |
|
| 33 | + /** |
|
| 34 | + * Class version version. |
|
| 35 | + * |
|
| 36 | + * @var string |
|
| 37 | + */ |
|
| 38 | + public $version = '0.2.0'; |
|
| 39 | + |
|
| 40 | + /** |
|
| 41 | + * Class textdomain. |
|
| 42 | + * |
|
| 43 | + * @var string |
|
| 44 | + */ |
|
| 45 | + public $textdomain = 'aui'; |
|
| 46 | + |
|
| 47 | + /** |
|
| 48 | + * Latest version of Bootstrap at time of publish published. |
|
| 49 | + * |
|
| 50 | + * @var string |
|
| 51 | + */ |
|
| 52 | + public $latest = "5.2.2"; |
|
| 53 | + |
|
| 54 | + /** |
|
| 55 | + * Current version of select2 being used. |
|
| 56 | + * |
|
| 57 | + * @var string |
|
| 58 | + */ |
|
| 59 | + public $select2_version = "4.0.11"; |
|
| 60 | + |
|
| 61 | + /** |
|
| 62 | + * The title. |
|
| 63 | + * |
|
| 64 | + * @var string |
|
| 65 | + */ |
|
| 66 | + public $name = 'AyeCode UI'; |
|
| 67 | + |
|
| 68 | + /** |
|
| 69 | + * The relative url to the assets. |
|
| 70 | + * |
|
| 71 | + * @var string |
|
| 72 | + */ |
|
| 73 | + public $url = ''; |
|
| 74 | + |
|
| 75 | + /** |
|
| 76 | + * Holds the settings values. |
|
| 77 | + * |
|
| 78 | + * @var array |
|
| 79 | + */ |
|
| 80 | + private $settings; |
|
| 81 | + |
|
| 82 | + /** |
|
| 83 | + * AyeCode_UI_Settings instance. |
|
| 84 | + * |
|
| 85 | + * @access private |
|
| 86 | + * @since 1.0.0 |
|
| 87 | + * @var AyeCode_UI_Settings There can be only one! |
|
| 88 | + */ |
|
| 89 | + private static $instance = null; |
|
| 90 | + |
|
| 91 | + |
|
| 92 | + /** |
|
| 93 | + * Main AyeCode_UI_Settings Instance. |
|
| 94 | + * |
|
| 95 | + * Ensures only one instance of AyeCode_UI_Settings is loaded or can be loaded. |
|
| 96 | + * |
|
| 97 | + * @since 1.0.0 |
|
| 98 | + * @static |
|
| 99 | + * @return AyeCode_UI_Settings - Main instance. |
|
| 100 | + */ |
|
| 101 | + public static function instance() { |
|
| 102 | + if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) { |
|
| 103 | + |
|
| 104 | + self::$instance = new AyeCode_UI_Settings; |
|
| 105 | + |
|
| 106 | + add_action( 'init', array( self::$instance, 'init' ) ); // set settings |
|
| 107 | + |
|
| 108 | + if ( is_admin() ) { |
|
| 109 | + add_action( 'admin_menu', array( self::$instance, 'menu_item' ) ); |
|
| 110 | + add_action( 'admin_init', array( self::$instance, 'register_settings' ) ); |
|
| 111 | + |
|
| 112 | + // Maybe show example page |
|
| 113 | + add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) ); |
|
| 114 | + |
|
| 115 | + if ( defined( 'BLOCKSTRAP_VERSION' ) ) { |
|
| 116 | + add_filter( 'sd_aui_colors', array( self::$instance,'sd_aui_colors' ), 10, 3 ); |
|
| 117 | + } |
|
| 118 | + } |
|
| 119 | 119 | |
| 120 | - add_action( 'customize_register', array( self::$instance, 'customizer_settings' )); |
|
| 120 | + add_action( 'customize_register', array( self::$instance, 'customizer_settings' )); |
|
| 121 | 121 | |
| 122 | - do_action( 'ayecode_ui_settings_loaded' ); |
|
| 123 | - } |
|
| 122 | + do_action( 'ayecode_ui_settings_loaded' ); |
|
| 123 | + } |
|
| 124 | 124 | |
| 125 | - return self::$instance; |
|
| 126 | - } |
|
| 125 | + return self::$instance; |
|
| 126 | + } |
|
| 127 | 127 | |
| 128 | - /** |
|
| 129 | - * Add custom colors to the color selector. |
|
| 130 | - * |
|
| 131 | - * @param $theme_colors |
|
| 132 | - * @param $include_outlines |
|
| 133 | - * @param $include_branding |
|
| 134 | - * |
|
| 135 | - * @return mixed |
|
| 136 | - */ |
|
| 137 | - public function sd_aui_colors( $theme_colors, $include_outlines, $include_branding ){ |
|
| 128 | + /** |
|
| 129 | + * Add custom colors to the color selector. |
|
| 130 | + * |
|
| 131 | + * @param $theme_colors |
|
| 132 | + * @param $include_outlines |
|
| 133 | + * @param $include_branding |
|
| 134 | + * |
|
| 135 | + * @return mixed |
|
| 136 | + */ |
|
| 137 | + public function sd_aui_colors( $theme_colors, $include_outlines, $include_branding ){ |
|
| 138 | 138 | |
| 139 | 139 | |
| 140 | - $setting = wp_get_global_settings(); |
|
| 140 | + $setting = wp_get_global_settings(); |
|
| 141 | 141 | |
| 142 | - if(!empty($setting['color']['palette']['custom'])){ |
|
| 143 | - foreach($setting['color']['palette']['custom'] as $color){ |
|
| 144 | - $theme_colors[$color['slug']] = esc_attr($color['name']); |
|
| 145 | - } |
|
| 146 | - } |
|
| 147 | - |
|
| 148 | - return $theme_colors; |
|
| 149 | - } |
|
| 150 | - |
|
| 151 | - /** |
|
| 152 | - * Setup some constants. |
|
| 153 | - */ |
|
| 154 | - public function constants(){ |
|
| 155 | - define( 'AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be" ); |
|
| 156 | - define( 'AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d' ); |
|
| 157 | - define( 'AUI_INFO_COLOR_ORIGINAL', '#17a2b8' ); |
|
| 158 | - define( 'AUI_WARNING_COLOR_ORIGINAL', '#ffc107' ); |
|
| 159 | - define( 'AUI_DANGER_COLOR_ORIGINAL', '#dc3545' ); |
|
| 160 | - define( 'AUI_SUCCESS_COLOR_ORIGINAL', '#44c553' ); |
|
| 161 | - define( 'AUI_LIGHT_COLOR_ORIGINAL', '#f8f9fa' ); |
|
| 162 | - define( 'AUI_DARK_COLOR_ORIGINAL', '#343a40' ); |
|
| 163 | - define( 'AUI_WHITE_COLOR_ORIGINAL', '#fff' ); |
|
| 164 | - define( 'AUI_PURPLE_COLOR_ORIGINAL', '#ad6edd' ); |
|
| 165 | - define( 'AUI_SALMON_COLOR_ORIGINAL', '#ff977a' ); |
|
| 166 | - define( 'AUI_CYAN_COLOR_ORIGINAL', '#35bdff' ); |
|
| 167 | - define( 'AUI_GRAY_COLOR_ORIGINAL', '#ced4da' ); |
|
| 168 | - define( 'AUI_INDIGO_COLOR_ORIGINAL', '#502c6c' ); |
|
| 169 | - define( 'AUI_ORANGE_COLOR_ORIGINAL', '#orange' ); |
|
| 170 | - define( 'AUI_BLACK_COLOR_ORIGINAL', '#000' ); |
|
| 171 | - |
|
| 172 | - if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) { |
|
| 173 | - define( 'AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL ); |
|
| 174 | - } |
|
| 175 | - if ( ! defined( 'AUI_SECONDARY_COLOR' ) ) { |
|
| 176 | - define( 'AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL ); |
|
| 177 | - } |
|
| 178 | - if ( ! defined( 'AUI_INFO_COLOR' ) ) { |
|
| 179 | - define( 'AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL ); |
|
| 180 | - } |
|
| 181 | - if ( ! defined( 'AUI_WARNING_COLOR' ) ) { |
|
| 182 | - define( 'AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL ); |
|
| 183 | - } |
|
| 184 | - if ( ! defined( 'AUI_DANGER_COLOR' ) ) { |
|
| 185 | - define( 'AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL ); |
|
| 186 | - } |
|
| 187 | - if ( ! defined( 'AUI_SUCCESS_COLOR' ) ) { |
|
| 188 | - define( 'AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL ); |
|
| 189 | - } |
|
| 190 | - if ( ! defined( 'AUI_LIGHT_COLOR' ) ) { |
|
| 191 | - define( 'AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL ); |
|
| 192 | - } |
|
| 193 | - if ( ! defined( 'AUI_DARK_COLOR' ) ) { |
|
| 194 | - define( 'AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL ); |
|
| 195 | - } |
|
| 196 | - if ( ! defined( 'AUI_WHITE_COLOR' ) ) { |
|
| 197 | - define( 'AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL ); |
|
| 198 | - } |
|
| 199 | - if ( ! defined( 'AUI_PURPLE_COLOR' ) ) { |
|
| 200 | - define( 'AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL ); |
|
| 201 | - } |
|
| 202 | - if ( ! defined( 'AUI_SALMON_COLOR' ) ) { |
|
| 203 | - define( 'AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL ); |
|
| 204 | - } |
|
| 205 | - if ( ! defined( 'AUI_CYAN_COLOR' ) ) { |
|
| 206 | - define( 'AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL ); |
|
| 207 | - } |
|
| 208 | - if ( ! defined( 'AUI_GRAY_COLOR' ) ) { |
|
| 209 | - define( 'AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL ); |
|
| 210 | - } |
|
| 211 | - if ( ! defined( 'AUI_INDIGO_COLOR' ) ) { |
|
| 212 | - define( 'AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL ); |
|
| 213 | - } |
|
| 214 | - if ( ! defined( 'AUI_ORANGE_COLOR' ) ) { |
|
| 215 | - define( 'AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL ); |
|
| 216 | - } |
|
| 217 | - if ( ! defined( 'AUI_BLACK_COLOR' ) ) { |
|
| 218 | - define( 'AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL ); |
|
| 219 | - } |
|
| 220 | - |
|
| 221 | - } |
|
| 222 | - |
|
| 223 | - public static function get_colors( $original = false){ |
|
| 224 | - |
|
| 225 | - if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) { |
|
| 226 | - return array(); |
|
| 227 | - } |
|
| 228 | - if ( $original ) { |
|
| 229 | - return array( |
|
| 230 | - 'primary' => AUI_PRIMARY_COLOR_ORIGINAL, |
|
| 231 | - 'secondary' => AUI_SECONDARY_COLOR_ORIGINAL, |
|
| 232 | - 'info' => AUI_INFO_COLOR_ORIGINAL, |
|
| 233 | - 'warning' => AUI_WARNING_COLOR_ORIGINAL, |
|
| 234 | - 'danger' => AUI_DANGER_COLOR_ORIGINAL, |
|
| 235 | - 'success' => AUI_SUCCESS_COLOR_ORIGINAL, |
|
| 236 | - 'light' => AUI_LIGHT_COLOR_ORIGINAL, |
|
| 237 | - 'dark' => AUI_DARK_COLOR_ORIGINAL, |
|
| 238 | - 'white' => AUI_WHITE_COLOR_ORIGINAL, |
|
| 239 | - 'purple' => AUI_PURPLE_COLOR_ORIGINAL, |
|
| 240 | - 'salmon' => AUI_SALMON_COLOR_ORIGINAL, |
|
| 241 | - 'cyan' => AUI_CYAN_COLOR_ORIGINAL, |
|
| 242 | - 'gray' => AUI_GRAY_COLOR_ORIGINAL, |
|
| 243 | - 'indigo' => AUI_INDIGO_COLOR_ORIGINAL, |
|
| 244 | - 'orange' => AUI_ORANGE_COLOR_ORIGINAL, |
|
| 245 | - 'black' => AUI_BLACK_COLOR_ORIGINAL, |
|
| 246 | - ); |
|
| 247 | - } |
|
| 248 | - |
|
| 249 | - return array( |
|
| 250 | - 'primary' => AUI_PRIMARY_COLOR, |
|
| 251 | - 'secondary' => AUI_SECONDARY_COLOR, |
|
| 252 | - 'info' => AUI_INFO_COLOR, |
|
| 253 | - 'warning' => AUI_WARNING_COLOR, |
|
| 254 | - 'danger' => AUI_DANGER_COLOR, |
|
| 255 | - 'success' => AUI_SUCCESS_COLOR, |
|
| 256 | - 'light' => AUI_LIGHT_COLOR, |
|
| 257 | - 'dark' => AUI_DARK_COLOR, |
|
| 258 | - 'white' => AUI_WHITE_COLOR, |
|
| 259 | - 'purple' => AUI_PURPLE_COLOR, |
|
| 260 | - 'salmon' => AUI_SALMON_COLOR, |
|
| 261 | - 'cyan' => AUI_CYAN_COLOR, |
|
| 262 | - 'gray' => AUI_GRAY_COLOR, |
|
| 263 | - 'indigo' => AUI_INDIGO_COLOR, |
|
| 264 | - 'orange' => AUI_ORANGE_COLOR, |
|
| 265 | - 'black' => AUI_BLACK_COLOR, |
|
| 266 | - ); |
|
| 267 | - } |
|
| 268 | - |
|
| 269 | - /** |
|
| 270 | - * Add admin body class to show when BS5 is active. |
|
| 271 | - * |
|
| 272 | - * @param $classes |
|
| 273 | - * |
|
| 274 | - * @return mixed |
|
| 275 | - */ |
|
| 276 | - public function add_bs5_admin_body_class( $classes = '' ) { |
|
| 277 | - $classes .= ' aui_bs5'; |
|
| 278 | - |
|
| 279 | - return $classes; |
|
| 280 | - } |
|
| 281 | - |
|
| 282 | - /** |
|
| 283 | - * Add a body class to show when BS5 is active. |
|
| 284 | - * |
|
| 285 | - * @param $classes |
|
| 286 | - * |
|
| 287 | - * @return mixed |
|
| 288 | - */ |
|
| 289 | - public function add_bs5_body_class( $classes ) { |
|
| 290 | - $classes[] = 'aui_bs5'; |
|
| 291 | - |
|
| 292 | - return $classes; |
|
| 293 | - } |
|
| 294 | - |
|
| 295 | - /** |
|
| 296 | - * Initiate the settings and add the required action hooks. |
|
| 297 | - */ |
|
| 298 | - public function init() { |
|
| 142 | + if(!empty($setting['color']['palette']['custom'])){ |
|
| 143 | + foreach($setting['color']['palette']['custom'] as $color){ |
|
| 144 | + $theme_colors[$color['slug']] = esc_attr($color['name']); |
|
| 145 | + } |
|
| 146 | + } |
|
| 147 | + |
|
| 148 | + return $theme_colors; |
|
| 149 | + } |
|
| 150 | + |
|
| 151 | + /** |
|
| 152 | + * Setup some constants. |
|
| 153 | + */ |
|
| 154 | + public function constants(){ |
|
| 155 | + define( 'AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be" ); |
|
| 156 | + define( 'AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d' ); |
|
| 157 | + define( 'AUI_INFO_COLOR_ORIGINAL', '#17a2b8' ); |
|
| 158 | + define( 'AUI_WARNING_COLOR_ORIGINAL', '#ffc107' ); |
|
| 159 | + define( 'AUI_DANGER_COLOR_ORIGINAL', '#dc3545' ); |
|
| 160 | + define( 'AUI_SUCCESS_COLOR_ORIGINAL', '#44c553' ); |
|
| 161 | + define( 'AUI_LIGHT_COLOR_ORIGINAL', '#f8f9fa' ); |
|
| 162 | + define( 'AUI_DARK_COLOR_ORIGINAL', '#343a40' ); |
|
| 163 | + define( 'AUI_WHITE_COLOR_ORIGINAL', '#fff' ); |
|
| 164 | + define( 'AUI_PURPLE_COLOR_ORIGINAL', '#ad6edd' ); |
|
| 165 | + define( 'AUI_SALMON_COLOR_ORIGINAL', '#ff977a' ); |
|
| 166 | + define( 'AUI_CYAN_COLOR_ORIGINAL', '#35bdff' ); |
|
| 167 | + define( 'AUI_GRAY_COLOR_ORIGINAL', '#ced4da' ); |
|
| 168 | + define( 'AUI_INDIGO_COLOR_ORIGINAL', '#502c6c' ); |
|
| 169 | + define( 'AUI_ORANGE_COLOR_ORIGINAL', '#orange' ); |
|
| 170 | + define( 'AUI_BLACK_COLOR_ORIGINAL', '#000' ); |
|
| 171 | + |
|
| 172 | + if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) { |
|
| 173 | + define( 'AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL ); |
|
| 174 | + } |
|
| 175 | + if ( ! defined( 'AUI_SECONDARY_COLOR' ) ) { |
|
| 176 | + define( 'AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL ); |
|
| 177 | + } |
|
| 178 | + if ( ! defined( 'AUI_INFO_COLOR' ) ) { |
|
| 179 | + define( 'AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL ); |
|
| 180 | + } |
|
| 181 | + if ( ! defined( 'AUI_WARNING_COLOR' ) ) { |
|
| 182 | + define( 'AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL ); |
|
| 183 | + } |
|
| 184 | + if ( ! defined( 'AUI_DANGER_COLOR' ) ) { |
|
| 185 | + define( 'AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL ); |
|
| 186 | + } |
|
| 187 | + if ( ! defined( 'AUI_SUCCESS_COLOR' ) ) { |
|
| 188 | + define( 'AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL ); |
|
| 189 | + } |
|
| 190 | + if ( ! defined( 'AUI_LIGHT_COLOR' ) ) { |
|
| 191 | + define( 'AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL ); |
|
| 192 | + } |
|
| 193 | + if ( ! defined( 'AUI_DARK_COLOR' ) ) { |
|
| 194 | + define( 'AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL ); |
|
| 195 | + } |
|
| 196 | + if ( ! defined( 'AUI_WHITE_COLOR' ) ) { |
|
| 197 | + define( 'AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL ); |
|
| 198 | + } |
|
| 199 | + if ( ! defined( 'AUI_PURPLE_COLOR' ) ) { |
|
| 200 | + define( 'AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL ); |
|
| 201 | + } |
|
| 202 | + if ( ! defined( 'AUI_SALMON_COLOR' ) ) { |
|
| 203 | + define( 'AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL ); |
|
| 204 | + } |
|
| 205 | + if ( ! defined( 'AUI_CYAN_COLOR' ) ) { |
|
| 206 | + define( 'AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL ); |
|
| 207 | + } |
|
| 208 | + if ( ! defined( 'AUI_GRAY_COLOR' ) ) { |
|
| 209 | + define( 'AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL ); |
|
| 210 | + } |
|
| 211 | + if ( ! defined( 'AUI_INDIGO_COLOR' ) ) { |
|
| 212 | + define( 'AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL ); |
|
| 213 | + } |
|
| 214 | + if ( ! defined( 'AUI_ORANGE_COLOR' ) ) { |
|
| 215 | + define( 'AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL ); |
|
| 216 | + } |
|
| 217 | + if ( ! defined( 'AUI_BLACK_COLOR' ) ) { |
|
| 218 | + define( 'AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL ); |
|
| 219 | + } |
|
| 220 | + |
|
| 221 | + } |
|
| 222 | + |
|
| 223 | + public static function get_colors( $original = false){ |
|
| 224 | + |
|
| 225 | + if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) { |
|
| 226 | + return array(); |
|
| 227 | + } |
|
| 228 | + if ( $original ) { |
|
| 229 | + return array( |
|
| 230 | + 'primary' => AUI_PRIMARY_COLOR_ORIGINAL, |
|
| 231 | + 'secondary' => AUI_SECONDARY_COLOR_ORIGINAL, |
|
| 232 | + 'info' => AUI_INFO_COLOR_ORIGINAL, |
|
| 233 | + 'warning' => AUI_WARNING_COLOR_ORIGINAL, |
|
| 234 | + 'danger' => AUI_DANGER_COLOR_ORIGINAL, |
|
| 235 | + 'success' => AUI_SUCCESS_COLOR_ORIGINAL, |
|
| 236 | + 'light' => AUI_LIGHT_COLOR_ORIGINAL, |
|
| 237 | + 'dark' => AUI_DARK_COLOR_ORIGINAL, |
|
| 238 | + 'white' => AUI_WHITE_COLOR_ORIGINAL, |
|
| 239 | + 'purple' => AUI_PURPLE_COLOR_ORIGINAL, |
|
| 240 | + 'salmon' => AUI_SALMON_COLOR_ORIGINAL, |
|
| 241 | + 'cyan' => AUI_CYAN_COLOR_ORIGINAL, |
|
| 242 | + 'gray' => AUI_GRAY_COLOR_ORIGINAL, |
|
| 243 | + 'indigo' => AUI_INDIGO_COLOR_ORIGINAL, |
|
| 244 | + 'orange' => AUI_ORANGE_COLOR_ORIGINAL, |
|
| 245 | + 'black' => AUI_BLACK_COLOR_ORIGINAL, |
|
| 246 | + ); |
|
| 247 | + } |
|
| 248 | + |
|
| 249 | + return array( |
|
| 250 | + 'primary' => AUI_PRIMARY_COLOR, |
|
| 251 | + 'secondary' => AUI_SECONDARY_COLOR, |
|
| 252 | + 'info' => AUI_INFO_COLOR, |
|
| 253 | + 'warning' => AUI_WARNING_COLOR, |
|
| 254 | + 'danger' => AUI_DANGER_COLOR, |
|
| 255 | + 'success' => AUI_SUCCESS_COLOR, |
|
| 256 | + 'light' => AUI_LIGHT_COLOR, |
|
| 257 | + 'dark' => AUI_DARK_COLOR, |
|
| 258 | + 'white' => AUI_WHITE_COLOR, |
|
| 259 | + 'purple' => AUI_PURPLE_COLOR, |
|
| 260 | + 'salmon' => AUI_SALMON_COLOR, |
|
| 261 | + 'cyan' => AUI_CYAN_COLOR, |
|
| 262 | + 'gray' => AUI_GRAY_COLOR, |
|
| 263 | + 'indigo' => AUI_INDIGO_COLOR, |
|
| 264 | + 'orange' => AUI_ORANGE_COLOR, |
|
| 265 | + 'black' => AUI_BLACK_COLOR, |
|
| 266 | + ); |
|
| 267 | + } |
|
| 268 | + |
|
| 269 | + /** |
|
| 270 | + * Add admin body class to show when BS5 is active. |
|
| 271 | + * |
|
| 272 | + * @param $classes |
|
| 273 | + * |
|
| 274 | + * @return mixed |
|
| 275 | + */ |
|
| 276 | + public function add_bs5_admin_body_class( $classes = '' ) { |
|
| 277 | + $classes .= ' aui_bs5'; |
|
| 278 | + |
|
| 279 | + return $classes; |
|
| 280 | + } |
|
| 281 | + |
|
| 282 | + /** |
|
| 283 | + * Add a body class to show when BS5 is active. |
|
| 284 | + * |
|
| 285 | + * @param $classes |
|
| 286 | + * |
|
| 287 | + * @return mixed |
|
| 288 | + */ |
|
| 289 | + public function add_bs5_body_class( $classes ) { |
|
| 290 | + $classes[] = 'aui_bs5'; |
|
| 291 | + |
|
| 292 | + return $classes; |
|
| 293 | + } |
|
| 294 | + |
|
| 295 | + /** |
|
| 296 | + * Initiate the settings and add the required action hooks. |
|
| 297 | + */ |
|
| 298 | + public function init() { |
|
| 299 | 299 | global $aui_bs5; |
| 300 | 300 | |
| 301 | - // Maybe fix settings |
|
| 302 | - if ( ! empty( $_REQUEST['aui-fix-admin'] ) && !empty($_REQUEST['nonce']) && wp_verify_nonce( $_REQUEST['nonce'], "aui-fix-admin" ) ) { |
|
| 303 | - $db_settings = get_option( 'ayecode-ui-settings' ); |
|
| 304 | - if ( ! empty( $db_settings ) ) { |
|
| 305 | - $db_settings['css_backend'] = 'compatibility'; |
|
| 306 | - $db_settings['js_backend'] = 'core-popper'; |
|
| 307 | - update_option( 'ayecode-ui-settings', $db_settings ); |
|
| 308 | - wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true")); |
|
| 309 | - } |
|
| 310 | - } |
|
| 301 | + // Maybe fix settings |
|
| 302 | + if ( ! empty( $_REQUEST['aui-fix-admin'] ) && !empty($_REQUEST['nonce']) && wp_verify_nonce( $_REQUEST['nonce'], "aui-fix-admin" ) ) { |
|
| 303 | + $db_settings = get_option( 'ayecode-ui-settings' ); |
|
| 304 | + if ( ! empty( $db_settings ) ) { |
|
| 305 | + $db_settings['css_backend'] = 'compatibility'; |
|
| 306 | + $db_settings['js_backend'] = 'core-popper'; |
|
| 307 | + update_option( 'ayecode-ui-settings', $db_settings ); |
|
| 308 | + wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true")); |
|
| 309 | + } |
|
| 310 | + } |
|
| 311 | 311 | |
| 312 | - $this->constants(); |
|
| 313 | - $this->settings = $this->get_settings(); |
|
| 314 | - $this->url = $this->get_url(); |
|
| 312 | + $this->constants(); |
|
| 313 | + $this->settings = $this->get_settings(); |
|
| 314 | + $this->url = $this->get_url(); |
|
| 315 | 315 | |
| 316 | 316 | // define the version |
| 317 | - $aui_bs5 = $this->settings['bs_ver'] === '5'; |
|
| 318 | - |
|
| 319 | - if ( $aui_bs5 ) { |
|
| 320 | - include_once( dirname( __FILE__ ) . '/inc/bs-conversion.php' ); |
|
| 321 | - add_filter( 'admin_body_class', array( $this, 'add_bs5_admin_body_class' ), 99, 1 ); |
|
| 322 | - add_filter( 'body_class', array( $this, 'add_bs5_body_class' ) ); |
|
| 323 | - } |
|
| 324 | - |
|
| 325 | - /** |
|
| 326 | - * Maybe load CSS |
|
| 327 | - * |
|
| 328 | - * We load super early in case there is a theme version that might change the colors |
|
| 329 | - */ |
|
| 330 | - if ( $this->settings['css'] ) { |
|
| 331 | - $priority = $this->is_bs3_compat() ? 100 : 1; |
|
| 317 | + $aui_bs5 = $this->settings['bs_ver'] === '5'; |
|
| 318 | + |
|
| 319 | + if ( $aui_bs5 ) { |
|
| 320 | + include_once( dirname( __FILE__ ) . '/inc/bs-conversion.php' ); |
|
| 321 | + add_filter( 'admin_body_class', array( $this, 'add_bs5_admin_body_class' ), 99, 1 ); |
|
| 322 | + add_filter( 'body_class', array( $this, 'add_bs5_body_class' ) ); |
|
| 323 | + } |
|
| 324 | + |
|
| 325 | + /** |
|
| 326 | + * Maybe load CSS |
|
| 327 | + * |
|
| 328 | + * We load super early in case there is a theme version that might change the colors |
|
| 329 | + */ |
|
| 330 | + if ( $this->settings['css'] ) { |
|
| 331 | + $priority = $this->is_bs3_compat() ? 100 : 1; |
|
| 332 | 332 | $priority = $aui_bs5 ? 10 : $priority; |
| 333 | - add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), $priority ); |
|
| 334 | - } |
|
| 335 | - if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) { |
|
| 336 | - add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 ); |
|
| 337 | - } |
|
| 338 | - |
|
| 339 | - // maybe load JS |
|
| 340 | - if ( $this->settings['js'] ) { |
|
| 341 | - $priority = $this->is_bs3_compat() ? 100 : 1; |
|
| 342 | - add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority ); |
|
| 343 | - } |
|
| 344 | - if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) { |
|
| 345 | - add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 ); |
|
| 346 | - } |
|
| 347 | - |
|
| 348 | - // Maybe set the HTML font size |
|
| 349 | - if ( $this->settings['html_font_size'] ) { |
|
| 350 | - add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 ); |
|
| 351 | - } |
|
| 352 | - |
|
| 353 | - // Maybe show backend style error |
|
| 354 | - if( $this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper' ){ |
|
| 355 | - add_action( 'admin_notices', array( $this, 'show_admin_style_notice' ) ); |
|
| 356 | - } |
|
| 357 | - |
|
| 358 | - } |
|
| 359 | - |
|
| 360 | - /** |
|
| 361 | - * Show admin notice if backend scripts not loaded. |
|
| 362 | - */ |
|
| 363 | - public function show_admin_style_notice(){ |
|
| 364 | - $fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=".wp_create_nonce('aui-fix-admin')); |
|
| 365 | - $button = '<a href="'.esc_url($fix_url).'" class="button-primary">Fix Now</a>'; |
|
| 366 | - $message = __( '<b>Style Issue:</b> AyeCode UI is disable or set wrong.')." " .$button; |
|
| 367 | - echo '<div class="notice notice-error aui-settings-error-notice"><p>'.$message.'</p></div>'; |
|
| 368 | - } |
|
| 369 | - |
|
| 370 | - /** |
|
| 371 | - * Check if we should load the admin scripts or not. |
|
| 372 | - * |
|
| 373 | - * @return bool |
|
| 374 | - */ |
|
| 375 | - public function load_admin_scripts(){ |
|
| 376 | - $result = true; |
|
| 377 | - |
|
| 378 | - // check if specifically disabled |
|
| 379 | - if(!empty($this->settings['disable_admin'])){ |
|
| 380 | - $url_parts = explode("\n",$this->settings['disable_admin']); |
|
| 381 | - foreach($url_parts as $part){ |
|
| 382 | - if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){ |
|
| 383 | - return false; // return early, no point checking further |
|
| 384 | - } |
|
| 385 | - } |
|
| 386 | - } |
|
| 387 | - |
|
| 388 | - return $result; |
|
| 389 | - } |
|
| 390 | - |
|
| 391 | - /** |
|
| 392 | - * Add a html font size to the footer. |
|
| 393 | - */ |
|
| 394 | - public function html_font_size(){ |
|
| 395 | - $this->settings = $this->get_settings(); |
|
| 396 | - echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>"; |
|
| 397 | - } |
|
| 398 | - |
|
| 399 | - /** |
|
| 400 | - * Check if the current admin screen should load scripts. |
|
| 401 | - * |
|
| 402 | - * @return bool |
|
| 403 | - */ |
|
| 404 | - public function is_aui_screen(){ |
|
| 333 | + add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), $priority ); |
|
| 334 | + } |
|
| 335 | + if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) { |
|
| 336 | + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 ); |
|
| 337 | + } |
|
| 338 | + |
|
| 339 | + // maybe load JS |
|
| 340 | + if ( $this->settings['js'] ) { |
|
| 341 | + $priority = $this->is_bs3_compat() ? 100 : 1; |
|
| 342 | + add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority ); |
|
| 343 | + } |
|
| 344 | + if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) { |
|
| 345 | + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 ); |
|
| 346 | + } |
|
| 347 | + |
|
| 348 | + // Maybe set the HTML font size |
|
| 349 | + if ( $this->settings['html_font_size'] ) { |
|
| 350 | + add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 ); |
|
| 351 | + } |
|
| 352 | + |
|
| 353 | + // Maybe show backend style error |
|
| 354 | + if( $this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper' ){ |
|
| 355 | + add_action( 'admin_notices', array( $this, 'show_admin_style_notice' ) ); |
|
| 356 | + } |
|
| 357 | + |
|
| 358 | + } |
|
| 359 | + |
|
| 360 | + /** |
|
| 361 | + * Show admin notice if backend scripts not loaded. |
|
| 362 | + */ |
|
| 363 | + public function show_admin_style_notice(){ |
|
| 364 | + $fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=".wp_create_nonce('aui-fix-admin')); |
|
| 365 | + $button = '<a href="'.esc_url($fix_url).'" class="button-primary">Fix Now</a>'; |
|
| 366 | + $message = __( '<b>Style Issue:</b> AyeCode UI is disable or set wrong.')." " .$button; |
|
| 367 | + echo '<div class="notice notice-error aui-settings-error-notice"><p>'.$message.'</p></div>'; |
|
| 368 | + } |
|
| 369 | + |
|
| 370 | + /** |
|
| 371 | + * Check if we should load the admin scripts or not. |
|
| 372 | + * |
|
| 373 | + * @return bool |
|
| 374 | + */ |
|
| 375 | + public function load_admin_scripts(){ |
|
| 376 | + $result = true; |
|
| 377 | + |
|
| 378 | + // check if specifically disabled |
|
| 379 | + if(!empty($this->settings['disable_admin'])){ |
|
| 380 | + $url_parts = explode("\n",$this->settings['disable_admin']); |
|
| 381 | + foreach($url_parts as $part){ |
|
| 382 | + if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){ |
|
| 383 | + return false; // return early, no point checking further |
|
| 384 | + } |
|
| 385 | + } |
|
| 386 | + } |
|
| 387 | + |
|
| 388 | + return $result; |
|
| 389 | + } |
|
| 390 | + |
|
| 391 | + /** |
|
| 392 | + * Add a html font size to the footer. |
|
| 393 | + */ |
|
| 394 | + public function html_font_size(){ |
|
| 395 | + $this->settings = $this->get_settings(); |
|
| 396 | + echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>"; |
|
| 397 | + } |
|
| 398 | + |
|
| 399 | + /** |
|
| 400 | + * Check if the current admin screen should load scripts. |
|
| 401 | + * |
|
| 402 | + * @return bool |
|
| 403 | + */ |
|
| 404 | + public function is_aui_screen(){ |
|
| 405 | 405 | // echo '###';exit; |
| 406 | - $load = false; |
|
| 407 | - // check if we should load or not |
|
| 408 | - if ( is_admin() ) { |
|
| 409 | - // Only enable on set pages |
|
| 410 | - $aui_screens = array( |
|
| 411 | - 'page', |
|
| 406 | + $load = false; |
|
| 407 | + // check if we should load or not |
|
| 408 | + if ( is_admin() ) { |
|
| 409 | + // Only enable on set pages |
|
| 410 | + $aui_screens = array( |
|
| 411 | + 'page', |
|
| 412 | 412 | //'docs', |
| 413 | - 'post', |
|
| 414 | - 'settings_page_ayecode-ui-settings', |
|
| 415 | - 'appearance_page_gutenberg-widgets', |
|
| 416 | - 'widgets', |
|
| 417 | - 'ayecode-ui-settings', |
|
| 418 | - 'site-editor' |
|
| 419 | - ); |
|
| 420 | - $screen_ids = apply_filters( 'aui_screen_ids', $aui_screens ); |
|
| 413 | + 'post', |
|
| 414 | + 'settings_page_ayecode-ui-settings', |
|
| 415 | + 'appearance_page_gutenberg-widgets', |
|
| 416 | + 'widgets', |
|
| 417 | + 'ayecode-ui-settings', |
|
| 418 | + 'site-editor' |
|
| 419 | + ); |
|
| 420 | + $screen_ids = apply_filters( 'aui_screen_ids', $aui_screens ); |
|
| 421 | 421 | |
| 422 | - $screen = get_current_screen(); |
|
| 422 | + $screen = get_current_screen(); |
|
| 423 | 423 | |
| 424 | 424 | // echo '###'.$screen->id; |
| 425 | 425 | |
| 426 | - // check if we are on a AUI screen |
|
| 427 | - if ( $screen && in_array( $screen->id, $screen_ids ) ) { |
|
| 428 | - $load = true; |
|
| 429 | - } |
|
| 426 | + // check if we are on a AUI screen |
|
| 427 | + if ( $screen && in_array( $screen->id, $screen_ids ) ) { |
|
| 428 | + $load = true; |
|
| 429 | + } |
|
| 430 | 430 | |
| 431 | - //load for widget previews in WP 5.8 |
|
| 432 | - if( !empty($_REQUEST['legacy-widget-preview'])){ |
|
| 433 | - $load = true; |
|
| 434 | - } |
|
| 435 | - } |
|
| 431 | + //load for widget previews in WP 5.8 |
|
| 432 | + if( !empty($_REQUEST['legacy-widget-preview'])){ |
|
| 433 | + $load = true; |
|
| 434 | + } |
|
| 435 | + } |
|
| 436 | 436 | |
| 437 | 437 | |
| 438 | 438 | |
| 439 | - return apply_filters( 'aui_load_on_admin' , $load ); |
|
| 440 | - } |
|
| 439 | + return apply_filters( 'aui_load_on_admin' , $load ); |
|
| 440 | + } |
|
| 441 | 441 | |
| 442 | - /** |
|
| 443 | - * Check if the current theme is a block theme. |
|
| 444 | - * |
|
| 445 | - * @return bool |
|
| 446 | - */ |
|
| 447 | - public static function is_block_theme() { |
|
| 448 | - if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) { |
|
| 449 | - return true; |
|
| 450 | - } |
|
| 442 | + /** |
|
| 443 | + * Check if the current theme is a block theme. |
|
| 444 | + * |
|
| 445 | + * @return bool |
|
| 446 | + */ |
|
| 447 | + public static function is_block_theme() { |
|
| 448 | + if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) { |
|
| 449 | + return true; |
|
| 450 | + } |
|
| 451 | 451 | |
| 452 | - return false; |
|
| 453 | - } |
|
| 452 | + return false; |
|
| 453 | + } |
|
| 454 | 454 | |
| 455 | - /** |
|
| 456 | - * Adds the styles. |
|
| 457 | - */ |
|
| 458 | - public function enqueue_style() { |
|
| 455 | + /** |
|
| 456 | + * Adds the styles. |
|
| 457 | + */ |
|
| 458 | + public function enqueue_style() { |
|
| 459 | 459 | global $aui_bs5; |
| 460 | 460 | |
| 461 | 461 | $load_fse = false; |
| 462 | 462 | |
| 463 | - if( is_admin() && !$this->is_aui_screen()){ |
|
| 464 | - // don't add wp-admin scripts if not requested to |
|
| 465 | - }else{ |
|
| 466 | - $css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend'; |
|
| 463 | + if( is_admin() && !$this->is_aui_screen()){ |
|
| 464 | + // don't add wp-admin scripts if not requested to |
|
| 465 | + }else{ |
|
| 466 | + $css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend'; |
|
| 467 | 467 | |
| 468 | - $rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : ''; |
|
| 468 | + $rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : ''; |
|
| 469 | 469 | |
| 470 | 470 | $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : ''; |
| 471 | 471 | |
| 472 | - if($this->settings[$css_setting]){ |
|
| 473 | - $compatibility = $this->settings[$css_setting]=='core' ? false : true; |
|
| 474 | - $url = $this->settings[$css_setting]=='core' ? $this->url.'assets'.$bs_ver.'/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets'.$bs_ver.'/css/ayecode-ui-compatibility'.$rtl.'.css'; |
|
| 472 | + if($this->settings[$css_setting]){ |
|
| 473 | + $compatibility = $this->settings[$css_setting]=='core' ? false : true; |
|
| 474 | + $url = $this->settings[$css_setting]=='core' ? $this->url.'assets'.$bs_ver.'/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets'.$bs_ver.'/css/ayecode-ui-compatibility'.$rtl.'.css'; |
|
| 475 | 475 | |
| 476 | 476 | |
| 477 | 477 | |
| 478 | - wp_register_style( 'ayecode-ui', $url, array(), $this->version ); |
|
| 479 | - wp_enqueue_style( 'ayecode-ui' ); |
|
| 478 | + wp_register_style( 'ayecode-ui', $url, array(), $this->version ); |
|
| 479 | + wp_enqueue_style( 'ayecode-ui' ); |
|
| 480 | 480 | |
| 481 | - $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : ''; |
|
| 481 | + $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : ''; |
|
| 482 | 482 | |
| 483 | 483 | // if ( is_admin() && !empty($_REQUEST['postType']) ) { |
| 484 | - if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) ) ) { |
|
| 485 | - $url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css'; |
|
| 486 | - wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version ); |
|
| 487 | - wp_enqueue_style( 'ayecode-ui-fse' ); |
|
| 488 | - $load_fse = true; |
|
| 489 | - } |
|
| 484 | + if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) ) ) { |
|
| 485 | + $url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css'; |
|
| 486 | + wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version ); |
|
| 487 | + wp_enqueue_style( 'ayecode-ui-fse' ); |
|
| 488 | + $load_fse = true; |
|
| 489 | + } |
|
| 490 | 490 | |
| 491 | 491 | |
| 492 | - // flatpickr |
|
| 493 | - wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version ); |
|
| 492 | + // flatpickr |
|
| 493 | + wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version ); |
|
| 494 | 494 | |
| 495 | - // fix some wp-admin issues |
|
| 496 | - if(is_admin()){ |
|
| 497 | - $custom_css = " |
|
| 495 | + // fix some wp-admin issues |
|
| 496 | + if(is_admin()){ |
|
| 497 | + $custom_css = " |
|
| 498 | 498 | body{ |
| 499 | 499 | background-color: #f1f1f1; |
| 500 | 500 | font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif; |
@@ -540,67 +540,67 @@ discard block |
||
| 540 | 540 | } |
| 541 | 541 | "; |
| 542 | 542 | |
| 543 | - // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377 |
|
| 544 | - $custom_css .= " |
|
| 543 | + // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377 |
|
| 544 | + $custom_css .= " |
|
| 545 | 545 | .edit-post-sidebar input[type=color].components-text-control__input{ |
| 546 | 546 | padding: 0; |
| 547 | 547 | } |
| 548 | 548 | "; |
| 549 | - wp_add_inline_style( 'ayecode-ui', $custom_css ); |
|
| 550 | - } |
|
| 549 | + wp_add_inline_style( 'ayecode-ui', $custom_css ); |
|
| 550 | + } |
|
| 551 | 551 | |
| 552 | - // custom changes |
|
| 553 | - if ( $load_fse ) { |
|
| 554 | - wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) ); |
|
| 555 | - }else{ |
|
| 556 | - wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) ); |
|
| 552 | + // custom changes |
|
| 553 | + if ( $load_fse ) { |
|
| 554 | + wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) ); |
|
| 555 | + }else{ |
|
| 556 | + wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) ); |
|
| 557 | 557 | |
| 558 | - } |
|
| 558 | + } |
|
| 559 | 559 | |
| 560 | - } |
|
| 561 | - } |
|
| 560 | + } |
|
| 561 | + } |
|
| 562 | 562 | |
| 563 | 563 | |
| 564 | - } |
|
| 564 | + } |
|
| 565 | 565 | |
| 566 | - /** |
|
| 567 | - * Get inline script used if bootstrap enqueued |
|
| 568 | - * |
|
| 569 | - * If this remains small then its best to use this than to add another JS file. |
|
| 570 | - */ |
|
| 571 | - public function inline_script() { |
|
| 566 | + /** |
|
| 567 | + * Get inline script used if bootstrap enqueued |
|
| 568 | + * |
|
| 569 | + * If this remains small then its best to use this than to add another JS file. |
|
| 570 | + */ |
|
| 571 | + public function inline_script() { |
|
| 572 | 572 | global $aui_bs5; |
| 573 | - // Flatpickr calendar locale |
|
| 574 | - $flatpickr_locale = self::flatpickr_locale(); |
|
| 575 | - |
|
| 576 | - ob_start(); |
|
| 577 | - if ( $aui_bs5 ) { |
|
| 578 | - include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' ); |
|
| 579 | - }else{ |
|
| 580 | - include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' ); |
|
| 573 | + // Flatpickr calendar locale |
|
| 574 | + $flatpickr_locale = self::flatpickr_locale(); |
|
| 575 | + |
|
| 576 | + ob_start(); |
|
| 577 | + if ( $aui_bs5 ) { |
|
| 578 | + include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' ); |
|
| 579 | + }else{ |
|
| 580 | + include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' ); |
|
| 581 | 581 | } |
| 582 | 582 | |
| 583 | - $output = ob_get_clean(); |
|
| 583 | + $output = ob_get_clean(); |
|
| 584 | 584 | |
| 585 | - /* |
|
| 585 | + /* |
|
| 586 | 586 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 587 | 587 | */ |
| 588 | - return str_replace( array( |
|
| 589 | - '<script>', |
|
| 590 | - '</script>' |
|
| 591 | - ), '', self::minify_js($output) ); |
|
| 592 | - } |
|
| 593 | - |
|
| 594 | - |
|
| 595 | - /** |
|
| 596 | - * JS to help with conflict issues with other plugins and themes using bootstrap v3. |
|
| 597 | - * |
|
| 598 | - * @TODO we may need this when other conflicts arrise. |
|
| 599 | - * @return mixed |
|
| 600 | - */ |
|
| 601 | - public static function bs3_compat_js() { |
|
| 602 | - ob_start(); |
|
| 603 | - ?> |
|
| 588 | + return str_replace( array( |
|
| 589 | + '<script>', |
|
| 590 | + '</script>' |
|
| 591 | + ), '', self::minify_js($output) ); |
|
| 592 | + } |
|
| 593 | + |
|
| 594 | + |
|
| 595 | + /** |
|
| 596 | + * JS to help with conflict issues with other plugins and themes using bootstrap v3. |
|
| 597 | + * |
|
| 598 | + * @TODO we may need this when other conflicts arrise. |
|
| 599 | + * @return mixed |
|
| 600 | + */ |
|
| 601 | + public static function bs3_compat_js() { |
|
| 602 | + ob_start(); |
|
| 603 | + ?> |
|
| 604 | 604 | <script> |
| 605 | 605 | <?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?> |
| 606 | 606 | /* With Avada builder */ |
@@ -608,20 +608,20 @@ discard block |
||
| 608 | 608 | <?php } ?> |
| 609 | 609 | </script> |
| 610 | 610 | <?php |
| 611 | - return str_replace( array( |
|
| 612 | - '<script>', |
|
| 613 | - '</script>' |
|
| 614 | - ), '', ob_get_clean()); |
|
| 615 | - } |
|
| 616 | - |
|
| 617 | - /** |
|
| 618 | - * Get inline script used if bootstrap file browser enqueued. |
|
| 619 | - * |
|
| 620 | - * If this remains small then its best to use this than to add another JS file. |
|
| 621 | - */ |
|
| 622 | - public function inline_script_file_browser(){ |
|
| 623 | - ob_start(); |
|
| 624 | - ?> |
|
| 611 | + return str_replace( array( |
|
| 612 | + '<script>', |
|
| 613 | + '</script>' |
|
| 614 | + ), '', ob_get_clean()); |
|
| 615 | + } |
|
| 616 | + |
|
| 617 | + /** |
|
| 618 | + * Get inline script used if bootstrap file browser enqueued. |
|
| 619 | + * |
|
| 620 | + * If this remains small then its best to use this than to add another JS file. |
|
| 621 | + */ |
|
| 622 | + public function inline_script_file_browser(){ |
|
| 623 | + ob_start(); |
|
| 624 | + ?> |
|
| 625 | 625 | <script> |
| 626 | 626 | // run on doc ready |
| 627 | 627 | jQuery(document).ready(function () { |
@@ -629,247 +629,247 @@ discard block |
||
| 629 | 629 | }); |
| 630 | 630 | </script> |
| 631 | 631 | <?php |
| 632 | - $output = ob_get_clean(); |
|
| 632 | + $output = ob_get_clean(); |
|
| 633 | 633 | |
| 634 | - /* |
|
| 634 | + /* |
|
| 635 | 635 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 636 | 636 | */ |
| 637 | - return str_replace( array( |
|
| 638 | - '<script>', |
|
| 639 | - '</script>' |
|
| 640 | - ), '', $output ); |
|
| 641 | - } |
|
| 637 | + return str_replace( array( |
|
| 638 | + '<script>', |
|
| 639 | + '</script>' |
|
| 640 | + ), '', $output ); |
|
| 641 | + } |
|
| 642 | 642 | |
| 643 | - /** |
|
| 644 | - * Adds the Font Awesome JS. |
|
| 645 | - */ |
|
| 646 | - public function enqueue_scripts() { |
|
| 643 | + /** |
|
| 644 | + * Adds the Font Awesome JS. |
|
| 645 | + */ |
|
| 646 | + public function enqueue_scripts() { |
|
| 647 | 647 | |
| 648 | - if( is_admin() && !$this->is_aui_screen()){ |
|
| 649 | - // don't add wp-admin scripts if not requested to |
|
| 650 | - }else { |
|
| 648 | + if( is_admin() && !$this->is_aui_screen()){ |
|
| 649 | + // don't add wp-admin scripts if not requested to |
|
| 650 | + }else { |
|
| 651 | 651 | |
| 652 | - $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend'; |
|
| 652 | + $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend'; |
|
| 653 | 653 | |
| 654 | - $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : ''; |
|
| 654 | + $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : ''; |
|
| 655 | 655 | |
| 656 | - // select2 |
|
| 657 | - wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version ); |
|
| 656 | + // select2 |
|
| 657 | + wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version ); |
|
| 658 | 658 | |
| 659 | - // flatpickr |
|
| 660 | - wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version ); |
|
| 659 | + // flatpickr |
|
| 660 | + wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version ); |
|
| 661 | 661 | |
| 662 | - // iconpicker |
|
| 663 | - if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) { |
|
| 664 | - wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version ); |
|
| 665 | - }else{ |
|
| 666 | - wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version ); |
|
| 667 | - } |
|
| 662 | + // iconpicker |
|
| 663 | + if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) { |
|
| 664 | + wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version ); |
|
| 665 | + }else{ |
|
| 666 | + wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version ); |
|
| 667 | + } |
|
| 668 | 668 | |
| 669 | - // Bootstrap file browser |
|
| 670 | - wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version ); |
|
| 671 | - wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() ); |
|
| 672 | - |
|
| 673 | - $load_inline = false; |
|
| 674 | - |
|
| 675 | - if ( $this->settings[ $js_setting ] == 'core-popper' ) { |
|
| 676 | - // Bootstrap bundle |
|
| 677 | - $url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js'; |
|
| 678 | - wp_register_script( 'bootstrap-js-bundle', $url, array( |
|
| 679 | - 'select2', |
|
| 680 | - 'jquery' |
|
| 681 | - ), $this->version, $this->is_bs3_compat() ); |
|
| 682 | - // if in admin then add to footer for compatibility. |
|
| 683 | - is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' ); |
|
| 684 | - $script = $this->inline_script(); |
|
| 685 | - wp_add_inline_script( 'bootstrap-js-bundle', $script ); |
|
| 686 | - } elseif ( $this->settings[ $js_setting ] == 'popper' ) { |
|
| 687 | - $url = $this->url . 'assets/js/popper.min.js'; //@todo we need to update this to bs5 |
|
| 688 | - wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version ); |
|
| 689 | - wp_enqueue_script( 'bootstrap-js-popper' ); |
|
| 690 | - $load_inline = true; |
|
| 691 | - } else { |
|
| 692 | - $load_inline = true; |
|
| 693 | - } |
|
| 669 | + // Bootstrap file browser |
|
| 670 | + wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version ); |
|
| 671 | + wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() ); |
|
| 672 | + |
|
| 673 | + $load_inline = false; |
|
| 674 | + |
|
| 675 | + if ( $this->settings[ $js_setting ] == 'core-popper' ) { |
|
| 676 | + // Bootstrap bundle |
|
| 677 | + $url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js'; |
|
| 678 | + wp_register_script( 'bootstrap-js-bundle', $url, array( |
|
| 679 | + 'select2', |
|
| 680 | + 'jquery' |
|
| 681 | + ), $this->version, $this->is_bs3_compat() ); |
|
| 682 | + // if in admin then add to footer for compatibility. |
|
| 683 | + is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' ); |
|
| 684 | + $script = $this->inline_script(); |
|
| 685 | + wp_add_inline_script( 'bootstrap-js-bundle', $script ); |
|
| 686 | + } elseif ( $this->settings[ $js_setting ] == 'popper' ) { |
|
| 687 | + $url = $this->url . 'assets/js/popper.min.js'; //@todo we need to update this to bs5 |
|
| 688 | + wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version ); |
|
| 689 | + wp_enqueue_script( 'bootstrap-js-popper' ); |
|
| 690 | + $load_inline = true; |
|
| 691 | + } else { |
|
| 692 | + $load_inline = true; |
|
| 693 | + } |
|
| 694 | 694 | |
| 695 | - // Load needed inline scripts by faking the loading of a script if the main script is not being loaded |
|
| 696 | - if ( $load_inline ) { |
|
| 697 | - wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) ); |
|
| 698 | - wp_enqueue_script( 'bootstrap-dummy' ); |
|
| 699 | - $script = $this->inline_script(); |
|
| 700 | - wp_add_inline_script( 'bootstrap-dummy', $script ); |
|
| 701 | - } |
|
| 702 | - } |
|
| 703 | - |
|
| 704 | - } |
|
| 705 | - |
|
| 706 | - /** |
|
| 707 | - * Enqueue flatpickr if called. |
|
| 708 | - */ |
|
| 709 | - public function enqueue_flatpickr(){ |
|
| 710 | - wp_enqueue_style( 'flatpickr' ); |
|
| 711 | - wp_enqueue_script( 'flatpickr' ); |
|
| 712 | - } |
|
| 713 | - |
|
| 714 | - /** |
|
| 715 | - * Enqueue iconpicker if called. |
|
| 716 | - */ |
|
| 717 | - public function enqueue_iconpicker(){ |
|
| 718 | - wp_enqueue_style( 'iconpicker' ); |
|
| 719 | - wp_enqueue_script( 'iconpicker' ); |
|
| 720 | - } |
|
| 721 | - |
|
| 722 | - /** |
|
| 723 | - * Get the url path to the current folder. |
|
| 724 | - * |
|
| 725 | - * @return string |
|
| 726 | - */ |
|
| 727 | - public function get_url() { |
|
| 728 | - $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 729 | - $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 730 | - |
|
| 731 | - // Replace http:// to https://. |
|
| 732 | - if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 733 | - $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 734 | - } |
|
| 735 | - |
|
| 736 | - // Check if we are inside a plugin |
|
| 737 | - $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 738 | - $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 739 | - |
|
| 740 | - return trailingslashit( $url ); |
|
| 741 | - } |
|
| 742 | - |
|
| 743 | - /** |
|
| 744 | - * Get the url path to the current folder. |
|
| 745 | - * |
|
| 746 | - * @return string |
|
| 747 | - */ |
|
| 748 | - public function get_url_old() { |
|
| 749 | - |
|
| 750 | - $url = ''; |
|
| 751 | - // check if we are inside a plugin |
|
| 752 | - $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 753 | - |
|
| 754 | - // add check in-case user has changed wp-content dir name. |
|
| 755 | - $wp_content_folder_name = basename(WP_CONTENT_DIR); |
|
| 756 | - $dir_parts = explode("/$wp_content_folder_name/",$file_dir); |
|
| 757 | - $url_parts = explode("/$wp_content_folder_name/",plugins_url()); |
|
| 758 | - |
|
| 759 | - if(!empty($url_parts[0]) && !empty($dir_parts[1])){ |
|
| 760 | - $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] ); |
|
| 761 | - } |
|
| 762 | - |
|
| 763 | - return $url; |
|
| 764 | - } |
|
| 765 | - |
|
| 766 | - /** |
|
| 767 | - * Register the database settings with WordPress. |
|
| 768 | - */ |
|
| 769 | - public function register_settings() { |
|
| 770 | - register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' ); |
|
| 771 | - } |
|
| 772 | - |
|
| 773 | - /** |
|
| 774 | - * Add the WordPress settings menu item. |
|
| 775 | - * @since 1.0.10 Calling function name direct will fail theme check so we don't. |
|
| 776 | - */ |
|
| 777 | - public function menu_item() { |
|
| 778 | - $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme |
|
| 779 | - call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array( |
|
| 780 | - $this, |
|
| 781 | - 'settings_page' |
|
| 782 | - ) ); |
|
| 783 | - } |
|
| 784 | - |
|
| 785 | - /** |
|
| 786 | - * Get a list of themes and their default JS settings. |
|
| 787 | - * |
|
| 788 | - * @return array |
|
| 789 | - */ |
|
| 790 | - public function theme_js_settings(){ |
|
| 791 | - return array( |
|
| 792 | - 'ayetheme' => 'popper', |
|
| 793 | - 'listimia' => 'required', |
|
| 794 | - 'listimia_backend' => 'core-popper', |
|
| 795 | - //'avada' => 'required', // removed as we now add compatibility |
|
| 796 | - ); |
|
| 797 | - } |
|
| 798 | - |
|
| 799 | - /** |
|
| 800 | - * Get the current Font Awesome output settings. |
|
| 801 | - * |
|
| 802 | - * @return array The array of settings. |
|
| 803 | - */ |
|
| 804 | - public function get_settings() { |
|
| 805 | - |
|
| 806 | - $db_settings = get_option( 'ayecode-ui-settings' ); |
|
| 807 | - $js_default = 'core-popper'; |
|
| 808 | - $js_default_backend = $js_default; |
|
| 809 | - |
|
| 810 | - // maybe set defaults (if no settings set) |
|
| 811 | - if(empty($db_settings)){ |
|
| 812 | - $active_theme = strtolower( get_template() ); // active parent theme. |
|
| 813 | - $theme_js_settings = self::theme_js_settings(); |
|
| 814 | - if(isset($theme_js_settings[$active_theme])){ |
|
| 815 | - $js_default = $theme_js_settings[$active_theme]; |
|
| 816 | - $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default; |
|
| 817 | - } |
|
| 818 | - } |
|
| 695 | + // Load needed inline scripts by faking the loading of a script if the main script is not being loaded |
|
| 696 | + if ( $load_inline ) { |
|
| 697 | + wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) ); |
|
| 698 | + wp_enqueue_script( 'bootstrap-dummy' ); |
|
| 699 | + $script = $this->inline_script(); |
|
| 700 | + wp_add_inline_script( 'bootstrap-dummy', $script ); |
|
| 701 | + } |
|
| 702 | + } |
|
| 819 | 703 | |
| 820 | - /** |
|
| 821 | - * Filter the default settings. |
|
| 822 | - */ |
|
| 823 | - $defaults = apply_filters( 'ayecode-ui-default-settings', array( |
|
| 824 | - 'css' => 'compatibility', // core, compatibility |
|
| 825 | - 'js' => $js_default, // js to load, core-popper, popper |
|
| 826 | - 'html_font_size' => '16', // js to load, core-popper, popper |
|
| 827 | - 'css_backend' => 'compatibility', // core, compatibility |
|
| 828 | - 'js_backend' => $js_default_backend, // js to load, core-popper, popper |
|
| 829 | - 'disable_admin' => '', // URL snippets to disable loading on admin |
|
| 704 | + } |
|
| 705 | + |
|
| 706 | + /** |
|
| 707 | + * Enqueue flatpickr if called. |
|
| 708 | + */ |
|
| 709 | + public function enqueue_flatpickr(){ |
|
| 710 | + wp_enqueue_style( 'flatpickr' ); |
|
| 711 | + wp_enqueue_script( 'flatpickr' ); |
|
| 712 | + } |
|
| 713 | + |
|
| 714 | + /** |
|
| 715 | + * Enqueue iconpicker if called. |
|
| 716 | + */ |
|
| 717 | + public function enqueue_iconpicker(){ |
|
| 718 | + wp_enqueue_style( 'iconpicker' ); |
|
| 719 | + wp_enqueue_script( 'iconpicker' ); |
|
| 720 | + } |
|
| 721 | + |
|
| 722 | + /** |
|
| 723 | + * Get the url path to the current folder. |
|
| 724 | + * |
|
| 725 | + * @return string |
|
| 726 | + */ |
|
| 727 | + public function get_url() { |
|
| 728 | + $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 729 | + $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 730 | + |
|
| 731 | + // Replace http:// to https://. |
|
| 732 | + if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 733 | + $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 734 | + } |
|
| 735 | + |
|
| 736 | + // Check if we are inside a plugin |
|
| 737 | + $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 738 | + $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 739 | + |
|
| 740 | + return trailingslashit( $url ); |
|
| 741 | + } |
|
| 742 | + |
|
| 743 | + /** |
|
| 744 | + * Get the url path to the current folder. |
|
| 745 | + * |
|
| 746 | + * @return string |
|
| 747 | + */ |
|
| 748 | + public function get_url_old() { |
|
| 749 | + |
|
| 750 | + $url = ''; |
|
| 751 | + // check if we are inside a plugin |
|
| 752 | + $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 753 | + |
|
| 754 | + // add check in-case user has changed wp-content dir name. |
|
| 755 | + $wp_content_folder_name = basename(WP_CONTENT_DIR); |
|
| 756 | + $dir_parts = explode("/$wp_content_folder_name/",$file_dir); |
|
| 757 | + $url_parts = explode("/$wp_content_folder_name/",plugins_url()); |
|
| 758 | + |
|
| 759 | + if(!empty($url_parts[0]) && !empty($dir_parts[1])){ |
|
| 760 | + $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] ); |
|
| 761 | + } |
|
| 762 | + |
|
| 763 | + return $url; |
|
| 764 | + } |
|
| 765 | + |
|
| 766 | + /** |
|
| 767 | + * Register the database settings with WordPress. |
|
| 768 | + */ |
|
| 769 | + public function register_settings() { |
|
| 770 | + register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' ); |
|
| 771 | + } |
|
| 772 | + |
|
| 773 | + /** |
|
| 774 | + * Add the WordPress settings menu item. |
|
| 775 | + * @since 1.0.10 Calling function name direct will fail theme check so we don't. |
|
| 776 | + */ |
|
| 777 | + public function menu_item() { |
|
| 778 | + $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme |
|
| 779 | + call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array( |
|
| 780 | + $this, |
|
| 781 | + 'settings_page' |
|
| 782 | + ) ); |
|
| 783 | + } |
|
| 784 | + |
|
| 785 | + /** |
|
| 786 | + * Get a list of themes and their default JS settings. |
|
| 787 | + * |
|
| 788 | + * @return array |
|
| 789 | + */ |
|
| 790 | + public function theme_js_settings(){ |
|
| 791 | + return array( |
|
| 792 | + 'ayetheme' => 'popper', |
|
| 793 | + 'listimia' => 'required', |
|
| 794 | + 'listimia_backend' => 'core-popper', |
|
| 795 | + //'avada' => 'required', // removed as we now add compatibility |
|
| 796 | + ); |
|
| 797 | + } |
|
| 798 | + |
|
| 799 | + /** |
|
| 800 | + * Get the current Font Awesome output settings. |
|
| 801 | + * |
|
| 802 | + * @return array The array of settings. |
|
| 803 | + */ |
|
| 804 | + public function get_settings() { |
|
| 805 | + |
|
| 806 | + $db_settings = get_option( 'ayecode-ui-settings' ); |
|
| 807 | + $js_default = 'core-popper'; |
|
| 808 | + $js_default_backend = $js_default; |
|
| 809 | + |
|
| 810 | + // maybe set defaults (if no settings set) |
|
| 811 | + if(empty($db_settings)){ |
|
| 812 | + $active_theme = strtolower( get_template() ); // active parent theme. |
|
| 813 | + $theme_js_settings = self::theme_js_settings(); |
|
| 814 | + if(isset($theme_js_settings[$active_theme])){ |
|
| 815 | + $js_default = $theme_js_settings[$active_theme]; |
|
| 816 | + $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default; |
|
| 817 | + } |
|
| 818 | + } |
|
| 819 | + |
|
| 820 | + /** |
|
| 821 | + * Filter the default settings. |
|
| 822 | + */ |
|
| 823 | + $defaults = apply_filters( 'ayecode-ui-default-settings', array( |
|
| 824 | + 'css' => 'compatibility', // core, compatibility |
|
| 825 | + 'js' => $js_default, // js to load, core-popper, popper |
|
| 826 | + 'html_font_size' => '16', // js to load, core-popper, popper |
|
| 827 | + 'css_backend' => 'compatibility', // core, compatibility |
|
| 828 | + 'js_backend' => $js_default_backend, // js to load, core-popper, popper |
|
| 829 | + 'disable_admin' => '', // URL snippets to disable loading on admin |
|
| 830 | 830 | 'bs_ver' => '4', // The default bootstrap version to sue by default |
| 831 | - ), $db_settings ); |
|
| 831 | + ), $db_settings ); |
|
| 832 | 832 | |
| 833 | - $settings = wp_parse_args( $db_settings, $defaults ); |
|
| 833 | + $settings = wp_parse_args( $db_settings, $defaults ); |
|
| 834 | 834 | |
| 835 | - /** |
|
| 836 | - * Filter the Bootstrap settings. |
|
| 837 | - * |
|
| 838 | - * @todo if we add this filer people might use it and then it defeates the purpose of this class :/ |
|
| 839 | - */ |
|
| 840 | - return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults ); |
|
| 841 | - } |
|
| 835 | + /** |
|
| 836 | + * Filter the Bootstrap settings. |
|
| 837 | + * |
|
| 838 | + * @todo if we add this filer people might use it and then it defeates the purpose of this class :/ |
|
| 839 | + */ |
|
| 840 | + return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults ); |
|
| 841 | + } |
|
| 842 | 842 | |
| 843 | 843 | |
| 844 | - /** |
|
| 845 | - * The settings page html output. |
|
| 846 | - */ |
|
| 847 | - public function settings_page() { |
|
| 848 | - if ( ! current_user_can( 'manage_options' ) ) { |
|
| 849 | - wp_die( __( 'You do not have sufficient permissions to access this page.', 'aui' ) ); |
|
| 850 | - } |
|
| 844 | + /** |
|
| 845 | + * The settings page html output. |
|
| 846 | + */ |
|
| 847 | + public function settings_page() { |
|
| 848 | + if ( ! current_user_can( 'manage_options' ) ) { |
|
| 849 | + wp_die( __( 'You do not have sufficient permissions to access this page.', 'aui' ) ); |
|
| 850 | + } |
|
| 851 | 851 | $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() ); |
| 852 | 852 | |
| 853 | - ?> |
|
| 853 | + ?> |
|
| 854 | 854 | <div class="wrap"> |
| 855 | 855 | <h1><?php echo $this->name; ?></h1> |
| 856 | 856 | <p><?php echo apply_filters( 'ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.",'aui') );?></p> |
| 857 | 857 | <form method="post" action="options.php"> |
| 858 | 858 | <?php |
| 859 | - settings_fields( 'ayecode-ui-settings' ); |
|
| 860 | - do_settings_sections( 'ayecode-ui-settings' ); |
|
| 861 | - ?> |
|
| 859 | + settings_fields( 'ayecode-ui-settings' ); |
|
| 860 | + do_settings_sections( 'ayecode-ui-settings' ); |
|
| 861 | + ?> |
|
| 862 | 862 | |
| 863 | 863 | <h2><?php _e( 'BootStrap Version', 'aui' ); ?></h2> |
| 864 | 864 | <p><?php echo apply_filters( 'ayecode-ui-version-settings-message', __("V5 is recommended, however if you have another plugin installed using v4, you may need to use v4 also.",'aui') );?></p> |
| 865 | 865 | <div class="bsui"><?php |
| 866 | - if ( ! empty( $overrides ) ) { |
|
| 867 | - echo aui()->alert(array( |
|
| 868 | - 'type'=> 'info', |
|
| 869 | - 'content'=> __("Some options are disabled as your current theme is overriding them.",'aui') |
|
| 870 | - )); |
|
| 871 | - } |
|
| 872 | - ?> |
|
| 866 | + if ( ! empty( $overrides ) ) { |
|
| 867 | + echo aui()->alert(array( |
|
| 868 | + 'type'=> 'info', |
|
| 869 | + 'content'=> __("Some options are disabled as your current theme is overriding them.",'aui') |
|
| 870 | + )); |
|
| 871 | + } |
|
| 872 | + ?> |
|
| 873 | 873 | </div> |
| 874 | 874 | <table class="form-table wpbs-table-version-settings"> |
| 875 | 875 | <tr valign="top"> |
@@ -962,79 +962,79 @@ discard block |
||
| 962 | 962 | </table> |
| 963 | 963 | |
| 964 | 964 | <?php |
| 965 | - submit_button(); |
|
| 966 | - ?> |
|
| 965 | + submit_button(); |
|
| 966 | + ?> |
|
| 967 | 967 | </form> |
| 968 | 968 | |
| 969 | 969 | <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo $this->version; ?></div> |
| 970 | 970 | </div> |
| 971 | 971 | |
| 972 | 972 | <?php |
| 973 | - } |
|
| 973 | + } |
|
| 974 | 974 | |
| 975 | 975 | public function get_load_source(){ |
| 976 | - $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 977 | - $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 978 | - |
|
| 979 | - // Find source plugin/theme of SD |
|
| 980 | - $source = array(); |
|
| 981 | - if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 982 | - $source = explode( "/", plugin_basename( $file ) ); |
|
| 983 | - } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 984 | - $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 985 | - |
|
| 986 | - if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 987 | - $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 988 | - } |
|
| 989 | - } |
|
| 976 | + $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 977 | + $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 978 | + |
|
| 979 | + // Find source plugin/theme of SD |
|
| 980 | + $source = array(); |
|
| 981 | + if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 982 | + $source = explode( "/", plugin_basename( $file ) ); |
|
| 983 | + } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 984 | + $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 985 | + |
|
| 986 | + if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 987 | + $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 988 | + } |
|
| 989 | + } |
|
| 990 | 990 | |
| 991 | 991 | return isset($source[0]) ? esc_attr($source[0]) : ''; |
| 992 | 992 | } |
| 993 | 993 | |
| 994 | - public function customizer_settings($wp_customize){ |
|
| 995 | - $wp_customize->add_section('aui_settings', array( |
|
| 996 | - 'title' => __('AyeCode UI','aui'), |
|
| 997 | - 'priority' => 120, |
|
| 998 | - )); |
|
| 999 | - |
|
| 1000 | - // ============================= |
|
| 1001 | - // = Color Picker = |
|
| 1002 | - // ============================= |
|
| 1003 | - $wp_customize->add_setting('aui_options[color_primary]', array( |
|
| 1004 | - 'default' => AUI_PRIMARY_COLOR, |
|
| 1005 | - 'sanitize_callback' => 'sanitize_hex_color', |
|
| 1006 | - 'capability' => 'edit_theme_options', |
|
| 1007 | - 'type' => 'option', |
|
| 1008 | - 'transport' => 'refresh', |
|
| 1009 | - )); |
|
| 1010 | - $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array( |
|
| 1011 | - 'label' => __('Primary Color','aui'), |
|
| 1012 | - 'section' => 'aui_settings', |
|
| 1013 | - 'settings' => 'aui_options[color_primary]', |
|
| 1014 | - ))); |
|
| 1015 | - |
|
| 1016 | - $wp_customize->add_setting('aui_options[color_secondary]', array( |
|
| 1017 | - 'default' => '#6c757d', |
|
| 1018 | - 'sanitize_callback' => 'sanitize_hex_color', |
|
| 1019 | - 'capability' => 'edit_theme_options', |
|
| 1020 | - 'type' => 'option', |
|
| 1021 | - 'transport' => 'refresh', |
|
| 1022 | - )); |
|
| 1023 | - $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array( |
|
| 1024 | - 'label' => __('Secondary Color','aui'), |
|
| 1025 | - 'section' => 'aui_settings', |
|
| 1026 | - 'settings' => 'aui_options[color_secondary]', |
|
| 1027 | - ))); |
|
| 1028 | - } |
|
| 1029 | - |
|
| 1030 | - /** |
|
| 1031 | - * CSS to help with conflict issues with other plugins and themes using bootstrap v3. |
|
| 1032 | - * |
|
| 1033 | - * @return mixed |
|
| 1034 | - */ |
|
| 1035 | - public static function bs3_compat_css() { |
|
| 1036 | - ob_start(); |
|
| 1037 | - ?> |
|
| 994 | + public function customizer_settings($wp_customize){ |
|
| 995 | + $wp_customize->add_section('aui_settings', array( |
|
| 996 | + 'title' => __('AyeCode UI','aui'), |
|
| 997 | + 'priority' => 120, |
|
| 998 | + )); |
|
| 999 | + |
|
| 1000 | + // ============================= |
|
| 1001 | + // = Color Picker = |
|
| 1002 | + // ============================= |
|
| 1003 | + $wp_customize->add_setting('aui_options[color_primary]', array( |
|
| 1004 | + 'default' => AUI_PRIMARY_COLOR, |
|
| 1005 | + 'sanitize_callback' => 'sanitize_hex_color', |
|
| 1006 | + 'capability' => 'edit_theme_options', |
|
| 1007 | + 'type' => 'option', |
|
| 1008 | + 'transport' => 'refresh', |
|
| 1009 | + )); |
|
| 1010 | + $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array( |
|
| 1011 | + 'label' => __('Primary Color','aui'), |
|
| 1012 | + 'section' => 'aui_settings', |
|
| 1013 | + 'settings' => 'aui_options[color_primary]', |
|
| 1014 | + ))); |
|
| 1015 | + |
|
| 1016 | + $wp_customize->add_setting('aui_options[color_secondary]', array( |
|
| 1017 | + 'default' => '#6c757d', |
|
| 1018 | + 'sanitize_callback' => 'sanitize_hex_color', |
|
| 1019 | + 'capability' => 'edit_theme_options', |
|
| 1020 | + 'type' => 'option', |
|
| 1021 | + 'transport' => 'refresh', |
|
| 1022 | + )); |
|
| 1023 | + $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array( |
|
| 1024 | + 'label' => __('Secondary Color','aui'), |
|
| 1025 | + 'section' => 'aui_settings', |
|
| 1026 | + 'settings' => 'aui_options[color_secondary]', |
|
| 1027 | + ))); |
|
| 1028 | + } |
|
| 1029 | + |
|
| 1030 | + /** |
|
| 1031 | + * CSS to help with conflict issues with other plugins and themes using bootstrap v3. |
|
| 1032 | + * |
|
| 1033 | + * @return mixed |
|
| 1034 | + */ |
|
| 1035 | + public static function bs3_compat_css() { |
|
| 1036 | + ob_start(); |
|
| 1037 | + ?> |
|
| 1038 | 1038 | <style> |
| 1039 | 1039 | /* Bootstrap 3 compatibility */ |
| 1040 | 1040 | body.modal-open .modal-backdrop.show:not(.in) {opacity:0.5;} |
@@ -1063,58 +1063,58 @@ discard block |
||
| 1063 | 1063 | <?php } ?> |
| 1064 | 1064 | </style> |
| 1065 | 1065 | <?php |
| 1066 | - return str_replace( array( |
|
| 1067 | - '<style>', |
|
| 1068 | - '</style>' |
|
| 1069 | - ), '', self::minify_css( ob_get_clean() ) ); |
|
| 1070 | - } |
|
| 1066 | + return str_replace( array( |
|
| 1067 | + '<style>', |
|
| 1068 | + '</style>' |
|
| 1069 | + ), '', self::minify_css( ob_get_clean() ) ); |
|
| 1070 | + } |
|
| 1071 | 1071 | |
| 1072 | 1072 | |
| 1073 | - public static function custom_css($compatibility = true) { |
|
| 1073 | + public static function custom_css($compatibility = true) { |
|
| 1074 | 1074 | global $aui_bs5; |
| 1075 | 1075 | |
| 1076 | - $colors = array(); |
|
| 1077 | - if ( defined( 'BLOCKSTRAP_VERSION' ) ) { |
|
| 1076 | + $colors = array(); |
|
| 1077 | + if ( defined( 'BLOCKSTRAP_VERSION' ) ) { |
|
| 1078 | 1078 | |
| 1079 | 1079 | |
| 1080 | - $setting = wp_get_global_settings(); |
|
| 1080 | + $setting = wp_get_global_settings(); |
|
| 1081 | 1081 | |
| 1082 | 1082 | // print_r(wp_get_global_styles());//exit; |
| 1083 | 1083 | // print_r(get_default_block_editor_settings());exit; |
| 1084 | 1084 | |
| 1085 | 1085 | // print_r($setting);echo '###';exit; |
| 1086 | - if(!empty($setting['color']['palette']['theme'])){ |
|
| 1087 | - foreach($setting['color']['palette']['theme'] as $color){ |
|
| 1088 | - $colors[$color['slug']] = esc_attr($color['color']); |
|
| 1089 | - } |
|
| 1090 | - } |
|
| 1086 | + if(!empty($setting['color']['palette']['theme'])){ |
|
| 1087 | + foreach($setting['color']['palette']['theme'] as $color){ |
|
| 1088 | + $colors[$color['slug']] = esc_attr($color['color']); |
|
| 1089 | + } |
|
| 1090 | + } |
|
| 1091 | 1091 | |
| 1092 | - if(!empty($setting['color']['palette']['custom'])){ |
|
| 1093 | - foreach($setting['color']['palette']['custom'] as $color){ |
|
| 1094 | - $colors[$color['slug']] = esc_attr($color['color']); |
|
| 1095 | - } |
|
| 1096 | - } |
|
| 1097 | - }else{ |
|
| 1098 | - $settings = get_option('aui_options'); |
|
| 1099 | - $colors = array( |
|
| 1100 | - 'primary' => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR, |
|
| 1101 | - 'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR |
|
| 1102 | - ); |
|
| 1103 | - } |
|
| 1092 | + if(!empty($setting['color']['palette']['custom'])){ |
|
| 1093 | + foreach($setting['color']['palette']['custom'] as $color){ |
|
| 1094 | + $colors[$color['slug']] = esc_attr($color['color']); |
|
| 1095 | + } |
|
| 1096 | + } |
|
| 1097 | + }else{ |
|
| 1098 | + $settings = get_option('aui_options'); |
|
| 1099 | + $colors = array( |
|
| 1100 | + 'primary' => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR, |
|
| 1101 | + 'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR |
|
| 1102 | + ); |
|
| 1103 | + } |
|
| 1104 | 1104 | |
| 1105 | - ob_start(); |
|
| 1105 | + ob_start(); |
|
| 1106 | 1106 | |
| 1107 | - ?> |
|
| 1107 | + ?> |
|
| 1108 | 1108 | <style> |
| 1109 | 1109 | <?php |
| 1110 | 1110 | |
| 1111 | - // BS v3 compat |
|
| 1112 | - if( self::is_bs3_compat() ){ |
|
| 1113 | - echo self::bs3_compat_css(); |
|
| 1114 | - } |
|
| 1111 | + // BS v3 compat |
|
| 1112 | + if( self::is_bs3_compat() ){ |
|
| 1113 | + echo self::bs3_compat_css(); |
|
| 1114 | + } |
|
| 1115 | 1115 | |
| 1116 | - if(!empty($colors)){ |
|
| 1117 | - $d_colors = self::get_colors(true); |
|
| 1116 | + if(!empty($colors)){ |
|
| 1117 | + $d_colors = self::get_colors(true); |
|
| 1118 | 1118 | |
| 1119 | 1119 | $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : ''; |
| 1120 | 1120 | $is_fse = false; |
@@ -1123,22 +1123,22 @@ discard block |
||
| 1123 | 1123 | } |
| 1124 | 1124 | |
| 1125 | 1125 | // $is_fse = !empty($_REQUEST['postType']) && $_REQUEST['postType']=='wp_template'; |
| 1126 | - foreach($colors as $key => $color ){ |
|
| 1127 | - if((empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) { |
|
| 1128 | - $var = $is_fse ? "var(--wp--preset--color--$key)" : $color; |
|
| 1129 | - $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility; |
|
| 1130 | - echo $aui_bs5 ? self::css_overwrite_bs5($key,$var,$compat,$color) : self::css_overwrite($key,$var,$compat,$color); |
|
| 1131 | - } |
|
| 1132 | - } |
|
| 1133 | - // exit; |
|
| 1134 | - } |
|
| 1126 | + foreach($colors as $key => $color ){ |
|
| 1127 | + if((empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) { |
|
| 1128 | + $var = $is_fse ? "var(--wp--preset--color--$key)" : $color; |
|
| 1129 | + $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility; |
|
| 1130 | + echo $aui_bs5 ? self::css_overwrite_bs5($key,$var,$compat,$color) : self::css_overwrite($key,$var,$compat,$color); |
|
| 1131 | + } |
|
| 1132 | + } |
|
| 1133 | + // exit; |
|
| 1134 | + } |
|
| 1135 | 1135 | |
| 1136 | - // Set admin bar z-index lower when modal is open. |
|
| 1137 | - echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}'; |
|
| 1136 | + // Set admin bar z-index lower when modal is open. |
|
| 1137 | + echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}'; |
|
| 1138 | 1138 | |
| 1139 | - if(is_admin()){ |
|
| 1140 | - echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}'; |
|
| 1141 | - } |
|
| 1139 | + if(is_admin()){ |
|
| 1140 | + echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}'; |
|
| 1141 | + } |
|
| 1142 | 1142 | |
| 1143 | 1143 | if( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) ){ |
| 1144 | 1144 | $css = ''; |
@@ -1158,171 +1158,171 @@ discard block |
||
| 1158 | 1158 | echo 'body{' . $css . '}'; |
| 1159 | 1159 | } |
| 1160 | 1160 | } |
| 1161 | - ?> |
|
| 1161 | + ?> |
|
| 1162 | 1162 | </style> |
| 1163 | 1163 | <?php |
| 1164 | 1164 | |
| 1165 | 1165 | |
| 1166 | - /* |
|
| 1166 | + /* |
|
| 1167 | 1167 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 1168 | 1168 | */ |
| 1169 | - return str_replace( array( |
|
| 1170 | - '<style>', |
|
| 1171 | - '</style>' |
|
| 1172 | - ), '', self::minify_css( ob_get_clean() ) ); |
|
| 1173 | - } |
|
| 1174 | - |
|
| 1175 | - |
|
| 1176 | - |
|
| 1177 | - /** |
|
| 1178 | - * Check if we should add booststrap 3 compatibility changes. |
|
| 1179 | - * |
|
| 1180 | - * @return bool |
|
| 1181 | - */ |
|
| 1182 | - public static function is_bs3_compat(){ |
|
| 1183 | - return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION'); |
|
| 1184 | - } |
|
| 1185 | - |
|
| 1186 | - public static function hex_to_rgb($hex) { |
|
| 1187 | - // Remove '#' if present |
|
| 1188 | - $hex = str_replace('#', '', $hex); |
|
| 1189 | - |
|
| 1190 | - // Convert 3-digit hex to 6-digit hex |
|
| 1191 | - if(strlen($hex) == 3) { |
|
| 1192 | - $hex = str_repeat(substr($hex, 0, 1), 2) . str_repeat(substr($hex, 1, 1), 2) . str_repeat(substr($hex, 2, 1), 2); |
|
| 1193 | - } |
|
| 1194 | - |
|
| 1195 | - // Convert hex to RGB |
|
| 1196 | - $r = hexdec(substr($hex, 0, 2)); |
|
| 1197 | - $g = hexdec(substr($hex, 2, 2)); |
|
| 1198 | - $b = hexdec(substr($hex, 4, 2)); |
|
| 1199 | - |
|
| 1200 | - // Return RGB values as an array |
|
| 1201 | - return $r . ',' . $g . ',' . $b; |
|
| 1202 | - } |
|
| 1203 | - |
|
| 1204 | - /** |
|
| 1205 | - * Build the CSS to overwrite a bootstrap color variable. |
|
| 1206 | - * |
|
| 1207 | - * @param $type |
|
| 1208 | - * @param $color_code |
|
| 1209 | - * @param $compatibility |
|
| 1210 | - * |
|
| 1211 | - * @return string |
|
| 1212 | - */ |
|
| 1213 | - public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){ |
|
| 1214 | - global $aui_bs5; |
|
| 1215 | - |
|
| 1216 | - $is_var = false; |
|
| 1217 | - $is_custom = strpos($type, 'custom-') !== false ? true : false; |
|
| 1218 | - if(!$color_code){return '';} |
|
| 1219 | - if(strpos($color_code, 'var') !== false){ |
|
| 1220 | - //if(!sanitize_hex_color($color_code)){ |
|
| 1221 | - $color_code = esc_attr($color_code); |
|
| 1222 | - $is_var = true; |
|
| 1169 | + return str_replace( array( |
|
| 1170 | + '<style>', |
|
| 1171 | + '</style>' |
|
| 1172 | + ), '', self::minify_css( ob_get_clean() ) ); |
|
| 1173 | + } |
|
| 1174 | + |
|
| 1175 | + |
|
| 1176 | + |
|
| 1177 | + /** |
|
| 1178 | + * Check if we should add booststrap 3 compatibility changes. |
|
| 1179 | + * |
|
| 1180 | + * @return bool |
|
| 1181 | + */ |
|
| 1182 | + public static function is_bs3_compat(){ |
|
| 1183 | + return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION'); |
|
| 1184 | + } |
|
| 1185 | + |
|
| 1186 | + public static function hex_to_rgb($hex) { |
|
| 1187 | + // Remove '#' if present |
|
| 1188 | + $hex = str_replace('#', '', $hex); |
|
| 1189 | + |
|
| 1190 | + // Convert 3-digit hex to 6-digit hex |
|
| 1191 | + if(strlen($hex) == 3) { |
|
| 1192 | + $hex = str_repeat(substr($hex, 0, 1), 2) . str_repeat(substr($hex, 1, 1), 2) . str_repeat(substr($hex, 2, 1), 2); |
|
| 1193 | + } |
|
| 1194 | + |
|
| 1195 | + // Convert hex to RGB |
|
| 1196 | + $r = hexdec(substr($hex, 0, 2)); |
|
| 1197 | + $g = hexdec(substr($hex, 2, 2)); |
|
| 1198 | + $b = hexdec(substr($hex, 4, 2)); |
|
| 1199 | + |
|
| 1200 | + // Return RGB values as an array |
|
| 1201 | + return $r . ',' . $g . ',' . $b; |
|
| 1202 | + } |
|
| 1203 | + |
|
| 1204 | + /** |
|
| 1205 | + * Build the CSS to overwrite a bootstrap color variable. |
|
| 1206 | + * |
|
| 1207 | + * @param $type |
|
| 1208 | + * @param $color_code |
|
| 1209 | + * @param $compatibility |
|
| 1210 | + * |
|
| 1211 | + * @return string |
|
| 1212 | + */ |
|
| 1213 | + public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){ |
|
| 1214 | + global $aui_bs5; |
|
| 1215 | + |
|
| 1216 | + $is_var = false; |
|
| 1217 | + $is_custom = strpos($type, 'custom-') !== false ? true : false; |
|
| 1218 | + if(!$color_code){return '';} |
|
| 1219 | + if(strpos($color_code, 'var') !== false){ |
|
| 1220 | + //if(!sanitize_hex_color($color_code)){ |
|
| 1221 | + $color_code = esc_attr($color_code); |
|
| 1222 | + $is_var = true; |
|
| 1223 | 1223 | // $color_code = "rgba($color_code, 0.5)"; |
| 1224 | 1224 | // echo '###1'.$color_code.'###';//exit; |
| 1225 | - } |
|
| 1225 | + } |
|
| 1226 | 1226 | |
| 1227 | 1227 | // echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit; |
| 1228 | 1228 | |
| 1229 | - if(!$color_code){return '';} |
|
| 1229 | + if(!$color_code){return '';} |
|
| 1230 | 1230 | |
| 1231 | - $rgb = self::hex_to_rgb($hex); |
|
| 1231 | + $rgb = self::hex_to_rgb($hex); |
|
| 1232 | 1232 | |
| 1233 | - if($compatibility===true || $compatibility===1){ |
|
| 1234 | - $compatibility = '.bsui'; |
|
| 1235 | - }elseif(!$compatibility){ |
|
| 1236 | - $compatibility = ''; |
|
| 1237 | - }else{ |
|
| 1238 | - $compatibility = esc_attr($compatibility); |
|
| 1239 | - } |
|
| 1233 | + if($compatibility===true || $compatibility===1){ |
|
| 1234 | + $compatibility = '.bsui'; |
|
| 1235 | + }elseif(!$compatibility){ |
|
| 1236 | + $compatibility = ''; |
|
| 1237 | + }else{ |
|
| 1238 | + $compatibility = esc_attr($compatibility); |
|
| 1239 | + } |
|
| 1240 | 1240 | |
| 1241 | - $prefix = $compatibility ? $compatibility . " " : ""; |
|
| 1241 | + $prefix = $compatibility ? $compatibility . " " : ""; |
|
| 1242 | 1242 | |
| 1243 | 1243 | |
| 1244 | 1244 | $output = ''; |
| 1245 | 1245 | |
| 1246 | 1246 | // echo '####'.$color_code;exit; |
| 1247 | 1247 | |
| 1248 | - $type = sanitize_html_class($type); |
|
| 1248 | + $type = sanitize_html_class($type); |
|
| 1249 | + |
|
| 1250 | + /** |
|
| 1251 | + * c = color, b = background color, o = border-color, f = fill |
|
| 1252 | + */ |
|
| 1253 | + $selectors = array( |
|
| 1254 | + ".btn-{$type}" => array( 'b', 'o' ), |
|
| 1255 | + ".btn-{$type}.disabled" => array( 'b', 'o' ), |
|
| 1256 | + ".btn-{$type}:disabled" => array( 'b', 'o' ), |
|
| 1257 | + ".btn-outline-{$type}" => array( 'c', 'o' ), |
|
| 1258 | + ".btn-outline-{$type}:hover" => array( 'b', 'o' ), |
|
| 1259 | + ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ), |
|
| 1260 | + ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ), |
|
| 1261 | + ".show>.btn-outline-{$type}.dropdown-toggle" => array( 'b', 'o' ), |
|
| 1262 | + ".badge-{$type}" => array( 'b' ), |
|
| 1263 | + ".alert-{$type}" => array( 'b', 'o' ), |
|
| 1264 | + ".bg-{$type}" => array( 'b', 'f' ), |
|
| 1265 | + ".btn-link.btn-{$type}" => array( 'c' ), |
|
| 1266 | + ".text-{$type}" => array( 'c' ), |
|
| 1267 | + ); |
|
| 1268 | + |
|
| 1269 | + if ( $aui_bs5 ) { |
|
| 1270 | + unset($selectors[".alert-{$type}" ]); |
|
| 1271 | + } |
|
| 1249 | 1272 | |
| 1250 | - /** |
|
| 1251 | - * c = color, b = background color, o = border-color, f = fill |
|
| 1252 | - */ |
|
| 1253 | - $selectors = array( |
|
| 1254 | - ".btn-{$type}" => array( 'b', 'o' ), |
|
| 1255 | - ".btn-{$type}.disabled" => array( 'b', 'o' ), |
|
| 1256 | - ".btn-{$type}:disabled" => array( 'b', 'o' ), |
|
| 1257 | - ".btn-outline-{$type}" => array( 'c', 'o' ), |
|
| 1258 | - ".btn-outline-{$type}:hover" => array( 'b', 'o' ), |
|
| 1259 | - ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ), |
|
| 1260 | - ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ), |
|
| 1261 | - ".show>.btn-outline-{$type}.dropdown-toggle" => array( 'b', 'o' ), |
|
| 1262 | - ".badge-{$type}" => array( 'b' ), |
|
| 1263 | - ".alert-{$type}" => array( 'b', 'o' ), |
|
| 1264 | - ".bg-{$type}" => array( 'b', 'f' ), |
|
| 1265 | - ".btn-link.btn-{$type}" => array( 'c' ), |
|
| 1266 | - ".text-{$type}" => array( 'c' ), |
|
| 1267 | - ); |
|
| 1268 | - |
|
| 1269 | - if ( $aui_bs5 ) { |
|
| 1270 | - unset($selectors[".alert-{$type}" ]); |
|
| 1271 | - } |
|
| 1272 | - |
|
| 1273 | - if ( $type == 'primary' ) { |
|
| 1274 | - $selectors = $selectors + array( |
|
| 1275 | - 'a' => array( 'c' ), |
|
| 1276 | - '.btn-link' => array( 'c' ), |
|
| 1277 | - '.dropdown-item.active' => array( 'b' ), |
|
| 1278 | - '.custom-control-input:checked~.custom-control-label::before' => array( |
|
| 1279 | - 'b', |
|
| 1280 | - 'o' |
|
| 1281 | - ), |
|
| 1282 | - '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array( |
|
| 1283 | - 'b', |
|
| 1284 | - 'o' |
|
| 1285 | - ), |
|
| 1286 | - '.nav-pills .nav-link.active' => array( 'b' ), |
|
| 1287 | - '.nav-pills .show>.nav-link' => array( 'b' ), |
|
| 1288 | - '.page-link' => array( 'c' ), |
|
| 1289 | - '.page-item.active .page-link' => array( |
|
| 1290 | - 'b', |
|
| 1291 | - 'o' |
|
| 1292 | - ), |
|
| 1293 | - '.progress-bar' => array( 'b' ), |
|
| 1294 | - '.list-group-item.active' => array( |
|
| 1295 | - 'b', |
|
| 1296 | - 'o' |
|
| 1297 | - ), |
|
| 1298 | - '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ), |
|
| 1299 | - ); |
|
| 1300 | - } |
|
| 1273 | + if ( $type == 'primary' ) { |
|
| 1274 | + $selectors = $selectors + array( |
|
| 1275 | + 'a' => array( 'c' ), |
|
| 1276 | + '.btn-link' => array( 'c' ), |
|
| 1277 | + '.dropdown-item.active' => array( 'b' ), |
|
| 1278 | + '.custom-control-input:checked~.custom-control-label::before' => array( |
|
| 1279 | + 'b', |
|
| 1280 | + 'o' |
|
| 1281 | + ), |
|
| 1282 | + '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array( |
|
| 1283 | + 'b', |
|
| 1284 | + 'o' |
|
| 1285 | + ), |
|
| 1286 | + '.nav-pills .nav-link.active' => array( 'b' ), |
|
| 1287 | + '.nav-pills .show>.nav-link' => array( 'b' ), |
|
| 1288 | + '.page-link' => array( 'c' ), |
|
| 1289 | + '.page-item.active .page-link' => array( |
|
| 1290 | + 'b', |
|
| 1291 | + 'o' |
|
| 1292 | + ), |
|
| 1293 | + '.progress-bar' => array( 'b' ), |
|
| 1294 | + '.list-group-item.active' => array( |
|
| 1295 | + 'b', |
|
| 1296 | + 'o' |
|
| 1297 | + ), |
|
| 1298 | + '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ), |
|
| 1299 | + ); |
|
| 1300 | + } |
|
| 1301 | 1301 | |
| 1302 | 1302 | |
| 1303 | 1303 | |
| 1304 | 1304 | // link |
| 1305 | - if ( $type === 'primary' ) { |
|
| 1306 | - $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }'; |
|
| 1307 | - $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).'; }'; |
|
| 1308 | - $output .= $prefix . ' .navbar { --bs-nav-link-hover-color: '.esc_attr($color_code).'; --bs-navbar-hover-color: '.esc_attr($color_code).'; --bs-navbar-active-color: '.esc_attr($color_code).'; }'; |
|
| 1305 | + if ( $type === 'primary' ) { |
|
| 1306 | + $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }'; |
|
| 1307 | + $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).'; }'; |
|
| 1308 | + $output .= $prefix . ' .navbar { --bs-nav-link-hover-color: '.esc_attr($color_code).'; --bs-navbar-hover-color: '.esc_attr($color_code).'; --bs-navbar-active-color: '.esc_attr($color_code).'; }'; |
|
| 1309 | 1309 | |
| 1310 | - $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}'; |
|
| 1311 | - $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}'; |
|
| 1310 | + $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}'; |
|
| 1311 | + $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}'; |
|
| 1312 | 1312 | |
| 1313 | 1313 | // dropdown |
| 1314 | - $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}'; |
|
| 1314 | + $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}'; |
|
| 1315 | 1315 | |
| 1316 | 1316 | // pagination |
| 1317 | - $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}'; |
|
| 1317 | + $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}'; |
|
| 1318 | 1318 | |
| 1319 | - } |
|
| 1319 | + } |
|
| 1320 | 1320 | |
| 1321 | - $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}'; |
|
| 1321 | + $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}'; |
|
| 1322 | 1322 | |
| 1323 | - // buttons |
|
| 1324 | - $output .= $prefix . ' .btn-'.esc_attr($type).'{'; |
|
| 1325 | - $output .= ' |
|
| 1323 | + // buttons |
|
| 1324 | + $output .= $prefix . ' .btn-'.esc_attr($type).'{'; |
|
| 1325 | + $output .= ' |
|
| 1326 | 1326 | --bs-btn-bg: '.esc_attr($color_code).'; |
| 1327 | 1327 | --bs-btn-border-color: '.esc_attr($color_code).'; |
| 1328 | 1328 | --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
@@ -1340,11 +1340,11 @@ discard block |
||
| 1340 | 1340 | // --bs-btn-active-color: #fff; |
| 1341 | 1341 | // --bs-btn-disabled-color: #fff; |
| 1342 | 1342 | // '; |
| 1343 | - $output .= '}'; |
|
| 1343 | + $output .= '}'; |
|
| 1344 | 1344 | |
| 1345 | - // buttons outline |
|
| 1346 | - $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{'; |
|
| 1347 | - $output .= ' |
|
| 1345 | + // buttons outline |
|
| 1346 | + $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{'; |
|
| 1347 | + $output .= ' |
|
| 1348 | 1348 | --bs-btn-border-color: '.esc_attr($color_code).'; |
| 1349 | 1349 | --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
| 1350 | 1350 | --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
@@ -1361,37 +1361,37 @@ discard block |
||
| 1361 | 1361 | // --bs-btn-active-color: #fff; |
| 1362 | 1362 | // --bs-btn-disabled-color: #fff; |
| 1363 | 1363 | // '; |
| 1364 | - $output .= '}'; |
|
| 1364 | + $output .= '}'; |
|
| 1365 | 1365 | |
| 1366 | 1366 | |
| 1367 | 1367 | // button hover |
| 1368 | - $output .= $prefix . ' .btn-'.esc_attr($type).':hover{'; |
|
| 1369 | - $output .= ' |
|
| 1368 | + $output .= $prefix . ' .btn-'.esc_attr($type).':hover{'; |
|
| 1369 | + $output .= ' |
|
| 1370 | 1370 | box-shadow: 0 0.25rem 0.25rem 0.125rem rgb(var(--bs-'.esc_attr($type).'-rgb), .1), 0 0.375rem 0.75rem -0.125rem rgb(var(--bs-'.esc_attr($type).'-rgb) , .4); |
| 1371 | 1371 | } |
| 1372 | 1372 | '; |
| 1373 | 1373 | |
| 1374 | 1374 | |
| 1375 | - if ( $aui_bs5 ) { |
|
| 1375 | + if ( $aui_bs5 ) { |
|
| 1376 | 1376 | // $output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }'; |
| 1377 | - $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }'; |
|
| 1378 | - $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }'; |
|
| 1379 | - } |
|
| 1377 | + $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }'; |
|
| 1378 | + $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }'; |
|
| 1379 | + } |
|
| 1380 | 1380 | |
| 1381 | 1381 | |
| 1382 | - if ( $is_custom ) { |
|
| 1382 | + if ( $is_custom ) { |
|
| 1383 | 1383 | |
| 1384 | 1384 | // echo '###'.$type;exit; |
| 1385 | 1385 | |
| 1386 | - // build rules into each type |
|
| 1387 | - foreach($selectors as $selector => $types){ |
|
| 1388 | - $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1389 | - $types = array_combine($types,$types); |
|
| 1390 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1391 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1392 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1393 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1394 | - } |
|
| 1386 | + // build rules into each type |
|
| 1387 | + foreach($selectors as $selector => $types){ |
|
| 1388 | + $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1389 | + $types = array_combine($types,$types); |
|
| 1390 | + if(isset($types['c'])){$color[] = $selector;} |
|
| 1391 | + if(isset($types['b'])){$background[] = $selector;} |
|
| 1392 | + if(isset($types['o'])){$border[] = $selector;} |
|
| 1393 | + if(isset($types['f'])){$fill[] = $selector;} |
|
| 1394 | + } |
|
| 1395 | 1395 | |
| 1396 | 1396 | // // build rules into each type |
| 1397 | 1397 | // foreach($important_selectors as $selector => $types){ |
@@ -1403,67 +1403,67 @@ discard block |
||
| 1403 | 1403 | // if(isset($types['f'])){$fill_i[] = $selector;} |
| 1404 | 1404 | // } |
| 1405 | 1405 | |
| 1406 | - // add any color rules |
|
| 1407 | - if(!empty($color)){ |
|
| 1408 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1409 | - } |
|
| 1410 | - if(!empty($color_i)){ |
|
| 1411 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1412 | - } |
|
| 1406 | + // add any color rules |
|
| 1407 | + if(!empty($color)){ |
|
| 1408 | + $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1409 | + } |
|
| 1410 | + if(!empty($color_i)){ |
|
| 1411 | + $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1412 | + } |
|
| 1413 | 1413 | |
| 1414 | - // add any background color rules |
|
| 1415 | - if(!empty($background)){ |
|
| 1416 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1417 | - } |
|
| 1418 | - if(!empty($background_i)){ |
|
| 1419 | - $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1414 | + // add any background color rules |
|
| 1415 | + if(!empty($background)){ |
|
| 1416 | + $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1417 | + } |
|
| 1418 | + if(!empty($background_i)){ |
|
| 1419 | + $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1420 | 1420 | // $output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} "; |
| 1421 | - } |
|
| 1421 | + } |
|
| 1422 | 1422 | |
| 1423 | - // add any border color rules |
|
| 1424 | - if(!empty($border)){ |
|
| 1425 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1426 | - } |
|
| 1427 | - if(!empty($border_i)){ |
|
| 1428 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1429 | - } |
|
| 1423 | + // add any border color rules |
|
| 1424 | + if(!empty($border)){ |
|
| 1425 | + $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1426 | + } |
|
| 1427 | + if(!empty($border_i)){ |
|
| 1428 | + $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1429 | + } |
|
| 1430 | 1430 | |
| 1431 | - // add any fill color rules |
|
| 1432 | - if(!empty($fill)){ |
|
| 1433 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1434 | - } |
|
| 1435 | - if(!empty($fill_i)){ |
|
| 1436 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1437 | - } |
|
| 1431 | + // add any fill color rules |
|
| 1432 | + if(!empty($fill)){ |
|
| 1433 | + $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1434 | + } |
|
| 1435 | + if(!empty($fill_i)){ |
|
| 1436 | + $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1437 | + } |
|
| 1438 | 1438 | |
| 1439 | - } |
|
| 1439 | + } |
|
| 1440 | 1440 | |
| 1441 | 1441 | |
| 1442 | 1442 | |
| 1443 | 1443 | |
| 1444 | - $transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : ''; |
|
| 1445 | - // darken |
|
| 1446 | - $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1447 | - $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1448 | - $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1449 | - $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4"); |
|
| 1444 | + $transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : ''; |
|
| 1445 | + // darken |
|
| 1446 | + $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1447 | + $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1448 | + $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1449 | + $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4"); |
|
| 1450 | 1450 | |
| 1451 | - // lighten |
|
| 1452 | - $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1451 | + // lighten |
|
| 1452 | + $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1453 | 1453 | |
| 1454 | - // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1455 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 1454 | + // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1455 | + $op_25 = $color_code."40"; // 25% opacity |
|
| 1456 | 1456 | |
| 1457 | 1457 | |
| 1458 | - // button states |
|
| 1459 | - $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : ''; |
|
| 1460 | - $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1458 | + // button states |
|
| 1459 | + $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : ''; |
|
| 1460 | + $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1461 | 1461 | // $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000; border-color: #000;} "; |
| 1462 | - $output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1463 | - $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10."; border-color: ".$darker_125.";} "; |
|
| 1464 | - $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1462 | + $output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1463 | + $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10."; border-color: ".$darker_125.";} "; |
|
| 1464 | + $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1465 | 1465 | |
| 1466 | - // text |
|
| 1466 | + // text |
|
| 1467 | 1467 | // $output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} "; |
| 1468 | 1468 | |
| 1469 | 1469 | |
@@ -1478,773 +1478,773 @@ discard block |
||
| 1478 | 1478 | // $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
| 1479 | 1479 | // } |
| 1480 | 1480 | |
| 1481 | - // alerts |
|
| 1482 | - if ( $aui_bs5 ) { |
|
| 1481 | + // alerts |
|
| 1482 | + if ( $aui_bs5 ) { |
|
| 1483 | 1483 | // $output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20; border-color: ".$color_code."30;color:$darker_40} "; |
| 1484 | - $output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} "; |
|
| 1485 | - } |
|
| 1486 | - |
|
| 1487 | - return $output; |
|
| 1488 | - } |
|
| 1489 | - |
|
| 1490 | - /** |
|
| 1491 | - * Build the CSS to overwrite a bootstrap color variable. |
|
| 1492 | - * |
|
| 1493 | - * @param $type |
|
| 1494 | - * @param $color_code |
|
| 1495 | - * @param $compatibility |
|
| 1496 | - * |
|
| 1497 | - * @return string |
|
| 1498 | - */ |
|
| 1499 | - public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){ |
|
| 1484 | + $output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} "; |
|
| 1485 | + } |
|
| 1486 | + |
|
| 1487 | + return $output; |
|
| 1488 | + } |
|
| 1489 | + |
|
| 1490 | + /** |
|
| 1491 | + * Build the CSS to overwrite a bootstrap color variable. |
|
| 1492 | + * |
|
| 1493 | + * @param $type |
|
| 1494 | + * @param $color_code |
|
| 1495 | + * @param $compatibility |
|
| 1496 | + * |
|
| 1497 | + * @return string |
|
| 1498 | + */ |
|
| 1499 | + public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){ |
|
| 1500 | 1500 | global $aui_bs5; |
| 1501 | 1501 | |
| 1502 | - $is_var = false; |
|
| 1503 | - if(!$color_code){return '';} |
|
| 1504 | - if(strpos($color_code, 'var') !== false){ |
|
| 1505 | - //if(!sanitize_hex_color($color_code)){ |
|
| 1506 | - $color_code = esc_attr($color_code); |
|
| 1507 | - $is_var = true; |
|
| 1502 | + $is_var = false; |
|
| 1503 | + if(!$color_code){return '';} |
|
| 1504 | + if(strpos($color_code, 'var') !== false){ |
|
| 1505 | + //if(!sanitize_hex_color($color_code)){ |
|
| 1506 | + $color_code = esc_attr($color_code); |
|
| 1507 | + $is_var = true; |
|
| 1508 | 1508 | // $color_code = "rgba($color_code, 0.5)"; |
| 1509 | 1509 | // echo '###1'.$color_code.'###';//exit; |
| 1510 | - } |
|
| 1510 | + } |
|
| 1511 | 1511 | |
| 1512 | 1512 | // echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit; |
| 1513 | 1513 | |
| 1514 | - if(!$color_code){return '';} |
|
| 1514 | + if(!$color_code){return '';} |
|
| 1515 | 1515 | |
| 1516 | 1516 | $rgb = self::hex_to_rgb($hex); |
| 1517 | 1517 | |
| 1518 | - if($compatibility===true || $compatibility===1){ |
|
| 1519 | - $compatibility = '.bsui'; |
|
| 1520 | - }elseif(!$compatibility){ |
|
| 1521 | - $compatibility = ''; |
|
| 1522 | - }else{ |
|
| 1523 | - $compatibility = esc_attr($compatibility); |
|
| 1524 | - } |
|
| 1518 | + if($compatibility===true || $compatibility===1){ |
|
| 1519 | + $compatibility = '.bsui'; |
|
| 1520 | + }elseif(!$compatibility){ |
|
| 1521 | + $compatibility = ''; |
|
| 1522 | + }else{ |
|
| 1523 | + $compatibility = esc_attr($compatibility); |
|
| 1524 | + } |
|
| 1525 | 1525 | |
| 1526 | 1526 | |
| 1527 | 1527 | |
| 1528 | 1528 | // echo '####'.$color_code;exit; |
| 1529 | 1529 | |
| 1530 | - $type = sanitize_html_class($type); |
|
| 1531 | - |
|
| 1532 | - /** |
|
| 1533 | - * c = color, b = background color, o = border-color, f = fill |
|
| 1534 | - */ |
|
| 1535 | - $selectors = array( |
|
| 1536 | - ".btn-{$type}" => array( 'b', 'o' ), |
|
| 1537 | - ".btn-{$type}.disabled" => array( 'b', 'o' ), |
|
| 1538 | - ".btn-{$type}:disabled" => array( 'b', 'o' ), |
|
| 1539 | - ".btn-outline-{$type}" => array( 'c', 'o' ), |
|
| 1540 | - ".btn-outline-{$type}:hover" => array( 'b', 'o' ), |
|
| 1541 | - ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ), |
|
| 1542 | - ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ), |
|
| 1543 | - ".show>.btn-outline-{$type}.dropdown-toggle" => array( 'b', 'o' ), |
|
| 1544 | - ".badge-{$type}" => array( 'b' ), |
|
| 1545 | - ".alert-{$type}" => array( 'b', 'o' ), |
|
| 1546 | - ".bg-{$type}" => array( 'b', 'f' ), |
|
| 1547 | - ".btn-link.btn-{$type}" => array( 'c' ), |
|
| 1548 | - ); |
|
| 1549 | - |
|
| 1550 | - if ( $aui_bs5 ) { |
|
| 1530 | + $type = sanitize_html_class($type); |
|
| 1531 | + |
|
| 1532 | + /** |
|
| 1533 | + * c = color, b = background color, o = border-color, f = fill |
|
| 1534 | + */ |
|
| 1535 | + $selectors = array( |
|
| 1536 | + ".btn-{$type}" => array( 'b', 'o' ), |
|
| 1537 | + ".btn-{$type}.disabled" => array( 'b', 'o' ), |
|
| 1538 | + ".btn-{$type}:disabled" => array( 'b', 'o' ), |
|
| 1539 | + ".btn-outline-{$type}" => array( 'c', 'o' ), |
|
| 1540 | + ".btn-outline-{$type}:hover" => array( 'b', 'o' ), |
|
| 1541 | + ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ), |
|
| 1542 | + ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ), |
|
| 1543 | + ".show>.btn-outline-{$type}.dropdown-toggle" => array( 'b', 'o' ), |
|
| 1544 | + ".badge-{$type}" => array( 'b' ), |
|
| 1545 | + ".alert-{$type}" => array( 'b', 'o' ), |
|
| 1546 | + ".bg-{$type}" => array( 'b', 'f' ), |
|
| 1547 | + ".btn-link.btn-{$type}" => array( 'c' ), |
|
| 1548 | + ); |
|
| 1549 | + |
|
| 1550 | + if ( $aui_bs5 ) { |
|
| 1551 | 1551 | unset($selectors[".alert-{$type}" ]); |
| 1552 | - } |
|
| 1553 | - |
|
| 1554 | - if ( $type == 'primary' ) { |
|
| 1555 | - $selectors = $selectors + array( |
|
| 1556 | - 'a' => array( 'c' ), |
|
| 1557 | - '.btn-link' => array( 'c' ), |
|
| 1558 | - '.dropdown-item.active' => array( 'b' ), |
|
| 1559 | - '.custom-control-input:checked~.custom-control-label::before' => array( |
|
| 1560 | - 'b', |
|
| 1561 | - 'o' |
|
| 1562 | - ), |
|
| 1563 | - '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array( |
|
| 1564 | - 'b', |
|
| 1565 | - 'o' |
|
| 1566 | - ), |
|
| 1567 | - '.nav-pills .nav-link.active' => array( 'b' ), |
|
| 1568 | - '.nav-pills .show>.nav-link' => array( 'b' ), |
|
| 1569 | - '.page-link' => array( 'c' ), |
|
| 1570 | - '.page-item.active .page-link' => array( |
|
| 1571 | - 'b', |
|
| 1572 | - 'o' |
|
| 1573 | - ), |
|
| 1574 | - '.progress-bar' => array( 'b' ), |
|
| 1575 | - '.list-group-item.active' => array( |
|
| 1576 | - 'b', |
|
| 1577 | - 'o' |
|
| 1578 | - ), |
|
| 1579 | - '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ), |
|
| 1552 | + } |
|
| 1553 | + |
|
| 1554 | + if ( $type == 'primary' ) { |
|
| 1555 | + $selectors = $selectors + array( |
|
| 1556 | + 'a' => array( 'c' ), |
|
| 1557 | + '.btn-link' => array( 'c' ), |
|
| 1558 | + '.dropdown-item.active' => array( 'b' ), |
|
| 1559 | + '.custom-control-input:checked~.custom-control-label::before' => array( |
|
| 1560 | + 'b', |
|
| 1561 | + 'o' |
|
| 1562 | + ), |
|
| 1563 | + '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array( |
|
| 1564 | + 'b', |
|
| 1565 | + 'o' |
|
| 1566 | + ), |
|
| 1567 | + '.nav-pills .nav-link.active' => array( 'b' ), |
|
| 1568 | + '.nav-pills .show>.nav-link' => array( 'b' ), |
|
| 1569 | + '.page-link' => array( 'c' ), |
|
| 1570 | + '.page-item.active .page-link' => array( |
|
| 1571 | + 'b', |
|
| 1572 | + 'o' |
|
| 1573 | + ), |
|
| 1574 | + '.progress-bar' => array( 'b' ), |
|
| 1575 | + '.list-group-item.active' => array( |
|
| 1576 | + 'b', |
|
| 1577 | + 'o' |
|
| 1578 | + ), |
|
| 1579 | + '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ), |
|
| 1580 | 1580 | // '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules... |
| 1581 | 1581 | // '.custom-range::-moz-range-thumb' => array('b'), |
| 1582 | 1582 | // '.custom-range::-ms-thumb' => array('b'), |
| 1583 | - ); |
|
| 1584 | - } |
|
| 1585 | - |
|
| 1586 | - $important_selectors = array( |
|
| 1587 | - ".bg-{$type}" => array('b','f'), |
|
| 1588 | - ".border-{$type}" => array('o'), |
|
| 1589 | - ".text-{$type}" => array('c'), |
|
| 1590 | - ); |
|
| 1591 | - |
|
| 1592 | - $color = array(); |
|
| 1593 | - $color_i = array(); |
|
| 1594 | - $background = array(); |
|
| 1595 | - $background_i = array(); |
|
| 1596 | - $border = array(); |
|
| 1597 | - $border_i = array(); |
|
| 1598 | - $fill = array(); |
|
| 1599 | - $fill_i = array(); |
|
| 1600 | - |
|
| 1601 | - $output = ''; |
|
| 1602 | - |
|
| 1603 | - if ( $aui_bs5 ) { |
|
| 1583 | + ); |
|
| 1584 | + } |
|
| 1585 | + |
|
| 1586 | + $important_selectors = array( |
|
| 1587 | + ".bg-{$type}" => array('b','f'), |
|
| 1588 | + ".border-{$type}" => array('o'), |
|
| 1589 | + ".text-{$type}" => array('c'), |
|
| 1590 | + ); |
|
| 1591 | + |
|
| 1592 | + $color = array(); |
|
| 1593 | + $color_i = array(); |
|
| 1594 | + $background = array(); |
|
| 1595 | + $background_i = array(); |
|
| 1596 | + $border = array(); |
|
| 1597 | + $border_i = array(); |
|
| 1598 | + $fill = array(); |
|
| 1599 | + $fill_i = array(); |
|
| 1600 | + |
|
| 1601 | + $output = ''; |
|
| 1602 | + |
|
| 1603 | + if ( $aui_bs5 ) { |
|
| 1604 | 1604 | // $output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }'; |
| 1605 | - $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }'; |
|
| 1606 | - } |
|
| 1607 | - |
|
| 1608 | - // build rules into each type |
|
| 1609 | - foreach($selectors as $selector => $types){ |
|
| 1610 | - $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1611 | - $types = array_combine($types,$types); |
|
| 1612 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1613 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1614 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1615 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1616 | - } |
|
| 1617 | - |
|
| 1618 | - // build rules into each type |
|
| 1619 | - foreach($important_selectors as $selector => $types){ |
|
| 1620 | - $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1621 | - $types = array_combine($types,$types); |
|
| 1622 | - if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1623 | - if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1624 | - if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1625 | - if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1626 | - } |
|
| 1627 | - |
|
| 1628 | - // add any color rules |
|
| 1629 | - if(!empty($color)){ |
|
| 1630 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1631 | - } |
|
| 1632 | - if(!empty($color_i)){ |
|
| 1633 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1634 | - } |
|
| 1635 | - |
|
| 1636 | - // add any background color rules |
|
| 1637 | - if(!empty($background)){ |
|
| 1638 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1639 | - } |
|
| 1640 | - if(!empty($background_i)){ |
|
| 1641 | - $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1605 | + $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }'; |
|
| 1606 | + } |
|
| 1607 | + |
|
| 1608 | + // build rules into each type |
|
| 1609 | + foreach($selectors as $selector => $types){ |
|
| 1610 | + $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1611 | + $types = array_combine($types,$types); |
|
| 1612 | + if(isset($types['c'])){$color[] = $selector;} |
|
| 1613 | + if(isset($types['b'])){$background[] = $selector;} |
|
| 1614 | + if(isset($types['o'])){$border[] = $selector;} |
|
| 1615 | + if(isset($types['f'])){$fill[] = $selector;} |
|
| 1616 | + } |
|
| 1617 | + |
|
| 1618 | + // build rules into each type |
|
| 1619 | + foreach($important_selectors as $selector => $types){ |
|
| 1620 | + $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1621 | + $types = array_combine($types,$types); |
|
| 1622 | + if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1623 | + if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1624 | + if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1625 | + if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1626 | + } |
|
| 1627 | + |
|
| 1628 | + // add any color rules |
|
| 1629 | + if(!empty($color)){ |
|
| 1630 | + $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1631 | + } |
|
| 1632 | + if(!empty($color_i)){ |
|
| 1633 | + $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1634 | + } |
|
| 1635 | + |
|
| 1636 | + // add any background color rules |
|
| 1637 | + if(!empty($background)){ |
|
| 1638 | + $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1639 | + } |
|
| 1640 | + if(!empty($background_i)){ |
|
| 1641 | + $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1642 | 1642 | // $output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} "; |
| 1643 | - } |
|
| 1643 | + } |
|
| 1644 | 1644 | |
| 1645 | - // add any border color rules |
|
| 1646 | - if(!empty($border)){ |
|
| 1647 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1648 | - } |
|
| 1649 | - if(!empty($border_i)){ |
|
| 1650 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1651 | - } |
|
| 1645 | + // add any border color rules |
|
| 1646 | + if(!empty($border)){ |
|
| 1647 | + $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1648 | + } |
|
| 1649 | + if(!empty($border_i)){ |
|
| 1650 | + $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1651 | + } |
|
| 1652 | 1652 | |
| 1653 | - // add any fill color rules |
|
| 1654 | - if(!empty($fill)){ |
|
| 1655 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1656 | - } |
|
| 1657 | - if(!empty($fill_i)){ |
|
| 1658 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1659 | - } |
|
| 1653 | + // add any fill color rules |
|
| 1654 | + if(!empty($fill)){ |
|
| 1655 | + $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1656 | + } |
|
| 1657 | + if(!empty($fill_i)){ |
|
| 1658 | + $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1659 | + } |
|
| 1660 | 1660 | |
| 1661 | 1661 | |
| 1662 | - $prefix = $compatibility ? $compatibility . " " : ""; |
|
| 1662 | + $prefix = $compatibility ? $compatibility . " " : ""; |
|
| 1663 | 1663 | |
| 1664 | - $transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : ''; |
|
| 1665 | - // darken |
|
| 1666 | - $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1667 | - $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1668 | - $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1669 | - $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4"); |
|
| 1664 | + $transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : ''; |
|
| 1665 | + // darken |
|
| 1666 | + $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1667 | + $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1668 | + $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1669 | + $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4"); |
|
| 1670 | 1670 | |
| 1671 | - // lighten |
|
| 1672 | - $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1671 | + // lighten |
|
| 1672 | + $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1673 | 1673 | |
| 1674 | - // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1675 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 1674 | + // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1675 | + $op_25 = $color_code."40"; // 25% opacity |
|
| 1676 | 1676 | |
| 1677 | 1677 | |
| 1678 | - // button states |
|
| 1679 | - $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : ''; |
|
| 1680 | - $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1678 | + // button states |
|
| 1679 | + $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : ''; |
|
| 1680 | + $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1681 | 1681 | // $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000; border-color: #000;} "; |
| 1682 | - $output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1683 | - $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10."; border-color: ".$darker_125.";} "; |
|
| 1684 | - $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1682 | + $output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1683 | + $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10."; border-color: ".$darker_125.";} "; |
|
| 1684 | + $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1685 | 1685 | |
| 1686 | - if ( $type == 'primary' ) { |
|
| 1687 | - // dropdown's |
|
| 1688 | - $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 1686 | + if ( $type == 'primary' ) { |
|
| 1687 | + // dropdown's |
|
| 1688 | + $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 1689 | 1689 | |
| 1690 | - // input states |
|
| 1691 | - $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1690 | + // input states |
|
| 1691 | + $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1692 | 1692 | |
| 1693 | - // page link |
|
| 1694 | - $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1695 | - } |
|
| 1693 | + // page link |
|
| 1694 | + $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1695 | + } |
|
| 1696 | 1696 | |
| 1697 | 1697 | // alerts |
| 1698 | - if ( $aui_bs5 ) { |
|
| 1698 | + if ( $aui_bs5 ) { |
|
| 1699 | 1699 | // $output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20; border-color: ".$color_code."30;color:$darker_40} "; |
| 1700 | - $output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} "; |
|
| 1701 | - } |
|
| 1702 | - |
|
| 1703 | - return $output; |
|
| 1704 | - } |
|
| 1705 | - |
|
| 1706 | - /** |
|
| 1707 | - * |
|
| 1708 | - * @deprecated 0.1.76 Use css_overwrite() |
|
| 1709 | - * |
|
| 1710 | - * @param $color_code |
|
| 1711 | - * @param $compatibility |
|
| 1712 | - * @param $use_variable |
|
| 1713 | - * |
|
| 1714 | - * @return string |
|
| 1715 | - */ |
|
| 1716 | - public static function css_primary($color_code,$compatibility, $use_variable = false){ |
|
| 1717 | - |
|
| 1718 | - if(!$use_variable){ |
|
| 1719 | - $color_code = sanitize_hex_color($color_code); |
|
| 1720 | - if(!$color_code){return '';} |
|
| 1721 | - } |
|
| 1722 | - |
|
| 1723 | - /** |
|
| 1724 | - * c = color, b = background color, o = border-color, f = fill |
|
| 1725 | - */ |
|
| 1726 | - $selectors = array( |
|
| 1727 | - 'a' => array('c'), |
|
| 1728 | - '.btn-primary' => array('b','o'), |
|
| 1729 | - '.btn-primary.disabled' => array('b','o'), |
|
| 1730 | - '.btn-primary:disabled' => array('b','o'), |
|
| 1731 | - '.btn-outline-primary' => array('c','o'), |
|
| 1732 | - '.btn-outline-primary:hover' => array('b','o'), |
|
| 1733 | - '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'), |
|
| 1734 | - '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'), |
|
| 1735 | - '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'), |
|
| 1736 | - '.btn-link' => array('c'), |
|
| 1737 | - '.dropdown-item.active' => array('b'), |
|
| 1738 | - '.custom-control-input:checked~.custom-control-label::before' => array('b','o'), |
|
| 1739 | - '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'), |
|
| 1700 | + $output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} "; |
|
| 1701 | + } |
|
| 1702 | + |
|
| 1703 | + return $output; |
|
| 1704 | + } |
|
| 1705 | + |
|
| 1706 | + /** |
|
| 1707 | + * |
|
| 1708 | + * @deprecated 0.1.76 Use css_overwrite() |
|
| 1709 | + * |
|
| 1710 | + * @param $color_code |
|
| 1711 | + * @param $compatibility |
|
| 1712 | + * @param $use_variable |
|
| 1713 | + * |
|
| 1714 | + * @return string |
|
| 1715 | + */ |
|
| 1716 | + public static function css_primary($color_code,$compatibility, $use_variable = false){ |
|
| 1717 | + |
|
| 1718 | + if(!$use_variable){ |
|
| 1719 | + $color_code = sanitize_hex_color($color_code); |
|
| 1720 | + if(!$color_code){return '';} |
|
| 1721 | + } |
|
| 1722 | + |
|
| 1723 | + /** |
|
| 1724 | + * c = color, b = background color, o = border-color, f = fill |
|
| 1725 | + */ |
|
| 1726 | + $selectors = array( |
|
| 1727 | + 'a' => array('c'), |
|
| 1728 | + '.btn-primary' => array('b','o'), |
|
| 1729 | + '.btn-primary.disabled' => array('b','o'), |
|
| 1730 | + '.btn-primary:disabled' => array('b','o'), |
|
| 1731 | + '.btn-outline-primary' => array('c','o'), |
|
| 1732 | + '.btn-outline-primary:hover' => array('b','o'), |
|
| 1733 | + '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'), |
|
| 1734 | + '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'), |
|
| 1735 | + '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'), |
|
| 1736 | + '.btn-link' => array('c'), |
|
| 1737 | + '.dropdown-item.active' => array('b'), |
|
| 1738 | + '.custom-control-input:checked~.custom-control-label::before' => array('b','o'), |
|
| 1739 | + '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'), |
|
| 1740 | 1740 | // '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules... |
| 1741 | 1741 | // '.custom-range::-moz-range-thumb' => array('b'), |
| 1742 | 1742 | // '.custom-range::-ms-thumb' => array('b'), |
| 1743 | - '.nav-pills .nav-link.active' => array('b'), |
|
| 1744 | - '.nav-pills .show>.nav-link' => array('b'), |
|
| 1745 | - '.page-link' => array('c'), |
|
| 1746 | - '.page-item.active .page-link' => array('b','o'), |
|
| 1747 | - '.badge-primary' => array('b'), |
|
| 1748 | - '.alert-primary' => array('b','o'), |
|
| 1749 | - '.progress-bar' => array('b'), |
|
| 1750 | - '.list-group-item.active' => array('b','o'), |
|
| 1751 | - '.bg-primary' => array('b','f'), |
|
| 1752 | - '.btn-link.btn-primary' => array('c'), |
|
| 1753 | - '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'), |
|
| 1754 | - ); |
|
| 1755 | - |
|
| 1756 | - $important_selectors = array( |
|
| 1757 | - '.bg-primary' => array('b','f'), |
|
| 1758 | - '.border-primary' => array('o'), |
|
| 1759 | - '.text-primary' => array('c'), |
|
| 1760 | - ); |
|
| 1761 | - |
|
| 1762 | - $color = array(); |
|
| 1763 | - $color_i = array(); |
|
| 1764 | - $background = array(); |
|
| 1765 | - $background_i = array(); |
|
| 1766 | - $border = array(); |
|
| 1767 | - $border_i = array(); |
|
| 1768 | - $fill = array(); |
|
| 1769 | - $fill_i = array(); |
|
| 1770 | - |
|
| 1771 | - $output = ''; |
|
| 1772 | - |
|
| 1773 | - // build rules into each type |
|
| 1774 | - foreach($selectors as $selector => $types){ |
|
| 1775 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1776 | - $types = array_combine($types,$types); |
|
| 1777 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1778 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1779 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1780 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1781 | - } |
|
| 1782 | - |
|
| 1783 | - // build rules into each type |
|
| 1784 | - foreach($important_selectors as $selector => $types){ |
|
| 1785 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1786 | - $types = array_combine($types,$types); |
|
| 1787 | - if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1788 | - if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1789 | - if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1790 | - if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1791 | - } |
|
| 1792 | - |
|
| 1793 | - // add any color rules |
|
| 1794 | - if(!empty($color)){ |
|
| 1795 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1796 | - } |
|
| 1797 | - if(!empty($color_i)){ |
|
| 1798 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1799 | - } |
|
| 1800 | - |
|
| 1801 | - // add any background color rules |
|
| 1802 | - if(!empty($background)){ |
|
| 1803 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1804 | - } |
|
| 1805 | - if(!empty($background_i)){ |
|
| 1806 | - $output .= implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1807 | - } |
|
| 1808 | - |
|
| 1809 | - // add any border color rules |
|
| 1810 | - if(!empty($border)){ |
|
| 1811 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1812 | - } |
|
| 1813 | - if(!empty($border_i)){ |
|
| 1814 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1815 | - } |
|
| 1816 | - |
|
| 1817 | - // add any fill color rules |
|
| 1818 | - if(!empty($fill)){ |
|
| 1819 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1820 | - } |
|
| 1821 | - if(!empty($fill_i)){ |
|
| 1822 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1823 | - } |
|
| 1824 | - |
|
| 1825 | - |
|
| 1826 | - $prefix = $compatibility ? ".bsui " : ""; |
|
| 1827 | - |
|
| 1828 | - // darken |
|
| 1829 | - $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1830 | - $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1831 | - $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1832 | - |
|
| 1833 | - // lighten |
|
| 1834 | - $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1835 | - |
|
| 1836 | - // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1837 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 1838 | - |
|
| 1839 | - |
|
| 1840 | - // button states |
|
| 1841 | - $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1842 | - $output .= $prefix ." .btn-outline-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-primary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1843 | - $output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active, $prefix .btn-primary:not(:disabled):not(.disabled).active, .show>$prefix .btn-primary.dropdown-toggle{background-color: ".$darker_10."; border-color: ".$darker_125.";} "; |
|
| 1844 | - $output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1845 | - |
|
| 1846 | - |
|
| 1847 | - // dropdown's |
|
| 1848 | - $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 1849 | - |
|
| 1850 | - |
|
| 1851 | - // input states |
|
| 1852 | - $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1853 | - |
|
| 1854 | - // page link |
|
| 1855 | - $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1856 | - |
|
| 1857 | - return $output; |
|
| 1858 | - } |
|
| 1859 | - |
|
| 1860 | - /** |
|
| 1861 | - * |
|
| 1862 | - * @deprecated 0.1.76 Use css_overwrite() |
|
| 1863 | - * |
|
| 1864 | - * @param $color_code |
|
| 1865 | - * @param $compatibility |
|
| 1866 | - * |
|
| 1867 | - * @return string |
|
| 1868 | - */ |
|
| 1869 | - public static function css_secondary($color_code,$compatibility){; |
|
| 1870 | - $color_code = sanitize_hex_color($color_code); |
|
| 1871 | - if(!$color_code){return '';} |
|
| 1872 | - /** |
|
| 1873 | - * c = color, b = background color, o = border-color, f = fill |
|
| 1874 | - */ |
|
| 1875 | - $selectors = array( |
|
| 1876 | - '.btn-secondary' => array('b','o'), |
|
| 1877 | - '.btn-secondary.disabled' => array('b','o'), |
|
| 1878 | - '.btn-secondary:disabled' => array('b','o'), |
|
| 1879 | - '.btn-outline-secondary' => array('c','o'), |
|
| 1880 | - '.btn-outline-secondary:hover' => array('b','o'), |
|
| 1881 | - '.btn-outline-secondary.disabled' => array('c'), |
|
| 1882 | - '.btn-outline-secondary:disabled' => array('c'), |
|
| 1883 | - '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'), |
|
| 1884 | - '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'), |
|
| 1885 | - '.btn-outline-secondary.dropdown-toggle' => array('b','o'), |
|
| 1886 | - '.badge-secondary' => array('b'), |
|
| 1887 | - '.alert-secondary' => array('b','o'), |
|
| 1888 | - '.btn-link.btn-secondary' => array('c'), |
|
| 1889 | - ); |
|
| 1890 | - |
|
| 1891 | - $important_selectors = array( |
|
| 1892 | - '.bg-secondary' => array('b','f'), |
|
| 1893 | - '.border-secondary' => array('o'), |
|
| 1894 | - '.text-secondary' => array('c'), |
|
| 1895 | - ); |
|
| 1896 | - |
|
| 1897 | - $color = array(); |
|
| 1898 | - $color_i = array(); |
|
| 1899 | - $background = array(); |
|
| 1900 | - $background_i = array(); |
|
| 1901 | - $border = array(); |
|
| 1902 | - $border_i = array(); |
|
| 1903 | - $fill = array(); |
|
| 1904 | - $fill_i = array(); |
|
| 1905 | - |
|
| 1906 | - $output = ''; |
|
| 1907 | - |
|
| 1908 | - // build rules into each type |
|
| 1909 | - foreach($selectors as $selector => $types){ |
|
| 1910 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1911 | - $types = array_combine($types,$types); |
|
| 1912 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1913 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1914 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1915 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1916 | - } |
|
| 1917 | - |
|
| 1918 | - // build rules into each type |
|
| 1919 | - foreach($important_selectors as $selector => $types){ |
|
| 1920 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1921 | - $types = array_combine($types,$types); |
|
| 1922 | - if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1923 | - if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1924 | - if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1925 | - if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1926 | - } |
|
| 1927 | - |
|
| 1928 | - // add any color rules |
|
| 1929 | - if(!empty($color)){ |
|
| 1930 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1931 | - } |
|
| 1932 | - if(!empty($color_i)){ |
|
| 1933 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1934 | - } |
|
| 1935 | - |
|
| 1936 | - // add any background color rules |
|
| 1937 | - if(!empty($background)){ |
|
| 1938 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1939 | - } |
|
| 1940 | - if(!empty($background_i)){ |
|
| 1941 | - $output .= implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1942 | - } |
|
| 1943 | - |
|
| 1944 | - // add any border color rules |
|
| 1945 | - if(!empty($border)){ |
|
| 1946 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1947 | - } |
|
| 1948 | - if(!empty($border_i)){ |
|
| 1949 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1950 | - } |
|
| 1951 | - |
|
| 1952 | - // add any fill color rules |
|
| 1953 | - if(!empty($fill)){ |
|
| 1954 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1955 | - } |
|
| 1956 | - if(!empty($fill_i)){ |
|
| 1957 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1958 | - } |
|
| 1959 | - |
|
| 1960 | - |
|
| 1961 | - $prefix = $compatibility ? ".bsui " : ""; |
|
| 1962 | - |
|
| 1963 | - // darken |
|
| 1964 | - $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1965 | - $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1966 | - $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1967 | - |
|
| 1968 | - // lighten |
|
| 1969 | - $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1970 | - |
|
| 1971 | - // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1972 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 1973 | - |
|
| 1974 | - |
|
| 1975 | - // button states |
|
| 1976 | - $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1977 | - $output .= $prefix ." .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-secondary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1978 | - $output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active, $prefix .btn-secondary:not(:disabled):not(.disabled).active, .show>$prefix .btn-secondary.dropdown-toggle{background-color: ".$darker_10."; border-color: ".$darker_125.";} "; |
|
| 1979 | - $output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1980 | - |
|
| 1981 | - |
|
| 1982 | - return $output; |
|
| 1983 | - } |
|
| 1984 | - |
|
| 1985 | - /** |
|
| 1986 | - * Increases or decreases the brightness of a color by a percentage of the current brightness. |
|
| 1987 | - * |
|
| 1988 | - * @param string $hexCode Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF` |
|
| 1989 | - * @param float $adjustPercent A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker. |
|
| 1990 | - * |
|
| 1991 | - * @return string |
|
| 1992 | - */ |
|
| 1993 | - public static function css_hex_lighten_darken($hexCode, $adjustPercent) { |
|
| 1994 | - $hexCode = ltrim($hexCode, '#'); |
|
| 1995 | - |
|
| 1996 | - if (strlen($hexCode) == 3) { |
|
| 1997 | - $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2]; |
|
| 1998 | - } |
|
| 1999 | - |
|
| 2000 | - $hexCode = array_map('hexdec', str_split($hexCode, 2)); |
|
| 2001 | - |
|
| 2002 | - foreach ($hexCode as & $color) { |
|
| 2003 | - $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color; |
|
| 2004 | - $adjustAmount = ceil($adjustableLimit * $adjustPercent); |
|
| 2005 | - |
|
| 2006 | - $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT); |
|
| 2007 | - } |
|
| 2008 | - |
|
| 2009 | - return '#' . implode($hexCode); |
|
| 2010 | - } |
|
| 2011 | - |
|
| 2012 | - /** |
|
| 2013 | - * Check if we should display examples. |
|
| 2014 | - */ |
|
| 2015 | - public function maybe_show_examples(){ |
|
| 2016 | - if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){ |
|
| 2017 | - echo "<head>"; |
|
| 2018 | - wp_head(); |
|
| 2019 | - echo "</head>"; |
|
| 2020 | - echo "<body>"; |
|
| 2021 | - echo $this->get_examples(); |
|
| 2022 | - echo "</body>"; |
|
| 2023 | - exit; |
|
| 2024 | - } |
|
| 2025 | - } |
|
| 2026 | - |
|
| 2027 | - /** |
|
| 2028 | - * Get developer examples. |
|
| 2029 | - * |
|
| 2030 | - * @return string |
|
| 2031 | - */ |
|
| 2032 | - public function get_examples(){ |
|
| 2033 | - $output = ''; |
|
| 2034 | - |
|
| 2035 | - |
|
| 2036 | - // open form |
|
| 2037 | - $output .= "<form class='p-5 m-5 border rounded'>"; |
|
| 2038 | - |
|
| 2039 | - // input example |
|
| 2040 | - $output .= aui()->input(array( |
|
| 2041 | - 'type' => 'text', |
|
| 2042 | - 'id' => 'text-example', |
|
| 2043 | - 'name' => 'text-example', |
|
| 2044 | - 'placeholder' => 'text placeholder', |
|
| 2045 | - 'title' => 'Text input example', |
|
| 2046 | - 'value' => '', |
|
| 2047 | - 'required' => false, |
|
| 2048 | - 'help_text' => 'help text', |
|
| 2049 | - 'label' => 'Text input example label' |
|
| 2050 | - )); |
|
| 2051 | - |
|
| 2052 | - // input example |
|
| 2053 | - $output .= aui()->input(array( |
|
| 2054 | - 'type' => 'url', |
|
| 2055 | - 'id' => 'text-example2', |
|
| 2056 | - 'name' => 'text-example', |
|
| 2057 | - 'placeholder' => 'url placeholder', |
|
| 2058 | - 'title' => 'Text input example', |
|
| 2059 | - 'value' => '', |
|
| 2060 | - 'required' => false, |
|
| 2061 | - 'help_text' => 'help text', |
|
| 2062 | - 'label' => 'Text input example label' |
|
| 2063 | - )); |
|
| 2064 | - |
|
| 2065 | - // checkbox example |
|
| 2066 | - $output .= aui()->input(array( |
|
| 2067 | - 'type' => 'checkbox', |
|
| 2068 | - 'id' => 'checkbox-example', |
|
| 2069 | - 'name' => 'checkbox-example', |
|
| 2070 | - 'placeholder' => 'checkbox-example', |
|
| 2071 | - 'title' => 'Checkbox example', |
|
| 2072 | - 'value' => '1', |
|
| 2073 | - 'checked' => true, |
|
| 2074 | - 'required' => false, |
|
| 2075 | - 'help_text' => 'help text', |
|
| 2076 | - 'label' => 'Checkbox checked' |
|
| 2077 | - )); |
|
| 2078 | - |
|
| 2079 | - // checkbox example |
|
| 2080 | - $output .= aui()->input(array( |
|
| 2081 | - 'type' => 'checkbox', |
|
| 2082 | - 'id' => 'checkbox-example2', |
|
| 2083 | - 'name' => 'checkbox-example2', |
|
| 2084 | - 'placeholder' => 'checkbox-example', |
|
| 2085 | - 'title' => 'Checkbox example', |
|
| 2086 | - 'value' => '1', |
|
| 2087 | - 'checked' => false, |
|
| 2088 | - 'required' => false, |
|
| 2089 | - 'help_text' => 'help text', |
|
| 2090 | - 'label' => 'Checkbox un-checked' |
|
| 2091 | - )); |
|
| 2092 | - |
|
| 2093 | - // switch example |
|
| 2094 | - $output .= aui()->input(array( |
|
| 2095 | - 'type' => 'checkbox', |
|
| 2096 | - 'id' => 'switch-example', |
|
| 2097 | - 'name' => 'switch-example', |
|
| 2098 | - 'placeholder' => 'checkbox-example', |
|
| 2099 | - 'title' => 'Switch example', |
|
| 2100 | - 'value' => '1', |
|
| 2101 | - 'checked' => true, |
|
| 2102 | - 'switch' => true, |
|
| 2103 | - 'required' => false, |
|
| 2104 | - 'help_text' => 'help text', |
|
| 2105 | - 'label' => 'Switch on' |
|
| 2106 | - )); |
|
| 2107 | - |
|
| 2108 | - // switch example |
|
| 2109 | - $output .= aui()->input(array( |
|
| 2110 | - 'type' => 'checkbox', |
|
| 2111 | - 'id' => 'switch-example2', |
|
| 2112 | - 'name' => 'switch-example2', |
|
| 2113 | - 'placeholder' => 'checkbox-example', |
|
| 2114 | - 'title' => 'Switch example', |
|
| 2115 | - 'value' => '1', |
|
| 2116 | - 'checked' => false, |
|
| 2117 | - 'switch' => true, |
|
| 2118 | - 'required' => false, |
|
| 2119 | - 'help_text' => 'help text', |
|
| 2120 | - 'label' => 'Switch off' |
|
| 2121 | - )); |
|
| 2122 | - |
|
| 2123 | - // close form |
|
| 2124 | - $output .= "</form>"; |
|
| 2125 | - |
|
| 2126 | - return $output; |
|
| 2127 | - } |
|
| 2128 | - |
|
| 2129 | - /** |
|
| 2130 | - * Calendar params. |
|
| 2131 | - * |
|
| 2132 | - * @since 0.1.44 |
|
| 2133 | - * |
|
| 2134 | - * @return array Calendar params. |
|
| 2135 | - */ |
|
| 2136 | - public static function calendar_params() { |
|
| 2137 | - $params = array( |
|
| 2138 | - 'month_long_1' => __( 'January', 'aui' ), |
|
| 2139 | - 'month_long_2' => __( 'February', 'aui' ), |
|
| 2140 | - 'month_long_3' => __( 'March', 'aui' ), |
|
| 2141 | - 'month_long_4' => __( 'April', 'aui' ), |
|
| 2142 | - 'month_long_5' => __( 'May', 'aui' ), |
|
| 2143 | - 'month_long_6' => __( 'June', 'aui' ), |
|
| 2144 | - 'month_long_7' => __( 'July', 'aui' ), |
|
| 2145 | - 'month_long_8' => __( 'August', 'aui' ), |
|
| 2146 | - 'month_long_9' => __( 'September', 'aui' ), |
|
| 2147 | - 'month_long_10' => __( 'October', 'aui' ), |
|
| 2148 | - 'month_long_11' => __( 'November', 'aui' ), |
|
| 2149 | - 'month_long_12' => __( 'December', 'aui' ), |
|
| 2150 | - 'month_s_1' => _x( 'Jan', 'January abbreviation', 'aui' ), |
|
| 2151 | - 'month_s_2' => _x( 'Feb', 'February abbreviation', 'aui' ), |
|
| 2152 | - 'month_s_3' => _x( 'Mar', 'March abbreviation', 'aui' ), |
|
| 2153 | - 'month_s_4' => _x( 'Apr', 'April abbreviation', 'aui' ), |
|
| 2154 | - 'month_s_5' => _x( 'May', 'May abbreviation', 'aui' ), |
|
| 2155 | - 'month_s_6' => _x( 'Jun', 'June abbreviation', 'aui' ), |
|
| 2156 | - 'month_s_7' => _x( 'Jul', 'July abbreviation', 'aui' ), |
|
| 2157 | - 'month_s_8' => _x( 'Aug', 'August abbreviation', 'aui' ), |
|
| 2158 | - 'month_s_9' => _x( 'Sep', 'September abbreviation', 'aui' ), |
|
| 2159 | - 'month_s_10' => _x( 'Oct', 'October abbreviation', 'aui' ), |
|
| 2160 | - 'month_s_11' => _x( 'Nov', 'November abbreviation', 'aui' ), |
|
| 2161 | - 'month_s_12' => _x( 'Dec', 'December abbreviation', 'aui' ), |
|
| 2162 | - 'day_s1_1' => _x( 'S', 'Sunday initial', 'aui' ), |
|
| 2163 | - 'day_s1_2' => _x( 'M', 'Monday initial', 'aui' ), |
|
| 2164 | - 'day_s1_3' => _x( 'T', 'Tuesday initial', 'aui' ), |
|
| 2165 | - 'day_s1_4' => _x( 'W', 'Wednesday initial', 'aui' ), |
|
| 2166 | - 'day_s1_5' => _x( 'T', 'Friday initial', 'aui' ), |
|
| 2167 | - 'day_s1_6' => _x( 'F', 'Thursday initial', 'aui' ), |
|
| 2168 | - 'day_s1_7' => _x( 'S', 'Saturday initial', 'aui' ), |
|
| 2169 | - 'day_s2_1' => __( 'Su', 'aui' ), |
|
| 2170 | - 'day_s2_2' => __( 'Mo', 'aui' ), |
|
| 2171 | - 'day_s2_3' => __( 'Tu', 'aui' ), |
|
| 2172 | - 'day_s2_4' => __( 'We', 'aui' ), |
|
| 2173 | - 'day_s2_5' => __( 'Th', 'aui' ), |
|
| 2174 | - 'day_s2_6' => __( 'Fr', 'aui' ), |
|
| 2175 | - 'day_s2_7' => __( 'Sa', 'aui' ), |
|
| 2176 | - 'day_s3_1' => __( 'Sun', 'aui' ), |
|
| 2177 | - 'day_s3_2' => __( 'Mon', 'aui' ), |
|
| 2178 | - 'day_s3_3' => __( 'Tue', 'aui' ), |
|
| 2179 | - 'day_s3_4' => __( 'Wed', 'aui' ), |
|
| 2180 | - 'day_s3_5' => __( 'Thu', 'aui' ), |
|
| 2181 | - 'day_s3_6' => __( 'Fri', 'aui' ), |
|
| 2182 | - 'day_s3_7' => __( 'Sat', 'aui' ), |
|
| 2183 | - 'day_s5_1' => __( 'Sunday', 'aui' ), |
|
| 2184 | - 'day_s5_2' => __( 'Monday', 'aui' ), |
|
| 2185 | - 'day_s5_3' => __( 'Tuesday', 'aui' ), |
|
| 2186 | - 'day_s5_4' => __( 'Wednesday', 'aui' ), |
|
| 2187 | - 'day_s5_5' => __( 'Thursday', 'aui' ), |
|
| 2188 | - 'day_s5_6' => __( 'Friday', 'aui' ), |
|
| 2189 | - 'day_s5_7' => __( 'Saturday', 'aui' ), |
|
| 2190 | - 'am_lower' => __( 'am', 'aui' ), |
|
| 2191 | - 'pm_lower' => __( 'pm', 'aui' ), |
|
| 2192 | - 'am_upper' => __( 'AM', 'aui' ), |
|
| 2193 | - 'pm_upper' => __( 'PM', 'aui' ), |
|
| 2194 | - 'firstDayOfWeek' => (int) get_option( 'start_of_week' ), |
|
| 2195 | - 'time_24hr' => false, |
|
| 2196 | - 'year' => __( 'Year', 'aui' ), |
|
| 2197 | - 'hour' => __( 'Hour', 'aui' ), |
|
| 2198 | - 'minute' => __( 'Minute', 'aui' ), |
|
| 2199 | - 'weekAbbreviation' => __( 'Wk', 'aui' ), |
|
| 2200 | - 'rangeSeparator' => __( ' to ', 'aui' ), |
|
| 2201 | - 'scrollTitle' => __( 'Scroll to increment', 'aui' ), |
|
| 2202 | - 'toggleTitle' => __( 'Click to toggle', 'aui' ) |
|
| 2203 | - ); |
|
| 2204 | - |
|
| 2205 | - return apply_filters( 'ayecode_ui_calendar_params', $params ); |
|
| 2206 | - } |
|
| 2207 | - |
|
| 2208 | - /** |
|
| 2209 | - * Flatpickr calendar localize. |
|
| 2210 | - * |
|
| 2211 | - * @since 0.1.44 |
|
| 2212 | - * |
|
| 2213 | - * @return string Calendar locale. |
|
| 2214 | - */ |
|
| 2215 | - public static function flatpickr_locale() { |
|
| 2216 | - $params = self::calendar_params(); |
|
| 2217 | - |
|
| 2218 | - if ( is_string( $params ) ) { |
|
| 2219 | - $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' ); |
|
| 2220 | - } else { |
|
| 2221 | - foreach ( (array) $params as $key => $value ) { |
|
| 2222 | - if ( ! is_scalar( $value ) ) { |
|
| 2223 | - continue; |
|
| 2224 | - } |
|
| 2225 | - |
|
| 2226 | - $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2227 | - } |
|
| 2228 | - } |
|
| 1743 | + '.nav-pills .nav-link.active' => array('b'), |
|
| 1744 | + '.nav-pills .show>.nav-link' => array('b'), |
|
| 1745 | + '.page-link' => array('c'), |
|
| 1746 | + '.page-item.active .page-link' => array('b','o'), |
|
| 1747 | + '.badge-primary' => array('b'), |
|
| 1748 | + '.alert-primary' => array('b','o'), |
|
| 1749 | + '.progress-bar' => array('b'), |
|
| 1750 | + '.list-group-item.active' => array('b','o'), |
|
| 1751 | + '.bg-primary' => array('b','f'), |
|
| 1752 | + '.btn-link.btn-primary' => array('c'), |
|
| 1753 | + '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'), |
|
| 1754 | + ); |
|
| 1755 | + |
|
| 1756 | + $important_selectors = array( |
|
| 1757 | + '.bg-primary' => array('b','f'), |
|
| 1758 | + '.border-primary' => array('o'), |
|
| 1759 | + '.text-primary' => array('c'), |
|
| 1760 | + ); |
|
| 1761 | + |
|
| 1762 | + $color = array(); |
|
| 1763 | + $color_i = array(); |
|
| 1764 | + $background = array(); |
|
| 1765 | + $background_i = array(); |
|
| 1766 | + $border = array(); |
|
| 1767 | + $border_i = array(); |
|
| 1768 | + $fill = array(); |
|
| 1769 | + $fill_i = array(); |
|
| 1770 | + |
|
| 1771 | + $output = ''; |
|
| 1772 | + |
|
| 1773 | + // build rules into each type |
|
| 1774 | + foreach($selectors as $selector => $types){ |
|
| 1775 | + $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1776 | + $types = array_combine($types,$types); |
|
| 1777 | + if(isset($types['c'])){$color[] = $selector;} |
|
| 1778 | + if(isset($types['b'])){$background[] = $selector;} |
|
| 1779 | + if(isset($types['o'])){$border[] = $selector;} |
|
| 1780 | + if(isset($types['f'])){$fill[] = $selector;} |
|
| 1781 | + } |
|
| 1782 | + |
|
| 1783 | + // build rules into each type |
|
| 1784 | + foreach($important_selectors as $selector => $types){ |
|
| 1785 | + $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1786 | + $types = array_combine($types,$types); |
|
| 1787 | + if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1788 | + if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1789 | + if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1790 | + if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1791 | + } |
|
| 1792 | + |
|
| 1793 | + // add any color rules |
|
| 1794 | + if(!empty($color)){ |
|
| 1795 | + $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1796 | + } |
|
| 1797 | + if(!empty($color_i)){ |
|
| 1798 | + $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1799 | + } |
|
| 1800 | + |
|
| 1801 | + // add any background color rules |
|
| 1802 | + if(!empty($background)){ |
|
| 1803 | + $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1804 | + } |
|
| 1805 | + if(!empty($background_i)){ |
|
| 1806 | + $output .= implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1807 | + } |
|
| 1808 | + |
|
| 1809 | + // add any border color rules |
|
| 1810 | + if(!empty($border)){ |
|
| 1811 | + $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1812 | + } |
|
| 1813 | + if(!empty($border_i)){ |
|
| 1814 | + $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1815 | + } |
|
| 1816 | + |
|
| 1817 | + // add any fill color rules |
|
| 1818 | + if(!empty($fill)){ |
|
| 1819 | + $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1820 | + } |
|
| 1821 | + if(!empty($fill_i)){ |
|
| 1822 | + $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1823 | + } |
|
| 1824 | + |
|
| 1825 | + |
|
| 1826 | + $prefix = $compatibility ? ".bsui " : ""; |
|
| 1827 | + |
|
| 1828 | + // darken |
|
| 1829 | + $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1830 | + $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1831 | + $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1832 | + |
|
| 1833 | + // lighten |
|
| 1834 | + $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1835 | + |
|
| 1836 | + // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1837 | + $op_25 = $color_code."40"; // 25% opacity |
|
| 1838 | + |
|
| 2229 | 1839 | |
| 2230 | - $day_s3 = array(); |
|
| 2231 | - $day_s5 = array(); |
|
| 1840 | + // button states |
|
| 1841 | + $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1842 | + $output .= $prefix ." .btn-outline-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-primary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1843 | + $output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active, $prefix .btn-primary:not(:disabled):not(.disabled).active, .show>$prefix .btn-primary.dropdown-toggle{background-color: ".$darker_10."; border-color: ".$darker_125.";} "; |
|
| 1844 | + $output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 2232 | 1845 | |
| 2233 | - for ( $i = 1; $i <= 7; $i ++ ) { |
|
| 2234 | - $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); |
|
| 2235 | - $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); |
|
| 2236 | - } |
|
| 2237 | 1846 | |
| 2238 | - $month_s = array(); |
|
| 2239 | - $month_long = array(); |
|
| 1847 | + // dropdown's |
|
| 1848 | + $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 2240 | 1849 | |
| 2241 | - for ( $i = 1; $i <= 12; $i ++ ) { |
|
| 2242 | - $month_s[] = addslashes( $params[ 'month_s_' . $i ] ); |
|
| 2243 | - $month_long[] = addslashes( $params[ 'month_long_' . $i ] ); |
|
| 2244 | - } |
|
| 2245 | 1850 | |
| 2246 | - ob_start(); |
|
| 2247 | - if ( 0 ) { ?><script><?php } ?> |
|
| 1851 | + // input states |
|
| 1852 | + $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1853 | + |
|
| 1854 | + // page link |
|
| 1855 | + $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1856 | + |
|
| 1857 | + return $output; |
|
| 1858 | + } |
|
| 1859 | + |
|
| 1860 | + /** |
|
| 1861 | + * |
|
| 1862 | + * @deprecated 0.1.76 Use css_overwrite() |
|
| 1863 | + * |
|
| 1864 | + * @param $color_code |
|
| 1865 | + * @param $compatibility |
|
| 1866 | + * |
|
| 1867 | + * @return string |
|
| 1868 | + */ |
|
| 1869 | + public static function css_secondary($color_code,$compatibility){; |
|
| 1870 | + $color_code = sanitize_hex_color($color_code); |
|
| 1871 | + if(!$color_code){return '';} |
|
| 1872 | + /** |
|
| 1873 | + * c = color, b = background color, o = border-color, f = fill |
|
| 1874 | + */ |
|
| 1875 | + $selectors = array( |
|
| 1876 | + '.btn-secondary' => array('b','o'), |
|
| 1877 | + '.btn-secondary.disabled' => array('b','o'), |
|
| 1878 | + '.btn-secondary:disabled' => array('b','o'), |
|
| 1879 | + '.btn-outline-secondary' => array('c','o'), |
|
| 1880 | + '.btn-outline-secondary:hover' => array('b','o'), |
|
| 1881 | + '.btn-outline-secondary.disabled' => array('c'), |
|
| 1882 | + '.btn-outline-secondary:disabled' => array('c'), |
|
| 1883 | + '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'), |
|
| 1884 | + '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'), |
|
| 1885 | + '.btn-outline-secondary.dropdown-toggle' => array('b','o'), |
|
| 1886 | + '.badge-secondary' => array('b'), |
|
| 1887 | + '.alert-secondary' => array('b','o'), |
|
| 1888 | + '.btn-link.btn-secondary' => array('c'), |
|
| 1889 | + ); |
|
| 1890 | + |
|
| 1891 | + $important_selectors = array( |
|
| 1892 | + '.bg-secondary' => array('b','f'), |
|
| 1893 | + '.border-secondary' => array('o'), |
|
| 1894 | + '.text-secondary' => array('c'), |
|
| 1895 | + ); |
|
| 1896 | + |
|
| 1897 | + $color = array(); |
|
| 1898 | + $color_i = array(); |
|
| 1899 | + $background = array(); |
|
| 1900 | + $background_i = array(); |
|
| 1901 | + $border = array(); |
|
| 1902 | + $border_i = array(); |
|
| 1903 | + $fill = array(); |
|
| 1904 | + $fill_i = array(); |
|
| 1905 | + |
|
| 1906 | + $output = ''; |
|
| 1907 | + |
|
| 1908 | + // build rules into each type |
|
| 1909 | + foreach($selectors as $selector => $types){ |
|
| 1910 | + $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1911 | + $types = array_combine($types,$types); |
|
| 1912 | + if(isset($types['c'])){$color[] = $selector;} |
|
| 1913 | + if(isset($types['b'])){$background[] = $selector;} |
|
| 1914 | + if(isset($types['o'])){$border[] = $selector;} |
|
| 1915 | + if(isset($types['f'])){$fill[] = $selector;} |
|
| 1916 | + } |
|
| 1917 | + |
|
| 1918 | + // build rules into each type |
|
| 1919 | + foreach($important_selectors as $selector => $types){ |
|
| 1920 | + $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1921 | + $types = array_combine($types,$types); |
|
| 1922 | + if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1923 | + if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1924 | + if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1925 | + if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1926 | + } |
|
| 1927 | + |
|
| 1928 | + // add any color rules |
|
| 1929 | + if(!empty($color)){ |
|
| 1930 | + $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1931 | + } |
|
| 1932 | + if(!empty($color_i)){ |
|
| 1933 | + $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1934 | + } |
|
| 1935 | + |
|
| 1936 | + // add any background color rules |
|
| 1937 | + if(!empty($background)){ |
|
| 1938 | + $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1939 | + } |
|
| 1940 | + if(!empty($background_i)){ |
|
| 1941 | + $output .= implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1942 | + } |
|
| 1943 | + |
|
| 1944 | + // add any border color rules |
|
| 1945 | + if(!empty($border)){ |
|
| 1946 | + $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1947 | + } |
|
| 1948 | + if(!empty($border_i)){ |
|
| 1949 | + $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1950 | + } |
|
| 1951 | + |
|
| 1952 | + // add any fill color rules |
|
| 1953 | + if(!empty($fill)){ |
|
| 1954 | + $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1955 | + } |
|
| 1956 | + if(!empty($fill_i)){ |
|
| 1957 | + $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1958 | + } |
|
| 1959 | + |
|
| 1960 | + |
|
| 1961 | + $prefix = $compatibility ? ".bsui " : ""; |
|
| 1962 | + |
|
| 1963 | + // darken |
|
| 1964 | + $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1965 | + $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1966 | + $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1967 | + |
|
| 1968 | + // lighten |
|
| 1969 | + $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1970 | + |
|
| 1971 | + // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1972 | + $op_25 = $color_code."40"; // 25% opacity |
|
| 1973 | + |
|
| 1974 | + |
|
| 1975 | + // button states |
|
| 1976 | + $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1977 | + $output .= $prefix ." .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-secondary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1978 | + $output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active, $prefix .btn-secondary:not(:disabled):not(.disabled).active, .show>$prefix .btn-secondary.dropdown-toggle{background-color: ".$darker_10."; border-color: ".$darker_125.";} "; |
|
| 1979 | + $output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1980 | + |
|
| 1981 | + |
|
| 1982 | + return $output; |
|
| 1983 | + } |
|
| 1984 | + |
|
| 1985 | + /** |
|
| 1986 | + * Increases or decreases the brightness of a color by a percentage of the current brightness. |
|
| 1987 | + * |
|
| 1988 | + * @param string $hexCode Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF` |
|
| 1989 | + * @param float $adjustPercent A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker. |
|
| 1990 | + * |
|
| 1991 | + * @return string |
|
| 1992 | + */ |
|
| 1993 | + public static function css_hex_lighten_darken($hexCode, $adjustPercent) { |
|
| 1994 | + $hexCode = ltrim($hexCode, '#'); |
|
| 1995 | + |
|
| 1996 | + if (strlen($hexCode) == 3) { |
|
| 1997 | + $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2]; |
|
| 1998 | + } |
|
| 1999 | + |
|
| 2000 | + $hexCode = array_map('hexdec', str_split($hexCode, 2)); |
|
| 2001 | + |
|
| 2002 | + foreach ($hexCode as & $color) { |
|
| 2003 | + $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color; |
|
| 2004 | + $adjustAmount = ceil($adjustableLimit * $adjustPercent); |
|
| 2005 | + |
|
| 2006 | + $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT); |
|
| 2007 | + } |
|
| 2008 | + |
|
| 2009 | + return '#' . implode($hexCode); |
|
| 2010 | + } |
|
| 2011 | + |
|
| 2012 | + /** |
|
| 2013 | + * Check if we should display examples. |
|
| 2014 | + */ |
|
| 2015 | + public function maybe_show_examples(){ |
|
| 2016 | + if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){ |
|
| 2017 | + echo "<head>"; |
|
| 2018 | + wp_head(); |
|
| 2019 | + echo "</head>"; |
|
| 2020 | + echo "<body>"; |
|
| 2021 | + echo $this->get_examples(); |
|
| 2022 | + echo "</body>"; |
|
| 2023 | + exit; |
|
| 2024 | + } |
|
| 2025 | + } |
|
| 2026 | + |
|
| 2027 | + /** |
|
| 2028 | + * Get developer examples. |
|
| 2029 | + * |
|
| 2030 | + * @return string |
|
| 2031 | + */ |
|
| 2032 | + public function get_examples(){ |
|
| 2033 | + $output = ''; |
|
| 2034 | + |
|
| 2035 | + |
|
| 2036 | + // open form |
|
| 2037 | + $output .= "<form class='p-5 m-5 border rounded'>"; |
|
| 2038 | + |
|
| 2039 | + // input example |
|
| 2040 | + $output .= aui()->input(array( |
|
| 2041 | + 'type' => 'text', |
|
| 2042 | + 'id' => 'text-example', |
|
| 2043 | + 'name' => 'text-example', |
|
| 2044 | + 'placeholder' => 'text placeholder', |
|
| 2045 | + 'title' => 'Text input example', |
|
| 2046 | + 'value' => '', |
|
| 2047 | + 'required' => false, |
|
| 2048 | + 'help_text' => 'help text', |
|
| 2049 | + 'label' => 'Text input example label' |
|
| 2050 | + )); |
|
| 2051 | + |
|
| 2052 | + // input example |
|
| 2053 | + $output .= aui()->input(array( |
|
| 2054 | + 'type' => 'url', |
|
| 2055 | + 'id' => 'text-example2', |
|
| 2056 | + 'name' => 'text-example', |
|
| 2057 | + 'placeholder' => 'url placeholder', |
|
| 2058 | + 'title' => 'Text input example', |
|
| 2059 | + 'value' => '', |
|
| 2060 | + 'required' => false, |
|
| 2061 | + 'help_text' => 'help text', |
|
| 2062 | + 'label' => 'Text input example label' |
|
| 2063 | + )); |
|
| 2064 | + |
|
| 2065 | + // checkbox example |
|
| 2066 | + $output .= aui()->input(array( |
|
| 2067 | + 'type' => 'checkbox', |
|
| 2068 | + 'id' => 'checkbox-example', |
|
| 2069 | + 'name' => 'checkbox-example', |
|
| 2070 | + 'placeholder' => 'checkbox-example', |
|
| 2071 | + 'title' => 'Checkbox example', |
|
| 2072 | + 'value' => '1', |
|
| 2073 | + 'checked' => true, |
|
| 2074 | + 'required' => false, |
|
| 2075 | + 'help_text' => 'help text', |
|
| 2076 | + 'label' => 'Checkbox checked' |
|
| 2077 | + )); |
|
| 2078 | + |
|
| 2079 | + // checkbox example |
|
| 2080 | + $output .= aui()->input(array( |
|
| 2081 | + 'type' => 'checkbox', |
|
| 2082 | + 'id' => 'checkbox-example2', |
|
| 2083 | + 'name' => 'checkbox-example2', |
|
| 2084 | + 'placeholder' => 'checkbox-example', |
|
| 2085 | + 'title' => 'Checkbox example', |
|
| 2086 | + 'value' => '1', |
|
| 2087 | + 'checked' => false, |
|
| 2088 | + 'required' => false, |
|
| 2089 | + 'help_text' => 'help text', |
|
| 2090 | + 'label' => 'Checkbox un-checked' |
|
| 2091 | + )); |
|
| 2092 | + |
|
| 2093 | + // switch example |
|
| 2094 | + $output .= aui()->input(array( |
|
| 2095 | + 'type' => 'checkbox', |
|
| 2096 | + 'id' => 'switch-example', |
|
| 2097 | + 'name' => 'switch-example', |
|
| 2098 | + 'placeholder' => 'checkbox-example', |
|
| 2099 | + 'title' => 'Switch example', |
|
| 2100 | + 'value' => '1', |
|
| 2101 | + 'checked' => true, |
|
| 2102 | + 'switch' => true, |
|
| 2103 | + 'required' => false, |
|
| 2104 | + 'help_text' => 'help text', |
|
| 2105 | + 'label' => 'Switch on' |
|
| 2106 | + )); |
|
| 2107 | + |
|
| 2108 | + // switch example |
|
| 2109 | + $output .= aui()->input(array( |
|
| 2110 | + 'type' => 'checkbox', |
|
| 2111 | + 'id' => 'switch-example2', |
|
| 2112 | + 'name' => 'switch-example2', |
|
| 2113 | + 'placeholder' => 'checkbox-example', |
|
| 2114 | + 'title' => 'Switch example', |
|
| 2115 | + 'value' => '1', |
|
| 2116 | + 'checked' => false, |
|
| 2117 | + 'switch' => true, |
|
| 2118 | + 'required' => false, |
|
| 2119 | + 'help_text' => 'help text', |
|
| 2120 | + 'label' => 'Switch off' |
|
| 2121 | + )); |
|
| 2122 | + |
|
| 2123 | + // close form |
|
| 2124 | + $output .= "</form>"; |
|
| 2125 | + |
|
| 2126 | + return $output; |
|
| 2127 | + } |
|
| 2128 | + |
|
| 2129 | + /** |
|
| 2130 | + * Calendar params. |
|
| 2131 | + * |
|
| 2132 | + * @since 0.1.44 |
|
| 2133 | + * |
|
| 2134 | + * @return array Calendar params. |
|
| 2135 | + */ |
|
| 2136 | + public static function calendar_params() { |
|
| 2137 | + $params = array( |
|
| 2138 | + 'month_long_1' => __( 'January', 'aui' ), |
|
| 2139 | + 'month_long_2' => __( 'February', 'aui' ), |
|
| 2140 | + 'month_long_3' => __( 'March', 'aui' ), |
|
| 2141 | + 'month_long_4' => __( 'April', 'aui' ), |
|
| 2142 | + 'month_long_5' => __( 'May', 'aui' ), |
|
| 2143 | + 'month_long_6' => __( 'June', 'aui' ), |
|
| 2144 | + 'month_long_7' => __( 'July', 'aui' ), |
|
| 2145 | + 'month_long_8' => __( 'August', 'aui' ), |
|
| 2146 | + 'month_long_9' => __( 'September', 'aui' ), |
|
| 2147 | + 'month_long_10' => __( 'October', 'aui' ), |
|
| 2148 | + 'month_long_11' => __( 'November', 'aui' ), |
|
| 2149 | + 'month_long_12' => __( 'December', 'aui' ), |
|
| 2150 | + 'month_s_1' => _x( 'Jan', 'January abbreviation', 'aui' ), |
|
| 2151 | + 'month_s_2' => _x( 'Feb', 'February abbreviation', 'aui' ), |
|
| 2152 | + 'month_s_3' => _x( 'Mar', 'March abbreviation', 'aui' ), |
|
| 2153 | + 'month_s_4' => _x( 'Apr', 'April abbreviation', 'aui' ), |
|
| 2154 | + 'month_s_5' => _x( 'May', 'May abbreviation', 'aui' ), |
|
| 2155 | + 'month_s_6' => _x( 'Jun', 'June abbreviation', 'aui' ), |
|
| 2156 | + 'month_s_7' => _x( 'Jul', 'July abbreviation', 'aui' ), |
|
| 2157 | + 'month_s_8' => _x( 'Aug', 'August abbreviation', 'aui' ), |
|
| 2158 | + 'month_s_9' => _x( 'Sep', 'September abbreviation', 'aui' ), |
|
| 2159 | + 'month_s_10' => _x( 'Oct', 'October abbreviation', 'aui' ), |
|
| 2160 | + 'month_s_11' => _x( 'Nov', 'November abbreviation', 'aui' ), |
|
| 2161 | + 'month_s_12' => _x( 'Dec', 'December abbreviation', 'aui' ), |
|
| 2162 | + 'day_s1_1' => _x( 'S', 'Sunday initial', 'aui' ), |
|
| 2163 | + 'day_s1_2' => _x( 'M', 'Monday initial', 'aui' ), |
|
| 2164 | + 'day_s1_3' => _x( 'T', 'Tuesday initial', 'aui' ), |
|
| 2165 | + 'day_s1_4' => _x( 'W', 'Wednesday initial', 'aui' ), |
|
| 2166 | + 'day_s1_5' => _x( 'T', 'Friday initial', 'aui' ), |
|
| 2167 | + 'day_s1_6' => _x( 'F', 'Thursday initial', 'aui' ), |
|
| 2168 | + 'day_s1_7' => _x( 'S', 'Saturday initial', 'aui' ), |
|
| 2169 | + 'day_s2_1' => __( 'Su', 'aui' ), |
|
| 2170 | + 'day_s2_2' => __( 'Mo', 'aui' ), |
|
| 2171 | + 'day_s2_3' => __( 'Tu', 'aui' ), |
|
| 2172 | + 'day_s2_4' => __( 'We', 'aui' ), |
|
| 2173 | + 'day_s2_5' => __( 'Th', 'aui' ), |
|
| 2174 | + 'day_s2_6' => __( 'Fr', 'aui' ), |
|
| 2175 | + 'day_s2_7' => __( 'Sa', 'aui' ), |
|
| 2176 | + 'day_s3_1' => __( 'Sun', 'aui' ), |
|
| 2177 | + 'day_s3_2' => __( 'Mon', 'aui' ), |
|
| 2178 | + 'day_s3_3' => __( 'Tue', 'aui' ), |
|
| 2179 | + 'day_s3_4' => __( 'Wed', 'aui' ), |
|
| 2180 | + 'day_s3_5' => __( 'Thu', 'aui' ), |
|
| 2181 | + 'day_s3_6' => __( 'Fri', 'aui' ), |
|
| 2182 | + 'day_s3_7' => __( 'Sat', 'aui' ), |
|
| 2183 | + 'day_s5_1' => __( 'Sunday', 'aui' ), |
|
| 2184 | + 'day_s5_2' => __( 'Monday', 'aui' ), |
|
| 2185 | + 'day_s5_3' => __( 'Tuesday', 'aui' ), |
|
| 2186 | + 'day_s5_4' => __( 'Wednesday', 'aui' ), |
|
| 2187 | + 'day_s5_5' => __( 'Thursday', 'aui' ), |
|
| 2188 | + 'day_s5_6' => __( 'Friday', 'aui' ), |
|
| 2189 | + 'day_s5_7' => __( 'Saturday', 'aui' ), |
|
| 2190 | + 'am_lower' => __( 'am', 'aui' ), |
|
| 2191 | + 'pm_lower' => __( 'pm', 'aui' ), |
|
| 2192 | + 'am_upper' => __( 'AM', 'aui' ), |
|
| 2193 | + 'pm_upper' => __( 'PM', 'aui' ), |
|
| 2194 | + 'firstDayOfWeek' => (int) get_option( 'start_of_week' ), |
|
| 2195 | + 'time_24hr' => false, |
|
| 2196 | + 'year' => __( 'Year', 'aui' ), |
|
| 2197 | + 'hour' => __( 'Hour', 'aui' ), |
|
| 2198 | + 'minute' => __( 'Minute', 'aui' ), |
|
| 2199 | + 'weekAbbreviation' => __( 'Wk', 'aui' ), |
|
| 2200 | + 'rangeSeparator' => __( ' to ', 'aui' ), |
|
| 2201 | + 'scrollTitle' => __( 'Scroll to increment', 'aui' ), |
|
| 2202 | + 'toggleTitle' => __( 'Click to toggle', 'aui' ) |
|
| 2203 | + ); |
|
| 2204 | + |
|
| 2205 | + return apply_filters( 'ayecode_ui_calendar_params', $params ); |
|
| 2206 | + } |
|
| 2207 | + |
|
| 2208 | + /** |
|
| 2209 | + * Flatpickr calendar localize. |
|
| 2210 | + * |
|
| 2211 | + * @since 0.1.44 |
|
| 2212 | + * |
|
| 2213 | + * @return string Calendar locale. |
|
| 2214 | + */ |
|
| 2215 | + public static function flatpickr_locale() { |
|
| 2216 | + $params = self::calendar_params(); |
|
| 2217 | + |
|
| 2218 | + if ( is_string( $params ) ) { |
|
| 2219 | + $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' ); |
|
| 2220 | + } else { |
|
| 2221 | + foreach ( (array) $params as $key => $value ) { |
|
| 2222 | + if ( ! is_scalar( $value ) ) { |
|
| 2223 | + continue; |
|
| 2224 | + } |
|
| 2225 | + |
|
| 2226 | + $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2227 | + } |
|
| 2228 | + } |
|
| 2229 | + |
|
| 2230 | + $day_s3 = array(); |
|
| 2231 | + $day_s5 = array(); |
|
| 2232 | + |
|
| 2233 | + for ( $i = 1; $i <= 7; $i ++ ) { |
|
| 2234 | + $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); |
|
| 2235 | + $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); |
|
| 2236 | + } |
|
| 2237 | + |
|
| 2238 | + $month_s = array(); |
|
| 2239 | + $month_long = array(); |
|
| 2240 | + |
|
| 2241 | + for ( $i = 1; $i <= 12; $i ++ ) { |
|
| 2242 | + $month_s[] = addslashes( $params[ 'month_s_' . $i ] ); |
|
| 2243 | + $month_long[] = addslashes( $params[ 'month_long_' . $i ] ); |
|
| 2244 | + } |
|
| 2245 | + |
|
| 2246 | + ob_start(); |
|
| 2247 | + if ( 0 ) { ?><script><?php } ?> |
|
| 2248 | 2248 | { |
| 2249 | 2249 | weekdays: { |
| 2250 | 2250 | shorthand: ['<?php echo implode( "','", $day_s3 ); ?>'], |
@@ -2283,189 +2283,189 @@ discard block |
||
| 2283 | 2283 | } |
| 2284 | 2284 | <?php if ( 0 ) { ?></script><?php } ?> |
| 2285 | 2285 | <?php |
| 2286 | - $locale = ob_get_clean(); |
|
| 2287 | - |
|
| 2288 | - return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) ); |
|
| 2289 | - } |
|
| 2290 | - |
|
| 2291 | - /** |
|
| 2292 | - * Select2 JS params. |
|
| 2293 | - * |
|
| 2294 | - * @since 0.1.44 |
|
| 2295 | - * |
|
| 2296 | - * @return array Select2 JS params. |
|
| 2297 | - */ |
|
| 2298 | - public static function select2_params() { |
|
| 2299 | - $params = array( |
|
| 2300 | - 'i18n_select_state_text' => esc_attr__( 'Select an option…', 'aui' ), |
|
| 2301 | - 'i18n_no_matches' => _x( 'No matches found', 'enhanced select', 'aui' ), |
|
| 2302 | - 'i18n_ajax_error' => _x( 'Loading failed', 'enhanced select', 'aui' ), |
|
| 2303 | - 'i18n_input_too_short_1' => _x( 'Please enter 1 or more characters', 'enhanced select', 'aui' ), |
|
| 2304 | - 'i18n_input_too_short_n' => _x( 'Please enter %item% or more characters', 'enhanced select', 'aui' ), |
|
| 2305 | - 'i18n_input_too_long_1' => _x( 'Please delete 1 character', 'enhanced select', 'aui' ), |
|
| 2306 | - 'i18n_input_too_long_n' => _x( 'Please delete %item% characters', 'enhanced select', 'aui' ), |
|
| 2307 | - 'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'aui' ), |
|
| 2308 | - 'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'aui' ), |
|
| 2309 | - 'i18n_load_more' => _x( 'Loading more results…', 'enhanced select', 'aui' ), |
|
| 2310 | - 'i18n_searching' => _x( 'Searching…', 'enhanced select', 'aui' ) |
|
| 2311 | - ); |
|
| 2312 | - |
|
| 2313 | - return apply_filters( 'ayecode_ui_select2_params', $params ); |
|
| 2314 | - } |
|
| 2315 | - |
|
| 2316 | - /** |
|
| 2317 | - * Select2 JS localize. |
|
| 2318 | - * |
|
| 2319 | - * @since 0.1.44 |
|
| 2320 | - * |
|
| 2321 | - * @return string Select2 JS locale. |
|
| 2322 | - */ |
|
| 2323 | - public static function select2_locale() { |
|
| 2324 | - $params = self::select2_params(); |
|
| 2325 | - |
|
| 2326 | - foreach ( (array) $params as $key => $value ) { |
|
| 2327 | - if ( ! is_scalar( $value ) ) { |
|
| 2328 | - continue; |
|
| 2329 | - } |
|
| 2286 | + $locale = ob_get_clean(); |
|
| 2330 | 2287 | |
| 2331 | - $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2332 | - } |
|
| 2333 | - |
|
| 2334 | - $locale = json_encode( $params ); |
|
| 2335 | - |
|
| 2336 | - return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) ); |
|
| 2337 | - } |
|
| 2338 | - |
|
| 2339 | - /** |
|
| 2340 | - * Time ago JS localize. |
|
| 2341 | - * |
|
| 2342 | - * @since 0.1.47 |
|
| 2343 | - * |
|
| 2344 | - * @return string Time ago JS locale. |
|
| 2345 | - */ |
|
| 2346 | - public static function timeago_locale() { |
|
| 2347 | - $params = array( |
|
| 2348 | - 'prefix_ago' => '', |
|
| 2349 | - 'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'aui' ), |
|
| 2350 | - 'prefix_after' => _x( 'after', 'time ago', 'aui' ) . ' ', |
|
| 2351 | - 'suffix_after' => '', |
|
| 2352 | - 'seconds' => _x( 'less than a minute', 'time ago', 'aui' ), |
|
| 2353 | - 'minute' => _x( 'about a minute', 'time ago', 'aui' ), |
|
| 2354 | - 'minutes' => _x( '%d minutes', 'time ago', 'aui' ), |
|
| 2355 | - 'hour' => _x( 'about an hour', 'time ago', 'aui' ), |
|
| 2356 | - 'hours' => _x( 'about %d hours', 'time ago', 'aui' ), |
|
| 2357 | - 'day' => _x( 'a day', 'time ago', 'aui' ), |
|
| 2358 | - 'days' => _x( '%d days', 'time ago', 'aui' ), |
|
| 2359 | - 'month' => _x( 'about a month', 'time ago', 'aui' ), |
|
| 2360 | - 'months' => _x( '%d months', 'time ago', 'aui' ), |
|
| 2361 | - 'year' => _x( 'about a year', 'time ago', 'aui' ), |
|
| 2362 | - 'years' => _x( '%d years', 'time ago', 'aui' ), |
|
| 2363 | - ); |
|
| 2364 | - |
|
| 2365 | - $params = apply_filters( 'ayecode_ui_timeago_params', $params ); |
|
| 2366 | - |
|
| 2367 | - foreach ( (array) $params as $key => $value ) { |
|
| 2368 | - if ( ! is_scalar( $value ) ) { |
|
| 2369 | - continue; |
|
| 2370 | - } |
|
| 2288 | + return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) ); |
|
| 2289 | + } |
|
| 2371 | 2290 | |
| 2372 | - $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2373 | - } |
|
| 2374 | - |
|
| 2375 | - $locale = json_encode( $params ); |
|
| 2376 | - |
|
| 2377 | - return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) ); |
|
| 2378 | - } |
|
| 2379 | - |
|
| 2380 | - /** |
|
| 2381 | - * JavaScript Minifier |
|
| 2382 | - * |
|
| 2383 | - * @param $input |
|
| 2384 | - * |
|
| 2385 | - * @return mixed |
|
| 2386 | - */ |
|
| 2387 | - public static function minify_js($input) { |
|
| 2388 | - if(trim($input) === "") return $input; |
|
| 2389 | - return preg_replace( |
|
| 2390 | - array( |
|
| 2391 | - // Remove comment(s) |
|
| 2392 | - '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#', |
|
| 2393 | - // Remove white-space(s) outside the string and regex |
|
| 2394 | - '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s', |
|
| 2395 | - // Remove the last semicolon |
|
| 2396 | - '#;+\}#', |
|
| 2397 | - // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}` |
|
| 2398 | - '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i', |
|
| 2399 | - // --ibid. From `foo['bar']` to `foo.bar` |
|
| 2400 | - '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i' |
|
| 2401 | - ), |
|
| 2402 | - array( |
|
| 2403 | - '$1', |
|
| 2404 | - '$1$2', |
|
| 2405 | - '}', |
|
| 2406 | - '$1$3', |
|
| 2407 | - '$1.$3' |
|
| 2408 | - ), |
|
| 2409 | - $input); |
|
| 2410 | - } |
|
| 2411 | - |
|
| 2412 | - /** |
|
| 2413 | - * Minify CSS |
|
| 2414 | - * |
|
| 2415 | - * @param $input |
|
| 2416 | - * |
|
| 2417 | - * @return mixed |
|
| 2418 | - */ |
|
| 2419 | - public static function minify_css($input) { |
|
| 2420 | - if(trim($input) === "") return $input; |
|
| 2421 | - return preg_replace( |
|
| 2422 | - array( |
|
| 2423 | - // Remove comment(s) |
|
| 2424 | - '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s', |
|
| 2425 | - // Remove unused white-space(s) |
|
| 2426 | - '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si', |
|
| 2427 | - // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0` |
|
| 2428 | - '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si', |
|
| 2429 | - // Replace `:0 0 0 0` with `:0` |
|
| 2430 | - '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i', |
|
| 2431 | - // Replace `background-position:0` with `background-position:0 0` |
|
| 2432 | - '#(background-position):0(?=[;\}])#si', |
|
| 2433 | - // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space |
|
| 2434 | - '#(?<=[\s:,\-])0+\.(\d+)#s', |
|
| 2435 | - // Minify string value |
|
| 2436 | - '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si', |
|
| 2437 | - '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si', |
|
| 2438 | - // Minify HEX color code |
|
| 2439 | - '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i', |
|
| 2440 | - // Replace `(border|outline):none` with `(border|outline):0` |
|
| 2441 | - '#(?<=[\{;])(border|outline):none(?=[;\}\!])#', |
|
| 2442 | - // Remove empty selector(s) |
|
| 2443 | - '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s' |
|
| 2444 | - ), |
|
| 2445 | - array( |
|
| 2446 | - '$1', |
|
| 2447 | - '$1$2$3$4$5$6$7', |
|
| 2448 | - '$1', |
|
| 2449 | - ':0', |
|
| 2450 | - '$1:0 0', |
|
| 2451 | - '.$1', |
|
| 2452 | - '$1$3', |
|
| 2453 | - '$1$2$4$5', |
|
| 2454 | - '$1$2$3', |
|
| 2455 | - '$1:0', |
|
| 2456 | - '$1$2' |
|
| 2457 | - ), |
|
| 2458 | - $input); |
|
| 2459 | - } |
|
| 2460 | - |
|
| 2461 | - /** |
|
| 2462 | - * Get the conditional fields JavaScript. |
|
| 2463 | - * |
|
| 2464 | - * @return mixed |
|
| 2465 | - */ |
|
| 2466 | - public function conditional_fields_js() { |
|
| 2467 | - ob_start(); |
|
| 2468 | - ?> |
|
| 2291 | + /** |
|
| 2292 | + * Select2 JS params. |
|
| 2293 | + * |
|
| 2294 | + * @since 0.1.44 |
|
| 2295 | + * |
|
| 2296 | + * @return array Select2 JS params. |
|
| 2297 | + */ |
|
| 2298 | + public static function select2_params() { |
|
| 2299 | + $params = array( |
|
| 2300 | + 'i18n_select_state_text' => esc_attr__( 'Select an option…', 'aui' ), |
|
| 2301 | + 'i18n_no_matches' => _x( 'No matches found', 'enhanced select', 'aui' ), |
|
| 2302 | + 'i18n_ajax_error' => _x( 'Loading failed', 'enhanced select', 'aui' ), |
|
| 2303 | + 'i18n_input_too_short_1' => _x( 'Please enter 1 or more characters', 'enhanced select', 'aui' ), |
|
| 2304 | + 'i18n_input_too_short_n' => _x( 'Please enter %item% or more characters', 'enhanced select', 'aui' ), |
|
| 2305 | + 'i18n_input_too_long_1' => _x( 'Please delete 1 character', 'enhanced select', 'aui' ), |
|
| 2306 | + 'i18n_input_too_long_n' => _x( 'Please delete %item% characters', 'enhanced select', 'aui' ), |
|
| 2307 | + 'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'aui' ), |
|
| 2308 | + 'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'aui' ), |
|
| 2309 | + 'i18n_load_more' => _x( 'Loading more results…', 'enhanced select', 'aui' ), |
|
| 2310 | + 'i18n_searching' => _x( 'Searching…', 'enhanced select', 'aui' ) |
|
| 2311 | + ); |
|
| 2312 | + |
|
| 2313 | + return apply_filters( 'ayecode_ui_select2_params', $params ); |
|
| 2314 | + } |
|
| 2315 | + |
|
| 2316 | + /** |
|
| 2317 | + * Select2 JS localize. |
|
| 2318 | + * |
|
| 2319 | + * @since 0.1.44 |
|
| 2320 | + * |
|
| 2321 | + * @return string Select2 JS locale. |
|
| 2322 | + */ |
|
| 2323 | + public static function select2_locale() { |
|
| 2324 | + $params = self::select2_params(); |
|
| 2325 | + |
|
| 2326 | + foreach ( (array) $params as $key => $value ) { |
|
| 2327 | + if ( ! is_scalar( $value ) ) { |
|
| 2328 | + continue; |
|
| 2329 | + } |
|
| 2330 | + |
|
| 2331 | + $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2332 | + } |
|
| 2333 | + |
|
| 2334 | + $locale = json_encode( $params ); |
|
| 2335 | + |
|
| 2336 | + return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) ); |
|
| 2337 | + } |
|
| 2338 | + |
|
| 2339 | + /** |
|
| 2340 | + * Time ago JS localize. |
|
| 2341 | + * |
|
| 2342 | + * @since 0.1.47 |
|
| 2343 | + * |
|
| 2344 | + * @return string Time ago JS locale. |
|
| 2345 | + */ |
|
| 2346 | + public static function timeago_locale() { |
|
| 2347 | + $params = array( |
|
| 2348 | + 'prefix_ago' => '', |
|
| 2349 | + 'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'aui' ), |
|
| 2350 | + 'prefix_after' => _x( 'after', 'time ago', 'aui' ) . ' ', |
|
| 2351 | + 'suffix_after' => '', |
|
| 2352 | + 'seconds' => _x( 'less than a minute', 'time ago', 'aui' ), |
|
| 2353 | + 'minute' => _x( 'about a minute', 'time ago', 'aui' ), |
|
| 2354 | + 'minutes' => _x( '%d minutes', 'time ago', 'aui' ), |
|
| 2355 | + 'hour' => _x( 'about an hour', 'time ago', 'aui' ), |
|
| 2356 | + 'hours' => _x( 'about %d hours', 'time ago', 'aui' ), |
|
| 2357 | + 'day' => _x( 'a day', 'time ago', 'aui' ), |
|
| 2358 | + 'days' => _x( '%d days', 'time ago', 'aui' ), |
|
| 2359 | + 'month' => _x( 'about a month', 'time ago', 'aui' ), |
|
| 2360 | + 'months' => _x( '%d months', 'time ago', 'aui' ), |
|
| 2361 | + 'year' => _x( 'about a year', 'time ago', 'aui' ), |
|
| 2362 | + 'years' => _x( '%d years', 'time ago', 'aui' ), |
|
| 2363 | + ); |
|
| 2364 | + |
|
| 2365 | + $params = apply_filters( 'ayecode_ui_timeago_params', $params ); |
|
| 2366 | + |
|
| 2367 | + foreach ( (array) $params as $key => $value ) { |
|
| 2368 | + if ( ! is_scalar( $value ) ) { |
|
| 2369 | + continue; |
|
| 2370 | + } |
|
| 2371 | + |
|
| 2372 | + $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2373 | + } |
|
| 2374 | + |
|
| 2375 | + $locale = json_encode( $params ); |
|
| 2376 | + |
|
| 2377 | + return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) ); |
|
| 2378 | + } |
|
| 2379 | + |
|
| 2380 | + /** |
|
| 2381 | + * JavaScript Minifier |
|
| 2382 | + * |
|
| 2383 | + * @param $input |
|
| 2384 | + * |
|
| 2385 | + * @return mixed |
|
| 2386 | + */ |
|
| 2387 | + public static function minify_js($input) { |
|
| 2388 | + if(trim($input) === "") return $input; |
|
| 2389 | + return preg_replace( |
|
| 2390 | + array( |
|
| 2391 | + // Remove comment(s) |
|
| 2392 | + '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#', |
|
| 2393 | + // Remove white-space(s) outside the string and regex |
|
| 2394 | + '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s', |
|
| 2395 | + // Remove the last semicolon |
|
| 2396 | + '#;+\}#', |
|
| 2397 | + // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}` |
|
| 2398 | + '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i', |
|
| 2399 | + // --ibid. From `foo['bar']` to `foo.bar` |
|
| 2400 | + '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i' |
|
| 2401 | + ), |
|
| 2402 | + array( |
|
| 2403 | + '$1', |
|
| 2404 | + '$1$2', |
|
| 2405 | + '}', |
|
| 2406 | + '$1$3', |
|
| 2407 | + '$1.$3' |
|
| 2408 | + ), |
|
| 2409 | + $input); |
|
| 2410 | + } |
|
| 2411 | + |
|
| 2412 | + /** |
|
| 2413 | + * Minify CSS |
|
| 2414 | + * |
|
| 2415 | + * @param $input |
|
| 2416 | + * |
|
| 2417 | + * @return mixed |
|
| 2418 | + */ |
|
| 2419 | + public static function minify_css($input) { |
|
| 2420 | + if(trim($input) === "") return $input; |
|
| 2421 | + return preg_replace( |
|
| 2422 | + array( |
|
| 2423 | + // Remove comment(s) |
|
| 2424 | + '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s', |
|
| 2425 | + // Remove unused white-space(s) |
|
| 2426 | + '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si', |
|
| 2427 | + // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0` |
|
| 2428 | + '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si', |
|
| 2429 | + // Replace `:0 0 0 0` with `:0` |
|
| 2430 | + '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i', |
|
| 2431 | + // Replace `background-position:0` with `background-position:0 0` |
|
| 2432 | + '#(background-position):0(?=[;\}])#si', |
|
| 2433 | + // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space |
|
| 2434 | + '#(?<=[\s:,\-])0+\.(\d+)#s', |
|
| 2435 | + // Minify string value |
|
| 2436 | + '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si', |
|
| 2437 | + '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si', |
|
| 2438 | + // Minify HEX color code |
|
| 2439 | + '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i', |
|
| 2440 | + // Replace `(border|outline):none` with `(border|outline):0` |
|
| 2441 | + '#(?<=[\{;])(border|outline):none(?=[;\}\!])#', |
|
| 2442 | + // Remove empty selector(s) |
|
| 2443 | + '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s' |
|
| 2444 | + ), |
|
| 2445 | + array( |
|
| 2446 | + '$1', |
|
| 2447 | + '$1$2$3$4$5$6$7', |
|
| 2448 | + '$1', |
|
| 2449 | + ':0', |
|
| 2450 | + '$1:0 0', |
|
| 2451 | + '.$1', |
|
| 2452 | + '$1$3', |
|
| 2453 | + '$1$2$4$5', |
|
| 2454 | + '$1$2$3', |
|
| 2455 | + '$1:0', |
|
| 2456 | + '$1$2' |
|
| 2457 | + ), |
|
| 2458 | + $input); |
|
| 2459 | + } |
|
| 2460 | + |
|
| 2461 | + /** |
|
| 2462 | + * Get the conditional fields JavaScript. |
|
| 2463 | + * |
|
| 2464 | + * @return mixed |
|
| 2465 | + */ |
|
| 2466 | + public function conditional_fields_js() { |
|
| 2467 | + ob_start(); |
|
| 2468 | + ?> |
|
| 2469 | 2469 | <script> |
| 2470 | 2470 | /** |
| 2471 | 2471 | * Conditional Fields |
@@ -2970,14 +2970,14 @@ discard block |
||
| 2970 | 2970 | <?php do_action( 'aui_conditional_fields_js', $this ); ?> |
| 2971 | 2971 | </script> |
| 2972 | 2972 | <?php |
| 2973 | - $output = ob_get_clean(); |
|
| 2973 | + $output = ob_get_clean(); |
|
| 2974 | 2974 | |
| 2975 | - return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) ); |
|
| 2976 | - } |
|
| 2977 | - } |
|
| 2975 | + return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) ); |
|
| 2976 | + } |
|
| 2977 | + } |
|
| 2978 | 2978 | |
| 2979 | - /** |
|
| 2980 | - * Run the class if found. |
|
| 2981 | - */ |
|
| 2982 | - AyeCode_UI_Settings::instance(); |
|
| 2979 | + /** |
|
| 2980 | + * Run the class if found. |
|
| 2981 | + */ |
|
| 2982 | + AyeCode_UI_Settings::instance(); |
|
| 2983 | 2983 | } |
| 2984 | 2984 | \ No newline at end of file |
@@ -7,40 +7,40 @@ |
||
| 7 | 7 | * Bail if we are not in WP. |
| 8 | 8 | */ |
| 9 | 9 | if ( ! defined( 'ABSPATH' ) ) { |
| 10 | - exit; |
|
| 10 | + exit; |
|
| 11 | 11 | } |
| 12 | 12 | |
| 13 | 13 | /** |
| 14 | 14 | * Set the version only if its the current newest while loading. |
| 15 | 15 | */ |
| 16 | 16 | add_action('after_setup_theme', function () { |
| 17 | - global $ayecode_ui_version,$ayecode_ui_file_key; |
|
| 18 | - $this_version = "0.2.0"; |
|
| 19 | - if(empty($ayecode_ui_version) || version_compare($this_version , $ayecode_ui_version, '>')){ |
|
| 20 | - $ayecode_ui_version = $this_version ; |
|
| 21 | - $ayecode_ui_file_key = wp_hash( __FILE__ ); |
|
| 22 | - } |
|
| 17 | + global $ayecode_ui_version,$ayecode_ui_file_key; |
|
| 18 | + $this_version = "0.2.0"; |
|
| 19 | + if(empty($ayecode_ui_version) || version_compare($this_version , $ayecode_ui_version, '>')){ |
|
| 20 | + $ayecode_ui_version = $this_version ; |
|
| 21 | + $ayecode_ui_file_key = wp_hash( __FILE__ ); |
|
| 22 | + } |
|
| 23 | 23 | },0); |
| 24 | 24 | |
| 25 | 25 | /** |
| 26 | 26 | * Load this version of WP Bootstrap Settings only if the file hash is the current one. |
| 27 | 27 | */ |
| 28 | 28 | add_action('after_setup_theme', function () { |
| 29 | - global $ayecode_ui_file_key; |
|
| 30 | - if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){ |
|
| 31 | - include_once( dirname( __FILE__ ) . '/includes/class-aui.php' ); |
|
| 32 | - include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' ); |
|
| 33 | - } |
|
| 29 | + global $ayecode_ui_file_key; |
|
| 30 | + if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){ |
|
| 31 | + include_once( dirname( __FILE__ ) . '/includes/class-aui.php' ); |
|
| 32 | + include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' ); |
|
| 33 | + } |
|
| 34 | 34 | },1); |
| 35 | 35 | |
| 36 | 36 | /** |
| 37 | 37 | * Add the function that calls the class. |
| 38 | 38 | */ |
| 39 | 39 | if(!function_exists('aui')){ |
| 40 | - function aui(){ |
|
| 41 | - if(!class_exists("AUI",false)){ |
|
| 42 | - return false; |
|
| 43 | - } |
|
| 44 | - return AUI::instance(); |
|
| 45 | - } |
|
| 40 | + function aui(){ |
|
| 41 | + if(!class_exists("AUI",false)){ |
|
| 42 | + return false; |
|
| 43 | + } |
|
| 44 | + return AUI::instance(); |
|
| 45 | + } |
|
| 46 | 46 | } |
@@ -57,8 +57,8 @@ discard block |
||
| 57 | 57 | 'getpaid-nonce', |
| 58 | 58 | 'getpaid-nonce' |
| 59 | 59 | ); |
| 60 | - $anchor = __( 'Deactivate', 'invoicing' ); |
|
| 61 | - $title = esc_attr__( 'Are you sure you want to deactivate this discount?', 'invoicing' ); |
|
| 60 | + $anchor = __( 'Deactivate', 'invoicing' ); |
|
| 61 | + $title = esc_attr__( 'Are you sure you want to deactivate this discount?', 'invoicing' ); |
|
| 62 | 62 | $row_actions['deactivate'] = "<a href='$url' onclick='return confirm(\"$title\")'>$anchor</a>"; |
| 63 | 63 | |
| 64 | 64 | } elseif ( in_array( strtolower( $discount->post_status ), array( 'pending', 'draft' ) ) && wpinv_current_user_can( 'activate_discount', array( 'discount' => (int) $discount->ID ) ) ) { |
@@ -73,8 +73,8 @@ discard block |
||
| 73 | 73 | 'getpaid-nonce', |
| 74 | 74 | 'getpaid-nonce' |
| 75 | 75 | ); |
| 76 | - $anchor = __( 'Activate', 'invoicing' ); |
|
| 77 | - $title = esc_attr__( 'Are you sure you want to activate this discount?', 'invoicing' ); |
|
| 76 | + $anchor = __( 'Activate', 'invoicing' ); |
|
| 77 | + $title = esc_attr__( 'Are you sure you want to activate this discount?', 'invoicing' ); |
|
| 78 | 78 | $row_actions['activate'] = "<a href='$url' onclick='return confirm(\"$title\")'>$anchor</a>"; |
| 79 | 79 | |
| 80 | 80 | } |
@@ -121,13 +121,13 @@ discard block |
||
| 121 | 121 | $types = wpinv_get_discount_types(); |
| 122 | 122 | |
| 123 | 123 | foreach ( $types as $name => $type ) { |
| 124 | - echo '<option value="' . esc_attr( $name ) . '"'; |
|
| 124 | + echo '<option value="' . esc_attr( $name ) . '"'; |
|
| 125 | 125 | |
| 126 | - if ( isset( $_GET['discount_type'] ) ) { |
|
| 127 | - selected( $name, sanitize_text_field( $_GET['discount_type'] ) ); |
|
| 126 | + if ( isset( $_GET['discount_type'] ) ) { |
|
| 127 | + selected( $name, sanitize_text_field( $_GET['discount_type'] ) ); |
|
| 128 | 128 | } |
| 129 | 129 | |
| 130 | - echo '>' . esc_html__( $type, 'invoicing' ) . '</option>'; |
|
| 130 | + echo '>' . esc_html__( $type, 'invoicing' ) . '</option>'; |
|
| 131 | 131 | } |
| 132 | 132 | ?> |
| 133 | 133 | </select> |
@@ -154,15 +154,15 @@ discard block |
||
| 154 | 154 | // Filter vat rule type |
| 155 | 155 | if ( isset( $_GET['discount_type'] ) && $_GET['discount_type'] !== '' ) { |
| 156 | 156 | $meta_query[] = array( |
| 157 | - 'key' => '_wpi_discount_type', |
|
| 158 | - 'value' => sanitize_key( urldecode( $_GET['discount_type'] ) ), |
|
| 159 | - 'compare' => '=', |
|
| 160 | - ); |
|
| 161 | - } |
|
| 157 | + 'key' => '_wpi_discount_type', |
|
| 158 | + 'value' => sanitize_key( urldecode( $_GET['discount_type'] ) ), |
|
| 159 | + 'compare' => '=', |
|
| 160 | + ); |
|
| 161 | + } |
|
| 162 | 162 | |
| 163 | 163 | if ( ! empty( $meta_query ) ) { |
| 164 | 164 | $vars['meta_query'] = $meta_query; |
| 165 | - } |
|
| 165 | + } |
|
| 166 | 166 | } |
| 167 | 167 | |
| 168 | 168 | return $vars; |
@@ -13,741 +13,741 @@ discard block |
||
| 13 | 13 | class GetPaid_Post_Types_Admin { |
| 14 | 14 | |
| 15 | 15 | /** |
| 16 | - * Hook in methods. |
|
| 17 | - */ |
|
| 18 | - public static function init() { |
|
| 19 | - |
|
| 20 | - // Init metaboxes. |
|
| 21 | - GetPaid_Metaboxes::init(); |
|
| 22 | - |
|
| 23 | - // Filter the post updated messages. |
|
| 24 | - add_filter( 'post_updated_messages', 'GetPaid_Post_Types_Admin::post_updated_messages' ); |
|
| 25 | - |
|
| 26 | - // Filter post actions. |
|
| 27 | - add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::post_row_actions', 10, 2 ); |
|
| 28 | - add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::filter_invoice_row_actions', 90, 2 ); |
|
| 29 | - |
|
| 30 | - // Invoice table columns. |
|
| 31 | - add_filter( 'manage_wpi_invoice_posts_columns', array( __CLASS__, 'invoice_columns' ), 100 ); |
|
| 32 | - add_action( 'manage_wpi_invoice_posts_custom_column', array( __CLASS__, 'display_invoice_columns' ), 10, 2 ); |
|
| 33 | - add_filter( 'bulk_actions-edit-wpi_invoice', array( __CLASS__, 'invoice_bulk_actions' ) ); |
|
| 34 | - add_filter( 'handle_bulk_actions-edit-wpi_invoice', array( __CLASS__, 'handle_invoice_bulk_actions' ), 10, 3 ); |
|
| 35 | - |
|
| 36 | - // Items table columns. |
|
| 37 | - add_filter( 'manage_wpi_item_posts_columns', array( __CLASS__, 'item_columns' ), 100 ); |
|
| 38 | - add_filter( 'manage_edit-wpi_item_sortable_columns', array( __CLASS__, 'sortable_item_columns' ), 20 ); |
|
| 39 | - add_action( 'manage_wpi_item_posts_custom_column', array( __CLASS__, 'display_item_columns' ), 10, 2 ); |
|
| 40 | - add_action( 'restrict_manage_posts', array( __CLASS__, 'add_item_filters' ), 100 ); |
|
| 41 | - add_action( 'parse_query', array( __CLASS__, 'filter_item_query' ), 100 ); |
|
| 42 | - add_action( 'request', array( __CLASS__, 'reorder_items' ), 100 ); |
|
| 43 | - |
|
| 44 | - // Payment forms columns. |
|
| 45 | - add_filter( 'manage_wpi_payment_form_posts_columns', array( __CLASS__, 'payment_form_columns' ), 100 ); |
|
| 46 | - add_action( 'manage_wpi_payment_form_posts_custom_column', array( __CLASS__, 'display_payment_form_columns' ), 10, 2 ); |
|
| 47 | - add_filter( 'display_post_states', array( __CLASS__, 'filter_payment_form_state' ), 10, 2 ); |
|
| 48 | - |
|
| 49 | - // Discount table columns. |
|
| 50 | - add_filter( 'manage_wpi_discount_posts_columns', array( __CLASS__, 'discount_columns' ), 100 ); |
|
| 51 | - add_filter( 'bulk_actions-edit-wpi_discount', '__return_empty_array', 100 ); |
|
| 52 | - |
|
| 53 | - // Deleting posts. |
|
| 54 | - add_action( 'delete_post', array( __CLASS__, 'delete_post' ) ); |
|
| 55 | - add_filter( 'display_post_states', array( __CLASS__, 'filter_discount_state' ), 10, 2 ); |
|
| 56 | - |
|
| 57 | - add_filter( 'display_post_states', array( __CLASS__, 'add_display_post_states' ), 10, 2 ); |
|
| 58 | - } |
|
| 59 | - |
|
| 60 | - /** |
|
| 61 | - * Post updated messages. |
|
| 62 | - */ |
|
| 63 | - public static function post_updated_messages( $messages ) { |
|
| 64 | - global $post; |
|
| 65 | - |
|
| 66 | - $messages['wpi_discount'] = array( |
|
| 67 | - 0 => '', |
|
| 68 | - 1 => __( 'Discount updated.', 'invoicing' ), |
|
| 69 | - 2 => __( 'Custom field updated.', 'invoicing' ), |
|
| 70 | - 3 => __( 'Custom field deleted.', 'invoicing' ), |
|
| 71 | - 4 => __( 'Discount updated.', 'invoicing' ), |
|
| 72 | - 5 => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Discount restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, |
|
| 73 | - 6 => __( 'Discount updated.', 'invoicing' ), |
|
| 74 | - 7 => __( 'Discount saved.', 'invoicing' ), |
|
| 75 | - 8 => __( 'Discount submitted.', 'invoicing' ), |
|
| 76 | - 9 => wp_sprintf( __( 'Discount scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ), |
|
| 77 | - 10 => __( 'Discount draft updated.', 'invoicing' ), |
|
| 78 | - ); |
|
| 79 | - |
|
| 80 | - $messages['wpi_payment_form'] = array( |
|
| 81 | - 0 => '', |
|
| 82 | - 1 => __( 'Payment Form updated.', 'invoicing' ), |
|
| 83 | - 2 => __( 'Custom field updated.', 'invoicing' ), |
|
| 84 | - 3 => __( 'Custom field deleted.', 'invoicing' ), |
|
| 85 | - 4 => __( 'Payment Form updated.', 'invoicing' ), |
|
| 86 | - 5 => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Payment Form restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, |
|
| 87 | - 6 => __( 'Payment Form updated.', 'invoicing' ), |
|
| 88 | - 7 => __( 'Payment Form saved.', 'invoicing' ), |
|
| 89 | - 8 => __( 'Payment Form submitted.', 'invoicing' ), |
|
| 90 | - 9 => wp_sprintf( __( 'Payment Form scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ), |
|
| 91 | - 10 => __( 'Payment Form draft updated.', 'invoicing' ), |
|
| 92 | - ); |
|
| 93 | - |
|
| 94 | - return $messages; |
|
| 95 | - |
|
| 96 | - } |
|
| 97 | - |
|
| 98 | - /** |
|
| 99 | - * Post row actions. |
|
| 100 | - */ |
|
| 101 | - public static function post_row_actions( $actions, $post ) { |
|
| 102 | - |
|
| 103 | - $post = get_post( $post ); |
|
| 104 | - |
|
| 105 | - // We do not want to edit the default payment form. |
|
| 106 | - if ( 'wpi_payment_form' == $post->post_type ) { |
|
| 107 | - |
|
| 108 | - if ( wpinv_get_default_payment_form() === $post->ID ) { |
|
| 109 | - unset( $actions['trash'] ); |
|
| 110 | - unset( $actions['inline hide-if-no-js'] ); |
|
| 111 | - } |
|
| 112 | - |
|
| 113 | - $actions['duplicate'] = sprintf( |
|
| 114 | - '<a href="%1$s">%2$s</a>', |
|
| 115 | - esc_url( |
|
| 116 | - wp_nonce_url( |
|
| 117 | - add_query_arg( |
|
| 118 | - array( |
|
| 119 | - 'getpaid-admin-action' => 'duplicate_form', |
|
| 120 | - 'form_id' => $post->ID, |
|
| 121 | - ) |
|
| 122 | - ), |
|
| 123 | - 'getpaid-nonce', |
|
| 124 | - 'getpaid-nonce' |
|
| 125 | - ) |
|
| 126 | - ), |
|
| 127 | - esc_html( __( 'Duplicate', 'invoicing' ) ) |
|
| 128 | - ); |
|
| 129 | - |
|
| 130 | - $actions['reset'] = sprintf( |
|
| 131 | - '<a href="%1$s" style="color: #800">%2$s</a>', |
|
| 132 | - esc_url( |
|
| 133 | - wp_nonce_url( |
|
| 134 | - add_query_arg( |
|
| 135 | - array( |
|
| 136 | - 'getpaid-admin-action' => 'reset_form_stats', |
|
| 137 | - 'form_id' => $post->ID, |
|
| 138 | - ) |
|
| 139 | - ), |
|
| 140 | - 'getpaid-nonce', |
|
| 141 | - 'getpaid-nonce' |
|
| 142 | - ) |
|
| 143 | - ), |
|
| 144 | - esc_html( __( 'Reset Stats', 'invoicing' ) ) |
|
| 145 | - ); |
|
| 146 | - } |
|
| 147 | - |
|
| 148 | - // Link to item payment form. |
|
| 149 | - if ( 'wpi_item' == $post->post_type ) { |
|
| 150 | - |
|
| 151 | - if ( in_array( get_post_meta( $post->ID, '_wpinv_type', true ), array( '', 'fee', 'custom' ), true ) ) { |
|
| 152 | - |
|
| 153 | - $actions['buy'] = sprintf( |
|
| 154 | - '<a href="%1$s">%2$s</a>', |
|
| 155 | - esc_url( getpaid_embed_url( false, $post->ID . '|0' ) ), |
|
| 156 | - esc_html( __( 'Buy', 'invoicing' ) ) |
|
| 157 | - ); |
|
| 158 | - |
|
| 159 | - } |
|
| 16 | + * Hook in methods. |
|
| 17 | + */ |
|
| 18 | + public static function init() { |
|
| 19 | + |
|
| 20 | + // Init metaboxes. |
|
| 21 | + GetPaid_Metaboxes::init(); |
|
| 22 | + |
|
| 23 | + // Filter the post updated messages. |
|
| 24 | + add_filter( 'post_updated_messages', 'GetPaid_Post_Types_Admin::post_updated_messages' ); |
|
| 25 | + |
|
| 26 | + // Filter post actions. |
|
| 27 | + add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::post_row_actions', 10, 2 ); |
|
| 28 | + add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::filter_invoice_row_actions', 90, 2 ); |
|
| 29 | + |
|
| 30 | + // Invoice table columns. |
|
| 31 | + add_filter( 'manage_wpi_invoice_posts_columns', array( __CLASS__, 'invoice_columns' ), 100 ); |
|
| 32 | + add_action( 'manage_wpi_invoice_posts_custom_column', array( __CLASS__, 'display_invoice_columns' ), 10, 2 ); |
|
| 33 | + add_filter( 'bulk_actions-edit-wpi_invoice', array( __CLASS__, 'invoice_bulk_actions' ) ); |
|
| 34 | + add_filter( 'handle_bulk_actions-edit-wpi_invoice', array( __CLASS__, 'handle_invoice_bulk_actions' ), 10, 3 ); |
|
| 35 | + |
|
| 36 | + // Items table columns. |
|
| 37 | + add_filter( 'manage_wpi_item_posts_columns', array( __CLASS__, 'item_columns' ), 100 ); |
|
| 38 | + add_filter( 'manage_edit-wpi_item_sortable_columns', array( __CLASS__, 'sortable_item_columns' ), 20 ); |
|
| 39 | + add_action( 'manage_wpi_item_posts_custom_column', array( __CLASS__, 'display_item_columns' ), 10, 2 ); |
|
| 40 | + add_action( 'restrict_manage_posts', array( __CLASS__, 'add_item_filters' ), 100 ); |
|
| 41 | + add_action( 'parse_query', array( __CLASS__, 'filter_item_query' ), 100 ); |
|
| 42 | + add_action( 'request', array( __CLASS__, 'reorder_items' ), 100 ); |
|
| 43 | + |
|
| 44 | + // Payment forms columns. |
|
| 45 | + add_filter( 'manage_wpi_payment_form_posts_columns', array( __CLASS__, 'payment_form_columns' ), 100 ); |
|
| 46 | + add_action( 'manage_wpi_payment_form_posts_custom_column', array( __CLASS__, 'display_payment_form_columns' ), 10, 2 ); |
|
| 47 | + add_filter( 'display_post_states', array( __CLASS__, 'filter_payment_form_state' ), 10, 2 ); |
|
| 48 | + |
|
| 49 | + // Discount table columns. |
|
| 50 | + add_filter( 'manage_wpi_discount_posts_columns', array( __CLASS__, 'discount_columns' ), 100 ); |
|
| 51 | + add_filter( 'bulk_actions-edit-wpi_discount', '__return_empty_array', 100 ); |
|
| 52 | + |
|
| 53 | + // Deleting posts. |
|
| 54 | + add_action( 'delete_post', array( __CLASS__, 'delete_post' ) ); |
|
| 55 | + add_filter( 'display_post_states', array( __CLASS__, 'filter_discount_state' ), 10, 2 ); |
|
| 56 | + |
|
| 57 | + add_filter( 'display_post_states', array( __CLASS__, 'add_display_post_states' ), 10, 2 ); |
|
| 58 | + } |
|
| 59 | + |
|
| 60 | + /** |
|
| 61 | + * Post updated messages. |
|
| 62 | + */ |
|
| 63 | + public static function post_updated_messages( $messages ) { |
|
| 64 | + global $post; |
|
| 65 | + |
|
| 66 | + $messages['wpi_discount'] = array( |
|
| 67 | + 0 => '', |
|
| 68 | + 1 => __( 'Discount updated.', 'invoicing' ), |
|
| 69 | + 2 => __( 'Custom field updated.', 'invoicing' ), |
|
| 70 | + 3 => __( 'Custom field deleted.', 'invoicing' ), |
|
| 71 | + 4 => __( 'Discount updated.', 'invoicing' ), |
|
| 72 | + 5 => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Discount restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, |
|
| 73 | + 6 => __( 'Discount updated.', 'invoicing' ), |
|
| 74 | + 7 => __( 'Discount saved.', 'invoicing' ), |
|
| 75 | + 8 => __( 'Discount submitted.', 'invoicing' ), |
|
| 76 | + 9 => wp_sprintf( __( 'Discount scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ), |
|
| 77 | + 10 => __( 'Discount draft updated.', 'invoicing' ), |
|
| 78 | + ); |
|
| 79 | + |
|
| 80 | + $messages['wpi_payment_form'] = array( |
|
| 81 | + 0 => '', |
|
| 82 | + 1 => __( 'Payment Form updated.', 'invoicing' ), |
|
| 83 | + 2 => __( 'Custom field updated.', 'invoicing' ), |
|
| 84 | + 3 => __( 'Custom field deleted.', 'invoicing' ), |
|
| 85 | + 4 => __( 'Payment Form updated.', 'invoicing' ), |
|
| 86 | + 5 => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Payment Form restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, |
|
| 87 | + 6 => __( 'Payment Form updated.', 'invoicing' ), |
|
| 88 | + 7 => __( 'Payment Form saved.', 'invoicing' ), |
|
| 89 | + 8 => __( 'Payment Form submitted.', 'invoicing' ), |
|
| 90 | + 9 => wp_sprintf( __( 'Payment Form scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ), |
|
| 91 | + 10 => __( 'Payment Form draft updated.', 'invoicing' ), |
|
| 92 | + ); |
|
| 93 | + |
|
| 94 | + return $messages; |
|
| 95 | + |
|
| 96 | + } |
|
| 97 | + |
|
| 98 | + /** |
|
| 99 | + * Post row actions. |
|
| 100 | + */ |
|
| 101 | + public static function post_row_actions( $actions, $post ) { |
|
| 102 | + |
|
| 103 | + $post = get_post( $post ); |
|
| 104 | + |
|
| 105 | + // We do not want to edit the default payment form. |
|
| 106 | + if ( 'wpi_payment_form' == $post->post_type ) { |
|
| 107 | + |
|
| 108 | + if ( wpinv_get_default_payment_form() === $post->ID ) { |
|
| 109 | + unset( $actions['trash'] ); |
|
| 110 | + unset( $actions['inline hide-if-no-js'] ); |
|
| 111 | + } |
|
| 112 | + |
|
| 113 | + $actions['duplicate'] = sprintf( |
|
| 114 | + '<a href="%1$s">%2$s</a>', |
|
| 115 | + esc_url( |
|
| 116 | + wp_nonce_url( |
|
| 117 | + add_query_arg( |
|
| 118 | + array( |
|
| 119 | + 'getpaid-admin-action' => 'duplicate_form', |
|
| 120 | + 'form_id' => $post->ID, |
|
| 121 | + ) |
|
| 122 | + ), |
|
| 123 | + 'getpaid-nonce', |
|
| 124 | + 'getpaid-nonce' |
|
| 125 | + ) |
|
| 126 | + ), |
|
| 127 | + esc_html( __( 'Duplicate', 'invoicing' ) ) |
|
| 128 | + ); |
|
| 129 | + |
|
| 130 | + $actions['reset'] = sprintf( |
|
| 131 | + '<a href="%1$s" style="color: #800">%2$s</a>', |
|
| 132 | + esc_url( |
|
| 133 | + wp_nonce_url( |
|
| 134 | + add_query_arg( |
|
| 135 | + array( |
|
| 136 | + 'getpaid-admin-action' => 'reset_form_stats', |
|
| 137 | + 'form_id' => $post->ID, |
|
| 138 | + ) |
|
| 139 | + ), |
|
| 140 | + 'getpaid-nonce', |
|
| 141 | + 'getpaid-nonce' |
|
| 142 | + ) |
|
| 143 | + ), |
|
| 144 | + esc_html( __( 'Reset Stats', 'invoicing' ) ) |
|
| 145 | + ); |
|
| 146 | + } |
|
| 147 | + |
|
| 148 | + // Link to item payment form. |
|
| 149 | + if ( 'wpi_item' == $post->post_type ) { |
|
| 150 | + |
|
| 151 | + if ( in_array( get_post_meta( $post->ID, '_wpinv_type', true ), array( '', 'fee', 'custom' ), true ) ) { |
|
| 152 | + |
|
| 153 | + $actions['buy'] = sprintf( |
|
| 154 | + '<a href="%1$s">%2$s</a>', |
|
| 155 | + esc_url( getpaid_embed_url( false, $post->ID . '|0' ) ), |
|
| 156 | + esc_html( __( 'Buy', 'invoicing' ) ) |
|
| 157 | + ); |
|
| 158 | + |
|
| 159 | + } |
|
| 160 | 160 | } |
| 161 | 161 | |
| 162 | - return $actions; |
|
| 163 | - } |
|
| 162 | + return $actions; |
|
| 163 | + } |
|
| 164 | 164 | |
| 165 | - /** |
|
| 165 | + /** |
|
| 166 | 166 | * Remove bulk edit option from admin side quote listing |
| 167 | 167 | * |
| 168 | 168 | * @since 1.0.0 |
| 169 | 169 | * @param array $actions post actions |
| 170 | - * @param WP_Post $post |
|
| 170 | + * @param WP_Post $post |
|
| 171 | 171 | * @return array $actions actions without edit option |
| 172 | 172 | */ |
| 173 | 173 | public static function filter_invoice_row_actions( $actions, $post ) { |
| 174 | 174 | |
| 175 | 175 | if ( getpaid_is_invoice_post_type( $post->post_type ) ) { |
| 176 | 176 | |
| 177 | - $actions = array(); |
|
| 178 | - $invoice = new WPInv_Invoice( $post ); |
|
| 179 | - |
|
| 180 | - $actions['edit'] = sprintf( |
|
| 181 | - '<a href="%1$s">%2$s</a>', |
|
| 182 | - esc_url( get_edit_post_link( $invoice->get_id() ) ), |
|
| 183 | - esc_html( __( 'Edit', 'invoicing' ) ) |
|
| 184 | - ); |
|
| 185 | - |
|
| 186 | - if ( ! $invoice->is_draft() ) { |
|
| 187 | - |
|
| 188 | - $actions['view'] = sprintf( |
|
| 189 | - '<a href="%1$s">%2$s</a>', |
|
| 190 | - esc_url( $invoice->get_view_url() ), |
|
| 191 | - sprintf( |
|
| 192 | - // translators: %s is the invoice type |
|
| 193 | - esc_html__( 'View %s', 'invoicing' ), |
|
| 194 | - getpaid_get_post_type_label( $invoice->get_post_type(), false ) |
|
| 195 | - ) |
|
| 196 | - ); |
|
| 197 | - |
|
| 198 | - $actions['send'] = sprintf( |
|
| 199 | - '<a href="%1$s">%2$s</a>', |
|
| 200 | - esc_url( |
|
| 201 | - wp_nonce_url( |
|
| 202 | - add_query_arg( |
|
| 203 | - array( |
|
| 204 | - 'getpaid-admin-action' => 'send_invoice', |
|
| 205 | - 'invoice_id' => $invoice->get_id(), |
|
| 206 | - ) |
|
| 207 | - ), |
|
| 208 | - 'getpaid-nonce', |
|
| 209 | - 'getpaid-nonce' |
|
| 210 | - ) |
|
| 211 | - ), |
|
| 212 | - esc_html( __( 'Send to Customer', 'invoicing' ) ) |
|
| 213 | - ); |
|
| 214 | - |
|
| 215 | - } |
|
| 216 | - |
|
| 217 | - $actions['duplicate'] = sprintf( |
|
| 218 | - '<a href="%1$s">%2$s</a>', |
|
| 219 | - esc_url( |
|
| 220 | - wp_nonce_url( |
|
| 221 | - add_query_arg( |
|
| 222 | - array( |
|
| 223 | - 'getpaid-admin-action' => 'duplicate_invoice', |
|
| 224 | - 'invoice_id' => $post->ID, |
|
| 225 | - ) |
|
| 226 | - ), |
|
| 227 | - 'getpaid-nonce', |
|
| 228 | - 'getpaid-nonce' |
|
| 229 | - ) |
|
| 230 | - ), |
|
| 231 | - esc_html( __( 'Duplicate', 'invoicing' ) ) |
|
| 232 | - ); |
|
| 177 | + $actions = array(); |
|
| 178 | + $invoice = new WPInv_Invoice( $post ); |
|
| 179 | + |
|
| 180 | + $actions['edit'] = sprintf( |
|
| 181 | + '<a href="%1$s">%2$s</a>', |
|
| 182 | + esc_url( get_edit_post_link( $invoice->get_id() ) ), |
|
| 183 | + esc_html( __( 'Edit', 'invoicing' ) ) |
|
| 184 | + ); |
|
| 185 | + |
|
| 186 | + if ( ! $invoice->is_draft() ) { |
|
| 187 | + |
|
| 188 | + $actions['view'] = sprintf( |
|
| 189 | + '<a href="%1$s">%2$s</a>', |
|
| 190 | + esc_url( $invoice->get_view_url() ), |
|
| 191 | + sprintf( |
|
| 192 | + // translators: %s is the invoice type |
|
| 193 | + esc_html__( 'View %s', 'invoicing' ), |
|
| 194 | + getpaid_get_post_type_label( $invoice->get_post_type(), false ) |
|
| 195 | + ) |
|
| 196 | + ); |
|
| 197 | + |
|
| 198 | + $actions['send'] = sprintf( |
|
| 199 | + '<a href="%1$s">%2$s</a>', |
|
| 200 | + esc_url( |
|
| 201 | + wp_nonce_url( |
|
| 202 | + add_query_arg( |
|
| 203 | + array( |
|
| 204 | + 'getpaid-admin-action' => 'send_invoice', |
|
| 205 | + 'invoice_id' => $invoice->get_id(), |
|
| 206 | + ) |
|
| 207 | + ), |
|
| 208 | + 'getpaid-nonce', |
|
| 209 | + 'getpaid-nonce' |
|
| 210 | + ) |
|
| 211 | + ), |
|
| 212 | + esc_html( __( 'Send to Customer', 'invoicing' ) ) |
|
| 213 | + ); |
|
| 214 | + |
|
| 215 | + } |
|
| 216 | + |
|
| 217 | + $actions['duplicate'] = sprintf( |
|
| 218 | + '<a href="%1$s">%2$s</a>', |
|
| 219 | + esc_url( |
|
| 220 | + wp_nonce_url( |
|
| 221 | + add_query_arg( |
|
| 222 | + array( |
|
| 223 | + 'getpaid-admin-action' => 'duplicate_invoice', |
|
| 224 | + 'invoice_id' => $post->ID, |
|
| 225 | + ) |
|
| 226 | + ), |
|
| 227 | + 'getpaid-nonce', |
|
| 228 | + 'getpaid-nonce' |
|
| 229 | + ) |
|
| 230 | + ), |
|
| 231 | + esc_html( __( 'Duplicate', 'invoicing' ) ) |
|
| 232 | + ); |
|
| 233 | 233 | |
| 234 | 234 | } |
| 235 | 235 | |
| 236 | 236 | return $actions; |
| 237 | - } |
|
| 238 | - |
|
| 239 | - /** |
|
| 240 | - * Returns an array of invoice table columns. |
|
| 241 | - */ |
|
| 242 | - public static function invoice_columns( $columns ) { |
|
| 243 | - |
|
| 244 | - $columns = array( |
|
| 245 | - 'cb' => $columns['cb'], |
|
| 246 | - 'number' => __( 'Invoice', 'invoicing' ), |
|
| 247 | - 'customer' => __( 'Customer', 'invoicing' ), |
|
| 248 | - 'invoice_date' => __( 'Created', 'invoicing' ), |
|
| 249 | - 'payment_date' => __( 'Completed', 'invoicing' ), |
|
| 250 | - 'amount' => __( 'Amount', 'invoicing' ), |
|
| 251 | - 'recurring' => __( 'Recurring', 'invoicing' ), |
|
| 252 | - 'status' => __( 'Status', 'invoicing' ), |
|
| 253 | - ); |
|
| 254 | - |
|
| 255 | - return apply_filters( 'wpi_invoice_table_columns', $columns ); |
|
| 256 | - } |
|
| 257 | - |
|
| 258 | - /** |
|
| 259 | - * Displays invoice table columns. |
|
| 260 | - */ |
|
| 261 | - public static function display_invoice_columns( $column_name, $post_id ) { |
|
| 262 | - |
|
| 263 | - $invoice = new WPInv_Invoice( $post_id ); |
|
| 264 | - |
|
| 265 | - switch ( $column_name ) { |
|
| 266 | - |
|
| 267 | - case 'invoice_date': |
|
| 268 | - $date_time = esc_attr( $invoice->get_created_date() ); |
|
| 269 | - $date = esc_html( getpaid_format_date_value( $date_time, '—', true ) ); |
|
| 270 | - echo wp_kses_post( "<span title='$date_time'>$date</span>" ); |
|
| 271 | - break; |
|
| 272 | - |
|
| 273 | - case 'payment_date': |
|
| 274 | - if ( $invoice->is_paid() ) { |
|
| 275 | - $date_time = esc_attr( $invoice->get_completed_date() ); |
|
| 276 | - $date = esc_html( getpaid_format_date_value( $date_time, '—', true ) ); |
|
| 277 | - echo wp_kses_post( "<span title='$date_time'>$date</span>" ); |
|
| 278 | - } else { |
|
| 279 | - echo '—'; |
|
| 280 | - } |
|
| 281 | - |
|
| 282 | - break; |
|
| 283 | - |
|
| 284 | - case 'amount': |
|
| 285 | - $amount = $invoice->get_total(); |
|
| 286 | - $formated_amount = wp_kses_post( wpinv_price( $amount, $invoice->get_currency() ) ); |
|
| 287 | - |
|
| 288 | - if ( $invoice->is_refunded() ) { |
|
| 289 | - $refunded_amount = wpinv_price( 0, $invoice->get_currency() ); |
|
| 290 | - echo wp_kses_post( "<del>$formated_amount</del> <ins>$refunded_amount</ins>" ); |
|
| 291 | - } else { |
|
| 292 | - |
|
| 293 | - $discount = $invoice->get_total_discount(); |
|
| 294 | - |
|
| 295 | - if ( ! empty( $discount ) ) { |
|
| 296 | - $new_amount = wpinv_price( $amount + $discount, $invoice->get_currency() ); |
|
| 297 | - echo wp_kses_post( "<del>$new_amount</del> <ins>$formated_amount</ins>" ); |
|
| 298 | - } else { |
|
| 299 | - echo wp_kses_post( $formated_amount ); |
|
| 300 | - } |
|
| 301 | - } |
|
| 302 | - |
|
| 303 | - break; |
|
| 304 | - |
|
| 305 | - case 'status': |
|
| 306 | - $status = esc_html( $invoice->get_status() ); |
|
| 307 | - $status_label = esc_html( $invoice->get_status_nicename() ); |
|
| 308 | - |
|
| 309 | - // If it is paid, show the gateway title. |
|
| 310 | - if ( $invoice->is_paid() ) { |
|
| 311 | - $gateway = esc_html( $invoice->get_gateway_title() ); |
|
| 312 | - $gateway = wp_sprintf( esc_attr__( 'Paid via %s', 'invoicing' ), esc_html( $gateway ) ); |
|
| 313 | - |
|
| 314 | - echo wp_kses_post( "<mark class='wpi-help-tip getpaid-invoice-status $status' title='$gateway'><span>$status_label</span></mark>" ); |
|
| 315 | - } else { |
|
| 316 | - echo wp_kses_post( "<mark class='getpaid-invoice-status $status'><span>$status_label</span></mark>" ); |
|
| 317 | - } |
|
| 318 | - |
|
| 319 | - // If it is not paid, display the overdue and view status. |
|
| 320 | - if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) { |
|
| 321 | - |
|
| 322 | - // Invoice view status. |
|
| 323 | - if ( wpinv_is_invoice_viewed( $invoice->get_id() ) ) { |
|
| 324 | - echo ' <i class="fa fa-eye wpi-help-tip" title="' . esc_attr__( 'Viewed by Customer', 'invoicing' ) . '"></i>'; |
|
| 325 | - } else { |
|
| 326 | - echo ' <i class="fa fa-eye-slash wpi-help-tip" title="' . esc_attr__( 'Not Viewed by Customer', 'invoicing' ) . '"></i>'; |
|
| 327 | - } |
|
| 328 | - |
|
| 329 | - // Display the overview status. |
|
| 330 | - if ( wpinv_get_option( 'overdue_active' ) ) { |
|
| 331 | - $due_date = $invoice->get_due_date(); |
|
| 332 | - $fomatted = getpaid_format_date( $due_date ); |
|
| 333 | - |
|
| 334 | - if ( ! empty( $fomatted ) ) { |
|
| 335 | - $date = wp_sprintf( |
|
| 336 | - // translators: %s is the due date. |
|
| 337 | - __( 'Due %s', 'invoicing' ), |
|
| 338 | - $fomatted |
|
| 339 | - ); |
|
| 340 | - echo wp_kses_post( "<p class='description' style='color: #888;' title='$due_date'>$fomatted</p>" ); |
|
| 341 | - } |
|
| 342 | - } |
|
| 343 | - } |
|
| 344 | - |
|
| 345 | - break; |
|
| 346 | - |
|
| 347 | - case 'recurring': |
|
| 348 | - if ( $invoice->is_recurring() ) { |
|
| 349 | - echo '<i class="fa fa-check" style="color:#43850a;"></i>'; |
|
| 350 | - } else { |
|
| 351 | - echo '<i class="fa fa-times" style="color:#616161;"></i>'; |
|
| 352 | - } |
|
| 353 | - break; |
|
| 354 | - |
|
| 355 | - case 'number': |
|
| 356 | - $edit_link = esc_url( get_edit_post_link( $invoice->get_id() ) ); |
|
| 357 | - $invoice_number = esc_html( $invoice->get_number() ); |
|
| 358 | - $invoice_details = esc_attr__( 'View Invoice Details', 'invoicing' ); |
|
| 359 | - |
|
| 360 | - echo wp_kses_post( "<a href='$edit_link' title='$invoice_details'><strong>$invoice_number</strong></a>" ); |
|
| 361 | - |
|
| 362 | - do_action( 'getpaid_admin_table_invoice_number_column', $invoice ); |
|
| 363 | - break; |
|
| 364 | - |
|
| 365 | - case 'customer': |
|
| 366 | - $customer_name = $invoice->get_user_full_name(); |
|
| 367 | - |
|
| 368 | - if ( empty( $customer_name ) ) { |
|
| 369 | - $customer_name = $invoice->get_email(); |
|
| 370 | - } |
|
| 371 | - |
|
| 372 | - if ( ! empty( $customer_name ) ) { |
|
| 373 | - $customer_details = esc_attr__( 'View Customer Details', 'invoicing' ); |
|
| 374 | - $view_link = esc_url( add_query_arg( 'user_id', $invoice->get_user_id(), admin_url( 'user-edit.php' ) ) ); |
|
| 375 | - echo wp_kses_post( "<a href='$view_link' title='$customer_details'><span>$customer_name</span></a>" ); |
|
| 376 | - } else { |
|
| 377 | - echo '<div>—</div>'; |
|
| 378 | - } |
|
| 379 | - |
|
| 380 | - break; |
|
| 381 | - |
|
| 382 | - } |
|
| 383 | - |
|
| 384 | - } |
|
| 385 | - |
|
| 386 | - /** |
|
| 387 | - * Displays invoice bulk actions. |
|
| 388 | - */ |
|
| 389 | - public static function invoice_bulk_actions( $actions ) { |
|
| 390 | - $actions['resend-invoice'] = __( 'Send to Customer', 'invoicing' ); |
|
| 391 | - return $actions; |
|
| 392 | - } |
|
| 393 | - |
|
| 394 | - /** |
|
| 395 | - * Processes invoice bulk actions. |
|
| 396 | - */ |
|
| 397 | - public static function handle_invoice_bulk_actions( $redirect_url, $action, $post_ids ) { |
|
| 398 | - |
|
| 399 | - if ( 'resend-invoice' === $action ) { |
|
| 400 | - foreach ( $post_ids as $post_id ) { |
|
| 401 | - getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $post_id ), true ); |
|
| 402 | - } |
|
| 403 | - } |
|
| 404 | - |
|
| 405 | - return $redirect_url; |
|
| 406 | - |
|
| 407 | - } |
|
| 408 | - |
|
| 409 | - /** |
|
| 410 | - * Returns an array of payment forms table columns. |
|
| 411 | - */ |
|
| 412 | - public static function payment_form_columns( $columns ) { |
|
| 413 | - |
|
| 414 | - $columns = array( |
|
| 415 | - 'cb' => $columns['cb'], |
|
| 416 | - 'title' => __( 'Name', 'invoicing' ), |
|
| 417 | - 'shortcode' => __( 'Shortcode', 'invoicing' ), |
|
| 418 | - 'earnings' => __( 'Revenue', 'invoicing' ), |
|
| 419 | - 'refunds' => __( 'Refunded', 'invoicing' ), |
|
| 420 | - 'items' => __( 'Items', 'invoicing' ), |
|
| 421 | - 'date' => __( 'Date', 'invoicing' ), |
|
| 422 | - ); |
|
| 423 | - |
|
| 424 | - return apply_filters( 'wpi_payment_form_table_columns', $columns ); |
|
| 425 | - |
|
| 426 | - } |
|
| 427 | - |
|
| 428 | - /** |
|
| 429 | - * Displays payment form table columns. |
|
| 430 | - */ |
|
| 431 | - public static function display_payment_form_columns( $column_name, $post_id ) { |
|
| 432 | - |
|
| 433 | - // Retrieve the payment form. |
|
| 434 | - $form = new GetPaid_Payment_Form( $post_id ); |
|
| 435 | - |
|
| 436 | - switch ( $column_name ) { |
|
| 437 | - |
|
| 438 | - case 'earnings': |
|
| 439 | - echo wp_kses_post( wpinv_price( $form->get_earned() ) ); |
|
| 440 | - break; |
|
| 441 | - |
|
| 442 | - case 'refunds': |
|
| 443 | - echo wp_kses_post( wpinv_price( $form->get_refunded() ) ); |
|
| 444 | - break; |
|
| 445 | - |
|
| 446 | - case 'refunds': |
|
| 447 | - echo wp_kses_post( wpinv_price( $form->get_refunded() ) ); |
|
| 448 | - break; |
|
| 449 | - |
|
| 450 | - case 'shortcode': |
|
| 451 | - if ( $form->is_default() ) { |
|
| 452 | - echo '—'; |
|
| 453 | - } else { |
|
| 454 | - echo '<input onClick="this.select()" type="text" value="[getpaid form=' . esc_attr( $form->get_id() ) . ']" style="width: 100%;" readonly/>'; |
|
| 455 | - } |
|
| 456 | - |
|
| 457 | - break; |
|
| 237 | + } |
|
| 238 | + |
|
| 239 | + /** |
|
| 240 | + * Returns an array of invoice table columns. |
|
| 241 | + */ |
|
| 242 | + public static function invoice_columns( $columns ) { |
|
| 243 | + |
|
| 244 | + $columns = array( |
|
| 245 | + 'cb' => $columns['cb'], |
|
| 246 | + 'number' => __( 'Invoice', 'invoicing' ), |
|
| 247 | + 'customer' => __( 'Customer', 'invoicing' ), |
|
| 248 | + 'invoice_date' => __( 'Created', 'invoicing' ), |
|
| 249 | + 'payment_date' => __( 'Completed', 'invoicing' ), |
|
| 250 | + 'amount' => __( 'Amount', 'invoicing' ), |
|
| 251 | + 'recurring' => __( 'Recurring', 'invoicing' ), |
|
| 252 | + 'status' => __( 'Status', 'invoicing' ), |
|
| 253 | + ); |
|
| 254 | + |
|
| 255 | + return apply_filters( 'wpi_invoice_table_columns', $columns ); |
|
| 256 | + } |
|
| 257 | + |
|
| 258 | + /** |
|
| 259 | + * Displays invoice table columns. |
|
| 260 | + */ |
|
| 261 | + public static function display_invoice_columns( $column_name, $post_id ) { |
|
| 262 | + |
|
| 263 | + $invoice = new WPInv_Invoice( $post_id ); |
|
| 264 | + |
|
| 265 | + switch ( $column_name ) { |
|
| 266 | + |
|
| 267 | + case 'invoice_date': |
|
| 268 | + $date_time = esc_attr( $invoice->get_created_date() ); |
|
| 269 | + $date = esc_html( getpaid_format_date_value( $date_time, '—', true ) ); |
|
| 270 | + echo wp_kses_post( "<span title='$date_time'>$date</span>" ); |
|
| 271 | + break; |
|
| 272 | + |
|
| 273 | + case 'payment_date': |
|
| 274 | + if ( $invoice->is_paid() ) { |
|
| 275 | + $date_time = esc_attr( $invoice->get_completed_date() ); |
|
| 276 | + $date = esc_html( getpaid_format_date_value( $date_time, '—', true ) ); |
|
| 277 | + echo wp_kses_post( "<span title='$date_time'>$date</span>" ); |
|
| 278 | + } else { |
|
| 279 | + echo '—'; |
|
| 280 | + } |
|
| 281 | + |
|
| 282 | + break; |
|
| 283 | + |
|
| 284 | + case 'amount': |
|
| 285 | + $amount = $invoice->get_total(); |
|
| 286 | + $formated_amount = wp_kses_post( wpinv_price( $amount, $invoice->get_currency() ) ); |
|
| 287 | + |
|
| 288 | + if ( $invoice->is_refunded() ) { |
|
| 289 | + $refunded_amount = wpinv_price( 0, $invoice->get_currency() ); |
|
| 290 | + echo wp_kses_post( "<del>$formated_amount</del> <ins>$refunded_amount</ins>" ); |
|
| 291 | + } else { |
|
| 292 | + |
|
| 293 | + $discount = $invoice->get_total_discount(); |
|
| 294 | + |
|
| 295 | + if ( ! empty( $discount ) ) { |
|
| 296 | + $new_amount = wpinv_price( $amount + $discount, $invoice->get_currency() ); |
|
| 297 | + echo wp_kses_post( "<del>$new_amount</del> <ins>$formated_amount</ins>" ); |
|
| 298 | + } else { |
|
| 299 | + echo wp_kses_post( $formated_amount ); |
|
| 300 | + } |
|
| 301 | + } |
|
| 302 | + |
|
| 303 | + break; |
|
| 304 | + |
|
| 305 | + case 'status': |
|
| 306 | + $status = esc_html( $invoice->get_status() ); |
|
| 307 | + $status_label = esc_html( $invoice->get_status_nicename() ); |
|
| 308 | + |
|
| 309 | + // If it is paid, show the gateway title. |
|
| 310 | + if ( $invoice->is_paid() ) { |
|
| 311 | + $gateway = esc_html( $invoice->get_gateway_title() ); |
|
| 312 | + $gateway = wp_sprintf( esc_attr__( 'Paid via %s', 'invoicing' ), esc_html( $gateway ) ); |
|
| 313 | + |
|
| 314 | + echo wp_kses_post( "<mark class='wpi-help-tip getpaid-invoice-status $status' title='$gateway'><span>$status_label</span></mark>" ); |
|
| 315 | + } else { |
|
| 316 | + echo wp_kses_post( "<mark class='getpaid-invoice-status $status'><span>$status_label</span></mark>" ); |
|
| 317 | + } |
|
| 318 | + |
|
| 319 | + // If it is not paid, display the overdue and view status. |
|
| 320 | + if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) { |
|
| 321 | + |
|
| 322 | + // Invoice view status. |
|
| 323 | + if ( wpinv_is_invoice_viewed( $invoice->get_id() ) ) { |
|
| 324 | + echo ' <i class="fa fa-eye wpi-help-tip" title="' . esc_attr__( 'Viewed by Customer', 'invoicing' ) . '"></i>'; |
|
| 325 | + } else { |
|
| 326 | + echo ' <i class="fa fa-eye-slash wpi-help-tip" title="' . esc_attr__( 'Not Viewed by Customer', 'invoicing' ) . '"></i>'; |
|
| 327 | + } |
|
| 328 | + |
|
| 329 | + // Display the overview status. |
|
| 330 | + if ( wpinv_get_option( 'overdue_active' ) ) { |
|
| 331 | + $due_date = $invoice->get_due_date(); |
|
| 332 | + $fomatted = getpaid_format_date( $due_date ); |
|
| 333 | + |
|
| 334 | + if ( ! empty( $fomatted ) ) { |
|
| 335 | + $date = wp_sprintf( |
|
| 336 | + // translators: %s is the due date. |
|
| 337 | + __( 'Due %s', 'invoicing' ), |
|
| 338 | + $fomatted |
|
| 339 | + ); |
|
| 340 | + echo wp_kses_post( "<p class='description' style='color: #888;' title='$due_date'>$fomatted</p>" ); |
|
| 341 | + } |
|
| 342 | + } |
|
| 343 | + } |
|
| 344 | + |
|
| 345 | + break; |
|
| 346 | + |
|
| 347 | + case 'recurring': |
|
| 348 | + if ( $invoice->is_recurring() ) { |
|
| 349 | + echo '<i class="fa fa-check" style="color:#43850a;"></i>'; |
|
| 350 | + } else { |
|
| 351 | + echo '<i class="fa fa-times" style="color:#616161;"></i>'; |
|
| 352 | + } |
|
| 353 | + break; |
|
| 354 | + |
|
| 355 | + case 'number': |
|
| 356 | + $edit_link = esc_url( get_edit_post_link( $invoice->get_id() ) ); |
|
| 357 | + $invoice_number = esc_html( $invoice->get_number() ); |
|
| 358 | + $invoice_details = esc_attr__( 'View Invoice Details', 'invoicing' ); |
|
| 359 | + |
|
| 360 | + echo wp_kses_post( "<a href='$edit_link' title='$invoice_details'><strong>$invoice_number</strong></a>" ); |
|
| 361 | + |
|
| 362 | + do_action( 'getpaid_admin_table_invoice_number_column', $invoice ); |
|
| 363 | + break; |
|
| 364 | + |
|
| 365 | + case 'customer': |
|
| 366 | + $customer_name = $invoice->get_user_full_name(); |
|
| 367 | + |
|
| 368 | + if ( empty( $customer_name ) ) { |
|
| 369 | + $customer_name = $invoice->get_email(); |
|
| 370 | + } |
|
| 371 | + |
|
| 372 | + if ( ! empty( $customer_name ) ) { |
|
| 373 | + $customer_details = esc_attr__( 'View Customer Details', 'invoicing' ); |
|
| 374 | + $view_link = esc_url( add_query_arg( 'user_id', $invoice->get_user_id(), admin_url( 'user-edit.php' ) ) ); |
|
| 375 | + echo wp_kses_post( "<a href='$view_link' title='$customer_details'><span>$customer_name</span></a>" ); |
|
| 376 | + } else { |
|
| 377 | + echo '<div>—</div>'; |
|
| 378 | + } |
|
| 379 | + |
|
| 380 | + break; |
|
| 458 | 381 | |
| 459 | - case 'items': |
|
| 460 | - $items = $form->get_items(); |
|
| 461 | - |
|
| 462 | - if ( $form->is_default() || empty( $items ) ) { |
|
| 463 | - echo '—'; |
|
| 464 | - return; |
|
| 465 | - } |
|
| 466 | - |
|
| 467 | - $_items = array(); |
|
| 468 | - |
|
| 469 | - foreach ( $items as $item ) { |
|
| 470 | - $url = $item->get_edit_url(); |
|
| 471 | - |
|
| 472 | - if ( empty( $url ) ) { |
|
| 473 | - $_items[] = esc_html( $item->get_name() ); |
|
| 474 | - } else { |
|
| 475 | - $_items[] = sprintf( |
|
| 476 | - '<a href="%s">%s</a>', |
|
| 477 | - esc_url( $url ), |
|
| 478 | - esc_html( $item->get_name() ) |
|
| 479 | - ); |
|
| 480 | - } |
|
| 382 | + } |
|
| 383 | + |
|
| 384 | + } |
|
| 385 | + |
|
| 386 | + /** |
|
| 387 | + * Displays invoice bulk actions. |
|
| 388 | + */ |
|
| 389 | + public static function invoice_bulk_actions( $actions ) { |
|
| 390 | + $actions['resend-invoice'] = __( 'Send to Customer', 'invoicing' ); |
|
| 391 | + return $actions; |
|
| 392 | + } |
|
| 393 | + |
|
| 394 | + /** |
|
| 395 | + * Processes invoice bulk actions. |
|
| 396 | + */ |
|
| 397 | + public static function handle_invoice_bulk_actions( $redirect_url, $action, $post_ids ) { |
|
| 398 | + |
|
| 399 | + if ( 'resend-invoice' === $action ) { |
|
| 400 | + foreach ( $post_ids as $post_id ) { |
|
| 401 | + getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $post_id ), true ); |
|
| 402 | + } |
|
| 403 | + } |
|
| 404 | + |
|
| 405 | + return $redirect_url; |
|
| 406 | + |
|
| 407 | + } |
|
| 408 | + |
|
| 409 | + /** |
|
| 410 | + * Returns an array of payment forms table columns. |
|
| 411 | + */ |
|
| 412 | + public static function payment_form_columns( $columns ) { |
|
| 413 | + |
|
| 414 | + $columns = array( |
|
| 415 | + 'cb' => $columns['cb'], |
|
| 416 | + 'title' => __( 'Name', 'invoicing' ), |
|
| 417 | + 'shortcode' => __( 'Shortcode', 'invoicing' ), |
|
| 418 | + 'earnings' => __( 'Revenue', 'invoicing' ), |
|
| 419 | + 'refunds' => __( 'Refunded', 'invoicing' ), |
|
| 420 | + 'items' => __( 'Items', 'invoicing' ), |
|
| 421 | + 'date' => __( 'Date', 'invoicing' ), |
|
| 422 | + ); |
|
| 423 | + |
|
| 424 | + return apply_filters( 'wpi_payment_form_table_columns', $columns ); |
|
| 425 | + |
|
| 426 | + } |
|
| 427 | + |
|
| 428 | + /** |
|
| 429 | + * Displays payment form table columns. |
|
| 430 | + */ |
|
| 431 | + public static function display_payment_form_columns( $column_name, $post_id ) { |
|
| 432 | + |
|
| 433 | + // Retrieve the payment form. |
|
| 434 | + $form = new GetPaid_Payment_Form( $post_id ); |
|
| 435 | + |
|
| 436 | + switch ( $column_name ) { |
|
| 437 | + |
|
| 438 | + case 'earnings': |
|
| 439 | + echo wp_kses_post( wpinv_price( $form->get_earned() ) ); |
|
| 440 | + break; |
|
| 441 | + |
|
| 442 | + case 'refunds': |
|
| 443 | + echo wp_kses_post( wpinv_price( $form->get_refunded() ) ); |
|
| 444 | + break; |
|
| 445 | + |
|
| 446 | + case 'refunds': |
|
| 447 | + echo wp_kses_post( wpinv_price( $form->get_refunded() ) ); |
|
| 448 | + break; |
|
| 449 | + |
|
| 450 | + case 'shortcode': |
|
| 451 | + if ( $form->is_default() ) { |
|
| 452 | + echo '—'; |
|
| 453 | + } else { |
|
| 454 | + echo '<input onClick="this.select()" type="text" value="[getpaid form=' . esc_attr( $form->get_id() ) . ']" style="width: 100%;" readonly/>'; |
|
| 455 | + } |
|
| 456 | + |
|
| 457 | + break; |
|
| 458 | + |
|
| 459 | + case 'items': |
|
| 460 | + $items = $form->get_items(); |
|
| 461 | + |
|
| 462 | + if ( $form->is_default() || empty( $items ) ) { |
|
| 463 | + echo '—'; |
|
| 464 | + return; |
|
| 465 | + } |
|
| 466 | + |
|
| 467 | + $_items = array(); |
|
| 468 | + |
|
| 469 | + foreach ( $items as $item ) { |
|
| 470 | + $url = $item->get_edit_url(); |
|
| 471 | + |
|
| 472 | + if ( empty( $url ) ) { |
|
| 473 | + $_items[] = esc_html( $item->get_name() ); |
|
| 474 | + } else { |
|
| 475 | + $_items[] = sprintf( |
|
| 476 | + '<a href="%s">%s</a>', |
|
| 477 | + esc_url( $url ), |
|
| 478 | + esc_html( $item->get_name() ) |
|
| 479 | + ); |
|
| 480 | + } |
|
| 481 | 481 | } |
| 482 | 482 | |
| 483 | - echo wp_kses_post( implode( '<br>', $_items ) ); |
|
| 483 | + echo wp_kses_post( implode( '<br>', $_items ) ); |
|
| 484 | + |
|
| 485 | + break; |
|
| 486 | + |
|
| 487 | + } |
|
| 488 | + |
|
| 489 | + } |
|
| 490 | + |
|
| 491 | + /** |
|
| 492 | + * Filters post states. |
|
| 493 | + */ |
|
| 494 | + public static function filter_payment_form_state( $post_states, $post ) { |
|
| 495 | + |
|
| 496 | + if ( 'wpi_payment_form' === $post->post_type && wpinv_get_default_payment_form() === $post->ID ) { |
|
| 497 | + $post_states['default_form'] = __( 'Default Payment Form', 'invoicing' ); |
|
| 498 | + } |
|
| 499 | + |
|
| 500 | + return $post_states; |
|
| 501 | + |
|
| 502 | + } |
|
| 503 | + |
|
| 504 | + /** |
|
| 505 | + * Returns an array of coupon table columns. |
|
| 506 | + */ |
|
| 507 | + public static function discount_columns( $columns ) { |
|
| 508 | + |
|
| 509 | + $columns = array( |
|
| 510 | + 'cb' => $columns['cb'], |
|
| 511 | + 'title' => __( 'Name', 'invoicing' ), |
|
| 512 | + 'code' => __( 'Code', 'invoicing' ), |
|
| 513 | + 'amount' => __( 'Amount', 'invoicing' ), |
|
| 514 | + 'usage' => __( 'Usage / Limit', 'invoicing' ), |
|
| 515 | + 'start_date' => __( 'Start Date', 'invoicing' ), |
|
| 516 | + 'expiry_date' => __( 'Expiry Date', 'invoicing' ), |
|
| 517 | + ); |
|
| 518 | + |
|
| 519 | + return apply_filters( 'wpi_discount_table_columns', $columns ); |
|
| 520 | + } |
|
| 484 | 521 | |
| 485 | - break; |
|
| 522 | + /** |
|
| 523 | + * Filters post states. |
|
| 524 | + */ |
|
| 525 | + public static function filter_discount_state( $post_states, $post ) { |
|
| 486 | 526 | |
| 487 | - } |
|
| 527 | + if ( 'wpi_discount' === $post->post_type ) { |
|
| 488 | 528 | |
| 489 | - } |
|
| 529 | + $discount = new WPInv_Discount( $post ); |
|
| 490 | 530 | |
| 491 | - /** |
|
| 492 | - * Filters post states. |
|
| 493 | - */ |
|
| 494 | - public static function filter_payment_form_state( $post_states, $post ) { |
|
| 531 | + $status = $discount->is_expired() ? 'expired' : $discount->get_status(); |
|
| 495 | 532 | |
| 496 | - if ( 'wpi_payment_form' === $post->post_type && wpinv_get_default_payment_form() === $post->ID ) { |
|
| 497 | - $post_states['default_form'] = __( 'Default Payment Form', 'invoicing' ); |
|
| 498 | - } |
|
| 533 | + if ( 'publish' !== $status ) { |
|
| 534 | + return array( |
|
| 535 | + 'discount_status' => wpinv_discount_status( $status ), |
|
| 536 | + ); |
|
| 537 | + } |
|
| 538 | + |
|
| 539 | + return array(); |
|
| 540 | + |
|
| 541 | + } |
|
| 542 | + |
|
| 543 | + return $post_states; |
|
| 499 | 544 | |
| 500 | - return $post_states; |
|
| 545 | + } |
|
| 501 | 546 | |
| 502 | - } |
|
| 547 | + /** |
|
| 548 | + * Returns an array of items table columns. |
|
| 549 | + */ |
|
| 550 | + public static function item_columns( $columns ) { |
|
| 551 | + |
|
| 552 | + $columns = array( |
|
| 553 | + 'cb' => $columns['cb'], |
|
| 554 | + 'title' => __( 'Name', 'invoicing' ), |
|
| 555 | + 'price' => __( 'Price', 'invoicing' ), |
|
| 556 | + 'vat_rule' => __( 'Tax Rule', 'invoicing' ), |
|
| 557 | + 'vat_class' => __( 'Tax Class', 'invoicing' ), |
|
| 558 | + 'type' => __( 'Type', 'invoicing' ), |
|
| 559 | + 'shortcode' => __( 'Shortcode', 'invoicing' ), |
|
| 560 | + ); |
|
| 561 | + |
|
| 562 | + if ( ! wpinv_use_taxes() ) { |
|
| 563 | + unset( $columns['vat_rule'] ); |
|
| 564 | + unset( $columns['vat_class'] ); |
|
| 565 | + } |
|
| 503 | 566 | |
| 504 | - /** |
|
| 505 | - * Returns an array of coupon table columns. |
|
| 506 | - */ |
|
| 507 | - public static function discount_columns( $columns ) { |
|
| 567 | + return apply_filters( 'wpi_item_table_columns', $columns ); |
|
| 568 | + } |
|
| 508 | 569 | |
| 509 | - $columns = array( |
|
| 510 | - 'cb' => $columns['cb'], |
|
| 511 | - 'title' => __( 'Name', 'invoicing' ), |
|
| 512 | - 'code' => __( 'Code', 'invoicing' ), |
|
| 513 | - 'amount' => __( 'Amount', 'invoicing' ), |
|
| 514 | - 'usage' => __( 'Usage / Limit', 'invoicing' ), |
|
| 515 | - 'start_date' => __( 'Start Date', 'invoicing' ), |
|
| 516 | - 'expiry_date' => __( 'Expiry Date', 'invoicing' ), |
|
| 517 | - ); |
|
| 570 | + /** |
|
| 571 | + * Returns an array of sortable items table columns. |
|
| 572 | + */ |
|
| 573 | + public static function sortable_item_columns( $columns ) { |
|
| 574 | + |
|
| 575 | + return array_merge( |
|
| 576 | + $columns, |
|
| 577 | + array( |
|
| 578 | + 'price' => 'price', |
|
| 579 | + 'vat_rule' => 'vat_rule', |
|
| 580 | + 'vat_class' => 'vat_class', |
|
| 581 | + 'type' => 'type', |
|
| 582 | + ) |
|
| 583 | + ); |
|
| 518 | 584 | |
| 519 | - return apply_filters( 'wpi_discount_table_columns', $columns ); |
|
| 520 | - } |
|
| 585 | + } |
|
| 521 | 586 | |
| 522 | - /** |
|
| 523 | - * Filters post states. |
|
| 524 | - */ |
|
| 525 | - public static function filter_discount_state( $post_states, $post ) { |
|
| 587 | + /** |
|
| 588 | + * Displays items table columns. |
|
| 589 | + */ |
|
| 590 | + public static function display_item_columns( $column_name, $post_id ) { |
|
| 526 | 591 | |
| 527 | - if ( 'wpi_discount' === $post->post_type ) { |
|
| 592 | + $item = new WPInv_Item( $post_id ); |
|
| 528 | 593 | |
| 529 | - $discount = new WPInv_Discount( $post ); |
|
| 594 | + switch ( $column_name ) { |
|
| 530 | 595 | |
| 531 | - $status = $discount->is_expired() ? 'expired' : $discount->get_status(); |
|
| 596 | + case 'price': |
|
| 597 | + if ( ! $item->is_recurring() ) { |
|
| 598 | + echo wp_kses_post( $item->get_the_price() ); |
|
| 599 | + break; |
|
| 600 | + } |
|
| 532 | 601 | |
| 533 | - if ( 'publish' !== $status ) { |
|
| 534 | - return array( |
|
| 535 | - 'discount_status' => wpinv_discount_status( $status ), |
|
| 536 | - ); |
|
| 537 | - } |
|
| 602 | + $price = wp_sprintf( |
|
| 603 | + __( '%1$s / %2$s', 'invoicing' ), |
|
| 604 | + $item->get_the_price(), |
|
| 605 | + getpaid_get_subscription_period_label( $item->get_recurring_period(), $item->get_recurring_interval(), '' ) |
|
| 606 | + ); |
|
| 538 | 607 | |
| 539 | - return array(); |
|
| 608 | + if ( $item->get_the_price() == $item->get_the_initial_price() ) { |
|
| 609 | + echo wp_kses_post( $price ); |
|
| 610 | + break; |
|
| 611 | + } |
|
| 540 | 612 | |
| 541 | - } |
|
| 613 | + echo wp_kses_post( $item->get_the_initial_price() ); |
|
| 542 | 614 | |
| 543 | - return $post_states; |
|
| 615 | + echo '<span class="meta">' . wp_sprintf( esc_html__( 'then %s', 'invoicing' ), wp_kses_post( $price ) ) . '</span>'; |
|
| 616 | + break; |
|
| 544 | 617 | |
| 545 | - } |
|
| 618 | + case 'vat_rule': |
|
| 619 | + echo wp_kses_post( getpaid_get_tax_rule_label( $item->get_vat_rule() ) ); |
|
| 620 | + break; |
|
| 546 | 621 | |
| 547 | - /** |
|
| 548 | - * Returns an array of items table columns. |
|
| 549 | - */ |
|
| 550 | - public static function item_columns( $columns ) { |
|
| 622 | + case 'vat_class': |
|
| 623 | + echo wp_kses_post( getpaid_get_tax_class_label( $item->get_vat_class() ) ); |
|
| 624 | + break; |
|
| 551 | 625 | |
| 552 | - $columns = array( |
|
| 553 | - 'cb' => $columns['cb'], |
|
| 554 | - 'title' => __( 'Name', 'invoicing' ), |
|
| 555 | - 'price' => __( 'Price', 'invoicing' ), |
|
| 556 | - 'vat_rule' => __( 'Tax Rule', 'invoicing' ), |
|
| 557 | - 'vat_class' => __( 'Tax Class', 'invoicing' ), |
|
| 558 | - 'type' => __( 'Type', 'invoicing' ), |
|
| 559 | - 'shortcode' => __( 'Shortcode', 'invoicing' ), |
|
| 560 | - ); |
|
| 626 | + case 'shortcode': |
|
| 627 | + if ( $item->is_type( array( '', 'fee', 'custom' ) ) ) { |
|
| 628 | + echo '<input onClick="this.select()" type="text" value="[getpaid item=' . esc_attr( $item->get_id() ) . ' button=\'Buy Now\']" style="width: 100%;" readonly/>'; |
|
| 629 | + } else { |
|
| 630 | + echo '—'; |
|
| 631 | + } |
|
| 561 | 632 | |
| 562 | - if ( ! wpinv_use_taxes() ) { |
|
| 563 | - unset( $columns['vat_rule'] ); |
|
| 564 | - unset( $columns['vat_class'] ); |
|
| 565 | - } |
|
| 633 | + break; |
|
| 566 | 634 | |
| 567 | - return apply_filters( 'wpi_item_table_columns', $columns ); |
|
| 568 | - } |
|
| 635 | + case 'type': |
|
| 636 | + echo wp_kses_post( wpinv_item_type( $item->get_id() ) . '<span class="meta">' . $item->get_custom_singular_name() . '</span>' ); |
|
| 637 | + break; |
|
| 569 | 638 | |
| 570 | - /** |
|
| 571 | - * Returns an array of sortable items table columns. |
|
| 572 | - */ |
|
| 573 | - public static function sortable_item_columns( $columns ) { |
|
| 574 | - |
|
| 575 | - return array_merge( |
|
| 576 | - $columns, |
|
| 577 | - array( |
|
| 578 | - 'price' => 'price', |
|
| 579 | - 'vat_rule' => 'vat_rule', |
|
| 580 | - 'vat_class' => 'vat_class', |
|
| 581 | - 'type' => 'type', |
|
| 582 | - ) |
|
| 583 | - ); |
|
| 584 | - |
|
| 585 | - } |
|
| 586 | - |
|
| 587 | - /** |
|
| 588 | - * Displays items table columns. |
|
| 589 | - */ |
|
| 590 | - public static function display_item_columns( $column_name, $post_id ) { |
|
| 591 | - |
|
| 592 | - $item = new WPInv_Item( $post_id ); |
|
| 593 | - |
|
| 594 | - switch ( $column_name ) { |
|
| 595 | - |
|
| 596 | - case 'price': |
|
| 597 | - if ( ! $item->is_recurring() ) { |
|
| 598 | - echo wp_kses_post( $item->get_the_price() ); |
|
| 599 | - break; |
|
| 600 | - } |
|
| 601 | - |
|
| 602 | - $price = wp_sprintf( |
|
| 603 | - __( '%1$s / %2$s', 'invoicing' ), |
|
| 604 | - $item->get_the_price(), |
|
| 605 | - getpaid_get_subscription_period_label( $item->get_recurring_period(), $item->get_recurring_interval(), '' ) |
|
| 606 | - ); |
|
| 607 | - |
|
| 608 | - if ( $item->get_the_price() == $item->get_the_initial_price() ) { |
|
| 609 | - echo wp_kses_post( $price ); |
|
| 610 | - break; |
|
| 611 | - } |
|
| 612 | - |
|
| 613 | - echo wp_kses_post( $item->get_the_initial_price() ); |
|
| 614 | - |
|
| 615 | - echo '<span class="meta">' . wp_sprintf( esc_html__( 'then %s', 'invoicing' ), wp_kses_post( $price ) ) . '</span>'; |
|
| 616 | - break; |
|
| 617 | - |
|
| 618 | - case 'vat_rule': |
|
| 619 | - echo wp_kses_post( getpaid_get_tax_rule_label( $item->get_vat_rule() ) ); |
|
| 620 | - break; |
|
| 621 | - |
|
| 622 | - case 'vat_class': |
|
| 623 | - echo wp_kses_post( getpaid_get_tax_class_label( $item->get_vat_class() ) ); |
|
| 624 | - break; |
|
| 625 | - |
|
| 626 | - case 'shortcode': |
|
| 627 | - if ( $item->is_type( array( '', 'fee', 'custom' ) ) ) { |
|
| 628 | - echo '<input onClick="this.select()" type="text" value="[getpaid item=' . esc_attr( $item->get_id() ) . ' button=\'Buy Now\']" style="width: 100%;" readonly/>'; |
|
| 629 | - } else { |
|
| 630 | - echo '—'; |
|
| 631 | - } |
|
| 632 | - |
|
| 633 | - break; |
|
| 634 | - |
|
| 635 | - case 'type': |
|
| 636 | - echo wp_kses_post( wpinv_item_type( $item->get_id() ) . '<span class="meta">' . $item->get_custom_singular_name() . '</span>' ); |
|
| 637 | - break; |
|
| 638 | - |
|
| 639 | - } |
|
| 640 | - |
|
| 641 | - } |
|
| 642 | - |
|
| 643 | - /** |
|
| 644 | - * Lets users filter items using taxes. |
|
| 645 | - */ |
|
| 646 | - public static function add_item_filters( $post_type ) { |
|
| 647 | - |
|
| 648 | - // Abort if we're not dealing with items. |
|
| 649 | - if ( 'wpi_item' !== $post_type ) { |
|
| 650 | - return; |
|
| 651 | - } |
|
| 652 | - |
|
| 653 | - // Filter by vat rules. |
|
| 654 | - if ( wpinv_use_taxes() ) { |
|
| 655 | - |
|
| 656 | - // Sanitize selected vat rule. |
|
| 657 | - $vat_rule = ''; |
|
| 658 | - $vat_rules = getpaid_get_tax_rules(); |
|
| 659 | - if ( isset( $_GET['vat_rule'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
|
| 660 | - $vat_rule = sanitize_text_field( $_GET['vat_rule'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
|
| 661 | - } |
|
| 662 | - |
|
| 663 | - // Filter by VAT rule. |
|
| 664 | - wpinv_html_select( |
|
| 665 | - array( |
|
| 666 | - 'options' => array_merge( |
|
| 667 | - array( |
|
| 668 | - '' => __( 'All Tax Rules', 'invoicing' ), |
|
| 669 | - ), |
|
| 670 | - $vat_rules |
|
| 671 | - ), |
|
| 672 | - 'name' => 'vat_rule', |
|
| 673 | - 'id' => 'vat_rule', |
|
| 674 | - 'selected' => in_array( $vat_rule, array_keys( $vat_rules ), true ) ? $vat_rule : '', |
|
| 675 | - 'show_option_all' => false, |
|
| 676 | - 'show_option_none' => false, |
|
| 677 | - ) |
|
| 678 | - ); |
|
| 679 | - |
|
| 680 | - // Filter by VAT class. |
|
| 681 | - |
|
| 682 | - // Sanitize selected vat rule. |
|
| 683 | - $vat_class = ''; |
|
| 684 | - $vat_classes = getpaid_get_tax_classes(); |
|
| 685 | - if ( isset( $_GET['vat_class'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
|
| 686 | - $vat_class = sanitize_text_field( $_GET['vat_class'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
|
| 687 | - } |
|
| 688 | - |
|
| 689 | - wpinv_html_select( |
|
| 690 | - array( |
|
| 691 | - 'options' => array_merge( |
|
| 692 | - array( |
|
| 693 | - '' => __( 'All Tax Classes', 'invoicing' ), |
|
| 694 | - ), |
|
| 695 | - $vat_classes |
|
| 696 | - ), |
|
| 697 | - 'name' => 'vat_class', |
|
| 698 | - 'id' => 'vat_class', |
|
| 699 | - 'selected' => in_array( $vat_class, array_keys( $vat_classes ), true ) ? $vat_class : '', |
|
| 700 | - 'show_option_all' => false, |
|
| 701 | - 'show_option_none' => false, |
|
| 702 | - ) |
|
| 703 | - ); |
|
| 704 | - |
|
| 705 | - } |
|
| 706 | - |
|
| 707 | - // Filter by item type. |
|
| 708 | - $type = ''; |
|
| 709 | - if ( isset( $_GET['type'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
|
| 710 | - $type = sanitize_text_field( $_GET['type'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
|
| 711 | - } |
|
| 712 | - |
|
| 713 | - wpinv_html_select( |
|
| 714 | - array( |
|
| 715 | - 'options' => array_merge( |
|
| 716 | - array( |
|
| 717 | - '' => __( 'All item types', 'invoicing' ), |
|
| 718 | - ), |
|
| 719 | - wpinv_get_item_types() |
|
| 720 | - ), |
|
| 721 | - 'name' => 'type', |
|
| 722 | - 'id' => 'type', |
|
| 723 | - 'selected' => in_array( $type, wpinv_item_types(), true ) ? $type : '', |
|
| 724 | - 'show_option_all' => false, |
|
| 725 | - 'show_option_none' => false, |
|
| 726 | - ) |
|
| 727 | - ); |
|
| 728 | - |
|
| 729 | - } |
|
| 730 | - |
|
| 731 | - /** |
|
| 732 | - * Filters the item query. |
|
| 733 | - */ |
|
| 734 | - public static function filter_item_query( $query ) { |
|
| 735 | - |
|
| 736 | - // modify the query only if it admin and main query. |
|
| 737 | - if ( ! ( is_admin() && $query->is_main_query() ) ) { |
|
| 738 | - return $query; |
|
| 739 | - } |
|
| 740 | - |
|
| 741 | - // we want to modify the query for our items. |
|
| 742 | - if ( empty( $query->query['post_type'] ) || 'wpi_item' !== $query->query['post_type'] ) { |
|
| 743 | - return $query; |
|
| 744 | - } |
|
| 745 | - |
|
| 746 | - if ( empty( $query->query_vars['meta_query'] ) ) { |
|
| 747 | - $query->query_vars['meta_query'] = array(); |
|
| 748 | - } |
|
| 749 | - |
|
| 750 | - // Filter vat rule type |
|
| 639 | + } |
|
| 640 | + |
|
| 641 | + } |
|
| 642 | + |
|
| 643 | + /** |
|
| 644 | + * Lets users filter items using taxes. |
|
| 645 | + */ |
|
| 646 | + public static function add_item_filters( $post_type ) { |
|
| 647 | + |
|
| 648 | + // Abort if we're not dealing with items. |
|
| 649 | + if ( 'wpi_item' !== $post_type ) { |
|
| 650 | + return; |
|
| 651 | + } |
|
| 652 | + |
|
| 653 | + // Filter by vat rules. |
|
| 654 | + if ( wpinv_use_taxes() ) { |
|
| 655 | + |
|
| 656 | + // Sanitize selected vat rule. |
|
| 657 | + $vat_rule = ''; |
|
| 658 | + $vat_rules = getpaid_get_tax_rules(); |
|
| 659 | + if ( isset( $_GET['vat_rule'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
|
| 660 | + $vat_rule = sanitize_text_field( $_GET['vat_rule'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
|
| 661 | + } |
|
| 662 | + |
|
| 663 | + // Filter by VAT rule. |
|
| 664 | + wpinv_html_select( |
|
| 665 | + array( |
|
| 666 | + 'options' => array_merge( |
|
| 667 | + array( |
|
| 668 | + '' => __( 'All Tax Rules', 'invoicing' ), |
|
| 669 | + ), |
|
| 670 | + $vat_rules |
|
| 671 | + ), |
|
| 672 | + 'name' => 'vat_rule', |
|
| 673 | + 'id' => 'vat_rule', |
|
| 674 | + 'selected' => in_array( $vat_rule, array_keys( $vat_rules ), true ) ? $vat_rule : '', |
|
| 675 | + 'show_option_all' => false, |
|
| 676 | + 'show_option_none' => false, |
|
| 677 | + ) |
|
| 678 | + ); |
|
| 679 | + |
|
| 680 | + // Filter by VAT class. |
|
| 681 | + |
|
| 682 | + // Sanitize selected vat rule. |
|
| 683 | + $vat_class = ''; |
|
| 684 | + $vat_classes = getpaid_get_tax_classes(); |
|
| 685 | + if ( isset( $_GET['vat_class'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
|
| 686 | + $vat_class = sanitize_text_field( $_GET['vat_class'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
|
| 687 | + } |
|
| 688 | + |
|
| 689 | + wpinv_html_select( |
|
| 690 | + array( |
|
| 691 | + 'options' => array_merge( |
|
| 692 | + array( |
|
| 693 | + '' => __( 'All Tax Classes', 'invoicing' ), |
|
| 694 | + ), |
|
| 695 | + $vat_classes |
|
| 696 | + ), |
|
| 697 | + 'name' => 'vat_class', |
|
| 698 | + 'id' => 'vat_class', |
|
| 699 | + 'selected' => in_array( $vat_class, array_keys( $vat_classes ), true ) ? $vat_class : '', |
|
| 700 | + 'show_option_all' => false, |
|
| 701 | + 'show_option_none' => false, |
|
| 702 | + ) |
|
| 703 | + ); |
|
| 704 | + |
|
| 705 | + } |
|
| 706 | + |
|
| 707 | + // Filter by item type. |
|
| 708 | + $type = ''; |
|
| 709 | + if ( isset( $_GET['type'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
|
| 710 | + $type = sanitize_text_field( $_GET['type'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
|
| 711 | + } |
|
| 712 | + |
|
| 713 | + wpinv_html_select( |
|
| 714 | + array( |
|
| 715 | + 'options' => array_merge( |
|
| 716 | + array( |
|
| 717 | + '' => __( 'All item types', 'invoicing' ), |
|
| 718 | + ), |
|
| 719 | + wpinv_get_item_types() |
|
| 720 | + ), |
|
| 721 | + 'name' => 'type', |
|
| 722 | + 'id' => 'type', |
|
| 723 | + 'selected' => in_array( $type, wpinv_item_types(), true ) ? $type : '', |
|
| 724 | + 'show_option_all' => false, |
|
| 725 | + 'show_option_none' => false, |
|
| 726 | + ) |
|
| 727 | + ); |
|
| 728 | + |
|
| 729 | + } |
|
| 730 | + |
|
| 731 | + /** |
|
| 732 | + * Filters the item query. |
|
| 733 | + */ |
|
| 734 | + public static function filter_item_query( $query ) { |
|
| 735 | + |
|
| 736 | + // modify the query only if it admin and main query. |
|
| 737 | + if ( ! ( is_admin() && $query->is_main_query() ) ) { |
|
| 738 | + return $query; |
|
| 739 | + } |
|
| 740 | + |
|
| 741 | + // we want to modify the query for our items. |
|
| 742 | + if ( empty( $query->query['post_type'] ) || 'wpi_item' !== $query->query['post_type'] ) { |
|
| 743 | + return $query; |
|
| 744 | + } |
|
| 745 | + |
|
| 746 | + if ( empty( $query->query_vars['meta_query'] ) ) { |
|
| 747 | + $query->query_vars['meta_query'] = array(); |
|
| 748 | + } |
|
| 749 | + |
|
| 750 | + // Filter vat rule type |
|
| 751 | 751 | if ( ! empty( $_GET['vat_rule'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
| 752 | 752 | $query->query_vars['meta_query'][] = array( |
| 753 | 753 | 'key' => '_wpinv_vat_rule', |
@@ -772,101 +772,101 @@ discard block |
||
| 772 | 772 | 'value' => sanitize_text_field( $_GET['type'] ), // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
| 773 | 773 | 'compare' => '=', |
| 774 | 774 | ); |
| 775 | - } |
|
| 776 | - |
|
| 777 | - $query->query_vars['meta_query'][] = array( |
|
| 778 | - 'key' => '_wpinv_one_time', |
|
| 779 | - 'compare' => 'NOT EXISTS', |
|
| 780 | - ); |
|
| 781 | - } |
|
| 782 | - |
|
| 783 | - /** |
|
| 784 | - * Reorders items. |
|
| 785 | - */ |
|
| 786 | - public static function reorder_items( $vars ) { |
|
| 787 | - global $typenow; |
|
| 788 | - |
|
| 789 | - if ( 'wpi_item' !== $typenow || empty( $vars['orderby'] ) ) { |
|
| 790 | - return $vars; |
|
| 791 | - } |
|
| 792 | - |
|
| 793 | - // By item type. |
|
| 794 | - if ( 'type' === $vars['orderby'] ) { |
|
| 795 | - return array_merge( |
|
| 796 | - $vars, |
|
| 797 | - array( |
|
| 798 | - 'meta_key' => '_wpinv_type', |
|
| 799 | - 'orderby' => 'meta_value', |
|
| 800 | - ) |
|
| 801 | - ); |
|
| 802 | - } |
|
| 803 | - |
|
| 804 | - // By vat class. |
|
| 805 | - if ( 'vat_class' === $vars['orderby'] ) { |
|
| 806 | - return array_merge( |
|
| 807 | - $vars, |
|
| 808 | - array( |
|
| 809 | - 'meta_key' => '_wpinv_vat_class', |
|
| 810 | - 'orderby' => 'meta_value', |
|
| 811 | - ) |
|
| 812 | - ); |
|
| 813 | - } |
|
| 814 | - |
|
| 815 | - // By vat rule. |
|
| 816 | - if ( 'vat_rule' === $vars['orderby'] ) { |
|
| 817 | - return array_merge( |
|
| 818 | - $vars, |
|
| 819 | - array( |
|
| 820 | - 'meta_key' => '_wpinv_vat_rule', |
|
| 821 | - 'orderby' => 'meta_value', |
|
| 822 | - ) |
|
| 823 | - ); |
|
| 824 | - } |
|
| 825 | - |
|
| 826 | - // By price. |
|
| 827 | - if ( 'price' === $vars['orderby'] ) { |
|
| 828 | - return array_merge( |
|
| 829 | - $vars, |
|
| 830 | - array( |
|
| 831 | - 'meta_key' => '_wpinv_price', |
|
| 832 | - 'orderby' => 'meta_value_num', |
|
| 833 | - ) |
|
| 834 | - ); |
|
| 835 | - } |
|
| 836 | - |
|
| 837 | - return $vars; |
|
| 838 | - |
|
| 839 | - } |
|
| 840 | - |
|
| 841 | - /** |
|
| 842 | - * Fired when deleting a post. |
|
| 843 | - */ |
|
| 844 | - public static function delete_post( $post_id ) { |
|
| 845 | - |
|
| 846 | - switch ( get_post_type( $post_id ) ) { |
|
| 847 | - |
|
| 848 | - case 'wpi_item': |
|
| 849 | - do_action( 'getpaid_before_delete_item', new WPInv_Item( $post_id ) ); |
|
| 850 | - break; |
|
| 851 | - |
|
| 852 | - case 'wpi_payment_form': |
|
| 853 | - do_action( 'getpaid_before_delete_payment_form', new GetPaid_Payment_Form( $post_id ) ); |
|
| 854 | - break; |
|
| 855 | - |
|
| 856 | - case 'wpi_discount': |
|
| 857 | - do_action( 'getpaid_before_delete_discount', new WPInv_Discount( $post_id ) ); |
|
| 858 | - break; |
|
| 859 | - |
|
| 860 | - case 'wpi_invoice': |
|
| 861 | - $invoice = new WPInv_Invoice( $post_id ); |
|
| 862 | - do_action( 'getpaid_before_delete_invoice', $invoice ); |
|
| 863 | - $invoice->get_data_store()->delete_items( $invoice ); |
|
| 864 | - $invoice->get_data_store()->delete_special_fields( $invoice ); |
|
| 865 | - break; |
|
| 866 | - } |
|
| 867 | - } |
|
| 868 | - |
|
| 869 | - /** |
|
| 775 | + } |
|
| 776 | + |
|
| 777 | + $query->query_vars['meta_query'][] = array( |
|
| 778 | + 'key' => '_wpinv_one_time', |
|
| 779 | + 'compare' => 'NOT EXISTS', |
|
| 780 | + ); |
|
| 781 | + } |
|
| 782 | + |
|
| 783 | + /** |
|
| 784 | + * Reorders items. |
|
| 785 | + */ |
|
| 786 | + public static function reorder_items( $vars ) { |
|
| 787 | + global $typenow; |
|
| 788 | + |
|
| 789 | + if ( 'wpi_item' !== $typenow || empty( $vars['orderby'] ) ) { |
|
| 790 | + return $vars; |
|
| 791 | + } |
|
| 792 | + |
|
| 793 | + // By item type. |
|
| 794 | + if ( 'type' === $vars['orderby'] ) { |
|
| 795 | + return array_merge( |
|
| 796 | + $vars, |
|
| 797 | + array( |
|
| 798 | + 'meta_key' => '_wpinv_type', |
|
| 799 | + 'orderby' => 'meta_value', |
|
| 800 | + ) |
|
| 801 | + ); |
|
| 802 | + } |
|
| 803 | + |
|
| 804 | + // By vat class. |
|
| 805 | + if ( 'vat_class' === $vars['orderby'] ) { |
|
| 806 | + return array_merge( |
|
| 807 | + $vars, |
|
| 808 | + array( |
|
| 809 | + 'meta_key' => '_wpinv_vat_class', |
|
| 810 | + 'orderby' => 'meta_value', |
|
| 811 | + ) |
|
| 812 | + ); |
|
| 813 | + } |
|
| 814 | + |
|
| 815 | + // By vat rule. |
|
| 816 | + if ( 'vat_rule' === $vars['orderby'] ) { |
|
| 817 | + return array_merge( |
|
| 818 | + $vars, |
|
| 819 | + array( |
|
| 820 | + 'meta_key' => '_wpinv_vat_rule', |
|
| 821 | + 'orderby' => 'meta_value', |
|
| 822 | + ) |
|
| 823 | + ); |
|
| 824 | + } |
|
| 825 | + |
|
| 826 | + // By price. |
|
| 827 | + if ( 'price' === $vars['orderby'] ) { |
|
| 828 | + return array_merge( |
|
| 829 | + $vars, |
|
| 830 | + array( |
|
| 831 | + 'meta_key' => '_wpinv_price', |
|
| 832 | + 'orderby' => 'meta_value_num', |
|
| 833 | + ) |
|
| 834 | + ); |
|
| 835 | + } |
|
| 836 | + |
|
| 837 | + return $vars; |
|
| 838 | + |
|
| 839 | + } |
|
| 840 | + |
|
| 841 | + /** |
|
| 842 | + * Fired when deleting a post. |
|
| 843 | + */ |
|
| 844 | + public static function delete_post( $post_id ) { |
|
| 845 | + |
|
| 846 | + switch ( get_post_type( $post_id ) ) { |
|
| 847 | + |
|
| 848 | + case 'wpi_item': |
|
| 849 | + do_action( 'getpaid_before_delete_item', new WPInv_Item( $post_id ) ); |
|
| 850 | + break; |
|
| 851 | + |
|
| 852 | + case 'wpi_payment_form': |
|
| 853 | + do_action( 'getpaid_before_delete_payment_form', new GetPaid_Payment_Form( $post_id ) ); |
|
| 854 | + break; |
|
| 855 | + |
|
| 856 | + case 'wpi_discount': |
|
| 857 | + do_action( 'getpaid_before_delete_discount', new WPInv_Discount( $post_id ) ); |
|
| 858 | + break; |
|
| 859 | + |
|
| 860 | + case 'wpi_invoice': |
|
| 861 | + $invoice = new WPInv_Invoice( $post_id ); |
|
| 862 | + do_action( 'getpaid_before_delete_invoice', $invoice ); |
|
| 863 | + $invoice->get_data_store()->delete_items( $invoice ); |
|
| 864 | + $invoice->get_data_store()->delete_special_fields( $invoice ); |
|
| 865 | + break; |
|
| 866 | + } |
|
| 867 | + } |
|
| 868 | + |
|
| 869 | + /** |
|
| 870 | 870 | * Add a post display state for special GetPaid pages in the page list table. |
| 871 | 871 | * |
| 872 | 872 | * @param array $post_states An array of post display states. |
@@ -880,21 +880,21 @@ discard block |
||
| 880 | 880 | $post_states['getpaid_success_page'] = __( 'GetPaid Receipt Page', 'invoicing' ); |
| 881 | 881 | } |
| 882 | 882 | |
| 883 | - foreach ( getpaid_get_invoice_post_types() as $post_type => $label ) { |
|
| 883 | + foreach ( getpaid_get_invoice_post_types() as $post_type => $label ) { |
|
| 884 | 884 | |
| 885 | - if ( wpinv_get_option( "{$post_type}_history_page", 0 ) == $post->ID ) { |
|
| 886 | - $post_states[ "getpaid_{$post_type}_history_page" ] = sprintf( |
|
| 887 | - __( 'GetPaid %s History Page', 'invoicing' ), |
|
| 888 | - $label |
|
| 889 | - ); |
|
| 890 | - } |
|
| 885 | + if ( wpinv_get_option( "{$post_type}_history_page", 0 ) == $post->ID ) { |
|
| 886 | + $post_states[ "getpaid_{$post_type}_history_page" ] = sprintf( |
|
| 887 | + __( 'GetPaid %s History Page', 'invoicing' ), |
|
| 888 | + $label |
|
| 889 | + ); |
|
| 890 | + } |
|
| 891 | 891 | } |
| 892 | 892 | |
| 893 | - if ( wpinv_get_option( 'invoice_subscription_page', 0 ) == $post->ID ) { |
|
| 893 | + if ( wpinv_get_option( 'invoice_subscription_page', 0 ) == $post->ID ) { |
|
| 894 | 894 | $post_states['getpaid_invoice_subscription_page'] = __( 'GetPaid Subscription Page', 'invoicing' ); |
| 895 | 895 | } |
| 896 | 896 | |
| 897 | - if ( wpinv_get_option( 'checkout_page', 0 ) == $post->ID ) { |
|
| 897 | + if ( wpinv_get_option( 'checkout_page', 0 ) == $post->ID ) { |
|
| 898 | 898 | $post_states['getpaid_checkout_page'] = __( 'GetPaid Checkout Page', 'invoicing' ); |
| 899 | 899 | } |
| 900 | 900 | |