@@ -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 | |
@@ -4,7 +4,7 @@ discard block |
||
| 4 | 4 | * |
| 5 | 5 | */ |
| 6 | 6 | |
| 7 | -defined( 'ABSPATH' ) || exit; |
|
| 7 | +defined('ABSPATH') || exit; |
|
| 8 | 8 | |
| 9 | 9 | /** |
| 10 | 10 | * Bank transfer Payment Gateway class. |
@@ -56,17 +56,17 @@ discard block |
||
| 56 | 56 | public function __construct() { |
| 57 | 57 | parent::__construct(); |
| 58 | 58 | |
| 59 | - $this->title = __( 'Direct bank transfer', 'invoicing' ); |
|
| 60 | - $this->method_title = __( 'Bank transfer', 'invoicing' ); |
|
| 61 | - $this->checkout_button_text = __( 'Proceed', 'invoicing' ); |
|
| 62 | - $this->instructions = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) ); |
|
| 59 | + $this->title = __('Direct bank transfer', 'invoicing'); |
|
| 60 | + $this->method_title = __('Bank transfer', 'invoicing'); |
|
| 61 | + $this->checkout_button_text = __('Proceed', 'invoicing'); |
|
| 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 | |
@@ -78,23 +78,23 @@ discard block |
||
| 78 | 78 | * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
| 79 | 79 | * @return array |
| 80 | 80 | */ |
| 81 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
| 81 | + public function process_payment($invoice, $submission_data, $submission) { |
|
| 82 | 82 | |
| 83 | 83 | // Add a transaction id. |
| 84 | - $invoice->set_transaction_id( $invoice->generate_key( 'bt_' ) ); |
|
| 84 | + $invoice->set_transaction_id($invoice->generate_key('bt_')); |
|
| 85 | 85 | |
| 86 | 86 | // Set it as pending payment. |
| 87 | - if ( ! $invoice->needs_payment() ) { |
|
| 87 | + if (!$invoice->needs_payment()) { |
|
| 88 | 88 | $invoice->mark_paid(); |
| 89 | - } elseif ( ! $invoice->is_paid() ) { |
|
| 90 | - $invoice->set_status( 'wpi-onhold' ); |
|
| 89 | + } elseif (!$invoice->is_paid()) { |
|
| 90 | + $invoice->set_status('wpi-onhold'); |
|
| 91 | 91 | } |
| 92 | 92 | |
| 93 | 93 | // Save it. |
| 94 | 94 | $invoice->save(); |
| 95 | 95 | |
| 96 | 96 | // Send to the success page. |
| 97 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
| 97 | + wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key())); |
|
| 98 | 98 | |
| 99 | 99 | } |
| 100 | 100 | |
@@ -103,17 +103,17 @@ discard block |
||
| 103 | 103 | * |
| 104 | 104 | * @param WPInv_Invoice $invoice Invoice. |
| 105 | 105 | */ |
| 106 | - public function thankyou_page( $invoice ) { |
|
| 106 | + public function thankyou_page($invoice) { |
|
| 107 | 107 | |
| 108 | - if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
| 108 | + if ('bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) { |
|
| 109 | 109 | |
| 110 | 110 | echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL; |
| 111 | 111 | |
| 112 | - if ( ! empty( $this->instructions ) ) { |
|
| 113 | - echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) ); |
|
| 112 | + if (!empty($this->instructions)) { |
|
| 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 | 118 | echo '</div>'; |
| 119 | 119 | |
@@ -128,17 +128,17 @@ discard block |
||
| 128 | 128 | * @param string $email_type Email format: plain text or HTML. |
| 129 | 129 | * @param bool $sent_to_admin Sent to admin. |
| 130 | 130 | */ |
| 131 | - public function email_instructions( $invoice, $email_type, $sent_to_admin ) { |
|
| 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 | 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 | 143 | echo '</div>'; |
| 144 | 144 | |
@@ -151,50 +151,50 @@ discard block |
||
| 151 | 151 | * |
| 152 | 152 | * @param WPInv_Invoice $invoice Invoice. |
| 153 | 153 | */ |
| 154 | - protected function bank_details( $invoice ) { |
|
| 154 | + protected function bank_details($invoice) { |
|
| 155 | 155 | |
| 156 | 156 | // Get the invoice country and country $locale. |
| 157 | 157 | $country = $invoice->get_country(); |
| 158 | 158 | $locale = $this->get_country_locale(); |
| 159 | 159 | |
| 160 | 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' ); |
|
| 161 | + $sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing'); |
|
| 162 | 162 | |
| 163 | 163 | $bank_fields = array( |
| 164 | - 'ac_name' => __( 'Account Name', 'invoicing' ), |
|
| 165 | - 'ac_no' => __( 'Account Number', 'invoicing' ), |
|
| 166 | - 'bank_name' => __( 'Bank Name', 'invoicing' ), |
|
| 167 | - 'ifsc' => __( 'IFSC code', 'invoicing' ), |
|
| 168 | - 'iban' => __( 'IBAN', 'invoicing' ), |
|
| 169 | - 'bic' => __( 'BIC/Swift code', 'invoicing' ), |
|
| 164 | + 'ac_name' => __('Account Name', 'invoicing'), |
|
| 165 | + 'ac_no' => __('Account Number', 'invoicing'), |
|
| 166 | + 'bank_name' => __('Bank Name', 'invoicing'), |
|
| 167 | + 'ifsc' => __('IFSC code', 'invoicing'), |
|
| 168 | + 'iban' => __('IBAN', 'invoicing'), |
|
| 169 | + 'bic' => __('BIC/Swift code', 'invoicing'), |
|
| 170 | 170 | 'sort_code' => $sortcode, |
| 171 | 171 | ); |
| 172 | 172 | |
| 173 | 173 | $bank_info = array(); |
| 174 | 174 | |
| 175 | - foreach ( $bank_fields as $field => $label ) { |
|
| 176 | - $value = $this->get_option( $field ); |
|
| 175 | + foreach ($bank_fields as $field => $label) { |
|
| 176 | + $value = $this->get_option($field); |
|
| 177 | 177 | |
| 178 | - if ( ! empty( $value ) ) { |
|
| 179 | - $bank_info[ $field ] = array( |
|
| 178 | + if (!empty($value)) { |
|
| 179 | + $bank_info[$field] = array( |
|
| 180 | 180 | 'label' => $label, |
| 181 | 181 | 'value' => $value, |
| 182 | 182 | ); |
| 183 | 183 | } |
| 184 | 184 | } |
| 185 | 185 | |
| 186 | - $bank_info = apply_filters( 'wpinv_bank_info', $bank_info, $invoice ); |
|
| 186 | + $bank_info = apply_filters('wpinv_bank_info', $bank_info, $invoice); |
|
| 187 | 187 | |
| 188 | - if ( empty( $bank_info ) ) { |
|
| 188 | + if (empty($bank_info)) { |
|
| 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 | 193 | |
| 194 | 194 | echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL; |
| 195 | 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; |
|
| 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 | 198 | } |
| 199 | 199 | |
| 200 | 200 | echo '</table>'; |
@@ -208,7 +208,7 @@ discard block |
||
| 208 | 208 | */ |
| 209 | 209 | public function get_country_locale() { |
| 210 | 210 | |
| 211 | - if ( empty( $this->locale ) ) { |
|
| 211 | + if (empty($this->locale)) { |
|
| 212 | 212 | |
| 213 | 213 | // Locale information to be used - only those that are not 'Sort Code'. |
| 214 | 214 | $this->locale = apply_filters( |
@@ -216,42 +216,42 @@ discard block |
||
| 216 | 216 | array( |
| 217 | 217 | 'AU' => array( |
| 218 | 218 | 'sortcode' => array( |
| 219 | - 'label' => __( 'BSB', 'invoicing' ), |
|
| 219 | + 'label' => __('BSB', 'invoicing'), |
|
| 220 | 220 | ), |
| 221 | 221 | ), |
| 222 | 222 | 'CA' => array( |
| 223 | 223 | 'sortcode' => array( |
| 224 | - 'label' => __( 'Bank transit number', 'invoicing' ), |
|
| 224 | + 'label' => __('Bank transit number', 'invoicing'), |
|
| 225 | 225 | ), |
| 226 | 226 | ), |
| 227 | 227 | 'IN' => array( |
| 228 | 228 | 'sortcode' => array( |
| 229 | - 'label' => __( 'IFSC', 'invoicing' ), |
|
| 229 | + 'label' => __('IFSC', 'invoicing'), |
|
| 230 | 230 | ), |
| 231 | 231 | ), |
| 232 | 232 | 'IT' => array( |
| 233 | 233 | 'sortcode' => array( |
| 234 | - 'label' => __( 'Branch sort', 'invoicing' ), |
|
| 234 | + 'label' => __('Branch sort', 'invoicing'), |
|
| 235 | 235 | ), |
| 236 | 236 | ), |
| 237 | 237 | 'NZ' => array( |
| 238 | 238 | 'sortcode' => array( |
| 239 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
| 239 | + 'label' => __('Bank code', 'invoicing'), |
|
| 240 | 240 | ), |
| 241 | 241 | ), |
| 242 | 242 | 'SE' => array( |
| 243 | 243 | 'sortcode' => array( |
| 244 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
| 244 | + 'label' => __('Bank code', 'invoicing'), |
|
| 245 | 245 | ), |
| 246 | 246 | ), |
| 247 | 247 | 'US' => array( |
| 248 | 248 | 'sortcode' => array( |
| 249 | - 'label' => __( 'Routing number', 'invoicing' ), |
|
| 249 | + 'label' => __('Routing number', 'invoicing'), |
|
| 250 | 250 | ), |
| 251 | 251 | ), |
| 252 | 252 | 'ZA' => array( |
| 253 | 253 | 'sortcode' => array( |
| 254 | - 'label' => __( 'Branch code', 'invoicing' ), |
|
| 254 | + 'label' => __('Branch code', 'invoicing'), |
|
| 255 | 255 | ), |
| 256 | 256 | ), |
| 257 | 257 | ) |
@@ -268,51 +268,51 @@ discard block |
||
| 268 | 268 | * |
| 269 | 269 | * @param array $admin_settings |
| 270 | 270 | */ |
| 271 | - public function admin_settings( $admin_settings ) { |
|
| 271 | + public function admin_settings($admin_settings) { |
|
| 272 | 272 | |
| 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' ); |
|
| 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'); |
|
| 275 | 275 | |
| 276 | - $locale = $this->get_country_locale(); |
|
| 276 | + $locale = $this->get_country_locale(); |
|
| 277 | 277 | |
| 278 | 278 | // Get sortcode label in the $locale array and use appropriate one. |
| 279 | 279 | $country = wpinv_default_billing_country(); |
| 280 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
| 280 | + $sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing'); |
|
| 281 | 281 | |
| 282 | 282 | $admin_settings['bank_transfer_ac_name'] = array( |
| 283 | 283 | 'type' => 'text', |
| 284 | 284 | 'id' => 'bank_transfer_ac_name', |
| 285 | - 'name' => __( 'Account Name', 'invoicing' ), |
|
| 285 | + 'name' => __('Account Name', 'invoicing'), |
|
| 286 | 286 | ); |
| 287 | 287 | |
| 288 | 288 | $admin_settings['bank_transfer_ac_no'] = array( |
| 289 | 289 | 'type' => 'text', |
| 290 | 290 | 'id' => 'bank_transfer_ac_no', |
| 291 | - 'name' => __( 'Account Number', 'invoicing' ), |
|
| 291 | + 'name' => __('Account Number', 'invoicing'), |
|
| 292 | 292 | ); |
| 293 | 293 | |
| 294 | 294 | $admin_settings['bank_transfer_bank_name'] = array( |
| 295 | 295 | 'type' => 'text', |
| 296 | 296 | 'id' => 'bank_transfer_bank_name', |
| 297 | - 'name' => __( 'Bank Name', 'invoicing' ), |
|
| 297 | + 'name' => __('Bank Name', 'invoicing'), |
|
| 298 | 298 | ); |
| 299 | 299 | |
| 300 | 300 | $admin_settings['bank_transfer_ifsc'] = array( |
| 301 | 301 | 'type' => 'text', |
| 302 | 302 | 'id' => 'bank_transfer_ifsc', |
| 303 | - 'name' => __( 'IFSC Code', 'invoicing' ), |
|
| 303 | + 'name' => __('IFSC Code', 'invoicing'), |
|
| 304 | 304 | ); |
| 305 | 305 | |
| 306 | 306 | $admin_settings['bank_transfer_iban'] = array( |
| 307 | 307 | 'type' => 'text', |
| 308 | 308 | 'id' => 'bank_transfer_iban', |
| 309 | - 'name' => __( 'IBAN', 'invoicing' ), |
|
| 309 | + 'name' => __('IBAN', 'invoicing'), |
|
| 310 | 310 | ); |
| 311 | 311 | |
| 312 | 312 | $admin_settings['bank_transfer_bic'] = array( |
| 313 | 313 | 'type' => 'text', |
| 314 | 314 | 'id' => 'bank_transfer_bic', |
| 315 | - 'name' => __( 'BIC/Swift Code', 'invoicing' ), |
|
| 315 | + 'name' => __('BIC/Swift Code', 'invoicing'), |
|
| 316 | 316 | ); |
| 317 | 317 | |
| 318 | 318 | $admin_settings['bank_transfer_sort_code'] = array( |
@@ -323,10 +323,10 @@ discard block |
||
| 323 | 323 | |
| 324 | 324 | $admin_settings['bank_transfer_info'] = array( |
| 325 | 325 | 'id' => 'bank_transfer_info', |
| 326 | - 'name' => __( 'Instructions', 'invoicing' ), |
|
| 327 | - 'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ), |
|
| 326 | + 'name' => __('Instructions', 'invoicing'), |
|
| 327 | + 'desc' => __('Instructions that will be added to the thank you page and emails.', 'invoicing'), |
|
| 328 | 328 | 'type' => 'textarea', |
| 329 | - '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' ), |
|
| 329 | + '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'), |
|
| 330 | 330 | 'cols' => 50, |
| 331 | 331 | 'rows' => 5, |
| 332 | 332 | ); |
@@ -341,10 +341,10 @@ discard block |
||
| 341 | 341 | * @param GetPaid_Form_Item[] $items |
| 342 | 342 | * @return WPInv_Invoice |
| 343 | 343 | */ |
| 344 | - public function process_addons( $invoice, $items ) { |
|
| 344 | + public function process_addons($invoice, $items) { |
|
| 345 | 345 | |
| 346 | - foreach ( $items as $item ) { |
|
| 347 | - $invoice->add_item( $item ); |
|
| 346 | + foreach ($items as $item) { |
|
| 347 | + $invoice->add_item($item); |
|
| 348 | 348 | } |
| 349 | 349 | |
| 350 | 350 | $invoice->recalculate_total(); |
@@ -357,10 +357,10 @@ discard block |
||
| 357 | 357 | * |
| 358 | 358 | * @param WPInv_Subscription $subscription |
| 359 | 359 | */ |
| 360 | - public function maybe_renew_subscription( $subscription ) { |
|
| 360 | + public function maybe_renew_subscription($subscription) { |
|
| 361 | 361 | |
| 362 | 362 | // Ensure its our subscription && it's active. |
| 363 | - if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) { |
|
| 363 | + if ($this->id === $subscription->get_gateway() && $subscription->has_status('active trialling')) { |
|
| 364 | 364 | $subscription->create_payment(); |
| 365 | 365 | } |
| 366 | 366 | |
@@ -372,42 +372,42 @@ discard block |
||
| 372 | 372 | * |
| 373 | 373 | * @param WPInv_Invoice $invoice |
| 374 | 374 | */ |
| 375 | - public function invoice_paid( $invoice ) { |
|
| 375 | + public function invoice_paid($invoice) { |
|
| 376 | 376 | |
| 377 | 377 | // Abort if not paid by bank transfer. |
| 378 | - if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) { |
|
| 378 | + if ($this->id !== $invoice->get_gateway() || !$invoice->is_recurring()) { |
|
| 379 | 379 | return; |
| 380 | 380 | } |
| 381 | 381 | |
| 382 | 382 | // Is it a parent payment? |
| 383 | - if ( 0 == $invoice->get_parent_id() ) { |
|
| 383 | + if (0 == $invoice->get_parent_id()) { |
|
| 384 | 384 | |
| 385 | 385 | // (Maybe) activate subscriptions. |
| 386 | - $subscriptions = getpaid_get_invoice_subscriptions( $invoice ); |
|
| 386 | + $subscriptions = getpaid_get_invoice_subscriptions($invoice); |
|
| 387 | 387 | |
| 388 | - if ( ! empty( $subscriptions ) ) { |
|
| 389 | - $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions ); |
|
| 388 | + if (!empty($subscriptions)) { |
|
| 389 | + $subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions); |
|
| 390 | 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 ) ); |
|
| 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 | 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() ); |
|
| 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 | 399 | $subscription->activate(); |
| 400 | 400 | } |
| 401 | 401 | } |
| 402 | 402 | } |
| 403 | 403 | } else { |
| 404 | 404 | |
| 405 | - $subscription = getpaid_get_subscription( $invoice->get_subscription_id() ); |
|
| 405 | + $subscription = getpaid_get_subscription($invoice->get_subscription_id()); |
|
| 406 | 406 | |
| 407 | 407 | // Renew the subscription. |
| 408 | - if ( $subscription && $subscription->exists() ) { |
|
| 409 | - $subscription->add_payment( array(), $invoice ); |
|
| 410 | - $subscription->renew( strtotime( $invoice->get_date_created() ) ); |
|
| 408 | + if ($subscription && $subscription->exists()) { |
|
| 409 | + $subscription->add_payment(array(), $invoice); |
|
| 410 | + $subscription->renew(strtotime($invoice->get_date_created())); |
|
| 411 | 411 | } |
| 412 | 412 | } |
| 413 | 413 | |
@@ -128,7 +128,7 @@ |
||
| 128 | 128 | |
| 129 | 129 | if( !$version || version_compare($version,'5.999','>')){ |
| 130 | 130 | $url .= 'assets/js/fa-iconpicker-v6.min.js'; |
| 131 | - }else{ |
|
| 131 | + } else{ |
|
| 132 | 132 | $url .= 'assets/js/fa-iconpicker-v5.min.js'; |
| 133 | 133 | } |
| 134 | 134 | |
@@ -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,406 +21,406 @@ 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 | - */ |
|
| 29 | - class WP_Font_Awesome_Settings { |
|
| 30 | - |
|
| 31 | - /** |
|
| 32 | - * Class version version. |
|
| 33 | - * |
|
| 34 | - * @var string |
|
| 35 | - */ |
|
| 36 | - public $version = '1.1.7'; |
|
| 37 | - |
|
| 38 | - /** |
|
| 39 | - * Class textdomain. |
|
| 40 | - * |
|
| 41 | - * @var string |
|
| 42 | - */ |
|
| 43 | - public $textdomain = 'font-awesome-settings'; |
|
| 44 | - |
|
| 45 | - /** |
|
| 46 | - * Latest version of Font Awesome at time of publish published. |
|
| 47 | - * |
|
| 48 | - * @var string |
|
| 49 | - */ |
|
| 50 | - public $latest = "6.4.2"; |
|
| 51 | - |
|
| 52 | - /** |
|
| 53 | - * The title. |
|
| 54 | - * |
|
| 55 | - * @var string |
|
| 56 | - */ |
|
| 57 | - public $name = 'Font Awesome'; |
|
| 58 | - |
|
| 59 | - /** |
|
| 60 | - * Holds the settings values. |
|
| 61 | - * |
|
| 62 | - * @var array |
|
| 63 | - */ |
|
| 64 | - private $settings; |
|
| 65 | - |
|
| 66 | - /** |
|
| 67 | - * WP_Font_Awesome_Settings instance. |
|
| 68 | - * |
|
| 69 | - * @access private |
|
| 70 | - * @since 1.0.0 |
|
| 71 | - * @var WP_Font_Awesome_Settings There can be only one! |
|
| 72 | - */ |
|
| 73 | - private static $instance = null; |
|
| 74 | - |
|
| 75 | - /** |
|
| 76 | - * Main WP_Font_Awesome_Settings Instance. |
|
| 77 | - * |
|
| 78 | - * Ensures only one instance of WP_Font_Awesome_Settings is loaded or can be loaded. |
|
| 79 | - * |
|
| 80 | - * @since 1.0.0 |
|
| 81 | - * @static |
|
| 82 | - * @return WP_Font_Awesome_Settings - Main instance. |
|
| 83 | - */ |
|
| 84 | - public static function instance() { |
|
| 85 | - if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WP_Font_Awesome_Settings ) ) { |
|
| 86 | - self::$instance = new WP_Font_Awesome_Settings; |
|
| 87 | - |
|
| 88 | - add_action( 'init', array( self::$instance, 'init' ) ); // set settings |
|
| 89 | - |
|
| 90 | - if ( is_admin() ) { |
|
| 91 | - add_action( 'admin_menu', array( self::$instance, 'menu_item' ) ); |
|
| 92 | - add_action( 'admin_init', array( self::$instance, 'register_settings' ) ); |
|
| 93 | - add_action( 'admin_init', array( self::$instance, 'constants' ) ); |
|
| 94 | - add_action( 'admin_notices', array( self::$instance, 'admin_notices' ) ); |
|
| 95 | - } |
|
| 96 | - |
|
| 97 | - do_action( 'wp_font_awesome_settings_loaded' ); |
|
| 98 | - } |
|
| 99 | - |
|
| 100 | - return self::$instance; |
|
| 101 | - } |
|
| 102 | - |
|
| 103 | - /** |
|
| 24 | + /** |
|
| 25 | + * A Class to be able to change settings for Font Awesome. |
|
| 26 | + * |
|
| 27 | + * Class WP_Font_Awesome_Settings |
|
| 28 | + */ |
|
| 29 | + class WP_Font_Awesome_Settings { |
|
| 30 | + |
|
| 31 | + /** |
|
| 32 | + * Class version version. |
|
| 33 | + * |
|
| 34 | + * @var string |
|
| 35 | + */ |
|
| 36 | + public $version = '1.1.7'; |
|
| 37 | + |
|
| 38 | + /** |
|
| 39 | + * Class textdomain. |
|
| 40 | + * |
|
| 41 | + * @var string |
|
| 42 | + */ |
|
| 43 | + public $textdomain = 'font-awesome-settings'; |
|
| 44 | + |
|
| 45 | + /** |
|
| 46 | + * Latest version of Font Awesome at time of publish published. |
|
| 47 | + * |
|
| 48 | + * @var string |
|
| 49 | + */ |
|
| 50 | + public $latest = "6.4.2"; |
|
| 51 | + |
|
| 52 | + /** |
|
| 53 | + * The title. |
|
| 54 | + * |
|
| 55 | + * @var string |
|
| 56 | + */ |
|
| 57 | + public $name = 'Font Awesome'; |
|
| 58 | + |
|
| 59 | + /** |
|
| 60 | + * Holds the settings values. |
|
| 61 | + * |
|
| 62 | + * @var array |
|
| 63 | + */ |
|
| 64 | + private $settings; |
|
| 65 | + |
|
| 66 | + /** |
|
| 67 | + * WP_Font_Awesome_Settings instance. |
|
| 68 | + * |
|
| 69 | + * @access private |
|
| 70 | + * @since 1.0.0 |
|
| 71 | + * @var WP_Font_Awesome_Settings There can be only one! |
|
| 72 | + */ |
|
| 73 | + private static $instance = null; |
|
| 74 | + |
|
| 75 | + /** |
|
| 76 | + * Main WP_Font_Awesome_Settings Instance. |
|
| 77 | + * |
|
| 78 | + * Ensures only one instance of WP_Font_Awesome_Settings is loaded or can be loaded. |
|
| 79 | + * |
|
| 80 | + * @since 1.0.0 |
|
| 81 | + * @static |
|
| 82 | + * @return WP_Font_Awesome_Settings - Main instance. |
|
| 83 | + */ |
|
| 84 | + public static function instance() { |
|
| 85 | + if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WP_Font_Awesome_Settings ) ) { |
|
| 86 | + self::$instance = new WP_Font_Awesome_Settings; |
|
| 87 | + |
|
| 88 | + add_action( 'init', array( self::$instance, 'init' ) ); // set settings |
|
| 89 | + |
|
| 90 | + if ( is_admin() ) { |
|
| 91 | + add_action( 'admin_menu', array( self::$instance, 'menu_item' ) ); |
|
| 92 | + add_action( 'admin_init', array( self::$instance, 'register_settings' ) ); |
|
| 93 | + add_action( 'admin_init', array( self::$instance, 'constants' ) ); |
|
| 94 | + add_action( 'admin_notices', array( self::$instance, 'admin_notices' ) ); |
|
| 95 | + } |
|
| 96 | + |
|
| 97 | + do_action( 'wp_font_awesome_settings_loaded' ); |
|
| 98 | + } |
|
| 99 | + |
|
| 100 | + return self::$instance; |
|
| 101 | + } |
|
| 102 | + |
|
| 103 | + /** |
|
| 104 | 104 | * Define any constants that may be needed by other packages. |
| 105 | 105 | * |
| 106 | - * @return void |
|
| 107 | - */ |
|
| 108 | - public function constants(){ |
|
| 106 | + * @return void |
|
| 107 | + */ |
|
| 108 | + public function constants(){ |
|
| 109 | 109 | |
| 110 | - // register iconpicker constant |
|
| 111 | - if ( ! defined( 'FAS_ICONPICKER_JS_URL' ) ) { |
|
| 112 | - $url = $this->get_path_url(); |
|
| 113 | - $version = $this->settings['version']; |
|
| 110 | + // register iconpicker constant |
|
| 111 | + if ( ! defined( 'FAS_ICONPICKER_JS_URL' ) ) { |
|
| 112 | + $url = $this->get_path_url(); |
|
| 113 | + $version = $this->settings['version']; |
|
| 114 | 114 | |
| 115 | - if( !$version || version_compare($version,'5.999','>')){ |
|
| 116 | - $url .= 'assets/js/fa-iconpicker-v6.min.js'; |
|
| 117 | - }else{ |
|
| 118 | - $url .= 'assets/js/fa-iconpicker-v5.min.js'; |
|
| 119 | - } |
|
| 115 | + if( !$version || version_compare($version,'5.999','>')){ |
|
| 116 | + $url .= 'assets/js/fa-iconpicker-v6.min.js'; |
|
| 117 | + }else{ |
|
| 118 | + $url .= 'assets/js/fa-iconpicker-v5.min.js'; |
|
| 119 | + } |
|
| 120 | 120 | |
| 121 | - define( 'FAS_ICONPICKER_JS_URL', $url ); |
|
| 121 | + define( 'FAS_ICONPICKER_JS_URL', $url ); |
|
| 122 | 122 | |
| 123 | - } |
|
| 123 | + } |
|
| 124 | 124 | |
| 125 | 125 | // Set a constant if pro enbaled |
| 126 | - if ( ! defined( 'FAS_PRO' ) && $this->settings['pro'] ) { |
|
| 127 | - define( 'FAS_PRO', true ); |
|
| 128 | - } |
|
| 129 | - } |
|
| 130 | - |
|
| 131 | - /** |
|
| 132 | - * Get the url path to the current folder. |
|
| 133 | - * |
|
| 134 | - * @return string |
|
| 135 | - */ |
|
| 136 | - public function get_path_url() { |
|
| 137 | - $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 138 | - $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 139 | - |
|
| 140 | - // Replace http:// to https://. |
|
| 141 | - if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 142 | - $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 143 | - } |
|
| 144 | - |
|
| 145 | - // Check if we are inside a plugin |
|
| 146 | - $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 147 | - $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 148 | - |
|
| 149 | - return trailingslashit( $url ); |
|
| 150 | - } |
|
| 151 | - |
|
| 152 | - /** |
|
| 153 | - * Initiate the settings and add the required action hooks. |
|
| 154 | - * |
|
| 155 | - * @since 1.0.8 Settings name wrong - FIXED |
|
| 156 | - */ |
|
| 157 | - public function init() { |
|
| 158 | - // Download fontawesome locally. |
|
| 159 | - add_action( 'add_option_wp-font-awesome-settings', array( $this, 'add_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 160 | - add_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 161 | - |
|
| 162 | - $this->settings = $this->get_settings(); |
|
| 163 | - |
|
| 164 | - // Check if the official plugin is active and use that instead if so. |
|
| 165 | - if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 166 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) { |
|
| 167 | - add_action( 'admin_head', array( $this, 'add_generator' ), 99 ); |
|
| 168 | - } |
|
| 169 | - |
|
| 170 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) { |
|
| 171 | - add_action( 'wp_head', array( $this, 'add_generator' ), 99 ); |
|
| 172 | - } |
|
| 173 | - |
|
| 174 | - if ( $this->settings['type'] == 'CSS' ) { |
|
| 175 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) { |
|
| 176 | - add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 ); |
|
| 177 | - //add_action( 'wp_footer', array( $this, 'enqueue_style' ), 5000 ); // not sure why this was added, seems to break frontend |
|
| 178 | - } |
|
| 179 | - |
|
| 180 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) { |
|
| 181 | - add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 ); |
|
| 182 | - add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_styles' ), 10, 2 ); |
|
| 183 | - } |
|
| 184 | - } else { |
|
| 185 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) { |
|
| 186 | - add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 ); |
|
| 187 | - } |
|
| 188 | - |
|
| 189 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) { |
|
| 190 | - add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 ); |
|
| 191 | - add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_scripts' ), 10, 2 ); |
|
| 192 | - } |
|
| 193 | - } |
|
| 194 | - |
|
| 195 | - // remove font awesome if set to do so |
|
| 196 | - if ( $this->settings['dequeue'] == '1' ) { |
|
| 197 | - add_action( 'clean_url', array( $this, 'remove_font_awesome' ), 5000, 3 ); |
|
| 198 | - } |
|
| 199 | - } |
|
| 200 | - |
|
| 201 | - } |
|
| 202 | - |
|
| 203 | - /** |
|
| 204 | - * Add FA to the FSE. |
|
| 205 | - * |
|
| 206 | - * @param $editor_settings |
|
| 207 | - * @param $block_editor_context |
|
| 208 | - * |
|
| 209 | - * @return array |
|
| 210 | - */ |
|
| 211 | - public function enqueue_editor_styles( $editor_settings, $block_editor_context ){ |
|
| 212 | - |
|
| 213 | - if ( ! empty( $editor_settings['__unstableResolvedAssets']['styles'] ) ) { |
|
| 214 | - $url = $this->get_url(); |
|
| 215 | - $editor_settings['__unstableResolvedAssets']['styles'] .= "<link rel='stylesheet' id='font-awesome-css' href='$url' media='all' />"; |
|
| 216 | - } |
|
| 217 | - |
|
| 218 | - return $editor_settings; |
|
| 219 | - } |
|
| 220 | - |
|
| 221 | - /** |
|
| 222 | - * Add FA to the FSE. |
|
| 223 | - * |
|
| 224 | - * @param $editor_settings |
|
| 225 | - * @param $block_editor_context |
|
| 226 | - * |
|
| 227 | - * @return array |
|
| 228 | - */ |
|
| 229 | - public function enqueue_editor_scripts( $editor_settings, $block_editor_context ){ |
|
| 230 | - |
|
| 231 | - $url = $this->get_url(); |
|
| 232 | - $editor_settings['__unstableResolvedAssets']['scripts'] .= "<script src='$url' id='font-awesome-js'></script>"; |
|
| 233 | - |
|
| 234 | - return $editor_settings; |
|
| 235 | - } |
|
| 236 | - |
|
| 237 | - /** |
|
| 238 | - * Adds the Font Awesome styles. |
|
| 239 | - */ |
|
| 240 | - public function enqueue_style() { |
|
| 241 | - // build url |
|
| 242 | - $url = $this->get_url(); |
|
| 243 | - $version = ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) ? strip_tags( $this->settings['local_version'] ) : null; |
|
| 244 | - |
|
| 245 | - wp_deregister_style( 'font-awesome' ); // deregister in case its already there |
|
| 246 | - wp_register_style( 'font-awesome', $url, array(), $version ); |
|
| 247 | - wp_enqueue_style( 'font-awesome' ); |
|
| 248 | - |
|
| 249 | - // RTL language support CSS. |
|
| 250 | - if ( is_rtl() ) { |
|
| 251 | - wp_add_inline_style( 'font-awesome', $this->rtl_inline_css() ); |
|
| 252 | - } |
|
| 253 | - |
|
| 254 | - if ( $this->settings['shims'] ) { |
|
| 255 | - $url = $this->get_url( true ); |
|
| 256 | - wp_deregister_style( 'font-awesome-shims' ); // deregister in case its already there |
|
| 257 | - wp_register_style( 'font-awesome-shims', $url, array(), $version ); |
|
| 258 | - wp_enqueue_style( 'font-awesome-shims' ); |
|
| 259 | - } |
|
| 260 | - } |
|
| 261 | - |
|
| 262 | - /** |
|
| 263 | - * Adds the Font Awesome JS. |
|
| 264 | - */ |
|
| 265 | - public function enqueue_scripts() { |
|
| 266 | - // build url |
|
| 267 | - $url = $this->get_url(); |
|
| 268 | - |
|
| 269 | - $deregister_function = 'wp' . '_' . 'deregister' . '_' . 'script'; |
|
| 270 | - call_user_func( $deregister_function, 'font-awesome' ); // deregister in case its already there |
|
| 271 | - wp_register_script( 'font-awesome', $url, array(), null ); |
|
| 272 | - wp_enqueue_script( 'font-awesome' ); |
|
| 273 | - |
|
| 274 | - if ( $this->settings['shims'] ) { |
|
| 275 | - $url = $this->get_url( true ); |
|
| 276 | - call_user_func( $deregister_function, 'font-awesome-shims' ); // deregister in case its already there |
|
| 277 | - wp_register_script( 'font-awesome-shims', $url, array(), null ); |
|
| 278 | - wp_enqueue_script( 'font-awesome-shims' ); |
|
| 279 | - } |
|
| 280 | - } |
|
| 281 | - |
|
| 282 | - /** |
|
| 283 | - * Get the url of the Font Awesome files. |
|
| 284 | - * |
|
| 285 | - * @param bool $shims If this is a shim file or not. |
|
| 286 | - * @param bool $local Load locally if allowed. |
|
| 287 | - * |
|
| 288 | - * @return string The url to the file. |
|
| 289 | - */ |
|
| 290 | - public function get_url( $shims = false, $local = true ) { |
|
| 291 | - $script = $shims ? 'v4-shims' : 'all'; |
|
| 292 | - $sub = $this->settings['pro'] ? 'pro' : 'use'; |
|
| 293 | - $type = $this->settings['type']; |
|
| 294 | - $version = $this->settings['version']; |
|
| 295 | - $kit_url = $this->settings['kit-url'] ? esc_url( $this->settings['kit-url'] ) : ''; |
|
| 296 | - $url = ''; |
|
| 297 | - |
|
| 298 | - if ( $type == 'KIT' && $kit_url ) { |
|
| 299 | - if ( $shims ) { |
|
| 300 | - // if its a kit then we don't add shims here |
|
| 301 | - return ''; |
|
| 302 | - } |
|
| 303 | - $url .= $kit_url; // CDN |
|
| 304 | - $url .= "?wpfas=true"; // set our var so our version is not removed |
|
| 305 | - } else { |
|
| 306 | - $v = ''; |
|
| 307 | - // Check and load locally. |
|
| 308 | - if ( $local && $this->has_local() ) { |
|
| 309 | - $script .= ".min"; |
|
| 310 | - $v .= '&ver=' . strip_tags( $this->settings['local_version'] ); |
|
| 311 | - $url .= $this->get_fonts_url(); // Local fonts url. |
|
| 312 | - } else { |
|
| 313 | - $url .= "https://$sub.fontawesome.com/releases/"; // CDN |
|
| 314 | - $url .= ! empty( $version ) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version |
|
| 315 | - } |
|
| 316 | - $url .= $type == 'CSS' ? 'css/' : 'js/'; // type |
|
| 317 | - $url .= $type == 'CSS' ? $script . '.css' : $script . '.js'; // type |
|
| 318 | - $url .= "?wpfas=true" . $v; // set our var so our version is not removed |
|
| 319 | - } |
|
| 320 | - |
|
| 321 | - return $url; |
|
| 322 | - } |
|
| 323 | - |
|
| 324 | - /** |
|
| 325 | - * Try and remove any other versions of Font Awesome added by other plugins/themes. |
|
| 326 | - * |
|
| 327 | - * 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. |
|
| 328 | - * |
|
| 329 | - * @param $url |
|
| 330 | - * @param $original_url |
|
| 331 | - * @param $_context |
|
| 332 | - * |
|
| 333 | - * @return string The filtered url. |
|
| 334 | - */ |
|
| 335 | - public function remove_font_awesome( $url, $original_url, $_context ) { |
|
| 336 | - |
|
| 337 | - if ( $_context == 'display' |
|
| 338 | - && ( strstr( $url, "fontawesome" ) !== false || strstr( $url, "font-awesome" ) !== false ) |
|
| 339 | - && ( strstr( $url, ".js" ) !== false || strstr( $url, ".css" ) !== false ) |
|
| 340 | - ) {// it's a font-awesome-url (probably) |
|
| 341 | - |
|
| 342 | - if ( strstr( $url, "wpfas=true" ) !== false ) { |
|
| 343 | - if ( $this->settings['type'] == 'JS' ) { |
|
| 344 | - if ( $this->settings['js-pseudo'] ) { |
|
| 345 | - $url .= "' data-search-pseudo-elements defer='defer"; |
|
| 346 | - } else { |
|
| 347 | - $url .= "' defer='defer"; |
|
| 348 | - } |
|
| 349 | - } |
|
| 350 | - } else { |
|
| 351 | - $url = ''; // removing the url removes the file |
|
| 352 | - } |
|
| 353 | - |
|
| 354 | - } |
|
| 355 | - |
|
| 356 | - return $url; |
|
| 357 | - } |
|
| 358 | - |
|
| 359 | - /** |
|
| 360 | - * Register the database settings with WordPress. |
|
| 361 | - */ |
|
| 362 | - public function register_settings() { |
|
| 363 | - register_setting( 'wp-font-awesome-settings', 'wp-font-awesome-settings' ); |
|
| 364 | - } |
|
| 365 | - |
|
| 366 | - /** |
|
| 367 | - * Add the WordPress settings menu item. |
|
| 368 | - * @since 1.0.10 Calling function name direct will fail theme check so we don't. |
|
| 369 | - */ |
|
| 370 | - public function menu_item() { |
|
| 371 | - $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme |
|
| 372 | - call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array( |
|
| 373 | - $this, |
|
| 374 | - 'settings_page' |
|
| 375 | - ) ); |
|
| 376 | - } |
|
| 377 | - |
|
| 378 | - /** |
|
| 379 | - * Get the current Font Awesome output settings. |
|
| 380 | - * |
|
| 381 | - * @return array The array of settings. |
|
| 382 | - */ |
|
| 383 | - public function get_settings() { |
|
| 384 | - $db_settings = get_option( 'wp-font-awesome-settings' ); |
|
| 385 | - |
|
| 386 | - $defaults = array( |
|
| 387 | - 'type' => 'CSS', // type to use, CSS or JS or KIT |
|
| 388 | - 'version' => '', // latest |
|
| 389 | - 'enqueue' => '', // front and backend |
|
| 390 | - 'shims' => '0', // default OFF now in 2020 |
|
| 391 | - 'js-pseudo' => '0', // if the pseudo elements flag should be set (CPU intensive) |
|
| 392 | - 'dequeue' => '0', // if we should try to remove other versions added by other plugins/themes |
|
| 393 | - 'pro' => '0', // if pro CDN url should be used |
|
| 394 | - 'local' => '0', // Store fonts locally. |
|
| 395 | - 'local_version' => '', // Local fonts version. |
|
| 396 | - 'kit-url' => '', // the kit url |
|
| 397 | - ); |
|
| 398 | - |
|
| 399 | - $settings = wp_parse_args( $db_settings, $defaults ); |
|
| 400 | - |
|
| 401 | - /** |
|
| 402 | - * Filter the Font Awesome settings. |
|
| 403 | - * |
|
| 404 | - * @todo if we add this filer people might use it and then it defeates the purpose of this class :/ |
|
| 405 | - */ |
|
| 406 | - return $this->settings = apply_filters( 'wp-font-awesome-settings', $settings, $db_settings, $defaults ); |
|
| 407 | - } |
|
| 408 | - |
|
| 409 | - /** |
|
| 410 | - * The settings page html output. |
|
| 411 | - */ |
|
| 412 | - public function settings_page() { |
|
| 413 | - if ( ! current_user_can( 'manage_options' ) ) { |
|
| 414 | - wp_die( __( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) ); |
|
| 415 | - } |
|
| 416 | - |
|
| 417 | - // a hidden way to force the update of the version number via api instead of waiting the 48 hours |
|
| 418 | - if ( isset( $_REQUEST['force-version-check'] ) ) { |
|
| 419 | - $this->get_latest_version( $force_api = true ); |
|
| 420 | - } |
|
| 421 | - |
|
| 422 | - if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 423 | - ?> |
|
| 126 | + if ( ! defined( 'FAS_PRO' ) && $this->settings['pro'] ) { |
|
| 127 | + define( 'FAS_PRO', true ); |
|
| 128 | + } |
|
| 129 | + } |
|
| 130 | + |
|
| 131 | + /** |
|
| 132 | + * Get the url path to the current folder. |
|
| 133 | + * |
|
| 134 | + * @return string |
|
| 135 | + */ |
|
| 136 | + public function get_path_url() { |
|
| 137 | + $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 138 | + $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 139 | + |
|
| 140 | + // Replace http:// to https://. |
|
| 141 | + if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 142 | + $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 143 | + } |
|
| 144 | + |
|
| 145 | + // Check if we are inside a plugin |
|
| 146 | + $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 147 | + $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 148 | + |
|
| 149 | + return trailingslashit( $url ); |
|
| 150 | + } |
|
| 151 | + |
|
| 152 | + /** |
|
| 153 | + * Initiate the settings and add the required action hooks. |
|
| 154 | + * |
|
| 155 | + * @since 1.0.8 Settings name wrong - FIXED |
|
| 156 | + */ |
|
| 157 | + public function init() { |
|
| 158 | + // Download fontawesome locally. |
|
| 159 | + add_action( 'add_option_wp-font-awesome-settings', array( $this, 'add_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 160 | + add_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 161 | + |
|
| 162 | + $this->settings = $this->get_settings(); |
|
| 163 | + |
|
| 164 | + // Check if the official plugin is active and use that instead if so. |
|
| 165 | + if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 166 | + if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) { |
|
| 167 | + add_action( 'admin_head', array( $this, 'add_generator' ), 99 ); |
|
| 168 | + } |
|
| 169 | + |
|
| 170 | + if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) { |
|
| 171 | + add_action( 'wp_head', array( $this, 'add_generator' ), 99 ); |
|
| 172 | + } |
|
| 173 | + |
|
| 174 | + if ( $this->settings['type'] == 'CSS' ) { |
|
| 175 | + if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) { |
|
| 176 | + add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 ); |
|
| 177 | + //add_action( 'wp_footer', array( $this, 'enqueue_style' ), 5000 ); // not sure why this was added, seems to break frontend |
|
| 178 | + } |
|
| 179 | + |
|
| 180 | + if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) { |
|
| 181 | + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 ); |
|
| 182 | + add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_styles' ), 10, 2 ); |
|
| 183 | + } |
|
| 184 | + } else { |
|
| 185 | + if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) { |
|
| 186 | + add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 ); |
|
| 187 | + } |
|
| 188 | + |
|
| 189 | + if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) { |
|
| 190 | + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 ); |
|
| 191 | + add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_scripts' ), 10, 2 ); |
|
| 192 | + } |
|
| 193 | + } |
|
| 194 | + |
|
| 195 | + // remove font awesome if set to do so |
|
| 196 | + if ( $this->settings['dequeue'] == '1' ) { |
|
| 197 | + add_action( 'clean_url', array( $this, 'remove_font_awesome' ), 5000, 3 ); |
|
| 198 | + } |
|
| 199 | + } |
|
| 200 | + |
|
| 201 | + } |
|
| 202 | + |
|
| 203 | + /** |
|
| 204 | + * Add FA to the FSE. |
|
| 205 | + * |
|
| 206 | + * @param $editor_settings |
|
| 207 | + * @param $block_editor_context |
|
| 208 | + * |
|
| 209 | + * @return array |
|
| 210 | + */ |
|
| 211 | + public function enqueue_editor_styles( $editor_settings, $block_editor_context ){ |
|
| 212 | + |
|
| 213 | + if ( ! empty( $editor_settings['__unstableResolvedAssets']['styles'] ) ) { |
|
| 214 | + $url = $this->get_url(); |
|
| 215 | + $editor_settings['__unstableResolvedAssets']['styles'] .= "<link rel='stylesheet' id='font-awesome-css' href='$url' media='all' />"; |
|
| 216 | + } |
|
| 217 | + |
|
| 218 | + return $editor_settings; |
|
| 219 | + } |
|
| 220 | + |
|
| 221 | + /** |
|
| 222 | + * Add FA to the FSE. |
|
| 223 | + * |
|
| 224 | + * @param $editor_settings |
|
| 225 | + * @param $block_editor_context |
|
| 226 | + * |
|
| 227 | + * @return array |
|
| 228 | + */ |
|
| 229 | + public function enqueue_editor_scripts( $editor_settings, $block_editor_context ){ |
|
| 230 | + |
|
| 231 | + $url = $this->get_url(); |
|
| 232 | + $editor_settings['__unstableResolvedAssets']['scripts'] .= "<script src='$url' id='font-awesome-js'></script>"; |
|
| 233 | + |
|
| 234 | + return $editor_settings; |
|
| 235 | + } |
|
| 236 | + |
|
| 237 | + /** |
|
| 238 | + * Adds the Font Awesome styles. |
|
| 239 | + */ |
|
| 240 | + public function enqueue_style() { |
|
| 241 | + // build url |
|
| 242 | + $url = $this->get_url(); |
|
| 243 | + $version = ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) ? strip_tags( $this->settings['local_version'] ) : null; |
|
| 244 | + |
|
| 245 | + wp_deregister_style( 'font-awesome' ); // deregister in case its already there |
|
| 246 | + wp_register_style( 'font-awesome', $url, array(), $version ); |
|
| 247 | + wp_enqueue_style( 'font-awesome' ); |
|
| 248 | + |
|
| 249 | + // RTL language support CSS. |
|
| 250 | + if ( is_rtl() ) { |
|
| 251 | + wp_add_inline_style( 'font-awesome', $this->rtl_inline_css() ); |
|
| 252 | + } |
|
| 253 | + |
|
| 254 | + if ( $this->settings['shims'] ) { |
|
| 255 | + $url = $this->get_url( true ); |
|
| 256 | + wp_deregister_style( 'font-awesome-shims' ); // deregister in case its already there |
|
| 257 | + wp_register_style( 'font-awesome-shims', $url, array(), $version ); |
|
| 258 | + wp_enqueue_style( 'font-awesome-shims' ); |
|
| 259 | + } |
|
| 260 | + } |
|
| 261 | + |
|
| 262 | + /** |
|
| 263 | + * Adds the Font Awesome JS. |
|
| 264 | + */ |
|
| 265 | + public function enqueue_scripts() { |
|
| 266 | + // build url |
|
| 267 | + $url = $this->get_url(); |
|
| 268 | + |
|
| 269 | + $deregister_function = 'wp' . '_' . 'deregister' . '_' . 'script'; |
|
| 270 | + call_user_func( $deregister_function, 'font-awesome' ); // deregister in case its already there |
|
| 271 | + wp_register_script( 'font-awesome', $url, array(), null ); |
|
| 272 | + wp_enqueue_script( 'font-awesome' ); |
|
| 273 | + |
|
| 274 | + if ( $this->settings['shims'] ) { |
|
| 275 | + $url = $this->get_url( true ); |
|
| 276 | + call_user_func( $deregister_function, 'font-awesome-shims' ); // deregister in case its already there |
|
| 277 | + wp_register_script( 'font-awesome-shims', $url, array(), null ); |
|
| 278 | + wp_enqueue_script( 'font-awesome-shims' ); |
|
| 279 | + } |
|
| 280 | + } |
|
| 281 | + |
|
| 282 | + /** |
|
| 283 | + * Get the url of the Font Awesome files. |
|
| 284 | + * |
|
| 285 | + * @param bool $shims If this is a shim file or not. |
|
| 286 | + * @param bool $local Load locally if allowed. |
|
| 287 | + * |
|
| 288 | + * @return string The url to the file. |
|
| 289 | + */ |
|
| 290 | + public function get_url( $shims = false, $local = true ) { |
|
| 291 | + $script = $shims ? 'v4-shims' : 'all'; |
|
| 292 | + $sub = $this->settings['pro'] ? 'pro' : 'use'; |
|
| 293 | + $type = $this->settings['type']; |
|
| 294 | + $version = $this->settings['version']; |
|
| 295 | + $kit_url = $this->settings['kit-url'] ? esc_url( $this->settings['kit-url'] ) : ''; |
|
| 296 | + $url = ''; |
|
| 297 | + |
|
| 298 | + if ( $type == 'KIT' && $kit_url ) { |
|
| 299 | + if ( $shims ) { |
|
| 300 | + // if its a kit then we don't add shims here |
|
| 301 | + return ''; |
|
| 302 | + } |
|
| 303 | + $url .= $kit_url; // CDN |
|
| 304 | + $url .= "?wpfas=true"; // set our var so our version is not removed |
|
| 305 | + } else { |
|
| 306 | + $v = ''; |
|
| 307 | + // Check and load locally. |
|
| 308 | + if ( $local && $this->has_local() ) { |
|
| 309 | + $script .= ".min"; |
|
| 310 | + $v .= '&ver=' . strip_tags( $this->settings['local_version'] ); |
|
| 311 | + $url .= $this->get_fonts_url(); // Local fonts url. |
|
| 312 | + } else { |
|
| 313 | + $url .= "https://$sub.fontawesome.com/releases/"; // CDN |
|
| 314 | + $url .= ! empty( $version ) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version |
|
| 315 | + } |
|
| 316 | + $url .= $type == 'CSS' ? 'css/' : 'js/'; // type |
|
| 317 | + $url .= $type == 'CSS' ? $script . '.css' : $script . '.js'; // type |
|
| 318 | + $url .= "?wpfas=true" . $v; // set our var so our version is not removed |
|
| 319 | + } |
|
| 320 | + |
|
| 321 | + return $url; |
|
| 322 | + } |
|
| 323 | + |
|
| 324 | + /** |
|
| 325 | + * Try and remove any other versions of Font Awesome added by other plugins/themes. |
|
| 326 | + * |
|
| 327 | + * 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. |
|
| 328 | + * |
|
| 329 | + * @param $url |
|
| 330 | + * @param $original_url |
|
| 331 | + * @param $_context |
|
| 332 | + * |
|
| 333 | + * @return string The filtered url. |
|
| 334 | + */ |
|
| 335 | + public function remove_font_awesome( $url, $original_url, $_context ) { |
|
| 336 | + |
|
| 337 | + if ( $_context == 'display' |
|
| 338 | + && ( strstr( $url, "fontawesome" ) !== false || strstr( $url, "font-awesome" ) !== false ) |
|
| 339 | + && ( strstr( $url, ".js" ) !== false || strstr( $url, ".css" ) !== false ) |
|
| 340 | + ) {// it's a font-awesome-url (probably) |
|
| 341 | + |
|
| 342 | + if ( strstr( $url, "wpfas=true" ) !== false ) { |
|
| 343 | + if ( $this->settings['type'] == 'JS' ) { |
|
| 344 | + if ( $this->settings['js-pseudo'] ) { |
|
| 345 | + $url .= "' data-search-pseudo-elements defer='defer"; |
|
| 346 | + } else { |
|
| 347 | + $url .= "' defer='defer"; |
|
| 348 | + } |
|
| 349 | + } |
|
| 350 | + } else { |
|
| 351 | + $url = ''; // removing the url removes the file |
|
| 352 | + } |
|
| 353 | + |
|
| 354 | + } |
|
| 355 | + |
|
| 356 | + return $url; |
|
| 357 | + } |
|
| 358 | + |
|
| 359 | + /** |
|
| 360 | + * Register the database settings with WordPress. |
|
| 361 | + */ |
|
| 362 | + public function register_settings() { |
|
| 363 | + register_setting( 'wp-font-awesome-settings', 'wp-font-awesome-settings' ); |
|
| 364 | + } |
|
| 365 | + |
|
| 366 | + /** |
|
| 367 | + * Add the WordPress settings menu item. |
|
| 368 | + * @since 1.0.10 Calling function name direct will fail theme check so we don't. |
|
| 369 | + */ |
|
| 370 | + public function menu_item() { |
|
| 371 | + $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme |
|
| 372 | + call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array( |
|
| 373 | + $this, |
|
| 374 | + 'settings_page' |
|
| 375 | + ) ); |
|
| 376 | + } |
|
| 377 | + |
|
| 378 | + /** |
|
| 379 | + * Get the current Font Awesome output settings. |
|
| 380 | + * |
|
| 381 | + * @return array The array of settings. |
|
| 382 | + */ |
|
| 383 | + public function get_settings() { |
|
| 384 | + $db_settings = get_option( 'wp-font-awesome-settings' ); |
|
| 385 | + |
|
| 386 | + $defaults = array( |
|
| 387 | + 'type' => 'CSS', // type to use, CSS or JS or KIT |
|
| 388 | + 'version' => '', // latest |
|
| 389 | + 'enqueue' => '', // front and backend |
|
| 390 | + 'shims' => '0', // default OFF now in 2020 |
|
| 391 | + 'js-pseudo' => '0', // if the pseudo elements flag should be set (CPU intensive) |
|
| 392 | + 'dequeue' => '0', // if we should try to remove other versions added by other plugins/themes |
|
| 393 | + 'pro' => '0', // if pro CDN url should be used |
|
| 394 | + 'local' => '0', // Store fonts locally. |
|
| 395 | + 'local_version' => '', // Local fonts version. |
|
| 396 | + 'kit-url' => '', // the kit url |
|
| 397 | + ); |
|
| 398 | + |
|
| 399 | + $settings = wp_parse_args( $db_settings, $defaults ); |
|
| 400 | + |
|
| 401 | + /** |
|
| 402 | + * Filter the Font Awesome settings. |
|
| 403 | + * |
|
| 404 | + * @todo if we add this filer people might use it and then it defeates the purpose of this class :/ |
|
| 405 | + */ |
|
| 406 | + return $this->settings = apply_filters( 'wp-font-awesome-settings', $settings, $db_settings, $defaults ); |
|
| 407 | + } |
|
| 408 | + |
|
| 409 | + /** |
|
| 410 | + * The settings page html output. |
|
| 411 | + */ |
|
| 412 | + public function settings_page() { |
|
| 413 | + if ( ! current_user_can( 'manage_options' ) ) { |
|
| 414 | + wp_die( __( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) ); |
|
| 415 | + } |
|
| 416 | + |
|
| 417 | + // a hidden way to force the update of the version number via api instead of waiting the 48 hours |
|
| 418 | + if ( isset( $_REQUEST['force-version-check'] ) ) { |
|
| 419 | + $this->get_latest_version( $force_api = true ); |
|
| 420 | + } |
|
| 421 | + |
|
| 422 | + if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 423 | + ?> |
|
| 424 | 424 | <style> |
| 425 | 425 | .wpfas-kit-show { |
| 426 | 426 | display: none; |
@@ -446,16 +446,16 @@ discard block |
||
| 446 | 446 | <h1><?php echo $this->name; ?></h1> |
| 447 | 447 | <form method="post" action="options.php" class="fas-settings-form"> |
| 448 | 448 | <?php |
| 449 | - settings_fields( 'wp-font-awesome-settings' ); |
|
| 450 | - do_settings_sections( 'wp-font-awesome-settings' ); |
|
| 451 | - $table_class = ''; |
|
| 452 | - if ( $this->settings['type'] ) { |
|
| 453 | - $table_class .= 'wpfas-' . sanitize_html_class( strtolower( $this->settings['type'] ) ) . '-set'; |
|
| 454 | - } |
|
| 455 | - if ( ! empty( $this->settings['pro'] ) ) { |
|
| 456 | - $table_class .= ' wpfas-has-pro'; |
|
| 457 | - } |
|
| 458 | - ?> |
|
| 449 | + settings_fields( 'wp-font-awesome-settings' ); |
|
| 450 | + do_settings_sections( 'wp-font-awesome-settings' ); |
|
| 451 | + $table_class = ''; |
|
| 452 | + if ( $this->settings['type'] ) { |
|
| 453 | + $table_class .= 'wpfas-' . sanitize_html_class( strtolower( $this->settings['type'] ) ) . '-set'; |
|
| 454 | + } |
|
| 455 | + if ( ! empty( $this->settings['pro'] ) ) { |
|
| 456 | + $table_class .= ' wpfas-has-pro'; |
|
| 457 | + } |
|
| 458 | + ?> |
|
| 459 | 459 | <?php if ( $this->settings['type'] != 'KIT' && ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) ) { ?> |
| 460 | 460 | <?php if ( $this->has_local() ) { ?> |
| 461 | 461 | <div class="notice notice-info"><p><strong><?php _e( 'Font Awesome fonts are loading locally.', 'ayecode-connect' ); ?></strong></p></div> |
@@ -480,12 +480,12 @@ discard block |
||
| 480 | 480 | <td> |
| 481 | 481 | <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 :(?>"/> |
| 482 | 482 | <span><?php |
| 483 | - echo wp_sprintf( |
|
| 484 | - __( 'Requires a free account with Font Awesome. %sGet kit url%s', 'ayecode-connect' ), |
|
| 485 | - '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/kits"><i class="fas fa-external-link-alt"></i>', |
|
| 486 | - '</a>' |
|
| 487 | - ); |
|
| 488 | - ?></span> |
|
| 483 | + echo wp_sprintf( |
|
| 484 | + __( 'Requires a free account with Font Awesome. %sGet kit url%s', 'ayecode-connect' ), |
|
| 485 | + '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/kits"><i class="fas fa-external-link-alt"></i>', |
|
| 486 | + '</a>' |
|
| 487 | + ); |
|
| 488 | + ?></span> |
|
| 489 | 489 | </td> |
| 490 | 490 | </tr> |
| 491 | 491 | |
@@ -526,14 +526,14 @@ discard block |
||
| 526 | 526 | <input type="hidden" name="wp-font-awesome-settings[pro]" value="0"/> |
| 527 | 527 | <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')}"/> |
| 528 | 528 | <span><?php |
| 529 | - echo wp_sprintf( |
|
| 530 | - __( 'Requires a subscription. %sLearn more%s %sManage my allowed domains%s', 'ayecode-connect' ), |
|
| 531 | - '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/referral?a=c9b89e1418">', |
|
| 532 | - ' <i class="fas fa-external-link-alt"></i></a>', |
|
| 533 | - '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/account/cdn">', |
|
| 534 | - ' <i class="fas fa-external-link-alt"></i></a>' |
|
| 535 | - ); |
|
| 536 | - ?></span> |
|
| 529 | + echo wp_sprintf( |
|
| 530 | + __( 'Requires a subscription. %sLearn more%s %sManage my allowed domains%s', 'ayecode-connect' ), |
|
| 531 | + '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/referral?a=c9b89e1418">', |
|
| 532 | + ' <i class="fas fa-external-link-alt"></i></a>', |
|
| 533 | + '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/account/cdn">', |
|
| 534 | + ' <i class="fas fa-external-link-alt"></i></a>' |
|
| 535 | + ); |
|
| 536 | + ?></span> |
|
| 537 | 537 | </td> |
| 538 | 538 | </tr> |
| 539 | 539 | |
@@ -587,8 +587,8 @@ discard block |
||
| 587 | 587 | </table> |
| 588 | 588 | <div class="fas-buttons"> |
| 589 | 589 | <?php |
| 590 | - submit_button(); |
|
| 591 | - ?> |
|
| 590 | + submit_button(); |
|
| 591 | + ?> |
|
| 592 | 592 | <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','ayecode-connect'); ?> <i class="fas fa-external-link-alt"></i></a></p> |
| 593 | 593 | |
| 594 | 594 | </div> |
@@ -597,414 +597,414 @@ discard block |
||
| 597 | 597 | <div id="wpfas-version"><?php echo wp_sprintf(__( 'Version: %s (affiliate links provided)', 'ayecode-connect' ), $this->version ); ?></div> |
| 598 | 598 | </div> |
| 599 | 599 | <?php |
| 600 | - } |
|
| 601 | - } |
|
| 602 | - |
|
| 603 | - /** |
|
| 604 | - * Check a version number is valid and if so return it or else return an empty string. |
|
| 605 | - * |
|
| 606 | - * @param $version string The version number to check. |
|
| 607 | - * |
|
| 608 | - * @since 1.0.6 |
|
| 609 | - * |
|
| 610 | - * @return string Either a valid version number or an empty string. |
|
| 611 | - */ |
|
| 612 | - public function validate_version_number( $version ) { |
|
| 613 | - |
|
| 614 | - if ( version_compare( $version, '0.0.1', '>=' ) >= 0 ) { |
|
| 615 | - // valid |
|
| 616 | - } else { |
|
| 617 | - $version = '';// not validated |
|
| 618 | - } |
|
| 619 | - |
|
| 620 | - return $version; |
|
| 621 | - } |
|
| 622 | - |
|
| 623 | - |
|
| 624 | - /** |
|
| 625 | - * Get the latest version of Font Awesome. |
|
| 626 | - * |
|
| 627 | - * 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. |
|
| 628 | - * |
|
| 629 | - * @since 1.0.7 |
|
| 630 | - * @return mixed|string The latest version number found. |
|
| 631 | - */ |
|
| 632 | - public function get_latest_version( $force_api = false ) { |
|
| 633 | - $latest_version = $this->latest; |
|
| 634 | - |
|
| 635 | - $cache = get_transient( 'wp-font-awesome-settings-version' ); |
|
| 636 | - |
|
| 637 | - if ( $cache === false || $force_api ) { // its not set |
|
| 638 | - $api_ver = $this->get_latest_version_from_api(); |
|
| 639 | - if ( version_compare( $api_ver, $this->latest, '>=' ) >= 0 ) { |
|
| 640 | - $latest_version = $api_ver; |
|
| 641 | - set_transient( 'wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS ); |
|
| 642 | - } |
|
| 643 | - } elseif ( $this->validate_version_number( $cache ) ) { |
|
| 644 | - if ( version_compare( $cache, $this->latest, '>=' ) >= 0 ) { |
|
| 645 | - $latest_version = $cache; |
|
| 646 | - } |
|
| 647 | - } |
|
| 648 | - |
|
| 649 | - // Check and auto download fonts locally. |
|
| 650 | - 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 ) ) { |
|
| 651 | - if ( version_compare( $latest_version, $this->settings['local_version'], '>' ) && is_admin() && ! wp_doing_ajax() ) { |
|
| 652 | - $this->download_package( $latest_version ); |
|
| 653 | - } |
|
| 654 | - } |
|
| 655 | - |
|
| 656 | - return $latest_version; |
|
| 657 | - } |
|
| 658 | - |
|
| 659 | - /** |
|
| 660 | - * Get the latest Font Awesome version from the github API. |
|
| 661 | - * |
|
| 662 | - * @since 1.0.7 |
|
| 663 | - * @return string The latest version number or `0` on API fail. |
|
| 664 | - */ |
|
| 665 | - public function get_latest_version_from_api() { |
|
| 666 | - $version = "0"; |
|
| 667 | - $response = wp_remote_get( "https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest" ); |
|
| 668 | - if ( ! is_wp_error( $response ) && is_array( $response ) ) { |
|
| 669 | - $api_response = json_decode( wp_remote_retrieve_body( $response ), true ); |
|
| 670 | - if ( isset( $api_response['tag_name'] ) && version_compare( $api_response['tag_name'], $this->latest, '>=' ) >= 0 && empty( $api_response['prerelease'] ) ) { |
|
| 671 | - $version = $api_response['tag_name']; |
|
| 672 | - } |
|
| 673 | - } |
|
| 674 | - |
|
| 675 | - return $version; |
|
| 676 | - } |
|
| 677 | - |
|
| 678 | - /** |
|
| 679 | - * Inline CSS for RTL language support. |
|
| 680 | - * |
|
| 681 | - * @since 1.0.13 |
|
| 682 | - * @return string Inline CSS. |
|
| 683 | - */ |
|
| 684 | - public function rtl_inline_css() { |
|
| 685 | - $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}'; |
|
| 686 | - |
|
| 687 | - return $inline_css; |
|
| 688 | - } |
|
| 689 | - |
|
| 690 | - /** |
|
| 691 | - * Show any warnings as an admin notice. |
|
| 692 | - * |
|
| 693 | - * @return void |
|
| 694 | - */ |
|
| 695 | - public function admin_notices() { |
|
| 696 | - $settings = $this->settings; |
|
| 697 | - |
|
| 698 | - if ( defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 699 | - if ( ! empty( $_REQUEST['page'] ) && $_REQUEST['page'] == 'wp-font-awesome-settings' ) { |
|
| 700 | - ?> |
|
| 600 | + } |
|
| 601 | + } |
|
| 602 | + |
|
| 603 | + /** |
|
| 604 | + * Check a version number is valid and if so return it or else return an empty string. |
|
| 605 | + * |
|
| 606 | + * @param $version string The version number to check. |
|
| 607 | + * |
|
| 608 | + * @since 1.0.6 |
|
| 609 | + * |
|
| 610 | + * @return string Either a valid version number or an empty string. |
|
| 611 | + */ |
|
| 612 | + public function validate_version_number( $version ) { |
|
| 613 | + |
|
| 614 | + if ( version_compare( $version, '0.0.1', '>=' ) >= 0 ) { |
|
| 615 | + // valid |
|
| 616 | + } else { |
|
| 617 | + $version = '';// not validated |
|
| 618 | + } |
|
| 619 | + |
|
| 620 | + return $version; |
|
| 621 | + } |
|
| 622 | + |
|
| 623 | + |
|
| 624 | + /** |
|
| 625 | + * Get the latest version of Font Awesome. |
|
| 626 | + * |
|
| 627 | + * 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. |
|
| 628 | + * |
|
| 629 | + * @since 1.0.7 |
|
| 630 | + * @return mixed|string The latest version number found. |
|
| 631 | + */ |
|
| 632 | + public function get_latest_version( $force_api = false ) { |
|
| 633 | + $latest_version = $this->latest; |
|
| 634 | + |
|
| 635 | + $cache = get_transient( 'wp-font-awesome-settings-version' ); |
|
| 636 | + |
|
| 637 | + if ( $cache === false || $force_api ) { // its not set |
|
| 638 | + $api_ver = $this->get_latest_version_from_api(); |
|
| 639 | + if ( version_compare( $api_ver, $this->latest, '>=' ) >= 0 ) { |
|
| 640 | + $latest_version = $api_ver; |
|
| 641 | + set_transient( 'wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS ); |
|
| 642 | + } |
|
| 643 | + } elseif ( $this->validate_version_number( $cache ) ) { |
|
| 644 | + if ( version_compare( $cache, $this->latest, '>=' ) >= 0 ) { |
|
| 645 | + $latest_version = $cache; |
|
| 646 | + } |
|
| 647 | + } |
|
| 648 | + |
|
| 649 | + // Check and auto download fonts locally. |
|
| 650 | + 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 ) ) { |
|
| 651 | + if ( version_compare( $latest_version, $this->settings['local_version'], '>' ) && is_admin() && ! wp_doing_ajax() ) { |
|
| 652 | + $this->download_package( $latest_version ); |
|
| 653 | + } |
|
| 654 | + } |
|
| 655 | + |
|
| 656 | + return $latest_version; |
|
| 657 | + } |
|
| 658 | + |
|
| 659 | + /** |
|
| 660 | + * Get the latest Font Awesome version from the github API. |
|
| 661 | + * |
|
| 662 | + * @since 1.0.7 |
|
| 663 | + * @return string The latest version number or `0` on API fail. |
|
| 664 | + */ |
|
| 665 | + public function get_latest_version_from_api() { |
|
| 666 | + $version = "0"; |
|
| 667 | + $response = wp_remote_get( "https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest" ); |
|
| 668 | + if ( ! is_wp_error( $response ) && is_array( $response ) ) { |
|
| 669 | + $api_response = json_decode( wp_remote_retrieve_body( $response ), true ); |
|
| 670 | + if ( isset( $api_response['tag_name'] ) && version_compare( $api_response['tag_name'], $this->latest, '>=' ) >= 0 && empty( $api_response['prerelease'] ) ) { |
|
| 671 | + $version = $api_response['tag_name']; |
|
| 672 | + } |
|
| 673 | + } |
|
| 674 | + |
|
| 675 | + return $version; |
|
| 676 | + } |
|
| 677 | + |
|
| 678 | + /** |
|
| 679 | + * Inline CSS for RTL language support. |
|
| 680 | + * |
|
| 681 | + * @since 1.0.13 |
|
| 682 | + * @return string Inline CSS. |
|
| 683 | + */ |
|
| 684 | + public function rtl_inline_css() { |
|
| 685 | + $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}'; |
|
| 686 | + |
|
| 687 | + return $inline_css; |
|
| 688 | + } |
|
| 689 | + |
|
| 690 | + /** |
|
| 691 | + * Show any warnings as an admin notice. |
|
| 692 | + * |
|
| 693 | + * @return void |
|
| 694 | + */ |
|
| 695 | + public function admin_notices() { |
|
| 696 | + $settings = $this->settings; |
|
| 697 | + |
|
| 698 | + if ( defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 699 | + if ( ! empty( $_REQUEST['page'] ) && $_REQUEST['page'] == 'wp-font-awesome-settings' ) { |
|
| 700 | + ?> |
|
| 701 | 701 | <div class="notice notice-error is-dismissible"> |
| 702 | 702 | <p><?php _e( 'The Official Font Awesome Plugin is active, please adjust your settings there.', 'ayecode-connect' ); ?></p> |
| 703 | 703 | </div> |
| 704 | 704 | <?php |
| 705 | - } |
|
| 706 | - } else { |
|
| 707 | - if ( ! empty( $settings ) ) { |
|
| 708 | - if ( $settings['type'] != 'KIT' && $settings['pro'] && ( $settings['version'] == '' || version_compare( $settings['version'], '6', '>=' ) ) ) { |
|
| 709 | - $link = admin_url('options-general.php?page=wp-font-awesome-settings'); |
|
| 710 | - ?> |
|
| 705 | + } |
|
| 706 | + } else { |
|
| 707 | + if ( ! empty( $settings ) ) { |
|
| 708 | + if ( $settings['type'] != 'KIT' && $settings['pro'] && ( $settings['version'] == '' || version_compare( $settings['version'], '6', '>=' ) ) ) { |
|
| 709 | + $link = admin_url('options-general.php?page=wp-font-awesome-settings'); |
|
| 710 | + ?> |
|
| 711 | 711 | <div class="notice notice-error is-dismissible"> |
| 712 | 712 | <p><?php echo wp_sprintf( __( 'Font Awesome Pro v6 requires the use of a kit, please setup your kit in %ssettings.%s', 'ayecode-connect' ),"<a href='". esc_url_raw( $link )."'>","</a>" ); ?></p> |
| 713 | 713 | </div> |
| 714 | 714 | <?php |
| 715 | - } |
|
| 716 | - } |
|
| 717 | - } |
|
| 718 | - } |
|
| 719 | - |
|
| 720 | - /** |
|
| 721 | - * Handle fontawesome add settings to download fontawesome to store locally. |
|
| 722 | - * |
|
| 723 | - * @since 1.1.1 |
|
| 724 | - * |
|
| 725 | - * @param string $option The option name. |
|
| 726 | - * @param mixed $value The option value. |
|
| 727 | - */ |
|
| 728 | - public function add_option_wp_font_awesome_settings( $option, $value ) { |
|
| 729 | - // Do nothing if WordPress is being installed. |
|
| 730 | - if ( wp_installing() ) { |
|
| 731 | - return; |
|
| 732 | - } |
|
| 733 | - |
|
| 734 | - if ( ! empty( $value['local'] ) && empty( $value['pro'] ) && ! ( ! empty( $value['type'] ) && $value['type'] == 'KIT' ) ) { |
|
| 735 | - $version = isset( $value['version'] ) && $value['version'] ? $value['version'] : $this->get_latest_version(); |
|
| 736 | - |
|
| 737 | - if ( ! empty( $version ) ) { |
|
| 738 | - $response = $this->download_package( $version, $value ); |
|
| 739 | - |
|
| 740 | - if ( is_wp_error( $response ) ) { |
|
| 741 | - add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'ayecode-connect' ) . ' ' . $response->get_error_message(), 'error' ); |
|
| 742 | - } |
|
| 743 | - } |
|
| 744 | - } |
|
| 745 | - } |
|
| 746 | - |
|
| 747 | - /** |
|
| 748 | - * Handle fontawesome update settings to download fontawesome to store locally. |
|
| 749 | - * |
|
| 750 | - * @since 1.1.0 |
|
| 751 | - * |
|
| 752 | - * @param mixed $old_value The old option value. |
|
| 753 | - * @param mixed $value The new option value. |
|
| 754 | - */ |
|
| 755 | - public function update_option_wp_font_awesome_settings( $old_value, $new_value ) { |
|
| 756 | - // Do nothing if WordPress is being installed. |
|
| 757 | - if ( wp_installing() ) { |
|
| 758 | - return; |
|
| 759 | - } |
|
| 760 | - |
|
| 761 | - if ( ! empty( $new_value['local'] ) && empty( $new_value['pro'] ) && ! ( ! empty( $new_value['type'] ) && $new_value['type'] == 'KIT' ) ) { |
|
| 762 | - // Old values |
|
| 763 | - $old_version = isset( $old_value['version'] ) && $old_value['version'] ? $old_value['version'] : ( isset( $old_value['local_version'] ) ? $old_value['local_version'] : '' ); |
|
| 764 | - $old_local = isset( $old_value['local'] ) ? (int) $old_value['local'] : 0; |
|
| 765 | - |
|
| 766 | - // New values |
|
| 767 | - $new_version = isset( $new_value['version'] ) && $new_value['version'] ? $new_value['version'] : $this->get_latest_version(); |
|
| 768 | - |
|
| 769 | - if ( empty( $old_local ) || $old_version !== $new_version || ! file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) { |
|
| 770 | - $response = $this->download_package( $new_version, $new_value ); |
|
| 771 | - |
|
| 772 | - if ( is_wp_error( $response ) ) { |
|
| 773 | - add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'ayecode-connect' ) . ' ' . $response->get_error_message(), 'error' ); |
|
| 774 | - } |
|
| 775 | - } |
|
| 776 | - } |
|
| 777 | - } |
|
| 778 | - |
|
| 779 | - /** |
|
| 780 | - * Get the fonts directory local path. |
|
| 781 | - * |
|
| 782 | - * @since 1.1.0 |
|
| 783 | - * |
|
| 784 | - * @param string Fonts directory local path. |
|
| 785 | - */ |
|
| 786 | - public function get_fonts_dir() { |
|
| 787 | - $upload_dir = wp_upload_dir( null, false ); |
|
| 788 | - |
|
| 789 | - return $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'ayefonts' . DIRECTORY_SEPARATOR . 'fa' . DIRECTORY_SEPARATOR; |
|
| 790 | - } |
|
| 791 | - |
|
| 792 | - /** |
|
| 793 | - * Get the fonts directory local url. |
|
| 794 | - * |
|
| 795 | - * @since 1.1.0 |
|
| 796 | - * |
|
| 797 | - * @param string Fonts directory local url. |
|
| 798 | - */ |
|
| 799 | - public function get_fonts_url() { |
|
| 800 | - $upload_dir = wp_upload_dir( null, false ); |
|
| 801 | - |
|
| 802 | - return $upload_dir['baseurl'] . '/ayefonts/fa/'; |
|
| 803 | - } |
|
| 804 | - |
|
| 805 | - /** |
|
| 806 | - * Check whether load locally active. |
|
| 807 | - * |
|
| 808 | - * @since 1.1.0 |
|
| 809 | - * |
|
| 810 | - * @return bool True if active else false. |
|
| 811 | - */ |
|
| 812 | - public function has_local() { |
|
| 813 | - if ( ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) && file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) { |
|
| 814 | - return true; |
|
| 815 | - } |
|
| 816 | - |
|
| 817 | - return false; |
|
| 818 | - } |
|
| 819 | - |
|
| 820 | - /** |
|
| 821 | - * Get the WP Filesystem access. |
|
| 822 | - * |
|
| 823 | - * @since 1.1.0 |
|
| 824 | - * |
|
| 825 | - * @return object The WP Filesystem. |
|
| 826 | - */ |
|
| 827 | - public function get_wp_filesystem() { |
|
| 828 | - if ( ! function_exists( 'get_filesystem_method' ) ) { |
|
| 829 | - require_once( ABSPATH . "/wp-admin/includes/file.php" ); |
|
| 830 | - } |
|
| 831 | - |
|
| 832 | - $access_type = get_filesystem_method(); |
|
| 833 | - |
|
| 834 | - if ( $access_type === 'direct' ) { |
|
| 835 | - /* You can safely run request_filesystem_credentials() without any issues and don't need to worry about passing in a URL */ |
|
| 836 | - $creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() ); |
|
| 837 | - |
|
| 838 | - /* Initialize the API */ |
|
| 839 | - if ( ! WP_Filesystem( $creds ) ) { |
|
| 840 | - /* Any problems and we exit */ |
|
| 841 | - return false; |
|
| 842 | - } |
|
| 843 | - |
|
| 844 | - global $wp_filesystem; |
|
| 845 | - |
|
| 846 | - return $wp_filesystem; |
|
| 847 | - /* Do our file manipulations below */ |
|
| 848 | - } else if ( defined( 'FTP_USER' ) ) { |
|
| 849 | - $creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() ); |
|
| 850 | - |
|
| 851 | - /* Initialize the API */ |
|
| 852 | - if ( ! WP_Filesystem( $creds ) ) { |
|
| 853 | - /* Any problems and we exit */ |
|
| 854 | - return false; |
|
| 855 | - } |
|
| 856 | - |
|
| 857 | - global $wp_filesystem; |
|
| 858 | - |
|
| 859 | - return $wp_filesystem; |
|
| 860 | - } else { |
|
| 861 | - /* Don't have direct write access. Prompt user with our notice */ |
|
| 862 | - return false; |
|
| 863 | - } |
|
| 864 | - } |
|
| 865 | - |
|
| 866 | - /** |
|
| 867 | - * Download the fontawesome package file. |
|
| 868 | - * |
|
| 869 | - * @since 1.1.0 |
|
| 870 | - * |
|
| 871 | - * @param mixed $version The font awesome. |
|
| 872 | - * @param array $option Fontawesome settings. |
|
| 873 | - * @return WP_ERROR|bool Error on fail and true on success. |
|
| 874 | - */ |
|
| 875 | - public function download_package( $version, $option = array() ) { |
|
| 876 | - $filename = 'fontawesome-free-' . $version . '-web'; |
|
| 877 | - $url = 'https://use.fontawesome.com/releases/v' . $version . '/' . $filename . '.zip'; |
|
| 878 | - |
|
| 879 | - if ( ! function_exists( 'wp_handle_upload' ) ) { |
|
| 880 | - require_once ABSPATH . 'wp-admin/includes/file.php'; |
|
| 881 | - } |
|
| 882 | - |
|
| 883 | - $download_file = download_url( esc_url_raw( $url ) ); |
|
| 884 | - |
|
| 885 | - if ( is_wp_error( $download_file ) ) { |
|
| 886 | - return new WP_Error( 'fontawesome_download_failed', __( $download_file->get_error_message(), 'ayecode-connect' ) ); |
|
| 887 | - } else if ( empty( $download_file ) ) { |
|
| 888 | - return new WP_Error( 'fontawesome_download_failed', __( 'Something went wrong in downloading the font awesome to store locally.', 'ayecode-connect' ) ); |
|
| 889 | - } |
|
| 890 | - |
|
| 891 | - $response = $this->extract_package( $download_file, $filename, true ); |
|
| 892 | - |
|
| 893 | - // Update local version. |
|
| 894 | - if ( is_wp_error( $response ) ) { |
|
| 895 | - return $response; |
|
| 896 | - } else if ( $response ) { |
|
| 897 | - if ( empty( $option ) ) { |
|
| 898 | - $option = get_option( 'wp-font-awesome-settings' ); |
|
| 899 | - } |
|
| 900 | - |
|
| 901 | - $option['local_version'] = $version; |
|
| 902 | - |
|
| 903 | - // Remove action to prevent looping. |
|
| 904 | - remove_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 905 | - |
|
| 906 | - update_option( 'wp-font-awesome-settings', $option ); |
|
| 907 | - |
|
| 908 | - return true; |
|
| 909 | - } |
|
| 910 | - |
|
| 911 | - return false; |
|
| 912 | - } |
|
| 913 | - |
|
| 914 | - /** |
|
| 915 | - * Extract the fontawesome package file. |
|
| 916 | - * |
|
| 917 | - * @since 1.1.0 |
|
| 918 | - * |
|
| 919 | - * @param string $package The package file path. |
|
| 920 | - * @param string $dirname Package file name. |
|
| 921 | - * @param bool $delete_package Delete temp file or not. |
|
| 922 | - * @return WP_Error|bool True on success WP_Error on fail. |
|
| 923 | - */ |
|
| 924 | - public function extract_package( $package, $dirname = '', $delete_package = false ) { |
|
| 925 | - global $wp_filesystem; |
|
| 926 | - |
|
| 927 | - $wp_filesystem = $this->get_wp_filesystem(); |
|
| 928 | - |
|
| 929 | - if ( empty( $wp_filesystem ) && isset( $wp_filesystem->errors ) && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() ) { |
|
| 930 | - return new WP_Error( 'fontawesome_filesystem_error', __( $wp_filesystem->errors->get_error_message(), 'ayecode-connect' ) ); |
|
| 931 | - } else if ( empty( $wp_filesystem ) ) { |
|
| 932 | - return new WP_Error( 'fontawesome_filesystem_error', __( 'Failed to initialise WP_Filesystem while trying to download the Font Awesome package.', 'ayecode-connect' ) ); |
|
| 933 | - } |
|
| 934 | - |
|
| 935 | - $fonts_dir = $this->get_fonts_dir(); |
|
| 936 | - $fonts_tmp_dir = dirname( $fonts_dir ) . DIRECTORY_SEPARATOR . 'fa-tmp' . DIRECTORY_SEPARATOR; |
|
| 937 | - |
|
| 938 | - if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) { |
|
| 939 | - $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 940 | - } |
|
| 941 | - |
|
| 942 | - // Unzip package to working directory. |
|
| 943 | - $result = unzip_file( $package, $fonts_tmp_dir ); |
|
| 944 | - |
|
| 945 | - if ( is_wp_error( $result ) ) { |
|
| 946 | - $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 947 | - |
|
| 948 | - if ( 'incompatible_archive' === $result->get_error_code() ) { |
|
| 949 | - return new WP_Error( 'fontawesome_incompatible_archive', __( $result->get_error_message(), 'ayecode-connect' ) ); |
|
| 950 | - } |
|
| 951 | - |
|
| 952 | - return $result; |
|
| 953 | - } |
|
| 954 | - |
|
| 955 | - if ( $wp_filesystem->is_dir( $fonts_dir ) ) { |
|
| 956 | - $wp_filesystem->delete( $fonts_dir, true ); |
|
| 957 | - } |
|
| 958 | - |
|
| 959 | - $extract_dir = $fonts_tmp_dir; |
|
| 960 | - |
|
| 961 | - if ( $dirname && $wp_filesystem->is_dir( $extract_dir . $dirname . DIRECTORY_SEPARATOR ) ) { |
|
| 962 | - $extract_dir .= $dirname . DIRECTORY_SEPARATOR; |
|
| 963 | - } |
|
| 964 | - |
|
| 965 | - try { |
|
| 966 | - $return = $wp_filesystem->move( $extract_dir, $fonts_dir, true ); |
|
| 967 | - } catch ( Exception $e ) { |
|
| 968 | - $return = new WP_Error( 'fontawesome_move_package', __( 'Fail to move font awesome package!', 'ayecode-connect' ) ); |
|
| 969 | - } |
|
| 970 | - |
|
| 971 | - if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) { |
|
| 972 | - $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 973 | - } |
|
| 974 | - |
|
| 975 | - // Once extracted, delete the package if required. |
|
| 976 | - if ( $delete_package ) { |
|
| 977 | - unlink( $package ); |
|
| 978 | - } |
|
| 979 | - |
|
| 980 | - return $return; |
|
| 981 | - } |
|
| 982 | - |
|
| 983 | - /** |
|
| 984 | - * Output the version in the header. |
|
| 985 | - */ |
|
| 986 | - public function add_generator() { |
|
| 987 | - $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 988 | - $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 989 | - |
|
| 990 | - // Find source plugin/theme. |
|
| 991 | - $source = array(); |
|
| 992 | - if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 993 | - $source = explode( "/", plugin_basename( $file ) ); |
|
| 994 | - } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 995 | - $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 996 | - |
|
| 997 | - if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 998 | - $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 999 | - } |
|
| 1000 | - } |
|
| 1001 | - |
|
| 1002 | - echo '<meta name="generator" content="WP Font Awesome Settings v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-ac-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />'; |
|
| 1003 | - } |
|
| 1004 | - } |
|
| 1005 | - |
|
| 1006 | - /** |
|
| 1007 | - * Run the class if found. |
|
| 1008 | - */ |
|
| 1009 | - WP_Font_Awesome_Settings::instance(); |
|
| 715 | + } |
|
| 716 | + } |
|
| 717 | + } |
|
| 718 | + } |
|
| 719 | + |
|
| 720 | + /** |
|
| 721 | + * Handle fontawesome add settings to download fontawesome to store locally. |
|
| 722 | + * |
|
| 723 | + * @since 1.1.1 |
|
| 724 | + * |
|
| 725 | + * @param string $option The option name. |
|
| 726 | + * @param mixed $value The option value. |
|
| 727 | + */ |
|
| 728 | + public function add_option_wp_font_awesome_settings( $option, $value ) { |
|
| 729 | + // Do nothing if WordPress is being installed. |
|
| 730 | + if ( wp_installing() ) { |
|
| 731 | + return; |
|
| 732 | + } |
|
| 733 | + |
|
| 734 | + if ( ! empty( $value['local'] ) && empty( $value['pro'] ) && ! ( ! empty( $value['type'] ) && $value['type'] == 'KIT' ) ) { |
|
| 735 | + $version = isset( $value['version'] ) && $value['version'] ? $value['version'] : $this->get_latest_version(); |
|
| 736 | + |
|
| 737 | + if ( ! empty( $version ) ) { |
|
| 738 | + $response = $this->download_package( $version, $value ); |
|
| 739 | + |
|
| 740 | + if ( is_wp_error( $response ) ) { |
|
| 741 | + add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'ayecode-connect' ) . ' ' . $response->get_error_message(), 'error' ); |
|
| 742 | + } |
|
| 743 | + } |
|
| 744 | + } |
|
| 745 | + } |
|
| 746 | + |
|
| 747 | + /** |
|
| 748 | + * Handle fontawesome update settings to download fontawesome to store locally. |
|
| 749 | + * |
|
| 750 | + * @since 1.1.0 |
|
| 751 | + * |
|
| 752 | + * @param mixed $old_value The old option value. |
|
| 753 | + * @param mixed $value The new option value. |
|
| 754 | + */ |
|
| 755 | + public function update_option_wp_font_awesome_settings( $old_value, $new_value ) { |
|
| 756 | + // Do nothing if WordPress is being installed. |
|
| 757 | + if ( wp_installing() ) { |
|
| 758 | + return; |
|
| 759 | + } |
|
| 760 | + |
|
| 761 | + if ( ! empty( $new_value['local'] ) && empty( $new_value['pro'] ) && ! ( ! empty( $new_value['type'] ) && $new_value['type'] == 'KIT' ) ) { |
|
| 762 | + // Old values |
|
| 763 | + $old_version = isset( $old_value['version'] ) && $old_value['version'] ? $old_value['version'] : ( isset( $old_value['local_version'] ) ? $old_value['local_version'] : '' ); |
|
| 764 | + $old_local = isset( $old_value['local'] ) ? (int) $old_value['local'] : 0; |
|
| 765 | + |
|
| 766 | + // New values |
|
| 767 | + $new_version = isset( $new_value['version'] ) && $new_value['version'] ? $new_value['version'] : $this->get_latest_version(); |
|
| 768 | + |
|
| 769 | + if ( empty( $old_local ) || $old_version !== $new_version || ! file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) { |
|
| 770 | + $response = $this->download_package( $new_version, $new_value ); |
|
| 771 | + |
|
| 772 | + if ( is_wp_error( $response ) ) { |
|
| 773 | + add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'ayecode-connect' ) . ' ' . $response->get_error_message(), 'error' ); |
|
| 774 | + } |
|
| 775 | + } |
|
| 776 | + } |
|
| 777 | + } |
|
| 778 | + |
|
| 779 | + /** |
|
| 780 | + * Get the fonts directory local path. |
|
| 781 | + * |
|
| 782 | + * @since 1.1.0 |
|
| 783 | + * |
|
| 784 | + * @param string Fonts directory local path. |
|
| 785 | + */ |
|
| 786 | + public function get_fonts_dir() { |
|
| 787 | + $upload_dir = wp_upload_dir( null, false ); |
|
| 788 | + |
|
| 789 | + return $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'ayefonts' . DIRECTORY_SEPARATOR . 'fa' . DIRECTORY_SEPARATOR; |
|
| 790 | + } |
|
| 791 | + |
|
| 792 | + /** |
|
| 793 | + * Get the fonts directory local url. |
|
| 794 | + * |
|
| 795 | + * @since 1.1.0 |
|
| 796 | + * |
|
| 797 | + * @param string Fonts directory local url. |
|
| 798 | + */ |
|
| 799 | + public function get_fonts_url() { |
|
| 800 | + $upload_dir = wp_upload_dir( null, false ); |
|
| 801 | + |
|
| 802 | + return $upload_dir['baseurl'] . '/ayefonts/fa/'; |
|
| 803 | + } |
|
| 804 | + |
|
| 805 | + /** |
|
| 806 | + * Check whether load locally active. |
|
| 807 | + * |
|
| 808 | + * @since 1.1.0 |
|
| 809 | + * |
|
| 810 | + * @return bool True if active else false. |
|
| 811 | + */ |
|
| 812 | + public function has_local() { |
|
| 813 | + if ( ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) && file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) { |
|
| 814 | + return true; |
|
| 815 | + } |
|
| 816 | + |
|
| 817 | + return false; |
|
| 818 | + } |
|
| 819 | + |
|
| 820 | + /** |
|
| 821 | + * Get the WP Filesystem access. |
|
| 822 | + * |
|
| 823 | + * @since 1.1.0 |
|
| 824 | + * |
|
| 825 | + * @return object The WP Filesystem. |
|
| 826 | + */ |
|
| 827 | + public function get_wp_filesystem() { |
|
| 828 | + if ( ! function_exists( 'get_filesystem_method' ) ) { |
|
| 829 | + require_once( ABSPATH . "/wp-admin/includes/file.php" ); |
|
| 830 | + } |
|
| 831 | + |
|
| 832 | + $access_type = get_filesystem_method(); |
|
| 833 | + |
|
| 834 | + if ( $access_type === 'direct' ) { |
|
| 835 | + /* You can safely run request_filesystem_credentials() without any issues and don't need to worry about passing in a URL */ |
|
| 836 | + $creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() ); |
|
| 837 | + |
|
| 838 | + /* Initialize the API */ |
|
| 839 | + if ( ! WP_Filesystem( $creds ) ) { |
|
| 840 | + /* Any problems and we exit */ |
|
| 841 | + return false; |
|
| 842 | + } |
|
| 843 | + |
|
| 844 | + global $wp_filesystem; |
|
| 845 | + |
|
| 846 | + return $wp_filesystem; |
|
| 847 | + /* Do our file manipulations below */ |
|
| 848 | + } else if ( defined( 'FTP_USER' ) ) { |
|
| 849 | + $creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() ); |
|
| 850 | + |
|
| 851 | + /* Initialize the API */ |
|
| 852 | + if ( ! WP_Filesystem( $creds ) ) { |
|
| 853 | + /* Any problems and we exit */ |
|
| 854 | + return false; |
|
| 855 | + } |
|
| 856 | + |
|
| 857 | + global $wp_filesystem; |
|
| 858 | + |
|
| 859 | + return $wp_filesystem; |
|
| 860 | + } else { |
|
| 861 | + /* Don't have direct write access. Prompt user with our notice */ |
|
| 862 | + return false; |
|
| 863 | + } |
|
| 864 | + } |
|
| 865 | + |
|
| 866 | + /** |
|
| 867 | + * Download the fontawesome package file. |
|
| 868 | + * |
|
| 869 | + * @since 1.1.0 |
|
| 870 | + * |
|
| 871 | + * @param mixed $version The font awesome. |
|
| 872 | + * @param array $option Fontawesome settings. |
|
| 873 | + * @return WP_ERROR|bool Error on fail and true on success. |
|
| 874 | + */ |
|
| 875 | + public function download_package( $version, $option = array() ) { |
|
| 876 | + $filename = 'fontawesome-free-' . $version . '-web'; |
|
| 877 | + $url = 'https://use.fontawesome.com/releases/v' . $version . '/' . $filename . '.zip'; |
|
| 878 | + |
|
| 879 | + if ( ! function_exists( 'wp_handle_upload' ) ) { |
|
| 880 | + require_once ABSPATH . 'wp-admin/includes/file.php'; |
|
| 881 | + } |
|
| 882 | + |
|
| 883 | + $download_file = download_url( esc_url_raw( $url ) ); |
|
| 884 | + |
|
| 885 | + if ( is_wp_error( $download_file ) ) { |
|
| 886 | + return new WP_Error( 'fontawesome_download_failed', __( $download_file->get_error_message(), 'ayecode-connect' ) ); |
|
| 887 | + } else if ( empty( $download_file ) ) { |
|
| 888 | + return new WP_Error( 'fontawesome_download_failed', __( 'Something went wrong in downloading the font awesome to store locally.', 'ayecode-connect' ) ); |
|
| 889 | + } |
|
| 890 | + |
|
| 891 | + $response = $this->extract_package( $download_file, $filename, true ); |
|
| 892 | + |
|
| 893 | + // Update local version. |
|
| 894 | + if ( is_wp_error( $response ) ) { |
|
| 895 | + return $response; |
|
| 896 | + } else if ( $response ) { |
|
| 897 | + if ( empty( $option ) ) { |
|
| 898 | + $option = get_option( 'wp-font-awesome-settings' ); |
|
| 899 | + } |
|
| 900 | + |
|
| 901 | + $option['local_version'] = $version; |
|
| 902 | + |
|
| 903 | + // Remove action to prevent looping. |
|
| 904 | + remove_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 905 | + |
|
| 906 | + update_option( 'wp-font-awesome-settings', $option ); |
|
| 907 | + |
|
| 908 | + return true; |
|
| 909 | + } |
|
| 910 | + |
|
| 911 | + return false; |
|
| 912 | + } |
|
| 913 | + |
|
| 914 | + /** |
|
| 915 | + * Extract the fontawesome package file. |
|
| 916 | + * |
|
| 917 | + * @since 1.1.0 |
|
| 918 | + * |
|
| 919 | + * @param string $package The package file path. |
|
| 920 | + * @param string $dirname Package file name. |
|
| 921 | + * @param bool $delete_package Delete temp file or not. |
|
| 922 | + * @return WP_Error|bool True on success WP_Error on fail. |
|
| 923 | + */ |
|
| 924 | + public function extract_package( $package, $dirname = '', $delete_package = false ) { |
|
| 925 | + global $wp_filesystem; |
|
| 926 | + |
|
| 927 | + $wp_filesystem = $this->get_wp_filesystem(); |
|
| 928 | + |
|
| 929 | + if ( empty( $wp_filesystem ) && isset( $wp_filesystem->errors ) && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() ) { |
|
| 930 | + return new WP_Error( 'fontawesome_filesystem_error', __( $wp_filesystem->errors->get_error_message(), 'ayecode-connect' ) ); |
|
| 931 | + } else if ( empty( $wp_filesystem ) ) { |
|
| 932 | + return new WP_Error( 'fontawesome_filesystem_error', __( 'Failed to initialise WP_Filesystem while trying to download the Font Awesome package.', 'ayecode-connect' ) ); |
|
| 933 | + } |
|
| 934 | + |
|
| 935 | + $fonts_dir = $this->get_fonts_dir(); |
|
| 936 | + $fonts_tmp_dir = dirname( $fonts_dir ) . DIRECTORY_SEPARATOR . 'fa-tmp' . DIRECTORY_SEPARATOR; |
|
| 937 | + |
|
| 938 | + if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) { |
|
| 939 | + $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 940 | + } |
|
| 941 | + |
|
| 942 | + // Unzip package to working directory. |
|
| 943 | + $result = unzip_file( $package, $fonts_tmp_dir ); |
|
| 944 | + |
|
| 945 | + if ( is_wp_error( $result ) ) { |
|
| 946 | + $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 947 | + |
|
| 948 | + if ( 'incompatible_archive' === $result->get_error_code() ) { |
|
| 949 | + return new WP_Error( 'fontawesome_incompatible_archive', __( $result->get_error_message(), 'ayecode-connect' ) ); |
|
| 950 | + } |
|
| 951 | + |
|
| 952 | + return $result; |
|
| 953 | + } |
|
| 954 | + |
|
| 955 | + if ( $wp_filesystem->is_dir( $fonts_dir ) ) { |
|
| 956 | + $wp_filesystem->delete( $fonts_dir, true ); |
|
| 957 | + } |
|
| 958 | + |
|
| 959 | + $extract_dir = $fonts_tmp_dir; |
|
| 960 | + |
|
| 961 | + if ( $dirname && $wp_filesystem->is_dir( $extract_dir . $dirname . DIRECTORY_SEPARATOR ) ) { |
|
| 962 | + $extract_dir .= $dirname . DIRECTORY_SEPARATOR; |
|
| 963 | + } |
|
| 964 | + |
|
| 965 | + try { |
|
| 966 | + $return = $wp_filesystem->move( $extract_dir, $fonts_dir, true ); |
|
| 967 | + } catch ( Exception $e ) { |
|
| 968 | + $return = new WP_Error( 'fontawesome_move_package', __( 'Fail to move font awesome package!', 'ayecode-connect' ) ); |
|
| 969 | + } |
|
| 970 | + |
|
| 971 | + if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) { |
|
| 972 | + $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 973 | + } |
|
| 974 | + |
|
| 975 | + // Once extracted, delete the package if required. |
|
| 976 | + if ( $delete_package ) { |
|
| 977 | + unlink( $package ); |
|
| 978 | + } |
|
| 979 | + |
|
| 980 | + return $return; |
|
| 981 | + } |
|
| 982 | + |
|
| 983 | + /** |
|
| 984 | + * Output the version in the header. |
|
| 985 | + */ |
|
| 986 | + public function add_generator() { |
|
| 987 | + $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 988 | + $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 989 | + |
|
| 990 | + // Find source plugin/theme. |
|
| 991 | + $source = array(); |
|
| 992 | + if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 993 | + $source = explode( "/", plugin_basename( $file ) ); |
|
| 994 | + } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 995 | + $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 996 | + |
|
| 997 | + if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 998 | + $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 999 | + } |
|
| 1000 | + } |
|
| 1001 | + |
|
| 1002 | + echo '<meta name="generator" content="WP Font Awesome Settings v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-ac-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />'; |
|
| 1003 | + } |
|
| 1004 | + } |
|
| 1005 | + |
|
| 1006 | + /** |
|
| 1007 | + * Run the class if found. |
|
| 1008 | + */ |
|
| 1009 | + WP_Font_Awesome_Settings::instance(); |
|
| 1010 | 1010 | } |
@@ -12,14 +12,14 @@ discard block |
||
| 12 | 12 | /** |
| 13 | 13 | * Bail if we are not in WP. |
| 14 | 14 | */ |
| 15 | -if ( ! defined( 'ABSPATH' ) ) { |
|
| 15 | +if (!defined('ABSPATH')) { |
|
| 16 | 16 | exit; |
| 17 | 17 | } |
| 18 | 18 | |
| 19 | 19 | /** |
| 20 | 20 | * Only add if the class does not already exist. |
| 21 | 21 | */ |
| 22 | -if ( ! class_exists( 'WP_Font_Awesome_Settings' ) ) { |
|
| 22 | +if (!class_exists('WP_Font_Awesome_Settings')) { |
|
| 23 | 23 | |
| 24 | 24 | /** |
| 25 | 25 | * A Class to be able to change settings for Font Awesome. |
@@ -82,19 +82,19 @@ discard block |
||
| 82 | 82 | * @return WP_Font_Awesome_Settings - Main instance. |
| 83 | 83 | */ |
| 84 | 84 | public static function instance() { |
| 85 | - if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WP_Font_Awesome_Settings ) ) { |
|
| 85 | + if (!isset(self::$instance) && !(self::$instance instanceof WP_Font_Awesome_Settings)) { |
|
| 86 | 86 | self::$instance = new WP_Font_Awesome_Settings; |
| 87 | 87 | |
| 88 | - add_action( 'init', array( self::$instance, 'init' ) ); // set settings |
|
| 88 | + add_action('init', array(self::$instance, 'init')); // set settings |
|
| 89 | 89 | |
| 90 | - if ( is_admin() ) { |
|
| 91 | - add_action( 'admin_menu', array( self::$instance, 'menu_item' ) ); |
|
| 92 | - add_action( 'admin_init', array( self::$instance, 'register_settings' ) ); |
|
| 93 | - add_action( 'admin_init', array( self::$instance, 'constants' ) ); |
|
| 94 | - add_action( 'admin_notices', array( self::$instance, 'admin_notices' ) ); |
|
| 90 | + if (is_admin()) { |
|
| 91 | + add_action('admin_menu', array(self::$instance, 'menu_item')); |
|
| 92 | + add_action('admin_init', array(self::$instance, 'register_settings')); |
|
| 93 | + add_action('admin_init', array(self::$instance, 'constants')); |
|
| 94 | + add_action('admin_notices', array(self::$instance, 'admin_notices')); |
|
| 95 | 95 | } |
| 96 | 96 | |
| 97 | - do_action( 'wp_font_awesome_settings_loaded' ); |
|
| 97 | + do_action('wp_font_awesome_settings_loaded'); |
|
| 98 | 98 | } |
| 99 | 99 | |
| 100 | 100 | return self::$instance; |
@@ -105,26 +105,26 @@ discard block |
||
| 105 | 105 | * |
| 106 | 106 | * @return void |
| 107 | 107 | */ |
| 108 | - public function constants(){ |
|
| 108 | + public function constants() { |
|
| 109 | 109 | |
| 110 | 110 | // register iconpicker constant |
| 111 | - if ( ! defined( 'FAS_ICONPICKER_JS_URL' ) ) { |
|
| 111 | + if (!defined('FAS_ICONPICKER_JS_URL')) { |
|
| 112 | 112 | $url = $this->get_path_url(); |
| 113 | 113 | $version = $this->settings['version']; |
| 114 | 114 | |
| 115 | - if( !$version || version_compare($version,'5.999','>')){ |
|
| 115 | + if (!$version || version_compare($version, '5.999', '>')) { |
|
| 116 | 116 | $url .= 'assets/js/fa-iconpicker-v6.min.js'; |
| 117 | - }else{ |
|
| 117 | + } else { |
|
| 118 | 118 | $url .= 'assets/js/fa-iconpicker-v5.min.js'; |
| 119 | 119 | } |
| 120 | 120 | |
| 121 | - define( 'FAS_ICONPICKER_JS_URL', $url ); |
|
| 121 | + define('FAS_ICONPICKER_JS_URL', $url); |
|
| 122 | 122 | |
| 123 | 123 | } |
| 124 | 124 | |
| 125 | 125 | // Set a constant if pro enbaled |
| 126 | - if ( ! defined( 'FAS_PRO' ) && $this->settings['pro'] ) { |
|
| 127 | - define( 'FAS_PRO', true ); |
|
| 126 | + if (!defined('FAS_PRO') && $this->settings['pro']) { |
|
| 127 | + define('FAS_PRO', true); |
|
| 128 | 128 | } |
| 129 | 129 | } |
| 130 | 130 | |
@@ -134,19 +134,19 @@ discard block |
||
| 134 | 134 | * @return string |
| 135 | 135 | */ |
| 136 | 136 | public function get_path_url() { |
| 137 | - $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 138 | - $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 137 | + $content_dir = wp_normalize_path(untrailingslashit(WP_CONTENT_DIR)); |
|
| 138 | + $content_url = untrailingslashit(WP_CONTENT_URL); |
|
| 139 | 139 | |
| 140 | 140 | // Replace http:// to https://. |
| 141 | - if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 142 | - $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 141 | + if (strpos($content_url, 'http://') === 0 && strpos(plugins_url(), 'https://') === 0) { |
|
| 142 | + $content_url = str_replace('http://', 'https://', $content_url); |
|
| 143 | 143 | } |
| 144 | 144 | |
| 145 | 145 | // Check if we are inside a plugin |
| 146 | - $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 147 | - $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 146 | + $file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__))); |
|
| 147 | + $url = str_replace($content_dir, $content_url, $file_dir); |
|
| 148 | 148 | |
| 149 | - return trailingslashit( $url ); |
|
| 149 | + return trailingslashit($url); |
|
| 150 | 150 | } |
| 151 | 151 | |
| 152 | 152 | /** |
@@ -156,45 +156,45 @@ discard block |
||
| 156 | 156 | */ |
| 157 | 157 | public function init() { |
| 158 | 158 | // Download fontawesome locally. |
| 159 | - add_action( 'add_option_wp-font-awesome-settings', array( $this, 'add_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 160 | - add_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 159 | + add_action('add_option_wp-font-awesome-settings', array($this, 'add_option_wp_font_awesome_settings'), 10, 2); |
|
| 160 | + add_action('update_option_wp-font-awesome-settings', array($this, 'update_option_wp_font_awesome_settings'), 10, 2); |
|
| 161 | 161 | |
| 162 | 162 | $this->settings = $this->get_settings(); |
| 163 | 163 | |
| 164 | 164 | // Check if the official plugin is active and use that instead if so. |
| 165 | - if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 166 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) { |
|
| 167 | - add_action( 'admin_head', array( $this, 'add_generator' ), 99 ); |
|
| 165 | + if (!defined('FONTAWESOME_PLUGIN_FILE')) { |
|
| 166 | + if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend') { |
|
| 167 | + add_action('admin_head', array($this, 'add_generator'), 99); |
|
| 168 | 168 | } |
| 169 | 169 | |
| 170 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) { |
|
| 171 | - add_action( 'wp_head', array( $this, 'add_generator' ), 99 ); |
|
| 170 | + if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend') { |
|
| 171 | + add_action('wp_head', array($this, 'add_generator'), 99); |
|
| 172 | 172 | } |
| 173 | 173 | |
| 174 | - if ( $this->settings['type'] == 'CSS' ) { |
|
| 175 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) { |
|
| 176 | - add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 ); |
|
| 174 | + if ($this->settings['type'] == 'CSS') { |
|
| 175 | + if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend') { |
|
| 176 | + add_action('wp_enqueue_scripts', array($this, 'enqueue_style'), 5000); |
|
| 177 | 177 | //add_action( 'wp_footer', array( $this, 'enqueue_style' ), 5000 ); // not sure why this was added, seems to break frontend |
| 178 | 178 | } |
| 179 | 179 | |
| 180 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) { |
|
| 181 | - add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 ); |
|
| 182 | - add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_styles' ), 10, 2 ); |
|
| 180 | + if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend') { |
|
| 181 | + add_action('admin_enqueue_scripts', array($this, 'enqueue_style'), 5000); |
|
| 182 | + add_filter('block_editor_settings_all', array($this, 'enqueue_editor_styles'), 10, 2); |
|
| 183 | 183 | } |
| 184 | 184 | } else { |
| 185 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) { |
|
| 186 | - add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 ); |
|
| 185 | + if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend') { |
|
| 186 | + add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 5000); |
|
| 187 | 187 | } |
| 188 | 188 | |
| 189 | - if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) { |
|
| 190 | - add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 ); |
|
| 191 | - add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_scripts' ), 10, 2 ); |
|
| 189 | + if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend') { |
|
| 190 | + add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'), 5000); |
|
| 191 | + add_filter('block_editor_settings_all', array($this, 'enqueue_editor_scripts'), 10, 2); |
|
| 192 | 192 | } |
| 193 | 193 | } |
| 194 | 194 | |
| 195 | 195 | // remove font awesome if set to do so |
| 196 | - if ( $this->settings['dequeue'] == '1' ) { |
|
| 197 | - add_action( 'clean_url', array( $this, 'remove_font_awesome' ), 5000, 3 ); |
|
| 196 | + if ($this->settings['dequeue'] == '1') { |
|
| 197 | + add_action('clean_url', array($this, 'remove_font_awesome'), 5000, 3); |
|
| 198 | 198 | } |
| 199 | 199 | } |
| 200 | 200 | |
@@ -208,9 +208,9 @@ discard block |
||
| 208 | 208 | * |
| 209 | 209 | * @return array |
| 210 | 210 | */ |
| 211 | - public function enqueue_editor_styles( $editor_settings, $block_editor_context ){ |
|
| 211 | + public function enqueue_editor_styles($editor_settings, $block_editor_context) { |
|
| 212 | 212 | |
| 213 | - if ( ! empty( $editor_settings['__unstableResolvedAssets']['styles'] ) ) { |
|
| 213 | + if (!empty($editor_settings['__unstableResolvedAssets']['styles'])) { |
|
| 214 | 214 | $url = $this->get_url(); |
| 215 | 215 | $editor_settings['__unstableResolvedAssets']['styles'] .= "<link rel='stylesheet' id='font-awesome-css' href='$url' media='all' />"; |
| 216 | 216 | } |
@@ -226,7 +226,7 @@ discard block |
||
| 226 | 226 | * |
| 227 | 227 | * @return array |
| 228 | 228 | */ |
| 229 | - public function enqueue_editor_scripts( $editor_settings, $block_editor_context ){ |
|
| 229 | + public function enqueue_editor_scripts($editor_settings, $block_editor_context) { |
|
| 230 | 230 | |
| 231 | 231 | $url = $this->get_url(); |
| 232 | 232 | $editor_settings['__unstableResolvedAssets']['scripts'] .= "<script src='$url' id='font-awesome-js'></script>"; |
@@ -240,22 +240,22 @@ discard block |
||
| 240 | 240 | public function enqueue_style() { |
| 241 | 241 | // build url |
| 242 | 242 | $url = $this->get_url(); |
| 243 | - $version = ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) ? strip_tags( $this->settings['local_version'] ) : null; |
|
| 243 | + $version = !empty($this->settings['local']) && empty($this->settings['pro']) ? strip_tags($this->settings['local_version']) : null; |
|
| 244 | 244 | |
| 245 | - wp_deregister_style( 'font-awesome' ); // deregister in case its already there |
|
| 246 | - wp_register_style( 'font-awesome', $url, array(), $version ); |
|
| 247 | - wp_enqueue_style( 'font-awesome' ); |
|
| 245 | + wp_deregister_style('font-awesome'); // deregister in case its already there |
|
| 246 | + wp_register_style('font-awesome', $url, array(), $version); |
|
| 247 | + wp_enqueue_style('font-awesome'); |
|
| 248 | 248 | |
| 249 | 249 | // RTL language support CSS. |
| 250 | - if ( is_rtl() ) { |
|
| 251 | - wp_add_inline_style( 'font-awesome', $this->rtl_inline_css() ); |
|
| 250 | + if (is_rtl()) { |
|
| 251 | + wp_add_inline_style('font-awesome', $this->rtl_inline_css()); |
|
| 252 | 252 | } |
| 253 | 253 | |
| 254 | - if ( $this->settings['shims'] ) { |
|
| 255 | - $url = $this->get_url( true ); |
|
| 256 | - wp_deregister_style( 'font-awesome-shims' ); // deregister in case its already there |
|
| 257 | - wp_register_style( 'font-awesome-shims', $url, array(), $version ); |
|
| 258 | - wp_enqueue_style( 'font-awesome-shims' ); |
|
| 254 | + if ($this->settings['shims']) { |
|
| 255 | + $url = $this->get_url(true); |
|
| 256 | + wp_deregister_style('font-awesome-shims'); // deregister in case its already there |
|
| 257 | + wp_register_style('font-awesome-shims', $url, array(), $version); |
|
| 258 | + wp_enqueue_style('font-awesome-shims'); |
|
| 259 | 259 | } |
| 260 | 260 | } |
| 261 | 261 | |
@@ -267,15 +267,15 @@ discard block |
||
| 267 | 267 | $url = $this->get_url(); |
| 268 | 268 | |
| 269 | 269 | $deregister_function = 'wp' . '_' . 'deregister' . '_' . 'script'; |
| 270 | - call_user_func( $deregister_function, 'font-awesome' ); // deregister in case its already there |
|
| 271 | - wp_register_script( 'font-awesome', $url, array(), null ); |
|
| 272 | - wp_enqueue_script( 'font-awesome' ); |
|
| 270 | + call_user_func($deregister_function, 'font-awesome'); // deregister in case its already there |
|
| 271 | + wp_register_script('font-awesome', $url, array(), null); |
|
| 272 | + wp_enqueue_script('font-awesome'); |
|
| 273 | 273 | |
| 274 | - if ( $this->settings['shims'] ) { |
|
| 275 | - $url = $this->get_url( true ); |
|
| 276 | - call_user_func( $deregister_function, 'font-awesome-shims' ); // deregister in case its already there |
|
| 277 | - wp_register_script( 'font-awesome-shims', $url, array(), null ); |
|
| 278 | - wp_enqueue_script( 'font-awesome-shims' ); |
|
| 274 | + if ($this->settings['shims']) { |
|
| 275 | + $url = $this->get_url(true); |
|
| 276 | + call_user_func($deregister_function, 'font-awesome-shims'); // deregister in case its already there |
|
| 277 | + wp_register_script('font-awesome-shims', $url, array(), null); |
|
| 278 | + wp_enqueue_script('font-awesome-shims'); |
|
| 279 | 279 | } |
| 280 | 280 | } |
| 281 | 281 | |
@@ -287,16 +287,16 @@ discard block |
||
| 287 | 287 | * |
| 288 | 288 | * @return string The url to the file. |
| 289 | 289 | */ |
| 290 | - public function get_url( $shims = false, $local = true ) { |
|
| 290 | + public function get_url($shims = false, $local = true) { |
|
| 291 | 291 | $script = $shims ? 'v4-shims' : 'all'; |
| 292 | 292 | $sub = $this->settings['pro'] ? 'pro' : 'use'; |
| 293 | 293 | $type = $this->settings['type']; |
| 294 | 294 | $version = $this->settings['version']; |
| 295 | - $kit_url = $this->settings['kit-url'] ? esc_url( $this->settings['kit-url'] ) : ''; |
|
| 295 | + $kit_url = $this->settings['kit-url'] ? esc_url($this->settings['kit-url']) : ''; |
|
| 296 | 296 | $url = ''; |
| 297 | 297 | |
| 298 | - if ( $type == 'KIT' && $kit_url ) { |
|
| 299 | - if ( $shims ) { |
|
| 298 | + if ($type == 'KIT' && $kit_url) { |
|
| 299 | + if ($shims) { |
|
| 300 | 300 | // if its a kit then we don't add shims here |
| 301 | 301 | return ''; |
| 302 | 302 | } |
@@ -305,13 +305,13 @@ discard block |
||
| 305 | 305 | } else { |
| 306 | 306 | $v = ''; |
| 307 | 307 | // Check and load locally. |
| 308 | - if ( $local && $this->has_local() ) { |
|
| 308 | + if ($local && $this->has_local()) { |
|
| 309 | 309 | $script .= ".min"; |
| 310 | - $v .= '&ver=' . strip_tags( $this->settings['local_version'] ); |
|
| 310 | + $v .= '&ver=' . strip_tags($this->settings['local_version']); |
|
| 311 | 311 | $url .= $this->get_fonts_url(); // Local fonts url. |
| 312 | 312 | } else { |
| 313 | 313 | $url .= "https://$sub.fontawesome.com/releases/"; // CDN |
| 314 | - $url .= ! empty( $version ) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version |
|
| 314 | + $url .= !empty($version) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version |
|
| 315 | 315 | } |
| 316 | 316 | $url .= $type == 'CSS' ? 'css/' : 'js/'; // type |
| 317 | 317 | $url .= $type == 'CSS' ? $script . '.css' : $script . '.js'; // type |
@@ -332,16 +332,16 @@ discard block |
||
| 332 | 332 | * |
| 333 | 333 | * @return string The filtered url. |
| 334 | 334 | */ |
| 335 | - public function remove_font_awesome( $url, $original_url, $_context ) { |
|
| 335 | + public function remove_font_awesome($url, $original_url, $_context) { |
|
| 336 | 336 | |
| 337 | - if ( $_context == 'display' |
|
| 338 | - && ( strstr( $url, "fontawesome" ) !== false || strstr( $url, "font-awesome" ) !== false ) |
|
| 339 | - && ( strstr( $url, ".js" ) !== false || strstr( $url, ".css" ) !== false ) |
|
| 337 | + if ($_context == 'display' |
|
| 338 | + && (strstr($url, "fontawesome") !== false || strstr($url, "font-awesome") !== false) |
|
| 339 | + && (strstr($url, ".js") !== false || strstr($url, ".css") !== false) |
|
| 340 | 340 | ) {// it's a font-awesome-url (probably) |
| 341 | 341 | |
| 342 | - if ( strstr( $url, "wpfas=true" ) !== false ) { |
|
| 343 | - if ( $this->settings['type'] == 'JS' ) { |
|
| 344 | - if ( $this->settings['js-pseudo'] ) { |
|
| 342 | + if (strstr($url, "wpfas=true") !== false) { |
|
| 343 | + if ($this->settings['type'] == 'JS') { |
|
| 344 | + if ($this->settings['js-pseudo']) { |
|
| 345 | 345 | $url .= "' data-search-pseudo-elements defer='defer"; |
| 346 | 346 | } else { |
| 347 | 347 | $url .= "' defer='defer"; |
@@ -360,7 +360,7 @@ discard block |
||
| 360 | 360 | * Register the database settings with WordPress. |
| 361 | 361 | */ |
| 362 | 362 | public function register_settings() { |
| 363 | - register_setting( 'wp-font-awesome-settings', 'wp-font-awesome-settings' ); |
|
| 363 | + register_setting('wp-font-awesome-settings', 'wp-font-awesome-settings'); |
|
| 364 | 364 | } |
| 365 | 365 | |
| 366 | 366 | /** |
@@ -369,10 +369,10 @@ discard block |
||
| 369 | 369 | */ |
| 370 | 370 | public function menu_item() { |
| 371 | 371 | $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme |
| 372 | - call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array( |
|
| 372 | + call_user_func($menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array( |
|
| 373 | 373 | $this, |
| 374 | 374 | 'settings_page' |
| 375 | - ) ); |
|
| 375 | + )); |
|
| 376 | 376 | } |
| 377 | 377 | |
| 378 | 378 | /** |
@@ -381,7 +381,7 @@ discard block |
||
| 381 | 381 | * @return array The array of settings. |
| 382 | 382 | */ |
| 383 | 383 | public function get_settings() { |
| 384 | - $db_settings = get_option( 'wp-font-awesome-settings' ); |
|
| 384 | + $db_settings = get_option('wp-font-awesome-settings'); |
|
| 385 | 385 | |
| 386 | 386 | $defaults = array( |
| 387 | 387 | 'type' => 'CSS', // type to use, CSS or JS or KIT |
@@ -396,30 +396,30 @@ discard block |
||
| 396 | 396 | 'kit-url' => '', // the kit url |
| 397 | 397 | ); |
| 398 | 398 | |
| 399 | - $settings = wp_parse_args( $db_settings, $defaults ); |
|
| 399 | + $settings = wp_parse_args($db_settings, $defaults); |
|
| 400 | 400 | |
| 401 | 401 | /** |
| 402 | 402 | * Filter the Font Awesome settings. |
| 403 | 403 | * |
| 404 | 404 | * @todo if we add this filer people might use it and then it defeates the purpose of this class :/ |
| 405 | 405 | */ |
| 406 | - return $this->settings = apply_filters( 'wp-font-awesome-settings', $settings, $db_settings, $defaults ); |
|
| 406 | + return $this->settings = apply_filters('wp-font-awesome-settings', $settings, $db_settings, $defaults); |
|
| 407 | 407 | } |
| 408 | 408 | |
| 409 | 409 | /** |
| 410 | 410 | * The settings page html output. |
| 411 | 411 | */ |
| 412 | 412 | public function settings_page() { |
| 413 | - if ( ! current_user_can( 'manage_options' ) ) { |
|
| 414 | - wp_die( __( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) ); |
|
| 413 | + if (!current_user_can('manage_options')) { |
|
| 414 | + wp_die(__('You do not have sufficient permissions to access this page.', 'ayecode-connect')); |
|
| 415 | 415 | } |
| 416 | 416 | |
| 417 | 417 | // a hidden way to force the update of the version number via api instead of waiting the 48 hours |
| 418 | - if ( isset( $_REQUEST['force-version-check'] ) ) { |
|
| 419 | - $this->get_latest_version( $force_api = true ); |
|
| 418 | + if (isset($_REQUEST['force-version-check'])) { |
|
| 419 | + $this->get_latest_version($force_api = true); |
|
| 420 | 420 | } |
| 421 | 421 | |
| 422 | - if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 422 | + if (!defined('FONTAWESOME_PLUGIN_FILE')) { |
|
| 423 | 423 | ?> |
| 424 | 424 | <style> |
| 425 | 425 | .wpfas-kit-show { |
@@ -446,42 +446,42 @@ discard block |
||
| 446 | 446 | <h1><?php echo $this->name; ?></h1> |
| 447 | 447 | <form method="post" action="options.php" class="fas-settings-form"> |
| 448 | 448 | <?php |
| 449 | - settings_fields( 'wp-font-awesome-settings' ); |
|
| 450 | - do_settings_sections( 'wp-font-awesome-settings' ); |
|
| 449 | + settings_fields('wp-font-awesome-settings'); |
|
| 450 | + do_settings_sections('wp-font-awesome-settings'); |
|
| 451 | 451 | $table_class = ''; |
| 452 | - if ( $this->settings['type'] ) { |
|
| 453 | - $table_class .= 'wpfas-' . sanitize_html_class( strtolower( $this->settings['type'] ) ) . '-set'; |
|
| 452 | + if ($this->settings['type']) { |
|
| 453 | + $table_class .= 'wpfas-' . sanitize_html_class(strtolower($this->settings['type'])) . '-set'; |
|
| 454 | 454 | } |
| 455 | - if ( ! empty( $this->settings['pro'] ) ) { |
|
| 455 | + if (!empty($this->settings['pro'])) { |
|
| 456 | 456 | $table_class .= ' wpfas-has-pro'; |
| 457 | 457 | } |
| 458 | 458 | ?> |
| 459 | - <?php if ( $this->settings['type'] != 'KIT' && ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) ) { ?> |
|
| 460 | - <?php if ( $this->has_local() ) { ?> |
|
| 461 | - <div class="notice notice-info"><p><strong><?php _e( 'Font Awesome fonts are loading locally.', 'ayecode-connect' ); ?></strong></p></div> |
|
| 459 | + <?php if ($this->settings['type'] != 'KIT' && !empty($this->settings['local']) && empty($this->settings['pro'])) { ?> |
|
| 460 | + <?php if ($this->has_local()) { ?> |
|
| 461 | + <div class="notice notice-info"><p><strong><?php _e('Font Awesome fonts are loading locally.', 'ayecode-connect'); ?></strong></p></div> |
|
| 462 | 462 | <?php } else { ?> |
| 463 | - <div class="notice notice-error"><p><strong><?php _e( 'Font Awesome fonts are not loading locally!', 'ayecode-connect' ); ?></strong></p></div> |
|
| 463 | + <div class="notice notice-error"><p><strong><?php _e('Font Awesome fonts are not loading locally!', 'ayecode-connect'); ?></strong></p></div> |
|
| 464 | 464 | <?php } ?> |
| 465 | 465 | <?php } ?> |
| 466 | - <table class="form-table wpfas-table-settings <?php echo esc_attr( $table_class ); ?>"> |
|
| 466 | + <table class="form-table wpfas-table-settings <?php echo esc_attr($table_class); ?>"> |
|
| 467 | 467 | <tr valign="top"> |
| 468 | - <th scope="row"><label for="wpfas-type"><?php _e( 'Type', 'ayecode-connect' ); ?></label></th> |
|
| 468 | + <th scope="row"><label for="wpfas-type"><?php _e('Type', 'ayecode-connect'); ?></label></th> |
|
| 469 | 469 | <td> |
| 470 | 470 | <select name="wp-font-awesome-settings[type]" id="wpfas-type" onchange="if(this.value=='KIT'){jQuery('.wpfas-table-settings').addClass('wpfas-kit-set');}else{jQuery('.wpfas-table-settings').removeClass('wpfas-kit-set');}"> |
| 471 | - <option value="CSS" <?php selected( $this->settings['type'], 'CSS' ); ?>><?php _e( 'CSS (default)', 'ayecode-connect' ); ?></option> |
|
| 472 | - <option value="JS" <?php selected( $this->settings['type'], 'JS' ); ?>>JS</option> |
|
| 473 | - <option value="KIT" <?php selected( $this->settings['type'], 'KIT' ); ?>><?php _e( 'Kits (settings managed on fontawesome.com)', 'ayecode-connect' ); ?></option> |
|
| 471 | + <option value="CSS" <?php selected($this->settings['type'], 'CSS'); ?>><?php _e('CSS (default)', 'ayecode-connect'); ?></option> |
|
| 472 | + <option value="JS" <?php selected($this->settings['type'], 'JS'); ?>>JS</option> |
|
| 473 | + <option value="KIT" <?php selected($this->settings['type'], 'KIT'); ?>><?php _e('Kits (settings managed on fontawesome.com)', 'ayecode-connect'); ?></option> |
|
| 474 | 474 | </select> |
| 475 | 475 | </td> |
| 476 | 476 | </tr> |
| 477 | 477 | |
| 478 | 478 | <tr valign="top" class="wpfas-kit-show"> |
| 479 | - <th scope="row"><label for="wpfas-kit-url"><?php _e( 'Kit URL', 'ayecode-connect' ); ?></label></th> |
|
| 479 | + <th scope="row"><label for="wpfas-kit-url"><?php _e('Kit URL', 'ayecode-connect'); ?></label></th> |
|
| 480 | 480 | <td> |
| 481 | - <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 :(?>"/> |
|
| 481 | + <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 :(?>"/> |
|
| 482 | 482 | <span><?php |
| 483 | 483 | echo wp_sprintf( |
| 484 | - __( 'Requires a free account with Font Awesome. %sGet kit url%s', 'ayecode-connect' ), |
|
| 484 | + __('Requires a free account with Font Awesome. %sGet kit url%s', 'ayecode-connect'), |
|
| 485 | 485 | '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/kits"><i class="fas fa-external-link-alt"></i>', |
| 486 | 486 | '</a>' |
| 487 | 487 | ); |
@@ -490,44 +490,44 @@ discard block |
||
| 490 | 490 | </tr> |
| 491 | 491 | |
| 492 | 492 | <tr valign="top" class="wpfas-kit-hide"> |
| 493 | - <th scope="row"><label for="wpfas-version"><?php _e( 'Version', 'ayecode-connect' ); ?></label></th> |
|
| 493 | + <th scope="row"><label for="wpfas-version"><?php _e('Version', 'ayecode-connect'); ?></label></th> |
|
| 494 | 494 | <td> |
| 495 | 495 | <select name="wp-font-awesome-settings[version]" id="wpfas-version"> |
| 496 | - <option value="" <?php selected( $this->settings['version'], '' ); ?>><?php echo wp_sprintf( __( 'Latest - %s (default)', 'ayecode-connect' ), $this->get_latest_version() ); ?></option> |
|
| 497 | - <option value="6.1.0" <?php selected( $this->settings['version'], '6.1.0' ); ?>>6.1.0</option> |
|
| 498 | - <option value="6.0.0" <?php selected( $this->settings['version'], '6.0.0' ); ?>>6.0.0</option> |
|
| 499 | - <option value="5.15.4" <?php selected( $this->settings['version'], '5.15.4' ); ?>>5.15.4</option> |
|
| 500 | - <option value="5.6.0" <?php selected( $this->settings['version'], '5.6.0' ); ?>>5.6.0</option> |
|
| 501 | - <option value="5.5.0" <?php selected( $this->settings['version'], '5.5.0' ); ?>>5.5.0</option> |
|
| 502 | - <option value="5.4.0" <?php selected( $this->settings['version'], '5.4.0' ); ?>>5.4.0</option> |
|
| 503 | - <option value="5.3.0" <?php selected( $this->settings['version'], '5.3.0' ); ?>>5.3.0</option> |
|
| 504 | - <option value="5.2.0" <?php selected( $this->settings['version'], '5.2.0' ); ?>>5.2.0</option> |
|
| 505 | - <option value="5.1.0" <?php selected( $this->settings['version'], '5.1.0' ); ?>>5.1.0</option> |
|
| 506 | - <option value="4.7.0" <?php selected( $this->settings['version'], '4.7.0' ); ?>>4.7.1 (CSS only)</option> |
|
| 496 | + <option value="" <?php selected($this->settings['version'], ''); ?>><?php echo wp_sprintf(__('Latest - %s (default)', 'ayecode-connect'), $this->get_latest_version()); ?></option> |
|
| 497 | + <option value="6.1.0" <?php selected($this->settings['version'], '6.1.0'); ?>>6.1.0</option> |
|
| 498 | + <option value="6.0.0" <?php selected($this->settings['version'], '6.0.0'); ?>>6.0.0</option> |
|
| 499 | + <option value="5.15.4" <?php selected($this->settings['version'], '5.15.4'); ?>>5.15.4</option> |
|
| 500 | + <option value="5.6.0" <?php selected($this->settings['version'], '5.6.0'); ?>>5.6.0</option> |
|
| 501 | + <option value="5.5.0" <?php selected($this->settings['version'], '5.5.0'); ?>>5.5.0</option> |
|
| 502 | + <option value="5.4.0" <?php selected($this->settings['version'], '5.4.0'); ?>>5.4.0</option> |
|
| 503 | + <option value="5.3.0" <?php selected($this->settings['version'], '5.3.0'); ?>>5.3.0</option> |
|
| 504 | + <option value="5.2.0" <?php selected($this->settings['version'], '5.2.0'); ?>>5.2.0</option> |
|
| 505 | + <option value="5.1.0" <?php selected($this->settings['version'], '5.1.0'); ?>>5.1.0</option> |
|
| 506 | + <option value="4.7.0" <?php selected($this->settings['version'], '4.7.0'); ?>>4.7.1 (CSS only)</option> |
|
| 507 | 507 | </select> |
| 508 | 508 | </td> |
| 509 | 509 | </tr> |
| 510 | 510 | |
| 511 | 511 | <tr valign="top"> |
| 512 | - <th scope="row"><label for="wpfas-enqueue"><?php _e( 'Enqueue', 'ayecode-connect' ); ?></label></th> |
|
| 512 | + <th scope="row"><label for="wpfas-enqueue"><?php _e('Enqueue', 'ayecode-connect'); ?></label></th> |
|
| 513 | 513 | <td> |
| 514 | 514 | <select name="wp-font-awesome-settings[enqueue]" id="wpfas-enqueue"> |
| 515 | - <option value="" <?php selected( $this->settings['enqueue'], '' ); ?>><?php _e( 'Frontend + Backend (default)', 'ayecode-connect' ); ?></option> |
|
| 516 | - <option value="frontend" <?php selected( $this->settings['enqueue'], 'frontend' ); ?>><?php _e( 'Frontend', 'ayecode-connect' ); ?></option> |
|
| 517 | - <option value="backend" <?php selected( $this->settings['enqueue'], 'backend' ); ?>><?php _e( 'Backend', 'ayecode-connect' ); ?></option> |
|
| 515 | + <option value="" <?php selected($this->settings['enqueue'], ''); ?>><?php _e('Frontend + Backend (default)', 'ayecode-connect'); ?></option> |
|
| 516 | + <option value="frontend" <?php selected($this->settings['enqueue'], 'frontend'); ?>><?php _e('Frontend', 'ayecode-connect'); ?></option> |
|
| 517 | + <option value="backend" <?php selected($this->settings['enqueue'], 'backend'); ?>><?php _e('Backend', 'ayecode-connect'); ?></option> |
|
| 518 | 518 | </select> |
| 519 | 519 | </td> |
| 520 | 520 | </tr> |
| 521 | 521 | |
| 522 | 522 | <tr valign="top" class="wpfas-kit-hide"> |
| 523 | 523 | <th scope="row"><label |
| 524 | - for="wpfas-pro"><?php _e( 'Enable pro', 'ayecode-connect' ); ?></label></th> |
|
| 524 | + for="wpfas-pro"><?php _e('Enable pro', 'ayecode-connect'); ?></label></th> |
|
| 525 | 525 | <td> |
| 526 | 526 | <input type="hidden" name="wp-font-awesome-settings[pro]" value="0"/> |
| 527 | - <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')}"/> |
|
| 527 | + <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')}"/> |
|
| 528 | 528 | <span><?php |
| 529 | 529 | echo wp_sprintf( |
| 530 | - __( 'Requires a subscription. %sLearn more%s %sManage my allowed domains%s', 'ayecode-connect' ), |
|
| 530 | + __('Requires a subscription. %sLearn more%s %sManage my allowed domains%s', 'ayecode-connect'), |
|
| 531 | 531 | '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/referral?a=c9b89e1418">', |
| 532 | 532 | ' <i class="fas fa-external-link-alt"></i></a>', |
| 533 | 533 | '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/account/cdn">', |
@@ -538,49 +538,49 @@ discard block |
||
| 538 | 538 | </tr> |
| 539 | 539 | |
| 540 | 540 | <tr valign="top" class="wpfas-kit-hide wpfas-hide-pro"> |
| 541 | - <th scope="row"><label for="wpfas-local"><?php _e( 'Load Fonts Locally', 'ayecode-connect' ); ?></label></th> |
|
| 541 | + <th scope="row"><label for="wpfas-local"><?php _e('Load Fonts Locally', 'ayecode-connect'); ?></label></th> |
|
| 542 | 542 | <td> |
| 543 | 543 | <input type="hidden" name="wp-font-awesome-settings[local]" value="0"/> |
| 544 | - <input type="hidden" name="wp-font-awesome-settings[local_version]" value="<?php echo esc_attr( $this->settings['local_version'] ); ?>"/> |
|
| 545 | - <input type="checkbox" name="wp-font-awesome-settings[local]" value="1" <?php checked( $this->settings['local'], '1' ); ?> id="wpfas-local"/> |
|
| 546 | - <span><?php _e( '(For free version only) Load FontAwesome fonts from locally. This downloads FontAwesome fonts from fontawesome.com & stores at the local site.', 'ayecode-connect' ); ?></span> |
|
| 544 | + <input type="hidden" name="wp-font-awesome-settings[local_version]" value="<?php echo esc_attr($this->settings['local_version']); ?>"/> |
|
| 545 | + <input type="checkbox" name="wp-font-awesome-settings[local]" value="1" <?php checked($this->settings['local'], '1'); ?> id="wpfas-local"/> |
|
| 546 | + <span><?php _e('(For free version only) Load FontAwesome fonts from locally. This downloads FontAwesome fonts from fontawesome.com & stores at the local site.', 'ayecode-connect'); ?></span> |
|
| 547 | 547 | </td> |
| 548 | 548 | </tr> |
| 549 | 549 | |
| 550 | 550 | <tr valign="top" class="wpfas-kit-hide"> |
| 551 | 551 | <th scope="row"><label |
| 552 | - for="wpfas-shims"><?php _e( 'Enable v4 shims compatibility', 'ayecode-connect' ); ?></label> |
|
| 552 | + for="wpfas-shims"><?php _e('Enable v4 shims compatibility', 'ayecode-connect'); ?></label> |
|
| 553 | 553 | </th> |
| 554 | 554 | <td> |
| 555 | 555 | <input type="hidden" name="wp-font-awesome-settings[shims]" value="0"/> |
| 556 | 556 | <input type="checkbox" name="wp-font-awesome-settings[shims]" |
| 557 | - value="1" <?php checked( $this->settings['shims'], '1' ); ?> id="wpfas-shims"/> |
|
| 558 | - <span><?php _e( 'This enables v4 classes to work with v5, sort of like a band-aid until everyone has updated everything to v5.', 'ayecode-connect' ); ?></span> |
|
| 557 | + value="1" <?php checked($this->settings['shims'], '1'); ?> id="wpfas-shims"/> |
|
| 558 | + <span><?php _e('This enables v4 classes to work with v5, sort of like a band-aid until everyone has updated everything to v5.', 'ayecode-connect'); ?></span> |
|
| 559 | 559 | </td> |
| 560 | 560 | </tr> |
| 561 | 561 | |
| 562 | 562 | <tr valign="top" class="wpfas-kit-hide"> |
| 563 | 563 | <th scope="row"><label |
| 564 | - for="wpfas-js-pseudo"><?php _e( 'Enable JS pseudo elements (not recommended)', 'ayecode-connect' ); ?></label> |
|
| 564 | + for="wpfas-js-pseudo"><?php _e('Enable JS pseudo elements (not recommended)', 'ayecode-connect'); ?></label> |
|
| 565 | 565 | </th> |
| 566 | 566 | <td> |
| 567 | 567 | <input type="hidden" name="wp-font-awesome-settings[js-pseudo]" value="0"/> |
| 568 | 568 | <input type="checkbox" name="wp-font-awesome-settings[js-pseudo]" |
| 569 | - value="1" <?php checked( $this->settings['js-pseudo'], '1' ); ?> |
|
| 569 | + value="1" <?php checked($this->settings['js-pseudo'], '1'); ?> |
|
| 570 | 570 | id="wpfas-js-pseudo"/> |
| 571 | - <span><?php _e( 'Used only with the JS version, this will make pseudo-elements work but can be CPU intensive on some sites.', 'ayecode-connect' ); ?></span> |
|
| 571 | + <span><?php _e('Used only with the JS version, this will make pseudo-elements work but can be CPU intensive on some sites.', 'ayecode-connect'); ?></span> |
|
| 572 | 572 | </td> |
| 573 | 573 | </tr> |
| 574 | 574 | |
| 575 | 575 | <tr valign="top"> |
| 576 | 576 | <th scope="row"><label |
| 577 | - for="wpfas-dequeue"><?php _e( 'Dequeue', 'ayecode-connect' ); ?></label></th> |
|
| 577 | + for="wpfas-dequeue"><?php _e('Dequeue', 'ayecode-connect'); ?></label></th> |
|
| 578 | 578 | <td> |
| 579 | 579 | <input type="hidden" name="wp-font-awesome-settings[dequeue]" value="0"/> |
| 580 | 580 | <input type="checkbox" name="wp-font-awesome-settings[dequeue]" |
| 581 | - value="1" <?php checked( $this->settings['dequeue'], '1' ); ?> |
|
| 581 | + value="1" <?php checked($this->settings['dequeue'], '1'); ?> |
|
| 582 | 582 | id="wpfas-dequeue"/> |
| 583 | - <span><?php _e( 'This will try to dequeue any other Font Awesome versions loaded by other sources if they are added with `font-awesome` or `fontawesome` in the name.', 'ayecode-connect' ); ?></span> |
|
| 583 | + <span><?php _e('This will try to dequeue any other Font Awesome versions loaded by other sources if they are added with `font-awesome` or `fontawesome` in the name.', 'ayecode-connect'); ?></span> |
|
| 584 | 584 | </td> |
| 585 | 585 | </tr> |
| 586 | 586 | |
@@ -589,12 +589,12 @@ discard block |
||
| 589 | 589 | <?php |
| 590 | 590 | submit_button(); |
| 591 | 591 | ?> |
| 592 | - <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','ayecode-connect'); ?> <i class="fas fa-external-link-alt"></i></a></p> |
|
| 592 | + <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', 'ayecode-connect'); ?> <i class="fas fa-external-link-alt"></i></a></p> |
|
| 593 | 593 | |
| 594 | 594 | </div> |
| 595 | 595 | </form> |
| 596 | 596 | |
| 597 | - <div id="wpfas-version"><?php echo wp_sprintf(__( 'Version: %s (affiliate links provided)', 'ayecode-connect' ), $this->version ); ?></div> |
|
| 597 | + <div id="wpfas-version"><?php echo wp_sprintf(__('Version: %s (affiliate links provided)', 'ayecode-connect'), $this->version); ?></div> |
|
| 598 | 598 | </div> |
| 599 | 599 | <?php |
| 600 | 600 | } |
@@ -609,12 +609,12 @@ discard block |
||
| 609 | 609 | * |
| 610 | 610 | * @return string Either a valid version number or an empty string. |
| 611 | 611 | */ |
| 612 | - public function validate_version_number( $version ) { |
|
| 612 | + public function validate_version_number($version) { |
|
| 613 | 613 | |
| 614 | - if ( version_compare( $version, '0.0.1', '>=' ) >= 0 ) { |
|
| 614 | + if (version_compare($version, '0.0.1', '>=') >= 0) { |
|
| 615 | 615 | // valid |
| 616 | 616 | } else { |
| 617 | - $version = '';// not validated |
|
| 617 | + $version = ''; // not validated |
|
| 618 | 618 | } |
| 619 | 619 | |
| 620 | 620 | return $version; |
@@ -629,27 +629,27 @@ discard block |
||
| 629 | 629 | * @since 1.0.7 |
| 630 | 630 | * @return mixed|string The latest version number found. |
| 631 | 631 | */ |
| 632 | - public function get_latest_version( $force_api = false ) { |
|
| 632 | + public function get_latest_version($force_api = false) { |
|
| 633 | 633 | $latest_version = $this->latest; |
| 634 | 634 | |
| 635 | - $cache = get_transient( 'wp-font-awesome-settings-version' ); |
|
| 635 | + $cache = get_transient('wp-font-awesome-settings-version'); |
|
| 636 | 636 | |
| 637 | - if ( $cache === false || $force_api ) { // its not set |
|
| 637 | + if ($cache === false || $force_api) { // its not set |
|
| 638 | 638 | $api_ver = $this->get_latest_version_from_api(); |
| 639 | - if ( version_compare( $api_ver, $this->latest, '>=' ) >= 0 ) { |
|
| 639 | + if (version_compare($api_ver, $this->latest, '>=') >= 0) { |
|
| 640 | 640 | $latest_version = $api_ver; |
| 641 | - set_transient( 'wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS ); |
|
| 641 | + set_transient('wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS); |
|
| 642 | 642 | } |
| 643 | - } elseif ( $this->validate_version_number( $cache ) ) { |
|
| 644 | - if ( version_compare( $cache, $this->latest, '>=' ) >= 0 ) { |
|
| 643 | + } elseif ($this->validate_version_number($cache)) { |
|
| 644 | + if (version_compare($cache, $this->latest, '>=') >= 0) { |
|
| 645 | 645 | $latest_version = $cache; |
| 646 | 646 | } |
| 647 | 647 | } |
| 648 | 648 | |
| 649 | 649 | // Check and auto download fonts locally. |
| 650 | - 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 ) ) { |
|
| 651 | - if ( version_compare( $latest_version, $this->settings['local_version'], '>' ) && is_admin() && ! wp_doing_ajax() ) { |
|
| 652 | - $this->download_package( $latest_version ); |
|
| 650 | + 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)) { |
|
| 651 | + if (version_compare($latest_version, $this->settings['local_version'], '>') && is_admin() && !wp_doing_ajax()) { |
|
| 652 | + $this->download_package($latest_version); |
|
| 653 | 653 | } |
| 654 | 654 | } |
| 655 | 655 | |
@@ -664,10 +664,10 @@ discard block |
||
| 664 | 664 | */ |
| 665 | 665 | public function get_latest_version_from_api() { |
| 666 | 666 | $version = "0"; |
| 667 | - $response = wp_remote_get( "https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest" ); |
|
| 668 | - if ( ! is_wp_error( $response ) && is_array( $response ) ) { |
|
| 669 | - $api_response = json_decode( wp_remote_retrieve_body( $response ), true ); |
|
| 670 | - if ( isset( $api_response['tag_name'] ) && version_compare( $api_response['tag_name'], $this->latest, '>=' ) >= 0 && empty( $api_response['prerelease'] ) ) { |
|
| 667 | + $response = wp_remote_get("https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest"); |
|
| 668 | + if (!is_wp_error($response) && is_array($response)) { |
|
| 669 | + $api_response = json_decode(wp_remote_retrieve_body($response), true); |
|
| 670 | + if (isset($api_response['tag_name']) && version_compare($api_response['tag_name'], $this->latest, '>=') >= 0 && empty($api_response['prerelease'])) { |
|
| 671 | 671 | $version = $api_response['tag_name']; |
| 672 | 672 | } |
| 673 | 673 | } |
@@ -695,21 +695,21 @@ discard block |
||
| 695 | 695 | public function admin_notices() { |
| 696 | 696 | $settings = $this->settings; |
| 697 | 697 | |
| 698 | - if ( defined( 'FONTAWESOME_PLUGIN_FILE' ) ) { |
|
| 699 | - if ( ! empty( $_REQUEST['page'] ) && $_REQUEST['page'] == 'wp-font-awesome-settings' ) { |
|
| 698 | + if (defined('FONTAWESOME_PLUGIN_FILE')) { |
|
| 699 | + if (!empty($_REQUEST['page']) && $_REQUEST['page'] == 'wp-font-awesome-settings') { |
|
| 700 | 700 | ?> |
| 701 | 701 | <div class="notice notice-error is-dismissible"> |
| 702 | - <p><?php _e( 'The Official Font Awesome Plugin is active, please adjust your settings there.', 'ayecode-connect' ); ?></p> |
|
| 702 | + <p><?php _e('The Official Font Awesome Plugin is active, please adjust your settings there.', 'ayecode-connect'); ?></p> |
|
| 703 | 703 | </div> |
| 704 | 704 | <?php |
| 705 | 705 | } |
| 706 | 706 | } else { |
| 707 | - if ( ! empty( $settings ) ) { |
|
| 708 | - if ( $settings['type'] != 'KIT' && $settings['pro'] && ( $settings['version'] == '' || version_compare( $settings['version'], '6', '>=' ) ) ) { |
|
| 707 | + if (!empty($settings)) { |
|
| 708 | + if ($settings['type'] != 'KIT' && $settings['pro'] && ($settings['version'] == '' || version_compare($settings['version'], '6', '>='))) { |
|
| 709 | 709 | $link = admin_url('options-general.php?page=wp-font-awesome-settings'); |
| 710 | 710 | ?> |
| 711 | 711 | <div class="notice notice-error is-dismissible"> |
| 712 | - <p><?php echo wp_sprintf( __( 'Font Awesome Pro v6 requires the use of a kit, please setup your kit in %ssettings.%s', 'ayecode-connect' ),"<a href='". esc_url_raw( $link )."'>","</a>" ); ?></p> |
|
| 712 | + <p><?php echo wp_sprintf(__('Font Awesome Pro v6 requires the use of a kit, please setup your kit in %ssettings.%s', 'ayecode-connect'), "<a href='" . esc_url_raw($link) . "'>", "</a>"); ?></p> |
|
| 713 | 713 | </div> |
| 714 | 714 | <?php |
| 715 | 715 | } |
@@ -725,20 +725,20 @@ discard block |
||
| 725 | 725 | * @param string $option The option name. |
| 726 | 726 | * @param mixed $value The option value. |
| 727 | 727 | */ |
| 728 | - public function add_option_wp_font_awesome_settings( $option, $value ) { |
|
| 728 | + public function add_option_wp_font_awesome_settings($option, $value) { |
|
| 729 | 729 | // Do nothing if WordPress is being installed. |
| 730 | - if ( wp_installing() ) { |
|
| 730 | + if (wp_installing()) { |
|
| 731 | 731 | return; |
| 732 | 732 | } |
| 733 | 733 | |
| 734 | - if ( ! empty( $value['local'] ) && empty( $value['pro'] ) && ! ( ! empty( $value['type'] ) && $value['type'] == 'KIT' ) ) { |
|
| 735 | - $version = isset( $value['version'] ) && $value['version'] ? $value['version'] : $this->get_latest_version(); |
|
| 734 | + if (!empty($value['local']) && empty($value['pro']) && !(!empty($value['type']) && $value['type'] == 'KIT')) { |
|
| 735 | + $version = isset($value['version']) && $value['version'] ? $value['version'] : $this->get_latest_version(); |
|
| 736 | 736 | |
| 737 | - if ( ! empty( $version ) ) { |
|
| 738 | - $response = $this->download_package( $version, $value ); |
|
| 737 | + if (!empty($version)) { |
|
| 738 | + $response = $this->download_package($version, $value); |
|
| 739 | 739 | |
| 740 | - if ( is_wp_error( $response ) ) { |
|
| 741 | - add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'ayecode-connect' ) . ' ' . $response->get_error_message(), 'error' ); |
|
| 740 | + if (is_wp_error($response)) { |
|
| 741 | + add_settings_error('general', 'fontawesome_download', __('ERROR:', 'ayecode-connect') . ' ' . $response->get_error_message(), 'error'); |
|
| 742 | 742 | } |
| 743 | 743 | } |
| 744 | 744 | } |
@@ -752,25 +752,25 @@ discard block |
||
| 752 | 752 | * @param mixed $old_value The old option value. |
| 753 | 753 | * @param mixed $value The new option value. |
| 754 | 754 | */ |
| 755 | - public function update_option_wp_font_awesome_settings( $old_value, $new_value ) { |
|
| 755 | + public function update_option_wp_font_awesome_settings($old_value, $new_value) { |
|
| 756 | 756 | // Do nothing if WordPress is being installed. |
| 757 | - if ( wp_installing() ) { |
|
| 757 | + if (wp_installing()) { |
|
| 758 | 758 | return; |
| 759 | 759 | } |
| 760 | 760 | |
| 761 | - if ( ! empty( $new_value['local'] ) && empty( $new_value['pro'] ) && ! ( ! empty( $new_value['type'] ) && $new_value['type'] == 'KIT' ) ) { |
|
| 761 | + if (!empty($new_value['local']) && empty($new_value['pro']) && !(!empty($new_value['type']) && $new_value['type'] == 'KIT')) { |
|
| 762 | 762 | // Old values |
| 763 | - $old_version = isset( $old_value['version'] ) && $old_value['version'] ? $old_value['version'] : ( isset( $old_value['local_version'] ) ? $old_value['local_version'] : '' ); |
|
| 764 | - $old_local = isset( $old_value['local'] ) ? (int) $old_value['local'] : 0; |
|
| 763 | + $old_version = isset($old_value['version']) && $old_value['version'] ? $old_value['version'] : (isset($old_value['local_version']) ? $old_value['local_version'] : ''); |
|
| 764 | + $old_local = isset($old_value['local']) ? (int) $old_value['local'] : 0; |
|
| 765 | 765 | |
| 766 | 766 | // New values |
| 767 | - $new_version = isset( $new_value['version'] ) && $new_value['version'] ? $new_value['version'] : $this->get_latest_version(); |
|
| 767 | + $new_version = isset($new_value['version']) && $new_value['version'] ? $new_value['version'] : $this->get_latest_version(); |
|
| 768 | 768 | |
| 769 | - if ( empty( $old_local ) || $old_version !== $new_version || ! file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) { |
|
| 770 | - $response = $this->download_package( $new_version, $new_value ); |
|
| 769 | + if (empty($old_local) || $old_version !== $new_version || !file_exists($this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css')) { |
|
| 770 | + $response = $this->download_package($new_version, $new_value); |
|
| 771 | 771 | |
| 772 | - if ( is_wp_error( $response ) ) { |
|
| 773 | - add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'ayecode-connect' ) . ' ' . $response->get_error_message(), 'error' ); |
|
| 772 | + if (is_wp_error($response)) { |
|
| 773 | + add_settings_error('general', 'fontawesome_download', __('ERROR:', 'ayecode-connect') . ' ' . $response->get_error_message(), 'error'); |
|
| 774 | 774 | } |
| 775 | 775 | } |
| 776 | 776 | } |
@@ -784,9 +784,9 @@ discard block |
||
| 784 | 784 | * @param string Fonts directory local path. |
| 785 | 785 | */ |
| 786 | 786 | public function get_fonts_dir() { |
| 787 | - $upload_dir = wp_upload_dir( null, false ); |
|
| 787 | + $upload_dir = wp_upload_dir(null, false); |
|
| 788 | 788 | |
| 789 | - return $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'ayefonts' . DIRECTORY_SEPARATOR . 'fa' . DIRECTORY_SEPARATOR; |
|
| 789 | + return $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'ayefonts' . DIRECTORY_SEPARATOR . 'fa' . DIRECTORY_SEPARATOR; |
|
| 790 | 790 | } |
| 791 | 791 | |
| 792 | 792 | /** |
@@ -797,9 +797,9 @@ discard block |
||
| 797 | 797 | * @param string Fonts directory local url. |
| 798 | 798 | */ |
| 799 | 799 | public function get_fonts_url() { |
| 800 | - $upload_dir = wp_upload_dir( null, false ); |
|
| 800 | + $upload_dir = wp_upload_dir(null, false); |
|
| 801 | 801 | |
| 802 | - return $upload_dir['baseurl'] . '/ayefonts/fa/'; |
|
| 802 | + return $upload_dir['baseurl'] . '/ayefonts/fa/'; |
|
| 803 | 803 | } |
| 804 | 804 | |
| 805 | 805 | /** |
@@ -810,7 +810,7 @@ discard block |
||
| 810 | 810 | * @return bool True if active else false. |
| 811 | 811 | */ |
| 812 | 812 | public function has_local() { |
| 813 | - if ( ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) && file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) { |
|
| 813 | + if (!empty($this->settings['local']) && empty($this->settings['pro']) && file_exists($this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css')) { |
|
| 814 | 814 | return true; |
| 815 | 815 | } |
| 816 | 816 | |
@@ -825,18 +825,18 @@ discard block |
||
| 825 | 825 | * @return object The WP Filesystem. |
| 826 | 826 | */ |
| 827 | 827 | public function get_wp_filesystem() { |
| 828 | - if ( ! function_exists( 'get_filesystem_method' ) ) { |
|
| 829 | - require_once( ABSPATH . "/wp-admin/includes/file.php" ); |
|
| 828 | + if (!function_exists('get_filesystem_method')) { |
|
| 829 | + require_once(ABSPATH . "/wp-admin/includes/file.php"); |
|
| 830 | 830 | } |
| 831 | 831 | |
| 832 | 832 | $access_type = get_filesystem_method(); |
| 833 | 833 | |
| 834 | - if ( $access_type === 'direct' ) { |
|
| 834 | + if ($access_type === 'direct') { |
|
| 835 | 835 | /* You can safely run request_filesystem_credentials() without any issues and don't need to worry about passing in a URL */ |
| 836 | - $creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() ); |
|
| 836 | + $creds = request_filesystem_credentials(trailingslashit(site_url()) . 'wp-admin/', '', false, false, array()); |
|
| 837 | 837 | |
| 838 | 838 | /* Initialize the API */ |
| 839 | - if ( ! WP_Filesystem( $creds ) ) { |
|
| 839 | + if (!WP_Filesystem($creds)) { |
|
| 840 | 840 | /* Any problems and we exit */ |
| 841 | 841 | return false; |
| 842 | 842 | } |
@@ -845,11 +845,11 @@ discard block |
||
| 845 | 845 | |
| 846 | 846 | return $wp_filesystem; |
| 847 | 847 | /* Do our file manipulations below */ |
| 848 | - } else if ( defined( 'FTP_USER' ) ) { |
|
| 849 | - $creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() ); |
|
| 848 | + } else if (defined('FTP_USER')) { |
|
| 849 | + $creds = request_filesystem_credentials(trailingslashit(site_url()) . 'wp-admin/', '', false, false, array()); |
|
| 850 | 850 | |
| 851 | 851 | /* Initialize the API */ |
| 852 | - if ( ! WP_Filesystem( $creds ) ) { |
|
| 852 | + if (!WP_Filesystem($creds)) { |
|
| 853 | 853 | /* Any problems and we exit */ |
| 854 | 854 | return false; |
| 855 | 855 | } |
@@ -872,38 +872,38 @@ discard block |
||
| 872 | 872 | * @param array $option Fontawesome settings. |
| 873 | 873 | * @return WP_ERROR|bool Error on fail and true on success. |
| 874 | 874 | */ |
| 875 | - public function download_package( $version, $option = array() ) { |
|
| 875 | + public function download_package($version, $option = array()) { |
|
| 876 | 876 | $filename = 'fontawesome-free-' . $version . '-web'; |
| 877 | 877 | $url = 'https://use.fontawesome.com/releases/v' . $version . '/' . $filename . '.zip'; |
| 878 | 878 | |
| 879 | - if ( ! function_exists( 'wp_handle_upload' ) ) { |
|
| 879 | + if (!function_exists('wp_handle_upload')) { |
|
| 880 | 880 | require_once ABSPATH . 'wp-admin/includes/file.php'; |
| 881 | 881 | } |
| 882 | 882 | |
| 883 | - $download_file = download_url( esc_url_raw( $url ) ); |
|
| 883 | + $download_file = download_url(esc_url_raw($url)); |
|
| 884 | 884 | |
| 885 | - if ( is_wp_error( $download_file ) ) { |
|
| 886 | - return new WP_Error( 'fontawesome_download_failed', __( $download_file->get_error_message(), 'ayecode-connect' ) ); |
|
| 887 | - } else if ( empty( $download_file ) ) { |
|
| 888 | - return new WP_Error( 'fontawesome_download_failed', __( 'Something went wrong in downloading the font awesome to store locally.', 'ayecode-connect' ) ); |
|
| 885 | + if (is_wp_error($download_file)) { |
|
| 886 | + return new WP_Error('fontawesome_download_failed', __($download_file->get_error_message(), 'ayecode-connect')); |
|
| 887 | + } else if (empty($download_file)) { |
|
| 888 | + return new WP_Error('fontawesome_download_failed', __('Something went wrong in downloading the font awesome to store locally.', 'ayecode-connect')); |
|
| 889 | 889 | } |
| 890 | 890 | |
| 891 | - $response = $this->extract_package( $download_file, $filename, true ); |
|
| 891 | + $response = $this->extract_package($download_file, $filename, true); |
|
| 892 | 892 | |
| 893 | 893 | // Update local version. |
| 894 | - if ( is_wp_error( $response ) ) { |
|
| 894 | + if (is_wp_error($response)) { |
|
| 895 | 895 | return $response; |
| 896 | - } else if ( $response ) { |
|
| 897 | - if ( empty( $option ) ) { |
|
| 898 | - $option = get_option( 'wp-font-awesome-settings' ); |
|
| 896 | + } else if ($response) { |
|
| 897 | + if (empty($option)) { |
|
| 898 | + $option = get_option('wp-font-awesome-settings'); |
|
| 899 | 899 | } |
| 900 | 900 | |
| 901 | 901 | $option['local_version'] = $version; |
| 902 | 902 | |
| 903 | 903 | // Remove action to prevent looping. |
| 904 | - remove_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 ); |
|
| 904 | + remove_action('update_option_wp-font-awesome-settings', array($this, 'update_option_wp_font_awesome_settings'), 10, 2); |
|
| 905 | 905 | |
| 906 | - update_option( 'wp-font-awesome-settings', $option ); |
|
| 906 | + update_option('wp-font-awesome-settings', $option); |
|
| 907 | 907 | |
| 908 | 908 | return true; |
| 909 | 909 | } |
@@ -921,60 +921,60 @@ discard block |
||
| 921 | 921 | * @param bool $delete_package Delete temp file or not. |
| 922 | 922 | * @return WP_Error|bool True on success WP_Error on fail. |
| 923 | 923 | */ |
| 924 | - public function extract_package( $package, $dirname = '', $delete_package = false ) { |
|
| 924 | + public function extract_package($package, $dirname = '', $delete_package = false) { |
|
| 925 | 925 | global $wp_filesystem; |
| 926 | 926 | |
| 927 | 927 | $wp_filesystem = $this->get_wp_filesystem(); |
| 928 | 928 | |
| 929 | - if ( empty( $wp_filesystem ) && isset( $wp_filesystem->errors ) && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() ) { |
|
| 930 | - return new WP_Error( 'fontawesome_filesystem_error', __( $wp_filesystem->errors->get_error_message(), 'ayecode-connect' ) ); |
|
| 931 | - } else if ( empty( $wp_filesystem ) ) { |
|
| 932 | - return new WP_Error( 'fontawesome_filesystem_error', __( 'Failed to initialise WP_Filesystem while trying to download the Font Awesome package.', 'ayecode-connect' ) ); |
|
| 929 | + if (empty($wp_filesystem) && isset($wp_filesystem->errors) && is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code()) { |
|
| 930 | + return new WP_Error('fontawesome_filesystem_error', __($wp_filesystem->errors->get_error_message(), 'ayecode-connect')); |
|
| 931 | + } else if (empty($wp_filesystem)) { |
|
| 932 | + return new WP_Error('fontawesome_filesystem_error', __('Failed to initialise WP_Filesystem while trying to download the Font Awesome package.', 'ayecode-connect')); |
|
| 933 | 933 | } |
| 934 | 934 | |
| 935 | 935 | $fonts_dir = $this->get_fonts_dir(); |
| 936 | - $fonts_tmp_dir = dirname( $fonts_dir ) . DIRECTORY_SEPARATOR . 'fa-tmp' . DIRECTORY_SEPARATOR; |
|
| 936 | + $fonts_tmp_dir = dirname($fonts_dir) . DIRECTORY_SEPARATOR . 'fa-tmp' . DIRECTORY_SEPARATOR; |
|
| 937 | 937 | |
| 938 | - if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) { |
|
| 939 | - $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 938 | + if ($wp_filesystem->is_dir($fonts_tmp_dir)) { |
|
| 939 | + $wp_filesystem->delete($fonts_tmp_dir, true); |
|
| 940 | 940 | } |
| 941 | 941 | |
| 942 | 942 | // Unzip package to working directory. |
| 943 | - $result = unzip_file( $package, $fonts_tmp_dir ); |
|
| 943 | + $result = unzip_file($package, $fonts_tmp_dir); |
|
| 944 | 944 | |
| 945 | - if ( is_wp_error( $result ) ) { |
|
| 946 | - $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 945 | + if (is_wp_error($result)) { |
|
| 946 | + $wp_filesystem->delete($fonts_tmp_dir, true); |
|
| 947 | 947 | |
| 948 | - if ( 'incompatible_archive' === $result->get_error_code() ) { |
|
| 949 | - return new WP_Error( 'fontawesome_incompatible_archive', __( $result->get_error_message(), 'ayecode-connect' ) ); |
|
| 948 | + if ('incompatible_archive' === $result->get_error_code()) { |
|
| 949 | + return new WP_Error('fontawesome_incompatible_archive', __($result->get_error_message(), 'ayecode-connect')); |
|
| 950 | 950 | } |
| 951 | 951 | |
| 952 | 952 | return $result; |
| 953 | 953 | } |
| 954 | 954 | |
| 955 | - if ( $wp_filesystem->is_dir( $fonts_dir ) ) { |
|
| 956 | - $wp_filesystem->delete( $fonts_dir, true ); |
|
| 955 | + if ($wp_filesystem->is_dir($fonts_dir)) { |
|
| 956 | + $wp_filesystem->delete($fonts_dir, true); |
|
| 957 | 957 | } |
| 958 | 958 | |
| 959 | 959 | $extract_dir = $fonts_tmp_dir; |
| 960 | 960 | |
| 961 | - if ( $dirname && $wp_filesystem->is_dir( $extract_dir . $dirname . DIRECTORY_SEPARATOR ) ) { |
|
| 961 | + if ($dirname && $wp_filesystem->is_dir($extract_dir . $dirname . DIRECTORY_SEPARATOR)) { |
|
| 962 | 962 | $extract_dir .= $dirname . DIRECTORY_SEPARATOR; |
| 963 | 963 | } |
| 964 | 964 | |
| 965 | 965 | try { |
| 966 | - $return = $wp_filesystem->move( $extract_dir, $fonts_dir, true ); |
|
| 967 | - } catch ( Exception $e ) { |
|
| 968 | - $return = new WP_Error( 'fontawesome_move_package', __( 'Fail to move font awesome package!', 'ayecode-connect' ) ); |
|
| 966 | + $return = $wp_filesystem->move($extract_dir, $fonts_dir, true); |
|
| 967 | + } catch (Exception $e) { |
|
| 968 | + $return = new WP_Error('fontawesome_move_package', __('Fail to move font awesome package!', 'ayecode-connect')); |
|
| 969 | 969 | } |
| 970 | 970 | |
| 971 | - if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) { |
|
| 972 | - $wp_filesystem->delete( $fonts_tmp_dir, true ); |
|
| 971 | + if ($wp_filesystem->is_dir($fonts_tmp_dir)) { |
|
| 972 | + $wp_filesystem->delete($fonts_tmp_dir, true); |
|
| 973 | 973 | } |
| 974 | 974 | |
| 975 | 975 | // Once extracted, delete the package if required. |
| 976 | - if ( $delete_package ) { |
|
| 977 | - unlink( $package ); |
|
| 976 | + if ($delete_package) { |
|
| 977 | + unlink($package); |
|
| 978 | 978 | } |
| 979 | 979 | |
| 980 | 980 | return $return; |
@@ -984,22 +984,22 @@ discard block |
||
| 984 | 984 | * Output the version in the header. |
| 985 | 985 | */ |
| 986 | 986 | public function add_generator() { |
| 987 | - $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 988 | - $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 987 | + $file = str_replace(array("/", "\\"), "/", realpath(__FILE__)); |
|
| 988 | + $plugins_dir = str_replace(array("/", "\\"), "/", realpath(WP_PLUGIN_DIR)); |
|
| 989 | 989 | |
| 990 | 990 | // Find source plugin/theme. |
| 991 | 991 | $source = array(); |
| 992 | - if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 993 | - $source = explode( "/", plugin_basename( $file ) ); |
|
| 994 | - } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 995 | - $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 992 | + if (strpos($file, $plugins_dir) !== false) { |
|
| 993 | + $source = explode("/", plugin_basename($file)); |
|
| 994 | + } else if (function_exists('get_theme_root')) { |
|
| 995 | + $themes_dir = str_replace(array("/", "\\"), "/", realpath(get_theme_root())); |
|
| 996 | 996 | |
| 997 | - if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 998 | - $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 997 | + if (strpos($file, $themes_dir) !== false) { |
|
| 998 | + $source = explode("/", ltrim(str_replace($themes_dir, "", $file), "/")); |
|
| 999 | 999 | } |
| 1000 | 1000 | } |
| 1001 | 1001 | |
| 1002 | - echo '<meta name="generator" content="WP Font Awesome Settings v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-ac-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />'; |
|
| 1002 | + echo '<meta name="generator" content="WP Font Awesome Settings v' . esc_attr($this->version) . '"' . (!empty($source[0]) ? ' data-ac-source="' . esc_attr($source[0]) . '"' : '') . ' />'; |
|
| 1003 | 1003 | } |
| 1004 | 1004 | } |
| 1005 | 1005 | |
@@ -462,7 +462,7 @@ discard block |
||
| 462 | 462 | |
| 463 | 463 | if( is_admin() && !$this->is_aui_screen()){ |
| 464 | 464 | // don't add wp-admin scripts if not requested to |
| 465 | - }else{ |
|
| 465 | + } else{ |
|
| 466 | 466 | $css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend'; |
| 467 | 467 | |
| 468 | 468 | $rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : ''; |
@@ -552,7 +552,7 @@ discard block |
||
| 552 | 552 | // custom changes |
| 553 | 553 | if ( $load_fse ) { |
| 554 | 554 | wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) ); |
| 555 | - }else{ |
|
| 555 | + } else{ |
|
| 556 | 556 | wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) ); |
| 557 | 557 | |
| 558 | 558 | } |
@@ -576,7 +576,7 @@ discard block |
||
| 576 | 576 | ob_start(); |
| 577 | 577 | if ( $aui_bs5 ) { |
| 578 | 578 | include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' ); |
| 579 | - }else{ |
|
| 579 | + } else{ |
|
| 580 | 580 | include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' ); |
| 581 | 581 | } |
| 582 | 582 | |
@@ -647,7 +647,7 @@ discard block |
||
| 647 | 647 | |
| 648 | 648 | if( is_admin() && !$this->is_aui_screen()){ |
| 649 | 649 | // don't add wp-admin scripts if not requested to |
| 650 | - }else { |
|
| 650 | + } else { |
|
| 651 | 651 | |
| 652 | 652 | $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend'; |
| 653 | 653 | |
@@ -662,7 +662,7 @@ discard block |
||
| 662 | 662 | // iconpicker |
| 663 | 663 | if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) { |
| 664 | 664 | wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version ); |
| 665 | - }else{ |
|
| 665 | + } else{ |
|
| 666 | 666 | wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version ); |
| 667 | 667 | } |
| 668 | 668 | |
@@ -1094,7 +1094,7 @@ discard block |
||
| 1094 | 1094 | $colors[$color['slug']] = esc_attr($color['color']); |
| 1095 | 1095 | } |
| 1096 | 1096 | } |
| 1097 | - }else{ |
|
| 1097 | + } else{ |
|
| 1098 | 1098 | $settings = get_option('aui_options'); |
| 1099 | 1099 | $colors = array( |
| 1100 | 1100 | 'primary' => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR, |
@@ -1232,9 +1232,9 @@ discard block |
||
| 1232 | 1232 | |
| 1233 | 1233 | if($compatibility===true || $compatibility===1){ |
| 1234 | 1234 | $compatibility = '.bsui'; |
| 1235 | - }elseif(!$compatibility){ |
|
| 1235 | + } elseif(!$compatibility){ |
|
| 1236 | 1236 | $compatibility = ''; |
| 1237 | - }else{ |
|
| 1237 | + } else{ |
|
| 1238 | 1238 | $compatibility = esc_attr($compatibility); |
| 1239 | 1239 | } |
| 1240 | 1240 | |
@@ -1517,9 +1517,9 @@ discard block |
||
| 1517 | 1517 | |
| 1518 | 1518 | if($compatibility===true || $compatibility===1){ |
| 1519 | 1519 | $compatibility = '.bsui'; |
| 1520 | - }elseif(!$compatibility){ |
|
| 1520 | + } elseif(!$compatibility){ |
|
| 1521 | 1521 | $compatibility = ''; |
| 1522 | - }else{ |
|
| 1522 | + } else{ |
|
| 1523 | 1523 | $compatibility = esc_attr($compatibility); |
| 1524 | 1524 | } |
| 1525 | 1525 | |
@@ -2385,7 +2385,9 @@ discard block |
||
| 2385 | 2385 | * @return mixed |
| 2386 | 2386 | */ |
| 2387 | 2387 | public static function minify_js($input) { |
| 2388 | - if(trim($input) === "") return $input; |
|
| 2388 | + if(trim($input) === "") { |
|
| 2389 | + return $input; |
|
| 2390 | + } |
|
| 2389 | 2391 | return preg_replace( |
| 2390 | 2392 | array( |
| 2391 | 2393 | // Remove comment(s) |
@@ -2417,7 +2419,9 @@ discard block |
||
| 2417 | 2419 | * @return mixed |
| 2418 | 2420 | */ |
| 2419 | 2421 | public static function minify_css($input) { |
| 2420 | - if(trim($input) === "") return $input; |
|
| 2422 | + if(trim($input) === "") { |
|
| 2423 | + return $input; |
|
| 2424 | + } |
|
| 2421 | 2425 | return preg_replace( |
| 2422 | 2426 | array( |
| 2423 | 2427 | // Remove comment(s) |
@@ -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.6'; |
|
| 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.6'; |
|
| 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; |
@@ -535,67 +535,67 @@ discard block |
||
| 535 | 535 | } |
| 536 | 536 | "; |
| 537 | 537 | |
| 538 | - // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377 |
|
| 539 | - $custom_css .= " |
|
| 538 | + // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377 |
|
| 539 | + $custom_css .= " |
|
| 540 | 540 | .edit-post-sidebar input[type=color].components-text-control__input{ |
| 541 | 541 | padding: 0; |
| 542 | 542 | } |
| 543 | 543 | "; |
| 544 | - wp_add_inline_style( 'ayecode-ui', $custom_css ); |
|
| 545 | - } |
|
| 544 | + wp_add_inline_style( 'ayecode-ui', $custom_css ); |
|
| 545 | + } |
|
| 546 | 546 | |
| 547 | - // custom changes |
|
| 548 | - if ( $load_fse ) { |
|
| 549 | - wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) ); |
|
| 550 | - }else{ |
|
| 551 | - wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) ); |
|
| 547 | + // custom changes |
|
| 548 | + if ( $load_fse ) { |
|
| 549 | + wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) ); |
|
| 550 | + }else{ |
|
| 551 | + wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) ); |
|
| 552 | 552 | |
| 553 | - } |
|
| 553 | + } |
|
| 554 | 554 | |
| 555 | - } |
|
| 556 | - } |
|
| 555 | + } |
|
| 556 | + } |
|
| 557 | 557 | |
| 558 | 558 | |
| 559 | - } |
|
| 559 | + } |
|
| 560 | 560 | |
| 561 | - /** |
|
| 562 | - * Get inline script used if bootstrap enqueued |
|
| 563 | - * |
|
| 564 | - * If this remains small then its best to use this than to add another JS file. |
|
| 565 | - */ |
|
| 566 | - public function inline_script() { |
|
| 561 | + /** |
|
| 562 | + * Get inline script used if bootstrap enqueued |
|
| 563 | + * |
|
| 564 | + * If this remains small then its best to use this than to add another JS file. |
|
| 565 | + */ |
|
| 566 | + public function inline_script() { |
|
| 567 | 567 | global $aui_bs5; |
| 568 | - // Flatpickr calendar locale |
|
| 569 | - $flatpickr_locale = self::flatpickr_locale(); |
|
| 570 | - |
|
| 571 | - ob_start(); |
|
| 572 | - if ( $aui_bs5 ) { |
|
| 573 | - include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' ); |
|
| 574 | - }else{ |
|
| 575 | - include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' ); |
|
| 568 | + // Flatpickr calendar locale |
|
| 569 | + $flatpickr_locale = self::flatpickr_locale(); |
|
| 570 | + |
|
| 571 | + ob_start(); |
|
| 572 | + if ( $aui_bs5 ) { |
|
| 573 | + include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' ); |
|
| 574 | + }else{ |
|
| 575 | + include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' ); |
|
| 576 | 576 | } |
| 577 | 577 | |
| 578 | - $output = ob_get_clean(); |
|
| 578 | + $output = ob_get_clean(); |
|
| 579 | 579 | |
| 580 | - /* |
|
| 580 | + /* |
|
| 581 | 581 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 582 | 582 | */ |
| 583 | - return str_replace( array( |
|
| 584 | - '<script>', |
|
| 585 | - '</script>' |
|
| 586 | - ), '', self::minify_js($output) ); |
|
| 587 | - } |
|
| 588 | - |
|
| 589 | - |
|
| 590 | - /** |
|
| 591 | - * JS to help with conflict issues with other plugins and themes using bootstrap v3. |
|
| 592 | - * |
|
| 593 | - * @TODO we may need this when other conflicts arrise. |
|
| 594 | - * @return mixed |
|
| 595 | - */ |
|
| 596 | - public static function bs3_compat_js() { |
|
| 597 | - ob_start(); |
|
| 598 | - ?> |
|
| 583 | + return str_replace( array( |
|
| 584 | + '<script>', |
|
| 585 | + '</script>' |
|
| 586 | + ), '', self::minify_js($output) ); |
|
| 587 | + } |
|
| 588 | + |
|
| 589 | + |
|
| 590 | + /** |
|
| 591 | + * JS to help with conflict issues with other plugins and themes using bootstrap v3. |
|
| 592 | + * |
|
| 593 | + * @TODO we may need this when other conflicts arrise. |
|
| 594 | + * @return mixed |
|
| 595 | + */ |
|
| 596 | + public static function bs3_compat_js() { |
|
| 597 | + ob_start(); |
|
| 598 | + ?> |
|
| 599 | 599 | <script> |
| 600 | 600 | <?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?> |
| 601 | 601 | /* With Avada builder */ |
@@ -603,20 +603,20 @@ discard block |
||
| 603 | 603 | <?php } ?> |
| 604 | 604 | </script> |
| 605 | 605 | <?php |
| 606 | - return str_replace( array( |
|
| 607 | - '<script>', |
|
| 608 | - '</script>' |
|
| 609 | - ), '', ob_get_clean()); |
|
| 610 | - } |
|
| 611 | - |
|
| 612 | - /** |
|
| 613 | - * Get inline script used if bootstrap file browser enqueued. |
|
| 614 | - * |
|
| 615 | - * If this remains small then its best to use this than to add another JS file. |
|
| 616 | - */ |
|
| 617 | - public function inline_script_file_browser(){ |
|
| 618 | - ob_start(); |
|
| 619 | - ?> |
|
| 606 | + return str_replace( array( |
|
| 607 | + '<script>', |
|
| 608 | + '</script>' |
|
| 609 | + ), '', ob_get_clean()); |
|
| 610 | + } |
|
| 611 | + |
|
| 612 | + /** |
|
| 613 | + * Get inline script used if bootstrap file browser enqueued. |
|
| 614 | + * |
|
| 615 | + * If this remains small then its best to use this than to add another JS file. |
|
| 616 | + */ |
|
| 617 | + public function inline_script_file_browser(){ |
|
| 618 | + ob_start(); |
|
| 619 | + ?> |
|
| 620 | 620 | <script> |
| 621 | 621 | // run on doc ready |
| 622 | 622 | jQuery(document).ready(function () { |
@@ -624,247 +624,247 @@ discard block |
||
| 624 | 624 | }); |
| 625 | 625 | </script> |
| 626 | 626 | <?php |
| 627 | - $output = ob_get_clean(); |
|
| 627 | + $output = ob_get_clean(); |
|
| 628 | 628 | |
| 629 | - /* |
|
| 629 | + /* |
|
| 630 | 630 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 631 | 631 | */ |
| 632 | - return str_replace( array( |
|
| 633 | - '<script>', |
|
| 634 | - '</script>' |
|
| 635 | - ), '', $output ); |
|
| 636 | - } |
|
| 632 | + return str_replace( array( |
|
| 633 | + '<script>', |
|
| 634 | + '</script>' |
|
| 635 | + ), '', $output ); |
|
| 636 | + } |
|
| 637 | 637 | |
| 638 | - /** |
|
| 639 | - * Adds the Font Awesome JS. |
|
| 640 | - */ |
|
| 641 | - public function enqueue_scripts() { |
|
| 638 | + /** |
|
| 639 | + * Adds the Font Awesome JS. |
|
| 640 | + */ |
|
| 641 | + public function enqueue_scripts() { |
|
| 642 | 642 | |
| 643 | - if( is_admin() && !$this->is_aui_screen()){ |
|
| 644 | - // don't add wp-admin scripts if not requested to |
|
| 645 | - }else { |
|
| 643 | + if( is_admin() && !$this->is_aui_screen()){ |
|
| 644 | + // don't add wp-admin scripts if not requested to |
|
| 645 | + }else { |
|
| 646 | 646 | |
| 647 | - $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend'; |
|
| 647 | + $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend'; |
|
| 648 | 648 | |
| 649 | - $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : ''; |
|
| 649 | + $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : ''; |
|
| 650 | 650 | |
| 651 | - // select2 |
|
| 652 | - wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version ); |
|
| 651 | + // select2 |
|
| 652 | + wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version ); |
|
| 653 | 653 | |
| 654 | - // flatpickr |
|
| 655 | - wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version ); |
|
| 654 | + // flatpickr |
|
| 655 | + wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version ); |
|
| 656 | 656 | |
| 657 | - // iconpicker |
|
| 658 | - if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) { |
|
| 659 | - wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version ); |
|
| 660 | - }else{ |
|
| 661 | - wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version ); |
|
| 662 | - } |
|
| 657 | + // iconpicker |
|
| 658 | + if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) { |
|
| 659 | + wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version ); |
|
| 660 | + }else{ |
|
| 661 | + wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version ); |
|
| 662 | + } |
|
| 663 | 663 | |
| 664 | - // Bootstrap file browser |
|
| 665 | - wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version ); |
|
| 666 | - wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() ); |
|
| 667 | - |
|
| 668 | - $load_inline = false; |
|
| 669 | - |
|
| 670 | - if ( $this->settings[ $js_setting ] == 'core-popper' ) { |
|
| 671 | - // Bootstrap bundle |
|
| 672 | - $url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js'; |
|
| 673 | - wp_register_script( 'bootstrap-js-bundle', $url, array( |
|
| 674 | - 'select2', |
|
| 675 | - 'jquery' |
|
| 676 | - ), $this->version, $this->is_bs3_compat() ); |
|
| 677 | - // if in admin then add to footer for compatibility. |
|
| 678 | - is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' ); |
|
| 679 | - $script = $this->inline_script(); |
|
| 680 | - wp_add_inline_script( 'bootstrap-js-bundle', $script ); |
|
| 681 | - } elseif ( $this->settings[ $js_setting ] == 'popper' ) { |
|
| 682 | - $url = $this->url . 'assets/js/popper.min.js'; //@todo we need to update this to bs5 |
|
| 683 | - wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version ); |
|
| 684 | - wp_enqueue_script( 'bootstrap-js-popper' ); |
|
| 685 | - $load_inline = true; |
|
| 686 | - } else { |
|
| 687 | - $load_inline = true; |
|
| 688 | - } |
|
| 664 | + // Bootstrap file browser |
|
| 665 | + wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version ); |
|
| 666 | + wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() ); |
|
| 667 | + |
|
| 668 | + $load_inline = false; |
|
| 669 | + |
|
| 670 | + if ( $this->settings[ $js_setting ] == 'core-popper' ) { |
|
| 671 | + // Bootstrap bundle |
|
| 672 | + $url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js'; |
|
| 673 | + wp_register_script( 'bootstrap-js-bundle', $url, array( |
|
| 674 | + 'select2', |
|
| 675 | + 'jquery' |
|
| 676 | + ), $this->version, $this->is_bs3_compat() ); |
|
| 677 | + // if in admin then add to footer for compatibility. |
|
| 678 | + is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' ); |
|
| 679 | + $script = $this->inline_script(); |
|
| 680 | + wp_add_inline_script( 'bootstrap-js-bundle', $script ); |
|
| 681 | + } elseif ( $this->settings[ $js_setting ] == 'popper' ) { |
|
| 682 | + $url = $this->url . 'assets/js/popper.min.js'; //@todo we need to update this to bs5 |
|
| 683 | + wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version ); |
|
| 684 | + wp_enqueue_script( 'bootstrap-js-popper' ); |
|
| 685 | + $load_inline = true; |
|
| 686 | + } else { |
|
| 687 | + $load_inline = true; |
|
| 688 | + } |
|
| 689 | 689 | |
| 690 | - // Load needed inline scripts by faking the loading of a script if the main script is not being loaded |
|
| 691 | - if ( $load_inline ) { |
|
| 692 | - wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) ); |
|
| 693 | - wp_enqueue_script( 'bootstrap-dummy' ); |
|
| 694 | - $script = $this->inline_script(); |
|
| 695 | - wp_add_inline_script( 'bootstrap-dummy', $script ); |
|
| 696 | - } |
|
| 697 | - } |
|
| 698 | - |
|
| 699 | - } |
|
| 700 | - |
|
| 701 | - /** |
|
| 702 | - * Enqueue flatpickr if called. |
|
| 703 | - */ |
|
| 704 | - public function enqueue_flatpickr(){ |
|
| 705 | - wp_enqueue_style( 'flatpickr' ); |
|
| 706 | - wp_enqueue_script( 'flatpickr' ); |
|
| 707 | - } |
|
| 708 | - |
|
| 709 | - /** |
|
| 710 | - * Enqueue iconpicker if called. |
|
| 711 | - */ |
|
| 712 | - public function enqueue_iconpicker(){ |
|
| 713 | - wp_enqueue_style( 'iconpicker' ); |
|
| 714 | - wp_enqueue_script( 'iconpicker' ); |
|
| 715 | - } |
|
| 716 | - |
|
| 717 | - /** |
|
| 718 | - * Get the url path to the current folder. |
|
| 719 | - * |
|
| 720 | - * @return string |
|
| 721 | - */ |
|
| 722 | - public function get_url() { |
|
| 723 | - $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 724 | - $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 725 | - |
|
| 726 | - // Replace http:// to https://. |
|
| 727 | - if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 728 | - $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 729 | - } |
|
| 730 | - |
|
| 731 | - // Check if we are inside a plugin |
|
| 732 | - $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 733 | - $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 734 | - |
|
| 735 | - return trailingslashit( $url ); |
|
| 736 | - } |
|
| 737 | - |
|
| 738 | - /** |
|
| 739 | - * Get the url path to the current folder. |
|
| 740 | - * |
|
| 741 | - * @return string |
|
| 742 | - */ |
|
| 743 | - public function get_url_old() { |
|
| 744 | - |
|
| 745 | - $url = ''; |
|
| 746 | - // check if we are inside a plugin |
|
| 747 | - $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 748 | - |
|
| 749 | - // add check in-case user has changed wp-content dir name. |
|
| 750 | - $wp_content_folder_name = basename(WP_CONTENT_DIR); |
|
| 751 | - $dir_parts = explode("/$wp_content_folder_name/",$file_dir); |
|
| 752 | - $url_parts = explode("/$wp_content_folder_name/",plugins_url()); |
|
| 753 | - |
|
| 754 | - if(!empty($url_parts[0]) && !empty($dir_parts[1])){ |
|
| 755 | - $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] ); |
|
| 756 | - } |
|
| 757 | - |
|
| 758 | - return $url; |
|
| 759 | - } |
|
| 760 | - |
|
| 761 | - /** |
|
| 762 | - * Register the database settings with WordPress. |
|
| 763 | - */ |
|
| 764 | - public function register_settings() { |
|
| 765 | - register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' ); |
|
| 766 | - } |
|
| 767 | - |
|
| 768 | - /** |
|
| 769 | - * Add the WordPress settings menu item. |
|
| 770 | - * @since 1.0.10 Calling function name direct will fail theme check so we don't. |
|
| 771 | - */ |
|
| 772 | - public function menu_item() { |
|
| 773 | - $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme |
|
| 774 | - call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array( |
|
| 775 | - $this, |
|
| 776 | - 'settings_page' |
|
| 777 | - ) ); |
|
| 778 | - } |
|
| 779 | - |
|
| 780 | - /** |
|
| 781 | - * Get a list of themes and their default JS settings. |
|
| 782 | - * |
|
| 783 | - * @return array |
|
| 784 | - */ |
|
| 785 | - public function theme_js_settings(){ |
|
| 786 | - return array( |
|
| 787 | - 'ayetheme' => 'popper', |
|
| 788 | - 'listimia' => 'required', |
|
| 789 | - 'listimia_backend' => 'core-popper', |
|
| 790 | - //'avada' => 'required', // removed as we now add compatibility |
|
| 791 | - ); |
|
| 792 | - } |
|
| 793 | - |
|
| 794 | - /** |
|
| 795 | - * Get the current Font Awesome output settings. |
|
| 796 | - * |
|
| 797 | - * @return array The array of settings. |
|
| 798 | - */ |
|
| 799 | - public function get_settings() { |
|
| 800 | - |
|
| 801 | - $db_settings = get_option( 'ayecode-ui-settings' ); |
|
| 802 | - $js_default = 'core-popper'; |
|
| 803 | - $js_default_backend = $js_default; |
|
| 804 | - |
|
| 805 | - // maybe set defaults (if no settings set) |
|
| 806 | - if(empty($db_settings)){ |
|
| 807 | - $active_theme = strtolower( get_template() ); // active parent theme. |
|
| 808 | - $theme_js_settings = self::theme_js_settings(); |
|
| 809 | - if(isset($theme_js_settings[$active_theme])){ |
|
| 810 | - $js_default = $theme_js_settings[$active_theme]; |
|
| 811 | - $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default; |
|
| 812 | - } |
|
| 813 | - } |
|
| 690 | + // Load needed inline scripts by faking the loading of a script if the main script is not being loaded |
|
| 691 | + if ( $load_inline ) { |
|
| 692 | + wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) ); |
|
| 693 | + wp_enqueue_script( 'bootstrap-dummy' ); |
|
| 694 | + $script = $this->inline_script(); |
|
| 695 | + wp_add_inline_script( 'bootstrap-dummy', $script ); |
|
| 696 | + } |
|
| 697 | + } |
|
| 814 | 698 | |
| 815 | - /** |
|
| 816 | - * Filter the default settings. |
|
| 817 | - */ |
|
| 818 | - $defaults = apply_filters( 'ayecode-ui-default-settings', array( |
|
| 819 | - 'css' => 'compatibility', // core, compatibility |
|
| 820 | - 'js' => $js_default, // js to load, core-popper, popper |
|
| 821 | - 'html_font_size' => '16', // js to load, core-popper, popper |
|
| 822 | - 'css_backend' => 'compatibility', // core, compatibility |
|
| 823 | - 'js_backend' => $js_default_backend, // js to load, core-popper, popper |
|
| 824 | - 'disable_admin' => '', // URL snippets to disable loading on admin |
|
| 699 | + } |
|
| 700 | + |
|
| 701 | + /** |
|
| 702 | + * Enqueue flatpickr if called. |
|
| 703 | + */ |
|
| 704 | + public function enqueue_flatpickr(){ |
|
| 705 | + wp_enqueue_style( 'flatpickr' ); |
|
| 706 | + wp_enqueue_script( 'flatpickr' ); |
|
| 707 | + } |
|
| 708 | + |
|
| 709 | + /** |
|
| 710 | + * Enqueue iconpicker if called. |
|
| 711 | + */ |
|
| 712 | + public function enqueue_iconpicker(){ |
|
| 713 | + wp_enqueue_style( 'iconpicker' ); |
|
| 714 | + wp_enqueue_script( 'iconpicker' ); |
|
| 715 | + } |
|
| 716 | + |
|
| 717 | + /** |
|
| 718 | + * Get the url path to the current folder. |
|
| 719 | + * |
|
| 720 | + * @return string |
|
| 721 | + */ |
|
| 722 | + public function get_url() { |
|
| 723 | + $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 724 | + $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 725 | + |
|
| 726 | + // Replace http:// to https://. |
|
| 727 | + if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 728 | + $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 729 | + } |
|
| 730 | + |
|
| 731 | + // Check if we are inside a plugin |
|
| 732 | + $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 733 | + $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 734 | + |
|
| 735 | + return trailingslashit( $url ); |
|
| 736 | + } |
|
| 737 | + |
|
| 738 | + /** |
|
| 739 | + * Get the url path to the current folder. |
|
| 740 | + * |
|
| 741 | + * @return string |
|
| 742 | + */ |
|
| 743 | + public function get_url_old() { |
|
| 744 | + |
|
| 745 | + $url = ''; |
|
| 746 | + // check if we are inside a plugin |
|
| 747 | + $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 748 | + |
|
| 749 | + // add check in-case user has changed wp-content dir name. |
|
| 750 | + $wp_content_folder_name = basename(WP_CONTENT_DIR); |
|
| 751 | + $dir_parts = explode("/$wp_content_folder_name/",$file_dir); |
|
| 752 | + $url_parts = explode("/$wp_content_folder_name/",plugins_url()); |
|
| 753 | + |
|
| 754 | + if(!empty($url_parts[0]) && !empty($dir_parts[1])){ |
|
| 755 | + $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] ); |
|
| 756 | + } |
|
| 757 | + |
|
| 758 | + return $url; |
|
| 759 | + } |
|
| 760 | + |
|
| 761 | + /** |
|
| 762 | + * Register the database settings with WordPress. |
|
| 763 | + */ |
|
| 764 | + public function register_settings() { |
|
| 765 | + register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' ); |
|
| 766 | + } |
|
| 767 | + |
|
| 768 | + /** |
|
| 769 | + * Add the WordPress settings menu item. |
|
| 770 | + * @since 1.0.10 Calling function name direct will fail theme check so we don't. |
|
| 771 | + */ |
|
| 772 | + public function menu_item() { |
|
| 773 | + $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme |
|
| 774 | + call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array( |
|
| 775 | + $this, |
|
| 776 | + 'settings_page' |
|
| 777 | + ) ); |
|
| 778 | + } |
|
| 779 | + |
|
| 780 | + /** |
|
| 781 | + * Get a list of themes and their default JS settings. |
|
| 782 | + * |
|
| 783 | + * @return array |
|
| 784 | + */ |
|
| 785 | + public function theme_js_settings(){ |
|
| 786 | + return array( |
|
| 787 | + 'ayetheme' => 'popper', |
|
| 788 | + 'listimia' => 'required', |
|
| 789 | + 'listimia_backend' => 'core-popper', |
|
| 790 | + //'avada' => 'required', // removed as we now add compatibility |
|
| 791 | + ); |
|
| 792 | + } |
|
| 793 | + |
|
| 794 | + /** |
|
| 795 | + * Get the current Font Awesome output settings. |
|
| 796 | + * |
|
| 797 | + * @return array The array of settings. |
|
| 798 | + */ |
|
| 799 | + public function get_settings() { |
|
| 800 | + |
|
| 801 | + $db_settings = get_option( 'ayecode-ui-settings' ); |
|
| 802 | + $js_default = 'core-popper'; |
|
| 803 | + $js_default_backend = $js_default; |
|
| 804 | + |
|
| 805 | + // maybe set defaults (if no settings set) |
|
| 806 | + if(empty($db_settings)){ |
|
| 807 | + $active_theme = strtolower( get_template() ); // active parent theme. |
|
| 808 | + $theme_js_settings = self::theme_js_settings(); |
|
| 809 | + if(isset($theme_js_settings[$active_theme])){ |
|
| 810 | + $js_default = $theme_js_settings[$active_theme]; |
|
| 811 | + $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default; |
|
| 812 | + } |
|
| 813 | + } |
|
| 814 | + |
|
| 815 | + /** |
|
| 816 | + * Filter the default settings. |
|
| 817 | + */ |
|
| 818 | + $defaults = apply_filters( 'ayecode-ui-default-settings', array( |
|
| 819 | + 'css' => 'compatibility', // core, compatibility |
|
| 820 | + 'js' => $js_default, // js to load, core-popper, popper |
|
| 821 | + 'html_font_size' => '16', // js to load, core-popper, popper |
|
| 822 | + 'css_backend' => 'compatibility', // core, compatibility |
|
| 823 | + 'js_backend' => $js_default_backend, // js to load, core-popper, popper |
|
| 824 | + 'disable_admin' => '', // URL snippets to disable loading on admin |
|
| 825 | 825 | 'bs_ver' => '4', // The default bootstrap version to sue by default |
| 826 | - ), $db_settings ); |
|
| 826 | + ), $db_settings ); |
|
| 827 | 827 | |
| 828 | - $settings = wp_parse_args( $db_settings, $defaults ); |
|
| 828 | + $settings = wp_parse_args( $db_settings, $defaults ); |
|
| 829 | 829 | |
| 830 | - /** |
|
| 831 | - * Filter the Bootstrap settings. |
|
| 832 | - * |
|
| 833 | - * @todo if we add this filer people might use it and then it defeates the purpose of this class :/ |
|
| 834 | - */ |
|
| 835 | - return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults ); |
|
| 836 | - } |
|
| 830 | + /** |
|
| 831 | + * Filter the Bootstrap settings. |
|
| 832 | + * |
|
| 833 | + * @todo if we add this filer people might use it and then it defeates the purpose of this class :/ |
|
| 834 | + */ |
|
| 835 | + return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults ); |
|
| 836 | + } |
|
| 837 | 837 | |
| 838 | 838 | |
| 839 | - /** |
|
| 840 | - * The settings page html output. |
|
| 841 | - */ |
|
| 842 | - public function settings_page() { |
|
| 843 | - if ( ! current_user_can( 'manage_options' ) ) { |
|
| 844 | - wp_die( __( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) ); |
|
| 845 | - } |
|
| 839 | + /** |
|
| 840 | + * The settings page html output. |
|
| 841 | + */ |
|
| 842 | + public function settings_page() { |
|
| 843 | + if ( ! current_user_can( 'manage_options' ) ) { |
|
| 844 | + wp_die( __( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) ); |
|
| 845 | + } |
|
| 846 | 846 | $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() ); |
| 847 | 847 | |
| 848 | - ?> |
|
| 848 | + ?> |
|
| 849 | 849 | <div class="wrap"> |
| 850 | 850 | <h1><?php echo $this->name; ?></h1> |
| 851 | 851 | <p><?php echo apply_filters( 'ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.", 'ayecode-connect' ) );?></p> |
| 852 | 852 | <form method="post" action="options.php"> |
| 853 | 853 | <?php |
| 854 | - settings_fields( 'ayecode-ui-settings' ); |
|
| 855 | - do_settings_sections( 'ayecode-ui-settings' ); |
|
| 856 | - ?> |
|
| 854 | + settings_fields( 'ayecode-ui-settings' ); |
|
| 855 | + do_settings_sections( 'ayecode-ui-settings' ); |
|
| 856 | + ?> |
|
| 857 | 857 | |
| 858 | 858 | <h2><?php _e( 'BootStrap Version', 'ayecode-connect' ); ?></h2> |
| 859 | 859 | <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.", 'ayecode-connect' ) );?></p> |
| 860 | 860 | <div class="bsui"><?php |
| 861 | - if ( ! empty( $overrides ) ) { |
|
| 862 | - echo aui()->alert(array( |
|
| 863 | - 'type'=> 'info', |
|
| 864 | - 'content'=> __("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' ) |
|
| 865 | - )); |
|
| 866 | - } |
|
| 867 | - ?> |
|
| 861 | + if ( ! empty( $overrides ) ) { |
|
| 862 | + echo aui()->alert(array( |
|
| 863 | + 'type'=> 'info', |
|
| 864 | + 'content'=> __("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' ) |
|
| 865 | + )); |
|
| 866 | + } |
|
| 867 | + ?> |
|
| 868 | 868 | </div> |
| 869 | 869 | <table class="form-table wpbs-table-version-settings"> |
| 870 | 870 | <tr valign="top"> |
@@ -948,77 +948,77 @@ discard block |
||
| 948 | 948 | </table> |
| 949 | 949 | |
| 950 | 950 | <?php |
| 951 | - submit_button(); |
|
| 952 | - ?> |
|
| 951 | + submit_button(); |
|
| 952 | + ?> |
|
| 953 | 953 | </form> |
| 954 | 954 | <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo $this->version; ?></div> |
| 955 | 955 | </div> |
| 956 | 956 | <?php |
| 957 | - } |
|
| 957 | + } |
|
| 958 | 958 | |
| 959 | 959 | public function get_load_source(){ |
| 960 | - $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 961 | - $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 962 | - |
|
| 963 | - // Find source plugin/theme of SD |
|
| 964 | - $source = array(); |
|
| 965 | - if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 966 | - $source = explode( "/", plugin_basename( $file ) ); |
|
| 967 | - } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 968 | - $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 969 | - |
|
| 970 | - if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 971 | - $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 972 | - } |
|
| 973 | - } |
|
| 960 | + $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 961 | + $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 962 | + |
|
| 963 | + // Find source plugin/theme of SD |
|
| 964 | + $source = array(); |
|
| 965 | + if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 966 | + $source = explode( "/", plugin_basename( $file ) ); |
|
| 967 | + } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 968 | + $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 969 | + |
|
| 970 | + if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 971 | + $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 972 | + } |
|
| 973 | + } |
|
| 974 | 974 | |
| 975 | 975 | return isset($source[0]) ? esc_attr($source[0]) : ''; |
| 976 | 976 | } |
| 977 | 977 | |
| 978 | - public function customizer_settings($wp_customize){ |
|
| 979 | - $wp_customize->add_section('aui_settings', array( |
|
| 980 | - 'title' => __('AyeCode UI', 'ayecode-connect' ), |
|
| 981 | - 'priority' => 120, |
|
| 982 | - )); |
|
| 983 | - |
|
| 984 | - // ============================= |
|
| 985 | - // = Color Picker = |
|
| 986 | - // ============================= |
|
| 987 | - $wp_customize->add_setting('aui_options[color_primary]', array( |
|
| 988 | - 'default' => AUI_PRIMARY_COLOR, |
|
| 989 | - 'sanitize_callback' => 'sanitize_hex_color', |
|
| 990 | - 'capability' => 'edit_theme_options', |
|
| 991 | - 'type' => 'option', |
|
| 992 | - 'transport' => 'refresh', |
|
| 993 | - )); |
|
| 994 | - $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array( |
|
| 995 | - 'label' => __('Primary Color', 'ayecode-connect' ), |
|
| 996 | - 'section' => 'aui_settings', |
|
| 997 | - 'settings' => 'aui_options[color_primary]', |
|
| 998 | - ))); |
|
| 999 | - |
|
| 1000 | - $wp_customize->add_setting('aui_options[color_secondary]', array( |
|
| 1001 | - 'default' => '#6c757d', |
|
| 1002 | - 'sanitize_callback' => 'sanitize_hex_color', |
|
| 1003 | - 'capability' => 'edit_theme_options', |
|
| 1004 | - 'type' => 'option', |
|
| 1005 | - 'transport' => 'refresh', |
|
| 1006 | - )); |
|
| 1007 | - $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array( |
|
| 1008 | - 'label' => __('Secondary Color', 'ayecode-connect' ), |
|
| 1009 | - 'section' => 'aui_settings', |
|
| 1010 | - 'settings' => 'aui_options[color_secondary]', |
|
| 1011 | - ))); |
|
| 1012 | - } |
|
| 1013 | - |
|
| 1014 | - /** |
|
| 1015 | - * CSS to help with conflict issues with other plugins and themes using bootstrap v3. |
|
| 1016 | - * |
|
| 1017 | - * @return mixed |
|
| 1018 | - */ |
|
| 1019 | - public static function bs3_compat_css() { |
|
| 1020 | - ob_start(); |
|
| 1021 | - ?> |
|
| 978 | + public function customizer_settings($wp_customize){ |
|
| 979 | + $wp_customize->add_section('aui_settings', array( |
|
| 980 | + 'title' => __('AyeCode UI', 'ayecode-connect' ), |
|
| 981 | + 'priority' => 120, |
|
| 982 | + )); |
|
| 983 | + |
|
| 984 | + // ============================= |
|
| 985 | + // = Color Picker = |
|
| 986 | + // ============================= |
|
| 987 | + $wp_customize->add_setting('aui_options[color_primary]', array( |
|
| 988 | + 'default' => AUI_PRIMARY_COLOR, |
|
| 989 | + 'sanitize_callback' => 'sanitize_hex_color', |
|
| 990 | + 'capability' => 'edit_theme_options', |
|
| 991 | + 'type' => 'option', |
|
| 992 | + 'transport' => 'refresh', |
|
| 993 | + )); |
|
| 994 | + $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array( |
|
| 995 | + 'label' => __('Primary Color', 'ayecode-connect' ), |
|
| 996 | + 'section' => 'aui_settings', |
|
| 997 | + 'settings' => 'aui_options[color_primary]', |
|
| 998 | + ))); |
|
| 999 | + |
|
| 1000 | + $wp_customize->add_setting('aui_options[color_secondary]', array( |
|
| 1001 | + 'default' => '#6c757d', |
|
| 1002 | + 'sanitize_callback' => 'sanitize_hex_color', |
|
| 1003 | + 'capability' => 'edit_theme_options', |
|
| 1004 | + 'type' => 'option', |
|
| 1005 | + 'transport' => 'refresh', |
|
| 1006 | + )); |
|
| 1007 | + $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array( |
|
| 1008 | + 'label' => __('Secondary Color', 'ayecode-connect' ), |
|
| 1009 | + 'section' => 'aui_settings', |
|
| 1010 | + 'settings' => 'aui_options[color_secondary]', |
|
| 1011 | + ))); |
|
| 1012 | + } |
|
| 1013 | + |
|
| 1014 | + /** |
|
| 1015 | + * CSS to help with conflict issues with other plugins and themes using bootstrap v3. |
|
| 1016 | + * |
|
| 1017 | + * @return mixed |
|
| 1018 | + */ |
|
| 1019 | + public static function bs3_compat_css() { |
|
| 1020 | + ob_start(); |
|
| 1021 | + ?> |
|
| 1022 | 1022 | <style> |
| 1023 | 1023 | /* Bootstrap 3 compatibility */ |
| 1024 | 1024 | body.modal-open .modal-backdrop.show:not(.in) {opacity:0.5;} |
@@ -1047,55 +1047,55 @@ discard block |
||
| 1047 | 1047 | <?php } ?> |
| 1048 | 1048 | </style> |
| 1049 | 1049 | <?php |
| 1050 | - return str_replace( array( |
|
| 1051 | - '<style>', |
|
| 1052 | - '</style>' |
|
| 1053 | - ), '', self::minify_css( ob_get_clean() ) ); |
|
| 1054 | - } |
|
| 1050 | + return str_replace( array( |
|
| 1051 | + '<style>', |
|
| 1052 | + '</style>' |
|
| 1053 | + ), '', self::minify_css( ob_get_clean() ) ); |
|
| 1054 | + } |
|
| 1055 | 1055 | |
| 1056 | 1056 | |
| 1057 | - public static function custom_css($compatibility = true) { |
|
| 1057 | + public static function custom_css($compatibility = true) { |
|
| 1058 | 1058 | global $aui_bs5; |
| 1059 | 1059 | |
| 1060 | - $colors = array(); |
|
| 1061 | - if ( defined( 'BLOCKSTRAP_VERSION' ) ) { |
|
| 1060 | + $colors = array(); |
|
| 1061 | + if ( defined( 'BLOCKSTRAP_VERSION' ) ) { |
|
| 1062 | 1062 | |
| 1063 | 1063 | |
| 1064 | - $setting = wp_get_global_settings(); |
|
| 1064 | + $setting = wp_get_global_settings(); |
|
| 1065 | 1065 | |
| 1066 | 1066 | // print_r(wp_get_global_styles());//exit; |
| 1067 | 1067 | // print_r(get_default_block_editor_settings());exit; |
| 1068 | 1068 | |
| 1069 | 1069 | // print_r($setting);echo '###';exit; |
| 1070 | - if(!empty($setting['color']['palette']['theme'])){ |
|
| 1071 | - foreach($setting['color']['palette']['theme'] as $color){ |
|
| 1072 | - $colors[$color['slug']] = esc_attr($color['color']); |
|
| 1073 | - } |
|
| 1074 | - } |
|
| 1070 | + if(!empty($setting['color']['palette']['theme'])){ |
|
| 1071 | + foreach($setting['color']['palette']['theme'] as $color){ |
|
| 1072 | + $colors[$color['slug']] = esc_attr($color['color']); |
|
| 1073 | + } |
|
| 1074 | + } |
|
| 1075 | 1075 | |
| 1076 | - if(!empty($setting['color']['palette']['custom'])){ |
|
| 1077 | - foreach($setting['color']['palette']['custom'] as $color){ |
|
| 1078 | - $colors[$color['slug']] = esc_attr($color['color']); |
|
| 1079 | - } |
|
| 1080 | - } |
|
| 1081 | - }else{ |
|
| 1082 | - $settings = get_option('aui_options'); |
|
| 1083 | - $colors = array( |
|
| 1084 | - 'primary' => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR, |
|
| 1085 | - 'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR |
|
| 1086 | - ); |
|
| 1087 | - } |
|
| 1076 | + if(!empty($setting['color']['palette']['custom'])){ |
|
| 1077 | + foreach($setting['color']['palette']['custom'] as $color){ |
|
| 1078 | + $colors[$color['slug']] = esc_attr($color['color']); |
|
| 1079 | + } |
|
| 1080 | + } |
|
| 1081 | + }else{ |
|
| 1082 | + $settings = get_option('aui_options'); |
|
| 1083 | + $colors = array( |
|
| 1084 | + 'primary' => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR, |
|
| 1085 | + 'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR |
|
| 1086 | + ); |
|
| 1087 | + } |
|
| 1088 | 1088 | |
| 1089 | - ob_start(); |
|
| 1089 | + ob_start(); |
|
| 1090 | 1090 | |
| 1091 | - ?> |
|
| 1091 | + ?> |
|
| 1092 | 1092 | <style> |
| 1093 | 1093 | <?php |
| 1094 | 1094 | |
| 1095 | - // BS v3 compat |
|
| 1096 | - if( self::is_bs3_compat() ){ |
|
| 1097 | - echo self::bs3_compat_css(); |
|
| 1098 | - } |
|
| 1095 | + // BS v3 compat |
|
| 1096 | + if( self::is_bs3_compat() ){ |
|
| 1097 | + echo self::bs3_compat_css(); |
|
| 1098 | + } |
|
| 1099 | 1099 | |
| 1100 | 1100 | $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : ''; |
| 1101 | 1101 | $is_fse = false; |
@@ -1103,26 +1103,26 @@ discard block |
||
| 1103 | 1103 | $is_fse = true; |
| 1104 | 1104 | } |
| 1105 | 1105 | |
| 1106 | - if(!empty($colors)){ |
|
| 1107 | - $d_colors = self::get_colors(true); |
|
| 1106 | + if(!empty($colors)){ |
|
| 1107 | + $d_colors = self::get_colors(true); |
|
| 1108 | 1108 | |
| 1109 | 1109 | // $is_fse = !empty($_REQUEST['postType']) && $_REQUEST['postType']=='wp_template'; |
| 1110 | - foreach($colors as $key => $color ){ |
|
| 1111 | - if((empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) { |
|
| 1112 | - $var = $is_fse ? "var(--wp--preset--color--$key)" : $color; |
|
| 1113 | - $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility; |
|
| 1114 | - echo $aui_bs5 ? self::css_overwrite_bs5($key,$var,$compat,$color) : self::css_overwrite($key,$var,$compat,$color); |
|
| 1115 | - } |
|
| 1116 | - } |
|
| 1117 | - // exit; |
|
| 1118 | - } |
|
| 1110 | + foreach($colors as $key => $color ){ |
|
| 1111 | + if((empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) { |
|
| 1112 | + $var = $is_fse ? "var(--wp--preset--color--$key)" : $color; |
|
| 1113 | + $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility; |
|
| 1114 | + echo $aui_bs5 ? self::css_overwrite_bs5($key,$var,$compat,$color) : self::css_overwrite($key,$var,$compat,$color); |
|
| 1115 | + } |
|
| 1116 | + } |
|
| 1117 | + // exit; |
|
| 1118 | + } |
|
| 1119 | 1119 | |
| 1120 | - // Set admin bar z-index lower when modal is open. |
|
| 1121 | - echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}'; |
|
| 1120 | + // Set admin bar z-index lower when modal is open. |
|
| 1121 | + echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}'; |
|
| 1122 | 1122 | |
| 1123 | - if(is_admin()){ |
|
| 1124 | - echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}'; |
|
| 1125 | - } |
|
| 1123 | + if(is_admin()){ |
|
| 1124 | + echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}'; |
|
| 1125 | + } |
|
| 1126 | 1126 | |
| 1127 | 1127 | if( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) ){ |
| 1128 | 1128 | $css = ''; |
@@ -1142,28 +1142,28 @@ discard block |
||
| 1142 | 1142 | } |
| 1143 | 1143 | |
| 1144 | 1144 | // line height |
| 1145 | - if( !empty( $theme_settings['typography']['lineHeight'] ) ){ |
|
| 1145 | + if( !empty( $theme_settings['typography']['lineHeight'] ) ){ |
|
| 1146 | 1146 | $css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';'; |
| 1147 | 1147 | } |
| 1148 | 1148 | |
| 1149 | 1149 | |
| 1150 | - // font weight |
|
| 1151 | - if( !empty( $theme_settings['typography']['fontWeight'] ) ){ |
|
| 1150 | + // font weight |
|
| 1151 | + if( !empty( $theme_settings['typography']['fontWeight'] ) ){ |
|
| 1152 | 1152 | $css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';'; |
| 1153 | 1153 | } |
| 1154 | 1154 | |
| 1155 | 1155 | // Background |
| 1156 | - if( !empty( $theme_settings['color']['background'] ) ){ |
|
| 1156 | + if( !empty( $theme_settings['color']['background'] ) ){ |
|
| 1157 | 1157 | $css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';'; |
| 1158 | 1158 | } |
| 1159 | 1159 | |
| 1160 | - // Background Gradient |
|
| 1161 | - if( !empty( $theme_settings['color']['gradient'] ) ){ |
|
| 1160 | + // Background Gradient |
|
| 1161 | + if( !empty( $theme_settings['color']['gradient'] ) ){ |
|
| 1162 | 1162 | $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';'; |
| 1163 | 1163 | } |
| 1164 | 1164 | |
| 1165 | - // Background Gradient |
|
| 1166 | - if( !empty( $theme_settings['color']['gradient'] ) ){ |
|
| 1165 | + // Background Gradient |
|
| 1166 | + if( !empty( $theme_settings['color']['gradient'] ) ){ |
|
| 1167 | 1167 | $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';'; |
| 1168 | 1168 | } |
| 1169 | 1169 | |
@@ -1201,7 +1201,7 @@ discard block |
||
| 1201 | 1201 | $headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';'; |
| 1202 | 1202 | } |
| 1203 | 1203 | |
| 1204 | - // heading font family |
|
| 1204 | + // heading font family |
|
| 1205 | 1205 | if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){ |
| 1206 | 1206 | $headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily'] ) . ';'; |
| 1207 | 1207 | } |
@@ -1214,21 +1214,21 @@ discard block |
||
| 1214 | 1214 | |
| 1215 | 1215 | foreach($hs as $hn){ |
| 1216 | 1216 | $h_css = ''; |
| 1217 | - if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){ |
|
| 1217 | + if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){ |
|
| 1218 | 1218 | $h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';'; |
| 1219 | - } |
|
| 1219 | + } |
|
| 1220 | 1220 | |
| 1221 | - if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){ |
|
| 1221 | + if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){ |
|
| 1222 | 1222 | $h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize'] ) . ';'; |
| 1223 | - } |
|
| 1223 | + } |
|
| 1224 | 1224 | |
| 1225 | - if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){ |
|
| 1225 | + if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){ |
|
| 1226 | 1226 | $h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) . ';'; |
| 1227 | - } |
|
| 1227 | + } |
|
| 1228 | 1228 | |
| 1229 | - if($h_css){ |
|
| 1229 | + if($h_css){ |
|
| 1230 | 1230 | echo $bep . $hn . '{'.$h_css.'}'; |
| 1231 | - } |
|
| 1231 | + } |
|
| 1232 | 1232 | } |
| 1233 | 1233 | |
| 1234 | 1234 | // wp_mail('[email protected]','ss',print_r($_SERVER,true).'@@@'); |
@@ -1238,171 +1238,171 @@ discard block |
||
| 1238 | 1238 | |
| 1239 | 1239 | |
| 1240 | 1240 | } |
| 1241 | - ?> |
|
| 1241 | + ?> |
|
| 1242 | 1242 | </style> |
| 1243 | 1243 | <?php |
| 1244 | 1244 | |
| 1245 | 1245 | |
| 1246 | - /* |
|
| 1246 | + /* |
|
| 1247 | 1247 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 1248 | 1248 | */ |
| 1249 | - return str_replace( array( |
|
| 1250 | - '<style>', |
|
| 1251 | - '</style>' |
|
| 1252 | - ), '', self::minify_css( ob_get_clean() ) ); |
|
| 1253 | - } |
|
| 1254 | - |
|
| 1255 | - |
|
| 1256 | - |
|
| 1257 | - /** |
|
| 1258 | - * Check if we should add booststrap 3 compatibility changes. |
|
| 1259 | - * |
|
| 1260 | - * @return bool |
|
| 1261 | - */ |
|
| 1262 | - public static function is_bs3_compat(){ |
|
| 1263 | - return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION'); |
|
| 1264 | - } |
|
| 1265 | - |
|
| 1266 | - public static function hex_to_rgb($hex) { |
|
| 1267 | - // Remove '#' if present |
|
| 1268 | - $hex = str_replace('#', '', $hex); |
|
| 1269 | - |
|
| 1270 | - // Convert 3-digit hex to 6-digit hex |
|
| 1271 | - if(strlen($hex) == 3) { |
|
| 1272 | - $hex = str_repeat(substr($hex, 0, 1), 2) . str_repeat(substr($hex, 1, 1), 2) . str_repeat(substr($hex, 2, 1), 2); |
|
| 1273 | - } |
|
| 1274 | - |
|
| 1275 | - // Convert hex to RGB |
|
| 1276 | - $r = hexdec(substr($hex, 0, 2)); |
|
| 1277 | - $g = hexdec(substr($hex, 2, 2)); |
|
| 1278 | - $b = hexdec(substr($hex, 4, 2)); |
|
| 1279 | - |
|
| 1280 | - // Return RGB values as an array |
|
| 1281 | - return $r . ',' . $g . ',' . $b; |
|
| 1282 | - } |
|
| 1283 | - |
|
| 1284 | - /** |
|
| 1285 | - * Build the CSS to overwrite a bootstrap color variable. |
|
| 1286 | - * |
|
| 1287 | - * @param $type |
|
| 1288 | - * @param $color_code |
|
| 1289 | - * @param $compatibility |
|
| 1290 | - * |
|
| 1291 | - * @return string |
|
| 1292 | - */ |
|
| 1293 | - public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){ |
|
| 1294 | - global $aui_bs5; |
|
| 1295 | - |
|
| 1296 | - $is_var = false; |
|
| 1297 | - $is_custom = strpos($type, 'custom-') !== false ? true : false; |
|
| 1298 | - if(!$color_code){return '';} |
|
| 1299 | - if(strpos($color_code, 'var') !== false){ |
|
| 1300 | - //if(!sanitize_hex_color($color_code)){ |
|
| 1301 | - $color_code = esc_attr($color_code); |
|
| 1302 | - $is_var = true; |
|
| 1249 | + return str_replace( array( |
|
| 1250 | + '<style>', |
|
| 1251 | + '</style>' |
|
| 1252 | + ), '', self::minify_css( ob_get_clean() ) ); |
|
| 1253 | + } |
|
| 1254 | + |
|
| 1255 | + |
|
| 1256 | + |
|
| 1257 | + /** |
|
| 1258 | + * Check if we should add booststrap 3 compatibility changes. |
|
| 1259 | + * |
|
| 1260 | + * @return bool |
|
| 1261 | + */ |
|
| 1262 | + public static function is_bs3_compat(){ |
|
| 1263 | + return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION'); |
|
| 1264 | + } |
|
| 1265 | + |
|
| 1266 | + public static function hex_to_rgb($hex) { |
|
| 1267 | + // Remove '#' if present |
|
| 1268 | + $hex = str_replace('#', '', $hex); |
|
| 1269 | + |
|
| 1270 | + // Convert 3-digit hex to 6-digit hex |
|
| 1271 | + if(strlen($hex) == 3) { |
|
| 1272 | + $hex = str_repeat(substr($hex, 0, 1), 2) . str_repeat(substr($hex, 1, 1), 2) . str_repeat(substr($hex, 2, 1), 2); |
|
| 1273 | + } |
|
| 1274 | + |
|
| 1275 | + // Convert hex to RGB |
|
| 1276 | + $r = hexdec(substr($hex, 0, 2)); |
|
| 1277 | + $g = hexdec(substr($hex, 2, 2)); |
|
| 1278 | + $b = hexdec(substr($hex, 4, 2)); |
|
| 1279 | + |
|
| 1280 | + // Return RGB values as an array |
|
| 1281 | + return $r . ',' . $g . ',' . $b; |
|
| 1282 | + } |
|
| 1283 | + |
|
| 1284 | + /** |
|
| 1285 | + * Build the CSS to overwrite a bootstrap color variable. |
|
| 1286 | + * |
|
| 1287 | + * @param $type |
|
| 1288 | + * @param $color_code |
|
| 1289 | + * @param $compatibility |
|
| 1290 | + * |
|
| 1291 | + * @return string |
|
| 1292 | + */ |
|
| 1293 | + public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){ |
|
| 1294 | + global $aui_bs5; |
|
| 1295 | + |
|
| 1296 | + $is_var = false; |
|
| 1297 | + $is_custom = strpos($type, 'custom-') !== false ? true : false; |
|
| 1298 | + if(!$color_code){return '';} |
|
| 1299 | + if(strpos($color_code, 'var') !== false){ |
|
| 1300 | + //if(!sanitize_hex_color($color_code)){ |
|
| 1301 | + $color_code = esc_attr($color_code); |
|
| 1302 | + $is_var = true; |
|
| 1303 | 1303 | // $color_code = "rgba($color_code, 0.5)"; |
| 1304 | 1304 | // echo '###1'.$color_code.'###';//exit; |
| 1305 | - } |
|
| 1305 | + } |
|
| 1306 | 1306 | |
| 1307 | 1307 | // echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit; |
| 1308 | 1308 | |
| 1309 | - if(!$color_code){return '';} |
|
| 1309 | + if(!$color_code){return '';} |
|
| 1310 | 1310 | |
| 1311 | - $rgb = self::hex_to_rgb($hex); |
|
| 1311 | + $rgb = self::hex_to_rgb($hex); |
|
| 1312 | 1312 | |
| 1313 | - if($compatibility===true || $compatibility===1){ |
|
| 1314 | - $compatibility = '.bsui'; |
|
| 1315 | - }elseif(!$compatibility){ |
|
| 1316 | - $compatibility = ''; |
|
| 1317 | - }else{ |
|
| 1318 | - $compatibility = esc_attr($compatibility); |
|
| 1319 | - } |
|
| 1313 | + if($compatibility===true || $compatibility===1){ |
|
| 1314 | + $compatibility = '.bsui'; |
|
| 1315 | + }elseif(!$compatibility){ |
|
| 1316 | + $compatibility = ''; |
|
| 1317 | + }else{ |
|
| 1318 | + $compatibility = esc_attr($compatibility); |
|
| 1319 | + } |
|
| 1320 | 1320 | |
| 1321 | - $prefix = $compatibility ? $compatibility . " " : ""; |
|
| 1321 | + $prefix = $compatibility ? $compatibility . " " : ""; |
|
| 1322 | 1322 | |
| 1323 | 1323 | |
| 1324 | 1324 | $output = ''; |
| 1325 | 1325 | |
| 1326 | 1326 | // echo '####'.$color_code;exit; |
| 1327 | 1327 | |
| 1328 | - $type = sanitize_html_class($type); |
|
| 1328 | + $type = sanitize_html_class($type); |
|
| 1329 | + |
|
| 1330 | + /** |
|
| 1331 | + * c = color, b = background color, o = border-color, f = fill |
|
| 1332 | + */ |
|
| 1333 | + $selectors = array( |
|
| 1334 | + ".btn-{$type}" => array( 'b', 'o' ), |
|
| 1335 | + ".btn-{$type}.disabled" => array( 'b', 'o' ), |
|
| 1336 | + ".btn-{$type}:disabled" => array( 'b', 'o' ), |
|
| 1337 | + ".btn-outline-{$type}" => array( 'c', 'o' ), |
|
| 1338 | + ".btn-outline-{$type}:hover" => array( 'b', 'o' ), |
|
| 1339 | + ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ), |
|
| 1340 | + ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ), |
|
| 1341 | + ".show>.btn-outline-{$type}.dropdown-toggle" => array( 'b', 'o' ), |
|
| 1342 | + ".badge-{$type}" => array( 'b' ), |
|
| 1343 | + ".alert-{$type}" => array( 'b', 'o' ), |
|
| 1344 | + ".bg-{$type}" => array( 'b', 'f' ), |
|
| 1345 | + ".btn-link.btn-{$type}" => array( 'c' ), |
|
| 1346 | + ".text-{$type}" => array( 'c' ), |
|
| 1347 | + ); |
|
| 1348 | + |
|
| 1349 | + if ( $aui_bs5 ) { |
|
| 1350 | + unset($selectors[".alert-{$type}" ]); |
|
| 1351 | + } |
|
| 1329 | 1352 | |
| 1330 | - /** |
|
| 1331 | - * c = color, b = background color, o = border-color, f = fill |
|
| 1332 | - */ |
|
| 1333 | - $selectors = array( |
|
| 1334 | - ".btn-{$type}" => array( 'b', 'o' ), |
|
| 1335 | - ".btn-{$type}.disabled" => array( 'b', 'o' ), |
|
| 1336 | - ".btn-{$type}:disabled" => array( 'b', 'o' ), |
|
| 1337 | - ".btn-outline-{$type}" => array( 'c', 'o' ), |
|
| 1338 | - ".btn-outline-{$type}:hover" => array( 'b', 'o' ), |
|
| 1339 | - ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ), |
|
| 1340 | - ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ), |
|
| 1341 | - ".show>.btn-outline-{$type}.dropdown-toggle" => array( 'b', 'o' ), |
|
| 1342 | - ".badge-{$type}" => array( 'b' ), |
|
| 1343 | - ".alert-{$type}" => array( 'b', 'o' ), |
|
| 1344 | - ".bg-{$type}" => array( 'b', 'f' ), |
|
| 1345 | - ".btn-link.btn-{$type}" => array( 'c' ), |
|
| 1346 | - ".text-{$type}" => array( 'c' ), |
|
| 1347 | - ); |
|
| 1348 | - |
|
| 1349 | - if ( $aui_bs5 ) { |
|
| 1350 | - unset($selectors[".alert-{$type}" ]); |
|
| 1351 | - } |
|
| 1352 | - |
|
| 1353 | - if ( $type == 'primary' ) { |
|
| 1354 | - $selectors = $selectors + array( |
|
| 1355 | - 'a' => array( 'c' ), |
|
| 1356 | - '.btn-link' => array( 'c' ), |
|
| 1357 | - '.dropdown-item.active' => array( 'b' ), |
|
| 1358 | - '.custom-control-input:checked~.custom-control-label::before' => array( |
|
| 1359 | - 'b', |
|
| 1360 | - 'o' |
|
| 1361 | - ), |
|
| 1362 | - '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array( |
|
| 1363 | - 'b', |
|
| 1364 | - 'o' |
|
| 1365 | - ), |
|
| 1366 | - '.nav-pills .nav-link.active' => array( 'b' ), |
|
| 1367 | - '.nav-pills .show>.nav-link' => array( 'b' ), |
|
| 1368 | - '.page-link' => array( 'c' ), |
|
| 1369 | - '.page-item.active .page-link' => array( |
|
| 1370 | - 'b', |
|
| 1371 | - 'o' |
|
| 1372 | - ), |
|
| 1373 | - '.progress-bar' => array( 'b' ), |
|
| 1374 | - '.list-group-item.active' => array( |
|
| 1375 | - 'b', |
|
| 1376 | - 'o' |
|
| 1377 | - ), |
|
| 1378 | - '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ), |
|
| 1379 | - ); |
|
| 1380 | - } |
|
| 1353 | + if ( $type == 'primary' ) { |
|
| 1354 | + $selectors = $selectors + array( |
|
| 1355 | + 'a' => array( 'c' ), |
|
| 1356 | + '.btn-link' => array( 'c' ), |
|
| 1357 | + '.dropdown-item.active' => array( 'b' ), |
|
| 1358 | + '.custom-control-input:checked~.custom-control-label::before' => array( |
|
| 1359 | + 'b', |
|
| 1360 | + 'o' |
|
| 1361 | + ), |
|
| 1362 | + '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array( |
|
| 1363 | + 'b', |
|
| 1364 | + 'o' |
|
| 1365 | + ), |
|
| 1366 | + '.nav-pills .nav-link.active' => array( 'b' ), |
|
| 1367 | + '.nav-pills .show>.nav-link' => array( 'b' ), |
|
| 1368 | + '.page-link' => array( 'c' ), |
|
| 1369 | + '.page-item.active .page-link' => array( |
|
| 1370 | + 'b', |
|
| 1371 | + 'o' |
|
| 1372 | + ), |
|
| 1373 | + '.progress-bar' => array( 'b' ), |
|
| 1374 | + '.list-group-item.active' => array( |
|
| 1375 | + 'b', |
|
| 1376 | + 'o' |
|
| 1377 | + ), |
|
| 1378 | + '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ), |
|
| 1379 | + ); |
|
| 1380 | + } |
|
| 1381 | 1381 | |
| 1382 | 1382 | |
| 1383 | 1383 | |
| 1384 | 1384 | // link |
| 1385 | - if ( $type === 'primary' ) { |
|
| 1386 | - $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }'; |
|
| 1387 | - $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).'; }'; |
|
| 1388 | - $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).'; }'; |
|
| 1385 | + if ( $type === 'primary' ) { |
|
| 1386 | + $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }'; |
|
| 1387 | + $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).'; }'; |
|
| 1388 | + $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).'; }'; |
|
| 1389 | 1389 | |
| 1390 | - $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}'; |
|
| 1391 | - $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}'; |
|
| 1390 | + $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}'; |
|
| 1391 | + $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}'; |
|
| 1392 | 1392 | |
| 1393 | 1393 | // dropdown |
| 1394 | - $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}'; |
|
| 1394 | + $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}'; |
|
| 1395 | 1395 | |
| 1396 | 1396 | // pagination |
| 1397 | - $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}'; |
|
| 1397 | + $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}'; |
|
| 1398 | 1398 | |
| 1399 | - } |
|
| 1399 | + } |
|
| 1400 | 1400 | |
| 1401 | - $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}'; |
|
| 1401 | + $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}'; |
|
| 1402 | 1402 | |
| 1403 | - // buttons |
|
| 1404 | - $output .= $prefix . ' .btn-'.esc_attr($type).'{'; |
|
| 1405 | - $output .= ' |
|
| 1403 | + // buttons |
|
| 1404 | + $output .= $prefix . ' .btn-'.esc_attr($type).'{'; |
|
| 1405 | + $output .= ' |
|
| 1406 | 1406 | --bs-btn-bg: '.esc_attr($color_code).'; |
| 1407 | 1407 | --bs-btn-border-color: '.esc_attr($color_code).'; |
| 1408 | 1408 | --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
@@ -1420,11 +1420,11 @@ discard block |
||
| 1420 | 1420 | // --bs-btn-active-color: #fff; |
| 1421 | 1421 | // --bs-btn-disabled-color: #fff; |
| 1422 | 1422 | // '; |
| 1423 | - $output .= '}'; |
|
| 1423 | + $output .= '}'; |
|
| 1424 | 1424 | |
| 1425 | - // buttons outline |
|
| 1426 | - $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{'; |
|
| 1427 | - $output .= ' |
|
| 1425 | + // buttons outline |
|
| 1426 | + $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{'; |
|
| 1427 | + $output .= ' |
|
| 1428 | 1428 | --bs-btn-border-color: '.esc_attr($color_code).'; |
| 1429 | 1429 | --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
| 1430 | 1430 | --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
@@ -1441,37 +1441,37 @@ discard block |
||
| 1441 | 1441 | // --bs-btn-active-color: #fff; |
| 1442 | 1442 | // --bs-btn-disabled-color: #fff; |
| 1443 | 1443 | // '; |
| 1444 | - $output .= '}'; |
|
| 1444 | + $output .= '}'; |
|
| 1445 | 1445 | |
| 1446 | 1446 | |
| 1447 | 1447 | // button hover |
| 1448 | - $output .= $prefix . ' .btn-'.esc_attr($type).':hover{'; |
|
| 1449 | - $output .= ' |
|
| 1448 | + $output .= $prefix . ' .btn-'.esc_attr($type).':hover{'; |
|
| 1449 | + $output .= ' |
|
| 1450 | 1450 | 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); |
| 1451 | 1451 | } |
| 1452 | 1452 | '; |
| 1453 | 1453 | |
| 1454 | 1454 | |
| 1455 | - if ( $aui_bs5 ) { |
|
| 1455 | + if ( $aui_bs5 ) { |
|
| 1456 | 1456 | // $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).'; }'; |
| 1457 | - $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }'; |
|
| 1458 | - $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }'; |
|
| 1459 | - } |
|
| 1457 | + $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }'; |
|
| 1458 | + $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }'; |
|
| 1459 | + } |
|
| 1460 | 1460 | |
| 1461 | 1461 | |
| 1462 | - if ( $is_custom ) { |
|
| 1462 | + if ( $is_custom ) { |
|
| 1463 | 1463 | |
| 1464 | 1464 | // echo '###'.$type;exit; |
| 1465 | 1465 | |
| 1466 | - // build rules into each type |
|
| 1467 | - foreach($selectors as $selector => $types){ |
|
| 1468 | - $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1469 | - $types = array_combine($types,$types); |
|
| 1470 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1471 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1472 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1473 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1474 | - } |
|
| 1466 | + // build rules into each type |
|
| 1467 | + foreach($selectors as $selector => $types){ |
|
| 1468 | + $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1469 | + $types = array_combine($types,$types); |
|
| 1470 | + if(isset($types['c'])){$color[] = $selector;} |
|
| 1471 | + if(isset($types['b'])){$background[] = $selector;} |
|
| 1472 | + if(isset($types['o'])){$border[] = $selector;} |
|
| 1473 | + if(isset($types['f'])){$fill[] = $selector;} |
|
| 1474 | + } |
|
| 1475 | 1475 | |
| 1476 | 1476 | // // build rules into each type |
| 1477 | 1477 | // foreach($important_selectors as $selector => $types){ |
@@ -1483,67 +1483,67 @@ discard block |
||
| 1483 | 1483 | // if(isset($types['f'])){$fill_i[] = $selector;} |
| 1484 | 1484 | // } |
| 1485 | 1485 | |
| 1486 | - // add any color rules |
|
| 1487 | - if(!empty($color)){ |
|
| 1488 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1489 | - } |
|
| 1490 | - if(!empty($color_i)){ |
|
| 1491 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1492 | - } |
|
| 1486 | + // add any color rules |
|
| 1487 | + if(!empty($color)){ |
|
| 1488 | + $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1489 | + } |
|
| 1490 | + if(!empty($color_i)){ |
|
| 1491 | + $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1492 | + } |
|
| 1493 | 1493 | |
| 1494 | - // add any background color rules |
|
| 1495 | - if(!empty($background)){ |
|
| 1496 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1497 | - } |
|
| 1498 | - if(!empty($background_i)){ |
|
| 1499 | - $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1494 | + // add any background color rules |
|
| 1495 | + if(!empty($background)){ |
|
| 1496 | + $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1497 | + } |
|
| 1498 | + if(!empty($background_i)){ |
|
| 1499 | + $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1500 | 1500 | // $output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} "; |
| 1501 | - } |
|
| 1501 | + } |
|
| 1502 | 1502 | |
| 1503 | - // add any border color rules |
|
| 1504 | - if(!empty($border)){ |
|
| 1505 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1506 | - } |
|
| 1507 | - if(!empty($border_i)){ |
|
| 1508 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1509 | - } |
|
| 1503 | + // add any border color rules |
|
| 1504 | + if(!empty($border)){ |
|
| 1505 | + $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1506 | + } |
|
| 1507 | + if(!empty($border_i)){ |
|
| 1508 | + $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1509 | + } |
|
| 1510 | 1510 | |
| 1511 | - // add any fill color rules |
|
| 1512 | - if(!empty($fill)){ |
|
| 1513 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1514 | - } |
|
| 1515 | - if(!empty($fill_i)){ |
|
| 1516 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1517 | - } |
|
| 1511 | + // add any fill color rules |
|
| 1512 | + if(!empty($fill)){ |
|
| 1513 | + $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1514 | + } |
|
| 1515 | + if(!empty($fill_i)){ |
|
| 1516 | + $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1517 | + } |
|
| 1518 | 1518 | |
| 1519 | - } |
|
| 1519 | + } |
|
| 1520 | 1520 | |
| 1521 | 1521 | |
| 1522 | 1522 | |
| 1523 | 1523 | |
| 1524 | - $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;' : ''; |
|
| 1525 | - // darken |
|
| 1526 | - $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1527 | - $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1528 | - $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1529 | - $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4"); |
|
| 1524 | + $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;' : ''; |
|
| 1525 | + // darken |
|
| 1526 | + $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1527 | + $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1528 | + $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1529 | + $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4"); |
|
| 1530 | 1530 | |
| 1531 | - // lighten |
|
| 1532 | - $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1531 | + // lighten |
|
| 1532 | + $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1533 | 1533 | |
| 1534 | - // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1535 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 1534 | + // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1535 | + $op_25 = $color_code."40"; // 25% opacity |
|
| 1536 | 1536 | |
| 1537 | 1537 | |
| 1538 | - // button states |
|
| 1539 | - $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : ''; |
|
| 1540 | - $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1538 | + // button states |
|
| 1539 | + $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : ''; |
|
| 1540 | + $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1541 | 1541 | // $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000; border-color: #000;} "; |
| 1542 | - $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;} "; |
|
| 1543 | - $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.";} "; |
|
| 1544 | - $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;} "; |
|
| 1542 | + $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;} "; |
|
| 1543 | + $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.";} "; |
|
| 1544 | + $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;} "; |
|
| 1545 | 1545 | |
| 1546 | - // text |
|
| 1546 | + // text |
|
| 1547 | 1547 | // $output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} "; |
| 1548 | 1548 | |
| 1549 | 1549 | |
@@ -1558,773 +1558,773 @@ discard block |
||
| 1558 | 1558 | // $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
| 1559 | 1559 | // } |
| 1560 | 1560 | |
| 1561 | - // alerts |
|
| 1562 | - if ( $aui_bs5 ) { |
|
| 1561 | + // alerts |
|
| 1562 | + if ( $aui_bs5 ) { |
|
| 1563 | 1563 | // $output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20; border-color: ".$color_code."30;color:$darker_40} "; |
| 1564 | - $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;} "; |
|
| 1565 | - } |
|
| 1566 | - |
|
| 1567 | - return $output; |
|
| 1568 | - } |
|
| 1569 | - |
|
| 1570 | - /** |
|
| 1571 | - * Build the CSS to overwrite a bootstrap color variable. |
|
| 1572 | - * |
|
| 1573 | - * @param $type |
|
| 1574 | - * @param $color_code |
|
| 1575 | - * @param $compatibility |
|
| 1576 | - * |
|
| 1577 | - * @return string |
|
| 1578 | - */ |
|
| 1579 | - public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){ |
|
| 1564 | + $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;} "; |
|
| 1565 | + } |
|
| 1566 | + |
|
| 1567 | + return $output; |
|
| 1568 | + } |
|
| 1569 | + |
|
| 1570 | + /** |
|
| 1571 | + * Build the CSS to overwrite a bootstrap color variable. |
|
| 1572 | + * |
|
| 1573 | + * @param $type |
|
| 1574 | + * @param $color_code |
|
| 1575 | + * @param $compatibility |
|
| 1576 | + * |
|
| 1577 | + * @return string |
|
| 1578 | + */ |
|
| 1579 | + public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){ |
|
| 1580 | 1580 | global $aui_bs5; |
| 1581 | 1581 | |
| 1582 | - $is_var = false; |
|
| 1583 | - if(!$color_code){return '';} |
|
| 1584 | - if(strpos($color_code, 'var') !== false){ |
|
| 1585 | - //if(!sanitize_hex_color($color_code)){ |
|
| 1586 | - $color_code = esc_attr($color_code); |
|
| 1587 | - $is_var = true; |
|
| 1582 | + $is_var = false; |
|
| 1583 | + if(!$color_code){return '';} |
|
| 1584 | + if(strpos($color_code, 'var') !== false){ |
|
| 1585 | + //if(!sanitize_hex_color($color_code)){ |
|
| 1586 | + $color_code = esc_attr($color_code); |
|
| 1587 | + $is_var = true; |
|
| 1588 | 1588 | // $color_code = "rgba($color_code, 0.5)"; |
| 1589 | 1589 | // echo '###1'.$color_code.'###';//exit; |
| 1590 | - } |
|
| 1590 | + } |
|
| 1591 | 1591 | |
| 1592 | 1592 | // echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit; |
| 1593 | 1593 | |
| 1594 | - if(!$color_code){return '';} |
|
| 1594 | + if(!$color_code){return '';} |
|
| 1595 | 1595 | |
| 1596 | 1596 | $rgb = self::hex_to_rgb($hex); |
| 1597 | 1597 | |
| 1598 | - if($compatibility===true || $compatibility===1){ |
|
| 1599 | - $compatibility = '.bsui'; |
|
| 1600 | - }elseif(!$compatibility){ |
|
| 1601 | - $compatibility = ''; |
|
| 1602 | - }else{ |
|
| 1603 | - $compatibility = esc_attr($compatibility); |
|
| 1604 | - } |
|
| 1598 | + if($compatibility===true || $compatibility===1){ |
|
| 1599 | + $compatibility = '.bsui'; |
|
| 1600 | + }elseif(!$compatibility){ |
|
| 1601 | + $compatibility = ''; |
|
| 1602 | + }else{ |
|
| 1603 | + $compatibility = esc_attr($compatibility); |
|
| 1604 | + } |
|
| 1605 | 1605 | |
| 1606 | 1606 | |
| 1607 | 1607 | |
| 1608 | 1608 | // echo '####'.$color_code;exit; |
| 1609 | 1609 | |
| 1610 | - $type = sanitize_html_class($type); |
|
| 1611 | - |
|
| 1612 | - /** |
|
| 1613 | - * c = color, b = background color, o = border-color, f = fill |
|
| 1614 | - */ |
|
| 1615 | - $selectors = array( |
|
| 1616 | - ".btn-{$type}" => array( 'b', 'o' ), |
|
| 1617 | - ".btn-{$type}.disabled" => array( 'b', 'o' ), |
|
| 1618 | - ".btn-{$type}:disabled" => array( 'b', 'o' ), |
|
| 1619 | - ".btn-outline-{$type}" => array( 'c', 'o' ), |
|
| 1620 | - ".btn-outline-{$type}:hover" => array( 'b', 'o' ), |
|
| 1621 | - ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ), |
|
| 1622 | - ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ), |
|
| 1623 | - ".show>.btn-outline-{$type}.dropdown-toggle" => array( 'b', 'o' ), |
|
| 1624 | - ".badge-{$type}" => array( 'b' ), |
|
| 1625 | - ".alert-{$type}" => array( 'b', 'o' ), |
|
| 1626 | - ".bg-{$type}" => array( 'b', 'f' ), |
|
| 1627 | - ".btn-link.btn-{$type}" => array( 'c' ), |
|
| 1628 | - ); |
|
| 1629 | - |
|
| 1630 | - if ( $aui_bs5 ) { |
|
| 1610 | + $type = sanitize_html_class($type); |
|
| 1611 | + |
|
| 1612 | + /** |
|
| 1613 | + * c = color, b = background color, o = border-color, f = fill |
|
| 1614 | + */ |
|
| 1615 | + $selectors = array( |
|
| 1616 | + ".btn-{$type}" => array( 'b', 'o' ), |
|
| 1617 | + ".btn-{$type}.disabled" => array( 'b', 'o' ), |
|
| 1618 | + ".btn-{$type}:disabled" => array( 'b', 'o' ), |
|
| 1619 | + ".btn-outline-{$type}" => array( 'c', 'o' ), |
|
| 1620 | + ".btn-outline-{$type}:hover" => array( 'b', 'o' ), |
|
| 1621 | + ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ), |
|
| 1622 | + ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ), |
|
| 1623 | + ".show>.btn-outline-{$type}.dropdown-toggle" => array( 'b', 'o' ), |
|
| 1624 | + ".badge-{$type}" => array( 'b' ), |
|
| 1625 | + ".alert-{$type}" => array( 'b', 'o' ), |
|
| 1626 | + ".bg-{$type}" => array( 'b', 'f' ), |
|
| 1627 | + ".btn-link.btn-{$type}" => array( 'c' ), |
|
| 1628 | + ); |
|
| 1629 | + |
|
| 1630 | + if ( $aui_bs5 ) { |
|
| 1631 | 1631 | unset($selectors[".alert-{$type}" ]); |
| 1632 | - } |
|
| 1633 | - |
|
| 1634 | - if ( $type == 'primary' ) { |
|
| 1635 | - $selectors = $selectors + array( |
|
| 1636 | - 'a' => array( 'c' ), |
|
| 1637 | - '.btn-link' => array( 'c' ), |
|
| 1638 | - '.dropdown-item.active' => array( 'b' ), |
|
| 1639 | - '.custom-control-input:checked~.custom-control-label::before' => array( |
|
| 1640 | - 'b', |
|
| 1641 | - 'o' |
|
| 1642 | - ), |
|
| 1643 | - '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array( |
|
| 1644 | - 'b', |
|
| 1645 | - 'o' |
|
| 1646 | - ), |
|
| 1647 | - '.nav-pills .nav-link.active' => array( 'b' ), |
|
| 1648 | - '.nav-pills .show>.nav-link' => array( 'b' ), |
|
| 1649 | - '.page-link' => array( 'c' ), |
|
| 1650 | - '.page-item.active .page-link' => array( |
|
| 1651 | - 'b', |
|
| 1652 | - 'o' |
|
| 1653 | - ), |
|
| 1654 | - '.progress-bar' => array( 'b' ), |
|
| 1655 | - '.list-group-item.active' => array( |
|
| 1656 | - 'b', |
|
| 1657 | - 'o' |
|
| 1658 | - ), |
|
| 1659 | - '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ), |
|
| 1632 | + } |
|
| 1633 | + |
|
| 1634 | + if ( $type == 'primary' ) { |
|
| 1635 | + $selectors = $selectors + array( |
|
| 1636 | + 'a' => array( 'c' ), |
|
| 1637 | + '.btn-link' => array( 'c' ), |
|
| 1638 | + '.dropdown-item.active' => array( 'b' ), |
|
| 1639 | + '.custom-control-input:checked~.custom-control-label::before' => array( |
|
| 1640 | + 'b', |
|
| 1641 | + 'o' |
|
| 1642 | + ), |
|
| 1643 | + '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array( |
|
| 1644 | + 'b', |
|
| 1645 | + 'o' |
|
| 1646 | + ), |
|
| 1647 | + '.nav-pills .nav-link.active' => array( 'b' ), |
|
| 1648 | + '.nav-pills .show>.nav-link' => array( 'b' ), |
|
| 1649 | + '.page-link' => array( 'c' ), |
|
| 1650 | + '.page-item.active .page-link' => array( |
|
| 1651 | + 'b', |
|
| 1652 | + 'o' |
|
| 1653 | + ), |
|
| 1654 | + '.progress-bar' => array( 'b' ), |
|
| 1655 | + '.list-group-item.active' => array( |
|
| 1656 | + 'b', |
|
| 1657 | + 'o' |
|
| 1658 | + ), |
|
| 1659 | + '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ), |
|
| 1660 | 1660 | // '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules... |
| 1661 | 1661 | // '.custom-range::-moz-range-thumb' => array('b'), |
| 1662 | 1662 | // '.custom-range::-ms-thumb' => array('b'), |
| 1663 | - ); |
|
| 1664 | - } |
|
| 1665 | - |
|
| 1666 | - $important_selectors = array( |
|
| 1667 | - ".bg-{$type}" => array('b','f'), |
|
| 1668 | - ".border-{$type}" => array('o'), |
|
| 1669 | - ".text-{$type}" => array('c'), |
|
| 1670 | - ); |
|
| 1671 | - |
|
| 1672 | - $color = array(); |
|
| 1673 | - $color_i = array(); |
|
| 1674 | - $background = array(); |
|
| 1675 | - $background_i = array(); |
|
| 1676 | - $border = array(); |
|
| 1677 | - $border_i = array(); |
|
| 1678 | - $fill = array(); |
|
| 1679 | - $fill_i = array(); |
|
| 1680 | - |
|
| 1681 | - $output = ''; |
|
| 1682 | - |
|
| 1683 | - if ( $aui_bs5 ) { |
|
| 1663 | + ); |
|
| 1664 | + } |
|
| 1665 | + |
|
| 1666 | + $important_selectors = array( |
|
| 1667 | + ".bg-{$type}" => array('b','f'), |
|
| 1668 | + ".border-{$type}" => array('o'), |
|
| 1669 | + ".text-{$type}" => array('c'), |
|
| 1670 | + ); |
|
| 1671 | + |
|
| 1672 | + $color = array(); |
|
| 1673 | + $color_i = array(); |
|
| 1674 | + $background = array(); |
|
| 1675 | + $background_i = array(); |
|
| 1676 | + $border = array(); |
|
| 1677 | + $border_i = array(); |
|
| 1678 | + $fill = array(); |
|
| 1679 | + $fill_i = array(); |
|
| 1680 | + |
|
| 1681 | + $output = ''; |
|
| 1682 | + |
|
| 1683 | + if ( $aui_bs5 ) { |
|
| 1684 | 1684 | // $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).'; }'; |
| 1685 | - $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }'; |
|
| 1686 | - } |
|
| 1687 | - |
|
| 1688 | - // build rules into each type |
|
| 1689 | - foreach($selectors as $selector => $types){ |
|
| 1690 | - $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1691 | - $types = array_combine($types,$types); |
|
| 1692 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1693 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1694 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1695 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1696 | - } |
|
| 1697 | - |
|
| 1698 | - // build rules into each type |
|
| 1699 | - foreach($important_selectors as $selector => $types){ |
|
| 1700 | - $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1701 | - $types = array_combine($types,$types); |
|
| 1702 | - if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1703 | - if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1704 | - if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1705 | - if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1706 | - } |
|
| 1707 | - |
|
| 1708 | - // add any color rules |
|
| 1709 | - if(!empty($color)){ |
|
| 1710 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1711 | - } |
|
| 1712 | - if(!empty($color_i)){ |
|
| 1713 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1714 | - } |
|
| 1715 | - |
|
| 1716 | - // add any background color rules |
|
| 1717 | - if(!empty($background)){ |
|
| 1718 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1719 | - } |
|
| 1720 | - if(!empty($background_i)){ |
|
| 1721 | - $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1685 | + $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }'; |
|
| 1686 | + } |
|
| 1687 | + |
|
| 1688 | + // build rules into each type |
|
| 1689 | + foreach($selectors as $selector => $types){ |
|
| 1690 | + $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1691 | + $types = array_combine($types,$types); |
|
| 1692 | + if(isset($types['c'])){$color[] = $selector;} |
|
| 1693 | + if(isset($types['b'])){$background[] = $selector;} |
|
| 1694 | + if(isset($types['o'])){$border[] = $selector;} |
|
| 1695 | + if(isset($types['f'])){$fill[] = $selector;} |
|
| 1696 | + } |
|
| 1697 | + |
|
| 1698 | + // build rules into each type |
|
| 1699 | + foreach($important_selectors as $selector => $types){ |
|
| 1700 | + $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1701 | + $types = array_combine($types,$types); |
|
| 1702 | + if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1703 | + if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1704 | + if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1705 | + if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1706 | + } |
|
| 1707 | + |
|
| 1708 | + // add any color rules |
|
| 1709 | + if(!empty($color)){ |
|
| 1710 | + $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1711 | + } |
|
| 1712 | + if(!empty($color_i)){ |
|
| 1713 | + $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1714 | + } |
|
| 1715 | + |
|
| 1716 | + // add any background color rules |
|
| 1717 | + if(!empty($background)){ |
|
| 1718 | + $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1719 | + } |
|
| 1720 | + if(!empty($background_i)){ |
|
| 1721 | + $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1722 | 1722 | // $output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} "; |
| 1723 | - } |
|
| 1723 | + } |
|
| 1724 | 1724 | |
| 1725 | - // add any border color rules |
|
| 1726 | - if(!empty($border)){ |
|
| 1727 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1728 | - } |
|
| 1729 | - if(!empty($border_i)){ |
|
| 1730 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1731 | - } |
|
| 1725 | + // add any border color rules |
|
| 1726 | + if(!empty($border)){ |
|
| 1727 | + $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1728 | + } |
|
| 1729 | + if(!empty($border_i)){ |
|
| 1730 | + $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1731 | + } |
|
| 1732 | 1732 | |
| 1733 | - // add any fill color rules |
|
| 1734 | - if(!empty($fill)){ |
|
| 1735 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1736 | - } |
|
| 1737 | - if(!empty($fill_i)){ |
|
| 1738 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1739 | - } |
|
| 1733 | + // add any fill color rules |
|
| 1734 | + if(!empty($fill)){ |
|
| 1735 | + $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1736 | + } |
|
| 1737 | + if(!empty($fill_i)){ |
|
| 1738 | + $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1739 | + } |
|
| 1740 | 1740 | |
| 1741 | 1741 | |
| 1742 | - $prefix = $compatibility ? $compatibility . " " : ""; |
|
| 1742 | + $prefix = $compatibility ? $compatibility . " " : ""; |
|
| 1743 | 1743 | |
| 1744 | - $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;' : ''; |
|
| 1745 | - // darken |
|
| 1746 | - $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1747 | - $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1748 | - $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1749 | - $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4"); |
|
| 1744 | + $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;' : ''; |
|
| 1745 | + // darken |
|
| 1746 | + $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1747 | + $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1748 | + $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1749 | + $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4"); |
|
| 1750 | 1750 | |
| 1751 | - // lighten |
|
| 1752 | - $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1751 | + // lighten |
|
| 1752 | + $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1753 | 1753 | |
| 1754 | - // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1755 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 1754 | + // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1755 | + $op_25 = $color_code."40"; // 25% opacity |
|
| 1756 | 1756 | |
| 1757 | 1757 | |
| 1758 | - // button states |
|
| 1759 | - $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : ''; |
|
| 1760 | - $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1758 | + // button states |
|
| 1759 | + $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : ''; |
|
| 1760 | + $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1761 | 1761 | // $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000; border-color: #000;} "; |
| 1762 | - $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;} "; |
|
| 1763 | - $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.";} "; |
|
| 1764 | - $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;} "; |
|
| 1762 | + $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;} "; |
|
| 1763 | + $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.";} "; |
|
| 1764 | + $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;} "; |
|
| 1765 | 1765 | |
| 1766 | - if ( $type == 'primary' ) { |
|
| 1767 | - // dropdown's |
|
| 1768 | - $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 1766 | + if ( $type == 'primary' ) { |
|
| 1767 | + // dropdown's |
|
| 1768 | + $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 1769 | 1769 | |
| 1770 | - // input states |
|
| 1771 | - $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1770 | + // input states |
|
| 1771 | + $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1772 | 1772 | |
| 1773 | - // page link |
|
| 1774 | - $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1775 | - } |
|
| 1773 | + // page link |
|
| 1774 | + $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1775 | + } |
|
| 1776 | 1776 | |
| 1777 | 1777 | // alerts |
| 1778 | - if ( $aui_bs5 ) { |
|
| 1778 | + if ( $aui_bs5 ) { |
|
| 1779 | 1779 | // $output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20; border-color: ".$color_code."30;color:$darker_40} "; |
| 1780 | - $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;} "; |
|
| 1781 | - } |
|
| 1782 | - |
|
| 1783 | - return $output; |
|
| 1784 | - } |
|
| 1785 | - |
|
| 1786 | - /** |
|
| 1787 | - * |
|
| 1788 | - * @deprecated 0.1.76 Use css_overwrite() |
|
| 1789 | - * |
|
| 1790 | - * @param $color_code |
|
| 1791 | - * @param $compatibility |
|
| 1792 | - * @param $use_variable |
|
| 1793 | - * |
|
| 1794 | - * @return string |
|
| 1795 | - */ |
|
| 1796 | - public static function css_primary($color_code,$compatibility, $use_variable = false){ |
|
| 1797 | - |
|
| 1798 | - if(!$use_variable){ |
|
| 1799 | - $color_code = sanitize_hex_color($color_code); |
|
| 1800 | - if(!$color_code){return '';} |
|
| 1801 | - } |
|
| 1802 | - |
|
| 1803 | - /** |
|
| 1804 | - * c = color, b = background color, o = border-color, f = fill |
|
| 1805 | - */ |
|
| 1806 | - $selectors = array( |
|
| 1807 | - 'a' => array('c'), |
|
| 1808 | - '.btn-primary' => array('b','o'), |
|
| 1809 | - '.btn-primary.disabled' => array('b','o'), |
|
| 1810 | - '.btn-primary:disabled' => array('b','o'), |
|
| 1811 | - '.btn-outline-primary' => array('c','o'), |
|
| 1812 | - '.btn-outline-primary:hover' => array('b','o'), |
|
| 1813 | - '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'), |
|
| 1814 | - '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'), |
|
| 1815 | - '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'), |
|
| 1816 | - '.btn-link' => array('c'), |
|
| 1817 | - '.dropdown-item.active' => array('b'), |
|
| 1818 | - '.custom-control-input:checked~.custom-control-label::before' => array('b','o'), |
|
| 1819 | - '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'), |
|
| 1780 | + $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;} "; |
|
| 1781 | + } |
|
| 1782 | + |
|
| 1783 | + return $output; |
|
| 1784 | + } |
|
| 1785 | + |
|
| 1786 | + /** |
|
| 1787 | + * |
|
| 1788 | + * @deprecated 0.1.76 Use css_overwrite() |
|
| 1789 | + * |
|
| 1790 | + * @param $color_code |
|
| 1791 | + * @param $compatibility |
|
| 1792 | + * @param $use_variable |
|
| 1793 | + * |
|
| 1794 | + * @return string |
|
| 1795 | + */ |
|
| 1796 | + public static function css_primary($color_code,$compatibility, $use_variable = false){ |
|
| 1797 | + |
|
| 1798 | + if(!$use_variable){ |
|
| 1799 | + $color_code = sanitize_hex_color($color_code); |
|
| 1800 | + if(!$color_code){return '';} |
|
| 1801 | + } |
|
| 1802 | + |
|
| 1803 | + /** |
|
| 1804 | + * c = color, b = background color, o = border-color, f = fill |
|
| 1805 | + */ |
|
| 1806 | + $selectors = array( |
|
| 1807 | + 'a' => array('c'), |
|
| 1808 | + '.btn-primary' => array('b','o'), |
|
| 1809 | + '.btn-primary.disabled' => array('b','o'), |
|
| 1810 | + '.btn-primary:disabled' => array('b','o'), |
|
| 1811 | + '.btn-outline-primary' => array('c','o'), |
|
| 1812 | + '.btn-outline-primary:hover' => array('b','o'), |
|
| 1813 | + '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'), |
|
| 1814 | + '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'), |
|
| 1815 | + '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'), |
|
| 1816 | + '.btn-link' => array('c'), |
|
| 1817 | + '.dropdown-item.active' => array('b'), |
|
| 1818 | + '.custom-control-input:checked~.custom-control-label::before' => array('b','o'), |
|
| 1819 | + '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'), |
|
| 1820 | 1820 | // '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules... |
| 1821 | 1821 | // '.custom-range::-moz-range-thumb' => array('b'), |
| 1822 | 1822 | // '.custom-range::-ms-thumb' => array('b'), |
| 1823 | - '.nav-pills .nav-link.active' => array('b'), |
|
| 1824 | - '.nav-pills .show>.nav-link' => array('b'), |
|
| 1825 | - '.page-link' => array('c'), |
|
| 1826 | - '.page-item.active .page-link' => array('b','o'), |
|
| 1827 | - '.badge-primary' => array('b'), |
|
| 1828 | - '.alert-primary' => array('b','o'), |
|
| 1829 | - '.progress-bar' => array('b'), |
|
| 1830 | - '.list-group-item.active' => array('b','o'), |
|
| 1831 | - '.bg-primary' => array('b','f'), |
|
| 1832 | - '.btn-link.btn-primary' => array('c'), |
|
| 1833 | - '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'), |
|
| 1834 | - ); |
|
| 1835 | - |
|
| 1836 | - $important_selectors = array( |
|
| 1837 | - '.bg-primary' => array('b','f'), |
|
| 1838 | - '.border-primary' => array('o'), |
|
| 1839 | - '.text-primary' => array('c'), |
|
| 1840 | - ); |
|
| 1841 | - |
|
| 1842 | - $color = array(); |
|
| 1843 | - $color_i = array(); |
|
| 1844 | - $background = array(); |
|
| 1845 | - $background_i = array(); |
|
| 1846 | - $border = array(); |
|
| 1847 | - $border_i = array(); |
|
| 1848 | - $fill = array(); |
|
| 1849 | - $fill_i = array(); |
|
| 1850 | - |
|
| 1851 | - $output = ''; |
|
| 1852 | - |
|
| 1853 | - // build rules into each type |
|
| 1854 | - foreach($selectors as $selector => $types){ |
|
| 1855 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1856 | - $types = array_combine($types,$types); |
|
| 1857 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1858 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1859 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1860 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1861 | - } |
|
| 1862 | - |
|
| 1863 | - // build rules into each type |
|
| 1864 | - foreach($important_selectors as $selector => $types){ |
|
| 1865 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1866 | - $types = array_combine($types,$types); |
|
| 1867 | - if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1868 | - if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1869 | - if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1870 | - if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1871 | - } |
|
| 1872 | - |
|
| 1873 | - // add any color rules |
|
| 1874 | - if(!empty($color)){ |
|
| 1875 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1876 | - } |
|
| 1877 | - if(!empty($color_i)){ |
|
| 1878 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1879 | - } |
|
| 1880 | - |
|
| 1881 | - // add any background color rules |
|
| 1882 | - if(!empty($background)){ |
|
| 1883 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1884 | - } |
|
| 1885 | - if(!empty($background_i)){ |
|
| 1886 | - $output .= implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1887 | - } |
|
| 1888 | - |
|
| 1889 | - // add any border color rules |
|
| 1890 | - if(!empty($border)){ |
|
| 1891 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1892 | - } |
|
| 1893 | - if(!empty($border_i)){ |
|
| 1894 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1895 | - } |
|
| 1896 | - |
|
| 1897 | - // add any fill color rules |
|
| 1898 | - if(!empty($fill)){ |
|
| 1899 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1900 | - } |
|
| 1901 | - if(!empty($fill_i)){ |
|
| 1902 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1903 | - } |
|
| 1904 | - |
|
| 1905 | - |
|
| 1906 | - $prefix = $compatibility ? ".bsui " : ""; |
|
| 1907 | - |
|
| 1908 | - // darken |
|
| 1909 | - $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1910 | - $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1911 | - $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1912 | - |
|
| 1913 | - // lighten |
|
| 1914 | - $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1915 | - |
|
| 1916 | - // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1917 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 1918 | - |
|
| 1919 | - |
|
| 1920 | - // button states |
|
| 1921 | - $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1922 | - $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;} "; |
|
| 1923 | - $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.";} "; |
|
| 1924 | - $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;} "; |
|
| 1925 | - |
|
| 1926 | - |
|
| 1927 | - // dropdown's |
|
| 1928 | - $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 1929 | - |
|
| 1930 | - |
|
| 1931 | - // input states |
|
| 1932 | - $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1933 | - |
|
| 1934 | - // page link |
|
| 1935 | - $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1936 | - |
|
| 1937 | - return $output; |
|
| 1938 | - } |
|
| 1939 | - |
|
| 1940 | - /** |
|
| 1941 | - * |
|
| 1942 | - * @deprecated 0.1.76 Use css_overwrite() |
|
| 1943 | - * |
|
| 1944 | - * @param $color_code |
|
| 1945 | - * @param $compatibility |
|
| 1946 | - * |
|
| 1947 | - * @return string |
|
| 1948 | - */ |
|
| 1949 | - public static function css_secondary($color_code,$compatibility){; |
|
| 1950 | - $color_code = sanitize_hex_color($color_code); |
|
| 1951 | - if(!$color_code){return '';} |
|
| 1952 | - /** |
|
| 1953 | - * c = color, b = background color, o = border-color, f = fill |
|
| 1954 | - */ |
|
| 1955 | - $selectors = array( |
|
| 1956 | - '.btn-secondary' => array('b','o'), |
|
| 1957 | - '.btn-secondary.disabled' => array('b','o'), |
|
| 1958 | - '.btn-secondary:disabled' => array('b','o'), |
|
| 1959 | - '.btn-outline-secondary' => array('c','o'), |
|
| 1960 | - '.btn-outline-secondary:hover' => array('b','o'), |
|
| 1961 | - '.btn-outline-secondary.disabled' => array('c'), |
|
| 1962 | - '.btn-outline-secondary:disabled' => array('c'), |
|
| 1963 | - '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'), |
|
| 1964 | - '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'), |
|
| 1965 | - '.btn-outline-secondary.dropdown-toggle' => array('b','o'), |
|
| 1966 | - '.badge-secondary' => array('b'), |
|
| 1967 | - '.alert-secondary' => array('b','o'), |
|
| 1968 | - '.btn-link.btn-secondary' => array('c'), |
|
| 1969 | - ); |
|
| 1970 | - |
|
| 1971 | - $important_selectors = array( |
|
| 1972 | - '.bg-secondary' => array('b','f'), |
|
| 1973 | - '.border-secondary' => array('o'), |
|
| 1974 | - '.text-secondary' => array('c'), |
|
| 1975 | - ); |
|
| 1976 | - |
|
| 1977 | - $color = array(); |
|
| 1978 | - $color_i = array(); |
|
| 1979 | - $background = array(); |
|
| 1980 | - $background_i = array(); |
|
| 1981 | - $border = array(); |
|
| 1982 | - $border_i = array(); |
|
| 1983 | - $fill = array(); |
|
| 1984 | - $fill_i = array(); |
|
| 1985 | - |
|
| 1986 | - $output = ''; |
|
| 1987 | - |
|
| 1988 | - // build rules into each type |
|
| 1989 | - foreach($selectors as $selector => $types){ |
|
| 1990 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1991 | - $types = array_combine($types,$types); |
|
| 1992 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1993 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1994 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1995 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1996 | - } |
|
| 1997 | - |
|
| 1998 | - // build rules into each type |
|
| 1999 | - foreach($important_selectors as $selector => $types){ |
|
| 2000 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 2001 | - $types = array_combine($types,$types); |
|
| 2002 | - if(isset($types['c'])){$color_i[] = $selector;} |
|
| 2003 | - if(isset($types['b'])){$background_i[] = $selector;} |
|
| 2004 | - if(isset($types['o'])){$border_i[] = $selector;} |
|
| 2005 | - if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 2006 | - } |
|
| 2007 | - |
|
| 2008 | - // add any color rules |
|
| 2009 | - if(!empty($color)){ |
|
| 2010 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 2011 | - } |
|
| 2012 | - if(!empty($color_i)){ |
|
| 2013 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 2014 | - } |
|
| 2015 | - |
|
| 2016 | - // add any background color rules |
|
| 2017 | - if(!empty($background)){ |
|
| 2018 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 2019 | - } |
|
| 2020 | - if(!empty($background_i)){ |
|
| 2021 | - $output .= implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 2022 | - } |
|
| 2023 | - |
|
| 2024 | - // add any border color rules |
|
| 2025 | - if(!empty($border)){ |
|
| 2026 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 2027 | - } |
|
| 2028 | - if(!empty($border_i)){ |
|
| 2029 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 2030 | - } |
|
| 2031 | - |
|
| 2032 | - // add any fill color rules |
|
| 2033 | - if(!empty($fill)){ |
|
| 2034 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 2035 | - } |
|
| 2036 | - if(!empty($fill_i)){ |
|
| 2037 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 2038 | - } |
|
| 2039 | - |
|
| 2040 | - |
|
| 2041 | - $prefix = $compatibility ? ".bsui " : ""; |
|
| 2042 | - |
|
| 2043 | - // darken |
|
| 2044 | - $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 2045 | - $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 2046 | - $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 2047 | - |
|
| 2048 | - // lighten |
|
| 2049 | - $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 2050 | - |
|
| 2051 | - // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 2052 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 2053 | - |
|
| 2054 | - |
|
| 2055 | - // button states |
|
| 2056 | - $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 2057 | - $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;} "; |
|
| 2058 | - $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.";} "; |
|
| 2059 | - $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;} "; |
|
| 2060 | - |
|
| 2061 | - |
|
| 2062 | - return $output; |
|
| 2063 | - } |
|
| 2064 | - |
|
| 2065 | - /** |
|
| 2066 | - * Increases or decreases the brightness of a color by a percentage of the current brightness. |
|
| 2067 | - * |
|
| 2068 | - * @param string $hexCode Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF` |
|
| 2069 | - * @param float $adjustPercent A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker. |
|
| 2070 | - * |
|
| 2071 | - * @return string |
|
| 2072 | - */ |
|
| 2073 | - public static function css_hex_lighten_darken($hexCode, $adjustPercent) { |
|
| 2074 | - $hexCode = ltrim($hexCode, '#'); |
|
| 2075 | - |
|
| 2076 | - if (strlen($hexCode) == 3) { |
|
| 2077 | - $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2]; |
|
| 2078 | - } |
|
| 2079 | - |
|
| 2080 | - $hexCode = array_map('hexdec', str_split($hexCode, 2)); |
|
| 2081 | - |
|
| 2082 | - foreach ($hexCode as & $color) { |
|
| 2083 | - $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color; |
|
| 2084 | - $adjustAmount = ceil($adjustableLimit * $adjustPercent); |
|
| 2085 | - |
|
| 2086 | - $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT); |
|
| 2087 | - } |
|
| 2088 | - |
|
| 2089 | - return '#' . implode($hexCode); |
|
| 2090 | - } |
|
| 2091 | - |
|
| 2092 | - /** |
|
| 2093 | - * Check if we should display examples. |
|
| 2094 | - */ |
|
| 2095 | - public function maybe_show_examples(){ |
|
| 2096 | - if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){ |
|
| 2097 | - echo "<head>"; |
|
| 2098 | - wp_head(); |
|
| 2099 | - echo "</head>"; |
|
| 2100 | - echo "<body>"; |
|
| 2101 | - echo $this->get_examples(); |
|
| 2102 | - echo "</body>"; |
|
| 2103 | - exit; |
|
| 2104 | - } |
|
| 2105 | - } |
|
| 2106 | - |
|
| 2107 | - /** |
|
| 2108 | - * Get developer examples. |
|
| 2109 | - * |
|
| 2110 | - * @return string |
|
| 2111 | - */ |
|
| 2112 | - public function get_examples(){ |
|
| 2113 | - $output = ''; |
|
| 2114 | - |
|
| 2115 | - |
|
| 2116 | - // open form |
|
| 2117 | - $output .= "<form class='p-5 m-5 border rounded'>"; |
|
| 2118 | - |
|
| 2119 | - // input example |
|
| 2120 | - $output .= aui()->input(array( |
|
| 2121 | - 'type' => 'text', |
|
| 2122 | - 'id' => 'text-example', |
|
| 2123 | - 'name' => 'text-example', |
|
| 2124 | - 'placeholder' => 'text placeholder', |
|
| 2125 | - 'title' => 'Text input example', |
|
| 2126 | - 'value' => '', |
|
| 2127 | - 'required' => false, |
|
| 2128 | - 'help_text' => 'help text', |
|
| 2129 | - 'label' => 'Text input example label' |
|
| 2130 | - )); |
|
| 2131 | - |
|
| 2132 | - // input example |
|
| 2133 | - $output .= aui()->input(array( |
|
| 2134 | - 'type' => 'url', |
|
| 2135 | - 'id' => 'text-example2', |
|
| 2136 | - 'name' => 'text-example', |
|
| 2137 | - 'placeholder' => 'url placeholder', |
|
| 2138 | - 'title' => 'Text input example', |
|
| 2139 | - 'value' => '', |
|
| 2140 | - 'required' => false, |
|
| 2141 | - 'help_text' => 'help text', |
|
| 2142 | - 'label' => 'Text input example label' |
|
| 2143 | - )); |
|
| 2144 | - |
|
| 2145 | - // checkbox example |
|
| 2146 | - $output .= aui()->input(array( |
|
| 2147 | - 'type' => 'checkbox', |
|
| 2148 | - 'id' => 'checkbox-example', |
|
| 2149 | - 'name' => 'checkbox-example', |
|
| 2150 | - 'placeholder' => 'checkbox-example', |
|
| 2151 | - 'title' => 'Checkbox example', |
|
| 2152 | - 'value' => '1', |
|
| 2153 | - 'checked' => true, |
|
| 2154 | - 'required' => false, |
|
| 2155 | - 'help_text' => 'help text', |
|
| 2156 | - 'label' => 'Checkbox checked' |
|
| 2157 | - )); |
|
| 2158 | - |
|
| 2159 | - // checkbox example |
|
| 2160 | - $output .= aui()->input(array( |
|
| 2161 | - 'type' => 'checkbox', |
|
| 2162 | - 'id' => 'checkbox-example2', |
|
| 2163 | - 'name' => 'checkbox-example2', |
|
| 2164 | - 'placeholder' => 'checkbox-example', |
|
| 2165 | - 'title' => 'Checkbox example', |
|
| 2166 | - 'value' => '1', |
|
| 2167 | - 'checked' => false, |
|
| 2168 | - 'required' => false, |
|
| 2169 | - 'help_text' => 'help text', |
|
| 2170 | - 'label' => 'Checkbox un-checked' |
|
| 2171 | - )); |
|
| 2172 | - |
|
| 2173 | - // switch example |
|
| 2174 | - $output .= aui()->input(array( |
|
| 2175 | - 'type' => 'checkbox', |
|
| 2176 | - 'id' => 'switch-example', |
|
| 2177 | - 'name' => 'switch-example', |
|
| 2178 | - 'placeholder' => 'checkbox-example', |
|
| 2179 | - 'title' => 'Switch example', |
|
| 2180 | - 'value' => '1', |
|
| 2181 | - 'checked' => true, |
|
| 2182 | - 'switch' => true, |
|
| 2183 | - 'required' => false, |
|
| 2184 | - 'help_text' => 'help text', |
|
| 2185 | - 'label' => 'Switch on' |
|
| 2186 | - )); |
|
| 2187 | - |
|
| 2188 | - // switch example |
|
| 2189 | - $output .= aui()->input(array( |
|
| 2190 | - 'type' => 'checkbox', |
|
| 2191 | - 'id' => 'switch-example2', |
|
| 2192 | - 'name' => 'switch-example2', |
|
| 2193 | - 'placeholder' => 'checkbox-example', |
|
| 2194 | - 'title' => 'Switch example', |
|
| 2195 | - 'value' => '1', |
|
| 2196 | - 'checked' => false, |
|
| 2197 | - 'switch' => true, |
|
| 2198 | - 'required' => false, |
|
| 2199 | - 'help_text' => 'help text', |
|
| 2200 | - 'label' => 'Switch off' |
|
| 2201 | - )); |
|
| 2202 | - |
|
| 2203 | - // close form |
|
| 2204 | - $output .= "</form>"; |
|
| 2205 | - |
|
| 2206 | - return $output; |
|
| 2207 | - } |
|
| 2208 | - |
|
| 2209 | - /** |
|
| 2210 | - * Calendar params. |
|
| 2211 | - * |
|
| 2212 | - * @since 0.1.44 |
|
| 2213 | - * |
|
| 2214 | - * @return array Calendar params. |
|
| 2215 | - */ |
|
| 2216 | - public static function calendar_params() { |
|
| 2217 | - $params = array( |
|
| 2218 | - 'month_long_1' => __( 'January', 'ayecode-connect' ), |
|
| 2219 | - 'month_long_2' => __( 'February', 'ayecode-connect' ), |
|
| 2220 | - 'month_long_3' => __( 'March', 'ayecode-connect' ), |
|
| 2221 | - 'month_long_4' => __( 'April', 'ayecode-connect' ), |
|
| 2222 | - 'month_long_5' => __( 'May', 'ayecode-connect' ), |
|
| 2223 | - 'month_long_6' => __( 'June', 'ayecode-connect' ), |
|
| 2224 | - 'month_long_7' => __( 'July', 'ayecode-connect' ), |
|
| 2225 | - 'month_long_8' => __( 'August', 'ayecode-connect' ), |
|
| 2226 | - 'month_long_9' => __( 'September', 'ayecode-connect' ), |
|
| 2227 | - 'month_long_10' => __( 'October', 'ayecode-connect' ), |
|
| 2228 | - 'month_long_11' => __( 'November', 'ayecode-connect' ), |
|
| 2229 | - 'month_long_12' => __( 'December', 'ayecode-connect' ), |
|
| 2230 | - 'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ), |
|
| 2231 | - 'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ), |
|
| 2232 | - 'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ), |
|
| 2233 | - 'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ), |
|
| 2234 | - 'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ), |
|
| 2235 | - 'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ), |
|
| 2236 | - 'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ), |
|
| 2237 | - 'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ), |
|
| 2238 | - 'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ), |
|
| 2239 | - 'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ), |
|
| 2240 | - 'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ), |
|
| 2241 | - 'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ), |
|
| 2242 | - 'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ), |
|
| 2243 | - 'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ), |
|
| 2244 | - 'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ), |
|
| 2245 | - 'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ), |
|
| 2246 | - 'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ), |
|
| 2247 | - 'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ), |
|
| 2248 | - 'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ), |
|
| 2249 | - 'day_s2_1' => __( 'Su', 'ayecode-connect' ), |
|
| 2250 | - 'day_s2_2' => __( 'Mo', 'ayecode-connect' ), |
|
| 2251 | - 'day_s2_3' => __( 'Tu', 'ayecode-connect' ), |
|
| 2252 | - 'day_s2_4' => __( 'We', 'ayecode-connect' ), |
|
| 2253 | - 'day_s2_5' => __( 'Th', 'ayecode-connect' ), |
|
| 2254 | - 'day_s2_6' => __( 'Fr', 'ayecode-connect' ), |
|
| 2255 | - 'day_s2_7' => __( 'Sa', 'ayecode-connect' ), |
|
| 2256 | - 'day_s3_1' => __( 'Sun', 'ayecode-connect' ), |
|
| 2257 | - 'day_s3_2' => __( 'Mon', 'ayecode-connect' ), |
|
| 2258 | - 'day_s3_3' => __( 'Tue', 'ayecode-connect' ), |
|
| 2259 | - 'day_s3_4' => __( 'Wed', 'ayecode-connect' ), |
|
| 2260 | - 'day_s3_5' => __( 'Thu', 'ayecode-connect' ), |
|
| 2261 | - 'day_s3_6' => __( 'Fri', 'ayecode-connect' ), |
|
| 2262 | - 'day_s3_7' => __( 'Sat', 'ayecode-connect' ), |
|
| 2263 | - 'day_s5_1' => __( 'Sunday', 'ayecode-connect' ), |
|
| 2264 | - 'day_s5_2' => __( 'Monday', 'ayecode-connect' ), |
|
| 2265 | - 'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ), |
|
| 2266 | - 'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ), |
|
| 2267 | - 'day_s5_5' => __( 'Thursday', 'ayecode-connect' ), |
|
| 2268 | - 'day_s5_6' => __( 'Friday', 'ayecode-connect' ), |
|
| 2269 | - 'day_s5_7' => __( 'Saturday', 'ayecode-connect' ), |
|
| 2270 | - 'am_lower' => __( 'am', 'ayecode-connect' ), |
|
| 2271 | - 'pm_lower' => __( 'pm', 'ayecode-connect' ), |
|
| 2272 | - 'am_upper' => __( 'AM', 'ayecode-connect' ), |
|
| 2273 | - 'pm_upper' => __( 'PM', 'ayecode-connect' ), |
|
| 2274 | - 'firstDayOfWeek' => (int) get_option( 'start_of_week' ), |
|
| 2275 | - 'time_24hr' => false, |
|
| 2276 | - 'year' => __( 'Year', 'ayecode-connect' ), |
|
| 2277 | - 'hour' => __( 'Hour', 'ayecode-connect' ), |
|
| 2278 | - 'minute' => __( 'Minute', 'ayecode-connect' ), |
|
| 2279 | - 'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ), |
|
| 2280 | - 'rangeSeparator' => __( ' to ', 'ayecode-connect' ), |
|
| 2281 | - 'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ), |
|
| 2282 | - 'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' ) |
|
| 2283 | - ); |
|
| 2284 | - |
|
| 2285 | - return apply_filters( 'ayecode_ui_calendar_params', $params ); |
|
| 2286 | - } |
|
| 2287 | - |
|
| 2288 | - /** |
|
| 2289 | - * Flatpickr calendar localize. |
|
| 2290 | - * |
|
| 2291 | - * @since 0.1.44 |
|
| 2292 | - * |
|
| 2293 | - * @return string Calendar locale. |
|
| 2294 | - */ |
|
| 2295 | - public static function flatpickr_locale() { |
|
| 2296 | - $params = self::calendar_params(); |
|
| 2297 | - |
|
| 2298 | - if ( is_string( $params ) ) { |
|
| 2299 | - $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' ); |
|
| 2300 | - } else { |
|
| 2301 | - foreach ( (array) $params as $key => $value ) { |
|
| 2302 | - if ( ! is_scalar( $value ) ) { |
|
| 2303 | - continue; |
|
| 2304 | - } |
|
| 2305 | - |
|
| 2306 | - $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2307 | - } |
|
| 2308 | - } |
|
| 1823 | + '.nav-pills .nav-link.active' => array('b'), |
|
| 1824 | + '.nav-pills .show>.nav-link' => array('b'), |
|
| 1825 | + '.page-link' => array('c'), |
|
| 1826 | + '.page-item.active .page-link' => array('b','o'), |
|
| 1827 | + '.badge-primary' => array('b'), |
|
| 1828 | + '.alert-primary' => array('b','o'), |
|
| 1829 | + '.progress-bar' => array('b'), |
|
| 1830 | + '.list-group-item.active' => array('b','o'), |
|
| 1831 | + '.bg-primary' => array('b','f'), |
|
| 1832 | + '.btn-link.btn-primary' => array('c'), |
|
| 1833 | + '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'), |
|
| 1834 | + ); |
|
| 1835 | + |
|
| 1836 | + $important_selectors = array( |
|
| 1837 | + '.bg-primary' => array('b','f'), |
|
| 1838 | + '.border-primary' => array('o'), |
|
| 1839 | + '.text-primary' => array('c'), |
|
| 1840 | + ); |
|
| 1841 | + |
|
| 1842 | + $color = array(); |
|
| 1843 | + $color_i = array(); |
|
| 1844 | + $background = array(); |
|
| 1845 | + $background_i = array(); |
|
| 1846 | + $border = array(); |
|
| 1847 | + $border_i = array(); |
|
| 1848 | + $fill = array(); |
|
| 1849 | + $fill_i = array(); |
|
| 1850 | + |
|
| 1851 | + $output = ''; |
|
| 1852 | + |
|
| 1853 | + // build rules into each type |
|
| 1854 | + foreach($selectors as $selector => $types){ |
|
| 1855 | + $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1856 | + $types = array_combine($types,$types); |
|
| 1857 | + if(isset($types['c'])){$color[] = $selector;} |
|
| 1858 | + if(isset($types['b'])){$background[] = $selector;} |
|
| 1859 | + if(isset($types['o'])){$border[] = $selector;} |
|
| 1860 | + if(isset($types['f'])){$fill[] = $selector;} |
|
| 1861 | + } |
|
| 1862 | + |
|
| 1863 | + // build rules into each type |
|
| 1864 | + foreach($important_selectors as $selector => $types){ |
|
| 1865 | + $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1866 | + $types = array_combine($types,$types); |
|
| 1867 | + if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1868 | + if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1869 | + if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1870 | + if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1871 | + } |
|
| 1872 | + |
|
| 1873 | + // add any color rules |
|
| 1874 | + if(!empty($color)){ |
|
| 1875 | + $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1876 | + } |
|
| 1877 | + if(!empty($color_i)){ |
|
| 1878 | + $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1879 | + } |
|
| 1880 | + |
|
| 1881 | + // add any background color rules |
|
| 1882 | + if(!empty($background)){ |
|
| 1883 | + $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1884 | + } |
|
| 1885 | + if(!empty($background_i)){ |
|
| 1886 | + $output .= implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1887 | + } |
|
| 1888 | + |
|
| 1889 | + // add any border color rules |
|
| 1890 | + if(!empty($border)){ |
|
| 1891 | + $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1892 | + } |
|
| 1893 | + if(!empty($border_i)){ |
|
| 1894 | + $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1895 | + } |
|
| 1896 | + |
|
| 1897 | + // add any fill color rules |
|
| 1898 | + if(!empty($fill)){ |
|
| 1899 | + $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1900 | + } |
|
| 1901 | + if(!empty($fill_i)){ |
|
| 1902 | + $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1903 | + } |
|
| 1904 | + |
|
| 1905 | + |
|
| 1906 | + $prefix = $compatibility ? ".bsui " : ""; |
|
| 1907 | + |
|
| 1908 | + // darken |
|
| 1909 | + $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1910 | + $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1911 | + $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1912 | + |
|
| 1913 | + // lighten |
|
| 1914 | + $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 2309 | 1915 | |
| 2310 | - $day_s3 = array(); |
|
| 2311 | - $day_s5 = array(); |
|
| 1916 | + // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1917 | + $op_25 = $color_code."40"; // 25% opacity |
|
| 2312 | 1918 | |
| 2313 | - for ( $i = 1; $i <= 7; $i ++ ) { |
|
| 2314 | - $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); |
|
| 2315 | - $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); |
|
| 2316 | - } |
|
| 2317 | 1919 | |
| 2318 | - $month_s = array(); |
|
| 2319 | - $month_long = array(); |
|
| 1920 | + // button states |
|
| 1921 | + $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1922 | + $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;} "; |
|
| 1923 | + $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.";} "; |
|
| 1924 | + $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;} "; |
|
| 2320 | 1925 | |
| 2321 | - for ( $i = 1; $i <= 12; $i ++ ) { |
|
| 2322 | - $month_s[] = addslashes( $params[ 'month_s_' . $i ] ); |
|
| 2323 | - $month_long[] = addslashes( $params[ 'month_long_' . $i ] ); |
|
| 2324 | - } |
|
| 2325 | 1926 | |
| 2326 | - ob_start(); |
|
| 2327 | - if ( 0 ) { ?><script><?php } ?> |
|
| 1927 | + // dropdown's |
|
| 1928 | + $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 1929 | + |
|
| 1930 | + |
|
| 1931 | + // input states |
|
| 1932 | + $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1933 | + |
|
| 1934 | + // page link |
|
| 1935 | + $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1936 | + |
|
| 1937 | + return $output; |
|
| 1938 | + } |
|
| 1939 | + |
|
| 1940 | + /** |
|
| 1941 | + * |
|
| 1942 | + * @deprecated 0.1.76 Use css_overwrite() |
|
| 1943 | + * |
|
| 1944 | + * @param $color_code |
|
| 1945 | + * @param $compatibility |
|
| 1946 | + * |
|
| 1947 | + * @return string |
|
| 1948 | + */ |
|
| 1949 | + public static function css_secondary($color_code,$compatibility){; |
|
| 1950 | + $color_code = sanitize_hex_color($color_code); |
|
| 1951 | + if(!$color_code){return '';} |
|
| 1952 | + /** |
|
| 1953 | + * c = color, b = background color, o = border-color, f = fill |
|
| 1954 | + */ |
|
| 1955 | + $selectors = array( |
|
| 1956 | + '.btn-secondary' => array('b','o'), |
|
| 1957 | + '.btn-secondary.disabled' => array('b','o'), |
|
| 1958 | + '.btn-secondary:disabled' => array('b','o'), |
|
| 1959 | + '.btn-outline-secondary' => array('c','o'), |
|
| 1960 | + '.btn-outline-secondary:hover' => array('b','o'), |
|
| 1961 | + '.btn-outline-secondary.disabled' => array('c'), |
|
| 1962 | + '.btn-outline-secondary:disabled' => array('c'), |
|
| 1963 | + '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'), |
|
| 1964 | + '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'), |
|
| 1965 | + '.btn-outline-secondary.dropdown-toggle' => array('b','o'), |
|
| 1966 | + '.badge-secondary' => array('b'), |
|
| 1967 | + '.alert-secondary' => array('b','o'), |
|
| 1968 | + '.btn-link.btn-secondary' => array('c'), |
|
| 1969 | + ); |
|
| 1970 | + |
|
| 1971 | + $important_selectors = array( |
|
| 1972 | + '.bg-secondary' => array('b','f'), |
|
| 1973 | + '.border-secondary' => array('o'), |
|
| 1974 | + '.text-secondary' => array('c'), |
|
| 1975 | + ); |
|
| 1976 | + |
|
| 1977 | + $color = array(); |
|
| 1978 | + $color_i = array(); |
|
| 1979 | + $background = array(); |
|
| 1980 | + $background_i = array(); |
|
| 1981 | + $border = array(); |
|
| 1982 | + $border_i = array(); |
|
| 1983 | + $fill = array(); |
|
| 1984 | + $fill_i = array(); |
|
| 1985 | + |
|
| 1986 | + $output = ''; |
|
| 1987 | + |
|
| 1988 | + // build rules into each type |
|
| 1989 | + foreach($selectors as $selector => $types){ |
|
| 1990 | + $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1991 | + $types = array_combine($types,$types); |
|
| 1992 | + if(isset($types['c'])){$color[] = $selector;} |
|
| 1993 | + if(isset($types['b'])){$background[] = $selector;} |
|
| 1994 | + if(isset($types['o'])){$border[] = $selector;} |
|
| 1995 | + if(isset($types['f'])){$fill[] = $selector;} |
|
| 1996 | + } |
|
| 1997 | + |
|
| 1998 | + // build rules into each type |
|
| 1999 | + foreach($important_selectors as $selector => $types){ |
|
| 2000 | + $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 2001 | + $types = array_combine($types,$types); |
|
| 2002 | + if(isset($types['c'])){$color_i[] = $selector;} |
|
| 2003 | + if(isset($types['b'])){$background_i[] = $selector;} |
|
| 2004 | + if(isset($types['o'])){$border_i[] = $selector;} |
|
| 2005 | + if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 2006 | + } |
|
| 2007 | + |
|
| 2008 | + // add any color rules |
|
| 2009 | + if(!empty($color)){ |
|
| 2010 | + $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 2011 | + } |
|
| 2012 | + if(!empty($color_i)){ |
|
| 2013 | + $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 2014 | + } |
|
| 2015 | + |
|
| 2016 | + // add any background color rules |
|
| 2017 | + if(!empty($background)){ |
|
| 2018 | + $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 2019 | + } |
|
| 2020 | + if(!empty($background_i)){ |
|
| 2021 | + $output .= implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 2022 | + } |
|
| 2023 | + |
|
| 2024 | + // add any border color rules |
|
| 2025 | + if(!empty($border)){ |
|
| 2026 | + $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 2027 | + } |
|
| 2028 | + if(!empty($border_i)){ |
|
| 2029 | + $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 2030 | + } |
|
| 2031 | + |
|
| 2032 | + // add any fill color rules |
|
| 2033 | + if(!empty($fill)){ |
|
| 2034 | + $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 2035 | + } |
|
| 2036 | + if(!empty($fill_i)){ |
|
| 2037 | + $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 2038 | + } |
|
| 2039 | + |
|
| 2040 | + |
|
| 2041 | + $prefix = $compatibility ? ".bsui " : ""; |
|
| 2042 | + |
|
| 2043 | + // darken |
|
| 2044 | + $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 2045 | + $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 2046 | + $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 2047 | + |
|
| 2048 | + // lighten |
|
| 2049 | + $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 2050 | + |
|
| 2051 | + // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 2052 | + $op_25 = $color_code."40"; // 25% opacity |
|
| 2053 | + |
|
| 2054 | + |
|
| 2055 | + // button states |
|
| 2056 | + $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 2057 | + $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;} "; |
|
| 2058 | + $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.";} "; |
|
| 2059 | + $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;} "; |
|
| 2060 | + |
|
| 2061 | + |
|
| 2062 | + return $output; |
|
| 2063 | + } |
|
| 2064 | + |
|
| 2065 | + /** |
|
| 2066 | + * Increases or decreases the brightness of a color by a percentage of the current brightness. |
|
| 2067 | + * |
|
| 2068 | + * @param string $hexCode Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF` |
|
| 2069 | + * @param float $adjustPercent A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker. |
|
| 2070 | + * |
|
| 2071 | + * @return string |
|
| 2072 | + */ |
|
| 2073 | + public static function css_hex_lighten_darken($hexCode, $adjustPercent) { |
|
| 2074 | + $hexCode = ltrim($hexCode, '#'); |
|
| 2075 | + |
|
| 2076 | + if (strlen($hexCode) == 3) { |
|
| 2077 | + $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2]; |
|
| 2078 | + } |
|
| 2079 | + |
|
| 2080 | + $hexCode = array_map('hexdec', str_split($hexCode, 2)); |
|
| 2081 | + |
|
| 2082 | + foreach ($hexCode as & $color) { |
|
| 2083 | + $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color; |
|
| 2084 | + $adjustAmount = ceil($adjustableLimit * $adjustPercent); |
|
| 2085 | + |
|
| 2086 | + $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT); |
|
| 2087 | + } |
|
| 2088 | + |
|
| 2089 | + return '#' . implode($hexCode); |
|
| 2090 | + } |
|
| 2091 | + |
|
| 2092 | + /** |
|
| 2093 | + * Check if we should display examples. |
|
| 2094 | + */ |
|
| 2095 | + public function maybe_show_examples(){ |
|
| 2096 | + if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){ |
|
| 2097 | + echo "<head>"; |
|
| 2098 | + wp_head(); |
|
| 2099 | + echo "</head>"; |
|
| 2100 | + echo "<body>"; |
|
| 2101 | + echo $this->get_examples(); |
|
| 2102 | + echo "</body>"; |
|
| 2103 | + exit; |
|
| 2104 | + } |
|
| 2105 | + } |
|
| 2106 | + |
|
| 2107 | + /** |
|
| 2108 | + * Get developer examples. |
|
| 2109 | + * |
|
| 2110 | + * @return string |
|
| 2111 | + */ |
|
| 2112 | + public function get_examples(){ |
|
| 2113 | + $output = ''; |
|
| 2114 | + |
|
| 2115 | + |
|
| 2116 | + // open form |
|
| 2117 | + $output .= "<form class='p-5 m-5 border rounded'>"; |
|
| 2118 | + |
|
| 2119 | + // input example |
|
| 2120 | + $output .= aui()->input(array( |
|
| 2121 | + 'type' => 'text', |
|
| 2122 | + 'id' => 'text-example', |
|
| 2123 | + 'name' => 'text-example', |
|
| 2124 | + 'placeholder' => 'text placeholder', |
|
| 2125 | + 'title' => 'Text input example', |
|
| 2126 | + 'value' => '', |
|
| 2127 | + 'required' => false, |
|
| 2128 | + 'help_text' => 'help text', |
|
| 2129 | + 'label' => 'Text input example label' |
|
| 2130 | + )); |
|
| 2131 | + |
|
| 2132 | + // input example |
|
| 2133 | + $output .= aui()->input(array( |
|
| 2134 | + 'type' => 'url', |
|
| 2135 | + 'id' => 'text-example2', |
|
| 2136 | + 'name' => 'text-example', |
|
| 2137 | + 'placeholder' => 'url placeholder', |
|
| 2138 | + 'title' => 'Text input example', |
|
| 2139 | + 'value' => '', |
|
| 2140 | + 'required' => false, |
|
| 2141 | + 'help_text' => 'help text', |
|
| 2142 | + 'label' => 'Text input example label' |
|
| 2143 | + )); |
|
| 2144 | + |
|
| 2145 | + // checkbox example |
|
| 2146 | + $output .= aui()->input(array( |
|
| 2147 | + 'type' => 'checkbox', |
|
| 2148 | + 'id' => 'checkbox-example', |
|
| 2149 | + 'name' => 'checkbox-example', |
|
| 2150 | + 'placeholder' => 'checkbox-example', |
|
| 2151 | + 'title' => 'Checkbox example', |
|
| 2152 | + 'value' => '1', |
|
| 2153 | + 'checked' => true, |
|
| 2154 | + 'required' => false, |
|
| 2155 | + 'help_text' => 'help text', |
|
| 2156 | + 'label' => 'Checkbox checked' |
|
| 2157 | + )); |
|
| 2158 | + |
|
| 2159 | + // checkbox example |
|
| 2160 | + $output .= aui()->input(array( |
|
| 2161 | + 'type' => 'checkbox', |
|
| 2162 | + 'id' => 'checkbox-example2', |
|
| 2163 | + 'name' => 'checkbox-example2', |
|
| 2164 | + 'placeholder' => 'checkbox-example', |
|
| 2165 | + 'title' => 'Checkbox example', |
|
| 2166 | + 'value' => '1', |
|
| 2167 | + 'checked' => false, |
|
| 2168 | + 'required' => false, |
|
| 2169 | + 'help_text' => 'help text', |
|
| 2170 | + 'label' => 'Checkbox un-checked' |
|
| 2171 | + )); |
|
| 2172 | + |
|
| 2173 | + // switch example |
|
| 2174 | + $output .= aui()->input(array( |
|
| 2175 | + 'type' => 'checkbox', |
|
| 2176 | + 'id' => 'switch-example', |
|
| 2177 | + 'name' => 'switch-example', |
|
| 2178 | + 'placeholder' => 'checkbox-example', |
|
| 2179 | + 'title' => 'Switch example', |
|
| 2180 | + 'value' => '1', |
|
| 2181 | + 'checked' => true, |
|
| 2182 | + 'switch' => true, |
|
| 2183 | + 'required' => false, |
|
| 2184 | + 'help_text' => 'help text', |
|
| 2185 | + 'label' => 'Switch on' |
|
| 2186 | + )); |
|
| 2187 | + |
|
| 2188 | + // switch example |
|
| 2189 | + $output .= aui()->input(array( |
|
| 2190 | + 'type' => 'checkbox', |
|
| 2191 | + 'id' => 'switch-example2', |
|
| 2192 | + 'name' => 'switch-example2', |
|
| 2193 | + 'placeholder' => 'checkbox-example', |
|
| 2194 | + 'title' => 'Switch example', |
|
| 2195 | + 'value' => '1', |
|
| 2196 | + 'checked' => false, |
|
| 2197 | + 'switch' => true, |
|
| 2198 | + 'required' => false, |
|
| 2199 | + 'help_text' => 'help text', |
|
| 2200 | + 'label' => 'Switch off' |
|
| 2201 | + )); |
|
| 2202 | + |
|
| 2203 | + // close form |
|
| 2204 | + $output .= "</form>"; |
|
| 2205 | + |
|
| 2206 | + return $output; |
|
| 2207 | + } |
|
| 2208 | + |
|
| 2209 | + /** |
|
| 2210 | + * Calendar params. |
|
| 2211 | + * |
|
| 2212 | + * @since 0.1.44 |
|
| 2213 | + * |
|
| 2214 | + * @return array Calendar params. |
|
| 2215 | + */ |
|
| 2216 | + public static function calendar_params() { |
|
| 2217 | + $params = array( |
|
| 2218 | + 'month_long_1' => __( 'January', 'ayecode-connect' ), |
|
| 2219 | + 'month_long_2' => __( 'February', 'ayecode-connect' ), |
|
| 2220 | + 'month_long_3' => __( 'March', 'ayecode-connect' ), |
|
| 2221 | + 'month_long_4' => __( 'April', 'ayecode-connect' ), |
|
| 2222 | + 'month_long_5' => __( 'May', 'ayecode-connect' ), |
|
| 2223 | + 'month_long_6' => __( 'June', 'ayecode-connect' ), |
|
| 2224 | + 'month_long_7' => __( 'July', 'ayecode-connect' ), |
|
| 2225 | + 'month_long_8' => __( 'August', 'ayecode-connect' ), |
|
| 2226 | + 'month_long_9' => __( 'September', 'ayecode-connect' ), |
|
| 2227 | + 'month_long_10' => __( 'October', 'ayecode-connect' ), |
|
| 2228 | + 'month_long_11' => __( 'November', 'ayecode-connect' ), |
|
| 2229 | + 'month_long_12' => __( 'December', 'ayecode-connect' ), |
|
| 2230 | + 'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ), |
|
| 2231 | + 'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ), |
|
| 2232 | + 'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ), |
|
| 2233 | + 'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ), |
|
| 2234 | + 'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ), |
|
| 2235 | + 'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ), |
|
| 2236 | + 'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ), |
|
| 2237 | + 'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ), |
|
| 2238 | + 'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ), |
|
| 2239 | + 'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ), |
|
| 2240 | + 'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ), |
|
| 2241 | + 'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ), |
|
| 2242 | + 'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ), |
|
| 2243 | + 'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ), |
|
| 2244 | + 'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ), |
|
| 2245 | + 'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ), |
|
| 2246 | + 'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ), |
|
| 2247 | + 'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ), |
|
| 2248 | + 'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ), |
|
| 2249 | + 'day_s2_1' => __( 'Su', 'ayecode-connect' ), |
|
| 2250 | + 'day_s2_2' => __( 'Mo', 'ayecode-connect' ), |
|
| 2251 | + 'day_s2_3' => __( 'Tu', 'ayecode-connect' ), |
|
| 2252 | + 'day_s2_4' => __( 'We', 'ayecode-connect' ), |
|
| 2253 | + 'day_s2_5' => __( 'Th', 'ayecode-connect' ), |
|
| 2254 | + 'day_s2_6' => __( 'Fr', 'ayecode-connect' ), |
|
| 2255 | + 'day_s2_7' => __( 'Sa', 'ayecode-connect' ), |
|
| 2256 | + 'day_s3_1' => __( 'Sun', 'ayecode-connect' ), |
|
| 2257 | + 'day_s3_2' => __( 'Mon', 'ayecode-connect' ), |
|
| 2258 | + 'day_s3_3' => __( 'Tue', 'ayecode-connect' ), |
|
| 2259 | + 'day_s3_4' => __( 'Wed', 'ayecode-connect' ), |
|
| 2260 | + 'day_s3_5' => __( 'Thu', 'ayecode-connect' ), |
|
| 2261 | + 'day_s3_6' => __( 'Fri', 'ayecode-connect' ), |
|
| 2262 | + 'day_s3_7' => __( 'Sat', 'ayecode-connect' ), |
|
| 2263 | + 'day_s5_1' => __( 'Sunday', 'ayecode-connect' ), |
|
| 2264 | + 'day_s5_2' => __( 'Monday', 'ayecode-connect' ), |
|
| 2265 | + 'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ), |
|
| 2266 | + 'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ), |
|
| 2267 | + 'day_s5_5' => __( 'Thursday', 'ayecode-connect' ), |
|
| 2268 | + 'day_s5_6' => __( 'Friday', 'ayecode-connect' ), |
|
| 2269 | + 'day_s5_7' => __( 'Saturday', 'ayecode-connect' ), |
|
| 2270 | + 'am_lower' => __( 'am', 'ayecode-connect' ), |
|
| 2271 | + 'pm_lower' => __( 'pm', 'ayecode-connect' ), |
|
| 2272 | + 'am_upper' => __( 'AM', 'ayecode-connect' ), |
|
| 2273 | + 'pm_upper' => __( 'PM', 'ayecode-connect' ), |
|
| 2274 | + 'firstDayOfWeek' => (int) get_option( 'start_of_week' ), |
|
| 2275 | + 'time_24hr' => false, |
|
| 2276 | + 'year' => __( 'Year', 'ayecode-connect' ), |
|
| 2277 | + 'hour' => __( 'Hour', 'ayecode-connect' ), |
|
| 2278 | + 'minute' => __( 'Minute', 'ayecode-connect' ), |
|
| 2279 | + 'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ), |
|
| 2280 | + 'rangeSeparator' => __( ' to ', 'ayecode-connect' ), |
|
| 2281 | + 'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ), |
|
| 2282 | + 'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' ) |
|
| 2283 | + ); |
|
| 2284 | + |
|
| 2285 | + return apply_filters( 'ayecode_ui_calendar_params', $params ); |
|
| 2286 | + } |
|
| 2287 | + |
|
| 2288 | + /** |
|
| 2289 | + * Flatpickr calendar localize. |
|
| 2290 | + * |
|
| 2291 | + * @since 0.1.44 |
|
| 2292 | + * |
|
| 2293 | + * @return string Calendar locale. |
|
| 2294 | + */ |
|
| 2295 | + public static function flatpickr_locale() { |
|
| 2296 | + $params = self::calendar_params(); |
|
| 2297 | + |
|
| 2298 | + if ( is_string( $params ) ) { |
|
| 2299 | + $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' ); |
|
| 2300 | + } else { |
|
| 2301 | + foreach ( (array) $params as $key => $value ) { |
|
| 2302 | + if ( ! is_scalar( $value ) ) { |
|
| 2303 | + continue; |
|
| 2304 | + } |
|
| 2305 | + |
|
| 2306 | + $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2307 | + } |
|
| 2308 | + } |
|
| 2309 | + |
|
| 2310 | + $day_s3 = array(); |
|
| 2311 | + $day_s5 = array(); |
|
| 2312 | + |
|
| 2313 | + for ( $i = 1; $i <= 7; $i ++ ) { |
|
| 2314 | + $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); |
|
| 2315 | + $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); |
|
| 2316 | + } |
|
| 2317 | + |
|
| 2318 | + $month_s = array(); |
|
| 2319 | + $month_long = array(); |
|
| 2320 | + |
|
| 2321 | + for ( $i = 1; $i <= 12; $i ++ ) { |
|
| 2322 | + $month_s[] = addslashes( $params[ 'month_s_' . $i ] ); |
|
| 2323 | + $month_long[] = addslashes( $params[ 'month_long_' . $i ] ); |
|
| 2324 | + } |
|
| 2325 | + |
|
| 2326 | + ob_start(); |
|
| 2327 | + if ( 0 ) { ?><script><?php } ?> |
|
| 2328 | 2328 | { |
| 2329 | 2329 | weekdays: { |
| 2330 | 2330 | shorthand: ['<?php echo implode( "','", $day_s3 ); ?>'], |
@@ -2363,189 +2363,189 @@ discard block |
||
| 2363 | 2363 | } |
| 2364 | 2364 | <?php if ( 0 ) { ?></script><?php } ?> |
| 2365 | 2365 | <?php |
| 2366 | - $locale = ob_get_clean(); |
|
| 2367 | - |
|
| 2368 | - return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) ); |
|
| 2369 | - } |
|
| 2370 | - |
|
| 2371 | - /** |
|
| 2372 | - * Select2 JS params. |
|
| 2373 | - * |
|
| 2374 | - * @since 0.1.44 |
|
| 2375 | - * |
|
| 2376 | - * @return array Select2 JS params. |
|
| 2377 | - */ |
|
| 2378 | - public static function select2_params() { |
|
| 2379 | - $params = array( |
|
| 2380 | - 'i18n_select_state_text' => esc_attr__( 'Select an option…', 'ayecode-connect' ), |
|
| 2381 | - 'i18n_no_matches' => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ), |
|
| 2382 | - 'i18n_ajax_error' => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ), |
|
| 2383 | - 'i18n_input_too_short_1' => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2384 | - 'i18n_input_too_short_n' => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2385 | - 'i18n_input_too_long_1' => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ), |
|
| 2386 | - 'i18n_input_too_long_n' => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2387 | - 'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ), |
|
| 2388 | - 'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ), |
|
| 2389 | - 'i18n_load_more' => _x( 'Loading more results…', 'enhanced select', 'ayecode-connect' ), |
|
| 2390 | - 'i18n_searching' => _x( 'Searching…', 'enhanced select', 'ayecode-connect' ) |
|
| 2391 | - ); |
|
| 2392 | - |
|
| 2393 | - return apply_filters( 'ayecode_ui_select2_params', $params ); |
|
| 2394 | - } |
|
| 2395 | - |
|
| 2396 | - /** |
|
| 2397 | - * Select2 JS localize. |
|
| 2398 | - * |
|
| 2399 | - * @since 0.1.44 |
|
| 2400 | - * |
|
| 2401 | - * @return string Select2 JS locale. |
|
| 2402 | - */ |
|
| 2403 | - public static function select2_locale() { |
|
| 2404 | - $params = self::select2_params(); |
|
| 2405 | - |
|
| 2406 | - foreach ( (array) $params as $key => $value ) { |
|
| 2407 | - if ( ! is_scalar( $value ) ) { |
|
| 2408 | - continue; |
|
| 2409 | - } |
|
| 2366 | + $locale = ob_get_clean(); |
|
| 2410 | 2367 | |
| 2411 | - $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2412 | - } |
|
| 2413 | - |
|
| 2414 | - $locale = json_encode( $params ); |
|
| 2415 | - |
|
| 2416 | - return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) ); |
|
| 2417 | - } |
|
| 2418 | - |
|
| 2419 | - /** |
|
| 2420 | - * Time ago JS localize. |
|
| 2421 | - * |
|
| 2422 | - * @since 0.1.47 |
|
| 2423 | - * |
|
| 2424 | - * @return string Time ago JS locale. |
|
| 2425 | - */ |
|
| 2426 | - public static function timeago_locale() { |
|
| 2427 | - $params = array( |
|
| 2428 | - 'prefix_ago' => '', |
|
| 2429 | - 'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ), |
|
| 2430 | - 'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ', |
|
| 2431 | - 'suffix_after' => '', |
|
| 2432 | - 'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ), |
|
| 2433 | - 'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ), |
|
| 2434 | - 'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ), |
|
| 2435 | - 'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ), |
|
| 2436 | - 'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ), |
|
| 2437 | - 'day' => _x( 'a day', 'time ago', 'ayecode-connect' ), |
|
| 2438 | - 'days' => _x( '%d days', 'time ago', 'ayecode-connect' ), |
|
| 2439 | - 'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ), |
|
| 2440 | - 'months' => _x( '%d months', 'time ago', 'ayecode-connect' ), |
|
| 2441 | - 'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ), |
|
| 2442 | - 'years' => _x( '%d years', 'time ago', 'ayecode-connect' ), |
|
| 2443 | - ); |
|
| 2444 | - |
|
| 2445 | - $params = apply_filters( 'ayecode_ui_timeago_params', $params ); |
|
| 2446 | - |
|
| 2447 | - foreach ( (array) $params as $key => $value ) { |
|
| 2448 | - if ( ! is_scalar( $value ) ) { |
|
| 2449 | - continue; |
|
| 2450 | - } |
|
| 2368 | + return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) ); |
|
| 2369 | + } |
|
| 2370 | + |
|
| 2371 | + /** |
|
| 2372 | + * Select2 JS params. |
|
| 2373 | + * |
|
| 2374 | + * @since 0.1.44 |
|
| 2375 | + * |
|
| 2376 | + * @return array Select2 JS params. |
|
| 2377 | + */ |
|
| 2378 | + public static function select2_params() { |
|
| 2379 | + $params = array( |
|
| 2380 | + 'i18n_select_state_text' => esc_attr__( 'Select an option…', 'ayecode-connect' ), |
|
| 2381 | + 'i18n_no_matches' => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ), |
|
| 2382 | + 'i18n_ajax_error' => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ), |
|
| 2383 | + 'i18n_input_too_short_1' => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2384 | + 'i18n_input_too_short_n' => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2385 | + 'i18n_input_too_long_1' => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ), |
|
| 2386 | + 'i18n_input_too_long_n' => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2387 | + 'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ), |
|
| 2388 | + 'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ), |
|
| 2389 | + 'i18n_load_more' => _x( 'Loading more results…', 'enhanced select', 'ayecode-connect' ), |
|
| 2390 | + 'i18n_searching' => _x( 'Searching…', 'enhanced select', 'ayecode-connect' ) |
|
| 2391 | + ); |
|
| 2392 | + |
|
| 2393 | + return apply_filters( 'ayecode_ui_select2_params', $params ); |
|
| 2394 | + } |
|
| 2395 | + |
|
| 2396 | + /** |
|
| 2397 | + * Select2 JS localize. |
|
| 2398 | + * |
|
| 2399 | + * @since 0.1.44 |
|
| 2400 | + * |
|
| 2401 | + * @return string Select2 JS locale. |
|
| 2402 | + */ |
|
| 2403 | + public static function select2_locale() { |
|
| 2404 | + $params = self::select2_params(); |
|
| 2405 | + |
|
| 2406 | + foreach ( (array) $params as $key => $value ) { |
|
| 2407 | + if ( ! is_scalar( $value ) ) { |
|
| 2408 | + continue; |
|
| 2409 | + } |
|
| 2410 | + |
|
| 2411 | + $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2412 | + } |
|
| 2413 | + |
|
| 2414 | + $locale = json_encode( $params ); |
|
| 2415 | + |
|
| 2416 | + return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) ); |
|
| 2417 | + } |
|
| 2418 | + |
|
| 2419 | + /** |
|
| 2420 | + * Time ago JS localize. |
|
| 2421 | + * |
|
| 2422 | + * @since 0.1.47 |
|
| 2423 | + * |
|
| 2424 | + * @return string Time ago JS locale. |
|
| 2425 | + */ |
|
| 2426 | + public static function timeago_locale() { |
|
| 2427 | + $params = array( |
|
| 2428 | + 'prefix_ago' => '', |
|
| 2429 | + 'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ), |
|
| 2430 | + 'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ', |
|
| 2431 | + 'suffix_after' => '', |
|
| 2432 | + 'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ), |
|
| 2433 | + 'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ), |
|
| 2434 | + 'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ), |
|
| 2435 | + 'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ), |
|
| 2436 | + 'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ), |
|
| 2437 | + 'day' => _x( 'a day', 'time ago', 'ayecode-connect' ), |
|
| 2438 | + 'days' => _x( '%d days', 'time ago', 'ayecode-connect' ), |
|
| 2439 | + 'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ), |
|
| 2440 | + 'months' => _x( '%d months', 'time ago', 'ayecode-connect' ), |
|
| 2441 | + 'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ), |
|
| 2442 | + 'years' => _x( '%d years', 'time ago', 'ayecode-connect' ), |
|
| 2443 | + ); |
|
| 2444 | + |
|
| 2445 | + $params = apply_filters( 'ayecode_ui_timeago_params', $params ); |
|
| 2446 | + |
|
| 2447 | + foreach ( (array) $params as $key => $value ) { |
|
| 2448 | + if ( ! is_scalar( $value ) ) { |
|
| 2449 | + continue; |
|
| 2450 | + } |
|
| 2451 | + |
|
| 2452 | + $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2453 | + } |
|
| 2454 | + |
|
| 2455 | + $locale = json_encode( $params ); |
|
| 2456 | + |
|
| 2457 | + return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) ); |
|
| 2458 | + } |
|
| 2451 | 2459 | |
| 2452 | - $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2453 | - } |
|
| 2454 | - |
|
| 2455 | - $locale = json_encode( $params ); |
|
| 2456 | - |
|
| 2457 | - return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) ); |
|
| 2458 | - } |
|
| 2459 | - |
|
| 2460 | - /** |
|
| 2461 | - * JavaScript Minifier |
|
| 2462 | - * |
|
| 2463 | - * @param $input |
|
| 2464 | - * |
|
| 2465 | - * @return mixed |
|
| 2466 | - */ |
|
| 2467 | - public static function minify_js($input) { |
|
| 2468 | - if(trim($input) === "") return $input; |
|
| 2469 | - return preg_replace( |
|
| 2470 | - array( |
|
| 2471 | - // Remove comment(s) |
|
| 2472 | - '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#', |
|
| 2473 | - // Remove white-space(s) outside the string and regex |
|
| 2474 | - '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s', |
|
| 2475 | - // Remove the last semicolon |
|
| 2476 | - '#;+\}#', |
|
| 2477 | - // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}` |
|
| 2478 | - '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i', |
|
| 2479 | - // --ibid. From `foo['bar']` to `foo.bar` |
|
| 2480 | - '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i' |
|
| 2481 | - ), |
|
| 2482 | - array( |
|
| 2483 | - '$1', |
|
| 2484 | - '$1$2', |
|
| 2485 | - '}', |
|
| 2486 | - '$1$3', |
|
| 2487 | - '$1.$3' |
|
| 2488 | - ), |
|
| 2489 | - $input); |
|
| 2490 | - } |
|
| 2491 | - |
|
| 2492 | - /** |
|
| 2493 | - * Minify CSS |
|
| 2494 | - * |
|
| 2495 | - * @param $input |
|
| 2496 | - * |
|
| 2497 | - * @return mixed |
|
| 2498 | - */ |
|
| 2499 | - public static function minify_css($input) { |
|
| 2500 | - if(trim($input) === "") return $input; |
|
| 2501 | - return preg_replace( |
|
| 2502 | - array( |
|
| 2503 | - // Remove comment(s) |
|
| 2504 | - '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s', |
|
| 2505 | - // Remove unused white-space(s) |
|
| 2506 | - '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si', |
|
| 2507 | - // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0` |
|
| 2508 | - '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si', |
|
| 2509 | - // Replace `:0 0 0 0` with `:0` |
|
| 2510 | - '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i', |
|
| 2511 | - // Replace `background-position:0` with `background-position:0 0` |
|
| 2512 | - '#(background-position):0(?=[;\}])#si', |
|
| 2513 | - // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space |
|
| 2514 | - '#(?<=[\s:,\-])0+\.(\d+)#s', |
|
| 2515 | - // Minify string value |
|
| 2516 | - '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si', |
|
| 2517 | - '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si', |
|
| 2518 | - // Minify HEX color code |
|
| 2519 | - '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i', |
|
| 2520 | - // Replace `(border|outline):none` with `(border|outline):0` |
|
| 2521 | - '#(?<=[\{;])(border|outline):none(?=[;\}\!])#', |
|
| 2522 | - // Remove empty selector(s) |
|
| 2523 | - '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s' |
|
| 2524 | - ), |
|
| 2525 | - array( |
|
| 2526 | - '$1', |
|
| 2527 | - '$1$2$3$4$5$6$7', |
|
| 2528 | - '$1', |
|
| 2529 | - ':0', |
|
| 2530 | - '$1:0 0', |
|
| 2531 | - '.$1', |
|
| 2532 | - '$1$3', |
|
| 2533 | - '$1$2$4$5', |
|
| 2534 | - '$1$2$3', |
|
| 2535 | - '$1:0', |
|
| 2536 | - '$1$2' |
|
| 2537 | - ), |
|
| 2538 | - $input); |
|
| 2539 | - } |
|
| 2540 | - |
|
| 2541 | - /** |
|
| 2542 | - * Get the conditional fields JavaScript. |
|
| 2543 | - * |
|
| 2544 | - * @return mixed |
|
| 2545 | - */ |
|
| 2546 | - public function conditional_fields_js() { |
|
| 2547 | - ob_start(); |
|
| 2548 | - ?> |
|
| 2460 | + /** |
|
| 2461 | + * JavaScript Minifier |
|
| 2462 | + * |
|
| 2463 | + * @param $input |
|
| 2464 | + * |
|
| 2465 | + * @return mixed |
|
| 2466 | + */ |
|
| 2467 | + public static function minify_js($input) { |
|
| 2468 | + if(trim($input) === "") return $input; |
|
| 2469 | + return preg_replace( |
|
| 2470 | + array( |
|
| 2471 | + // Remove comment(s) |
|
| 2472 | + '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#', |
|
| 2473 | + // Remove white-space(s) outside the string and regex |
|
| 2474 | + '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s', |
|
| 2475 | + // Remove the last semicolon |
|
| 2476 | + '#;+\}#', |
|
| 2477 | + // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}` |
|
| 2478 | + '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i', |
|
| 2479 | + // --ibid. From `foo['bar']` to `foo.bar` |
|
| 2480 | + '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i' |
|
| 2481 | + ), |
|
| 2482 | + array( |
|
| 2483 | + '$1', |
|
| 2484 | + '$1$2', |
|
| 2485 | + '}', |
|
| 2486 | + '$1$3', |
|
| 2487 | + '$1.$3' |
|
| 2488 | + ), |
|
| 2489 | + $input); |
|
| 2490 | + } |
|
| 2491 | + |
|
| 2492 | + /** |
|
| 2493 | + * Minify CSS |
|
| 2494 | + * |
|
| 2495 | + * @param $input |
|
| 2496 | + * |
|
| 2497 | + * @return mixed |
|
| 2498 | + */ |
|
| 2499 | + public static function minify_css($input) { |
|
| 2500 | + if(trim($input) === "") return $input; |
|
| 2501 | + return preg_replace( |
|
| 2502 | + array( |
|
| 2503 | + // Remove comment(s) |
|
| 2504 | + '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s', |
|
| 2505 | + // Remove unused white-space(s) |
|
| 2506 | + '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si', |
|
| 2507 | + // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0` |
|
| 2508 | + '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si', |
|
| 2509 | + // Replace `:0 0 0 0` with `:0` |
|
| 2510 | + '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i', |
|
| 2511 | + // Replace `background-position:0` with `background-position:0 0` |
|
| 2512 | + '#(background-position):0(?=[;\}])#si', |
|
| 2513 | + // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space |
|
| 2514 | + '#(?<=[\s:,\-])0+\.(\d+)#s', |
|
| 2515 | + // Minify string value |
|
| 2516 | + '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si', |
|
| 2517 | + '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si', |
|
| 2518 | + // Minify HEX color code |
|
| 2519 | + '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i', |
|
| 2520 | + // Replace `(border|outline):none` with `(border|outline):0` |
|
| 2521 | + '#(?<=[\{;])(border|outline):none(?=[;\}\!])#', |
|
| 2522 | + // Remove empty selector(s) |
|
| 2523 | + '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s' |
|
| 2524 | + ), |
|
| 2525 | + array( |
|
| 2526 | + '$1', |
|
| 2527 | + '$1$2$3$4$5$6$7', |
|
| 2528 | + '$1', |
|
| 2529 | + ':0', |
|
| 2530 | + '$1:0 0', |
|
| 2531 | + '.$1', |
|
| 2532 | + '$1$3', |
|
| 2533 | + '$1$2$4$5', |
|
| 2534 | + '$1$2$3', |
|
| 2535 | + '$1:0', |
|
| 2536 | + '$1$2' |
|
| 2537 | + ), |
|
| 2538 | + $input); |
|
| 2539 | + } |
|
| 2540 | + |
|
| 2541 | + /** |
|
| 2542 | + * Get the conditional fields JavaScript. |
|
| 2543 | + * |
|
| 2544 | + * @return mixed |
|
| 2545 | + */ |
|
| 2546 | + public function conditional_fields_js() { |
|
| 2547 | + ob_start(); |
|
| 2548 | + ?> |
|
| 2549 | 2549 | <script> |
| 2550 | 2550 | /** |
| 2551 | 2551 | * Conditional Fields |
@@ -3066,14 +3066,14 @@ discard block |
||
| 3066 | 3066 | <?php do_action( 'aui_conditional_fields_js', $this ); ?> |
| 3067 | 3067 | </script> |
| 3068 | 3068 | <?php |
| 3069 | - $output = ob_get_clean(); |
|
| 3069 | + $output = ob_get_clean(); |
|
| 3070 | 3070 | |
| 3071 | - return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) ); |
|
| 3072 | - } |
|
| 3073 | - } |
|
| 3071 | + return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) ); |
|
| 3072 | + } |
|
| 3073 | + } |
|
| 3074 | 3074 | |
| 3075 | - /** |
|
| 3076 | - * Run the class if found. |
|
| 3077 | - */ |
|
| 3078 | - AyeCode_UI_Settings::instance(); |
|
| 3075 | + /** |
|
| 3076 | + * Run the class if found. |
|
| 3077 | + */ |
|
| 3078 | + AyeCode_UI_Settings::instance(); |
|
| 3079 | 3079 | } |
| 3080 | 3080 | \ No newline at end of file |
@@ -12,14 +12,14 @@ discard block |
||
| 12 | 12 | /** |
| 13 | 13 | * Bail if we are not in WP. |
| 14 | 14 | */ |
| 15 | -if ( ! defined( 'ABSPATH' ) ) { |
|
| 15 | +if (!defined('ABSPATH')) { |
|
| 16 | 16 | exit; |
| 17 | 17 | } |
| 18 | 18 | |
| 19 | 19 | /** |
| 20 | 20 | * Only add if the class does not already exist. |
| 21 | 21 | */ |
| 22 | -if ( ! class_exists( 'AyeCode_UI_Settings' ) ) { |
|
| 22 | +if (!class_exists('AyeCode_UI_Settings')) { |
|
| 23 | 23 | |
| 24 | 24 | /** |
| 25 | 25 | * A Class to be able to change settings for Font Awesome. |
@@ -99,27 +99,27 @@ discard block |
||
| 99 | 99 | * @return AyeCode_UI_Settings - Main instance. |
| 100 | 100 | */ |
| 101 | 101 | public static function instance() { |
| 102 | - if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) { |
|
| 102 | + if (!isset(self::$instance) && !(self::$instance instanceof AyeCode_UI_Settings)) { |
|
| 103 | 103 | |
| 104 | 104 | self::$instance = new AyeCode_UI_Settings; |
| 105 | 105 | |
| 106 | - add_action( 'init', array( self::$instance, 'init' ) ); // set settings |
|
| 106 | + add_action('init', array(self::$instance, 'init')); // set settings |
|
| 107 | 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' ) ); |
|
| 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 | 111 | |
| 112 | 112 | // Maybe show example page |
| 113 | - add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) ); |
|
| 113 | + add_action('template_redirect', array(self::$instance, 'maybe_show_examples')); |
|
| 114 | 114 | |
| 115 | - if ( defined( 'BLOCKSTRAP_VERSION' ) ) { |
|
| 116 | - add_filter( 'sd_aui_colors', array( self::$instance,'sd_aui_colors' ), 10, 3 ); |
|
| 115 | + if (defined('BLOCKSTRAP_VERSION')) { |
|
| 116 | + add_filter('sd_aui_colors', array(self::$instance, 'sd_aui_colors'), 10, 3); |
|
| 117 | 117 | } |
| 118 | 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' ); |
|
| 122 | + do_action('ayecode_ui_settings_loaded'); |
|
| 123 | 123 | } |
| 124 | 124 | |
| 125 | 125 | return self::$instance; |
@@ -134,13 +134,13 @@ discard block |
||
| 134 | 134 | * |
| 135 | 135 | * @return mixed |
| 136 | 136 | */ |
| 137 | - public function sd_aui_colors( $theme_colors, $include_outlines, $include_branding ){ |
|
| 137 | + public function sd_aui_colors($theme_colors, $include_outlines, $include_branding) { |
|
| 138 | 138 | |
| 139 | 139 | |
| 140 | 140 | $setting = wp_get_global_settings(); |
| 141 | 141 | |
| 142 | - if(!empty($setting['color']['palette']['custom'])){ |
|
| 143 | - foreach($setting['color']['palette']['custom'] as $color){ |
|
| 142 | + if (!empty($setting['color']['palette']['custom'])) { |
|
| 143 | + foreach ($setting['color']['palette']['custom'] as $color) { |
|
| 144 | 144 | $theme_colors[$color['slug']] = esc_attr($color['name']); |
| 145 | 145 | } |
| 146 | 146 | } |
@@ -151,81 +151,81 @@ discard block |
||
| 151 | 151 | /** |
| 152 | 152 | * Setup some constants. |
| 153 | 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' ); |
|
| 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 | 171 | |
| 172 | - if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) { |
|
| 173 | - define( 'AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL ); |
|
| 172 | + if (!defined('AUI_PRIMARY_COLOR')) { |
|
| 173 | + define('AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL); |
|
| 174 | 174 | } |
| 175 | - if ( ! defined( 'AUI_SECONDARY_COLOR' ) ) { |
|
| 176 | - define( 'AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL ); |
|
| 175 | + if (!defined('AUI_SECONDARY_COLOR')) { |
|
| 176 | + define('AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL); |
|
| 177 | 177 | } |
| 178 | - if ( ! defined( 'AUI_INFO_COLOR' ) ) { |
|
| 179 | - define( 'AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL ); |
|
| 178 | + if (!defined('AUI_INFO_COLOR')) { |
|
| 179 | + define('AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL); |
|
| 180 | 180 | } |
| 181 | - if ( ! defined( 'AUI_WARNING_COLOR' ) ) { |
|
| 182 | - define( 'AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL ); |
|
| 181 | + if (!defined('AUI_WARNING_COLOR')) { |
|
| 182 | + define('AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL); |
|
| 183 | 183 | } |
| 184 | - if ( ! defined( 'AUI_DANGER_COLOR' ) ) { |
|
| 185 | - define( 'AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL ); |
|
| 184 | + if (!defined('AUI_DANGER_COLOR')) { |
|
| 185 | + define('AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL); |
|
| 186 | 186 | } |
| 187 | - if ( ! defined( 'AUI_SUCCESS_COLOR' ) ) { |
|
| 188 | - define( 'AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL ); |
|
| 187 | + if (!defined('AUI_SUCCESS_COLOR')) { |
|
| 188 | + define('AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL); |
|
| 189 | 189 | } |
| 190 | - if ( ! defined( 'AUI_LIGHT_COLOR' ) ) { |
|
| 191 | - define( 'AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL ); |
|
| 190 | + if (!defined('AUI_LIGHT_COLOR')) { |
|
| 191 | + define('AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL); |
|
| 192 | 192 | } |
| 193 | - if ( ! defined( 'AUI_DARK_COLOR' ) ) { |
|
| 194 | - define( 'AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL ); |
|
| 193 | + if (!defined('AUI_DARK_COLOR')) { |
|
| 194 | + define('AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL); |
|
| 195 | 195 | } |
| 196 | - if ( ! defined( 'AUI_WHITE_COLOR' ) ) { |
|
| 197 | - define( 'AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL ); |
|
| 196 | + if (!defined('AUI_WHITE_COLOR')) { |
|
| 197 | + define('AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL); |
|
| 198 | 198 | } |
| 199 | - if ( ! defined( 'AUI_PURPLE_COLOR' ) ) { |
|
| 200 | - define( 'AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL ); |
|
| 199 | + if (!defined('AUI_PURPLE_COLOR')) { |
|
| 200 | + define('AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL); |
|
| 201 | 201 | } |
| 202 | - if ( ! defined( 'AUI_SALMON_COLOR' ) ) { |
|
| 203 | - define( 'AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL ); |
|
| 202 | + if (!defined('AUI_SALMON_COLOR')) { |
|
| 203 | + define('AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL); |
|
| 204 | 204 | } |
| 205 | - if ( ! defined( 'AUI_CYAN_COLOR' ) ) { |
|
| 206 | - define( 'AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL ); |
|
| 205 | + if (!defined('AUI_CYAN_COLOR')) { |
|
| 206 | + define('AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL); |
|
| 207 | 207 | } |
| 208 | - if ( ! defined( 'AUI_GRAY_COLOR' ) ) { |
|
| 209 | - define( 'AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL ); |
|
| 208 | + if (!defined('AUI_GRAY_COLOR')) { |
|
| 209 | + define('AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL); |
|
| 210 | 210 | } |
| 211 | - if ( ! defined( 'AUI_INDIGO_COLOR' ) ) { |
|
| 212 | - define( 'AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL ); |
|
| 211 | + if (!defined('AUI_INDIGO_COLOR')) { |
|
| 212 | + define('AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL); |
|
| 213 | 213 | } |
| 214 | - if ( ! defined( 'AUI_ORANGE_COLOR' ) ) { |
|
| 215 | - define( 'AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL ); |
|
| 214 | + if (!defined('AUI_ORANGE_COLOR')) { |
|
| 215 | + define('AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL); |
|
| 216 | 216 | } |
| 217 | - if ( ! defined( 'AUI_BLACK_COLOR' ) ) { |
|
| 218 | - define( 'AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL ); |
|
| 217 | + if (!defined('AUI_BLACK_COLOR')) { |
|
| 218 | + define('AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL); |
|
| 219 | 219 | } |
| 220 | 220 | |
| 221 | 221 | } |
| 222 | 222 | |
| 223 | - public static function get_colors( $original = false){ |
|
| 223 | + public static function get_colors($original = false) { |
|
| 224 | 224 | |
| 225 | - if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) { |
|
| 225 | + if (!defined('AUI_PRIMARY_COLOR')) { |
|
| 226 | 226 | return array(); |
| 227 | 227 | } |
| 228 | - if ( $original ) { |
|
| 228 | + if ($original) { |
|
| 229 | 229 | return array( |
| 230 | 230 | 'primary' => AUI_PRIMARY_COLOR_ORIGINAL, |
| 231 | 231 | 'secondary' => AUI_SECONDARY_COLOR_ORIGINAL, |
@@ -273,7 +273,7 @@ discard block |
||
| 273 | 273 | * |
| 274 | 274 | * @return mixed |
| 275 | 275 | */ |
| 276 | - public function add_bs5_admin_body_class( $classes = '' ) { |
|
| 276 | + public function add_bs5_admin_body_class($classes = '') { |
|
| 277 | 277 | $classes .= ' aui_bs5'; |
| 278 | 278 | |
| 279 | 279 | return $classes; |
@@ -286,7 +286,7 @@ discard block |
||
| 286 | 286 | * |
| 287 | 287 | * @return mixed |
| 288 | 288 | */ |
| 289 | - public function add_bs5_body_class( $classes ) { |
|
| 289 | + public function add_bs5_body_class($classes) { |
|
| 290 | 290 | $classes[] = 'aui_bs5'; |
| 291 | 291 | |
| 292 | 292 | return $classes; |
@@ -299,12 +299,12 @@ discard block |
||
| 299 | 299 | global $aui_bs5; |
| 300 | 300 | |
| 301 | 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 ) ) { |
|
| 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 | 305 | $db_settings['css_backend'] = 'compatibility'; |
| 306 | 306 | $db_settings['js_backend'] = 'core-popper'; |
| 307 | - update_option( 'ayecode-ui-settings', $db_settings ); |
|
| 307 | + update_option('ayecode-ui-settings', $db_settings); |
|
| 308 | 308 | wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true")); |
| 309 | 309 | } |
| 310 | 310 | } |
@@ -316,10 +316,10 @@ discard block |
||
| 316 | 316 | // define the version |
| 317 | 317 | $aui_bs5 = $this->settings['bs_ver'] === '5'; |
| 318 | 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' ) ); |
|
| 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 | 323 | } |
| 324 | 324 | |
| 325 | 325 | /** |
@@ -327,32 +327,32 @@ discard block |
||
| 327 | 327 | * |
| 328 | 328 | * We load super early in case there is a theme version that might change the colors |
| 329 | 329 | */ |
| 330 | - if ( $this->settings['css'] ) { |
|
| 330 | + if ($this->settings['css']) { |
|
| 331 | 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 ); |
|
| 333 | + add_action('wp_enqueue_scripts', array($this, 'enqueue_style'), $priority); |
|
| 334 | 334 | } |
| 335 | - if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) { |
|
| 336 | - add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 ); |
|
| 335 | + if ($this->settings['css_backend'] && $this->load_admin_scripts()) { |
|
| 336 | + add_action('admin_enqueue_scripts', array($this, 'enqueue_style'), 1); |
|
| 337 | 337 | } |
| 338 | 338 | |
| 339 | 339 | // maybe load JS |
| 340 | - if ( $this->settings['js'] ) { |
|
| 340 | + if ($this->settings['js']) { |
|
| 341 | 341 | $priority = $this->is_bs3_compat() ? 100 : 1; |
| 342 | - add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority ); |
|
| 342 | + add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), $priority); |
|
| 343 | 343 | } |
| 344 | - if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) { |
|
| 345 | - add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 ); |
|
| 344 | + if ($this->settings['js_backend'] && $this->load_admin_scripts()) { |
|
| 345 | + add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'), 1); |
|
| 346 | 346 | } |
| 347 | 347 | |
| 348 | 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 ); |
|
| 349 | + if ($this->settings['html_font_size']) { |
|
| 350 | + add_action('wp_footer', array($this, 'html_font_size'), 10); |
|
| 351 | 351 | } |
| 352 | 352 | |
| 353 | 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' ) ); |
|
| 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 | 356 | } |
| 357 | 357 | |
| 358 | 358 | } |
@@ -360,11 +360,11 @@ discard block |
||
| 360 | 360 | /** |
| 361 | 361 | * Show admin notice if backend scripts not loaded. |
| 362 | 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>'; |
|
| 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 | 368 | } |
| 369 | 369 | |
| 370 | 370 | /** |
@@ -372,14 +372,14 @@ discard block |
||
| 372 | 372 | * |
| 373 | 373 | * @return bool |
| 374 | 374 | */ |
| 375 | - public function load_admin_scripts(){ |
|
| 375 | + public function load_admin_scripts() { |
|
| 376 | 376 | $result = true; |
| 377 | 377 | |
| 378 | 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 ){ |
|
| 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 | 383 | return false; // return early, no point checking further |
| 384 | 384 | } |
| 385 | 385 | } |
@@ -391,9 +391,9 @@ discard block |
||
| 391 | 391 | /** |
| 392 | 392 | * Add a html font size to the footer. |
| 393 | 393 | */ |
| 394 | - public function html_font_size(){ |
|
| 394 | + public function html_font_size() { |
|
| 395 | 395 | $this->settings = $this->get_settings(); |
| 396 | - echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>"; |
|
| 396 | + echo "<style>html{font-size:" . absint($this->settings['html_font_size']) . "px;}</style>"; |
|
| 397 | 397 | } |
| 398 | 398 | |
| 399 | 399 | /** |
@@ -401,11 +401,11 @@ discard block |
||
| 401 | 401 | * |
| 402 | 402 | * @return bool |
| 403 | 403 | */ |
| 404 | - public function is_aui_screen(){ |
|
| 404 | + public function is_aui_screen() { |
|
| 405 | 405 | // echo '###';exit; |
| 406 | 406 | $load = false; |
| 407 | 407 | // check if we should load or not |
| 408 | - if ( is_admin() ) { |
|
| 408 | + if (is_admin()) { |
|
| 409 | 409 | // Only enable on set pages |
| 410 | 410 | $aui_screens = array( |
| 411 | 411 | 'page', |
@@ -417,26 +417,26 @@ discard block |
||
| 417 | 417 | 'ayecode-ui-settings', |
| 418 | 418 | 'site-editor' |
| 419 | 419 | ); |
| 420 | - $screen_ids = apply_filters( 'aui_screen_ids', $aui_screens ); |
|
| 420 | + $screen_ids = apply_filters('aui_screen_ids', $aui_screens); |
|
| 421 | 421 | |
| 422 | 422 | $screen = get_current_screen(); |
| 423 | 423 | |
| 424 | 424 | // echo '###'.$screen->id; |
| 425 | 425 | |
| 426 | 426 | // check if we are on a AUI screen |
| 427 | - if ( $screen && in_array( $screen->id, $screen_ids ) ) { |
|
| 427 | + if ($screen && in_array($screen->id, $screen_ids)) { |
|
| 428 | 428 | $load = true; |
| 429 | 429 | } |
| 430 | 430 | |
| 431 | 431 | //load for widget previews in WP 5.8 |
| 432 | - if( !empty($_REQUEST['legacy-widget-preview'])){ |
|
| 432 | + if (!empty($_REQUEST['legacy-widget-preview'])) { |
|
| 433 | 433 | $load = true; |
| 434 | 434 | } |
| 435 | 435 | } |
| 436 | 436 | |
| 437 | 437 | |
| 438 | 438 | |
| 439 | - return apply_filters( 'aui_load_on_admin' , $load ); |
|
| 439 | + return apply_filters('aui_load_on_admin', $load); |
|
| 440 | 440 | } |
| 441 | 441 | |
| 442 | 442 | /** |
@@ -445,7 +445,7 @@ discard block |
||
| 445 | 445 | * @return bool |
| 446 | 446 | */ |
| 447 | 447 | public static function is_block_theme() { |
| 448 | - if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) { |
|
| 448 | + if (function_exists('wp_is_block_theme' && wp_is_block_theme())) { |
|
| 449 | 449 | return true; |
| 450 | 450 | } |
| 451 | 451 | |
@@ -460,40 +460,40 @@ discard block |
||
| 460 | 460 | |
| 461 | 461 | $load_fse = false; |
| 462 | 462 | |
| 463 | - if( is_admin() && !$this->is_aui_screen()){ |
|
| 463 | + if (is_admin() && !$this->is_aui_screen()) { |
|
| 464 | 464 | // don't add wp-admin scripts if not requested to |
| 465 | - }else{ |
|
| 465 | + } else { |
|
| 466 | 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' ); |
|
| 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 | 488 | $load_fse = true; |
| 489 | 489 | } |
| 490 | 490 | |
| 491 | 491 | |
| 492 | 492 | // flatpickr |
| 493 | - wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version ); |
|
| 493 | + wp_register_style('flatpickr', $this->url . 'assets' . $bs_ver . '/css/flatpickr.min.css', array(), $this->version); |
|
| 494 | 494 | |
| 495 | 495 | // fix some wp-admin issues |
| 496 | - if(is_admin()){ |
|
| 496 | + if (is_admin()) { |
|
| 497 | 497 | $custom_css = " |
| 498 | 498 | body{ |
| 499 | 499 | background-color: #f1f1f1; |
@@ -541,14 +541,14 @@ discard block |
||
| 541 | 541 | padding: 0; |
| 542 | 542 | } |
| 543 | 543 | "; |
| 544 | - wp_add_inline_style( 'ayecode-ui', $custom_css ); |
|
| 544 | + wp_add_inline_style('ayecode-ui', $custom_css); |
|
| 545 | 545 | } |
| 546 | 546 | |
| 547 | 547 | // custom changes |
| 548 | - if ( $load_fse ) { |
|
| 549 | - wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) ); |
|
| 550 | - }else{ |
|
| 551 | - wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) ); |
|
| 548 | + if ($load_fse) { |
|
| 549 | + wp_add_inline_style('ayecode-ui-fse', self::custom_css($compatibility)); |
|
| 550 | + } else { |
|
| 551 | + wp_add_inline_style('ayecode-ui', self::custom_css($compatibility)); |
|
| 552 | 552 | |
| 553 | 553 | } |
| 554 | 554 | |
@@ -569,10 +569,10 @@ discard block |
||
| 569 | 569 | $flatpickr_locale = self::flatpickr_locale(); |
| 570 | 570 | |
| 571 | 571 | ob_start(); |
| 572 | - if ( $aui_bs5 ) { |
|
| 573 | - include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' ); |
|
| 574 | - }else{ |
|
| 575 | - include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' ); |
|
| 572 | + if ($aui_bs5) { |
|
| 573 | + include_once(dirname(__FILE__) . '/inc/bs5-js.php'); |
|
| 574 | + } else { |
|
| 575 | + include_once(dirname(__FILE__) . '/inc/bs4-js.php'); |
|
| 576 | 576 | } |
| 577 | 577 | |
| 578 | 578 | $output = ob_get_clean(); |
@@ -580,10 +580,10 @@ discard block |
||
| 580 | 580 | /* |
| 581 | 581 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 582 | 582 | */ |
| 583 | - return str_replace( array( |
|
| 583 | + return str_replace(array( |
|
| 584 | 584 | '<script>', |
| 585 | 585 | '</script>' |
| 586 | - ), '', self::minify_js($output) ); |
|
| 586 | + ), '', self::minify_js($output)); |
|
| 587 | 587 | } |
| 588 | 588 | |
| 589 | 589 | |
@@ -597,13 +597,13 @@ discard block |
||
| 597 | 597 | ob_start(); |
| 598 | 598 | ?> |
| 599 | 599 | <script> |
| 600 | - <?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?> |
|
| 600 | + <?php if (defined('FUSION_BUILDER_VERSION')) { ?> |
|
| 601 | 601 | /* With Avada builder */ |
| 602 | 602 | |
| 603 | 603 | <?php } ?> |
| 604 | 604 | </script> |
| 605 | 605 | <?php |
| 606 | - return str_replace( array( |
|
| 606 | + return str_replace(array( |
|
| 607 | 607 | '<script>', |
| 608 | 608 | '</script>' |
| 609 | 609 | ), '', ob_get_clean()); |
@@ -614,7 +614,7 @@ discard block |
||
| 614 | 614 | * |
| 615 | 615 | * If this remains small then its best to use this than to add another JS file. |
| 616 | 616 | */ |
| 617 | - public function inline_script_file_browser(){ |
|
| 617 | + public function inline_script_file_browser() { |
|
| 618 | 618 | ob_start(); |
| 619 | 619 | ?> |
| 620 | 620 | <script> |
@@ -629,10 +629,10 @@ discard block |
||
| 629 | 629 | /* |
| 630 | 630 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 631 | 631 | */ |
| 632 | - return str_replace( array( |
|
| 632 | + return str_replace(array( |
|
| 633 | 633 | '<script>', |
| 634 | 634 | '</script>' |
| 635 | - ), '', $output ); |
|
| 635 | + ), '', $output); |
|
| 636 | 636 | } |
| 637 | 637 | |
| 638 | 638 | /** |
@@ -640,59 +640,59 @@ discard block |
||
| 640 | 640 | */ |
| 641 | 641 | public function enqueue_scripts() { |
| 642 | 642 | |
| 643 | - if( is_admin() && !$this->is_aui_screen()){ |
|
| 643 | + if (is_admin() && !$this->is_aui_screen()) { |
|
| 644 | 644 | // don't add wp-admin scripts if not requested to |
| 645 | - }else { |
|
| 645 | + } else { |
|
| 646 | 646 | |
| 647 | 647 | $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend'; |
| 648 | 648 | |
| 649 | 649 | $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : ''; |
| 650 | 650 | |
| 651 | 651 | // select2 |
| 652 | - wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version ); |
|
| 652 | + wp_register_script('select2', $this->url . 'assets/js/select2.min.js', array('jquery'), $this->select2_version); |
|
| 653 | 653 | |
| 654 | 654 | // flatpickr |
| 655 | - wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version ); |
|
| 655 | + wp_register_script('flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version); |
|
| 656 | 656 | |
| 657 | 657 | // iconpicker |
| 658 | - if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) { |
|
| 659 | - wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version ); |
|
| 660 | - }else{ |
|
| 661 | - wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version ); |
|
| 658 | + if (defined('FAS_ICONPICKER_JS_URL')) { |
|
| 659 | + wp_register_script('iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version); |
|
| 660 | + } else { |
|
| 661 | + wp_register_script('iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version); |
|
| 662 | 662 | } |
| 663 | 663 | |
| 664 | 664 | // Bootstrap file browser |
| 665 | - wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version ); |
|
| 666 | - wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() ); |
|
| 665 | + wp_register_script('aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array('jquery'), $this->select2_version); |
|
| 666 | + wp_add_inline_script('aui-custom-file-input', $this->inline_script_file_browser()); |
|
| 667 | 667 | |
| 668 | 668 | $load_inline = false; |
| 669 | 669 | |
| 670 | - if ( $this->settings[ $js_setting ] == 'core-popper' ) { |
|
| 670 | + if ($this->settings[$js_setting] == 'core-popper') { |
|
| 671 | 671 | // Bootstrap bundle |
| 672 | 672 | $url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js'; |
| 673 | - wp_register_script( 'bootstrap-js-bundle', $url, array( |
|
| 673 | + wp_register_script('bootstrap-js-bundle', $url, array( |
|
| 674 | 674 | 'select2', |
| 675 | 675 | 'jquery' |
| 676 | - ), $this->version, $this->is_bs3_compat() ); |
|
| 676 | + ), $this->version, $this->is_bs3_compat()); |
|
| 677 | 677 | // if in admin then add to footer for compatibility. |
| 678 | - is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' ); |
|
| 678 | + is_admin() ? wp_enqueue_script('bootstrap-js-bundle', '', null, null, true) : wp_enqueue_script('bootstrap-js-bundle'); |
|
| 679 | 679 | $script = $this->inline_script(); |
| 680 | - wp_add_inline_script( 'bootstrap-js-bundle', $script ); |
|
| 681 | - } elseif ( $this->settings[ $js_setting ] == 'popper' ) { |
|
| 680 | + wp_add_inline_script('bootstrap-js-bundle', $script); |
|
| 681 | + } elseif ($this->settings[$js_setting] == 'popper') { |
|
| 682 | 682 | $url = $this->url . 'assets/js/popper.min.js'; //@todo we need to update this to bs5 |
| 683 | - wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version ); |
|
| 684 | - wp_enqueue_script( 'bootstrap-js-popper' ); |
|
| 683 | + wp_register_script('bootstrap-js-popper', $url, array('select2', 'jquery'), $this->version); |
|
| 684 | + wp_enqueue_script('bootstrap-js-popper'); |
|
| 685 | 685 | $load_inline = true; |
| 686 | 686 | } else { |
| 687 | 687 | $load_inline = true; |
| 688 | 688 | } |
| 689 | 689 | |
| 690 | 690 | // Load needed inline scripts by faking the loading of a script if the main script is not being loaded |
| 691 | - if ( $load_inline ) { |
|
| 692 | - wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) ); |
|
| 693 | - wp_enqueue_script( 'bootstrap-dummy' ); |
|
| 691 | + if ($load_inline) { |
|
| 692 | + wp_register_script('bootstrap-dummy', '', array('select2', 'jquery')); |
|
| 693 | + wp_enqueue_script('bootstrap-dummy'); |
|
| 694 | 694 | $script = $this->inline_script(); |
| 695 | - wp_add_inline_script( 'bootstrap-dummy', $script ); |
|
| 695 | + wp_add_inline_script('bootstrap-dummy', $script); |
|
| 696 | 696 | } |
| 697 | 697 | } |
| 698 | 698 | |
@@ -701,17 +701,17 @@ discard block |
||
| 701 | 701 | /** |
| 702 | 702 | * Enqueue flatpickr if called. |
| 703 | 703 | */ |
| 704 | - public function enqueue_flatpickr(){ |
|
| 705 | - wp_enqueue_style( 'flatpickr' ); |
|
| 706 | - wp_enqueue_script( 'flatpickr' ); |
|
| 704 | + public function enqueue_flatpickr() { |
|
| 705 | + wp_enqueue_style('flatpickr'); |
|
| 706 | + wp_enqueue_script('flatpickr'); |
|
| 707 | 707 | } |
| 708 | 708 | |
| 709 | 709 | /** |
| 710 | 710 | * Enqueue iconpicker if called. |
| 711 | 711 | */ |
| 712 | - public function enqueue_iconpicker(){ |
|
| 713 | - wp_enqueue_style( 'iconpicker' ); |
|
| 714 | - wp_enqueue_script( 'iconpicker' ); |
|
| 712 | + public function enqueue_iconpicker() { |
|
| 713 | + wp_enqueue_style('iconpicker'); |
|
| 714 | + wp_enqueue_script('iconpicker'); |
|
| 715 | 715 | } |
| 716 | 716 | |
| 717 | 717 | /** |
@@ -720,19 +720,19 @@ discard block |
||
| 720 | 720 | * @return string |
| 721 | 721 | */ |
| 722 | 722 | public function get_url() { |
| 723 | - $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 724 | - $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 723 | + $content_dir = wp_normalize_path(untrailingslashit(WP_CONTENT_DIR)); |
|
| 724 | + $content_url = untrailingslashit(WP_CONTENT_URL); |
|
| 725 | 725 | |
| 726 | 726 | // Replace http:// to https://. |
| 727 | - if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 728 | - $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 727 | + if (strpos($content_url, 'http://') === 0 && strpos(plugins_url(), 'https://') === 0) { |
|
| 728 | + $content_url = str_replace('http://', 'https://', $content_url); |
|
| 729 | 729 | } |
| 730 | 730 | |
| 731 | 731 | // Check if we are inside a plugin |
| 732 | - $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 733 | - $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 732 | + $file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__))); |
|
| 733 | + $url = str_replace($content_dir, $content_url, $file_dir); |
|
| 734 | 734 | |
| 735 | - return trailingslashit( $url ); |
|
| 735 | + return trailingslashit($url); |
|
| 736 | 736 | } |
| 737 | 737 | |
| 738 | 738 | /** |
@@ -744,15 +744,15 @@ discard block |
||
| 744 | 744 | |
| 745 | 745 | $url = ''; |
| 746 | 746 | // check if we are inside a plugin |
| 747 | - $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 747 | + $file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__))); |
|
| 748 | 748 | |
| 749 | 749 | // add check in-case user has changed wp-content dir name. |
| 750 | 750 | $wp_content_folder_name = basename(WP_CONTENT_DIR); |
| 751 | - $dir_parts = explode("/$wp_content_folder_name/",$file_dir); |
|
| 752 | - $url_parts = explode("/$wp_content_folder_name/",plugins_url()); |
|
| 751 | + $dir_parts = explode("/$wp_content_folder_name/", $file_dir); |
|
| 752 | + $url_parts = explode("/$wp_content_folder_name/", plugins_url()); |
|
| 753 | 753 | |
| 754 | - if(!empty($url_parts[0]) && !empty($dir_parts[1])){ |
|
| 755 | - $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] ); |
|
| 754 | + if (!empty($url_parts[0]) && !empty($dir_parts[1])) { |
|
| 755 | + $url = trailingslashit($url_parts[0] . "/$wp_content_folder_name/" . $dir_parts[1]); |
|
| 756 | 756 | } |
| 757 | 757 | |
| 758 | 758 | return $url; |
@@ -762,7 +762,7 @@ discard block |
||
| 762 | 762 | * Register the database settings with WordPress. |
| 763 | 763 | */ |
| 764 | 764 | public function register_settings() { |
| 765 | - register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' ); |
|
| 765 | + register_setting('ayecode-ui-settings', 'ayecode-ui-settings'); |
|
| 766 | 766 | } |
| 767 | 767 | |
| 768 | 768 | /** |
@@ -771,10 +771,10 @@ discard block |
||
| 771 | 771 | */ |
| 772 | 772 | public function menu_item() { |
| 773 | 773 | $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme |
| 774 | - call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array( |
|
| 774 | + call_user_func($menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array( |
|
| 775 | 775 | $this, |
| 776 | 776 | 'settings_page' |
| 777 | - ) ); |
|
| 777 | + )); |
|
| 778 | 778 | } |
| 779 | 779 | |
| 780 | 780 | /** |
@@ -782,7 +782,7 @@ discard block |
||
| 782 | 782 | * |
| 783 | 783 | * @return array |
| 784 | 784 | */ |
| 785 | - public function theme_js_settings(){ |
|
| 785 | + public function theme_js_settings() { |
|
| 786 | 786 | return array( |
| 787 | 787 | 'ayetheme' => 'popper', |
| 788 | 788 | 'listimia' => 'required', |
@@ -798,24 +798,24 @@ discard block |
||
| 798 | 798 | */ |
| 799 | 799 | public function get_settings() { |
| 800 | 800 | |
| 801 | - $db_settings = get_option( 'ayecode-ui-settings' ); |
|
| 801 | + $db_settings = get_option('ayecode-ui-settings'); |
|
| 802 | 802 | $js_default = 'core-popper'; |
| 803 | 803 | $js_default_backend = $js_default; |
| 804 | 804 | |
| 805 | 805 | // maybe set defaults (if no settings set) |
| 806 | - if(empty($db_settings)){ |
|
| 807 | - $active_theme = strtolower( get_template() ); // active parent theme. |
|
| 806 | + if (empty($db_settings)) { |
|
| 807 | + $active_theme = strtolower(get_template()); // active parent theme. |
|
| 808 | 808 | $theme_js_settings = self::theme_js_settings(); |
| 809 | - if(isset($theme_js_settings[$active_theme])){ |
|
| 809 | + if (isset($theme_js_settings[$active_theme])) { |
|
| 810 | 810 | $js_default = $theme_js_settings[$active_theme]; |
| 811 | - $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default; |
|
| 811 | + $js_default_backend = isset($theme_js_settings[$active_theme . "_backend"]) ? $theme_js_settings[$active_theme . "_backend"] : $js_default; |
|
| 812 | 812 | } |
| 813 | 813 | } |
| 814 | 814 | |
| 815 | 815 | /** |
| 816 | 816 | * Filter the default settings. |
| 817 | 817 | */ |
| 818 | - $defaults = apply_filters( 'ayecode-ui-default-settings', array( |
|
| 818 | + $defaults = apply_filters('ayecode-ui-default-settings', array( |
|
| 819 | 819 | 'css' => 'compatibility', // core, compatibility |
| 820 | 820 | 'js' => $js_default, // js to load, core-popper, popper |
| 821 | 821 | 'html_font_size' => '16', // js to load, core-popper, popper |
@@ -823,16 +823,16 @@ discard block |
||
| 823 | 823 | 'js_backend' => $js_default_backend, // js to load, core-popper, popper |
| 824 | 824 | 'disable_admin' => '', // URL snippets to disable loading on admin |
| 825 | 825 | 'bs_ver' => '4', // The default bootstrap version to sue by default |
| 826 | - ), $db_settings ); |
|
| 826 | + ), $db_settings); |
|
| 827 | 827 | |
| 828 | - $settings = wp_parse_args( $db_settings, $defaults ); |
|
| 828 | + $settings = wp_parse_args($db_settings, $defaults); |
|
| 829 | 829 | |
| 830 | 830 | /** |
| 831 | 831 | * Filter the Bootstrap settings. |
| 832 | 832 | * |
| 833 | 833 | * @todo if we add this filer people might use it and then it defeates the purpose of this class :/ |
| 834 | 834 | */ |
| 835 | - return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults ); |
|
| 835 | + return $this->settings = apply_filters('ayecode-ui-settings', $settings, $db_settings, $defaults); |
|
| 836 | 836 | } |
| 837 | 837 | |
| 838 | 838 | |
@@ -840,109 +840,109 @@ discard block |
||
| 840 | 840 | * The settings page html output. |
| 841 | 841 | */ |
| 842 | 842 | public function settings_page() { |
| 843 | - if ( ! current_user_can( 'manage_options' ) ) { |
|
| 844 | - wp_die( __( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) ); |
|
| 843 | + if (!current_user_can('manage_options')) { |
|
| 844 | + wp_die(__('You do not have sufficient permissions to access this page.', 'ayecode-connect')); |
|
| 845 | 845 | } |
| 846 | - $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() ); |
|
| 846 | + $overrides = apply_filters('ayecode-ui-settings', array(), array(), array()); |
|
| 847 | 847 | |
| 848 | 848 | ?> |
| 849 | 849 | <div class="wrap"> |
| 850 | 850 | <h1><?php echo $this->name; ?></h1> |
| 851 | - <p><?php echo apply_filters( 'ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.", 'ayecode-connect' ) );?></p> |
|
| 851 | + <p><?php echo apply_filters('ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.", 'ayecode-connect')); ?></p> |
|
| 852 | 852 | <form method="post" action="options.php"> |
| 853 | 853 | <?php |
| 854 | - settings_fields( 'ayecode-ui-settings' ); |
|
| 855 | - do_settings_sections( 'ayecode-ui-settings' ); |
|
| 854 | + settings_fields('ayecode-ui-settings'); |
|
| 855 | + do_settings_sections('ayecode-ui-settings'); |
|
| 856 | 856 | ?> |
| 857 | 857 | |
| 858 | - <h2><?php _e( 'BootStrap Version', 'ayecode-connect' ); ?></h2> |
|
| 859 | - <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.", 'ayecode-connect' ) );?></p> |
|
| 858 | + <h2><?php _e('BootStrap Version', 'ayecode-connect'); ?></h2> |
|
| 859 | + <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.", 'ayecode-connect')); ?></p> |
|
| 860 | 860 | <div class="bsui"><?php |
| 861 | - if ( ! empty( $overrides ) ) { |
|
| 861 | + if (!empty($overrides)) { |
|
| 862 | 862 | echo aui()->alert(array( |
| 863 | 863 | 'type'=> 'info', |
| 864 | - 'content'=> __("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' ) |
|
| 864 | + 'content'=> __("Some options are disabled as your current theme is overriding them.", 'ayecode-connect') |
|
| 865 | 865 | )); |
| 866 | 866 | } |
| 867 | 867 | ?> |
| 868 | 868 | </div> |
| 869 | 869 | <table class="form-table wpbs-table-version-settings"> |
| 870 | 870 | <tr valign="top"> |
| 871 | - <th scope="row"><label for="wpbs-css"><?php _e( 'Version', 'ayecode-connect' ); ?></label></th> |
|
| 871 | + <th scope="row"><label for="wpbs-css"><?php _e('Version', 'ayecode-connect'); ?></label></th> |
|
| 872 | 872 | <td> |
| 873 | 873 | <select name="ayecode-ui-settings[bs_ver]" id="wpbs-css" <?php echo !empty($overrides['bs_ver']) ? 'disabled' : ''; ?>> |
| 874 | - <option value="5" <?php selected( $this->settings['bs_ver'], '5' ); ?>><?php _e( 'v5 (recommended)', 'ayecode-connect' ); ?></option> |
|
| 875 | - <option value="4" <?php selected( $this->settings['bs_ver'], '4' ); ?>><?php _e( 'v4 (legacy)', 'ayecode-connect' ); ?></option> |
|
| 874 | + <option value="5" <?php selected($this->settings['bs_ver'], '5'); ?>><?php _e('v5 (recommended)', 'ayecode-connect'); ?></option> |
|
| 875 | + <option value="4" <?php selected($this->settings['bs_ver'], '4'); ?>><?php _e('v4 (legacy)', 'ayecode-connect'); ?></option> |
|
| 876 | 876 | </select> |
| 877 | 877 | </td> |
| 878 | 878 | </tr> |
| 879 | 879 | </table> |
| 880 | 880 | |
| 881 | - <h2><?php _e( 'Frontend', 'ayecode-connect' ); ?></h2> |
|
| 881 | + <h2><?php _e('Frontend', 'ayecode-connect'); ?></h2> |
|
| 882 | 882 | <table class="form-table wpbs-table-settings"> |
| 883 | 883 | <tr valign="top"> |
| 884 | - <th scope="row"><label for="wpbs-css"><?php _e( 'Load CSS', 'ayecode-connect' ); ?></label></th> |
|
| 884 | + <th scope="row"><label for="wpbs-css"><?php _e('Load CSS', 'ayecode-connect'); ?></label></th> |
|
| 885 | 885 | <td> |
| 886 | 886 | <select name="ayecode-ui-settings[css]" id="wpbs-css" <?php echo !empty($overrides['css']) ? 'disabled' : ''; ?>> |
| 887 | - <option value="compatibility" <?php selected( $this->settings['css'], 'compatibility' ); ?>><?php _e( 'Compatibility Mode (default)', 'ayecode-connect' ); ?></option> |
|
| 888 | - <option value="core" <?php selected( $this->settings['css'], 'core' ); ?>><?php _e( 'Full Mode', 'ayecode-connect' ); ?></option> |
|
| 889 | - <option value="" <?php selected( $this->settings['css'], '' ); ?>><?php _e( 'Disabled', 'ayecode-connect' ); ?></option> |
|
| 887 | + <option value="compatibility" <?php selected($this->settings['css'], 'compatibility'); ?>><?php _e('Compatibility Mode (default)', 'ayecode-connect'); ?></option> |
|
| 888 | + <option value="core" <?php selected($this->settings['css'], 'core'); ?>><?php _e('Full Mode', 'ayecode-connect'); ?></option> |
|
| 889 | + <option value="" <?php selected($this->settings['css'], ''); ?>><?php _e('Disabled', 'ayecode-connect'); ?></option> |
|
| 890 | 890 | </select> |
| 891 | 891 | </td> |
| 892 | 892 | </tr> |
| 893 | 893 | |
| 894 | 894 | <tr valign="top"> |
| 895 | - <th scope="row"><label for="wpbs-js"><?php _e( 'Load JS', 'ayecode-connect' ); ?></label></th> |
|
| 895 | + <th scope="row"><label for="wpbs-js"><?php _e('Load JS', 'ayecode-connect'); ?></label></th> |
|
| 896 | 896 | <td> |
| 897 | 897 | <select name="ayecode-ui-settings[js]" id="wpbs-js" <?php echo !empty($overrides['js']) ? 'disabled' : ''; ?>> |
| 898 | - <option value="core-popper" <?php selected( $this->settings['js'], 'core-popper' ); ?>><?php _e( 'Core + Popper (default)', 'ayecode-connect' ); ?></option> |
|
| 899 | - <option value="popper" <?php selected( $this->settings['js'], 'popper' ); ?>><?php _e( 'Popper', 'ayecode-connect' ); ?></option> |
|
| 900 | - <option value="required" <?php selected( $this->settings['js'], 'required' ); ?>><?php _e( 'Required functions only', 'ayecode-connect' ); ?></option> |
|
| 901 | - <option value="" <?php selected( $this->settings['js'], '' ); ?>><?php _e( 'Disabled (not recommended)', 'ayecode-connect' ); ?></option> |
|
| 898 | + <option value="core-popper" <?php selected($this->settings['js'], 'core-popper'); ?>><?php _e('Core + Popper (default)', 'ayecode-connect'); ?></option> |
|
| 899 | + <option value="popper" <?php selected($this->settings['js'], 'popper'); ?>><?php _e('Popper', 'ayecode-connect'); ?></option> |
|
| 900 | + <option value="required" <?php selected($this->settings['js'], 'required'); ?>><?php _e('Required functions only', 'ayecode-connect'); ?></option> |
|
| 901 | + <option value="" <?php selected($this->settings['js'], ''); ?>><?php _e('Disabled (not recommended)', 'ayecode-connect'); ?></option> |
|
| 902 | 902 | </select> |
| 903 | 903 | </td> |
| 904 | 904 | </tr> |
| 905 | 905 | |
| 906 | 906 | <tr valign="top"> |
| 907 | - <th scope="row"><label for="wpbs-font_size"><?php _e( 'HTML Font Size (px)', 'ayecode-connect' ); ?></label></th> |
|
| 907 | + <th scope="row"><label for="wpbs-font_size"><?php _e('HTML Font Size (px)', 'ayecode-connect'); ?></label></th> |
|
| 908 | 908 | <td> |
| 909 | - <input type="number" name="ayecode-ui-settings[html_font_size]" id="wpbs-font_size" value="<?php echo absint( $this->settings['html_font_size']); ?>" placeholder="16" <?php echo !empty($overrides['html_font_size']) ? 'disabled' : ''; ?> /> |
|
| 910 | - <p class="description" ><?php _e("Our font sizing is rem (responsive based) here you can set the html font size in-case your theme is setting it too low.", 'ayecode-connect' );?></p> |
|
| 909 | + <input type="number" name="ayecode-ui-settings[html_font_size]" id="wpbs-font_size" value="<?php echo absint($this->settings['html_font_size']); ?>" placeholder="16" <?php echo !empty($overrides['html_font_size']) ? 'disabled' : ''; ?> /> |
|
| 910 | + <p class="description" ><?php _e("Our font sizing is rem (responsive based) here you can set the html font size in-case your theme is setting it too low.", 'ayecode-connect'); ?></p> |
|
| 911 | 911 | </td> |
| 912 | 912 | </tr> |
| 913 | 913 | |
| 914 | 914 | </table> |
| 915 | 915 | |
| 916 | - <h2><?php _e( 'Backend', 'ayecode-connect' ); ?> (wp-admin)</h2> |
|
| 916 | + <h2><?php _e('Backend', 'ayecode-connect'); ?> (wp-admin)</h2> |
|
| 917 | 917 | <table class="form-table wpbs-table-settings"> |
| 918 | 918 | <tr valign="top"> |
| 919 | - <th scope="row"><label for="wpbs-css-admin"><?php _e( 'Load CSS', 'ayecode-connect' ); ?></label></th> |
|
| 919 | + <th scope="row"><label for="wpbs-css-admin"><?php _e('Load CSS', 'ayecode-connect'); ?></label></th> |
|
| 920 | 920 | <td> |
| 921 | 921 | <select name="ayecode-ui-settings[css_backend]" id="wpbs-css-admin" <?php echo !empty($overrides['css_backend']) ? 'disabled' : ''; ?>> |
| 922 | - <option value="compatibility" <?php selected( $this->settings['css_backend'], 'compatibility' ); ?>><?php _e( 'Compatibility Mode (default)', 'ayecode-connect' ); ?></option> |
|
| 923 | - <option value="core" <?php selected( $this->settings['css_backend'], 'core' ); ?>><?php _e( 'Full Mode (will cause style issues)', 'ayecode-connect' ); ?></option> |
|
| 924 | - <option value="" <?php selected( $this->settings['css_backend'], '' ); ?>><?php _e( 'Disabled', 'ayecode-connect' ); ?></option> |
|
| 922 | + <option value="compatibility" <?php selected($this->settings['css_backend'], 'compatibility'); ?>><?php _e('Compatibility Mode (default)', 'ayecode-connect'); ?></option> |
|
| 923 | + <option value="core" <?php selected($this->settings['css_backend'], 'core'); ?>><?php _e('Full Mode (will cause style issues)', 'ayecode-connect'); ?></option> |
|
| 924 | + <option value="" <?php selected($this->settings['css_backend'], ''); ?>><?php _e('Disabled', 'ayecode-connect'); ?></option> |
|
| 925 | 925 | </select> |
| 926 | 926 | </td> |
| 927 | 927 | </tr> |
| 928 | 928 | |
| 929 | 929 | <tr valign="top"> |
| 930 | - <th scope="row"><label for="wpbs-js-admin"><?php _e( 'Load JS', 'ayecode-connect' ); ?></label></th> |
|
| 930 | + <th scope="row"><label for="wpbs-js-admin"><?php _e('Load JS', 'ayecode-connect'); ?></label></th> |
|
| 931 | 931 | <td> |
| 932 | 932 | <select name="ayecode-ui-settings[js_backend]" id="wpbs-js-admin" <?php echo !empty($overrides['js_backend']) ? 'disabled' : ''; ?>> |
| 933 | - <option value="core-popper" <?php selected( $this->settings['js_backend'], 'core-popper' ); ?>><?php _e( 'Core + Popper (default)', 'ayecode-connect' ); ?></option> |
|
| 934 | - <option value="popper" <?php selected( $this->settings['js_backend'], 'popper' ); ?>><?php _e( 'Popper', 'ayecode-connect' ); ?></option> |
|
| 935 | - <option value="required" <?php selected( $this->settings['js_backend'], 'required' ); ?>><?php _e( 'Required functions only', 'ayecode-connect' ); ?></option> |
|
| 936 | - <option value="" <?php selected( $this->settings['js_backend'], '' ); ?>><?php _e( 'Disabled (not recommended)', 'ayecode-connect' ); ?></option> |
|
| 933 | + <option value="core-popper" <?php selected($this->settings['js_backend'], 'core-popper'); ?>><?php _e('Core + Popper (default)', 'ayecode-connect'); ?></option> |
|
| 934 | + <option value="popper" <?php selected($this->settings['js_backend'], 'popper'); ?>><?php _e('Popper', 'ayecode-connect'); ?></option> |
|
| 935 | + <option value="required" <?php selected($this->settings['js_backend'], 'required'); ?>><?php _e('Required functions only', 'ayecode-connect'); ?></option> |
|
| 936 | + <option value="" <?php selected($this->settings['js_backend'], ''); ?>><?php _e('Disabled (not recommended)', 'ayecode-connect'); ?></option> |
|
| 937 | 937 | </select> |
| 938 | 938 | </td> |
| 939 | 939 | </tr> |
| 940 | 940 | |
| 941 | 941 | <tr valign="top"> |
| 942 | - <th scope="row"><label for="wpbs-disable-admin"><?php _e( 'Disable load on URL', 'ayecode-connect' ); ?></label></th> |
|
| 942 | + <th scope="row"><label for="wpbs-disable-admin"><?php _e('Disable load on URL', 'ayecode-connect'); ?></label></th> |
|
| 943 | 943 | <td> |
| 944 | - <p><?php _e( 'If you have backend conflict you can enter a partial URL argument that will disable the loading of AUI on those pages. Add each argument on a new line.', 'ayecode-connect' ); ?></p> |
|
| 945 | - <textarea name="ayecode-ui-settings[disable_admin]" rows="10" cols="50" id="wpbs-disable-admin" class="large-text code" spellcheck="false" placeholder="myplugin.php action=go"><?php echo $this->settings['disable_admin'];?></textarea> |
|
| 944 | + <p><?php _e('If you have backend conflict you can enter a partial URL argument that will disable the loading of AUI on those pages. Add each argument on a new line.', 'ayecode-connect'); ?></p> |
|
| 945 | + <textarea name="ayecode-ui-settings[disable_admin]" rows="10" cols="50" id="wpbs-disable-admin" class="large-text code" spellcheck="false" placeholder="myplugin.php action=go"><?php echo $this->settings['disable_admin']; ?></textarea> |
|
| 946 | 946 | </td> |
| 947 | 947 | </tr> |
| 948 | 948 | </table> |
@@ -951,33 +951,33 @@ discard block |
||
| 951 | 951 | submit_button(); |
| 952 | 952 | ?> |
| 953 | 953 | </form> |
| 954 | - <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo $this->version; ?></div> |
|
| 954 | + <div id="wpbs-version" data-aui-source="<?php echo esc_attr($this->get_load_source()); ?>"><?php echo $this->version; ?></div> |
|
| 955 | 955 | </div> |
| 956 | 956 | <?php |
| 957 | 957 | } |
| 958 | 958 | |
| 959 | - public function get_load_source(){ |
|
| 960 | - $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 961 | - $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 959 | + public function get_load_source() { |
|
| 960 | + $file = str_replace(array("/", "\\"), "/", realpath(__FILE__)); |
|
| 961 | + $plugins_dir = str_replace(array("/", "\\"), "/", realpath(WP_PLUGIN_DIR)); |
|
| 962 | 962 | |
| 963 | 963 | // Find source plugin/theme of SD |
| 964 | 964 | $source = array(); |
| 965 | - if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 966 | - $source = explode( "/", plugin_basename( $file ) ); |
|
| 967 | - } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 968 | - $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 965 | + if (strpos($file, $plugins_dir) !== false) { |
|
| 966 | + $source = explode("/", plugin_basename($file)); |
|
| 967 | + } else if (function_exists('get_theme_root')) { |
|
| 968 | + $themes_dir = str_replace(array("/", "\\"), "/", realpath(get_theme_root())); |
|
| 969 | 969 | |
| 970 | - if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 971 | - $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 970 | + if (strpos($file, $themes_dir) !== false) { |
|
| 971 | + $source = explode("/", ltrim(str_replace($themes_dir, "", $file), "/")); |
|
| 972 | 972 | } |
| 973 | 973 | } |
| 974 | 974 | |
| 975 | 975 | return isset($source[0]) ? esc_attr($source[0]) : ''; |
| 976 | 976 | } |
| 977 | 977 | |
| 978 | - public function customizer_settings($wp_customize){ |
|
| 978 | + public function customizer_settings($wp_customize) { |
|
| 979 | 979 | $wp_customize->add_section('aui_settings', array( |
| 980 | - 'title' => __('AyeCode UI', 'ayecode-connect' ), |
|
| 980 | + 'title' => __('AyeCode UI', 'ayecode-connect'), |
|
| 981 | 981 | 'priority' => 120, |
| 982 | 982 | )); |
| 983 | 983 | |
@@ -991,8 +991,8 @@ discard block |
||
| 991 | 991 | 'type' => 'option', |
| 992 | 992 | 'transport' => 'refresh', |
| 993 | 993 | )); |
| 994 | - $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array( |
|
| 995 | - 'label' => __('Primary Color', 'ayecode-connect' ), |
|
| 994 | + $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'color_primary', array( |
|
| 995 | + 'label' => __('Primary Color', 'ayecode-connect'), |
|
| 996 | 996 | 'section' => 'aui_settings', |
| 997 | 997 | 'settings' => 'aui_options[color_primary]', |
| 998 | 998 | ))); |
@@ -1004,8 +1004,8 @@ discard block |
||
| 1004 | 1004 | 'type' => 'option', |
| 1005 | 1005 | 'transport' => 'refresh', |
| 1006 | 1006 | )); |
| 1007 | - $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array( |
|
| 1008 | - 'label' => __('Secondary Color', 'ayecode-connect' ), |
|
| 1007 | + $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'color_secondary', array( |
|
| 1008 | + 'label' => __('Secondary Color', 'ayecode-connect'), |
|
| 1009 | 1009 | 'section' => 'aui_settings', |
| 1010 | 1010 | 'settings' => 'aui_options[color_secondary]', |
| 1011 | 1011 | ))); |
@@ -1031,12 +1031,12 @@ discard block |
||
| 1031 | 1031 | .collapse.show:not(.in){display: inherit;} |
| 1032 | 1032 | .fade.show{opacity: 1;} |
| 1033 | 1033 | |
| 1034 | - <?php if( defined( 'SVQ_THEME_VERSION' ) ){ ?> |
|
| 1034 | + <?php if (defined('SVQ_THEME_VERSION')) { ?> |
|
| 1035 | 1035 | /* KLEO theme specific */ |
| 1036 | 1036 | .kleo-main-header .navbar-collapse.collapse.show:not(.in){display: block !important;} |
| 1037 | 1037 | <?php } ?> |
| 1038 | 1038 | |
| 1039 | - <?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?> |
|
| 1039 | + <?php if (defined('FUSION_BUILDER_VERSION')) { ?> |
|
| 1040 | 1040 | /* With Avada builder */ |
| 1041 | 1041 | body.modal-open .modal.in {opacity:1;z-index: 99999} |
| 1042 | 1042 | body.modal-open .modal.bsui.in .modal-content {box-shadow: none;} |
@@ -1047,10 +1047,10 @@ discard block |
||
| 1047 | 1047 | <?php } ?> |
| 1048 | 1048 | </style> |
| 1049 | 1049 | <?php |
| 1050 | - return str_replace( array( |
|
| 1050 | + return str_replace(array( |
|
| 1051 | 1051 | '<style>', |
| 1052 | 1052 | '</style>' |
| 1053 | - ), '', self::minify_css( ob_get_clean() ) ); |
|
| 1053 | + ), '', self::minify_css(ob_get_clean())); |
|
| 1054 | 1054 | } |
| 1055 | 1055 | |
| 1056 | 1056 | |
@@ -1058,7 +1058,7 @@ discard block |
||
| 1058 | 1058 | global $aui_bs5; |
| 1059 | 1059 | |
| 1060 | 1060 | $colors = array(); |
| 1061 | - if ( defined( 'BLOCKSTRAP_VERSION' ) ) { |
|
| 1061 | + if (defined('BLOCKSTRAP_VERSION')) { |
|
| 1062 | 1062 | |
| 1063 | 1063 | |
| 1064 | 1064 | $setting = wp_get_global_settings(); |
@@ -1067,22 +1067,22 @@ discard block |
||
| 1067 | 1067 | // print_r(get_default_block_editor_settings());exit; |
| 1068 | 1068 | |
| 1069 | 1069 | // print_r($setting);echo '###';exit; |
| 1070 | - if(!empty($setting['color']['palette']['theme'])){ |
|
| 1071 | - foreach($setting['color']['palette']['theme'] as $color){ |
|
| 1070 | + if (!empty($setting['color']['palette']['theme'])) { |
|
| 1071 | + foreach ($setting['color']['palette']['theme'] as $color) { |
|
| 1072 | 1072 | $colors[$color['slug']] = esc_attr($color['color']); |
| 1073 | 1073 | } |
| 1074 | 1074 | } |
| 1075 | 1075 | |
| 1076 | - if(!empty($setting['color']['palette']['custom'])){ |
|
| 1077 | - foreach($setting['color']['palette']['custom'] as $color){ |
|
| 1076 | + if (!empty($setting['color']['palette']['custom'])) { |
|
| 1077 | + foreach ($setting['color']['palette']['custom'] as $color) { |
|
| 1078 | 1078 | $colors[$color['slug']] = esc_attr($color['color']); |
| 1079 | 1079 | } |
| 1080 | 1080 | } |
| 1081 | - }else{ |
|
| 1081 | + } else { |
|
| 1082 | 1082 | $settings = get_option('aui_options'); |
| 1083 | 1083 | $colors = array( |
| 1084 | - 'primary' => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR, |
|
| 1085 | - 'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR |
|
| 1084 | + 'primary' => !empty($settings['color_primary']) ? $settings['color_primary'] : AUI_PRIMARY_COLOR, |
|
| 1085 | + 'secondary' => !empty($settings['color_secondary']) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR |
|
| 1086 | 1086 | ); |
| 1087 | 1087 | } |
| 1088 | 1088 | |
@@ -1093,25 +1093,25 @@ discard block |
||
| 1093 | 1093 | <?php |
| 1094 | 1094 | |
| 1095 | 1095 | // BS v3 compat |
| 1096 | - if( self::is_bs3_compat() ){ |
|
| 1096 | + if (self::is_bs3_compat()) { |
|
| 1097 | 1097 | echo self::bs3_compat_css(); |
| 1098 | 1098 | } |
| 1099 | 1099 | |
| 1100 | - $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : ''; |
|
| 1100 | + $current_screen = function_exists('get_current_screen') ? get_current_screen() : ''; |
|
| 1101 | 1101 | $is_fse = false; |
| 1102 | - if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) ) ) { |
|
| 1102 | + if (is_admin() && (!empty($_REQUEST['postType']) || $current_screen->is_block_editor()) && (defined('BLOCKSTRAP_VERSION') || defined('AUI_FSE'))) { |
|
| 1103 | 1103 | $is_fse = true; |
| 1104 | 1104 | } |
| 1105 | 1105 | |
| 1106 | - if(!empty($colors)){ |
|
| 1106 | + if (!empty($colors)) { |
|
| 1107 | 1107 | $d_colors = self::get_colors(true); |
| 1108 | 1108 | |
| 1109 | 1109 | // $is_fse = !empty($_REQUEST['postType']) && $_REQUEST['postType']=='wp_template'; |
| 1110 | - foreach($colors as $key => $color ){ |
|
| 1111 | - if((empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) { |
|
| 1110 | + foreach ($colors as $key => $color) { |
|
| 1111 | + if ((empty($d_colors[$key]) || $d_colors[$key] != $color) || $is_fse) { |
|
| 1112 | 1112 | $var = $is_fse ? "var(--wp--preset--color--$key)" : $color; |
| 1113 | 1113 | $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility; |
| 1114 | - echo $aui_bs5 ? self::css_overwrite_bs5($key,$var,$compat,$color) : self::css_overwrite($key,$var,$compat,$color); |
|
| 1114 | + echo $aui_bs5 ? self::css_overwrite_bs5($key, $var, $compat, $color) : self::css_overwrite($key, $var, $compat, $color); |
|
| 1115 | 1115 | } |
| 1116 | 1116 | } |
| 1117 | 1117 | // exit; |
@@ -1120,70 +1120,70 @@ discard block |
||
| 1120 | 1120 | // Set admin bar z-index lower when modal is open. |
| 1121 | 1121 | echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}'; |
| 1122 | 1122 | |
| 1123 | - if(is_admin()){ |
|
| 1123 | + if (is_admin()) { |
|
| 1124 | 1124 | echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}'; |
| 1125 | 1125 | } |
| 1126 | 1126 | |
| 1127 | - if( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) ){ |
|
| 1127 | + if ($aui_bs5 && defined('BLOCKSTRAP_VERSION')) { |
|
| 1128 | 1128 | $css = ''; |
| 1129 | 1129 | $theme_settings = wp_get_global_styles(); |
| 1130 | 1130 | |
| 1131 | 1131 | // print_r( $theme_settings);exit; |
| 1132 | 1132 | |
| 1133 | 1133 | // font face |
| 1134 | - if( !empty( $theme_settings['typography']['fontFamily'] ) ){ |
|
| 1135 | - $t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily'] ); //var(--wp--preset--font-family--poppins) |
|
| 1134 | + if (!empty($theme_settings['typography']['fontFamily'])) { |
|
| 1135 | + $t_fontface = str_replace(array('var:preset|', 'font-family|'), array('--wp--preset--', 'font-family--'), $theme_settings['typography']['fontFamily']); //var(--wp--preset--font-family--poppins) |
|
| 1136 | 1136 | $css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';'; |
| 1137 | 1137 | } |
| 1138 | 1138 | |
| 1139 | 1139 | // font size |
| 1140 | - if( !empty( $theme_settings['typography']['fontSize'] ) ){ |
|
| 1141 | - $css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;'; |
|
| 1140 | + if (!empty($theme_settings['typography']['fontSize'])) { |
|
| 1141 | + $css .= '--bs-body-font-size: ' . esc_attr($theme_settings['typography']['fontSize']) . ' ;'; |
|
| 1142 | 1142 | } |
| 1143 | 1143 | |
| 1144 | 1144 | // line height |
| 1145 | - if( !empty( $theme_settings['typography']['lineHeight'] ) ){ |
|
| 1146 | - $css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';'; |
|
| 1145 | + if (!empty($theme_settings['typography']['lineHeight'])) { |
|
| 1146 | + $css .= '--bs-body-line-height: ' . esc_attr($theme_settings['typography']['lineHeight']) . ';'; |
|
| 1147 | 1147 | } |
| 1148 | 1148 | |
| 1149 | 1149 | |
| 1150 | 1150 | // font weight |
| 1151 | - if( !empty( $theme_settings['typography']['fontWeight'] ) ){ |
|
| 1152 | - $css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';'; |
|
| 1151 | + if (!empty($theme_settings['typography']['fontWeight'])) { |
|
| 1152 | + $css .= '--bs-body-font-weight: ' . esc_attr($theme_settings['typography']['fontWeight']) . ';'; |
|
| 1153 | 1153 | } |
| 1154 | 1154 | |
| 1155 | 1155 | // Background |
| 1156 | - if( !empty( $theme_settings['color']['background'] ) ){ |
|
| 1157 | - $css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';'; |
|
| 1156 | + if (!empty($theme_settings['color']['background'])) { |
|
| 1157 | + $css .= '--bs-body-bg: ' . esc_attr($theme_settings['color']['background']) . ';'; |
|
| 1158 | 1158 | } |
| 1159 | 1159 | |
| 1160 | 1160 | // Background Gradient |
| 1161 | - if( !empty( $theme_settings['color']['gradient'] ) ){ |
|
| 1162 | - $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';'; |
|
| 1161 | + if (!empty($theme_settings['color']['gradient'])) { |
|
| 1162 | + $css .= 'background: ' . esc_attr($theme_settings['color']['gradient']) . ';'; |
|
| 1163 | 1163 | } |
| 1164 | 1164 | |
| 1165 | 1165 | // Background Gradient |
| 1166 | - if( !empty( $theme_settings['color']['gradient'] ) ){ |
|
| 1167 | - $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';'; |
|
| 1166 | + if (!empty($theme_settings['color']['gradient'])) { |
|
| 1167 | + $css .= 'background: ' . esc_attr($theme_settings['color']['gradient']) . ';'; |
|
| 1168 | 1168 | } |
| 1169 | 1169 | |
| 1170 | 1170 | // text color |
| 1171 | - if( !empty( $theme_settings['color']['text'] ) ){ |
|
| 1172 | - $css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';'; |
|
| 1171 | + if (!empty($theme_settings['color']['text'])) { |
|
| 1172 | + $css .= '--bs-body-color: ' . esc_attr($theme_settings['color']['text']) . ';'; |
|
| 1173 | 1173 | } |
| 1174 | 1174 | |
| 1175 | 1175 | |
| 1176 | 1176 | // link colors |
| 1177 | - if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){ |
|
| 1178 | - $css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';'; |
|
| 1177 | + if (!empty($theme_settings['elements']['link']['color']['text'])) { |
|
| 1178 | + $css .= '--bs-link-color: ' . esc_attr($theme_settings['elements']['link']['color']['text']) . ';'; |
|
| 1179 | 1179 | } |
| 1180 | - if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){ |
|
| 1181 | - $css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';'; |
|
| 1180 | + if (!empty($theme_settings['elements']['link'][':hover']['color']['text'])) { |
|
| 1181 | + $css .= '--bs-link-hover-color: ' . esc_attr($theme_settings['elements']['link'][':hover']['color']['text']) . ';'; |
|
| 1182 | 1182 | } |
| 1183 | 1183 | |
| 1184 | 1184 | |
| 1185 | 1185 | |
| 1186 | - if($css){ |
|
| 1186 | + if ($css) { |
|
| 1187 | 1187 | echo $is_fse ? 'body.editor-styles-wrapper{' . $css . '}' : 'body{' . $css . '}'; |
| 1188 | 1188 | } |
| 1189 | 1189 | |
@@ -1192,42 +1192,42 @@ discard block |
||
| 1192 | 1192 | |
| 1193 | 1193 | // Headings |
| 1194 | 1194 | $headings_css = ''; |
| 1195 | - if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){ |
|
| 1196 | - $headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";"; |
|
| 1195 | + if (!empty($theme_settings['elements']['heading']['color']['text'])) { |
|
| 1196 | + $headings_css .= "color: " . esc_attr($theme_settings['elements']['heading']['color']['text']) . ";"; |
|
| 1197 | 1197 | } |
| 1198 | 1198 | |
| 1199 | 1199 | // heading background |
| 1200 | - if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){ |
|
| 1201 | - $headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';'; |
|
| 1200 | + if (!empty($theme_settings['elements']['heading']['color']['background'])) { |
|
| 1201 | + $headings_css .= 'background: ' . esc_attr($theme_settings['elements']['heading']['color']['background']) . ';'; |
|
| 1202 | 1202 | } |
| 1203 | 1203 | |
| 1204 | 1204 | // heading font family |
| 1205 | - if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){ |
|
| 1206 | - $headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily'] ) . ';'; |
|
| 1205 | + if (!empty($theme_settings['elements']['heading']['typography']['fontFamily'])) { |
|
| 1206 | + $headings_css .= 'font-family: ' . esc_attr($theme_settings['elements']['heading']['typography']['fontFamily']) . ';'; |
|
| 1207 | 1207 | } |
| 1208 | 1208 | |
| 1209 | - if( $headings_css ){ |
|
| 1209 | + if ($headings_css) { |
|
| 1210 | 1210 | echo "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . $headings_css . "}"; |
| 1211 | 1211 | } |
| 1212 | 1212 | |
| 1213 | - $hs = array('h1','h2','h3','h4','h5','h6'); |
|
| 1213 | + $hs = array('h1', 'h2', 'h3', 'h4', 'h5', 'h6'); |
|
| 1214 | 1214 | |
| 1215 | - foreach($hs as $hn){ |
|
| 1215 | + foreach ($hs as $hn) { |
|
| 1216 | 1216 | $h_css = ''; |
| 1217 | - if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){ |
|
| 1218 | - $h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';'; |
|
| 1217 | + if (!empty($theme_settings['elements'][$hn]['color']['text'])) { |
|
| 1218 | + $h_css .= 'color: ' . esc_attr($theme_settings['elements'][$hn]['color']['text']) . ';'; |
|
| 1219 | 1219 | } |
| 1220 | 1220 | |
| 1221 | - if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){ |
|
| 1222 | - $h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize'] ) . ';'; |
|
| 1221 | + if (!empty($theme_settings['elements'][$hn]['typography']['fontSize'])) { |
|
| 1222 | + $h_css .= 'font-size: ' . esc_attr($theme_settings['elements'][$hn]['typography']['fontSize']) . ';'; |
|
| 1223 | 1223 | } |
| 1224 | 1224 | |
| 1225 | - if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){ |
|
| 1226 | - $h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) . ';'; |
|
| 1225 | + if (!empty($theme_settings['elements'][$hn]['typography']['fontFamily'])) { |
|
| 1226 | + $h_css .= 'font-family: ' . esc_attr($theme_settings['elements'][$hn]['typography']['fontFamily']) . ';'; |
|
| 1227 | 1227 | } |
| 1228 | 1228 | |
| 1229 | - if($h_css){ |
|
| 1230 | - echo $bep . $hn . '{'.$h_css.'}'; |
|
| 1229 | + if ($h_css) { |
|
| 1230 | + echo $bep . $hn . '{' . $h_css . '}'; |
|
| 1231 | 1231 | } |
| 1232 | 1232 | } |
| 1233 | 1233 | |
@@ -1246,10 +1246,10 @@ discard block |
||
| 1246 | 1246 | /* |
| 1247 | 1247 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 1248 | 1248 | */ |
| 1249 | - return str_replace( array( |
|
| 1249 | + return str_replace(array( |
|
| 1250 | 1250 | '<style>', |
| 1251 | 1251 | '</style>' |
| 1252 | - ), '', self::minify_css( ob_get_clean() ) ); |
|
| 1252 | + ), '', self::minify_css(ob_get_clean())); |
|
| 1253 | 1253 | } |
| 1254 | 1254 | |
| 1255 | 1255 | |
@@ -1259,7 +1259,7 @@ discard block |
||
| 1259 | 1259 | * |
| 1260 | 1260 | * @return bool |
| 1261 | 1261 | */ |
| 1262 | - public static function is_bs3_compat(){ |
|
| 1262 | + public static function is_bs3_compat() { |
|
| 1263 | 1263 | return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION'); |
| 1264 | 1264 | } |
| 1265 | 1265 | |
@@ -1268,7 +1268,7 @@ discard block |
||
| 1268 | 1268 | $hex = str_replace('#', '', $hex); |
| 1269 | 1269 | |
| 1270 | 1270 | // Convert 3-digit hex to 6-digit hex |
| 1271 | - if(strlen($hex) == 3) { |
|
| 1271 | + if (strlen($hex) == 3) { |
|
| 1272 | 1272 | $hex = str_repeat(substr($hex, 0, 1), 2) . str_repeat(substr($hex, 1, 1), 2) . str_repeat(substr($hex, 2, 1), 2); |
| 1273 | 1273 | } |
| 1274 | 1274 | |
@@ -1290,13 +1290,13 @@ discard block |
||
| 1290 | 1290 | * |
| 1291 | 1291 | * @return string |
| 1292 | 1292 | */ |
| 1293 | - public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){ |
|
| 1293 | + public static function css_overwrite_bs5($type, $color_code, $compatibility, $hex = '') { |
|
| 1294 | 1294 | global $aui_bs5; |
| 1295 | 1295 | |
| 1296 | 1296 | $is_var = false; |
| 1297 | 1297 | $is_custom = strpos($type, 'custom-') !== false ? true : false; |
| 1298 | - if(!$color_code){return '';} |
|
| 1299 | - if(strpos($color_code, 'var') !== false){ |
|
| 1298 | + if (!$color_code) {return ''; } |
|
| 1299 | + if (strpos($color_code, 'var') !== false) { |
|
| 1300 | 1300 | //if(!sanitize_hex_color($color_code)){ |
| 1301 | 1301 | $color_code = esc_attr($color_code); |
| 1302 | 1302 | $is_var = true; |
@@ -1306,15 +1306,15 @@ discard block |
||
| 1306 | 1306 | |
| 1307 | 1307 | // echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit; |
| 1308 | 1308 | |
| 1309 | - if(!$color_code){return '';} |
|
| 1309 | + if (!$color_code) {return ''; } |
|
| 1310 | 1310 | |
| 1311 | 1311 | $rgb = self::hex_to_rgb($hex); |
| 1312 | 1312 | |
| 1313 | - if($compatibility===true || $compatibility===1){ |
|
| 1313 | + if ($compatibility === true || $compatibility === 1) { |
|
| 1314 | 1314 | $compatibility = '.bsui'; |
| 1315 | - }elseif(!$compatibility){ |
|
| 1315 | + }elseif (!$compatibility) { |
|
| 1316 | 1316 | $compatibility = ''; |
| 1317 | - }else{ |
|
| 1317 | + } else { |
|
| 1318 | 1318 | $compatibility = esc_attr($compatibility); |
| 1319 | 1319 | } |
| 1320 | 1320 | |
@@ -1331,30 +1331,30 @@ discard block |
||
| 1331 | 1331 | * c = color, b = background color, o = border-color, f = fill |
| 1332 | 1332 | */ |
| 1333 | 1333 | $selectors = array( |
| 1334 | - ".btn-{$type}" => array( 'b', 'o' ), |
|
| 1335 | - ".btn-{$type}.disabled" => array( 'b', 'o' ), |
|
| 1336 | - ".btn-{$type}:disabled" => array( 'b', 'o' ), |
|
| 1337 | - ".btn-outline-{$type}" => array( 'c', 'o' ), |
|
| 1338 | - ".btn-outline-{$type}:hover" => array( 'b', 'o' ), |
|
| 1339 | - ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ), |
|
| 1340 | - ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ), |
|
| 1341 | - ".show>.btn-outline-{$type}.dropdown-toggle" => array( 'b', 'o' ), |
|
| 1342 | - ".badge-{$type}" => array( 'b' ), |
|
| 1343 | - ".alert-{$type}" => array( 'b', 'o' ), |
|
| 1344 | - ".bg-{$type}" => array( 'b', 'f' ), |
|
| 1345 | - ".btn-link.btn-{$type}" => array( 'c' ), |
|
| 1346 | - ".text-{$type}" => array( 'c' ), |
|
| 1334 | + ".btn-{$type}" => array('b', 'o'), |
|
| 1335 | + ".btn-{$type}.disabled" => array('b', 'o'), |
|
| 1336 | + ".btn-{$type}:disabled" => array('b', 'o'), |
|
| 1337 | + ".btn-outline-{$type}" => array('c', 'o'), |
|
| 1338 | + ".btn-outline-{$type}:hover" => array('b', 'o'), |
|
| 1339 | + ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array('b', 'o'), |
|
| 1340 | + ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array('b', 'o'), |
|
| 1341 | + ".show>.btn-outline-{$type}.dropdown-toggle" => array('b', 'o'), |
|
| 1342 | + ".badge-{$type}" => array('b'), |
|
| 1343 | + ".alert-{$type}" => array('b', 'o'), |
|
| 1344 | + ".bg-{$type}" => array('b', 'f'), |
|
| 1345 | + ".btn-link.btn-{$type}" => array('c'), |
|
| 1346 | + ".text-{$type}" => array('c'), |
|
| 1347 | 1347 | ); |
| 1348 | 1348 | |
| 1349 | - if ( $aui_bs5 ) { |
|
| 1350 | - unset($selectors[".alert-{$type}" ]); |
|
| 1349 | + if ($aui_bs5) { |
|
| 1350 | + unset($selectors[".alert-{$type}"]); |
|
| 1351 | 1351 | } |
| 1352 | 1352 | |
| 1353 | - if ( $type == 'primary' ) { |
|
| 1353 | + if ($type == 'primary') { |
|
| 1354 | 1354 | $selectors = $selectors + array( |
| 1355 | - 'a' => array( 'c' ), |
|
| 1356 | - '.btn-link' => array( 'c' ), |
|
| 1357 | - '.dropdown-item.active' => array( 'b' ), |
|
| 1355 | + 'a' => array('c'), |
|
| 1356 | + '.btn-link' => array('c'), |
|
| 1357 | + '.dropdown-item.active' => array('b'), |
|
| 1358 | 1358 | '.custom-control-input:checked~.custom-control-label::before' => array( |
| 1359 | 1359 | 'b', |
| 1360 | 1360 | 'o' |
@@ -1363,56 +1363,56 @@ discard block |
||
| 1363 | 1363 | 'b', |
| 1364 | 1364 | 'o' |
| 1365 | 1365 | ), |
| 1366 | - '.nav-pills .nav-link.active' => array( 'b' ), |
|
| 1367 | - '.nav-pills .show>.nav-link' => array( 'b' ), |
|
| 1368 | - '.page-link' => array( 'c' ), |
|
| 1366 | + '.nav-pills .nav-link.active' => array('b'), |
|
| 1367 | + '.nav-pills .show>.nav-link' => array('b'), |
|
| 1368 | + '.page-link' => array('c'), |
|
| 1369 | 1369 | '.page-item.active .page-link' => array( |
| 1370 | 1370 | 'b', |
| 1371 | 1371 | 'o' |
| 1372 | 1372 | ), |
| 1373 | - '.progress-bar' => array( 'b' ), |
|
| 1373 | + '.progress-bar' => array('b'), |
|
| 1374 | 1374 | '.list-group-item.active' => array( |
| 1375 | 1375 | 'b', |
| 1376 | 1376 | 'o' |
| 1377 | 1377 | ), |
| 1378 | - '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ), |
|
| 1378 | + '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'), |
|
| 1379 | 1379 | ); |
| 1380 | 1380 | } |
| 1381 | 1381 | |
| 1382 | 1382 | |
| 1383 | 1383 | |
| 1384 | 1384 | // link |
| 1385 | - if ( $type === 'primary' ) { |
|
| 1386 | - $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }'; |
|
| 1387 | - $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).'; }'; |
|
| 1388 | - $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).'; }'; |
|
| 1385 | + if ($type === 'primary') { |
|
| 1386 | + $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-' . esc_attr($type) . '-rgb), .75); --bs-link-color: var(--bs-' . esc_attr($type) . '); }'; |
|
| 1387 | + $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: ' . esc_attr($color_code) . '; }'; |
|
| 1388 | + $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) . '; }'; |
|
| 1389 | 1389 | |
| 1390 | - $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}'; |
|
| 1391 | - $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}'; |
|
| 1390 | + $output .= $prefix . ' a{color: var(--bs-' . esc_attr($type) . ');}'; |
|
| 1391 | + $output .= $prefix . ' .text-primary{color: var(--bs-' . esc_attr($type) . ') !important;}'; |
|
| 1392 | 1392 | |
| 1393 | 1393 | // dropdown |
| 1394 | - $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}'; |
|
| 1394 | + $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-' . esc_attr($type) . '); --bs-dropdown-link-active-color: var(--bs-' . esc_attr($type) . ');}'; |
|
| 1395 | 1395 | |
| 1396 | 1396 | // pagination |
| 1397 | - $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}'; |
|
| 1397 | + $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-' . esc_attr($type) . '); --bs-pagination-active-bg: var(--bs-' . esc_attr($type) . ');}'; |
|
| 1398 | 1398 | |
| 1399 | 1399 | } |
| 1400 | 1400 | |
| 1401 | - $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}'; |
|
| 1401 | + $output .= $prefix . ' .link-' . esc_attr($type) . ':hover {color: rgba(var(--bs-' . esc_attr($type) . '-rgb), .8) !important;}'; |
|
| 1402 | 1402 | |
| 1403 | 1403 | // buttons |
| 1404 | - $output .= $prefix . ' .btn-'.esc_attr($type).'{'; |
|
| 1404 | + $output .= $prefix . ' .btn-' . esc_attr($type) . '{'; |
|
| 1405 | 1405 | $output .= ' |
| 1406 | - --bs-btn-bg: '.esc_attr($color_code).'; |
|
| 1407 | - --bs-btn-border-color: '.esc_attr($color_code).'; |
|
| 1408 | - --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1409 | - --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1410 | - --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb; |
|
| 1411 | - --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1412 | - --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1406 | + --bs-btn-bg: '.esc_attr($color_code) . '; |
|
| 1407 | + --bs-btn-border-color: '.esc_attr($color_code) . '; |
|
| 1408 | + --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9); |
|
| 1409 | + --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9); |
|
| 1410 | + --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type) . '-rgb; |
|
| 1411 | + --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9); |
|
| 1412 | + --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9); |
|
| 1413 | 1413 | --bs-btn-active-shadow: unset; |
| 1414 | - --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5); |
|
| 1415 | - --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1); |
|
| 1414 | + --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .5); |
|
| 1415 | + --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .1); |
|
| 1416 | 1416 | '; |
| 1417 | 1417 | // $output .= ' |
| 1418 | 1418 | // --bs-btn-color: #fff; |
@@ -1423,17 +1423,17 @@ discard block |
||
| 1423 | 1423 | $output .= '}'; |
| 1424 | 1424 | |
| 1425 | 1425 | // buttons outline |
| 1426 | - $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{'; |
|
| 1426 | + $output .= $prefix . ' .btn-outline-' . esc_attr($type) . '{'; |
|
| 1427 | 1427 | $output .= ' |
| 1428 | - --bs-btn-border-color: '.esc_attr($color_code).'; |
|
| 1429 | - --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1430 | - --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1431 | - --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb; |
|
| 1432 | - --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1433 | - --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1428 | + --bs-btn-border-color: '.esc_attr($color_code) . '; |
|
| 1429 | + --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9); |
|
| 1430 | + --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9); |
|
| 1431 | + --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type) . '-rgb; |
|
| 1432 | + --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9); |
|
| 1433 | + --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9); |
|
| 1434 | 1434 | --bs-btn-active-shadow: unset; |
| 1435 | - --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5); |
|
| 1436 | - --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1); |
|
| 1435 | + --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .5); |
|
| 1436 | + --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .1); |
|
| 1437 | 1437 | '; |
| 1438 | 1438 | // $output .= ' |
| 1439 | 1439 | // --bs-btn-color: #fff; |
@@ -1445,32 +1445,32 @@ discard block |
||
| 1445 | 1445 | |
| 1446 | 1446 | |
| 1447 | 1447 | // button hover |
| 1448 | - $output .= $prefix . ' .btn-'.esc_attr($type).':hover{'; |
|
| 1448 | + $output .= $prefix . ' .btn-' . esc_attr($type) . ':hover{'; |
|
| 1449 | 1449 | $output .= ' |
| 1450 | - 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); |
|
| 1450 | + 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); |
|
| 1451 | 1451 | } |
| 1452 | 1452 | '; |
| 1453 | 1453 | |
| 1454 | 1454 | |
| 1455 | - if ( $aui_bs5 ) { |
|
| 1455 | + if ($aui_bs5) { |
|
| 1456 | 1456 | // $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).'; }'; |
| 1457 | - $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }'; |
|
| 1458 | - $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }'; |
|
| 1457 | + $output .= 'html body {--bs-' . esc_attr($type) . ': ' . esc_attr($color_code) . '; }'; |
|
| 1458 | + $output .= 'html body {--bs-' . esc_attr($type) . '-rgb: ' . $rgb . '; }'; |
|
| 1459 | 1459 | } |
| 1460 | 1460 | |
| 1461 | 1461 | |
| 1462 | - if ( $is_custom ) { |
|
| 1462 | + if ($is_custom) { |
|
| 1463 | 1463 | |
| 1464 | 1464 | // echo '###'.$type;exit; |
| 1465 | 1465 | |
| 1466 | 1466 | // build rules into each type |
| 1467 | - foreach($selectors as $selector => $types){ |
|
| 1468 | - $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1469 | - $types = array_combine($types,$types); |
|
| 1470 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1471 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1472 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1473 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1467 | + foreach ($selectors as $selector => $types) { |
|
| 1468 | + $selector = $compatibility ? $compatibility . " " . $selector : $selector; |
|
| 1469 | + $types = array_combine($types, $types); |
|
| 1470 | + if (isset($types['c'])) {$color[] = $selector; } |
|
| 1471 | + if (isset($types['b'])) {$background[] = $selector; } |
|
| 1472 | + if (isset($types['o'])) {$border[] = $selector; } |
|
| 1473 | + if (isset($types['f'])) {$fill[] = $selector; } |
|
| 1474 | 1474 | } |
| 1475 | 1475 | |
| 1476 | 1476 | // // build rules into each type |
@@ -1484,36 +1484,36 @@ discard block |
||
| 1484 | 1484 | // } |
| 1485 | 1485 | |
| 1486 | 1486 | // add any color rules |
| 1487 | - if(!empty($color)){ |
|
| 1488 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1487 | + if (!empty($color)) { |
|
| 1488 | + $output .= implode(",", $color) . "{color: $color_code;} "; |
|
| 1489 | 1489 | } |
| 1490 | - if(!empty($color_i)){ |
|
| 1491 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1490 | + if (!empty($color_i)) { |
|
| 1491 | + $output .= implode(",", $color_i) . "{color: $color_code !important;} "; |
|
| 1492 | 1492 | } |
| 1493 | 1493 | |
| 1494 | 1494 | // add any background color rules |
| 1495 | - if(!empty($background)){ |
|
| 1496 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1495 | + if (!empty($background)) { |
|
| 1496 | + $output .= implode(",", $background) . "{background-color: $color_code;} "; |
|
| 1497 | 1497 | } |
| 1498 | - if(!empty($background_i)){ |
|
| 1499 | - $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1498 | + if (!empty($background_i)) { |
|
| 1499 | + $output .= $aui_bs5 ? '' : implode(",", $background_i) . "{background-color: $color_code !important;} "; |
|
| 1500 | 1500 | // $output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} "; |
| 1501 | 1501 | } |
| 1502 | 1502 | |
| 1503 | 1503 | // add any border color rules |
| 1504 | - if(!empty($border)){ |
|
| 1505 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1504 | + if (!empty($border)) { |
|
| 1505 | + $output .= implode(",", $border) . "{border-color: $color_code;} "; |
|
| 1506 | 1506 | } |
| 1507 | - if(!empty($border_i)){ |
|
| 1508 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1507 | + if (!empty($border_i)) { |
|
| 1508 | + $output .= implode(",", $border_i) . "{border-color: $color_code !important;} "; |
|
| 1509 | 1509 | } |
| 1510 | 1510 | |
| 1511 | 1511 | // add any fill color rules |
| 1512 | - if(!empty($fill)){ |
|
| 1513 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1512 | + if (!empty($fill)) { |
|
| 1513 | + $output .= implode(",", $fill) . "{fill: $color_code;} "; |
|
| 1514 | 1514 | } |
| 1515 | - if(!empty($fill_i)){ |
|
| 1516 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1515 | + if (!empty($fill_i)) { |
|
| 1516 | + $output .= implode(",", $fill_i) . "{fill: $color_code !important;} "; |
|
| 1517 | 1517 | } |
| 1518 | 1518 | |
| 1519 | 1519 | } |
@@ -1523,25 +1523,25 @@ discard block |
||
| 1523 | 1523 | |
| 1524 | 1524 | $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;' : ''; |
| 1525 | 1525 | // darken |
| 1526 | - $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1527 | - $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1528 | - $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1529 | - $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4"); |
|
| 1526 | + $darker_075 = $is_var ? $color_code . ';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code, "-0.075"); |
|
| 1527 | + $darker_10 = $is_var ? $color_code . ';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code, "-0.10"); |
|
| 1528 | + $darker_125 = $is_var ? $color_code . ';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code, "-0.125"); |
|
| 1529 | + $darker_40 = $is_var ? $color_code . ';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code, "-0.4"); |
|
| 1530 | 1530 | |
| 1531 | 1531 | // lighten |
| 1532 | - $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1532 | + $lighten_25 = $is_var ? $color_code . ';filter:brightness(1.25)' : self::css_hex_lighten_darken($color_code, "0.25"); |
|
| 1533 | 1533 | |
| 1534 | 1534 | // opacity see https://css-tricks.com/8-digit-hex-codes/ |
| 1535 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 1535 | + $op_25 = $color_code . "40"; // 25% opacity |
|
| 1536 | 1536 | |
| 1537 | 1537 | |
| 1538 | 1538 | // button states |
| 1539 | - $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : ''; |
|
| 1540 | - $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1539 | + $output .= $is_var ? $prefix . " .btn-{$type}{{$transition }} " : ''; |
|
| 1540 | + $output .= $prefix . " .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: " . $darker_075 . "; border-color: " . $darker_10 . ";} "; |
|
| 1541 | 1541 | // $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000; border-color: #000;} "; |
| 1542 | - $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;} "; |
|
| 1543 | - $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.";} "; |
|
| 1544 | - $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;} "; |
|
| 1542 | + $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;} "; |
|
| 1543 | + $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 . ";} "; |
|
| 1544 | + $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;} "; |
|
| 1545 | 1545 | |
| 1546 | 1546 | // text |
| 1547 | 1547 | // $output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} "; |
@@ -1559,9 +1559,9 @@ discard block |
||
| 1559 | 1559 | // } |
| 1560 | 1560 | |
| 1561 | 1561 | // alerts |
| 1562 | - if ( $aui_bs5 ) { |
|
| 1562 | + if ($aui_bs5) { |
|
| 1563 | 1563 | // $output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20; border-color: ".$color_code."30;color:$darker_40} "; |
| 1564 | - $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;} "; |
|
| 1564 | + $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;} "; |
|
| 1565 | 1565 | } |
| 1566 | 1566 | |
| 1567 | 1567 | return $output; |
@@ -1576,12 +1576,12 @@ discard block |
||
| 1576 | 1576 | * |
| 1577 | 1577 | * @return string |
| 1578 | 1578 | */ |
| 1579 | - public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){ |
|
| 1579 | + public static function css_overwrite($type, $color_code, $compatibility, $hex = '') { |
|
| 1580 | 1580 | global $aui_bs5; |
| 1581 | 1581 | |
| 1582 | 1582 | $is_var = false; |
| 1583 | - if(!$color_code){return '';} |
|
| 1584 | - if(strpos($color_code, 'var') !== false){ |
|
| 1583 | + if (!$color_code) {return ''; } |
|
| 1584 | + if (strpos($color_code, 'var') !== false) { |
|
| 1585 | 1585 | //if(!sanitize_hex_color($color_code)){ |
| 1586 | 1586 | $color_code = esc_attr($color_code); |
| 1587 | 1587 | $is_var = true; |
@@ -1591,15 +1591,15 @@ discard block |
||
| 1591 | 1591 | |
| 1592 | 1592 | // echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit; |
| 1593 | 1593 | |
| 1594 | - if(!$color_code){return '';} |
|
| 1594 | + if (!$color_code) {return ''; } |
|
| 1595 | 1595 | |
| 1596 | 1596 | $rgb = self::hex_to_rgb($hex); |
| 1597 | 1597 | |
| 1598 | - if($compatibility===true || $compatibility===1){ |
|
| 1598 | + if ($compatibility === true || $compatibility === 1) { |
|
| 1599 | 1599 | $compatibility = '.bsui'; |
| 1600 | - }elseif(!$compatibility){ |
|
| 1600 | + }elseif (!$compatibility) { |
|
| 1601 | 1601 | $compatibility = ''; |
| 1602 | - }else{ |
|
| 1602 | + } else { |
|
| 1603 | 1603 | $compatibility = esc_attr($compatibility); |
| 1604 | 1604 | } |
| 1605 | 1605 | |
@@ -1613,29 +1613,29 @@ discard block |
||
| 1613 | 1613 | * c = color, b = background color, o = border-color, f = fill |
| 1614 | 1614 | */ |
| 1615 | 1615 | $selectors = array( |
| 1616 | - ".btn-{$type}" => array( 'b', 'o' ), |
|
| 1617 | - ".btn-{$type}.disabled" => array( 'b', 'o' ), |
|
| 1618 | - ".btn-{$type}:disabled" => array( 'b', 'o' ), |
|
| 1619 | - ".btn-outline-{$type}" => array( 'c', 'o' ), |
|
| 1620 | - ".btn-outline-{$type}:hover" => array( 'b', 'o' ), |
|
| 1621 | - ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ), |
|
| 1622 | - ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ), |
|
| 1623 | - ".show>.btn-outline-{$type}.dropdown-toggle" => array( 'b', 'o' ), |
|
| 1624 | - ".badge-{$type}" => array( 'b' ), |
|
| 1625 | - ".alert-{$type}" => array( 'b', 'o' ), |
|
| 1626 | - ".bg-{$type}" => array( 'b', 'f' ), |
|
| 1627 | - ".btn-link.btn-{$type}" => array( 'c' ), |
|
| 1616 | + ".btn-{$type}" => array('b', 'o'), |
|
| 1617 | + ".btn-{$type}.disabled" => array('b', 'o'), |
|
| 1618 | + ".btn-{$type}:disabled" => array('b', 'o'), |
|
| 1619 | + ".btn-outline-{$type}" => array('c', 'o'), |
|
| 1620 | + ".btn-outline-{$type}:hover" => array('b', 'o'), |
|
| 1621 | + ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array('b', 'o'), |
|
| 1622 | + ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array('b', 'o'), |
|
| 1623 | + ".show>.btn-outline-{$type}.dropdown-toggle" => array('b', 'o'), |
|
| 1624 | + ".badge-{$type}" => array('b'), |
|
| 1625 | + ".alert-{$type}" => array('b', 'o'), |
|
| 1626 | + ".bg-{$type}" => array('b', 'f'), |
|
| 1627 | + ".btn-link.btn-{$type}" => array('c'), |
|
| 1628 | 1628 | ); |
| 1629 | 1629 | |
| 1630 | - if ( $aui_bs5 ) { |
|
| 1631 | - unset($selectors[".alert-{$type}" ]); |
|
| 1630 | + if ($aui_bs5) { |
|
| 1631 | + unset($selectors[".alert-{$type}"]); |
|
| 1632 | 1632 | } |
| 1633 | 1633 | |
| 1634 | - if ( $type == 'primary' ) { |
|
| 1634 | + if ($type == 'primary') { |
|
| 1635 | 1635 | $selectors = $selectors + array( |
| 1636 | - 'a' => array( 'c' ), |
|
| 1637 | - '.btn-link' => array( 'c' ), |
|
| 1638 | - '.dropdown-item.active' => array( 'b' ), |
|
| 1636 | + 'a' => array('c'), |
|
| 1637 | + '.btn-link' => array('c'), |
|
| 1638 | + '.dropdown-item.active' => array('b'), |
|
| 1639 | 1639 | '.custom-control-input:checked~.custom-control-label::before' => array( |
| 1640 | 1640 | 'b', |
| 1641 | 1641 | 'o' |
@@ -1644,19 +1644,19 @@ discard block |
||
| 1644 | 1644 | 'b', |
| 1645 | 1645 | 'o' |
| 1646 | 1646 | ), |
| 1647 | - '.nav-pills .nav-link.active' => array( 'b' ), |
|
| 1648 | - '.nav-pills .show>.nav-link' => array( 'b' ), |
|
| 1649 | - '.page-link' => array( 'c' ), |
|
| 1647 | + '.nav-pills .nav-link.active' => array('b'), |
|
| 1648 | + '.nav-pills .show>.nav-link' => array('b'), |
|
| 1649 | + '.page-link' => array('c'), |
|
| 1650 | 1650 | '.page-item.active .page-link' => array( |
| 1651 | 1651 | 'b', |
| 1652 | 1652 | 'o' |
| 1653 | 1653 | ), |
| 1654 | - '.progress-bar' => array( 'b' ), |
|
| 1654 | + '.progress-bar' => array('b'), |
|
| 1655 | 1655 | '.list-group-item.active' => array( |
| 1656 | 1656 | 'b', |
| 1657 | 1657 | 'o' |
| 1658 | 1658 | ), |
| 1659 | - '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ), |
|
| 1659 | + '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'), |
|
| 1660 | 1660 | // '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules... |
| 1661 | 1661 | // '.custom-range::-moz-range-thumb' => array('b'), |
| 1662 | 1662 | // '.custom-range::-ms-thumb' => array('b'), |
@@ -1664,7 +1664,7 @@ discard block |
||
| 1664 | 1664 | } |
| 1665 | 1665 | |
| 1666 | 1666 | $important_selectors = array( |
| 1667 | - ".bg-{$type}" => array('b','f'), |
|
| 1667 | + ".bg-{$type}" => array('b', 'f'), |
|
| 1668 | 1668 | ".border-{$type}" => array('o'), |
| 1669 | 1669 | ".text-{$type}" => array('c'), |
| 1670 | 1670 | ); |
@@ -1680,62 +1680,62 @@ discard block |
||
| 1680 | 1680 | |
| 1681 | 1681 | $output = ''; |
| 1682 | 1682 | |
| 1683 | - if ( $aui_bs5 ) { |
|
| 1683 | + if ($aui_bs5) { |
|
| 1684 | 1684 | // $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).'; }'; |
| 1685 | - $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }'; |
|
| 1685 | + $output .= 'html body {--bs-' . esc_attr($type) . '-rgb: ' . $rgb . '; }'; |
|
| 1686 | 1686 | } |
| 1687 | 1687 | |
| 1688 | 1688 | // build rules into each type |
| 1689 | - foreach($selectors as $selector => $types){ |
|
| 1690 | - $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1691 | - $types = array_combine($types,$types); |
|
| 1692 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1693 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1694 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1695 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1689 | + foreach ($selectors as $selector => $types) { |
|
| 1690 | + $selector = $compatibility ? $compatibility . " " . $selector : $selector; |
|
| 1691 | + $types = array_combine($types, $types); |
|
| 1692 | + if (isset($types['c'])) {$color[] = $selector; } |
|
| 1693 | + if (isset($types['b'])) {$background[] = $selector; } |
|
| 1694 | + if (isset($types['o'])) {$border[] = $selector; } |
|
| 1695 | + if (isset($types['f'])) {$fill[] = $selector; } |
|
| 1696 | 1696 | } |
| 1697 | 1697 | |
| 1698 | 1698 | // build rules into each type |
| 1699 | - foreach($important_selectors as $selector => $types){ |
|
| 1700 | - $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1701 | - $types = array_combine($types,$types); |
|
| 1702 | - if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1703 | - if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1704 | - if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1705 | - if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1699 | + foreach ($important_selectors as $selector => $types) { |
|
| 1700 | + $selector = $compatibility ? $compatibility . " " . $selector : $selector; |
|
| 1701 | + $types = array_combine($types, $types); |
|
| 1702 | + if (isset($types['c'])) {$color_i[] = $selector; } |
|
| 1703 | + if (isset($types['b'])) {$background_i[] = $selector; } |
|
| 1704 | + if (isset($types['o'])) {$border_i[] = $selector; } |
|
| 1705 | + if (isset($types['f'])) {$fill_i[] = $selector; } |
|
| 1706 | 1706 | } |
| 1707 | 1707 | |
| 1708 | 1708 | // add any color rules |
| 1709 | - if(!empty($color)){ |
|
| 1710 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1709 | + if (!empty($color)) { |
|
| 1710 | + $output .= implode(",", $color) . "{color: $color_code;} "; |
|
| 1711 | 1711 | } |
| 1712 | - if(!empty($color_i)){ |
|
| 1713 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1712 | + if (!empty($color_i)) { |
|
| 1713 | + $output .= implode(",", $color_i) . "{color: $color_code !important;} "; |
|
| 1714 | 1714 | } |
| 1715 | 1715 | |
| 1716 | 1716 | // add any background color rules |
| 1717 | - if(!empty($background)){ |
|
| 1718 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1717 | + if (!empty($background)) { |
|
| 1718 | + $output .= implode(",", $background) . "{background-color: $color_code;} "; |
|
| 1719 | 1719 | } |
| 1720 | - if(!empty($background_i)){ |
|
| 1721 | - $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1720 | + if (!empty($background_i)) { |
|
| 1721 | + $output .= $aui_bs5 ? '' : implode(",", $background_i) . "{background-color: $color_code !important;} "; |
|
| 1722 | 1722 | // $output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} "; |
| 1723 | 1723 | } |
| 1724 | 1724 | |
| 1725 | 1725 | // add any border color rules |
| 1726 | - if(!empty($border)){ |
|
| 1727 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1726 | + if (!empty($border)) { |
|
| 1727 | + $output .= implode(",", $border) . "{border-color: $color_code;} "; |
|
| 1728 | 1728 | } |
| 1729 | - if(!empty($border_i)){ |
|
| 1730 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1729 | + if (!empty($border_i)) { |
|
| 1730 | + $output .= implode(",", $border_i) . "{border-color: $color_code !important;} "; |
|
| 1731 | 1731 | } |
| 1732 | 1732 | |
| 1733 | 1733 | // add any fill color rules |
| 1734 | - if(!empty($fill)){ |
|
| 1735 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1734 | + if (!empty($fill)) { |
|
| 1735 | + $output .= implode(",", $fill) . "{fill: $color_code;} "; |
|
| 1736 | 1736 | } |
| 1737 | - if(!empty($fill_i)){ |
|
| 1738 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1737 | + if (!empty($fill_i)) { |
|
| 1738 | + $output .= implode(",", $fill_i) . "{fill: $color_code !important;} "; |
|
| 1739 | 1739 | } |
| 1740 | 1740 | |
| 1741 | 1741 | |
@@ -1743,27 +1743,27 @@ discard block |
||
| 1743 | 1743 | |
| 1744 | 1744 | $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;' : ''; |
| 1745 | 1745 | // darken |
| 1746 | - $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1747 | - $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1748 | - $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1749 | - $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4"); |
|
| 1746 | + $darker_075 = $is_var ? $color_code . ';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code, "-0.075"); |
|
| 1747 | + $darker_10 = $is_var ? $color_code . ';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code, "-0.10"); |
|
| 1748 | + $darker_125 = $is_var ? $color_code . ';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code, "-0.125"); |
|
| 1749 | + $darker_40 = $is_var ? $color_code . ';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code, "-0.4"); |
|
| 1750 | 1750 | |
| 1751 | 1751 | // lighten |
| 1752 | - $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1752 | + $lighten_25 = $is_var ? $color_code . ';filter:brightness(1.25)' : self::css_hex_lighten_darken($color_code, "0.25"); |
|
| 1753 | 1753 | |
| 1754 | 1754 | // opacity see https://css-tricks.com/8-digit-hex-codes/ |
| 1755 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 1755 | + $op_25 = $color_code . "40"; // 25% opacity |
|
| 1756 | 1756 | |
| 1757 | 1757 | |
| 1758 | 1758 | // button states |
| 1759 | - $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : ''; |
|
| 1760 | - $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1759 | + $output .= $is_var ? $prefix . " .btn-{$type}{{$transition }} " : ''; |
|
| 1760 | + $output .= $prefix . " .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: " . $darker_075 . "; border-color: " . $darker_10 . ";} "; |
|
| 1761 | 1761 | // $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000; border-color: #000;} "; |
| 1762 | - $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;} "; |
|
| 1763 | - $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.";} "; |
|
| 1764 | - $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;} "; |
|
| 1762 | + $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;} "; |
|
| 1763 | + $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 . ";} "; |
|
| 1764 | + $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;} "; |
|
| 1765 | 1765 | |
| 1766 | - if ( $type == 'primary' ) { |
|
| 1766 | + if ($type == 'primary') { |
|
| 1767 | 1767 | // dropdown's |
| 1768 | 1768 | $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
| 1769 | 1769 | |
@@ -1775,9 +1775,9 @@ discard block |
||
| 1775 | 1775 | } |
| 1776 | 1776 | |
| 1777 | 1777 | // alerts |
| 1778 | - if ( $aui_bs5 ) { |
|
| 1778 | + if ($aui_bs5) { |
|
| 1779 | 1779 | // $output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20; border-color: ".$color_code."30;color:$darker_40} "; |
| 1780 | - $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;} "; |
|
| 1780 | + $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;} "; |
|
| 1781 | 1781 | } |
| 1782 | 1782 | |
| 1783 | 1783 | return $output; |
@@ -1793,11 +1793,11 @@ discard block |
||
| 1793 | 1793 | * |
| 1794 | 1794 | * @return string |
| 1795 | 1795 | */ |
| 1796 | - public static function css_primary($color_code,$compatibility, $use_variable = false){ |
|
| 1796 | + public static function css_primary($color_code, $compatibility, $use_variable = false) { |
|
| 1797 | 1797 | |
| 1798 | - if(!$use_variable){ |
|
| 1798 | + if (!$use_variable) { |
|
| 1799 | 1799 | $color_code = sanitize_hex_color($color_code); |
| 1800 | - if(!$color_code){return '';} |
|
| 1800 | + if (!$color_code) {return ''; } |
|
| 1801 | 1801 | } |
| 1802 | 1802 | |
| 1803 | 1803 | /** |
@@ -1805,36 +1805,36 @@ discard block |
||
| 1805 | 1805 | */ |
| 1806 | 1806 | $selectors = array( |
| 1807 | 1807 | 'a' => array('c'), |
| 1808 | - '.btn-primary' => array('b','o'), |
|
| 1809 | - '.btn-primary.disabled' => array('b','o'), |
|
| 1810 | - '.btn-primary:disabled' => array('b','o'), |
|
| 1811 | - '.btn-outline-primary' => array('c','o'), |
|
| 1812 | - '.btn-outline-primary:hover' => array('b','o'), |
|
| 1813 | - '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'), |
|
| 1814 | - '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'), |
|
| 1815 | - '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'), |
|
| 1808 | + '.btn-primary' => array('b', 'o'), |
|
| 1809 | + '.btn-primary.disabled' => array('b', 'o'), |
|
| 1810 | + '.btn-primary:disabled' => array('b', 'o'), |
|
| 1811 | + '.btn-outline-primary' => array('c', 'o'), |
|
| 1812 | + '.btn-outline-primary:hover' => array('b', 'o'), |
|
| 1813 | + '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b', 'o'), |
|
| 1814 | + '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b', 'o'), |
|
| 1815 | + '.show>.btn-outline-primary.dropdown-toggle' => array('b', 'o'), |
|
| 1816 | 1816 | '.btn-link' => array('c'), |
| 1817 | 1817 | '.dropdown-item.active' => array('b'), |
| 1818 | - '.custom-control-input:checked~.custom-control-label::before' => array('b','o'), |
|
| 1819 | - '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'), |
|
| 1818 | + '.custom-control-input:checked~.custom-control-label::before' => array('b', 'o'), |
|
| 1819 | + '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b', 'o'), |
|
| 1820 | 1820 | // '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules... |
| 1821 | 1821 | // '.custom-range::-moz-range-thumb' => array('b'), |
| 1822 | 1822 | // '.custom-range::-ms-thumb' => array('b'), |
| 1823 | 1823 | '.nav-pills .nav-link.active' => array('b'), |
| 1824 | 1824 | '.nav-pills .show>.nav-link' => array('b'), |
| 1825 | 1825 | '.page-link' => array('c'), |
| 1826 | - '.page-item.active .page-link' => array('b','o'), |
|
| 1826 | + '.page-item.active .page-link' => array('b', 'o'), |
|
| 1827 | 1827 | '.badge-primary' => array('b'), |
| 1828 | - '.alert-primary' => array('b','o'), |
|
| 1828 | + '.alert-primary' => array('b', 'o'), |
|
| 1829 | 1829 | '.progress-bar' => array('b'), |
| 1830 | - '.list-group-item.active' => array('b','o'), |
|
| 1831 | - '.bg-primary' => array('b','f'), |
|
| 1830 | + '.list-group-item.active' => array('b', 'o'), |
|
| 1831 | + '.bg-primary' => array('b', 'f'), |
|
| 1832 | 1832 | '.btn-link.btn-primary' => array('c'), |
| 1833 | 1833 | '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'), |
| 1834 | 1834 | ); |
| 1835 | 1835 | |
| 1836 | 1836 | $important_selectors = array( |
| 1837 | - '.bg-primary' => array('b','f'), |
|
| 1837 | + '.bg-primary' => array('b', 'f'), |
|
| 1838 | 1838 | '.border-primary' => array('o'), |
| 1839 | 1839 | '.text-primary' => array('c'), |
| 1840 | 1840 | ); |
@@ -1851,88 +1851,88 @@ discard block |
||
| 1851 | 1851 | $output = ''; |
| 1852 | 1852 | |
| 1853 | 1853 | // build rules into each type |
| 1854 | - foreach($selectors as $selector => $types){ |
|
| 1855 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1856 | - $types = array_combine($types,$types); |
|
| 1857 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1858 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1859 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1860 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1854 | + foreach ($selectors as $selector => $types) { |
|
| 1855 | + $selector = $compatibility ? ".bsui " . $selector : $selector; |
|
| 1856 | + $types = array_combine($types, $types); |
|
| 1857 | + if (isset($types['c'])) {$color[] = $selector; } |
|
| 1858 | + if (isset($types['b'])) {$background[] = $selector; } |
|
| 1859 | + if (isset($types['o'])) {$border[] = $selector; } |
|
| 1860 | + if (isset($types['f'])) {$fill[] = $selector; } |
|
| 1861 | 1861 | } |
| 1862 | 1862 | |
| 1863 | 1863 | // build rules into each type |
| 1864 | - foreach($important_selectors as $selector => $types){ |
|
| 1865 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1866 | - $types = array_combine($types,$types); |
|
| 1867 | - if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1868 | - if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1869 | - if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1870 | - if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1864 | + foreach ($important_selectors as $selector => $types) { |
|
| 1865 | + $selector = $compatibility ? ".bsui " . $selector : $selector; |
|
| 1866 | + $types = array_combine($types, $types); |
|
| 1867 | + if (isset($types['c'])) {$color_i[] = $selector; } |
|
| 1868 | + if (isset($types['b'])) {$background_i[] = $selector; } |
|
| 1869 | + if (isset($types['o'])) {$border_i[] = $selector; } |
|
| 1870 | + if (isset($types['f'])) {$fill_i[] = $selector; } |
|
| 1871 | 1871 | } |
| 1872 | 1872 | |
| 1873 | 1873 | // add any color rules |
| 1874 | - if(!empty($color)){ |
|
| 1875 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1874 | + if (!empty($color)) { |
|
| 1875 | + $output .= implode(",", $color) . "{color: $color_code;} "; |
|
| 1876 | 1876 | } |
| 1877 | - if(!empty($color_i)){ |
|
| 1878 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1877 | + if (!empty($color_i)) { |
|
| 1878 | + $output .= implode(",", $color_i) . "{color: $color_code !important;} "; |
|
| 1879 | 1879 | } |
| 1880 | 1880 | |
| 1881 | 1881 | // add any background color rules |
| 1882 | - if(!empty($background)){ |
|
| 1883 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1882 | + if (!empty($background)) { |
|
| 1883 | + $output .= implode(",", $background) . "{background-color: $color_code;} "; |
|
| 1884 | 1884 | } |
| 1885 | - if(!empty($background_i)){ |
|
| 1886 | - $output .= implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1885 | + if (!empty($background_i)) { |
|
| 1886 | + $output .= implode(",", $background_i) . "{background-color: $color_code !important;} "; |
|
| 1887 | 1887 | } |
| 1888 | 1888 | |
| 1889 | 1889 | // add any border color rules |
| 1890 | - if(!empty($border)){ |
|
| 1891 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1890 | + if (!empty($border)) { |
|
| 1891 | + $output .= implode(",", $border) . "{border-color: $color_code;} "; |
|
| 1892 | 1892 | } |
| 1893 | - if(!empty($border_i)){ |
|
| 1894 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1893 | + if (!empty($border_i)) { |
|
| 1894 | + $output .= implode(",", $border_i) . "{border-color: $color_code !important;} "; |
|
| 1895 | 1895 | } |
| 1896 | 1896 | |
| 1897 | 1897 | // add any fill color rules |
| 1898 | - if(!empty($fill)){ |
|
| 1899 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1898 | + if (!empty($fill)) { |
|
| 1899 | + $output .= implode(",", $fill) . "{fill: $color_code;} "; |
|
| 1900 | 1900 | } |
| 1901 | - if(!empty($fill_i)){ |
|
| 1902 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1901 | + if (!empty($fill_i)) { |
|
| 1902 | + $output .= implode(",", $fill_i) . "{fill: $color_code !important;} "; |
|
| 1903 | 1903 | } |
| 1904 | 1904 | |
| 1905 | 1905 | |
| 1906 | 1906 | $prefix = $compatibility ? ".bsui " : ""; |
| 1907 | 1907 | |
| 1908 | 1908 | // darken |
| 1909 | - $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1910 | - $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1911 | - $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1909 | + $darker_075 = self::css_hex_lighten_darken($color_code, "-0.075"); |
|
| 1910 | + $darker_10 = self::css_hex_lighten_darken($color_code, "-0.10"); |
|
| 1911 | + $darker_125 = self::css_hex_lighten_darken($color_code, "-0.125"); |
|
| 1912 | 1912 | |
| 1913 | 1913 | // lighten |
| 1914 | - $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1914 | + $lighten_25 = self::css_hex_lighten_darken($color_code, "0.25"); |
|
| 1915 | 1915 | |
| 1916 | 1916 | // opacity see https://css-tricks.com/8-digit-hex-codes/ |
| 1917 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 1917 | + $op_25 = $color_code . "40"; // 25% opacity |
|
| 1918 | 1918 | |
| 1919 | 1919 | |
| 1920 | 1920 | // button states |
| 1921 | - $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1922 | - $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;} "; |
|
| 1923 | - $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.";} "; |
|
| 1924 | - $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;} "; |
|
| 1921 | + $output .= $prefix . " .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: " . $darker_075 . "; border-color: " . $darker_10 . ";} "; |
|
| 1922 | + $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;} "; |
|
| 1923 | + $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 . ";} "; |
|
| 1924 | + $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;} "; |
|
| 1925 | 1925 | |
| 1926 | 1926 | |
| 1927 | 1927 | // dropdown's |
| 1928 | - $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 1928 | + $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 1929 | 1929 | |
| 1930 | 1930 | |
| 1931 | 1931 | // input states |
| 1932 | - $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1932 | + $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1933 | 1933 | |
| 1934 | 1934 | // page link |
| 1935 | - $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1935 | + $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1936 | 1936 | |
| 1937 | 1937 | return $output; |
| 1938 | 1938 | } |
@@ -1946,30 +1946,30 @@ discard block |
||
| 1946 | 1946 | * |
| 1947 | 1947 | * @return string |
| 1948 | 1948 | */ |
| 1949 | - public static function css_secondary($color_code,$compatibility){; |
|
| 1949 | + public static function css_secondary($color_code, $compatibility) {; |
|
| 1950 | 1950 | $color_code = sanitize_hex_color($color_code); |
| 1951 | - if(!$color_code){return '';} |
|
| 1951 | + if (!$color_code) {return ''; } |
|
| 1952 | 1952 | /** |
| 1953 | 1953 | * c = color, b = background color, o = border-color, f = fill |
| 1954 | 1954 | */ |
| 1955 | 1955 | $selectors = array( |
| 1956 | - '.btn-secondary' => array('b','o'), |
|
| 1957 | - '.btn-secondary.disabled' => array('b','o'), |
|
| 1958 | - '.btn-secondary:disabled' => array('b','o'), |
|
| 1959 | - '.btn-outline-secondary' => array('c','o'), |
|
| 1960 | - '.btn-outline-secondary:hover' => array('b','o'), |
|
| 1956 | + '.btn-secondary' => array('b', 'o'), |
|
| 1957 | + '.btn-secondary.disabled' => array('b', 'o'), |
|
| 1958 | + '.btn-secondary:disabled' => array('b', 'o'), |
|
| 1959 | + '.btn-outline-secondary' => array('c', 'o'), |
|
| 1960 | + '.btn-outline-secondary:hover' => array('b', 'o'), |
|
| 1961 | 1961 | '.btn-outline-secondary.disabled' => array('c'), |
| 1962 | 1962 | '.btn-outline-secondary:disabled' => array('c'), |
| 1963 | - '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'), |
|
| 1964 | - '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'), |
|
| 1965 | - '.btn-outline-secondary.dropdown-toggle' => array('b','o'), |
|
| 1963 | + '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b', 'o'), |
|
| 1964 | + '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b', 'o'), |
|
| 1965 | + '.btn-outline-secondary.dropdown-toggle' => array('b', 'o'), |
|
| 1966 | 1966 | '.badge-secondary' => array('b'), |
| 1967 | - '.alert-secondary' => array('b','o'), |
|
| 1967 | + '.alert-secondary' => array('b', 'o'), |
|
| 1968 | 1968 | '.btn-link.btn-secondary' => array('c'), |
| 1969 | 1969 | ); |
| 1970 | 1970 | |
| 1971 | 1971 | $important_selectors = array( |
| 1972 | - '.bg-secondary' => array('b','f'), |
|
| 1972 | + '.bg-secondary' => array('b', 'f'), |
|
| 1973 | 1973 | '.border-secondary' => array('o'), |
| 1974 | 1974 | '.text-secondary' => array('c'), |
| 1975 | 1975 | ); |
@@ -1986,77 +1986,77 @@ discard block |
||
| 1986 | 1986 | $output = ''; |
| 1987 | 1987 | |
| 1988 | 1988 | // build rules into each type |
| 1989 | - foreach($selectors as $selector => $types){ |
|
| 1990 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1991 | - $types = array_combine($types,$types); |
|
| 1992 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1993 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1994 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1995 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1989 | + foreach ($selectors as $selector => $types) { |
|
| 1990 | + $selector = $compatibility ? ".bsui " . $selector : $selector; |
|
| 1991 | + $types = array_combine($types, $types); |
|
| 1992 | + if (isset($types['c'])) {$color[] = $selector; } |
|
| 1993 | + if (isset($types['b'])) {$background[] = $selector; } |
|
| 1994 | + if (isset($types['o'])) {$border[] = $selector; } |
|
| 1995 | + if (isset($types['f'])) {$fill[] = $selector; } |
|
| 1996 | 1996 | } |
| 1997 | 1997 | |
| 1998 | 1998 | // build rules into each type |
| 1999 | - foreach($important_selectors as $selector => $types){ |
|
| 2000 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 2001 | - $types = array_combine($types,$types); |
|
| 2002 | - if(isset($types['c'])){$color_i[] = $selector;} |
|
| 2003 | - if(isset($types['b'])){$background_i[] = $selector;} |
|
| 2004 | - if(isset($types['o'])){$border_i[] = $selector;} |
|
| 2005 | - if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1999 | + foreach ($important_selectors as $selector => $types) { |
|
| 2000 | + $selector = $compatibility ? ".bsui " . $selector : $selector; |
|
| 2001 | + $types = array_combine($types, $types); |
|
| 2002 | + if (isset($types['c'])) {$color_i[] = $selector; } |
|
| 2003 | + if (isset($types['b'])) {$background_i[] = $selector; } |
|
| 2004 | + if (isset($types['o'])) {$border_i[] = $selector; } |
|
| 2005 | + if (isset($types['f'])) {$fill_i[] = $selector; } |
|
| 2006 | 2006 | } |
| 2007 | 2007 | |
| 2008 | 2008 | // add any color rules |
| 2009 | - if(!empty($color)){ |
|
| 2010 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 2009 | + if (!empty($color)) { |
|
| 2010 | + $output .= implode(",", $color) . "{color: $color_code;} "; |
|
| 2011 | 2011 | } |
| 2012 | - if(!empty($color_i)){ |
|
| 2013 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 2012 | + if (!empty($color_i)) { |
|
| 2013 | + $output .= implode(",", $color_i) . "{color: $color_code !important;} "; |
|
| 2014 | 2014 | } |
| 2015 | 2015 | |
| 2016 | 2016 | // add any background color rules |
| 2017 | - if(!empty($background)){ |
|
| 2018 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 2017 | + if (!empty($background)) { |
|
| 2018 | + $output .= implode(",", $background) . "{background-color: $color_code;} "; |
|
| 2019 | 2019 | } |
| 2020 | - if(!empty($background_i)){ |
|
| 2021 | - $output .= implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 2020 | + if (!empty($background_i)) { |
|
| 2021 | + $output .= implode(",", $background_i) . "{background-color: $color_code !important;} "; |
|
| 2022 | 2022 | } |
| 2023 | 2023 | |
| 2024 | 2024 | // add any border color rules |
| 2025 | - if(!empty($border)){ |
|
| 2026 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 2025 | + if (!empty($border)) { |
|
| 2026 | + $output .= implode(",", $border) . "{border-color: $color_code;} "; |
|
| 2027 | 2027 | } |
| 2028 | - if(!empty($border_i)){ |
|
| 2029 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 2028 | + if (!empty($border_i)) { |
|
| 2029 | + $output .= implode(",", $border_i) . "{border-color: $color_code !important;} "; |
|
| 2030 | 2030 | } |
| 2031 | 2031 | |
| 2032 | 2032 | // add any fill color rules |
| 2033 | - if(!empty($fill)){ |
|
| 2034 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 2033 | + if (!empty($fill)) { |
|
| 2034 | + $output .= implode(",", $fill) . "{fill: $color_code;} "; |
|
| 2035 | 2035 | } |
| 2036 | - if(!empty($fill_i)){ |
|
| 2037 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 2036 | + if (!empty($fill_i)) { |
|
| 2037 | + $output .= implode(",", $fill_i) . "{fill: $color_code !important;} "; |
|
| 2038 | 2038 | } |
| 2039 | 2039 | |
| 2040 | 2040 | |
| 2041 | 2041 | $prefix = $compatibility ? ".bsui " : ""; |
| 2042 | 2042 | |
| 2043 | 2043 | // darken |
| 2044 | - $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 2045 | - $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 2046 | - $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 2044 | + $darker_075 = self::css_hex_lighten_darken($color_code, "-0.075"); |
|
| 2045 | + $darker_10 = self::css_hex_lighten_darken($color_code, "-0.10"); |
|
| 2046 | + $darker_125 = self::css_hex_lighten_darken($color_code, "-0.125"); |
|
| 2047 | 2047 | |
| 2048 | 2048 | // lighten |
| 2049 | - $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 2049 | + $lighten_25 = self::css_hex_lighten_darken($color_code, "0.25"); |
|
| 2050 | 2050 | |
| 2051 | 2051 | // opacity see https://css-tricks.com/8-digit-hex-codes/ |
| 2052 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 2052 | + $op_25 = $color_code . "40"; // 25% opacity |
|
| 2053 | 2053 | |
| 2054 | 2054 | |
| 2055 | 2055 | // button states |
| 2056 | - $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 2057 | - $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;} "; |
|
| 2058 | - $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.";} "; |
|
| 2059 | - $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;} "; |
|
| 2056 | + $output .= $prefix . " .btn-secondary:hover{background-color: " . $darker_075 . "; border-color: " . $darker_10 . ";} "; |
|
| 2057 | + $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;} "; |
|
| 2058 | + $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 . ";} "; |
|
| 2059 | + $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;} "; |
|
| 2060 | 2060 | |
| 2061 | 2061 | |
| 2062 | 2062 | return $output; |
@@ -2092,8 +2092,8 @@ discard block |
||
| 2092 | 2092 | /** |
| 2093 | 2093 | * Check if we should display examples. |
| 2094 | 2094 | */ |
| 2095 | - public function maybe_show_examples(){ |
|
| 2096 | - if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){ |
|
| 2095 | + public function maybe_show_examples() { |
|
| 2096 | + if (current_user_can('manage_options') && isset($_REQUEST['preview-aui'])) { |
|
| 2097 | 2097 | echo "<head>"; |
| 2098 | 2098 | wp_head(); |
| 2099 | 2099 | echo "</head>"; |
@@ -2109,7 +2109,7 @@ discard block |
||
| 2109 | 2109 | * |
| 2110 | 2110 | * @return string |
| 2111 | 2111 | */ |
| 2112 | - public function get_examples(){ |
|
| 2112 | + public function get_examples() { |
|
| 2113 | 2113 | $output = ''; |
| 2114 | 2114 | |
| 2115 | 2115 | |
@@ -2215,74 +2215,74 @@ discard block |
||
| 2215 | 2215 | */ |
| 2216 | 2216 | public static function calendar_params() { |
| 2217 | 2217 | $params = array( |
| 2218 | - 'month_long_1' => __( 'January', 'ayecode-connect' ), |
|
| 2219 | - 'month_long_2' => __( 'February', 'ayecode-connect' ), |
|
| 2220 | - 'month_long_3' => __( 'March', 'ayecode-connect' ), |
|
| 2221 | - 'month_long_4' => __( 'April', 'ayecode-connect' ), |
|
| 2222 | - 'month_long_5' => __( 'May', 'ayecode-connect' ), |
|
| 2223 | - 'month_long_6' => __( 'June', 'ayecode-connect' ), |
|
| 2224 | - 'month_long_7' => __( 'July', 'ayecode-connect' ), |
|
| 2225 | - 'month_long_8' => __( 'August', 'ayecode-connect' ), |
|
| 2226 | - 'month_long_9' => __( 'September', 'ayecode-connect' ), |
|
| 2227 | - 'month_long_10' => __( 'October', 'ayecode-connect' ), |
|
| 2228 | - 'month_long_11' => __( 'November', 'ayecode-connect' ), |
|
| 2229 | - 'month_long_12' => __( 'December', 'ayecode-connect' ), |
|
| 2230 | - 'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ), |
|
| 2231 | - 'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ), |
|
| 2232 | - 'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ), |
|
| 2233 | - 'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ), |
|
| 2234 | - 'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ), |
|
| 2235 | - 'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ), |
|
| 2236 | - 'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ), |
|
| 2237 | - 'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ), |
|
| 2238 | - 'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ), |
|
| 2239 | - 'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ), |
|
| 2240 | - 'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ), |
|
| 2241 | - 'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ), |
|
| 2242 | - 'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ), |
|
| 2243 | - 'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ), |
|
| 2244 | - 'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ), |
|
| 2245 | - 'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ), |
|
| 2246 | - 'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ), |
|
| 2247 | - 'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ), |
|
| 2248 | - 'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ), |
|
| 2249 | - 'day_s2_1' => __( 'Su', 'ayecode-connect' ), |
|
| 2250 | - 'day_s2_2' => __( 'Mo', 'ayecode-connect' ), |
|
| 2251 | - 'day_s2_3' => __( 'Tu', 'ayecode-connect' ), |
|
| 2252 | - 'day_s2_4' => __( 'We', 'ayecode-connect' ), |
|
| 2253 | - 'day_s2_5' => __( 'Th', 'ayecode-connect' ), |
|
| 2254 | - 'day_s2_6' => __( 'Fr', 'ayecode-connect' ), |
|
| 2255 | - 'day_s2_7' => __( 'Sa', 'ayecode-connect' ), |
|
| 2256 | - 'day_s3_1' => __( 'Sun', 'ayecode-connect' ), |
|
| 2257 | - 'day_s3_2' => __( 'Mon', 'ayecode-connect' ), |
|
| 2258 | - 'day_s3_3' => __( 'Tue', 'ayecode-connect' ), |
|
| 2259 | - 'day_s3_4' => __( 'Wed', 'ayecode-connect' ), |
|
| 2260 | - 'day_s3_5' => __( 'Thu', 'ayecode-connect' ), |
|
| 2261 | - 'day_s3_6' => __( 'Fri', 'ayecode-connect' ), |
|
| 2262 | - 'day_s3_7' => __( 'Sat', 'ayecode-connect' ), |
|
| 2263 | - 'day_s5_1' => __( 'Sunday', 'ayecode-connect' ), |
|
| 2264 | - 'day_s5_2' => __( 'Monday', 'ayecode-connect' ), |
|
| 2265 | - 'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ), |
|
| 2266 | - 'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ), |
|
| 2267 | - 'day_s5_5' => __( 'Thursday', 'ayecode-connect' ), |
|
| 2268 | - 'day_s5_6' => __( 'Friday', 'ayecode-connect' ), |
|
| 2269 | - 'day_s5_7' => __( 'Saturday', 'ayecode-connect' ), |
|
| 2270 | - 'am_lower' => __( 'am', 'ayecode-connect' ), |
|
| 2271 | - 'pm_lower' => __( 'pm', 'ayecode-connect' ), |
|
| 2272 | - 'am_upper' => __( 'AM', 'ayecode-connect' ), |
|
| 2273 | - 'pm_upper' => __( 'PM', 'ayecode-connect' ), |
|
| 2274 | - 'firstDayOfWeek' => (int) get_option( 'start_of_week' ), |
|
| 2218 | + 'month_long_1' => __('January', 'ayecode-connect'), |
|
| 2219 | + 'month_long_2' => __('February', 'ayecode-connect'), |
|
| 2220 | + 'month_long_3' => __('March', 'ayecode-connect'), |
|
| 2221 | + 'month_long_4' => __('April', 'ayecode-connect'), |
|
| 2222 | + 'month_long_5' => __('May', 'ayecode-connect'), |
|
| 2223 | + 'month_long_6' => __('June', 'ayecode-connect'), |
|
| 2224 | + 'month_long_7' => __('July', 'ayecode-connect'), |
|
| 2225 | + 'month_long_8' => __('August', 'ayecode-connect'), |
|
| 2226 | + 'month_long_9' => __('September', 'ayecode-connect'), |
|
| 2227 | + 'month_long_10' => __('October', 'ayecode-connect'), |
|
| 2228 | + 'month_long_11' => __('November', 'ayecode-connect'), |
|
| 2229 | + 'month_long_12' => __('December', 'ayecode-connect'), |
|
| 2230 | + 'month_s_1' => _x('Jan', 'January abbreviation', 'ayecode-connect'), |
|
| 2231 | + 'month_s_2' => _x('Feb', 'February abbreviation', 'ayecode-connect'), |
|
| 2232 | + 'month_s_3' => _x('Mar', 'March abbreviation', 'ayecode-connect'), |
|
| 2233 | + 'month_s_4' => _x('Apr', 'April abbreviation', 'ayecode-connect'), |
|
| 2234 | + 'month_s_5' => _x('May', 'May abbreviation', 'ayecode-connect'), |
|
| 2235 | + 'month_s_6' => _x('Jun', 'June abbreviation', 'ayecode-connect'), |
|
| 2236 | + 'month_s_7' => _x('Jul', 'July abbreviation', 'ayecode-connect'), |
|
| 2237 | + 'month_s_8' => _x('Aug', 'August abbreviation', 'ayecode-connect'), |
|
| 2238 | + 'month_s_9' => _x('Sep', 'September abbreviation', 'ayecode-connect'), |
|
| 2239 | + 'month_s_10' => _x('Oct', 'October abbreviation', 'ayecode-connect'), |
|
| 2240 | + 'month_s_11' => _x('Nov', 'November abbreviation', 'ayecode-connect'), |
|
| 2241 | + 'month_s_12' => _x('Dec', 'December abbreviation', 'ayecode-connect'), |
|
| 2242 | + 'day_s1_1' => _x('S', 'Sunday initial', 'ayecode-connect'), |
|
| 2243 | + 'day_s1_2' => _x('M', 'Monday initial', 'ayecode-connect'), |
|
| 2244 | + 'day_s1_3' => _x('T', 'Tuesday initial', 'ayecode-connect'), |
|
| 2245 | + 'day_s1_4' => _x('W', 'Wednesday initial', 'ayecode-connect'), |
|
| 2246 | + 'day_s1_5' => _x('T', 'Friday initial', 'ayecode-connect'), |
|
| 2247 | + 'day_s1_6' => _x('F', 'Thursday initial', 'ayecode-connect'), |
|
| 2248 | + 'day_s1_7' => _x('S', 'Saturday initial', 'ayecode-connect'), |
|
| 2249 | + 'day_s2_1' => __('Su', 'ayecode-connect'), |
|
| 2250 | + 'day_s2_2' => __('Mo', 'ayecode-connect'), |
|
| 2251 | + 'day_s2_3' => __('Tu', 'ayecode-connect'), |
|
| 2252 | + 'day_s2_4' => __('We', 'ayecode-connect'), |
|
| 2253 | + 'day_s2_5' => __('Th', 'ayecode-connect'), |
|
| 2254 | + 'day_s2_6' => __('Fr', 'ayecode-connect'), |
|
| 2255 | + 'day_s2_7' => __('Sa', 'ayecode-connect'), |
|
| 2256 | + 'day_s3_1' => __('Sun', 'ayecode-connect'), |
|
| 2257 | + 'day_s3_2' => __('Mon', 'ayecode-connect'), |
|
| 2258 | + 'day_s3_3' => __('Tue', 'ayecode-connect'), |
|
| 2259 | + 'day_s3_4' => __('Wed', 'ayecode-connect'), |
|
| 2260 | + 'day_s3_5' => __('Thu', 'ayecode-connect'), |
|
| 2261 | + 'day_s3_6' => __('Fri', 'ayecode-connect'), |
|
| 2262 | + 'day_s3_7' => __('Sat', 'ayecode-connect'), |
|
| 2263 | + 'day_s5_1' => __('Sunday', 'ayecode-connect'), |
|
| 2264 | + 'day_s5_2' => __('Monday', 'ayecode-connect'), |
|
| 2265 | + 'day_s5_3' => __('Tuesday', 'ayecode-connect'), |
|
| 2266 | + 'day_s5_4' => __('Wednesday', 'ayecode-connect'), |
|
| 2267 | + 'day_s5_5' => __('Thursday', 'ayecode-connect'), |
|
| 2268 | + 'day_s5_6' => __('Friday', 'ayecode-connect'), |
|
| 2269 | + 'day_s5_7' => __('Saturday', 'ayecode-connect'), |
|
| 2270 | + 'am_lower' => __('am', 'ayecode-connect'), |
|
| 2271 | + 'pm_lower' => __('pm', 'ayecode-connect'), |
|
| 2272 | + 'am_upper' => __('AM', 'ayecode-connect'), |
|
| 2273 | + 'pm_upper' => __('PM', 'ayecode-connect'), |
|
| 2274 | + 'firstDayOfWeek' => (int) get_option('start_of_week'), |
|
| 2275 | 2275 | 'time_24hr' => false, |
| 2276 | - 'year' => __( 'Year', 'ayecode-connect' ), |
|
| 2277 | - 'hour' => __( 'Hour', 'ayecode-connect' ), |
|
| 2278 | - 'minute' => __( 'Minute', 'ayecode-connect' ), |
|
| 2279 | - 'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ), |
|
| 2280 | - 'rangeSeparator' => __( ' to ', 'ayecode-connect' ), |
|
| 2281 | - 'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ), |
|
| 2282 | - 'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' ) |
|
| 2276 | + 'year' => __('Year', 'ayecode-connect'), |
|
| 2277 | + 'hour' => __('Hour', 'ayecode-connect'), |
|
| 2278 | + 'minute' => __('Minute', 'ayecode-connect'), |
|
| 2279 | + 'weekAbbreviation' => __('Wk', 'ayecode-connect'), |
|
| 2280 | + 'rangeSeparator' => __(' to ', 'ayecode-connect'), |
|
| 2281 | + 'scrollTitle' => __('Scroll to increment', 'ayecode-connect'), |
|
| 2282 | + 'toggleTitle' => __('Click to toggle', 'ayecode-connect') |
|
| 2283 | 2283 | ); |
| 2284 | 2284 | |
| 2285 | - return apply_filters( 'ayecode_ui_calendar_params', $params ); |
|
| 2285 | + return apply_filters('ayecode_ui_calendar_params', $params); |
|
| 2286 | 2286 | } |
| 2287 | 2287 | |
| 2288 | 2288 | /** |
@@ -2295,47 +2295,47 @@ discard block |
||
| 2295 | 2295 | public static function flatpickr_locale() { |
| 2296 | 2296 | $params = self::calendar_params(); |
| 2297 | 2297 | |
| 2298 | - if ( is_string( $params ) ) { |
|
| 2299 | - $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' ); |
|
| 2298 | + if (is_string($params)) { |
|
| 2299 | + $params = html_entity_decode($params, ENT_QUOTES, 'UTF-8'); |
|
| 2300 | 2300 | } else { |
| 2301 | - foreach ( (array) $params as $key => $value ) { |
|
| 2302 | - if ( ! is_scalar( $value ) ) { |
|
| 2301 | + foreach ((array) $params as $key => $value) { |
|
| 2302 | + if (!is_scalar($value)) { |
|
| 2303 | 2303 | continue; |
| 2304 | 2304 | } |
| 2305 | 2305 | |
| 2306 | - $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2306 | + $params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8'); |
|
| 2307 | 2307 | } |
| 2308 | 2308 | } |
| 2309 | 2309 | |
| 2310 | 2310 | $day_s3 = array(); |
| 2311 | 2311 | $day_s5 = array(); |
| 2312 | 2312 | |
| 2313 | - for ( $i = 1; $i <= 7; $i ++ ) { |
|
| 2314 | - $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); |
|
| 2315 | - $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); |
|
| 2313 | + for ($i = 1; $i <= 7; $i++) { |
|
| 2314 | + $day_s3[] = addslashes($params['day_s3_' . $i]); |
|
| 2315 | + $day_s5[] = addslashes($params['day_s3_' . $i]); |
|
| 2316 | 2316 | } |
| 2317 | 2317 | |
| 2318 | 2318 | $month_s = array(); |
| 2319 | 2319 | $month_long = array(); |
| 2320 | 2320 | |
| 2321 | - for ( $i = 1; $i <= 12; $i ++ ) { |
|
| 2322 | - $month_s[] = addslashes( $params[ 'month_s_' . $i ] ); |
|
| 2323 | - $month_long[] = addslashes( $params[ 'month_long_' . $i ] ); |
|
| 2321 | + for ($i = 1; $i <= 12; $i++) { |
|
| 2322 | + $month_s[] = addslashes($params['month_s_' . $i]); |
|
| 2323 | + $month_long[] = addslashes($params['month_long_' . $i]); |
|
| 2324 | 2324 | } |
| 2325 | 2325 | |
| 2326 | 2326 | ob_start(); |
| 2327 | - if ( 0 ) { ?><script><?php } ?> |
|
| 2327 | + if (0) { ?><script><?php } ?> |
|
| 2328 | 2328 | { |
| 2329 | 2329 | weekdays: { |
| 2330 | - shorthand: ['<?php echo implode( "','", $day_s3 ); ?>'], |
|
| 2331 | - longhand: ['<?php echo implode( "','", $day_s5 ); ?>'], |
|
| 2330 | + shorthand: ['<?php echo implode("','", $day_s3); ?>'], |
|
| 2331 | + longhand: ['<?php echo implode("','", $day_s5); ?>'], |
|
| 2332 | 2332 | }, |
| 2333 | 2333 | months: { |
| 2334 | - shorthand: ['<?php echo implode( "','", $month_s ); ?>'], |
|
| 2335 | - longhand: ['<?php echo implode( "','", $month_long ); ?>'], |
|
| 2334 | + shorthand: ['<?php echo implode("','", $month_s); ?>'], |
|
| 2335 | + longhand: ['<?php echo implode("','", $month_long); ?>'], |
|
| 2336 | 2336 | }, |
| 2337 | 2337 | daysInMonth: [31,28,31,30,31,30,31,31,30,31,30,31], |
| 2338 | - firstDayOfWeek: <?php echo (int) $params[ 'firstDayOfWeek' ]; ?>, |
|
| 2338 | + firstDayOfWeek: <?php echo (int) $params['firstDayOfWeek']; ?>, |
|
| 2339 | 2339 | ordinal: function (nth) { |
| 2340 | 2340 | var s = nth % 100; |
| 2341 | 2341 | if (s > 3 && s < 21) |
@@ -2351,21 +2351,21 @@ discard block |
||
| 2351 | 2351 | return "th"; |
| 2352 | 2352 | } |
| 2353 | 2353 | }, |
| 2354 | - rangeSeparator: '<?php echo addslashes( $params[ 'rangeSeparator' ] ); ?>', |
|
| 2355 | - weekAbbreviation: '<?php echo addslashes( $params[ 'weekAbbreviation' ] ); ?>', |
|
| 2356 | - scrollTitle: '<?php echo addslashes( $params[ 'scrollTitle' ] ); ?>', |
|
| 2357 | - toggleTitle: '<?php echo addslashes( $params[ 'toggleTitle' ] ); ?>', |
|
| 2358 | - amPM: ['<?php echo addslashes( $params[ 'am_upper' ] ); ?>','<?php echo addslashes( $params[ 'pm_upper' ] ); ?>'], |
|
| 2359 | - yearAriaLabel: '<?php echo addslashes( $params[ 'year' ] ); ?>', |
|
| 2360 | - hourAriaLabel: '<?php echo addslashes( $params[ 'hour' ] ); ?>', |
|
| 2361 | - minuteAriaLabel: '<?php echo addslashes( $params[ 'minute' ] ); ?>', |
|
| 2362 | - time_24hr: <?php echo ( $params[ 'time_24hr' ] ? 'true' : 'false' ) ; ?> |
|
| 2354 | + rangeSeparator: '<?php echo addslashes($params['rangeSeparator']); ?>', |
|
| 2355 | + weekAbbreviation: '<?php echo addslashes($params['weekAbbreviation']); ?>', |
|
| 2356 | + scrollTitle: '<?php echo addslashes($params['scrollTitle']); ?>', |
|
| 2357 | + toggleTitle: '<?php echo addslashes($params['toggleTitle']); ?>', |
|
| 2358 | + amPM: ['<?php echo addslashes($params['am_upper']); ?>','<?php echo addslashes($params['pm_upper']); ?>'], |
|
| 2359 | + yearAriaLabel: '<?php echo addslashes($params['year']); ?>', |
|
| 2360 | + hourAriaLabel: '<?php echo addslashes($params['hour']); ?>', |
|
| 2361 | + minuteAriaLabel: '<?php echo addslashes($params['minute']); ?>', |
|
| 2362 | + time_24hr: <?php echo ($params['time_24hr'] ? 'true' : 'false'); ?> |
|
| 2363 | 2363 | } |
| 2364 | - <?php if ( 0 ) { ?></script><?php } ?> |
|
| 2364 | + <?php if (0) { ?></script><?php } ?> |
|
| 2365 | 2365 | <?php |
| 2366 | 2366 | $locale = ob_get_clean(); |
| 2367 | 2367 | |
| 2368 | - return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) ); |
|
| 2368 | + return apply_filters('ayecode_ui_flatpickr_locale', trim($locale)); |
|
| 2369 | 2369 | } |
| 2370 | 2370 | |
| 2371 | 2371 | /** |
@@ -2377,20 +2377,20 @@ discard block |
||
| 2377 | 2377 | */ |
| 2378 | 2378 | public static function select2_params() { |
| 2379 | 2379 | $params = array( |
| 2380 | - 'i18n_select_state_text' => esc_attr__( 'Select an option…', 'ayecode-connect' ), |
|
| 2381 | - 'i18n_no_matches' => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ), |
|
| 2382 | - 'i18n_ajax_error' => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ), |
|
| 2383 | - 'i18n_input_too_short_1' => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2384 | - 'i18n_input_too_short_n' => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2385 | - 'i18n_input_too_long_1' => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ), |
|
| 2386 | - 'i18n_input_too_long_n' => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2387 | - 'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ), |
|
| 2388 | - 'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ), |
|
| 2389 | - 'i18n_load_more' => _x( 'Loading more results…', 'enhanced select', 'ayecode-connect' ), |
|
| 2390 | - 'i18n_searching' => _x( 'Searching…', 'enhanced select', 'ayecode-connect' ) |
|
| 2380 | + 'i18n_select_state_text' => esc_attr__('Select an option…', 'ayecode-connect'), |
|
| 2381 | + 'i18n_no_matches' => _x('No matches found', 'enhanced select', 'ayecode-connect'), |
|
| 2382 | + 'i18n_ajax_error' => _x('Loading failed', 'enhanced select', 'ayecode-connect'), |
|
| 2383 | + 'i18n_input_too_short_1' => _x('Please enter 1 or more characters', 'enhanced select', 'ayecode-connect'), |
|
| 2384 | + 'i18n_input_too_short_n' => _x('Please enter %item% or more characters', 'enhanced select', 'ayecode-connect'), |
|
| 2385 | + 'i18n_input_too_long_1' => _x('Please delete 1 character', 'enhanced select', 'ayecode-connect'), |
|
| 2386 | + 'i18n_input_too_long_n' => _x('Please delete %item% characters', 'enhanced select', 'ayecode-connect'), |
|
| 2387 | + 'i18n_selection_too_long_1' => _x('You can only select 1 item', 'enhanced select', 'ayecode-connect'), |
|
| 2388 | + 'i18n_selection_too_long_n' => _x('You can only select %item% items', 'enhanced select', 'ayecode-connect'), |
|
| 2389 | + 'i18n_load_more' => _x('Loading more results…', 'enhanced select', 'ayecode-connect'), |
|
| 2390 | + 'i18n_searching' => _x('Searching…', 'enhanced select', 'ayecode-connect') |
|
| 2391 | 2391 | ); |
| 2392 | 2392 | |
| 2393 | - return apply_filters( 'ayecode_ui_select2_params', $params ); |
|
| 2393 | + return apply_filters('ayecode_ui_select2_params', $params); |
|
| 2394 | 2394 | } |
| 2395 | 2395 | |
| 2396 | 2396 | /** |
@@ -2403,17 +2403,17 @@ discard block |
||
| 2403 | 2403 | public static function select2_locale() { |
| 2404 | 2404 | $params = self::select2_params(); |
| 2405 | 2405 | |
| 2406 | - foreach ( (array) $params as $key => $value ) { |
|
| 2407 | - if ( ! is_scalar( $value ) ) { |
|
| 2406 | + foreach ((array) $params as $key => $value) { |
|
| 2407 | + if (!is_scalar($value)) { |
|
| 2408 | 2408 | continue; |
| 2409 | 2409 | } |
| 2410 | 2410 | |
| 2411 | - $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2411 | + $params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8'); |
|
| 2412 | 2412 | } |
| 2413 | 2413 | |
| 2414 | - $locale = json_encode( $params ); |
|
| 2414 | + $locale = json_encode($params); |
|
| 2415 | 2415 | |
| 2416 | - return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) ); |
|
| 2416 | + return apply_filters('ayecode_ui_select2_locale', trim($locale)); |
|
| 2417 | 2417 | } |
| 2418 | 2418 | |
| 2419 | 2419 | /** |
@@ -2426,35 +2426,35 @@ discard block |
||
| 2426 | 2426 | public static function timeago_locale() { |
| 2427 | 2427 | $params = array( |
| 2428 | 2428 | 'prefix_ago' => '', |
| 2429 | - 'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ), |
|
| 2430 | - 'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ', |
|
| 2429 | + 'suffix_ago' => ' ' . _x('ago', 'time ago', 'ayecode-connect'), |
|
| 2430 | + 'prefix_after' => _x('after', 'time ago', 'ayecode-connect') . ' ', |
|
| 2431 | 2431 | 'suffix_after' => '', |
| 2432 | - 'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ), |
|
| 2433 | - 'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ), |
|
| 2434 | - 'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ), |
|
| 2435 | - 'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ), |
|
| 2436 | - 'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ), |
|
| 2437 | - 'day' => _x( 'a day', 'time ago', 'ayecode-connect' ), |
|
| 2438 | - 'days' => _x( '%d days', 'time ago', 'ayecode-connect' ), |
|
| 2439 | - 'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ), |
|
| 2440 | - 'months' => _x( '%d months', 'time ago', 'ayecode-connect' ), |
|
| 2441 | - 'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ), |
|
| 2442 | - 'years' => _x( '%d years', 'time ago', 'ayecode-connect' ), |
|
| 2432 | + 'seconds' => _x('less than a minute', 'time ago', 'ayecode-connect'), |
|
| 2433 | + 'minute' => _x('about a minute', 'time ago', 'ayecode-connect'), |
|
| 2434 | + 'minutes' => _x('%d minutes', 'time ago', 'ayecode-connect'), |
|
| 2435 | + 'hour' => _x('about an hour', 'time ago', 'ayecode-connect'), |
|
| 2436 | + 'hours' => _x('about %d hours', 'time ago', 'ayecode-connect'), |
|
| 2437 | + 'day' => _x('a day', 'time ago', 'ayecode-connect'), |
|
| 2438 | + 'days' => _x('%d days', 'time ago', 'ayecode-connect'), |
|
| 2439 | + 'month' => _x('about a month', 'time ago', 'ayecode-connect'), |
|
| 2440 | + 'months' => _x('%d months', 'time ago', 'ayecode-connect'), |
|
| 2441 | + 'year' => _x('about a year', 'time ago', 'ayecode-connect'), |
|
| 2442 | + 'years' => _x('%d years', 'time ago', 'ayecode-connect'), |
|
| 2443 | 2443 | ); |
| 2444 | 2444 | |
| 2445 | - $params = apply_filters( 'ayecode_ui_timeago_params', $params ); |
|
| 2445 | + $params = apply_filters('ayecode_ui_timeago_params', $params); |
|
| 2446 | 2446 | |
| 2447 | - foreach ( (array) $params as $key => $value ) { |
|
| 2448 | - if ( ! is_scalar( $value ) ) { |
|
| 2447 | + foreach ((array) $params as $key => $value) { |
|
| 2448 | + if (!is_scalar($value)) { |
|
| 2449 | 2449 | continue; |
| 2450 | 2450 | } |
| 2451 | 2451 | |
| 2452 | - $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2452 | + $params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8'); |
|
| 2453 | 2453 | } |
| 2454 | 2454 | |
| 2455 | - $locale = json_encode( $params ); |
|
| 2455 | + $locale = json_encode($params); |
|
| 2456 | 2456 | |
| 2457 | - return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) ); |
|
| 2457 | + return apply_filters('ayecode_ui_timeago_locale', trim($locale)); |
|
| 2458 | 2458 | } |
| 2459 | 2459 | |
| 2460 | 2460 | /** |
@@ -2465,7 +2465,7 @@ discard block |
||
| 2465 | 2465 | * @return mixed |
| 2466 | 2466 | */ |
| 2467 | 2467 | public static function minify_js($input) { |
| 2468 | - if(trim($input) === "") return $input; |
|
| 2468 | + if (trim($input) === "") return $input; |
|
| 2469 | 2469 | return preg_replace( |
| 2470 | 2470 | array( |
| 2471 | 2471 | // Remove comment(s) |
@@ -2497,7 +2497,7 @@ discard block |
||
| 2497 | 2497 | * @return mixed |
| 2498 | 2498 | */ |
| 2499 | 2499 | public static function minify_css($input) { |
| 2500 | - if(trim($input) === "") return $input; |
|
| 2500 | + if (trim($input) === "") return $input; |
|
| 2501 | 2501 | return preg_replace( |
| 2502 | 2502 | array( |
| 2503 | 2503 | // Remove comment(s) |
@@ -3063,12 +3063,12 @@ discard block |
||
| 3063 | 3063 | }); |
| 3064 | 3064 | } |
| 3065 | 3065 | } |
| 3066 | - <?php do_action( 'aui_conditional_fields_js', $this ); ?> |
|
| 3066 | + <?php do_action('aui_conditional_fields_js', $this); ?> |
|
| 3067 | 3067 | </script> |
| 3068 | 3068 | <?php |
| 3069 | 3069 | $output = ob_get_clean(); |
| 3070 | 3070 | |
| 3071 | - return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) ); |
|
| 3071 | + return str_replace(array('<script>', '</script>'), '', self::minify_js($output)); |
|
| 3072 | 3072 | } |
| 3073 | 3073 | } |
| 3074 | 3074 | |
@@ -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; |
@@ -1,51 +1,51 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | // MUST have WordPress. |
| 3 | -if ( ! defined( 'WPINC' ) ) { |
|
| 3 | +if (!defined('WPINC')) { |
|
| 4 | 4 | exit; |
| 5 | 5 | } |
| 6 | 6 | |
| 7 | -add_action( 'manage_wpi_discount_posts_custom_column', 'wpinv_discount_custom_column' ); |
|
| 8 | -function wpinv_discount_custom_column( $column ) { |
|
| 7 | +add_action('manage_wpi_discount_posts_custom_column', 'wpinv_discount_custom_column'); |
|
| 8 | +function wpinv_discount_custom_column($column) { |
|
| 9 | 9 | global $post; |
| 10 | 10 | |
| 11 | - $discount = new WPInv_Discount( $post ); |
|
| 11 | + $discount = new WPInv_Discount($post); |
|
| 12 | 12 | |
| 13 | - switch ( $column ) { |
|
| 13 | + switch ($column) { |
|
| 14 | 14 | case 'code': |
| 15 | - echo esc_html( $discount->get_code() ); |
|
| 15 | + echo esc_html($discount->get_code()); |
|
| 16 | 16 | break; |
| 17 | 17 | case 'amount': |
| 18 | - echo wp_kses_post( $discount->get_formatted_amount() ); |
|
| 18 | + echo wp_kses_post($discount->get_formatted_amount()); |
|
| 19 | 19 | break; |
| 20 | 20 | case 'usage': |
| 21 | - echo wp_kses_post( $discount->get_usage() ); |
|
| 21 | + echo wp_kses_post($discount->get_usage()); |
|
| 22 | 22 | break; |
| 23 | 23 | case 'start_date': |
| 24 | - echo wp_kses_post( getpaid_format_date_value( $discount->get_start_date() ) ); |
|
| 24 | + echo wp_kses_post(getpaid_format_date_value($discount->get_start_date())); |
|
| 25 | 25 | break; |
| 26 | 26 | case 'expiry_date': |
| 27 | - echo wp_kses_post( getpaid_format_date_value( $discount->get_expiration_date(), __( 'Never', 'invoicing' ) ) ); |
|
| 27 | + echo wp_kses_post(getpaid_format_date_value($discount->get_expiration_date(), __('Never', 'invoicing'))); |
|
| 28 | 28 | break; |
| 29 | 29 | } |
| 30 | 30 | } |
| 31 | 31 | |
| 32 | -add_filter( 'post_row_actions', 'wpinv_post_row_actions', 90, 2 ); |
|
| 33 | -function wpinv_post_row_actions( $actions, $post ) { |
|
| 34 | - $post_type = ! empty( $post->post_type ) ? $post->post_type : ''; |
|
| 32 | +add_filter('post_row_actions', 'wpinv_post_row_actions', 90, 2); |
|
| 33 | +function wpinv_post_row_actions($actions, $post) { |
|
| 34 | + $post_type = !empty($post->post_type) ? $post->post_type : ''; |
|
| 35 | 35 | |
| 36 | - if ( $post_type == 'wpi_discount' ) { |
|
| 37 | - $actions = wpinv_discount_row_actions( $post, $actions ); |
|
| 36 | + if ($post_type == 'wpi_discount') { |
|
| 37 | + $actions = wpinv_discount_row_actions($post, $actions); |
|
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | return $actions; |
| 41 | 41 | } |
| 42 | 42 | |
| 43 | -function wpinv_discount_row_actions( $discount, $row_actions ) { |
|
| 44 | - $row_actions = array(); |
|
| 45 | - $edit_link = get_edit_post_link( $discount->ID ); |
|
| 46 | - $row_actions['edit'] = '<a href="' . esc_url( $edit_link ) . '">' . __( 'Edit', 'invoicing' ) . '</a>'; |
|
| 43 | +function wpinv_discount_row_actions($discount, $row_actions) { |
|
| 44 | + $row_actions = array(); |
|
| 45 | + $edit_link = get_edit_post_link($discount->ID); |
|
| 46 | + $row_actions['edit'] = '<a href="' . esc_url($edit_link) . '">' . __('Edit', 'invoicing') . '</a>'; |
|
| 47 | 47 | |
| 48 | - if ( in_array( strtolower( $discount->post_status ), array( 'publish' ) ) && wpinv_current_user_can( 'deactivate_discount', array( 'discount' => (int) $discount->ID ) ) ) { |
|
| 48 | + if (in_array(strtolower($discount->post_status), array('publish')) && wpinv_current_user_can('deactivate_discount', array('discount' => (int) $discount->ID))) { |
|
| 49 | 49 | |
| 50 | 50 | $url = wp_nonce_url( |
| 51 | 51 | add_query_arg( |
@@ -57,13 +57,13 @@ 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 | - } elseif ( in_array( strtolower( $discount->post_status ), array( 'pending', 'draft' ) ) && wpinv_current_user_can( 'activate_discount', array( 'discount' => (int) $discount->ID ) ) ) { |
|
| 64 | + } elseif (in_array(strtolower($discount->post_status), array('pending', 'draft')) && wpinv_current_user_can('activate_discount', array('discount' => (int) $discount->ID))) { |
|
| 65 | 65 | |
| 66 | - $url = wp_nonce_url( |
|
| 66 | + $url = wp_nonce_url( |
|
| 67 | 67 | add_query_arg( |
| 68 | 68 | array( |
| 69 | 69 | 'getpaid-admin-action' => 'activate_discount', |
@@ -73,14 +73,14 @@ 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 | } |
| 81 | 81 | |
| 82 | - if ( wpinv_current_user_can( 'delete_discount', array( 'discount' => (int) $discount->ID ) ) ) { |
|
| 83 | - $url = esc_url( |
|
| 82 | + if (wpinv_current_user_can('delete_discount', array('discount' => (int) $discount->ID))) { |
|
| 83 | + $url = esc_url( |
|
| 84 | 84 | wp_nonce_url( |
| 85 | 85 | add_query_arg( |
| 86 | 86 | array( |
@@ -93,12 +93,12 @@ discard block |
||
| 93 | 93 | ) |
| 94 | 94 | ); |
| 95 | 95 | |
| 96 | - $anchor = __( 'Delete', 'invoicing' ); |
|
| 97 | - $title = esc_attr__( 'Are you sure you want to delete this discount?', 'invoicing' ); |
|
| 96 | + $anchor = __('Delete', 'invoicing'); |
|
| 97 | + $title = esc_attr__('Are you sure you want to delete this discount?', 'invoicing'); |
|
| 98 | 98 | $row_actions['delete'] = "<a href='$url' onclick='return confirm(\"$title\")'>$anchor</a>"; |
| 99 | 99 | } |
| 100 | 100 | |
| 101 | - $row_actions = apply_filters( 'wpinv_discount_row_actions', $row_actions, $discount ); |
|
| 101 | + $row_actions = apply_filters('wpinv_discount_row_actions', $row_actions, $discount); |
|
| 102 | 102 | |
| 103 | 103 | return $row_actions; |
| 104 | 104 | } |
@@ -106,68 +106,68 @@ discard block |
||
| 106 | 106 | function wpinv_restrict_manage_posts() { |
| 107 | 107 | global $typenow; |
| 108 | 108 | |
| 109 | - if ( 'wpi_discount' == $typenow ) { |
|
| 109 | + if ('wpi_discount' == $typenow) { |
|
| 110 | 110 | wpinv_discount_filters(); |
| 111 | 111 | } |
| 112 | 112 | } |
| 113 | -add_action( 'restrict_manage_posts', 'wpinv_restrict_manage_posts', 10 ); |
|
| 113 | +add_action('restrict_manage_posts', 'wpinv_restrict_manage_posts', 10); |
|
| 114 | 114 | |
| 115 | 115 | function wpinv_discount_filters() { |
| 116 | 116 | |
| 117 | 117 | ?> |
| 118 | 118 | <select name="discount_type" id="dropdown_wpinv_discount_type"> |
| 119 | - <option value=""><?php esc_html_e( 'Show all types', 'invoicing' ); ?></option> |
|
| 119 | + <option value=""><?php esc_html_e('Show all types', 'invoicing'); ?></option> |
|
| 120 | 120 | <?php |
| 121 | 121 | $types = wpinv_get_discount_types(); |
| 122 | 122 | |
| 123 | - foreach ( $types as $name => $type ) { |
|
| 124 | - echo '<option value="' . esc_attr( $name ) . '"'; |
|
| 123 | + foreach ($types as $name => $type) { |
|
| 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> |
| 134 | 134 | <?php |
| 135 | 135 | } |
| 136 | 136 | |
| 137 | -function wpinv_request( $vars ) { |
|
| 137 | +function wpinv_request($vars) { |
|
| 138 | 138 | global $typenow, $wp_post_statuses; |
| 139 | 139 | |
| 140 | - if ( getpaid_is_invoice_post_type( $typenow ) ) { |
|
| 141 | - if ( ! isset( $vars['post_status'] ) ) { |
|
| 142 | - $post_statuses = wpinv_get_invoice_statuses( false, false, $typenow ); |
|
| 140 | + if (getpaid_is_invoice_post_type($typenow)) { |
|
| 141 | + if (!isset($vars['post_status'])) { |
|
| 142 | + $post_statuses = wpinv_get_invoice_statuses(false, false, $typenow); |
|
| 143 | 143 | |
| 144 | - foreach ( $post_statuses as $status => $value ) { |
|
| 145 | - if ( isset( $wp_post_statuses[ $status ] ) && false === $wp_post_statuses[ $status ]->show_in_admin_all_list ) { |
|
| 146 | - unset( $post_statuses[ $status ] ); |
|
| 144 | + foreach ($post_statuses as $status => $value) { |
|
| 145 | + if (isset($wp_post_statuses[$status]) && false === $wp_post_statuses[$status]->show_in_admin_all_list) { |
|
| 146 | + unset($post_statuses[$status]); |
|
| 147 | 147 | } |
| 148 | 148 | } |
| 149 | 149 | |
| 150 | - $vars['post_status'] = array_keys( $post_statuses ); |
|
| 150 | + $vars['post_status'] = array_keys($post_statuses); |
|
| 151 | 151 | } |
| 152 | -} elseif ( 'wpi_discount' == $typenow ) { |
|
| 153 | - $meta_query = ! empty( $vars['meta_query'] ) ? $vars['meta_query'] : array(); |
|
| 152 | +} elseif ('wpi_discount' == $typenow) { |
|
| 153 | + $meta_query = !empty($vars['meta_query']) ? $vars['meta_query'] : array(); |
|
| 154 | 154 | // Filter vat rule type |
| 155 | - if ( isset( $_GET['discount_type'] ) && $_GET['discount_type'] !== '' ) { |
|
| 155 | + if (isset($_GET['discount_type']) && $_GET['discount_type'] !== '') { |
|
| 156 | 156 | $meta_query[] = array( |
| 157 | 157 | 'key' => '_wpi_discount_type', |
| 158 | - 'value' => sanitize_key( urldecode( $_GET['discount_type'] ) ), |
|
| 158 | + 'value' => sanitize_key(urldecode($_GET['discount_type'])), |
|
| 159 | 159 | 'compare' => '=', |
| 160 | 160 | ); |
| 161 | 161 | } |
| 162 | 162 | |
| 163 | - if ( ! empty( $meta_query ) ) { |
|
| 163 | + if (!empty($meta_query)) { |
|
| 164 | 164 | $vars['meta_query'] = $meta_query; |
| 165 | 165 | } |
| 166 | 166 | } |
| 167 | 167 | |
| 168 | 168 | return $vars; |
| 169 | 169 | } |
| 170 | -add_filter( 'request', 'wpinv_request' ); |
|
| 170 | +add_filter('request', 'wpinv_request'); |
|
| 171 | 171 | |
| 172 | 172 | /** |
| 173 | 173 | * Create a page and store the ID in an option. |
@@ -179,61 +179,61 @@ discard block |
||
| 179 | 179 | * @param int $post_parent (default: 0) Parent for the new page |
| 180 | 180 | * @return int page ID |
| 181 | 181 | */ |
| 182 | -function wpinv_create_page( $slug, $option = '', $page_title = '', $page_content = '', $post_parent = 0 ) { |
|
| 182 | +function wpinv_create_page($slug, $option = '', $page_title = '', $page_content = '', $post_parent = 0) { |
|
| 183 | 183 | global $wpdb; |
| 184 | 184 | |
| 185 | - $option_value = wpinv_get_option( $option ); |
|
| 185 | + $option_value = wpinv_get_option($option); |
|
| 186 | 186 | |
| 187 | - if ( ! empty( $option_value ) && ( $page_object = get_post( $option_value ) ) ) { |
|
| 188 | - if ( 'page' === $page_object->post_type && ! in_array( $page_object->post_status, array( 'pending', 'trash', 'future', 'auto-draft' ) ) ) { |
|
| 187 | + if (!empty($option_value) && ($page_object = get_post($option_value))) { |
|
| 188 | + if ('page' === $page_object->post_type && !in_array($page_object->post_status, array('pending', 'trash', 'future', 'auto-draft'))) { |
|
| 189 | 189 | // Valid page is already in place |
| 190 | 190 | return $page_object->ID; |
| 191 | 191 | } |
| 192 | 192 | } |
| 193 | 193 | |
| 194 | - if ( ! empty( $post_parent ) ) { |
|
| 195 | - $page = get_page_by_path( $post_parent ); |
|
| 196 | - if ( $page ) { |
|
| 194 | + if (!empty($post_parent)) { |
|
| 195 | + $page = get_page_by_path($post_parent); |
|
| 196 | + if ($page) { |
|
| 197 | 197 | $post_parent = $page->ID; |
| 198 | 198 | } else { |
| 199 | 199 | $post_parent = ''; |
| 200 | 200 | } |
| 201 | 201 | } |
| 202 | 202 | |
| 203 | - if ( strlen( $page_content ) > 0 ) { |
|
| 203 | + if (strlen($page_content) > 0) { |
|
| 204 | 204 | // Search for an existing page with the specified page content (typically a shortcode) |
| 205 | - $valid_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status NOT IN ( 'pending', 'trash', 'future', 'auto-draft' ) AND post_content LIKE %s LIMIT 1;", "%{$page_content}%" ) ); |
|
| 205 | + $valid_page_found = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status NOT IN ( 'pending', 'trash', 'future', 'auto-draft' ) AND post_content LIKE %s LIMIT 1;", "%{$page_content}%")); |
|
| 206 | 206 | } else { |
| 207 | 207 | // Search for an existing page with the specified page slug |
| 208 | - $valid_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status NOT IN ( 'pending', 'trash', 'future', 'auto-draft' ) AND post_name = %s LIMIT 1;", $slug ) ); |
|
| 208 | + $valid_page_found = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status NOT IN ( 'pending', 'trash', 'future', 'auto-draft' ) AND post_name = %s LIMIT 1;", $slug)); |
|
| 209 | 209 | } |
| 210 | 210 | |
| 211 | - $valid_page_found = apply_filters( 'wpinv_create_page_id', $valid_page_found, $slug, $page_content ); |
|
| 211 | + $valid_page_found = apply_filters('wpinv_create_page_id', $valid_page_found, $slug, $page_content); |
|
| 212 | 212 | |
| 213 | - if ( $valid_page_found ) { |
|
| 214 | - if ( $option ) { |
|
| 215 | - wpinv_update_option( $option, $valid_page_found ); |
|
| 213 | + if ($valid_page_found) { |
|
| 214 | + if ($option) { |
|
| 215 | + wpinv_update_option($option, $valid_page_found); |
|
| 216 | 216 | } |
| 217 | 217 | return $valid_page_found; |
| 218 | 218 | } |
| 219 | 219 | |
| 220 | 220 | // Search for a matching valid trashed page |
| 221 | - if ( strlen( $page_content ) > 0 ) { |
|
| 221 | + if (strlen($page_content) > 0) { |
|
| 222 | 222 | // Search for an existing page with the specified page content (typically a shortcode) |
| 223 | - $trashed_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = 'trash' AND post_content LIKE %s LIMIT 1;", "%{$page_content}%" ) ); |
|
| 223 | + $trashed_page_found = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = 'trash' AND post_content LIKE %s LIMIT 1;", "%{$page_content}%")); |
|
| 224 | 224 | } else { |
| 225 | 225 | // Search for an existing page with the specified page slug |
| 226 | - $trashed_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = 'trash' AND post_name = %s LIMIT 1;", $slug ) ); |
|
| 226 | + $trashed_page_found = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = 'trash' AND post_name = %s LIMIT 1;", $slug)); |
|
| 227 | 227 | } |
| 228 | 228 | |
| 229 | - if ( $trashed_page_found ) { |
|
| 229 | + if ($trashed_page_found) { |
|
| 230 | 230 | $page_id = $trashed_page_found; |
| 231 | 231 | $page_data = array( |
| 232 | 232 | 'ID' => $page_id, |
| 233 | 233 | 'post_status' => 'publish', |
| 234 | 234 | 'post_parent' => $post_parent, |
| 235 | 235 | ); |
| 236 | - wp_update_post( $page_data ); |
|
| 236 | + wp_update_post($page_data); |
|
| 237 | 237 | } else { |
| 238 | 238 | $page_data = array( |
| 239 | 239 | 'post_status' => 'publish', |
@@ -245,11 +245,11 @@ discard block |
||
| 245 | 245 | 'post_parent' => $post_parent, |
| 246 | 246 | 'comment_status' => 'closed', |
| 247 | 247 | ); |
| 248 | - $page_id = wp_insert_post( $page_data ); |
|
| 248 | + $page_id = wp_insert_post($page_data); |
|
| 249 | 249 | } |
| 250 | 250 | |
| 251 | - if ( $option ) { |
|
| 252 | - wpinv_update_option( $option, (int) $page_id ); |
|
| 251 | + if ($option) { |
|
| 252 | + wpinv_update_option($option, (int) $page_id); |
|
| 253 | 253 | } |
| 254 | 254 | |
| 255 | 255 | return $page_id; |
@@ -262,11 +262,11 @@ discard block |
||
| 262 | 262 | * |
| 263 | 263 | * @return array |
| 264 | 264 | */ |
| 265 | -function wpinv_add_aui_screens( $screen_ids ) { |
|
| 265 | +function wpinv_add_aui_screens($screen_ids) { |
|
| 266 | 266 | |
| 267 | 267 | // load on these pages if set |
| 268 | - $screen_ids = array_merge( $screen_ids, wpinv_get_screen_ids() ); |
|
| 268 | + $screen_ids = array_merge($screen_ids, wpinv_get_screen_ids()); |
|
| 269 | 269 | |
| 270 | 270 | return $screen_ids; |
| 271 | 271 | } |
| 272 | -add_filter( 'aui_screen_ids', 'wpinv_add_aui_screens' ); |
|
| 272 | +add_filter('aui_screen_ids', 'wpinv_add_aui_screens'); |
|
@@ -57,21 +57,21 @@ discard block |
||
| 57 | 57 | $args = wp_parse_args( |
| 58 | 58 | $args, |
| 59 | 59 | array( |
| 60 | - 'status' => array( 'publish' ), |
|
| 61 | - 'limit' => get_option( 'posts_per_page' ), |
|
| 62 | - 'page' => 1, |
|
| 63 | - 'exclude' => array(), |
|
| 64 | - 'orderby' => 'date', |
|
| 65 | - 'order' => 'DESC', |
|
| 66 | - 'type' => wpinv_item_types(), |
|
| 67 | - 'meta_query' => array( |
|
| 60 | + 'status' => array( 'publish' ), |
|
| 61 | + 'limit' => get_option( 'posts_per_page' ), |
|
| 62 | + 'page' => 1, |
|
| 63 | + 'exclude' => array(), |
|
| 64 | + 'orderby' => 'date', |
|
| 65 | + 'order' => 'DESC', |
|
| 66 | + 'type' => wpinv_item_types(), |
|
| 67 | + 'meta_query' => array( |
|
| 68 | 68 | array( |
| 69 | 69 | 'key' => '_wpinv_one_time', |
| 70 | 70 | 'compare' => 'NOT EXISTS', |
| 71 | 71 | ), |
| 72 | 72 | ), |
| 73 | - 'return' => 'objects', |
|
| 74 | - 'paginate' => false, |
|
| 73 | + 'return' => 'objects', |
|
| 74 | + 'paginate' => false, |
|
| 75 | 75 | ) |
| 76 | 76 | ); |
| 77 | 77 | |
@@ -211,9 +211,9 @@ discard block |
||
| 211 | 211 | |
| 212 | 212 | function wpinv_get_item_types() { |
| 213 | 213 | $item_types = array( |
| 214 | - 'custom' => __( 'Standard', 'invoicing' ), |
|
| 215 | - 'fee' => __( 'Fee', 'invoicing' ), |
|
| 216 | - ); |
|
| 214 | + 'custom' => __( 'Standard', 'invoicing' ), |
|
| 215 | + 'fee' => __( 'Fee', 'invoicing' ), |
|
| 216 | + ); |
|
| 217 | 217 | return apply_filters( 'wpinv_get_item_types', $item_types ); |
| 218 | 218 | } |
| 219 | 219 | |
@@ -255,16 +255,16 @@ discard block |
||
| 255 | 255 | $args = array(); |
| 256 | 256 | if ( $post_ids ) { |
| 257 | 257 | $args = array( |
| 258 | - 'fields' => 'ids', |
|
| 259 | - ); |
|
| 258 | + 'fields' => 'ids', |
|
| 259 | + ); |
|
| 260 | 260 | } |
| 261 | 261 | |
| 262 | 262 | $args = array_merge( |
| 263 | 263 | $args, |
| 264 | 264 | array( |
| 265 | 265 | 'post_type' => 'wpi_item', |
| 266 | - 'orderby' => 'rand', |
|
| 267 | - 'post_count' => $num, |
|
| 266 | + 'orderby' => 'rand', |
|
| 267 | + 'post_count' => $num, |
|
| 268 | 268 | 'meta_query' => array( |
| 269 | 269 | array( |
| 270 | 270 | 'key' => '_wpinv_one_time', |
@@ -439,10 +439,10 @@ discard block |
||
| 439 | 439 | $bill_times_less = $bill_times - 1; |
| 440 | 440 | |
| 441 | 441 | if ( ! empty( $bill_times ) ) { |
| 442 | - $bill_times = $item->get_recurring_interval() * $bill_times; |
|
| 442 | + $bill_times = $item->get_recurring_interval() * $bill_times; |
|
| 443 | 443 | $bill_times_less = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times - $item->get_recurring_interval() ); |
| 444 | - $bill_times = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times ); |
|
| 445 | - } |
|
| 444 | + $bill_times = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times ); |
|
| 445 | + } |
|
| 446 | 446 | |
| 447 | 447 | if ( $item instanceof GetPaid_Form_Item && false === $_initial_price ) { |
| 448 | 448 | $initial_price = wpinv_price( $item->get_sub_total(), $currency ); |
@@ -6,7 +6,7 @@ discard block |
||
| 6 | 6 | * @package Invoicing |
| 7 | 7 | */ |
| 8 | 8 | |
| 9 | -defined( 'ABSPATH' ) || exit; |
|
| 9 | +defined('ABSPATH') || exit; |
|
| 10 | 10 | |
| 11 | 11 | /** |
| 12 | 12 | * Retrieves an item by it's ID. |
@@ -14,9 +14,9 @@ discard block |
||
| 14 | 14 | * @param int the item ID to retrieve. |
| 15 | 15 | * @return WPInv_Item|false |
| 16 | 16 | */ |
| 17 | -function wpinv_get_item_by_id( $id ) { |
|
| 18 | - $item = wpinv_get_item( $id ); |
|
| 19 | - return empty( $item ) || $id != $item->get_id() ? false : $item; |
|
| 17 | +function wpinv_get_item_by_id($id) { |
|
| 18 | + $item = wpinv_get_item($id); |
|
| 19 | + return empty($item) || $id != $item->get_id() ? false : $item; |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | /** |
@@ -24,14 +24,14 @@ discard block |
||
| 24 | 24 | * |
| 25 | 25 | * @return WPInv_Item|false |
| 26 | 26 | */ |
| 27 | -function wpinv_get_item_by( $field = '', $value = '', $type = '' ) { |
|
| 27 | +function wpinv_get_item_by($field = '', $value = '', $type = '') { |
|
| 28 | 28 | |
| 29 | - if ( 'id' === strtolower( $field ) ) { |
|
| 30 | - return wpinv_get_item_by_id( $value ); |
|
| 29 | + if ('id' === strtolower($field)) { |
|
| 30 | + return wpinv_get_item_by_id($value); |
|
| 31 | 31 | } |
| 32 | 32 | |
| 33 | - $id = WPInv_Item::get_item_id_by_field( $value, strtolower( $field ), $type ); |
|
| 34 | - return empty( $id ) ? false : wpinv_get_item( $id ); |
|
| 33 | + $id = WPInv_Item::get_item_id_by_field($value, strtolower($field), $type); |
|
| 34 | + return empty($id) ? false : wpinv_get_item($id); |
|
| 35 | 35 | |
| 36 | 36 | } |
| 37 | 37 | |
@@ -41,24 +41,24 @@ discard block |
||
| 41 | 41 | * @param int|WPInv_Item the item to retrieve. |
| 42 | 42 | * @return WPInv_Item|false |
| 43 | 43 | */ |
| 44 | -function wpinv_get_item( $item = 0 ) { |
|
| 44 | +function wpinv_get_item($item = 0) { |
|
| 45 | 45 | |
| 46 | - if ( empty( $item ) ) { |
|
| 46 | + if (empty($item)) { |
|
| 47 | 47 | return false; |
| 48 | 48 | } |
| 49 | 49 | |
| 50 | - $item = new WPInv_Item( $item ); |
|
| 50 | + $item = new WPInv_Item($item); |
|
| 51 | 51 | return $item->exists() ? $item : false; |
| 52 | 52 | |
| 53 | 53 | } |
| 54 | 54 | |
| 55 | -function wpinv_get_all_items( $args = array() ) { |
|
| 55 | +function wpinv_get_all_items($args = array()) { |
|
| 56 | 56 | |
| 57 | 57 | $args = wp_parse_args( |
| 58 | 58 | $args, |
| 59 | 59 | array( |
| 60 | - 'status' => array( 'publish' ), |
|
| 61 | - 'limit' => get_option( 'posts_per_page' ), |
|
| 60 | + 'status' => array('publish'), |
|
| 61 | + 'limit' => get_option('posts_per_page'), |
|
| 62 | 62 | 'page' => 1, |
| 63 | 63 | 'exclude' => array(), |
| 64 | 64 | 'orderby' => 'date', |
@@ -83,44 +83,44 @@ discard block |
||
| 83 | 83 | 'fields' => 'ids', |
| 84 | 84 | 'orderby' => $args['orderby'], |
| 85 | 85 | 'order' => $args['order'], |
| 86 | - 'paged' => absint( $args['page'] ), |
|
| 86 | + 'paged' => absint($args['page']), |
|
| 87 | 87 | ); |
| 88 | 88 | |
| 89 | - if ( ! empty( $args['exclude'] ) ) { |
|
| 90 | - $wp_query_args['post__not_in'] = array_map( 'absint', $args['exclude'] ); |
|
| 89 | + if (!empty($args['exclude'])) { |
|
| 90 | + $wp_query_args['post__not_in'] = array_map('absint', $args['exclude']); |
|
| 91 | 91 | } |
| 92 | 92 | |
| 93 | - if ( ! $args['paginate'] ) { |
|
| 93 | + if (!$args['paginate']) { |
|
| 94 | 94 | $wp_query_args['no_found_rows'] = true; |
| 95 | 95 | } |
| 96 | 96 | |
| 97 | - if ( ! empty( $args['search'] ) ) { |
|
| 97 | + if (!empty($args['search'])) { |
|
| 98 | 98 | $wp_query_args['s'] = $args['search']; |
| 99 | 99 | } |
| 100 | 100 | |
| 101 | - if ( ! empty( $args['type'] ) && $args['type'] !== wpinv_item_types() ) { |
|
| 102 | - $types = wpinv_parse_list( $args['type'] ); |
|
| 101 | + if (!empty($args['type']) && $args['type'] !== wpinv_item_types()) { |
|
| 102 | + $types = wpinv_parse_list($args['type']); |
|
| 103 | 103 | $wp_query_args['meta_query'][] = array( |
| 104 | 104 | 'key' => '_wpinv_type', |
| 105 | - 'value' => implode( ',', $types ), |
|
| 105 | + 'value' => implode(',', $types), |
|
| 106 | 106 | 'compare' => 'IN', |
| 107 | 107 | ); |
| 108 | 108 | } |
| 109 | 109 | |
| 110 | - $wp_query_args = apply_filters( 'wpinv_get_items_args', $wp_query_args, $args ); |
|
| 110 | + $wp_query_args = apply_filters('wpinv_get_items_args', $wp_query_args, $args); |
|
| 111 | 111 | |
| 112 | 112 | // Get results. |
| 113 | - $items = new WP_Query( $wp_query_args ); |
|
| 113 | + $items = new WP_Query($wp_query_args); |
|
| 114 | 114 | |
| 115 | - if ( 'objects' === $args['return'] ) { |
|
| 116 | - $return = array_map( 'wpinv_get_item_by_id', $items->posts ); |
|
| 117 | - } elseif ( 'self' === $args['return'] ) { |
|
| 115 | + if ('objects' === $args['return']) { |
|
| 116 | + $return = array_map('wpinv_get_item_by_id', $items->posts); |
|
| 117 | + } elseif ('self' === $args['return']) { |
|
| 118 | 118 | return $items; |
| 119 | 119 | } else { |
| 120 | 120 | $return = $items->posts; |
| 121 | 121 | } |
| 122 | 122 | |
| 123 | - if ( $args['paginate'] ) { |
|
| 123 | + if ($args['paginate']) { |
|
| 124 | 124 | return (object) array( |
| 125 | 125 | 'items' => $return, |
| 126 | 126 | 'total' => $items->found_posts, |
@@ -132,12 +132,12 @@ discard block |
||
| 132 | 132 | |
| 133 | 133 | } |
| 134 | 134 | |
| 135 | -function wpinv_is_free_item( $item_id = 0 ) { |
|
| 136 | - if ( empty( $item_id ) ) { |
|
| 135 | +function wpinv_is_free_item($item_id = 0) { |
|
| 136 | + if (empty($item_id)) { |
|
| 137 | 137 | return false; |
| 138 | 138 | } |
| 139 | 139 | |
| 140 | - $item = new WPInv_Item( $item_id ); |
|
| 140 | + $item = new WPInv_Item($item_id); |
|
| 141 | 141 | |
| 142 | 142 | return $item->is_free(); |
| 143 | 143 | } |
@@ -147,21 +147,21 @@ discard block |
||
| 147 | 147 | * |
| 148 | 148 | * @param WP_Post|WPInv_Item|Int $item The item to check for. |
| 149 | 149 | */ |
| 150 | -function wpinv_item_is_editable( $item = 0 ) { |
|
| 150 | +function wpinv_item_is_editable($item = 0) { |
|
| 151 | 151 | |
| 152 | 152 | // Fetch the item. |
| 153 | - $item = new WPInv_Item( $item ); |
|
| 153 | + $item = new WPInv_Item($item); |
|
| 154 | 154 | |
| 155 | 155 | // Check if it is editable. |
| 156 | 156 | return $item->is_editable(); |
| 157 | 157 | } |
| 158 | 158 | |
| 159 | -function wpinv_get_item_price( $item_id = 0 ) { |
|
| 160 | - if ( empty( $item_id ) ) { |
|
| 159 | +function wpinv_get_item_price($item_id = 0) { |
|
| 160 | + if (empty($item_id)) { |
|
| 161 | 161 | return false; |
| 162 | 162 | } |
| 163 | 163 | |
| 164 | - $item = new WPInv_Item( $item_id ); |
|
| 164 | + $item = new WPInv_Item($item_id); |
|
| 165 | 165 | |
| 166 | 166 | return $item->get_price(); |
| 167 | 167 | } |
@@ -171,89 +171,89 @@ discard block |
||
| 171 | 171 | * |
| 172 | 172 | * @param WPInv_Item|int $item |
| 173 | 173 | */ |
| 174 | -function wpinv_is_recurring_item( $item = 0 ) { |
|
| 175 | - $item = new WPInv_Item( $item ); |
|
| 174 | +function wpinv_is_recurring_item($item = 0) { |
|
| 175 | + $item = new WPInv_Item($item); |
|
| 176 | 176 | return $item->is_recurring(); |
| 177 | 177 | } |
| 178 | 178 | |
| 179 | -function wpinv_item_price( $item_id = 0 ) { |
|
| 180 | - if ( empty( $item_id ) ) { |
|
| 179 | +function wpinv_item_price($item_id = 0) { |
|
| 180 | + if (empty($item_id)) { |
|
| 181 | 181 | return false; |
| 182 | 182 | } |
| 183 | 183 | |
| 184 | - $price = wpinv_get_item_price( $item_id ); |
|
| 185 | - $price = wpinv_price( $price ); |
|
| 184 | + $price = wpinv_get_item_price($item_id); |
|
| 185 | + $price = wpinv_price($price); |
|
| 186 | 186 | |
| 187 | - return apply_filters( 'wpinv_item_price', $price, $item_id ); |
|
| 187 | + return apply_filters('wpinv_item_price', $price, $item_id); |
|
| 188 | 188 | } |
| 189 | 189 | |
| 190 | -function wpinv_get_item_final_price( $item_id = 0, $amount_override = null ) { |
|
| 191 | - if ( is_null( $amount_override ) ) { |
|
| 192 | - $original_price = get_post_meta( $item_id, '_wpinv_price', true ); |
|
| 190 | +function wpinv_get_item_final_price($item_id = 0, $amount_override = null) { |
|
| 191 | + if (is_null($amount_override)) { |
|
| 192 | + $original_price = get_post_meta($item_id, '_wpinv_price', true); |
|
| 193 | 193 | } else { |
| 194 | 194 | $original_price = $amount_override; |
| 195 | 195 | } |
| 196 | 196 | |
| 197 | 197 | $price = $original_price; |
| 198 | 198 | |
| 199 | - return apply_filters( 'wpinv_get_item_final_price', $price, $item_id ); |
|
| 199 | + return apply_filters('wpinv_get_item_final_price', $price, $item_id); |
|
| 200 | 200 | } |
| 201 | 201 | |
| 202 | -function wpinv_item_custom_singular_name( $item_id ) { |
|
| 203 | - if ( empty( $item_id ) ) { |
|
| 202 | +function wpinv_item_custom_singular_name($item_id) { |
|
| 203 | + if (empty($item_id)) { |
|
| 204 | 204 | return false; |
| 205 | 205 | } |
| 206 | 206 | |
| 207 | - $item = new WPInv_Item( $item_id ); |
|
| 207 | + $item = new WPInv_Item($item_id); |
|
| 208 | 208 | |
| 209 | 209 | return $item->get_custom_singular_name(); |
| 210 | 210 | } |
| 211 | 211 | |
| 212 | 212 | function wpinv_get_item_types() { |
| 213 | 213 | $item_types = array( |
| 214 | - 'custom' => __( 'Standard', 'invoicing' ), |
|
| 215 | - 'fee' => __( 'Fee', 'invoicing' ), |
|
| 214 | + 'custom' => __('Standard', 'invoicing'), |
|
| 215 | + 'fee' => __('Fee', 'invoicing'), |
|
| 216 | 216 | ); |
| 217 | - return apply_filters( 'wpinv_get_item_types', $item_types ); |
|
| 217 | + return apply_filters('wpinv_get_item_types', $item_types); |
|
| 218 | 218 | } |
| 219 | 219 | |
| 220 | 220 | function wpinv_item_types() { |
| 221 | 221 | $item_types = wpinv_get_item_types(); |
| 222 | 222 | |
| 223 | - return ( ! empty( $item_types ) ? array_keys( $item_types ) : array() ); |
|
| 223 | + return (!empty($item_types) ? array_keys($item_types) : array()); |
|
| 224 | 224 | } |
| 225 | 225 | |
| 226 | -function wpinv_get_item_type( $item_id ) { |
|
| 227 | - if ( empty( $item_id ) ) { |
|
| 226 | +function wpinv_get_item_type($item_id) { |
|
| 227 | + if (empty($item_id)) { |
|
| 228 | 228 | return false; |
| 229 | 229 | } |
| 230 | 230 | |
| 231 | - $item = new WPInv_Item( $item_id ); |
|
| 231 | + $item = new WPInv_Item($item_id); |
|
| 232 | 232 | |
| 233 | 233 | return $item->get_type(); |
| 234 | 234 | } |
| 235 | 235 | |
| 236 | -function wpinv_item_type( $item_id ) { |
|
| 236 | +function wpinv_item_type($item_id) { |
|
| 237 | 237 | $item_types = wpinv_get_item_types(); |
| 238 | 238 | |
| 239 | - $item_type = wpinv_get_item_type( $item_id ); |
|
| 239 | + $item_type = wpinv_get_item_type($item_id); |
|
| 240 | 240 | |
| 241 | - if ( empty( $item_type ) ) { |
|
| 241 | + if (empty($item_type)) { |
|
| 242 | 242 | $item_type = '-'; |
| 243 | 243 | } |
| 244 | 244 | |
| 245 | - $item_type = isset( $item_types[ $item_type ] ) ? $item_types[ $item_type ] : __( $item_type, 'invoicing' ); |
|
| 245 | + $item_type = isset($item_types[$item_type]) ? $item_types[$item_type] : __($item_type, 'invoicing'); |
|
| 246 | 246 | |
| 247 | - return apply_filters( 'wpinv_item_type', $item_type, $item_id ); |
|
| 247 | + return apply_filters('wpinv_item_type', $item_type, $item_id); |
|
| 248 | 248 | } |
| 249 | 249 | |
| 250 | -function wpinv_get_random_item( $post_ids = true ) { |
|
| 251 | - wpinv_get_random_items( 1, $post_ids ); |
|
| 250 | +function wpinv_get_random_item($post_ids = true) { |
|
| 251 | + wpinv_get_random_items(1, $post_ids); |
|
| 252 | 252 | } |
| 253 | 253 | |
| 254 | -function wpinv_get_random_items( $num = 3, $post_ids = true ) { |
|
| 254 | +function wpinv_get_random_items($num = 3, $post_ids = true) { |
|
| 255 | 255 | $args = array(); |
| 256 | - if ( $post_ids ) { |
|
| 256 | + if ($post_ids) { |
|
| 257 | 257 | $args = array( |
| 258 | 258 | 'fields' => 'ids', |
| 259 | 259 | ); |
@@ -274,9 +274,9 @@ discard block |
||
| 274 | 274 | ) |
| 275 | 275 | ); |
| 276 | 276 | |
| 277 | - $args = apply_filters( 'wpinv_get_random_items', $args ); |
|
| 277 | + $args = apply_filters('wpinv_get_random_items', $args); |
|
| 278 | 278 | |
| 279 | - return get_posts( $args ); |
|
| 279 | + return get_posts($args); |
|
| 280 | 280 | } |
| 281 | 281 | |
| 282 | 282 | /** |
@@ -285,13 +285,13 @@ discard block |
||
| 285 | 285 | * @param WPInv_Item|int $item |
| 286 | 286 | * @param bool $html |
| 287 | 287 | */ |
| 288 | -function wpinv_get_item_suffix( $item, $html = true ) { |
|
| 288 | +function wpinv_get_item_suffix($item, $html = true) { |
|
| 289 | 289 | |
| 290 | - $item = new WPInv_Item( $item ); |
|
| 291 | - $suffix = $item->is_recurring() ? ' ' . __( '(r)', 'invoicing' ) : ''; |
|
| 292 | - $suffix = $html ? $suffix : wp_strip_all_tags( $suffix ); |
|
| 290 | + $item = new WPInv_Item($item); |
|
| 291 | + $suffix = $item->is_recurring() ? ' ' . __('(r)', 'invoicing') : ''; |
|
| 292 | + $suffix = $html ? $suffix : wp_strip_all_tags($suffix); |
|
| 293 | 293 | |
| 294 | - return apply_filters( 'wpinv_get_item_suffix', $suffix, $item, $html ); |
|
| 294 | + return apply_filters('wpinv_get_item_suffix', $suffix, $item, $html); |
|
| 295 | 295 | } |
| 296 | 296 | |
| 297 | 297 | /** |
@@ -300,9 +300,9 @@ discard block |
||
| 300 | 300 | * @param WPInv_Item|int $item |
| 301 | 301 | * @param bool $force_delete |
| 302 | 302 | */ |
| 303 | -function wpinv_remove_item( $item = 0, $force_delete = false ) { |
|
| 304 | - $item = new WPInv_Item( $item ); |
|
| 305 | - $item->delete( $force_delete ); |
|
| 303 | +function wpinv_remove_item($item = 0, $force_delete = false) { |
|
| 304 | + $item = new WPInv_Item($item); |
|
| 305 | + $item->delete($force_delete); |
|
| 306 | 306 | } |
| 307 | 307 | |
| 308 | 308 | /** |
@@ -341,44 +341,44 @@ discard block |
||
| 341 | 341 | * @param bool $wp_error whether or not to return a WP_Error on failure. |
| 342 | 342 | * @return bool|WP_Error|WPInv_Item |
| 343 | 343 | */ |
| 344 | -function wpinv_create_item( $args = array(), $wp_error = false ) { |
|
| 344 | +function wpinv_create_item($args = array(), $wp_error = false) { |
|
| 345 | 345 | |
| 346 | 346 | // Prepare the item. |
| 347 | - if ( ! empty( $args['custom_id'] ) && empty( $args['ID'] ) ) { |
|
| 348 | - $type = empty( $args['type'] ) ? 'custom' : $args['type']; |
|
| 349 | - $item = wpinv_get_item_by( 'custom_id', $args['custom_id'], $type ); |
|
| 347 | + if (!empty($args['custom_id']) && empty($args['ID'])) { |
|
| 348 | + $type = empty($args['type']) ? 'custom' : $args['type']; |
|
| 349 | + $item = wpinv_get_item_by('custom_id', $args['custom_id'], $type); |
|
| 350 | 350 | |
| 351 | - if ( ! empty( $item ) ) { |
|
| 351 | + if (!empty($item)) { |
|
| 352 | 352 | $args['ID'] = $item->get_id(); |
| 353 | 353 | } |
| 354 | 354 | } |
| 355 | 355 | |
| 356 | 356 | // Do we have an item? |
| 357 | - if ( ! empty( $args['ID'] ) ) { |
|
| 358 | - $item = new WPInv_Item( $args['ID'] ); |
|
| 357 | + if (!empty($args['ID'])) { |
|
| 358 | + $item = new WPInv_Item($args['ID']); |
|
| 359 | 359 | } else { |
| 360 | 360 | $item = new WPInv_Item(); |
| 361 | 361 | } |
| 362 | 362 | |
| 363 | 363 | // Do we have an error? |
| 364 | - if ( ! empty( $item->last_error ) ) { |
|
| 365 | - return $wp_error ? new WP_Error( 'invalid_item', $item->last_error ) : false; |
|
| 364 | + if (!empty($item->last_error)) { |
|
| 365 | + return $wp_error ? new WP_Error('invalid_item', $item->last_error) : false; |
|
| 366 | 366 | } |
| 367 | 367 | |
| 368 | 368 | // Update item props. |
| 369 | - $item->set_props( $args ); |
|
| 369 | + $item->set_props($args); |
|
| 370 | 370 | |
| 371 | 371 | // Save the item. |
| 372 | 372 | $item->save(); |
| 373 | 373 | |
| 374 | 374 | // Do we have an error? |
| 375 | - if ( ! empty( $item->last_error ) ) { |
|
| 376 | - return $wp_error ? new WP_Error( 'not_saved', $item->last_error ) : false; |
|
| 375 | + if (!empty($item->last_error)) { |
|
| 376 | + return $wp_error ? new WP_Error('not_saved', $item->last_error) : false; |
|
| 377 | 377 | } |
| 378 | 378 | |
| 379 | 379 | // Was the item saved? |
| 380 | - if ( ! $item->get_id() ) { |
|
| 381 | - return $wp_error ? new WP_Error( 'not_saved', __( 'An error occured while saving the item', 'invoicing' ) ) : false; |
|
| 380 | + if (!$item->get_id()) { |
|
| 381 | + return $wp_error ? new WP_Error('not_saved', __('An error occured while saving the item', 'invoicing')) : false; |
|
| 382 | 382 | } |
| 383 | 383 | |
| 384 | 384 | return $item; |
@@ -390,14 +390,14 @@ discard block |
||
| 390 | 390 | * |
| 391 | 391 | * @see wpinv_create_item() |
| 392 | 392 | */ |
| 393 | -function wpinv_update_item( $args = array(), $wp_error = false ) { |
|
| 394 | - return wpinv_create_item( $args, $wp_error ); |
|
| 393 | +function wpinv_update_item($args = array(), $wp_error = false) { |
|
| 394 | + return wpinv_create_item($args, $wp_error); |
|
| 395 | 395 | } |
| 396 | 396 | |
| 397 | 397 | /** |
| 398 | 398 | * Sanitizes a recurring period |
| 399 | 399 | */ |
| 400 | -function getpaid_sanitize_recurring_period( $period, $full = false ) { |
|
| 400 | +function getpaid_sanitize_recurring_period($period, $full = false) { |
|
| 401 | 401 | |
| 402 | 402 | $periods = array( |
| 403 | 403 | 'D' => 'day', |
@@ -406,16 +406,16 @@ discard block |
||
| 406 | 406 | 'Y' => 'year', |
| 407 | 407 | ); |
| 408 | 408 | |
| 409 | - if ( ! isset( $periods[ $period ] ) ) { |
|
| 409 | + if (!isset($periods[$period])) { |
|
| 410 | 410 | $period = 'D'; |
| 411 | 411 | } |
| 412 | 412 | |
| 413 | - return $full ? $periods[ $period ] : $period; |
|
| 413 | + return $full ? $periods[$period] : $period; |
|
| 414 | 414 | |
| 415 | 415 | } |
| 416 | 416 | |
| 417 | -function wpinv_item_max_buyable_quantity( $item_id ) { |
|
| 418 | - return apply_filters( 'wpinv_item_max_buyable_quantity', 5, $item_id ); |
|
| 417 | +function wpinv_item_max_buyable_quantity($item_id) { |
|
| 418 | + return apply_filters('wpinv_item_max_buyable_quantity', 5, $item_id); |
|
| 419 | 419 | } |
| 420 | 420 | |
| 421 | 421 | /** |
@@ -423,47 +423,47 @@ discard block |
||
| 423 | 423 | * |
| 424 | 424 | * @param WPInv_Item|GetPaid_Form_Item $item |
| 425 | 425 | */ |
| 426 | -function getpaid_item_recurring_price_help_text( $item, $currency = '', $_initial_price = false, $_recurring_price = false ) { |
|
| 426 | +function getpaid_item_recurring_price_help_text($item, $currency = '', $_initial_price = false, $_recurring_price = false) { |
|
| 427 | 427 | |
| 428 | 428 | // Abort if it is not recurring. |
| 429 | - if ( ! $item->is_recurring() ) { |
|
| 429 | + if (!$item->is_recurring()) { |
|
| 430 | 430 | return ''; |
| 431 | 431 | } |
| 432 | 432 | |
| 433 | - $initial_price = false === $_initial_price ? wpinv_price( $item->get_initial_price(), $currency ) : $_initial_price; |
|
| 434 | - $recurring_price = false === $_recurring_price ? wpinv_price( $item->get_recurring_price(), $currency ) : $_recurring_price; |
|
| 435 | - $period = getpaid_get_subscription_period_label( $item->get_recurring_period(), $item->get_recurring_interval(), '' ); |
|
| 433 | + $initial_price = false === $_initial_price ? wpinv_price($item->get_initial_price(), $currency) : $_initial_price; |
|
| 434 | + $recurring_price = false === $_recurring_price ? wpinv_price($item->get_recurring_price(), $currency) : $_recurring_price; |
|
| 435 | + $period = getpaid_get_subscription_period_label($item->get_recurring_period(), $item->get_recurring_interval(), ''); |
|
| 436 | 436 | $initial_class = 'getpaid-item-initial-price'; |
| 437 | 437 | $recurring_class = 'getpaid-item-recurring-price'; |
| 438 | 438 | $bill_times = $item->get_recurring_limit(); |
| 439 | 439 | $bill_times_less = $bill_times - 1; |
| 440 | 440 | |
| 441 | - if ( ! empty( $bill_times ) ) { |
|
| 441 | + if (!empty($bill_times)) { |
|
| 442 | 442 | $bill_times = $item->get_recurring_interval() * $bill_times; |
| 443 | - $bill_times_less = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times - $item->get_recurring_interval() ); |
|
| 444 | - $bill_times = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times ); |
|
| 443 | + $bill_times_less = getpaid_get_subscription_period_label($item->get_recurring_period(), $bill_times - $item->get_recurring_interval()); |
|
| 444 | + $bill_times = getpaid_get_subscription_period_label($item->get_recurring_period(), $bill_times); |
|
| 445 | 445 | } |
| 446 | 446 | |
| 447 | - if ( $item instanceof GetPaid_Form_Item && false === $_initial_price ) { |
|
| 448 | - $initial_price = wpinv_price( $item->get_sub_total(), $currency ); |
|
| 449 | - $recurring_price = wpinv_price( $item->get_recurring_sub_total(), $currency ); |
|
| 447 | + if ($item instanceof GetPaid_Form_Item && false === $_initial_price) { |
|
| 448 | + $initial_price = wpinv_price($item->get_sub_total(), $currency); |
|
| 449 | + $recurring_price = wpinv_price($item->get_recurring_sub_total(), $currency); |
|
| 450 | 450 | } |
| 451 | 451 | |
| 452 | - if ( wpinv_price( 0, $currency ) == $initial_price && wpinv_price( 0, $currency ) == $recurring_price ) { |
|
| 453 | - return __( 'Free forever', 'invoicing' ); |
|
| 452 | + if (wpinv_price(0, $currency) == $initial_price && wpinv_price(0, $currency) == $recurring_price) { |
|
| 453 | + return __('Free forever', 'invoicing'); |
|
| 454 | 454 | } |
| 455 | 455 | |
| 456 | 456 | // For free trial items. |
| 457 | - if ( $item->has_free_trial() ) { |
|
| 458 | - $trial_period = getpaid_get_subscription_period_label( $item->get_trial_period(), $item->get_trial_interval() ); |
|
| 457 | + if ($item->has_free_trial()) { |
|
| 458 | + $trial_period = getpaid_get_subscription_period_label($item->get_trial_period(), $item->get_trial_interval()); |
|
| 459 | 459 | |
| 460 | - if ( wpinv_price( 0, $currency ) == $initial_price ) { |
|
| 460 | + if (wpinv_price(0, $currency) == $initial_price) { |
|
| 461 | 461 | |
| 462 | - if ( empty( $bill_times ) ) { |
|
| 462 | + if (empty($bill_times)) { |
|
| 463 | 463 | |
| 464 | 464 | return sprintf( |
| 465 | 465 | // translators: $1: is the trial period, $2: is the recurring price, $3: is the susbcription period |
| 466 | - _x( 'Free for %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year)', 'invoicing' ), |
|
| 466 | + _x('Free for %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year)', 'invoicing'), |
|
| 467 | 467 | "<span class='getpaid-item-trial-period'>$trial_period</span>", |
| 468 | 468 | "<span class='$recurring_class'>$recurring_price</span>", |
| 469 | 469 | "<span class='getpaid-item-recurring-period'>$period</span>" |
@@ -473,7 +473,7 @@ discard block |
||
| 473 | 473 | |
| 474 | 474 | return sprintf( |
| 475 | 475 | // translators: $1: is the trial period, $2: is the recurring price, $3: is the susbcription period, $4: is the bill times |
| 476 | - _x( 'Free for %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year for 4 years)', 'invoicing' ), |
|
| 476 | + _x('Free for %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year for 4 years)', 'invoicing'), |
|
| 477 | 477 | "<span class='getpaid-item-trial-period'>$trial_period</span>", |
| 478 | 478 | "<span class='$recurring_class'>$recurring_price</span>", |
| 479 | 479 | "<span class='getpaid-item-recurring-period'>$period</span>", |
@@ -482,11 +482,11 @@ discard block |
||
| 482 | 482 | |
| 483 | 483 | } |
| 484 | 484 | |
| 485 | - if ( empty( $bill_times ) ) { |
|
| 485 | + if (empty($bill_times)) { |
|
| 486 | 486 | |
| 487 | 487 | return sprintf( |
| 488 | 488 | // translators: $1: is the initial price, $2: is the trial period, $3: is the recurring price, $4: is the susbcription period |
| 489 | - _x( '%1$s for %2$s then %3$s / %4$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year)', 'invoicing' ), |
|
| 489 | + _x('%1$s for %2$s then %3$s / %4$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year)', 'invoicing'), |
|
| 490 | 490 | "<span class='$initial_class'>$initial_price</span>", |
| 491 | 491 | "<span class='getpaid-item-trial-period'>$trial_period</span>", |
| 492 | 492 | "<span class='$recurring_class'>$recurring_price</span>", |
@@ -497,7 +497,7 @@ discard block |
||
| 497 | 497 | |
| 498 | 498 | return sprintf( |
| 499 | 499 | // translators: $1: is the initial price, $2: is the trial period, $3: is the recurring price, $4: is the susbcription period, $4: is the susbcription bill times |
| 500 | - _x( '%1$s for %2$s then %3$s / %4$s for %5$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year for 5 years)', 'invoicing' ), |
|
| 500 | + _x('%1$s for %2$s then %3$s / %4$s for %5$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year for 5 years)', 'invoicing'), |
|
| 501 | 501 | "<span class='$initial_class'>$initial_price</span>", |
| 502 | 502 | "<span class='getpaid-item-trial-period'>$trial_period</span>", |
| 503 | 503 | "<span class='$recurring_class'>$recurring_price</span>", |
@@ -507,13 +507,13 @@ discard block |
||
| 507 | 507 | |
| 508 | 508 | } |
| 509 | 509 | |
| 510 | - if ( $initial_price == $recurring_price ) { |
|
| 510 | + if ($initial_price == $recurring_price) { |
|
| 511 | 511 | |
| 512 | - if ( empty( $bill_times ) ) { |
|
| 512 | + if (empty($bill_times)) { |
|
| 513 | 513 | |
| 514 | 514 | return sprintf( |
| 515 | 515 | // translators: $1: is the recurring price, $2: is the susbcription period |
| 516 | - _x( '%1$s / %2$s', 'Item subscription amount. (e.g.: $120 / year)', 'invoicing' ), |
|
| 516 | + _x('%1$s / %2$s', 'Item subscription amount. (e.g.: $120 / year)', 'invoicing'), |
|
| 517 | 517 | "<span class='$recurring_class'>$recurring_price</span>", |
| 518 | 518 | "<span class='getpaid-item-recurring-period'>$period</span>" |
| 519 | 519 | ); |
@@ -522,7 +522,7 @@ discard block |
||
| 522 | 522 | |
| 523 | 523 | return sprintf( |
| 524 | 524 | // translators: $1: is the recurring price, $2: is the susbcription period, $3: is the susbcription bill times |
| 525 | - _x( '%1$s / %2$s for %3$s', 'Item subscription amount. (e.g.: $120 / year for 5 years)', 'invoicing' ), |
|
| 525 | + _x('%1$s / %2$s for %3$s', 'Item subscription amount. (e.g.: $120 / year for 5 years)', 'invoicing'), |
|
| 526 | 526 | "<span class='$recurring_class'>$recurring_price</span>", |
| 527 | 527 | "<span class='getpaid-item-recurring-period'>$period</span>", |
| 528 | 528 | "<span class='getpaid-item-recurring-bill-times'>$bill_times</span>" |
@@ -530,13 +530,13 @@ discard block |
||
| 530 | 530 | |
| 531 | 531 | } |
| 532 | 532 | |
| 533 | - if ( $initial_price == wpinv_price( 0, $currency ) ) { |
|
| 533 | + if ($initial_price == wpinv_price(0, $currency)) { |
|
| 534 | 534 | |
| 535 | - if ( empty( $bill_times ) ) { |
|
| 535 | + if (empty($bill_times)) { |
|
| 536 | 536 | |
| 537 | 537 | return sprintf( |
| 538 | 538 | // translators: $1: is the recurring period, $2: is the recurring price |
| 539 | - _x( 'Free for %1$s then %2$s / %1$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months)', 'invoicing' ), |
|
| 539 | + _x('Free for %1$s then %2$s / %1$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months)', 'invoicing'), |
|
| 540 | 540 | "<span class='getpaid-item-recurring-period'>$period</span>", |
| 541 | 541 | "<span class='$recurring_class'>$recurring_price</span>" |
| 542 | 542 | ); |
@@ -545,7 +545,7 @@ discard block |
||
| 545 | 545 | |
| 546 | 546 | return sprintf( |
| 547 | 547 | // translators: $1: is the recurring period, $2: is the recurring price, $3: is the bill times |
| 548 | - _x( 'Free for %1$s then %2$s / %1$s for %3$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months for 12 months)', 'invoicing' ), |
|
| 548 | + _x('Free for %1$s then %2$s / %1$s for %3$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months for 12 months)', 'invoicing'), |
|
| 549 | 549 | "<span class='getpaid-item-recurring-period'>$period</span>", |
| 550 | 550 | "<span class='$recurring_class'>$recurring_price</span>", |
| 551 | 551 | "<span class='getpaid-item-recurring-bill-times'>$bill_times_less</span>" |
@@ -553,11 +553,11 @@ discard block |
||
| 553 | 553 | |
| 554 | 554 | } |
| 555 | 555 | |
| 556 | - if ( empty( $bill_times ) ) { |
|
| 556 | + if (empty($bill_times)) { |
|
| 557 | 557 | |
| 558 | 558 | return sprintf( |
| 559 | 559 | // translators: $1: is the initial price, $2: is the recurring price, $3: is the susbcription period |
| 560 | - _x( 'Initial payment of %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year)', 'invoicing' ), |
|
| 560 | + _x('Initial payment of %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year)', 'invoicing'), |
|
| 561 | 561 | "<span class='$initial_class'>$initial_price</span>", |
| 562 | 562 | "<span class='$recurring_class'>$recurring_price</span>", |
| 563 | 563 | "<span class='getpaid-item-recurring-period'>$period</span>" |
@@ -567,7 +567,7 @@ discard block |
||
| 567 | 567 | |
| 568 | 568 | return sprintf( |
| 569 | 569 | // translators: $1: is the initial price, $2: is the recurring price, $3: is the susbcription period, $4: is the susbcription bill times |
| 570 | - _x( 'Initial payment of %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year for 4 years)', 'invoicing' ), |
|
| 570 | + _x('Initial payment of %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year for 4 years)', 'invoicing'), |
|
| 571 | 571 | "<span class='$initial_class'>$initial_price</span>", |
| 572 | 572 | "<span class='$recurring_class'>$recurring_price</span>", |
| 573 | 573 | "<span class='getpaid-item-recurring-period'>$period</span>", |
@@ -13,17 +13,17 @@ discard block |
||
| 13 | 13 | class GetPaid_Authorize_Net_Gateway extends GetPaid_Authorize_Net_Legacy_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 = 'authorizenet'; |
| 21 | 21 | |
| 22 | 22 | /** |
| 23 | - * An array of features that this gateway supports. |
|
| 24 | - * |
|
| 25 | - * @var array |
|
| 26 | - */ |
|
| 23 | + * An array of features that this gateway supports. |
|
| 24 | + * |
|
| 25 | + * @var array |
|
| 26 | + */ |
|
| 27 | 27 | protected $supports = array( |
| 28 | 28 | 'subscription', |
| 29 | 29 | 'sandbox', |
@@ -36,44 +36,44 @@ discard block |
||
| 36 | 36 | ); |
| 37 | 37 | |
| 38 | 38 | /** |
| 39 | - * Payment method order. |
|
| 40 | - * |
|
| 41 | - * @var int |
|
| 42 | - */ |
|
| 39 | + * Payment method order. |
|
| 40 | + * |
|
| 41 | + * @var int |
|
| 42 | + */ |
|
| 43 | 43 | public $order = 4; |
| 44 | 44 | |
| 45 | 45 | /** |
| 46 | - * Endpoint for requests from Authorize.net. |
|
| 47 | - * |
|
| 48 | - * @var string |
|
| 49 | - */ |
|
| 50 | - protected $notify_url; |
|
| 51 | - |
|
| 52 | - /** |
|
| 53 | - * Endpoint for requests to Authorize.net. |
|
| 54 | - * |
|
| 55 | - * @var string |
|
| 56 | - */ |
|
| 46 | + * Endpoint for requests from Authorize.net. |
|
| 47 | + * |
|
| 48 | + * @var string |
|
| 49 | + */ |
|
| 50 | + protected $notify_url; |
|
| 51 | + |
|
| 52 | + /** |
|
| 53 | + * Endpoint for requests to Authorize.net. |
|
| 54 | + * |
|
| 55 | + * @var string |
|
| 56 | + */ |
|
| 57 | 57 | protected $endpoint; |
| 58 | 58 | |
| 59 | 59 | /** |
| 60 | - * Currencies this gateway is allowed for. |
|
| 61 | - * |
|
| 62 | - * @var array |
|
| 63 | - */ |
|
| 64 | - public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' ); |
|
| 60 | + * Currencies this gateway is allowed for. |
|
| 61 | + * |
|
| 62 | + * @var array |
|
| 63 | + */ |
|
| 64 | + public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' ); |
|
| 65 | 65 | |
| 66 | 66 | /** |
| 67 | - * URL to view a transaction. |
|
| 68 | - * |
|
| 69 | - * @var string |
|
| 70 | - */ |
|
| 67 | + * URL to view a transaction. |
|
| 68 | + * |
|
| 69 | + * @var string |
|
| 70 | + */ |
|
| 71 | 71 | public $view_transaction_url = 'https://{sandbox}authorize.net/ui/themes/sandbox/Transaction/TransactionReceipt.aspx?transid=%s'; |
| 72 | 72 | |
| 73 | 73 | /** |
| 74 | - * Class constructor. |
|
| 75 | - */ |
|
| 76 | - public function __construct() { |
|
| 74 | + * Class constructor. |
|
| 75 | + */ |
|
| 76 | + public function __construct() { |
|
| 77 | 77 | |
| 78 | 78 | $this->title = __( 'Credit Card / Debit Card', 'invoicing' ); |
| 79 | 79 | $this->method_title = __( 'Authorize.Net', 'invoicing' ); |
@@ -85,11 +85,11 @@ discard block |
||
| 85 | 85 | } |
| 86 | 86 | |
| 87 | 87 | /** |
| 88 | - * Displays the payment method select field. |
|
| 89 | - * |
|
| 90 | - * @param int $invoice_id 0 or invoice id. |
|
| 91 | - * @param GetPaid_Payment_Form $form Current payment form. |
|
| 92 | - */ |
|
| 88 | + * Displays the payment method select field. |
|
| 89 | + * |
|
| 90 | + * @param int $invoice_id 0 or invoice id. |
|
| 91 | + * @param GetPaid_Payment_Form $form Current payment form. |
|
| 92 | + */ |
|
| 93 | 93 | public function payment_fields( $invoice_id, $form ) { |
| 94 | 94 | |
| 95 | 95 | // Let the user select a payment method. |
@@ -100,16 +100,16 @@ discard block |
||
| 100 | 100 | } |
| 101 | 101 | |
| 102 | 102 | /** |
| 103 | - * Creates a customer profile. |
|
| 104 | - * |
|
| 105 | - * |
|
| 106 | - * @param WPInv_Invoice $invoice Invoice. |
|
| 103 | + * Creates a customer profile. |
|
| 104 | + * |
|
| 105 | + * |
|
| 106 | + * @param WPInv_Invoice $invoice Invoice. |
|
| 107 | 107 | * @param array $submission_data Posted checkout fields. |
| 108 | 108 | * @param bool $save Whether or not to save the payment as a token. |
| 109 | 109 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile |
| 110 | - * @return string|WP_Error Payment profile id. |
|
| 111 | - */ |
|
| 112 | - public function create_customer_profile( $invoice, $submission_data, $save = true ) { |
|
| 110 | + * @return string|WP_Error Payment profile id. |
|
| 111 | + */ |
|
| 112 | + public function create_customer_profile( $invoice, $submission_data, $save = true ) { |
|
| 113 | 113 | |
| 114 | 114 | // Remove non-digits from the number |
| 115 | 115 | $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] ); |
@@ -191,14 +191,14 @@ discard block |
||
| 191 | 191 | } |
| 192 | 192 | |
| 193 | 193 | /** |
| 194 | - * Retrieves a customer profile. |
|
| 195 | - * |
|
| 196 | - * |
|
| 197 | - * @param string $profile_id profile id. |
|
| 198 | - * @return string|WP_Error Profile id. |
|
| 194 | + * Retrieves a customer profile. |
|
| 195 | + * |
|
| 196 | + * |
|
| 197 | + * @param string $profile_id profile id. |
|
| 198 | + * @return string|WP_Error Profile id. |
|
| 199 | 199 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile |
| 200 | - */ |
|
| 201 | - public function get_customer_profile( $profile_id ) { |
|
| 200 | + */ |
|
| 201 | + public function get_customer_profile( $profile_id ) { |
|
| 202 | 202 | |
| 203 | 203 | // Generate args. |
| 204 | 204 | $args = array( |
@@ -213,17 +213,17 @@ discard block |
||
| 213 | 213 | } |
| 214 | 214 | |
| 215 | 215 | /** |
| 216 | - * Creates a customer profile. |
|
| 217 | - * |
|
| 218 | - * |
|
| 216 | + * Creates a customer profile. |
|
| 217 | + * |
|
| 218 | + * |
|
| 219 | 219 | * @param string $profile_id profile id. |
| 220 | - * @param WPInv_Invoice $invoice Invoice. |
|
| 220 | + * @param WPInv_Invoice $invoice Invoice. |
|
| 221 | 221 | * @param array $submission_data Posted checkout fields. |
| 222 | 222 | * @param bool $save Whether or not to save the payment as a token. |
| 223 | 223 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile |
| 224 | - * @return string|WP_Error Profile id. |
|
| 225 | - */ |
|
| 226 | - public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) { |
|
| 224 | + * @return string|WP_Error Profile id. |
|
| 225 | + */ |
|
| 226 | + public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) { |
|
| 227 | 227 | |
| 228 | 228 | // Remove non-digits from the number |
| 229 | 229 | $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] ); |
@@ -311,13 +311,13 @@ discard block |
||
| 311 | 311 | } |
| 312 | 312 | |
| 313 | 313 | /** |
| 314 | - * Retrieves payment details from cache. |
|
| 315 | - * |
|
| 316 | - * |
|
| 314 | + * Retrieves payment details from cache. |
|
| 315 | + * |
|
| 316 | + * |
|
| 317 | 317 | * @param array $payment_details. |
| 318 | - * @return array|false Profile id. |
|
| 319 | - */ |
|
| 320 | - public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) { |
|
| 318 | + * @return array|false Profile id. |
|
| 319 | + */ |
|
| 320 | + public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) { |
|
| 321 | 321 | |
| 322 | 322 | $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() ); |
| 323 | 323 | $payment_details = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY ); |
@@ -342,13 +342,13 @@ discard block |
||
| 342 | 342 | } |
| 343 | 343 | |
| 344 | 344 | /** |
| 345 | - * Securely adds payment details to cache. |
|
| 346 | - * |
|
| 347 | - * |
|
| 345 | + * Securely adds payment details to cache. |
|
| 346 | + * |
|
| 347 | + * |
|
| 348 | 348 | * @param array $payment_details. |
| 349 | 349 | * @param string $payment_profile_id. |
| 350 | - */ |
|
| 351 | - public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) { |
|
| 350 | + */ |
|
| 351 | + public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) { |
|
| 352 | 352 | |
| 353 | 353 | $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() ); |
| 354 | 354 | $cached_information = is_array( $cached_information ) ? $cached_information : array(); |
@@ -360,15 +360,15 @@ discard block |
||
| 360 | 360 | } |
| 361 | 361 | |
| 362 | 362 | /** |
| 363 | - * Retrieves a customer payment profile. |
|
| 364 | - * |
|
| 365 | - * |
|
| 366 | - * @param string $customer_profile_id customer profile id. |
|
| 363 | + * Retrieves a customer payment profile. |
|
| 364 | + * |
|
| 365 | + * |
|
| 366 | + * @param string $customer_profile_id customer profile id. |
|
| 367 | 367 | * @param string $payment_profile_id payment profile id. |
| 368 | - * @return string|WP_Error Profile id. |
|
| 368 | + * @return string|WP_Error Profile id. |
|
| 369 | 369 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile |
| 370 | - */ |
|
| 371 | - public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) { |
|
| 370 | + */ |
|
| 371 | + public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) { |
|
| 372 | 372 | |
| 373 | 373 | // Generate args. |
| 374 | 374 | $args = array( |
@@ -384,15 +384,15 @@ discard block |
||
| 384 | 384 | } |
| 385 | 385 | |
| 386 | 386 | /** |
| 387 | - * Charges a customer payment profile. |
|
| 388 | - * |
|
| 387 | + * Charges a customer payment profile. |
|
| 388 | + * |
|
| 389 | 389 | * @param string $customer_profile_id customer profile id. |
| 390 | 390 | * @param string $payment_profile_id payment profile id. |
| 391 | - * @param WPInv_Invoice $invoice Invoice. |
|
| 391 | + * @param WPInv_Invoice $invoice Invoice. |
|
| 392 | 392 | * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile |
| 393 | - * @return WP_Error|object |
|
| 394 | - */ |
|
| 395 | - public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) { |
|
| 393 | + * @return WP_Error|object |
|
| 394 | + */ |
|
| 395 | + public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) { |
|
| 396 | 396 | |
| 397 | 397 | // Generate args. |
| 398 | 398 | $args = array( |
@@ -438,43 +438,43 @@ discard block |
||
| 438 | 438 | } |
| 439 | 439 | |
| 440 | 440 | /** |
| 441 | - * Processes a customer charge. |
|
| 442 | - * |
|
| 441 | + * Processes a customer charge. |
|
| 442 | + * |
|
| 443 | 443 | * @param stdClass $result Api response. |
| 444 | - * @param WPInv_Invoice $invoice Invoice. |
|
| 445 | - */ |
|
| 446 | - public function process_charge_response( $result, $invoice ) { |
|
| 444 | + * @param WPInv_Invoice $invoice Invoice. |
|
| 445 | + */ |
|
| 446 | + public function process_charge_response( $result, $invoice ) { |
|
| 447 | 447 | |
| 448 | 448 | wpinv_clear_errors(); |
| 449 | - $response_code = (int) $result->transactionResponse->responseCode; |
|
| 449 | + $response_code = (int) $result->transactionResponse->responseCode; |
|
| 450 | 450 | |
| 451 | 451 | $invoice->add_note( 'Transaction Response: ' . print_r( $result->transactionResponse, true ), false, false, true ); |
| 452 | 452 | |
| 453 | - // Succeeded. |
|
| 454 | - if ( 1 == $response_code || 4 == $response_code ) { |
|
| 453 | + // Succeeded. |
|
| 454 | + if ( 1 == $response_code || 4 == $response_code ) { |
|
| 455 | 455 | |
| 456 | - // Maybe set a transaction id. |
|
| 457 | - if ( ! empty( $result->transactionResponse->transId ) ) { |
|
| 458 | - $invoice->set_transaction_id( $result->transactionResponse->transId ); |
|
| 459 | - } |
|
| 456 | + // Maybe set a transaction id. |
|
| 457 | + if ( ! empty( $result->transactionResponse->transId ) ) { |
|
| 458 | + $invoice->set_transaction_id( $result->transactionResponse->transId ); |
|
| 459 | + } |
|
| 460 | 460 | |
| 461 | - $invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true ); |
|
| 461 | + $invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true ); |
|
| 462 | 462 | |
| 463 | - if ( 1 == $response_code ) { |
|
| 464 | - return $invoice->mark_paid(); |
|
| 465 | - } |
|
| 463 | + if ( 1 == $response_code ) { |
|
| 464 | + return $invoice->mark_paid(); |
|
| 465 | + } |
|
| 466 | 466 | |
| 467 | - $invoice->set_status( 'wpi-onhold' ); |
|
| 468 | - $invoice->add_note( |
|
| 467 | + $invoice->set_status( 'wpi-onhold' ); |
|
| 468 | + $invoice->add_note( |
|
| 469 | 469 | sprintf( |
| 470 | 470 | __( 'Held for review: %s', 'invoicing' ), |
| 471 | 471 | $result->transactionResponse->messages->message[0]->description |
| 472 | 472 | ) |
| 473 | - ); |
|
| 473 | + ); |
|
| 474 | 474 | |
| 475 | - return $invoice->save(); |
|
| 475 | + return $invoice->save(); |
|
| 476 | 476 | |
| 477 | - } |
|
| 477 | + } |
|
| 478 | 478 | |
| 479 | 479 | wpinv_set_error( 'card_declined' ); |
| 480 | 480 | |
@@ -486,13 +486,13 @@ discard block |
||
| 486 | 486 | } |
| 487 | 487 | |
| 488 | 488 | /** |
| 489 | - * Returns payment information. |
|
| 490 | - * |
|
| 491 | - * |
|
| 492 | - * @param array $card Card details. |
|
| 493 | - * @return array |
|
| 494 | - */ |
|
| 495 | - public function get_payment_information( $card ) { |
|
| 489 | + * Returns payment information. |
|
| 490 | + * |
|
| 491 | + * |
|
| 492 | + * @param array $card Card details. |
|
| 493 | + * @return array |
|
| 494 | + */ |
|
| 495 | + public function get_payment_information( $card ) { |
|
| 496 | 496 | return array( |
| 497 | 497 | |
| 498 | 498 | 'creditCard' => array( |
@@ -505,25 +505,25 @@ discard block |
||
| 505 | 505 | } |
| 506 | 506 | |
| 507 | 507 | /** |
| 508 | - * Returns the customer profile meta name. |
|
| 509 | - * |
|
| 510 | - * |
|
| 511 | - * @param WPInv_Invoice $invoice Invoice. |
|
| 512 | - * @return string |
|
| 513 | - */ |
|
| 514 | - public function get_customer_profile_meta_name( $invoice ) { |
|
| 508 | + * Returns the customer profile meta name. |
|
| 509 | + * |
|
| 510 | + * |
|
| 511 | + * @param WPInv_Invoice $invoice Invoice. |
|
| 512 | + * @return string |
|
| 513 | + */ |
|
| 514 | + public function get_customer_profile_meta_name( $invoice ) { |
|
| 515 | 515 | return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id'; |
| 516 | 516 | } |
| 517 | 517 | |
| 518 | 518 | /** |
| 519 | - * Validates the submitted data. |
|
| 520 | - * |
|
| 521 | - * |
|
| 522 | - * @param array $submission_data Posted checkout fields. |
|
| 519 | + * Validates the submitted data. |
|
| 520 | + * |
|
| 521 | + * |
|
| 522 | + * @param array $submission_data Posted checkout fields. |
|
| 523 | 523 | * @param WPInv_Invoice $invoice |
| 524 | - * @return WP_Error|string The payment profile id |
|
| 525 | - */ |
|
| 526 | - public function validate_submission_data( $submission_data, $invoice ) { |
|
| 524 | + * @return WP_Error|string The payment profile id |
|
| 525 | + */ |
|
| 526 | + public function validate_submission_data( $submission_data, $invoice ) { |
|
| 527 | 527 | |
| 528 | 528 | // Validate authentication details. |
| 529 | 529 | $auth = $this->get_auth_params(); |
@@ -555,13 +555,13 @@ discard block |
||
| 555 | 555 | } |
| 556 | 556 | |
| 557 | 557 | /** |
| 558 | - * Returns invoice line items. |
|
| 559 | - * |
|
| 560 | - * |
|
| 561 | - * @param WPInv_Invoice $invoice Invoice. |
|
| 562 | - * @return array |
|
| 563 | - */ |
|
| 564 | - public function get_line_items( $invoice ) { |
|
| 558 | + * Returns invoice line items. |
|
| 559 | + * |
|
| 560 | + * |
|
| 561 | + * @param WPInv_Invoice $invoice Invoice. |
|
| 562 | + * @return array |
|
| 563 | + */ |
|
| 564 | + public function get_line_items( $invoice ) { |
|
| 565 | 565 | $items = array(); |
| 566 | 566 | |
| 567 | 567 | foreach ( $invoice->get_items() as $item ) { |
@@ -598,15 +598,15 @@ discard block |
||
| 598 | 598 | } |
| 599 | 599 | |
| 600 | 600 | /** |
| 601 | - * Process Payment. |
|
| 602 | - * |
|
| 603 | - * |
|
| 604 | - * @param WPInv_Invoice $invoice Invoice. |
|
| 605 | - * @param array $submission_data Posted checkout fields. |
|
| 606 | - * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
| 607 | - * @return array |
|
| 608 | - */ |
|
| 609 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
| 601 | + * Process Payment. |
|
| 602 | + * |
|
| 603 | + * |
|
| 604 | + * @param WPInv_Invoice $invoice Invoice. |
|
| 605 | + * @param array $submission_data Posted checkout fields. |
|
| 606 | + * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
| 607 | + * @return array |
|
| 608 | + */ |
|
| 609 | + public function process_payment( $invoice, $submission_data, $submission ) { |
|
| 610 | 610 | |
| 611 | 611 | // Validate the submitted data. |
| 612 | 612 | $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice ); |
@@ -639,45 +639,45 @@ discard block |
||
| 639 | 639 | |
| 640 | 640 | exit; |
| 641 | 641 | |
| 642 | - } |
|
| 642 | + } |
|
| 643 | 643 | |
| 644 | - /** |
|
| 645 | - * Processes the initial payment. |
|
| 646 | - * |
|
| 644 | + /** |
|
| 645 | + * Processes the initial payment. |
|
| 646 | + * |
|
| 647 | 647 | * @param WPInv_Invoice $invoice Invoice. |
| 648 | - */ |
|
| 649 | - protected function process_initial_payment( $invoice ) { |
|
| 648 | + */ |
|
| 649 | + protected function process_initial_payment( $invoice ) { |
|
| 650 | 650 | |
| 651 | - $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
|
| 651 | + $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
|
| 652 | 652 | $customer_profile = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true ); |
| 653 | - $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice ); |
|
| 653 | + $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice ); |
|
| 654 | 654 | |
| 655 | - // Do we have an error? |
|
| 656 | - if ( is_wp_error( $result ) ) { |
|
| 657 | - wpinv_set_error( $result->get_error_code(), $result->get_error_message() ); |
|
| 658 | - wpinv_send_back_to_checkout( $invoice ); |
|
| 659 | - } |
|
| 655 | + // Do we have an error? |
|
| 656 | + if ( is_wp_error( $result ) ) { |
|
| 657 | + wpinv_set_error( $result->get_error_code(), $result->get_error_message() ); |
|
| 658 | + wpinv_send_back_to_checkout( $invoice ); |
|
| 659 | + } |
|
| 660 | 660 | |
| 661 | - // Process the response. |
|
| 662 | - $this->process_charge_response( $result, $invoice ); |
|
| 661 | + // Process the response. |
|
| 662 | + $this->process_charge_response( $result, $invoice ); |
|
| 663 | 663 | |
| 664 | - if ( wpinv_get_errors() ) { |
|
| 665 | - wpinv_send_back_to_checkout( $invoice ); |
|
| 666 | - } |
|
| 664 | + if ( wpinv_get_errors() ) { |
|
| 665 | + wpinv_send_back_to_checkout( $invoice ); |
|
| 666 | + } |
|
| 667 | 667 | |
| 668 | - } |
|
| 668 | + } |
|
| 669 | 669 | |
| 670 | 670 | /** |
| 671 | - * Processes recurring payments. |
|
| 672 | - * |
|
| 671 | + * Processes recurring payments. |
|
| 672 | + * |
|
| 673 | 673 | * @param WPInv_Invoice $invoice Invoice. |
| 674 | 674 | * @param WPInv_Subscription[]|WPInv_Subscription $subscriptions Subscriptions. |
| 675 | - */ |
|
| 676 | - public function process_subscription( $invoice, $subscriptions ) { |
|
| 675 | + */ |
|
| 676 | + public function process_subscription( $invoice, $subscriptions ) { |
|
| 677 | 677 | |
| 678 | 678 | // Check if there is an initial amount to charge. |
| 679 | 679 | if ( (float) $invoice->get_total() > 0 ) { |
| 680 | - $this->process_initial_payment( $invoice ); |
|
| 680 | + $this->process_initial_payment( $invoice ); |
|
| 681 | 681 | } |
| 682 | 682 | |
| 683 | 683 | // Activate the subscriptions. |
@@ -695,36 +695,36 @@ discard block |
||
| 695 | 695 | } |
| 696 | 696 | } |
| 697 | 697 | |
| 698 | - // Redirect to the success page. |
|
| 698 | + // Redirect to the success page. |
|
| 699 | 699 | wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
| 700 | 700 | |
| 701 | 701 | } |
| 702 | 702 | |
| 703 | - /** |
|
| 704 | - * (Maybe) renews an authorize.net subscription profile. |
|
| 705 | - * |
|
| 706 | - * |
|
| 703 | + /** |
|
| 704 | + * (Maybe) renews an authorize.net subscription profile. |
|
| 705 | + * |
|
| 706 | + * |
|
| 707 | 707 | * @param WPInv_Subscription $subscription |
| 708 | - */ |
|
| 709 | - public function maybe_renew_subscription( $subscription ) { |
|
| 708 | + */ |
|
| 709 | + public function maybe_renew_subscription( $subscription ) { |
|
| 710 | 710 | |
| 711 | 711 | // Ensure its our subscription && it's active. |
| 712 | 712 | if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) { |
| 713 | 713 | $this->renew_subscription( $subscription ); |
| 714 | 714 | } |
| 715 | 715 | |
| 716 | - } |
|
| 716 | + } |
|
| 717 | 717 | |
| 718 | 718 | /** |
| 719 | - * Renews a subscription. |
|
| 720 | - * |
|
| 719 | + * Renews a subscription. |
|
| 720 | + * |
|
| 721 | 721 | * @param WPInv_Subscription $subscription |
| 722 | - */ |
|
| 723 | - public function renew_subscription( $subscription ) { |
|
| 722 | + */ |
|
| 723 | + public function renew_subscription( $subscription ) { |
|
| 724 | 724 | |
| 725 | - // Generate the renewal invoice. |
|
| 726 | - $new_invoice = $subscription->create_payment(); |
|
| 727 | - $old_invoice = $subscription->get_parent_payment(); |
|
| 725 | + // Generate the renewal invoice. |
|
| 726 | + $new_invoice = $subscription->create_payment(); |
|
| 727 | + $old_invoice = $subscription->get_parent_payment(); |
|
| 728 | 728 | |
| 729 | 729 | if ( empty( $new_invoice ) ) { |
| 730 | 730 | $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false ); |
@@ -733,37 +733,37 @@ discard block |
||
| 733 | 733 | } |
| 734 | 734 | |
| 735 | 735 | // Charge the payment method. |
| 736 | - $payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
|
| 737 | - $customer_profile = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true ); |
|
| 738 | - $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice ); |
|
| 739 | - |
|
| 740 | - // Do we have an error? |
|
| 741 | - if ( is_wp_error( $result ) ) { |
|
| 742 | - |
|
| 743 | - $old_invoice->add_note( |
|
| 744 | - sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ), |
|
| 745 | - true, |
|
| 746 | - false, |
|
| 747 | - true |
|
| 748 | - ); |
|
| 749 | - $subscription->failing(); |
|
| 750 | - return; |
|
| 751 | - |
|
| 752 | - } |
|
| 753 | - |
|
| 754 | - // Process the response. |
|
| 755 | - $this->process_charge_response( $result, $new_invoice ); |
|
| 756 | - |
|
| 757 | - if ( wpinv_get_errors() ) { |
|
| 758 | - |
|
| 759 | - $old_invoice->add_note( |
|
| 760 | - sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ), |
|
| 761 | - true, |
|
| 762 | - false, |
|
| 763 | - true |
|
| 764 | - ); |
|
| 765 | - $subscription->failing(); |
|
| 766 | - return; |
|
| 736 | + $payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
|
| 737 | + $customer_profile = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true ); |
|
| 738 | + $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice ); |
|
| 739 | + |
|
| 740 | + // Do we have an error? |
|
| 741 | + if ( is_wp_error( $result ) ) { |
|
| 742 | + |
|
| 743 | + $old_invoice->add_note( |
|
| 744 | + sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ), |
|
| 745 | + true, |
|
| 746 | + false, |
|
| 747 | + true |
|
| 748 | + ); |
|
| 749 | + $subscription->failing(); |
|
| 750 | + return; |
|
| 751 | + |
|
| 752 | + } |
|
| 753 | + |
|
| 754 | + // Process the response. |
|
| 755 | + $this->process_charge_response( $result, $new_invoice ); |
|
| 756 | + |
|
| 757 | + if ( wpinv_get_errors() ) { |
|
| 758 | + |
|
| 759 | + $old_invoice->add_note( |
|
| 760 | + sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ), |
|
| 761 | + true, |
|
| 762 | + false, |
|
| 763 | + true |
|
| 764 | + ); |
|
| 765 | + $subscription->failing(); |
|
| 766 | + return; |
|
| 767 | 767 | |
| 768 | 768 | } |
| 769 | 769 | |
@@ -776,13 +776,13 @@ discard block |
||
| 776 | 776 | } |
| 777 | 777 | |
| 778 | 778 | /** |
| 779 | - * Processes invoice addons. |
|
| 780 | - * |
|
| 781 | - * @param WPInv_Invoice $invoice |
|
| 782 | - * @param GetPaid_Form_Item[] $items |
|
| 783 | - * @return WPInv_Invoice |
|
| 784 | - */ |
|
| 785 | - public function process_addons( $invoice, $items ) { |
|
| 779 | + * Processes invoice addons. |
|
| 780 | + * |
|
| 781 | + * @param WPInv_Invoice $invoice |
|
| 782 | + * @param GetPaid_Form_Item[] $items |
|
| 783 | + * @return WPInv_Invoice |
|
| 784 | + */ |
|
| 785 | + public function process_addons( $invoice, $items ) { |
|
| 786 | 786 | |
| 787 | 787 | global $getpaid_authorize_addons; |
| 788 | 788 | |
@@ -801,7 +801,7 @@ discard block |
||
| 801 | 801 | $invoice->recalculate_total(); |
| 802 | 802 | |
| 803 | 803 | $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
| 804 | - $customer_profile = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true ); |
|
| 804 | + $customer_profile = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true ); |
|
| 805 | 805 | |
| 806 | 806 | add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 ); |
| 807 | 807 | $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice ); |
@@ -816,11 +816,11 @@ discard block |
||
| 816 | 816 | } |
| 817 | 817 | |
| 818 | 818 | /** |
| 819 | - * Processes invoice addons. |
|
| 820 | - * |
|
| 819 | + * Processes invoice addons. |
|
| 820 | + * |
|
| 821 | 821 | * @param array $args |
| 822 | - * @return array |
|
| 823 | - */ |
|
| 822 | + * @return array |
|
| 823 | + */ |
|
| 824 | 824 | public function filter_addons_request( $args ) { |
| 825 | 825 | |
| 826 | 826 | global $getpaid_authorize_addons; |
@@ -854,11 +854,11 @@ discard block |
||
| 854 | 854 | } |
| 855 | 855 | |
| 856 | 856 | /** |
| 857 | - * Filters the gateway settings. |
|
| 858 | - * |
|
| 859 | - * @param array $admin_settings |
|
| 860 | - */ |
|
| 861 | - public function admin_settings( $admin_settings ) { |
|
| 857 | + * Filters the gateway settings. |
|
| 858 | + * |
|
| 859 | + * @param array $admin_settings |
|
| 860 | + */ |
|
| 861 | + public function admin_settings( $admin_settings ) { |
|
| 862 | 862 | |
| 863 | 863 | $currencies = sprintf( |
| 864 | 864 | __( 'Supported Currencies: %s', 'invoicing' ), |
@@ -898,7 +898,7 @@ discard block |
||
| 898 | 898 | 'readonly' => true, |
| 899 | 899 | ); |
| 900 | 900 | |
| 901 | - return $admin_settings; |
|
| 902 | - } |
|
| 901 | + return $admin_settings; |
|
| 902 | + } |
|
| 903 | 903 | |
| 904 | 904 | } |
@@ -4,7 +4,7 @@ discard block |
||
| 4 | 4 | * |
| 5 | 5 | */ |
| 6 | 6 | |
| 7 | -defined( 'ABSPATH' ) || exit; |
|
| 7 | +defined('ABSPATH') || exit; |
|
| 8 | 8 | |
| 9 | 9 | /** |
| 10 | 10 | * Authorize.net Payment Gateway class. |
@@ -61,7 +61,7 @@ discard block |
||
| 61 | 61 | * |
| 62 | 62 | * @var array |
| 63 | 63 | */ |
| 64 | - public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' ); |
|
| 64 | + public $currencies = array('USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD'); |
|
| 65 | 65 | |
| 66 | 66 | /** |
| 67 | 67 | * URL to view a transaction. |
@@ -75,12 +75,12 @@ discard block |
||
| 75 | 75 | */ |
| 76 | 76 | public function __construct() { |
| 77 | 77 | |
| 78 | - $this->title = __( 'Credit Card / Debit Card', 'invoicing' ); |
|
| 79 | - $this->method_title = __( 'Authorize.Net', 'invoicing' ); |
|
| 80 | - $this->notify_url = getpaid_get_non_query_string_ipn_url( $this->id ); |
|
| 78 | + $this->title = __('Credit Card / Debit Card', 'invoicing'); |
|
| 79 | + $this->method_title = __('Authorize.Net', 'invoicing'); |
|
| 80 | + $this->notify_url = getpaid_get_non_query_string_ipn_url($this->id); |
|
| 81 | 81 | |
| 82 | - add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) ); |
|
| 83 | - add_filter( 'getpaid_authorizenet_sandbox_notice', array( $this, 'sandbox_notice' ) ); |
|
| 82 | + add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription')); |
|
| 83 | + add_filter('getpaid_authorizenet_sandbox_notice', array($this, 'sandbox_notice')); |
|
| 84 | 84 | parent::__construct(); |
| 85 | 85 | } |
| 86 | 86 | |
@@ -90,13 +90,13 @@ discard block |
||
| 90 | 90 | * @param int $invoice_id 0 or invoice id. |
| 91 | 91 | * @param GetPaid_Payment_Form $form Current payment form. |
| 92 | 92 | */ |
| 93 | - public function payment_fields( $invoice_id, $form ) { |
|
| 93 | + public function payment_fields($invoice_id, $form) { |
|
| 94 | 94 | |
| 95 | 95 | // Let the user select a payment method. |
| 96 | 96 | $this->saved_payment_methods(); |
| 97 | 97 | |
| 98 | 98 | // Show the credit card entry form. |
| 99 | - $this->new_payment_method_entry( $this->get_cc_form( true ) ); |
|
| 99 | + $this->new_payment_method_entry($this->get_cc_form(true)); |
|
| 100 | 100 | } |
| 101 | 101 | |
| 102 | 102 | /** |
@@ -109,79 +109,79 @@ discard block |
||
| 109 | 109 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile |
| 110 | 110 | * @return string|WP_Error Payment profile id. |
| 111 | 111 | */ |
| 112 | - public function create_customer_profile( $invoice, $submission_data, $save = true ) { |
|
| 112 | + public function create_customer_profile($invoice, $submission_data, $save = true) { |
|
| 113 | 113 | |
| 114 | 114 | // Remove non-digits from the number |
| 115 | - $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] ); |
|
| 115 | + $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number']); |
|
| 116 | 116 | |
| 117 | 117 | // Generate args. |
| 118 | 118 | $args = array( |
| 119 | 119 | 'createCustomerProfileRequest' => array( |
| 120 | 120 | 'merchantAuthentication' => $this->get_auth_params(), |
| 121 | 121 | 'profile' => array( |
| 122 | - 'merchantCustomerId' => getpaid_limit_length( $invoice->get_user_id(), 20 ), |
|
| 123 | - 'description' => getpaid_limit_length( $invoice->get_full_name(), 255 ), |
|
| 124 | - 'email' => getpaid_limit_length( $invoice->get_email(), 255 ), |
|
| 122 | + 'merchantCustomerId' => getpaid_limit_length($invoice->get_user_id(), 20), |
|
| 123 | + 'description' => getpaid_limit_length($invoice->get_full_name(), 255), |
|
| 124 | + 'email' => getpaid_limit_length($invoice->get_email(), 255), |
|
| 125 | 125 | 'paymentProfiles' => array( |
| 126 | 126 | 'customerType' => 'individual', |
| 127 | 127 | |
| 128 | 128 | // Billing information. |
| 129 | 129 | 'billTo' => array( |
| 130 | - 'firstName' => getpaid_limit_length( $invoice->get_first_name(), 50 ), |
|
| 131 | - 'lastName' => getpaid_limit_length( $invoice->get_last_name(), 50 ), |
|
| 132 | - 'address' => getpaid_limit_length( $invoice->get_address(), 60 ), |
|
| 133 | - 'city' => getpaid_limit_length( $invoice->get_city(), 40 ), |
|
| 134 | - 'state' => getpaid_limit_length( $invoice->get_state(), 40 ), |
|
| 135 | - 'zip' => getpaid_limit_length( $invoice->get_zip(), 20 ), |
|
| 136 | - 'country' => getpaid_limit_length( $invoice->get_country(), 60 ), |
|
| 130 | + 'firstName' => getpaid_limit_length($invoice->get_first_name(), 50), |
|
| 131 | + 'lastName' => getpaid_limit_length($invoice->get_last_name(), 50), |
|
| 132 | + 'address' => getpaid_limit_length($invoice->get_address(), 60), |
|
| 133 | + 'city' => getpaid_limit_length($invoice->get_city(), 40), |
|
| 134 | + 'state' => getpaid_limit_length($invoice->get_state(), 40), |
|
| 135 | + 'zip' => getpaid_limit_length($invoice->get_zip(), 20), |
|
| 136 | + 'country' => getpaid_limit_length($invoice->get_country(), 60), |
|
| 137 | 137 | ), |
| 138 | 138 | |
| 139 | 139 | // Payment information. |
| 140 | - 'payment' => $this->get_payment_information( $submission_data['authorizenet'] ), |
|
| 140 | + 'payment' => $this->get_payment_information($submission_data['authorizenet']), |
|
| 141 | 141 | ), |
| 142 | 142 | ), |
| 143 | - 'validationMode' => $this->is_sandbox( $invoice ) ? 'testMode' : 'liveMode', |
|
| 143 | + 'validationMode' => $this->is_sandbox($invoice) ? 'testMode' : 'liveMode', |
|
| 144 | 144 | ), |
| 145 | 145 | ); |
| 146 | 146 | |
| 147 | - $response = $this->post( apply_filters( 'getpaid_authorizenet_customer_profile_args', $args, $invoice ), $invoice ); |
|
| 147 | + $response = $this->post(apply_filters('getpaid_authorizenet_customer_profile_args', $args, $invoice), $invoice); |
|
| 148 | 148 | |
| 149 | - if ( is_wp_error( $response ) ) { |
|
| 149 | + if (is_wp_error($response)) { |
|
| 150 | 150 | |
| 151 | 151 | // In case the payment profile already exists remotely. |
| 152 | - if ( 'dup_payment_profile' === $response->get_error_code() ) { |
|
| 153 | - $customer_profile_id = strtok( $response->get_error_message(), '.' ); |
|
| 154 | - update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile_id ); |
|
| 155 | - return strtok( '.' ); |
|
| 152 | + if ('dup_payment_profile' === $response->get_error_code()) { |
|
| 153 | + $customer_profile_id = strtok($response->get_error_message(), '.'); |
|
| 154 | + update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile_id); |
|
| 155 | + return strtok('.'); |
|
| 156 | 156 | } |
| 157 | 157 | |
| 158 | 158 | // In case the customer profile already exists remotely. |
| 159 | - if ( 'E00039' === $response->get_error_code() ) { |
|
| 160 | - $customer_profile_id = str_replace( 'A duplicate record with ID ', '', $response->get_error_message() ); |
|
| 161 | - $customer_profile_id = str_replace( ' already exists.', '', $customer_profile_id ); |
|
| 162 | - return $this->create_customer_payment_profile( trim( $customer_profile_id ), $invoice, $submission_data, $save ); |
|
| 159 | + if ('E00039' === $response->get_error_code()) { |
|
| 160 | + $customer_profile_id = str_replace('A duplicate record with ID ', '', $response->get_error_message()); |
|
| 161 | + $customer_profile_id = str_replace(' already exists.', '', $customer_profile_id); |
|
| 162 | + return $this->create_customer_payment_profile(trim($customer_profile_id), $invoice, $submission_data, $save); |
|
| 163 | 163 | } |
| 164 | 164 | |
| 165 | 165 | return $response; |
| 166 | 166 | } |
| 167 | 167 | |
| 168 | - update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $response->customerProfileId ); |
|
| 168 | + update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $response->customerProfileId); |
|
| 169 | 169 | |
| 170 | 170 | // Save the payment token. |
| 171 | - if ( $save ) { |
|
| 171 | + if ($save) { |
|
| 172 | 172 | $this->save_token( |
| 173 | 173 | array( |
| 174 | 174 | 'id' => $response->customerPaymentProfileIdList[0], |
| 175 | - 'name' => getpaid_get_card_name( $submission_data['authorizenet']['cc_number'] ) . '····' . substr( $submission_data['authorizenet']['cc_number'], -4 ), |
|
| 175 | + 'name' => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . '····' . substr($submission_data['authorizenet']['cc_number'], -4), |
|
| 176 | 176 | 'default' => true, |
| 177 | - 'type' => $this->is_sandbox( $invoice ) ? 'sandbox' : 'live', |
|
| 177 | + 'type' => $this->is_sandbox($invoice) ? 'sandbox' : 'live', |
|
| 178 | 178 | ) |
| 179 | 179 | ); |
| 180 | 180 | } |
| 181 | 181 | |
| 182 | 182 | // Add a note about the validation response. |
| 183 | 183 | $invoice->add_note( |
| 184 | - sprintf( __( 'Created Authorize.NET customer profile: %s', 'invoicing' ), $response->validationDirectResponseList[0] ), |
|
| 184 | + sprintf(__('Created Authorize.NET customer profile: %s', 'invoicing'), $response->validationDirectResponseList[0]), |
|
| 185 | 185 | false, |
| 186 | 186 | false, |
| 187 | 187 | true |
@@ -198,7 +198,7 @@ discard block |
||
| 198 | 198 | * @return string|WP_Error Profile id. |
| 199 | 199 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile |
| 200 | 200 | */ |
| 201 | - public function get_customer_profile( $profile_id ) { |
|
| 201 | + public function get_customer_profile($profile_id) { |
|
| 202 | 202 | |
| 203 | 203 | // Generate args. |
| 204 | 204 | $args = array( |
@@ -208,7 +208,7 @@ discard block |
||
| 208 | 208 | ), |
| 209 | 209 | ); |
| 210 | 210 | |
| 211 | - return $this->post( $args, false ); |
|
| 211 | + return $this->post($args, false); |
|
| 212 | 212 | |
| 213 | 213 | } |
| 214 | 214 | |
@@ -223,18 +223,18 @@ discard block |
||
| 223 | 223 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile |
| 224 | 224 | * @return string|WP_Error Profile id. |
| 225 | 225 | */ |
| 226 | - public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) { |
|
| 226 | + public function create_customer_payment_profile($customer_profile, $invoice, $submission_data, $save) { |
|
| 227 | 227 | |
| 228 | 228 | // Remove non-digits from the number |
| 229 | - $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] ); |
|
| 229 | + $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number']); |
|
| 230 | 230 | |
| 231 | 231 | // Prepare card details. |
| 232 | - $payment_information = $this->get_payment_information( $submission_data['authorizenet'] ); |
|
| 232 | + $payment_information = $this->get_payment_information($submission_data['authorizenet']); |
|
| 233 | 233 | |
| 234 | 234 | // Authorize.NET does not support saving the same card twice. |
| 235 | - $cached_information = $this->retrieve_payment_profile_from_cache( $payment_information, $customer_profile, $invoice ); |
|
| 235 | + $cached_information = $this->retrieve_payment_profile_from_cache($payment_information, $customer_profile, $invoice); |
|
| 236 | 236 | |
| 237 | - if ( $cached_information ) { |
|
| 237 | + if ($cached_information) { |
|
| 238 | 238 | return $cached_information; |
| 239 | 239 | } |
| 240 | 240 | |
@@ -247,34 +247,34 @@ discard block |
||
| 247 | 247 | |
| 248 | 248 | // Billing information. |
| 249 | 249 | 'billTo' => array( |
| 250 | - 'firstName' => getpaid_limit_length( $invoice->get_first_name(), 50 ), |
|
| 251 | - 'lastName' => getpaid_limit_length( $invoice->get_last_name(), 50 ), |
|
| 252 | - 'address' => getpaid_limit_length( $invoice->get_address(), 60 ), |
|
| 253 | - 'city' => getpaid_limit_length( $invoice->get_city(), 40 ), |
|
| 254 | - 'state' => getpaid_limit_length( $invoice->get_state(), 40 ), |
|
| 255 | - 'zip' => getpaid_limit_length( $invoice->get_zip(), 20 ), |
|
| 256 | - 'country' => getpaid_limit_length( $invoice->get_country(), 60 ), |
|
| 250 | + 'firstName' => getpaid_limit_length($invoice->get_first_name(), 50), |
|
| 251 | + 'lastName' => getpaid_limit_length($invoice->get_last_name(), 50), |
|
| 252 | + 'address' => getpaid_limit_length($invoice->get_address(), 60), |
|
| 253 | + 'city' => getpaid_limit_length($invoice->get_city(), 40), |
|
| 254 | + 'state' => getpaid_limit_length($invoice->get_state(), 40), |
|
| 255 | + 'zip' => getpaid_limit_length($invoice->get_zip(), 20), |
|
| 256 | + 'country' => getpaid_limit_length($invoice->get_country(), 60), |
|
| 257 | 257 | ), |
| 258 | 258 | |
| 259 | 259 | // Payment information. |
| 260 | 260 | 'payment' => $payment_information, |
| 261 | 261 | ), |
| 262 | - 'validationMode' => $this->is_sandbox( $invoice ) ? 'testMode' : 'liveMode', |
|
| 262 | + 'validationMode' => $this->is_sandbox($invoice) ? 'testMode' : 'liveMode', |
|
| 263 | 263 | ), |
| 264 | 264 | ); |
| 265 | 265 | |
| 266 | - $response = $this->post( apply_filters( 'getpaid_authorizenet_create_customer_payment_profile_args', $args, $invoice ), $invoice ); |
|
| 266 | + $response = $this->post(apply_filters('getpaid_authorizenet_create_customer_payment_profile_args', $args, $invoice), $invoice); |
|
| 267 | 267 | |
| 268 | - if ( is_wp_error( $response ) ) { |
|
| 268 | + if (is_wp_error($response)) { |
|
| 269 | 269 | |
| 270 | 270 | // In case the payment profile already exists remotely. |
| 271 | - if ( 'dup_payment_profile' == $response->get_error_code() ) { |
|
| 272 | - $customer_profile_id = strtok( $response->get_error_message(), '.' ); |
|
| 273 | - $payment_profile_id = strtok( '.' ); |
|
| 274 | - update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile_id ); |
|
| 271 | + if ('dup_payment_profile' == $response->get_error_code()) { |
|
| 272 | + $customer_profile_id = strtok($response->get_error_message(), '.'); |
|
| 273 | + $payment_profile_id = strtok('.'); |
|
| 274 | + update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile_id); |
|
| 275 | 275 | |
| 276 | 276 | // Cache payment profile id. |
| 277 | - $this->add_payment_profile_to_cache( $payment_information, $payment_profile_id ); |
|
| 277 | + $this->add_payment_profile_to_cache($payment_information, $payment_profile_id); |
|
| 278 | 278 | |
| 279 | 279 | return $payment_profile_id; |
| 280 | 280 | } |
@@ -283,29 +283,29 @@ discard block |
||
| 283 | 283 | } |
| 284 | 284 | |
| 285 | 285 | // Save the payment token. |
| 286 | - if ( $save ) { |
|
| 286 | + if ($save) { |
|
| 287 | 287 | $this->save_token( |
| 288 | 288 | array( |
| 289 | 289 | 'id' => $response->customerPaymentProfileId, |
| 290 | - 'name' => getpaid_get_card_name( $submission_data['authorizenet']['cc_number'] ) . ' ···· ' . substr( $submission_data['authorizenet']['cc_number'], -4 ), |
|
| 290 | + 'name' => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . ' ···· ' . substr($submission_data['authorizenet']['cc_number'], -4), |
|
| 291 | 291 | 'default' => true, |
| 292 | - 'type' => $this->is_sandbox( $invoice ) ? 'sandbox' : 'live', |
|
| 292 | + 'type' => $this->is_sandbox($invoice) ? 'sandbox' : 'live', |
|
| 293 | 293 | ) |
| 294 | 294 | ); |
| 295 | 295 | } |
| 296 | 296 | |
| 297 | 297 | // Cache payment profile id. |
| 298 | - $this->add_payment_profile_to_cache( $payment_information, $response->customerPaymentProfileId ); |
|
| 298 | + $this->add_payment_profile_to_cache($payment_information, $response->customerPaymentProfileId); |
|
| 299 | 299 | |
| 300 | 300 | // Add a note about the validation response. |
| 301 | 301 | $invoice->add_note( |
| 302 | - sprintf( __( 'Saved Authorize.NET payment profile: %s', 'invoicing' ), $response->validationDirectResponse ), |
|
| 302 | + sprintf(__('Saved Authorize.NET payment profile: %s', 'invoicing'), $response->validationDirectResponse), |
|
| 303 | 303 | false, |
| 304 | 304 | false, |
| 305 | 305 | true |
| 306 | 306 | ); |
| 307 | 307 | |
| 308 | - update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile ); |
|
| 308 | + update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile); |
|
| 309 | 309 | |
| 310 | 310 | return $response->customerPaymentProfileId; |
| 311 | 311 | } |
@@ -317,12 +317,12 @@ discard block |
||
| 317 | 317 | * @param array $payment_details. |
| 318 | 318 | * @return array|false Profile id. |
| 319 | 319 | */ |
| 320 | - public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) { |
|
| 320 | + public function retrieve_payment_profile_from_cache($payment_details, $customer_profile, $invoice) { |
|
| 321 | 321 | |
| 322 | - $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() ); |
|
| 323 | - $payment_details = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY ); |
|
| 322 | + $cached_information = get_option('getpaid_authorize_net_cached_profiles', array()); |
|
| 323 | + $payment_details = hash_hmac('sha256', json_encode($payment_details), SECURE_AUTH_KEY); |
|
| 324 | 324 | |
| 325 | - if ( ! is_array( $cached_information ) || ! array_key_exists( $payment_details, $cached_information ) ) { |
|
| 325 | + if (!is_array($cached_information) || !array_key_exists($payment_details, $cached_information)) { |
|
| 326 | 326 | return false; |
| 327 | 327 | } |
| 328 | 328 | |
@@ -331,13 +331,13 @@ discard block |
||
| 331 | 331 | 'getCustomerPaymentProfileRequest' => array( |
| 332 | 332 | 'merchantAuthentication' => $this->get_auth_params(), |
| 333 | 333 | 'customerProfileId' => $customer_profile, |
| 334 | - 'customerPaymentProfileId' => $cached_information[ $payment_details ], |
|
| 334 | + 'customerPaymentProfileId' => $cached_information[$payment_details], |
|
| 335 | 335 | ), |
| 336 | 336 | ); |
| 337 | 337 | |
| 338 | - $response = $this->post( $args, $invoice ); |
|
| 338 | + $response = $this->post($args, $invoice); |
|
| 339 | 339 | |
| 340 | - return is_wp_error( $response ) ? false : $cached_information[ $payment_details ]; |
|
| 340 | + return is_wp_error($response) ? false : $cached_information[$payment_details]; |
|
| 341 | 341 | |
| 342 | 342 | } |
| 343 | 343 | |
@@ -348,14 +348,14 @@ discard block |
||
| 348 | 348 | * @param array $payment_details. |
| 349 | 349 | * @param string $payment_profile_id. |
| 350 | 350 | */ |
| 351 | - public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) { |
|
| 351 | + public function add_payment_profile_to_cache($payment_details, $payment_profile_id) { |
|
| 352 | 352 | |
| 353 | - $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() ); |
|
| 354 | - $cached_information = is_array( $cached_information ) ? $cached_information : array(); |
|
| 355 | - $payment_details = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY ); |
|
| 353 | + $cached_information = get_option('getpaid_authorize_net_cached_profiles', array()); |
|
| 354 | + $cached_information = is_array($cached_information) ? $cached_information : array(); |
|
| 355 | + $payment_details = hash_hmac('sha256', json_encode($payment_details), SECURE_AUTH_KEY); |
|
| 356 | 356 | |
| 357 | - $cached_information[ $payment_details ] = $payment_profile_id; |
|
| 358 | - update_option( 'getpaid_authorize_net_cached_profiles', $cached_information ); |
|
| 357 | + $cached_information[$payment_details] = $payment_profile_id; |
|
| 358 | + update_option('getpaid_authorize_net_cached_profiles', $cached_information); |
|
| 359 | 359 | |
| 360 | 360 | } |
| 361 | 361 | |
@@ -368,7 +368,7 @@ discard block |
||
| 368 | 368 | * @return string|WP_Error Profile id. |
| 369 | 369 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile |
| 370 | 370 | */ |
| 371 | - public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) { |
|
| 371 | + public function get_customer_payment_profile($customer_profile_id, $payment_profile_id) { |
|
| 372 | 372 | |
| 373 | 373 | // Generate args. |
| 374 | 374 | $args = array( |
@@ -379,7 +379,7 @@ discard block |
||
| 379 | 379 | ), |
| 380 | 380 | ); |
| 381 | 381 | |
| 382 | - return $this->post( $args, false ); |
|
| 382 | + return $this->post($args, false); |
|
| 383 | 383 | |
| 384 | 384 | } |
| 385 | 385 | |
@@ -392,7 +392,7 @@ discard block |
||
| 392 | 392 | * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile |
| 393 | 393 | * @return WP_Error|object |
| 394 | 394 | */ |
| 395 | - public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) { |
|
| 395 | + public function charge_customer_payment_profile($customer_profile_id, $payment_profile_id, $invoice) { |
|
| 396 | 396 | |
| 397 | 397 | // Generate args. |
| 398 | 398 | $args = array( |
@@ -412,28 +412,28 @@ discard block |
||
| 412 | 412 | ), |
| 413 | 413 | ), |
| 414 | 414 | 'order' => array( |
| 415 | - 'invoiceNumber' => getpaid_limit_length( $invoice->get_number(), 20 ), |
|
| 415 | + 'invoiceNumber' => getpaid_limit_length($invoice->get_number(), 20), |
|
| 416 | 416 | ), |
| 417 | - 'lineItems' => array( 'lineItem' => $this->get_line_items( $invoice ) ), |
|
| 417 | + 'lineItems' => array('lineItem' => $this->get_line_items($invoice)), |
|
| 418 | 418 | 'tax' => array( |
| 419 | 419 | 'amount' => $invoice->get_total_tax(), |
| 420 | - 'name' => __( 'TAX', 'invoicing' ), |
|
| 420 | + 'name' => __('TAX', 'invoicing'), |
|
| 421 | 421 | ), |
| 422 | - 'poNumber' => getpaid_limit_length( $invoice->get_number(), 25 ), |
|
| 422 | + 'poNumber' => getpaid_limit_length($invoice->get_number(), 25), |
|
| 423 | 423 | 'customer' => array( |
| 424 | - 'id' => getpaid_limit_length( $invoice->get_user_id(), 25 ), |
|
| 425 | - 'email' => getpaid_limit_length( $invoice->get_email(), 25 ), |
|
| 424 | + 'id' => getpaid_limit_length($invoice->get_user_id(), 25), |
|
| 425 | + 'email' => getpaid_limit_length($invoice->get_email(), 25), |
|
| 426 | 426 | ), |
| 427 | 427 | 'customerIP' => $invoice->get_ip(), |
| 428 | 428 | ), |
| 429 | 429 | ), |
| 430 | 430 | ); |
| 431 | 431 | |
| 432 | - if ( 0 == $invoice->get_total_tax() ) { |
|
| 433 | - unset( $args['createTransactionRequest']['transactionRequest']['tax'] ); |
|
| 432 | + if (0 == $invoice->get_total_tax()) { |
|
| 433 | + unset($args['createTransactionRequest']['transactionRequest']['tax']); |
|
| 434 | 434 | } |
| 435 | 435 | |
| 436 | - return $this->post( apply_filters( 'getpaid_authorizenet_charge_customer_payment_profile_args', $args, $invoice ), $invoice ); |
|
| 436 | + return $this->post(apply_filters('getpaid_authorizenet_charge_customer_payment_profile_args', $args, $invoice), $invoice); |
|
| 437 | 437 | |
| 438 | 438 | } |
| 439 | 439 | |
@@ -443,31 +443,31 @@ discard block |
||
| 443 | 443 | * @param stdClass $result Api response. |
| 444 | 444 | * @param WPInv_Invoice $invoice Invoice. |
| 445 | 445 | */ |
| 446 | - public function process_charge_response( $result, $invoice ) { |
|
| 446 | + public function process_charge_response($result, $invoice) { |
|
| 447 | 447 | |
| 448 | 448 | wpinv_clear_errors(); |
| 449 | 449 | $response_code = (int) $result->transactionResponse->responseCode; |
| 450 | 450 | |
| 451 | - $invoice->add_note( 'Transaction Response: ' . print_r( $result->transactionResponse, true ), false, false, true ); |
|
| 451 | + $invoice->add_note('Transaction Response: ' . print_r($result->transactionResponse, true), false, false, true); |
|
| 452 | 452 | |
| 453 | 453 | // Succeeded. |
| 454 | - if ( 1 == $response_code || 4 == $response_code ) { |
|
| 454 | + if (1 == $response_code || 4 == $response_code) { |
|
| 455 | 455 | |
| 456 | 456 | // Maybe set a transaction id. |
| 457 | - if ( ! empty( $result->transactionResponse->transId ) ) { |
|
| 458 | - $invoice->set_transaction_id( $result->transactionResponse->transId ); |
|
| 457 | + if (!empty($result->transactionResponse->transId)) { |
|
| 458 | + $invoice->set_transaction_id($result->transactionResponse->transId); |
|
| 459 | 459 | } |
| 460 | 460 | |
| 461 | - $invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true ); |
|
| 461 | + $invoice->add_note(sprintf(__('Authentication code: %1$s (%2$s).', 'invoicing'), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber), false, false, true); |
|
| 462 | 462 | |
| 463 | - if ( 1 == $response_code ) { |
|
| 463 | + if (1 == $response_code) { |
|
| 464 | 464 | return $invoice->mark_paid(); |
| 465 | 465 | } |
| 466 | 466 | |
| 467 | - $invoice->set_status( 'wpi-onhold' ); |
|
| 467 | + $invoice->set_status('wpi-onhold'); |
|
| 468 | 468 | $invoice->add_note( |
| 469 | 469 | sprintf( |
| 470 | - __( 'Held for review: %s', 'invoicing' ), |
|
| 470 | + __('Held for review: %s', 'invoicing'), |
|
| 471 | 471 | $result->transactionResponse->messages->message[0]->description |
| 472 | 472 | ) |
| 473 | 473 | ); |
@@ -476,11 +476,11 @@ discard block |
||
| 476 | 476 | |
| 477 | 477 | } |
| 478 | 478 | |
| 479 | - wpinv_set_error( 'card_declined' ); |
|
| 479 | + wpinv_set_error('card_declined'); |
|
| 480 | 480 | |
| 481 | - if ( ! empty( $result->transactionResponse->errors ) ) { |
|
| 481 | + if (!empty($result->transactionResponse->errors)) { |
|
| 482 | 482 | $errors = (object) $result->transactionResponse->errors; |
| 483 | - wpinv_set_error( $errors->error[0]->errorCode, esc_html( $errors->error[0]->errorText ) ); |
|
| 483 | + wpinv_set_error($errors->error[0]->errorCode, esc_html($errors->error[0]->errorText)); |
|
| 484 | 484 | } |
| 485 | 485 | |
| 486 | 486 | } |
@@ -492,7 +492,7 @@ discard block |
||
| 492 | 492 | * @param array $card Card details. |
| 493 | 493 | * @return array |
| 494 | 494 | */ |
| 495 | - public function get_payment_information( $card ) { |
|
| 495 | + public function get_payment_information($card) { |
|
| 496 | 496 | return array( |
| 497 | 497 | |
| 498 | 498 | 'creditCard' => array( |
@@ -511,8 +511,8 @@ discard block |
||
| 511 | 511 | * @param WPInv_Invoice $invoice Invoice. |
| 512 | 512 | * @return string |
| 513 | 513 | */ |
| 514 | - public function get_customer_profile_meta_name( $invoice ) { |
|
| 515 | - return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id'; |
|
| 514 | + public function get_customer_profile_meta_name($invoice) { |
|
| 515 | + return $this->is_sandbox($invoice) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id'; |
|
| 516 | 516 | } |
| 517 | 517 | |
| 518 | 518 | /** |
@@ -523,34 +523,34 @@ discard block |
||
| 523 | 523 | * @param WPInv_Invoice $invoice |
| 524 | 524 | * @return WP_Error|string The payment profile id |
| 525 | 525 | */ |
| 526 | - public function validate_submission_data( $submission_data, $invoice ) { |
|
| 526 | + public function validate_submission_data($submission_data, $invoice) { |
|
| 527 | 527 | |
| 528 | 528 | // Validate authentication details. |
| 529 | 529 | $auth = $this->get_auth_params(); |
| 530 | 530 | |
| 531 | - if ( empty( $auth['name'] ) || empty( $auth['transactionKey'] ) ) { |
|
| 532 | - return new WP_Error( 'invalid_settings', __( 'Please set-up your login id and transaction key before using this gateway.', 'invoicing' ) ); |
|
| 531 | + if (empty($auth['name']) || empty($auth['transactionKey'])) { |
|
| 532 | + return new WP_Error('invalid_settings', __('Please set-up your login id and transaction key before using this gateway.', 'invoicing')); |
|
| 533 | 533 | } |
| 534 | 534 | |
| 535 | 535 | // Validate the payment method. |
| 536 | - if ( empty( $submission_data['getpaid-authorizenet-payment-method'] ) ) { |
|
| 537 | - return new WP_Error( 'invalid_payment_method', __( 'Please select a different payment method or add a new card.', 'invoicing' ) ); |
|
| 536 | + if (empty($submission_data['getpaid-authorizenet-payment-method'])) { |
|
| 537 | + return new WP_Error('invalid_payment_method', __('Please select a different payment method or add a new card.', 'invoicing')); |
|
| 538 | 538 | } |
| 539 | 539 | |
| 540 | 540 | // Are we adding a new payment method? |
| 541 | - if ( 'new' != $submission_data['getpaid-authorizenet-payment-method'] ) { |
|
| 541 | + if ('new' != $submission_data['getpaid-authorizenet-payment-method']) { |
|
| 542 | 542 | return $submission_data['getpaid-authorizenet-payment-method']; |
| 543 | 543 | } |
| 544 | 544 | |
| 545 | 545 | // Retrieve the customer profile id. |
| 546 | - $profile_id = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true ); |
|
| 546 | + $profile_id = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true); |
|
| 547 | 547 | |
| 548 | 548 | // Create payment method. |
| 549 | - if ( empty( $profile_id ) ) { |
|
| 550 | - return $this->create_customer_profile( $invoice, $submission_data, ! empty( $submission_data['getpaid-authorizenet-new-payment-method'] ) ); |
|
| 549 | + if (empty($profile_id)) { |
|
| 550 | + return $this->create_customer_profile($invoice, $submission_data, !empty($submission_data['getpaid-authorizenet-new-payment-method'])); |
|
| 551 | 551 | } |
| 552 | 552 | |
| 553 | - return $this->create_customer_payment_profile( $profile_id, $invoice, $submission_data, ! empty( $submission_data['getpaid-authorizenet-new-payment-method'] ) ); |
|
| 553 | + return $this->create_customer_payment_profile($profile_id, $invoice, $submission_data, !empty($submission_data['getpaid-authorizenet-new-payment-method'])); |
|
| 554 | 554 | |
| 555 | 555 | } |
| 556 | 556 | |
@@ -561,32 +561,32 @@ discard block |
||
| 561 | 561 | * @param WPInv_Invoice $invoice Invoice. |
| 562 | 562 | * @return array |
| 563 | 563 | */ |
| 564 | - public function get_line_items( $invoice ) { |
|
| 564 | + public function get_line_items($invoice) { |
|
| 565 | 565 | $items = array(); |
| 566 | 566 | |
| 567 | - foreach ( $invoice->get_items() as $item ) { |
|
| 567 | + foreach ($invoice->get_items() as $item) { |
|
| 568 | 568 | |
| 569 | 569 | $amount = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price(); |
| 570 | 570 | $items[] = array( |
| 571 | - 'itemId' => getpaid_limit_length( $item->get_id(), 31 ), |
|
| 572 | - 'name' => getpaid_limit_length( $item->get_raw_name(), 31 ), |
|
| 573 | - 'description' => getpaid_limit_length( $item->get_description(), 255 ), |
|
| 574 | - 'quantity' => (string) ( $invoice->get_template() == 'amount' ? 1 : $item->get_quantity() ), |
|
| 571 | + 'itemId' => getpaid_limit_length($item->get_id(), 31), |
|
| 572 | + 'name' => getpaid_limit_length($item->get_raw_name(), 31), |
|
| 573 | + 'description' => getpaid_limit_length($item->get_description(), 255), |
|
| 574 | + 'quantity' => (string) ($invoice->get_template() == 'amount' ? 1 : $item->get_quantity()), |
|
| 575 | 575 | 'unitPrice' => (float) $amount, |
| 576 | 576 | 'taxable' => wpinv_use_taxes() && $invoice->is_taxable() && 'tax-exempt' != $item->get_vat_rule(), |
| 577 | 577 | ); |
| 578 | 578 | |
| 579 | 579 | } |
| 580 | 580 | |
| 581 | - foreach ( $invoice->get_fees() as $fee_name => $fee ) { |
|
| 581 | + foreach ($invoice->get_fees() as $fee_name => $fee) { |
|
| 582 | 582 | |
| 583 | - $amount = $invoice->is_renewal() ? $fee['recurring_fee'] : $fee['initial_fee']; |
|
| 583 | + $amount = $invoice->is_renewal() ? $fee['recurring_fee'] : $fee['initial_fee']; |
|
| 584 | 584 | |
| 585 | - if ( $amount > 0 ) { |
|
| 585 | + if ($amount > 0) { |
|
| 586 | 586 | $items[] = array( |
| 587 | - 'itemId' => getpaid_limit_length( $fee_name, 31 ), |
|
| 588 | - 'name' => getpaid_limit_length( $fee_name, 31 ), |
|
| 589 | - 'description' => getpaid_limit_length( $fee_name, 255 ), |
|
| 587 | + 'itemId' => getpaid_limit_length($fee_name, 31), |
|
| 588 | + 'name' => getpaid_limit_length($fee_name, 31), |
|
| 589 | + 'description' => getpaid_limit_length($fee_name, 255), |
|
| 590 | 590 | 'quantity' => '1', |
| 591 | 591 | 'unitPrice' => (float) $amount, |
| 592 | 592 | 'taxable' => false, |
@@ -606,36 +606,36 @@ discard block |
||
| 606 | 606 | * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
| 607 | 607 | * @return array |
| 608 | 608 | */ |
| 609 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
| 609 | + public function process_payment($invoice, $submission_data, $submission) { |
|
| 610 | 610 | |
| 611 | 611 | // Validate the submitted data. |
| 612 | - $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice ); |
|
| 612 | + $payment_profile_id = $this->validate_submission_data($submission_data, $invoice); |
|
| 613 | 613 | |
| 614 | 614 | // Do we have an error? |
| 615 | - if ( is_wp_error( $payment_profile_id ) ) { |
|
| 616 | - wpinv_set_error( $payment_profile_id->get_error_code(), $payment_profile_id->get_error_message() ); |
|
| 617 | - wpinv_send_back_to_checkout( $invoice ); |
|
| 615 | + if (is_wp_error($payment_profile_id)) { |
|
| 616 | + wpinv_set_error($payment_profile_id->get_error_code(), $payment_profile_id->get_error_message()); |
|
| 617 | + wpinv_send_back_to_checkout($invoice); |
|
| 618 | 618 | } |
| 619 | 619 | |
| 620 | 620 | // Save the payment method to the order. |
| 621 | - update_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', $payment_profile_id ); |
|
| 621 | + update_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', $payment_profile_id); |
|
| 622 | 622 | |
| 623 | 623 | // Check if this is a subscription or not. |
| 624 | - $subscriptions = getpaid_get_invoice_subscriptions( $invoice ); |
|
| 625 | - if ( ! empty( $subscriptions ) ) { |
|
| 626 | - $this->process_subscription( $invoice, $subscriptions ); |
|
| 624 | + $subscriptions = getpaid_get_invoice_subscriptions($invoice); |
|
| 625 | + if (!empty($subscriptions)) { |
|
| 626 | + $this->process_subscription($invoice, $subscriptions); |
|
| 627 | 627 | } |
| 628 | 628 | |
| 629 | 629 | // If it is free, send to the success page. |
| 630 | - if ( ! $invoice->needs_payment() ) { |
|
| 630 | + if (!$invoice->needs_payment()) { |
|
| 631 | 631 | $invoice->mark_paid(); |
| 632 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
| 632 | + wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key())); |
|
| 633 | 633 | } |
| 634 | 634 | |
| 635 | 635 | // Charge the payment profile. |
| 636 | - $this->process_initial_payment( $invoice ); |
|
| 636 | + $this->process_initial_payment($invoice); |
|
| 637 | 637 | |
| 638 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
| 638 | + wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key())); |
|
| 639 | 639 | |
| 640 | 640 | exit; |
| 641 | 641 | |
@@ -646,23 +646,23 @@ discard block |
||
| 646 | 646 | * |
| 647 | 647 | * @param WPInv_Invoice $invoice Invoice. |
| 648 | 648 | */ |
| 649 | - protected function process_initial_payment( $invoice ) { |
|
| 649 | + protected function process_initial_payment($invoice) { |
|
| 650 | 650 | |
| 651 | - $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
|
| 652 | - $customer_profile = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true ); |
|
| 653 | - $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice ); |
|
| 651 | + $payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true); |
|
| 652 | + $customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true); |
|
| 653 | + $result = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice); |
|
| 654 | 654 | |
| 655 | 655 | // Do we have an error? |
| 656 | - if ( is_wp_error( $result ) ) { |
|
| 657 | - wpinv_set_error( $result->get_error_code(), $result->get_error_message() ); |
|
| 658 | - wpinv_send_back_to_checkout( $invoice ); |
|
| 656 | + if (is_wp_error($result)) { |
|
| 657 | + wpinv_set_error($result->get_error_code(), $result->get_error_message()); |
|
| 658 | + wpinv_send_back_to_checkout($invoice); |
|
| 659 | 659 | } |
| 660 | 660 | |
| 661 | 661 | // Process the response. |
| 662 | - $this->process_charge_response( $result, $invoice ); |
|
| 662 | + $this->process_charge_response($result, $invoice); |
|
| 663 | 663 | |
| 664 | - if ( wpinv_get_errors() ) { |
|
| 665 | - wpinv_send_back_to_checkout( $invoice ); |
|
| 664 | + if (wpinv_get_errors()) { |
|
| 665 | + wpinv_send_back_to_checkout($invoice); |
|
| 666 | 666 | } |
| 667 | 667 | |
| 668 | 668 | } |
@@ -673,30 +673,30 @@ discard block |
||
| 673 | 673 | * @param WPInv_Invoice $invoice Invoice. |
| 674 | 674 | * @param WPInv_Subscription[]|WPInv_Subscription $subscriptions Subscriptions. |
| 675 | 675 | */ |
| 676 | - public function process_subscription( $invoice, $subscriptions ) { |
|
| 676 | + public function process_subscription($invoice, $subscriptions) { |
|
| 677 | 677 | |
| 678 | 678 | // Check if there is an initial amount to charge. |
| 679 | - if ( (float) $invoice->get_total() > 0 ) { |
|
| 680 | - $this->process_initial_payment( $invoice ); |
|
| 679 | + if ((float) $invoice->get_total() > 0) { |
|
| 680 | + $this->process_initial_payment($invoice); |
|
| 681 | 681 | } |
| 682 | 682 | |
| 683 | 683 | // Activate the subscriptions. |
| 684 | - $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions ); |
|
| 684 | + $subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions); |
|
| 685 | 685 | |
| 686 | - foreach ( $subscriptions as $subscription ) { |
|
| 687 | - if ( $subscription->exists() ) { |
|
| 688 | - $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() ); |
|
| 689 | - $expiry = date( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) ); |
|
| 686 | + foreach ($subscriptions as $subscription) { |
|
| 687 | + if ($subscription->exists()) { |
|
| 688 | + $duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created()); |
|
| 689 | + $expiry = date('Y-m-d H:i:s', (current_time('timestamp') + $duration)); |
|
| 690 | 690 | |
| 691 | - $subscription->set_next_renewal_date( $expiry ); |
|
| 692 | - $subscription->set_date_created( current_time( 'mysql' ) ); |
|
| 693 | - $subscription->set_profile_id( $invoice->generate_key( 'authnet_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ) ); |
|
| 691 | + $subscription->set_next_renewal_date($expiry); |
|
| 692 | + $subscription->set_date_created(current_time('mysql')); |
|
| 693 | + $subscription->set_profile_id($invoice->generate_key('authnet_sub_' . $invoice->get_id() . '_' . $subscription->get_id())); |
|
| 694 | 694 | $subscription->activate(); |
| 695 | 695 | } |
| 696 | 696 | } |
| 697 | 697 | |
| 698 | 698 | // Redirect to the success page. |
| 699 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
| 699 | + wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key())); |
|
| 700 | 700 | |
| 701 | 701 | } |
| 702 | 702 | |
@@ -706,11 +706,11 @@ discard block |
||
| 706 | 706 | * |
| 707 | 707 | * @param WPInv_Subscription $subscription |
| 708 | 708 | */ |
| 709 | - public function maybe_renew_subscription( $subscription ) { |
|
| 709 | + public function maybe_renew_subscription($subscription) { |
|
| 710 | 710 | |
| 711 | 711 | // Ensure its our subscription && it's active. |
| 712 | - if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) { |
|
| 713 | - $this->renew_subscription( $subscription ); |
|
| 712 | + if ($this->id === $subscription->get_gateway() && $subscription->has_status('active trialling')) { |
|
| 713 | + $this->renew_subscription($subscription); |
|
| 714 | 714 | } |
| 715 | 715 | |
| 716 | 716 | } |
@@ -720,28 +720,28 @@ discard block |
||
| 720 | 720 | * |
| 721 | 721 | * @param WPInv_Subscription $subscription |
| 722 | 722 | */ |
| 723 | - public function renew_subscription( $subscription ) { |
|
| 723 | + public function renew_subscription($subscription) { |
|
| 724 | 724 | |
| 725 | 725 | // Generate the renewal invoice. |
| 726 | 726 | $new_invoice = $subscription->create_payment(); |
| 727 | 727 | $old_invoice = $subscription->get_parent_payment(); |
| 728 | 728 | |
| 729 | - if ( empty( $new_invoice ) ) { |
|
| 730 | - $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false ); |
|
| 729 | + if (empty($new_invoice)) { |
|
| 730 | + $old_invoice->add_note(__('Error generating a renewal invoice.', 'invoicing'), false, false, false); |
|
| 731 | 731 | $subscription->failing(); |
| 732 | 732 | return; |
| 733 | 733 | } |
| 734 | 734 | |
| 735 | 735 | // Charge the payment method. |
| 736 | - $payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
|
| 737 | - $customer_profile = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true ); |
|
| 738 | - $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice ); |
|
| 736 | + $payment_profile_id = get_post_meta($old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true); |
|
| 737 | + $customer_profile = get_user_meta($old_invoice->get_user_id(), $this->get_customer_profile_meta_name($old_invoice), true); |
|
| 738 | + $result = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $new_invoice); |
|
| 739 | 739 | |
| 740 | 740 | // Do we have an error? |
| 741 | - if ( is_wp_error( $result ) ) { |
|
| 741 | + if (is_wp_error($result)) { |
|
| 742 | 742 | |
| 743 | 743 | $old_invoice->add_note( |
| 744 | - sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ), |
|
| 744 | + sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), $result->get_error_message()), |
|
| 745 | 745 | true, |
| 746 | 746 | false, |
| 747 | 747 | true |
@@ -752,12 +752,12 @@ discard block |
||
| 752 | 752 | } |
| 753 | 753 | |
| 754 | 754 | // Process the response. |
| 755 | - $this->process_charge_response( $result, $new_invoice ); |
|
| 755 | + $this->process_charge_response($result, $new_invoice); |
|
| 756 | 756 | |
| 757 | - if ( wpinv_get_errors() ) { |
|
| 757 | + if (wpinv_get_errors()) { |
|
| 758 | 758 | |
| 759 | 759 | $old_invoice->add_note( |
| 760 | - sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ), |
|
| 760 | + sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), getpaid_get_errors_html()), |
|
| 761 | 761 | true, |
| 762 | 762 | false, |
| 763 | 763 | true |
@@ -767,9 +767,9 @@ discard block |
||
| 767 | 767 | |
| 768 | 768 | } |
| 769 | 769 | |
| 770 | - if ( ! $new_invoice->needs_payment() ) { |
|
| 770 | + if (!$new_invoice->needs_payment()) { |
|
| 771 | 771 | $subscription->renew(); |
| 772 | - $subscription->after_add_payment( $new_invoice ); |
|
| 772 | + $subscription->after_add_payment($new_invoice); |
|
| 773 | 773 | } else { |
| 774 | 774 | $subscription->failing(); |
| 775 | 775 | } |
@@ -782,33 +782,33 @@ discard block |
||
| 782 | 782 | * @param GetPaid_Form_Item[] $items |
| 783 | 783 | * @return WPInv_Invoice |
| 784 | 784 | */ |
| 785 | - public function process_addons( $invoice, $items ) { |
|
| 785 | + public function process_addons($invoice, $items) { |
|
| 786 | 786 | |
| 787 | 787 | global $getpaid_authorize_addons; |
| 788 | 788 | |
| 789 | 789 | $getpaid_authorize_addons = array(); |
| 790 | - foreach ( $items as $item ) { |
|
| 790 | + foreach ($items as $item) { |
|
| 791 | 791 | |
| 792 | - if ( is_null( $invoice->get_item( $item->get_id() ) ) && ! is_wp_error( $invoice->add_item( $item ) ) ) { |
|
| 792 | + if (is_null($invoice->get_item($item->get_id())) && !is_wp_error($invoice->add_item($item))) { |
|
| 793 | 793 | $getpaid_authorize_addons[] = $item; |
| 794 | 794 | } |
| 795 | 795 | } |
| 796 | 796 | |
| 797 | - if ( empty( $getpaid_authorize_addons ) ) { |
|
| 797 | + if (empty($getpaid_authorize_addons)) { |
|
| 798 | 798 | return; |
| 799 | 799 | } |
| 800 | 800 | |
| 801 | 801 | $invoice->recalculate_total(); |
| 802 | 802 | |
| 803 | - $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
|
| 804 | - $customer_profile = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true ); |
|
| 803 | + $payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true); |
|
| 804 | + $customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true); |
|
| 805 | 805 | |
| 806 | - add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 ); |
|
| 807 | - $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice ); |
|
| 808 | - remove_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ) ); |
|
| 806 | + add_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request'), 10, 2); |
|
| 807 | + $result = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice); |
|
| 808 | + remove_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request')); |
|
| 809 | 809 | |
| 810 | - if ( is_wp_error( $result ) ) { |
|
| 811 | - wpinv_set_error( $result->get_error_code(), $result->get_error_message() ); |
|
| 810 | + if (is_wp_error($result)) { |
|
| 811 | + wpinv_set_error($result->get_error_code(), $result->get_error_message()); |
|
| 812 | 812 | return; |
| 813 | 813 | } |
| 814 | 814 | |
@@ -821,19 +821,19 @@ discard block |
||
| 821 | 821 | * @param array $args |
| 822 | 822 | * @return array |
| 823 | 823 | */ |
| 824 | - public function filter_addons_request( $args ) { |
|
| 824 | + public function filter_addons_request($args) { |
|
| 825 | 825 | |
| 826 | 826 | global $getpaid_authorize_addons; |
| 827 | 827 | $total = 0; |
| 828 | 828 | |
| 829 | - foreach ( $getpaid_authorize_addons as $addon ) { |
|
| 829 | + foreach ($getpaid_authorize_addons as $addon) { |
|
| 830 | 830 | $total += $addon->get_sub_total(); |
| 831 | 831 | } |
| 832 | 832 | |
| 833 | 833 | $args['createTransactionRequest']['transactionRequest']['amount'] = $total; |
| 834 | 834 | |
| 835 | - if ( isset( $args['createTransactionRequest']['transactionRequest']['tax'] ) ) { |
|
| 836 | - unset( $args['createTransactionRequest']['transactionRequest']['tax'] ); |
|
| 835 | + if (isset($args['createTransactionRequest']['transactionRequest']['tax'])) { |
|
| 836 | + unset($args['createTransactionRequest']['transactionRequest']['tax']); |
|
| 837 | 837 | } |
| 838 | 838 | |
| 839 | 839 | return $args; |
@@ -846,7 +846,7 @@ discard block |
||
| 846 | 846 | public function sandbox_notice() { |
| 847 | 847 | |
| 848 | 848 | return sprintf( |
| 849 | - __( 'SANDBOX ENABLED. You can use sandbox testing details only. See the %1$sAuthorize.NET Sandbox Testing Guide%2$s for more details.', 'invoicing' ), |
|
| 849 | + __('SANDBOX ENABLED. You can use sandbox testing details only. See the %1$sAuthorize.NET Sandbox Testing Guide%2$s for more details.', 'invoicing'), |
|
| 850 | 850 | '<a href="https://developer.authorize.net/hello_world/testing_guide.html">', |
| 851 | 851 | '</a>' |
| 852 | 852 | ); |
@@ -858,42 +858,42 @@ discard block |
||
| 858 | 858 | * |
| 859 | 859 | * @param array $admin_settings |
| 860 | 860 | */ |
| 861 | - public function admin_settings( $admin_settings ) { |
|
| 861 | + public function admin_settings($admin_settings) { |
|
| 862 | 862 | |
| 863 | 863 | $currencies = sprintf( |
| 864 | - __( 'Supported Currencies: %s', 'invoicing' ), |
|
| 865 | - implode( ', ', $this->currencies ) |
|
| 864 | + __('Supported Currencies: %s', 'invoicing'), |
|
| 865 | + implode(', ', $this->currencies) |
|
| 866 | 866 | ); |
| 867 | 867 | |
| 868 | 868 | $admin_settings['authorizenet_active']['desc'] .= " ($currencies)"; |
| 869 | - $admin_settings['authorizenet_desc']['std'] = __( 'Pay securely using your credit or debit card.', 'invoicing' ); |
|
| 869 | + $admin_settings['authorizenet_desc']['std'] = __('Pay securely using your credit or debit card.', 'invoicing'); |
|
| 870 | 870 | |
| 871 | 871 | $admin_settings['authorizenet_login_id'] = array( |
| 872 | 872 | 'type' => 'text', |
| 873 | 873 | 'id' => 'authorizenet_login_id', |
| 874 | - 'name' => __( 'API Login ID', 'invoicing' ), |
|
| 875 | - 'desc' => '<a href="https://support.authorize.net/s/article/How-do-I-obtain-my-API-Login-ID-and-Transaction-Key"><em>' . __( 'How do I obtain my API Login ID and Transaction Key?', 'invoicing' ) . '</em></a>', |
|
| 874 | + 'name' => __('API Login ID', 'invoicing'), |
|
| 875 | + 'desc' => '<a href="https://support.authorize.net/s/article/How-do-I-obtain-my-API-Login-ID-and-Transaction-Key"><em>' . __('How do I obtain my API Login ID and Transaction Key?', 'invoicing') . '</em></a>', |
|
| 876 | 876 | ); |
| 877 | 877 | |
| 878 | 878 | $admin_settings['authorizenet_transaction_key'] = array( |
| 879 | 879 | 'type' => 'text', |
| 880 | 880 | 'id' => 'authorizenet_transaction_key', |
| 881 | - 'name' => __( 'Transaction Key', 'invoicing' ), |
|
| 881 | + 'name' => __('Transaction Key', 'invoicing'), |
|
| 882 | 882 | ); |
| 883 | 883 | |
| 884 | 884 | $admin_settings['authorizenet_signature_key'] = array( |
| 885 | 885 | 'type' => 'text', |
| 886 | 886 | 'id' => 'authorizenet_signature_key', |
| 887 | - 'name' => __( 'Signature Key', 'invoicing' ), |
|
| 888 | - 'desc' => '<a href="https://support.authorize.net/s/article/What-is-a-Signature-Key"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>', |
|
| 887 | + 'name' => __('Signature Key', 'invoicing'), |
|
| 888 | + 'desc' => '<a href="https://support.authorize.net/s/article/What-is-a-Signature-Key"><em>' . __('Learn more.', 'invoicing') . '</em></a>', |
|
| 889 | 889 | ); |
| 890 | 890 | |
| 891 | 891 | $admin_settings['authorizenet_ipn_url'] = array( |
| 892 | 892 | 'type' => 'ipn_url', |
| 893 | 893 | 'id' => 'authorizenet_ipn_url', |
| 894 | - 'name' => __( 'Webhook URL', 'invoicing' ), |
|
| 894 | + 'name' => __('Webhook URL', 'invoicing'), |
|
| 895 | 895 | 'std' => $this->notify_url, |
| 896 | - 'desc' => __( 'Create a new webhook using this URL as the endpoint URL and set it to receive all payment events.', 'invoicing' ) . ' <a href="https://support.authorize.net/s/article/How-do-I-add-edit-Webhook-notification-end-points"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>', |
|
| 896 | + 'desc' => __('Create a new webhook using this URL as the endpoint URL and set it to receive all payment events.', 'invoicing') . ' <a href="https://support.authorize.net/s/article/How-do-I-add-edit-Webhook-notification-end-points"><em>' . __('Learn more.', 'invoicing') . '</em></a>', |
|
| 897 | 897 | 'custom' => 'authorizenet', |
| 898 | 898 | 'readonly' => true, |
| 899 | 899 | ); |
@@ -15,125 +15,125 @@ discard block |
||
| 15 | 15 | */ |
| 16 | 16 | class WPInv_Subscription extends GetPaid_Data { |
| 17 | 17 | |
| 18 | - /** |
|
| 19 | - * Which data store to load. |
|
| 20 | - * |
|
| 21 | - * @var string |
|
| 22 | - */ |
|
| 23 | - protected $data_store_name = 'subscription'; |
|
| 24 | - |
|
| 25 | - /** |
|
| 26 | - * This is the name of this object type. |
|
| 27 | - * |
|
| 28 | - * @var string |
|
| 29 | - */ |
|
| 30 | - protected $object_type = 'subscription'; |
|
| 31 | - |
|
| 32 | - /** |
|
| 33 | - * Item Data array. This is the core item data exposed in APIs. |
|
| 34 | - * |
|
| 35 | - * @since 1.0.19 |
|
| 36 | - * @var array |
|
| 37 | - */ |
|
| 38 | - protected $data = array( |
|
| 39 | - 'customer_id' => 0, |
|
| 40 | - 'frequency' => 1, |
|
| 41 | - 'period' => 'D', |
|
| 42 | - 'initial_amount' => null, |
|
| 43 | - 'recurring_amount' => null, |
|
| 44 | - 'bill_times' => 0, |
|
| 45 | - 'transaction_id' => '', |
|
| 46 | - 'parent_payment_id' => null, |
|
| 47 | - 'product_id' => 0, |
|
| 48 | - 'created' => '0000-00-00 00:00:00', |
|
| 49 | - 'expiration' => '0000-00-00 00:00:00', |
|
| 50 | - 'trial_period' => '', |
|
| 51 | - 'status' => 'pending', |
|
| 52 | - 'profile_id' => '', |
|
| 53 | - 'gateway' => '', |
|
| 54 | - 'customer' => '', |
|
| 55 | - ); |
|
| 56 | - |
|
| 57 | - /** |
|
| 58 | - * Stores the status transition information. |
|
| 59 | - * |
|
| 60 | - * @since 1.0.19 |
|
| 61 | - * @var bool |
|
| 62 | - */ |
|
| 63 | - protected $status_transition = false; |
|
| 64 | - |
|
| 65 | - /** |
|
| 66 | - * Get the subscription if ID is passed, otherwise the subscription is new and empty. |
|
| 67 | - * |
|
| 68 | - * @param int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read. |
|
| 69 | - * @param bool $deprecated |
|
| 70 | - */ |
|
| 71 | - function __construct( $subscription = 0, $deprecated = false ) { |
|
| 72 | - |
|
| 73 | - parent::__construct( $subscription ); |
|
| 74 | - |
|
| 75 | - if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) { |
|
| 76 | - $this->set_id( $subscription ); |
|
| 77 | - } elseif ( $subscription instanceof self ) { |
|
| 78 | - $this->set_id( $subscription->get_id() ); |
|
| 79 | - } elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) { |
|
| 80 | - $this->set_id( $subscription_id ); |
|
| 81 | - } elseif ( ! empty( $subscription->id ) ) { |
|
| 82 | - $this->set_id( $subscription->id ); |
|
| 83 | - } else { |
|
| 84 | - $this->set_object_read( true ); |
|
| 85 | - } |
|
| 86 | - |
|
| 87 | - // Load the datastore. |
|
| 88 | - $this->data_store = GetPaid_Data_Store::load( $this->data_store_name ); |
|
| 89 | - |
|
| 90 | - if ( $this->get_id() > 0 ) { |
|
| 91 | - $this->data_store->read( $this ); |
|
| 92 | - } |
|
| 93 | - |
|
| 94 | - } |
|
| 95 | - |
|
| 96 | - /** |
|
| 97 | - * Given an invoice id, profile id, transaction id, it returns the subscription's id. |
|
| 98 | - * |
|
| 99 | - * |
|
| 100 | - * @static |
|
| 101 | - * @param string $value |
|
| 102 | - * @param string $field Either invoice_id, transaction_id or profile_id. |
|
| 103 | - * @since 1.0.19 |
|
| 104 | - * @return int |
|
| 105 | - */ |
|
| 106 | - public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) { |
|
| 18 | + /** |
|
| 19 | + * Which data store to load. |
|
| 20 | + * |
|
| 21 | + * @var string |
|
| 22 | + */ |
|
| 23 | + protected $data_store_name = 'subscription'; |
|
| 24 | + |
|
| 25 | + /** |
|
| 26 | + * This is the name of this object type. |
|
| 27 | + * |
|
| 28 | + * @var string |
|
| 29 | + */ |
|
| 30 | + protected $object_type = 'subscription'; |
|
| 31 | + |
|
| 32 | + /** |
|
| 33 | + * Item Data array. This is the core item data exposed in APIs. |
|
| 34 | + * |
|
| 35 | + * @since 1.0.19 |
|
| 36 | + * @var array |
|
| 37 | + */ |
|
| 38 | + protected $data = array( |
|
| 39 | + 'customer_id' => 0, |
|
| 40 | + 'frequency' => 1, |
|
| 41 | + 'period' => 'D', |
|
| 42 | + 'initial_amount' => null, |
|
| 43 | + 'recurring_amount' => null, |
|
| 44 | + 'bill_times' => 0, |
|
| 45 | + 'transaction_id' => '', |
|
| 46 | + 'parent_payment_id' => null, |
|
| 47 | + 'product_id' => 0, |
|
| 48 | + 'created' => '0000-00-00 00:00:00', |
|
| 49 | + 'expiration' => '0000-00-00 00:00:00', |
|
| 50 | + 'trial_period' => '', |
|
| 51 | + 'status' => 'pending', |
|
| 52 | + 'profile_id' => '', |
|
| 53 | + 'gateway' => '', |
|
| 54 | + 'customer' => '', |
|
| 55 | + ); |
|
| 56 | + |
|
| 57 | + /** |
|
| 58 | + * Stores the status transition information. |
|
| 59 | + * |
|
| 60 | + * @since 1.0.19 |
|
| 61 | + * @var bool |
|
| 62 | + */ |
|
| 63 | + protected $status_transition = false; |
|
| 64 | + |
|
| 65 | + /** |
|
| 66 | + * Get the subscription if ID is passed, otherwise the subscription is new and empty. |
|
| 67 | + * |
|
| 68 | + * @param int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read. |
|
| 69 | + * @param bool $deprecated |
|
| 70 | + */ |
|
| 71 | + function __construct( $subscription = 0, $deprecated = false ) { |
|
| 72 | + |
|
| 73 | + parent::__construct( $subscription ); |
|
| 74 | + |
|
| 75 | + if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) { |
|
| 76 | + $this->set_id( $subscription ); |
|
| 77 | + } elseif ( $subscription instanceof self ) { |
|
| 78 | + $this->set_id( $subscription->get_id() ); |
|
| 79 | + } elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) { |
|
| 80 | + $this->set_id( $subscription_id ); |
|
| 81 | + } elseif ( ! empty( $subscription->id ) ) { |
|
| 82 | + $this->set_id( $subscription->id ); |
|
| 83 | + } else { |
|
| 84 | + $this->set_object_read( true ); |
|
| 85 | + } |
|
| 86 | + |
|
| 87 | + // Load the datastore. |
|
| 88 | + $this->data_store = GetPaid_Data_Store::load( $this->data_store_name ); |
|
| 89 | + |
|
| 90 | + if ( $this->get_id() > 0 ) { |
|
| 91 | + $this->data_store->read( $this ); |
|
| 92 | + } |
|
| 93 | + |
|
| 94 | + } |
|
| 95 | + |
|
| 96 | + /** |
|
| 97 | + * Given an invoice id, profile id, transaction id, it returns the subscription's id. |
|
| 98 | + * |
|
| 99 | + * |
|
| 100 | + * @static |
|
| 101 | + * @param string $value |
|
| 102 | + * @param string $field Either invoice_id, transaction_id or profile_id. |
|
| 103 | + * @since 1.0.19 |
|
| 104 | + * @return int |
|
| 105 | + */ |
|
| 106 | + public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) { |
|
| 107 | 107 | global $wpdb; |
| 108 | 108 | |
| 109 | - // Trim the value. |
|
| 110 | - $value = trim( $value ); |
|
| 109 | + // Trim the value. |
|
| 110 | + $value = trim( $value ); |
|
| 111 | 111 | |
| 112 | - if ( empty( $value ) ) { |
|
| 113 | - return 0; |
|
| 114 | - } |
|
| 112 | + if ( empty( $value ) ) { |
|
| 113 | + return 0; |
|
| 114 | + } |
|
| 115 | 115 | |
| 116 | - if ( 'invoice_id' == $field ) { |
|
| 117 | - $field = 'parent_payment_id'; |
|
| 118 | - } |
|
| 116 | + if ( 'invoice_id' == $field ) { |
|
| 117 | + $field = 'parent_payment_id'; |
|
| 118 | + } |
|
| 119 | 119 | |
| 120 | 120 | // Valid fields. |
| 121 | 121 | $fields = array( |
| 122 | - 'parent_payment_id', |
|
| 123 | - 'transaction_id', |
|
| 124 | - 'profile_id', |
|
| 125 | - ); |
|
| 126 | - |
|
| 127 | - // Ensure a field has been passed. |
|
| 128 | - if ( empty( $field ) || ! in_array( $field, $fields ) ) { |
|
| 129 | - return 0; |
|
| 130 | - } |
|
| 131 | - |
|
| 132 | - // Maybe retrieve from the cache. |
|
| 133 | - $subscription_id = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" ); |
|
| 134 | - if ( ! empty( $subscription_id ) ) { |
|
| 135 | - return $subscription_id; |
|
| 136 | - } |
|
| 122 | + 'parent_payment_id', |
|
| 123 | + 'transaction_id', |
|
| 124 | + 'profile_id', |
|
| 125 | + ); |
|
| 126 | + |
|
| 127 | + // Ensure a field has been passed. |
|
| 128 | + if ( empty( $field ) || ! in_array( $field, $fields ) ) { |
|
| 129 | + return 0; |
|
| 130 | + } |
|
| 131 | + |
|
| 132 | + // Maybe retrieve from the cache. |
|
| 133 | + $subscription_id = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" ); |
|
| 134 | + if ( ! empty( $subscription_id ) ) { |
|
| 135 | + return $subscription_id; |
|
| 136 | + } |
|
| 137 | 137 | |
| 138 | 138 | // Fetch from the db. |
| 139 | 139 | $table = $wpdb->prefix . 'wpinv_subscriptions'; |
@@ -141,42 +141,42 @@ discard block |
||
| 141 | 141 | $wpdb->prepare( "SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value ) |
| 142 | 142 | ); |
| 143 | 143 | |
| 144 | - if ( empty( $subscription_id ) ) { |
|
| 145 | - return 0; |
|
| 146 | - } |
|
| 144 | + if ( empty( $subscription_id ) ) { |
|
| 145 | + return 0; |
|
| 146 | + } |
|
| 147 | 147 | |
| 148 | - // Update the cache with our data. |
|
| 149 | - wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" ); |
|
| 148 | + // Update the cache with our data. |
|
| 149 | + wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" ); |
|
| 150 | 150 | |
| 151 | - return $subscription_id; |
|
| 152 | - } |
|
| 151 | + return $subscription_id; |
|
| 152 | + } |
|
| 153 | 153 | |
| 154 | - /** |
|
| 154 | + /** |
|
| 155 | 155 | * Clears the subscription's cache. |
| 156 | 156 | */ |
| 157 | 157 | public function clear_cache() { |
| 158 | - $caches = array( |
|
| 159 | - 'getpaid_subscription_parent_payment_ids_to_subscription_ids' => $this->get_parent_payment_id(), |
|
| 160 | - 'getpaid_subscription_transaction_ids_to_subscription_ids' => $this->get_transaction_id(), |
|
| 161 | - 'getpaid_subscription_profile_ids_to_subscription_ids' => $this->get_profile_id(), |
|
| 162 | - 'getpaid_subscriptions' => $this->get_id(), |
|
| 163 | - ); |
|
| 164 | - |
|
| 165 | - foreach ( $caches as $cache => $value ) { |
|
| 166 | - if ( '' !== $value && false !== $value ) { |
|
| 167 | - wp_cache_delete( $value, $cache ); |
|
| 168 | - } |
|
| 169 | - } |
|
| 170 | - } |
|
| 171 | - |
|
| 172 | - /** |
|
| 158 | + $caches = array( |
|
| 159 | + 'getpaid_subscription_parent_payment_ids_to_subscription_ids' => $this->get_parent_payment_id(), |
|
| 160 | + 'getpaid_subscription_transaction_ids_to_subscription_ids' => $this->get_transaction_id(), |
|
| 161 | + 'getpaid_subscription_profile_ids_to_subscription_ids' => $this->get_profile_id(), |
|
| 162 | + 'getpaid_subscriptions' => $this->get_id(), |
|
| 163 | + ); |
|
| 164 | + |
|
| 165 | + foreach ( $caches as $cache => $value ) { |
|
| 166 | + if ( '' !== $value && false !== $value ) { |
|
| 167 | + wp_cache_delete( $value, $cache ); |
|
| 168 | + } |
|
| 169 | + } |
|
| 170 | + } |
|
| 171 | + |
|
| 172 | + /** |
|
| 173 | 173 | * Checks if a subscription key is set. |
| 174 | 174 | */ |
| 175 | 175 | public function _isset( $key ) { |
| 176 | 176 | return isset( $this->data[ $key ] ) || method_exists( $this, "get_$key" ); |
| 177 | - } |
|
| 177 | + } |
|
| 178 | 178 | |
| 179 | - /* |
|
| 179 | + /* |
|
| 180 | 180 | |-------------------------------------------------------------------------- |
| 181 | 181 | | CRUD methods |
| 182 | 182 | |-------------------------------------------------------------------------- |
@@ -185,544 +185,544 @@ discard block |
||
| 185 | 185 | | |
| 186 | 186 | */ |
| 187 | 187 | |
| 188 | - /* |
|
| 188 | + /* |
|
| 189 | 189 | |-------------------------------------------------------------------------- |
| 190 | 190 | | Getters |
| 191 | 191 | |-------------------------------------------------------------------------- |
| 192 | 192 | */ |
| 193 | 193 | |
| 194 | - /** |
|
| 195 | - * Get customer id. |
|
| 196 | - * |
|
| 197 | - * @since 1.0.19 |
|
| 198 | - * @param string $context View or edit context. |
|
| 199 | - * @return int |
|
| 200 | - */ |
|
| 201 | - public function get_customer_id( $context = 'view' ) { |
|
| 202 | - return (int) $this->get_prop( 'customer_id', $context ); |
|
| 203 | - } |
|
| 204 | - |
|
| 205 | - /** |
|
| 206 | - * Get customer information. |
|
| 207 | - * |
|
| 208 | - * @since 1.0.19 |
|
| 209 | - * @param string $context View or edit context. |
|
| 210 | - * @return WP_User|false WP_User object on success, false on failure. |
|
| 211 | - */ |
|
| 212 | - public function get_customer( $context = 'view' ) { |
|
| 213 | - return get_userdata( $this->get_customer_id( $context ) ); |
|
| 214 | - } |
|
| 215 | - |
|
| 216 | - /** |
|
| 217 | - * Get parent invoice id. |
|
| 218 | - * |
|
| 219 | - * @since 1.0.19 |
|
| 220 | - * @param string $context View or edit context. |
|
| 221 | - * @return int |
|
| 222 | - */ |
|
| 223 | - public function get_parent_invoice_id( $context = 'view' ) { |
|
| 224 | - return (int) $this->get_prop( 'parent_payment_id', $context ); |
|
| 225 | - } |
|
| 226 | - |
|
| 227 | - /** |
|
| 228 | - * Alias for self::get_parent_invoice_id(). |
|
| 229 | - * |
|
| 230 | - * @since 1.0.19 |
|
| 231 | - * @param string $context View or edit context. |
|
| 232 | - * @return int |
|
| 233 | - */ |
|
| 194 | + /** |
|
| 195 | + * Get customer id. |
|
| 196 | + * |
|
| 197 | + * @since 1.0.19 |
|
| 198 | + * @param string $context View or edit context. |
|
| 199 | + * @return int |
|
| 200 | + */ |
|
| 201 | + public function get_customer_id( $context = 'view' ) { |
|
| 202 | + return (int) $this->get_prop( 'customer_id', $context ); |
|
| 203 | + } |
|
| 204 | + |
|
| 205 | + /** |
|
| 206 | + * Get customer information. |
|
| 207 | + * |
|
| 208 | + * @since 1.0.19 |
|
| 209 | + * @param string $context View or edit context. |
|
| 210 | + * @return WP_User|false WP_User object on success, false on failure. |
|
| 211 | + */ |
|
| 212 | + public function get_customer( $context = 'view' ) { |
|
| 213 | + return get_userdata( $this->get_customer_id( $context ) ); |
|
| 214 | + } |
|
| 215 | + |
|
| 216 | + /** |
|
| 217 | + * Get parent invoice id. |
|
| 218 | + * |
|
| 219 | + * @since 1.0.19 |
|
| 220 | + * @param string $context View or edit context. |
|
| 221 | + * @return int |
|
| 222 | + */ |
|
| 223 | + public function get_parent_invoice_id( $context = 'view' ) { |
|
| 224 | + return (int) $this->get_prop( 'parent_payment_id', $context ); |
|
| 225 | + } |
|
| 226 | + |
|
| 227 | + /** |
|
| 228 | + * Alias for self::get_parent_invoice_id(). |
|
| 229 | + * |
|
| 230 | + * @since 1.0.19 |
|
| 231 | + * @param string $context View or edit context. |
|
| 232 | + * @return int |
|
| 233 | + */ |
|
| 234 | 234 | public function get_parent_payment_id( $context = 'view' ) { |
| 235 | 235 | return $this->get_parent_invoice_id( $context ); |
| 236 | - } |
|
| 236 | + } |
|
| 237 | + |
|
| 238 | + /** |
|
| 239 | + * Alias for self::get_parent_invoice_id(). |
|
| 240 | + * |
|
| 241 | + * @since 1.0.0 |
|
| 242 | + * @return int |
|
| 243 | + */ |
|
| 244 | + public function get_original_payment_id( $context = 'view' ) { |
|
| 245 | + return $this->get_parent_invoice_id( $context ); |
|
| 246 | + } |
|
| 247 | + |
|
| 248 | + /** |
|
| 249 | + * Get parent invoice. |
|
| 250 | + * |
|
| 251 | + * @since 1.0.19 |
|
| 252 | + * @param string $context View or edit context. |
|
| 253 | + * @return WPInv_Invoice |
|
| 254 | + */ |
|
| 255 | + public function get_parent_invoice( $context = 'view' ) { |
|
| 256 | + return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) ); |
|
| 257 | + } |
|
| 258 | + |
|
| 259 | + /** |
|
| 260 | + * Alias for self::get_parent_invoice(). |
|
| 261 | + * |
|
| 262 | + * @since 1.0.19 |
|
| 263 | + * @param string $context View or edit context. |
|
| 264 | + * @return WPInv_Invoice |
|
| 265 | + */ |
|
| 266 | + public function get_parent_payment( $context = 'view' ) { |
|
| 267 | + return $this->get_parent_invoice( $context ); |
|
| 268 | + } |
|
| 269 | + |
|
| 270 | + /** |
|
| 271 | + * Get subscription's product id. |
|
| 272 | + * |
|
| 273 | + * @since 1.0.19 |
|
| 274 | + * @param string $context View or edit context. |
|
| 275 | + * @return int |
|
| 276 | + */ |
|
| 277 | + public function get_product_id( $context = 'view' ) { |
|
| 278 | + return (int) $this->get_prop( 'product_id', $context ); |
|
| 279 | + } |
|
| 280 | + |
|
| 281 | + /** |
|
| 282 | + * Get the subscription product. |
|
| 283 | + * |
|
| 284 | + * @since 1.0.19 |
|
| 285 | + * @param string $context View or edit context. |
|
| 286 | + * @return WPInv_Item |
|
| 287 | + */ |
|
| 288 | + public function get_product( $context = 'view' ) { |
|
| 289 | + return new WPInv_Item( $this->get_product_id( $context ) ); |
|
| 290 | + } |
|
| 291 | + |
|
| 292 | + /** |
|
| 293 | + * Get parent invoice's gateway. |
|
| 294 | + * |
|
| 295 | + * Here for backwards compatibility. |
|
| 296 | + * |
|
| 297 | + * @since 1.0.19 |
|
| 298 | + * @param string $context View or edit context. |
|
| 299 | + * @return string |
|
| 300 | + */ |
|
| 301 | + public function get_gateway( $context = 'view' ) { |
|
| 302 | + return $this->get_parent_invoice( $context )->get_gateway(); |
|
| 303 | + } |
|
| 304 | + |
|
| 305 | + /** |
|
| 306 | + * Get the period of a renewal. |
|
| 307 | + * |
|
| 308 | + * @since 1.0.19 |
|
| 309 | + * @param string $context View or edit context. |
|
| 310 | + * @return string |
|
| 311 | + */ |
|
| 312 | + public function get_period( $context = 'view' ) { |
|
| 313 | + return $this->get_prop( 'period', $context ); |
|
| 314 | + } |
|
| 315 | + |
|
| 316 | + /** |
|
| 317 | + * Get number of periods each renewal is valid for. |
|
| 318 | + * |
|
| 319 | + * @since 1.0.19 |
|
| 320 | + * @param string $context View or edit context. |
|
| 321 | + * @return int |
|
| 322 | + */ |
|
| 323 | + public function get_frequency( $context = 'view' ) { |
|
| 324 | + return (int) $this->get_prop( 'frequency', $context ); |
|
| 325 | + } |
|
| 326 | + |
|
| 327 | + /** |
|
| 328 | + * Get the initial amount for the subscription. |
|
| 329 | + * |
|
| 330 | + * @since 1.0.19 |
|
| 331 | + * @param string $context View or edit context. |
|
| 332 | + * @return float |
|
| 333 | + */ |
|
| 334 | + public function get_initial_amount( $context = 'view' ) { |
|
| 335 | + return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) ); |
|
| 336 | + } |
|
| 337 | + |
|
| 338 | + /** |
|
| 339 | + * Get the recurring amount for the subscription. |
|
| 340 | + * |
|
| 341 | + * @since 1.0.19 |
|
| 342 | + * @param string $context View or edit context. |
|
| 343 | + * @return float |
|
| 344 | + */ |
|
| 345 | + public function get_recurring_amount( $context = 'view' ) { |
|
| 346 | + return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) ); |
|
| 347 | + } |
|
| 348 | + |
|
| 349 | + /** |
|
| 350 | + * Get number of times that this subscription can be renewed. |
|
| 351 | + * |
|
| 352 | + * @since 1.0.19 |
|
| 353 | + * @param string $context View or edit context. |
|
| 354 | + * @return int |
|
| 355 | + */ |
|
| 356 | + public function get_bill_times( $context = 'view' ) { |
|
| 357 | + return (int) $this->get_prop( 'bill_times', $context ); |
|
| 358 | + } |
|
| 359 | + |
|
| 360 | + /** |
|
| 361 | + * Get transaction id of this subscription's parent invoice. |
|
| 362 | + * |
|
| 363 | + * @since 1.0.19 |
|
| 364 | + * @param string $context View or edit context. |
|
| 365 | + * @return string |
|
| 366 | + */ |
|
| 367 | + public function get_transaction_id( $context = 'view' ) { |
|
| 368 | + return $this->get_prop( 'transaction_id', $context ); |
|
| 369 | + } |
|
| 370 | + |
|
| 371 | + /** |
|
| 372 | + * Get the date that the subscription was created. |
|
| 373 | + * |
|
| 374 | + * @since 1.0.19 |
|
| 375 | + * @param string $context View or edit context. |
|
| 376 | + * @return string |
|
| 377 | + */ |
|
| 378 | + public function get_created( $context = 'view' ) { |
|
| 379 | + return $this->get_prop( 'created', $context ); |
|
| 380 | + } |
|
| 381 | + |
|
| 382 | + /** |
|
| 383 | + * Alias for self::get_created(). |
|
| 384 | + * |
|
| 385 | + * @since 1.0.19 |
|
| 386 | + * @param string $context View or edit context. |
|
| 387 | + * @return string |
|
| 388 | + */ |
|
| 389 | + public function get_date_created( $context = 'view' ) { |
|
| 390 | + return $this->get_created( $context ); |
|
| 391 | + } |
|
| 392 | + |
|
| 393 | + /** |
|
| 394 | + * Retrieves the creation date in a timestamp |
|
| 395 | + * |
|
| 396 | + * @since 1.0.0 |
|
| 397 | + * @return int |
|
| 398 | + */ |
|
| 399 | + public function get_time_created() { |
|
| 400 | + $created = $this->get_date_created(); |
|
| 401 | + return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) ); |
|
| 402 | + } |
|
| 403 | + |
|
| 404 | + /** |
|
| 405 | + * Get GMT date when the subscription was created. |
|
| 406 | + * |
|
| 407 | + * @since 1.0.19 |
|
| 408 | + * @param string $context View or edit context. |
|
| 409 | + * @return string |
|
| 410 | + */ |
|
| 411 | + public function get_date_created_gmt( $context = 'view' ) { |
|
| 412 | + $date = $this->get_date_created( $context ); |
|
| 413 | + |
|
| 414 | + if ( $date ) { |
|
| 415 | + $date = get_gmt_from_date( $date ); |
|
| 416 | + } |
|
| 417 | + return $date; |
|
| 418 | + } |
|
| 419 | + |
|
| 420 | + /** |
|
| 421 | + * Get the date that the subscription will renew. |
|
| 422 | + * |
|
| 423 | + * @since 1.0.19 |
|
| 424 | + * @param string $context View or edit context. |
|
| 425 | + * @return string |
|
| 426 | + */ |
|
| 427 | + public function get_next_renewal_date( $context = 'view' ) { |
|
| 428 | + return $this->get_prop( 'expiration', $context ); |
|
| 429 | + } |
|
| 430 | + |
|
| 431 | + /** |
|
| 432 | + * Alias for self::get_next_renewal_date(). |
|
| 433 | + * |
|
| 434 | + * @since 1.0.19 |
|
| 435 | + * @param string $context View or edit context. |
|
| 436 | + * @return string |
|
| 437 | + */ |
|
| 438 | + public function get_expiration( $context = 'view' ) { |
|
| 439 | + return $this->get_next_renewal_date( $context ); |
|
| 440 | + } |
|
| 441 | + |
|
| 442 | + /** |
|
| 443 | + * Retrieves the expiration date in a timestamp |
|
| 444 | + * |
|
| 445 | + * @since 1.0.0 |
|
| 446 | + * @return int |
|
| 447 | + */ |
|
| 448 | + public function get_expiration_time() { |
|
| 449 | + $expiration = $this->get_expiration(); |
|
| 450 | + |
|
| 451 | + if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) { |
|
| 452 | + return current_time( 'timestamp' ); |
|
| 453 | + } |
|
| 454 | + |
|
| 455 | + $expiration = strtotime( $expiration, current_time( 'timestamp' ) ); |
|
| 456 | + return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration; |
|
| 457 | + } |
|
| 458 | + |
|
| 459 | + /** |
|
| 460 | + * Get GMT date when the subscription will renew. |
|
| 461 | + * |
|
| 462 | + * @since 1.0.19 |
|
| 463 | + * @param string $context View or edit context. |
|
| 464 | + * @return string |
|
| 465 | + */ |
|
| 466 | + public function get_next_renewal_date_gmt( $context = 'view' ) { |
|
| 467 | + $date = $this->get_next_renewal_date( $context ); |
|
| 468 | + |
|
| 469 | + if ( $date ) { |
|
| 470 | + $date = get_gmt_from_date( $date ); |
|
| 471 | + } |
|
| 472 | + return $date; |
|
| 473 | + } |
|
| 474 | + |
|
| 475 | + /** |
|
| 476 | + * Get the subscription's trial period. |
|
| 477 | + * |
|
| 478 | + * @since 1.0.19 |
|
| 479 | + * @param string $context View or edit context. |
|
| 480 | + * @return string |
|
| 481 | + */ |
|
| 482 | + public function get_trial_period( $context = 'view' ) { |
|
| 483 | + return $this->get_prop( 'trial_period', $context ); |
|
| 484 | + } |
|
| 485 | + |
|
| 486 | + /** |
|
| 487 | + * Get the subscription's status. |
|
| 488 | + * |
|
| 489 | + * @since 1.0.19 |
|
| 490 | + * @param string $context View or edit context. |
|
| 491 | + * @return string |
|
| 492 | + */ |
|
| 493 | + public function get_status( $context = 'view' ) { |
|
| 494 | + return $this->get_prop( 'status', $context ); |
|
| 495 | + } |
|
| 496 | + |
|
| 497 | + /** |
|
| 498 | + * Get the subscription's profile id. |
|
| 499 | + * |
|
| 500 | + * @since 1.0.19 |
|
| 501 | + * @param string $context View or edit context. |
|
| 502 | + * @return string |
|
| 503 | + */ |
|
| 504 | + public function get_profile_id( $context = 'view' ) { |
|
| 505 | + return $this->get_prop( 'profile_id', $context ); |
|
| 506 | + } |
|
| 507 | + |
|
| 508 | + /* |
|
| 509 | + |-------------------------------------------------------------------------- |
|
| 510 | + | Setters |
|
| 511 | + |-------------------------------------------------------------------------- |
|
| 512 | + */ |
|
| 513 | + |
|
| 514 | + /** |
|
| 515 | + * Set customer id. |
|
| 516 | + * |
|
| 517 | + * @since 1.0.19 |
|
| 518 | + * @param int $value The customer's id. |
|
| 519 | + */ |
|
| 520 | + public function set_customer_id( $value ) { |
|
| 521 | + $this->set_prop( 'customer_id', (int) $value ); |
|
| 522 | + } |
|
| 523 | + |
|
| 524 | + /** |
|
| 525 | + * Set parent invoice id. |
|
| 526 | + * |
|
| 527 | + * @since 1.0.19 |
|
| 528 | + * @param int $value The parent invoice id. |
|
| 529 | + */ |
|
| 530 | + public function set_parent_invoice_id( $value ) { |
|
| 531 | + $this->set_prop( 'parent_payment_id', (int) $value ); |
|
| 532 | + } |
|
| 533 | + |
|
| 534 | + /** |
|
| 535 | + * Alias for self::set_parent_invoice_id(). |
|
| 536 | + * |
|
| 537 | + * @since 1.0.19 |
|
| 538 | + * @param int $value The parent invoice id. |
|
| 539 | + */ |
|
| 540 | + public function set_parent_payment_id( $value ) { |
|
| 541 | + $this->set_parent_invoice_id( $value ); |
|
| 542 | + } |
|
| 543 | + |
|
| 544 | + /** |
|
| 545 | + * Alias for self::set_parent_invoice_id(). |
|
| 546 | + * |
|
| 547 | + * @since 1.0.19 |
|
| 548 | + * @param int $value The parent invoice id. |
|
| 549 | + */ |
|
| 550 | + public function set_original_payment_id( $value ) { |
|
| 551 | + $this->set_parent_invoice_id( $value ); |
|
| 552 | + } |
|
| 553 | + |
|
| 554 | + /** |
|
| 555 | + * Set subscription's product id. |
|
| 556 | + * |
|
| 557 | + * @since 1.0.19 |
|
| 558 | + * @param int $value The subscription product id. |
|
| 559 | + */ |
|
| 560 | + public function set_product_id( $value ) { |
|
| 561 | + $this->set_prop( 'product_id', (int) $value ); |
|
| 562 | + } |
|
| 563 | + |
|
| 564 | + /** |
|
| 565 | + * Set the period of a renewal. |
|
| 566 | + * |
|
| 567 | + * @since 1.0.19 |
|
| 568 | + * @param string $value The renewal period. |
|
| 569 | + */ |
|
| 570 | + public function set_period( $value ) { |
|
| 571 | + $this->set_prop( 'period', $value ); |
|
| 572 | + } |
|
| 573 | + |
|
| 574 | + /** |
|
| 575 | + * Set number of periods each renewal is valid for. |
|
| 576 | + * |
|
| 577 | + * @since 1.0.19 |
|
| 578 | + * @param int $value The subscription frequency. |
|
| 579 | + */ |
|
| 580 | + public function set_frequency( $value ) { |
|
| 581 | + $value = empty( $value ) ? 1 : (int) $value; |
|
| 582 | + $this->set_prop( 'frequency', absint( $value ) ); |
|
| 583 | + } |
|
| 584 | + |
|
| 585 | + /** |
|
| 586 | + * Set the initial amount for the subscription. |
|
| 587 | + * |
|
| 588 | + * @since 1.0.19 |
|
| 589 | + * @param float $value The initial subcription amount. |
|
| 590 | + */ |
|
| 591 | + public function set_initial_amount( $value ) { |
|
| 592 | + $this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) ); |
|
| 593 | + } |
|
| 594 | + |
|
| 595 | + /** |
|
| 596 | + * Set the recurring amount for the subscription. |
|
| 597 | + * |
|
| 598 | + * @since 1.0.19 |
|
| 599 | + * @param float $value The recurring subcription amount. |
|
| 600 | + */ |
|
| 601 | + public function set_recurring_amount( $value ) { |
|
| 602 | + $this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) ); |
|
| 603 | + } |
|
| 604 | + |
|
| 605 | + /** |
|
| 606 | + * Set number of times that this subscription can be renewed. |
|
| 607 | + * |
|
| 608 | + * @since 1.0.19 |
|
| 609 | + * @param int $value Bill times. |
|
| 610 | + */ |
|
| 611 | + public function set_bill_times( $value ) { |
|
| 612 | + $this->set_prop( 'bill_times', (int) $value ); |
|
| 613 | + } |
|
| 614 | + |
|
| 615 | + /** |
|
| 616 | + * Get transaction id of this subscription's parent invoice. |
|
| 617 | + * |
|
| 618 | + * @since 1.0.19 |
|
| 619 | + * @param string $value Bill times. |
|
| 620 | + */ |
|
| 621 | + public function set_transaction_id( $value ) { |
|
| 622 | + $this->set_prop( 'transaction_id', sanitize_text_field( $value ) ); |
|
| 623 | + } |
|
| 624 | + |
|
| 625 | + /** |
|
| 626 | + * Set date when this subscription started. |
|
| 627 | + * |
|
| 628 | + * @since 1.0.19 |
|
| 629 | + * @param string $value strtotime compliant date. |
|
| 630 | + */ |
|
| 631 | + public function set_created( $value ) { |
|
| 632 | + $date = strtotime( $value ); |
|
| 633 | + |
|
| 634 | + if ( $date && $value !== '0000-00-00 00:00:00' ) { |
|
| 635 | + $this->set_prop( 'created', gmdate( 'Y-m-d H:i:s', $date ) ); |
|
| 636 | + return; |
|
| 637 | + } |
|
| 638 | + |
|
| 639 | + $this->set_prop( 'created', '' ); |
|
| 640 | + |
|
| 641 | + } |
|
| 237 | 642 | |
| 238 | - /** |
|
| 239 | - * Alias for self::get_parent_invoice_id(). |
|
| 643 | + /** |
|
| 644 | + * Alias for self::set_created(). |
|
| 240 | 645 | * |
| 241 | - * @since 1.0.0 |
|
| 242 | - * @return int |
|
| 646 | + * @since 1.0.19 |
|
| 647 | + * @param string $value strtotime compliant date. |
|
| 243 | 648 | */ |
| 244 | - public function get_original_payment_id( $context = 'view' ) { |
|
| 245 | - return $this->get_parent_invoice_id( $context ); |
|
| 649 | + public function set_date_created( $value ) { |
|
| 650 | + $this->set_created( $value ); |
|
| 246 | 651 | } |
| 247 | 652 | |
| 248 | - /** |
|
| 249 | - * Get parent invoice. |
|
| 250 | - * |
|
| 251 | - * @since 1.0.19 |
|
| 252 | - * @param string $context View or edit context. |
|
| 253 | - * @return WPInv_Invoice |
|
| 254 | - */ |
|
| 255 | - public function get_parent_invoice( $context = 'view' ) { |
|
| 256 | - return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) ); |
|
| 257 | - } |
|
| 258 | - |
|
| 259 | - /** |
|
| 260 | - * Alias for self::get_parent_invoice(). |
|
| 261 | - * |
|
| 262 | - * @since 1.0.19 |
|
| 263 | - * @param string $context View or edit context. |
|
| 264 | - * @return WPInv_Invoice |
|
| 265 | - */ |
|
| 266 | - public function get_parent_payment( $context = 'view' ) { |
|
| 267 | - return $this->get_parent_invoice( $context ); |
|
| 268 | - } |
|
| 269 | - |
|
| 270 | - /** |
|
| 271 | - * Get subscription's product id. |
|
| 272 | - * |
|
| 273 | - * @since 1.0.19 |
|
| 274 | - * @param string $context View or edit context. |
|
| 275 | - * @return int |
|
| 276 | - */ |
|
| 277 | - public function get_product_id( $context = 'view' ) { |
|
| 278 | - return (int) $this->get_prop( 'product_id', $context ); |
|
| 279 | - } |
|
| 280 | - |
|
| 281 | - /** |
|
| 282 | - * Get the subscription product. |
|
| 283 | - * |
|
| 284 | - * @since 1.0.19 |
|
| 285 | - * @param string $context View or edit context. |
|
| 286 | - * @return WPInv_Item |
|
| 287 | - */ |
|
| 288 | - public function get_product( $context = 'view' ) { |
|
| 289 | - return new WPInv_Item( $this->get_product_id( $context ) ); |
|
| 290 | - } |
|
| 291 | - |
|
| 292 | - /** |
|
| 293 | - * Get parent invoice's gateway. |
|
| 294 | - * |
|
| 295 | - * Here for backwards compatibility. |
|
| 296 | - * |
|
| 297 | - * @since 1.0.19 |
|
| 298 | - * @param string $context View or edit context. |
|
| 299 | - * @return string |
|
| 300 | - */ |
|
| 301 | - public function get_gateway( $context = 'view' ) { |
|
| 302 | - return $this->get_parent_invoice( $context )->get_gateway(); |
|
| 303 | - } |
|
| 304 | - |
|
| 305 | - /** |
|
| 306 | - * Get the period of a renewal. |
|
| 307 | - * |
|
| 308 | - * @since 1.0.19 |
|
| 309 | - * @param string $context View or edit context. |
|
| 310 | - * @return string |
|
| 311 | - */ |
|
| 312 | - public function get_period( $context = 'view' ) { |
|
| 313 | - return $this->get_prop( 'period', $context ); |
|
| 314 | - } |
|
| 315 | - |
|
| 316 | - /** |
|
| 317 | - * Get number of periods each renewal is valid for. |
|
| 318 | - * |
|
| 319 | - * @since 1.0.19 |
|
| 320 | - * @param string $context View or edit context. |
|
| 321 | - * @return int |
|
| 322 | - */ |
|
| 323 | - public function get_frequency( $context = 'view' ) { |
|
| 324 | - return (int) $this->get_prop( 'frequency', $context ); |
|
| 325 | - } |
|
| 326 | - |
|
| 327 | - /** |
|
| 328 | - * Get the initial amount for the subscription. |
|
| 329 | - * |
|
| 330 | - * @since 1.0.19 |
|
| 331 | - * @param string $context View or edit context. |
|
| 332 | - * @return float |
|
| 333 | - */ |
|
| 334 | - public function get_initial_amount( $context = 'view' ) { |
|
| 335 | - return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) ); |
|
| 336 | - } |
|
| 337 | - |
|
| 338 | - /** |
|
| 339 | - * Get the recurring amount for the subscription. |
|
| 340 | - * |
|
| 341 | - * @since 1.0.19 |
|
| 342 | - * @param string $context View or edit context. |
|
| 343 | - * @return float |
|
| 344 | - */ |
|
| 345 | - public function get_recurring_amount( $context = 'view' ) { |
|
| 346 | - return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) ); |
|
| 347 | - } |
|
| 348 | - |
|
| 349 | - /** |
|
| 350 | - * Get number of times that this subscription can be renewed. |
|
| 351 | - * |
|
| 352 | - * @since 1.0.19 |
|
| 353 | - * @param string $context View or edit context. |
|
| 354 | - * @return int |
|
| 355 | - */ |
|
| 356 | - public function get_bill_times( $context = 'view' ) { |
|
| 357 | - return (int) $this->get_prop( 'bill_times', $context ); |
|
| 358 | - } |
|
| 359 | - |
|
| 360 | - /** |
|
| 361 | - * Get transaction id of this subscription's parent invoice. |
|
| 362 | - * |
|
| 363 | - * @since 1.0.19 |
|
| 364 | - * @param string $context View or edit context. |
|
| 365 | - * @return string |
|
| 366 | - */ |
|
| 367 | - public function get_transaction_id( $context = 'view' ) { |
|
| 368 | - return $this->get_prop( 'transaction_id', $context ); |
|
| 369 | - } |
|
| 370 | - |
|
| 371 | - /** |
|
| 372 | - * Get the date that the subscription was created. |
|
| 373 | - * |
|
| 374 | - * @since 1.0.19 |
|
| 375 | - * @param string $context View or edit context. |
|
| 376 | - * @return string |
|
| 377 | - */ |
|
| 378 | - public function get_created( $context = 'view' ) { |
|
| 379 | - return $this->get_prop( 'created', $context ); |
|
| 380 | - } |
|
| 381 | - |
|
| 382 | - /** |
|
| 383 | - * Alias for self::get_created(). |
|
| 384 | - * |
|
| 385 | - * @since 1.0.19 |
|
| 386 | - * @param string $context View or edit context. |
|
| 387 | - * @return string |
|
| 388 | - */ |
|
| 389 | - public function get_date_created( $context = 'view' ) { |
|
| 390 | - return $this->get_created( $context ); |
|
| 391 | - } |
|
| 392 | - |
|
| 393 | - /** |
|
| 394 | - * Retrieves the creation date in a timestamp |
|
| 395 | - * |
|
| 396 | - * @since 1.0.0 |
|
| 397 | - * @return int |
|
| 398 | - */ |
|
| 399 | - public function get_time_created() { |
|
| 400 | - $created = $this->get_date_created(); |
|
| 401 | - return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) ); |
|
| 402 | - } |
|
| 403 | - |
|
| 404 | - /** |
|
| 405 | - * Get GMT date when the subscription was created. |
|
| 406 | - * |
|
| 407 | - * @since 1.0.19 |
|
| 408 | - * @param string $context View or edit context. |
|
| 409 | - * @return string |
|
| 410 | - */ |
|
| 411 | - public function get_date_created_gmt( $context = 'view' ) { |
|
| 412 | - $date = $this->get_date_created( $context ); |
|
| 653 | + /** |
|
| 654 | + * Set the date that the subscription will renew. |
|
| 655 | + * |
|
| 656 | + * @since 1.0.19 |
|
| 657 | + * @param string $value strtotime compliant date. |
|
| 658 | + */ |
|
| 659 | + public function set_next_renewal_date( $value ) { |
|
| 660 | + $date = strtotime( $value ); |
|
| 413 | 661 | |
| 414 | - if ( $date ) { |
|
| 415 | - $date = get_gmt_from_date( $date ); |
|
| 662 | + if ( $date && $value !== '0000-00-00 00:00:00' ) { |
|
| 663 | + $this->set_prop( 'expiration', gmdate( 'Y-m-d H:i:s', $date ) ); |
|
| 664 | + return; |
|
| 416 | 665 | } |
| 417 | - return $date; |
|
| 418 | - } |
|
| 419 | - |
|
| 420 | - /** |
|
| 421 | - * Get the date that the subscription will renew. |
|
| 422 | - * |
|
| 423 | - * @since 1.0.19 |
|
| 424 | - * @param string $context View or edit context. |
|
| 425 | - * @return string |
|
| 426 | - */ |
|
| 427 | - public function get_next_renewal_date( $context = 'view' ) { |
|
| 428 | - return $this->get_prop( 'expiration', $context ); |
|
| 429 | - } |
|
| 430 | - |
|
| 431 | - /** |
|
| 432 | - * Alias for self::get_next_renewal_date(). |
|
| 433 | - * |
|
| 434 | - * @since 1.0.19 |
|
| 435 | - * @param string $context View or edit context. |
|
| 436 | - * @return string |
|
| 437 | - */ |
|
| 438 | - public function get_expiration( $context = 'view' ) { |
|
| 439 | - return $this->get_next_renewal_date( $context ); |
|
| 440 | - } |
|
| 441 | - |
|
| 442 | - /** |
|
| 443 | - * Retrieves the expiration date in a timestamp |
|
| 444 | - * |
|
| 445 | - * @since 1.0.0 |
|
| 446 | - * @return int |
|
| 447 | - */ |
|
| 448 | - public function get_expiration_time() { |
|
| 449 | - $expiration = $this->get_expiration(); |
|
| 450 | - |
|
| 451 | - if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) { |
|
| 452 | - return current_time( 'timestamp' ); |
|
| 453 | - } |
|
| 454 | - |
|
| 455 | - $expiration = strtotime( $expiration, current_time( 'timestamp' ) ); |
|
| 456 | - return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration; |
|
| 457 | - } |
|
| 458 | - |
|
| 459 | - /** |
|
| 460 | - * Get GMT date when the subscription will renew. |
|
| 461 | - * |
|
| 462 | - * @since 1.0.19 |
|
| 463 | - * @param string $context View or edit context. |
|
| 464 | - * @return string |
|
| 465 | - */ |
|
| 466 | - public function get_next_renewal_date_gmt( $context = 'view' ) { |
|
| 467 | - $date = $this->get_next_renewal_date( $context ); |
|
| 468 | 666 | |
| 469 | - if ( $date ) { |
|
| 470 | - $date = get_gmt_from_date( $date ); |
|
| 471 | - } |
|
| 472 | - return $date; |
|
| 473 | - } |
|
| 474 | - |
|
| 475 | - /** |
|
| 476 | - * Get the subscription's trial period. |
|
| 477 | - * |
|
| 478 | - * @since 1.0.19 |
|
| 479 | - * @param string $context View or edit context. |
|
| 480 | - * @return string |
|
| 481 | - */ |
|
| 482 | - public function get_trial_period( $context = 'view' ) { |
|
| 483 | - return $this->get_prop( 'trial_period', $context ); |
|
| 484 | - } |
|
| 485 | - |
|
| 486 | - /** |
|
| 487 | - * Get the subscription's status. |
|
| 488 | - * |
|
| 489 | - * @since 1.0.19 |
|
| 490 | - * @param string $context View or edit context. |
|
| 491 | - * @return string |
|
| 492 | - */ |
|
| 493 | - public function get_status( $context = 'view' ) { |
|
| 494 | - return $this->get_prop( 'status', $context ); |
|
| 495 | - } |
|
| 496 | - |
|
| 497 | - /** |
|
| 498 | - * Get the subscription's profile id. |
|
| 499 | - * |
|
| 500 | - * @since 1.0.19 |
|
| 501 | - * @param string $context View or edit context. |
|
| 502 | - * @return string |
|
| 503 | - */ |
|
| 504 | - public function get_profile_id( $context = 'view' ) { |
|
| 505 | - return $this->get_prop( 'profile_id', $context ); |
|
| 506 | - } |
|
| 507 | - |
|
| 508 | - /* |
|
| 509 | - |-------------------------------------------------------------------------- |
|
| 510 | - | Setters |
|
| 511 | - |-------------------------------------------------------------------------- |
|
| 512 | - */ |
|
| 667 | + $this->set_prop( 'expiration', '' ); |
|
| 513 | 668 | |
| 514 | - /** |
|
| 515 | - * Set customer id. |
|
| 516 | - * |
|
| 517 | - * @since 1.0.19 |
|
| 518 | - * @param int $value The customer's id. |
|
| 519 | - */ |
|
| 520 | - public function set_customer_id( $value ) { |
|
| 521 | - $this->set_prop( 'customer_id', (int) $value ); |
|
| 522 | - } |
|
| 523 | - |
|
| 524 | - /** |
|
| 525 | - * Set parent invoice id. |
|
| 526 | - * |
|
| 527 | - * @since 1.0.19 |
|
| 528 | - * @param int $value The parent invoice id. |
|
| 529 | - */ |
|
| 530 | - public function set_parent_invoice_id( $value ) { |
|
| 531 | - $this->set_prop( 'parent_payment_id', (int) $value ); |
|
| 532 | - } |
|
| 533 | - |
|
| 534 | - /** |
|
| 535 | - * Alias for self::set_parent_invoice_id(). |
|
| 536 | - * |
|
| 537 | - * @since 1.0.19 |
|
| 538 | - * @param int $value The parent invoice id. |
|
| 539 | - */ |
|
| 540 | - public function set_parent_payment_id( $value ) { |
|
| 541 | - $this->set_parent_invoice_id( $value ); |
|
| 542 | - } |
|
| 669 | + } |
|
| 543 | 670 | |
| 544 | - /** |
|
| 545 | - * Alias for self::set_parent_invoice_id(). |
|
| 671 | + /** |
|
| 672 | + * Alias for self::set_next_renewal_date(). |
|
| 546 | 673 | * |
| 547 | 674 | * @since 1.0.19 |
| 548 | - * @param int $value The parent invoice id. |
|
| 675 | + * @param string $value strtotime compliant date. |
|
| 549 | 676 | */ |
| 550 | - public function set_original_payment_id( $value ) { |
|
| 551 | - $this->set_parent_invoice_id( $value ); |
|
| 552 | - } |
|
| 553 | - |
|
| 554 | - /** |
|
| 555 | - * Set subscription's product id. |
|
| 556 | - * |
|
| 557 | - * @since 1.0.19 |
|
| 558 | - * @param int $value The subscription product id. |
|
| 559 | - */ |
|
| 560 | - public function set_product_id( $value ) { |
|
| 561 | - $this->set_prop( 'product_id', (int) $value ); |
|
| 562 | - } |
|
| 563 | - |
|
| 564 | - /** |
|
| 565 | - * Set the period of a renewal. |
|
| 566 | - * |
|
| 567 | - * @since 1.0.19 |
|
| 568 | - * @param string $value The renewal period. |
|
| 569 | - */ |
|
| 570 | - public function set_period( $value ) { |
|
| 571 | - $this->set_prop( 'period', $value ); |
|
| 572 | - } |
|
| 573 | - |
|
| 574 | - /** |
|
| 575 | - * Set number of periods each renewal is valid for. |
|
| 576 | - * |
|
| 577 | - * @since 1.0.19 |
|
| 578 | - * @param int $value The subscription frequency. |
|
| 579 | - */ |
|
| 580 | - public function set_frequency( $value ) { |
|
| 581 | - $value = empty( $value ) ? 1 : (int) $value; |
|
| 582 | - $this->set_prop( 'frequency', absint( $value ) ); |
|
| 583 | - } |
|
| 584 | - |
|
| 585 | - /** |
|
| 586 | - * Set the initial amount for the subscription. |
|
| 587 | - * |
|
| 588 | - * @since 1.0.19 |
|
| 589 | - * @param float $value The initial subcription amount. |
|
| 590 | - */ |
|
| 591 | - public function set_initial_amount( $value ) { |
|
| 592 | - $this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) ); |
|
| 593 | - } |
|
| 594 | - |
|
| 595 | - /** |
|
| 596 | - * Set the recurring amount for the subscription. |
|
| 597 | - * |
|
| 598 | - * @since 1.0.19 |
|
| 599 | - * @param float $value The recurring subcription amount. |
|
| 600 | - */ |
|
| 601 | - public function set_recurring_amount( $value ) { |
|
| 602 | - $this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) ); |
|
| 603 | - } |
|
| 604 | - |
|
| 605 | - /** |
|
| 606 | - * Set number of times that this subscription can be renewed. |
|
| 607 | - * |
|
| 608 | - * @since 1.0.19 |
|
| 609 | - * @param int $value Bill times. |
|
| 610 | - */ |
|
| 611 | - public function set_bill_times( $value ) { |
|
| 612 | - $this->set_prop( 'bill_times', (int) $value ); |
|
| 613 | - } |
|
| 614 | - |
|
| 615 | - /** |
|
| 616 | - * Get transaction id of this subscription's parent invoice. |
|
| 617 | - * |
|
| 618 | - * @since 1.0.19 |
|
| 619 | - * @param string $value Bill times. |
|
| 620 | - */ |
|
| 621 | - public function set_transaction_id( $value ) { |
|
| 622 | - $this->set_prop( 'transaction_id', sanitize_text_field( $value ) ); |
|
| 623 | - } |
|
| 624 | - |
|
| 625 | - /** |
|
| 626 | - * Set date when this subscription started. |
|
| 627 | - * |
|
| 628 | - * @since 1.0.19 |
|
| 629 | - * @param string $value strtotime compliant date. |
|
| 630 | - */ |
|
| 631 | - public function set_created( $value ) { |
|
| 632 | - $date = strtotime( $value ); |
|
| 677 | + public function set_expiration( $value ) { |
|
| 678 | + $this->set_next_renewal_date( $value ); |
|
| 679 | + } |
|
| 633 | 680 | |
| 634 | - if ( $date && $value !== '0000-00-00 00:00:00' ) { |
|
| 635 | - $this->set_prop( 'created', gmdate( 'Y-m-d H:i:s', $date ) ); |
|
| 681 | + /** |
|
| 682 | + * Set the subscription's trial period. |
|
| 683 | + * |
|
| 684 | + * @since 1.0.19 |
|
| 685 | + * @param string $value trial period e.g 1 year. |
|
| 686 | + */ |
|
| 687 | + public function set_trial_period( $value ) { |
|
| 688 | + $this->set_prop( 'trial_period', $value ); |
|
| 689 | + } |
|
| 690 | + |
|
| 691 | + /** |
|
| 692 | + * Set the subscription's status. |
|
| 693 | + * |
|
| 694 | + * @since 1.0.19 |
|
| 695 | + * @param string $new_status New subscription status. |
|
| 696 | + */ |
|
| 697 | + public function set_status( $new_status ) { |
|
| 698 | + |
|
| 699 | + // Abort if this is not a valid status; |
|
| 700 | + if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) { |
|
| 636 | 701 | return; |
| 637 | 702 | } |
| 638 | 703 | |
| 639 | - $this->set_prop( 'created', '' ); |
|
| 640 | - |
|
| 641 | - } |
|
| 704 | + $old_status = ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $this->get_status(); |
|
| 705 | + if ( true === $this->object_read && $old_status !== $new_status ) { |
|
| 706 | + $this->status_transition = array( |
|
| 707 | + 'from' => $old_status, |
|
| 708 | + 'to' => $new_status, |
|
| 709 | + ); |
|
| 710 | + } |
|
| 642 | 711 | |
| 643 | - /** |
|
| 644 | - * Alias for self::set_created(). |
|
| 645 | - * |
|
| 646 | - * @since 1.0.19 |
|
| 647 | - * @param string $value strtotime compliant date. |
|
| 648 | - */ |
|
| 649 | - public function set_date_created( $value ) { |
|
| 650 | - $this->set_created( $value ); |
|
| 712 | + $this->set_prop( 'status', $new_status ); |
|
| 651 | 713 | } |
| 652 | 714 | |
| 653 | - /** |
|
| 654 | - * Set the date that the subscription will renew. |
|
| 655 | - * |
|
| 656 | - * @since 1.0.19 |
|
| 657 | - * @param string $value strtotime compliant date. |
|
| 658 | - */ |
|
| 659 | - public function set_next_renewal_date( $value ) { |
|
| 660 | - $date = strtotime( $value ); |
|
| 715 | + /** |
|
| 716 | + * Set the subscription's (remote) profile id. |
|
| 717 | + * |
|
| 718 | + * @since 1.0.19 |
|
| 719 | + * @param string $value the remote profile id. |
|
| 720 | + */ |
|
| 721 | + public function set_profile_id( $value ) { |
|
| 722 | + $this->set_prop( 'profile_id', sanitize_text_field( $value ) ); |
|
| 723 | + } |
|
| 661 | 724 | |
| 662 | - if ( $date && $value !== '0000-00-00 00:00:00' ) { |
|
| 663 | - $this->set_prop( 'expiration', gmdate( 'Y-m-d H:i:s', $date ) ); |
|
| 664 | - return; |
|
| 665 | - } |
|
| 666 | - |
|
| 667 | - $this->set_prop( 'expiration', '' ); |
|
| 668 | - |
|
| 669 | - } |
|
| 670 | - |
|
| 671 | - /** |
|
| 672 | - * Alias for self::set_next_renewal_date(). |
|
| 673 | - * |
|
| 674 | - * @since 1.0.19 |
|
| 675 | - * @param string $value strtotime compliant date. |
|
| 676 | - */ |
|
| 677 | - public function set_expiration( $value ) { |
|
| 678 | - $this->set_next_renewal_date( $value ); |
|
| 679 | - } |
|
| 680 | - |
|
| 681 | - /** |
|
| 682 | - * Set the subscription's trial period. |
|
| 683 | - * |
|
| 684 | - * @since 1.0.19 |
|
| 685 | - * @param string $value trial period e.g 1 year. |
|
| 686 | - */ |
|
| 687 | - public function set_trial_period( $value ) { |
|
| 688 | - $this->set_prop( 'trial_period', $value ); |
|
| 689 | - } |
|
| 690 | - |
|
| 691 | - /** |
|
| 692 | - * Set the subscription's status. |
|
| 693 | - * |
|
| 694 | - * @since 1.0.19 |
|
| 695 | - * @param string $new_status New subscription status. |
|
| 696 | - */ |
|
| 697 | - public function set_status( $new_status ) { |
|
| 698 | - |
|
| 699 | - // Abort if this is not a valid status; |
|
| 700 | - if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) { |
|
| 701 | - return; |
|
| 702 | - } |
|
| 703 | - |
|
| 704 | - $old_status = ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $this->get_status(); |
|
| 705 | - if ( true === $this->object_read && $old_status !== $new_status ) { |
|
| 706 | - $this->status_transition = array( |
|
| 707 | - 'from' => $old_status, |
|
| 708 | - 'to' => $new_status, |
|
| 709 | - ); |
|
| 710 | - } |
|
| 711 | - |
|
| 712 | - $this->set_prop( 'status', $new_status ); |
|
| 713 | - } |
|
| 714 | - |
|
| 715 | - /** |
|
| 716 | - * Set the subscription's (remote) profile id. |
|
| 717 | - * |
|
| 718 | - * @since 1.0.19 |
|
| 719 | - * @param string $value the remote profile id. |
|
| 720 | - */ |
|
| 721 | - public function set_profile_id( $value ) { |
|
| 722 | - $this->set_prop( 'profile_id', sanitize_text_field( $value ) ); |
|
| 723 | - } |
|
| 724 | - |
|
| 725 | - /* |
|
| 725 | + /* |
|
| 726 | 726 | |-------------------------------------------------------------------------- |
| 727 | 727 | | Boolean methods |
| 728 | 728 | |-------------------------------------------------------------------------- |
@@ -731,55 +731,55 @@ discard block |
||
| 731 | 731 | | |
| 732 | 732 | */ |
| 733 | 733 | |
| 734 | - /** |
|
| 734 | + /** |
|
| 735 | 735 | * Checks if the subscription has a given status. |
| 736 | - * |
|
| 737 | - * @param string|array String or array of strings to check for. |
|
| 738 | - * @return bool |
|
| 736 | + * |
|
| 737 | + * @param string|array String or array of strings to check for. |
|
| 738 | + * @return bool |
|
| 739 | 739 | */ |
| 740 | 740 | public function has_status( $status ) { |
| 741 | 741 | return in_array( $this->get_status(), wpinv_clean( wpinv_parse_list( $status ) ) ); |
| 742 | - } |
|
| 742 | + } |
|
| 743 | 743 | |
| 744 | - /** |
|
| 744 | + /** |
|
| 745 | 745 | * Checks if the subscription has a trial period. |
| 746 | - * |
|
| 747 | - * @return bool |
|
| 746 | + * |
|
| 747 | + * @return bool |
|
| 748 | 748 | */ |
| 749 | 749 | public function has_trial_period() { |
| 750 | - $period = $this->get_trial_period(); |
|
| 750 | + $period = $this->get_trial_period(); |
|
| 751 | 751 | return ! empty( $period ); |
| 752 | - } |
|
| 753 | - |
|
| 754 | - /** |
|
| 755 | - * Is the subscription active? |
|
| 756 | - * |
|
| 757 | - * @return bool |
|
| 758 | - */ |
|
| 759 | - public function is_active() { |
|
| 760 | - return $this->has_status( 'active trialling' ) && ! $this->is_expired(); |
|
| 761 | - } |
|
| 762 | - |
|
| 763 | - /** |
|
| 764 | - * Is the subscription expired? |
|
| 765 | - * |
|
| 766 | - * @return bool |
|
| 767 | - */ |
|
| 768 | - public function is_expired() { |
|
| 769 | - return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'timestamp' ) ); |
|
| 770 | - } |
|
| 771 | - |
|
| 772 | - /** |
|
| 773 | - * Is this the last renewals? |
|
| 774 | - * |
|
| 775 | - * @return bool |
|
| 776 | - */ |
|
| 777 | - public function is_last_renewal() { |
|
| 778 | - $max_bills = $this->get_bill_times(); |
|
| 779 | - return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed(); |
|
| 780 | - } |
|
| 781 | - |
|
| 782 | - /* |
|
| 752 | + } |
|
| 753 | + |
|
| 754 | + /** |
|
| 755 | + * Is the subscription active? |
|
| 756 | + * |
|
| 757 | + * @return bool |
|
| 758 | + */ |
|
| 759 | + public function is_active() { |
|
| 760 | + return $this->has_status( 'active trialling' ) && ! $this->is_expired(); |
|
| 761 | + } |
|
| 762 | + |
|
| 763 | + /** |
|
| 764 | + * Is the subscription expired? |
|
| 765 | + * |
|
| 766 | + * @return bool |
|
| 767 | + */ |
|
| 768 | + public function is_expired() { |
|
| 769 | + return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'timestamp' ) ); |
|
| 770 | + } |
|
| 771 | + |
|
| 772 | + /** |
|
| 773 | + * Is this the last renewals? |
|
| 774 | + * |
|
| 775 | + * @return bool |
|
| 776 | + */ |
|
| 777 | + public function is_last_renewal() { |
|
| 778 | + $max_bills = $this->get_bill_times(); |
|
| 779 | + return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed(); |
|
| 780 | + } |
|
| 781 | + |
|
| 782 | + /* |
|
| 783 | 783 | |-------------------------------------------------------------------------- |
| 784 | 784 | | Additional methods |
| 785 | 785 | |-------------------------------------------------------------------------- |
@@ -788,27 +788,27 @@ discard block |
||
| 788 | 788 | | |
| 789 | 789 | */ |
| 790 | 790 | |
| 791 | - /** |
|
| 792 | - * Backwards compatibilty. |
|
| 793 | - */ |
|
| 794 | - public function create( $data = array() ) { |
|
| 791 | + /** |
|
| 792 | + * Backwards compatibilty. |
|
| 793 | + */ |
|
| 794 | + public function create( $data = array() ) { |
|
| 795 | 795 | |
| 796 | - // Set the properties. |
|
| 797 | - if ( is_array( $data ) ) { |
|
| 798 | - $this->set_props( $data ); |
|
| 799 | - } |
|
| 796 | + // Set the properties. |
|
| 797 | + if ( is_array( $data ) ) { |
|
| 798 | + $this->set_props( $data ); |
|
| 799 | + } |
|
| 800 | 800 | |
| 801 | - // Save the item. |
|
| 802 | - return $this->save(); |
|
| 801 | + // Save the item. |
|
| 802 | + return $this->save(); |
|
| 803 | 803 | |
| 804 | - } |
|
| 804 | + } |
|
| 805 | 805 | |
| 806 | - /** |
|
| 807 | - * Backwards compatibilty. |
|
| 808 | - */ |
|
| 809 | - public function update( $args = array() ) { |
|
| 810 | - return $this->create( $args ); |
|
| 811 | - } |
|
| 806 | + /** |
|
| 807 | + * Backwards compatibilty. |
|
| 808 | + */ |
|
| 809 | + public function update( $args = array() ) { |
|
| 810 | + return $this->create( $args ); |
|
| 811 | + } |
|
| 812 | 812 | |
| 813 | 813 | /** |
| 814 | 814 | * Retrieve renewal payments for a subscription |
@@ -818,22 +818,22 @@ discard block |
||
| 818 | 818 | */ |
| 819 | 819 | public function get_child_payments( $hide_pending = true ) { |
| 820 | 820 | |
| 821 | - $statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' ); |
|
| 821 | + $statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' ); |
|
| 822 | 822 | |
| 823 | - if ( ! $hide_pending ) { |
|
| 824 | - $statuses = array_keys( wpinv_get_invoice_statuses() ); |
|
| 825 | - } |
|
| 823 | + if ( ! $hide_pending ) { |
|
| 824 | + $statuses = array_keys( wpinv_get_invoice_statuses() ); |
|
| 825 | + } |
|
| 826 | 826 | |
| 827 | 827 | return get_posts( |
| 828 | - array( |
|
| 829 | - 'post_parent' => $this->get_parent_payment_id(), |
|
| 830 | - 'numberposts' => -1, |
|
| 831 | - 'post_status' => $statuses, |
|
| 832 | - 'orderby' => 'ID', |
|
| 833 | - 'order' => 'ASC', |
|
| 834 | - 'post_type' => 'wpi_invoice', |
|
| 835 | - ) |
|
| 836 | - ); |
|
| 828 | + array( |
|
| 829 | + 'post_parent' => $this->get_parent_payment_id(), |
|
| 830 | + 'numberposts' => -1, |
|
| 831 | + 'post_status' => $statuses, |
|
| 832 | + 'orderby' => 'ID', |
|
| 833 | + 'order' => 'ASC', |
|
| 834 | + 'post_type' => 'wpi_invoice', |
|
| 835 | + ) |
|
| 836 | + ); |
|
| 837 | 837 | } |
| 838 | 838 | |
| 839 | 839 | /** |
@@ -843,7 +843,7 @@ discard block |
||
| 843 | 843 | * @return int |
| 844 | 844 | */ |
| 845 | 845 | public function get_total_payments() { |
| 846 | - return getpaid_count_subscription_invoices( $this->get_parent_invoice_id(), $this->get_id() ); |
|
| 846 | + return getpaid_count_subscription_invoices( $this->get_parent_invoice_id(), $this->get_id() ); |
|
| 847 | 847 | } |
| 848 | 848 | |
| 849 | 849 | /** |
@@ -867,192 +867,192 @@ discard block |
||
| 867 | 867 | * |
| 868 | 868 | * @since 2.4 |
| 869 | 869 | * @param array $args Array of values for the payment, including amount and transaction ID |
| 870 | - * @param WPInv_Invoice $invoice If adding an existing invoice. |
|
| 870 | + * @param WPInv_Invoice $invoice If adding an existing invoice. |
|
| 871 | 871 | * @return bool |
| 872 | 872 | */ |
| 873 | 873 | public function add_payment( $args = array(), $invoice = false ) { |
| 874 | 874 | |
| 875 | - // Process each payment once. |
|
| 875 | + // Process each payment once. |
|
| 876 | 876 | if ( ! empty( $args['transaction_id'] ) && $this->payment_exists( $args['transaction_id'] ) ) { |
| 877 | 877 | return false; |
| 878 | 878 | } |
| 879 | 879 | |
| 880 | - // Are we creating a new invoice? |
|
| 881 | - if ( empty( $invoice ) ) { |
|
| 882 | - $invoice = $this->create_payment( false ); |
|
| 880 | + // Are we creating a new invoice? |
|
| 881 | + if ( empty( $invoice ) ) { |
|
| 882 | + $invoice = $this->create_payment( false ); |
|
| 883 | 883 | |
| 884 | - if ( empty( $invoice ) ) { |
|
| 885 | - return false; |
|
| 886 | - } |
|
| 887 | - } |
|
| 884 | + if ( empty( $invoice ) ) { |
|
| 885 | + return false; |
|
| 886 | + } |
|
| 887 | + } |
|
| 888 | 888 | |
| 889 | - // Maybe set a transaction id. |
|
| 890 | - if ( ! empty( $args['transaction_id'] ) ) { |
|
| 891 | - $invoice->set_transaction_id( $args['transaction_id'] ); |
|
| 892 | - } |
|
| 889 | + // Maybe set a transaction id. |
|
| 890 | + if ( ! empty( $args['transaction_id'] ) ) { |
|
| 891 | + $invoice->set_transaction_id( $args['transaction_id'] ); |
|
| 892 | + } |
|
| 893 | 893 | |
| 894 | - // Set the completed date. |
|
| 895 | - $invoice->set_completed_date( current_time( 'mysql' ) ); |
|
| 894 | + // Set the completed date. |
|
| 895 | + $invoice->set_completed_date( current_time( 'mysql' ) ); |
|
| 896 | 896 | |
| 897 | - // And the gateway. |
|
| 898 | - if ( ! empty( $args['gateway'] ) ) { |
|
| 899 | - $invoice->set_gateway( $args['gateway'] ); |
|
| 900 | - } |
|
| 897 | + // And the gateway. |
|
| 898 | + if ( ! empty( $args['gateway'] ) ) { |
|
| 899 | + $invoice->set_gateway( $args['gateway'] ); |
|
| 900 | + } |
|
| 901 | 901 | |
| 902 | - $invoice->set_status( 'wpi-renewal' ); |
|
| 903 | - $invoice->save(); |
|
| 902 | + $invoice->set_status( 'wpi-renewal' ); |
|
| 903 | + $invoice->save(); |
|
| 904 | 904 | |
| 905 | - if ( ! $invoice->exists() ) { |
|
| 906 | - return false; |
|
| 907 | - } |
|
| 905 | + if ( ! $invoice->exists() ) { |
|
| 906 | + return false; |
|
| 907 | + } |
|
| 908 | 908 | |
| 909 | - return $this->after_add_payment( $invoice ); |
|
| 910 | - } |
|
| 909 | + return $this->after_add_payment( $invoice ); |
|
| 910 | + } |
|
| 911 | 911 | |
| 912 | 912 | public function after_add_payment( $invoice ) { |
| 913 | 913 | |
| 914 | - do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this ); |
|
| 915 | - do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this ); |
|
| 914 | + do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this ); |
|
| 915 | + do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this ); |
|
| 916 | 916 | do_action( 'wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id() ); |
| 917 | 917 | |
| 918 | 918 | update_post_meta( $invoice->get_id(), '_wpinv_subscription_id', $this->id ); |
| 919 | 919 | |
| 920 | 920 | return $invoice->get_id(); |
| 921 | - } |
|
| 921 | + } |
|
| 922 | 922 | |
| 923 | - /** |
|
| 923 | + /** |
|
| 924 | 924 | * Creates a new invoice and returns it. |
| 925 | 925 | * |
| 926 | 926 | * @since 1.0.19 |
| 927 | - * @param bool $save Whether we should save the invoice. |
|
| 927 | + * @param bool $save Whether we should save the invoice. |
|
| 928 | 928 | * @return WPInv_Invoice|bool |
| 929 | 929 | */ |
| 930 | 930 | public function create_payment( $save = true ) { |
| 931 | 931 | |
| 932 | - $parent_invoice = $this->get_parent_payment(); |
|
| 933 | - |
|
| 934 | - if ( ! $parent_invoice->exists() ) { |
|
| 935 | - return false; |
|
| 936 | - } |
|
| 937 | - |
|
| 938 | - // Duplicate the parent invoice. |
|
| 939 | - $invoice = getpaid_duplicate_invoice( $parent_invoice ); |
|
| 940 | - $invoice->set_parent_id( $parent_invoice->get_id() ); |
|
| 941 | - $invoice->set_subscription_id( $this->get_id() ); |
|
| 942 | - $invoice->set_remote_subscription_id( $this->get_profile_id() ); |
|
| 943 | - |
|
| 944 | - // Set invoice items. |
|
| 945 | - $subscription_group = getpaid_get_invoice_subscription_group( $parent_invoice->get_id(), $this->get_id() ); |
|
| 946 | - $allowed_items = empty( $subscription_group ) ? array( $this->get_product_id() ) : array_keys( $subscription_group['items'] ); |
|
| 947 | - $invoice_items = array(); |
|
| 948 | - |
|
| 949 | - foreach ( $invoice->get_items() as $item ) { |
|
| 950 | - if ( in_array( $item->get_id(), $allowed_items ) ) { |
|
| 951 | - $invoice_items[] = $item; |
|
| 952 | - } |
|
| 953 | - } |
|
| 954 | - |
|
| 955 | - $invoice->set_items( $invoice_items ); |
|
| 956 | - |
|
| 957 | - if ( ! empty( $subscription_group['fees'] ) ) { |
|
| 958 | - $invoice->set_fees( $subscription_group['fees'] ); |
|
| 959 | - } |
|
| 960 | - |
|
| 961 | - // Maybe recalculate discount (Pre-GetPaid Fix). |
|
| 962 | - $discount = new WPInv_Discount( $invoice->get_discount_code() ); |
|
| 963 | - if ( $discount->exists() && $discount->is_recurring() && 0 == $invoice->get_total_discount() ) { |
|
| 964 | - $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) ); |
|
| 965 | - } |
|
| 966 | - |
|
| 967 | - $invoice->recalculate_total(); |
|
| 968 | - $invoice->set_status( 'wpi-pending' ); |
|
| 969 | - |
|
| 970 | - if ( ! $save ) { |
|
| 971 | - return $invoice; |
|
| 972 | - } |
|
| 973 | - |
|
| 974 | - $invoice->save(); |
|
| 975 | - |
|
| 976 | - return $invoice->exists() ? $invoice : false; |
|
| 977 | - } |
|
| 978 | - |
|
| 979 | - /** |
|
| 980 | - * Renews or completes a subscription |
|
| 981 | - * |
|
| 982 | - * @since 1.0.0 |
|
| 983 | - * @return int The subscription's id |
|
| 984 | - */ |
|
| 985 | - public function renew( $calculate_from = null ) { |
|
| 986 | - |
|
| 987 | - // Complete subscription if applicable |
|
| 988 | - if ( $this->is_last_renewal() ) { |
|
| 989 | - return $this->complete(); |
|
| 990 | - } |
|
| 991 | - |
|
| 992 | - // Calculate new expiration |
|
| 993 | - $frequency = $this->get_frequency(); |
|
| 994 | - $period = $this->get_period(); |
|
| 995 | - $calculate_from = empty( $calculate_from ) ? $this->get_expiration_time() : $calculate_from; |
|
| 996 | - $new_expiration = strtotime( "+ $frequency $period", $calculate_from ); |
|
| 997 | - |
|
| 998 | - $this->set_expiration( date( 'Y-m-d H:i:s', $new_expiration ) ); |
|
| 999 | - $this->set_status( 'active' ); |
|
| 1000 | - $this->save(); |
|
| 1001 | - |
|
| 1002 | - do_action( 'getpaid_subscription_renewed', $this ); |
|
| 1003 | - |
|
| 1004 | - return $this->get_id(); |
|
| 1005 | - } |
|
| 1006 | - |
|
| 1007 | - /** |
|
| 1008 | - * Marks a subscription as completed |
|
| 1009 | - * |
|
| 1010 | - * Subscription is completed when the number of payments matches the billing_times field |
|
| 1011 | - * |
|
| 1012 | - * @since 1.0.0 |
|
| 1013 | - * @return int|bool Subscription id or false if the subscription is cancelled. |
|
| 1014 | - */ |
|
| 1015 | - public function complete() { |
|
| 1016 | - |
|
| 1017 | - // Only mark a subscription as complete if it's not already cancelled. |
|
| 1018 | - if ( $this->has_status( 'cancelled' ) ) { |
|
| 1019 | - return false; |
|
| 1020 | - } |
|
| 1021 | - |
|
| 1022 | - $this->set_status( 'completed' ); |
|
| 1023 | - return $this->save(); |
|
| 1024 | - |
|
| 1025 | - } |
|
| 1026 | - |
|
| 1027 | - /** |
|
| 1028 | - * Marks a subscription as expired |
|
| 1029 | - * |
|
| 1030 | - * @since 1.0.0 |
|
| 1031 | - * @param bool $check_expiration |
|
| 1032 | - * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future. |
|
| 1033 | - */ |
|
| 1034 | - public function expire( $check_expiration = false ) { |
|
| 1035 | - |
|
| 1036 | - if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) { |
|
| 1037 | - // Do not mark as expired since real expiration date is in the future |
|
| 1038 | - return false; |
|
| 1039 | - } |
|
| 1040 | - |
|
| 1041 | - $this->set_status( 'expired' ); |
|
| 1042 | - return $this->save(); |
|
| 1043 | - |
|
| 1044 | - } |
|
| 1045 | - |
|
| 1046 | - /** |
|
| 1047 | - * Marks a subscription as failing |
|
| 1048 | - * |
|
| 1049 | - * @since 2.4.2 |
|
| 1050 | - * @return int Subscription id. |
|
| 1051 | - */ |
|
| 1052 | - public function failing() { |
|
| 1053 | - $this->set_status( 'failing' ); |
|
| 1054 | - return $this->save(); |
|
| 1055 | - } |
|
| 932 | + $parent_invoice = $this->get_parent_payment(); |
|
| 933 | + |
|
| 934 | + if ( ! $parent_invoice->exists() ) { |
|
| 935 | + return false; |
|
| 936 | + } |
|
| 937 | + |
|
| 938 | + // Duplicate the parent invoice. |
|
| 939 | + $invoice = getpaid_duplicate_invoice( $parent_invoice ); |
|
| 940 | + $invoice->set_parent_id( $parent_invoice->get_id() ); |
|
| 941 | + $invoice->set_subscription_id( $this->get_id() ); |
|
| 942 | + $invoice->set_remote_subscription_id( $this->get_profile_id() ); |
|
| 943 | + |
|
| 944 | + // Set invoice items. |
|
| 945 | + $subscription_group = getpaid_get_invoice_subscription_group( $parent_invoice->get_id(), $this->get_id() ); |
|
| 946 | + $allowed_items = empty( $subscription_group ) ? array( $this->get_product_id() ) : array_keys( $subscription_group['items'] ); |
|
| 947 | + $invoice_items = array(); |
|
| 948 | + |
|
| 949 | + foreach ( $invoice->get_items() as $item ) { |
|
| 950 | + if ( in_array( $item->get_id(), $allowed_items ) ) { |
|
| 951 | + $invoice_items[] = $item; |
|
| 952 | + } |
|
| 953 | + } |
|
| 954 | + |
|
| 955 | + $invoice->set_items( $invoice_items ); |
|
| 956 | + |
|
| 957 | + if ( ! empty( $subscription_group['fees'] ) ) { |
|
| 958 | + $invoice->set_fees( $subscription_group['fees'] ); |
|
| 959 | + } |
|
| 960 | + |
|
| 961 | + // Maybe recalculate discount (Pre-GetPaid Fix). |
|
| 962 | + $discount = new WPInv_Discount( $invoice->get_discount_code() ); |
|
| 963 | + if ( $discount->exists() && $discount->is_recurring() && 0 == $invoice->get_total_discount() ) { |
|
| 964 | + $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) ); |
|
| 965 | + } |
|
| 966 | + |
|
| 967 | + $invoice->recalculate_total(); |
|
| 968 | + $invoice->set_status( 'wpi-pending' ); |
|
| 969 | + |
|
| 970 | + if ( ! $save ) { |
|
| 971 | + return $invoice; |
|
| 972 | + } |
|
| 973 | + |
|
| 974 | + $invoice->save(); |
|
| 975 | + |
|
| 976 | + return $invoice->exists() ? $invoice : false; |
|
| 977 | + } |
|
| 978 | + |
|
| 979 | + /** |
|
| 980 | + * Renews or completes a subscription |
|
| 981 | + * |
|
| 982 | + * @since 1.0.0 |
|
| 983 | + * @return int The subscription's id |
|
| 984 | + */ |
|
| 985 | + public function renew( $calculate_from = null ) { |
|
| 986 | + |
|
| 987 | + // Complete subscription if applicable |
|
| 988 | + if ( $this->is_last_renewal() ) { |
|
| 989 | + return $this->complete(); |
|
| 990 | + } |
|
| 991 | + |
|
| 992 | + // Calculate new expiration |
|
| 993 | + $frequency = $this->get_frequency(); |
|
| 994 | + $period = $this->get_period(); |
|
| 995 | + $calculate_from = empty( $calculate_from ) ? $this->get_expiration_time() : $calculate_from; |
|
| 996 | + $new_expiration = strtotime( "+ $frequency $period", $calculate_from ); |
|
| 997 | + |
|
| 998 | + $this->set_expiration( date( 'Y-m-d H:i:s', $new_expiration ) ); |
|
| 999 | + $this->set_status( 'active' ); |
|
| 1000 | + $this->save(); |
|
| 1001 | + |
|
| 1002 | + do_action( 'getpaid_subscription_renewed', $this ); |
|
| 1003 | + |
|
| 1004 | + return $this->get_id(); |
|
| 1005 | + } |
|
| 1006 | + |
|
| 1007 | + /** |
|
| 1008 | + * Marks a subscription as completed |
|
| 1009 | + * |
|
| 1010 | + * Subscription is completed when the number of payments matches the billing_times field |
|
| 1011 | + * |
|
| 1012 | + * @since 1.0.0 |
|
| 1013 | + * @return int|bool Subscription id or false if the subscription is cancelled. |
|
| 1014 | + */ |
|
| 1015 | + public function complete() { |
|
| 1016 | + |
|
| 1017 | + // Only mark a subscription as complete if it's not already cancelled. |
|
| 1018 | + if ( $this->has_status( 'cancelled' ) ) { |
|
| 1019 | + return false; |
|
| 1020 | + } |
|
| 1021 | + |
|
| 1022 | + $this->set_status( 'completed' ); |
|
| 1023 | + return $this->save(); |
|
| 1024 | + |
|
| 1025 | + } |
|
| 1026 | + |
|
| 1027 | + /** |
|
| 1028 | + * Marks a subscription as expired |
|
| 1029 | + * |
|
| 1030 | + * @since 1.0.0 |
|
| 1031 | + * @param bool $check_expiration |
|
| 1032 | + * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future. |
|
| 1033 | + */ |
|
| 1034 | + public function expire( $check_expiration = false ) { |
|
| 1035 | + |
|
| 1036 | + if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) { |
|
| 1037 | + // Do not mark as expired since real expiration date is in the future |
|
| 1038 | + return false; |
|
| 1039 | + } |
|
| 1040 | + |
|
| 1041 | + $this->set_status( 'expired' ); |
|
| 1042 | + return $this->save(); |
|
| 1043 | + |
|
| 1044 | + } |
|
| 1045 | + |
|
| 1046 | + /** |
|
| 1047 | + * Marks a subscription as failing |
|
| 1048 | + * |
|
| 1049 | + * @since 2.4.2 |
|
| 1050 | + * @return int Subscription id. |
|
| 1051 | + */ |
|
| 1052 | + public function failing() { |
|
| 1053 | + $this->set_status( 'failing' ); |
|
| 1054 | + return $this->save(); |
|
| 1055 | + } |
|
| 1056 | 1056 | |
| 1057 | 1057 | /** |
| 1058 | 1058 | * Marks a subscription as cancelled |
@@ -1061,19 +1061,19 @@ discard block |
||
| 1061 | 1061 | * @return int Subscription id. |
| 1062 | 1062 | */ |
| 1063 | 1063 | public function cancel() { |
| 1064 | - $this->set_status( 'cancelled' ); |
|
| 1065 | - return $this->save(); |
|
| 1064 | + $this->set_status( 'cancelled' ); |
|
| 1065 | + return $this->save(); |
|
| 1066 | 1066 | } |
| 1067 | 1067 | |
| 1068 | - /** |
|
| 1069 | - * Determines if a subscription can be cancelled both locally and with a payment processor. |
|
| 1070 | - * |
|
| 1071 | - * @since 1.0.0 |
|
| 1072 | - * @return bool |
|
| 1073 | - */ |
|
| 1074 | - public function can_cancel() { |
|
| 1075 | - return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this ); |
|
| 1076 | - } |
|
| 1068 | + /** |
|
| 1069 | + * Determines if a subscription can be cancelled both locally and with a payment processor. |
|
| 1070 | + * |
|
| 1071 | + * @since 1.0.0 |
|
| 1072 | + * @return bool |
|
| 1073 | + */ |
|
| 1074 | + public function can_cancel() { |
|
| 1075 | + return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this ); |
|
| 1076 | + } |
|
| 1077 | 1077 | |
| 1078 | 1078 | /** |
| 1079 | 1079 | * Returns an array of subscription statuses that can be cancelled |
@@ -1086,109 +1086,109 @@ discard block |
||
| 1086 | 1086 | return apply_filters( 'wpinv_recurring_cancellable_statuses', array( 'active', 'trialling', 'failing' ) ); |
| 1087 | 1087 | } |
| 1088 | 1088 | |
| 1089 | - /** |
|
| 1090 | - * Retrieves the URL to cancel subscription |
|
| 1091 | - * |
|
| 1092 | - * @since 1.0.0 |
|
| 1093 | - * @return string |
|
| 1094 | - */ |
|
| 1095 | - public function get_cancel_url() { |
|
| 1096 | - $url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() ); |
|
| 1097 | - return apply_filters( 'wpinv_subscription_cancel_url', $url, $this ); |
|
| 1098 | - } |
|
| 1099 | - |
|
| 1100 | - /** |
|
| 1101 | - * Retrieves the URL to view a subscription |
|
| 1102 | - * |
|
| 1103 | - * @since 1.0.19 |
|
| 1104 | - * @return string |
|
| 1105 | - */ |
|
| 1106 | - public function get_view_url() { |
|
| 1107 | - |
|
| 1108 | - $url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) ); |
|
| 1109 | - $url = add_query_arg( 'subscription', $this->get_id(), $url ); |
|
| 1110 | - |
|
| 1111 | - return apply_filters( 'getpaid_get_subscription_view_url', $url, $this ); |
|
| 1112 | - } |
|
| 1113 | - |
|
| 1114 | - /** |
|
| 1115 | - * Determines if subscription can be manually renewed |
|
| 1116 | - * |
|
| 1117 | - * This method is filtered by payment gateways in order to return true on subscriptions |
|
| 1118 | - * that can be renewed manually |
|
| 1119 | - * |
|
| 1120 | - * @since 2.5 |
|
| 1121 | - * @return bool |
|
| 1122 | - */ |
|
| 1123 | - public function can_renew() { |
|
| 1124 | - return apply_filters( 'wpinv_subscription_can_renew', true, $this ); |
|
| 1125 | - } |
|
| 1126 | - |
|
| 1127 | - /** |
|
| 1128 | - * Retrieves the URL to renew a subscription |
|
| 1129 | - * |
|
| 1130 | - * @since 2.5 |
|
| 1131 | - * @return string |
|
| 1132 | - */ |
|
| 1133 | - public function get_renew_url() { |
|
| 1134 | - $url = wp_nonce_url( |
|
| 1089 | + /** |
|
| 1090 | + * Retrieves the URL to cancel subscription |
|
| 1091 | + * |
|
| 1092 | + * @since 1.0.0 |
|
| 1093 | + * @return string |
|
| 1094 | + */ |
|
| 1095 | + public function get_cancel_url() { |
|
| 1096 | + $url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() ); |
|
| 1097 | + return apply_filters( 'wpinv_subscription_cancel_url', $url, $this ); |
|
| 1098 | + } |
|
| 1099 | + |
|
| 1100 | + /** |
|
| 1101 | + * Retrieves the URL to view a subscription |
|
| 1102 | + * |
|
| 1103 | + * @since 1.0.19 |
|
| 1104 | + * @return string |
|
| 1105 | + */ |
|
| 1106 | + public function get_view_url() { |
|
| 1107 | + |
|
| 1108 | + $url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) ); |
|
| 1109 | + $url = add_query_arg( 'subscription', $this->get_id(), $url ); |
|
| 1110 | + |
|
| 1111 | + return apply_filters( 'getpaid_get_subscription_view_url', $url, $this ); |
|
| 1112 | + } |
|
| 1113 | + |
|
| 1114 | + /** |
|
| 1115 | + * Determines if subscription can be manually renewed |
|
| 1116 | + * |
|
| 1117 | + * This method is filtered by payment gateways in order to return true on subscriptions |
|
| 1118 | + * that can be renewed manually |
|
| 1119 | + * |
|
| 1120 | + * @since 2.5 |
|
| 1121 | + * @return bool |
|
| 1122 | + */ |
|
| 1123 | + public function can_renew() { |
|
| 1124 | + return apply_filters( 'wpinv_subscription_can_renew', true, $this ); |
|
| 1125 | + } |
|
| 1126 | + |
|
| 1127 | + /** |
|
| 1128 | + * Retrieves the URL to renew a subscription |
|
| 1129 | + * |
|
| 1130 | + * @since 2.5 |
|
| 1131 | + * @return string |
|
| 1132 | + */ |
|
| 1133 | + public function get_renew_url() { |
|
| 1134 | + $url = wp_nonce_url( |
|
| 1135 | 1135 | add_query_arg( |
| 1136 | 1136 | array( |
| 1137 | - 'getpaid-action' => 'renew_subscription', |
|
| 1138 | - 'sub_id' => $this->get_id, |
|
| 1137 | + 'getpaid-action' => 'renew_subscription', |
|
| 1138 | + 'sub_id' => $this->get_id, |
|
| 1139 | 1139 | ) |
| 1140 | 1140 | ), |
| 1141 | 1141 | 'getpaid-nonce' |
| 1142 | 1142 | ); |
| 1143 | - return apply_filters( 'wpinv_subscription_renew_url', $url, $this ); |
|
| 1144 | - } |
|
| 1145 | - |
|
| 1146 | - /** |
|
| 1147 | - * Determines if subscription can have their payment method updated |
|
| 1148 | - * |
|
| 1149 | - * @since 1.0.0 |
|
| 1150 | - * @return bool |
|
| 1151 | - */ |
|
| 1152 | - public function can_update() { |
|
| 1153 | - return apply_filters( 'wpinv_subscription_can_update', false, $this ); |
|
| 1154 | - } |
|
| 1155 | - |
|
| 1156 | - /** |
|
| 1157 | - * Retrieves the URL to update subscription |
|
| 1158 | - * |
|
| 1159 | - * @since 1.0.0 |
|
| 1160 | - * @return string |
|
| 1161 | - */ |
|
| 1162 | - public function get_update_url() { |
|
| 1163 | - $url = add_query_arg( |
|
| 1143 | + return apply_filters( 'wpinv_subscription_renew_url', $url, $this ); |
|
| 1144 | + } |
|
| 1145 | + |
|
| 1146 | + /** |
|
| 1147 | + * Determines if subscription can have their payment method updated |
|
| 1148 | + * |
|
| 1149 | + * @since 1.0.0 |
|
| 1150 | + * @return bool |
|
| 1151 | + */ |
|
| 1152 | + public function can_update() { |
|
| 1153 | + return apply_filters( 'wpinv_subscription_can_update', false, $this ); |
|
| 1154 | + } |
|
| 1155 | + |
|
| 1156 | + /** |
|
| 1157 | + * Retrieves the URL to update subscription |
|
| 1158 | + * |
|
| 1159 | + * @since 1.0.0 |
|
| 1160 | + * @return string |
|
| 1161 | + */ |
|
| 1162 | + public function get_update_url() { |
|
| 1163 | + $url = add_query_arg( |
|
| 1164 | 1164 | array( |
| 1165 | - 'action' => 'update', |
|
| 1166 | - 'subscription_id' => $this->get_id(), |
|
| 1165 | + 'action' => 'update', |
|
| 1166 | + 'subscription_id' => $this->get_id(), |
|
| 1167 | 1167 | ) |
| 1168 | 1168 | ); |
| 1169 | - return apply_filters( 'wpinv_subscription_update_url', $url, $this ); |
|
| 1170 | - } |
|
| 1171 | - |
|
| 1172 | - /** |
|
| 1173 | - * Retrieves the subscription status label |
|
| 1174 | - * |
|
| 1175 | - * @since 1.0.0 |
|
| 1176 | - * @return string |
|
| 1177 | - */ |
|
| 1178 | - public function get_status_label() { |
|
| 1179 | - return getpaid_get_subscription_status_label( $this->get_status() ); |
|
| 1180 | - } |
|
| 1181 | - |
|
| 1182 | - /** |
|
| 1183 | - * Retrieves the subscription status class |
|
| 1184 | - * |
|
| 1185 | - * @since 1.0.19 |
|
| 1186 | - * @return string |
|
| 1187 | - */ |
|
| 1188 | - public function get_status_class() { |
|
| 1189 | - $statuses = getpaid_get_subscription_status_classes(); |
|
| 1190 | - return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark'; |
|
| 1191 | - } |
|
| 1169 | + return apply_filters( 'wpinv_subscription_update_url', $url, $this ); |
|
| 1170 | + } |
|
| 1171 | + |
|
| 1172 | + /** |
|
| 1173 | + * Retrieves the subscription status label |
|
| 1174 | + * |
|
| 1175 | + * @since 1.0.0 |
|
| 1176 | + * @return string |
|
| 1177 | + */ |
|
| 1178 | + public function get_status_label() { |
|
| 1179 | + return getpaid_get_subscription_status_label( $this->get_status() ); |
|
| 1180 | + } |
|
| 1181 | + |
|
| 1182 | + /** |
|
| 1183 | + * Retrieves the subscription status class |
|
| 1184 | + * |
|
| 1185 | + * @since 1.0.19 |
|
| 1186 | + * @return string |
|
| 1187 | + */ |
|
| 1188 | + public function get_status_class() { |
|
| 1189 | + $statuses = getpaid_get_subscription_status_classes(); |
|
| 1190 | + return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark'; |
|
| 1191 | + } |
|
| 1192 | 1192 | |
| 1193 | 1193 | /** |
| 1194 | 1194 | * Retrieves the subscription status label |
@@ -1198,11 +1198,11 @@ discard block |
||
| 1198 | 1198 | */ |
| 1199 | 1199 | public function get_status_label_html() { |
| 1200 | 1200 | |
| 1201 | - $status_label = sanitize_text_field( $this->get_status_label() ); |
|
| 1202 | - $class = esc_attr( $this->get_status_class() ); |
|
| 1203 | - $status = sanitize_html_class( $this->get_status() ); |
|
| 1201 | + $status_label = sanitize_text_field( $this->get_status_label() ); |
|
| 1202 | + $class = esc_attr( $this->get_status_class() ); |
|
| 1203 | + $status = sanitize_html_class( $this->get_status() ); |
|
| 1204 | 1204 | |
| 1205 | - return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>"; |
|
| 1205 | + return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>"; |
|
| 1206 | 1206 | } |
| 1207 | 1207 | |
| 1208 | 1208 | /** |
@@ -1213,75 +1213,75 @@ discard block |
||
| 1213 | 1213 | * @return bool |
| 1214 | 1214 | */ |
| 1215 | 1215 | public function payment_exists( $txn_id = '' ) { |
| 1216 | - $invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' ); |
|
| 1216 | + $invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' ); |
|
| 1217 | 1217 | return ! empty( $invoice_id ); |
| 1218 | - } |
|
| 1219 | - |
|
| 1220 | - /** |
|
| 1221 | - * Handle the status transition. |
|
| 1222 | - */ |
|
| 1223 | - protected function status_transition() { |
|
| 1224 | - $status_transition = $this->status_transition; |
|
| 1225 | - |
|
| 1226 | - // Reset status transition variable. |
|
| 1227 | - $this->status_transition = false; |
|
| 1228 | - |
|
| 1229 | - if ( $status_transition ) { |
|
| 1230 | - try { |
|
| 1231 | - |
|
| 1232 | - // Fire a hook for the status change. |
|
| 1233 | - do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition ); |
|
| 1234 | - do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition ); |
|
| 1235 | - |
|
| 1236 | - if ( ! empty( $status_transition['from'] ) ) { |
|
| 1237 | - |
|
| 1238 | - /* translators: 1: old subscription status 2: new subscription status */ |
|
| 1239 | - $transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) ); |
|
| 1240 | - |
|
| 1241 | - // Note the transition occurred. |
|
| 1242 | - $this->get_parent_payment()->add_note( $transition_note, false, false, true ); |
|
| 1243 | - |
|
| 1244 | - // Fire another hook. |
|
| 1245 | - do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this ); |
|
| 1246 | - do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] ); |
|
| 1247 | - |
|
| 1248 | - } else { |
|
| 1249 | - /* translators: %s: new invoice status */ |
|
| 1250 | - $transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) ); |
|
| 1251 | - |
|
| 1252 | - // Note the transition occurred. |
|
| 1253 | - $this->get_parent_payment()->add_note( $transition_note, false, false, true ); |
|
| 1254 | - |
|
| 1255 | - } |
|
| 1256 | - } catch ( Exception $e ) { |
|
| 1257 | - $this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() ); |
|
| 1258 | - } |
|
| 1259 | - } |
|
| 1260 | - |
|
| 1261 | - } |
|
| 1262 | - |
|
| 1263 | - /** |
|
| 1264 | - * Save data to the database. |
|
| 1265 | - * |
|
| 1266 | - * @since 1.0.19 |
|
| 1267 | - * @return int subscription ID |
|
| 1268 | - */ |
|
| 1269 | - public function save() { |
|
| 1270 | - parent::save(); |
|
| 1271 | - $this->status_transition(); |
|
| 1272 | - return $this->get_id(); |
|
| 1273 | - } |
|
| 1274 | - |
|
| 1275 | - /** |
|
| 1276 | - * Activates a subscription. |
|
| 1277 | - * |
|
| 1278 | - * @since 1.0.19 |
|
| 1279 | - * @return int subscription ID |
|
| 1280 | - */ |
|
| 1281 | - public function activate() { |
|
| 1282 | - $status = $this->has_trial_period() && 'trialling' === $this->get_status() ? 'trialling' : 'active'; |
|
| 1283 | - $this->set_status( $status ); |
|
| 1284 | - return $this->save(); |
|
| 1285 | - } |
|
| 1218 | + } |
|
| 1219 | + |
|
| 1220 | + /** |
|
| 1221 | + * Handle the status transition. |
|
| 1222 | + */ |
|
| 1223 | + protected function status_transition() { |
|
| 1224 | + $status_transition = $this->status_transition; |
|
| 1225 | + |
|
| 1226 | + // Reset status transition variable. |
|
| 1227 | + $this->status_transition = false; |
|
| 1228 | + |
|
| 1229 | + if ( $status_transition ) { |
|
| 1230 | + try { |
|
| 1231 | + |
|
| 1232 | + // Fire a hook for the status change. |
|
| 1233 | + do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition ); |
|
| 1234 | + do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition ); |
|
| 1235 | + |
|
| 1236 | + if ( ! empty( $status_transition['from'] ) ) { |
|
| 1237 | + |
|
| 1238 | + /* translators: 1: old subscription status 2: new subscription status */ |
|
| 1239 | + $transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) ); |
|
| 1240 | + |
|
| 1241 | + // Note the transition occurred. |
|
| 1242 | + $this->get_parent_payment()->add_note( $transition_note, false, false, true ); |
|
| 1243 | + |
|
| 1244 | + // Fire another hook. |
|
| 1245 | + do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this ); |
|
| 1246 | + do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] ); |
|
| 1247 | + |
|
| 1248 | + } else { |
|
| 1249 | + /* translators: %s: new invoice status */ |
|
| 1250 | + $transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) ); |
|
| 1251 | + |
|
| 1252 | + // Note the transition occurred. |
|
| 1253 | + $this->get_parent_payment()->add_note( $transition_note, false, false, true ); |
|
| 1254 | + |
|
| 1255 | + } |
|
| 1256 | + } catch ( Exception $e ) { |
|
| 1257 | + $this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() ); |
|
| 1258 | + } |
|
| 1259 | + } |
|
| 1260 | + |
|
| 1261 | + } |
|
| 1262 | + |
|
| 1263 | + /** |
|
| 1264 | + * Save data to the database. |
|
| 1265 | + * |
|
| 1266 | + * @since 1.0.19 |
|
| 1267 | + * @return int subscription ID |
|
| 1268 | + */ |
|
| 1269 | + public function save() { |
|
| 1270 | + parent::save(); |
|
| 1271 | + $this->status_transition(); |
|
| 1272 | + return $this->get_id(); |
|
| 1273 | + } |
|
| 1274 | + |
|
| 1275 | + /** |
|
| 1276 | + * Activates a subscription. |
|
| 1277 | + * |
|
| 1278 | + * @since 1.0.19 |
|
| 1279 | + * @return int subscription ID |
|
| 1280 | + */ |
|
| 1281 | + public function activate() { |
|
| 1282 | + $status = $this->has_trial_period() && 'trialling' === $this->get_status() ? 'trialling' : 'active'; |
|
| 1283 | + $this->set_status( $status ); |
|
| 1284 | + return $this->save(); |
|
| 1285 | + } |
|
| 1286 | 1286 | |
| 1287 | 1287 | } |
@@ -6,7 +6,7 @@ discard block |
||
| 6 | 6 | * @package Invoicing |
| 7 | 7 | */ |
| 8 | 8 | |
| 9 | -defined( 'ABSPATH' ) || exit; |
|
| 9 | +defined('ABSPATH') || exit; |
|
| 10 | 10 | |
| 11 | 11 | /** |
| 12 | 12 | * The Subscription Class |
@@ -68,27 +68,27 @@ discard block |
||
| 68 | 68 | * @param int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read. |
| 69 | 69 | * @param bool $deprecated |
| 70 | 70 | */ |
| 71 | - function __construct( $subscription = 0, $deprecated = false ) { |
|
| 71 | + function __construct($subscription = 0, $deprecated = false) { |
|
| 72 | 72 | |
| 73 | - parent::__construct( $subscription ); |
|
| 73 | + parent::__construct($subscription); |
|
| 74 | 74 | |
| 75 | - if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) { |
|
| 76 | - $this->set_id( $subscription ); |
|
| 77 | - } elseif ( $subscription instanceof self ) { |
|
| 78 | - $this->set_id( $subscription->get_id() ); |
|
| 79 | - } elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) { |
|
| 80 | - $this->set_id( $subscription_id ); |
|
| 81 | - } elseif ( ! empty( $subscription->id ) ) { |
|
| 82 | - $this->set_id( $subscription->id ); |
|
| 75 | + if (!$deprecated && !empty($subscription) && is_numeric($subscription)) { |
|
| 76 | + $this->set_id($subscription); |
|
| 77 | + } elseif ($subscription instanceof self) { |
|
| 78 | + $this->set_id($subscription->get_id()); |
|
| 79 | + } elseif ($deprecated && $subscription_id = self::get_subscription_id_by_field($subscription, 'profile_id')) { |
|
| 80 | + $this->set_id($subscription_id); |
|
| 81 | + } elseif (!empty($subscription->id)) { |
|
| 82 | + $this->set_id($subscription->id); |
|
| 83 | 83 | } else { |
| 84 | - $this->set_object_read( true ); |
|
| 84 | + $this->set_object_read(true); |
|
| 85 | 85 | } |
| 86 | 86 | |
| 87 | 87 | // Load the datastore. |
| 88 | - $this->data_store = GetPaid_Data_Store::load( $this->data_store_name ); |
|
| 88 | + $this->data_store = GetPaid_Data_Store::load($this->data_store_name); |
|
| 89 | 89 | |
| 90 | - if ( $this->get_id() > 0 ) { |
|
| 91 | - $this->data_store->read( $this ); |
|
| 90 | + if ($this->get_id() > 0) { |
|
| 91 | + $this->data_store->read($this); |
|
| 92 | 92 | } |
| 93 | 93 | |
| 94 | 94 | } |
@@ -103,17 +103,17 @@ discard block |
||
| 103 | 103 | * @since 1.0.19 |
| 104 | 104 | * @return int |
| 105 | 105 | */ |
| 106 | - public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) { |
|
| 106 | + public static function get_subscription_id_by_field($value, $field = 'profile_id') { |
|
| 107 | 107 | global $wpdb; |
| 108 | 108 | |
| 109 | 109 | // Trim the value. |
| 110 | - $value = trim( $value ); |
|
| 110 | + $value = trim($value); |
|
| 111 | 111 | |
| 112 | - if ( empty( $value ) ) { |
|
| 112 | + if (empty($value)) { |
|
| 113 | 113 | return 0; |
| 114 | 114 | } |
| 115 | 115 | |
| 116 | - if ( 'invoice_id' == $field ) { |
|
| 116 | + if ('invoice_id' == $field) { |
|
| 117 | 117 | $field = 'parent_payment_id'; |
| 118 | 118 | } |
| 119 | 119 | |
@@ -125,28 +125,28 @@ discard block |
||
| 125 | 125 | ); |
| 126 | 126 | |
| 127 | 127 | // Ensure a field has been passed. |
| 128 | - if ( empty( $field ) || ! in_array( $field, $fields ) ) { |
|
| 128 | + if (empty($field) || !in_array($field, $fields)) { |
|
| 129 | 129 | return 0; |
| 130 | 130 | } |
| 131 | 131 | |
| 132 | 132 | // Maybe retrieve from the cache. |
| 133 | - $subscription_id = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" ); |
|
| 134 | - if ( ! empty( $subscription_id ) ) { |
|
| 133 | + $subscription_id = wp_cache_get($value, "getpaid_subscription_{$field}s_to_subscription_ids"); |
|
| 134 | + if (!empty($subscription_id)) { |
|
| 135 | 135 | return $subscription_id; |
| 136 | 136 | } |
| 137 | 137 | |
| 138 | 138 | // Fetch from the db. |
| 139 | 139 | $table = $wpdb->prefix . 'wpinv_subscriptions'; |
| 140 | 140 | $subscription_id = (int) $wpdb->get_var( |
| 141 | - $wpdb->prepare( "SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value ) |
|
| 141 | + $wpdb->prepare("SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value) |
|
| 142 | 142 | ); |
| 143 | 143 | |
| 144 | - if ( empty( $subscription_id ) ) { |
|
| 144 | + if (empty($subscription_id)) { |
|
| 145 | 145 | return 0; |
| 146 | 146 | } |
| 147 | 147 | |
| 148 | 148 | // Update the cache with our data. |
| 149 | - wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" ); |
|
| 149 | + wp_cache_set($value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids"); |
|
| 150 | 150 | |
| 151 | 151 | return $subscription_id; |
| 152 | 152 | } |
@@ -162,9 +162,9 @@ discard block |
||
| 162 | 162 | 'getpaid_subscriptions' => $this->get_id(), |
| 163 | 163 | ); |
| 164 | 164 | |
| 165 | - foreach ( $caches as $cache => $value ) { |
|
| 166 | - if ( '' !== $value && false !== $value ) { |
|
| 167 | - wp_cache_delete( $value, $cache ); |
|
| 165 | + foreach ($caches as $cache => $value) { |
|
| 166 | + if ('' !== $value && false !== $value) { |
|
| 167 | + wp_cache_delete($value, $cache); |
|
| 168 | 168 | } |
| 169 | 169 | } |
| 170 | 170 | } |
@@ -172,8 +172,8 @@ discard block |
||
| 172 | 172 | /** |
| 173 | 173 | * Checks if a subscription key is set. |
| 174 | 174 | */ |
| 175 | - public function _isset( $key ) { |
|
| 176 | - return isset( $this->data[ $key ] ) || method_exists( $this, "get_$key" ); |
|
| 175 | + public function _isset($key) { |
|
| 176 | + return isset($this->data[$key]) || method_exists($this, "get_$key"); |
|
| 177 | 177 | } |
| 178 | 178 | |
| 179 | 179 | /* |
@@ -198,8 +198,8 @@ discard block |
||
| 198 | 198 | * @param string $context View or edit context. |
| 199 | 199 | * @return int |
| 200 | 200 | */ |
| 201 | - public function get_customer_id( $context = 'view' ) { |
|
| 202 | - return (int) $this->get_prop( 'customer_id', $context ); |
|
| 201 | + public function get_customer_id($context = 'view') { |
|
| 202 | + return (int) $this->get_prop('customer_id', $context); |
|
| 203 | 203 | } |
| 204 | 204 | |
| 205 | 205 | /** |
@@ -209,8 +209,8 @@ discard block |
||
| 209 | 209 | * @param string $context View or edit context. |
| 210 | 210 | * @return WP_User|false WP_User object on success, false on failure. |
| 211 | 211 | */ |
| 212 | - public function get_customer( $context = 'view' ) { |
|
| 213 | - return get_userdata( $this->get_customer_id( $context ) ); |
|
| 212 | + public function get_customer($context = 'view') { |
|
| 213 | + return get_userdata($this->get_customer_id($context)); |
|
| 214 | 214 | } |
| 215 | 215 | |
| 216 | 216 | /** |
@@ -220,8 +220,8 @@ discard block |
||
| 220 | 220 | * @param string $context View or edit context. |
| 221 | 221 | * @return int |
| 222 | 222 | */ |
| 223 | - public function get_parent_invoice_id( $context = 'view' ) { |
|
| 224 | - return (int) $this->get_prop( 'parent_payment_id', $context ); |
|
| 223 | + public function get_parent_invoice_id($context = 'view') { |
|
| 224 | + return (int) $this->get_prop('parent_payment_id', $context); |
|
| 225 | 225 | } |
| 226 | 226 | |
| 227 | 227 | /** |
@@ -231,8 +231,8 @@ discard block |
||
| 231 | 231 | * @param string $context View or edit context. |
| 232 | 232 | * @return int |
| 233 | 233 | */ |
| 234 | - public function get_parent_payment_id( $context = 'view' ) { |
|
| 235 | - return $this->get_parent_invoice_id( $context ); |
|
| 234 | + public function get_parent_payment_id($context = 'view') { |
|
| 235 | + return $this->get_parent_invoice_id($context); |
|
| 236 | 236 | } |
| 237 | 237 | |
| 238 | 238 | /** |
@@ -241,8 +241,8 @@ discard block |
||
| 241 | 241 | * @since 1.0.0 |
| 242 | 242 | * @return int |
| 243 | 243 | */ |
| 244 | - public function get_original_payment_id( $context = 'view' ) { |
|
| 245 | - return $this->get_parent_invoice_id( $context ); |
|
| 244 | + public function get_original_payment_id($context = 'view') { |
|
| 245 | + return $this->get_parent_invoice_id($context); |
|
| 246 | 246 | } |
| 247 | 247 | |
| 248 | 248 | /** |
@@ -252,8 +252,8 @@ discard block |
||
| 252 | 252 | * @param string $context View or edit context. |
| 253 | 253 | * @return WPInv_Invoice |
| 254 | 254 | */ |
| 255 | - public function get_parent_invoice( $context = 'view' ) { |
|
| 256 | - return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) ); |
|
| 255 | + public function get_parent_invoice($context = 'view') { |
|
| 256 | + return new WPInv_Invoice($this->get_parent_invoice_id($context)); |
|
| 257 | 257 | } |
| 258 | 258 | |
| 259 | 259 | /** |
@@ -263,8 +263,8 @@ discard block |
||
| 263 | 263 | * @param string $context View or edit context. |
| 264 | 264 | * @return WPInv_Invoice |
| 265 | 265 | */ |
| 266 | - public function get_parent_payment( $context = 'view' ) { |
|
| 267 | - return $this->get_parent_invoice( $context ); |
|
| 266 | + public function get_parent_payment($context = 'view') { |
|
| 267 | + return $this->get_parent_invoice($context); |
|
| 268 | 268 | } |
| 269 | 269 | |
| 270 | 270 | /** |
@@ -274,8 +274,8 @@ discard block |
||
| 274 | 274 | * @param string $context View or edit context. |
| 275 | 275 | * @return int |
| 276 | 276 | */ |
| 277 | - public function get_product_id( $context = 'view' ) { |
|
| 278 | - return (int) $this->get_prop( 'product_id', $context ); |
|
| 277 | + public function get_product_id($context = 'view') { |
|
| 278 | + return (int) $this->get_prop('product_id', $context); |
|
| 279 | 279 | } |
| 280 | 280 | |
| 281 | 281 | /** |
@@ -285,8 +285,8 @@ discard block |
||
| 285 | 285 | * @param string $context View or edit context. |
| 286 | 286 | * @return WPInv_Item |
| 287 | 287 | */ |
| 288 | - public function get_product( $context = 'view' ) { |
|
| 289 | - return new WPInv_Item( $this->get_product_id( $context ) ); |
|
| 288 | + public function get_product($context = 'view') { |
|
| 289 | + return new WPInv_Item($this->get_product_id($context)); |
|
| 290 | 290 | } |
| 291 | 291 | |
| 292 | 292 | /** |
@@ -298,8 +298,8 @@ discard block |
||
| 298 | 298 | * @param string $context View or edit context. |
| 299 | 299 | * @return string |
| 300 | 300 | */ |
| 301 | - public function get_gateway( $context = 'view' ) { |
|
| 302 | - return $this->get_parent_invoice( $context )->get_gateway(); |
|
| 301 | + public function get_gateway($context = 'view') { |
|
| 302 | + return $this->get_parent_invoice($context)->get_gateway(); |
|
| 303 | 303 | } |
| 304 | 304 | |
| 305 | 305 | /** |
@@ -309,8 +309,8 @@ discard block |
||
| 309 | 309 | * @param string $context View or edit context. |
| 310 | 310 | * @return string |
| 311 | 311 | */ |
| 312 | - public function get_period( $context = 'view' ) { |
|
| 313 | - return $this->get_prop( 'period', $context ); |
|
| 312 | + public function get_period($context = 'view') { |
|
| 313 | + return $this->get_prop('period', $context); |
|
| 314 | 314 | } |
| 315 | 315 | |
| 316 | 316 | /** |
@@ -320,8 +320,8 @@ discard block |
||
| 320 | 320 | * @param string $context View or edit context. |
| 321 | 321 | * @return int |
| 322 | 322 | */ |
| 323 | - public function get_frequency( $context = 'view' ) { |
|
| 324 | - return (int) $this->get_prop( 'frequency', $context ); |
|
| 323 | + public function get_frequency($context = 'view') { |
|
| 324 | + return (int) $this->get_prop('frequency', $context); |
|
| 325 | 325 | } |
| 326 | 326 | |
| 327 | 327 | /** |
@@ -331,8 +331,8 @@ discard block |
||
| 331 | 331 | * @param string $context View or edit context. |
| 332 | 332 | * @return float |
| 333 | 333 | */ |
| 334 | - public function get_initial_amount( $context = 'view' ) { |
|
| 335 | - return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) ); |
|
| 334 | + public function get_initial_amount($context = 'view') { |
|
| 335 | + return (float) wpinv_sanitize_amount($this->get_prop('initial_amount', $context)); |
|
| 336 | 336 | } |
| 337 | 337 | |
| 338 | 338 | /** |
@@ -342,8 +342,8 @@ discard block |
||
| 342 | 342 | * @param string $context View or edit context. |
| 343 | 343 | * @return float |
| 344 | 344 | */ |
| 345 | - public function get_recurring_amount( $context = 'view' ) { |
|
| 346 | - return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) ); |
|
| 345 | + public function get_recurring_amount($context = 'view') { |
|
| 346 | + return (float) wpinv_sanitize_amount($this->get_prop('recurring_amount', $context)); |
|
| 347 | 347 | } |
| 348 | 348 | |
| 349 | 349 | /** |
@@ -353,8 +353,8 @@ discard block |
||
| 353 | 353 | * @param string $context View or edit context. |
| 354 | 354 | * @return int |
| 355 | 355 | */ |
| 356 | - public function get_bill_times( $context = 'view' ) { |
|
| 357 | - return (int) $this->get_prop( 'bill_times', $context ); |
|
| 356 | + public function get_bill_times($context = 'view') { |
|
| 357 | + return (int) $this->get_prop('bill_times', $context); |
|
| 358 | 358 | } |
| 359 | 359 | |
| 360 | 360 | /** |
@@ -364,8 +364,8 @@ discard block |
||
| 364 | 364 | * @param string $context View or edit context. |
| 365 | 365 | * @return string |
| 366 | 366 | */ |
| 367 | - public function get_transaction_id( $context = 'view' ) { |
|
| 368 | - return $this->get_prop( 'transaction_id', $context ); |
|
| 367 | + public function get_transaction_id($context = 'view') { |
|
| 368 | + return $this->get_prop('transaction_id', $context); |
|
| 369 | 369 | } |
| 370 | 370 | |
| 371 | 371 | /** |
@@ -375,8 +375,8 @@ discard block |
||
| 375 | 375 | * @param string $context View or edit context. |
| 376 | 376 | * @return string |
| 377 | 377 | */ |
| 378 | - public function get_created( $context = 'view' ) { |
|
| 379 | - return $this->get_prop( 'created', $context ); |
|
| 378 | + public function get_created($context = 'view') { |
|
| 379 | + return $this->get_prop('created', $context); |
|
| 380 | 380 | } |
| 381 | 381 | |
| 382 | 382 | /** |
@@ -386,8 +386,8 @@ discard block |
||
| 386 | 386 | * @param string $context View or edit context. |
| 387 | 387 | * @return string |
| 388 | 388 | */ |
| 389 | - public function get_date_created( $context = 'view' ) { |
|
| 390 | - return $this->get_created( $context ); |
|
| 389 | + public function get_date_created($context = 'view') { |
|
| 390 | + return $this->get_created($context); |
|
| 391 | 391 | } |
| 392 | 392 | |
| 393 | 393 | /** |
@@ -398,7 +398,7 @@ discard block |
||
| 398 | 398 | */ |
| 399 | 399 | public function get_time_created() { |
| 400 | 400 | $created = $this->get_date_created(); |
| 401 | - return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) ); |
|
| 401 | + return empty($created) ? current_time('timestamp') : strtotime($created, current_time('timestamp')); |
|
| 402 | 402 | } |
| 403 | 403 | |
| 404 | 404 | /** |
@@ -408,11 +408,11 @@ discard block |
||
| 408 | 408 | * @param string $context View or edit context. |
| 409 | 409 | * @return string |
| 410 | 410 | */ |
| 411 | - public function get_date_created_gmt( $context = 'view' ) { |
|
| 412 | - $date = $this->get_date_created( $context ); |
|
| 411 | + public function get_date_created_gmt($context = 'view') { |
|
| 412 | + $date = $this->get_date_created($context); |
|
| 413 | 413 | |
| 414 | - if ( $date ) { |
|
| 415 | - $date = get_gmt_from_date( $date ); |
|
| 414 | + if ($date) { |
|
| 415 | + $date = get_gmt_from_date($date); |
|
| 416 | 416 | } |
| 417 | 417 | return $date; |
| 418 | 418 | } |
@@ -424,8 +424,8 @@ discard block |
||
| 424 | 424 | * @param string $context View or edit context. |
| 425 | 425 | * @return string |
| 426 | 426 | */ |
| 427 | - public function get_next_renewal_date( $context = 'view' ) { |
|
| 428 | - return $this->get_prop( 'expiration', $context ); |
|
| 427 | + public function get_next_renewal_date($context = 'view') { |
|
| 428 | + return $this->get_prop('expiration', $context); |
|
| 429 | 429 | } |
| 430 | 430 | |
| 431 | 431 | /** |
@@ -435,8 +435,8 @@ discard block |
||
| 435 | 435 | * @param string $context View or edit context. |
| 436 | 436 | * @return string |
| 437 | 437 | */ |
| 438 | - public function get_expiration( $context = 'view' ) { |
|
| 439 | - return $this->get_next_renewal_date( $context ); |
|
| 438 | + public function get_expiration($context = 'view') { |
|
| 439 | + return $this->get_next_renewal_date($context); |
|
| 440 | 440 | } |
| 441 | 441 | |
| 442 | 442 | /** |
@@ -448,12 +448,12 @@ discard block |
||
| 448 | 448 | public function get_expiration_time() { |
| 449 | 449 | $expiration = $this->get_expiration(); |
| 450 | 450 | |
| 451 | - if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) { |
|
| 452 | - return current_time( 'timestamp' ); |
|
| 451 | + if (empty($expiration) || '0000-00-00 00:00:00' == $expiration) { |
|
| 452 | + return current_time('timestamp'); |
|
| 453 | 453 | } |
| 454 | 454 | |
| 455 | - $expiration = strtotime( $expiration, current_time( 'timestamp' ) ); |
|
| 456 | - return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration; |
|
| 455 | + $expiration = strtotime($expiration, current_time('timestamp')); |
|
| 456 | + return $expiration < current_time('timestamp') ? current_time('timestamp') : $expiration; |
|
| 457 | 457 | } |
| 458 | 458 | |
| 459 | 459 | /** |
@@ -463,11 +463,11 @@ discard block |
||
| 463 | 463 | * @param string $context View or edit context. |
| 464 | 464 | * @return string |
| 465 | 465 | */ |
| 466 | - public function get_next_renewal_date_gmt( $context = 'view' ) { |
|
| 467 | - $date = $this->get_next_renewal_date( $context ); |
|
| 466 | + public function get_next_renewal_date_gmt($context = 'view') { |
|
| 467 | + $date = $this->get_next_renewal_date($context); |
|
| 468 | 468 | |
| 469 | - if ( $date ) { |
|
| 470 | - $date = get_gmt_from_date( $date ); |
|
| 469 | + if ($date) { |
|
| 470 | + $date = get_gmt_from_date($date); |
|
| 471 | 471 | } |
| 472 | 472 | return $date; |
| 473 | 473 | } |
@@ -479,8 +479,8 @@ discard block |
||
| 479 | 479 | * @param string $context View or edit context. |
| 480 | 480 | * @return string |
| 481 | 481 | */ |
| 482 | - public function get_trial_period( $context = 'view' ) { |
|
| 483 | - return $this->get_prop( 'trial_period', $context ); |
|
| 482 | + public function get_trial_period($context = 'view') { |
|
| 483 | + return $this->get_prop('trial_period', $context); |
|
| 484 | 484 | } |
| 485 | 485 | |
| 486 | 486 | /** |
@@ -490,8 +490,8 @@ discard block |
||
| 490 | 490 | * @param string $context View or edit context. |
| 491 | 491 | * @return string |
| 492 | 492 | */ |
| 493 | - public function get_status( $context = 'view' ) { |
|
| 494 | - return $this->get_prop( 'status', $context ); |
|
| 493 | + public function get_status($context = 'view') { |
|
| 494 | + return $this->get_prop('status', $context); |
|
| 495 | 495 | } |
| 496 | 496 | |
| 497 | 497 | /** |
@@ -501,8 +501,8 @@ discard block |
||
| 501 | 501 | * @param string $context View or edit context. |
| 502 | 502 | * @return string |
| 503 | 503 | */ |
| 504 | - public function get_profile_id( $context = 'view' ) { |
|
| 505 | - return $this->get_prop( 'profile_id', $context ); |
|
| 504 | + public function get_profile_id($context = 'view') { |
|
| 505 | + return $this->get_prop('profile_id', $context); |
|
| 506 | 506 | } |
| 507 | 507 | |
| 508 | 508 | /* |
@@ -517,8 +517,8 @@ discard block |
||
| 517 | 517 | * @since 1.0.19 |
| 518 | 518 | * @param int $value The customer's id. |
| 519 | 519 | */ |
| 520 | - public function set_customer_id( $value ) { |
|
| 521 | - $this->set_prop( 'customer_id', (int) $value ); |
|
| 520 | + public function set_customer_id($value) { |
|
| 521 | + $this->set_prop('customer_id', (int) $value); |
|
| 522 | 522 | } |
| 523 | 523 | |
| 524 | 524 | /** |
@@ -527,8 +527,8 @@ discard block |
||
| 527 | 527 | * @since 1.0.19 |
| 528 | 528 | * @param int $value The parent invoice id. |
| 529 | 529 | */ |
| 530 | - public function set_parent_invoice_id( $value ) { |
|
| 531 | - $this->set_prop( 'parent_payment_id', (int) $value ); |
|
| 530 | + public function set_parent_invoice_id($value) { |
|
| 531 | + $this->set_prop('parent_payment_id', (int) $value); |
|
| 532 | 532 | } |
| 533 | 533 | |
| 534 | 534 | /** |
@@ -537,8 +537,8 @@ discard block |
||
| 537 | 537 | * @since 1.0.19 |
| 538 | 538 | * @param int $value The parent invoice id. |
| 539 | 539 | */ |
| 540 | - public function set_parent_payment_id( $value ) { |
|
| 541 | - $this->set_parent_invoice_id( $value ); |
|
| 540 | + public function set_parent_payment_id($value) { |
|
| 541 | + $this->set_parent_invoice_id($value); |
|
| 542 | 542 | } |
| 543 | 543 | |
| 544 | 544 | /** |
@@ -547,8 +547,8 @@ discard block |
||
| 547 | 547 | * @since 1.0.19 |
| 548 | 548 | * @param int $value The parent invoice id. |
| 549 | 549 | */ |
| 550 | - public function set_original_payment_id( $value ) { |
|
| 551 | - $this->set_parent_invoice_id( $value ); |
|
| 550 | + public function set_original_payment_id($value) { |
|
| 551 | + $this->set_parent_invoice_id($value); |
|
| 552 | 552 | } |
| 553 | 553 | |
| 554 | 554 | /** |
@@ -557,8 +557,8 @@ discard block |
||
| 557 | 557 | * @since 1.0.19 |
| 558 | 558 | * @param int $value The subscription product id. |
| 559 | 559 | */ |
| 560 | - public function set_product_id( $value ) { |
|
| 561 | - $this->set_prop( 'product_id', (int) $value ); |
|
| 560 | + public function set_product_id($value) { |
|
| 561 | + $this->set_prop('product_id', (int) $value); |
|
| 562 | 562 | } |
| 563 | 563 | |
| 564 | 564 | /** |
@@ -567,8 +567,8 @@ discard block |
||
| 567 | 567 | * @since 1.0.19 |
| 568 | 568 | * @param string $value The renewal period. |
| 569 | 569 | */ |
| 570 | - public function set_period( $value ) { |
|
| 571 | - $this->set_prop( 'period', $value ); |
|
| 570 | + public function set_period($value) { |
|
| 571 | + $this->set_prop('period', $value); |
|
| 572 | 572 | } |
| 573 | 573 | |
| 574 | 574 | /** |
@@ -577,9 +577,9 @@ discard block |
||
| 577 | 577 | * @since 1.0.19 |
| 578 | 578 | * @param int $value The subscription frequency. |
| 579 | 579 | */ |
| 580 | - public function set_frequency( $value ) { |
|
| 581 | - $value = empty( $value ) ? 1 : (int) $value; |
|
| 582 | - $this->set_prop( 'frequency', absint( $value ) ); |
|
| 580 | + public function set_frequency($value) { |
|
| 581 | + $value = empty($value) ? 1 : (int) $value; |
|
| 582 | + $this->set_prop('frequency', absint($value)); |
|
| 583 | 583 | } |
| 584 | 584 | |
| 585 | 585 | /** |
@@ -588,8 +588,8 @@ discard block |
||
| 588 | 588 | * @since 1.0.19 |
| 589 | 589 | * @param float $value The initial subcription amount. |
| 590 | 590 | */ |
| 591 | - public function set_initial_amount( $value ) { |
|
| 592 | - $this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) ); |
|
| 591 | + public function set_initial_amount($value) { |
|
| 592 | + $this->set_prop('initial_amount', wpinv_sanitize_amount($value)); |
|
| 593 | 593 | } |
| 594 | 594 | |
| 595 | 595 | /** |
@@ -598,8 +598,8 @@ discard block |
||
| 598 | 598 | * @since 1.0.19 |
| 599 | 599 | * @param float $value The recurring subcription amount. |
| 600 | 600 | */ |
| 601 | - public function set_recurring_amount( $value ) { |
|
| 602 | - $this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) ); |
|
| 601 | + public function set_recurring_amount($value) { |
|
| 602 | + $this->set_prop('recurring_amount', wpinv_sanitize_amount($value)); |
|
| 603 | 603 | } |
| 604 | 604 | |
| 605 | 605 | /** |
@@ -608,8 +608,8 @@ discard block |
||
| 608 | 608 | * @since 1.0.19 |
| 609 | 609 | * @param int $value Bill times. |
| 610 | 610 | */ |
| 611 | - public function set_bill_times( $value ) { |
|
| 612 | - $this->set_prop( 'bill_times', (int) $value ); |
|
| 611 | + public function set_bill_times($value) { |
|
| 612 | + $this->set_prop('bill_times', (int) $value); |
|
| 613 | 613 | } |
| 614 | 614 | |
| 615 | 615 | /** |
@@ -618,8 +618,8 @@ discard block |
||
| 618 | 618 | * @since 1.0.19 |
| 619 | 619 | * @param string $value Bill times. |
| 620 | 620 | */ |
| 621 | - public function set_transaction_id( $value ) { |
|
| 622 | - $this->set_prop( 'transaction_id', sanitize_text_field( $value ) ); |
|
| 621 | + public function set_transaction_id($value) { |
|
| 622 | + $this->set_prop('transaction_id', sanitize_text_field($value)); |
|
| 623 | 623 | } |
| 624 | 624 | |
| 625 | 625 | /** |
@@ -628,15 +628,15 @@ discard block |
||
| 628 | 628 | * @since 1.0.19 |
| 629 | 629 | * @param string $value strtotime compliant date. |
| 630 | 630 | */ |
| 631 | - public function set_created( $value ) { |
|
| 632 | - $date = strtotime( $value ); |
|
| 631 | + public function set_created($value) { |
|
| 632 | + $date = strtotime($value); |
|
| 633 | 633 | |
| 634 | - if ( $date && $value !== '0000-00-00 00:00:00' ) { |
|
| 635 | - $this->set_prop( 'created', gmdate( 'Y-m-d H:i:s', $date ) ); |
|
| 634 | + if ($date && $value !== '0000-00-00 00:00:00') { |
|
| 635 | + $this->set_prop('created', gmdate('Y-m-d H:i:s', $date)); |
|
| 636 | 636 | return; |
| 637 | 637 | } |
| 638 | 638 | |
| 639 | - $this->set_prop( 'created', '' ); |
|
| 639 | + $this->set_prop('created', ''); |
|
| 640 | 640 | |
| 641 | 641 | } |
| 642 | 642 | |
@@ -646,8 +646,8 @@ discard block |
||
| 646 | 646 | * @since 1.0.19 |
| 647 | 647 | * @param string $value strtotime compliant date. |
| 648 | 648 | */ |
| 649 | - public function set_date_created( $value ) { |
|
| 650 | - $this->set_created( $value ); |
|
| 649 | + public function set_date_created($value) { |
|
| 650 | + $this->set_created($value); |
|
| 651 | 651 | } |
| 652 | 652 | |
| 653 | 653 | /** |
@@ -656,15 +656,15 @@ discard block |
||
| 656 | 656 | * @since 1.0.19 |
| 657 | 657 | * @param string $value strtotime compliant date. |
| 658 | 658 | */ |
| 659 | - public function set_next_renewal_date( $value ) { |
|
| 660 | - $date = strtotime( $value ); |
|
| 659 | + public function set_next_renewal_date($value) { |
|
| 660 | + $date = strtotime($value); |
|
| 661 | 661 | |
| 662 | - if ( $date && $value !== '0000-00-00 00:00:00' ) { |
|
| 663 | - $this->set_prop( 'expiration', gmdate( 'Y-m-d H:i:s', $date ) ); |
|
| 662 | + if ($date && $value !== '0000-00-00 00:00:00') { |
|
| 663 | + $this->set_prop('expiration', gmdate('Y-m-d H:i:s', $date)); |
|
| 664 | 664 | return; |
| 665 | 665 | } |
| 666 | 666 | |
| 667 | - $this->set_prop( 'expiration', '' ); |
|
| 667 | + $this->set_prop('expiration', ''); |
|
| 668 | 668 | |
| 669 | 669 | } |
| 670 | 670 | |
@@ -674,8 +674,8 @@ discard block |
||
| 674 | 674 | * @since 1.0.19 |
| 675 | 675 | * @param string $value strtotime compliant date. |
| 676 | 676 | */ |
| 677 | - public function set_expiration( $value ) { |
|
| 678 | - $this->set_next_renewal_date( $value ); |
|
| 677 | + public function set_expiration($value) { |
|
| 678 | + $this->set_next_renewal_date($value); |
|
| 679 | 679 | } |
| 680 | 680 | |
| 681 | 681 | /** |
@@ -684,8 +684,8 @@ discard block |
||
| 684 | 684 | * @since 1.0.19 |
| 685 | 685 | * @param string $value trial period e.g 1 year. |
| 686 | 686 | */ |
| 687 | - public function set_trial_period( $value ) { |
|
| 688 | - $this->set_prop( 'trial_period', $value ); |
|
| 687 | + public function set_trial_period($value) { |
|
| 688 | + $this->set_prop('trial_period', $value); |
|
| 689 | 689 | } |
| 690 | 690 | |
| 691 | 691 | /** |
@@ -694,22 +694,22 @@ discard block |
||
| 694 | 694 | * @since 1.0.19 |
| 695 | 695 | * @param string $new_status New subscription status. |
| 696 | 696 | */ |
| 697 | - public function set_status( $new_status ) { |
|
| 697 | + public function set_status($new_status) { |
|
| 698 | 698 | |
| 699 | 699 | // Abort if this is not a valid status; |
| 700 | - if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) { |
|
| 700 | + if (!array_key_exists($new_status, getpaid_get_subscription_statuses())) { |
|
| 701 | 701 | return; |
| 702 | 702 | } |
| 703 | 703 | |
| 704 | - $old_status = ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $this->get_status(); |
|
| 705 | - if ( true === $this->object_read && $old_status !== $new_status ) { |
|
| 704 | + $old_status = !empty($this->status_transition['from']) ? $this->status_transition['from'] : $this->get_status(); |
|
| 705 | + if (true === $this->object_read && $old_status !== $new_status) { |
|
| 706 | 706 | $this->status_transition = array( |
| 707 | 707 | 'from' => $old_status, |
| 708 | 708 | 'to' => $new_status, |
| 709 | 709 | ); |
| 710 | 710 | } |
| 711 | 711 | |
| 712 | - $this->set_prop( 'status', $new_status ); |
|
| 712 | + $this->set_prop('status', $new_status); |
|
| 713 | 713 | } |
| 714 | 714 | |
| 715 | 715 | /** |
@@ -718,8 +718,8 @@ discard block |
||
| 718 | 718 | * @since 1.0.19 |
| 719 | 719 | * @param string $value the remote profile id. |
| 720 | 720 | */ |
| 721 | - public function set_profile_id( $value ) { |
|
| 722 | - $this->set_prop( 'profile_id', sanitize_text_field( $value ) ); |
|
| 721 | + public function set_profile_id($value) { |
|
| 722 | + $this->set_prop('profile_id', sanitize_text_field($value)); |
|
| 723 | 723 | } |
| 724 | 724 | |
| 725 | 725 | /* |
@@ -737,8 +737,8 @@ discard block |
||
| 737 | 737 | * @param string|array String or array of strings to check for. |
| 738 | 738 | * @return bool |
| 739 | 739 | */ |
| 740 | - public function has_status( $status ) { |
|
| 741 | - return in_array( $this->get_status(), wpinv_clean( wpinv_parse_list( $status ) ) ); |
|
| 740 | + public function has_status($status) { |
|
| 741 | + return in_array($this->get_status(), wpinv_clean(wpinv_parse_list($status))); |
|
| 742 | 742 | } |
| 743 | 743 | |
| 744 | 744 | /** |
@@ -748,7 +748,7 @@ discard block |
||
| 748 | 748 | */ |
| 749 | 749 | public function has_trial_period() { |
| 750 | 750 | $period = $this->get_trial_period(); |
| 751 | - return ! empty( $period ); |
|
| 751 | + return !empty($period); |
|
| 752 | 752 | } |
| 753 | 753 | |
| 754 | 754 | /** |
@@ -757,7 +757,7 @@ discard block |
||
| 757 | 757 | * @return bool |
| 758 | 758 | */ |
| 759 | 759 | public function is_active() { |
| 760 | - return $this->has_status( 'active trialling' ) && ! $this->is_expired(); |
|
| 760 | + return $this->has_status('active trialling') && !$this->is_expired(); |
|
| 761 | 761 | } |
| 762 | 762 | |
| 763 | 763 | /** |
@@ -766,7 +766,7 @@ discard block |
||
| 766 | 766 | * @return bool |
| 767 | 767 | */ |
| 768 | 768 | public function is_expired() { |
| 769 | - return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'timestamp' ) ); |
|
| 769 | + return $this->has_status('expired') || ($this->has_status('active cancelled trialling') && $this->get_expiration_time() < current_time('timestamp')); |
|
| 770 | 770 | } |
| 771 | 771 | |
| 772 | 772 | /** |
@@ -776,7 +776,7 @@ discard block |
||
| 776 | 776 | */ |
| 777 | 777 | public function is_last_renewal() { |
| 778 | 778 | $max_bills = $this->get_bill_times(); |
| 779 | - return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed(); |
|
| 779 | + return !empty($max_bills) && $max_bills <= $this->get_times_billed(); |
|
| 780 | 780 | } |
| 781 | 781 | |
| 782 | 782 | /* |
@@ -791,11 +791,11 @@ discard block |
||
| 791 | 791 | /** |
| 792 | 792 | * Backwards compatibilty. |
| 793 | 793 | */ |
| 794 | - public function create( $data = array() ) { |
|
| 794 | + public function create($data = array()) { |
|
| 795 | 795 | |
| 796 | 796 | // Set the properties. |
| 797 | - if ( is_array( $data ) ) { |
|
| 798 | - $this->set_props( $data ); |
|
| 797 | + if (is_array($data)) { |
|
| 798 | + $this->set_props($data); |
|
| 799 | 799 | } |
| 800 | 800 | |
| 801 | 801 | // Save the item. |
@@ -806,8 +806,8 @@ discard block |
||
| 806 | 806 | /** |
| 807 | 807 | * Backwards compatibilty. |
| 808 | 808 | */ |
| 809 | - public function update( $args = array() ) { |
|
| 810 | - return $this->create( $args ); |
|
| 809 | + public function update($args = array()) { |
|
| 810 | + return $this->create($args); |
|
| 811 | 811 | } |
| 812 | 812 | |
| 813 | 813 | /** |
@@ -816,12 +816,12 @@ discard block |
||
| 816 | 816 | * @since 1.0.0 |
| 817 | 817 | * @return WP_Post[] |
| 818 | 818 | */ |
| 819 | - public function get_child_payments( $hide_pending = true ) { |
|
| 819 | + public function get_child_payments($hide_pending = true) { |
|
| 820 | 820 | |
| 821 | - $statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' ); |
|
| 821 | + $statuses = array('publish', 'wpi-processing', 'wpi-renewal'); |
|
| 822 | 822 | |
| 823 | - if ( ! $hide_pending ) { |
|
| 824 | - $statuses = array_keys( wpinv_get_invoice_statuses() ); |
|
| 823 | + if (!$hide_pending) { |
|
| 824 | + $statuses = array_keys(wpinv_get_invoice_statuses()); |
|
| 825 | 825 | } |
| 826 | 826 | |
| 827 | 827 | return get_posts( |
@@ -843,7 +843,7 @@ discard block |
||
| 843 | 843 | * @return int |
| 844 | 844 | */ |
| 845 | 845 | public function get_total_payments() { |
| 846 | - return getpaid_count_subscription_invoices( $this->get_parent_invoice_id(), $this->get_id() ); |
|
| 846 | + return getpaid_count_subscription_invoices($this->get_parent_invoice_id(), $this->get_id()); |
|
| 847 | 847 | } |
| 848 | 848 | |
| 849 | 849 | /** |
@@ -855,7 +855,7 @@ discard block |
||
| 855 | 855 | public function get_times_billed() { |
| 856 | 856 | $times_billed = $this->get_total_payments(); |
| 857 | 857 | |
| 858 | - if ( (float) $this->get_initial_amount() == 0 && $times_billed > 0 ) { |
|
| 858 | + if ((float) $this->get_initial_amount() == 0 && $times_billed > 0) { |
|
| 859 | 859 | $times_billed--; |
| 860 | 860 | } |
| 861 | 861 | |
@@ -870,52 +870,52 @@ discard block |
||
| 870 | 870 | * @param WPInv_Invoice $invoice If adding an existing invoice. |
| 871 | 871 | * @return bool |
| 872 | 872 | */ |
| 873 | - public function add_payment( $args = array(), $invoice = false ) { |
|
| 873 | + public function add_payment($args = array(), $invoice = false) { |
|
| 874 | 874 | |
| 875 | 875 | // Process each payment once. |
| 876 | - if ( ! empty( $args['transaction_id'] ) && $this->payment_exists( $args['transaction_id'] ) ) { |
|
| 876 | + if (!empty($args['transaction_id']) && $this->payment_exists($args['transaction_id'])) { |
|
| 877 | 877 | return false; |
| 878 | 878 | } |
| 879 | 879 | |
| 880 | 880 | // Are we creating a new invoice? |
| 881 | - if ( empty( $invoice ) ) { |
|
| 882 | - $invoice = $this->create_payment( false ); |
|
| 881 | + if (empty($invoice)) { |
|
| 882 | + $invoice = $this->create_payment(false); |
|
| 883 | 883 | |
| 884 | - if ( empty( $invoice ) ) { |
|
| 884 | + if (empty($invoice)) { |
|
| 885 | 885 | return false; |
| 886 | 886 | } |
| 887 | 887 | } |
| 888 | 888 | |
| 889 | 889 | // Maybe set a transaction id. |
| 890 | - if ( ! empty( $args['transaction_id'] ) ) { |
|
| 891 | - $invoice->set_transaction_id( $args['transaction_id'] ); |
|
| 890 | + if (!empty($args['transaction_id'])) { |
|
| 891 | + $invoice->set_transaction_id($args['transaction_id']); |
|
| 892 | 892 | } |
| 893 | 893 | |
| 894 | 894 | // Set the completed date. |
| 895 | - $invoice->set_completed_date( current_time( 'mysql' ) ); |
|
| 895 | + $invoice->set_completed_date(current_time('mysql')); |
|
| 896 | 896 | |
| 897 | 897 | // And the gateway. |
| 898 | - if ( ! empty( $args['gateway'] ) ) { |
|
| 899 | - $invoice->set_gateway( $args['gateway'] ); |
|
| 898 | + if (!empty($args['gateway'])) { |
|
| 899 | + $invoice->set_gateway($args['gateway']); |
|
| 900 | 900 | } |
| 901 | 901 | |
| 902 | - $invoice->set_status( 'wpi-renewal' ); |
|
| 902 | + $invoice->set_status('wpi-renewal'); |
|
| 903 | 903 | $invoice->save(); |
| 904 | 904 | |
| 905 | - if ( ! $invoice->exists() ) { |
|
| 905 | + if (!$invoice->exists()) { |
|
| 906 | 906 | return false; |
| 907 | 907 | } |
| 908 | 908 | |
| 909 | - return $this->after_add_payment( $invoice ); |
|
| 909 | + return $this->after_add_payment($invoice); |
|
| 910 | 910 | } |
| 911 | 911 | |
| 912 | - public function after_add_payment( $invoice ) { |
|
| 912 | + public function after_add_payment($invoice) { |
|
| 913 | 913 | |
| 914 | - do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this ); |
|
| 915 | - do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this ); |
|
| 916 | - do_action( 'wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id() ); |
|
| 914 | + do_action('getpaid_after_create_subscription_renewal_invoice', $invoice, $this); |
|
| 915 | + do_action('wpinv_recurring_add_subscription_payment', $invoice, $this); |
|
| 916 | + do_action('wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id()); |
|
| 917 | 917 | |
| 918 | - update_post_meta( $invoice->get_id(), '_wpinv_subscription_id', $this->id ); |
|
| 918 | + update_post_meta($invoice->get_id(), '_wpinv_subscription_id', $this->id); |
|
| 919 | 919 | |
| 920 | 920 | return $invoice->get_id(); |
| 921 | 921 | } |
@@ -927,47 +927,47 @@ discard block |
||
| 927 | 927 | * @param bool $save Whether we should save the invoice. |
| 928 | 928 | * @return WPInv_Invoice|bool |
| 929 | 929 | */ |
| 930 | - public function create_payment( $save = true ) { |
|
| 930 | + public function create_payment($save = true) { |
|
| 931 | 931 | |
| 932 | 932 | $parent_invoice = $this->get_parent_payment(); |
| 933 | 933 | |
| 934 | - if ( ! $parent_invoice->exists() ) { |
|
| 934 | + if (!$parent_invoice->exists()) { |
|
| 935 | 935 | return false; |
| 936 | 936 | } |
| 937 | 937 | |
| 938 | 938 | // Duplicate the parent invoice. |
| 939 | - $invoice = getpaid_duplicate_invoice( $parent_invoice ); |
|
| 940 | - $invoice->set_parent_id( $parent_invoice->get_id() ); |
|
| 941 | - $invoice->set_subscription_id( $this->get_id() ); |
|
| 942 | - $invoice->set_remote_subscription_id( $this->get_profile_id() ); |
|
| 939 | + $invoice = getpaid_duplicate_invoice($parent_invoice); |
|
| 940 | + $invoice->set_parent_id($parent_invoice->get_id()); |
|
| 941 | + $invoice->set_subscription_id($this->get_id()); |
|
| 942 | + $invoice->set_remote_subscription_id($this->get_profile_id()); |
|
| 943 | 943 | |
| 944 | 944 | // Set invoice items. |
| 945 | - $subscription_group = getpaid_get_invoice_subscription_group( $parent_invoice->get_id(), $this->get_id() ); |
|
| 946 | - $allowed_items = empty( $subscription_group ) ? array( $this->get_product_id() ) : array_keys( $subscription_group['items'] ); |
|
| 945 | + $subscription_group = getpaid_get_invoice_subscription_group($parent_invoice->get_id(), $this->get_id()); |
|
| 946 | + $allowed_items = empty($subscription_group) ? array($this->get_product_id()) : array_keys($subscription_group['items']); |
|
| 947 | 947 | $invoice_items = array(); |
| 948 | 948 | |
| 949 | - foreach ( $invoice->get_items() as $item ) { |
|
| 950 | - if ( in_array( $item->get_id(), $allowed_items ) ) { |
|
| 949 | + foreach ($invoice->get_items() as $item) { |
|
| 950 | + if (in_array($item->get_id(), $allowed_items)) { |
|
| 951 | 951 | $invoice_items[] = $item; |
| 952 | 952 | } |
| 953 | 953 | } |
| 954 | 954 | |
| 955 | - $invoice->set_items( $invoice_items ); |
|
| 955 | + $invoice->set_items($invoice_items); |
|
| 956 | 956 | |
| 957 | - if ( ! empty( $subscription_group['fees'] ) ) { |
|
| 958 | - $invoice->set_fees( $subscription_group['fees'] ); |
|
| 957 | + if (!empty($subscription_group['fees'])) { |
|
| 958 | + $invoice->set_fees($subscription_group['fees']); |
|
| 959 | 959 | } |
| 960 | 960 | |
| 961 | 961 | // Maybe recalculate discount (Pre-GetPaid Fix). |
| 962 | - $discount = new WPInv_Discount( $invoice->get_discount_code() ); |
|
| 963 | - if ( $discount->exists() && $discount->is_recurring() && 0 == $invoice->get_total_discount() ) { |
|
| 964 | - $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) ); |
|
| 962 | + $discount = new WPInv_Discount($invoice->get_discount_code()); |
|
| 963 | + if ($discount->exists() && $discount->is_recurring() && 0 == $invoice->get_total_discount()) { |
|
| 964 | + $invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount)); |
|
| 965 | 965 | } |
| 966 | 966 | |
| 967 | 967 | $invoice->recalculate_total(); |
| 968 | - $invoice->set_status( 'wpi-pending' ); |
|
| 968 | + $invoice->set_status('wpi-pending'); |
|
| 969 | 969 | |
| 970 | - if ( ! $save ) { |
|
| 970 | + if (!$save) { |
|
| 971 | 971 | return $invoice; |
| 972 | 972 | } |
| 973 | 973 | |
@@ -982,24 +982,24 @@ discard block |
||
| 982 | 982 | * @since 1.0.0 |
| 983 | 983 | * @return int The subscription's id |
| 984 | 984 | */ |
| 985 | - public function renew( $calculate_from = null ) { |
|
| 985 | + public function renew($calculate_from = null) { |
|
| 986 | 986 | |
| 987 | 987 | // Complete subscription if applicable |
| 988 | - if ( $this->is_last_renewal() ) { |
|
| 988 | + if ($this->is_last_renewal()) { |
|
| 989 | 989 | return $this->complete(); |
| 990 | 990 | } |
| 991 | 991 | |
| 992 | 992 | // Calculate new expiration |
| 993 | 993 | $frequency = $this->get_frequency(); |
| 994 | 994 | $period = $this->get_period(); |
| 995 | - $calculate_from = empty( $calculate_from ) ? $this->get_expiration_time() : $calculate_from; |
|
| 996 | - $new_expiration = strtotime( "+ $frequency $period", $calculate_from ); |
|
| 995 | + $calculate_from = empty($calculate_from) ? $this->get_expiration_time() : $calculate_from; |
|
| 996 | + $new_expiration = strtotime("+ $frequency $period", $calculate_from); |
|
| 997 | 997 | |
| 998 | - $this->set_expiration( date( 'Y-m-d H:i:s', $new_expiration ) ); |
|
| 999 | - $this->set_status( 'active' ); |
|
| 998 | + $this->set_expiration(date('Y-m-d H:i:s', $new_expiration)); |
|
| 999 | + $this->set_status('active'); |
|
| 1000 | 1000 | $this->save(); |
| 1001 | 1001 | |
| 1002 | - do_action( 'getpaid_subscription_renewed', $this ); |
|
| 1002 | + do_action('getpaid_subscription_renewed', $this); |
|
| 1003 | 1003 | |
| 1004 | 1004 | return $this->get_id(); |
| 1005 | 1005 | } |
@@ -1015,11 +1015,11 @@ discard block |
||
| 1015 | 1015 | public function complete() { |
| 1016 | 1016 | |
| 1017 | 1017 | // Only mark a subscription as complete if it's not already cancelled. |
| 1018 | - if ( $this->has_status( 'cancelled' ) ) { |
|
| 1018 | + if ($this->has_status('cancelled')) { |
|
| 1019 | 1019 | return false; |
| 1020 | 1020 | } |
| 1021 | 1021 | |
| 1022 | - $this->set_status( 'completed' ); |
|
| 1022 | + $this->set_status('completed'); |
|
| 1023 | 1023 | return $this->save(); |
| 1024 | 1024 | |
| 1025 | 1025 | } |
@@ -1031,14 +1031,14 @@ discard block |
||
| 1031 | 1031 | * @param bool $check_expiration |
| 1032 | 1032 | * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future. |
| 1033 | 1033 | */ |
| 1034 | - public function expire( $check_expiration = false ) { |
|
| 1034 | + public function expire($check_expiration = false) { |
|
| 1035 | 1035 | |
| 1036 | - if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) { |
|
| 1036 | + if ($check_expiration && $this->get_expiration_time() > current_time('timestamp')) { |
|
| 1037 | 1037 | // Do not mark as expired since real expiration date is in the future |
| 1038 | 1038 | return false; |
| 1039 | 1039 | } |
| 1040 | 1040 | |
| 1041 | - $this->set_status( 'expired' ); |
|
| 1041 | + $this->set_status('expired'); |
|
| 1042 | 1042 | return $this->save(); |
| 1043 | 1043 | |
| 1044 | 1044 | } |
@@ -1050,7 +1050,7 @@ discard block |
||
| 1050 | 1050 | * @return int Subscription id. |
| 1051 | 1051 | */ |
| 1052 | 1052 | public function failing() { |
| 1053 | - $this->set_status( 'failing' ); |
|
| 1053 | + $this->set_status('failing'); |
|
| 1054 | 1054 | return $this->save(); |
| 1055 | 1055 | } |
| 1056 | 1056 | |
@@ -1061,7 +1061,7 @@ discard block |
||
| 1061 | 1061 | * @return int Subscription id. |
| 1062 | 1062 | */ |
| 1063 | 1063 | public function cancel() { |
| 1064 | - $this->set_status( 'cancelled' ); |
|
| 1064 | + $this->set_status('cancelled'); |
|
| 1065 | 1065 | return $this->save(); |
| 1066 | 1066 | } |
| 1067 | 1067 | |
@@ -1072,7 +1072,7 @@ discard block |
||
| 1072 | 1072 | * @return bool |
| 1073 | 1073 | */ |
| 1074 | 1074 | public function can_cancel() { |
| 1075 | - return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this ); |
|
| 1075 | + return apply_filters('wpinv_subscription_can_cancel', $this->has_status($this->get_cancellable_statuses()), $this); |
|
| 1076 | 1076 | } |
| 1077 | 1077 | |
| 1078 | 1078 | /** |
@@ -1083,7 +1083,7 @@ discard block |
||
| 1083 | 1083 | * @return array |
| 1084 | 1084 | */ |
| 1085 | 1085 | public function get_cancellable_statuses() { |
| 1086 | - return apply_filters( 'wpinv_recurring_cancellable_statuses', array( 'active', 'trialling', 'failing' ) ); |
|
| 1086 | + return apply_filters('wpinv_recurring_cancellable_statuses', array('active', 'trialling', 'failing')); |
|
| 1087 | 1087 | } |
| 1088 | 1088 | |
| 1089 | 1089 | /** |
@@ -1093,8 +1093,8 @@ discard block |
||
| 1093 | 1093 | * @return string |
| 1094 | 1094 | */ |
| 1095 | 1095 | public function get_cancel_url() { |
| 1096 | - $url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() ); |
|
| 1097 | - return apply_filters( 'wpinv_subscription_cancel_url', $url, $this ); |
|
| 1096 | + $url = getpaid_get_authenticated_action_url('subscription_cancel', $this->get_view_url()); |
|
| 1097 | + return apply_filters('wpinv_subscription_cancel_url', $url, $this); |
|
| 1098 | 1098 | } |
| 1099 | 1099 | |
| 1100 | 1100 | /** |
@@ -1105,10 +1105,10 @@ discard block |
||
| 1105 | 1105 | */ |
| 1106 | 1106 | public function get_view_url() { |
| 1107 | 1107 | |
| 1108 | - $url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) ); |
|
| 1109 | - $url = add_query_arg( 'subscription', $this->get_id(), $url ); |
|
| 1108 | + $url = getpaid_get_tab_url('gp-subscriptions', get_permalink((int) wpinv_get_option('invoice_subscription_page'))); |
|
| 1109 | + $url = add_query_arg('subscription', $this->get_id(), $url); |
|
| 1110 | 1110 | |
| 1111 | - return apply_filters( 'getpaid_get_subscription_view_url', $url, $this ); |
|
| 1111 | + return apply_filters('getpaid_get_subscription_view_url', $url, $this); |
|
| 1112 | 1112 | } |
| 1113 | 1113 | |
| 1114 | 1114 | /** |
@@ -1121,7 +1121,7 @@ discard block |
||
| 1121 | 1121 | * @return bool |
| 1122 | 1122 | */ |
| 1123 | 1123 | public function can_renew() { |
| 1124 | - return apply_filters( 'wpinv_subscription_can_renew', true, $this ); |
|
| 1124 | + return apply_filters('wpinv_subscription_can_renew', true, $this); |
|
| 1125 | 1125 | } |
| 1126 | 1126 | |
| 1127 | 1127 | /** |
@@ -1140,7 +1140,7 @@ discard block |
||
| 1140 | 1140 | ), |
| 1141 | 1141 | 'getpaid-nonce' |
| 1142 | 1142 | ); |
| 1143 | - return apply_filters( 'wpinv_subscription_renew_url', $url, $this ); |
|
| 1143 | + return apply_filters('wpinv_subscription_renew_url', $url, $this); |
|
| 1144 | 1144 | } |
| 1145 | 1145 | |
| 1146 | 1146 | /** |
@@ -1150,7 +1150,7 @@ discard block |
||
| 1150 | 1150 | * @return bool |
| 1151 | 1151 | */ |
| 1152 | 1152 | public function can_update() { |
| 1153 | - return apply_filters( 'wpinv_subscription_can_update', false, $this ); |
|
| 1153 | + return apply_filters('wpinv_subscription_can_update', false, $this); |
|
| 1154 | 1154 | } |
| 1155 | 1155 | |
| 1156 | 1156 | /** |
@@ -1166,7 +1166,7 @@ discard block |
||
| 1166 | 1166 | 'subscription_id' => $this->get_id(), |
| 1167 | 1167 | ) |
| 1168 | 1168 | ); |
| 1169 | - return apply_filters( 'wpinv_subscription_update_url', $url, $this ); |
|
| 1169 | + return apply_filters('wpinv_subscription_update_url', $url, $this); |
|
| 1170 | 1170 | } |
| 1171 | 1171 | |
| 1172 | 1172 | /** |
@@ -1176,7 +1176,7 @@ discard block |
||
| 1176 | 1176 | * @return string |
| 1177 | 1177 | */ |
| 1178 | 1178 | public function get_status_label() { |
| 1179 | - return getpaid_get_subscription_status_label( $this->get_status() ); |
|
| 1179 | + return getpaid_get_subscription_status_label($this->get_status()); |
|
| 1180 | 1180 | } |
| 1181 | 1181 | |
| 1182 | 1182 | /** |
@@ -1187,7 +1187,7 @@ discard block |
||
| 1187 | 1187 | */ |
| 1188 | 1188 | public function get_status_class() { |
| 1189 | 1189 | $statuses = getpaid_get_subscription_status_classes(); |
| 1190 | - return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark'; |
|
| 1190 | + return isset($statuses[$this->get_status()]) ? $statuses[$this->get_status()] : 'bg-dark'; |
|
| 1191 | 1191 | } |
| 1192 | 1192 | |
| 1193 | 1193 | /** |
@@ -1198,9 +1198,9 @@ discard block |
||
| 1198 | 1198 | */ |
| 1199 | 1199 | public function get_status_label_html() { |
| 1200 | 1200 | |
| 1201 | - $status_label = sanitize_text_field( $this->get_status_label() ); |
|
| 1202 | - $class = esc_attr( $this->get_status_class() ); |
|
| 1203 | - $status = sanitize_html_class( $this->get_status() ); |
|
| 1201 | + $status_label = sanitize_text_field($this->get_status_label()); |
|
| 1202 | + $class = esc_attr($this->get_status_class()); |
|
| 1203 | + $status = sanitize_html_class($this->get_status()); |
|
| 1204 | 1204 | |
| 1205 | 1205 | return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>"; |
| 1206 | 1206 | } |
@@ -1212,9 +1212,9 @@ discard block |
||
| 1212 | 1212 | * @param string $txn_id The transaction ID from the merchant processor |
| 1213 | 1213 | * @return bool |
| 1214 | 1214 | */ |
| 1215 | - public function payment_exists( $txn_id = '' ) { |
|
| 1216 | - $invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' ); |
|
| 1217 | - return ! empty( $invoice_id ); |
|
| 1215 | + public function payment_exists($txn_id = '') { |
|
| 1216 | + $invoice_id = WPInv_Invoice::get_invoice_id_by_field($txn_id, 'transaction_id'); |
|
| 1217 | + return !empty($invoice_id); |
|
| 1218 | 1218 | } |
| 1219 | 1219 | |
| 1220 | 1220 | /** |
@@ -1226,35 +1226,35 @@ discard block |
||
| 1226 | 1226 | // Reset status transition variable. |
| 1227 | 1227 | $this->status_transition = false; |
| 1228 | 1228 | |
| 1229 | - if ( $status_transition ) { |
|
| 1229 | + if ($status_transition) { |
|
| 1230 | 1230 | try { |
| 1231 | 1231 | |
| 1232 | 1232 | // Fire a hook for the status change. |
| 1233 | - do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition ); |
|
| 1234 | - do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition ); |
|
| 1233 | + do_action('wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition); |
|
| 1234 | + do_action('getpaid_subscription_' . $status_transition['to'], $this, $status_transition); |
|
| 1235 | 1235 | |
| 1236 | - if ( ! empty( $status_transition['from'] ) ) { |
|
| 1236 | + if (!empty($status_transition['from'])) { |
|
| 1237 | 1237 | |
| 1238 | 1238 | /* translators: 1: old subscription status 2: new subscription status */ |
| 1239 | - $transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) ); |
|
| 1239 | + $transition_note = sprintf(__('Subscription status changed from %1$s to %2$s.', 'invoicing'), getpaid_get_subscription_status_label($status_transition['from']), getpaid_get_subscription_status_label($status_transition['to'])); |
|
| 1240 | 1240 | |
| 1241 | 1241 | // Note the transition occurred. |
| 1242 | - $this->get_parent_payment()->add_note( $transition_note, false, false, true ); |
|
| 1242 | + $this->get_parent_payment()->add_note($transition_note, false, false, true); |
|
| 1243 | 1243 | |
| 1244 | 1244 | // Fire another hook. |
| 1245 | - do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this ); |
|
| 1246 | - do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] ); |
|
| 1245 | + do_action('getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this); |
|
| 1246 | + do_action('getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to']); |
|
| 1247 | 1247 | |
| 1248 | 1248 | } else { |
| 1249 | 1249 | /* translators: %s: new invoice status */ |
| 1250 | - $transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) ); |
|
| 1250 | + $transition_note = sprintf(__('Subscription status set to %s.', 'invoicing'), getpaid_get_subscription_status_label($status_transition['to'])); |
|
| 1251 | 1251 | |
| 1252 | 1252 | // Note the transition occurred. |
| 1253 | - $this->get_parent_payment()->add_note( $transition_note, false, false, true ); |
|
| 1253 | + $this->get_parent_payment()->add_note($transition_note, false, false, true); |
|
| 1254 | 1254 | |
| 1255 | 1255 | } |
| 1256 | - } catch ( Exception $e ) { |
|
| 1257 | - $this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() ); |
|
| 1256 | + } catch (Exception $e) { |
|
| 1257 | + $this->get_parent_payment()->add_note(__('Error during subscription status transition.', 'invoicing') . ' ' . $e->getMessage()); |
|
| 1258 | 1258 | } |
| 1259 | 1259 | } |
| 1260 | 1260 | |
@@ -1280,7 +1280,7 @@ discard block |
||
| 1280 | 1280 | */ |
| 1281 | 1281 | public function activate() { |
| 1282 | 1282 | $status = $this->has_trial_period() && 'trialling' === $this->get_status() ? 'trialling' : 'active'; |
| 1283 | - $this->set_status( $status ); |
|
| 1283 | + $this->set_status($status); |
|
| 1284 | 1284 | return $this->save(); |
| 1285 | 1285 | } |
| 1286 | 1286 | |
@@ -5,7 +5,7 @@ discard block |
||
| 5 | 5 | * |
| 6 | 6 | */ |
| 7 | 7 | if ( ! defined( 'ABSPATH' ) ) { |
| 8 | - exit; |
|
| 8 | + exit; |
|
| 9 | 9 | } |
| 10 | 10 | |
| 11 | 11 | /** |
@@ -15,196 +15,196 @@ discard block |
||
| 15 | 15 | */ |
| 16 | 16 | class GetPaid_Customer_Data_Store { |
| 17 | 17 | |
| 18 | - /* |
|
| 18 | + /* |
|
| 19 | 19 | |-------------------------------------------------------------------------- |
| 20 | 20 | | CRUD Methods |
| 21 | 21 | |-------------------------------------------------------------------------- |
| 22 | 22 | */ |
| 23 | 23 | |
| 24 | - /** |
|
| 25 | - * Method to create a new customer in the database. |
|
| 26 | - * |
|
| 27 | - * @param GetPaid_Customer $customer customer object. |
|
| 28 | - */ |
|
| 29 | - public function create( &$customer ) { |
|
| 30 | - global $wpdb; |
|
| 31 | - |
|
| 32 | - $values = array(); |
|
| 33 | - $formats = array(); |
|
| 34 | - |
|
| 35 | - $fields = self::get_database_fields(); |
|
| 36 | - unset( $fields['id'] ); |
|
| 37 | - |
|
| 38 | - foreach ( $fields as $key => $format ) { |
|
| 39 | - $values[ $key ] = $customer->get( $key, 'edit' ); |
|
| 40 | - $formats[] = $format; |
|
| 41 | - } |
|
| 42 | - |
|
| 43 | - $result = $wpdb->insert( $wpdb->prefix . 'getpaid_customers', $values, $formats ); |
|
| 44 | - |
|
| 45 | - if ( $result ) { |
|
| 46 | - $customer->set_id( $wpdb->insert_id ); |
|
| 47 | - $customer->apply_changes(); |
|
| 48 | - $customer->clear_cache(); |
|
| 49 | - do_action( 'getpaid_new_customer', $customer ); |
|
| 50 | - return true; |
|
| 51 | - } |
|
| 52 | - |
|
| 53 | - return false; |
|
| 54 | - } |
|
| 55 | - |
|
| 56 | - /** |
|
| 57 | - * Method to read a customer from the database. |
|
| 58 | - * |
|
| 59 | - * @param GetPaid_Customer $customer customer object. |
|
| 60 | - * |
|
| 61 | - */ |
|
| 62 | - public function read( &$customer ) { |
|
| 63 | - global $wpdb; |
|
| 64 | - |
|
| 65 | - $customer->set_defaults(); |
|
| 66 | - |
|
| 67 | - if ( ! $customer->get_id() ) { |
|
| 68 | - $customer->last_error = 'Invalid customer.'; |
|
| 69 | - $customer->set_id( 0 ); |
|
| 70 | - return false; |
|
| 71 | - } |
|
| 72 | - |
|
| 73 | - // Maybe retrieve from the cache. |
|
| 74 | - $raw_customer = wp_cache_get( $customer->get_id(), 'getpaid_customers' ); |
|
| 75 | - |
|
| 76 | - // If not found, retrieve from the db. |
|
| 77 | - if ( false === $raw_customer ) { |
|
| 78 | - |
|
| 79 | - $raw_customer = $wpdb->get_row( |
|
| 80 | - $wpdb->prepare( |
|
| 81 | - "SELECT * FROM {$wpdb->prefix}getpaid_customers WHERE id = %d", |
|
| 82 | - $customer->get_id() |
|
| 83 | - ) |
|
| 84 | - ); |
|
| 85 | - |
|
| 86 | - // Update the cache with our data |
|
| 87 | - wp_cache_set( $customer->get_id(), $raw_customer, 'getpaid_customers' ); |
|
| 88 | - |
|
| 89 | - } |
|
| 90 | - |
|
| 91 | - if ( ! $raw_customer ) { |
|
| 92 | - $raw_customer->last_error = 'Invalid customer.'; |
|
| 93 | - return false; |
|
| 94 | - } |
|
| 95 | - |
|
| 96 | - // Loop through raw customer fields. |
|
| 97 | - foreach ( (array) $raw_customer as $key => $value ) { |
|
| 98 | - $customer->set( $key, $value ); |
|
| 99 | - } |
|
| 100 | - |
|
| 101 | - $customer->set_object_read( true ); |
|
| 102 | - do_action( 'getpaid_read_customer', $customer ); |
|
| 103 | - |
|
| 104 | - } |
|
| 105 | - |
|
| 106 | - /** |
|
| 107 | - * Method to update a customer in the database. |
|
| 108 | - * |
|
| 109 | - * @param GetPaid_Customer $customer Customer object. |
|
| 110 | - */ |
|
| 111 | - public function update( &$customer ) { |
|
| 112 | - global $wpdb; |
|
| 113 | - |
|
| 114 | - do_action( 'getpaid_before_update_customer', $customer, $customer->get_changes() ); |
|
| 115 | - |
|
| 116 | - $changes = $customer->get_changes(); |
|
| 117 | - $values = array(); |
|
| 118 | - $format = array(); |
|
| 119 | - |
|
| 120 | - foreach ( self::get_database_fields() as $key => $format ) { |
|
| 121 | - if ( array_key_exists( $key, $changes ) ) { |
|
| 122 | - $values[ $key ] = $customer->get( $key, 'edit' ); |
|
| 123 | - $formats[] = $format; |
|
| 124 | - } |
|
| 125 | - } |
|
| 126 | - |
|
| 127 | - if ( empty( $values ) ) { |
|
| 128 | - return; |
|
| 129 | - } |
|
| 130 | - |
|
| 131 | - $wpdb->update( |
|
| 132 | - $wpdb->prefix . 'getpaid_customers', |
|
| 133 | - $values, |
|
| 134 | - array( |
|
| 135 | - 'id' => $customer->get_id(), |
|
| 136 | - ), |
|
| 137 | - $formats, |
|
| 138 | - '%d' |
|
| 139 | - ); |
|
| 140 | - |
|
| 141 | - // Apply the changes. |
|
| 142 | - $customer->apply_changes(); |
|
| 143 | - |
|
| 144 | - // Delete cache. |
|
| 145 | - $customer->clear_cache(); |
|
| 146 | - |
|
| 147 | - // Fire a hook. |
|
| 148 | - do_action( 'getpaid_update_customer', $customer ); |
|
| 149 | - |
|
| 150 | - } |
|
| 151 | - |
|
| 152 | - /** |
|
| 153 | - * Method to delete a customer from the database. |
|
| 154 | - * |
|
| 155 | - * @param GetPaid_Customer $customer |
|
| 156 | - */ |
|
| 157 | - public function delete( &$customer ) { |
|
| 158 | - global $wpdb; |
|
| 159 | - |
|
| 160 | - do_action( 'getpaid_before_delete_customer', $customer ); |
|
| 161 | - |
|
| 162 | - $wpdb->delete( |
|
| 163 | - $wpdb->prefix . 'getpaid_customers', |
|
| 164 | - array( |
|
| 165 | - 'id' => $customer->get_id(), |
|
| 166 | - ), |
|
| 167 | - '%d' |
|
| 168 | - ); |
|
| 169 | - |
|
| 170 | - // Delete cache. |
|
| 171 | - $customer->clear_cache(); |
|
| 172 | - |
|
| 173 | - // Fire a hook. |
|
| 174 | - do_action( 'getpaid_delete_customer', $customer ); |
|
| 175 | - |
|
| 176 | - $customer->set_id( 0 ); |
|
| 177 | - } |
|
| 178 | - |
|
| 179 | - /* |
|
| 24 | + /** |
|
| 25 | + * Method to create a new customer in the database. |
|
| 26 | + * |
|
| 27 | + * @param GetPaid_Customer $customer customer object. |
|
| 28 | + */ |
|
| 29 | + public function create( &$customer ) { |
|
| 30 | + global $wpdb; |
|
| 31 | + |
|
| 32 | + $values = array(); |
|
| 33 | + $formats = array(); |
|
| 34 | + |
|
| 35 | + $fields = self::get_database_fields(); |
|
| 36 | + unset( $fields['id'] ); |
|
| 37 | + |
|
| 38 | + foreach ( $fields as $key => $format ) { |
|
| 39 | + $values[ $key ] = $customer->get( $key, 'edit' ); |
|
| 40 | + $formats[] = $format; |
|
| 41 | + } |
|
| 42 | + |
|
| 43 | + $result = $wpdb->insert( $wpdb->prefix . 'getpaid_customers', $values, $formats ); |
|
| 44 | + |
|
| 45 | + if ( $result ) { |
|
| 46 | + $customer->set_id( $wpdb->insert_id ); |
|
| 47 | + $customer->apply_changes(); |
|
| 48 | + $customer->clear_cache(); |
|
| 49 | + do_action( 'getpaid_new_customer', $customer ); |
|
| 50 | + return true; |
|
| 51 | + } |
|
| 52 | + |
|
| 53 | + return false; |
|
| 54 | + } |
|
| 55 | + |
|
| 56 | + /** |
|
| 57 | + * Method to read a customer from the database. |
|
| 58 | + * |
|
| 59 | + * @param GetPaid_Customer $customer customer object. |
|
| 60 | + * |
|
| 61 | + */ |
|
| 62 | + public function read( &$customer ) { |
|
| 63 | + global $wpdb; |
|
| 64 | + |
|
| 65 | + $customer->set_defaults(); |
|
| 66 | + |
|
| 67 | + if ( ! $customer->get_id() ) { |
|
| 68 | + $customer->last_error = 'Invalid customer.'; |
|
| 69 | + $customer->set_id( 0 ); |
|
| 70 | + return false; |
|
| 71 | + } |
|
| 72 | + |
|
| 73 | + // Maybe retrieve from the cache. |
|
| 74 | + $raw_customer = wp_cache_get( $customer->get_id(), 'getpaid_customers' ); |
|
| 75 | + |
|
| 76 | + // If not found, retrieve from the db. |
|
| 77 | + if ( false === $raw_customer ) { |
|
| 78 | + |
|
| 79 | + $raw_customer = $wpdb->get_row( |
|
| 80 | + $wpdb->prepare( |
|
| 81 | + "SELECT * FROM {$wpdb->prefix}getpaid_customers WHERE id = %d", |
|
| 82 | + $customer->get_id() |
|
| 83 | + ) |
|
| 84 | + ); |
|
| 85 | + |
|
| 86 | + // Update the cache with our data |
|
| 87 | + wp_cache_set( $customer->get_id(), $raw_customer, 'getpaid_customers' ); |
|
| 88 | + |
|
| 89 | + } |
|
| 90 | + |
|
| 91 | + if ( ! $raw_customer ) { |
|
| 92 | + $raw_customer->last_error = 'Invalid customer.'; |
|
| 93 | + return false; |
|
| 94 | + } |
|
| 95 | + |
|
| 96 | + // Loop through raw customer fields. |
|
| 97 | + foreach ( (array) $raw_customer as $key => $value ) { |
|
| 98 | + $customer->set( $key, $value ); |
|
| 99 | + } |
|
| 100 | + |
|
| 101 | + $customer->set_object_read( true ); |
|
| 102 | + do_action( 'getpaid_read_customer', $customer ); |
|
| 103 | + |
|
| 104 | + } |
|
| 105 | + |
|
| 106 | + /** |
|
| 107 | + * Method to update a customer in the database. |
|
| 108 | + * |
|
| 109 | + * @param GetPaid_Customer $customer Customer object. |
|
| 110 | + */ |
|
| 111 | + public function update( &$customer ) { |
|
| 112 | + global $wpdb; |
|
| 113 | + |
|
| 114 | + do_action( 'getpaid_before_update_customer', $customer, $customer->get_changes() ); |
|
| 115 | + |
|
| 116 | + $changes = $customer->get_changes(); |
|
| 117 | + $values = array(); |
|
| 118 | + $format = array(); |
|
| 119 | + |
|
| 120 | + foreach ( self::get_database_fields() as $key => $format ) { |
|
| 121 | + if ( array_key_exists( $key, $changes ) ) { |
|
| 122 | + $values[ $key ] = $customer->get( $key, 'edit' ); |
|
| 123 | + $formats[] = $format; |
|
| 124 | + } |
|
| 125 | + } |
|
| 126 | + |
|
| 127 | + if ( empty( $values ) ) { |
|
| 128 | + return; |
|
| 129 | + } |
|
| 130 | + |
|
| 131 | + $wpdb->update( |
|
| 132 | + $wpdb->prefix . 'getpaid_customers', |
|
| 133 | + $values, |
|
| 134 | + array( |
|
| 135 | + 'id' => $customer->get_id(), |
|
| 136 | + ), |
|
| 137 | + $formats, |
|
| 138 | + '%d' |
|
| 139 | + ); |
|
| 140 | + |
|
| 141 | + // Apply the changes. |
|
| 142 | + $customer->apply_changes(); |
|
| 143 | + |
|
| 144 | + // Delete cache. |
|
| 145 | + $customer->clear_cache(); |
|
| 146 | + |
|
| 147 | + // Fire a hook. |
|
| 148 | + do_action( 'getpaid_update_customer', $customer ); |
|
| 149 | + |
|
| 150 | + } |
|
| 151 | + |
|
| 152 | + /** |
|
| 153 | + * Method to delete a customer from the database. |
|
| 154 | + * |
|
| 155 | + * @param GetPaid_Customer $customer |
|
| 156 | + */ |
|
| 157 | + public function delete( &$customer ) { |
|
| 158 | + global $wpdb; |
|
| 159 | + |
|
| 160 | + do_action( 'getpaid_before_delete_customer', $customer ); |
|
| 161 | + |
|
| 162 | + $wpdb->delete( |
|
| 163 | + $wpdb->prefix . 'getpaid_customers', |
|
| 164 | + array( |
|
| 165 | + 'id' => $customer->get_id(), |
|
| 166 | + ), |
|
| 167 | + '%d' |
|
| 168 | + ); |
|
| 169 | + |
|
| 170 | + // Delete cache. |
|
| 171 | + $customer->clear_cache(); |
|
| 172 | + |
|
| 173 | + // Fire a hook. |
|
| 174 | + do_action( 'getpaid_delete_customer', $customer ); |
|
| 175 | + |
|
| 176 | + $customer->set_id( 0 ); |
|
| 177 | + } |
|
| 178 | + |
|
| 179 | + /* |
|
| 180 | 180 | |-------------------------------------------------------------------------- |
| 181 | 181 | | Additional Methods |
| 182 | 182 | |-------------------------------------------------------------------------- |
| 183 | 183 | */ |
| 184 | - public static function get_database_fields() { |
|
| 185 | - |
|
| 186 | - $fields = array( |
|
| 187 | - 'id' => '%d', |
|
| 188 | - 'user_id' => '%d', |
|
| 189 | - 'email' => '%s', |
|
| 190 | - 'email_cc' => '%s', |
|
| 191 | - 'status' => '%s', |
|
| 192 | - 'purchase_value' => '%f', |
|
| 193 | - 'purchase_count' => '%d', |
|
| 194 | - 'date_created' => '%s', |
|
| 195 | - 'date_modified' => '%s', |
|
| 196 | - 'uuid' => '%s', |
|
| 197 | - ); |
|
| 198 | - |
|
| 199 | - // Add address fields. |
|
| 200 | - foreach ( array_keys( getpaid_user_address_fields() ) as $field ) { |
|
| 201 | - |
|
| 202 | - // Skip id, user_id and email. |
|
| 203 | - if ( ! in_array( $field, array( 'id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid' ), true ) ) { |
|
| 204 | - $fields[ $field ] = '%s'; |
|
| 205 | - } |
|
| 206 | - } |
|
| 207 | - |
|
| 208 | - return $fields; |
|
| 209 | - } |
|
| 184 | + public static function get_database_fields() { |
|
| 185 | + |
|
| 186 | + $fields = array( |
|
| 187 | + 'id' => '%d', |
|
| 188 | + 'user_id' => '%d', |
|
| 189 | + 'email' => '%s', |
|
| 190 | + 'email_cc' => '%s', |
|
| 191 | + 'status' => '%s', |
|
| 192 | + 'purchase_value' => '%f', |
|
| 193 | + 'purchase_count' => '%d', |
|
| 194 | + 'date_created' => '%s', |
|
| 195 | + 'date_modified' => '%s', |
|
| 196 | + 'uuid' => '%s', |
|
| 197 | + ); |
|
| 198 | + |
|
| 199 | + // Add address fields. |
|
| 200 | + foreach ( array_keys( getpaid_user_address_fields() ) as $field ) { |
|
| 201 | + |
|
| 202 | + // Skip id, user_id and email. |
|
| 203 | + if ( ! in_array( $field, array( 'id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid' ), true ) ) { |
|
| 204 | + $fields[ $field ] = '%s'; |
|
| 205 | + } |
|
| 206 | + } |
|
| 207 | + |
|
| 208 | + return $fields; |
|
| 209 | + } |
|
| 210 | 210 | } |
@@ -4,7 +4,7 @@ discard block |
||
| 4 | 4 | * GetPaid_Customer_Data_Store class file. |
| 5 | 5 | * |
| 6 | 6 | */ |
| 7 | -if ( ! defined( 'ABSPATH' ) ) { |
|
| 7 | +if (!defined('ABSPATH')) { |
|
| 8 | 8 | exit; |
| 9 | 9 | } |
| 10 | 10 | |
@@ -26,27 +26,27 @@ discard block |
||
| 26 | 26 | * |
| 27 | 27 | * @param GetPaid_Customer $customer customer object. |
| 28 | 28 | */ |
| 29 | - public function create( &$customer ) { |
|
| 29 | + public function create(&$customer) { |
|
| 30 | 30 | global $wpdb; |
| 31 | 31 | |
| 32 | 32 | $values = array(); |
| 33 | 33 | $formats = array(); |
| 34 | 34 | |
| 35 | 35 | $fields = self::get_database_fields(); |
| 36 | - unset( $fields['id'] ); |
|
| 36 | + unset($fields['id']); |
|
| 37 | 37 | |
| 38 | - foreach ( $fields as $key => $format ) { |
|
| 39 | - $values[ $key ] = $customer->get( $key, 'edit' ); |
|
| 38 | + foreach ($fields as $key => $format) { |
|
| 39 | + $values[$key] = $customer->get($key, 'edit'); |
|
| 40 | 40 | $formats[] = $format; |
| 41 | 41 | } |
| 42 | 42 | |
| 43 | - $result = $wpdb->insert( $wpdb->prefix . 'getpaid_customers', $values, $formats ); |
|
| 43 | + $result = $wpdb->insert($wpdb->prefix . 'getpaid_customers', $values, $formats); |
|
| 44 | 44 | |
| 45 | - if ( $result ) { |
|
| 46 | - $customer->set_id( $wpdb->insert_id ); |
|
| 45 | + if ($result) { |
|
| 46 | + $customer->set_id($wpdb->insert_id); |
|
| 47 | 47 | $customer->apply_changes(); |
| 48 | 48 | $customer->clear_cache(); |
| 49 | - do_action( 'getpaid_new_customer', $customer ); |
|
| 49 | + do_action('getpaid_new_customer', $customer); |
|
| 50 | 50 | return true; |
| 51 | 51 | } |
| 52 | 52 | |
@@ -59,22 +59,22 @@ discard block |
||
| 59 | 59 | * @param GetPaid_Customer $customer customer object. |
| 60 | 60 | * |
| 61 | 61 | */ |
| 62 | - public function read( &$customer ) { |
|
| 62 | + public function read(&$customer) { |
|
| 63 | 63 | global $wpdb; |
| 64 | 64 | |
| 65 | 65 | $customer->set_defaults(); |
| 66 | 66 | |
| 67 | - if ( ! $customer->get_id() ) { |
|
| 67 | + if (!$customer->get_id()) { |
|
| 68 | 68 | $customer->last_error = 'Invalid customer.'; |
| 69 | - $customer->set_id( 0 ); |
|
| 69 | + $customer->set_id(0); |
|
| 70 | 70 | return false; |
| 71 | 71 | } |
| 72 | 72 | |
| 73 | 73 | // Maybe retrieve from the cache. |
| 74 | - $raw_customer = wp_cache_get( $customer->get_id(), 'getpaid_customers' ); |
|
| 74 | + $raw_customer = wp_cache_get($customer->get_id(), 'getpaid_customers'); |
|
| 75 | 75 | |
| 76 | 76 | // If not found, retrieve from the db. |
| 77 | - if ( false === $raw_customer ) { |
|
| 77 | + if (false === $raw_customer) { |
|
| 78 | 78 | |
| 79 | 79 | $raw_customer = $wpdb->get_row( |
| 80 | 80 | $wpdb->prepare( |
@@ -84,22 +84,22 @@ discard block |
||
| 84 | 84 | ); |
| 85 | 85 | |
| 86 | 86 | // Update the cache with our data |
| 87 | - wp_cache_set( $customer->get_id(), $raw_customer, 'getpaid_customers' ); |
|
| 87 | + wp_cache_set($customer->get_id(), $raw_customer, 'getpaid_customers'); |
|
| 88 | 88 | |
| 89 | 89 | } |
| 90 | 90 | |
| 91 | - if ( ! $raw_customer ) { |
|
| 91 | + if (!$raw_customer) { |
|
| 92 | 92 | $raw_customer->last_error = 'Invalid customer.'; |
| 93 | 93 | return false; |
| 94 | 94 | } |
| 95 | 95 | |
| 96 | 96 | // Loop through raw customer fields. |
| 97 | - foreach ( (array) $raw_customer as $key => $value ) { |
|
| 98 | - $customer->set( $key, $value ); |
|
| 97 | + foreach ((array) $raw_customer as $key => $value) { |
|
| 98 | + $customer->set($key, $value); |
|
| 99 | 99 | } |
| 100 | 100 | |
| 101 | - $customer->set_object_read( true ); |
|
| 102 | - do_action( 'getpaid_read_customer', $customer ); |
|
| 101 | + $customer->set_object_read(true); |
|
| 102 | + do_action('getpaid_read_customer', $customer); |
|
| 103 | 103 | |
| 104 | 104 | } |
| 105 | 105 | |
@@ -108,23 +108,23 @@ discard block |
||
| 108 | 108 | * |
| 109 | 109 | * @param GetPaid_Customer $customer Customer object. |
| 110 | 110 | */ |
| 111 | - public function update( &$customer ) { |
|
| 111 | + public function update(&$customer) { |
|
| 112 | 112 | global $wpdb; |
| 113 | 113 | |
| 114 | - do_action( 'getpaid_before_update_customer', $customer, $customer->get_changes() ); |
|
| 114 | + do_action('getpaid_before_update_customer', $customer, $customer->get_changes()); |
|
| 115 | 115 | |
| 116 | 116 | $changes = $customer->get_changes(); |
| 117 | 117 | $values = array(); |
| 118 | 118 | $format = array(); |
| 119 | 119 | |
| 120 | - foreach ( self::get_database_fields() as $key => $format ) { |
|
| 121 | - if ( array_key_exists( $key, $changes ) ) { |
|
| 122 | - $values[ $key ] = $customer->get( $key, 'edit' ); |
|
| 120 | + foreach (self::get_database_fields() as $key => $format) { |
|
| 121 | + if (array_key_exists($key, $changes)) { |
|
| 122 | + $values[$key] = $customer->get($key, 'edit'); |
|
| 123 | 123 | $formats[] = $format; |
| 124 | 124 | } |
| 125 | 125 | } |
| 126 | 126 | |
| 127 | - if ( empty( $values ) ) { |
|
| 127 | + if (empty($values)) { |
|
| 128 | 128 | return; |
| 129 | 129 | } |
| 130 | 130 | |
@@ -145,7 +145,7 @@ discard block |
||
| 145 | 145 | $customer->clear_cache(); |
| 146 | 146 | |
| 147 | 147 | // Fire a hook. |
| 148 | - do_action( 'getpaid_update_customer', $customer ); |
|
| 148 | + do_action('getpaid_update_customer', $customer); |
|
| 149 | 149 | |
| 150 | 150 | } |
| 151 | 151 | |
@@ -154,10 +154,10 @@ discard block |
||
| 154 | 154 | * |
| 155 | 155 | * @param GetPaid_Customer $customer |
| 156 | 156 | */ |
| 157 | - public function delete( &$customer ) { |
|
| 157 | + public function delete(&$customer) { |
|
| 158 | 158 | global $wpdb; |
| 159 | 159 | |
| 160 | - do_action( 'getpaid_before_delete_customer', $customer ); |
|
| 160 | + do_action('getpaid_before_delete_customer', $customer); |
|
| 161 | 161 | |
| 162 | 162 | $wpdb->delete( |
| 163 | 163 | $wpdb->prefix . 'getpaid_customers', |
@@ -171,9 +171,9 @@ discard block |
||
| 171 | 171 | $customer->clear_cache(); |
| 172 | 172 | |
| 173 | 173 | // Fire a hook. |
| 174 | - do_action( 'getpaid_delete_customer', $customer ); |
|
| 174 | + do_action('getpaid_delete_customer', $customer); |
|
| 175 | 175 | |
| 176 | - $customer->set_id( 0 ); |
|
| 176 | + $customer->set_id(0); |
|
| 177 | 177 | } |
| 178 | 178 | |
| 179 | 179 | /* |
@@ -197,11 +197,11 @@ discard block |
||
| 197 | 197 | ); |
| 198 | 198 | |
| 199 | 199 | // Add address fields. |
| 200 | - foreach ( array_keys( getpaid_user_address_fields() ) as $field ) { |
|
| 200 | + foreach (array_keys(getpaid_user_address_fields()) as $field) { |
|
| 201 | 201 | |
| 202 | 202 | // Skip id, user_id and email. |
| 203 | - if ( ! in_array( $field, array( 'id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid' ), true ) ) { |
|
| 204 | - $fields[ $field ] = '%s'; |
|
| 203 | + if (!in_array($field, array('id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid'), true)) { |
|
| 204 | + $fields[$field] = '%s'; |
|
| 205 | 205 | } |
| 206 | 206 | } |
| 207 | 207 | |
@@ -14,652 +14,652 @@ |
||
| 14 | 14 | */ |
| 15 | 15 | class WPInv_Plugin { |
| 16 | 16 | |
| 17 | - /** |
|
| 18 | - * GetPaid version. |
|
| 19 | - * |
|
| 20 | - * @var string |
|
| 21 | - */ |
|
| 22 | - public $version; |
|
| 23 | - |
|
| 24 | - /** |
|
| 25 | - * Data container. |
|
| 26 | - * |
|
| 27 | - * @var array |
|
| 28 | - */ |
|
| 29 | - protected $data = array(); |
|
| 30 | - |
|
| 31 | - /** |
|
| 32 | - * Form elements instance. |
|
| 33 | - * |
|
| 34 | - * @var WPInv_Payment_Form_Elements |
|
| 35 | - */ |
|
| 36 | - public $form_elements; |
|
| 37 | - |
|
| 38 | - /** |
|
| 39 | - * @var array An array of payment gateways. |
|
| 40 | - */ |
|
| 41 | - public $gateways; |
|
| 42 | - |
|
| 43 | - /** |
|
| 44 | - * Class constructor. |
|
| 45 | - */ |
|
| 46 | - public function __construct() { |
|
| 47 | - $this->define_constants(); |
|
| 48 | - $this->includes(); |
|
| 49 | - $this->init_hooks(); |
|
| 50 | - $this->set_properties(); |
|
| 51 | - } |
|
| 52 | - |
|
| 53 | - /** |
|
| 54 | - * Sets a custom data property. |
|
| 55 | - * |
|
| 56 | - * @param string $prop The prop to set. |
|
| 57 | - * @param mixed $value The value to retrieve. |
|
| 58 | - */ |
|
| 59 | - public function set( $prop, $value ) { |
|
| 60 | - $this->data[ $prop ] = $value; |
|
| 61 | - } |
|
| 62 | - |
|
| 63 | - /** |
|
| 64 | - * Gets a custom data property. |
|
| 65 | - * |
|
| 66 | - * @param string $prop The prop to set. |
|
| 67 | - * @return mixed The value. |
|
| 68 | - */ |
|
| 69 | - public function get( $prop ) { |
|
| 70 | - |
|
| 71 | - if ( isset( $this->data[ $prop ] ) ) { |
|
| 72 | - return $this->data[ $prop ]; |
|
| 73 | - } |
|
| 74 | - |
|
| 75 | - return null; |
|
| 76 | - } |
|
| 77 | - |
|
| 78 | - /** |
|
| 79 | - * Define class properties. |
|
| 80 | - */ |
|
| 81 | - public function set_properties() { |
|
| 82 | - |
|
| 83 | - // Sessions. |
|
| 84 | - $this->set( 'session', new WPInv_Session_Handler() ); |
|
| 85 | - $GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility. |
|
| 86 | - $GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility. |
|
| 87 | - |
|
| 88 | - // Init other objects. |
|
| 89 | - $this->set( 'notes', new WPInv_Notes() ); |
|
| 90 | - $this->set( 'api', new WPInv_API() ); |
|
| 91 | - $this->set( 'post_types', new GetPaid_Post_Types() ); |
|
| 92 | - $this->set( 'template', new GetPaid_Template() ); |
|
| 93 | - $this->set( 'admin', new GetPaid_Admin() ); |
|
| 94 | - $this->set( 'subscriptions', new WPInv_Subscriptions() ); |
|
| 95 | - $this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() ); |
|
| 96 | - $this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() ); |
|
| 97 | - $this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() ); |
|
| 98 | - $this->set( 'payment_forms', new GetPaid_Payment_Forms() ); |
|
| 99 | - $this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() ); |
|
| 100 | - |
|
| 101 | - } |
|
| 102 | - |
|
| 103 | - /** |
|
| 104 | - * Define plugin constants. |
|
| 105 | - */ |
|
| 106 | - public function define_constants() { |
|
| 107 | - define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) ); |
|
| 108 | - define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) ); |
|
| 109 | - $this->version = WPINV_VERSION; |
|
| 110 | - } |
|
| 111 | - |
|
| 112 | - /** |
|
| 113 | - * Hook into actions and filters. |
|
| 114 | - * |
|
| 115 | - * @since 1.0.19 |
|
| 116 | - */ |
|
| 117 | - protected function init_hooks() { |
|
| 118 | - /* Internationalize the text strings used. */ |
|
| 119 | - add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) ); |
|
| 120 | - |
|
| 121 | - // Init the plugin after WordPress inits. |
|
| 122 | - add_action( 'init', array( $this, 'init' ), 1 ); |
|
| 123 | - add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 ); |
|
| 124 | - add_action( 'init', array( $this, 'wpinv_actions' ) ); |
|
| 125 | - add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 ); |
|
| 126 | - add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 ); |
|
| 127 | - add_action( 'wp_footer', array( $this, 'wp_footer' ) ); |
|
| 128 | - add_action( 'wp_head', array( $this, 'wp_head' ) ); |
|
| 129 | - add_action( 'widgets_init', array( $this, 'register_widgets' ) ); |
|
| 130 | - add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) ); |
|
| 131 | - add_filter( 'the_seo_framework_sitemap_supported_post_types', array( $this, 'exclude_invoicing_post_types' ) ); |
|
| 132 | - add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) ); |
|
| 133 | - |
|
| 134 | - add_filter( 'query_vars', array( $this, 'custom_query_vars' ) ); |
|
| 17 | + /** |
|
| 18 | + * GetPaid version. |
|
| 19 | + * |
|
| 20 | + * @var string |
|
| 21 | + */ |
|
| 22 | + public $version; |
|
| 23 | + |
|
| 24 | + /** |
|
| 25 | + * Data container. |
|
| 26 | + * |
|
| 27 | + * @var array |
|
| 28 | + */ |
|
| 29 | + protected $data = array(); |
|
| 30 | + |
|
| 31 | + /** |
|
| 32 | + * Form elements instance. |
|
| 33 | + * |
|
| 34 | + * @var WPInv_Payment_Form_Elements |
|
| 35 | + */ |
|
| 36 | + public $form_elements; |
|
| 37 | + |
|
| 38 | + /** |
|
| 39 | + * @var array An array of payment gateways. |
|
| 40 | + */ |
|
| 41 | + public $gateways; |
|
| 42 | + |
|
| 43 | + /** |
|
| 44 | + * Class constructor. |
|
| 45 | + */ |
|
| 46 | + public function __construct() { |
|
| 47 | + $this->define_constants(); |
|
| 48 | + $this->includes(); |
|
| 49 | + $this->init_hooks(); |
|
| 50 | + $this->set_properties(); |
|
| 51 | + } |
|
| 52 | + |
|
| 53 | + /** |
|
| 54 | + * Sets a custom data property. |
|
| 55 | + * |
|
| 56 | + * @param string $prop The prop to set. |
|
| 57 | + * @param mixed $value The value to retrieve. |
|
| 58 | + */ |
|
| 59 | + public function set( $prop, $value ) { |
|
| 60 | + $this->data[ $prop ] = $value; |
|
| 61 | + } |
|
| 62 | + |
|
| 63 | + /** |
|
| 64 | + * Gets a custom data property. |
|
| 65 | + * |
|
| 66 | + * @param string $prop The prop to set. |
|
| 67 | + * @return mixed The value. |
|
| 68 | + */ |
|
| 69 | + public function get( $prop ) { |
|
| 70 | + |
|
| 71 | + if ( isset( $this->data[ $prop ] ) ) { |
|
| 72 | + return $this->data[ $prop ]; |
|
| 73 | + } |
|
| 74 | + |
|
| 75 | + return null; |
|
| 76 | + } |
|
| 77 | + |
|
| 78 | + /** |
|
| 79 | + * Define class properties. |
|
| 80 | + */ |
|
| 81 | + public function set_properties() { |
|
| 82 | + |
|
| 83 | + // Sessions. |
|
| 84 | + $this->set( 'session', new WPInv_Session_Handler() ); |
|
| 85 | + $GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility. |
|
| 86 | + $GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility. |
|
| 87 | + |
|
| 88 | + // Init other objects. |
|
| 89 | + $this->set( 'notes', new WPInv_Notes() ); |
|
| 90 | + $this->set( 'api', new WPInv_API() ); |
|
| 91 | + $this->set( 'post_types', new GetPaid_Post_Types() ); |
|
| 92 | + $this->set( 'template', new GetPaid_Template() ); |
|
| 93 | + $this->set( 'admin', new GetPaid_Admin() ); |
|
| 94 | + $this->set( 'subscriptions', new WPInv_Subscriptions() ); |
|
| 95 | + $this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() ); |
|
| 96 | + $this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() ); |
|
| 97 | + $this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() ); |
|
| 98 | + $this->set( 'payment_forms', new GetPaid_Payment_Forms() ); |
|
| 99 | + $this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() ); |
|
| 100 | + |
|
| 101 | + } |
|
| 102 | + |
|
| 103 | + /** |
|
| 104 | + * Define plugin constants. |
|
| 105 | + */ |
|
| 106 | + public function define_constants() { |
|
| 107 | + define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) ); |
|
| 108 | + define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) ); |
|
| 109 | + $this->version = WPINV_VERSION; |
|
| 110 | + } |
|
| 111 | + |
|
| 112 | + /** |
|
| 113 | + * Hook into actions and filters. |
|
| 114 | + * |
|
| 115 | + * @since 1.0.19 |
|
| 116 | + */ |
|
| 117 | + protected function init_hooks() { |
|
| 118 | + /* Internationalize the text strings used. */ |
|
| 119 | + add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) ); |
|
| 120 | + |
|
| 121 | + // Init the plugin after WordPress inits. |
|
| 122 | + add_action( 'init', array( $this, 'init' ), 1 ); |
|
| 123 | + add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 ); |
|
| 124 | + add_action( 'init', array( $this, 'wpinv_actions' ) ); |
|
| 125 | + add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 ); |
|
| 126 | + add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 ); |
|
| 127 | + add_action( 'wp_footer', array( $this, 'wp_footer' ) ); |
|
| 128 | + add_action( 'wp_head', array( $this, 'wp_head' ) ); |
|
| 129 | + add_action( 'widgets_init', array( $this, 'register_widgets' ) ); |
|
| 130 | + add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) ); |
|
| 131 | + add_filter( 'the_seo_framework_sitemap_supported_post_types', array( $this, 'exclude_invoicing_post_types' ) ); |
|
| 132 | + add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) ); |
|
| 133 | + |
|
| 134 | + add_filter( 'query_vars', array( $this, 'custom_query_vars' ) ); |
|
| 135 | 135 | add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 ); |
| 136 | - add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 ); |
|
| 137 | - |
|
| 138 | - // Fires after registering actions. |
|
| 139 | - do_action( 'wpinv_actions', $this ); |
|
| 140 | - do_action( 'getpaid_actions', $this ); |
|
| 141 | - |
|
| 142 | - } |
|
| 143 | - |
|
| 144 | - public function plugins_loaded() { |
|
| 145 | - /* Internationalize the text strings used. */ |
|
| 146 | - $this->load_textdomain(); |
|
| 147 | - |
|
| 148 | - do_action( 'wpinv_loaded' ); |
|
| 149 | - |
|
| 150 | - // Fix oxygen page builder conflict |
|
| 151 | - if ( function_exists( 'ct_css_output' ) ) { |
|
| 152 | - wpinv_oxygen_fix_conflict(); |
|
| 153 | - } |
|
| 154 | - } |
|
| 155 | - |
|
| 156 | - /** |
|
| 157 | - * Load Localisation files. |
|
| 158 | - * |
|
| 159 | - * Note: the first-loaded translation file overrides any following ones if the same translation is present. |
|
| 160 | - * |
|
| 161 | - * Locales found in: |
|
| 162 | - * - WP_LANG_DIR/plugins/invoicing-LOCALE.mo |
|
| 163 | - * - WP_PLUGIN_DIR/invoicing/languages/invoicing-LOCALE.mo |
|
| 164 | - * |
|
| 165 | - * @since 1.0.0 |
|
| 166 | - */ |
|
| 167 | - public function load_textdomain() { |
|
| 168 | - |
|
| 169 | - load_plugin_textdomain( |
|
| 170 | - 'invoicing', |
|
| 171 | - false, |
|
| 172 | - plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/' |
|
| 173 | - ); |
|
| 174 | - |
|
| 175 | - } |
|
| 176 | - |
|
| 177 | - /** |
|
| 178 | - * Include required core files used in admin and on the frontend. |
|
| 179 | - */ |
|
| 180 | - public function includes() { |
|
| 181 | - |
|
| 182 | - // Start with the settings. |
|
| 183 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php'; |
|
| 184 | - |
|
| 185 | - // Packages/libraries. |
|
| 186 | - require_once WPINV_PLUGIN_DIR . 'vendor/autoload.php'; |
|
| 187 | - require_once WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php'; |
|
| 188 | - |
|
| 189 | - // Load functions. |
|
| 190 | - require_once WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php'; |
|
| 191 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php'; |
|
| 192 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php'; |
|
| 193 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php'; |
|
| 194 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php'; |
|
| 195 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php'; |
|
| 196 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php'; |
|
| 197 | - require_once WPINV_PLUGIN_DIR . 'includes/invoice-functions.php'; |
|
| 198 | - require_once WPINV_PLUGIN_DIR . 'includes/subscription-functions.php'; |
|
| 199 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php'; |
|
| 200 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php'; |
|
| 201 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php'; |
|
| 202 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php'; |
|
| 203 | - require_once WPINV_PLUGIN_DIR . 'includes/user-functions.php'; |
|
| 204 | - require_once WPINV_PLUGIN_DIR . 'includes/error-functions.php'; |
|
| 205 | - |
|
| 206 | - // Register autoloader. |
|
| 207 | - try { |
|
| 208 | - spl_autoload_register( array( $this, 'autoload' ), true ); |
|
| 209 | - } catch ( Exception $e ) { |
|
| 210 | - wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true ); |
|
| 211 | - } |
|
| 212 | - |
|
| 213 | - require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php'; |
|
| 214 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php'; |
|
| 215 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php'; |
|
| 216 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php'; |
|
| 217 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php'; |
|
| 218 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php'; |
|
| 219 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php'; |
|
| 220 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php'; |
|
| 221 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php'; |
|
| 222 | - require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php'; |
|
| 223 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php'; |
|
| 224 | - require_once WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php'; |
|
| 225 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php'; |
|
| 226 | - require_once WPINV_PLUGIN_DIR . 'widgets/checkout.php'; |
|
| 227 | - require_once WPINV_PLUGIN_DIR . 'widgets/invoice-history.php'; |
|
| 228 | - require_once WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php'; |
|
| 229 | - require_once WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php'; |
|
| 230 | - require_once WPINV_PLUGIN_DIR . 'widgets/subscriptions.php'; |
|
| 231 | - require_once WPINV_PLUGIN_DIR . 'widgets/buy-item.php'; |
|
| 232 | - require_once WPINV_PLUGIN_DIR . 'widgets/getpaid.php'; |
|
| 233 | - require_once WPINV_PLUGIN_DIR . 'widgets/invoice.php'; |
|
| 234 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php'; |
|
| 235 | - |
|
| 236 | - if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) { |
|
| 237 | - GetPaid_Post_Types_Admin::init(); |
|
| 238 | - |
|
| 239 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php'; |
|
| 240 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php'; |
|
| 241 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php'; |
|
| 242 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php'; |
|
| 243 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php'; |
|
| 244 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php'; |
|
| 245 | - // load the user class only on the users.php page |
|
| 246 | - global $pagenow; |
|
| 247 | - if ( $pagenow == 'users.php' ) { |
|
| 248 | - new WPInv_Admin_Users(); |
|
| 249 | - } |
|
| 250 | - } |
|
| 251 | - |
|
| 252 | - // Register cli commands |
|
| 253 | - if ( defined( 'WP_CLI' ) && WP_CLI ) { |
|
| 254 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php'; |
|
| 255 | - WP_CLI::add_command( 'invoicing', 'WPInv_CLI' ); |
|
| 256 | - } |
|
| 257 | - |
|
| 258 | - } |
|
| 259 | - |
|
| 260 | - /** |
|
| 261 | - * Class autoloader |
|
| 262 | - * |
|
| 263 | - * @param string $class_name The name of the class to load. |
|
| 264 | - * @access public |
|
| 265 | - * @since 1.0.19 |
|
| 266 | - * @return void |
|
| 267 | - */ |
|
| 268 | - public function autoload( $class_name ) { |
|
| 269 | - |
|
| 270 | - // Normalize the class name... |
|
| 271 | - $class_name = strtolower( $class_name ); |
|
| 272 | - |
|
| 273 | - // ... and make sure it is our class. |
|
| 274 | - if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) { |
|
| 275 | - return; |
|
| 276 | - } |
|
| 277 | - |
|
| 278 | - // Next, prepare the file name from the class. |
|
| 279 | - $file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php'; |
|
| 280 | - |
|
| 281 | - // Base path of the classes. |
|
| 282 | - $plugin_path = untrailingslashit( WPINV_PLUGIN_DIR ); |
|
| 283 | - |
|
| 284 | - // And an array of possible locations in order of importance. |
|
| 285 | - $locations = array( |
|
| 286 | - "$plugin_path/includes", |
|
| 287 | - "$plugin_path/includes/data-stores", |
|
| 288 | - "$plugin_path/includes/gateways", |
|
| 289 | - "$plugin_path/includes/payments", |
|
| 290 | - "$plugin_path/includes/geolocation", |
|
| 291 | - "$plugin_path/includes/reports", |
|
| 292 | - "$plugin_path/includes/api", |
|
| 293 | - "$plugin_path/includes/admin", |
|
| 294 | - "$plugin_path/includes/admin/meta-boxes", |
|
| 295 | - ); |
|
| 296 | - |
|
| 297 | - foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) { |
|
| 298 | - |
|
| 299 | - if ( file_exists( trailingslashit( $location ) . $file_name ) ) { |
|
| 300 | - include trailingslashit( $location ) . $file_name; |
|
| 301 | - break; |
|
| 302 | - } |
|
| 136 | + add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 ); |
|
| 137 | + |
|
| 138 | + // Fires after registering actions. |
|
| 139 | + do_action( 'wpinv_actions', $this ); |
|
| 140 | + do_action( 'getpaid_actions', $this ); |
|
| 141 | + |
|
| 142 | + } |
|
| 143 | + |
|
| 144 | + public function plugins_loaded() { |
|
| 145 | + /* Internationalize the text strings used. */ |
|
| 146 | + $this->load_textdomain(); |
|
| 147 | + |
|
| 148 | + do_action( 'wpinv_loaded' ); |
|
| 149 | + |
|
| 150 | + // Fix oxygen page builder conflict |
|
| 151 | + if ( function_exists( 'ct_css_output' ) ) { |
|
| 152 | + wpinv_oxygen_fix_conflict(); |
|
| 153 | + } |
|
| 154 | + } |
|
| 155 | + |
|
| 156 | + /** |
|
| 157 | + * Load Localisation files. |
|
| 158 | + * |
|
| 159 | + * Note: the first-loaded translation file overrides any following ones if the same translation is present. |
|
| 160 | + * |
|
| 161 | + * Locales found in: |
|
| 162 | + * - WP_LANG_DIR/plugins/invoicing-LOCALE.mo |
|
| 163 | + * - WP_PLUGIN_DIR/invoicing/languages/invoicing-LOCALE.mo |
|
| 164 | + * |
|
| 165 | + * @since 1.0.0 |
|
| 166 | + */ |
|
| 167 | + public function load_textdomain() { |
|
| 168 | + |
|
| 169 | + load_plugin_textdomain( |
|
| 170 | + 'invoicing', |
|
| 171 | + false, |
|
| 172 | + plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/' |
|
| 173 | + ); |
|
| 174 | + |
|
| 175 | + } |
|
| 176 | + |
|
| 177 | + /** |
|
| 178 | + * Include required core files used in admin and on the frontend. |
|
| 179 | + */ |
|
| 180 | + public function includes() { |
|
| 181 | + |
|
| 182 | + // Start with the settings. |
|
| 183 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php'; |
|
| 184 | + |
|
| 185 | + // Packages/libraries. |
|
| 186 | + require_once WPINV_PLUGIN_DIR . 'vendor/autoload.php'; |
|
| 187 | + require_once WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php'; |
|
| 188 | + |
|
| 189 | + // Load functions. |
|
| 190 | + require_once WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php'; |
|
| 191 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php'; |
|
| 192 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php'; |
|
| 193 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php'; |
|
| 194 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php'; |
|
| 195 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php'; |
|
| 196 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php'; |
|
| 197 | + require_once WPINV_PLUGIN_DIR . 'includes/invoice-functions.php'; |
|
| 198 | + require_once WPINV_PLUGIN_DIR . 'includes/subscription-functions.php'; |
|
| 199 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php'; |
|
| 200 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php'; |
|
| 201 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php'; |
|
| 202 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php'; |
|
| 203 | + require_once WPINV_PLUGIN_DIR . 'includes/user-functions.php'; |
|
| 204 | + require_once WPINV_PLUGIN_DIR . 'includes/error-functions.php'; |
|
| 205 | + |
|
| 206 | + // Register autoloader. |
|
| 207 | + try { |
|
| 208 | + spl_autoload_register( array( $this, 'autoload' ), true ); |
|
| 209 | + } catch ( Exception $e ) { |
|
| 210 | + wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true ); |
|
| 211 | + } |
|
| 212 | + |
|
| 213 | + require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php'; |
|
| 214 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php'; |
|
| 215 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php'; |
|
| 216 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php'; |
|
| 217 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php'; |
|
| 218 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php'; |
|
| 219 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php'; |
|
| 220 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php'; |
|
| 221 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php'; |
|
| 222 | + require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php'; |
|
| 223 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php'; |
|
| 224 | + require_once WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php'; |
|
| 225 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php'; |
|
| 226 | + require_once WPINV_PLUGIN_DIR . 'widgets/checkout.php'; |
|
| 227 | + require_once WPINV_PLUGIN_DIR . 'widgets/invoice-history.php'; |
|
| 228 | + require_once WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php'; |
|
| 229 | + require_once WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php'; |
|
| 230 | + require_once WPINV_PLUGIN_DIR . 'widgets/subscriptions.php'; |
|
| 231 | + require_once WPINV_PLUGIN_DIR . 'widgets/buy-item.php'; |
|
| 232 | + require_once WPINV_PLUGIN_DIR . 'widgets/getpaid.php'; |
|
| 233 | + require_once WPINV_PLUGIN_DIR . 'widgets/invoice.php'; |
|
| 234 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php'; |
|
| 235 | + |
|
| 236 | + if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) { |
|
| 237 | + GetPaid_Post_Types_Admin::init(); |
|
| 238 | + |
|
| 239 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php'; |
|
| 240 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php'; |
|
| 241 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php'; |
|
| 242 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php'; |
|
| 243 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php'; |
|
| 244 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php'; |
|
| 245 | + // load the user class only on the users.php page |
|
| 246 | + global $pagenow; |
|
| 247 | + if ( $pagenow == 'users.php' ) { |
|
| 248 | + new WPInv_Admin_Users(); |
|
| 249 | + } |
|
| 250 | + } |
|
| 251 | + |
|
| 252 | + // Register cli commands |
|
| 253 | + if ( defined( 'WP_CLI' ) && WP_CLI ) { |
|
| 254 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php'; |
|
| 255 | + WP_CLI::add_command( 'invoicing', 'WPInv_CLI' ); |
|
| 256 | + } |
|
| 257 | + |
|
| 258 | + } |
|
| 259 | + |
|
| 260 | + /** |
|
| 261 | + * Class autoloader |
|
| 262 | + * |
|
| 263 | + * @param string $class_name The name of the class to load. |
|
| 264 | + * @access public |
|
| 265 | + * @since 1.0.19 |
|
| 266 | + * @return void |
|
| 267 | + */ |
|
| 268 | + public function autoload( $class_name ) { |
|
| 269 | + |
|
| 270 | + // Normalize the class name... |
|
| 271 | + $class_name = strtolower( $class_name ); |
|
| 272 | + |
|
| 273 | + // ... and make sure it is our class. |
|
| 274 | + if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) { |
|
| 275 | + return; |
|
| 276 | + } |
|
| 277 | + |
|
| 278 | + // Next, prepare the file name from the class. |
|
| 279 | + $file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php'; |
|
| 280 | + |
|
| 281 | + // Base path of the classes. |
|
| 282 | + $plugin_path = untrailingslashit( WPINV_PLUGIN_DIR ); |
|
| 283 | + |
|
| 284 | + // And an array of possible locations in order of importance. |
|
| 285 | + $locations = array( |
|
| 286 | + "$plugin_path/includes", |
|
| 287 | + "$plugin_path/includes/data-stores", |
|
| 288 | + "$plugin_path/includes/gateways", |
|
| 289 | + "$plugin_path/includes/payments", |
|
| 290 | + "$plugin_path/includes/geolocation", |
|
| 291 | + "$plugin_path/includes/reports", |
|
| 292 | + "$plugin_path/includes/api", |
|
| 293 | + "$plugin_path/includes/admin", |
|
| 294 | + "$plugin_path/includes/admin/meta-boxes", |
|
| 295 | + ); |
|
| 296 | + |
|
| 297 | + foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) { |
|
| 298 | + |
|
| 299 | + if ( file_exists( trailingslashit( $location ) . $file_name ) ) { |
|
| 300 | + include trailingslashit( $location ) . $file_name; |
|
| 301 | + break; |
|
| 302 | + } |
|
| 303 | 303 | } |
| 304 | 304 | |
| 305 | - } |
|
| 306 | - |
|
| 307 | - /** |
|
| 308 | - * Inits hooks etc. |
|
| 309 | - */ |
|
| 310 | - public function init() { |
|
| 311 | - |
|
| 312 | - // Fires before getpaid inits. |
|
| 313 | - do_action( 'before_getpaid_init', $this ); |
|
| 314 | - |
|
| 315 | - // Maybe upgrade. |
|
| 316 | - $this->maybe_upgrade_database(); |
|
| 317 | - |
|
| 318 | - // Load default gateways. |
|
| 319 | - $gateways = apply_filters( |
|
| 320 | - 'getpaid_default_gateways', |
|
| 321 | - array( |
|
| 322 | - 'manual' => 'GetPaid_Manual_Gateway', |
|
| 323 | - 'paypal' => 'GetPaid_Paypal_Gateway', |
|
| 324 | - 'worldpay' => 'GetPaid_Worldpay_Gateway', |
|
| 325 | - 'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway', |
|
| 326 | - 'authorizenet' => 'GetPaid_Authorize_Net_Gateway', |
|
| 327 | - ) |
|
| 328 | - ); |
|
| 329 | - |
|
| 330 | - foreach ( $gateways as $id => $class ) { |
|
| 331 | - $this->gateways[ $id ] = new $class(); |
|
| 332 | - } |
|
| 333 | - |
|
| 334 | - if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) { |
|
| 335 | - GetPaid_Installer::rename_gateways_label(); |
|
| 336 | - update_option( 'wpinv_renamed_gateways', 'yes' ); |
|
| 337 | - } |
|
| 338 | - |
|
| 339 | - // Fires after getpaid inits. |
|
| 340 | - do_action( 'getpaid_init', $this ); |
|
| 341 | - |
|
| 342 | - } |
|
| 343 | - |
|
| 344 | - /** |
|
| 345 | - * Checks if this is an IPN request and processes it. |
|
| 346 | - */ |
|
| 347 | - public function maybe_process_ipn() { |
|
| 348 | - |
|
| 349 | - // Ensure that this is an IPN request. |
|
| 350 | - if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) { |
|
| 351 | - return; |
|
| 352 | - } |
|
| 353 | - |
|
| 354 | - $gateway = sanitize_text_field( $_GET['wpi-gateway'] ); |
|
| 355 | - |
|
| 356 | - do_action( 'wpinv_verify_payment_ipn', $gateway ); |
|
| 357 | - do_action( "wpinv_verify_{$gateway}_ipn" ); |
|
| 358 | - exit; |
|
| 359 | - |
|
| 360 | - } |
|
| 361 | - |
|
| 362 | - public function enqueue_scripts() { |
|
| 363 | - |
|
| 364 | - // Fires before adding scripts. |
|
| 365 | - do_action( 'getpaid_enqueue_scripts' ); |
|
| 366 | - |
|
| 367 | - $localize = array(); |
|
| 368 | - $localize['ajax_url'] = admin_url( 'admin-ajax.php' ); |
|
| 369 | - $localize['thousands'] = wpinv_thousands_separator(); |
|
| 370 | - $localize['decimals'] = wpinv_decimal_separator(); |
|
| 371 | - $localize['nonce'] = wp_create_nonce( 'wpinv-nonce' ); |
|
| 372 | - $localize['txtComplete'] = __( 'Continue', 'invoicing' ); |
|
| 373 | - $localize['UseTaxes'] = wpinv_use_taxes(); |
|
| 374 | - $localize['formNonce'] = wp_create_nonce( 'getpaid_form_nonce' ); |
|
| 375 | - $localize['loading'] = __( 'Loading...', 'invoicing' ); |
|
| 376 | - $localize['connectionError'] = __( 'Could not establish a connection to the server.', 'invoicing' ); |
|
| 377 | - $localize['recaptchaSettings'] = getpaid_get_recaptcha_settings(); |
|
| 378 | - |
|
| 379 | - $localize = apply_filters( 'wpinv_front_js_localize', $localize ); |
|
| 380 | - |
|
| 381 | - // reCaptcha. |
|
| 382 | - if ( getpaid_is_recaptcha_enabled() ) { |
|
| 383 | - $url = apply_filters( |
|
| 384 | - 'getpaid_recaptcha_api_url', |
|
| 385 | - add_query_arg( |
|
| 386 | - array( |
|
| 387 | - 'render' => 'v2' === getpaid_get_recaptcha_version() ? 'explicit' : getpaid_get_recaptcha_site_key(), |
|
| 388 | - ), |
|
| 389 | - 'https://www.google.com/recaptcha/api.js' |
|
| 390 | - ) |
|
| 391 | - ); |
|
| 392 | - wp_enqueue_script( 'recaptcha', $url, array(), null, true ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion |
|
| 393 | - } |
|
| 394 | - |
|
| 395 | - $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' ); |
|
| 396 | - wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ), $version, true ); |
|
| 397 | - wp_localize_script( 'wpinv-front-script', 'WPInv', $localize ); |
|
| 398 | - } |
|
| 399 | - |
|
| 400 | - public function wpinv_actions() { |
|
| 401 | - if ( isset( $_REQUEST['wpi_action'] ) ) { |
|
| 402 | - do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST ); |
|
| 403 | - } |
|
| 404 | - |
|
| 405 | - if ( defined( 'WP_ALL_IMPORT_ROOT_DIR' ) ) { |
|
| 406 | - include plugin_dir_path( __FILE__ ) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php'; |
|
| 407 | - } |
|
| 408 | - } |
|
| 409 | - |
|
| 410 | - /** |
|
| 305 | + } |
|
| 306 | + |
|
| 307 | + /** |
|
| 308 | + * Inits hooks etc. |
|
| 309 | + */ |
|
| 310 | + public function init() { |
|
| 311 | + |
|
| 312 | + // Fires before getpaid inits. |
|
| 313 | + do_action( 'before_getpaid_init', $this ); |
|
| 314 | + |
|
| 315 | + // Maybe upgrade. |
|
| 316 | + $this->maybe_upgrade_database(); |
|
| 317 | + |
|
| 318 | + // Load default gateways. |
|
| 319 | + $gateways = apply_filters( |
|
| 320 | + 'getpaid_default_gateways', |
|
| 321 | + array( |
|
| 322 | + 'manual' => 'GetPaid_Manual_Gateway', |
|
| 323 | + 'paypal' => 'GetPaid_Paypal_Gateway', |
|
| 324 | + 'worldpay' => 'GetPaid_Worldpay_Gateway', |
|
| 325 | + 'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway', |
|
| 326 | + 'authorizenet' => 'GetPaid_Authorize_Net_Gateway', |
|
| 327 | + ) |
|
| 328 | + ); |
|
| 329 | + |
|
| 330 | + foreach ( $gateways as $id => $class ) { |
|
| 331 | + $this->gateways[ $id ] = new $class(); |
|
| 332 | + } |
|
| 333 | + |
|
| 334 | + if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) { |
|
| 335 | + GetPaid_Installer::rename_gateways_label(); |
|
| 336 | + update_option( 'wpinv_renamed_gateways', 'yes' ); |
|
| 337 | + } |
|
| 338 | + |
|
| 339 | + // Fires after getpaid inits. |
|
| 340 | + do_action( 'getpaid_init', $this ); |
|
| 341 | + |
|
| 342 | + } |
|
| 343 | + |
|
| 344 | + /** |
|
| 345 | + * Checks if this is an IPN request and processes it. |
|
| 346 | + */ |
|
| 347 | + public function maybe_process_ipn() { |
|
| 348 | + |
|
| 349 | + // Ensure that this is an IPN request. |
|
| 350 | + if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) { |
|
| 351 | + return; |
|
| 352 | + } |
|
| 353 | + |
|
| 354 | + $gateway = sanitize_text_field( $_GET['wpi-gateway'] ); |
|
| 355 | + |
|
| 356 | + do_action( 'wpinv_verify_payment_ipn', $gateway ); |
|
| 357 | + do_action( "wpinv_verify_{$gateway}_ipn" ); |
|
| 358 | + exit; |
|
| 359 | + |
|
| 360 | + } |
|
| 361 | + |
|
| 362 | + public function enqueue_scripts() { |
|
| 363 | + |
|
| 364 | + // Fires before adding scripts. |
|
| 365 | + do_action( 'getpaid_enqueue_scripts' ); |
|
| 366 | + |
|
| 367 | + $localize = array(); |
|
| 368 | + $localize['ajax_url'] = admin_url( 'admin-ajax.php' ); |
|
| 369 | + $localize['thousands'] = wpinv_thousands_separator(); |
|
| 370 | + $localize['decimals'] = wpinv_decimal_separator(); |
|
| 371 | + $localize['nonce'] = wp_create_nonce( 'wpinv-nonce' ); |
|
| 372 | + $localize['txtComplete'] = __( 'Continue', 'invoicing' ); |
|
| 373 | + $localize['UseTaxes'] = wpinv_use_taxes(); |
|
| 374 | + $localize['formNonce'] = wp_create_nonce( 'getpaid_form_nonce' ); |
|
| 375 | + $localize['loading'] = __( 'Loading...', 'invoicing' ); |
|
| 376 | + $localize['connectionError'] = __( 'Could not establish a connection to the server.', 'invoicing' ); |
|
| 377 | + $localize['recaptchaSettings'] = getpaid_get_recaptcha_settings(); |
|
| 378 | + |
|
| 379 | + $localize = apply_filters( 'wpinv_front_js_localize', $localize ); |
|
| 380 | + |
|
| 381 | + // reCaptcha. |
|
| 382 | + if ( getpaid_is_recaptcha_enabled() ) { |
|
| 383 | + $url = apply_filters( |
|
| 384 | + 'getpaid_recaptcha_api_url', |
|
| 385 | + add_query_arg( |
|
| 386 | + array( |
|
| 387 | + 'render' => 'v2' === getpaid_get_recaptcha_version() ? 'explicit' : getpaid_get_recaptcha_site_key(), |
|
| 388 | + ), |
|
| 389 | + 'https://www.google.com/recaptcha/api.js' |
|
| 390 | + ) |
|
| 391 | + ); |
|
| 392 | + wp_enqueue_script( 'recaptcha', $url, array(), null, true ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion |
|
| 393 | + } |
|
| 394 | + |
|
| 395 | + $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' ); |
|
| 396 | + wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ), $version, true ); |
|
| 397 | + wp_localize_script( 'wpinv-front-script', 'WPInv', $localize ); |
|
| 398 | + } |
|
| 399 | + |
|
| 400 | + public function wpinv_actions() { |
|
| 401 | + if ( isset( $_REQUEST['wpi_action'] ) ) { |
|
| 402 | + do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST ); |
|
| 403 | + } |
|
| 404 | + |
|
| 405 | + if ( defined( 'WP_ALL_IMPORT_ROOT_DIR' ) ) { |
|
| 406 | + include plugin_dir_path( __FILE__ ) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php'; |
|
| 407 | + } |
|
| 408 | + } |
|
| 409 | + |
|
| 410 | + /** |
|
| 411 | 411 | * Fires an action after verifying that a user can fire them. |
| 412 | - * |
|
| 413 | - * Note: If the action is on an invoice, subscription etc, esure that the |
|
| 414 | - * current user owns the invoice/subscription. |
|
| 412 | + * |
|
| 413 | + * Note: If the action is on an invoice, subscription etc, esure that the |
|
| 414 | + * current user owns the invoice/subscription. |
|
| 415 | 415 | */ |
| 416 | 416 | public function maybe_do_authenticated_action() { |
| 417 | 417 | |
| 418 | - if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) { |
|
| 418 | + if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) { |
|
| 419 | 419 | |
| 420 | - $key = sanitize_key( $_REQUEST['getpaid-action'] ); |
|
| 421 | - $data = wp_unslash( $_REQUEST ); |
|
| 422 | - if ( is_user_logged_in() ) { |
|
| 423 | - do_action( "getpaid_authenticated_action_$key", $data ); |
|
| 424 | - } |
|
| 420 | + $key = sanitize_key( $_REQUEST['getpaid-action'] ); |
|
| 421 | + $data = wp_unslash( $_REQUEST ); |
|
| 422 | + if ( is_user_logged_in() ) { |
|
| 423 | + do_action( "getpaid_authenticated_action_$key", $data ); |
|
| 424 | + } |
|
| 425 | 425 | |
| 426 | - do_action( "getpaid_unauthenticated_action_$key", $data ); |
|
| 426 | + do_action( "getpaid_unauthenticated_action_$key", $data ); |
|
| 427 | 427 | |
| 428 | - } |
|
| 428 | + } |
|
| 429 | 429 | |
| 430 | 430 | } |
| 431 | 431 | |
| 432 | - public function pre_get_posts( $wp_query ) { |
|
| 433 | - |
|
| 434 | - if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) { |
|
| 435 | - $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) ); |
|
| 436 | - } |
|
| 437 | - |
|
| 438 | - return $wp_query; |
|
| 439 | - } |
|
| 440 | - |
|
| 441 | - /** |
|
| 442 | - * Register widgets |
|
| 443 | - * |
|
| 444 | - */ |
|
| 445 | - public function register_widgets() { |
|
| 446 | - global $pagenow; |
|
| 447 | - |
|
| 448 | - // Currently, UX Builder does not work particulaly well with SuperDuper. |
|
| 449 | - // So we disable our widgets when editing a page with UX Builder. |
|
| 450 | - if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) { |
|
| 451 | - return; |
|
| 452 | - } |
|
| 453 | - |
|
| 454 | - $block_widget_init_screens = function_exists( 'sd_pagenow_exclude' ) ? sd_pagenow_exclude() : array(); |
|
| 455 | - |
|
| 456 | - if ( is_admin() && $pagenow && in_array( $pagenow, $block_widget_init_screens ) ) { |
|
| 457 | - // don't initiate in these conditions. |
|
| 458 | - } else { |
|
| 459 | - |
|
| 460 | - // Only load allowed widgets. |
|
| 461 | - $exclude = function_exists( 'sd_widget_exclude' ) ? sd_widget_exclude() : array(); |
|
| 462 | - $widgets = apply_filters( |
|
| 463 | - 'getpaid_widget_classes', |
|
| 464 | - array( |
|
| 465 | - 'WPInv_Checkout_Widget', |
|
| 466 | - 'WPInv_History_Widget', |
|
| 467 | - 'WPInv_Receipt_Widget', |
|
| 468 | - 'WPInv_Subscriptions_Widget', |
|
| 469 | - 'WPInv_Buy_Item_Widget', |
|
| 470 | - 'WPInv_Messages_Widget', |
|
| 471 | - 'WPInv_GetPaid_Widget', |
|
| 472 | - 'WPInv_Invoice_Widget', |
|
| 473 | - ) |
|
| 474 | - ); |
|
| 475 | - |
|
| 476 | - // For each widget... |
|
| 477 | - foreach ( $widgets as $widget ) { |
|
| 478 | - |
|
| 479 | - // Abort early if it is excluded for this page. |
|
| 480 | - if ( in_array( $widget, $exclude ) ) { |
|
| 481 | - continue; |
|
| 482 | - } |
|
| 483 | - |
|
| 484 | - // SD V1 used to extend the widget class. V2 does not, so we cannot call register widget on it. |
|
| 485 | - if ( is_subclass_of( $widget, 'WP_Widget' ) ) { |
|
| 486 | - register_widget( $widget ); |
|
| 487 | - } else { |
|
| 488 | - new $widget(); |
|
| 489 | - } |
|
| 432 | + public function pre_get_posts( $wp_query ) { |
|
| 433 | + |
|
| 434 | + if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) { |
|
| 435 | + $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) ); |
|
| 436 | + } |
|
| 437 | + |
|
| 438 | + return $wp_query; |
|
| 439 | + } |
|
| 440 | + |
|
| 441 | + /** |
|
| 442 | + * Register widgets |
|
| 443 | + * |
|
| 444 | + */ |
|
| 445 | + public function register_widgets() { |
|
| 446 | + global $pagenow; |
|
| 447 | + |
|
| 448 | + // Currently, UX Builder does not work particulaly well with SuperDuper. |
|
| 449 | + // So we disable our widgets when editing a page with UX Builder. |
|
| 450 | + if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) { |
|
| 451 | + return; |
|
| 452 | + } |
|
| 453 | + |
|
| 454 | + $block_widget_init_screens = function_exists( 'sd_pagenow_exclude' ) ? sd_pagenow_exclude() : array(); |
|
| 455 | + |
|
| 456 | + if ( is_admin() && $pagenow && in_array( $pagenow, $block_widget_init_screens ) ) { |
|
| 457 | + // don't initiate in these conditions. |
|
| 458 | + } else { |
|
| 459 | + |
|
| 460 | + // Only load allowed widgets. |
|
| 461 | + $exclude = function_exists( 'sd_widget_exclude' ) ? sd_widget_exclude() : array(); |
|
| 462 | + $widgets = apply_filters( |
|
| 463 | + 'getpaid_widget_classes', |
|
| 464 | + array( |
|
| 465 | + 'WPInv_Checkout_Widget', |
|
| 466 | + 'WPInv_History_Widget', |
|
| 467 | + 'WPInv_Receipt_Widget', |
|
| 468 | + 'WPInv_Subscriptions_Widget', |
|
| 469 | + 'WPInv_Buy_Item_Widget', |
|
| 470 | + 'WPInv_Messages_Widget', |
|
| 471 | + 'WPInv_GetPaid_Widget', |
|
| 472 | + 'WPInv_Invoice_Widget', |
|
| 473 | + ) |
|
| 474 | + ); |
|
| 475 | + |
|
| 476 | + // For each widget... |
|
| 477 | + foreach ( $widgets as $widget ) { |
|
| 478 | + |
|
| 479 | + // Abort early if it is excluded for this page. |
|
| 480 | + if ( in_array( $widget, $exclude ) ) { |
|
| 481 | + continue; |
|
| 482 | + } |
|
| 483 | + |
|
| 484 | + // SD V1 used to extend the widget class. V2 does not, so we cannot call register widget on it. |
|
| 485 | + if ( is_subclass_of( $widget, 'WP_Widget' ) ) { |
|
| 486 | + register_widget( $widget ); |
|
| 487 | + } else { |
|
| 488 | + new $widget(); |
|
| 489 | + } |
|
| 490 | 490 | } |
| 491 | 491 | } |
| 492 | 492 | |
| 493 | - } |
|
| 493 | + } |
|
| 494 | + |
|
| 495 | + /** |
|
| 496 | + * Upgrades the database. |
|
| 497 | + * |
|
| 498 | + * @since 2.0.2 |
|
| 499 | + */ |
|
| 500 | + public function maybe_upgrade_database() { |
|
| 501 | + |
|
| 502 | + // Ensure the database tables are up to date. |
|
| 503 | + GetPaid_Installer::maybe_create_db_tables(); |
|
| 504 | + |
|
| 505 | + $wpi_version = get_option( 'wpinv_version', 0 ); |
|
| 506 | + |
|
| 507 | + if ( $wpi_version == WPINV_VERSION ) { |
|
| 508 | + return; |
|
| 509 | + } |
|
| 510 | + |
|
| 511 | + $installer = new GetPaid_Installer(); |
|
| 512 | + |
|
| 513 | + if ( empty( $wpi_version ) ) { |
|
| 514 | + return $installer->upgrade_db( 0 ); |
|
| 515 | + } |
|
| 516 | + |
|
| 517 | + $upgrades = array( |
|
| 518 | + '0.0.5' => '004', |
|
| 519 | + '1.0.3' => '102', |
|
| 520 | + '2.0.0' => '118', |
|
| 521 | + '2.8.0' => '279', |
|
| 522 | + ); |
|
| 523 | + |
|
| 524 | + foreach ( $upgrades as $key => $method ) { |
|
| 525 | + |
|
| 526 | + if ( version_compare( $wpi_version, $key, '<' ) ) { |
|
| 527 | + return $installer->upgrade_db( $method ); |
|
| 528 | + } |
|
| 529 | + } |
|
| 530 | + |
|
| 531 | + } |
|
| 532 | + |
|
| 533 | + /** |
|
| 534 | + * Flushes the permalinks if needed. |
|
| 535 | + * |
|
| 536 | + * @since 2.0.8 |
|
| 537 | + */ |
|
| 538 | + public function maybe_flush_permalinks() { |
|
| 539 | + |
|
| 540 | + $flush = get_option( 'wpinv_flush_permalinks', 0 ); |
|
| 541 | + |
|
| 542 | + if ( ! empty( $flush ) ) { |
|
| 543 | + flush_rewrite_rules(); |
|
| 544 | + delete_option( 'wpinv_flush_permalinks' ); |
|
| 545 | + } |
|
| 546 | + |
|
| 547 | + } |
|
| 548 | + |
|
| 549 | + /** |
|
| 550 | + * Remove our pages from yoast sitemaps. |
|
| 551 | + * |
|
| 552 | + * @since 1.0.19 |
|
| 553 | + * @param int[] $excluded_posts_ids |
|
| 554 | + */ |
|
| 555 | + public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ) { |
|
| 556 | + |
|
| 557 | + // Ensure that we have an array. |
|
| 558 | + if ( ! is_array( $excluded_posts_ids ) ) { |
|
| 559 | + $excluded_posts_ids = array(); |
|
| 560 | + } |
|
| 561 | + |
|
| 562 | + // Prepare our pages. |
|
| 563 | + $our_pages = array(); |
|
| 564 | + |
|
| 565 | + // Checkout page. |
|
| 566 | + $our_pages[] = wpinv_get_option( 'checkout_page', false ); |
|
| 567 | + |
|
| 568 | + // Success page. |
|
| 569 | + $our_pages[] = wpinv_get_option( 'success_page', false ); |
|
| 570 | + |
|
| 571 | + // Failure page. |
|
| 572 | + $our_pages[] = wpinv_get_option( 'failure_page', false ); |
|
| 494 | 573 | |
| 495 | - /** |
|
| 496 | - * Upgrades the database. |
|
| 497 | - * |
|
| 498 | - * @since 2.0.2 |
|
| 499 | - */ |
|
| 500 | - public function maybe_upgrade_database() { |
|
| 574 | + // History page. |
|
| 575 | + $our_pages[] = wpinv_get_option( 'invoice_history_page', false ); |
|
| 501 | 576 | |
| 502 | - // Ensure the database tables are up to date. |
|
| 503 | - GetPaid_Installer::maybe_create_db_tables(); |
|
| 577 | + // Subscriptions page. |
|
| 578 | + $our_pages[] = wpinv_get_option( 'invoice_subscription_page', false ); |
|
| 504 | 579 | |
| 505 | - $wpi_version = get_option( 'wpinv_version', 0 ); |
|
| 580 | + $our_pages = array_map( 'intval', array_filter( $our_pages ) ); |
|
| 506 | 581 | |
| 507 | - if ( $wpi_version == WPINV_VERSION ) { |
|
| 508 | - return; |
|
| 509 | - } |
|
| 582 | + $excluded_posts_ids = $excluded_posts_ids + $our_pages; |
|
| 583 | + return array_unique( $excluded_posts_ids ); |
|
| 510 | 584 | |
| 511 | - $installer = new GetPaid_Installer(); |
|
| 585 | + } |
|
| 586 | + |
|
| 587 | + /** |
|
| 588 | + * Remove our pages from yoast sitemaps. |
|
| 589 | + * |
|
| 590 | + * @since 1.0.19 |
|
| 591 | + * @param string[] $post_types |
|
| 592 | + */ |
|
| 593 | + public function exclude_invoicing_post_types( $post_types ) { |
|
| 594 | + |
|
| 595 | + // Ensure that we have an array. |
|
| 596 | + if ( ! is_array( $post_types ) ) { |
|
| 597 | + $post_types = array(); |
|
| 598 | + } |
|
| 599 | + |
|
| 600 | + // Remove our post types. |
|
| 601 | + return array_diff( $post_types, array_keys( getpaid_get_invoice_post_types() ) ); |
|
| 602 | + } |
|
| 603 | + |
|
| 604 | + /** |
|
| 605 | + * Displays additional footer code. |
|
| 606 | + * |
|
| 607 | + * @since 2.0.0 |
|
| 608 | + */ |
|
| 609 | + public function wp_footer() { |
|
| 610 | + wpinv_get_template( 'frontend-footer.php' ); |
|
| 611 | + } |
|
| 512 | 612 | |
| 513 | - if ( empty( $wpi_version ) ) { |
|
| 514 | - return $installer->upgrade_db( 0 ); |
|
| 515 | - } |
|
| 613 | + /** |
|
| 614 | + * Displays additional header code. |
|
| 615 | + * |
|
| 616 | + * @since 2.0.0 |
|
| 617 | + */ |
|
| 618 | + public function wp_head() { |
|
| 619 | + wpinv_get_template( 'frontend-head.php' ); |
|
| 620 | + } |
|
| 516 | 621 | |
| 517 | - $upgrades = array( |
|
| 518 | - '0.0.5' => '004', |
|
| 519 | - '1.0.3' => '102', |
|
| 520 | - '2.0.0' => '118', |
|
| 521 | - '2.8.0' => '279', |
|
| 522 | - ); |
|
| 523 | - |
|
| 524 | - foreach ( $upgrades as $key => $method ) { |
|
| 525 | - |
|
| 526 | - if ( version_compare( $wpi_version, $key, '<' ) ) { |
|
| 527 | - return $installer->upgrade_db( $method ); |
|
| 528 | - } |
|
| 529 | - } |
|
| 530 | - |
|
| 531 | - } |
|
| 532 | - |
|
| 533 | - /** |
|
| 534 | - * Flushes the permalinks if needed. |
|
| 535 | - * |
|
| 536 | - * @since 2.0.8 |
|
| 537 | - */ |
|
| 538 | - public function maybe_flush_permalinks() { |
|
| 539 | - |
|
| 540 | - $flush = get_option( 'wpinv_flush_permalinks', 0 ); |
|
| 541 | - |
|
| 542 | - if ( ! empty( $flush ) ) { |
|
| 543 | - flush_rewrite_rules(); |
|
| 544 | - delete_option( 'wpinv_flush_permalinks' ); |
|
| 545 | - } |
|
| 546 | - |
|
| 547 | - } |
|
| 548 | - |
|
| 549 | - /** |
|
| 550 | - * Remove our pages from yoast sitemaps. |
|
| 551 | - * |
|
| 552 | - * @since 1.0.19 |
|
| 553 | - * @param int[] $excluded_posts_ids |
|
| 554 | - */ |
|
| 555 | - public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ) { |
|
| 556 | - |
|
| 557 | - // Ensure that we have an array. |
|
| 558 | - if ( ! is_array( $excluded_posts_ids ) ) { |
|
| 559 | - $excluded_posts_ids = array(); |
|
| 560 | - } |
|
| 561 | - |
|
| 562 | - // Prepare our pages. |
|
| 563 | - $our_pages = array(); |
|
| 564 | - |
|
| 565 | - // Checkout page. |
|
| 566 | - $our_pages[] = wpinv_get_option( 'checkout_page', false ); |
|
| 567 | - |
|
| 568 | - // Success page. |
|
| 569 | - $our_pages[] = wpinv_get_option( 'success_page', false ); |
|
| 570 | - |
|
| 571 | - // Failure page. |
|
| 572 | - $our_pages[] = wpinv_get_option( 'failure_page', false ); |
|
| 573 | - |
|
| 574 | - // History page. |
|
| 575 | - $our_pages[] = wpinv_get_option( 'invoice_history_page', false ); |
|
| 576 | - |
|
| 577 | - // Subscriptions page. |
|
| 578 | - $our_pages[] = wpinv_get_option( 'invoice_subscription_page', false ); |
|
| 579 | - |
|
| 580 | - $our_pages = array_map( 'intval', array_filter( $our_pages ) ); |
|
| 581 | - |
|
| 582 | - $excluded_posts_ids = $excluded_posts_ids + $our_pages; |
|
| 583 | - return array_unique( $excluded_posts_ids ); |
|
| 584 | - |
|
| 585 | - } |
|
| 586 | - |
|
| 587 | - /** |
|
| 588 | - * Remove our pages from yoast sitemaps. |
|
| 589 | - * |
|
| 590 | - * @since 1.0.19 |
|
| 591 | - * @param string[] $post_types |
|
| 592 | - */ |
|
| 593 | - public function exclude_invoicing_post_types( $post_types ) { |
|
| 594 | - |
|
| 595 | - // Ensure that we have an array. |
|
| 596 | - if ( ! is_array( $post_types ) ) { |
|
| 597 | - $post_types = array(); |
|
| 598 | - } |
|
| 599 | - |
|
| 600 | - // Remove our post types. |
|
| 601 | - return array_diff( $post_types, array_keys( getpaid_get_invoice_post_types() ) ); |
|
| 602 | - } |
|
| 603 | - |
|
| 604 | - /** |
|
| 605 | - * Displays additional footer code. |
|
| 606 | - * |
|
| 607 | - * @since 2.0.0 |
|
| 608 | - */ |
|
| 609 | - public function wp_footer() { |
|
| 610 | - wpinv_get_template( 'frontend-footer.php' ); |
|
| 611 | - } |
|
| 612 | - |
|
| 613 | - /** |
|
| 614 | - * Displays additional header code. |
|
| 615 | - * |
|
| 616 | - * @since 2.0.0 |
|
| 617 | - */ |
|
| 618 | - public function wp_head() { |
|
| 619 | - wpinv_get_template( 'frontend-head.php' ); |
|
| 620 | - } |
|
| 621 | - |
|
| 622 | - /** |
|
| 623 | - * Custom query vars. |
|
| 624 | - * |
|
| 625 | - */ |
|
| 626 | - public function custom_query_vars( $vars ) { |
|
| 622 | + /** |
|
| 623 | + * Custom query vars. |
|
| 624 | + * |
|
| 625 | + */ |
|
| 626 | + public function custom_query_vars( $vars ) { |
|
| 627 | 627 | $vars[] = 'getpaid-ipn'; |
| 628 | 628 | return $vars; |
| 629 | - } |
|
| 629 | + } |
|
| 630 | 630 | |
| 631 | - /** |
|
| 632 | - * Add rewrite tags and rules. |
|
| 633 | - * |
|
| 634 | - */ |
|
| 635 | - public function add_rewrite_rule() { |
|
| 631 | + /** |
|
| 632 | + * Add rewrite tags and rules. |
|
| 633 | + * |
|
| 634 | + */ |
|
| 635 | + public function add_rewrite_rule() { |
|
| 636 | 636 | $tag = 'getpaid-ipn'; |
| 637 | 637 | add_rewrite_tag( "%$tag%", '([^&]+)' ); |
| 638 | 638 | add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top' ); |
| 639 | - } |
|
| 639 | + } |
|
| 640 | 640 | |
| 641 | - /** |
|
| 642 | - * Processes non-query string ipns. |
|
| 643 | - * |
|
| 644 | - */ |
|
| 645 | - public function maybe_process_new_ipn( $query ) { |
|
| 641 | + /** |
|
| 642 | + * Processes non-query string ipns. |
|
| 643 | + * |
|
| 644 | + */ |
|
| 645 | + public function maybe_process_new_ipn( $query ) { |
|
| 646 | 646 | |
| 647 | 647 | if ( is_admin() || ! $query->is_main_query() ) { |
| 648 | 648 | return; |
| 649 | 649 | } |
| 650 | 650 | |
| 651 | - $gateway = get_query_var( 'getpaid-ipn' ); |
|
| 651 | + $gateway = get_query_var( 'getpaid-ipn' ); |
|
| 652 | 652 | |
| 653 | 653 | if ( ! empty( $gateway ) ) { |
| 654 | 654 | |
| 655 | - $gateway = sanitize_text_field( $gateway ); |
|
| 656 | - nocache_headers(); |
|
| 657 | - do_action( 'wpinv_verify_payment_ipn', $gateway ); |
|
| 658 | - do_action( "wpinv_verify_{$gateway}_ipn" ); |
|
| 659 | - exit; |
|
| 655 | + $gateway = sanitize_text_field( $gateway ); |
|
| 656 | + nocache_headers(); |
|
| 657 | + do_action( 'wpinv_verify_payment_ipn', $gateway ); |
|
| 658 | + do_action( "wpinv_verify_{$gateway}_ipn" ); |
|
| 659 | + exit; |
|
| 660 | 660 | |
| 661 | 661 | } |
| 662 | 662 | |
| 663 | - } |
|
| 663 | + } |
|
| 664 | 664 | |
| 665 | 665 | } |
@@ -6,7 +6,7 @@ discard block |
||
| 6 | 6 | * @since 1.0.0 |
| 7 | 7 | */ |
| 8 | 8 | |
| 9 | -defined( 'ABSPATH' ) || exit; |
|
| 9 | +defined('ABSPATH') || exit; |
|
| 10 | 10 | |
| 11 | 11 | /** |
| 12 | 12 | * Main Invoicing class. |
@@ -56,8 +56,8 @@ discard block |
||
| 56 | 56 | * @param string $prop The prop to set. |
| 57 | 57 | * @param mixed $value The value to retrieve. |
| 58 | 58 | */ |
| 59 | - public function set( $prop, $value ) { |
|
| 60 | - $this->data[ $prop ] = $value; |
|
| 59 | + public function set($prop, $value) { |
|
| 60 | + $this->data[$prop] = $value; |
|
| 61 | 61 | } |
| 62 | 62 | |
| 63 | 63 | /** |
@@ -66,10 +66,10 @@ discard block |
||
| 66 | 66 | * @param string $prop The prop to set. |
| 67 | 67 | * @return mixed The value. |
| 68 | 68 | */ |
| 69 | - public function get( $prop ) { |
|
| 69 | + public function get($prop) { |
|
| 70 | 70 | |
| 71 | - if ( isset( $this->data[ $prop ] ) ) { |
|
| 72 | - return $this->data[ $prop ]; |
|
| 71 | + if (isset($this->data[$prop])) { |
|
| 72 | + return $this->data[$prop]; |
|
| 73 | 73 | } |
| 74 | 74 | |
| 75 | 75 | return null; |
@@ -81,22 +81,22 @@ discard block |
||
| 81 | 81 | public function set_properties() { |
| 82 | 82 | |
| 83 | 83 | // Sessions. |
| 84 | - $this->set( 'session', new WPInv_Session_Handler() ); |
|
| 85 | - $GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility. |
|
| 84 | + $this->set('session', new WPInv_Session_Handler()); |
|
| 85 | + $GLOBALS['wpi_session'] = $this->get('session'); // Backwards compatibility. |
|
| 86 | 86 | $GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility. |
| 87 | 87 | |
| 88 | 88 | // Init other objects. |
| 89 | - $this->set( 'notes', new WPInv_Notes() ); |
|
| 90 | - $this->set( 'api', new WPInv_API() ); |
|
| 91 | - $this->set( 'post_types', new GetPaid_Post_Types() ); |
|
| 92 | - $this->set( 'template', new GetPaid_Template() ); |
|
| 93 | - $this->set( 'admin', new GetPaid_Admin() ); |
|
| 94 | - $this->set( 'subscriptions', new WPInv_Subscriptions() ); |
|
| 95 | - $this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() ); |
|
| 96 | - $this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() ); |
|
| 97 | - $this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() ); |
|
| 98 | - $this->set( 'payment_forms', new GetPaid_Payment_Forms() ); |
|
| 99 | - $this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() ); |
|
| 89 | + $this->set('notes', new WPInv_Notes()); |
|
| 90 | + $this->set('api', new WPInv_API()); |
|
| 91 | + $this->set('post_types', new GetPaid_Post_Types()); |
|
| 92 | + $this->set('template', new GetPaid_Template()); |
|
| 93 | + $this->set('admin', new GetPaid_Admin()); |
|
| 94 | + $this->set('subscriptions', new WPInv_Subscriptions()); |
|
| 95 | + $this->set('invoice_emails', new GetPaid_Invoice_Notification_Emails()); |
|
| 96 | + $this->set('subscription_emails', new GetPaid_Subscription_Notification_Emails()); |
|
| 97 | + $this->set('daily_maintenace', new GetPaid_Daily_Maintenance()); |
|
| 98 | + $this->set('payment_forms', new GetPaid_Payment_Forms()); |
|
| 99 | + $this->set('maxmind', new GetPaid_MaxMind_Geolocation()); |
|
| 100 | 100 | |
| 101 | 101 | } |
| 102 | 102 | |
@@ -104,8 +104,8 @@ discard block |
||
| 104 | 104 | * Define plugin constants. |
| 105 | 105 | */ |
| 106 | 106 | public function define_constants() { |
| 107 | - define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) ); |
|
| 108 | - define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) ); |
|
| 107 | + define('WPINV_PLUGIN_DIR', plugin_dir_path(WPINV_PLUGIN_FILE)); |
|
| 108 | + define('WPINV_PLUGIN_URL', plugin_dir_url(WPINV_PLUGIN_FILE)); |
|
| 109 | 109 | $this->version = WPINV_VERSION; |
| 110 | 110 | } |
| 111 | 111 | |
@@ -116,28 +116,28 @@ discard block |
||
| 116 | 116 | */ |
| 117 | 117 | protected function init_hooks() { |
| 118 | 118 | /* Internationalize the text strings used. */ |
| 119 | - add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) ); |
|
| 119 | + add_action('plugins_loaded', array(&$this, 'plugins_loaded')); |
|
| 120 | 120 | |
| 121 | 121 | // Init the plugin after WordPress inits. |
| 122 | - add_action( 'init', array( $this, 'init' ), 1 ); |
|
| 123 | - add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 ); |
|
| 124 | - add_action( 'init', array( $this, 'wpinv_actions' ) ); |
|
| 125 | - add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 ); |
|
| 126 | - add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 ); |
|
| 127 | - add_action( 'wp_footer', array( $this, 'wp_footer' ) ); |
|
| 128 | - add_action( 'wp_head', array( $this, 'wp_head' ) ); |
|
| 129 | - add_action( 'widgets_init', array( $this, 'register_widgets' ) ); |
|
| 130 | - add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) ); |
|
| 131 | - add_filter( 'the_seo_framework_sitemap_supported_post_types', array( $this, 'exclude_invoicing_post_types' ) ); |
|
| 132 | - add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) ); |
|
| 133 | - |
|
| 134 | - add_filter( 'query_vars', array( $this, 'custom_query_vars' ) ); |
|
| 135 | - add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 ); |
|
| 136 | - add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 ); |
|
| 122 | + add_action('init', array($this, 'init'), 1); |
|
| 123 | + add_action('init', array($this, 'maybe_process_ipn'), 10); |
|
| 124 | + add_action('init', array($this, 'wpinv_actions')); |
|
| 125 | + add_action('init', array($this, 'maybe_do_authenticated_action'), 100); |
|
| 126 | + add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 11); |
|
| 127 | + add_action('wp_footer', array($this, 'wp_footer')); |
|
| 128 | + add_action('wp_head', array($this, 'wp_head')); |
|
| 129 | + add_action('widgets_init', array($this, 'register_widgets')); |
|
| 130 | + add_filter('wpseo_exclude_from_sitemap_by_post_ids', array($this, 'wpseo_exclude_from_sitemap_by_post_ids')); |
|
| 131 | + add_filter('the_seo_framework_sitemap_supported_post_types', array($this, 'exclude_invoicing_post_types')); |
|
| 132 | + add_filter('pre_get_posts', array(&$this, 'pre_get_posts')); |
|
| 133 | + |
|
| 134 | + add_filter('query_vars', array($this, 'custom_query_vars')); |
|
| 135 | + add_action('init', array($this, 'add_rewrite_rule'), 10, 0); |
|
| 136 | + add_action('pre_get_posts', array($this, 'maybe_process_new_ipn'), 1); |
|
| 137 | 137 | |
| 138 | 138 | // Fires after registering actions. |
| 139 | - do_action( 'wpinv_actions', $this ); |
|
| 140 | - do_action( 'getpaid_actions', $this ); |
|
| 139 | + do_action('wpinv_actions', $this); |
|
| 140 | + do_action('getpaid_actions', $this); |
|
| 141 | 141 | |
| 142 | 142 | } |
| 143 | 143 | |
@@ -145,10 +145,10 @@ discard block |
||
| 145 | 145 | /* Internationalize the text strings used. */ |
| 146 | 146 | $this->load_textdomain(); |
| 147 | 147 | |
| 148 | - do_action( 'wpinv_loaded' ); |
|
| 148 | + do_action('wpinv_loaded'); |
|
| 149 | 149 | |
| 150 | 150 | // Fix oxygen page builder conflict |
| 151 | - if ( function_exists( 'ct_css_output' ) ) { |
|
| 151 | + if (function_exists('ct_css_output')) { |
|
| 152 | 152 | wpinv_oxygen_fix_conflict(); |
| 153 | 153 | } |
| 154 | 154 | } |
@@ -169,7 +169,7 @@ discard block |
||
| 169 | 169 | load_plugin_textdomain( |
| 170 | 170 | 'invoicing', |
| 171 | 171 | false, |
| 172 | - plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/' |
|
| 172 | + plugin_basename(dirname(WPINV_PLUGIN_FILE)) . '/languages/' |
|
| 173 | 173 | ); |
| 174 | 174 | |
| 175 | 175 | } |
@@ -205,9 +205,9 @@ discard block |
||
| 205 | 205 | |
| 206 | 206 | // Register autoloader. |
| 207 | 207 | try { |
| 208 | - spl_autoload_register( array( $this, 'autoload' ), true ); |
|
| 209 | - } catch ( Exception $e ) { |
|
| 210 | - wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true ); |
|
| 208 | + spl_autoload_register(array($this, 'autoload'), true); |
|
| 209 | + } catch (Exception $e) { |
|
| 210 | + wpinv_error_log($e->getMessage(), '', __FILE__, 149, true); |
|
| 211 | 211 | } |
| 212 | 212 | |
| 213 | 213 | require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php'; |
@@ -233,7 +233,7 @@ discard block |
||
| 233 | 233 | require_once WPINV_PLUGIN_DIR . 'widgets/invoice.php'; |
| 234 | 234 | require_once WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php'; |
| 235 | 235 | |
| 236 | - if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) { |
|
| 236 | + if (is_admin() || (defined('WP_CLI') && WP_CLI)) { |
|
| 237 | 237 | GetPaid_Post_Types_Admin::init(); |
| 238 | 238 | |
| 239 | 239 | require_once WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php'; |
@@ -244,15 +244,15 @@ discard block |
||
| 244 | 244 | require_once WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php'; |
| 245 | 245 | // load the user class only on the users.php page |
| 246 | 246 | global $pagenow; |
| 247 | - if ( $pagenow == 'users.php' ) { |
|
| 247 | + if ($pagenow == 'users.php') { |
|
| 248 | 248 | new WPInv_Admin_Users(); |
| 249 | 249 | } |
| 250 | 250 | } |
| 251 | 251 | |
| 252 | 252 | // Register cli commands |
| 253 | - if ( defined( 'WP_CLI' ) && WP_CLI ) { |
|
| 253 | + if (defined('WP_CLI') && WP_CLI) { |
|
| 254 | 254 | require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php'; |
| 255 | - WP_CLI::add_command( 'invoicing', 'WPInv_CLI' ); |
|
| 255 | + WP_CLI::add_command('invoicing', 'WPInv_CLI'); |
|
| 256 | 256 | } |
| 257 | 257 | |
| 258 | 258 | } |
@@ -265,21 +265,21 @@ discard block |
||
| 265 | 265 | * @since 1.0.19 |
| 266 | 266 | * @return void |
| 267 | 267 | */ |
| 268 | - public function autoload( $class_name ) { |
|
| 268 | + public function autoload($class_name) { |
|
| 269 | 269 | |
| 270 | 270 | // Normalize the class name... |
| 271 | - $class_name = strtolower( $class_name ); |
|
| 271 | + $class_name = strtolower($class_name); |
|
| 272 | 272 | |
| 273 | 273 | // ... and make sure it is our class. |
| 274 | - if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) { |
|
| 274 | + if (false === strpos($class_name, 'getpaid_') && false === strpos($class_name, 'wpinv_')) { |
|
| 275 | 275 | return; |
| 276 | 276 | } |
| 277 | 277 | |
| 278 | 278 | // Next, prepare the file name from the class. |
| 279 | - $file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php'; |
|
| 279 | + $file_name = 'class-' . str_replace('_', '-', $class_name) . '.php'; |
|
| 280 | 280 | |
| 281 | 281 | // Base path of the classes. |
| 282 | - $plugin_path = untrailingslashit( WPINV_PLUGIN_DIR ); |
|
| 282 | + $plugin_path = untrailingslashit(WPINV_PLUGIN_DIR); |
|
| 283 | 283 | |
| 284 | 284 | // And an array of possible locations in order of importance. |
| 285 | 285 | $locations = array( |
@@ -294,10 +294,10 @@ discard block |
||
| 294 | 294 | "$plugin_path/includes/admin/meta-boxes", |
| 295 | 295 | ); |
| 296 | 296 | |
| 297 | - foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) { |
|
| 297 | + foreach (apply_filters('getpaid_autoload_locations', $locations) as $location) { |
|
| 298 | 298 | |
| 299 | - if ( file_exists( trailingslashit( $location ) . $file_name ) ) { |
|
| 300 | - include trailingslashit( $location ) . $file_name; |
|
| 299 | + if (file_exists(trailingslashit($location) . $file_name)) { |
|
| 300 | + include trailingslashit($location) . $file_name; |
|
| 301 | 301 | break; |
| 302 | 302 | } |
| 303 | 303 | } |
@@ -310,7 +310,7 @@ discard block |
||
| 310 | 310 | public function init() { |
| 311 | 311 | |
| 312 | 312 | // Fires before getpaid inits. |
| 313 | - do_action( 'before_getpaid_init', $this ); |
|
| 313 | + do_action('before_getpaid_init', $this); |
|
| 314 | 314 | |
| 315 | 315 | // Maybe upgrade. |
| 316 | 316 | $this->maybe_upgrade_database(); |
@@ -327,17 +327,17 @@ discard block |
||
| 327 | 327 | ) |
| 328 | 328 | ); |
| 329 | 329 | |
| 330 | - foreach ( $gateways as $id => $class ) { |
|
| 331 | - $this->gateways[ $id ] = new $class(); |
|
| 330 | + foreach ($gateways as $id => $class) { |
|
| 331 | + $this->gateways[$id] = new $class(); |
|
| 332 | 332 | } |
| 333 | 333 | |
| 334 | - if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) { |
|
| 334 | + if ('yes' != get_option('wpinv_renamed_gateways')) { |
|
| 335 | 335 | GetPaid_Installer::rename_gateways_label(); |
| 336 | - update_option( 'wpinv_renamed_gateways', 'yes' ); |
|
| 336 | + update_option('wpinv_renamed_gateways', 'yes'); |
|
| 337 | 337 | } |
| 338 | 338 | |
| 339 | 339 | // Fires after getpaid inits. |
| 340 | - do_action( 'getpaid_init', $this ); |
|
| 340 | + do_action('getpaid_init', $this); |
|
| 341 | 341 | |
| 342 | 342 | } |
| 343 | 343 | |
@@ -347,14 +347,14 @@ discard block |
||
| 347 | 347 | public function maybe_process_ipn() { |
| 348 | 348 | |
| 349 | 349 | // Ensure that this is an IPN request. |
| 350 | - if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) { |
|
| 350 | + if (empty($_GET['wpi-listener']) || 'IPN' !== $_GET['wpi-listener'] || empty($_GET['wpi-gateway'])) { |
|
| 351 | 351 | return; |
| 352 | 352 | } |
| 353 | 353 | |
| 354 | - $gateway = sanitize_text_field( $_GET['wpi-gateway'] ); |
|
| 354 | + $gateway = sanitize_text_field($_GET['wpi-gateway']); |
|
| 355 | 355 | |
| 356 | - do_action( 'wpinv_verify_payment_ipn', $gateway ); |
|
| 357 | - do_action( "wpinv_verify_{$gateway}_ipn" ); |
|
| 356 | + do_action('wpinv_verify_payment_ipn', $gateway); |
|
| 357 | + do_action("wpinv_verify_{$gateway}_ipn"); |
|
| 358 | 358 | exit; |
| 359 | 359 | |
| 360 | 360 | } |
@@ -362,24 +362,24 @@ discard block |
||
| 362 | 362 | public function enqueue_scripts() { |
| 363 | 363 | |
| 364 | 364 | // Fires before adding scripts. |
| 365 | - do_action( 'getpaid_enqueue_scripts' ); |
|
| 365 | + do_action('getpaid_enqueue_scripts'); |
|
| 366 | 366 | |
| 367 | 367 | $localize = array(); |
| 368 | - $localize['ajax_url'] = admin_url( 'admin-ajax.php' ); |
|
| 368 | + $localize['ajax_url'] = admin_url('admin-ajax.php'); |
|
| 369 | 369 | $localize['thousands'] = wpinv_thousands_separator(); |
| 370 | 370 | $localize['decimals'] = wpinv_decimal_separator(); |
| 371 | - $localize['nonce'] = wp_create_nonce( 'wpinv-nonce' ); |
|
| 372 | - $localize['txtComplete'] = __( 'Continue', 'invoicing' ); |
|
| 371 | + $localize['nonce'] = wp_create_nonce('wpinv-nonce'); |
|
| 372 | + $localize['txtComplete'] = __('Continue', 'invoicing'); |
|
| 373 | 373 | $localize['UseTaxes'] = wpinv_use_taxes(); |
| 374 | - $localize['formNonce'] = wp_create_nonce( 'getpaid_form_nonce' ); |
|
| 375 | - $localize['loading'] = __( 'Loading...', 'invoicing' ); |
|
| 376 | - $localize['connectionError'] = __( 'Could not establish a connection to the server.', 'invoicing' ); |
|
| 374 | + $localize['formNonce'] = wp_create_nonce('getpaid_form_nonce'); |
|
| 375 | + $localize['loading'] = __('Loading...', 'invoicing'); |
|
| 376 | + $localize['connectionError'] = __('Could not establish a connection to the server.', 'invoicing'); |
|
| 377 | 377 | $localize['recaptchaSettings'] = getpaid_get_recaptcha_settings(); |
| 378 | 378 | |
| 379 | - $localize = apply_filters( 'wpinv_front_js_localize', $localize ); |
|
| 379 | + $localize = apply_filters('wpinv_front_js_localize', $localize); |
|
| 380 | 380 | |
| 381 | 381 | // reCaptcha. |
| 382 | - if ( getpaid_is_recaptcha_enabled() ) { |
|
| 382 | + if (getpaid_is_recaptcha_enabled()) { |
|
| 383 | 383 | $url = apply_filters( |
| 384 | 384 | 'getpaid_recaptcha_api_url', |
| 385 | 385 | add_query_arg( |
@@ -389,21 +389,21 @@ discard block |
||
| 389 | 389 | 'https://www.google.com/recaptcha/api.js' |
| 390 | 390 | ) |
| 391 | 391 | ); |
| 392 | - wp_enqueue_script( 'recaptcha', $url, array(), null, true ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion |
|
| 392 | + wp_enqueue_script('recaptcha', $url, array(), null, true); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion |
|
| 393 | 393 | } |
| 394 | 394 | |
| 395 | - $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' ); |
|
| 396 | - wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ), $version, true ); |
|
| 397 | - wp_localize_script( 'wpinv-front-script', 'WPInv', $localize ); |
|
| 395 | + $version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js'); |
|
| 396 | + wp_enqueue_script('wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array('jquery'), $version, true); |
|
| 397 | + wp_localize_script('wpinv-front-script', 'WPInv', $localize); |
|
| 398 | 398 | } |
| 399 | 399 | |
| 400 | 400 | public function wpinv_actions() { |
| 401 | - if ( isset( $_REQUEST['wpi_action'] ) ) { |
|
| 402 | - do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST ); |
|
| 401 | + if (isset($_REQUEST['wpi_action'])) { |
|
| 402 | + do_action('wpinv_' . wpinv_sanitize_key($_REQUEST['wpi_action']), $_REQUEST); |
|
| 403 | 403 | } |
| 404 | 404 | |
| 405 | - if ( defined( 'WP_ALL_IMPORT_ROOT_DIR' ) ) { |
|
| 406 | - include plugin_dir_path( __FILE__ ) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php'; |
|
| 405 | + if (defined('WP_ALL_IMPORT_ROOT_DIR')) { |
|
| 406 | + include plugin_dir_path(__FILE__) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php'; |
|
| 407 | 407 | } |
| 408 | 408 | } |
| 409 | 409 | |
@@ -415,24 +415,24 @@ discard block |
||
| 415 | 415 | */ |
| 416 | 416 | public function maybe_do_authenticated_action() { |
| 417 | 417 | |
| 418 | - if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) { |
|
| 418 | + if (isset($_REQUEST['getpaid-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce')) { |
|
| 419 | 419 | |
| 420 | - $key = sanitize_key( $_REQUEST['getpaid-action'] ); |
|
| 421 | - $data = wp_unslash( $_REQUEST ); |
|
| 422 | - if ( is_user_logged_in() ) { |
|
| 423 | - do_action( "getpaid_authenticated_action_$key", $data ); |
|
| 420 | + $key = sanitize_key($_REQUEST['getpaid-action']); |
|
| 421 | + $data = wp_unslash($_REQUEST); |
|
| 422 | + if (is_user_logged_in()) { |
|
| 423 | + do_action("getpaid_authenticated_action_$key", $data); |
|
| 424 | 424 | } |
| 425 | 425 | |
| 426 | - do_action( "getpaid_unauthenticated_action_$key", $data ); |
|
| 426 | + do_action("getpaid_unauthenticated_action_$key", $data); |
|
| 427 | 427 | |
| 428 | 428 | } |
| 429 | 429 | |
| 430 | 430 | } |
| 431 | 431 | |
| 432 | - public function pre_get_posts( $wp_query ) { |
|
| 432 | + public function pre_get_posts($wp_query) { |
|
| 433 | 433 | |
| 434 | - if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) { |
|
| 435 | - $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) ); |
|
| 434 | + if (!is_admin() && !empty($wp_query->query_vars['post_type']) && getpaid_is_invoice_post_type($wp_query->query_vars['post_type']) && is_user_logged_in() && is_single() && $wp_query->is_main_query()) { |
|
| 435 | + $wp_query->query_vars['post_status'] = array_keys(wpinv_get_invoice_statuses(false, false, $wp_query->query_vars['post_type'])); |
|
| 436 | 436 | } |
| 437 | 437 | |
| 438 | 438 | return $wp_query; |
@@ -447,18 +447,18 @@ discard block |
||
| 447 | 447 | |
| 448 | 448 | // Currently, UX Builder does not work particulaly well with SuperDuper. |
| 449 | 449 | // So we disable our widgets when editing a page with UX Builder. |
| 450 | - if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) { |
|
| 450 | + if (function_exists('ux_builder_is_active') && ux_builder_is_active()) { |
|
| 451 | 451 | return; |
| 452 | 452 | } |
| 453 | 453 | |
| 454 | - $block_widget_init_screens = function_exists( 'sd_pagenow_exclude' ) ? sd_pagenow_exclude() : array(); |
|
| 454 | + $block_widget_init_screens = function_exists('sd_pagenow_exclude') ? sd_pagenow_exclude() : array(); |
|
| 455 | 455 | |
| 456 | - if ( is_admin() && $pagenow && in_array( $pagenow, $block_widget_init_screens ) ) { |
|
| 456 | + if (is_admin() && $pagenow && in_array($pagenow, $block_widget_init_screens)) { |
|
| 457 | 457 | // don't initiate in these conditions. |
| 458 | 458 | } else { |
| 459 | 459 | |
| 460 | 460 | // Only load allowed widgets. |
| 461 | - $exclude = function_exists( 'sd_widget_exclude' ) ? sd_widget_exclude() : array(); |
|
| 461 | + $exclude = function_exists('sd_widget_exclude') ? sd_widget_exclude() : array(); |
|
| 462 | 462 | $widgets = apply_filters( |
| 463 | 463 | 'getpaid_widget_classes', |
| 464 | 464 | array( |
@@ -474,16 +474,16 @@ discard block |
||
| 474 | 474 | ); |
| 475 | 475 | |
| 476 | 476 | // For each widget... |
| 477 | - foreach ( $widgets as $widget ) { |
|
| 477 | + foreach ($widgets as $widget) { |
|
| 478 | 478 | |
| 479 | 479 | // Abort early if it is excluded for this page. |
| 480 | - if ( in_array( $widget, $exclude ) ) { |
|
| 480 | + if (in_array($widget, $exclude)) { |
|
| 481 | 481 | continue; |
| 482 | 482 | } |
| 483 | 483 | |
| 484 | 484 | // SD V1 used to extend the widget class. V2 does not, so we cannot call register widget on it. |
| 485 | - if ( is_subclass_of( $widget, 'WP_Widget' ) ) { |
|
| 486 | - register_widget( $widget ); |
|
| 485 | + if (is_subclass_of($widget, 'WP_Widget')) { |
|
| 486 | + register_widget($widget); |
|
| 487 | 487 | } else { |
| 488 | 488 | new $widget(); |
| 489 | 489 | } |
@@ -502,29 +502,29 @@ discard block |
||
| 502 | 502 | // Ensure the database tables are up to date. |
| 503 | 503 | GetPaid_Installer::maybe_create_db_tables(); |
| 504 | 504 | |
| 505 | - $wpi_version = get_option( 'wpinv_version', 0 ); |
|
| 505 | + $wpi_version = get_option('wpinv_version', 0); |
|
| 506 | 506 | |
| 507 | - if ( $wpi_version == WPINV_VERSION ) { |
|
| 507 | + if ($wpi_version == WPINV_VERSION) { |
|
| 508 | 508 | return; |
| 509 | 509 | } |
| 510 | 510 | |
| 511 | 511 | $installer = new GetPaid_Installer(); |
| 512 | 512 | |
| 513 | - if ( empty( $wpi_version ) ) { |
|
| 514 | - return $installer->upgrade_db( 0 ); |
|
| 513 | + if (empty($wpi_version)) { |
|
| 514 | + return $installer->upgrade_db(0); |
|
| 515 | 515 | } |
| 516 | 516 | |
| 517 | - $upgrades = array( |
|
| 517 | + $upgrades = array( |
|
| 518 | 518 | '0.0.5' => '004', |
| 519 | 519 | '1.0.3' => '102', |
| 520 | 520 | '2.0.0' => '118', |
| 521 | 521 | '2.8.0' => '279', |
| 522 | 522 | ); |
| 523 | 523 | |
| 524 | - foreach ( $upgrades as $key => $method ) { |
|
| 524 | + foreach ($upgrades as $key => $method) { |
|
| 525 | 525 | |
| 526 | - if ( version_compare( $wpi_version, $key, '<' ) ) { |
|
| 527 | - return $installer->upgrade_db( $method ); |
|
| 526 | + if (version_compare($wpi_version, $key, '<')) { |
|
| 527 | + return $installer->upgrade_db($method); |
|
| 528 | 528 | } |
| 529 | 529 | } |
| 530 | 530 | |
@@ -537,11 +537,11 @@ discard block |
||
| 537 | 537 | */ |
| 538 | 538 | public function maybe_flush_permalinks() { |
| 539 | 539 | |
| 540 | - $flush = get_option( 'wpinv_flush_permalinks', 0 ); |
|
| 540 | + $flush = get_option('wpinv_flush_permalinks', 0); |
|
| 541 | 541 | |
| 542 | - if ( ! empty( $flush ) ) { |
|
| 542 | + if (!empty($flush)) { |
|
| 543 | 543 | flush_rewrite_rules(); |
| 544 | - delete_option( 'wpinv_flush_permalinks' ); |
|
| 544 | + delete_option('wpinv_flush_permalinks'); |
|
| 545 | 545 | } |
| 546 | 546 | |
| 547 | 547 | } |
@@ -552,10 +552,10 @@ discard block |
||
| 552 | 552 | * @since 1.0.19 |
| 553 | 553 | * @param int[] $excluded_posts_ids |
| 554 | 554 | */ |
| 555 | - public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ) { |
|
| 555 | + public function wpseo_exclude_from_sitemap_by_post_ids($excluded_posts_ids) { |
|
| 556 | 556 | |
| 557 | 557 | // Ensure that we have an array. |
| 558 | - if ( ! is_array( $excluded_posts_ids ) ) { |
|
| 558 | + if (!is_array($excluded_posts_ids)) { |
|
| 559 | 559 | $excluded_posts_ids = array(); |
| 560 | 560 | } |
| 561 | 561 | |
@@ -563,24 +563,24 @@ discard block |
||
| 563 | 563 | $our_pages = array(); |
| 564 | 564 | |
| 565 | 565 | // Checkout page. |
| 566 | - $our_pages[] = wpinv_get_option( 'checkout_page', false ); |
|
| 566 | + $our_pages[] = wpinv_get_option('checkout_page', false); |
|
| 567 | 567 | |
| 568 | 568 | // Success page. |
| 569 | - $our_pages[] = wpinv_get_option( 'success_page', false ); |
|
| 569 | + $our_pages[] = wpinv_get_option('success_page', false); |
|
| 570 | 570 | |
| 571 | 571 | // Failure page. |
| 572 | - $our_pages[] = wpinv_get_option( 'failure_page', false ); |
|
| 572 | + $our_pages[] = wpinv_get_option('failure_page', false); |
|
| 573 | 573 | |
| 574 | 574 | // History page. |
| 575 | - $our_pages[] = wpinv_get_option( 'invoice_history_page', false ); |
|
| 575 | + $our_pages[] = wpinv_get_option('invoice_history_page', false); |
|
| 576 | 576 | |
| 577 | 577 | // Subscriptions page. |
| 578 | - $our_pages[] = wpinv_get_option( 'invoice_subscription_page', false ); |
|
| 578 | + $our_pages[] = wpinv_get_option('invoice_subscription_page', false); |
|
| 579 | 579 | |
| 580 | - $our_pages = array_map( 'intval', array_filter( $our_pages ) ); |
|
| 580 | + $our_pages = array_map('intval', array_filter($our_pages)); |
|
| 581 | 581 | |
| 582 | 582 | $excluded_posts_ids = $excluded_posts_ids + $our_pages; |
| 583 | - return array_unique( $excluded_posts_ids ); |
|
| 583 | + return array_unique($excluded_posts_ids); |
|
| 584 | 584 | |
| 585 | 585 | } |
| 586 | 586 | |
@@ -590,15 +590,15 @@ discard block |
||
| 590 | 590 | * @since 1.0.19 |
| 591 | 591 | * @param string[] $post_types |
| 592 | 592 | */ |
| 593 | - public function exclude_invoicing_post_types( $post_types ) { |
|
| 593 | + public function exclude_invoicing_post_types($post_types) { |
|
| 594 | 594 | |
| 595 | 595 | // Ensure that we have an array. |
| 596 | - if ( ! is_array( $post_types ) ) { |
|
| 596 | + if (!is_array($post_types)) { |
|
| 597 | 597 | $post_types = array(); |
| 598 | 598 | } |
| 599 | 599 | |
| 600 | 600 | // Remove our post types. |
| 601 | - return array_diff( $post_types, array_keys( getpaid_get_invoice_post_types() ) ); |
|
| 601 | + return array_diff($post_types, array_keys(getpaid_get_invoice_post_types())); |
|
| 602 | 602 | } |
| 603 | 603 | |
| 604 | 604 | /** |
@@ -607,7 +607,7 @@ discard block |
||
| 607 | 607 | * @since 2.0.0 |
| 608 | 608 | */ |
| 609 | 609 | public function wp_footer() { |
| 610 | - wpinv_get_template( 'frontend-footer.php' ); |
|
| 610 | + wpinv_get_template('frontend-footer.php'); |
|
| 611 | 611 | } |
| 612 | 612 | |
| 613 | 613 | /** |
@@ -616,14 +616,14 @@ discard block |
||
| 616 | 616 | * @since 2.0.0 |
| 617 | 617 | */ |
| 618 | 618 | public function wp_head() { |
| 619 | - wpinv_get_template( 'frontend-head.php' ); |
|
| 619 | + wpinv_get_template('frontend-head.php'); |
|
| 620 | 620 | } |
| 621 | 621 | |
| 622 | 622 | /** |
| 623 | 623 | * Custom query vars. |
| 624 | 624 | * |
| 625 | 625 | */ |
| 626 | - public function custom_query_vars( $vars ) { |
|
| 626 | + public function custom_query_vars($vars) { |
|
| 627 | 627 | $vars[] = 'getpaid-ipn'; |
| 628 | 628 | return $vars; |
| 629 | 629 | } |
@@ -634,28 +634,28 @@ discard block |
||
| 634 | 634 | */ |
| 635 | 635 | public function add_rewrite_rule() { |
| 636 | 636 | $tag = 'getpaid-ipn'; |
| 637 | - add_rewrite_tag( "%$tag%", '([^&]+)' ); |
|
| 638 | - add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top' ); |
|
| 637 | + add_rewrite_tag("%$tag%", '([^&]+)'); |
|
| 638 | + add_rewrite_rule("^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top'); |
|
| 639 | 639 | } |
| 640 | 640 | |
| 641 | 641 | /** |
| 642 | 642 | * Processes non-query string ipns. |
| 643 | 643 | * |
| 644 | 644 | */ |
| 645 | - public function maybe_process_new_ipn( $query ) { |
|
| 645 | + public function maybe_process_new_ipn($query) { |
|
| 646 | 646 | |
| 647 | - if ( is_admin() || ! $query->is_main_query() ) { |
|
| 647 | + if (is_admin() || !$query->is_main_query()) { |
|
| 648 | 648 | return; |
| 649 | 649 | } |
| 650 | 650 | |
| 651 | - $gateway = get_query_var( 'getpaid-ipn' ); |
|
| 651 | + $gateway = get_query_var('getpaid-ipn'); |
|
| 652 | 652 | |
| 653 | - if ( ! empty( $gateway ) ) { |
|
| 653 | + if (!empty($gateway)) { |
|
| 654 | 654 | |
| 655 | - $gateway = sanitize_text_field( $gateway ); |
|
| 655 | + $gateway = sanitize_text_field($gateway); |
|
| 656 | 656 | nocache_headers(); |
| 657 | - do_action( 'wpinv_verify_payment_ipn', $gateway ); |
|
| 658 | - do_action( "wpinv_verify_{$gateway}_ipn" ); |
|
| 657 | + do_action('wpinv_verify_payment_ipn', $gateway); |
|
| 658 | + do_action("wpinv_verify_{$gateway}_ipn"); |
|
| 659 | 659 | exit; |
| 660 | 660 | |
| 661 | 661 | } |