@@ -14,94 +14,94 @@ discard block |
||
| 14 | 14 | class GetPaid_Admin { |
| 15 | 15 | |
| 16 | 16 | /** |
| 17 | - * Local path to this plugins admin directory |
|
| 18 | - * |
|
| 19 | - * @var string |
|
| 20 | - */ |
|
| 21 | - public $admin_path; |
|
| 22 | - |
|
| 23 | - /** |
|
| 24 | - * Web path to this plugins admin directory |
|
| 25 | - * |
|
| 26 | - * @var string |
|
| 27 | - */ |
|
| 28 | - public $admin_url; |
|
| 29 | - |
|
| 30 | - /** |
|
| 31 | - * Reports components. |
|
| 32 | - * |
|
| 33 | - * @var GetPaid_Reports |
|
| 34 | - */ |
|
| 17 | + * Local path to this plugins admin directory |
|
| 18 | + * |
|
| 19 | + * @var string |
|
| 20 | + */ |
|
| 21 | + public $admin_path; |
|
| 22 | + |
|
| 23 | + /** |
|
| 24 | + * Web path to this plugins admin directory |
|
| 25 | + * |
|
| 26 | + * @var string |
|
| 27 | + */ |
|
| 28 | + public $admin_url; |
|
| 29 | + |
|
| 30 | + /** |
|
| 31 | + * Reports components. |
|
| 32 | + * |
|
| 33 | + * @var GetPaid_Reports |
|
| 34 | + */ |
|
| 35 | 35 | public $reports; |
| 36 | 36 | |
| 37 | 37 | /** |
| 38 | - * Class constructor. |
|
| 39 | - */ |
|
| 40 | - public function __construct() { |
|
| 38 | + * Class constructor. |
|
| 39 | + */ |
|
| 40 | + public function __construct() { |
|
| 41 | 41 | |
| 42 | 42 | $this->admin_path = plugin_dir_path( __FILE__ ); |
| 43 | - $this->admin_url = plugins_url( '/', __FILE__ ); |
|
| 44 | - $this->reports = new GetPaid_Reports(); |
|
| 43 | + $this->admin_url = plugins_url( '/', __FILE__ ); |
|
| 44 | + $this->reports = new GetPaid_Reports(); |
|
| 45 | 45 | |
| 46 | 46 | if ( is_admin() ) { |
| 47 | - $this->init_admin_hooks(); |
|
| 47 | + $this->init_admin_hooks(); |
|
| 48 | 48 | } |
| 49 | 49 | |
| 50 | 50 | } |
| 51 | 51 | |
| 52 | 52 | /** |
| 53 | - * Init action and filter hooks |
|
| 54 | - * |
|
| 55 | - */ |
|
| 56 | - private function init_admin_hooks() { |
|
| 53 | + * Init action and filter hooks |
|
| 54 | + * |
|
| 55 | + */ |
|
| 56 | + private function init_admin_hooks() { |
|
| 57 | 57 | add_action( 'admin_enqueue_scripts', array( $this, 'enqeue_scripts' ), 9 ); |
| 58 | 58 | add_filter( 'admin_body_class', array( $this, 'admin_body_class' ) ); |
| 59 | 59 | add_action( 'admin_init', array( $this, 'init_ayecode_connect_helper' ) ); |
| 60 | 60 | add_action( 'admin_init', array( $this, 'activation_redirect' ) ); |
| 61 | 61 | add_action( 'admin_init', array( $this, 'maybe_do_admin_action' ) ); |
| 62 | - add_action( 'admin_notices', array( $this, 'show_notices' ) ); |
|
| 63 | - add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) ); |
|
| 64 | - add_action( 'getpaid_authenticated_admin_action_duplicate_form', array( $this, 'duplicate_payment_form' ) ); |
|
| 65 | - add_action( 'getpaid_authenticated_admin_action_reset_form_stats', array( $this, 'reset_form_stats' ) ); |
|
| 66 | - add_action( 'getpaid_authenticated_admin_action_duplicate_invoice', array( $this, 'duplicate_invoice' ) ); |
|
| 67 | - add_action( 'getpaid_authenticated_admin_action_refund_invoice', array( $this, 'refund_invoice' ) ); |
|
| 68 | - add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) ); |
|
| 69 | - add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) ); |
|
| 62 | + add_action( 'admin_notices', array( $this, 'show_notices' ) ); |
|
| 63 | + add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) ); |
|
| 64 | + add_action( 'getpaid_authenticated_admin_action_duplicate_form', array( $this, 'duplicate_payment_form' ) ); |
|
| 65 | + add_action( 'getpaid_authenticated_admin_action_reset_form_stats', array( $this, 'reset_form_stats' ) ); |
|
| 66 | + add_action( 'getpaid_authenticated_admin_action_duplicate_invoice', array( $this, 'duplicate_invoice' ) ); |
|
| 67 | + add_action( 'getpaid_authenticated_admin_action_refund_invoice', array( $this, 'refund_invoice' ) ); |
|
| 68 | + add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) ); |
|
| 69 | + add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) ); |
|
| 70 | 70 | add_action( 'getpaid_authenticated_admin_action_reset_tax_rates', array( $this, 'admin_reset_tax_rates' ) ); |
| 71 | - add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) ); |
|
| 72 | - add_action( 'getpaid_authenticated_admin_action_refresh_permalinks', array( $this, 'admin_refresh_permalinks' ) ); |
|
| 73 | - add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) ); |
|
| 74 | - add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) ); |
|
| 75 | - add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) ); |
|
| 76 | - add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) ); |
|
| 77 | - add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) ); |
|
| 78 | - add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) ); |
|
| 79 | - add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) ); |
|
| 80 | - do_action( 'getpaid_init_admin_hooks', $this ); |
|
| 81 | - |
|
| 82 | - // Setup/welcome |
|
| 83 | - if ( ! empty( $_GET['page'] ) ) { |
|
| 84 | - switch ( sanitize_text_field( $_GET['page'] ) ) { |
|
| 85 | - case 'gp-setup': |
|
| 86 | - include_once dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php'; |
|
| 87 | - break; |
|
| 88 | - } |
|
| 89 | - } |
|
| 90 | - |
|
| 91 | - } |
|
| 92 | - |
|
| 93 | - /** |
|
| 94 | - * Register admin scripts |
|
| 95 | - * |
|
| 96 | - */ |
|
| 97 | - public function enqeue_scripts() { |
|
| 71 | + add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) ); |
|
| 72 | + add_action( 'getpaid_authenticated_admin_action_refresh_permalinks', array( $this, 'admin_refresh_permalinks' ) ); |
|
| 73 | + add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) ); |
|
| 74 | + add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) ); |
|
| 75 | + add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) ); |
|
| 76 | + add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) ); |
|
| 77 | + add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) ); |
|
| 78 | + add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) ); |
|
| 79 | + add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) ); |
|
| 80 | + do_action( 'getpaid_init_admin_hooks', $this ); |
|
| 81 | + |
|
| 82 | + // Setup/welcome |
|
| 83 | + if ( ! empty( $_GET['page'] ) ) { |
|
| 84 | + switch ( sanitize_text_field( $_GET['page'] ) ) { |
|
| 85 | + case 'gp-setup': |
|
| 86 | + include_once dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php'; |
|
| 87 | + break; |
|
| 88 | + } |
|
| 89 | + } |
|
| 90 | + |
|
| 91 | + } |
|
| 92 | + |
|
| 93 | + /** |
|
| 94 | + * Register admin scripts |
|
| 95 | + * |
|
| 96 | + */ |
|
| 97 | + public function enqeue_scripts() { |
|
| 98 | 98 | global $current_screen, $pagenow; |
| 99 | 99 | |
| 100 | - $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : ''; |
|
| 101 | - $editing = $pagenow == 'post.php' || $pagenow == 'post-new.php'; |
|
| 100 | + $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : ''; |
|
| 101 | + $editing = $pagenow == 'post.php' || $pagenow == 'post-new.php'; |
|
| 102 | 102 | |
| 103 | 103 | if ( ! empty( $current_screen->post_type ) ) { |
| 104 | - $page = $current_screen->post_type; |
|
| 104 | + $page = $current_screen->post_type; |
|
| 105 | 105 | } |
| 106 | 106 | |
| 107 | 107 | // General styles. |
@@ -122,53 +122,53 @@ discard block |
||
| 122 | 122 | } |
| 123 | 123 | |
| 124 | 124 | // Payment form scripts. |
| 125 | - if ( 'wpi_payment_form' == $page && $editing ) { |
|
| 125 | + if ( 'wpi_payment_form' == $page && $editing ) { |
|
| 126 | 126 | $this->load_payment_form_scripts(); |
| 127 | 127 | } |
| 128 | 128 | |
| 129 | - if ( $page == 'wpinv-subscriptions' ) { |
|
| 130 | - wp_enqueue_script( 'postbox' ); |
|
| 131 | - } |
|
| 129 | + if ( $page == 'wpinv-subscriptions' ) { |
|
| 130 | + wp_enqueue_script( 'postbox' ); |
|
| 131 | + } |
|
| 132 | 132 | |
| 133 | 133 | } |
| 134 | 134 | |
| 135 | 135 | /** |
| 136 | - * Returns admin js translations. |
|
| 137 | - * |
|
| 138 | - */ |
|
| 139 | - protected function get_admin_i18() { |
|
| 136 | + * Returns admin js translations. |
|
| 137 | + * |
|
| 138 | + */ |
|
| 139 | + protected function get_admin_i18() { |
|
| 140 | 140 | global $post; |
| 141 | 141 | |
| 142 | - $date_range = array( |
|
| 143 | - 'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days', |
|
| 144 | - ); |
|
| 142 | + $date_range = array( |
|
| 143 | + 'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days', |
|
| 144 | + ); |
|
| 145 | 145 | |
| 146 | - if ( $date_range['period'] == 'custom' ) { |
|
| 146 | + if ( $date_range['period'] == 'custom' ) { |
|
| 147 | 147 | |
| 148 | - if ( isset( $_GET['from'] ) ) { |
|
| 149 | - $date_range['after'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS ); |
|
| 150 | - } |
|
| 148 | + if ( isset( $_GET['from'] ) ) { |
|
| 149 | + $date_range['after'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS ); |
|
| 150 | + } |
|
| 151 | 151 | |
| 152 | - if ( isset( $_GET['to'] ) ) { |
|
| 153 | - $date_range['before'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS ); |
|
| 154 | - } |
|
| 152 | + if ( isset( $_GET['to'] ) ) { |
|
| 153 | + $date_range['before'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS ); |
|
| 154 | + } |
|
| 155 | 155 | } |
| 156 | 156 | |
| 157 | 157 | $i18n = array( |
| 158 | 158 | 'ajax_url' => admin_url( 'admin-ajax.php' ), |
| 159 | 159 | 'post_ID' => isset( $post->ID ) ? $post->ID : '', |
| 160 | - 'wpinv_nonce' => wp_create_nonce( 'wpinv-nonce' ), |
|
| 161 | - 'rest_nonce' => wp_create_nonce( 'wp_rest' ), |
|
| 162 | - 'rest_root' => esc_url_raw( rest_url() ), |
|
| 163 | - 'date_range' => $date_range, |
|
| 160 | + 'wpinv_nonce' => wp_create_nonce( 'wpinv-nonce' ), |
|
| 161 | + 'rest_nonce' => wp_create_nonce( 'wp_rest' ), |
|
| 162 | + 'rest_root' => esc_url_raw( rest_url() ), |
|
| 163 | + 'date_range' => $date_range, |
|
| 164 | 164 | 'add_invoice_note_nonce' => wp_create_nonce( 'add-invoice-note' ), |
| 165 | 165 | 'delete_invoice_note_nonce' => wp_create_nonce( 'delete-invoice-note' ), |
| 166 | 166 | 'invoice_item_nonce' => wp_create_nonce( 'invoice-item' ), |
| 167 | 167 | 'billing_details_nonce' => wp_create_nonce( 'get-billing-details' ), |
| 168 | 168 | 'tax' => wpinv_tax_amount(), |
| 169 | 169 | 'discount' => 0, |
| 170 | - 'currency_symbol' => wpinv_currency_symbol(), |
|
| 171 | - 'currency' => wpinv_get_currency(), |
|
| 170 | + 'currency_symbol' => wpinv_currency_symbol(), |
|
| 171 | + 'currency' => wpinv_get_currency(), |
|
| 172 | 172 | 'currency_pos' => wpinv_currency_position(), |
| 173 | 173 | 'thousand_sep' => wpinv_thousands_separator(), |
| 174 | 174 | 'decimal_sep' => wpinv_decimal_separator(), |
@@ -188,117 +188,117 @@ discard block |
||
| 188 | 188 | 'item_description' => __( 'Item Description', 'invoicing' ), |
| 189 | 189 | 'invoice_description' => __( 'Invoice Description', 'invoicing' ), |
| 190 | 190 | 'discount_description' => __( 'Discount Description', 'invoicing' ), |
| 191 | - 'searching' => __( 'Searching', 'invoicing' ), |
|
| 192 | - 'loading' => __( 'Loading...', 'invoicing' ), |
|
| 193 | - 'search_customers' => __( 'Enter customer name or email', 'invoicing' ), |
|
| 194 | - 'search_items' => __( 'Enter item name', 'invoicing' ), |
|
| 195 | - 'graphs' => array_merge( array( 'refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax' ), array_keys( wpinv_get_report_graphs() ) ), |
|
| 191 | + 'searching' => __( 'Searching', 'invoicing' ), |
|
| 192 | + 'loading' => __( 'Loading...', 'invoicing' ), |
|
| 193 | + 'search_customers' => __( 'Enter customer name or email', 'invoicing' ), |
|
| 194 | + 'search_items' => __( 'Enter item name', 'invoicing' ), |
|
| 195 | + 'graphs' => array_merge( array( 'refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax' ), array_keys( wpinv_get_report_graphs() ) ), |
|
| 196 | 196 | ); |
| 197 | 197 | |
| 198 | - if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) { |
|
| 198 | + if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) { |
|
| 199 | 199 | |
| 200 | - $invoice = new WPInv_Invoice( $post ); |
|
| 201 | - $i18n['save_invoice'] = sprintf( |
|
| 202 | - __( 'Save %s', 'invoicing' ), |
|
| 203 | - ucfirst( $invoice->get_invoice_quote_type() ) |
|
| 204 | - ); |
|
| 200 | + $invoice = new WPInv_Invoice( $post ); |
|
| 201 | + $i18n['save_invoice'] = sprintf( |
|
| 202 | + __( 'Save %s', 'invoicing' ), |
|
| 203 | + ucfirst( $invoice->get_invoice_quote_type() ) |
|
| 204 | + ); |
|
| 205 | 205 | |
| 206 | - $i18n['invoice_description'] = sprintf( |
|
| 207 | - __( '%s Description', 'invoicing' ), |
|
| 208 | - ucfirst( $invoice->get_invoice_quote_type() ) |
|
| 209 | - ); |
|
| 206 | + $i18n['invoice_description'] = sprintf( |
|
| 207 | + __( '%s Description', 'invoicing' ), |
|
| 208 | + ucfirst( $invoice->get_invoice_quote_type() ) |
|
| 209 | + ); |
|
| 210 | 210 | |
| 211 | - } |
|
| 212 | - return $i18n; |
|
| 213 | - } |
|
| 211 | + } |
|
| 212 | + return $i18n; |
|
| 213 | + } |
|
| 214 | 214 | |
| 215 | - /** |
|
| 216 | - * Change the admin footer text on GetPaid admin pages. |
|
| 217 | - * |
|
| 218 | - * @since 2.0.0 |
|
| 219 | - * @param string $footer_text |
|
| 220 | - * @return string |
|
| 221 | - */ |
|
| 222 | - public function admin_footer_text( $footer_text ) { |
|
| 223 | - global $current_screen; |
|
| 215 | + /** |
|
| 216 | + * Change the admin footer text on GetPaid admin pages. |
|
| 217 | + * |
|
| 218 | + * @since 2.0.0 |
|
| 219 | + * @param string $footer_text |
|
| 220 | + * @return string |
|
| 221 | + */ |
|
| 222 | + public function admin_footer_text( $footer_text ) { |
|
| 223 | + global $current_screen; |
|
| 224 | 224 | |
| 225 | - $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : ''; |
|
| 225 | + $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : ''; |
|
| 226 | 226 | |
| 227 | 227 | if ( ! empty( $current_screen->post_type ) ) { |
| 228 | - $page = $current_screen->post_type; |
|
| 228 | + $page = $current_screen->post_type; |
|
| 229 | 229 | } |
| 230 | 230 | |
| 231 | 231 | // General styles. |
| 232 | 232 | if ( apply_filters( 'getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing() ) && false !== stripos( $page, 'wpi' ) ) { |
| 233 | 233 | |
| 234 | - // Change the footer text |
|
| 235 | - if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) { |
|
| 234 | + // Change the footer text |
|
| 235 | + if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) { |
|
| 236 | 236 | |
| 237 | - $rating_url = esc_url( |
|
| 238 | - wp_nonce_url( |
|
| 239 | - admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ), |
|
| 240 | - 'getpaid-nonce', |
|
| 241 | - 'getpaid-nonce' |
|
| 237 | + $rating_url = esc_url( |
|
| 238 | + wp_nonce_url( |
|
| 239 | + admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ), |
|
| 240 | + 'getpaid-nonce', |
|
| 241 | + 'getpaid-nonce' |
|
| 242 | 242 | ) |
| 243 | - ); |
|
| 243 | + ); |
|
| 244 | 244 | |
| 245 | - $footer_text = sprintf( |
|
| 246 | - /* translators: %s: five stars */ |
|
| 247 | - __( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ), |
|
| 248 | - "<a href='$rating_url'>★★★★★</a>" |
|
| 249 | - ); |
|
| 245 | + $footer_text = sprintf( |
|
| 246 | + /* translators: %s: five stars */ |
|
| 247 | + __( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ), |
|
| 248 | + "<a href='$rating_url'>★★★★★</a>" |
|
| 249 | + ); |
|
| 250 | 250 | |
| 251 | - } else { |
|
| 251 | + } else { |
|
| 252 | 252 | |
| 253 | - $footer_text = sprintf( |
|
| 254 | - /* translators: %s: GetPaid */ |
|
| 255 | - __( 'Thank you for using %s!', 'invoicing' ), |
|
| 256 | - "<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>" |
|
| 257 | - ); |
|
| 253 | + $footer_text = sprintf( |
|
| 254 | + /* translators: %s: GetPaid */ |
|
| 255 | + __( 'Thank you for using %s!', 'invoicing' ), |
|
| 256 | + "<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>" |
|
| 257 | + ); |
|
| 258 | 258 | |
| 259 | - } |
|
| 259 | + } |
|
| 260 | 260 | } |
| 261 | 261 | |
| 262 | - return $footer_text; |
|
| 263 | - } |
|
| 264 | - |
|
| 265 | - /** |
|
| 266 | - * Redirects to wp.org to rate the plugin. |
|
| 267 | - * |
|
| 268 | - * @since 2.0.0 |
|
| 269 | - */ |
|
| 270 | - public function redirect_to_wordpress_rating_page() { |
|
| 271 | - update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 ); |
|
| 272 | - wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' ); |
|
| 273 | - exit; |
|
| 274 | - } |
|
| 275 | - |
|
| 276 | - /** |
|
| 277 | - * Loads payment form js. |
|
| 278 | - * |
|
| 279 | - */ |
|
| 280 | - protected function load_payment_form_scripts() { |
|
| 262 | + return $footer_text; |
|
| 263 | + } |
|
| 264 | + |
|
| 265 | + /** |
|
| 266 | + * Redirects to wp.org to rate the plugin. |
|
| 267 | + * |
|
| 268 | + * @since 2.0.0 |
|
| 269 | + */ |
|
| 270 | + public function redirect_to_wordpress_rating_page() { |
|
| 271 | + update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 ); |
|
| 272 | + wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' ); |
|
| 273 | + exit; |
|
| 274 | + } |
|
| 275 | + |
|
| 276 | + /** |
|
| 277 | + * Loads payment form js. |
|
| 278 | + * |
|
| 279 | + */ |
|
| 280 | + protected function load_payment_form_scripts() { |
|
| 281 | 281 | global $post; |
| 282 | 282 | |
| 283 | 283 | wp_enqueue_script( 'vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.min.js', array(), WPINV_VERSION ); |
| 284 | - wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION ); |
|
| 285 | - wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION ); |
|
| 284 | + wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION ); |
|
| 285 | + wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION ); |
|
| 286 | 286 | |
| 287 | - wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.min.js', array( 'wpinv-admin-script', 'vue_draggable', 'wp-hooks' ), WPINV_VERSION ); |
|
| 287 | + wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.min.js', array( 'wpinv-admin-script', 'vue_draggable', 'wp-hooks' ), WPINV_VERSION ); |
|
| 288 | 288 | |
| 289 | - wp_localize_script( |
|
| 289 | + wp_localize_script( |
|
| 290 | 290 | 'wpinv-admin-payment-form-script', |
| 291 | 291 | 'wpinvPaymentFormAdmin', |
| 292 | 292 | array( |
| 293 | - 'elements' => wpinv_get_data( 'payment-form-elements' ), |
|
| 294 | - 'form_elements' => getpaid_get_payment_form_elements( $post->ID ), |
|
| 295 | - 'currency' => wpinv_currency_symbol(), |
|
| 296 | - 'position' => wpinv_currency_position(), |
|
| 297 | - 'decimals' => (int) wpinv_decimals(), |
|
| 298 | - 'thousands_sep' => wpinv_thousands_separator(), |
|
| 299 | - 'decimals_sep' => wpinv_decimal_separator(), |
|
| 300 | - 'form_items' => gepaid_get_form_items( $post->ID ), |
|
| 301 | - 'is_default' => $post->ID == wpinv_get_default_payment_form(), |
|
| 293 | + 'elements' => wpinv_get_data( 'payment-form-elements' ), |
|
| 294 | + 'form_elements' => getpaid_get_payment_form_elements( $post->ID ), |
|
| 295 | + 'currency' => wpinv_currency_symbol(), |
|
| 296 | + 'position' => wpinv_currency_position(), |
|
| 297 | + 'decimals' => (int) wpinv_decimals(), |
|
| 298 | + 'thousands_sep' => wpinv_thousands_separator(), |
|
| 299 | + 'decimals_sep' => wpinv_decimal_separator(), |
|
| 300 | + 'form_items' => gepaid_get_form_items( $post->ID ), |
|
| 301 | + 'is_default' => $post->ID == wpinv_get_default_payment_form(), |
|
| 302 | 302 | ) |
| 303 | 303 | ); |
| 304 | 304 | |
@@ -307,19 +307,19 @@ discard block |
||
| 307 | 307 | } |
| 308 | 308 | |
| 309 | 309 | /** |
| 310 | - * Add our classes to admin pages. |
|
| 310 | + * Add our classes to admin pages. |
|
| 311 | 311 | * |
| 312 | 312 | * @param string $classes |
| 313 | 313 | * @return string |
| 314 | - * |
|
| 315 | - */ |
|
| 314 | + * |
|
| 315 | + */ |
|
| 316 | 316 | public function admin_body_class( $classes ) { |
| 317 | - global $pagenow, $post, $current_screen; |
|
| 317 | + global $pagenow, $post, $current_screen; |
|
| 318 | 318 | |
| 319 | 319 | $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : ''; |
| 320 | 320 | |
| 321 | 321 | if ( ! empty( $current_screen->post_type ) ) { |
| 322 | - $page = $current_screen->post_type; |
|
| 322 | + $page = $current_screen->post_type; |
|
| 323 | 323 | } |
| 324 | 324 | |
| 325 | 325 | if ( false !== stripos( $page, 'wpi' ) ) { |
@@ -328,70 +328,70 @@ discard block |
||
| 328 | 328 | |
| 329 | 329 | if ( in_array( $page, wpinv_parse_list( 'wpi_invoice wpi_payment_form wpi_quote' ) ) ) { |
| 330 | 330 | $classes .= ' wpinv-cpt wpinv'; |
| 331 | - } |
|
| 331 | + } |
|
| 332 | 332 | |
| 333 | - if ( getpaid_is_invoice_post_type( $page ) ) { |
|
| 333 | + if ( getpaid_is_invoice_post_type( $page ) ) { |
|
| 334 | 334 | $classes .= ' getpaid-is-invoice-cpt'; |
| 335 | 335 | } |
| 336 | 336 | |
| 337 | - return $classes; |
|
| 337 | + return $classes; |
|
| 338 | 338 | } |
| 339 | 339 | |
| 340 | 340 | /** |
| 341 | - * Maybe show the AyeCode Connect Notice. |
|
| 342 | - */ |
|
| 343 | - public function init_ayecode_connect_helper() { |
|
| 341 | + * Maybe show the AyeCode Connect Notice. |
|
| 342 | + */ |
|
| 343 | + public function init_ayecode_connect_helper() { |
|
| 344 | 344 | |
| 345 | - // Register with the deactivation survey class. |
|
| 346 | - AyeCode_Deactivation_Survey::instance( |
|
| 345 | + // Register with the deactivation survey class. |
|
| 346 | + AyeCode_Deactivation_Survey::instance( |
|
| 347 | 347 | array( |
| 348 | - 'slug' => 'invoicing', |
|
| 349 | - 'version' => WPINV_VERSION, |
|
| 350 | - 'support_url' => 'https://wpgetpaid.com/support/', |
|
| 351 | - 'documentation_url' => 'https://docs.wpgetpaid.com/', |
|
| 352 | - 'activated' => (int) get_option( 'gepaid_installed_on' ), |
|
| 348 | + 'slug' => 'invoicing', |
|
| 349 | + 'version' => WPINV_VERSION, |
|
| 350 | + 'support_url' => 'https://wpgetpaid.com/support/', |
|
| 351 | + 'documentation_url' => 'https://docs.wpgetpaid.com/', |
|
| 352 | + 'activated' => (int) get_option( 'gepaid_installed_on' ), |
|
| 353 | 353 | ) |
| 354 | 354 | ); |
| 355 | 355 | |
| 356 | 356 | new AyeCode_Connect_Helper( |
| 357 | 357 | array( |
| 358 | - 'connect_title' => __( 'WP Invoicing - an AyeCode product!', 'invoicing' ), |
|
| 359 | - 'connect_external' => __( 'Please confirm you wish to connect your site?', 'invoicing' ), |
|
| 360 | - 'connect' => sprintf( __( '<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>' ), |
|
| 361 | - 'connect_button' => __( 'Connect Site', 'invoicing' ), |
|
| 362 | - 'connecting_button' => __( 'Connecting...', 'invoicing' ), |
|
| 363 | - 'error_localhost' => __( 'This service will only work with a live domain, not a localhost.', 'invoicing' ), |
|
| 364 | - 'error' => __( 'Something went wrong, please refresh and try again.', 'invoicing' ), |
|
| 358 | + 'connect_title' => __( 'WP Invoicing - an AyeCode product!', 'invoicing' ), |
|
| 359 | + 'connect_external' => __( 'Please confirm you wish to connect your site?', 'invoicing' ), |
|
| 360 | + 'connect' => sprintf( __( '<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>' ), |
|
| 361 | + 'connect_button' => __( 'Connect Site', 'invoicing' ), |
|
| 362 | + 'connecting_button' => __( 'Connecting...', 'invoicing' ), |
|
| 363 | + 'error_localhost' => __( 'This service will only work with a live domain, not a localhost.', 'invoicing' ), |
|
| 364 | + 'error' => __( 'Something went wrong, please refresh and try again.', 'invoicing' ), |
|
| 365 | 365 | ), |
| 366 | 366 | array( 'wpi-addons' ) |
| 367 | 367 | ); |
| 368 | 368 | |
| 369 | 369 | } |
| 370 | 370 | |
| 371 | - /** |
|
| 372 | - * Redirect users to settings on activation. |
|
| 373 | - * |
|
| 374 | - * @return void |
|
| 375 | - */ |
|
| 376 | - public function activation_redirect() { |
|
| 371 | + /** |
|
| 372 | + * Redirect users to settings on activation. |
|
| 373 | + * |
|
| 374 | + * @return void |
|
| 375 | + */ |
|
| 376 | + public function activation_redirect() { |
|
| 377 | 377 | |
| 378 | - $redirected = get_option( 'wpinv_redirected_to_settings' ); |
|
| 378 | + $redirected = get_option( 'wpinv_redirected_to_settings' ); |
|
| 379 | 379 | |
| 380 | - if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) { |
|
| 381 | - return; |
|
| 382 | - } |
|
| 380 | + if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) { |
|
| 381 | + return; |
|
| 382 | + } |
|
| 383 | 383 | |
| 384 | - // Bail if activating from network, or bulk |
|
| 385 | - if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) { |
|
| 386 | - return; |
|
| 387 | - } |
|
| 384 | + // Bail if activating from network, or bulk |
|
| 385 | + if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) { |
|
| 386 | + return; |
|
| 387 | + } |
|
| 388 | 388 | |
| 389 | - update_option( 'wpinv_redirected_to_settings', 1 ); |
|
| 389 | + update_option( 'wpinv_redirected_to_settings', 1 ); |
|
| 390 | 390 | |
| 391 | 391 | wp_safe_redirect( admin_url( 'index.php?page=gp-setup' ) ); |
| 392 | 392 | exit; |
| 393 | 393 | |
| 394 | - } |
|
| 394 | + } |
|
| 395 | 395 | |
| 396 | 396 | /** |
| 397 | 397 | * Fires an admin action after verifying that a user can fire them. |
@@ -404,555 +404,555 @@ discard block |
||
| 404 | 404 | } |
| 405 | 405 | } |
| 406 | 406 | |
| 407 | - /** |
|
| 407 | + /** |
|
| 408 | 408 | * Duplicate invoice. |
| 409 | - * |
|
| 410 | - * @param array $args |
|
| 409 | + * |
|
| 410 | + * @param array $args |
|
| 411 | 411 | */ |
| 412 | 412 | public function duplicate_invoice( $args ) { |
| 413 | 413 | |
| 414 | - if ( empty( $args['invoice_id'] ) ) { |
|
| 415 | - return; |
|
| 416 | - } |
|
| 414 | + if ( empty( $args['invoice_id'] ) ) { |
|
| 415 | + return; |
|
| 416 | + } |
|
| 417 | 417 | |
| 418 | - $invoice = new WPInv_Invoice( (int) $args['invoice_id'] ); |
|
| 418 | + $invoice = new WPInv_Invoice( (int) $args['invoice_id'] ); |
|
| 419 | 419 | |
| 420 | - if ( ! $invoice->exists() ) { |
|
| 421 | - return; |
|
| 422 | - } |
|
| 420 | + if ( ! $invoice->exists() ) { |
|
| 421 | + return; |
|
| 422 | + } |
|
| 423 | 423 | |
| 424 | - $new_invoice = getpaid_duplicate_invoice( $invoice ); |
|
| 425 | - $new_invoice->save(); |
|
| 424 | + $new_invoice = getpaid_duplicate_invoice( $invoice ); |
|
| 425 | + $new_invoice->save(); |
|
| 426 | 426 | |
| 427 | - if ( $new_invoice->exists() ) { |
|
| 427 | + if ( $new_invoice->exists() ) { |
|
| 428 | 428 | |
| 429 | - getpaid_admin()->show_success( __( 'Invoice duplicated successfully.', 'invoicing' ) ); |
|
| 429 | + getpaid_admin()->show_success( __( 'Invoice duplicated successfully.', 'invoicing' ) ); |
|
| 430 | 430 | |
| 431 | - wp_safe_redirect( |
|
| 432 | - add_query_arg( |
|
| 433 | - array( |
|
| 434 | - 'action' => 'edit', |
|
| 435 | - 'post' => $new_invoice->get_id(), |
|
| 436 | - ), |
|
| 437 | - admin_url( 'post.php' ) |
|
| 438 | - ) |
|
| 439 | - ); |
|
| 440 | - exit; |
|
| 431 | + wp_safe_redirect( |
|
| 432 | + add_query_arg( |
|
| 433 | + array( |
|
| 434 | + 'action' => 'edit', |
|
| 435 | + 'post' => $new_invoice->get_id(), |
|
| 436 | + ), |
|
| 437 | + admin_url( 'post.php' ) |
|
| 438 | + ) |
|
| 439 | + ); |
|
| 440 | + exit; |
|
| 441 | 441 | |
| 442 | - } |
|
| 442 | + } |
|
| 443 | 443 | |
| 444 | - getpaid_admin()->show_error( __( 'There was an error duplicating this invoice. Please try again.', 'invoicing' ) ); |
|
| 444 | + getpaid_admin()->show_error( __( 'There was an error duplicating this invoice. Please try again.', 'invoicing' ) ); |
|
| 445 | 445 | |
| 446 | - } |
|
| 446 | + } |
|
| 447 | 447 | |
| 448 | - /** |
|
| 448 | + /** |
|
| 449 | 449 | * Refund an invoice. |
| 450 | - * |
|
| 451 | - * @param array $args |
|
| 450 | + * |
|
| 451 | + * @param array $args |
|
| 452 | 452 | */ |
| 453 | 453 | public function refund_invoice( $args ) { |
| 454 | 454 | |
| 455 | - if ( empty( $args['invoice_id'] ) ) { |
|
| 456 | - return; |
|
| 457 | - } |
|
| 458 | - |
|
| 459 | - $invoice = new WPInv_Invoice( (int) $args['invoice_id'] ); |
|
| 460 | - |
|
| 461 | - if ( ! $invoice->exists() || $invoice->is_refunded() ) { |
|
| 462 | - return; |
|
| 463 | - } |
|
| 464 | - |
|
| 465 | - $invoice->refund(); |
|
| 466 | - |
|
| 467 | - // Refund remotely. |
|
| 468 | - if ( getpaid_payment_gateway_supports( $invoice->get_gateway(), 'refunds' ) && ! empty( $args['getpaid_refund_remote'] ) ) { |
|
| 469 | - do_action( 'getpaid_refund_invoice_remotely', $invoice ); |
|
| 470 | - } |
|
| 471 | - |
|
| 472 | - // Cancel subscriptions. |
|
| 473 | - if ( ! empty( $args['getpaid_cancel_subscription'] ) ) { |
|
| 474 | - $subscriptions = getpaid_get_invoice_subscriptions( $invoice ); |
|
| 475 | - |
|
| 476 | - if ( ! empty( $subscriptions ) ) { |
|
| 477 | - if ( ! is_array( $subscriptions ) ) { |
|
| 478 | - $subscriptions = array( $subscriptions ); |
|
| 479 | - } |
|
| 480 | - |
|
| 481 | - foreach ( $subscriptions as $subscription ) { |
|
| 482 | - $subscription->cancel(); |
|
| 483 | - $invoice->add_system_note( |
|
| 484 | - sprintf( |
|
| 485 | - // translators: %s: subscription ID. |
|
| 486 | - __( 'Subscription #%s cancelled', 'invoicing' ), |
|
| 487 | - $subscription->get_id() |
|
| 488 | - ) |
|
| 489 | - ); |
|
| 490 | - } |
|
| 491 | - } |
|
| 492 | - } |
|
| 493 | - |
|
| 494 | - // Add notice. |
|
| 495 | - $this->show_success( __( 'Invoice refunded successfully.', 'invoicing' ) ); |
|
| 496 | - |
|
| 497 | - // Redirect. |
|
| 498 | - wp_safe_redirect( |
|
| 499 | - remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id', 'getpaid_cancel_subscription', 'getpaid_refund_remote' ) ) |
|
| 500 | - ); |
|
| 501 | - } |
|
| 502 | - |
|
| 503 | - /** |
|
| 455 | + if ( empty( $args['invoice_id'] ) ) { |
|
| 456 | + return; |
|
| 457 | + } |
|
| 458 | + |
|
| 459 | + $invoice = new WPInv_Invoice( (int) $args['invoice_id'] ); |
|
| 460 | + |
|
| 461 | + if ( ! $invoice->exists() || $invoice->is_refunded() ) { |
|
| 462 | + return; |
|
| 463 | + } |
|
| 464 | + |
|
| 465 | + $invoice->refund(); |
|
| 466 | + |
|
| 467 | + // Refund remotely. |
|
| 468 | + if ( getpaid_payment_gateway_supports( $invoice->get_gateway(), 'refunds' ) && ! empty( $args['getpaid_refund_remote'] ) ) { |
|
| 469 | + do_action( 'getpaid_refund_invoice_remotely', $invoice ); |
|
| 470 | + } |
|
| 471 | + |
|
| 472 | + // Cancel subscriptions. |
|
| 473 | + if ( ! empty( $args['getpaid_cancel_subscription'] ) ) { |
|
| 474 | + $subscriptions = getpaid_get_invoice_subscriptions( $invoice ); |
|
| 475 | + |
|
| 476 | + if ( ! empty( $subscriptions ) ) { |
|
| 477 | + if ( ! is_array( $subscriptions ) ) { |
|
| 478 | + $subscriptions = array( $subscriptions ); |
|
| 479 | + } |
|
| 480 | + |
|
| 481 | + foreach ( $subscriptions as $subscription ) { |
|
| 482 | + $subscription->cancel(); |
|
| 483 | + $invoice->add_system_note( |
|
| 484 | + sprintf( |
|
| 485 | + // translators: %s: subscription ID. |
|
| 486 | + __( 'Subscription #%s cancelled', 'invoicing' ), |
|
| 487 | + $subscription->get_id() |
|
| 488 | + ) |
|
| 489 | + ); |
|
| 490 | + } |
|
| 491 | + } |
|
| 492 | + } |
|
| 493 | + |
|
| 494 | + // Add notice. |
|
| 495 | + $this->show_success( __( 'Invoice refunded successfully.', 'invoicing' ) ); |
|
| 496 | + |
|
| 497 | + // Redirect. |
|
| 498 | + wp_safe_redirect( |
|
| 499 | + remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id', 'getpaid_cancel_subscription', 'getpaid_refund_remote' ) ) |
|
| 500 | + ); |
|
| 501 | + } |
|
| 502 | + |
|
| 503 | + /** |
|
| 504 | 504 | * Sends a payment reminder to a customer. |
| 505 | - * |
|
| 506 | - * @param array $args |
|
| 505 | + * |
|
| 506 | + * @param array $args |
|
| 507 | 507 | */ |
| 508 | 508 | public function duplicate_payment_form( $args ) { |
| 509 | 509 | |
| 510 | - if ( empty( $args['form_id'] ) ) { |
|
| 511 | - return; |
|
| 512 | - } |
|
| 513 | - |
|
| 514 | - $form = new GetPaid_Payment_Form( (int) $args['form_id'] ); |
|
| 510 | + if ( empty( $args['form_id'] ) ) { |
|
| 511 | + return; |
|
| 512 | + } |
|
| 515 | 513 | |
| 516 | - if ( ! $form->exists() ) { |
|
| 517 | - return; |
|
| 518 | - } |
|
| 514 | + $form = new GetPaid_Payment_Form( (int) $args['form_id'] ); |
|
| 519 | 515 | |
| 520 | - $new_form = new GetPaid_Payment_Form(); |
|
| 521 | - $new_form->set_author( $form->get_author( 'edit' ) ); |
|
| 522 | - $new_form->set_name( $form->get_name( 'edit' ) . __( '(copy)', 'invoicing' ) ); |
|
| 523 | - $new_form->set_elements( $form->get_elements( 'edit' ) ); |
|
| 524 | - $new_form->set_items( $form->get_items( 'edit' ) ); |
|
| 525 | - $new_form->save(); |
|
| 516 | + if ( ! $form->exists() ) { |
|
| 517 | + return; |
|
| 518 | + } |
|
| 526 | 519 | |
| 527 | - if ( $new_form->exists() ) { |
|
| 528 | - $this->show_success( __( 'Form duplicated successfully', 'invoicing' ) ); |
|
| 529 | - $url = get_edit_post_link( $new_form->get_id(), 'edit' ); |
|
| 530 | - } else { |
|
| 531 | - $this->show_error( __( 'Unable to duplicate form', 'invoicing' ) ); |
|
| 532 | - $url = remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) ); |
|
| 533 | - } |
|
| 520 | + $new_form = new GetPaid_Payment_Form(); |
|
| 521 | + $new_form->set_author( $form->get_author( 'edit' ) ); |
|
| 522 | + $new_form->set_name( $form->get_name( 'edit' ) . __( '(copy)', 'invoicing' ) ); |
|
| 523 | + $new_form->set_elements( $form->get_elements( 'edit' ) ); |
|
| 524 | + $new_form->set_items( $form->get_items( 'edit' ) ); |
|
| 525 | + $new_form->save(); |
|
| 526 | + |
|
| 527 | + if ( $new_form->exists() ) { |
|
| 528 | + $this->show_success( __( 'Form duplicated successfully', 'invoicing' ) ); |
|
| 529 | + $url = get_edit_post_link( $new_form->get_id(), 'edit' ); |
|
| 530 | + } else { |
|
| 531 | + $this->show_error( __( 'Unable to duplicate form', 'invoicing' ) ); |
|
| 532 | + $url = remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) ); |
|
| 533 | + } |
|
| 534 | 534 | |
| 535 | - wp_redirect( $url ); |
|
| 536 | - exit; |
|
| 537 | - } |
|
| 535 | + wp_redirect( $url ); |
|
| 536 | + exit; |
|
| 537 | + } |
|
| 538 | 538 | |
| 539 | - /** |
|
| 539 | + /** |
|
| 540 | 540 | * Resets form stats. |
| 541 | - * |
|
| 542 | - * @param array $args |
|
| 541 | + * |
|
| 542 | + * @param array $args |
|
| 543 | 543 | */ |
| 544 | 544 | public function reset_form_stats( $args ) { |
| 545 | 545 | |
| 546 | - if ( empty( $args['form_id'] ) ) { |
|
| 547 | - return; |
|
| 548 | - } |
|
| 546 | + if ( empty( $args['form_id'] ) ) { |
|
| 547 | + return; |
|
| 548 | + } |
|
| 549 | 549 | |
| 550 | - $form = new GetPaid_Payment_Form( (int) $args['form_id'] ); |
|
| 550 | + $form = new GetPaid_Payment_Form( (int) $args['form_id'] ); |
|
| 551 | 551 | |
| 552 | - if ( ! $form->exists() ) { |
|
| 553 | - return; |
|
| 554 | - } |
|
| 552 | + if ( ! $form->exists() ) { |
|
| 553 | + return; |
|
| 554 | + } |
|
| 555 | 555 | |
| 556 | - $form->set_earned( 0 ); |
|
| 557 | - $form->set_refunded( 0 ); |
|
| 558 | - $form->set_cancelled( 0 ); |
|
| 559 | - $form->set_failed( 0 ); |
|
| 560 | - $form->save(); |
|
| 556 | + $form->set_earned( 0 ); |
|
| 557 | + $form->set_refunded( 0 ); |
|
| 558 | + $form->set_cancelled( 0 ); |
|
| 559 | + $form->set_failed( 0 ); |
|
| 560 | + $form->save(); |
|
| 561 | 561 | |
| 562 | - $this->show_success( __( 'Form stats reset successfully', 'invoicing' ) ); |
|
| 562 | + $this->show_success( __( 'Form stats reset successfully', 'invoicing' ) ); |
|
| 563 | 563 | |
| 564 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) ) ); |
|
| 565 | - exit; |
|
| 566 | - } |
|
| 564 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) ) ); |
|
| 565 | + exit; |
|
| 566 | + } |
|
| 567 | 567 | |
| 568 | - /** |
|
| 568 | + /** |
|
| 569 | 569 | * Sends a payment reminder to a customer. |
| 570 | - * |
|
| 571 | - * @param array $args |
|
| 570 | + * |
|
| 571 | + * @param array $args |
|
| 572 | 572 | */ |
| 573 | 573 | public function send_customer_invoice( $args ) { |
| 574 | - getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true ); |
|
| 575 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) ); |
|
| 576 | - exit; |
|
| 577 | - } |
|
| 574 | + getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true ); |
|
| 575 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) ); |
|
| 576 | + exit; |
|
| 577 | + } |
|
| 578 | 578 | |
| 579 | - /** |
|
| 579 | + /** |
|
| 580 | 580 | * Sends a payment reminder to a customer. |
| 581 | - * |
|
| 582 | - * @param array $args |
|
| 581 | + * |
|
| 582 | + * @param array $args |
|
| 583 | 583 | */ |
| 584 | 584 | public function send_customer_payment_reminder( $args ) { |
| 585 | - $sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) ); |
|
| 585 | + $sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) ); |
|
| 586 | 586 | |
| 587 | - if ( $sent ) { |
|
| 588 | - $this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) ); |
|
| 589 | - } else { |
|
| 590 | - $this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) ); |
|
| 591 | - } |
|
| 587 | + if ( $sent ) { |
|
| 588 | + $this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) ); |
|
| 589 | + } else { |
|
| 590 | + $this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) ); |
|
| 591 | + } |
|
| 592 | 592 | |
| 593 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) ); |
|
| 594 | - exit; |
|
| 595 | - } |
|
| 593 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) ); |
|
| 594 | + exit; |
|
| 595 | + } |
|
| 596 | 596 | |
| 597 | - /** |
|
| 597 | + /** |
|
| 598 | 598 | * Resets tax rates. |
| 599 | - * |
|
| 599 | + * |
|
| 600 | 600 | */ |
| 601 | 601 | public function admin_reset_tax_rates() { |
| 602 | 602 | |
| 603 | - update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) ); |
|
| 604 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 605 | - exit; |
|
| 603 | + update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) ); |
|
| 604 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 605 | + exit; |
|
| 606 | 606 | |
| 607 | - } |
|
| 607 | + } |
|
| 608 | 608 | |
| 609 | - /** |
|
| 609 | + /** |
|
| 610 | 610 | * Resets admin pages. |
| 611 | - * |
|
| 611 | + * |
|
| 612 | 612 | */ |
| 613 | 613 | public function admin_create_missing_pages() { |
| 614 | - $installer = new GetPaid_Installer(); |
|
| 615 | - $installer->create_pages(); |
|
| 616 | - $this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) ); |
|
| 617 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 618 | - exit; |
|
| 619 | - } |
|
| 620 | - |
|
| 621 | - /** |
|
| 622 | - * Refreshes the permalinks. |
|
| 623 | - */ |
|
| 624 | - public function admin_refresh_permalinks() { |
|
| 625 | - flush_rewrite_rules(); |
|
| 626 | - $this->show_success( __( 'Permalinks refreshed.', 'invoicing' ) ); |
|
| 627 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 628 | - exit; |
|
| 629 | - } |
|
| 630 | - |
|
| 631 | - /** |
|
| 614 | + $installer = new GetPaid_Installer(); |
|
| 615 | + $installer->create_pages(); |
|
| 616 | + $this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) ); |
|
| 617 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 618 | + exit; |
|
| 619 | + } |
|
| 620 | + |
|
| 621 | + /** |
|
| 622 | + * Refreshes the permalinks. |
|
| 623 | + */ |
|
| 624 | + public function admin_refresh_permalinks() { |
|
| 625 | + flush_rewrite_rules(); |
|
| 626 | + $this->show_success( __( 'Permalinks refreshed.', 'invoicing' ) ); |
|
| 627 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 628 | + exit; |
|
| 629 | + } |
|
| 630 | + |
|
| 631 | + /** |
|
| 632 | 632 | * Creates missing admin tables. |
| 633 | - * |
|
| 633 | + * |
|
| 634 | 634 | */ |
| 635 | 635 | public function admin_create_missing_tables() { |
| 636 | - global $wpdb; |
|
| 636 | + global $wpdb; |
|
| 637 | 637 | |
| 638 | - GetPaid_Installer::create_db_tables(); |
|
| 639 | - GetPaid_Installer::migrate_old_customers(); |
|
| 638 | + GetPaid_Installer::create_db_tables(); |
|
| 639 | + GetPaid_Installer::migrate_old_customers(); |
|
| 640 | 640 | |
| 641 | - if ( '' !== $wpdb->last_error ) { |
|
| 642 | - $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error ); |
|
| 643 | - } else { |
|
| 644 | - $this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) ); |
|
| 645 | - } |
|
| 641 | + if ( '' !== $wpdb->last_error ) { |
|
| 642 | + $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error ); |
|
| 643 | + } else { |
|
| 644 | + $this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) ); |
|
| 645 | + } |
|
| 646 | 646 | |
| 647 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 648 | - exit; |
|
| 649 | - } |
|
| 647 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 648 | + exit; |
|
| 649 | + } |
|
| 650 | 650 | |
| 651 | - /** |
|
| 651 | + /** |
|
| 652 | 652 | * Migrates old invoices to the new database tables. |
| 653 | - * |
|
| 653 | + * |
|
| 654 | 654 | */ |
| 655 | 655 | public function admin_migrate_old_invoices() { |
| 656 | 656 | |
| 657 | - // Migrate the invoices. |
|
| 658 | - $installer = new GetPaid_Installer(); |
|
| 659 | - $installer->migrate_old_invoices(); |
|
| 657 | + // Migrate the invoices. |
|
| 658 | + $installer = new GetPaid_Installer(); |
|
| 659 | + $installer->migrate_old_invoices(); |
|
| 660 | 660 | |
| 661 | - // Show an admin message. |
|
| 662 | - $this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) ); |
|
| 661 | + // Show an admin message. |
|
| 662 | + $this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) ); |
|
| 663 | 663 | |
| 664 | - // Redirect the admin. |
|
| 665 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 666 | - exit; |
|
| 664 | + // Redirect the admin. |
|
| 665 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 666 | + exit; |
|
| 667 | 667 | |
| 668 | - } |
|
| 668 | + } |
|
| 669 | 669 | |
| 670 | - /** |
|
| 670 | + /** |
|
| 671 | 671 | * Download customers. |
| 672 | - * |
|
| 672 | + * |
|
| 673 | 673 | */ |
| 674 | 674 | public function admin_download_customers() { |
| 675 | 675 | |
| 676 | - $output = fopen( 'php://output', 'w' ); |
|
| 676 | + $output = fopen( 'php://output', 'w' ); |
|
| 677 | 677 | |
| 678 | - if ( false === $output ) { |
|
| 679 | - wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 ); |
|
| 680 | - } |
|
| 678 | + if ( false === $output ) { |
|
| 679 | + wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 ); |
|
| 680 | + } |
|
| 681 | 681 | |
| 682 | - header( 'Content-Type:text/csv' ); |
|
| 683 | - header( 'Content-Disposition:attachment;filename=customers.csv' ); |
|
| 682 | + header( 'Content-Type:text/csv' ); |
|
| 683 | + header( 'Content-Disposition:attachment;filename=customers.csv' ); |
|
| 684 | 684 | |
| 685 | - /** @var GetPaid_Customer[] $customers */ |
|
| 686 | - $customers = getpaid_get_customers( array( 'number' => -1 ) ); |
|
| 687 | - $columns = array_keys( GetPaid_Customer_Data_Store::get_database_fields() ); |
|
| 685 | + /** @var GetPaid_Customer[] $customers */ |
|
| 686 | + $customers = getpaid_get_customers( array( 'number' => -1 ) ); |
|
| 687 | + $columns = array_keys( GetPaid_Customer_Data_Store::get_database_fields() ); |
|
| 688 | 688 | |
| 689 | - // Output the csv column headers. |
|
| 690 | - fputcsv( $output, $columns ); |
|
| 689 | + // Output the csv column headers. |
|
| 690 | + fputcsv( $output, $columns ); |
|
| 691 | 691 | |
| 692 | - // Loop through |
|
| 693 | - foreach ( $customers as $customer ) { |
|
| 692 | + // Loop through |
|
| 693 | + foreach ( $customers as $customer ) { |
|
| 694 | 694 | |
| 695 | - $row = array(); |
|
| 695 | + $row = array(); |
|
| 696 | 696 | |
| 697 | - foreach ( $columns as $column ) { |
|
| 698 | - $row[] = (string) maybe_serialize( $customer->get( $column, 'edit' ) ); |
|
| 699 | - } |
|
| 697 | + foreach ( $columns as $column ) { |
|
| 698 | + $row[] = (string) maybe_serialize( $customer->get( $column, 'edit' ) ); |
|
| 699 | + } |
|
| 700 | 700 | |
| 701 | - fputcsv( $output, $row ); |
|
| 702 | - } |
|
| 701 | + fputcsv( $output, $row ); |
|
| 702 | + } |
|
| 703 | 703 | |
| 704 | - fclose( $output ); |
|
| 705 | - exit; |
|
| 704 | + fclose( $output ); |
|
| 705 | + exit; |
|
| 706 | 706 | |
| 707 | - } |
|
| 707 | + } |
|
| 708 | 708 | |
| 709 | - /** |
|
| 709 | + /** |
|
| 710 | 710 | * Installs a plugin. |
| 711 | - * |
|
| 712 | - * @param array $data |
|
| 711 | + * |
|
| 712 | + * @param array $data |
|
| 713 | 713 | */ |
| 714 | 714 | public function admin_install_plugin( $data ) { |
| 715 | 715 | |
| 716 | - if ( ! empty( $data['plugins'] ) ) { |
|
| 717 | - include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; |
|
| 718 | - wp_cache_flush(); |
|
| 716 | + if ( ! empty( $data['plugins'] ) ) { |
|
| 717 | + include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; |
|
| 718 | + wp_cache_flush(); |
|
| 719 | 719 | |
| 720 | - foreach ( $data['plugins'] as $slug => $file ) { |
|
| 721 | - $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' ); |
|
| 722 | - $upgrader = new Plugin_Upgrader( new Automatic_Upgrader_Skin() ); |
|
| 723 | - $installed = $upgrader->install( $plugin_zip ); |
|
| 720 | + foreach ( $data['plugins'] as $slug => $file ) { |
|
| 721 | + $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' ); |
|
| 722 | + $upgrader = new Plugin_Upgrader( new Automatic_Upgrader_Skin() ); |
|
| 723 | + $installed = $upgrader->install( $plugin_zip ); |
|
| 724 | 724 | |
| 725 | - if ( ! is_wp_error( $installed ) && $installed ) { |
|
| 726 | - activate_plugin( $file, '', false, true ); |
|
| 727 | - } else { |
|
| 728 | - wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false ); |
|
| 729 | - } |
|
| 725 | + if ( ! is_wp_error( $installed ) && $installed ) { |
|
| 726 | + activate_plugin( $file, '', false, true ); |
|
| 727 | + } else { |
|
| 728 | + wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false ); |
|
| 729 | + } |
|
| 730 | 730 | } |
| 731 | 731 | } |
| 732 | 732 | |
| 733 | - $redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' ); |
|
| 734 | - wp_safe_redirect( $redirect ); |
|
| 735 | - exit; |
|
| 733 | + $redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' ); |
|
| 734 | + wp_safe_redirect( $redirect ); |
|
| 735 | + exit; |
|
| 736 | 736 | |
| 737 | - } |
|
| 737 | + } |
|
| 738 | 738 | |
| 739 | - /** |
|
| 739 | + /** |
|
| 740 | 740 | * Connects a gateway. |
| 741 | - * |
|
| 742 | - * @param array $data |
|
| 741 | + * |
|
| 742 | + * @param array $data |
|
| 743 | 743 | */ |
| 744 | 744 | public function admin_connect_gateway( $data ) { |
| 745 | 745 | |
| 746 | - if ( ! empty( $data['plugin'] ) ) { |
|
| 746 | + if ( ! empty( $data['plugin'] ) ) { |
|
| 747 | 747 | |
| 748 | - $gateway = sanitize_key( $data['plugin'] ); |
|
| 749 | - $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data ); |
|
| 748 | + $gateway = sanitize_key( $data['plugin'] ); |
|
| 749 | + $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data ); |
|
| 750 | 750 | |
| 751 | - if ( ! empty( $connect_url ) ) { |
|
| 752 | - wp_redirect( $connect_url ); |
|
| 753 | - exit; |
|
| 754 | - } |
|
| 751 | + if ( ! empty( $connect_url ) ) { |
|
| 752 | + wp_redirect( $connect_url ); |
|
| 753 | + exit; |
|
| 754 | + } |
|
| 755 | 755 | |
| 756 | - if ( 'stripe' == $data['plugin'] ) { |
|
| 757 | - require_once ABSPATH . 'wp-admin/includes/plugin.php'; |
|
| 758 | - include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; |
|
| 759 | - wp_cache_flush(); |
|
| 756 | + if ( 'stripe' == $data['plugin'] ) { |
|
| 757 | + require_once ABSPATH . 'wp-admin/includes/plugin.php'; |
|
| 758 | + include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; |
|
| 759 | + wp_cache_flush(); |
|
| 760 | 760 | |
| 761 | - if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) { |
|
| 762 | - $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' ); |
|
| 763 | - $upgrader = new Plugin_Upgrader( new Automatic_Upgrader_Skin() ); |
|
| 764 | - $upgrader->install( $plugin_zip ); |
|
| 765 | - } |
|
| 761 | + if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) { |
|
| 762 | + $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' ); |
|
| 763 | + $upgrader = new Plugin_Upgrader( new Automatic_Upgrader_Skin() ); |
|
| 764 | + $upgrader->install( $plugin_zip ); |
|
| 765 | + } |
|
| 766 | 766 | |
| 767 | - activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true ); |
|
| 768 | - } |
|
| 767 | + activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true ); |
|
| 768 | + } |
|
| 769 | 769 | |
| 770 | - $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data ); |
|
| 771 | - if ( ! empty( $connect_url ) ) { |
|
| 772 | - wp_redirect( $connect_url ); |
|
| 773 | - exit; |
|
| 774 | - } |
|
| 770 | + $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data ); |
|
| 771 | + if ( ! empty( $connect_url ) ) { |
|
| 772 | + wp_redirect( $connect_url ); |
|
| 773 | + exit; |
|
| 774 | + } |
|
| 775 | 775 | } |
| 776 | 776 | |
| 777 | - $redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' ); |
|
| 778 | - wp_safe_redirect( $redirect ); |
|
| 779 | - exit; |
|
| 777 | + $redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' ); |
|
| 778 | + wp_safe_redirect( $redirect ); |
|
| 779 | + exit; |
|
| 780 | 780 | |
| 781 | - } |
|
| 781 | + } |
|
| 782 | 782 | |
| 783 | - /** |
|
| 783 | + /** |
|
| 784 | 784 | * Recalculates discounts. |
| 785 | - * |
|
| 785 | + * |
|
| 786 | 786 | */ |
| 787 | 787 | public function admin_recalculate_discounts() { |
| 788 | - global $wpdb; |
|
| 788 | + global $wpdb; |
|
| 789 | 789 | |
| 790 | - // Fetch all invoices that have discount codes. |
|
| 791 | - $table = $wpdb->prefix . 'getpaid_invoices'; |
|
| 792 | - $invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" ); |
|
| 790 | + // Fetch all invoices that have discount codes. |
|
| 791 | + $table = $wpdb->prefix . 'getpaid_invoices'; |
|
| 792 | + $invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" ); |
|
| 793 | 793 | |
| 794 | - foreach ( $invoices as $invoice ) { |
|
| 794 | + foreach ( $invoices as $invoice ) { |
|
| 795 | 795 | |
| 796 | - $invoice = new WPInv_Invoice( $invoice ); |
|
| 796 | + $invoice = new WPInv_Invoice( $invoice ); |
|
| 797 | 797 | |
| 798 | - if ( ! $invoice->exists() ) { |
|
| 799 | - continue; |
|
| 800 | - } |
|
| 798 | + if ( ! $invoice->exists() ) { |
|
| 799 | + continue; |
|
| 800 | + } |
|
| 801 | 801 | |
| 802 | - // Abort if the discount does not exist or does not apply here. |
|
| 803 | - $discount = new WPInv_Discount( $invoice->get_discount_code() ); |
|
| 804 | - if ( ! $discount->exists() ) { |
|
| 805 | - continue; |
|
| 806 | - } |
|
| 802 | + // Abort if the discount does not exist or does not apply here. |
|
| 803 | + $discount = new WPInv_Discount( $invoice->get_discount_code() ); |
|
| 804 | + if ( ! $discount->exists() ) { |
|
| 805 | + continue; |
|
| 806 | + } |
|
| 807 | 807 | |
| 808 | - $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) ); |
|
| 809 | - $invoice->recalculate_total(); |
|
| 808 | + $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) ); |
|
| 809 | + $invoice->recalculate_total(); |
|
| 810 | 810 | |
| 811 | - if ( $invoice->get_total_discount() > 0 ) { |
|
| 812 | - $invoice->save(); |
|
| 813 | - } |
|
| 811 | + if ( $invoice->get_total_discount() > 0 ) { |
|
| 812 | + $invoice->save(); |
|
| 813 | + } |
|
| 814 | 814 | } |
| 815 | 815 | |
| 816 | - // Show an admin message. |
|
| 817 | - $this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) ); |
|
| 816 | + // Show an admin message. |
|
| 817 | + $this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) ); |
|
| 818 | 818 | |
| 819 | - // Redirect the admin. |
|
| 820 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 821 | - exit; |
|
| 819 | + // Redirect the admin. |
|
| 820 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 821 | + exit; |
|
| 822 | 822 | |
| 823 | - } |
|
| 823 | + } |
|
| 824 | 824 | |
| 825 | 825 | /** |
| 826 | - * Returns an array of admin notices. |
|
| 827 | - * |
|
| 828 | - * @since 1.0.19 |
|
| 826 | + * Returns an array of admin notices. |
|
| 827 | + * |
|
| 828 | + * @since 1.0.19 |
|
| 829 | 829 | * @return array |
| 830 | - */ |
|
| 831 | - public function get_notices() { |
|
| 832 | - $notices = get_option( 'wpinv_admin_notices' ); |
|
| 830 | + */ |
|
| 831 | + public function get_notices() { |
|
| 832 | + $notices = get_option( 'wpinv_admin_notices' ); |
|
| 833 | 833 | return is_array( $notices ) ? $notices : array(); |
| 834 | - } |
|
| 834 | + } |
|
| 835 | 835 | |
| 836 | - /** |
|
| 837 | - * Checks if we have any admin notices. |
|
| 838 | - * |
|
| 839 | - * @since 2.0.4 |
|
| 836 | + /** |
|
| 837 | + * Checks if we have any admin notices. |
|
| 838 | + * |
|
| 839 | + * @since 2.0.4 |
|
| 840 | 840 | * @return array |
| 841 | - */ |
|
| 842 | - public function has_notices() { |
|
| 843 | - return count( $this->get_notices() ) > 0; |
|
| 844 | - } |
|
| 845 | - |
|
| 846 | - /** |
|
| 847 | - * Clears all admin notices |
|
| 848 | - * |
|
| 849 | - * @access public |
|
| 850 | - * @since 1.0.19 |
|
| 851 | - */ |
|
| 852 | - public function clear_notices() { |
|
| 853 | - delete_option( 'wpinv_admin_notices' ); |
|
| 854 | - } |
|
| 855 | - |
|
| 856 | - /** |
|
| 857 | - * Saves a new admin notice |
|
| 858 | - * |
|
| 859 | - * @access public |
|
| 860 | - * @since 1.0.19 |
|
| 861 | - */ |
|
| 862 | - public function save_notice( $type, $message ) { |
|
| 863 | - $notices = $this->get_notices(); |
|
| 864 | - |
|
| 865 | - if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) { |
|
| 866 | - $notices[ $type ] = array(); |
|
| 867 | - } |
|
| 868 | - |
|
| 869 | - $notices[ $type ][] = $message; |
|
| 870 | - |
|
| 871 | - update_option( 'wpinv_admin_notices', $notices ); |
|
| 872 | - } |
|
| 873 | - |
|
| 874 | - /** |
|
| 875 | - * Displays a success notice |
|
| 876 | - * |
|
| 877 | - * @param string $msg The message to qeue. |
|
| 878 | - * @access public |
|
| 879 | - * @since 1.0.19 |
|
| 880 | - */ |
|
| 881 | - public function show_success( $msg ) { |
|
| 882 | - $this->save_notice( 'success', $msg ); |
|
| 883 | - } |
|
| 884 | - |
|
| 885 | - /** |
|
| 886 | - * Displays a error notice |
|
| 887 | - * |
|
| 888 | - * @access public |
|
| 889 | - * @param string $msg The message to qeue. |
|
| 890 | - * @since 1.0.19 |
|
| 891 | - */ |
|
| 892 | - public function show_error( $msg ) { |
|
| 893 | - $this->save_notice( 'error', $msg ); |
|
| 894 | - } |
|
| 895 | - |
|
| 896 | - /** |
|
| 897 | - * Displays a warning notice |
|
| 898 | - * |
|
| 899 | - * @access public |
|
| 900 | - * @param string $msg The message to qeue. |
|
| 901 | - * @since 1.0.19 |
|
| 902 | - */ |
|
| 903 | - public function show_warning( $msg ) { |
|
| 904 | - $this->save_notice( 'warning', $msg ); |
|
| 905 | - } |
|
| 906 | - |
|
| 907 | - /** |
|
| 908 | - * Displays a info notice |
|
| 909 | - * |
|
| 910 | - * @access public |
|
| 911 | - * @param string $msg The message to qeue. |
|
| 912 | - * @since 1.0.19 |
|
| 913 | - */ |
|
| 914 | - public function show_info( $msg ) { |
|
| 915 | - $this->save_notice( 'info', $msg ); |
|
| 916 | - } |
|
| 917 | - |
|
| 918 | - /** |
|
| 919 | - * Show notices |
|
| 920 | - * |
|
| 921 | - * @access public |
|
| 922 | - * @since 1.0.19 |
|
| 923 | - */ |
|
| 924 | - public function show_notices() { |
|
| 841 | + */ |
|
| 842 | + public function has_notices() { |
|
| 843 | + return count( $this->get_notices() ) > 0; |
|
| 844 | + } |
|
| 845 | + |
|
| 846 | + /** |
|
| 847 | + * Clears all admin notices |
|
| 848 | + * |
|
| 849 | + * @access public |
|
| 850 | + * @since 1.0.19 |
|
| 851 | + */ |
|
| 852 | + public function clear_notices() { |
|
| 853 | + delete_option( 'wpinv_admin_notices' ); |
|
| 854 | + } |
|
| 855 | + |
|
| 856 | + /** |
|
| 857 | + * Saves a new admin notice |
|
| 858 | + * |
|
| 859 | + * @access public |
|
| 860 | + * @since 1.0.19 |
|
| 861 | + */ |
|
| 862 | + public function save_notice( $type, $message ) { |
|
| 863 | + $notices = $this->get_notices(); |
|
| 864 | + |
|
| 865 | + if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) { |
|
| 866 | + $notices[ $type ] = array(); |
|
| 867 | + } |
|
| 868 | + |
|
| 869 | + $notices[ $type ][] = $message; |
|
| 870 | + |
|
| 871 | + update_option( 'wpinv_admin_notices', $notices ); |
|
| 872 | + } |
|
| 873 | + |
|
| 874 | + /** |
|
| 875 | + * Displays a success notice |
|
| 876 | + * |
|
| 877 | + * @param string $msg The message to qeue. |
|
| 878 | + * @access public |
|
| 879 | + * @since 1.0.19 |
|
| 880 | + */ |
|
| 881 | + public function show_success( $msg ) { |
|
| 882 | + $this->save_notice( 'success', $msg ); |
|
| 883 | + } |
|
| 884 | + |
|
| 885 | + /** |
|
| 886 | + * Displays a error notice |
|
| 887 | + * |
|
| 888 | + * @access public |
|
| 889 | + * @param string $msg The message to qeue. |
|
| 890 | + * @since 1.0.19 |
|
| 891 | + */ |
|
| 892 | + public function show_error( $msg ) { |
|
| 893 | + $this->save_notice( 'error', $msg ); |
|
| 894 | + } |
|
| 895 | + |
|
| 896 | + /** |
|
| 897 | + * Displays a warning notice |
|
| 898 | + * |
|
| 899 | + * @access public |
|
| 900 | + * @param string $msg The message to qeue. |
|
| 901 | + * @since 1.0.19 |
|
| 902 | + */ |
|
| 903 | + public function show_warning( $msg ) { |
|
| 904 | + $this->save_notice( 'warning', $msg ); |
|
| 905 | + } |
|
| 906 | + |
|
| 907 | + /** |
|
| 908 | + * Displays a info notice |
|
| 909 | + * |
|
| 910 | + * @access public |
|
| 911 | + * @param string $msg The message to qeue. |
|
| 912 | + * @since 1.0.19 |
|
| 913 | + */ |
|
| 914 | + public function show_info( $msg ) { |
|
| 915 | + $this->save_notice( 'info', $msg ); |
|
| 916 | + } |
|
| 917 | + |
|
| 918 | + /** |
|
| 919 | + * Show notices |
|
| 920 | + * |
|
| 921 | + * @access public |
|
| 922 | + * @since 1.0.19 |
|
| 923 | + */ |
|
| 924 | + public function show_notices() { |
|
| 925 | 925 | |
| 926 | 926 | $notices = $this->get_notices(); |
| 927 | 927 | $this->clear_notices(); |
| 928 | 928 | |
| 929 | - foreach ( $notices as $type => $messages ) { |
|
| 929 | + foreach ( $notices as $type => $messages ) { |
|
| 930 | 930 | |
| 931 | - if ( ! is_array( $messages ) ) { |
|
| 932 | - continue; |
|
| 933 | - } |
|
| 931 | + if ( ! is_array( $messages ) ) { |
|
| 932 | + continue; |
|
| 933 | + } |
|
| 934 | 934 | |
| 935 | 935 | $type = esc_attr( $type ); |
| 936 | - foreach ( $messages as $message ) { |
|
| 937 | - echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" ); |
|
| 936 | + foreach ( $messages as $message ) { |
|
| 937 | + echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" ); |
|
| 938 | 938 | } |
| 939 | 939 | } |
| 940 | 940 | |
| 941 | - foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) { |
|
| 942 | - |
|
| 943 | - if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) { |
|
| 944 | - $url = wp_nonce_url( |
|
| 945 | - add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
| 946 | - 'getpaid-nonce', |
|
| 947 | - 'getpaid-nonce' |
|
| 948 | - ); |
|
| 949 | - $message = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' ); |
|
| 950 | - $message2 = __( 'Generate Pages', 'invoicing' ); |
|
| 951 | - echo wp_kses_post( "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>" ); |
|
| 952 | - break; |
|
| 953 | - } |
|
| 941 | + foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) { |
|
| 942 | + |
|
| 943 | + if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) { |
|
| 944 | + $url = wp_nonce_url( |
|
| 945 | + add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
| 946 | + 'getpaid-nonce', |
|
| 947 | + 'getpaid-nonce' |
|
| 948 | + ); |
|
| 949 | + $message = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' ); |
|
| 950 | + $message2 = __( 'Generate Pages', 'invoicing' ); |
|
| 951 | + echo wp_kses_post( "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>" ); |
|
| 952 | + break; |
|
| 953 | + } |
|
| 954 | 954 | } |
| 955 | 955 | |
| 956 | - } |
|
| 956 | + } |
|
| 957 | 957 | |
| 958 | 958 | } |
@@ -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 | * The main admin class. |
@@ -39,11 +39,11 @@ discard block |
||
| 39 | 39 | */ |
| 40 | 40 | public function __construct() { |
| 41 | 41 | |
| 42 | - $this->admin_path = plugin_dir_path( __FILE__ ); |
|
| 43 | - $this->admin_url = plugins_url( '/', __FILE__ ); |
|
| 42 | + $this->admin_path = plugin_dir_path(__FILE__); |
|
| 43 | + $this->admin_url = plugins_url('/', __FILE__); |
|
| 44 | 44 | $this->reports = new GetPaid_Reports(); |
| 45 | 45 | |
| 46 | - if ( is_admin() ) { |
|
| 46 | + if (is_admin()) { |
|
| 47 | 47 | $this->init_admin_hooks(); |
| 48 | 48 | } |
| 49 | 49 | |
@@ -54,36 +54,36 @@ discard block |
||
| 54 | 54 | * |
| 55 | 55 | */ |
| 56 | 56 | private function init_admin_hooks() { |
| 57 | - add_action( 'admin_enqueue_scripts', array( $this, 'enqeue_scripts' ), 9 ); |
|
| 58 | - add_filter( 'admin_body_class', array( $this, 'admin_body_class' ) ); |
|
| 59 | - add_action( 'admin_init', array( $this, 'init_ayecode_connect_helper' ) ); |
|
| 60 | - add_action( 'admin_init', array( $this, 'activation_redirect' ) ); |
|
| 61 | - add_action( 'admin_init', array( $this, 'maybe_do_admin_action' ) ); |
|
| 62 | - add_action( 'admin_notices', array( $this, 'show_notices' ) ); |
|
| 63 | - add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) ); |
|
| 64 | - add_action( 'getpaid_authenticated_admin_action_duplicate_form', array( $this, 'duplicate_payment_form' ) ); |
|
| 65 | - add_action( 'getpaid_authenticated_admin_action_reset_form_stats', array( $this, 'reset_form_stats' ) ); |
|
| 66 | - add_action( 'getpaid_authenticated_admin_action_duplicate_invoice', array( $this, 'duplicate_invoice' ) ); |
|
| 67 | - add_action( 'getpaid_authenticated_admin_action_refund_invoice', array( $this, 'refund_invoice' ) ); |
|
| 68 | - add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) ); |
|
| 69 | - add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) ); |
|
| 70 | - add_action( 'getpaid_authenticated_admin_action_reset_tax_rates', array( $this, 'admin_reset_tax_rates' ) ); |
|
| 71 | - add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) ); |
|
| 72 | - add_action( 'getpaid_authenticated_admin_action_refresh_permalinks', array( $this, 'admin_refresh_permalinks' ) ); |
|
| 73 | - add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) ); |
|
| 74 | - add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) ); |
|
| 75 | - add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) ); |
|
| 76 | - add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) ); |
|
| 77 | - add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) ); |
|
| 78 | - add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) ); |
|
| 79 | - add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) ); |
|
| 80 | - do_action( 'getpaid_init_admin_hooks', $this ); |
|
| 57 | + add_action('admin_enqueue_scripts', array($this, 'enqeue_scripts'), 9); |
|
| 58 | + add_filter('admin_body_class', array($this, 'admin_body_class')); |
|
| 59 | + add_action('admin_init', array($this, 'init_ayecode_connect_helper')); |
|
| 60 | + add_action('admin_init', array($this, 'activation_redirect')); |
|
| 61 | + add_action('admin_init', array($this, 'maybe_do_admin_action')); |
|
| 62 | + add_action('admin_notices', array($this, 'show_notices')); |
|
| 63 | + add_action('getpaid_authenticated_admin_action_rate_plugin', array($this, 'redirect_to_wordpress_rating_page')); |
|
| 64 | + add_action('getpaid_authenticated_admin_action_duplicate_form', array($this, 'duplicate_payment_form')); |
|
| 65 | + add_action('getpaid_authenticated_admin_action_reset_form_stats', array($this, 'reset_form_stats')); |
|
| 66 | + add_action('getpaid_authenticated_admin_action_duplicate_invoice', array($this, 'duplicate_invoice')); |
|
| 67 | + add_action('getpaid_authenticated_admin_action_refund_invoice', array($this, 'refund_invoice')); |
|
| 68 | + add_action('getpaid_authenticated_admin_action_send_invoice', array($this, 'send_customer_invoice')); |
|
| 69 | + add_action('getpaid_authenticated_admin_action_send_invoice_reminder', array($this, 'send_customer_payment_reminder')); |
|
| 70 | + add_action('getpaid_authenticated_admin_action_reset_tax_rates', array($this, 'admin_reset_tax_rates')); |
|
| 71 | + add_action('getpaid_authenticated_admin_action_create_missing_pages', array($this, 'admin_create_missing_pages')); |
|
| 72 | + add_action('getpaid_authenticated_admin_action_refresh_permalinks', array($this, 'admin_refresh_permalinks')); |
|
| 73 | + add_action('getpaid_authenticated_admin_action_create_missing_tables', array($this, 'admin_create_missing_tables')); |
|
| 74 | + add_action('getpaid_authenticated_admin_action_migrate_old_invoices', array($this, 'admin_migrate_old_invoices')); |
|
| 75 | + add_action('getpaid_authenticated_admin_action_download_customers', array($this, 'admin_download_customers')); |
|
| 76 | + add_action('getpaid_authenticated_admin_action_recalculate_discounts', array($this, 'admin_recalculate_discounts')); |
|
| 77 | + add_action('getpaid_authenticated_admin_action_install_plugin', array($this, 'admin_install_plugin')); |
|
| 78 | + add_action('getpaid_authenticated_admin_action_connect_gateway', array($this, 'admin_connect_gateway')); |
|
| 79 | + add_filter('admin_footer_text', array($this, 'admin_footer_text')); |
|
| 80 | + do_action('getpaid_init_admin_hooks', $this); |
|
| 81 | 81 | |
| 82 | 82 | // Setup/welcome |
| 83 | - if ( ! empty( $_GET['page'] ) ) { |
|
| 84 | - switch ( sanitize_text_field( $_GET['page'] ) ) { |
|
| 83 | + if (!empty($_GET['page'])) { |
|
| 84 | + switch (sanitize_text_field($_GET['page'])) { |
|
| 85 | 85 | case 'gp-setup': |
| 86 | - include_once dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php'; |
|
| 86 | + include_once dirname(__FILE__) . '/class-getpaid-admin-setup-wizard.php'; |
|
| 87 | 87 | break; |
| 88 | 88 | } |
| 89 | 89 | } |
@@ -97,37 +97,37 @@ discard block |
||
| 97 | 97 | public function enqeue_scripts() { |
| 98 | 98 | global $current_screen, $pagenow; |
| 99 | 99 | |
| 100 | - $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : ''; |
|
| 100 | + $page = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : ''; |
|
| 101 | 101 | $editing = $pagenow == 'post.php' || $pagenow == 'post-new.php'; |
| 102 | 102 | |
| 103 | - if ( ! empty( $current_screen->post_type ) ) { |
|
| 103 | + if (!empty($current_screen->post_type)) { |
|
| 104 | 104 | $page = $current_screen->post_type; |
| 105 | 105 | } |
| 106 | 106 | |
| 107 | 107 | // General styles. |
| 108 | - if ( false !== stripos( $page, 'wpi' ) || false !== stripos( $page, 'getpaid' ) || 'gp-setup' == $page || false !== stripos( $page, 'geodir-tickets' ) ) { |
|
| 108 | + if (false !== stripos($page, 'wpi') || false !== stripos($page, 'getpaid') || 'gp-setup' == $page || false !== stripos($page, 'geodir-tickets')) { |
|
| 109 | 109 | |
| 110 | 110 | // Styles. |
| 111 | - $version = filemtime( WPINV_PLUGIN_DIR . 'assets/css/admin.css' ); |
|
| 112 | - wp_enqueue_style( 'wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array( 'wp-color-picker' ), $version ); |
|
| 113 | - wp_enqueue_style( 'select2', WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), '4.0.13', 'all' ); |
|
| 111 | + $version = filemtime(WPINV_PLUGIN_DIR . 'assets/css/admin.css'); |
|
| 112 | + wp_enqueue_style('wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array('wp-color-picker'), $version); |
|
| 113 | + wp_enqueue_style('select2', WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), '4.0.13', 'all'); |
|
| 114 | 114 | |
| 115 | 115 | // Scripts. |
| 116 | - wp_enqueue_script( 'select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full.min.js', array( 'jquery' ), WPINV_VERSION ); |
|
| 116 | + wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full.min.js', array('jquery'), WPINV_VERSION); |
|
| 117 | 117 | |
| 118 | - $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin.js' ); |
|
| 119 | - wp_enqueue_script( 'wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array( 'jquery', 'wp-color-picker', 'jquery-ui-tooltip' ), $version ); |
|
| 120 | - wp_localize_script( 'wpinv-admin-script', 'WPInv_Admin', apply_filters( 'wpinv_admin_js_localize', $this->get_admin_i18() ) ); |
|
| 118 | + $version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/admin.js'); |
|
| 119 | + wp_enqueue_script('wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array('jquery', 'wp-color-picker', 'jquery-ui-tooltip'), $version); |
|
| 120 | + wp_localize_script('wpinv-admin-script', 'WPInv_Admin', apply_filters('wpinv_admin_js_localize', $this->get_admin_i18())); |
|
| 121 | 121 | |
| 122 | 122 | } |
| 123 | 123 | |
| 124 | 124 | // Payment form scripts. |
| 125 | - if ( 'wpi_payment_form' == $page && $editing ) { |
|
| 125 | + if ('wpi_payment_form' == $page && $editing) { |
|
| 126 | 126 | $this->load_payment_form_scripts(); |
| 127 | 127 | } |
| 128 | 128 | |
| 129 | - if ( $page == 'wpinv-subscriptions' ) { |
|
| 130 | - wp_enqueue_script( 'postbox' ); |
|
| 129 | + if ($page == 'wpinv-subscriptions') { |
|
| 130 | + wp_enqueue_script('postbox'); |
|
| 131 | 131 | } |
| 132 | 132 | |
| 133 | 133 | } |
@@ -140,31 +140,31 @@ discard block |
||
| 140 | 140 | global $post; |
| 141 | 141 | |
| 142 | 142 | $date_range = array( |
| 143 | - 'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days', |
|
| 143 | + 'period' => isset($_GET['date_range']) ? sanitize_text_field($_GET['date_range']) : '7_days', |
|
| 144 | 144 | ); |
| 145 | 145 | |
| 146 | - if ( $date_range['period'] == 'custom' ) { |
|
| 146 | + if ($date_range['period'] == 'custom') { |
|
| 147 | 147 | |
| 148 | - if ( isset( $_GET['from'] ) ) { |
|
| 149 | - $date_range['after'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS ); |
|
| 148 | + if (isset($_GET['from'])) { |
|
| 149 | + $date_range['after'] = date('Y-m-d', strtotime(sanitize_text_field($_GET['from']), current_time('timestamp')) - DAY_IN_SECONDS); |
|
| 150 | 150 | } |
| 151 | 151 | |
| 152 | - if ( isset( $_GET['to'] ) ) { |
|
| 153 | - $date_range['before'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS ); |
|
| 152 | + if (isset($_GET['to'])) { |
|
| 153 | + $date_range['before'] = date('Y-m-d', strtotime(sanitize_text_field($_GET['to']), current_time('timestamp')) + DAY_IN_SECONDS); |
|
| 154 | 154 | } |
| 155 | 155 | } |
| 156 | 156 | |
| 157 | 157 | $i18n = array( |
| 158 | - 'ajax_url' => admin_url( 'admin-ajax.php' ), |
|
| 159 | - 'post_ID' => isset( $post->ID ) ? $post->ID : '', |
|
| 160 | - 'wpinv_nonce' => wp_create_nonce( 'wpinv-nonce' ), |
|
| 161 | - 'rest_nonce' => wp_create_nonce( 'wp_rest' ), |
|
| 162 | - 'rest_root' => esc_url_raw( rest_url() ), |
|
| 158 | + 'ajax_url' => admin_url('admin-ajax.php'), |
|
| 159 | + 'post_ID' => isset($post->ID) ? $post->ID : '', |
|
| 160 | + 'wpinv_nonce' => wp_create_nonce('wpinv-nonce'), |
|
| 161 | + 'rest_nonce' => wp_create_nonce('wp_rest'), |
|
| 162 | + 'rest_root' => esc_url_raw(rest_url()), |
|
| 163 | 163 | 'date_range' => $date_range, |
| 164 | - 'add_invoice_note_nonce' => wp_create_nonce( 'add-invoice-note' ), |
|
| 165 | - 'delete_invoice_note_nonce' => wp_create_nonce( 'delete-invoice-note' ), |
|
| 166 | - 'invoice_item_nonce' => wp_create_nonce( 'invoice-item' ), |
|
| 167 | - 'billing_details_nonce' => wp_create_nonce( 'get-billing-details' ), |
|
| 164 | + 'add_invoice_note_nonce' => wp_create_nonce('add-invoice-note'), |
|
| 165 | + 'delete_invoice_note_nonce' => wp_create_nonce('delete-invoice-note'), |
|
| 166 | + 'invoice_item_nonce' => wp_create_nonce('invoice-item'), |
|
| 167 | + 'billing_details_nonce' => wp_create_nonce('get-billing-details'), |
|
| 168 | 168 | 'tax' => wpinv_tax_amount(), |
| 169 | 169 | 'discount' => 0, |
| 170 | 170 | 'currency_symbol' => wpinv_currency_symbol(), |
@@ -173,39 +173,39 @@ discard block |
||
| 173 | 173 | 'thousand_sep' => wpinv_thousands_separator(), |
| 174 | 174 | 'decimal_sep' => wpinv_decimal_separator(), |
| 175 | 175 | 'decimals' => wpinv_decimals(), |
| 176 | - 'save_invoice' => __( 'Save Invoice', 'invoicing' ), |
|
| 177 | - 'status_publish' => wpinv_status_nicename( 'publish' ), |
|
| 178 | - 'status_pending' => wpinv_status_nicename( 'wpi-pending' ), |
|
| 179 | - 'delete_tax_rate' => __( 'Are you sure you wish to delete this tax rate?', 'invoicing' ), |
|
| 180 | - 'status_pending' => wpinv_status_nicename( 'wpi-pending' ), |
|
| 181 | - 'FillBillingDetails' => __( 'Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing' ), |
|
| 182 | - 'confirmCalcTotals' => __( 'Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing' ), |
|
| 183 | - 'AreYouSure' => __( 'Are you sure?', 'invoicing' ), |
|
| 184 | - 'errDeleteItem' => __( 'This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing' ), |
|
| 185 | - 'delete_subscription' => __( 'Are you sure you want to delete this subscription?', 'invoicing' ), |
|
| 186 | - 'action_edit' => __( 'Edit', 'invoicing' ), |
|
| 187 | - 'action_cancel' => __( 'Cancel', 'invoicing' ), |
|
| 188 | - 'item_description' => __( 'Item Description', 'invoicing' ), |
|
| 189 | - 'invoice_description' => __( 'Invoice Description', 'invoicing' ), |
|
| 190 | - 'discount_description' => __( 'Discount Description', 'invoicing' ), |
|
| 191 | - 'searching' => __( 'Searching', 'invoicing' ), |
|
| 192 | - 'loading' => __( 'Loading...', 'invoicing' ), |
|
| 193 | - 'search_customers' => __( 'Enter customer name or email', 'invoicing' ), |
|
| 194 | - 'search_items' => __( 'Enter item name', 'invoicing' ), |
|
| 195 | - 'graphs' => array_merge( array( 'refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax' ), array_keys( wpinv_get_report_graphs() ) ), |
|
| 176 | + 'save_invoice' => __('Save Invoice', 'invoicing'), |
|
| 177 | + 'status_publish' => wpinv_status_nicename('publish'), |
|
| 178 | + 'status_pending' => wpinv_status_nicename('wpi-pending'), |
|
| 179 | + 'delete_tax_rate' => __('Are you sure you wish to delete this tax rate?', 'invoicing'), |
|
| 180 | + 'status_pending' => wpinv_status_nicename('wpi-pending'), |
|
| 181 | + 'FillBillingDetails' => __('Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing'), |
|
| 182 | + 'confirmCalcTotals' => __('Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing'), |
|
| 183 | + 'AreYouSure' => __('Are you sure?', 'invoicing'), |
|
| 184 | + 'errDeleteItem' => __('This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing'), |
|
| 185 | + 'delete_subscription' => __('Are you sure you want to delete this subscription?', 'invoicing'), |
|
| 186 | + 'action_edit' => __('Edit', 'invoicing'), |
|
| 187 | + 'action_cancel' => __('Cancel', 'invoicing'), |
|
| 188 | + 'item_description' => __('Item Description', 'invoicing'), |
|
| 189 | + 'invoice_description' => __('Invoice Description', 'invoicing'), |
|
| 190 | + 'discount_description' => __('Discount Description', 'invoicing'), |
|
| 191 | + 'searching' => __('Searching', 'invoicing'), |
|
| 192 | + 'loading' => __('Loading...', 'invoicing'), |
|
| 193 | + 'search_customers' => __('Enter customer name or email', 'invoicing'), |
|
| 194 | + 'search_items' => __('Enter item name', 'invoicing'), |
|
| 195 | + 'graphs' => array_merge(array('refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax'), array_keys(wpinv_get_report_graphs())), |
|
| 196 | 196 | ); |
| 197 | 197 | |
| 198 | - if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) { |
|
| 198 | + if (!empty($post) && getpaid_is_invoice_post_type($post->post_type)) { |
|
| 199 | 199 | |
| 200 | - $invoice = new WPInv_Invoice( $post ); |
|
| 200 | + $invoice = new WPInv_Invoice($post); |
|
| 201 | 201 | $i18n['save_invoice'] = sprintf( |
| 202 | - __( 'Save %s', 'invoicing' ), |
|
| 203 | - ucfirst( $invoice->get_invoice_quote_type() ) |
|
| 202 | + __('Save %s', 'invoicing'), |
|
| 203 | + ucfirst($invoice->get_invoice_quote_type()) |
|
| 204 | 204 | ); |
| 205 | 205 | |
| 206 | 206 | $i18n['invoice_description'] = sprintf( |
| 207 | - __( '%s Description', 'invoicing' ), |
|
| 208 | - ucfirst( $invoice->get_invoice_quote_type() ) |
|
| 207 | + __('%s Description', 'invoicing'), |
|
| 208 | + ucfirst($invoice->get_invoice_quote_type()) |
|
| 209 | 209 | ); |
| 210 | 210 | |
| 211 | 211 | } |
@@ -219,24 +219,24 @@ discard block |
||
| 219 | 219 | * @param string $footer_text |
| 220 | 220 | * @return string |
| 221 | 221 | */ |
| 222 | - public function admin_footer_text( $footer_text ) { |
|
| 222 | + public function admin_footer_text($footer_text) { |
|
| 223 | 223 | global $current_screen; |
| 224 | 224 | |
| 225 | - $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : ''; |
|
| 225 | + $page = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : ''; |
|
| 226 | 226 | |
| 227 | - if ( ! empty( $current_screen->post_type ) ) { |
|
| 227 | + if (!empty($current_screen->post_type)) { |
|
| 228 | 228 | $page = $current_screen->post_type; |
| 229 | 229 | } |
| 230 | 230 | |
| 231 | 231 | // General styles. |
| 232 | - if ( apply_filters( 'getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing() ) && false !== stripos( $page, 'wpi' ) ) { |
|
| 232 | + if (apply_filters('getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing()) && false !== stripos($page, 'wpi')) { |
|
| 233 | 233 | |
| 234 | 234 | // Change the footer text |
| 235 | - if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) { |
|
| 235 | + if (!get_user_meta(get_current_user_id(), 'getpaid_admin_footer_text_rated', true)) { |
|
| 236 | 236 | |
| 237 | - $rating_url = esc_url( |
|
| 237 | + $rating_url = esc_url( |
|
| 238 | 238 | wp_nonce_url( |
| 239 | - admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ), |
|
| 239 | + admin_url('admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin'), |
|
| 240 | 240 | 'getpaid-nonce', |
| 241 | 241 | 'getpaid-nonce' |
| 242 | 242 | ) |
@@ -244,7 +244,7 @@ discard block |
||
| 244 | 244 | |
| 245 | 245 | $footer_text = sprintf( |
| 246 | 246 | /* translators: %s: five stars */ |
| 247 | - __( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ), |
|
| 247 | + __('If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing'), |
|
| 248 | 248 | "<a href='$rating_url'>★★★★★</a>" |
| 249 | 249 | ); |
| 250 | 250 | |
@@ -252,7 +252,7 @@ discard block |
||
| 252 | 252 | |
| 253 | 253 | $footer_text = sprintf( |
| 254 | 254 | /* translators: %s: GetPaid */ |
| 255 | - __( 'Thank you for using %s!', 'invoicing' ), |
|
| 255 | + __('Thank you for using %s!', 'invoicing'), |
|
| 256 | 256 | "<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>" |
| 257 | 257 | ); |
| 258 | 258 | |
@@ -268,8 +268,8 @@ discard block |
||
| 268 | 268 | * @since 2.0.0 |
| 269 | 269 | */ |
| 270 | 270 | public function redirect_to_wordpress_rating_page() { |
| 271 | - update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 ); |
|
| 272 | - wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' ); |
|
| 271 | + update_user_meta(get_current_user_id(), 'getpaid_admin_footer_text_rated', 1); |
|
| 272 | + wp_redirect('https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post'); |
|
| 273 | 273 | exit; |
| 274 | 274 | } |
| 275 | 275 | |
@@ -280,29 +280,29 @@ discard block |
||
| 280 | 280 | protected function load_payment_form_scripts() { |
| 281 | 281 | global $post; |
| 282 | 282 | |
| 283 | - wp_enqueue_script( 'vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.min.js', array(), WPINV_VERSION ); |
|
| 284 | - wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION ); |
|
| 285 | - wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION ); |
|
| 283 | + wp_enqueue_script('vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.min.js', array(), WPINV_VERSION); |
|
| 284 | + wp_enqueue_script('sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION); |
|
| 285 | + wp_enqueue_script('vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array('sortable', 'vue'), WPINV_VERSION); |
|
| 286 | 286 | |
| 287 | - wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.min.js', array( 'wpinv-admin-script', 'vue_draggable', 'wp-hooks' ), WPINV_VERSION ); |
|
| 287 | + wp_register_script('wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.min.js', array('wpinv-admin-script', 'vue_draggable', 'wp-hooks'), WPINV_VERSION); |
|
| 288 | 288 | |
| 289 | 289 | wp_localize_script( |
| 290 | 290 | 'wpinv-admin-payment-form-script', |
| 291 | 291 | 'wpinvPaymentFormAdmin', |
| 292 | 292 | array( |
| 293 | - 'elements' => wpinv_get_data( 'payment-form-elements' ), |
|
| 294 | - 'form_elements' => getpaid_get_payment_form_elements( $post->ID ), |
|
| 293 | + 'elements' => wpinv_get_data('payment-form-elements'), |
|
| 294 | + 'form_elements' => getpaid_get_payment_form_elements($post->ID), |
|
| 295 | 295 | 'currency' => wpinv_currency_symbol(), |
| 296 | 296 | 'position' => wpinv_currency_position(), |
| 297 | 297 | 'decimals' => (int) wpinv_decimals(), |
| 298 | 298 | 'thousands_sep' => wpinv_thousands_separator(), |
| 299 | 299 | 'decimals_sep' => wpinv_decimal_separator(), |
| 300 | - 'form_items' => gepaid_get_form_items( $post->ID ), |
|
| 300 | + 'form_items' => gepaid_get_form_items($post->ID), |
|
| 301 | 301 | 'is_default' => $post->ID == wpinv_get_default_payment_form(), |
| 302 | 302 | ) |
| 303 | 303 | ); |
| 304 | 304 | |
| 305 | - wp_enqueue_script( 'wpinv-admin-payment-form-script' ); |
|
| 305 | + wp_enqueue_script('wpinv-admin-payment-form-script'); |
|
| 306 | 306 | |
| 307 | 307 | } |
| 308 | 308 | |
@@ -313,24 +313,24 @@ discard block |
||
| 313 | 313 | * @return string |
| 314 | 314 | * |
| 315 | 315 | */ |
| 316 | - public function admin_body_class( $classes ) { |
|
| 316 | + public function admin_body_class($classes) { |
|
| 317 | 317 | global $pagenow, $post, $current_screen; |
| 318 | 318 | |
| 319 | - $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : ''; |
|
| 319 | + $page = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : ''; |
|
| 320 | 320 | |
| 321 | - if ( ! empty( $current_screen->post_type ) ) { |
|
| 321 | + if (!empty($current_screen->post_type)) { |
|
| 322 | 322 | $page = $current_screen->post_type; |
| 323 | 323 | } |
| 324 | 324 | |
| 325 | - if ( false !== stripos( $page, 'wpi' ) ) { |
|
| 326 | - $classes .= ' wpi-' . sanitize_key( $page ); |
|
| 325 | + if (false !== stripos($page, 'wpi')) { |
|
| 326 | + $classes .= ' wpi-' . sanitize_key($page); |
|
| 327 | 327 | } |
| 328 | 328 | |
| 329 | - if ( in_array( $page, wpinv_parse_list( 'wpi_invoice wpi_payment_form wpi_quote' ) ) ) { |
|
| 329 | + if (in_array($page, wpinv_parse_list('wpi_invoice wpi_payment_form wpi_quote'))) { |
|
| 330 | 330 | $classes .= ' wpinv-cpt wpinv'; |
| 331 | 331 | } |
| 332 | 332 | |
| 333 | - if ( getpaid_is_invoice_post_type( $page ) ) { |
|
| 333 | + if (getpaid_is_invoice_post_type($page)) { |
|
| 334 | 334 | $classes .= ' getpaid-is-invoice-cpt'; |
| 335 | 335 | } |
| 336 | 336 | |
@@ -349,21 +349,21 @@ discard block |
||
| 349 | 349 | 'version' => WPINV_VERSION, |
| 350 | 350 | 'support_url' => 'https://wpgetpaid.com/support/', |
| 351 | 351 | 'documentation_url' => 'https://docs.wpgetpaid.com/', |
| 352 | - 'activated' => (int) get_option( 'gepaid_installed_on' ), |
|
| 352 | + 'activated' => (int) get_option('gepaid_installed_on'), |
|
| 353 | 353 | ) |
| 354 | 354 | ); |
| 355 | 355 | |
| 356 | 356 | new AyeCode_Connect_Helper( |
| 357 | 357 | array( |
| 358 | - 'connect_title' => __( 'WP Invoicing - an AyeCode product!', 'invoicing' ), |
|
| 359 | - 'connect_external' => __( 'Please confirm you wish to connect your site?', 'invoicing' ), |
|
| 360 | - 'connect' => sprintf( __( '<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>' ), |
|
| 361 | - 'connect_button' => __( 'Connect Site', 'invoicing' ), |
|
| 362 | - 'connecting_button' => __( 'Connecting...', 'invoicing' ), |
|
| 363 | - 'error_localhost' => __( 'This service will only work with a live domain, not a localhost.', 'invoicing' ), |
|
| 364 | - 'error' => __( 'Something went wrong, please refresh and try again.', 'invoicing' ), |
|
| 358 | + 'connect_title' => __('WP Invoicing - an AyeCode product!', 'invoicing'), |
|
| 359 | + 'connect_external' => __('Please confirm you wish to connect your site?', 'invoicing'), |
|
| 360 | + 'connect' => sprintf(__('<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing'), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>'), |
|
| 361 | + 'connect_button' => __('Connect Site', 'invoicing'), |
|
| 362 | + 'connecting_button' => __('Connecting...', 'invoicing'), |
|
| 363 | + 'error_localhost' => __('This service will only work with a live domain, not a localhost.', 'invoicing'), |
|
| 364 | + 'error' => __('Something went wrong, please refresh and try again.', 'invoicing'), |
|
| 365 | 365 | ), |
| 366 | - array( 'wpi-addons' ) |
|
| 366 | + array('wpi-addons') |
|
| 367 | 367 | ); |
| 368 | 368 | |
| 369 | 369 | } |
@@ -375,20 +375,20 @@ discard block |
||
| 375 | 375 | */ |
| 376 | 376 | public function activation_redirect() { |
| 377 | 377 | |
| 378 | - $redirected = get_option( 'wpinv_redirected_to_settings' ); |
|
| 378 | + $redirected = get_option('wpinv_redirected_to_settings'); |
|
| 379 | 379 | |
| 380 | - if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) { |
|
| 380 | + if (!empty($redirected) || wp_doing_ajax() || !current_user_can('manage_options')) { |
|
| 381 | 381 | return; |
| 382 | 382 | } |
| 383 | 383 | |
| 384 | 384 | // Bail if activating from network, or bulk |
| 385 | - if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) { |
|
| 385 | + if (is_network_admin() || isset($_GET['activate-multi'])) { |
|
| 386 | 386 | return; |
| 387 | 387 | } |
| 388 | 388 | |
| 389 | - update_option( 'wpinv_redirected_to_settings', 1 ); |
|
| 389 | + update_option('wpinv_redirected_to_settings', 1); |
|
| 390 | 390 | |
| 391 | - wp_safe_redirect( admin_url( 'index.php?page=gp-setup' ) ); |
|
| 391 | + wp_safe_redirect(admin_url('index.php?page=gp-setup')); |
|
| 392 | 392 | exit; |
| 393 | 393 | |
| 394 | 394 | } |
@@ -397,10 +397,10 @@ discard block |
||
| 397 | 397 | * Fires an admin action after verifying that a user can fire them. |
| 398 | 398 | */ |
| 399 | 399 | public function maybe_do_admin_action() { |
| 400 | - if ( isset( $_REQUEST['getpaid-admin-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) && wpinv_current_user_can( sanitize_text_field( $_REQUEST['getpaid-admin-action'] ), $_REQUEST ) ) { |
|
| 401 | - $key = sanitize_key( $_REQUEST['getpaid-admin-action'] ); |
|
| 400 | + if (isset($_REQUEST['getpaid-admin-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce') && wpinv_current_user_can(sanitize_text_field($_REQUEST['getpaid-admin-action']), $_REQUEST)) { |
|
| 401 | + $key = sanitize_key($_REQUEST['getpaid-admin-action']); |
|
| 402 | 402 | |
| 403 | - do_action( "getpaid_authenticated_admin_action_$key", $_REQUEST ); |
|
| 403 | + do_action("getpaid_authenticated_admin_action_$key", $_REQUEST); |
|
| 404 | 404 | } |
| 405 | 405 | } |
| 406 | 406 | |
@@ -409,24 +409,24 @@ discard block |
||
| 409 | 409 | * |
| 410 | 410 | * @param array $args |
| 411 | 411 | */ |
| 412 | - public function duplicate_invoice( $args ) { |
|
| 412 | + public function duplicate_invoice($args) { |
|
| 413 | 413 | |
| 414 | - if ( empty( $args['invoice_id'] ) ) { |
|
| 414 | + if (empty($args['invoice_id'])) { |
|
| 415 | 415 | return; |
| 416 | 416 | } |
| 417 | 417 | |
| 418 | - $invoice = new WPInv_Invoice( (int) $args['invoice_id'] ); |
|
| 418 | + $invoice = new WPInv_Invoice((int) $args['invoice_id']); |
|
| 419 | 419 | |
| 420 | - if ( ! $invoice->exists() ) { |
|
| 420 | + if (!$invoice->exists()) { |
|
| 421 | 421 | return; |
| 422 | 422 | } |
| 423 | 423 | |
| 424 | - $new_invoice = getpaid_duplicate_invoice( $invoice ); |
|
| 424 | + $new_invoice = getpaid_duplicate_invoice($invoice); |
|
| 425 | 425 | $new_invoice->save(); |
| 426 | 426 | |
| 427 | - if ( $new_invoice->exists() ) { |
|
| 427 | + if ($new_invoice->exists()) { |
|
| 428 | 428 | |
| 429 | - getpaid_admin()->show_success( __( 'Invoice duplicated successfully.', 'invoicing' ) ); |
|
| 429 | + getpaid_admin()->show_success(__('Invoice duplicated successfully.', 'invoicing')); |
|
| 430 | 430 | |
| 431 | 431 | wp_safe_redirect( |
| 432 | 432 | add_query_arg( |
@@ -434,14 +434,14 @@ discard block |
||
| 434 | 434 | 'action' => 'edit', |
| 435 | 435 | 'post' => $new_invoice->get_id(), |
| 436 | 436 | ), |
| 437 | - admin_url( 'post.php' ) |
|
| 437 | + admin_url('post.php') |
|
| 438 | 438 | ) |
| 439 | 439 | ); |
| 440 | 440 | exit; |
| 441 | 441 | |
| 442 | 442 | } |
| 443 | 443 | |
| 444 | - getpaid_admin()->show_error( __( 'There was an error duplicating this invoice. Please try again.', 'invoicing' ) ); |
|
| 444 | + getpaid_admin()->show_error(__('There was an error duplicating this invoice. Please try again.', 'invoicing')); |
|
| 445 | 445 | |
| 446 | 446 | } |
| 447 | 447 | |
@@ -450,40 +450,40 @@ discard block |
||
| 450 | 450 | * |
| 451 | 451 | * @param array $args |
| 452 | 452 | */ |
| 453 | - public function refund_invoice( $args ) { |
|
| 453 | + public function refund_invoice($args) { |
|
| 454 | 454 | |
| 455 | - if ( empty( $args['invoice_id'] ) ) { |
|
| 455 | + if (empty($args['invoice_id'])) { |
|
| 456 | 456 | return; |
| 457 | 457 | } |
| 458 | 458 | |
| 459 | - $invoice = new WPInv_Invoice( (int) $args['invoice_id'] ); |
|
| 459 | + $invoice = new WPInv_Invoice((int) $args['invoice_id']); |
|
| 460 | 460 | |
| 461 | - if ( ! $invoice->exists() || $invoice->is_refunded() ) { |
|
| 461 | + if (!$invoice->exists() || $invoice->is_refunded()) { |
|
| 462 | 462 | return; |
| 463 | 463 | } |
| 464 | 464 | |
| 465 | 465 | $invoice->refund(); |
| 466 | 466 | |
| 467 | 467 | // Refund remotely. |
| 468 | - if ( getpaid_payment_gateway_supports( $invoice->get_gateway(), 'refunds' ) && ! empty( $args['getpaid_refund_remote'] ) ) { |
|
| 469 | - do_action( 'getpaid_refund_invoice_remotely', $invoice ); |
|
| 468 | + if (getpaid_payment_gateway_supports($invoice->get_gateway(), 'refunds') && !empty($args['getpaid_refund_remote'])) { |
|
| 469 | + do_action('getpaid_refund_invoice_remotely', $invoice); |
|
| 470 | 470 | } |
| 471 | 471 | |
| 472 | 472 | // Cancel subscriptions. |
| 473 | - if ( ! empty( $args['getpaid_cancel_subscription'] ) ) { |
|
| 474 | - $subscriptions = getpaid_get_invoice_subscriptions( $invoice ); |
|
| 473 | + if (!empty($args['getpaid_cancel_subscription'])) { |
|
| 474 | + $subscriptions = getpaid_get_invoice_subscriptions($invoice); |
|
| 475 | 475 | |
| 476 | - if ( ! empty( $subscriptions ) ) { |
|
| 477 | - if ( ! is_array( $subscriptions ) ) { |
|
| 478 | - $subscriptions = array( $subscriptions ); |
|
| 476 | + if (!empty($subscriptions)) { |
|
| 477 | + if (!is_array($subscriptions)) { |
|
| 478 | + $subscriptions = array($subscriptions); |
|
| 479 | 479 | } |
| 480 | 480 | |
| 481 | - foreach ( $subscriptions as $subscription ) { |
|
| 481 | + foreach ($subscriptions as $subscription) { |
|
| 482 | 482 | $subscription->cancel(); |
| 483 | 483 | $invoice->add_system_note( |
| 484 | 484 | sprintf( |
| 485 | 485 | // translators: %s: subscription ID. |
| 486 | - __( 'Subscription #%s cancelled', 'invoicing' ), |
|
| 486 | + __('Subscription #%s cancelled', 'invoicing'), |
|
| 487 | 487 | $subscription->get_id() |
| 488 | 488 | ) |
| 489 | 489 | ); |
@@ -492,11 +492,11 @@ discard block |
||
| 492 | 492 | } |
| 493 | 493 | |
| 494 | 494 | // Add notice. |
| 495 | - $this->show_success( __( 'Invoice refunded successfully.', 'invoicing' ) ); |
|
| 495 | + $this->show_success(__('Invoice refunded successfully.', 'invoicing')); |
|
| 496 | 496 | |
| 497 | 497 | // Redirect. |
| 498 | 498 | wp_safe_redirect( |
| 499 | - remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id', 'getpaid_cancel_subscription', 'getpaid_refund_remote' ) ) |
|
| 499 | + remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce', 'invoice_id', 'getpaid_cancel_subscription', 'getpaid_refund_remote')) |
|
| 500 | 500 | ); |
| 501 | 501 | } |
| 502 | 502 | |
@@ -505,34 +505,34 @@ discard block |
||
| 505 | 505 | * |
| 506 | 506 | * @param array $args |
| 507 | 507 | */ |
| 508 | - public function duplicate_payment_form( $args ) { |
|
| 508 | + public function duplicate_payment_form($args) { |
|
| 509 | 509 | |
| 510 | - if ( empty( $args['form_id'] ) ) { |
|
| 510 | + if (empty($args['form_id'])) { |
|
| 511 | 511 | return; |
| 512 | 512 | } |
| 513 | 513 | |
| 514 | - $form = new GetPaid_Payment_Form( (int) $args['form_id'] ); |
|
| 514 | + $form = new GetPaid_Payment_Form((int) $args['form_id']); |
|
| 515 | 515 | |
| 516 | - if ( ! $form->exists() ) { |
|
| 516 | + if (!$form->exists()) { |
|
| 517 | 517 | return; |
| 518 | 518 | } |
| 519 | 519 | |
| 520 | 520 | $new_form = new GetPaid_Payment_Form(); |
| 521 | - $new_form->set_author( $form->get_author( 'edit' ) ); |
|
| 522 | - $new_form->set_name( $form->get_name( 'edit' ) . __( '(copy)', 'invoicing' ) ); |
|
| 523 | - $new_form->set_elements( $form->get_elements( 'edit' ) ); |
|
| 524 | - $new_form->set_items( $form->get_items( 'edit' ) ); |
|
| 521 | + $new_form->set_author($form->get_author('edit')); |
|
| 522 | + $new_form->set_name($form->get_name('edit') . __('(copy)', 'invoicing')); |
|
| 523 | + $new_form->set_elements($form->get_elements('edit')); |
|
| 524 | + $new_form->set_items($form->get_items('edit')); |
|
| 525 | 525 | $new_form->save(); |
| 526 | 526 | |
| 527 | - if ( $new_form->exists() ) { |
|
| 528 | - $this->show_success( __( 'Form duplicated successfully', 'invoicing' ) ); |
|
| 529 | - $url = get_edit_post_link( $new_form->get_id(), 'edit' ); |
|
| 527 | + if ($new_form->exists()) { |
|
| 528 | + $this->show_success(__('Form duplicated successfully', 'invoicing')); |
|
| 529 | + $url = get_edit_post_link($new_form->get_id(), 'edit'); |
|
| 530 | 530 | } else { |
| 531 | - $this->show_error( __( 'Unable to duplicate form', 'invoicing' ) ); |
|
| 532 | - $url = remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) ); |
|
| 531 | + $this->show_error(__('Unable to duplicate form', 'invoicing')); |
|
| 532 | + $url = remove_query_arg(array('getpaid-admin-action', 'form_id', 'getpaid-nonce')); |
|
| 533 | 533 | } |
| 534 | 534 | |
| 535 | - wp_redirect( $url ); |
|
| 535 | + wp_redirect($url); |
|
| 536 | 536 | exit; |
| 537 | 537 | } |
| 538 | 538 | |
@@ -541,27 +541,27 @@ discard block |
||
| 541 | 541 | * |
| 542 | 542 | * @param array $args |
| 543 | 543 | */ |
| 544 | - public function reset_form_stats( $args ) { |
|
| 544 | + public function reset_form_stats($args) { |
|
| 545 | 545 | |
| 546 | - if ( empty( $args['form_id'] ) ) { |
|
| 546 | + if (empty($args['form_id'])) { |
|
| 547 | 547 | return; |
| 548 | 548 | } |
| 549 | 549 | |
| 550 | - $form = new GetPaid_Payment_Form( (int) $args['form_id'] ); |
|
| 550 | + $form = new GetPaid_Payment_Form((int) $args['form_id']); |
|
| 551 | 551 | |
| 552 | - if ( ! $form->exists() ) { |
|
| 552 | + if (!$form->exists()) { |
|
| 553 | 553 | return; |
| 554 | 554 | } |
| 555 | 555 | |
| 556 | - $form->set_earned( 0 ); |
|
| 557 | - $form->set_refunded( 0 ); |
|
| 558 | - $form->set_cancelled( 0 ); |
|
| 559 | - $form->set_failed( 0 ); |
|
| 556 | + $form->set_earned(0); |
|
| 557 | + $form->set_refunded(0); |
|
| 558 | + $form->set_cancelled(0); |
|
| 559 | + $form->set_failed(0); |
|
| 560 | 560 | $form->save(); |
| 561 | 561 | |
| 562 | - $this->show_success( __( 'Form stats reset successfully', 'invoicing' ) ); |
|
| 562 | + $this->show_success(__('Form stats reset successfully', 'invoicing')); |
|
| 563 | 563 | |
| 564 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) ) ); |
|
| 564 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'form_id', 'getpaid-nonce'))); |
|
| 565 | 565 | exit; |
| 566 | 566 | } |
| 567 | 567 | |
@@ -570,9 +570,9 @@ discard block |
||
| 570 | 570 | * |
| 571 | 571 | * @param array $args |
| 572 | 572 | */ |
| 573 | - public function send_customer_invoice( $args ) { |
|
| 574 | - getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true ); |
|
| 575 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) ); |
|
| 573 | + public function send_customer_invoice($args) { |
|
| 574 | + getpaid()->get('invoice_emails')->user_invoice(new WPInv_Invoice($args['invoice_id']), true); |
|
| 575 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce', 'invoice_id'))); |
|
| 576 | 576 | exit; |
| 577 | 577 | } |
| 578 | 578 | |
@@ -581,16 +581,16 @@ discard block |
||
| 581 | 581 | * |
| 582 | 582 | * @param array $args |
| 583 | 583 | */ |
| 584 | - public function send_customer_payment_reminder( $args ) { |
|
| 585 | - $sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) ); |
|
| 584 | + public function send_customer_payment_reminder($args) { |
|
| 585 | + $sent = getpaid()->get('invoice_emails')->force_send_overdue_notice(new WPInv_Invoice($args['invoice_id'])); |
|
| 586 | 586 | |
| 587 | - if ( $sent ) { |
|
| 588 | - $this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) ); |
|
| 587 | + if ($sent) { |
|
| 588 | + $this->show_success(__('Payment reminder was successfully sent to the customer', 'invoicing')); |
|
| 589 | 589 | } else { |
| 590 | - $this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) ); |
|
| 590 | + $this->show_error(__('Could not sent payment reminder to the customer', 'invoicing')); |
|
| 591 | 591 | } |
| 592 | 592 | |
| 593 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) ); |
|
| 593 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce', 'invoice_id'))); |
|
| 594 | 594 | exit; |
| 595 | 595 | } |
| 596 | 596 | |
@@ -600,8 +600,8 @@ discard block |
||
| 600 | 600 | */ |
| 601 | 601 | public function admin_reset_tax_rates() { |
| 602 | 602 | |
| 603 | - update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) ); |
|
| 604 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 603 | + update_option('wpinv_tax_rates', wpinv_get_data('tax-rates')); |
|
| 604 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce'))); |
|
| 605 | 605 | exit; |
| 606 | 606 | |
| 607 | 607 | } |
@@ -613,8 +613,8 @@ discard block |
||
| 613 | 613 | public function admin_create_missing_pages() { |
| 614 | 614 | $installer = new GetPaid_Installer(); |
| 615 | 615 | $installer->create_pages(); |
| 616 | - $this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) ); |
|
| 617 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 616 | + $this->show_success(__('GetPaid pages updated.', 'invoicing')); |
|
| 617 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce'))); |
|
| 618 | 618 | exit; |
| 619 | 619 | } |
| 620 | 620 | |
@@ -623,8 +623,8 @@ discard block |
||
| 623 | 623 | */ |
| 624 | 624 | public function admin_refresh_permalinks() { |
| 625 | 625 | flush_rewrite_rules(); |
| 626 | - $this->show_success( __( 'Permalinks refreshed.', 'invoicing' ) ); |
|
| 627 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 626 | + $this->show_success(__('Permalinks refreshed.', 'invoicing')); |
|
| 627 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce'))); |
|
| 628 | 628 | exit; |
| 629 | 629 | } |
| 630 | 630 | |
@@ -638,13 +638,13 @@ discard block |
||
| 638 | 638 | GetPaid_Installer::create_db_tables(); |
| 639 | 639 | GetPaid_Installer::migrate_old_customers(); |
| 640 | 640 | |
| 641 | - if ( '' !== $wpdb->last_error ) { |
|
| 642 | - $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error ); |
|
| 641 | + if ('' !== $wpdb->last_error) { |
|
| 642 | + $this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error); |
|
| 643 | 643 | } else { |
| 644 | - $this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) ); |
|
| 644 | + $this->show_success(__('Your GetPaid tables have been updated.', 'invoicing')); |
|
| 645 | 645 | } |
| 646 | 646 | |
| 647 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 647 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce'))); |
|
| 648 | 648 | exit; |
| 649 | 649 | } |
| 650 | 650 | |
@@ -659,10 +659,10 @@ discard block |
||
| 659 | 659 | $installer->migrate_old_invoices(); |
| 660 | 660 | |
| 661 | 661 | // Show an admin message. |
| 662 | - $this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) ); |
|
| 662 | + $this->show_success(__('Your invoices have been migrated.', 'invoicing')); |
|
| 663 | 663 | |
| 664 | 664 | // Redirect the admin. |
| 665 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 665 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce'))); |
|
| 666 | 666 | exit; |
| 667 | 667 | |
| 668 | 668 | } |
@@ -673,35 +673,35 @@ discard block |
||
| 673 | 673 | */ |
| 674 | 674 | public function admin_download_customers() { |
| 675 | 675 | |
| 676 | - $output = fopen( 'php://output', 'w' ); |
|
| 676 | + $output = fopen('php://output', 'w'); |
|
| 677 | 677 | |
| 678 | - if ( false === $output ) { |
|
| 679 | - wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 ); |
|
| 678 | + if (false === $output) { |
|
| 679 | + wp_die(esc_html__('Unsupported server', 'invoicing'), 500); |
|
| 680 | 680 | } |
| 681 | 681 | |
| 682 | - header( 'Content-Type:text/csv' ); |
|
| 683 | - header( 'Content-Disposition:attachment;filename=customers.csv' ); |
|
| 682 | + header('Content-Type:text/csv'); |
|
| 683 | + header('Content-Disposition:attachment;filename=customers.csv'); |
|
| 684 | 684 | |
| 685 | 685 | /** @var GetPaid_Customer[] $customers */ |
| 686 | - $customers = getpaid_get_customers( array( 'number' => -1 ) ); |
|
| 687 | - $columns = array_keys( GetPaid_Customer_Data_Store::get_database_fields() ); |
|
| 686 | + $customers = getpaid_get_customers(array('number' => -1)); |
|
| 687 | + $columns = array_keys(GetPaid_Customer_Data_Store::get_database_fields()); |
|
| 688 | 688 | |
| 689 | 689 | // Output the csv column headers. |
| 690 | - fputcsv( $output, $columns ); |
|
| 690 | + fputcsv($output, $columns); |
|
| 691 | 691 | |
| 692 | 692 | // Loop through |
| 693 | - foreach ( $customers as $customer ) { |
|
| 693 | + foreach ($customers as $customer) { |
|
| 694 | 694 | |
| 695 | - $row = array(); |
|
| 695 | + $row = array(); |
|
| 696 | 696 | |
| 697 | - foreach ( $columns as $column ) { |
|
| 698 | - $row[] = (string) maybe_serialize( $customer->get( $column, 'edit' ) ); |
|
| 697 | + foreach ($columns as $column) { |
|
| 698 | + $row[] = (string) maybe_serialize($customer->get($column, 'edit')); |
|
| 699 | 699 | } |
| 700 | 700 | |
| 701 | - fputcsv( $output, $row ); |
|
| 701 | + fputcsv($output, $row); |
|
| 702 | 702 | } |
| 703 | 703 | |
| 704 | - fclose( $output ); |
|
| 704 | + fclose($output); |
|
| 705 | 705 | exit; |
| 706 | 706 | |
| 707 | 707 | } |
@@ -711,27 +711,27 @@ discard block |
||
| 711 | 711 | * |
| 712 | 712 | * @param array $data |
| 713 | 713 | */ |
| 714 | - public function admin_install_plugin( $data ) { |
|
| 714 | + public function admin_install_plugin($data) { |
|
| 715 | 715 | |
| 716 | - if ( ! empty( $data['plugins'] ) ) { |
|
| 716 | + if (!empty($data['plugins'])) { |
|
| 717 | 717 | include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; |
| 718 | 718 | wp_cache_flush(); |
| 719 | 719 | |
| 720 | - foreach ( $data['plugins'] as $slug => $file ) { |
|
| 721 | - $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' ); |
|
| 722 | - $upgrader = new Plugin_Upgrader( new Automatic_Upgrader_Skin() ); |
|
| 723 | - $installed = $upgrader->install( $plugin_zip ); |
|
| 720 | + foreach ($data['plugins'] as $slug => $file) { |
|
| 721 | + $plugin_zip = esc_url('https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip'); |
|
| 722 | + $upgrader = new Plugin_Upgrader(new Automatic_Upgrader_Skin()); |
|
| 723 | + $installed = $upgrader->install($plugin_zip); |
|
| 724 | 724 | |
| 725 | - if ( ! is_wp_error( $installed ) && $installed ) { |
|
| 726 | - activate_plugin( $file, '', false, true ); |
|
| 725 | + if (!is_wp_error($installed) && $installed) { |
|
| 726 | + activate_plugin($file, '', false, true); |
|
| 727 | 727 | } else { |
| 728 | - wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false ); |
|
| 728 | + wpinv_error_log($upgrader->skin->get_upgrade_messages(), false); |
|
| 729 | 729 | } |
| 730 | 730 | } |
| 731 | 731 | } |
| 732 | 732 | |
| 733 | - $redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' ); |
|
| 734 | - wp_safe_redirect( $redirect ); |
|
| 733 | + $redirect = isset($data['redirect']) ? esc_url_raw($data['redirect']) : admin_url('plugins.php'); |
|
| 734 | + wp_safe_redirect($redirect); |
|
| 735 | 735 | exit; |
| 736 | 736 | |
| 737 | 737 | } |
@@ -741,41 +741,41 @@ discard block |
||
| 741 | 741 | * |
| 742 | 742 | * @param array $data |
| 743 | 743 | */ |
| 744 | - public function admin_connect_gateway( $data ) { |
|
| 744 | + public function admin_connect_gateway($data) { |
|
| 745 | 745 | |
| 746 | - if ( ! empty( $data['plugin'] ) ) { |
|
| 746 | + if (!empty($data['plugin'])) { |
|
| 747 | 747 | |
| 748 | - $gateway = sanitize_key( $data['plugin'] ); |
|
| 749 | - $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data ); |
|
| 748 | + $gateway = sanitize_key($data['plugin']); |
|
| 749 | + $connect_url = apply_filters("getpaid_get_{$gateway}_connect_url", false, $data); |
|
| 750 | 750 | |
| 751 | - if ( ! empty( $connect_url ) ) { |
|
| 752 | - wp_redirect( $connect_url ); |
|
| 751 | + if (!empty($connect_url)) { |
|
| 752 | + wp_redirect($connect_url); |
|
| 753 | 753 | exit; |
| 754 | 754 | } |
| 755 | 755 | |
| 756 | - if ( 'stripe' == $data['plugin'] ) { |
|
| 756 | + if ('stripe' == $data['plugin']) { |
|
| 757 | 757 | require_once ABSPATH . 'wp-admin/includes/plugin.php'; |
| 758 | 758 | include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; |
| 759 | 759 | wp_cache_flush(); |
| 760 | 760 | |
| 761 | - if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) { |
|
| 762 | - $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' ); |
|
| 763 | - $upgrader = new Plugin_Upgrader( new Automatic_Upgrader_Skin() ); |
|
| 764 | - $upgrader->install( $plugin_zip ); |
|
| 761 | + if (!array_key_exists('getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins())) { |
|
| 762 | + $plugin_zip = esc_url('https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip'); |
|
| 763 | + $upgrader = new Plugin_Upgrader(new Automatic_Upgrader_Skin()); |
|
| 764 | + $upgrader->install($plugin_zip); |
|
| 765 | 765 | } |
| 766 | 766 | |
| 767 | - activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true ); |
|
| 767 | + activate_plugin('getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true); |
|
| 768 | 768 | } |
| 769 | 769 | |
| 770 | - $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data ); |
|
| 771 | - if ( ! empty( $connect_url ) ) { |
|
| 772 | - wp_redirect( $connect_url ); |
|
| 770 | + $connect_url = apply_filters("getpaid_get_{$gateway}_connect_url", false, $data); |
|
| 771 | + if (!empty($connect_url)) { |
|
| 772 | + wp_redirect($connect_url); |
|
| 773 | 773 | exit; |
| 774 | 774 | } |
| 775 | 775 | } |
| 776 | 776 | |
| 777 | - $redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' ); |
|
| 778 | - wp_safe_redirect( $redirect ); |
|
| 777 | + $redirect = isset($data['redirect']) ? esc_url_raw(urldecode($data['redirect'])) : admin_url('admin.php?page=wpinv-settings&tab=gateways'); |
|
| 778 | + wp_safe_redirect($redirect); |
|
| 779 | 779 | exit; |
| 780 | 780 | |
| 781 | 781 | } |
@@ -789,35 +789,35 @@ discard block |
||
| 789 | 789 | |
| 790 | 790 | // Fetch all invoices that have discount codes. |
| 791 | 791 | $table = $wpdb->prefix . 'getpaid_invoices'; |
| 792 | - $invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" ); |
|
| 792 | + $invoices = $wpdb->get_col("SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''"); |
|
| 793 | 793 | |
| 794 | - foreach ( $invoices as $invoice ) { |
|
| 794 | + foreach ($invoices as $invoice) { |
|
| 795 | 795 | |
| 796 | - $invoice = new WPInv_Invoice( $invoice ); |
|
| 796 | + $invoice = new WPInv_Invoice($invoice); |
|
| 797 | 797 | |
| 798 | - if ( ! $invoice->exists() ) { |
|
| 798 | + if (!$invoice->exists()) { |
|
| 799 | 799 | continue; |
| 800 | 800 | } |
| 801 | 801 | |
| 802 | 802 | // Abort if the discount does not exist or does not apply here. |
| 803 | - $discount = new WPInv_Discount( $invoice->get_discount_code() ); |
|
| 804 | - if ( ! $discount->exists() ) { |
|
| 803 | + $discount = new WPInv_Discount($invoice->get_discount_code()); |
|
| 804 | + if (!$discount->exists()) { |
|
| 805 | 805 | continue; |
| 806 | 806 | } |
| 807 | 807 | |
| 808 | - $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) ); |
|
| 808 | + $invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount)); |
|
| 809 | 809 | $invoice->recalculate_total(); |
| 810 | 810 | |
| 811 | - if ( $invoice->get_total_discount() > 0 ) { |
|
| 811 | + if ($invoice->get_total_discount() > 0) { |
|
| 812 | 812 | $invoice->save(); |
| 813 | 813 | } |
| 814 | 814 | } |
| 815 | 815 | |
| 816 | 816 | // Show an admin message. |
| 817 | - $this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) ); |
|
| 817 | + $this->show_success(__('Discounts have been recalculated.', 'invoicing')); |
|
| 818 | 818 | |
| 819 | 819 | // Redirect the admin. |
| 820 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
| 820 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce'))); |
|
| 821 | 821 | exit; |
| 822 | 822 | |
| 823 | 823 | } |
@@ -829,8 +829,8 @@ discard block |
||
| 829 | 829 | * @return array |
| 830 | 830 | */ |
| 831 | 831 | public function get_notices() { |
| 832 | - $notices = get_option( 'wpinv_admin_notices' ); |
|
| 833 | - return is_array( $notices ) ? $notices : array(); |
|
| 832 | + $notices = get_option('wpinv_admin_notices'); |
|
| 833 | + return is_array($notices) ? $notices : array(); |
|
| 834 | 834 | } |
| 835 | 835 | |
| 836 | 836 | /** |
@@ -840,7 +840,7 @@ discard block |
||
| 840 | 840 | * @return array |
| 841 | 841 | */ |
| 842 | 842 | public function has_notices() { |
| 843 | - return count( $this->get_notices() ) > 0; |
|
| 843 | + return count($this->get_notices()) > 0; |
|
| 844 | 844 | } |
| 845 | 845 | |
| 846 | 846 | /** |
@@ -850,7 +850,7 @@ discard block |
||
| 850 | 850 | * @since 1.0.19 |
| 851 | 851 | */ |
| 852 | 852 | public function clear_notices() { |
| 853 | - delete_option( 'wpinv_admin_notices' ); |
|
| 853 | + delete_option('wpinv_admin_notices'); |
|
| 854 | 854 | } |
| 855 | 855 | |
| 856 | 856 | /** |
@@ -859,16 +859,16 @@ discard block |
||
| 859 | 859 | * @access public |
| 860 | 860 | * @since 1.0.19 |
| 861 | 861 | */ |
| 862 | - public function save_notice( $type, $message ) { |
|
| 862 | + public function save_notice($type, $message) { |
|
| 863 | 863 | $notices = $this->get_notices(); |
| 864 | 864 | |
| 865 | - if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) { |
|
| 866 | - $notices[ $type ] = array(); |
|
| 865 | + if (empty($notices[$type]) || !is_array($notices[$type])) { |
|
| 866 | + $notices[$type] = array(); |
|
| 867 | 867 | } |
| 868 | 868 | |
| 869 | - $notices[ $type ][] = $message; |
|
| 869 | + $notices[$type][] = $message; |
|
| 870 | 870 | |
| 871 | - update_option( 'wpinv_admin_notices', $notices ); |
|
| 871 | + update_option('wpinv_admin_notices', $notices); |
|
| 872 | 872 | } |
| 873 | 873 | |
| 874 | 874 | /** |
@@ -878,8 +878,8 @@ discard block |
||
| 878 | 878 | * @access public |
| 879 | 879 | * @since 1.0.19 |
| 880 | 880 | */ |
| 881 | - public function show_success( $msg ) { |
|
| 882 | - $this->save_notice( 'success', $msg ); |
|
| 881 | + public function show_success($msg) { |
|
| 882 | + $this->save_notice('success', $msg); |
|
| 883 | 883 | } |
| 884 | 884 | |
| 885 | 885 | /** |
@@ -889,8 +889,8 @@ discard block |
||
| 889 | 889 | * @param string $msg The message to qeue. |
| 890 | 890 | * @since 1.0.19 |
| 891 | 891 | */ |
| 892 | - public function show_error( $msg ) { |
|
| 893 | - $this->save_notice( 'error', $msg ); |
|
| 892 | + public function show_error($msg) { |
|
| 893 | + $this->save_notice('error', $msg); |
|
| 894 | 894 | } |
| 895 | 895 | |
| 896 | 896 | /** |
@@ -900,8 +900,8 @@ discard block |
||
| 900 | 900 | * @param string $msg The message to qeue. |
| 901 | 901 | * @since 1.0.19 |
| 902 | 902 | */ |
| 903 | - public function show_warning( $msg ) { |
|
| 904 | - $this->save_notice( 'warning', $msg ); |
|
| 903 | + public function show_warning($msg) { |
|
| 904 | + $this->save_notice('warning', $msg); |
|
| 905 | 905 | } |
| 906 | 906 | |
| 907 | 907 | /** |
@@ -911,8 +911,8 @@ discard block |
||
| 911 | 911 | * @param string $msg The message to qeue. |
| 912 | 912 | * @since 1.0.19 |
| 913 | 913 | */ |
| 914 | - public function show_info( $msg ) { |
|
| 915 | - $this->save_notice( 'info', $msg ); |
|
| 914 | + public function show_info($msg) { |
|
| 915 | + $this->save_notice('info', $msg); |
|
| 916 | 916 | } |
| 917 | 917 | |
| 918 | 918 | /** |
@@ -926,29 +926,29 @@ discard block |
||
| 926 | 926 | $notices = $this->get_notices(); |
| 927 | 927 | $this->clear_notices(); |
| 928 | 928 | |
| 929 | - foreach ( $notices as $type => $messages ) { |
|
| 929 | + foreach ($notices as $type => $messages) { |
|
| 930 | 930 | |
| 931 | - if ( ! is_array( $messages ) ) { |
|
| 931 | + if (!is_array($messages)) { |
|
| 932 | 932 | continue; |
| 933 | 933 | } |
| 934 | 934 | |
| 935 | - $type = esc_attr( $type ); |
|
| 936 | - foreach ( $messages as $message ) { |
|
| 937 | - echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" ); |
|
| 935 | + $type = esc_attr($type); |
|
| 936 | + foreach ($messages as $message) { |
|
| 937 | + echo wp_kses_post("<div class='notice notice-$type is-dismissible'><p>$message</p></div>"); |
|
| 938 | 938 | } |
| 939 | 939 | } |
| 940 | 940 | |
| 941 | - foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) { |
|
| 941 | + foreach (array('checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page') as $page) { |
|
| 942 | 942 | |
| 943 | - if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) { |
|
| 944 | - $url = wp_nonce_url( |
|
| 945 | - add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
| 943 | + if (!is_numeric(wpinv_get_option($page, false))) { |
|
| 944 | + $url = wp_nonce_url( |
|
| 945 | + add_query_arg('getpaid-admin-action', 'create_missing_pages'), |
|
| 946 | 946 | 'getpaid-nonce', |
| 947 | 947 | 'getpaid-nonce' |
| 948 | 948 | ); |
| 949 | - $message = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' ); |
|
| 950 | - $message2 = __( 'Generate Pages', 'invoicing' ); |
|
| 951 | - echo wp_kses_post( "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>" ); |
|
| 949 | + $message = __('Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing'); |
|
| 950 | + $message2 = __('Generate Pages', 'invoicing'); |
|
| 951 | + echo wp_kses_post("<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>"); |
|
| 952 | 952 | break; |
| 953 | 953 | } |
| 954 | 954 | } |
@@ -14,619 +14,619 @@ |
||
| 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 | - if ( isset( $this->data[ $prop ] ) ) { |
|
| 71 | - return $this->data[ $prop ]; |
|
| 72 | - } |
|
| 73 | - |
|
| 74 | - return null; |
|
| 75 | - } |
|
| 76 | - |
|
| 77 | - /** |
|
| 78 | - * Define class properties. |
|
| 79 | - */ |
|
| 80 | - public function set_properties() { |
|
| 81 | - // Sessions. |
|
| 82 | - $this->set( 'session', new WPInv_Session_Handler() ); |
|
| 83 | - $GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility. |
|
| 84 | - $GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility. |
|
| 85 | - |
|
| 86 | - // Init other objects. |
|
| 87 | - $this->set( 'notes', new WPInv_Notes() ); |
|
| 88 | - $this->set( 'api', new WPInv_API() ); |
|
| 89 | - $this->set( 'post_types', new GetPaid_Post_Types() ); |
|
| 90 | - $this->set( 'template', new GetPaid_Template() ); |
|
| 91 | - $this->set( 'admin', new GetPaid_Admin() ); |
|
| 92 | - $this->set( 'subscriptions', new WPInv_Subscriptions() ); |
|
| 93 | - $this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() ); |
|
| 94 | - $this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() ); |
|
| 95 | - $this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() ); |
|
| 96 | - $this->set( 'payment_forms', new GetPaid_Payment_Forms() ); |
|
| 97 | - $this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() ); |
|
| 98 | - } |
|
| 99 | - |
|
| 100 | - /** |
|
| 101 | - * Define plugin constants. |
|
| 102 | - */ |
|
| 103 | - public function define_constants() { |
|
| 104 | - define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) ); |
|
| 105 | - define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) ); |
|
| 106 | - $this->version = WPINV_VERSION; |
|
| 107 | - } |
|
| 108 | - |
|
| 109 | - /** |
|
| 110 | - * Hook into actions and filters. |
|
| 111 | - * |
|
| 112 | - * @since 1.0.19 |
|
| 113 | - */ |
|
| 114 | - protected function init_hooks() { |
|
| 115 | - /* Internationalize the text strings used. */ |
|
| 116 | - add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) ); |
|
| 117 | - |
|
| 118 | - // Init the plugin after WordPress inits. |
|
| 119 | - add_action( 'init', array( $this, 'init' ), 1 ); |
|
| 120 | - add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 ); |
|
| 121 | - add_action( 'init', array( $this, 'wpinv_actions' ) ); |
|
| 122 | - add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 ); |
|
| 123 | - add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 ); |
|
| 124 | - add_action( 'wp_footer', array( $this, 'wp_footer' ) ); |
|
| 125 | - add_action( 'wp_head', array( $this, 'wp_head' ) ); |
|
| 126 | - add_action( 'widgets_init', array( $this, 'register_widgets' ) ); |
|
| 127 | - add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) ); |
|
| 128 | - add_filter( 'the_seo_framework_sitemap_supported_post_types', array( $this, 'exclude_invoicing_post_types' ) ); |
|
| 129 | - add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) ); |
|
| 130 | - |
|
| 131 | - add_filter( 'query_vars', array( $this, 'custom_query_vars' ) ); |
|
| 132 | - add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 ); |
|
| 133 | - add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 ); |
|
| 134 | - |
|
| 135 | - // Fires after registering actions. |
|
| 136 | - do_action( 'wpinv_actions', $this ); |
|
| 137 | - do_action( 'getpaid_actions', $this ); |
|
| 138 | - } |
|
| 139 | - |
|
| 140 | - public function plugins_loaded() { |
|
| 141 | - /* Internationalize the text strings used. */ |
|
| 142 | - $this->load_textdomain(); |
|
| 143 | - |
|
| 144 | - do_action( 'wpinv_loaded' ); |
|
| 145 | - |
|
| 146 | - // Fix oxygen page builder conflict |
|
| 147 | - if ( function_exists( 'ct_css_output' ) ) { |
|
| 148 | - wpinv_oxygen_fix_conflict(); |
|
| 149 | - } |
|
| 150 | - } |
|
| 151 | - |
|
| 152 | - /** |
|
| 153 | - * Load Localisation files. |
|
| 154 | - * |
|
| 155 | - * Note: the first-loaded translation file overrides any following ones if the same translation is present. |
|
| 156 | - * |
|
| 157 | - * Locales found in: |
|
| 158 | - * - WP_LANG_DIR/plugins/invoicing-LOCALE.mo |
|
| 159 | - * - WP_PLUGIN_DIR/invoicing/languages/invoicing-LOCALE.mo |
|
| 160 | - * |
|
| 161 | - * @since 1.0.0 |
|
| 162 | - */ |
|
| 163 | - public function load_textdomain() { |
|
| 164 | - // Determines the current locale. |
|
| 165 | - if ( function_exists( 'determine_locale' ) ) { |
|
| 166 | - $locale = determine_locale(); |
|
| 167 | - } else if ( function_exists( 'get_user_locale' ) ) { |
|
| 168 | - $locale = get_user_locale(); |
|
| 169 | - } else { |
|
| 170 | - $locale = get_locale(); |
|
| 171 | - } |
|
| 172 | - |
|
| 173 | - /** |
|
| 174 | - * Filter the locale to use for translations. |
|
| 175 | - */ |
|
| 176 | - $locale = apply_filters( 'plugin_locale', $locale, 'invoicing' ); |
|
| 177 | - |
|
| 178 | - unload_textdomain( 'invoicing', true ); |
|
| 179 | - load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' ); |
|
| 180 | - load_plugin_textdomain( 'invoicing', false, plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/' ); |
|
| 181 | - } |
|
| 182 | - |
|
| 183 | - /** |
|
| 184 | - * Include required core files used in admin and on the frontend. |
|
| 185 | - */ |
|
| 186 | - public function includes() { |
|
| 187 | - // Start with the settings. |
|
| 188 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php'; |
|
| 189 | - |
|
| 190 | - // Packages/libraries. |
|
| 191 | - require_once WPINV_PLUGIN_DIR . 'vendor/autoload.php'; |
|
| 192 | - require_once WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php'; |
|
| 193 | - |
|
| 194 | - // Load functions. |
|
| 195 | - require_once WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php'; |
|
| 196 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php'; |
|
| 197 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php'; |
|
| 198 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php'; |
|
| 199 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php'; |
|
| 200 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php'; |
|
| 201 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php'; |
|
| 202 | - require_once WPINV_PLUGIN_DIR . 'includes/invoice-functions.php'; |
|
| 203 | - require_once WPINV_PLUGIN_DIR . 'includes/subscription-functions.php'; |
|
| 204 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php'; |
|
| 205 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php'; |
|
| 206 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php'; |
|
| 207 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php'; |
|
| 208 | - require_once WPINV_PLUGIN_DIR . 'includes/user-functions.php'; |
|
| 209 | - require_once WPINV_PLUGIN_DIR . 'includes/error-functions.php'; |
|
| 210 | - |
|
| 211 | - // Register autoloader. |
|
| 212 | - try { |
|
| 213 | - spl_autoload_register( array( $this, 'autoload' ), true ); |
|
| 214 | - } catch ( Exception $e ) { |
|
| 215 | - wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true ); |
|
| 216 | - } |
|
| 217 | - |
|
| 218 | - require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php'; |
|
| 219 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php'; |
|
| 220 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php'; |
|
| 221 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php'; |
|
| 222 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php'; |
|
| 223 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php'; |
|
| 224 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php'; |
|
| 225 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php'; |
|
| 226 | - require_once WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php'; |
|
| 227 | - require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php'; |
|
| 228 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php'; |
|
| 229 | - require_once WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php'; |
|
| 230 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php'; |
|
| 231 | - require_once WPINV_PLUGIN_DIR . 'widgets/checkout.php'; |
|
| 232 | - require_once WPINV_PLUGIN_DIR . 'widgets/invoice-history.php'; |
|
| 233 | - require_once WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php'; |
|
| 234 | - require_once WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php'; |
|
| 235 | - require_once WPINV_PLUGIN_DIR . 'widgets/subscriptions.php'; |
|
| 236 | - require_once WPINV_PLUGIN_DIR . 'widgets/buy-item.php'; |
|
| 237 | - require_once WPINV_PLUGIN_DIR . 'widgets/getpaid.php'; |
|
| 238 | - require_once WPINV_PLUGIN_DIR . 'widgets/invoice.php'; |
|
| 239 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php'; |
|
| 240 | - |
|
| 241 | - if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) { |
|
| 242 | - GetPaid_Post_Types_Admin::init(); |
|
| 243 | - |
|
| 244 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php'; |
|
| 245 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php'; |
|
| 246 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php'; |
|
| 247 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php'; |
|
| 248 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php'; |
|
| 249 | - require_once WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php'; |
|
| 250 | - // load the user class only on the users.php page |
|
| 251 | - global $pagenow; |
|
| 252 | - if ( $pagenow == 'users.php' ) { |
|
| 253 | - new WPInv_Admin_Users(); |
|
| 254 | - } |
|
| 255 | - } |
|
| 256 | - |
|
| 257 | - // Register cli commands |
|
| 258 | - if ( defined( 'WP_CLI' ) && WP_CLI ) { |
|
| 259 | - require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php'; |
|
| 260 | - WP_CLI::add_command( 'invoicing', 'WPInv_CLI' ); |
|
| 261 | - } |
|
| 262 | - } |
|
| 263 | - |
|
| 264 | - /** |
|
| 265 | - * Class autoloader |
|
| 266 | - * |
|
| 267 | - * @param string $class_name The name of the class to load. |
|
| 268 | - * @access public |
|
| 269 | - * @since 1.0.19 |
|
| 270 | - * @return void |
|
| 271 | - */ |
|
| 272 | - public function autoload( $class_name ) { |
|
| 273 | - // Normalize the class name... |
|
| 274 | - $class_name = strtolower( $class_name ); |
|
| 275 | - |
|
| 276 | - // ... and make sure it is our class. |
|
| 277 | - if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) { |
|
| 278 | - return; |
|
| 279 | - } |
|
| 280 | - |
|
| 281 | - // Next, prepare the file name from the class. |
|
| 282 | - $file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php'; |
|
| 283 | - |
|
| 284 | - // Base path of the classes. |
|
| 285 | - $plugin_path = untrailingslashit( WPINV_PLUGIN_DIR ); |
|
| 286 | - |
|
| 287 | - // And an array of possible locations in order of importance. |
|
| 288 | - $locations = array( |
|
| 289 | - "$plugin_path/includes", |
|
| 290 | - "$plugin_path/includes/data-stores", |
|
| 291 | - "$plugin_path/includes/gateways", |
|
| 292 | - "$plugin_path/includes/payments", |
|
| 293 | - "$plugin_path/includes/geolocation", |
|
| 294 | - "$plugin_path/includes/reports", |
|
| 295 | - "$plugin_path/includes/api", |
|
| 296 | - "$plugin_path/includes/admin", |
|
| 297 | - "$plugin_path/includes/admin/meta-boxes", |
|
| 298 | - ); |
|
| 299 | - |
|
| 300 | - foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) { |
|
| 301 | - if ( file_exists( trailingslashit( $location ) . $file_name ) ) { |
|
| 302 | - include trailingslashit( $location ) . $file_name; |
|
| 303 | - break; |
|
| 304 | - } |
|
| 305 | - } |
|
| 306 | - } |
|
| 307 | - |
|
| 308 | - /** |
|
| 309 | - * Inits hooks etc. |
|
| 310 | - */ |
|
| 311 | - public function init() { |
|
| 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 | - * Checks if this is an IPN request and processes it. |
|
| 345 | - */ |
|
| 346 | - public function maybe_process_ipn() { |
|
| 347 | - // Ensure that this is an IPN request. |
|
| 348 | - if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) { |
|
| 349 | - return; |
|
| 350 | - } |
|
| 351 | - |
|
| 352 | - $gateway = sanitize_text_field( $_GET['wpi-gateway'] ); |
|
| 353 | - |
|
| 354 | - do_action( 'wpinv_verify_payment_ipn', $gateway ); |
|
| 355 | - do_action( "wpinv_verify_{$gateway}_ipn" ); |
|
| 356 | - exit; |
|
| 357 | - } |
|
| 358 | - |
|
| 359 | - public function enqueue_scripts() { |
|
| 360 | - // Fires before adding scripts. |
|
| 361 | - do_action( 'getpaid_enqueue_scripts' ); |
|
| 362 | - |
|
| 363 | - $localize = array(); |
|
| 364 | - $localize['ajax_url'] = admin_url( 'admin-ajax.php' ); |
|
| 365 | - $localize['thousands'] = wpinv_thousands_separator(); |
|
| 366 | - $localize['decimals'] = wpinv_decimal_separator(); |
|
| 367 | - $localize['nonce'] = wp_create_nonce( 'wpinv-nonce' ); |
|
| 368 | - $localize['txtComplete'] = __( 'Continue', 'invoicing' ); |
|
| 369 | - $localize['UseTaxes'] = wpinv_use_taxes(); |
|
| 370 | - $localize['formNonce'] = wp_create_nonce( 'getpaid_form_nonce' ); |
|
| 371 | - $localize['loading'] = __( 'Loading...', 'invoicing' ); |
|
| 372 | - $localize['connectionError'] = __( 'Could not establish a connection to the server.', 'invoicing' ); |
|
| 373 | - $localize['recaptchaSettings'] = getpaid_get_recaptcha_settings(); |
|
| 374 | - |
|
| 375 | - $localize = apply_filters( 'wpinv_front_js_localize', $localize ); |
|
| 376 | - |
|
| 377 | - // reCaptcha. |
|
| 378 | - if ( getpaid_is_recaptcha_enabled() && ( $recaptcha_js = getpaid_recaptcha_api_url() ) ) { |
|
| 379 | - wp_enqueue_script( 'recaptcha', $recaptcha_js, array(), null, true ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion |
|
| 380 | - } |
|
| 381 | - |
|
| 382 | - wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.min.js', array( 'jquery' ), WPINV_VERSION, true ); |
|
| 383 | - wp_localize_script( 'wpinv-front-script', 'WPInv', $localize ); |
|
| 384 | - } |
|
| 385 | - |
|
| 386 | - public function wpinv_actions() { |
|
| 387 | - if ( isset( $_REQUEST['wpi_action'] ) ) { |
|
| 388 | - do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST ); |
|
| 389 | - } |
|
| 390 | - |
|
| 391 | - if ( defined( 'WP_ALL_IMPORT_ROOT_DIR' ) ) { |
|
| 392 | - include plugin_dir_path( __FILE__ ) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php'; |
|
| 393 | - } |
|
| 394 | - } |
|
| 395 | - |
|
| 396 | - /** |
|
| 397 | - * Fires an action after verifying that a user can fire them. |
|
| 398 | - * |
|
| 399 | - * Note: If the action is on an invoice, subscription etc, esure that the |
|
| 400 | - * current user owns the invoice/subscription. |
|
| 401 | - */ |
|
| 402 | - public function maybe_do_authenticated_action() { |
|
| 403 | - if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) { |
|
| 404 | - $key = sanitize_key( $_REQUEST['getpaid-action'] ); |
|
| 405 | - $data = wp_unslash( $_REQUEST ); |
|
| 406 | - |
|
| 407 | - if ( is_user_logged_in() ) { |
|
| 408 | - do_action( "getpaid_authenticated_action_$key", $data ); |
|
| 409 | - } |
|
| 410 | - |
|
| 411 | - do_action( "getpaid_unauthenticated_action_$key", $data ); |
|
| 412 | - } |
|
| 413 | - } |
|
| 414 | - |
|
| 415 | - public function pre_get_posts( $wp_query ) { |
|
| 416 | - 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() ) { |
|
| 417 | - $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) ); |
|
| 418 | - } |
|
| 419 | - |
|
| 420 | - return $wp_query; |
|
| 421 | - } |
|
| 422 | - |
|
| 423 | - /** |
|
| 424 | - * Register widgets |
|
| 425 | - * |
|
| 426 | - */ |
|
| 427 | - public function register_widgets() { |
|
| 428 | - global $pagenow; |
|
| 429 | - |
|
| 430 | - // Currently, UX Builder does not work particulaly well with SuperDuper. |
|
| 431 | - // So we disable our widgets when editing a page with UX Builder. |
|
| 432 | - if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) { |
|
| 433 | - return; |
|
| 434 | - } |
|
| 435 | - |
|
| 436 | - $block_widget_init_screens = function_exists( 'sd_pagenow_exclude' ) ? sd_pagenow_exclude() : array(); |
|
| 437 | - |
|
| 438 | - if ( is_admin() && $pagenow && in_array( $pagenow, $block_widget_init_screens ) ) { |
|
| 439 | - // don't initiate in these conditions. |
|
| 440 | - } else { |
|
| 441 | - // Only load allowed widgets. |
|
| 442 | - $exclude = function_exists( 'sd_widget_exclude' ) ? sd_widget_exclude() : array(); |
|
| 443 | - $widgets = apply_filters( |
|
| 444 | - 'getpaid_widget_classes', |
|
| 445 | - array( |
|
| 446 | - 'WPInv_Checkout_Widget', |
|
| 447 | - 'WPInv_History_Widget', |
|
| 448 | - 'WPInv_Receipt_Widget', |
|
| 449 | - 'WPInv_Subscriptions_Widget', |
|
| 450 | - 'WPInv_Buy_Item_Widget', |
|
| 451 | - 'WPInv_Messages_Widget', |
|
| 452 | - 'WPInv_GetPaid_Widget', |
|
| 453 | - 'WPInv_Invoice_Widget', |
|
| 454 | - ) |
|
| 455 | - ); |
|
| 456 | - |
|
| 457 | - // For each widget... |
|
| 458 | - foreach ( $widgets as $widget ) { |
|
| 459 | - // Abort early if it is excluded for this page. |
|
| 460 | - if ( in_array( $widget, $exclude ) ) { |
|
| 461 | - continue; |
|
| 462 | - } |
|
| 463 | - |
|
| 464 | - // SD V1 used to extend the widget class. V2 does not, so we cannot call register widget on it. |
|
| 465 | - if ( is_subclass_of( $widget, 'WP_Widget' ) ) { |
|
| 466 | - register_widget( $widget ); |
|
| 467 | - } else { |
|
| 468 | - new $widget(); |
|
| 469 | - } |
|
| 470 | - } |
|
| 471 | - } |
|
| 472 | - } |
|
| 473 | - |
|
| 474 | - /** |
|
| 475 | - * Upgrades the database. |
|
| 476 | - * |
|
| 477 | - * @since 2.0.2 |
|
| 478 | - */ |
|
| 479 | - public function maybe_upgrade_database() { |
|
| 480 | - // Ensure the database tables are up to date. |
|
| 481 | - GetPaid_Installer::maybe_create_db_tables(); |
|
| 482 | - |
|
| 483 | - $wpi_version = get_option( 'wpinv_version', 0 ); |
|
| 484 | - |
|
| 485 | - if ( $wpi_version == WPINV_VERSION ) { |
|
| 486 | - return; |
|
| 487 | - } |
|
| 488 | - |
|
| 489 | - $installer = new GetPaid_Installer(); |
|
| 490 | - |
|
| 491 | - if ( empty( $wpi_version ) ) { |
|
| 492 | - return $installer->upgrade_db( 0 ); |
|
| 493 | - } |
|
| 494 | - |
|
| 495 | - $upgrades = array( |
|
| 496 | - '0.0.5' => '004', |
|
| 497 | - '1.0.3' => '102', |
|
| 498 | - '2.0.0' => '118', |
|
| 499 | - '2.8.0' => '279', |
|
| 500 | - ); |
|
| 501 | - |
|
| 502 | - foreach ( $upgrades as $key => $method ) { |
|
| 503 | - if ( version_compare( $wpi_version, $key, '<' ) ) { |
|
| 504 | - return $installer->upgrade_db( $method ); |
|
| 505 | - } |
|
| 506 | - } |
|
| 507 | - } |
|
| 508 | - |
|
| 509 | - /** |
|
| 510 | - * Flushes the permalinks if needed. |
|
| 511 | - * |
|
| 512 | - * @since 2.0.8 |
|
| 513 | - */ |
|
| 514 | - public function maybe_flush_permalinks() { |
|
| 515 | - $flush = get_option( 'wpinv_flush_permalinks', 0 ); |
|
| 516 | - |
|
| 517 | - if ( ! empty( $flush ) ) { |
|
| 518 | - flush_rewrite_rules(); |
|
| 519 | - delete_option( 'wpinv_flush_permalinks' ); |
|
| 520 | - } |
|
| 521 | - } |
|
| 522 | - |
|
| 523 | - /** |
|
| 524 | - * Remove our pages from yoast sitemaps. |
|
| 525 | - * |
|
| 526 | - * @since 1.0.19 |
|
| 527 | - * @param int[] $excluded_posts_ids |
|
| 528 | - */ |
|
| 529 | - public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ) { |
|
| 530 | - // Ensure that we have an array. |
|
| 531 | - if ( ! is_array( $excluded_posts_ids ) ) { |
|
| 532 | - $excluded_posts_ids = array(); |
|
| 533 | - } |
|
| 534 | - |
|
| 535 | - // Prepare our pages. |
|
| 536 | - $our_pages = array(); |
|
| 537 | - |
|
| 538 | - // Checkout page. |
|
| 539 | - $our_pages[] = wpinv_get_option( 'checkout_page', false ); |
|
| 540 | - |
|
| 541 | - // Success page. |
|
| 542 | - $our_pages[] = wpinv_get_option( 'success_page', false ); |
|
| 543 | - |
|
| 544 | - // Failure page. |
|
| 545 | - $our_pages[] = wpinv_get_option( 'failure_page', false ); |
|
| 546 | - |
|
| 547 | - // History page. |
|
| 548 | - $our_pages[] = wpinv_get_option( 'invoice_history_page', false ); |
|
| 549 | - |
|
| 550 | - // Subscriptions page. |
|
| 551 | - $our_pages[] = wpinv_get_option( 'invoice_subscription_page', false ); |
|
| 552 | - |
|
| 553 | - $our_pages = array_map( 'intval', array_filter( $our_pages ) ); |
|
| 554 | - |
|
| 555 | - $excluded_posts_ids = $excluded_posts_ids + $our_pages; |
|
| 556 | - |
|
| 557 | - return array_unique( $excluded_posts_ids ); |
|
| 558 | - } |
|
| 559 | - |
|
| 560 | - /** |
|
| 561 | - * Remove our pages from yoast sitemaps. |
|
| 562 | - * |
|
| 563 | - * @since 1.0.19 |
|
| 564 | - * @param string[] $post_types |
|
| 565 | - */ |
|
| 566 | - public function exclude_invoicing_post_types( $post_types ) { |
|
| 567 | - // Ensure that we have an array. |
|
| 568 | - if ( ! is_array( $post_types ) ) { |
|
| 569 | - $post_types = array(); |
|
| 570 | - } |
|
| 571 | - |
|
| 572 | - // Remove our post types. |
|
| 573 | - return array_diff( $post_types, array_keys( getpaid_get_invoice_post_types() ) ); |
|
| 574 | - } |
|
| 575 | - |
|
| 576 | - /** |
|
| 577 | - * Displays additional footer code. |
|
| 578 | - * |
|
| 579 | - * @since 2.0.0 |
|
| 580 | - */ |
|
| 581 | - public function wp_footer() { |
|
| 582 | - wpinv_get_template( 'frontend-footer.php' ); |
|
| 583 | - } |
|
| 584 | - |
|
| 585 | - /** |
|
| 586 | - * Displays additional header code. |
|
| 587 | - * |
|
| 588 | - * @since 2.0.0 |
|
| 589 | - */ |
|
| 590 | - public function wp_head() { |
|
| 591 | - wpinv_get_template( 'frontend-head.php' ); |
|
| 592 | - } |
|
| 593 | - |
|
| 594 | - /** |
|
| 595 | - * Custom query vars. |
|
| 596 | - * |
|
| 597 | - */ |
|
| 598 | - public function custom_query_vars( $vars ) { |
|
| 599 | - $vars[] = 'getpaid-ipn'; |
|
| 600 | - return $vars; |
|
| 601 | - } |
|
| 602 | - |
|
| 603 | - /** |
|
| 604 | - * Add rewrite tags and rules. |
|
| 605 | - * |
|
| 606 | - */ |
|
| 607 | - public function add_rewrite_rule() { |
|
| 608 | - $tag = 'getpaid-ipn'; |
|
| 609 | - add_rewrite_tag( "%$tag%", '([^&]+)' ); |
|
| 610 | - add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top' ); |
|
| 611 | - } |
|
| 612 | - |
|
| 613 | - /** |
|
| 614 | - * Processes non-query string ipns. |
|
| 615 | - * |
|
| 616 | - */ |
|
| 617 | - public function maybe_process_new_ipn( $query ) { |
|
| 618 | - if ( is_admin() || ! $query->is_main_query() ) { |
|
| 619 | - return; |
|
| 620 | - } |
|
| 621 | - |
|
| 622 | - $gateway = get_query_var( 'getpaid-ipn' ); |
|
| 623 | - |
|
| 624 | - if ( ! empty( $gateway ) ) { |
|
| 625 | - $gateway = sanitize_text_field( $gateway ); |
|
| 626 | - nocache_headers(); |
|
| 627 | - do_action( 'wpinv_verify_payment_ipn', $gateway ); |
|
| 628 | - do_action( "wpinv_verify_{$gateway}_ipn" ); |
|
| 629 | - exit; |
|
| 630 | - } |
|
| 631 | - } |
|
| 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 | + if ( isset( $this->data[ $prop ] ) ) { |
|
| 71 | + return $this->data[ $prop ]; |
|
| 72 | + } |
|
| 73 | + |
|
| 74 | + return null; |
|
| 75 | + } |
|
| 76 | + |
|
| 77 | + /** |
|
| 78 | + * Define class properties. |
|
| 79 | + */ |
|
| 80 | + public function set_properties() { |
|
| 81 | + // Sessions. |
|
| 82 | + $this->set( 'session', new WPInv_Session_Handler() ); |
|
| 83 | + $GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility. |
|
| 84 | + $GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility. |
|
| 85 | + |
|
| 86 | + // Init other objects. |
|
| 87 | + $this->set( 'notes', new WPInv_Notes() ); |
|
| 88 | + $this->set( 'api', new WPInv_API() ); |
|
| 89 | + $this->set( 'post_types', new GetPaid_Post_Types() ); |
|
| 90 | + $this->set( 'template', new GetPaid_Template() ); |
|
| 91 | + $this->set( 'admin', new GetPaid_Admin() ); |
|
| 92 | + $this->set( 'subscriptions', new WPInv_Subscriptions() ); |
|
| 93 | + $this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() ); |
|
| 94 | + $this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() ); |
|
| 95 | + $this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() ); |
|
| 96 | + $this->set( 'payment_forms', new GetPaid_Payment_Forms() ); |
|
| 97 | + $this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() ); |
|
| 98 | + } |
|
| 99 | + |
|
| 100 | + /** |
|
| 101 | + * Define plugin constants. |
|
| 102 | + */ |
|
| 103 | + public function define_constants() { |
|
| 104 | + define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) ); |
|
| 105 | + define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) ); |
|
| 106 | + $this->version = WPINV_VERSION; |
|
| 107 | + } |
|
| 108 | + |
|
| 109 | + /** |
|
| 110 | + * Hook into actions and filters. |
|
| 111 | + * |
|
| 112 | + * @since 1.0.19 |
|
| 113 | + */ |
|
| 114 | + protected function init_hooks() { |
|
| 115 | + /* Internationalize the text strings used. */ |
|
| 116 | + add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) ); |
|
| 117 | + |
|
| 118 | + // Init the plugin after WordPress inits. |
|
| 119 | + add_action( 'init', array( $this, 'init' ), 1 ); |
|
| 120 | + add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 ); |
|
| 121 | + add_action( 'init', array( $this, 'wpinv_actions' ) ); |
|
| 122 | + add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 ); |
|
| 123 | + add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 ); |
|
| 124 | + add_action( 'wp_footer', array( $this, 'wp_footer' ) ); |
|
| 125 | + add_action( 'wp_head', array( $this, 'wp_head' ) ); |
|
| 126 | + add_action( 'widgets_init', array( $this, 'register_widgets' ) ); |
|
| 127 | + add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) ); |
|
| 128 | + add_filter( 'the_seo_framework_sitemap_supported_post_types', array( $this, 'exclude_invoicing_post_types' ) ); |
|
| 129 | + add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) ); |
|
| 130 | + |
|
| 131 | + add_filter( 'query_vars', array( $this, 'custom_query_vars' ) ); |
|
| 132 | + add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 ); |
|
| 133 | + add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 ); |
|
| 134 | + |
|
| 135 | + // Fires after registering actions. |
|
| 136 | + do_action( 'wpinv_actions', $this ); |
|
| 137 | + do_action( 'getpaid_actions', $this ); |
|
| 138 | + } |
|
| 139 | + |
|
| 140 | + public function plugins_loaded() { |
|
| 141 | + /* Internationalize the text strings used. */ |
|
| 142 | + $this->load_textdomain(); |
|
| 143 | + |
|
| 144 | + do_action( 'wpinv_loaded' ); |
|
| 145 | + |
|
| 146 | + // Fix oxygen page builder conflict |
|
| 147 | + if ( function_exists( 'ct_css_output' ) ) { |
|
| 148 | + wpinv_oxygen_fix_conflict(); |
|
| 149 | + } |
|
| 150 | + } |
|
| 151 | + |
|
| 152 | + /** |
|
| 153 | + * Load Localisation files. |
|
| 154 | + * |
|
| 155 | + * Note: the first-loaded translation file overrides any following ones if the same translation is present. |
|
| 156 | + * |
|
| 157 | + * Locales found in: |
|
| 158 | + * - WP_LANG_DIR/plugins/invoicing-LOCALE.mo |
|
| 159 | + * - WP_PLUGIN_DIR/invoicing/languages/invoicing-LOCALE.mo |
|
| 160 | + * |
|
| 161 | + * @since 1.0.0 |
|
| 162 | + */ |
|
| 163 | + public function load_textdomain() { |
|
| 164 | + // Determines the current locale. |
|
| 165 | + if ( function_exists( 'determine_locale' ) ) { |
|
| 166 | + $locale = determine_locale(); |
|
| 167 | + } else if ( function_exists( 'get_user_locale' ) ) { |
|
| 168 | + $locale = get_user_locale(); |
|
| 169 | + } else { |
|
| 170 | + $locale = get_locale(); |
|
| 171 | + } |
|
| 172 | + |
|
| 173 | + /** |
|
| 174 | + * Filter the locale to use for translations. |
|
| 175 | + */ |
|
| 176 | + $locale = apply_filters( 'plugin_locale', $locale, 'invoicing' ); |
|
| 177 | + |
|
| 178 | + unload_textdomain( 'invoicing', true ); |
|
| 179 | + load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' ); |
|
| 180 | + load_plugin_textdomain( 'invoicing', false, plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/' ); |
|
| 181 | + } |
|
| 182 | + |
|
| 183 | + /** |
|
| 184 | + * Include required core files used in admin and on the frontend. |
|
| 185 | + */ |
|
| 186 | + public function includes() { |
|
| 187 | + // Start with the settings. |
|
| 188 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php'; |
|
| 189 | + |
|
| 190 | + // Packages/libraries. |
|
| 191 | + require_once WPINV_PLUGIN_DIR . 'vendor/autoload.php'; |
|
| 192 | + require_once WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php'; |
|
| 193 | + |
|
| 194 | + // Load functions. |
|
| 195 | + require_once WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php'; |
|
| 196 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php'; |
|
| 197 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php'; |
|
| 198 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php'; |
|
| 199 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php'; |
|
| 200 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php'; |
|
| 201 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php'; |
|
| 202 | + require_once WPINV_PLUGIN_DIR . 'includes/invoice-functions.php'; |
|
| 203 | + require_once WPINV_PLUGIN_DIR . 'includes/subscription-functions.php'; |
|
| 204 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php'; |
|
| 205 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php'; |
|
| 206 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php'; |
|
| 207 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php'; |
|
| 208 | + require_once WPINV_PLUGIN_DIR . 'includes/user-functions.php'; |
|
| 209 | + require_once WPINV_PLUGIN_DIR . 'includes/error-functions.php'; |
|
| 210 | + |
|
| 211 | + // Register autoloader. |
|
| 212 | + try { |
|
| 213 | + spl_autoload_register( array( $this, 'autoload' ), true ); |
|
| 214 | + } catch ( Exception $e ) { |
|
| 215 | + wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true ); |
|
| 216 | + } |
|
| 217 | + |
|
| 218 | + require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php'; |
|
| 219 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php'; |
|
| 220 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php'; |
|
| 221 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php'; |
|
| 222 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php'; |
|
| 223 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php'; |
|
| 224 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php'; |
|
| 225 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php'; |
|
| 226 | + require_once WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php'; |
|
| 227 | + require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php'; |
|
| 228 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php'; |
|
| 229 | + require_once WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php'; |
|
| 230 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php'; |
|
| 231 | + require_once WPINV_PLUGIN_DIR . 'widgets/checkout.php'; |
|
| 232 | + require_once WPINV_PLUGIN_DIR . 'widgets/invoice-history.php'; |
|
| 233 | + require_once WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php'; |
|
| 234 | + require_once WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php'; |
|
| 235 | + require_once WPINV_PLUGIN_DIR . 'widgets/subscriptions.php'; |
|
| 236 | + require_once WPINV_PLUGIN_DIR . 'widgets/buy-item.php'; |
|
| 237 | + require_once WPINV_PLUGIN_DIR . 'widgets/getpaid.php'; |
|
| 238 | + require_once WPINV_PLUGIN_DIR . 'widgets/invoice.php'; |
|
| 239 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php'; |
|
| 240 | + |
|
| 241 | + if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) { |
|
| 242 | + GetPaid_Post_Types_Admin::init(); |
|
| 243 | + |
|
| 244 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php'; |
|
| 245 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php'; |
|
| 246 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php'; |
|
| 247 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php'; |
|
| 248 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php'; |
|
| 249 | + require_once WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php'; |
|
| 250 | + // load the user class only on the users.php page |
|
| 251 | + global $pagenow; |
|
| 252 | + if ( $pagenow == 'users.php' ) { |
|
| 253 | + new WPInv_Admin_Users(); |
|
| 254 | + } |
|
| 255 | + } |
|
| 256 | + |
|
| 257 | + // Register cli commands |
|
| 258 | + if ( defined( 'WP_CLI' ) && WP_CLI ) { |
|
| 259 | + require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php'; |
|
| 260 | + WP_CLI::add_command( 'invoicing', 'WPInv_CLI' ); |
|
| 261 | + } |
|
| 262 | + } |
|
| 263 | + |
|
| 264 | + /** |
|
| 265 | + * Class autoloader |
|
| 266 | + * |
|
| 267 | + * @param string $class_name The name of the class to load. |
|
| 268 | + * @access public |
|
| 269 | + * @since 1.0.19 |
|
| 270 | + * @return void |
|
| 271 | + */ |
|
| 272 | + public function autoload( $class_name ) { |
|
| 273 | + // Normalize the class name... |
|
| 274 | + $class_name = strtolower( $class_name ); |
|
| 275 | + |
|
| 276 | + // ... and make sure it is our class. |
|
| 277 | + if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) { |
|
| 278 | + return; |
|
| 279 | + } |
|
| 280 | + |
|
| 281 | + // Next, prepare the file name from the class. |
|
| 282 | + $file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php'; |
|
| 283 | + |
|
| 284 | + // Base path of the classes. |
|
| 285 | + $plugin_path = untrailingslashit( WPINV_PLUGIN_DIR ); |
|
| 286 | + |
|
| 287 | + // And an array of possible locations in order of importance. |
|
| 288 | + $locations = array( |
|
| 289 | + "$plugin_path/includes", |
|
| 290 | + "$plugin_path/includes/data-stores", |
|
| 291 | + "$plugin_path/includes/gateways", |
|
| 292 | + "$plugin_path/includes/payments", |
|
| 293 | + "$plugin_path/includes/geolocation", |
|
| 294 | + "$plugin_path/includes/reports", |
|
| 295 | + "$plugin_path/includes/api", |
|
| 296 | + "$plugin_path/includes/admin", |
|
| 297 | + "$plugin_path/includes/admin/meta-boxes", |
|
| 298 | + ); |
|
| 299 | + |
|
| 300 | + foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) { |
|
| 301 | + if ( file_exists( trailingslashit( $location ) . $file_name ) ) { |
|
| 302 | + include trailingslashit( $location ) . $file_name; |
|
| 303 | + break; |
|
| 304 | + } |
|
| 305 | + } |
|
| 306 | + } |
|
| 307 | + |
|
| 308 | + /** |
|
| 309 | + * Inits hooks etc. |
|
| 310 | + */ |
|
| 311 | + public function init() { |
|
| 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 | + * Checks if this is an IPN request and processes it. |
|
| 345 | + */ |
|
| 346 | + public function maybe_process_ipn() { |
|
| 347 | + // Ensure that this is an IPN request. |
|
| 348 | + if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) { |
|
| 349 | + return; |
|
| 350 | + } |
|
| 351 | + |
|
| 352 | + $gateway = sanitize_text_field( $_GET['wpi-gateway'] ); |
|
| 353 | + |
|
| 354 | + do_action( 'wpinv_verify_payment_ipn', $gateway ); |
|
| 355 | + do_action( "wpinv_verify_{$gateway}_ipn" ); |
|
| 356 | + exit; |
|
| 357 | + } |
|
| 358 | + |
|
| 359 | + public function enqueue_scripts() { |
|
| 360 | + // Fires before adding scripts. |
|
| 361 | + do_action( 'getpaid_enqueue_scripts' ); |
|
| 362 | + |
|
| 363 | + $localize = array(); |
|
| 364 | + $localize['ajax_url'] = admin_url( 'admin-ajax.php' ); |
|
| 365 | + $localize['thousands'] = wpinv_thousands_separator(); |
|
| 366 | + $localize['decimals'] = wpinv_decimal_separator(); |
|
| 367 | + $localize['nonce'] = wp_create_nonce( 'wpinv-nonce' ); |
|
| 368 | + $localize['txtComplete'] = __( 'Continue', 'invoicing' ); |
|
| 369 | + $localize['UseTaxes'] = wpinv_use_taxes(); |
|
| 370 | + $localize['formNonce'] = wp_create_nonce( 'getpaid_form_nonce' ); |
|
| 371 | + $localize['loading'] = __( 'Loading...', 'invoicing' ); |
|
| 372 | + $localize['connectionError'] = __( 'Could not establish a connection to the server.', 'invoicing' ); |
|
| 373 | + $localize['recaptchaSettings'] = getpaid_get_recaptcha_settings(); |
|
| 374 | + |
|
| 375 | + $localize = apply_filters( 'wpinv_front_js_localize', $localize ); |
|
| 376 | + |
|
| 377 | + // reCaptcha. |
|
| 378 | + if ( getpaid_is_recaptcha_enabled() && ( $recaptcha_js = getpaid_recaptcha_api_url() ) ) { |
|
| 379 | + wp_enqueue_script( 'recaptcha', $recaptcha_js, array(), null, true ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion |
|
| 380 | + } |
|
| 381 | + |
|
| 382 | + wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.min.js', array( 'jquery' ), WPINV_VERSION, true ); |
|
| 383 | + wp_localize_script( 'wpinv-front-script', 'WPInv', $localize ); |
|
| 384 | + } |
|
| 385 | + |
|
| 386 | + public function wpinv_actions() { |
|
| 387 | + if ( isset( $_REQUEST['wpi_action'] ) ) { |
|
| 388 | + do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST ); |
|
| 389 | + } |
|
| 390 | + |
|
| 391 | + if ( defined( 'WP_ALL_IMPORT_ROOT_DIR' ) ) { |
|
| 392 | + include plugin_dir_path( __FILE__ ) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php'; |
|
| 393 | + } |
|
| 394 | + } |
|
| 395 | + |
|
| 396 | + /** |
|
| 397 | + * Fires an action after verifying that a user can fire them. |
|
| 398 | + * |
|
| 399 | + * Note: If the action is on an invoice, subscription etc, esure that the |
|
| 400 | + * current user owns the invoice/subscription. |
|
| 401 | + */ |
|
| 402 | + public function maybe_do_authenticated_action() { |
|
| 403 | + if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) { |
|
| 404 | + $key = sanitize_key( $_REQUEST['getpaid-action'] ); |
|
| 405 | + $data = wp_unslash( $_REQUEST ); |
|
| 406 | + |
|
| 407 | + if ( is_user_logged_in() ) { |
|
| 408 | + do_action( "getpaid_authenticated_action_$key", $data ); |
|
| 409 | + } |
|
| 410 | + |
|
| 411 | + do_action( "getpaid_unauthenticated_action_$key", $data ); |
|
| 412 | + } |
|
| 413 | + } |
|
| 414 | + |
|
| 415 | + public function pre_get_posts( $wp_query ) { |
|
| 416 | + 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() ) { |
|
| 417 | + $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) ); |
|
| 418 | + } |
|
| 419 | + |
|
| 420 | + return $wp_query; |
|
| 421 | + } |
|
| 422 | + |
|
| 423 | + /** |
|
| 424 | + * Register widgets |
|
| 425 | + * |
|
| 426 | + */ |
|
| 427 | + public function register_widgets() { |
|
| 428 | + global $pagenow; |
|
| 429 | + |
|
| 430 | + // Currently, UX Builder does not work particulaly well with SuperDuper. |
|
| 431 | + // So we disable our widgets when editing a page with UX Builder. |
|
| 432 | + if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) { |
|
| 433 | + return; |
|
| 434 | + } |
|
| 435 | + |
|
| 436 | + $block_widget_init_screens = function_exists( 'sd_pagenow_exclude' ) ? sd_pagenow_exclude() : array(); |
|
| 437 | + |
|
| 438 | + if ( is_admin() && $pagenow && in_array( $pagenow, $block_widget_init_screens ) ) { |
|
| 439 | + // don't initiate in these conditions. |
|
| 440 | + } else { |
|
| 441 | + // Only load allowed widgets. |
|
| 442 | + $exclude = function_exists( 'sd_widget_exclude' ) ? sd_widget_exclude() : array(); |
|
| 443 | + $widgets = apply_filters( |
|
| 444 | + 'getpaid_widget_classes', |
|
| 445 | + array( |
|
| 446 | + 'WPInv_Checkout_Widget', |
|
| 447 | + 'WPInv_History_Widget', |
|
| 448 | + 'WPInv_Receipt_Widget', |
|
| 449 | + 'WPInv_Subscriptions_Widget', |
|
| 450 | + 'WPInv_Buy_Item_Widget', |
|
| 451 | + 'WPInv_Messages_Widget', |
|
| 452 | + 'WPInv_GetPaid_Widget', |
|
| 453 | + 'WPInv_Invoice_Widget', |
|
| 454 | + ) |
|
| 455 | + ); |
|
| 456 | + |
|
| 457 | + // For each widget... |
|
| 458 | + foreach ( $widgets as $widget ) { |
|
| 459 | + // Abort early if it is excluded for this page. |
|
| 460 | + if ( in_array( $widget, $exclude ) ) { |
|
| 461 | + continue; |
|
| 462 | + } |
|
| 463 | + |
|
| 464 | + // SD V1 used to extend the widget class. V2 does not, so we cannot call register widget on it. |
|
| 465 | + if ( is_subclass_of( $widget, 'WP_Widget' ) ) { |
|
| 466 | + register_widget( $widget ); |
|
| 467 | + } else { |
|
| 468 | + new $widget(); |
|
| 469 | + } |
|
| 470 | + } |
|
| 471 | + } |
|
| 472 | + } |
|
| 473 | + |
|
| 474 | + /** |
|
| 475 | + * Upgrades the database. |
|
| 476 | + * |
|
| 477 | + * @since 2.0.2 |
|
| 478 | + */ |
|
| 479 | + public function maybe_upgrade_database() { |
|
| 480 | + // Ensure the database tables are up to date. |
|
| 481 | + GetPaid_Installer::maybe_create_db_tables(); |
|
| 482 | + |
|
| 483 | + $wpi_version = get_option( 'wpinv_version', 0 ); |
|
| 484 | + |
|
| 485 | + if ( $wpi_version == WPINV_VERSION ) { |
|
| 486 | + return; |
|
| 487 | + } |
|
| 488 | + |
|
| 489 | + $installer = new GetPaid_Installer(); |
|
| 490 | + |
|
| 491 | + if ( empty( $wpi_version ) ) { |
|
| 492 | + return $installer->upgrade_db( 0 ); |
|
| 493 | + } |
|
| 494 | + |
|
| 495 | + $upgrades = array( |
|
| 496 | + '0.0.5' => '004', |
|
| 497 | + '1.0.3' => '102', |
|
| 498 | + '2.0.0' => '118', |
|
| 499 | + '2.8.0' => '279', |
|
| 500 | + ); |
|
| 501 | + |
|
| 502 | + foreach ( $upgrades as $key => $method ) { |
|
| 503 | + if ( version_compare( $wpi_version, $key, '<' ) ) { |
|
| 504 | + return $installer->upgrade_db( $method ); |
|
| 505 | + } |
|
| 506 | + } |
|
| 507 | + } |
|
| 508 | + |
|
| 509 | + /** |
|
| 510 | + * Flushes the permalinks if needed. |
|
| 511 | + * |
|
| 512 | + * @since 2.0.8 |
|
| 513 | + */ |
|
| 514 | + public function maybe_flush_permalinks() { |
|
| 515 | + $flush = get_option( 'wpinv_flush_permalinks', 0 ); |
|
| 516 | + |
|
| 517 | + if ( ! empty( $flush ) ) { |
|
| 518 | + flush_rewrite_rules(); |
|
| 519 | + delete_option( 'wpinv_flush_permalinks' ); |
|
| 520 | + } |
|
| 521 | + } |
|
| 522 | + |
|
| 523 | + /** |
|
| 524 | + * Remove our pages from yoast sitemaps. |
|
| 525 | + * |
|
| 526 | + * @since 1.0.19 |
|
| 527 | + * @param int[] $excluded_posts_ids |
|
| 528 | + */ |
|
| 529 | + public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ) { |
|
| 530 | + // Ensure that we have an array. |
|
| 531 | + if ( ! is_array( $excluded_posts_ids ) ) { |
|
| 532 | + $excluded_posts_ids = array(); |
|
| 533 | + } |
|
| 534 | + |
|
| 535 | + // Prepare our pages. |
|
| 536 | + $our_pages = array(); |
|
| 537 | + |
|
| 538 | + // Checkout page. |
|
| 539 | + $our_pages[] = wpinv_get_option( 'checkout_page', false ); |
|
| 540 | + |
|
| 541 | + // Success page. |
|
| 542 | + $our_pages[] = wpinv_get_option( 'success_page', false ); |
|
| 543 | + |
|
| 544 | + // Failure page. |
|
| 545 | + $our_pages[] = wpinv_get_option( 'failure_page', false ); |
|
| 546 | + |
|
| 547 | + // History page. |
|
| 548 | + $our_pages[] = wpinv_get_option( 'invoice_history_page', false ); |
|
| 549 | + |
|
| 550 | + // Subscriptions page. |
|
| 551 | + $our_pages[] = wpinv_get_option( 'invoice_subscription_page', false ); |
|
| 552 | + |
|
| 553 | + $our_pages = array_map( 'intval', array_filter( $our_pages ) ); |
|
| 554 | + |
|
| 555 | + $excluded_posts_ids = $excluded_posts_ids + $our_pages; |
|
| 556 | + |
|
| 557 | + return array_unique( $excluded_posts_ids ); |
|
| 558 | + } |
|
| 559 | + |
|
| 560 | + /** |
|
| 561 | + * Remove our pages from yoast sitemaps. |
|
| 562 | + * |
|
| 563 | + * @since 1.0.19 |
|
| 564 | + * @param string[] $post_types |
|
| 565 | + */ |
|
| 566 | + public function exclude_invoicing_post_types( $post_types ) { |
|
| 567 | + // Ensure that we have an array. |
|
| 568 | + if ( ! is_array( $post_types ) ) { |
|
| 569 | + $post_types = array(); |
|
| 570 | + } |
|
| 571 | + |
|
| 572 | + // Remove our post types. |
|
| 573 | + return array_diff( $post_types, array_keys( getpaid_get_invoice_post_types() ) ); |
|
| 574 | + } |
|
| 575 | + |
|
| 576 | + /** |
|
| 577 | + * Displays additional footer code. |
|
| 578 | + * |
|
| 579 | + * @since 2.0.0 |
|
| 580 | + */ |
|
| 581 | + public function wp_footer() { |
|
| 582 | + wpinv_get_template( 'frontend-footer.php' ); |
|
| 583 | + } |
|
| 584 | + |
|
| 585 | + /** |
|
| 586 | + * Displays additional header code. |
|
| 587 | + * |
|
| 588 | + * @since 2.0.0 |
|
| 589 | + */ |
|
| 590 | + public function wp_head() { |
|
| 591 | + wpinv_get_template( 'frontend-head.php' ); |
|
| 592 | + } |
|
| 593 | + |
|
| 594 | + /** |
|
| 595 | + * Custom query vars. |
|
| 596 | + * |
|
| 597 | + */ |
|
| 598 | + public function custom_query_vars( $vars ) { |
|
| 599 | + $vars[] = 'getpaid-ipn'; |
|
| 600 | + return $vars; |
|
| 601 | + } |
|
| 602 | + |
|
| 603 | + /** |
|
| 604 | + * Add rewrite tags and rules. |
|
| 605 | + * |
|
| 606 | + */ |
|
| 607 | + public function add_rewrite_rule() { |
|
| 608 | + $tag = 'getpaid-ipn'; |
|
| 609 | + add_rewrite_tag( "%$tag%", '([^&]+)' ); |
|
| 610 | + add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top' ); |
|
| 611 | + } |
|
| 612 | + |
|
| 613 | + /** |
|
| 614 | + * Processes non-query string ipns. |
|
| 615 | + * |
|
| 616 | + */ |
|
| 617 | + public function maybe_process_new_ipn( $query ) { |
|
| 618 | + if ( is_admin() || ! $query->is_main_query() ) { |
|
| 619 | + return; |
|
| 620 | + } |
|
| 621 | + |
|
| 622 | + $gateway = get_query_var( 'getpaid-ipn' ); |
|
| 623 | + |
|
| 624 | + if ( ! empty( $gateway ) ) { |
|
| 625 | + $gateway = sanitize_text_field( $gateway ); |
|
| 626 | + nocache_headers(); |
|
| 627 | + do_action( 'wpinv_verify_payment_ipn', $gateway ); |
|
| 628 | + do_action( "wpinv_verify_{$gateway}_ipn" ); |
|
| 629 | + exit; |
|
| 630 | + } |
|
| 631 | + } |
|
| 632 | 632 | } |
@@ -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,9 +66,9 @@ discard block |
||
| 66 | 66 | * @param string $prop The prop to set. |
| 67 | 67 | * @return mixed The value. |
| 68 | 68 | */ |
| 69 | - public function get( $prop ) { |
|
| 70 | - if ( isset( $this->data[ $prop ] ) ) { |
|
| 71 | - return $this->data[ $prop ]; |
|
| 69 | + public function get($prop) { |
|
| 70 | + if (isset($this->data[$prop])) { |
|
| 71 | + return $this->data[$prop]; |
|
| 72 | 72 | } |
| 73 | 73 | |
| 74 | 74 | return null; |
@@ -79,30 +79,30 @@ discard block |
||
| 79 | 79 | */ |
| 80 | 80 | public function set_properties() { |
| 81 | 81 | // Sessions. |
| 82 | - $this->set( 'session', new WPInv_Session_Handler() ); |
|
| 83 | - $GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility. |
|
| 82 | + $this->set('session', new WPInv_Session_Handler()); |
|
| 83 | + $GLOBALS['wpi_session'] = $this->get('session'); // Backwards compatibility. |
|
| 84 | 84 | $GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility. |
| 85 | 85 | |
| 86 | 86 | // Init other objects. |
| 87 | - $this->set( 'notes', new WPInv_Notes() ); |
|
| 88 | - $this->set( 'api', new WPInv_API() ); |
|
| 89 | - $this->set( 'post_types', new GetPaid_Post_Types() ); |
|
| 90 | - $this->set( 'template', new GetPaid_Template() ); |
|
| 91 | - $this->set( 'admin', new GetPaid_Admin() ); |
|
| 92 | - $this->set( 'subscriptions', new WPInv_Subscriptions() ); |
|
| 93 | - $this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() ); |
|
| 94 | - $this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() ); |
|
| 95 | - $this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() ); |
|
| 96 | - $this->set( 'payment_forms', new GetPaid_Payment_Forms() ); |
|
| 97 | - $this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() ); |
|
| 87 | + $this->set('notes', new WPInv_Notes()); |
|
| 88 | + $this->set('api', new WPInv_API()); |
|
| 89 | + $this->set('post_types', new GetPaid_Post_Types()); |
|
| 90 | + $this->set('template', new GetPaid_Template()); |
|
| 91 | + $this->set('admin', new GetPaid_Admin()); |
|
| 92 | + $this->set('subscriptions', new WPInv_Subscriptions()); |
|
| 93 | + $this->set('invoice_emails', new GetPaid_Invoice_Notification_Emails()); |
|
| 94 | + $this->set('subscription_emails', new GetPaid_Subscription_Notification_Emails()); |
|
| 95 | + $this->set('daily_maintenace', new GetPaid_Daily_Maintenance()); |
|
| 96 | + $this->set('payment_forms', new GetPaid_Payment_Forms()); |
|
| 97 | + $this->set('maxmind', new GetPaid_MaxMind_Geolocation()); |
|
| 98 | 98 | } |
| 99 | 99 | |
| 100 | 100 | /** |
| 101 | 101 | * Define plugin constants. |
| 102 | 102 | */ |
| 103 | 103 | public function define_constants() { |
| 104 | - define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) ); |
|
| 105 | - define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) ); |
|
| 104 | + define('WPINV_PLUGIN_DIR', plugin_dir_path(WPINV_PLUGIN_FILE)); |
|
| 105 | + define('WPINV_PLUGIN_URL', plugin_dir_url(WPINV_PLUGIN_FILE)); |
|
| 106 | 106 | $this->version = WPINV_VERSION; |
| 107 | 107 | } |
| 108 | 108 | |
@@ -113,38 +113,38 @@ discard block |
||
| 113 | 113 | */ |
| 114 | 114 | protected function init_hooks() { |
| 115 | 115 | /* Internationalize the text strings used. */ |
| 116 | - add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) ); |
|
| 116 | + add_action('plugins_loaded', array(&$this, 'plugins_loaded')); |
|
| 117 | 117 | |
| 118 | 118 | // Init the plugin after WordPress inits. |
| 119 | - add_action( 'init', array( $this, 'init' ), 1 ); |
|
| 120 | - add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 ); |
|
| 121 | - add_action( 'init', array( $this, 'wpinv_actions' ) ); |
|
| 122 | - add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 ); |
|
| 123 | - add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 ); |
|
| 124 | - add_action( 'wp_footer', array( $this, 'wp_footer' ) ); |
|
| 125 | - add_action( 'wp_head', array( $this, 'wp_head' ) ); |
|
| 126 | - add_action( 'widgets_init', array( $this, 'register_widgets' ) ); |
|
| 127 | - add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) ); |
|
| 128 | - add_filter( 'the_seo_framework_sitemap_supported_post_types', array( $this, 'exclude_invoicing_post_types' ) ); |
|
| 129 | - add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) ); |
|
| 130 | - |
|
| 131 | - add_filter( 'query_vars', array( $this, 'custom_query_vars' ) ); |
|
| 132 | - add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 ); |
|
| 133 | - add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 ); |
|
| 119 | + add_action('init', array($this, 'init'), 1); |
|
| 120 | + add_action('init', array($this, 'maybe_process_ipn'), 10); |
|
| 121 | + add_action('init', array($this, 'wpinv_actions')); |
|
| 122 | + add_action('init', array($this, 'maybe_do_authenticated_action'), 100); |
|
| 123 | + add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 11); |
|
| 124 | + add_action('wp_footer', array($this, 'wp_footer')); |
|
| 125 | + add_action('wp_head', array($this, 'wp_head')); |
|
| 126 | + add_action('widgets_init', array($this, 'register_widgets')); |
|
| 127 | + add_filter('wpseo_exclude_from_sitemap_by_post_ids', array($this, 'wpseo_exclude_from_sitemap_by_post_ids')); |
|
| 128 | + add_filter('the_seo_framework_sitemap_supported_post_types', array($this, 'exclude_invoicing_post_types')); |
|
| 129 | + add_filter('pre_get_posts', array(&$this, 'pre_get_posts')); |
|
| 130 | + |
|
| 131 | + add_filter('query_vars', array($this, 'custom_query_vars')); |
|
| 132 | + add_action('init', array($this, 'add_rewrite_rule'), 10, 0); |
|
| 133 | + add_action('pre_get_posts', array($this, 'maybe_process_new_ipn'), 1); |
|
| 134 | 134 | |
| 135 | 135 | // Fires after registering actions. |
| 136 | - do_action( 'wpinv_actions', $this ); |
|
| 137 | - do_action( 'getpaid_actions', $this ); |
|
| 136 | + do_action('wpinv_actions', $this); |
|
| 137 | + do_action('getpaid_actions', $this); |
|
| 138 | 138 | } |
| 139 | 139 | |
| 140 | 140 | public function plugins_loaded() { |
| 141 | 141 | /* Internationalize the text strings used. */ |
| 142 | 142 | $this->load_textdomain(); |
| 143 | 143 | |
| 144 | - do_action( 'wpinv_loaded' ); |
|
| 144 | + do_action('wpinv_loaded'); |
|
| 145 | 145 | |
| 146 | 146 | // Fix oxygen page builder conflict |
| 147 | - if ( function_exists( 'ct_css_output' ) ) { |
|
| 147 | + if (function_exists('ct_css_output')) { |
|
| 148 | 148 | wpinv_oxygen_fix_conflict(); |
| 149 | 149 | } |
| 150 | 150 | } |
@@ -162,9 +162,9 @@ discard block |
||
| 162 | 162 | */ |
| 163 | 163 | public function load_textdomain() { |
| 164 | 164 | // Determines the current locale. |
| 165 | - if ( function_exists( 'determine_locale' ) ) { |
|
| 165 | + if (function_exists('determine_locale')) { |
|
| 166 | 166 | $locale = determine_locale(); |
| 167 | - } else if ( function_exists( 'get_user_locale' ) ) { |
|
| 167 | + } else if (function_exists('get_user_locale')) { |
|
| 168 | 168 | $locale = get_user_locale(); |
| 169 | 169 | } else { |
| 170 | 170 | $locale = get_locale(); |
@@ -173,11 +173,11 @@ discard block |
||
| 173 | 173 | /** |
| 174 | 174 | * Filter the locale to use for translations. |
| 175 | 175 | */ |
| 176 | - $locale = apply_filters( 'plugin_locale', $locale, 'invoicing' ); |
|
| 176 | + $locale = apply_filters('plugin_locale', $locale, 'invoicing'); |
|
| 177 | 177 | |
| 178 | - unload_textdomain( 'invoicing', true ); |
|
| 179 | - load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' ); |
|
| 180 | - load_plugin_textdomain( 'invoicing', false, plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/' ); |
|
| 178 | + unload_textdomain('invoicing', true); |
|
| 179 | + load_textdomain('invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo'); |
|
| 180 | + load_plugin_textdomain('invoicing', false, plugin_basename(dirname(WPINV_PLUGIN_FILE)) . '/languages/'); |
|
| 181 | 181 | } |
| 182 | 182 | |
| 183 | 183 | /** |
@@ -210,9 +210,9 @@ discard block |
||
| 210 | 210 | |
| 211 | 211 | // Register autoloader. |
| 212 | 212 | try { |
| 213 | - spl_autoload_register( array( $this, 'autoload' ), true ); |
|
| 214 | - } catch ( Exception $e ) { |
|
| 215 | - wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true ); |
|
| 213 | + spl_autoload_register(array($this, 'autoload'), true); |
|
| 214 | + } catch (Exception $e) { |
|
| 215 | + wpinv_error_log($e->getMessage(), '', __FILE__, 149, true); |
|
| 216 | 216 | } |
| 217 | 217 | |
| 218 | 218 | require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php'; |
@@ -238,7 +238,7 @@ discard block |
||
| 238 | 238 | require_once WPINV_PLUGIN_DIR . 'widgets/invoice.php'; |
| 239 | 239 | require_once WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php'; |
| 240 | 240 | |
| 241 | - if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) { |
|
| 241 | + if (is_admin() || (defined('WP_CLI') && WP_CLI)) { |
|
| 242 | 242 | GetPaid_Post_Types_Admin::init(); |
| 243 | 243 | |
| 244 | 244 | require_once WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php'; |
@@ -249,15 +249,15 @@ discard block |
||
| 249 | 249 | require_once WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php'; |
| 250 | 250 | // load the user class only on the users.php page |
| 251 | 251 | global $pagenow; |
| 252 | - if ( $pagenow == 'users.php' ) { |
|
| 252 | + if ($pagenow == 'users.php') { |
|
| 253 | 253 | new WPInv_Admin_Users(); |
| 254 | 254 | } |
| 255 | 255 | } |
| 256 | 256 | |
| 257 | 257 | // Register cli commands |
| 258 | - if ( defined( 'WP_CLI' ) && WP_CLI ) { |
|
| 258 | + if (defined('WP_CLI') && WP_CLI) { |
|
| 259 | 259 | require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php'; |
| 260 | - WP_CLI::add_command( 'invoicing', 'WPInv_CLI' ); |
|
| 260 | + WP_CLI::add_command('invoicing', 'WPInv_CLI'); |
|
| 261 | 261 | } |
| 262 | 262 | } |
| 263 | 263 | |
@@ -269,20 +269,20 @@ discard block |
||
| 269 | 269 | * @since 1.0.19 |
| 270 | 270 | * @return void |
| 271 | 271 | */ |
| 272 | - public function autoload( $class_name ) { |
|
| 272 | + public function autoload($class_name) { |
|
| 273 | 273 | // Normalize the class name... |
| 274 | - $class_name = strtolower( $class_name ); |
|
| 274 | + $class_name = strtolower($class_name); |
|
| 275 | 275 | |
| 276 | 276 | // ... and make sure it is our class. |
| 277 | - if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) { |
|
| 277 | + if (false === strpos($class_name, 'getpaid_') && false === strpos($class_name, 'wpinv_')) { |
|
| 278 | 278 | return; |
| 279 | 279 | } |
| 280 | 280 | |
| 281 | 281 | // Next, prepare the file name from the class. |
| 282 | - $file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php'; |
|
| 282 | + $file_name = 'class-' . str_replace('_', '-', $class_name) . '.php'; |
|
| 283 | 283 | |
| 284 | 284 | // Base path of the classes. |
| 285 | - $plugin_path = untrailingslashit( WPINV_PLUGIN_DIR ); |
|
| 285 | + $plugin_path = untrailingslashit(WPINV_PLUGIN_DIR); |
|
| 286 | 286 | |
| 287 | 287 | // And an array of possible locations in order of importance. |
| 288 | 288 | $locations = array( |
@@ -297,9 +297,9 @@ discard block |
||
| 297 | 297 | "$plugin_path/includes/admin/meta-boxes", |
| 298 | 298 | ); |
| 299 | 299 | |
| 300 | - foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) { |
|
| 301 | - if ( file_exists( trailingslashit( $location ) . $file_name ) ) { |
|
| 302 | - include trailingslashit( $location ) . $file_name; |
|
| 300 | + foreach (apply_filters('getpaid_autoload_locations', $locations) as $location) { |
|
| 301 | + if (file_exists(trailingslashit($location) . $file_name)) { |
|
| 302 | + include trailingslashit($location) . $file_name; |
|
| 303 | 303 | break; |
| 304 | 304 | } |
| 305 | 305 | } |
@@ -310,7 +310,7 @@ discard block |
||
| 310 | 310 | */ |
| 311 | 311 | public function init() { |
| 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 | /** |
@@ -345,51 +345,51 @@ discard block |
||
| 345 | 345 | */ |
| 346 | 346 | public function maybe_process_ipn() { |
| 347 | 347 | // Ensure that this is an IPN request. |
| 348 | - if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) { |
|
| 348 | + if (empty($_GET['wpi-listener']) || 'IPN' !== $_GET['wpi-listener'] || empty($_GET['wpi-gateway'])) { |
|
| 349 | 349 | return; |
| 350 | 350 | } |
| 351 | 351 | |
| 352 | - $gateway = sanitize_text_field( $_GET['wpi-gateway'] ); |
|
| 352 | + $gateway = sanitize_text_field($_GET['wpi-gateway']); |
|
| 353 | 353 | |
| 354 | - do_action( 'wpinv_verify_payment_ipn', $gateway ); |
|
| 355 | - do_action( "wpinv_verify_{$gateway}_ipn" ); |
|
| 354 | + do_action('wpinv_verify_payment_ipn', $gateway); |
|
| 355 | + do_action("wpinv_verify_{$gateway}_ipn"); |
|
| 356 | 356 | exit; |
| 357 | 357 | } |
| 358 | 358 | |
| 359 | 359 | public function enqueue_scripts() { |
| 360 | 360 | // Fires before adding scripts. |
| 361 | - do_action( 'getpaid_enqueue_scripts' ); |
|
| 361 | + do_action('getpaid_enqueue_scripts'); |
|
| 362 | 362 | |
| 363 | 363 | $localize = array(); |
| 364 | - $localize['ajax_url'] = admin_url( 'admin-ajax.php' ); |
|
| 364 | + $localize['ajax_url'] = admin_url('admin-ajax.php'); |
|
| 365 | 365 | $localize['thousands'] = wpinv_thousands_separator(); |
| 366 | 366 | $localize['decimals'] = wpinv_decimal_separator(); |
| 367 | - $localize['nonce'] = wp_create_nonce( 'wpinv-nonce' ); |
|
| 368 | - $localize['txtComplete'] = __( 'Continue', 'invoicing' ); |
|
| 367 | + $localize['nonce'] = wp_create_nonce('wpinv-nonce'); |
|
| 368 | + $localize['txtComplete'] = __('Continue', 'invoicing'); |
|
| 369 | 369 | $localize['UseTaxes'] = wpinv_use_taxes(); |
| 370 | - $localize['formNonce'] = wp_create_nonce( 'getpaid_form_nonce' ); |
|
| 371 | - $localize['loading'] = __( 'Loading...', 'invoicing' ); |
|
| 372 | - $localize['connectionError'] = __( 'Could not establish a connection to the server.', 'invoicing' ); |
|
| 370 | + $localize['formNonce'] = wp_create_nonce('getpaid_form_nonce'); |
|
| 371 | + $localize['loading'] = __('Loading...', 'invoicing'); |
|
| 372 | + $localize['connectionError'] = __('Could not establish a connection to the server.', 'invoicing'); |
|
| 373 | 373 | $localize['recaptchaSettings'] = getpaid_get_recaptcha_settings(); |
| 374 | 374 | |
| 375 | - $localize = apply_filters( 'wpinv_front_js_localize', $localize ); |
|
| 375 | + $localize = apply_filters('wpinv_front_js_localize', $localize); |
|
| 376 | 376 | |
| 377 | 377 | // reCaptcha. |
| 378 | - if ( getpaid_is_recaptcha_enabled() && ( $recaptcha_js = getpaid_recaptcha_api_url() ) ) { |
|
| 379 | - wp_enqueue_script( 'recaptcha', $recaptcha_js, array(), null, true ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion |
|
| 378 | + if (getpaid_is_recaptcha_enabled() && ($recaptcha_js = getpaid_recaptcha_api_url())) { |
|
| 379 | + wp_enqueue_script('recaptcha', $recaptcha_js, array(), null, true); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion |
|
| 380 | 380 | } |
| 381 | 381 | |
| 382 | - wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.min.js', array( 'jquery' ), WPINV_VERSION, true ); |
|
| 383 | - wp_localize_script( 'wpinv-front-script', 'WPInv', $localize ); |
|
| 382 | + wp_enqueue_script('wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.min.js', array('jquery'), WPINV_VERSION, true); |
|
| 383 | + wp_localize_script('wpinv-front-script', 'WPInv', $localize); |
|
| 384 | 384 | } |
| 385 | 385 | |
| 386 | 386 | public function wpinv_actions() { |
| 387 | - if ( isset( $_REQUEST['wpi_action'] ) ) { |
|
| 388 | - do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST ); |
|
| 387 | + if (isset($_REQUEST['wpi_action'])) { |
|
| 388 | + do_action('wpinv_' . wpinv_sanitize_key($_REQUEST['wpi_action']), $_REQUEST); |
|
| 389 | 389 | } |
| 390 | 390 | |
| 391 | - if ( defined( 'WP_ALL_IMPORT_ROOT_DIR' ) ) { |
|
| 392 | - include plugin_dir_path( __FILE__ ) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php'; |
|
| 391 | + if (defined('WP_ALL_IMPORT_ROOT_DIR')) { |
|
| 392 | + include plugin_dir_path(__FILE__) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php'; |
|
| 393 | 393 | } |
| 394 | 394 | } |
| 395 | 395 | |
@@ -400,21 +400,21 @@ discard block |
||
| 400 | 400 | * current user owns the invoice/subscription. |
| 401 | 401 | */ |
| 402 | 402 | public function maybe_do_authenticated_action() { |
| 403 | - if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) { |
|
| 404 | - $key = sanitize_key( $_REQUEST['getpaid-action'] ); |
|
| 405 | - $data = wp_unslash( $_REQUEST ); |
|
| 403 | + if (isset($_REQUEST['getpaid-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce')) { |
|
| 404 | + $key = sanitize_key($_REQUEST['getpaid-action']); |
|
| 405 | + $data = wp_unslash($_REQUEST); |
|
| 406 | 406 | |
| 407 | - if ( is_user_logged_in() ) { |
|
| 408 | - do_action( "getpaid_authenticated_action_$key", $data ); |
|
| 407 | + if (is_user_logged_in()) { |
|
| 408 | + do_action("getpaid_authenticated_action_$key", $data); |
|
| 409 | 409 | } |
| 410 | 410 | |
| 411 | - do_action( "getpaid_unauthenticated_action_$key", $data ); |
|
| 411 | + do_action("getpaid_unauthenticated_action_$key", $data); |
|
| 412 | 412 | } |
| 413 | 413 | } |
| 414 | 414 | |
| 415 | - public function pre_get_posts( $wp_query ) { |
|
| 416 | - 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() ) { |
|
| 417 | - $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) ); |
|
| 415 | + public function pre_get_posts($wp_query) { |
|
| 416 | + 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()) { |
|
| 417 | + $wp_query->query_vars['post_status'] = array_keys(wpinv_get_invoice_statuses(false, false, $wp_query->query_vars['post_type'])); |
|
| 418 | 418 | } |
| 419 | 419 | |
| 420 | 420 | return $wp_query; |
@@ -429,17 +429,17 @@ discard block |
||
| 429 | 429 | |
| 430 | 430 | // Currently, UX Builder does not work particulaly well with SuperDuper. |
| 431 | 431 | // So we disable our widgets when editing a page with UX Builder. |
| 432 | - if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) { |
|
| 432 | + if (function_exists('ux_builder_is_active') && ux_builder_is_active()) { |
|
| 433 | 433 | return; |
| 434 | 434 | } |
| 435 | 435 | |
| 436 | - $block_widget_init_screens = function_exists( 'sd_pagenow_exclude' ) ? sd_pagenow_exclude() : array(); |
|
| 436 | + $block_widget_init_screens = function_exists('sd_pagenow_exclude') ? sd_pagenow_exclude() : array(); |
|
| 437 | 437 | |
| 438 | - if ( is_admin() && $pagenow && in_array( $pagenow, $block_widget_init_screens ) ) { |
|
| 438 | + if (is_admin() && $pagenow && in_array($pagenow, $block_widget_init_screens)) { |
|
| 439 | 439 | // don't initiate in these conditions. |
| 440 | 440 | } else { |
| 441 | 441 | // Only load allowed widgets. |
| 442 | - $exclude = function_exists( 'sd_widget_exclude' ) ? sd_widget_exclude() : array(); |
|
| 442 | + $exclude = function_exists('sd_widget_exclude') ? sd_widget_exclude() : array(); |
|
| 443 | 443 | $widgets = apply_filters( |
| 444 | 444 | 'getpaid_widget_classes', |
| 445 | 445 | array( |
@@ -455,15 +455,15 @@ discard block |
||
| 455 | 455 | ); |
| 456 | 456 | |
| 457 | 457 | // For each widget... |
| 458 | - foreach ( $widgets as $widget ) { |
|
| 458 | + foreach ($widgets as $widget) { |
|
| 459 | 459 | // Abort early if it is excluded for this page. |
| 460 | - if ( in_array( $widget, $exclude ) ) { |
|
| 460 | + if (in_array($widget, $exclude)) { |
|
| 461 | 461 | continue; |
| 462 | 462 | } |
| 463 | 463 | |
| 464 | 464 | // SD V1 used to extend the widget class. V2 does not, so we cannot call register widget on it. |
| 465 | - if ( is_subclass_of( $widget, 'WP_Widget' ) ) { |
|
| 466 | - register_widget( $widget ); |
|
| 465 | + if (is_subclass_of($widget, 'WP_Widget')) { |
|
| 466 | + register_widget($widget); |
|
| 467 | 467 | } else { |
| 468 | 468 | new $widget(); |
| 469 | 469 | } |
@@ -480,28 +480,28 @@ discard block |
||
| 480 | 480 | // Ensure the database tables are up to date. |
| 481 | 481 | GetPaid_Installer::maybe_create_db_tables(); |
| 482 | 482 | |
| 483 | - $wpi_version = get_option( 'wpinv_version', 0 ); |
|
| 483 | + $wpi_version = get_option('wpinv_version', 0); |
|
| 484 | 484 | |
| 485 | - if ( $wpi_version == WPINV_VERSION ) { |
|
| 485 | + if ($wpi_version == WPINV_VERSION) { |
|
| 486 | 486 | return; |
| 487 | 487 | } |
| 488 | 488 | |
| 489 | 489 | $installer = new GetPaid_Installer(); |
| 490 | 490 | |
| 491 | - if ( empty( $wpi_version ) ) { |
|
| 492 | - return $installer->upgrade_db( 0 ); |
|
| 491 | + if (empty($wpi_version)) { |
|
| 492 | + return $installer->upgrade_db(0); |
|
| 493 | 493 | } |
| 494 | 494 | |
| 495 | - $upgrades = array( |
|
| 495 | + $upgrades = array( |
|
| 496 | 496 | '0.0.5' => '004', |
| 497 | 497 | '1.0.3' => '102', |
| 498 | 498 | '2.0.0' => '118', |
| 499 | 499 | '2.8.0' => '279', |
| 500 | 500 | ); |
| 501 | 501 | |
| 502 | - foreach ( $upgrades as $key => $method ) { |
|
| 503 | - if ( version_compare( $wpi_version, $key, '<' ) ) { |
|
| 504 | - return $installer->upgrade_db( $method ); |
|
| 502 | + foreach ($upgrades as $key => $method) { |
|
| 503 | + if (version_compare($wpi_version, $key, '<')) { |
|
| 504 | + return $installer->upgrade_db($method); |
|
| 505 | 505 | } |
| 506 | 506 | } |
| 507 | 507 | } |
@@ -512,11 +512,11 @@ discard block |
||
| 512 | 512 | * @since 2.0.8 |
| 513 | 513 | */ |
| 514 | 514 | public function maybe_flush_permalinks() { |
| 515 | - $flush = get_option( 'wpinv_flush_permalinks', 0 ); |
|
| 515 | + $flush = get_option('wpinv_flush_permalinks', 0); |
|
| 516 | 516 | |
| 517 | - if ( ! empty( $flush ) ) { |
|
| 517 | + if (!empty($flush)) { |
|
| 518 | 518 | flush_rewrite_rules(); |
| 519 | - delete_option( 'wpinv_flush_permalinks' ); |
|
| 519 | + delete_option('wpinv_flush_permalinks'); |
|
| 520 | 520 | } |
| 521 | 521 | } |
| 522 | 522 | |
@@ -526,9 +526,9 @@ discard block |
||
| 526 | 526 | * @since 1.0.19 |
| 527 | 527 | * @param int[] $excluded_posts_ids |
| 528 | 528 | */ |
| 529 | - public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ) { |
|
| 529 | + public function wpseo_exclude_from_sitemap_by_post_ids($excluded_posts_ids) { |
|
| 530 | 530 | // Ensure that we have an array. |
| 531 | - if ( ! is_array( $excluded_posts_ids ) ) { |
|
| 531 | + if (!is_array($excluded_posts_ids)) { |
|
| 532 | 532 | $excluded_posts_ids = array(); |
| 533 | 533 | } |
| 534 | 534 | |
@@ -536,25 +536,25 @@ discard block |
||
| 536 | 536 | $our_pages = array(); |
| 537 | 537 | |
| 538 | 538 | // Checkout page. |
| 539 | - $our_pages[] = wpinv_get_option( 'checkout_page', false ); |
|
| 539 | + $our_pages[] = wpinv_get_option('checkout_page', false); |
|
| 540 | 540 | |
| 541 | 541 | // Success page. |
| 542 | - $our_pages[] = wpinv_get_option( 'success_page', false ); |
|
| 542 | + $our_pages[] = wpinv_get_option('success_page', false); |
|
| 543 | 543 | |
| 544 | 544 | // Failure page. |
| 545 | - $our_pages[] = wpinv_get_option( 'failure_page', false ); |
|
| 545 | + $our_pages[] = wpinv_get_option('failure_page', false); |
|
| 546 | 546 | |
| 547 | 547 | // History page. |
| 548 | - $our_pages[] = wpinv_get_option( 'invoice_history_page', false ); |
|
| 548 | + $our_pages[] = wpinv_get_option('invoice_history_page', false); |
|
| 549 | 549 | |
| 550 | 550 | // Subscriptions page. |
| 551 | - $our_pages[] = wpinv_get_option( 'invoice_subscription_page', false ); |
|
| 551 | + $our_pages[] = wpinv_get_option('invoice_subscription_page', false); |
|
| 552 | 552 | |
| 553 | - $our_pages = array_map( 'intval', array_filter( $our_pages ) ); |
|
| 553 | + $our_pages = array_map('intval', array_filter($our_pages)); |
|
| 554 | 554 | |
| 555 | 555 | $excluded_posts_ids = $excluded_posts_ids + $our_pages; |
| 556 | 556 | |
| 557 | - return array_unique( $excluded_posts_ids ); |
|
| 557 | + return array_unique($excluded_posts_ids); |
|
| 558 | 558 | } |
| 559 | 559 | |
| 560 | 560 | /** |
@@ -563,14 +563,14 @@ discard block |
||
| 563 | 563 | * @since 1.0.19 |
| 564 | 564 | * @param string[] $post_types |
| 565 | 565 | */ |
| 566 | - public function exclude_invoicing_post_types( $post_types ) { |
|
| 566 | + public function exclude_invoicing_post_types($post_types) { |
|
| 567 | 567 | // Ensure that we have an array. |
| 568 | - if ( ! is_array( $post_types ) ) { |
|
| 568 | + if (!is_array($post_types)) { |
|
| 569 | 569 | $post_types = array(); |
| 570 | 570 | } |
| 571 | 571 | |
| 572 | 572 | // Remove our post types. |
| 573 | - return array_diff( $post_types, array_keys( getpaid_get_invoice_post_types() ) ); |
|
| 573 | + return array_diff($post_types, array_keys(getpaid_get_invoice_post_types())); |
|
| 574 | 574 | } |
| 575 | 575 | |
| 576 | 576 | /** |
@@ -579,7 +579,7 @@ discard block |
||
| 579 | 579 | * @since 2.0.0 |
| 580 | 580 | */ |
| 581 | 581 | public function wp_footer() { |
| 582 | - wpinv_get_template( 'frontend-footer.php' ); |
|
| 582 | + wpinv_get_template('frontend-footer.php'); |
|
| 583 | 583 | } |
| 584 | 584 | |
| 585 | 585 | /** |
@@ -588,14 +588,14 @@ discard block |
||
| 588 | 588 | * @since 2.0.0 |
| 589 | 589 | */ |
| 590 | 590 | public function wp_head() { |
| 591 | - wpinv_get_template( 'frontend-head.php' ); |
|
| 591 | + wpinv_get_template('frontend-head.php'); |
|
| 592 | 592 | } |
| 593 | 593 | |
| 594 | 594 | /** |
| 595 | 595 | * Custom query vars. |
| 596 | 596 | * |
| 597 | 597 | */ |
| 598 | - public function custom_query_vars( $vars ) { |
|
| 598 | + public function custom_query_vars($vars) { |
|
| 599 | 599 | $vars[] = 'getpaid-ipn'; |
| 600 | 600 | return $vars; |
| 601 | 601 | } |
@@ -606,26 +606,26 @@ discard block |
||
| 606 | 606 | */ |
| 607 | 607 | public function add_rewrite_rule() { |
| 608 | 608 | $tag = 'getpaid-ipn'; |
| 609 | - add_rewrite_tag( "%$tag%", '([^&]+)' ); |
|
| 610 | - add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top' ); |
|
| 609 | + add_rewrite_tag("%$tag%", '([^&]+)'); |
|
| 610 | + add_rewrite_rule("^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top'); |
|
| 611 | 611 | } |
| 612 | 612 | |
| 613 | 613 | /** |
| 614 | 614 | * Processes non-query string ipns. |
| 615 | 615 | * |
| 616 | 616 | */ |
| 617 | - public function maybe_process_new_ipn( $query ) { |
|
| 618 | - if ( is_admin() || ! $query->is_main_query() ) { |
|
| 617 | + public function maybe_process_new_ipn($query) { |
|
| 618 | + if (is_admin() || !$query->is_main_query()) { |
|
| 619 | 619 | return; |
| 620 | 620 | } |
| 621 | 621 | |
| 622 | - $gateway = get_query_var( 'getpaid-ipn' ); |
|
| 622 | + $gateway = get_query_var('getpaid-ipn'); |
|
| 623 | 623 | |
| 624 | - if ( ! empty( $gateway ) ) { |
|
| 625 | - $gateway = sanitize_text_field( $gateway ); |
|
| 624 | + if (!empty($gateway)) { |
|
| 625 | + $gateway = sanitize_text_field($gateway); |
|
| 626 | 626 | nocache_headers(); |
| 627 | - do_action( 'wpinv_verify_payment_ipn', $gateway ); |
|
| 628 | - do_action( "wpinv_verify_{$gateway}_ipn" ); |
|
| 627 | + do_action('wpinv_verify_payment_ipn', $gateway); |
|
| 628 | + do_action("wpinv_verify_{$gateway}_ipn"); |
|
| 629 | 629 | exit; |
| 630 | 630 | } |
| 631 | 631 | } |
@@ -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,472 +21,472 @@ 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.30'; |
|
| 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.30'; |
|
| 119 | 39 | |
| 120 | - add_action( 'customize_register', array( self::$instance, 'customizer_settings' )); |
|
| 40 | + /** |
|
| 41 | + * Class textdomain. |
|
| 42 | + * |
|
| 43 | + * @var string |
|
| 44 | + */ |
|
| 45 | + public $textdomain = 'aui'; |
|
| 121 | 46 | |
| 122 | - do_action( 'ayecode_ui_settings_loaded' ); |
|
| 123 | - } |
|
| 47 | + /** |
|
| 48 | + * Latest version of Bootstrap at time of publish published. |
|
| 49 | + * |
|
| 50 | + * @var string |
|
| 51 | + */ |
|
| 52 | + public $latest = "5.2.2"; |
|
| 124 | 53 | |
| 125 | - return self::$instance; |
|
| 126 | - } |
|
| 54 | + /** |
|
| 55 | + * Current version of select2 being used. |
|
| 56 | + * |
|
| 57 | + * @var string |
|
| 58 | + */ |
|
| 59 | + public $select2_version = "4.0.11"; |
|
| 127 | 60 | |
| 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 ){ |
|
| 61 | + /** |
|
| 62 | + * The title. |
|
| 63 | + * |
|
| 64 | + * @var string |
|
| 65 | + */ |
|
| 66 | + public $name = 'AyeCode UI'; |
|
| 138 | 67 | |
| 68 | + /** |
|
| 69 | + * The relative url to the assets. |
|
| 70 | + * |
|
| 71 | + * @var string |
|
| 72 | + */ |
|
| 73 | + public $url = ''; |
|
| 139 | 74 | |
| 140 | - $setting = wp_get_global_settings(); |
|
| 75 | + /** |
|
| 76 | + * Holds the settings values. |
|
| 77 | + * |
|
| 78 | + * @var array |
|
| 79 | + */ |
|
| 80 | + private $settings; |
|
| 141 | 81 | |
| 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() { |
|
| 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 | + |
|
| 120 | + add_action( 'customize_register', array( self::$instance, 'customizer_settings' )); |
|
| 121 | + |
|
| 122 | + do_action( 'ayecode_ui_settings_loaded' ); |
|
| 123 | + } |
|
| 124 | + |
|
| 125 | + return self::$instance; |
|
| 126 | + } |
|
| 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 ){ |
|
| 138 | + |
|
| 139 | + |
|
| 140 | + $setting = wp_get_global_settings(); |
|
| 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() { |
|
| 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>'. wp_kses_post( $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>'. wp_kses_post( $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'; |
|
| 467 | - $rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : ''; |
|
| 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 | + $rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : ''; |
|
| 468 | 468 | $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : ''; |
| 469 | 469 | |
| 470 | - if ( $this->settings[ $css_setting ] ) { |
|
| 471 | - $compatibility = $this->settings[$css_setting]=='core' ? false : true; |
|
| 472 | - $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'; |
|
| 470 | + if ( $this->settings[ $css_setting ] ) { |
|
| 471 | + $compatibility = $this->settings[$css_setting]=='core' ? false : true; |
|
| 472 | + $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'; |
|
| 473 | 473 | |
| 474 | - wp_register_style( 'ayecode-ui', $url, array(), $this->version ); |
|
| 475 | - wp_enqueue_style( 'ayecode-ui' ); |
|
| 474 | + wp_register_style( 'ayecode-ui', $url, array(), $this->version ); |
|
| 475 | + wp_enqueue_style( 'ayecode-ui' ); |
|
| 476 | 476 | |
| 477 | - if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) ) ) { |
|
| 478 | - $url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css'; |
|
| 479 | - wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version ); |
|
| 480 | - wp_enqueue_style( 'ayecode-ui-fse' ); |
|
| 481 | - $load_fse = true; |
|
| 482 | - } |
|
| 477 | + if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) ) ) { |
|
| 478 | + $url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css'; |
|
| 479 | + wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version ); |
|
| 480 | + wp_enqueue_style( 'ayecode-ui-fse' ); |
|
| 481 | + $load_fse = true; |
|
| 482 | + } |
|
| 483 | 483 | |
| 484 | - // flatpickr |
|
| 485 | - wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version ); |
|
| 484 | + // flatpickr |
|
| 485 | + wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version ); |
|
| 486 | 486 | |
| 487 | - // fix some wp-admin issues |
|
| 488 | - if(is_admin()){ |
|
| 489 | - $custom_css = " |
|
| 487 | + // fix some wp-admin issues |
|
| 488 | + if(is_admin()){ |
|
| 489 | + $custom_css = " |
|
| 490 | 490 | body{ |
| 491 | 491 | background-color: #f1f1f1; |
| 492 | 492 | font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif; |
@@ -526,63 +526,63 @@ discard block |
||
| 526 | 526 | } |
| 527 | 527 | "; |
| 528 | 528 | |
| 529 | - // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377 |
|
| 530 | - $custom_css .= " |
|
| 529 | + // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377 |
|
| 530 | + $custom_css .= " |
|
| 531 | 531 | .edit-post-sidebar input[type=color].components-text-control__input{ |
| 532 | 532 | padding: 0; |
| 533 | 533 | } |
| 534 | 534 | "; |
| 535 | - wp_add_inline_style( 'ayecode-ui', $custom_css ); |
|
| 536 | - } |
|
| 537 | - |
|
| 538 | - // custom changes |
|
| 539 | - if ( $load_fse ) { |
|
| 540 | - wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) ); |
|
| 541 | - }else{ |
|
| 542 | - wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) ); |
|
| 543 | - } |
|
| 544 | - } |
|
| 545 | - } |
|
| 546 | - } |
|
| 547 | - |
|
| 548 | - /** |
|
| 549 | - * Get inline script used if bootstrap enqueued |
|
| 550 | - * |
|
| 551 | - * If this remains small then its best to use this than to add another JS file. |
|
| 552 | - */ |
|
| 553 | - public function inline_script() { |
|
| 554 | - global $aui_bs5; |
|
| 555 | - // Flatpickr calendar locale |
|
| 556 | - $flatpickr_locale = self::flatpickr_locale(); |
|
| 535 | + wp_add_inline_style( 'ayecode-ui', $custom_css ); |
|
| 536 | + } |
|
| 557 | 537 | |
| 558 | - ob_start(); |
|
| 559 | - if ( $aui_bs5 ) { |
|
| 560 | - include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' ); |
|
| 561 | - }else{ |
|
| 562 | - include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' ); |
|
| 538 | + // custom changes |
|
| 539 | + if ( $load_fse ) { |
|
| 540 | + wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) ); |
|
| 541 | + }else{ |
|
| 542 | + wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) ); |
|
| 543 | + } |
|
| 544 | + } |
|
| 563 | 545 | } |
| 546 | + } |
|
| 564 | 547 | |
| 565 | - $output = ob_get_clean(); |
|
| 548 | + /** |
|
| 549 | + * Get inline script used if bootstrap enqueued |
|
| 550 | + * |
|
| 551 | + * If this remains small then its best to use this than to add another JS file. |
|
| 552 | + */ |
|
| 553 | + public function inline_script() { |
|
| 554 | + global $aui_bs5; |
|
| 555 | + // Flatpickr calendar locale |
|
| 556 | + $flatpickr_locale = self::flatpickr_locale(); |
|
| 557 | + |
|
| 558 | + ob_start(); |
|
| 559 | + if ( $aui_bs5 ) { |
|
| 560 | + include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' ); |
|
| 561 | + }else{ |
|
| 562 | + include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' ); |
|
| 563 | + } |
|
| 566 | 564 | |
| 567 | - /* |
|
| 565 | + $output = ob_get_clean(); |
|
| 566 | + |
|
| 567 | + /* |
|
| 568 | 568 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 569 | 569 | */ |
| 570 | - return str_replace( array( |
|
| 571 | - '<script>', |
|
| 572 | - '</script>' |
|
| 573 | - ), '', self::minify_js($output) ); |
|
| 574 | - } |
|
| 575 | - |
|
| 576 | - |
|
| 577 | - /** |
|
| 578 | - * JS to help with conflict issues with other plugins and themes using bootstrap v3. |
|
| 579 | - * |
|
| 580 | - * @TODO we may need this when other conflicts arrise. |
|
| 581 | - * @return mixed |
|
| 582 | - */ |
|
| 583 | - public static function bs3_compat_js() { |
|
| 584 | - ob_start(); |
|
| 585 | - ?> |
|
| 570 | + return str_replace( array( |
|
| 571 | + '<script>', |
|
| 572 | + '</script>' |
|
| 573 | + ), '', self::minify_js($output) ); |
|
| 574 | + } |
|
| 575 | + |
|
| 576 | + |
|
| 577 | + /** |
|
| 578 | + * JS to help with conflict issues with other plugins and themes using bootstrap v3. |
|
| 579 | + * |
|
| 580 | + * @TODO we may need this when other conflicts arrise. |
|
| 581 | + * @return mixed |
|
| 582 | + */ |
|
| 583 | + public static function bs3_compat_js() { |
|
| 584 | + ob_start(); |
|
| 585 | + ?> |
|
| 586 | 586 | <script> |
| 587 | 587 | <?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?> |
| 588 | 588 | /* With Avada builder */ |
@@ -590,20 +590,20 @@ discard block |
||
| 590 | 590 | <?php } ?> |
| 591 | 591 | </script> |
| 592 | 592 | <?php |
| 593 | - return str_replace( array( |
|
| 594 | - '<script>', |
|
| 595 | - '</script>' |
|
| 596 | - ), '', ob_get_clean()); |
|
| 597 | - } |
|
| 598 | - |
|
| 599 | - /** |
|
| 600 | - * Get inline script used if bootstrap file browser enqueued. |
|
| 601 | - * |
|
| 602 | - * If this remains small then its best to use this than to add another JS file. |
|
| 603 | - */ |
|
| 604 | - public function inline_script_file_browser(){ |
|
| 605 | - ob_start(); |
|
| 606 | - ?> |
|
| 593 | + return str_replace( array( |
|
| 594 | + '<script>', |
|
| 595 | + '</script>' |
|
| 596 | + ), '', ob_get_clean()); |
|
| 597 | + } |
|
| 598 | + |
|
| 599 | + /** |
|
| 600 | + * Get inline script used if bootstrap file browser enqueued. |
|
| 601 | + * |
|
| 602 | + * If this remains small then its best to use this than to add another JS file. |
|
| 603 | + */ |
|
| 604 | + public function inline_script_file_browser(){ |
|
| 605 | + ob_start(); |
|
| 606 | + ?> |
|
| 607 | 607 | <script> |
| 608 | 608 | // run on doc ready |
| 609 | 609 | jQuery(document).ready(function () { |
@@ -611,314 +611,314 @@ discard block |
||
| 611 | 611 | }); |
| 612 | 612 | </script> |
| 613 | 613 | <?php |
| 614 | - $output = ob_get_clean(); |
|
| 614 | + $output = ob_get_clean(); |
|
| 615 | 615 | |
| 616 | - /* |
|
| 616 | + /* |
|
| 617 | 617 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 618 | 618 | */ |
| 619 | - return str_replace( array( |
|
| 620 | - '<script>', |
|
| 621 | - '</script>' |
|
| 622 | - ), '', $output ); |
|
| 623 | - } |
|
| 624 | - |
|
| 625 | - /** |
|
| 626 | - * Adds the Font Awesome JS. |
|
| 627 | - */ |
|
| 628 | - public function enqueue_scripts() { |
|
| 629 | - if( is_admin() && !$this->is_aui_screen()){ |
|
| 630 | - // Don't add wp-admin scripts if not requested to. |
|
| 631 | - } else { |
|
| 632 | - $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend'; |
|
| 633 | - |
|
| 634 | - $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : ''; |
|
| 635 | - |
|
| 636 | - // select2 |
|
| 637 | - wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version ); |
|
| 638 | - |
|
| 639 | - // flatpickr |
|
| 640 | - wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version ); |
|
| 641 | - |
|
| 642 | - // iconpicker |
|
| 643 | - if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) { |
|
| 644 | - wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version ); |
|
| 645 | - }else{ |
|
| 646 | - wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version ); |
|
| 647 | - } |
|
| 619 | + return str_replace( array( |
|
| 620 | + '<script>', |
|
| 621 | + '</script>' |
|
| 622 | + ), '', $output ); |
|
| 623 | + } |
|
| 648 | 624 | |
| 649 | - // Bootstrap file browser |
|
| 650 | - wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version ); |
|
| 651 | - wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() ); |
|
| 625 | + /** |
|
| 626 | + * Adds the Font Awesome JS. |
|
| 627 | + */ |
|
| 628 | + public function enqueue_scripts() { |
|
| 629 | + if( is_admin() && !$this->is_aui_screen()){ |
|
| 630 | + // Don't add wp-admin scripts if not requested to. |
|
| 631 | + } else { |
|
| 632 | + $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend'; |
|
| 652 | 633 | |
| 653 | - $load_inline = false; |
|
| 634 | + $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : ''; |
|
| 654 | 635 | |
| 655 | - // Load select2 only when required. |
|
| 656 | - if ( $this->force_load_select2() ) { |
|
| 657 | - $dependency = array( 'select2', 'jquery' ); |
|
| 658 | - } else { |
|
| 659 | - $dependency = array( 'jquery' ); |
|
| 660 | - } |
|
| 636 | + // select2 |
|
| 637 | + wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version ); |
|
| 661 | 638 | |
| 662 | - if ( $this->settings[ $js_setting ] == 'core-popper' ) { |
|
| 663 | - // Bootstrap bundle |
|
| 664 | - $url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js'; |
|
| 665 | - wp_register_script( 'bootstrap-js-bundle', $url, $dependency, $this->version, $this->is_bs3_compat() ); |
|
| 666 | - |
|
| 667 | - // If in admin then add to footer for compatibility. |
|
| 668 | - is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' ); |
|
| 669 | - |
|
| 670 | - $script = $this->inline_script(); |
|
| 671 | - wp_add_inline_script( 'bootstrap-js-bundle', $script ); |
|
| 672 | - } elseif ( $this->settings[ $js_setting ] == 'popper' ) { |
|
| 673 | - $url = $this->url . 'assets/js/popper.min.js'; // @todo we need to update this to bs5 |
|
| 674 | - wp_register_script( 'bootstrap-js-popper', $url, $dependency, $this->version ); |
|
| 675 | - wp_enqueue_script( 'bootstrap-js-popper' ); |
|
| 676 | - $load_inline = true; |
|
| 677 | - } else { |
|
| 678 | - $load_inline = true; |
|
| 679 | - } |
|
| 639 | + // flatpickr |
|
| 640 | + wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version ); |
|
| 641 | + |
|
| 642 | + // iconpicker |
|
| 643 | + if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) { |
|
| 644 | + wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version ); |
|
| 645 | + }else{ |
|
| 646 | + wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version ); |
|
| 647 | + } |
|
| 680 | 648 | |
| 681 | - // Load needed inline scripts by faking the loading of a script if the main script is not being loaded |
|
| 682 | - if ( $load_inline ) { |
|
| 683 | - wp_register_script( 'bootstrap-dummy', '', $dependency ); |
|
| 684 | - wp_enqueue_script( 'bootstrap-dummy' ); |
|
| 649 | + // Bootstrap file browser |
|
| 650 | + wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version ); |
|
| 651 | + wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() ); |
|
| 685 | 652 | |
| 686 | - $script = $this->inline_script(); |
|
| 687 | - wp_add_inline_script( 'bootstrap-dummy', $script ); |
|
| 688 | - } |
|
| 689 | - } |
|
| 690 | - } |
|
| 691 | - |
|
| 692 | - /** |
|
| 693 | - * Enqueue select2 if called. |
|
| 694 | - * |
|
| 695 | - * @since 0.2.29 |
|
| 696 | - */ |
|
| 697 | - public function force_load_select2() { |
|
| 698 | - global $aui_select2_enqueued; |
|
| 699 | - |
|
| 700 | - $conditional_select2 = apply_filters( 'aui_is_conditional_select2', true ); |
|
| 701 | - |
|
| 702 | - if ( $conditional_select2 !== true ) { |
|
| 703 | - return true; |
|
| 704 | - } |
|
| 705 | - |
|
| 706 | - $load = is_admin() && ! $aui_select2_enqueued; |
|
| 707 | - |
|
| 708 | - return apply_filters( 'aui_force_load_select2', $load ); |
|
| 709 | - } |
|
| 710 | - |
|
| 711 | - /** |
|
| 712 | - * Enqueue select2 if called. |
|
| 713 | - * |
|
| 714 | - * @since 0.2.29 |
|
| 715 | - */ |
|
| 716 | - public function enqueue_select2() { |
|
| 717 | - wp_enqueue_script( 'select2' ); |
|
| 718 | - } |
|
| 719 | - |
|
| 720 | - /** |
|
| 721 | - * Enqueue flatpickr if called. |
|
| 722 | - */ |
|
| 723 | - public function enqueue_flatpickr(){ |
|
| 724 | - wp_enqueue_style( 'flatpickr' ); |
|
| 725 | - wp_enqueue_script( 'flatpickr' ); |
|
| 726 | - } |
|
| 727 | - |
|
| 728 | - /** |
|
| 729 | - * Enqueue iconpicker if called. |
|
| 730 | - */ |
|
| 731 | - public function enqueue_iconpicker(){ |
|
| 732 | - wp_enqueue_style( 'iconpicker' ); |
|
| 733 | - wp_enqueue_script( 'iconpicker' ); |
|
| 734 | - } |
|
| 735 | - |
|
| 736 | - /** |
|
| 737 | - * Get the url path to the current folder. |
|
| 738 | - * |
|
| 739 | - * @return string |
|
| 740 | - */ |
|
| 741 | - public function get_url() { |
|
| 742 | - $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 743 | - $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 744 | - |
|
| 745 | - // Replace http:// to https://. |
|
| 746 | - if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 747 | - $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 748 | - } |
|
| 749 | - |
|
| 750 | - // Check if we are inside a plugin |
|
| 751 | - $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 752 | - $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 753 | - |
|
| 754 | - return trailingslashit( $url ); |
|
| 755 | - } |
|
| 756 | - |
|
| 757 | - /** |
|
| 758 | - * Get the url path to the current folder. |
|
| 759 | - * |
|
| 760 | - * @return string |
|
| 761 | - */ |
|
| 762 | - public function get_url_old() { |
|
| 763 | - |
|
| 764 | - $url = ''; |
|
| 765 | - // check if we are inside a plugin |
|
| 766 | - $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 767 | - |
|
| 768 | - // add check in-case user has changed wp-content dir name. |
|
| 769 | - $wp_content_folder_name = basename(WP_CONTENT_DIR); |
|
| 770 | - $dir_parts = explode("/$wp_content_folder_name/",$file_dir); |
|
| 771 | - $url_parts = explode("/$wp_content_folder_name/",plugins_url()); |
|
| 772 | - |
|
| 773 | - if(!empty($url_parts[0]) && !empty($dir_parts[1])){ |
|
| 774 | - $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] ); |
|
| 775 | - } |
|
| 776 | - |
|
| 777 | - return $url; |
|
| 778 | - } |
|
| 779 | - |
|
| 780 | - /** |
|
| 781 | - * Register the database settings with WordPress. |
|
| 782 | - */ |
|
| 783 | - public function register_settings() { |
|
| 784 | - register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' ); |
|
| 785 | - } |
|
| 786 | - |
|
| 787 | - /** |
|
| 788 | - * Add the WordPress settings menu item. |
|
| 789 | - * @since 1.0.10 Calling function name direct will fail theme check so we don't. |
|
| 790 | - */ |
|
| 791 | - public function menu_item() { |
|
| 792 | - $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme |
|
| 793 | - call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array( |
|
| 794 | - $this, |
|
| 795 | - 'settings_page' |
|
| 796 | - ) ); |
|
| 797 | - } |
|
| 798 | - |
|
| 799 | - /** |
|
| 800 | - * Get a list of themes and their default JS settings. |
|
| 801 | - * |
|
| 802 | - * @return array |
|
| 803 | - */ |
|
| 804 | - public function theme_js_settings(){ |
|
| 805 | - return array( |
|
| 806 | - 'ayetheme' => 'popper', |
|
| 807 | - 'listimia' => 'required', |
|
| 808 | - 'listimia_backend' => 'core-popper', |
|
| 809 | - //'avada' => 'required', // removed as we now add compatibility |
|
| 810 | - ); |
|
| 811 | - } |
|
| 812 | - |
|
| 813 | - /** |
|
| 653 | + $load_inline = false; |
|
| 654 | + |
|
| 655 | + // Load select2 only when required. |
|
| 656 | + if ( $this->force_load_select2() ) { |
|
| 657 | + $dependency = array( 'select2', 'jquery' ); |
|
| 658 | + } else { |
|
| 659 | + $dependency = array( 'jquery' ); |
|
| 660 | + } |
|
| 661 | + |
|
| 662 | + if ( $this->settings[ $js_setting ] == 'core-popper' ) { |
|
| 663 | + // Bootstrap bundle |
|
| 664 | + $url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js'; |
|
| 665 | + wp_register_script( 'bootstrap-js-bundle', $url, $dependency, $this->version, $this->is_bs3_compat() ); |
|
| 666 | + |
|
| 667 | + // If in admin then add to footer for compatibility. |
|
| 668 | + is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' ); |
|
| 669 | + |
|
| 670 | + $script = $this->inline_script(); |
|
| 671 | + wp_add_inline_script( 'bootstrap-js-bundle', $script ); |
|
| 672 | + } elseif ( $this->settings[ $js_setting ] == 'popper' ) { |
|
| 673 | + $url = $this->url . 'assets/js/popper.min.js'; // @todo we need to update this to bs5 |
|
| 674 | + wp_register_script( 'bootstrap-js-popper', $url, $dependency, $this->version ); |
|
| 675 | + wp_enqueue_script( 'bootstrap-js-popper' ); |
|
| 676 | + $load_inline = true; |
|
| 677 | + } else { |
|
| 678 | + $load_inline = true; |
|
| 679 | + } |
|
| 680 | + |
|
| 681 | + // Load needed inline scripts by faking the loading of a script if the main script is not being loaded |
|
| 682 | + if ( $load_inline ) { |
|
| 683 | + wp_register_script( 'bootstrap-dummy', '', $dependency ); |
|
| 684 | + wp_enqueue_script( 'bootstrap-dummy' ); |
|
| 685 | + |
|
| 686 | + $script = $this->inline_script(); |
|
| 687 | + wp_add_inline_script( 'bootstrap-dummy', $script ); |
|
| 688 | + } |
|
| 689 | + } |
|
| 690 | + } |
|
| 691 | + |
|
| 692 | + /** |
|
| 693 | + * Enqueue select2 if called. |
|
| 694 | + * |
|
| 695 | + * @since 0.2.29 |
|
| 696 | + */ |
|
| 697 | + public function force_load_select2() { |
|
| 698 | + global $aui_select2_enqueued; |
|
| 699 | + |
|
| 700 | + $conditional_select2 = apply_filters( 'aui_is_conditional_select2', true ); |
|
| 701 | + |
|
| 702 | + if ( $conditional_select2 !== true ) { |
|
| 703 | + return true; |
|
| 704 | + } |
|
| 705 | + |
|
| 706 | + $load = is_admin() && ! $aui_select2_enqueued; |
|
| 707 | + |
|
| 708 | + return apply_filters( 'aui_force_load_select2', $load ); |
|
| 709 | + } |
|
| 710 | + |
|
| 711 | + /** |
|
| 712 | + * Enqueue select2 if called. |
|
| 713 | + * |
|
| 714 | + * @since 0.2.29 |
|
| 715 | + */ |
|
| 716 | + public function enqueue_select2() { |
|
| 717 | + wp_enqueue_script( 'select2' ); |
|
| 718 | + } |
|
| 719 | + |
|
| 720 | + /** |
|
| 721 | + * Enqueue flatpickr if called. |
|
| 722 | + */ |
|
| 723 | + public function enqueue_flatpickr(){ |
|
| 724 | + wp_enqueue_style( 'flatpickr' ); |
|
| 725 | + wp_enqueue_script( 'flatpickr' ); |
|
| 726 | + } |
|
| 727 | + |
|
| 728 | + /** |
|
| 729 | + * Enqueue iconpicker if called. |
|
| 730 | + */ |
|
| 731 | + public function enqueue_iconpicker(){ |
|
| 732 | + wp_enqueue_style( 'iconpicker' ); |
|
| 733 | + wp_enqueue_script( 'iconpicker' ); |
|
| 734 | + } |
|
| 735 | + |
|
| 736 | + /** |
|
| 737 | + * Get the url path to the current folder. |
|
| 738 | + * |
|
| 739 | + * @return string |
|
| 740 | + */ |
|
| 741 | + public function get_url() { |
|
| 742 | + $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 743 | + $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 744 | + |
|
| 745 | + // Replace http:// to https://. |
|
| 746 | + if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 747 | + $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 748 | + } |
|
| 749 | + |
|
| 750 | + // Check if we are inside a plugin |
|
| 751 | + $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 752 | + $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 753 | + |
|
| 754 | + return trailingslashit( $url ); |
|
| 755 | + } |
|
| 756 | + |
|
| 757 | + /** |
|
| 758 | + * Get the url path to the current folder. |
|
| 759 | + * |
|
| 760 | + * @return string |
|
| 761 | + */ |
|
| 762 | + public function get_url_old() { |
|
| 763 | + |
|
| 764 | + $url = ''; |
|
| 765 | + // check if we are inside a plugin |
|
| 766 | + $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 767 | + |
|
| 768 | + // add check in-case user has changed wp-content dir name. |
|
| 769 | + $wp_content_folder_name = basename(WP_CONTENT_DIR); |
|
| 770 | + $dir_parts = explode("/$wp_content_folder_name/",$file_dir); |
|
| 771 | + $url_parts = explode("/$wp_content_folder_name/",plugins_url()); |
|
| 772 | + |
|
| 773 | + if(!empty($url_parts[0]) && !empty($dir_parts[1])){ |
|
| 774 | + $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] ); |
|
| 775 | + } |
|
| 776 | + |
|
| 777 | + return $url; |
|
| 778 | + } |
|
| 779 | + |
|
| 780 | + /** |
|
| 781 | + * Register the database settings with WordPress. |
|
| 782 | + */ |
|
| 783 | + public function register_settings() { |
|
| 784 | + register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' ); |
|
| 785 | + } |
|
| 786 | + |
|
| 787 | + /** |
|
| 788 | + * Add the WordPress settings menu item. |
|
| 789 | + * @since 1.0.10 Calling function name direct will fail theme check so we don't. |
|
| 790 | + */ |
|
| 791 | + public function menu_item() { |
|
| 792 | + $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme |
|
| 793 | + call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array( |
|
| 794 | + $this, |
|
| 795 | + 'settings_page' |
|
| 796 | + ) ); |
|
| 797 | + } |
|
| 798 | + |
|
| 799 | + /** |
|
| 800 | + * Get a list of themes and their default JS settings. |
|
| 801 | + * |
|
| 802 | + * @return array |
|
| 803 | + */ |
|
| 804 | + public function theme_js_settings(){ |
|
| 805 | + return array( |
|
| 806 | + 'ayetheme' => 'popper', |
|
| 807 | + 'listimia' => 'required', |
|
| 808 | + 'listimia_backend' => 'core-popper', |
|
| 809 | + //'avada' => 'required', // removed as we now add compatibility |
|
| 810 | + ); |
|
| 811 | + } |
|
| 812 | + |
|
| 813 | + /** |
|
| 814 | 814 | * Get the date the site was installed. |
| 815 | 815 | * |
| 816 | - * @return false|string |
|
| 817 | - */ |
|
| 816 | + * @return false|string |
|
| 817 | + */ |
|
| 818 | 818 | public function get_site_install_date() { |
| 819 | - global $wpdb; // This gives you access to the WordPress database object |
|
| 819 | + global $wpdb; // This gives you access to the WordPress database object |
|
| 820 | + |
|
| 821 | + // Prepare the SQL query to get the oldest registration date |
|
| 822 | + $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}"; |
|
| 820 | 823 | |
| 821 | - // Prepare the SQL query to get the oldest registration date |
|
| 822 | - $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}"; |
|
| 824 | + // Execute the query |
|
| 825 | + $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching |
|
| 823 | 826 | |
| 824 | - // Execute the query |
|
| 825 | - $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching |
|
| 827 | + return $date ? $date : false; |
|
| 828 | + } |
|
| 826 | 829 | |
| 827 | - return $date ? $date : false; |
|
| 830 | + /** |
|
| 831 | + * Show admin notice if backend scripts not loaded. |
|
| 832 | + */ |
|
| 833 | + public function show_admin_version_notice(){ |
|
| 834 | + $fix_url = admin_url("options-general.php?page=ayecode-ui-settings" ); |
|
| 835 | + $button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>'; |
|
| 836 | + $message = __( '<b>Style Issue:</b> AyeCode UI has changed its default version from v4 to v5, if you notice unwanted style changes, please revert to v4 (saving the settings page will remove this notice)')." " .$button; |
|
| 837 | + echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>'; |
|
| 828 | 838 | } |
| 829 | 839 | |
| 830 | - /** |
|
| 831 | - * Show admin notice if backend scripts not loaded. |
|
| 832 | - */ |
|
| 833 | - public function show_admin_version_notice(){ |
|
| 834 | - $fix_url = admin_url("options-general.php?page=ayecode-ui-settings" ); |
|
| 835 | - $button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>'; |
|
| 836 | - $message = __( '<b>Style Issue:</b> AyeCode UI has changed its default version from v4 to v5, if you notice unwanted style changes, please revert to v4 (saving the settings page will remove this notice)')." " .$button; |
|
| 837 | - echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>'; |
|
| 838 | - } |
|
| 839 | - |
|
| 840 | - /** |
|
| 841 | - * Get the current Font Awesome output settings. |
|
| 842 | - * |
|
| 843 | - * @return array The array of settings. |
|
| 844 | - */ |
|
| 845 | - public function get_settings() { |
|
| 846 | - |
|
| 847 | - $db_settings = get_option( 'ayecode-ui-settings' ); |
|
| 840 | + /** |
|
| 841 | + * Get the current Font Awesome output settings. |
|
| 842 | + * |
|
| 843 | + * @return array The array of settings. |
|
| 844 | + */ |
|
| 845 | + public function get_settings() { |
|
| 846 | + |
|
| 847 | + $db_settings = get_option( 'ayecode-ui-settings' ); |
|
| 848 | 848 | |
| 849 | 849 | // Maybe show default version notice |
| 850 | - $site_install_date = new DateTime( self::get_site_install_date() ); |
|
| 851 | - $switch_over_date = new DateTime("2024-02-01"); |
|
| 852 | - if ( empty( $db_settings ) && $site_install_date < $switch_over_date ) { |
|
| 853 | - add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) ); |
|
| 854 | - } |
|
| 855 | - |
|
| 856 | - $js_default = 'core-popper'; |
|
| 857 | - $js_default_backend = $js_default; |
|
| 858 | - |
|
| 859 | - // maybe set defaults (if no settings set) |
|
| 860 | - if(empty($db_settings)){ |
|
| 861 | - $active_theme = strtolower( get_template() ); // active parent theme. |
|
| 862 | - $theme_js_settings = self::theme_js_settings(); |
|
| 863 | - if(isset($theme_js_settings[$active_theme])){ |
|
| 864 | - $js_default = $theme_js_settings[$active_theme]; |
|
| 865 | - $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default; |
|
| 866 | - } |
|
| 867 | - } |
|
| 850 | + $site_install_date = new DateTime( self::get_site_install_date() ); |
|
| 851 | + $switch_over_date = new DateTime("2024-02-01"); |
|
| 852 | + if ( empty( $db_settings ) && $site_install_date < $switch_over_date ) { |
|
| 853 | + add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) ); |
|
| 854 | + } |
|
| 868 | 855 | |
| 869 | - /** |
|
| 870 | - * Filter the default settings. |
|
| 871 | - */ |
|
| 872 | - $defaults = apply_filters( 'ayecode-ui-default-settings', array( |
|
| 873 | - 'css' => 'compatibility', // core, compatibility |
|
| 874 | - 'js' => $js_default, // js to load, core-popper, popper |
|
| 875 | - 'html_font_size' => '16', // js to load, core-popper, popper |
|
| 876 | - 'css_backend' => 'compatibility', // core, compatibility |
|
| 877 | - 'js_backend' => $js_default_backend, // js to load, core-popper, popper |
|
| 878 | - 'disable_admin' => '', // URL snippets to disable loading on admin |
|
| 856 | + $js_default = 'core-popper'; |
|
| 857 | + $js_default_backend = $js_default; |
|
| 858 | + |
|
| 859 | + // maybe set defaults (if no settings set) |
|
| 860 | + if(empty($db_settings)){ |
|
| 861 | + $active_theme = strtolower( get_template() ); // active parent theme. |
|
| 862 | + $theme_js_settings = self::theme_js_settings(); |
|
| 863 | + if(isset($theme_js_settings[$active_theme])){ |
|
| 864 | + $js_default = $theme_js_settings[$active_theme]; |
|
| 865 | + $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default; |
|
| 866 | + } |
|
| 867 | + } |
|
| 868 | + |
|
| 869 | + /** |
|
| 870 | + * Filter the default settings. |
|
| 871 | + */ |
|
| 872 | + $defaults = apply_filters( 'ayecode-ui-default-settings', array( |
|
| 873 | + 'css' => 'compatibility', // core, compatibility |
|
| 874 | + 'js' => $js_default, // js to load, core-popper, popper |
|
| 875 | + 'html_font_size' => '16', // js to load, core-popper, popper |
|
| 876 | + 'css_backend' => 'compatibility', // core, compatibility |
|
| 877 | + 'js_backend' => $js_default_backend, // js to load, core-popper, popper |
|
| 878 | + 'disable_admin' => '', // URL snippets to disable loading on admin |
|
| 879 | 879 | 'bs_ver' => '5', // The default bootstrap version to sue by default |
| 880 | - ), $db_settings ); |
|
| 880 | + ), $db_settings ); |
|
| 881 | 881 | |
| 882 | - $settings = wp_parse_args( $db_settings, $defaults ); |
|
| 882 | + $settings = wp_parse_args( $db_settings, $defaults ); |
|
| 883 | 883 | |
| 884 | - /** |
|
| 885 | - * Filter the Bootstrap settings. |
|
| 886 | - * |
|
| 887 | - * @todo if we add this filer people might use it and then it defeats the purpose of this class :/ |
|
| 888 | - */ |
|
| 889 | - return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults ); |
|
| 890 | - } |
|
| 884 | + /** |
|
| 885 | + * Filter the Bootstrap settings. |
|
| 886 | + * |
|
| 887 | + * @todo if we add this filer people might use it and then it defeats the purpose of this class :/ |
|
| 888 | + */ |
|
| 889 | + return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults ); |
|
| 890 | + } |
|
| 891 | 891 | |
| 892 | 892 | |
| 893 | - /** |
|
| 894 | - * The settings page html output. |
|
| 895 | - */ |
|
| 896 | - public function settings_page() { |
|
| 897 | - if ( ! current_user_can( 'manage_options' ) ) { |
|
| 898 | - wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) ); |
|
| 899 | - } |
|
| 893 | + /** |
|
| 894 | + * The settings page html output. |
|
| 895 | + */ |
|
| 896 | + public function settings_page() { |
|
| 897 | + if ( ! current_user_can( 'manage_options' ) ) { |
|
| 898 | + wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) ); |
|
| 899 | + } |
|
| 900 | 900 | $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() ); |
| 901 | 901 | |
| 902 | - ?> |
|
| 902 | + ?> |
|
| 903 | 903 | <div class="wrap"> |
| 904 | 904 | <h1><?php echo esc_attr( $this->name ); ?></h1> |
| 905 | 905 | <p><?php echo esc_html( apply_filters( 'ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.", 'ayecode-connect' ) ) );?></p> |
| 906 | 906 | <form method="post" action="options.php"> |
| 907 | 907 | <?php |
| 908 | - settings_fields( 'ayecode-ui-settings' ); |
|
| 909 | - do_settings_sections( 'ayecode-ui-settings' ); |
|
| 910 | - ?> |
|
| 908 | + settings_fields( 'ayecode-ui-settings' ); |
|
| 909 | + do_settings_sections( 'ayecode-ui-settings' ); |
|
| 910 | + ?> |
|
| 911 | 911 | |
| 912 | 912 | <h2><?php esc_html_e( 'BootStrap Version', 'ayecode-connect' ); ?></h2> |
| 913 | 913 | <p><?php echo esc_html( 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> |
| 914 | 914 | <div class="bsui"><?php |
| 915 | - if ( ! empty( $overrides ) ) { |
|
| 916 | - echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 917 | - 'type'=> 'info', |
|
| 918 | - 'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' ) |
|
| 919 | - )); |
|
| 920 | - } |
|
| 921 | - ?> |
|
| 915 | + if ( ! empty( $overrides ) ) { |
|
| 916 | + echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 917 | + 'type'=> 'info', |
|
| 918 | + 'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' ) |
|
| 919 | + )); |
|
| 920 | + } |
|
| 921 | + ?> |
|
| 922 | 922 | </div> |
| 923 | 923 | <table class="form-table wpbs-table-version-settings"> |
| 924 | 924 | <tr valign="top"> |
@@ -1002,77 +1002,77 @@ discard block |
||
| 1002 | 1002 | </table> |
| 1003 | 1003 | |
| 1004 | 1004 | <?php |
| 1005 | - submit_button(); |
|
| 1006 | - ?> |
|
| 1005 | + submit_button(); |
|
| 1006 | + ?> |
|
| 1007 | 1007 | </form> |
| 1008 | 1008 | <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo esc_html( $this->version ); ?></div> |
| 1009 | 1009 | </div> |
| 1010 | 1010 | <?php |
| 1011 | - } |
|
| 1011 | + } |
|
| 1012 | 1012 | |
| 1013 | 1013 | public function get_load_source(){ |
| 1014 | - $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 1015 | - $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 1016 | - |
|
| 1017 | - // Find source plugin/theme of SD |
|
| 1018 | - $source = array(); |
|
| 1019 | - if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 1020 | - $source = explode( "/", plugin_basename( $file ) ); |
|
| 1021 | - } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 1022 | - $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 1023 | - |
|
| 1024 | - if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 1025 | - $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 1026 | - } |
|
| 1027 | - } |
|
| 1014 | + $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 1015 | + $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 1016 | + |
|
| 1017 | + // Find source plugin/theme of SD |
|
| 1018 | + $source = array(); |
|
| 1019 | + if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 1020 | + $source = explode( "/", plugin_basename( $file ) ); |
|
| 1021 | + } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 1022 | + $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 1023 | + |
|
| 1024 | + if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 1025 | + $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 1026 | + } |
|
| 1027 | + } |
|
| 1028 | 1028 | |
| 1029 | 1029 | return isset($source[0]) ? esc_attr($source[0]) : ''; |
| 1030 | 1030 | } |
| 1031 | 1031 | |
| 1032 | - public function customizer_settings($wp_customize){ |
|
| 1033 | - $wp_customize->add_section('aui_settings', array( |
|
| 1034 | - 'title' => __('AyeCode UI', 'ayecode-connect' ), |
|
| 1035 | - 'priority' => 120, |
|
| 1036 | - )); |
|
| 1037 | - |
|
| 1038 | - // ============================= |
|
| 1039 | - // = Color Picker = |
|
| 1040 | - // ============================= |
|
| 1041 | - $wp_customize->add_setting('aui_options[color_primary]', array( |
|
| 1042 | - 'default' => AUI_PRIMARY_COLOR, |
|
| 1043 | - 'sanitize_callback' => 'sanitize_hex_color', |
|
| 1044 | - 'capability' => 'edit_theme_options', |
|
| 1045 | - 'type' => 'option', |
|
| 1046 | - 'transport' => 'refresh', |
|
| 1047 | - )); |
|
| 1048 | - $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array( |
|
| 1049 | - 'label' => __('Primary Color', 'ayecode-connect' ), |
|
| 1050 | - 'section' => 'aui_settings', |
|
| 1051 | - 'settings' => 'aui_options[color_primary]', |
|
| 1052 | - ))); |
|
| 1053 | - |
|
| 1054 | - $wp_customize->add_setting('aui_options[color_secondary]', array( |
|
| 1055 | - 'default' => '#6c757d', |
|
| 1056 | - 'sanitize_callback' => 'sanitize_hex_color', |
|
| 1057 | - 'capability' => 'edit_theme_options', |
|
| 1058 | - 'type' => 'option', |
|
| 1059 | - 'transport' => 'refresh', |
|
| 1060 | - )); |
|
| 1061 | - $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array( |
|
| 1062 | - 'label' => __('Secondary Color', 'ayecode-connect' ), |
|
| 1063 | - 'section' => 'aui_settings', |
|
| 1064 | - 'settings' => 'aui_options[color_secondary]', |
|
| 1065 | - ))); |
|
| 1066 | - } |
|
| 1067 | - |
|
| 1068 | - /** |
|
| 1069 | - * CSS to help with conflict issues with other plugins and themes using bootstrap v3. |
|
| 1070 | - * |
|
| 1071 | - * @return mixed |
|
| 1072 | - */ |
|
| 1073 | - public static function bs3_compat_css() { |
|
| 1074 | - ob_start(); |
|
| 1075 | - ?> |
|
| 1032 | + public function customizer_settings($wp_customize){ |
|
| 1033 | + $wp_customize->add_section('aui_settings', array( |
|
| 1034 | + 'title' => __('AyeCode UI', 'ayecode-connect' ), |
|
| 1035 | + 'priority' => 120, |
|
| 1036 | + )); |
|
| 1037 | + |
|
| 1038 | + // ============================= |
|
| 1039 | + // = Color Picker = |
|
| 1040 | + // ============================= |
|
| 1041 | + $wp_customize->add_setting('aui_options[color_primary]', array( |
|
| 1042 | + 'default' => AUI_PRIMARY_COLOR, |
|
| 1043 | + 'sanitize_callback' => 'sanitize_hex_color', |
|
| 1044 | + 'capability' => 'edit_theme_options', |
|
| 1045 | + 'type' => 'option', |
|
| 1046 | + 'transport' => 'refresh', |
|
| 1047 | + )); |
|
| 1048 | + $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array( |
|
| 1049 | + 'label' => __('Primary Color', 'ayecode-connect' ), |
|
| 1050 | + 'section' => 'aui_settings', |
|
| 1051 | + 'settings' => 'aui_options[color_primary]', |
|
| 1052 | + ))); |
|
| 1053 | + |
|
| 1054 | + $wp_customize->add_setting('aui_options[color_secondary]', array( |
|
| 1055 | + 'default' => '#6c757d', |
|
| 1056 | + 'sanitize_callback' => 'sanitize_hex_color', |
|
| 1057 | + 'capability' => 'edit_theme_options', |
|
| 1058 | + 'type' => 'option', |
|
| 1059 | + 'transport' => 'refresh', |
|
| 1060 | + )); |
|
| 1061 | + $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array( |
|
| 1062 | + 'label' => __('Secondary Color', 'ayecode-connect' ), |
|
| 1063 | + 'section' => 'aui_settings', |
|
| 1064 | + 'settings' => 'aui_options[color_secondary]', |
|
| 1065 | + ))); |
|
| 1066 | + } |
|
| 1067 | + |
|
| 1068 | + /** |
|
| 1069 | + * CSS to help with conflict issues with other plugins and themes using bootstrap v3. |
|
| 1070 | + * |
|
| 1071 | + * @return mixed |
|
| 1072 | + */ |
|
| 1073 | + public static function bs3_compat_css() { |
|
| 1074 | + ob_start(); |
|
| 1075 | + ?> |
|
| 1076 | 1076 | <style> |
| 1077 | 1077 | /* Bootstrap 3 compatibility */ |
| 1078 | 1078 | body.modal-open .modal-backdrop.show:not(.in) {opacity:0.5;} |
@@ -1101,368 +1101,368 @@ discard block |
||
| 1101 | 1101 | <?php } ?> |
| 1102 | 1102 | </style> |
| 1103 | 1103 | <?php |
| 1104 | - return str_replace( array( |
|
| 1105 | - '<style>', |
|
| 1106 | - '</style>' |
|
| 1107 | - ), '', self::minify_css( ob_get_clean() ) ); |
|
| 1108 | - } |
|
| 1104 | + return str_replace( array( |
|
| 1105 | + '<style>', |
|
| 1106 | + '</style>' |
|
| 1107 | + ), '', self::minify_css( ob_get_clean() ) ); |
|
| 1108 | + } |
|
| 1109 | 1109 | |
| 1110 | - public static function custom_css( $compatibility = true, $is_fse = false ) { |
|
| 1111 | - global $aui_bs5; |
|
| 1110 | + public static function custom_css( $compatibility = true, $is_fse = false ) { |
|
| 1111 | + global $aui_bs5; |
|
| 1112 | 1112 | |
| 1113 | - $colors = array(); |
|
| 1113 | + $colors = array(); |
|
| 1114 | 1114 | |
| 1115 | - if ( defined( 'BLOCKSTRAP_VERSION' ) ) { |
|
| 1116 | - $setting = wp_get_global_settings(); |
|
| 1115 | + if ( defined( 'BLOCKSTRAP_VERSION' ) ) { |
|
| 1116 | + $setting = wp_get_global_settings(); |
|
| 1117 | 1117 | |
| 1118 | - if ( ! empty( $setting['color']['palette']['theme'] ) ) { |
|
| 1119 | - foreach ( $setting['color']['palette']['theme'] as $color ) { |
|
| 1120 | - $colors[$color['slug']] = esc_attr( $color['color'] ); |
|
| 1121 | - } |
|
| 1122 | - } |
|
| 1118 | + if ( ! empty( $setting['color']['palette']['theme'] ) ) { |
|
| 1119 | + foreach ( $setting['color']['palette']['theme'] as $color ) { |
|
| 1120 | + $colors[$color['slug']] = esc_attr( $color['color'] ); |
|
| 1121 | + } |
|
| 1122 | + } |
|
| 1123 | 1123 | |
| 1124 | - if ( ! empty( $setting['color']['palette']['custom'] ) ) { |
|
| 1125 | - foreach ( $setting['color']['palette']['custom'] as $color ) { |
|
| 1126 | - $colors[$color['slug']] = esc_attr( $color['color'] ); |
|
| 1127 | - } |
|
| 1128 | - } |
|
| 1129 | - } else { |
|
| 1130 | - $settings = get_option( 'aui_options' ); |
|
| 1131 | - |
|
| 1132 | - $colors = array( |
|
| 1133 | - 'primary' => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR, |
|
| 1134 | - 'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR |
|
| 1135 | - ); |
|
| 1136 | - } |
|
| 1137 | - |
|
| 1138 | - ob_start(); |
|
| 1139 | - ?><style><?php |
|
| 1140 | - // BS v3 compat |
|
| 1141 | - if( self::is_bs3_compat() ){ |
|
| 1142 | - echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 1143 | - } |
|
| 1144 | - |
|
| 1145 | - //$is_fse = false; |
|
| 1146 | - //if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) ) ) { |
|
| 1147 | - //$is_fse = true; |
|
| 1148 | - //} |
|
| 1149 | - |
|
| 1150 | - $custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false ); |
|
| 1151 | - $custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false ); |
|
| 1124 | + if ( ! empty( $setting['color']['palette']['custom'] ) ) { |
|
| 1125 | + foreach ( $setting['color']['palette']['custom'] as $color ) { |
|
| 1126 | + $colors[$color['slug']] = esc_attr( $color['color'] ); |
|
| 1127 | + } |
|
| 1128 | + } |
|
| 1129 | + } else { |
|
| 1130 | + $settings = get_option( 'aui_options' ); |
|
| 1131 | + |
|
| 1132 | + $colors = array( |
|
| 1133 | + 'primary' => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR, |
|
| 1134 | + 'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR |
|
| 1135 | + ); |
|
| 1136 | + } |
|
| 1137 | + |
|
| 1138 | + ob_start(); |
|
| 1139 | + ?><style><?php |
|
| 1140 | + // BS v3 compat |
|
| 1141 | + if( self::is_bs3_compat() ){ |
|
| 1142 | + echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 1143 | + } |
|
| 1144 | + |
|
| 1145 | + //$is_fse = false; |
|
| 1146 | + //if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) ) ) { |
|
| 1147 | + //$is_fse = true; |
|
| 1148 | + //} |
|
| 1149 | + |
|
| 1150 | + $custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false ); |
|
| 1151 | + $custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false ); |
|
| 1152 | 1152 | $bs_custom_css = apply_filters( 'ayecode_ui_bs_custom_css', $custom_admin || $custom_front ); |
| 1153 | - //$bs_custom_css = true; // Force true to fix any color issue. |
|
| 1153 | + //$bs_custom_css = true; // Force true to fix any color issue. |
|
| 1154 | 1154 | |
| 1155 | - $colors_css = ''; |
|
| 1156 | - if ( ! empty( $colors ) && $bs_custom_css ) { |
|
| 1157 | - $d_colors = self::get_colors(true); |
|
| 1155 | + $colors_css = ''; |
|
| 1156 | + if ( ! empty( $colors ) && $bs_custom_css ) { |
|
| 1157 | + $d_colors = self::get_colors(true); |
|
| 1158 | 1158 | |
| 1159 | - foreach ( $colors as $key => $color ) { |
|
| 1160 | - if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) { |
|
| 1161 | - $var = $is_fse ? "var(--wp--preset--color--$key)" : $color; |
|
| 1162 | - $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility; |
|
| 1159 | + foreach ( $colors as $key => $color ) { |
|
| 1160 | + if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) { |
|
| 1161 | + $var = $is_fse ? "var(--wp--preset--color--$key)" : $color; |
|
| 1162 | + $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility; |
|
| 1163 | 1163 | |
| 1164 | - $colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color ); |
|
| 1165 | - } |
|
| 1166 | - } |
|
| 1167 | - } |
|
| 1164 | + $colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color ); |
|
| 1165 | + } |
|
| 1166 | + } |
|
| 1167 | + } |
|
| 1168 | 1168 | |
| 1169 | - if ( $colors_css ) { |
|
| 1170 | - echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 1171 | - } |
|
| 1169 | + if ( $colors_css ) { |
|
| 1170 | + echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 1171 | + } |
|
| 1172 | 1172 | |
| 1173 | - // Set admin bar z-index lower when modal is open. |
|
| 1174 | - echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}'; |
|
| 1173 | + // Set admin bar z-index lower when modal is open. |
|
| 1174 | + echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}'; |
|
| 1175 | 1175 | |
| 1176 | - if ( is_admin() ) { |
|
| 1177 | - echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}'; |
|
| 1178 | - } |
|
| 1176 | + if ( is_admin() ) { |
|
| 1177 | + echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}'; |
|
| 1178 | + } |
|
| 1179 | 1179 | |
| 1180 | - $custom_css = ''; |
|
| 1180 | + $custom_css = ''; |
|
| 1181 | 1181 | |
| 1182 | - if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) { |
|
| 1183 | - $css = ''; |
|
| 1184 | - $theme_settings = wp_get_global_styles(); |
|
| 1182 | + if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) { |
|
| 1183 | + $css = ''; |
|
| 1184 | + $theme_settings = wp_get_global_styles(); |
|
| 1185 | 1185 | |
| 1186 | - // Font face |
|
| 1187 | - if( !empty( $theme_settings['typography']['fontFamily'] ) ){ |
|
| 1188 | - $t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily'] ); //var(--wp--preset--font-family--poppins) |
|
| 1189 | - $css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';'; |
|
| 1190 | - } |
|
| 1186 | + // Font face |
|
| 1187 | + if( !empty( $theme_settings['typography']['fontFamily'] ) ){ |
|
| 1188 | + $t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily'] ); //var(--wp--preset--font-family--poppins) |
|
| 1189 | + $css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';'; |
|
| 1190 | + } |
|
| 1191 | 1191 | |
| 1192 | - // font size |
|
| 1193 | - if( !empty( $theme_settings['typography']['fontSize'] ) ){ |
|
| 1194 | - $css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;'; |
|
| 1195 | - } |
|
| 1192 | + // font size |
|
| 1193 | + if( !empty( $theme_settings['typography']['fontSize'] ) ){ |
|
| 1194 | + $css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;'; |
|
| 1195 | + } |
|
| 1196 | 1196 | |
| 1197 | - // line height |
|
| 1198 | - if( !empty( $theme_settings['typography']['lineHeight'] ) ){ |
|
| 1199 | - $css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';'; |
|
| 1200 | - } |
|
| 1197 | + // line height |
|
| 1198 | + if( !empty( $theme_settings['typography']['lineHeight'] ) ){ |
|
| 1199 | + $css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';'; |
|
| 1200 | + } |
|
| 1201 | 1201 | |
| 1202 | 1202 | |
| 1203 | - // font weight |
|
| 1204 | - if( !empty( $theme_settings['typography']['fontWeight'] ) ){ |
|
| 1205 | - $css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';'; |
|
| 1206 | - } |
|
| 1203 | + // font weight |
|
| 1204 | + if( !empty( $theme_settings['typography']['fontWeight'] ) ){ |
|
| 1205 | + $css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';'; |
|
| 1206 | + } |
|
| 1207 | 1207 | |
| 1208 | - // Background |
|
| 1209 | - if( !empty( $theme_settings['color']['background'] ) ){ |
|
| 1210 | - $css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';'; |
|
| 1211 | - } |
|
| 1208 | + // Background |
|
| 1209 | + if( !empty( $theme_settings['color']['background'] ) ){ |
|
| 1210 | + $css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';'; |
|
| 1211 | + } |
|
| 1212 | 1212 | |
| 1213 | - // Background Gradient |
|
| 1214 | - if( !empty( $theme_settings['color']['gradient'] ) ){ |
|
| 1215 | - $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';'; |
|
| 1216 | - } |
|
| 1213 | + // Background Gradient |
|
| 1214 | + if( !empty( $theme_settings['color']['gradient'] ) ){ |
|
| 1215 | + $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';'; |
|
| 1216 | + } |
|
| 1217 | 1217 | |
| 1218 | - // Background Gradient |
|
| 1219 | - if( !empty( $theme_settings['color']['gradient'] ) ){ |
|
| 1220 | - $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';'; |
|
| 1221 | - } |
|
| 1218 | + // Background Gradient |
|
| 1219 | + if( !empty( $theme_settings['color']['gradient'] ) ){ |
|
| 1220 | + $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';'; |
|
| 1221 | + } |
|
| 1222 | 1222 | |
| 1223 | - // text color |
|
| 1224 | - if( !empty( $theme_settings['color']['text'] ) ){ |
|
| 1225 | - $css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';'; |
|
| 1226 | - } |
|
| 1223 | + // text color |
|
| 1224 | + if( !empty( $theme_settings['color']['text'] ) ){ |
|
| 1225 | + $css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';'; |
|
| 1226 | + } |
|
| 1227 | 1227 | |
| 1228 | 1228 | |
| 1229 | - // link colors |
|
| 1230 | - if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){ |
|
| 1231 | - $css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';'; |
|
| 1232 | - } |
|
| 1233 | - if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){ |
|
| 1234 | - $css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';'; |
|
| 1235 | - } |
|
| 1229 | + // link colors |
|
| 1230 | + if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){ |
|
| 1231 | + $css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';'; |
|
| 1232 | + } |
|
| 1233 | + if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){ |
|
| 1234 | + $css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';'; |
|
| 1235 | + } |
|
| 1236 | 1236 | |
| 1237 | - if($css){ |
|
| 1238 | - $custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}'; |
|
| 1239 | - } |
|
| 1237 | + if($css){ |
|
| 1238 | + $custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}'; |
|
| 1239 | + } |
|
| 1240 | 1240 | |
| 1241 | - $bep = $is_fse ? 'body.editor-styles-wrapper ' : ''; |
|
| 1241 | + $bep = $is_fse ? 'body.editor-styles-wrapper ' : ''; |
|
| 1242 | 1242 | |
| 1243 | - // Headings |
|
| 1244 | - $headings_css = ''; |
|
| 1245 | - if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){ |
|
| 1246 | - $headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";"; |
|
| 1247 | - } |
|
| 1243 | + // Headings |
|
| 1244 | + $headings_css = ''; |
|
| 1245 | + if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){ |
|
| 1246 | + $headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";"; |
|
| 1247 | + } |
|
| 1248 | 1248 | |
| 1249 | - // heading background |
|
| 1250 | - if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){ |
|
| 1251 | - $headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';'; |
|
| 1252 | - } |
|
| 1249 | + // heading background |
|
| 1250 | + if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){ |
|
| 1251 | + $headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';'; |
|
| 1252 | + } |
|
| 1253 | 1253 | |
| 1254 | - // heading font family |
|
| 1255 | - if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){ |
|
| 1256 | - $headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily'] ) . ';'; |
|
| 1257 | - } |
|
| 1254 | + // heading font family |
|
| 1255 | + if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){ |
|
| 1256 | + $headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily'] ) . ';'; |
|
| 1257 | + } |
|
| 1258 | 1258 | |
| 1259 | - if( $headings_css ){ |
|
| 1260 | - $custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}"; |
|
| 1261 | - } |
|
| 1259 | + if( $headings_css ){ |
|
| 1260 | + $custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}"; |
|
| 1261 | + } |
|
| 1262 | 1262 | |
| 1263 | - $hs = array('h1','h2','h3','h4','h5','h6'); |
|
| 1263 | + $hs = array('h1','h2','h3','h4','h5','h6'); |
|
| 1264 | 1264 | |
| 1265 | - foreach($hs as $hn){ |
|
| 1266 | - $h_css = ''; |
|
| 1267 | - if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){ |
|
| 1268 | - $h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';'; |
|
| 1269 | - } |
|
| 1265 | + foreach($hs as $hn){ |
|
| 1266 | + $h_css = ''; |
|
| 1267 | + if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){ |
|
| 1268 | + $h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';'; |
|
| 1269 | + } |
|
| 1270 | 1270 | |
| 1271 | - if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){ |
|
| 1272 | - $h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize'] ) . ';'; |
|
| 1273 | - } |
|
| 1271 | + if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){ |
|
| 1272 | + $h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize'] ) . ';'; |
|
| 1273 | + } |
|
| 1274 | 1274 | |
| 1275 | - if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){ |
|
| 1276 | - $h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) . ';'; |
|
| 1277 | - } |
|
| 1275 | + if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){ |
|
| 1276 | + $h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) . ';'; |
|
| 1277 | + } |
|
| 1278 | 1278 | |
| 1279 | - if($h_css){ |
|
| 1280 | - $custom_css .= esc_attr( $bep . $hn ) . '{'.esc_attr( $h_css ).'}'; |
|
| 1281 | - } |
|
| 1282 | - } |
|
| 1283 | - } |
|
| 1279 | + if($h_css){ |
|
| 1280 | + $custom_css .= esc_attr( $bep . $hn ) . '{'.esc_attr( $h_css ).'}'; |
|
| 1281 | + } |
|
| 1282 | + } |
|
| 1283 | + } |
|
| 1284 | 1284 | |
| 1285 | - if ( $custom_css ) { |
|
| 1286 | - echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 1287 | - } |
|
| 1288 | - |
|
| 1289 | - // Pagination on Hello Elementor theme. |
|
| 1290 | - if ( function_exists( 'hello_elementor_setup' ) ) { |
|
| 1291 | - echo '.aui-nav-links .pagination{justify-content:inherit}'; |
|
| 1292 | - } |
|
| 1293 | - ?></style><?php |
|
| 1294 | - $custom_css = ob_get_clean(); |
|
| 1295 | - |
|
| 1296 | - /* |
|
| 1285 | + if ( $custom_css ) { |
|
| 1286 | + echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 1287 | + } |
|
| 1288 | + |
|
| 1289 | + // Pagination on Hello Elementor theme. |
|
| 1290 | + if ( function_exists( 'hello_elementor_setup' ) ) { |
|
| 1291 | + echo '.aui-nav-links .pagination{justify-content:inherit}'; |
|
| 1292 | + } |
|
| 1293 | + ?></style><?php |
|
| 1294 | + $custom_css = ob_get_clean(); |
|
| 1295 | + |
|
| 1296 | + /* |
|
| 1297 | 1297 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 1298 | 1298 | */ |
| 1299 | - return str_replace( array( |
|
| 1300 | - '<style>', |
|
| 1301 | - '</style>' |
|
| 1302 | - ), '', self::minify_css( $custom_css ) ); |
|
| 1303 | - } |
|
| 1304 | - |
|
| 1305 | - /** |
|
| 1306 | - * Check if we should add booststrap 3 compatibility changes. |
|
| 1307 | - * |
|
| 1308 | - * @return bool |
|
| 1309 | - */ |
|
| 1310 | - public static function is_bs3_compat(){ |
|
| 1311 | - return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION'); |
|
| 1312 | - } |
|
| 1313 | - |
|
| 1314 | - public static function hex_to_rgb( $hex ) { |
|
| 1315 | - // Remove '#' if present |
|
| 1316 | - $hex = str_replace( '#', '', $hex ); |
|
| 1317 | - |
|
| 1318 | - // Check if input is RGB |
|
| 1319 | - if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) { |
|
| 1320 | - $_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) ); |
|
| 1321 | - |
|
| 1322 | - $rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ','; |
|
| 1323 | - $rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ','; |
|
| 1324 | - $rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' ); |
|
| 1325 | - |
|
| 1326 | - return $rgb; |
|
| 1327 | - } |
|
| 1328 | - |
|
| 1329 | - // Convert 3-digit hex to 6-digit hex |
|
| 1330 | - if ( strlen( $hex ) == 3 ) { |
|
| 1331 | - $hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 ); |
|
| 1332 | - } |
|
| 1333 | - |
|
| 1334 | - // Convert hex to RGB |
|
| 1335 | - $r = hexdec( substr( $hex, 0, 2 ) ); |
|
| 1336 | - $g = hexdec( substr( $hex, 2, 2 ) ); |
|
| 1337 | - $b = hexdec( substr( $hex, 4, 2 ) ); |
|
| 1338 | - |
|
| 1339 | - // Return RGB values as an array |
|
| 1340 | - return $r . ',' . $g . ',' . $b; |
|
| 1341 | - } |
|
| 1342 | - |
|
| 1343 | - /** |
|
| 1344 | - * Build the CSS to overwrite a bootstrap color variable. |
|
| 1345 | - * |
|
| 1346 | - * @param $type |
|
| 1347 | - * @param $color_code |
|
| 1348 | - * @param $compatibility |
|
| 1349 | - * |
|
| 1350 | - * @return string |
|
| 1351 | - */ |
|
| 1352 | - public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){ |
|
| 1353 | - global $aui_bs5; |
|
| 1354 | - |
|
| 1355 | - $is_var = false; |
|
| 1356 | - $is_custom = strpos($type, 'custom-') !== false ? true : false; |
|
| 1357 | - if(!$color_code){return '';} |
|
| 1358 | - if(strpos($color_code, 'var') !== false){ |
|
| 1359 | - //if(!sanitize_hex_color($color_code)){ |
|
| 1360 | - $color_code = esc_attr($color_code); |
|
| 1361 | - $is_var = true; |
|
| 1299 | + return str_replace( array( |
|
| 1300 | + '<style>', |
|
| 1301 | + '</style>' |
|
| 1302 | + ), '', self::minify_css( $custom_css ) ); |
|
| 1303 | + } |
|
| 1304 | + |
|
| 1305 | + /** |
|
| 1306 | + * Check if we should add booststrap 3 compatibility changes. |
|
| 1307 | + * |
|
| 1308 | + * @return bool |
|
| 1309 | + */ |
|
| 1310 | + public static function is_bs3_compat(){ |
|
| 1311 | + return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION'); |
|
| 1312 | + } |
|
| 1313 | + |
|
| 1314 | + public static function hex_to_rgb( $hex ) { |
|
| 1315 | + // Remove '#' if present |
|
| 1316 | + $hex = str_replace( '#', '', $hex ); |
|
| 1317 | + |
|
| 1318 | + // Check if input is RGB |
|
| 1319 | + if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) { |
|
| 1320 | + $_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) ); |
|
| 1321 | + |
|
| 1322 | + $rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ','; |
|
| 1323 | + $rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ','; |
|
| 1324 | + $rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' ); |
|
| 1325 | + |
|
| 1326 | + return $rgb; |
|
| 1327 | + } |
|
| 1328 | + |
|
| 1329 | + // Convert 3-digit hex to 6-digit hex |
|
| 1330 | + if ( strlen( $hex ) == 3 ) { |
|
| 1331 | + $hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 ); |
|
| 1332 | + } |
|
| 1333 | + |
|
| 1334 | + // Convert hex to RGB |
|
| 1335 | + $r = hexdec( substr( $hex, 0, 2 ) ); |
|
| 1336 | + $g = hexdec( substr( $hex, 2, 2 ) ); |
|
| 1337 | + $b = hexdec( substr( $hex, 4, 2 ) ); |
|
| 1338 | + |
|
| 1339 | + // Return RGB values as an array |
|
| 1340 | + return $r . ',' . $g . ',' . $b; |
|
| 1341 | + } |
|
| 1342 | + |
|
| 1343 | + /** |
|
| 1344 | + * Build the CSS to overwrite a bootstrap color variable. |
|
| 1345 | + * |
|
| 1346 | + * @param $type |
|
| 1347 | + * @param $color_code |
|
| 1348 | + * @param $compatibility |
|
| 1349 | + * |
|
| 1350 | + * @return string |
|
| 1351 | + */ |
|
| 1352 | + public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){ |
|
| 1353 | + global $aui_bs5; |
|
| 1354 | + |
|
| 1355 | + $is_var = false; |
|
| 1356 | + $is_custom = strpos($type, 'custom-') !== false ? true : false; |
|
| 1357 | + if(!$color_code){return '';} |
|
| 1358 | + if(strpos($color_code, 'var') !== false){ |
|
| 1359 | + //if(!sanitize_hex_color($color_code)){ |
|
| 1360 | + $color_code = esc_attr($color_code); |
|
| 1361 | + $is_var = true; |
|
| 1362 | 1362 | // $color_code = "rgba($color_code, 0.5)"; |
| 1363 | 1363 | // echo '###1'.$color_code.'###';//exit; |
| 1364 | - } |
|
| 1364 | + } |
|
| 1365 | 1365 | |
| 1366 | 1366 | // echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit; |
| 1367 | 1367 | |
| 1368 | - if(!$color_code){return '';} |
|
| 1368 | + if(!$color_code){return '';} |
|
| 1369 | 1369 | |
| 1370 | - $rgb = self::hex_to_rgb($hex); |
|
| 1370 | + $rgb = self::hex_to_rgb($hex); |
|
| 1371 | 1371 | |
| 1372 | - if($compatibility===true || $compatibility===1){ |
|
| 1373 | - $compatibility = '.bsui'; |
|
| 1374 | - }elseif(!$compatibility){ |
|
| 1375 | - $compatibility = ''; |
|
| 1376 | - }else{ |
|
| 1377 | - $compatibility = esc_attr($compatibility); |
|
| 1378 | - } |
|
| 1372 | + if($compatibility===true || $compatibility===1){ |
|
| 1373 | + $compatibility = '.bsui'; |
|
| 1374 | + }elseif(!$compatibility){ |
|
| 1375 | + $compatibility = ''; |
|
| 1376 | + }else{ |
|
| 1377 | + $compatibility = esc_attr($compatibility); |
|
| 1378 | + } |
|
| 1379 | 1379 | |
| 1380 | - $prefix = $compatibility ? $compatibility . " " : ""; |
|
| 1380 | + $prefix = $compatibility ? $compatibility . " " : ""; |
|
| 1381 | 1381 | |
| 1382 | 1382 | |
| 1383 | 1383 | $output = ''; |
| 1384 | 1384 | |
| 1385 | 1385 | // echo '####'.$color_code;exit; |
| 1386 | 1386 | |
| 1387 | - $type = sanitize_html_class($type); |
|
| 1387 | + $type = sanitize_html_class($type); |
|
| 1388 | + |
|
| 1389 | + /** |
|
| 1390 | + * c = color, b = background color, o = border-color, f = fill |
|
| 1391 | + */ |
|
| 1392 | + $selectors = array( |
|
| 1393 | + ".btn-{$type}" => array( 'b', 'o' ), |
|
| 1394 | + ".btn-{$type}.disabled" => array( 'b', 'o' ), |
|
| 1395 | + ".btn-{$type}:disabled" => array( 'b', 'o' ), |
|
| 1396 | + ".btn-outline-{$type}" => array( 'c', 'o' ), |
|
| 1397 | + ".btn-outline-{$type}:hover" => array( 'b', 'o' ), |
|
| 1398 | + ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ), |
|
| 1399 | + ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ), |
|
| 1400 | + ".show>.btn-outline-{$type}.dropdown-toggle" => array( 'b', 'o' ), |
|
| 1401 | + ".badge-{$type}" => array( 'b' ), |
|
| 1402 | + ".alert-{$type}" => array( 'b', 'o' ), |
|
| 1403 | + ".bg-{$type}" => array( 'b', 'f' ), |
|
| 1404 | + ".btn-link.btn-{$type}" => array( 'c' ), |
|
| 1405 | + ".text-{$type}" => array( 'c' ), |
|
| 1406 | + ); |
|
| 1407 | + |
|
| 1408 | + if ( $aui_bs5 ) { |
|
| 1409 | + unset($selectors[".alert-{$type}" ]); |
|
| 1410 | + } |
|
| 1388 | 1411 | |
| 1389 | - /** |
|
| 1390 | - * c = color, b = background color, o = border-color, f = fill |
|
| 1391 | - */ |
|
| 1392 | - $selectors = array( |
|
| 1393 | - ".btn-{$type}" => array( 'b', 'o' ), |
|
| 1394 | - ".btn-{$type}.disabled" => array( 'b', 'o' ), |
|
| 1395 | - ".btn-{$type}:disabled" => array( 'b', 'o' ), |
|
| 1396 | - ".btn-outline-{$type}" => array( 'c', 'o' ), |
|
| 1397 | - ".btn-outline-{$type}:hover" => array( 'b', 'o' ), |
|
| 1398 | - ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ), |
|
| 1399 | - ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ), |
|
| 1400 | - ".show>.btn-outline-{$type}.dropdown-toggle" => array( 'b', 'o' ), |
|
| 1401 | - ".badge-{$type}" => array( 'b' ), |
|
| 1402 | - ".alert-{$type}" => array( 'b', 'o' ), |
|
| 1403 | - ".bg-{$type}" => array( 'b', 'f' ), |
|
| 1404 | - ".btn-link.btn-{$type}" => array( 'c' ), |
|
| 1405 | - ".text-{$type}" => array( 'c' ), |
|
| 1406 | - ); |
|
| 1407 | - |
|
| 1408 | - if ( $aui_bs5 ) { |
|
| 1409 | - unset($selectors[".alert-{$type}" ]); |
|
| 1410 | - } |
|
| 1411 | - |
|
| 1412 | - if ( $type == 'primary' ) { |
|
| 1413 | - $selectors = $selectors + array( |
|
| 1414 | - 'a' => array( 'c' ), |
|
| 1415 | - '.btn-link' => array( 'c' ), |
|
| 1416 | - '.dropdown-item.active' => array( 'b' ), |
|
| 1417 | - '.custom-control-input:checked~.custom-control-label::before' => array( |
|
| 1418 | - 'b', |
|
| 1419 | - 'o' |
|
| 1420 | - ), |
|
| 1421 | - '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array( |
|
| 1422 | - 'b', |
|
| 1423 | - 'o' |
|
| 1424 | - ), |
|
| 1425 | - '.nav-pills .nav-link.active' => array( 'b' ), |
|
| 1426 | - '.nav-pills .show>.nav-link' => array( 'b' ), |
|
| 1427 | - '.page-link' => array( 'c' ), |
|
| 1428 | - '.page-item.active .page-link' => array( |
|
| 1429 | - 'b', |
|
| 1430 | - 'o' |
|
| 1431 | - ), |
|
| 1432 | - '.progress-bar' => array( 'b' ), |
|
| 1433 | - '.list-group-item.active' => array( |
|
| 1434 | - 'b', |
|
| 1435 | - 'o' |
|
| 1436 | - ), |
|
| 1437 | - '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ), |
|
| 1438 | - ); |
|
| 1439 | - } |
|
| 1412 | + if ( $type == 'primary' ) { |
|
| 1413 | + $selectors = $selectors + array( |
|
| 1414 | + 'a' => array( 'c' ), |
|
| 1415 | + '.btn-link' => array( 'c' ), |
|
| 1416 | + '.dropdown-item.active' => array( 'b' ), |
|
| 1417 | + '.custom-control-input:checked~.custom-control-label::before' => array( |
|
| 1418 | + 'b', |
|
| 1419 | + 'o' |
|
| 1420 | + ), |
|
| 1421 | + '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array( |
|
| 1422 | + 'b', |
|
| 1423 | + 'o' |
|
| 1424 | + ), |
|
| 1425 | + '.nav-pills .nav-link.active' => array( 'b' ), |
|
| 1426 | + '.nav-pills .show>.nav-link' => array( 'b' ), |
|
| 1427 | + '.page-link' => array( 'c' ), |
|
| 1428 | + '.page-item.active .page-link' => array( |
|
| 1429 | + 'b', |
|
| 1430 | + 'o' |
|
| 1431 | + ), |
|
| 1432 | + '.progress-bar' => array( 'b' ), |
|
| 1433 | + '.list-group-item.active' => array( |
|
| 1434 | + 'b', |
|
| 1435 | + 'o' |
|
| 1436 | + ), |
|
| 1437 | + '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ), |
|
| 1438 | + ); |
|
| 1439 | + } |
|
| 1440 | 1440 | |
| 1441 | 1441 | |
| 1442 | 1442 | |
| 1443 | 1443 | // link |
| 1444 | - if ( $type === 'primary' ) { |
|
| 1445 | - $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }'; |
|
| 1446 | - $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).'; }'; |
|
| 1447 | - $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).'; }'; |
|
| 1444 | + if ( $type === 'primary' ) { |
|
| 1445 | + $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }'; |
|
| 1446 | + $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).'; }'; |
|
| 1447 | + $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).'; }'; |
|
| 1448 | 1448 | |
| 1449 | - $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}'; |
|
| 1450 | - $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}'; |
|
| 1449 | + $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}'; |
|
| 1450 | + $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}'; |
|
| 1451 | 1451 | |
| 1452 | 1452 | // dropdown |
| 1453 | - $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}'; |
|
| 1453 | + $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}'; |
|
| 1454 | 1454 | |
| 1455 | 1455 | // pagination |
| 1456 | - $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}'; |
|
| 1456 | + $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}'; |
|
| 1457 | 1457 | |
| 1458 | - } |
|
| 1458 | + } |
|
| 1459 | 1459 | |
| 1460 | - $output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}'; |
|
| 1461 | - $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}'; |
|
| 1460 | + $output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}'; |
|
| 1461 | + $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}'; |
|
| 1462 | 1462 | |
| 1463 | - // buttons |
|
| 1464 | - $output .= $prefix . ' .btn-'.esc_attr($type).'{'; |
|
| 1465 | - $output .= ' |
|
| 1463 | + // buttons |
|
| 1464 | + $output .= $prefix . ' .btn-'.esc_attr($type).'{'; |
|
| 1465 | + $output .= ' |
|
| 1466 | 1466 | --bs-btn-bg: '.esc_attr($color_code).'; |
| 1467 | 1467 | --bs-btn-border-color: '.esc_attr($color_code).'; |
| 1468 | 1468 | --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
@@ -1480,917 +1480,917 @@ discard block |
||
| 1480 | 1480 | // --bs-btn-active-color: #fff; |
| 1481 | 1481 | // --bs-btn-disabled-color: #fff; |
| 1482 | 1482 | // '; |
| 1483 | - $output .= '}'; |
|
| 1483 | + $output .= '}'; |
|
| 1484 | + |
|
| 1485 | + // buttons outline |
|
| 1486 | + $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{'; |
|
| 1487 | + $output .= ' |
|
| 1488 | + --bs-btn-color: '.esc_attr($color_code).'; |
|
| 1489 | + --bs-btn-border-color: '.esc_attr($color_code).'; |
|
| 1490 | + --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1491 | + --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1492 | + --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb; |
|
| 1493 | + --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1494 | + --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1495 | + --bs-btn-active-shadow: unset; |
|
| 1496 | + --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5); |
|
| 1497 | + --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1); |
|
| 1498 | + '; |
|
| 1499 | +// $output .= ' |
|
| 1500 | +// --bs-btn-color: #fff; |
|
| 1501 | +// --bs-btn-hover-color: #fff; |
|
| 1502 | +// --bs-btn-active-color: #fff; |
|
| 1503 | +// --bs-btn-disabled-color: #fff; |
|
| 1504 | +// '; |
|
| 1505 | + $output .= '}'; |
|
| 1506 | + |
|
| 1507 | + |
|
| 1508 | + // button hover |
|
| 1509 | + $output .= $prefix . ' .btn-'.esc_attr($type).':hover{'; |
|
| 1510 | + $output .= ' |
|
| 1511 | + 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); |
|
| 1512 | + } |
|
| 1513 | + '; |
|
| 1514 | + |
|
| 1515 | + |
|
| 1516 | + if ( $aui_bs5 ) { |
|
| 1517 | +// $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).'; }'; |
|
| 1518 | + $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }'; |
|
| 1519 | + $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }'; |
|
| 1520 | + } |
|
| 1521 | + |
|
| 1522 | + |
|
| 1523 | + if ( $is_custom ) { |
|
| 1524 | + |
|
| 1525 | +// echo '###'.$type;exit; |
|
| 1526 | + |
|
| 1527 | + // build rules into each type |
|
| 1528 | + foreach($selectors as $selector => $types){ |
|
| 1529 | + $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1530 | + $types = array_combine($types,$types); |
|
| 1531 | + if(isset($types['c'])){$color[] = $selector;} |
|
| 1532 | + if(isset($types['b'])){$background[] = $selector;} |
|
| 1533 | + if(isset($types['o'])){$border[] = $selector;} |
|
| 1534 | + if(isset($types['f'])){$fill[] = $selector;} |
|
| 1535 | + } |
|
| 1536 | + |
|
| 1537 | +// // build rules into each type |
|
| 1538 | +// foreach($important_selectors as $selector => $types){ |
|
| 1539 | +// $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1540 | +// $types = array_combine($types,$types); |
|
| 1541 | +// if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1542 | +// if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1543 | +// if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1544 | +// if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1545 | +// } |
|
| 1546 | + |
|
| 1547 | + // add any color rules |
|
| 1548 | + if(!empty($color)){ |
|
| 1549 | + $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1550 | + } |
|
| 1551 | + if(!empty($color_i)){ |
|
| 1552 | + $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1553 | + } |
|
| 1554 | + |
|
| 1555 | + // add any background color rules |
|
| 1556 | + if(!empty($background)){ |
|
| 1557 | + $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1558 | + } |
|
| 1559 | + if(!empty($background_i)){ |
|
| 1560 | + $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1561 | +// $output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} "; |
|
| 1562 | + } |
|
| 1563 | + |
|
| 1564 | + // add any border color rules |
|
| 1565 | + if(!empty($border)){ |
|
| 1566 | + $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1567 | + } |
|
| 1568 | + if(!empty($border_i)){ |
|
| 1569 | + $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1570 | + } |
|
| 1571 | + |
|
| 1572 | + // add any fill color rules |
|
| 1573 | + if(!empty($fill)){ |
|
| 1574 | + $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1575 | + } |
|
| 1576 | + if(!empty($fill_i)){ |
|
| 1577 | + $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1578 | + } |
|
| 1579 | + |
|
| 1580 | + } |
|
| 1581 | + |
|
| 1582 | + |
|
| 1583 | + |
|
| 1584 | + |
|
| 1585 | + $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;' : ''; |
|
| 1586 | + // darken |
|
| 1587 | + $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1588 | + $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1589 | + $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1590 | + $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4"); |
|
| 1591 | + |
|
| 1592 | + // lighten |
|
| 1593 | + $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1594 | + |
|
| 1595 | + // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1596 | + $op_25 = $color_code."40"; // 25% opacity |
|
| 1597 | + |
|
| 1598 | + |
|
| 1599 | + // button states |
|
| 1600 | + $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : ''; |
|
| 1601 | + $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1602 | +// $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000; border-color: #000;} "; |
|
| 1603 | + $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;} "; |
|
| 1604 | + $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.";} "; |
|
| 1605 | + $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;} "; |
|
| 1606 | + $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled):focus {box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(var(--bs-{$type}-rgb), 0.1), 0 0.375rem 0.75rem -0.125rem rgba(var(--bs-{$type}-rgb), 0.4);} "; |
|
| 1607 | + |
|
| 1608 | + // text |
|
| 1609 | +// $output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} "; |
|
| 1610 | + |
|
| 1611 | + |
|
| 1612 | +// if ( $type == 'primary' ) { |
|
| 1613 | +// // dropdown's |
|
| 1614 | +// $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 1615 | +// |
|
| 1616 | +// // input states |
|
| 1617 | +// $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1618 | +// |
|
| 1619 | +// // page link |
|
| 1620 | +// $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1621 | +// } |
|
| 1622 | + |
|
| 1623 | + // alerts |
|
| 1624 | + if ( $aui_bs5 ) { |
|
| 1625 | +// $output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20; border-color: ".$color_code."30;color:$darker_40} "; |
|
| 1626 | + $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;} "; |
|
| 1627 | + } |
|
| 1628 | + |
|
| 1629 | + return $output; |
|
| 1630 | + } |
|
| 1631 | + |
|
| 1632 | + /** |
|
| 1633 | + * Build the CSS to overwrite a bootstrap color variable. |
|
| 1634 | + * |
|
| 1635 | + * @param $type |
|
| 1636 | + * @param $color_code |
|
| 1637 | + * @param $compatibility |
|
| 1638 | + * |
|
| 1639 | + * @return string |
|
| 1640 | + */ |
|
| 1641 | + public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){ |
|
| 1642 | + global $aui_bs5; |
|
| 1643 | + |
|
| 1644 | + $is_var = false; |
|
| 1645 | + if(!$color_code){return '';} |
|
| 1646 | + if(strpos($color_code, 'var') !== false){ |
|
| 1647 | + //if(!sanitize_hex_color($color_code)){ |
|
| 1648 | + $color_code = esc_attr($color_code); |
|
| 1649 | + $is_var = true; |
|
| 1650 | +// $color_code = "rgba($color_code, 0.5)"; |
|
| 1651 | +// echo '###1'.$color_code.'###';//exit; |
|
| 1652 | + } |
|
| 1653 | + |
|
| 1654 | +// echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit; |
|
| 1655 | + |
|
| 1656 | + if(!$color_code){return '';} |
|
| 1657 | + |
|
| 1658 | + $rgb = self::hex_to_rgb($hex); |
|
| 1659 | + |
|
| 1660 | + if($compatibility===true || $compatibility===1){ |
|
| 1661 | + $compatibility = '.bsui'; |
|
| 1662 | + }elseif(!$compatibility){ |
|
| 1663 | + $compatibility = ''; |
|
| 1664 | + }else{ |
|
| 1665 | + $compatibility = esc_attr($compatibility); |
|
| 1666 | + } |
|
| 1667 | + |
|
| 1668 | + |
|
| 1669 | + |
|
| 1670 | +// echo '####'.$color_code;exit; |
|
| 1671 | + |
|
| 1672 | + $type = sanitize_html_class($type); |
|
| 1673 | + |
|
| 1674 | + /** |
|
| 1675 | + * c = color, b = background color, o = border-color, f = fill |
|
| 1676 | + */ |
|
| 1677 | + $selectors = array( |
|
| 1678 | + ".btn-{$type}" => array( 'b', 'o' ), |
|
| 1679 | + ".btn-{$type}.disabled" => array( 'b', 'o' ), |
|
| 1680 | + ".btn-{$type}:disabled" => array( 'b', 'o' ), |
|
| 1681 | + ".btn-outline-{$type}" => array( 'c', 'o' ), |
|
| 1682 | + ".btn-outline-{$type}:hover" => array( 'b', 'o' ), |
|
| 1683 | + ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ), |
|
| 1684 | + ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ), |
|
| 1685 | + ".show>.btn-outline-{$type}.dropdown-toggle" => array( 'b', 'o' ), |
|
| 1686 | + ".badge-{$type}" => array( 'b' ), |
|
| 1687 | + ".alert-{$type}" => array( 'b', 'o' ), |
|
| 1688 | + ".bg-{$type}" => array( 'b', 'f' ), |
|
| 1689 | + ".btn-link.btn-{$type}" => array( 'c' ), |
|
| 1690 | + ); |
|
| 1691 | + |
|
| 1692 | + if ( $aui_bs5 ) { |
|
| 1693 | + unset($selectors[".alert-{$type}" ]); |
|
| 1694 | + } |
|
| 1695 | + |
|
| 1696 | + if ( $type == 'primary' ) { |
|
| 1697 | + $selectors = $selectors + array( |
|
| 1698 | + 'a' => array( 'c' ), |
|
| 1699 | + '.btn-link' => array( 'c' ), |
|
| 1700 | + '.dropdown-item.active' => array( 'b' ), |
|
| 1701 | + '.custom-control-input:checked~.custom-control-label::before' => array( |
|
| 1702 | + 'b', |
|
| 1703 | + 'o' |
|
| 1704 | + ), |
|
| 1705 | + '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array( |
|
| 1706 | + 'b', |
|
| 1707 | + 'o' |
|
| 1708 | + ), |
|
| 1709 | + '.nav-pills .nav-link.active' => array( 'b' ), |
|
| 1710 | + '.nav-pills .show>.nav-link' => array( 'b' ), |
|
| 1711 | + '.page-link' => array( 'c' ), |
|
| 1712 | + '.page-item.active .page-link' => array( |
|
| 1713 | + 'b', |
|
| 1714 | + 'o' |
|
| 1715 | + ), |
|
| 1716 | + '.progress-bar' => array( 'b' ), |
|
| 1717 | + '.list-group-item.active' => array( |
|
| 1718 | + 'b', |
|
| 1719 | + 'o' |
|
| 1720 | + ), |
|
| 1721 | + '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ), |
|
| 1722 | +// '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules... |
|
| 1723 | +// '.custom-range::-moz-range-thumb' => array('b'), |
|
| 1724 | +// '.custom-range::-ms-thumb' => array('b'), |
|
| 1725 | + ); |
|
| 1726 | + } |
|
| 1727 | + |
|
| 1728 | + $important_selectors = array( |
|
| 1729 | + ".bg-{$type}" => array('b','f'), |
|
| 1730 | + ".border-{$type}" => array('o'), |
|
| 1731 | + ".text-{$type}" => array('c'), |
|
| 1732 | + ); |
|
| 1733 | + |
|
| 1734 | + $color = array(); |
|
| 1735 | + $color_i = array(); |
|
| 1736 | + $background = array(); |
|
| 1737 | + $background_i = array(); |
|
| 1738 | + $border = array(); |
|
| 1739 | + $border_i = array(); |
|
| 1740 | + $fill = array(); |
|
| 1741 | + $fill_i = array(); |
|
| 1742 | + |
|
| 1743 | + $output = ''; |
|
| 1744 | + |
|
| 1745 | + if ( $aui_bs5 ) { |
|
| 1746 | +// $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).'; }'; |
|
| 1747 | + $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }'; |
|
| 1748 | + } |
|
| 1749 | + |
|
| 1750 | + // build rules into each type |
|
| 1751 | + foreach($selectors as $selector => $types){ |
|
| 1752 | + $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1753 | + $types = array_combine($types,$types); |
|
| 1754 | + if(isset($types['c'])){$color[] = $selector;} |
|
| 1755 | + if(isset($types['b'])){$background[] = $selector;} |
|
| 1756 | + if(isset($types['o'])){$border[] = $selector;} |
|
| 1757 | + if(isset($types['f'])){$fill[] = $selector;} |
|
| 1758 | + } |
|
| 1759 | + |
|
| 1760 | + // build rules into each type |
|
| 1761 | + foreach($important_selectors as $selector => $types){ |
|
| 1762 | + $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1763 | + $types = array_combine($types,$types); |
|
| 1764 | + if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1765 | + if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1766 | + if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1767 | + if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1768 | + } |
|
| 1769 | + |
|
| 1770 | + // add any color rules |
|
| 1771 | + if(!empty($color)){ |
|
| 1772 | + $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1773 | + } |
|
| 1774 | + if(!empty($color_i)){ |
|
| 1775 | + $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1776 | + } |
|
| 1777 | + |
|
| 1778 | + // add any background color rules |
|
| 1779 | + if(!empty($background)){ |
|
| 1780 | + $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1781 | + } |
|
| 1782 | + if(!empty($background_i)){ |
|
| 1783 | + $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1784 | +// $output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} "; |
|
| 1785 | + } |
|
| 1786 | + |
|
| 1787 | + // add any border color rules |
|
| 1788 | + if(!empty($border)){ |
|
| 1789 | + $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1790 | + } |
|
| 1791 | + if(!empty($border_i)){ |
|
| 1792 | + $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1793 | + } |
|
| 1794 | + |
|
| 1795 | + // add any fill color rules |
|
| 1796 | + if(!empty($fill)){ |
|
| 1797 | + $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1798 | + } |
|
| 1799 | + if(!empty($fill_i)){ |
|
| 1800 | + $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1801 | + } |
|
| 1802 | + |
|
| 1803 | + |
|
| 1804 | + $prefix = $compatibility ? $compatibility . " " : ""; |
|
| 1805 | + |
|
| 1806 | + $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;' : ''; |
|
| 1807 | + // darken |
|
| 1808 | + $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1809 | + $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1810 | + $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1811 | + $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4"); |
|
| 1812 | + |
|
| 1813 | + // lighten |
|
| 1814 | + $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1815 | + |
|
| 1816 | + // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1817 | + $op_25 = $color_code."40"; // 25% opacity |
|
| 1818 | + |
|
| 1819 | + |
|
| 1820 | + // button states |
|
| 1821 | + $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : ''; |
|
| 1822 | + $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1823 | +// $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000; border-color: #000;} "; |
|
| 1824 | + $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;} "; |
|
| 1825 | + $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.";} "; |
|
| 1826 | + $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;} "; |
|
| 1827 | + |
|
| 1828 | + if ( $type == 'primary' ) { |
|
| 1829 | + // dropdown's |
|
| 1830 | + $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 1831 | + |
|
| 1832 | + // input states |
|
| 1833 | + $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1834 | + |
|
| 1835 | + // page link |
|
| 1836 | + $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1837 | + } |
|
| 1838 | + |
|
| 1839 | + // alerts |
|
| 1840 | + if ( $aui_bs5 ) { |
|
| 1841 | +// $output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20; border-color: ".$color_code."30;color:$darker_40} "; |
|
| 1842 | + $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;} "; |
|
| 1843 | + } |
|
| 1484 | 1844 | |
| 1485 | - // buttons outline |
|
| 1486 | - $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{'; |
|
| 1487 | - $output .= ' |
|
| 1488 | - --bs-btn-color: '.esc_attr($color_code).'; |
|
| 1489 | - --bs-btn-border-color: '.esc_attr($color_code).'; |
|
| 1490 | - --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1491 | - --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1492 | - --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb; |
|
| 1493 | - --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1494 | - --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9); |
|
| 1495 | - --bs-btn-active-shadow: unset; |
|
| 1496 | - --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5); |
|
| 1497 | - --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1); |
|
| 1498 | - '; |
|
| 1499 | -// $output .= ' |
|
| 1500 | -// --bs-btn-color: #fff; |
|
| 1501 | -// --bs-btn-hover-color: #fff; |
|
| 1502 | -// --bs-btn-active-color: #fff; |
|
| 1503 | -// --bs-btn-disabled-color: #fff; |
|
| 1504 | -// '; |
|
| 1505 | - $output .= '}'; |
|
| 1845 | + return $output; |
|
| 1846 | + } |
|
| 1506 | 1847 | |
| 1848 | + /** |
|
| 1849 | + * |
|
| 1850 | + * @deprecated 0.1.76 Use css_overwrite() |
|
| 1851 | + * |
|
| 1852 | + * @param $color_code |
|
| 1853 | + * @param $compatibility |
|
| 1854 | + * @param $use_variable |
|
| 1855 | + * |
|
| 1856 | + * @return string |
|
| 1857 | + */ |
|
| 1858 | + public static function css_primary($color_code,$compatibility, $use_variable = false){ |
|
| 1507 | 1859 | |
| 1508 | - // button hover |
|
| 1509 | - $output .= $prefix . ' .btn-'.esc_attr($type).':hover{'; |
|
| 1510 | - $output .= ' |
|
| 1511 | - 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); |
|
| 1860 | + if(!$use_variable){ |
|
| 1861 | + $color_code = sanitize_hex_color($color_code); |
|
| 1862 | + if(!$color_code){return '';} |
|
| 1512 | 1863 | } |
| 1513 | - '; |
|
| 1514 | 1864 | |
| 1865 | + /** |
|
| 1866 | + * c = color, b = background color, o = border-color, f = fill |
|
| 1867 | + */ |
|
| 1868 | + $selectors = array( |
|
| 1869 | + 'a' => array('c'), |
|
| 1870 | + '.btn-primary' => array('b','o'), |
|
| 1871 | + '.btn-primary.disabled' => array('b','o'), |
|
| 1872 | + '.btn-primary:disabled' => array('b','o'), |
|
| 1873 | + '.btn-outline-primary' => array('c','o'), |
|
| 1874 | + '.btn-outline-primary:hover' => array('b','o'), |
|
| 1875 | + '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'), |
|
| 1876 | + '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'), |
|
| 1877 | + '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'), |
|
| 1878 | + '.btn-link' => array('c'), |
|
| 1879 | + '.dropdown-item.active' => array('b'), |
|
| 1880 | + '.custom-control-input:checked~.custom-control-label::before' => array('b','o'), |
|
| 1881 | + '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'), |
|
| 1882 | +// '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules... |
|
| 1883 | +// '.custom-range::-moz-range-thumb' => array('b'), |
|
| 1884 | +// '.custom-range::-ms-thumb' => array('b'), |
|
| 1885 | + '.nav-pills .nav-link.active' => array('b'), |
|
| 1886 | + '.nav-pills .show>.nav-link' => array('b'), |
|
| 1887 | + '.page-link' => array('c'), |
|
| 1888 | + '.page-item.active .page-link' => array('b','o'), |
|
| 1889 | + '.badge-primary' => array('b'), |
|
| 1890 | + '.alert-primary' => array('b','o'), |
|
| 1891 | + '.progress-bar' => array('b'), |
|
| 1892 | + '.list-group-item.active' => array('b','o'), |
|
| 1893 | + '.bg-primary' => array('b','f'), |
|
| 1894 | + '.btn-link.btn-primary' => array('c'), |
|
| 1895 | + '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'), |
|
| 1896 | + ); |
|
| 1897 | + |
|
| 1898 | + $important_selectors = array( |
|
| 1899 | + '.bg-primary' => array('b','f'), |
|
| 1900 | + '.border-primary' => array('o'), |
|
| 1901 | + '.text-primary' => array('c'), |
|
| 1902 | + ); |
|
| 1903 | + |
|
| 1904 | + $color = array(); |
|
| 1905 | + $color_i = array(); |
|
| 1906 | + $background = array(); |
|
| 1907 | + $background_i = array(); |
|
| 1908 | + $border = array(); |
|
| 1909 | + $border_i = array(); |
|
| 1910 | + $fill = array(); |
|
| 1911 | + $fill_i = array(); |
|
| 1515 | 1912 | |
| 1516 | - if ( $aui_bs5 ) { |
|
| 1517 | -// $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).'; }'; |
|
| 1518 | - $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }'; |
|
| 1519 | - $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }'; |
|
| 1520 | - } |
|
| 1913 | + $output = ''; |
|
| 1521 | 1914 | |
| 1915 | + // build rules into each type |
|
| 1916 | + foreach($selectors as $selector => $types){ |
|
| 1917 | + $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1918 | + $types = array_combine($types,$types); |
|
| 1919 | + if(isset($types['c'])){$color[] = $selector;} |
|
| 1920 | + if(isset($types['b'])){$background[] = $selector;} |
|
| 1921 | + if(isset($types['o'])){$border[] = $selector;} |
|
| 1922 | + if(isset($types['f'])){$fill[] = $selector;} |
|
| 1923 | + } |
|
| 1522 | 1924 | |
| 1523 | - if ( $is_custom ) { |
|
| 1925 | + // build rules into each type |
|
| 1926 | + foreach($important_selectors as $selector => $types){ |
|
| 1927 | + $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1928 | + $types = array_combine($types,$types); |
|
| 1929 | + if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1930 | + if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1931 | + if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1932 | + if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1933 | + } |
|
| 1524 | 1934 | |
| 1525 | -// echo '###'.$type;exit; |
|
| 1935 | + // add any color rules |
|
| 1936 | + if(!empty($color)){ |
|
| 1937 | + $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1938 | + } |
|
| 1939 | + if(!empty($color_i)){ |
|
| 1940 | + $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1941 | + } |
|
| 1526 | 1942 | |
| 1527 | - // build rules into each type |
|
| 1528 | - foreach($selectors as $selector => $types){ |
|
| 1529 | - $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1530 | - $types = array_combine($types,$types); |
|
| 1531 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1532 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1533 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1534 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1535 | - } |
|
| 1943 | + // add any background color rules |
|
| 1944 | + if(!empty($background)){ |
|
| 1945 | + $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1946 | + } |
|
| 1947 | + if(!empty($background_i)){ |
|
| 1948 | + $output .= implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1949 | + } |
|
| 1536 | 1950 | |
| 1537 | -// // build rules into each type |
|
| 1538 | -// foreach($important_selectors as $selector => $types){ |
|
| 1539 | -// $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1540 | -// $types = array_combine($types,$types); |
|
| 1541 | -// if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1542 | -// if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1543 | -// if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1544 | -// if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1545 | -// } |
|
| 1951 | + // add any border color rules |
|
| 1952 | + if(!empty($border)){ |
|
| 1953 | + $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1954 | + } |
|
| 1955 | + if(!empty($border_i)){ |
|
| 1956 | + $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1957 | + } |
|
| 1546 | 1958 | |
| 1547 | - // add any color rules |
|
| 1548 | - if(!empty($color)){ |
|
| 1549 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1550 | - } |
|
| 1551 | - if(!empty($color_i)){ |
|
| 1552 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1553 | - } |
|
| 1959 | + // add any fill color rules |
|
| 1960 | + if(!empty($fill)){ |
|
| 1961 | + $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1962 | + } |
|
| 1963 | + if(!empty($fill_i)){ |
|
| 1964 | + $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1965 | + } |
|
| 1554 | 1966 | |
| 1555 | - // add any background color rules |
|
| 1556 | - if(!empty($background)){ |
|
| 1557 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1558 | - } |
|
| 1559 | - if(!empty($background_i)){ |
|
| 1560 | - $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1561 | -// $output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} "; |
|
| 1562 | - } |
|
| 1563 | 1967 | |
| 1564 | - // add any border color rules |
|
| 1565 | - if(!empty($border)){ |
|
| 1566 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1567 | - } |
|
| 1568 | - if(!empty($border_i)){ |
|
| 1569 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1570 | - } |
|
| 1968 | + $prefix = $compatibility ? ".bsui " : ""; |
|
| 1571 | 1969 | |
| 1572 | - // add any fill color rules |
|
| 1573 | - if(!empty($fill)){ |
|
| 1574 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1575 | - } |
|
| 1576 | - if(!empty($fill_i)){ |
|
| 1577 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1578 | - } |
|
| 1970 | + // darken |
|
| 1971 | + $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1972 | + $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1973 | + $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1579 | 1974 | |
| 1580 | - } |
|
| 1975 | + // lighten |
|
| 1976 | + $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1581 | 1977 | |
| 1978 | + // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1979 | + $op_25 = $color_code."40"; // 25% opacity |
|
| 1582 | 1980 | |
| 1583 | 1981 | |
| 1982 | + // button states |
|
| 1983 | + $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1984 | + $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;} "; |
|
| 1985 | + $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.";} "; |
|
| 1986 | + $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;} "; |
|
| 1584 | 1987 | |
| 1585 | - $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;' : ''; |
|
| 1586 | - // darken |
|
| 1587 | - $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1588 | - $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1589 | - $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1590 | - $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4"); |
|
| 1591 | 1988 | |
| 1592 | - // lighten |
|
| 1593 | - $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1989 | + // dropdown's |
|
| 1990 | + $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 1594 | 1991 | |
| 1595 | - // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1596 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 1597 | 1992 | |
| 1993 | + // input states |
|
| 1994 | + $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1598 | 1995 | |
| 1599 | - // button states |
|
| 1600 | - $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : ''; |
|
| 1601 | - $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1602 | -// $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000; border-color: #000;} "; |
|
| 1603 | - $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;} "; |
|
| 1604 | - $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.";} "; |
|
| 1605 | - $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;} "; |
|
| 1606 | - $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled):focus {box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(var(--bs-{$type}-rgb), 0.1), 0 0.375rem 0.75rem -0.125rem rgba(var(--bs-{$type}-rgb), 0.4);} "; |
|
| 1996 | + // page link |
|
| 1997 | + $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1607 | 1998 | |
| 1608 | - // text |
|
| 1609 | -// $output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} "; |
|
| 1999 | + return $output; |
|
| 2000 | + } |
|
| 1610 | 2001 | |
| 2002 | + /** |
|
| 2003 | + * |
|
| 2004 | + * @deprecated 0.1.76 Use css_overwrite() |
|
| 2005 | + * |
|
| 2006 | + * @param $color_code |
|
| 2007 | + * @param $compatibility |
|
| 2008 | + * |
|
| 2009 | + * @return string |
|
| 2010 | + */ |
|
| 2011 | + public static function css_secondary($color_code,$compatibility){; |
|
| 2012 | + $color_code = sanitize_hex_color($color_code); |
|
| 2013 | + if(!$color_code){return '';} |
|
| 2014 | + /** |
|
| 2015 | + * c = color, b = background color, o = border-color, f = fill |
|
| 2016 | + */ |
|
| 2017 | + $selectors = array( |
|
| 2018 | + '.btn-secondary' => array('b','o'), |
|
| 2019 | + '.btn-secondary.disabled' => array('b','o'), |
|
| 2020 | + '.btn-secondary:disabled' => array('b','o'), |
|
| 2021 | + '.btn-outline-secondary' => array('c','o'), |
|
| 2022 | + '.btn-outline-secondary:hover' => array('b','o'), |
|
| 2023 | + '.btn-outline-secondary.disabled' => array('c'), |
|
| 2024 | + '.btn-outline-secondary:disabled' => array('c'), |
|
| 2025 | + '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'), |
|
| 2026 | + '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'), |
|
| 2027 | + '.btn-outline-secondary.dropdown-toggle' => array('b','o'), |
|
| 2028 | + '.badge-secondary' => array('b'), |
|
| 2029 | + '.alert-secondary' => array('b','o'), |
|
| 2030 | + '.btn-link.btn-secondary' => array('c'), |
|
| 2031 | + ); |
|
| 2032 | + |
|
| 2033 | + $important_selectors = array( |
|
| 2034 | + '.bg-secondary' => array('b','f'), |
|
| 2035 | + '.border-secondary' => array('o'), |
|
| 2036 | + '.text-secondary' => array('c'), |
|
| 2037 | + ); |
|
| 2038 | + |
|
| 2039 | + $color = array(); |
|
| 2040 | + $color_i = array(); |
|
| 2041 | + $background = array(); |
|
| 2042 | + $background_i = array(); |
|
| 2043 | + $border = array(); |
|
| 2044 | + $border_i = array(); |
|
| 2045 | + $fill = array(); |
|
| 2046 | + $fill_i = array(); |
|
| 1611 | 2047 | |
| 1612 | -// if ( $type == 'primary' ) { |
|
| 1613 | -// // dropdown's |
|
| 1614 | -// $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 1615 | -// |
|
| 1616 | -// // input states |
|
| 1617 | -// $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1618 | -// |
|
| 1619 | -// // page link |
|
| 1620 | -// $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1621 | -// } |
|
| 2048 | + $output = ''; |
|
| 1622 | 2049 | |
| 1623 | - // alerts |
|
| 1624 | - if ( $aui_bs5 ) { |
|
| 1625 | -// $output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20; border-color: ".$color_code."30;color:$darker_40} "; |
|
| 1626 | - $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;} "; |
|
| 1627 | - } |
|
| 1628 | - |
|
| 1629 | - return $output; |
|
| 1630 | - } |
|
| 1631 | - |
|
| 1632 | - /** |
|
| 1633 | - * Build the CSS to overwrite a bootstrap color variable. |
|
| 1634 | - * |
|
| 1635 | - * @param $type |
|
| 1636 | - * @param $color_code |
|
| 1637 | - * @param $compatibility |
|
| 1638 | - * |
|
| 1639 | - * @return string |
|
| 1640 | - */ |
|
| 1641 | - public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){ |
|
| 1642 | - global $aui_bs5; |
|
| 2050 | + // build rules into each type |
|
| 2051 | + foreach($selectors as $selector => $types){ |
|
| 2052 | + $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 2053 | + $types = array_combine($types,$types); |
|
| 2054 | + if(isset($types['c'])){$color[] = $selector;} |
|
| 2055 | + if(isset($types['b'])){$background[] = $selector;} |
|
| 2056 | + if(isset($types['o'])){$border[] = $selector;} |
|
| 2057 | + if(isset($types['f'])){$fill[] = $selector;} |
|
| 2058 | + } |
|
| 1643 | 2059 | |
| 1644 | - $is_var = false; |
|
| 1645 | - if(!$color_code){return '';} |
|
| 1646 | - if(strpos($color_code, 'var') !== false){ |
|
| 1647 | - //if(!sanitize_hex_color($color_code)){ |
|
| 1648 | - $color_code = esc_attr($color_code); |
|
| 1649 | - $is_var = true; |
|
| 1650 | -// $color_code = "rgba($color_code, 0.5)"; |
|
| 1651 | -// echo '###1'.$color_code.'###';//exit; |
|
| 1652 | - } |
|
| 2060 | + // build rules into each type |
|
| 2061 | + foreach($important_selectors as $selector => $types){ |
|
| 2062 | + $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 2063 | + $types = array_combine($types,$types); |
|
| 2064 | + if(isset($types['c'])){$color_i[] = $selector;} |
|
| 2065 | + if(isset($types['b'])){$background_i[] = $selector;} |
|
| 2066 | + if(isset($types['o'])){$border_i[] = $selector;} |
|
| 2067 | + if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 2068 | + } |
|
| 1653 | 2069 | |
| 1654 | -// echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit; |
|
| 2070 | + // add any color rules |
|
| 2071 | + if(!empty($color)){ |
|
| 2072 | + $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 2073 | + } |
|
| 2074 | + if(!empty($color_i)){ |
|
| 2075 | + $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 2076 | + } |
|
| 1655 | 2077 | |
| 1656 | - if(!$color_code){return '';} |
|
| 2078 | + // add any background color rules |
|
| 2079 | + if(!empty($background)){ |
|
| 2080 | + $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 2081 | + } |
|
| 2082 | + if(!empty($background_i)){ |
|
| 2083 | + $output .= implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 2084 | + } |
|
| 1657 | 2085 | |
| 1658 | - $rgb = self::hex_to_rgb($hex); |
|
| 2086 | + // add any border color rules |
|
| 2087 | + if(!empty($border)){ |
|
| 2088 | + $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 2089 | + } |
|
| 2090 | + if(!empty($border_i)){ |
|
| 2091 | + $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 2092 | + } |
|
| 1659 | 2093 | |
| 1660 | - if($compatibility===true || $compatibility===1){ |
|
| 1661 | - $compatibility = '.bsui'; |
|
| 1662 | - }elseif(!$compatibility){ |
|
| 1663 | - $compatibility = ''; |
|
| 1664 | - }else{ |
|
| 1665 | - $compatibility = esc_attr($compatibility); |
|
| 1666 | - } |
|
| 2094 | + // add any fill color rules |
|
| 2095 | + if(!empty($fill)){ |
|
| 2096 | + $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 2097 | + } |
|
| 2098 | + if(!empty($fill_i)){ |
|
| 2099 | + $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 2100 | + } |
|
| 1667 | 2101 | |
| 1668 | 2102 | |
| 2103 | + $prefix = $compatibility ? ".bsui " : ""; |
|
| 1669 | 2104 | |
| 1670 | -// echo '####'.$color_code;exit; |
|
| 2105 | + // darken |
|
| 2106 | + $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 2107 | + $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 2108 | + $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1671 | 2109 | |
| 1672 | - $type = sanitize_html_class($type); |
|
| 2110 | + // lighten |
|
| 2111 | + $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 2112 | + |
|
| 2113 | + // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 2114 | + $op_25 = $color_code."40"; // 25% opacity |
|
| 1673 | 2115 | |
| 1674 | - /** |
|
| 1675 | - * c = color, b = background color, o = border-color, f = fill |
|
| 1676 | - */ |
|
| 1677 | - $selectors = array( |
|
| 1678 | - ".btn-{$type}" => array( 'b', 'o' ), |
|
| 1679 | - ".btn-{$type}.disabled" => array( 'b', 'o' ), |
|
| 1680 | - ".btn-{$type}:disabled" => array( 'b', 'o' ), |
|
| 1681 | - ".btn-outline-{$type}" => array( 'c', 'o' ), |
|
| 1682 | - ".btn-outline-{$type}:hover" => array( 'b', 'o' ), |
|
| 1683 | - ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ), |
|
| 1684 | - ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ), |
|
| 1685 | - ".show>.btn-outline-{$type}.dropdown-toggle" => array( 'b', 'o' ), |
|
| 1686 | - ".badge-{$type}" => array( 'b' ), |
|
| 1687 | - ".alert-{$type}" => array( 'b', 'o' ), |
|
| 1688 | - ".bg-{$type}" => array( 'b', 'f' ), |
|
| 1689 | - ".btn-link.btn-{$type}" => array( 'c' ), |
|
| 1690 | - ); |
|
| 1691 | - |
|
| 1692 | - if ( $aui_bs5 ) { |
|
| 1693 | - unset($selectors[".alert-{$type}" ]); |
|
| 1694 | - } |
|
| 1695 | - |
|
| 1696 | - if ( $type == 'primary' ) { |
|
| 1697 | - $selectors = $selectors + array( |
|
| 1698 | - 'a' => array( 'c' ), |
|
| 1699 | - '.btn-link' => array( 'c' ), |
|
| 1700 | - '.dropdown-item.active' => array( 'b' ), |
|
| 1701 | - '.custom-control-input:checked~.custom-control-label::before' => array( |
|
| 1702 | - 'b', |
|
| 1703 | - 'o' |
|
| 1704 | - ), |
|
| 1705 | - '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array( |
|
| 1706 | - 'b', |
|
| 1707 | - 'o' |
|
| 1708 | - ), |
|
| 1709 | - '.nav-pills .nav-link.active' => array( 'b' ), |
|
| 1710 | - '.nav-pills .show>.nav-link' => array( 'b' ), |
|
| 1711 | - '.page-link' => array( 'c' ), |
|
| 1712 | - '.page-item.active .page-link' => array( |
|
| 1713 | - 'b', |
|
| 1714 | - 'o' |
|
| 1715 | - ), |
|
| 1716 | - '.progress-bar' => array( 'b' ), |
|
| 1717 | - '.list-group-item.active' => array( |
|
| 1718 | - 'b', |
|
| 1719 | - 'o' |
|
| 1720 | - ), |
|
| 1721 | - '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ), |
|
| 1722 | -// '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules... |
|
| 1723 | -// '.custom-range::-moz-range-thumb' => array('b'), |
|
| 1724 | -// '.custom-range::-ms-thumb' => array('b'), |
|
| 1725 | - ); |
|
| 1726 | - } |
|
| 1727 | - |
|
| 1728 | - $important_selectors = array( |
|
| 1729 | - ".bg-{$type}" => array('b','f'), |
|
| 1730 | - ".border-{$type}" => array('o'), |
|
| 1731 | - ".text-{$type}" => array('c'), |
|
| 1732 | - ); |
|
| 1733 | - |
|
| 1734 | - $color = array(); |
|
| 1735 | - $color_i = array(); |
|
| 1736 | - $background = array(); |
|
| 1737 | - $background_i = array(); |
|
| 1738 | - $border = array(); |
|
| 1739 | - $border_i = array(); |
|
| 1740 | - $fill = array(); |
|
| 1741 | - $fill_i = array(); |
|
| 1742 | - |
|
| 1743 | - $output = ''; |
|
| 1744 | - |
|
| 1745 | - if ( $aui_bs5 ) { |
|
| 1746 | -// $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).'; }'; |
|
| 1747 | - $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }'; |
|
| 1748 | - } |
|
| 1749 | - |
|
| 1750 | - // build rules into each type |
|
| 1751 | - foreach($selectors as $selector => $types){ |
|
| 1752 | - $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1753 | - $types = array_combine($types,$types); |
|
| 1754 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1755 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1756 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1757 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1758 | - } |
|
| 1759 | - |
|
| 1760 | - // build rules into each type |
|
| 1761 | - foreach($important_selectors as $selector => $types){ |
|
| 1762 | - $selector = $compatibility ? $compatibility . " ".$selector : $selector; |
|
| 1763 | - $types = array_combine($types,$types); |
|
| 1764 | - if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1765 | - if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1766 | - if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1767 | - if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1768 | - } |
|
| 1769 | - |
|
| 1770 | - // add any color rules |
|
| 1771 | - if(!empty($color)){ |
|
| 1772 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1773 | - } |
|
| 1774 | - if(!empty($color_i)){ |
|
| 1775 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1776 | - } |
|
| 1777 | - |
|
| 1778 | - // add any background color rules |
|
| 1779 | - if(!empty($background)){ |
|
| 1780 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1781 | - } |
|
| 1782 | - if(!empty($background_i)){ |
|
| 1783 | - $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1784 | -// $output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} "; |
|
| 1785 | - } |
|
| 1786 | 2116 | |
| 1787 | - // add any border color rules |
|
| 1788 | - if(!empty($border)){ |
|
| 1789 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1790 | - } |
|
| 1791 | - if(!empty($border_i)){ |
|
| 1792 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1793 | - } |
|
| 2117 | + // button states |
|
| 2118 | + $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 2119 | + $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;} "; |
|
| 2120 | + $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.";} "; |
|
| 2121 | + $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;} "; |
|
| 1794 | 2122 | |
| 1795 | - // add any fill color rules |
|
| 1796 | - if(!empty($fill)){ |
|
| 1797 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1798 | - } |
|
| 1799 | - if(!empty($fill_i)){ |
|
| 1800 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1801 | - } |
|
| 1802 | 2123 | |
| 2124 | + return $output; |
|
| 2125 | + } |
|
| 2126 | + |
|
| 2127 | + /** |
|
| 2128 | + * Increases or decreases the brightness of a color by a percentage of the current brightness. |
|
| 2129 | + * |
|
| 2130 | + * @param string $hexCode Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF` |
|
| 2131 | + * @param float $adjustPercent A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker. |
|
| 2132 | + * |
|
| 2133 | + * @return string |
|
| 2134 | + */ |
|
| 2135 | + public static function css_hex_lighten_darken($hexCode, $adjustPercent) { |
|
| 2136 | + $hexCode = ltrim($hexCode, '#'); |
|
| 1803 | 2137 | |
| 1804 | - $prefix = $compatibility ? $compatibility . " " : ""; |
|
| 2138 | + if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) { |
|
| 2139 | + return $hexCode; |
|
| 2140 | + } |
|
| 1805 | 2141 | |
| 1806 | - $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;' : ''; |
|
| 1807 | - // darken |
|
| 1808 | - $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1809 | - $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1810 | - $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1811 | - $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4"); |
|
| 2142 | + if (strlen($hexCode) == 3) { |
|
| 2143 | + $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2]; |
|
| 2144 | + } |
|
| 1812 | 2145 | |
| 1813 | - // lighten |
|
| 1814 | - $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 2146 | + $hexCode = array_map('hexdec', str_split($hexCode, 2)); |
|
| 1815 | 2147 | |
| 1816 | - // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1817 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 2148 | + foreach ($hexCode as & $color) { |
|
| 2149 | + $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color; |
|
| 2150 | + $adjustAmount = ceil($adjustableLimit * $adjustPercent); |
|
| 1818 | 2151 | |
| 2152 | + $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT); |
|
| 2153 | + } |
|
| 1819 | 2154 | |
| 1820 | - // button states |
|
| 1821 | - $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : ''; |
|
| 1822 | - $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1823 | -// $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000; border-color: #000;} "; |
|
| 1824 | - $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;} "; |
|
| 1825 | - $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.";} "; |
|
| 1826 | - $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;} "; |
|
| 2155 | + return '#' . implode($hexCode); |
|
| 2156 | + } |
|
| 1827 | 2157 | |
| 1828 | - if ( $type == 'primary' ) { |
|
| 1829 | - // dropdown's |
|
| 1830 | - $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 2158 | + /** |
|
| 2159 | + * Check if we should display examples. |
|
| 2160 | + */ |
|
| 2161 | + public function maybe_show_examples(){ |
|
| 2162 | + if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){ |
|
| 2163 | + echo "<head>"; |
|
| 2164 | + wp_head(); |
|
| 2165 | + echo "</head>"; |
|
| 2166 | + echo "<body>"; |
|
| 2167 | + echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 2168 | + echo "</body>"; |
|
| 2169 | + exit; |
|
| 2170 | + } |
|
| 2171 | + } |
|
| 1831 | 2172 | |
| 1832 | - // input states |
|
| 1833 | - $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 2173 | + /** |
|
| 2174 | + * Get developer examples. |
|
| 2175 | + * |
|
| 2176 | + * @return string |
|
| 2177 | + */ |
|
| 2178 | + public function get_examples(){ |
|
| 2179 | + $output = ''; |
|
| 1834 | 2180 | |
| 1835 | - // page link |
|
| 1836 | - $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1837 | - } |
|
| 1838 | 2181 | |
| 1839 | - // alerts |
|
| 1840 | - if ( $aui_bs5 ) { |
|
| 1841 | -// $output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20; border-color: ".$color_code."30;color:$darker_40} "; |
|
| 1842 | - $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;} "; |
|
| 1843 | - } |
|
| 1844 | - |
|
| 1845 | - return $output; |
|
| 1846 | - } |
|
| 1847 | - |
|
| 1848 | - /** |
|
| 1849 | - * |
|
| 1850 | - * @deprecated 0.1.76 Use css_overwrite() |
|
| 1851 | - * |
|
| 1852 | - * @param $color_code |
|
| 1853 | - * @param $compatibility |
|
| 1854 | - * @param $use_variable |
|
| 1855 | - * |
|
| 1856 | - * @return string |
|
| 1857 | - */ |
|
| 1858 | - public static function css_primary($color_code,$compatibility, $use_variable = false){ |
|
| 1859 | - |
|
| 1860 | - if(!$use_variable){ |
|
| 1861 | - $color_code = sanitize_hex_color($color_code); |
|
| 1862 | - if(!$color_code){return '';} |
|
| 1863 | - } |
|
| 1864 | - |
|
| 1865 | - /** |
|
| 1866 | - * c = color, b = background color, o = border-color, f = fill |
|
| 1867 | - */ |
|
| 1868 | - $selectors = array( |
|
| 1869 | - 'a' => array('c'), |
|
| 1870 | - '.btn-primary' => array('b','o'), |
|
| 1871 | - '.btn-primary.disabled' => array('b','o'), |
|
| 1872 | - '.btn-primary:disabled' => array('b','o'), |
|
| 1873 | - '.btn-outline-primary' => array('c','o'), |
|
| 1874 | - '.btn-outline-primary:hover' => array('b','o'), |
|
| 1875 | - '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'), |
|
| 1876 | - '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'), |
|
| 1877 | - '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'), |
|
| 1878 | - '.btn-link' => array('c'), |
|
| 1879 | - '.dropdown-item.active' => array('b'), |
|
| 1880 | - '.custom-control-input:checked~.custom-control-label::before' => array('b','o'), |
|
| 1881 | - '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'), |
|
| 1882 | -// '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules... |
|
| 1883 | -// '.custom-range::-moz-range-thumb' => array('b'), |
|
| 1884 | -// '.custom-range::-ms-thumb' => array('b'), |
|
| 1885 | - '.nav-pills .nav-link.active' => array('b'), |
|
| 1886 | - '.nav-pills .show>.nav-link' => array('b'), |
|
| 1887 | - '.page-link' => array('c'), |
|
| 1888 | - '.page-item.active .page-link' => array('b','o'), |
|
| 1889 | - '.badge-primary' => array('b'), |
|
| 1890 | - '.alert-primary' => array('b','o'), |
|
| 1891 | - '.progress-bar' => array('b'), |
|
| 1892 | - '.list-group-item.active' => array('b','o'), |
|
| 1893 | - '.bg-primary' => array('b','f'), |
|
| 1894 | - '.btn-link.btn-primary' => array('c'), |
|
| 1895 | - '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'), |
|
| 1896 | - ); |
|
| 1897 | - |
|
| 1898 | - $important_selectors = array( |
|
| 1899 | - '.bg-primary' => array('b','f'), |
|
| 1900 | - '.border-primary' => array('o'), |
|
| 1901 | - '.text-primary' => array('c'), |
|
| 1902 | - ); |
|
| 1903 | - |
|
| 1904 | - $color = array(); |
|
| 1905 | - $color_i = array(); |
|
| 1906 | - $background = array(); |
|
| 1907 | - $background_i = array(); |
|
| 1908 | - $border = array(); |
|
| 1909 | - $border_i = array(); |
|
| 1910 | - $fill = array(); |
|
| 1911 | - $fill_i = array(); |
|
| 1912 | - |
|
| 1913 | - $output = ''; |
|
| 1914 | - |
|
| 1915 | - // build rules into each type |
|
| 1916 | - foreach($selectors as $selector => $types){ |
|
| 1917 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1918 | - $types = array_combine($types,$types); |
|
| 1919 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 1920 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 1921 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 1922 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 1923 | - } |
|
| 1924 | - |
|
| 1925 | - // build rules into each type |
|
| 1926 | - foreach($important_selectors as $selector => $types){ |
|
| 1927 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 1928 | - $types = array_combine($types,$types); |
|
| 1929 | - if(isset($types['c'])){$color_i[] = $selector;} |
|
| 1930 | - if(isset($types['b'])){$background_i[] = $selector;} |
|
| 1931 | - if(isset($types['o'])){$border_i[] = $selector;} |
|
| 1932 | - if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 1933 | - } |
|
| 1934 | - |
|
| 1935 | - // add any color rules |
|
| 1936 | - if(!empty($color)){ |
|
| 1937 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 1938 | - } |
|
| 1939 | - if(!empty($color_i)){ |
|
| 1940 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 1941 | - } |
|
| 1942 | - |
|
| 1943 | - // add any background color rules |
|
| 1944 | - if(!empty($background)){ |
|
| 1945 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 1946 | - } |
|
| 1947 | - if(!empty($background_i)){ |
|
| 1948 | - $output .= implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 1949 | - } |
|
| 1950 | - |
|
| 1951 | - // add any border color rules |
|
| 1952 | - if(!empty($border)){ |
|
| 1953 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 1954 | - } |
|
| 1955 | - if(!empty($border_i)){ |
|
| 1956 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 1957 | - } |
|
| 1958 | - |
|
| 1959 | - // add any fill color rules |
|
| 1960 | - if(!empty($fill)){ |
|
| 1961 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 1962 | - } |
|
| 1963 | - if(!empty($fill_i)){ |
|
| 1964 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 1965 | - } |
|
| 1966 | - |
|
| 1967 | - |
|
| 1968 | - $prefix = $compatibility ? ".bsui " : ""; |
|
| 1969 | - |
|
| 1970 | - // darken |
|
| 1971 | - $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 1972 | - $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 1973 | - $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 1974 | - |
|
| 1975 | - // lighten |
|
| 1976 | - $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 1977 | - |
|
| 1978 | - // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 1979 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 1980 | - |
|
| 1981 | - |
|
| 1982 | - // button states |
|
| 1983 | - $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 1984 | - $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;} "; |
|
| 1985 | - $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.";} "; |
|
| 1986 | - $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;} "; |
|
| 1987 | - |
|
| 1988 | - |
|
| 1989 | - // dropdown's |
|
| 1990 | - $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} "; |
|
| 1991 | - |
|
| 1992 | - |
|
| 1993 | - // input states |
|
| 1994 | - $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1995 | - |
|
| 1996 | - // page link |
|
| 1997 | - $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} "; |
|
| 1998 | - |
|
| 1999 | - return $output; |
|
| 2000 | - } |
|
| 2001 | - |
|
| 2002 | - /** |
|
| 2003 | - * |
|
| 2004 | - * @deprecated 0.1.76 Use css_overwrite() |
|
| 2005 | - * |
|
| 2006 | - * @param $color_code |
|
| 2007 | - * @param $compatibility |
|
| 2008 | - * |
|
| 2009 | - * @return string |
|
| 2010 | - */ |
|
| 2011 | - public static function css_secondary($color_code,$compatibility){; |
|
| 2012 | - $color_code = sanitize_hex_color($color_code); |
|
| 2013 | - if(!$color_code){return '';} |
|
| 2014 | - /** |
|
| 2015 | - * c = color, b = background color, o = border-color, f = fill |
|
| 2016 | - */ |
|
| 2017 | - $selectors = array( |
|
| 2018 | - '.btn-secondary' => array('b','o'), |
|
| 2019 | - '.btn-secondary.disabled' => array('b','o'), |
|
| 2020 | - '.btn-secondary:disabled' => array('b','o'), |
|
| 2021 | - '.btn-outline-secondary' => array('c','o'), |
|
| 2022 | - '.btn-outline-secondary:hover' => array('b','o'), |
|
| 2023 | - '.btn-outline-secondary.disabled' => array('c'), |
|
| 2024 | - '.btn-outline-secondary:disabled' => array('c'), |
|
| 2025 | - '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'), |
|
| 2026 | - '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'), |
|
| 2027 | - '.btn-outline-secondary.dropdown-toggle' => array('b','o'), |
|
| 2028 | - '.badge-secondary' => array('b'), |
|
| 2029 | - '.alert-secondary' => array('b','o'), |
|
| 2030 | - '.btn-link.btn-secondary' => array('c'), |
|
| 2031 | - ); |
|
| 2032 | - |
|
| 2033 | - $important_selectors = array( |
|
| 2034 | - '.bg-secondary' => array('b','f'), |
|
| 2035 | - '.border-secondary' => array('o'), |
|
| 2036 | - '.text-secondary' => array('c'), |
|
| 2037 | - ); |
|
| 2038 | - |
|
| 2039 | - $color = array(); |
|
| 2040 | - $color_i = array(); |
|
| 2041 | - $background = array(); |
|
| 2042 | - $background_i = array(); |
|
| 2043 | - $border = array(); |
|
| 2044 | - $border_i = array(); |
|
| 2045 | - $fill = array(); |
|
| 2046 | - $fill_i = array(); |
|
| 2047 | - |
|
| 2048 | - $output = ''; |
|
| 2049 | - |
|
| 2050 | - // build rules into each type |
|
| 2051 | - foreach($selectors as $selector => $types){ |
|
| 2052 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 2053 | - $types = array_combine($types,$types); |
|
| 2054 | - if(isset($types['c'])){$color[] = $selector;} |
|
| 2055 | - if(isset($types['b'])){$background[] = $selector;} |
|
| 2056 | - if(isset($types['o'])){$border[] = $selector;} |
|
| 2057 | - if(isset($types['f'])){$fill[] = $selector;} |
|
| 2058 | - } |
|
| 2059 | - |
|
| 2060 | - // build rules into each type |
|
| 2061 | - foreach($important_selectors as $selector => $types){ |
|
| 2062 | - $selector = $compatibility ? ".bsui ".$selector : $selector; |
|
| 2063 | - $types = array_combine($types,$types); |
|
| 2064 | - if(isset($types['c'])){$color_i[] = $selector;} |
|
| 2065 | - if(isset($types['b'])){$background_i[] = $selector;} |
|
| 2066 | - if(isset($types['o'])){$border_i[] = $selector;} |
|
| 2067 | - if(isset($types['f'])){$fill_i[] = $selector;} |
|
| 2068 | - } |
|
| 2069 | - |
|
| 2070 | - // add any color rules |
|
| 2071 | - if(!empty($color)){ |
|
| 2072 | - $output .= implode(",",$color) . "{color: $color_code;} "; |
|
| 2073 | - } |
|
| 2074 | - if(!empty($color_i)){ |
|
| 2075 | - $output .= implode(",",$color_i) . "{color: $color_code !important;} "; |
|
| 2076 | - } |
|
| 2077 | - |
|
| 2078 | - // add any background color rules |
|
| 2079 | - if(!empty($background)){ |
|
| 2080 | - $output .= implode(",",$background) . "{background-color: $color_code;} "; |
|
| 2081 | - } |
|
| 2082 | - if(!empty($background_i)){ |
|
| 2083 | - $output .= implode(",",$background_i) . "{background-color: $color_code !important;} "; |
|
| 2084 | - } |
|
| 2085 | - |
|
| 2086 | - // add any border color rules |
|
| 2087 | - if(!empty($border)){ |
|
| 2088 | - $output .= implode(",",$border) . "{border-color: $color_code;} "; |
|
| 2089 | - } |
|
| 2090 | - if(!empty($border_i)){ |
|
| 2091 | - $output .= implode(",",$border_i) . "{border-color: $color_code !important;} "; |
|
| 2092 | - } |
|
| 2093 | - |
|
| 2094 | - // add any fill color rules |
|
| 2095 | - if(!empty($fill)){ |
|
| 2096 | - $output .= implode(",",$fill) . "{fill: $color_code;} "; |
|
| 2097 | - } |
|
| 2098 | - if(!empty($fill_i)){ |
|
| 2099 | - $output .= implode(",",$fill_i) . "{fill: $color_code !important;} "; |
|
| 2100 | - } |
|
| 2101 | - |
|
| 2102 | - |
|
| 2103 | - $prefix = $compatibility ? ".bsui " : ""; |
|
| 2104 | - |
|
| 2105 | - // darken |
|
| 2106 | - $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075"); |
|
| 2107 | - $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10"); |
|
| 2108 | - $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125"); |
|
| 2109 | - |
|
| 2110 | - // lighten |
|
| 2111 | - $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25"); |
|
| 2112 | - |
|
| 2113 | - // opacity see https://css-tricks.com/8-digit-hex-codes/ |
|
| 2114 | - $op_25 = $color_code."40"; // 25% opacity |
|
| 2115 | - |
|
| 2116 | - |
|
| 2117 | - // button states |
|
| 2118 | - $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075."; border-color: ".$darker_10.";} "; |
|
| 2119 | - $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;} "; |
|
| 2120 | - $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.";} "; |
|
| 2121 | - $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;} "; |
|
| 2122 | - |
|
| 2123 | - |
|
| 2124 | - return $output; |
|
| 2125 | - } |
|
| 2126 | - |
|
| 2127 | - /** |
|
| 2128 | - * Increases or decreases the brightness of a color by a percentage of the current brightness. |
|
| 2129 | - * |
|
| 2130 | - * @param string $hexCode Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF` |
|
| 2131 | - * @param float $adjustPercent A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker. |
|
| 2132 | - * |
|
| 2133 | - * @return string |
|
| 2134 | - */ |
|
| 2135 | - public static function css_hex_lighten_darken($hexCode, $adjustPercent) { |
|
| 2136 | - $hexCode = ltrim($hexCode, '#'); |
|
| 2137 | - |
|
| 2138 | - if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) { |
|
| 2139 | - return $hexCode; |
|
| 2140 | - } |
|
| 2141 | - |
|
| 2142 | - if (strlen($hexCode) == 3) { |
|
| 2143 | - $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2]; |
|
| 2144 | - } |
|
| 2145 | - |
|
| 2146 | - $hexCode = array_map('hexdec', str_split($hexCode, 2)); |
|
| 2147 | - |
|
| 2148 | - foreach ($hexCode as & $color) { |
|
| 2149 | - $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color; |
|
| 2150 | - $adjustAmount = ceil($adjustableLimit * $adjustPercent); |
|
| 2151 | - |
|
| 2152 | - $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT); |
|
| 2153 | - } |
|
| 2154 | - |
|
| 2155 | - return '#' . implode($hexCode); |
|
| 2156 | - } |
|
| 2157 | - |
|
| 2158 | - /** |
|
| 2159 | - * Check if we should display examples. |
|
| 2160 | - */ |
|
| 2161 | - public function maybe_show_examples(){ |
|
| 2162 | - if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){ |
|
| 2163 | - echo "<head>"; |
|
| 2164 | - wp_head(); |
|
| 2165 | - echo "</head>"; |
|
| 2166 | - echo "<body>"; |
|
| 2167 | - echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 2168 | - echo "</body>"; |
|
| 2169 | - exit; |
|
| 2170 | - } |
|
| 2171 | - } |
|
| 2172 | - |
|
| 2173 | - /** |
|
| 2174 | - * Get developer examples. |
|
| 2175 | - * |
|
| 2176 | - * @return string |
|
| 2177 | - */ |
|
| 2178 | - public function get_examples(){ |
|
| 2179 | - $output = ''; |
|
| 2180 | - |
|
| 2181 | - |
|
| 2182 | - // open form |
|
| 2183 | - $output .= "<form class='p-5 m-5 border rounded'>"; |
|
| 2184 | - |
|
| 2185 | - // input example |
|
| 2186 | - $output .= aui()->input(array( |
|
| 2187 | - 'type' => 'text', |
|
| 2188 | - 'id' => 'text-example', |
|
| 2189 | - 'name' => 'text-example', |
|
| 2190 | - 'placeholder' => 'text placeholder', |
|
| 2191 | - 'title' => 'Text input example', |
|
| 2192 | - 'value' => '', |
|
| 2193 | - 'required' => false, |
|
| 2194 | - 'help_text' => 'help text', |
|
| 2195 | - 'label' => 'Text input example label' |
|
| 2196 | - )); |
|
| 2197 | - |
|
| 2198 | - // input example |
|
| 2199 | - $output .= aui()->input(array( |
|
| 2200 | - 'type' => 'url', |
|
| 2201 | - 'id' => 'text-example2', |
|
| 2202 | - 'name' => 'text-example', |
|
| 2203 | - 'placeholder' => 'url placeholder', |
|
| 2204 | - 'title' => 'Text input example', |
|
| 2205 | - 'value' => '', |
|
| 2206 | - 'required' => false, |
|
| 2207 | - 'help_text' => 'help text', |
|
| 2208 | - 'label' => 'Text input example label' |
|
| 2209 | - )); |
|
| 2210 | - |
|
| 2211 | - // checkbox example |
|
| 2212 | - $output .= aui()->input(array( |
|
| 2213 | - 'type' => 'checkbox', |
|
| 2214 | - 'id' => 'checkbox-example', |
|
| 2215 | - 'name' => 'checkbox-example', |
|
| 2216 | - 'placeholder' => 'checkbox-example', |
|
| 2217 | - 'title' => 'Checkbox example', |
|
| 2218 | - 'value' => '1', |
|
| 2219 | - 'checked' => true, |
|
| 2220 | - 'required' => false, |
|
| 2221 | - 'help_text' => 'help text', |
|
| 2222 | - 'label' => 'Checkbox checked' |
|
| 2223 | - )); |
|
| 2224 | - |
|
| 2225 | - // checkbox example |
|
| 2226 | - $output .= aui()->input(array( |
|
| 2227 | - 'type' => 'checkbox', |
|
| 2228 | - 'id' => 'checkbox-example2', |
|
| 2229 | - 'name' => 'checkbox-example2', |
|
| 2230 | - 'placeholder' => 'checkbox-example', |
|
| 2231 | - 'title' => 'Checkbox example', |
|
| 2232 | - 'value' => '1', |
|
| 2233 | - 'checked' => false, |
|
| 2234 | - 'required' => false, |
|
| 2235 | - 'help_text' => 'help text', |
|
| 2236 | - 'label' => 'Checkbox un-checked' |
|
| 2237 | - )); |
|
| 2238 | - |
|
| 2239 | - // switch example |
|
| 2240 | - $output .= aui()->input(array( |
|
| 2241 | - 'type' => 'checkbox', |
|
| 2242 | - 'id' => 'switch-example', |
|
| 2243 | - 'name' => 'switch-example', |
|
| 2244 | - 'placeholder' => 'checkbox-example', |
|
| 2245 | - 'title' => 'Switch example', |
|
| 2246 | - 'value' => '1', |
|
| 2247 | - 'checked' => true, |
|
| 2248 | - 'switch' => true, |
|
| 2249 | - 'required' => false, |
|
| 2250 | - 'help_text' => 'help text', |
|
| 2251 | - 'label' => 'Switch on' |
|
| 2252 | - )); |
|
| 2253 | - |
|
| 2254 | - // switch example |
|
| 2255 | - $output .= aui()->input(array( |
|
| 2256 | - 'type' => 'checkbox', |
|
| 2257 | - 'id' => 'switch-example2', |
|
| 2258 | - 'name' => 'switch-example2', |
|
| 2259 | - 'placeholder' => 'checkbox-example', |
|
| 2260 | - 'title' => 'Switch example', |
|
| 2261 | - 'value' => '1', |
|
| 2262 | - 'checked' => false, |
|
| 2263 | - 'switch' => true, |
|
| 2264 | - 'required' => false, |
|
| 2265 | - 'help_text' => 'help text', |
|
| 2266 | - 'label' => 'Switch off' |
|
| 2267 | - )); |
|
| 2268 | - |
|
| 2269 | - // close form |
|
| 2270 | - $output .= "</form>"; |
|
| 2271 | - |
|
| 2272 | - return $output; |
|
| 2273 | - } |
|
| 2274 | - |
|
| 2275 | - /** |
|
| 2276 | - * Calendar params. |
|
| 2277 | - * |
|
| 2278 | - * @since 0.1.44 |
|
| 2279 | - * |
|
| 2280 | - * @return array Calendar params. |
|
| 2281 | - */ |
|
| 2282 | - public static function calendar_params() { |
|
| 2283 | - $params = array( |
|
| 2284 | - 'month_long_1' => __( 'January', 'ayecode-connect' ), |
|
| 2285 | - 'month_long_2' => __( 'February', 'ayecode-connect' ), |
|
| 2286 | - 'month_long_3' => __( 'March', 'ayecode-connect' ), |
|
| 2287 | - 'month_long_4' => __( 'April', 'ayecode-connect' ), |
|
| 2288 | - 'month_long_5' => __( 'May', 'ayecode-connect' ), |
|
| 2289 | - 'month_long_6' => __( 'June', 'ayecode-connect' ), |
|
| 2290 | - 'month_long_7' => __( 'July', 'ayecode-connect' ), |
|
| 2291 | - 'month_long_8' => __( 'August', 'ayecode-connect' ), |
|
| 2292 | - 'month_long_9' => __( 'September', 'ayecode-connect' ), |
|
| 2293 | - 'month_long_10' => __( 'October', 'ayecode-connect' ), |
|
| 2294 | - 'month_long_11' => __( 'November', 'ayecode-connect' ), |
|
| 2295 | - 'month_long_12' => __( 'December', 'ayecode-connect' ), |
|
| 2296 | - 'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ), |
|
| 2297 | - 'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ), |
|
| 2298 | - 'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ), |
|
| 2299 | - 'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ), |
|
| 2300 | - 'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ), |
|
| 2301 | - 'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ), |
|
| 2302 | - 'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ), |
|
| 2303 | - 'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ), |
|
| 2304 | - 'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ), |
|
| 2305 | - 'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ), |
|
| 2306 | - 'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ), |
|
| 2307 | - 'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ), |
|
| 2308 | - 'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ), |
|
| 2309 | - 'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ), |
|
| 2310 | - 'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ), |
|
| 2311 | - 'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ), |
|
| 2312 | - 'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ), |
|
| 2313 | - 'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ), |
|
| 2314 | - 'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ), |
|
| 2315 | - 'day_s2_1' => __( 'Su', 'ayecode-connect' ), |
|
| 2316 | - 'day_s2_2' => __( 'Mo', 'ayecode-connect' ), |
|
| 2317 | - 'day_s2_3' => __( 'Tu', 'ayecode-connect' ), |
|
| 2318 | - 'day_s2_4' => __( 'We', 'ayecode-connect' ), |
|
| 2319 | - 'day_s2_5' => __( 'Th', 'ayecode-connect' ), |
|
| 2320 | - 'day_s2_6' => __( 'Fr', 'ayecode-connect' ), |
|
| 2321 | - 'day_s2_7' => __( 'Sa', 'ayecode-connect' ), |
|
| 2322 | - 'day_s3_1' => __( 'Sun', 'ayecode-connect' ), |
|
| 2323 | - 'day_s3_2' => __( 'Mon', 'ayecode-connect' ), |
|
| 2324 | - 'day_s3_3' => __( 'Tue', 'ayecode-connect' ), |
|
| 2325 | - 'day_s3_4' => __( 'Wed', 'ayecode-connect' ), |
|
| 2326 | - 'day_s3_5' => __( 'Thu', 'ayecode-connect' ), |
|
| 2327 | - 'day_s3_6' => __( 'Fri', 'ayecode-connect' ), |
|
| 2328 | - 'day_s3_7' => __( 'Sat', 'ayecode-connect' ), |
|
| 2329 | - 'day_s5_1' => __( 'Sunday', 'ayecode-connect' ), |
|
| 2330 | - 'day_s5_2' => __( 'Monday', 'ayecode-connect' ), |
|
| 2331 | - 'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ), |
|
| 2332 | - 'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ), |
|
| 2333 | - 'day_s5_5' => __( 'Thursday', 'ayecode-connect' ), |
|
| 2334 | - 'day_s5_6' => __( 'Friday', 'ayecode-connect' ), |
|
| 2335 | - 'day_s5_7' => __( 'Saturday', 'ayecode-connect' ), |
|
| 2336 | - 'am_lower' => __( 'am', 'ayecode-connect' ), |
|
| 2337 | - 'pm_lower' => __( 'pm', 'ayecode-connect' ), |
|
| 2338 | - 'am_upper' => __( 'AM', 'ayecode-connect' ), |
|
| 2339 | - 'pm_upper' => __( 'PM', 'ayecode-connect' ), |
|
| 2340 | - 'firstDayOfWeek' => (int) get_option( 'start_of_week' ), |
|
| 2341 | - 'time_24hr' => false, |
|
| 2342 | - 'year' => __( 'Year', 'ayecode-connect' ), |
|
| 2343 | - 'hour' => __( 'Hour', 'ayecode-connect' ), |
|
| 2344 | - 'minute' => __( 'Minute', 'ayecode-connect' ), |
|
| 2345 | - 'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ), |
|
| 2346 | - 'rangeSeparator' => __( ' to ', 'ayecode-connect' ), |
|
| 2347 | - 'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ), |
|
| 2348 | - 'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' ) |
|
| 2349 | - ); |
|
| 2350 | - |
|
| 2351 | - return apply_filters( 'ayecode_ui_calendar_params', $params ); |
|
| 2352 | - } |
|
| 2353 | - |
|
| 2354 | - /** |
|
| 2355 | - * Flatpickr calendar localize. |
|
| 2356 | - * |
|
| 2357 | - * @since 0.1.44 |
|
| 2358 | - * |
|
| 2359 | - * @return string Calendar locale. |
|
| 2360 | - */ |
|
| 2361 | - public static function flatpickr_locale() { |
|
| 2362 | - $params = self::calendar_params(); |
|
| 2363 | - |
|
| 2364 | - if ( is_string( $params ) ) { |
|
| 2365 | - $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' ); |
|
| 2366 | - } else { |
|
| 2367 | - foreach ( (array) $params as $key => $value ) { |
|
| 2368 | - if ( ! is_scalar( $value ) ) { |
|
| 2369 | - continue; |
|
| 2370 | - } |
|
| 2371 | - |
|
| 2372 | - $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2373 | - } |
|
| 2374 | - } |
|
| 2182 | + // open form |
|
| 2183 | + $output .= "<form class='p-5 m-5 border rounded'>"; |
|
| 2184 | + |
|
| 2185 | + // input example |
|
| 2186 | + $output .= aui()->input(array( |
|
| 2187 | + 'type' => 'text', |
|
| 2188 | + 'id' => 'text-example', |
|
| 2189 | + 'name' => 'text-example', |
|
| 2190 | + 'placeholder' => 'text placeholder', |
|
| 2191 | + 'title' => 'Text input example', |
|
| 2192 | + 'value' => '', |
|
| 2193 | + 'required' => false, |
|
| 2194 | + 'help_text' => 'help text', |
|
| 2195 | + 'label' => 'Text input example label' |
|
| 2196 | + )); |
|
| 2197 | + |
|
| 2198 | + // input example |
|
| 2199 | + $output .= aui()->input(array( |
|
| 2200 | + 'type' => 'url', |
|
| 2201 | + 'id' => 'text-example2', |
|
| 2202 | + 'name' => 'text-example', |
|
| 2203 | + 'placeholder' => 'url placeholder', |
|
| 2204 | + 'title' => 'Text input example', |
|
| 2205 | + 'value' => '', |
|
| 2206 | + 'required' => false, |
|
| 2207 | + 'help_text' => 'help text', |
|
| 2208 | + 'label' => 'Text input example label' |
|
| 2209 | + )); |
|
| 2210 | + |
|
| 2211 | + // checkbox example |
|
| 2212 | + $output .= aui()->input(array( |
|
| 2213 | + 'type' => 'checkbox', |
|
| 2214 | + 'id' => 'checkbox-example', |
|
| 2215 | + 'name' => 'checkbox-example', |
|
| 2216 | + 'placeholder' => 'checkbox-example', |
|
| 2217 | + 'title' => 'Checkbox example', |
|
| 2218 | + 'value' => '1', |
|
| 2219 | + 'checked' => true, |
|
| 2220 | + 'required' => false, |
|
| 2221 | + 'help_text' => 'help text', |
|
| 2222 | + 'label' => 'Checkbox checked' |
|
| 2223 | + )); |
|
| 2224 | + |
|
| 2225 | + // checkbox example |
|
| 2226 | + $output .= aui()->input(array( |
|
| 2227 | + 'type' => 'checkbox', |
|
| 2228 | + 'id' => 'checkbox-example2', |
|
| 2229 | + 'name' => 'checkbox-example2', |
|
| 2230 | + 'placeholder' => 'checkbox-example', |
|
| 2231 | + 'title' => 'Checkbox example', |
|
| 2232 | + 'value' => '1', |
|
| 2233 | + 'checked' => false, |
|
| 2234 | + 'required' => false, |
|
| 2235 | + 'help_text' => 'help text', |
|
| 2236 | + 'label' => 'Checkbox un-checked' |
|
| 2237 | + )); |
|
| 2238 | + |
|
| 2239 | + // switch example |
|
| 2240 | + $output .= aui()->input(array( |
|
| 2241 | + 'type' => 'checkbox', |
|
| 2242 | + 'id' => 'switch-example', |
|
| 2243 | + 'name' => 'switch-example', |
|
| 2244 | + 'placeholder' => 'checkbox-example', |
|
| 2245 | + 'title' => 'Switch example', |
|
| 2246 | + 'value' => '1', |
|
| 2247 | + 'checked' => true, |
|
| 2248 | + 'switch' => true, |
|
| 2249 | + 'required' => false, |
|
| 2250 | + 'help_text' => 'help text', |
|
| 2251 | + 'label' => 'Switch on' |
|
| 2252 | + )); |
|
| 2253 | + |
|
| 2254 | + // switch example |
|
| 2255 | + $output .= aui()->input(array( |
|
| 2256 | + 'type' => 'checkbox', |
|
| 2257 | + 'id' => 'switch-example2', |
|
| 2258 | + 'name' => 'switch-example2', |
|
| 2259 | + 'placeholder' => 'checkbox-example', |
|
| 2260 | + 'title' => 'Switch example', |
|
| 2261 | + 'value' => '1', |
|
| 2262 | + 'checked' => false, |
|
| 2263 | + 'switch' => true, |
|
| 2264 | + 'required' => false, |
|
| 2265 | + 'help_text' => 'help text', |
|
| 2266 | + 'label' => 'Switch off' |
|
| 2267 | + )); |
|
| 2268 | + |
|
| 2269 | + // close form |
|
| 2270 | + $output .= "</form>"; |
|
| 2271 | + |
|
| 2272 | + return $output; |
|
| 2273 | + } |
|
| 2274 | + |
|
| 2275 | + /** |
|
| 2276 | + * Calendar params. |
|
| 2277 | + * |
|
| 2278 | + * @since 0.1.44 |
|
| 2279 | + * |
|
| 2280 | + * @return array Calendar params. |
|
| 2281 | + */ |
|
| 2282 | + public static function calendar_params() { |
|
| 2283 | + $params = array( |
|
| 2284 | + 'month_long_1' => __( 'January', 'ayecode-connect' ), |
|
| 2285 | + 'month_long_2' => __( 'February', 'ayecode-connect' ), |
|
| 2286 | + 'month_long_3' => __( 'March', 'ayecode-connect' ), |
|
| 2287 | + 'month_long_4' => __( 'April', 'ayecode-connect' ), |
|
| 2288 | + 'month_long_5' => __( 'May', 'ayecode-connect' ), |
|
| 2289 | + 'month_long_6' => __( 'June', 'ayecode-connect' ), |
|
| 2290 | + 'month_long_7' => __( 'July', 'ayecode-connect' ), |
|
| 2291 | + 'month_long_8' => __( 'August', 'ayecode-connect' ), |
|
| 2292 | + 'month_long_9' => __( 'September', 'ayecode-connect' ), |
|
| 2293 | + 'month_long_10' => __( 'October', 'ayecode-connect' ), |
|
| 2294 | + 'month_long_11' => __( 'November', 'ayecode-connect' ), |
|
| 2295 | + 'month_long_12' => __( 'December', 'ayecode-connect' ), |
|
| 2296 | + 'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ), |
|
| 2297 | + 'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ), |
|
| 2298 | + 'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ), |
|
| 2299 | + 'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ), |
|
| 2300 | + 'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ), |
|
| 2301 | + 'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ), |
|
| 2302 | + 'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ), |
|
| 2303 | + 'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ), |
|
| 2304 | + 'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ), |
|
| 2305 | + 'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ), |
|
| 2306 | + 'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ), |
|
| 2307 | + 'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ), |
|
| 2308 | + 'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ), |
|
| 2309 | + 'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ), |
|
| 2310 | + 'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ), |
|
| 2311 | + 'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ), |
|
| 2312 | + 'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ), |
|
| 2313 | + 'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ), |
|
| 2314 | + 'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ), |
|
| 2315 | + 'day_s2_1' => __( 'Su', 'ayecode-connect' ), |
|
| 2316 | + 'day_s2_2' => __( 'Mo', 'ayecode-connect' ), |
|
| 2317 | + 'day_s2_3' => __( 'Tu', 'ayecode-connect' ), |
|
| 2318 | + 'day_s2_4' => __( 'We', 'ayecode-connect' ), |
|
| 2319 | + 'day_s2_5' => __( 'Th', 'ayecode-connect' ), |
|
| 2320 | + 'day_s2_6' => __( 'Fr', 'ayecode-connect' ), |
|
| 2321 | + 'day_s2_7' => __( 'Sa', 'ayecode-connect' ), |
|
| 2322 | + 'day_s3_1' => __( 'Sun', 'ayecode-connect' ), |
|
| 2323 | + 'day_s3_2' => __( 'Mon', 'ayecode-connect' ), |
|
| 2324 | + 'day_s3_3' => __( 'Tue', 'ayecode-connect' ), |
|
| 2325 | + 'day_s3_4' => __( 'Wed', 'ayecode-connect' ), |
|
| 2326 | + 'day_s3_5' => __( 'Thu', 'ayecode-connect' ), |
|
| 2327 | + 'day_s3_6' => __( 'Fri', 'ayecode-connect' ), |
|
| 2328 | + 'day_s3_7' => __( 'Sat', 'ayecode-connect' ), |
|
| 2329 | + 'day_s5_1' => __( 'Sunday', 'ayecode-connect' ), |
|
| 2330 | + 'day_s5_2' => __( 'Monday', 'ayecode-connect' ), |
|
| 2331 | + 'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ), |
|
| 2332 | + 'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ), |
|
| 2333 | + 'day_s5_5' => __( 'Thursday', 'ayecode-connect' ), |
|
| 2334 | + 'day_s5_6' => __( 'Friday', 'ayecode-connect' ), |
|
| 2335 | + 'day_s5_7' => __( 'Saturday', 'ayecode-connect' ), |
|
| 2336 | + 'am_lower' => __( 'am', 'ayecode-connect' ), |
|
| 2337 | + 'pm_lower' => __( 'pm', 'ayecode-connect' ), |
|
| 2338 | + 'am_upper' => __( 'AM', 'ayecode-connect' ), |
|
| 2339 | + 'pm_upper' => __( 'PM', 'ayecode-connect' ), |
|
| 2340 | + 'firstDayOfWeek' => (int) get_option( 'start_of_week' ), |
|
| 2341 | + 'time_24hr' => false, |
|
| 2342 | + 'year' => __( 'Year', 'ayecode-connect' ), |
|
| 2343 | + 'hour' => __( 'Hour', 'ayecode-connect' ), |
|
| 2344 | + 'minute' => __( 'Minute', 'ayecode-connect' ), |
|
| 2345 | + 'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ), |
|
| 2346 | + 'rangeSeparator' => __( ' to ', 'ayecode-connect' ), |
|
| 2347 | + 'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ), |
|
| 2348 | + 'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' ) |
|
| 2349 | + ); |
|
| 2350 | + |
|
| 2351 | + return apply_filters( 'ayecode_ui_calendar_params', $params ); |
|
| 2352 | + } |
|
| 2353 | + |
|
| 2354 | + /** |
|
| 2355 | + * Flatpickr calendar localize. |
|
| 2356 | + * |
|
| 2357 | + * @since 0.1.44 |
|
| 2358 | + * |
|
| 2359 | + * @return string Calendar locale. |
|
| 2360 | + */ |
|
| 2361 | + public static function flatpickr_locale() { |
|
| 2362 | + $params = self::calendar_params(); |
|
| 2363 | + |
|
| 2364 | + if ( is_string( $params ) ) { |
|
| 2365 | + $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' ); |
|
| 2366 | + } else { |
|
| 2367 | + foreach ( (array) $params as $key => $value ) { |
|
| 2368 | + if ( ! is_scalar( $value ) ) { |
|
| 2369 | + continue; |
|
| 2370 | + } |
|
| 2371 | + |
|
| 2372 | + $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2373 | + } |
|
| 2374 | + } |
|
| 2375 | 2375 | |
| 2376 | - $day_s3 = array(); |
|
| 2377 | - $day_s5 = array(); |
|
| 2376 | + $day_s3 = array(); |
|
| 2377 | + $day_s5 = array(); |
|
| 2378 | 2378 | |
| 2379 | - for ( $i = 1; $i <= 7; $i ++ ) { |
|
| 2380 | - $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 2381 | - $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 2382 | - } |
|
| 2379 | + for ( $i = 1; $i <= 7; $i ++ ) { |
|
| 2380 | + $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 2381 | + $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 2382 | + } |
|
| 2383 | 2383 | |
| 2384 | - $month_s = array(); |
|
| 2385 | - $month_long = array(); |
|
| 2384 | + $month_s = array(); |
|
| 2385 | + $month_long = array(); |
|
| 2386 | 2386 | |
| 2387 | - for ( $i = 1; $i <= 12; $i ++ ) { |
|
| 2388 | - $month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 2389 | - $month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 2390 | - } |
|
| 2387 | + for ( $i = 1; $i <= 12; $i ++ ) { |
|
| 2388 | + $month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 2389 | + $month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
| 2390 | + } |
|
| 2391 | 2391 | |
| 2392 | - ob_start(); |
|
| 2393 | - if ( 0 ) { ?><script><?php } ?> |
|
| 2392 | + ob_start(); |
|
| 2393 | + if ( 0 ) { ?><script><?php } ?> |
|
| 2394 | 2394 | { |
| 2395 | 2395 | weekdays: { |
| 2396 | 2396 | shorthand: ['<?php echo implode( "','", $day_s3 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'], |
@@ -2429,189 +2429,189 @@ discard block |
||
| 2429 | 2429 | } |
| 2430 | 2430 | <?php if ( 0 ) { ?></script><?php } ?> |
| 2431 | 2431 | <?php |
| 2432 | - $locale = ob_get_clean(); |
|
| 2433 | - |
|
| 2434 | - return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) ); |
|
| 2435 | - } |
|
| 2436 | - |
|
| 2437 | - /** |
|
| 2438 | - * Select2 JS params. |
|
| 2439 | - * |
|
| 2440 | - * @since 0.1.44 |
|
| 2441 | - * |
|
| 2442 | - * @return array Select2 JS params. |
|
| 2443 | - */ |
|
| 2444 | - public static function select2_params() { |
|
| 2445 | - $params = array( |
|
| 2446 | - 'i18n_select_state_text' => esc_attr__( 'Select an option…', 'ayecode-connect' ), |
|
| 2447 | - 'i18n_no_matches' => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ), |
|
| 2448 | - 'i18n_ajax_error' => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ), |
|
| 2449 | - 'i18n_input_too_short_1' => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2450 | - 'i18n_input_too_short_n' => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2451 | - 'i18n_input_too_long_1' => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ), |
|
| 2452 | - 'i18n_input_too_long_n' => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2453 | - 'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ), |
|
| 2454 | - 'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ), |
|
| 2455 | - 'i18n_load_more' => _x( 'Loading more results…', 'enhanced select', 'ayecode-connect' ), |
|
| 2456 | - 'i18n_searching' => _x( 'Searching…', 'enhanced select', 'ayecode-connect' ) |
|
| 2457 | - ); |
|
| 2458 | - |
|
| 2459 | - return apply_filters( 'ayecode_ui_select2_params', $params ); |
|
| 2460 | - } |
|
| 2461 | - |
|
| 2462 | - /** |
|
| 2463 | - * Select2 JS localize. |
|
| 2464 | - * |
|
| 2465 | - * @since 0.1.44 |
|
| 2466 | - * |
|
| 2467 | - * @return string Select2 JS locale. |
|
| 2468 | - */ |
|
| 2469 | - public static function select2_locale() { |
|
| 2470 | - $params = self::select2_params(); |
|
| 2471 | - |
|
| 2472 | - foreach ( (array) $params as $key => $value ) { |
|
| 2473 | - if ( ! is_scalar( $value ) ) { |
|
| 2474 | - continue; |
|
| 2475 | - } |
|
| 2432 | + $locale = ob_get_clean(); |
|
| 2476 | 2433 | |
| 2477 | - $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2478 | - } |
|
| 2479 | - |
|
| 2480 | - $locale = json_encode( $params ); |
|
| 2481 | - |
|
| 2482 | - return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) ); |
|
| 2483 | - } |
|
| 2484 | - |
|
| 2485 | - /** |
|
| 2486 | - * Time ago JS localize. |
|
| 2487 | - * |
|
| 2488 | - * @since 0.1.47 |
|
| 2489 | - * |
|
| 2490 | - * @return string Time ago JS locale. |
|
| 2491 | - */ |
|
| 2492 | - public static function timeago_locale() { |
|
| 2493 | - $params = array( |
|
| 2494 | - 'prefix_ago' => '', |
|
| 2495 | - 'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ), |
|
| 2496 | - 'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ', |
|
| 2497 | - 'suffix_after' => '', |
|
| 2498 | - 'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ), |
|
| 2499 | - 'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ), |
|
| 2500 | - 'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ), |
|
| 2501 | - 'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ), |
|
| 2502 | - 'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ), |
|
| 2503 | - 'day' => _x( 'a day', 'time ago', 'ayecode-connect' ), |
|
| 2504 | - 'days' => _x( '%d days', 'time ago', 'ayecode-connect' ), |
|
| 2505 | - 'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ), |
|
| 2506 | - 'months' => _x( '%d months', 'time ago', 'ayecode-connect' ), |
|
| 2507 | - 'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ), |
|
| 2508 | - 'years' => _x( '%d years', 'time ago', 'ayecode-connect' ), |
|
| 2509 | - ); |
|
| 2510 | - |
|
| 2511 | - $params = apply_filters( 'ayecode_ui_timeago_params', $params ); |
|
| 2512 | - |
|
| 2513 | - foreach ( (array) $params as $key => $value ) { |
|
| 2514 | - if ( ! is_scalar( $value ) ) { |
|
| 2515 | - continue; |
|
| 2516 | - } |
|
| 2434 | + return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) ); |
|
| 2435 | + } |
|
| 2436 | + |
|
| 2437 | + /** |
|
| 2438 | + * Select2 JS params. |
|
| 2439 | + * |
|
| 2440 | + * @since 0.1.44 |
|
| 2441 | + * |
|
| 2442 | + * @return array Select2 JS params. |
|
| 2443 | + */ |
|
| 2444 | + public static function select2_params() { |
|
| 2445 | + $params = array( |
|
| 2446 | + 'i18n_select_state_text' => esc_attr__( 'Select an option…', 'ayecode-connect' ), |
|
| 2447 | + 'i18n_no_matches' => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ), |
|
| 2448 | + 'i18n_ajax_error' => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ), |
|
| 2449 | + 'i18n_input_too_short_1' => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2450 | + 'i18n_input_too_short_n' => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2451 | + 'i18n_input_too_long_1' => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ), |
|
| 2452 | + 'i18n_input_too_long_n' => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ), |
|
| 2453 | + 'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ), |
|
| 2454 | + 'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ), |
|
| 2455 | + 'i18n_load_more' => _x( 'Loading more results…', 'enhanced select', 'ayecode-connect' ), |
|
| 2456 | + 'i18n_searching' => _x( 'Searching…', 'enhanced select', 'ayecode-connect' ) |
|
| 2457 | + ); |
|
| 2458 | + |
|
| 2459 | + return apply_filters( 'ayecode_ui_select2_params', $params ); |
|
| 2460 | + } |
|
| 2461 | + |
|
| 2462 | + /** |
|
| 2463 | + * Select2 JS localize. |
|
| 2464 | + * |
|
| 2465 | + * @since 0.1.44 |
|
| 2466 | + * |
|
| 2467 | + * @return string Select2 JS locale. |
|
| 2468 | + */ |
|
| 2469 | + public static function select2_locale() { |
|
| 2470 | + $params = self::select2_params(); |
|
| 2471 | + |
|
| 2472 | + foreach ( (array) $params as $key => $value ) { |
|
| 2473 | + if ( ! is_scalar( $value ) ) { |
|
| 2474 | + continue; |
|
| 2475 | + } |
|
| 2476 | + |
|
| 2477 | + $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2478 | + } |
|
| 2479 | + |
|
| 2480 | + $locale = json_encode( $params ); |
|
| 2481 | + |
|
| 2482 | + return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) ); |
|
| 2483 | + } |
|
| 2484 | + |
|
| 2485 | + /** |
|
| 2486 | + * Time ago JS localize. |
|
| 2487 | + * |
|
| 2488 | + * @since 0.1.47 |
|
| 2489 | + * |
|
| 2490 | + * @return string Time ago JS locale. |
|
| 2491 | + */ |
|
| 2492 | + public static function timeago_locale() { |
|
| 2493 | + $params = array( |
|
| 2494 | + 'prefix_ago' => '', |
|
| 2495 | + 'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ), |
|
| 2496 | + 'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ', |
|
| 2497 | + 'suffix_after' => '', |
|
| 2498 | + 'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ), |
|
| 2499 | + 'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ), |
|
| 2500 | + 'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ), |
|
| 2501 | + 'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ), |
|
| 2502 | + 'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ), |
|
| 2503 | + 'day' => _x( 'a day', 'time ago', 'ayecode-connect' ), |
|
| 2504 | + 'days' => _x( '%d days', 'time ago', 'ayecode-connect' ), |
|
| 2505 | + 'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ), |
|
| 2506 | + 'months' => _x( '%d months', 'time ago', 'ayecode-connect' ), |
|
| 2507 | + 'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ), |
|
| 2508 | + 'years' => _x( '%d years', 'time ago', 'ayecode-connect' ), |
|
| 2509 | + ); |
|
| 2510 | + |
|
| 2511 | + $params = apply_filters( 'ayecode_ui_timeago_params', $params ); |
|
| 2512 | + |
|
| 2513 | + foreach ( (array) $params as $key => $value ) { |
|
| 2514 | + if ( ! is_scalar( $value ) ) { |
|
| 2515 | + continue; |
|
| 2516 | + } |
|
| 2517 | + |
|
| 2518 | + $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2519 | + } |
|
| 2520 | + |
|
| 2521 | + $locale = json_encode( $params ); |
|
| 2522 | + |
|
| 2523 | + return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) ); |
|
| 2524 | + } |
|
| 2525 | + |
|
| 2526 | + /** |
|
| 2527 | + * JavaScript Minifier |
|
| 2528 | + * |
|
| 2529 | + * @param $input |
|
| 2530 | + * |
|
| 2531 | + * @return mixed |
|
| 2532 | + */ |
|
| 2533 | + public static function minify_js($input) { |
|
| 2534 | + if(trim($input) === "") return $input; |
|
| 2535 | + return preg_replace( |
|
| 2536 | + array( |
|
| 2537 | + // Remove comment(s) |
|
| 2538 | + '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#', |
|
| 2539 | + // Remove white-space(s) outside the string and regex |
|
| 2540 | + '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s', |
|
| 2541 | + // Remove the last semicolon |
|
| 2542 | + '#;+\}#', |
|
| 2543 | + // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}` |
|
| 2544 | + '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i', |
|
| 2545 | + // --ibid. From `foo['bar']` to `foo.bar` |
|
| 2546 | + '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i' |
|
| 2547 | + ), |
|
| 2548 | + array( |
|
| 2549 | + '$1', |
|
| 2550 | + '$1$2', |
|
| 2551 | + '}', |
|
| 2552 | + '$1$3', |
|
| 2553 | + '$1.$3' |
|
| 2554 | + ), |
|
| 2555 | + $input); |
|
| 2556 | + } |
|
| 2517 | 2557 | |
| 2518 | - $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); |
|
| 2519 | - } |
|
| 2520 | - |
|
| 2521 | - $locale = json_encode( $params ); |
|
| 2522 | - |
|
| 2523 | - return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) ); |
|
| 2524 | - } |
|
| 2525 | - |
|
| 2526 | - /** |
|
| 2527 | - * JavaScript Minifier |
|
| 2528 | - * |
|
| 2529 | - * @param $input |
|
| 2530 | - * |
|
| 2531 | - * @return mixed |
|
| 2532 | - */ |
|
| 2533 | - public static function minify_js($input) { |
|
| 2534 | - if(trim($input) === "") return $input; |
|
| 2535 | - return preg_replace( |
|
| 2536 | - array( |
|
| 2537 | - // Remove comment(s) |
|
| 2538 | - '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#', |
|
| 2539 | - // Remove white-space(s) outside the string and regex |
|
| 2540 | - '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s', |
|
| 2541 | - // Remove the last semicolon |
|
| 2542 | - '#;+\}#', |
|
| 2543 | - // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}` |
|
| 2544 | - '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i', |
|
| 2545 | - // --ibid. From `foo['bar']` to `foo.bar` |
|
| 2546 | - '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i' |
|
| 2547 | - ), |
|
| 2548 | - array( |
|
| 2549 | - '$1', |
|
| 2550 | - '$1$2', |
|
| 2551 | - '}', |
|
| 2552 | - '$1$3', |
|
| 2553 | - '$1.$3' |
|
| 2554 | - ), |
|
| 2555 | - $input); |
|
| 2556 | - } |
|
| 2557 | - |
|
| 2558 | - /** |
|
| 2559 | - * Minify CSS |
|
| 2560 | - * |
|
| 2561 | - * @param $input |
|
| 2562 | - * |
|
| 2563 | - * @return mixed |
|
| 2564 | - */ |
|
| 2565 | - public static function minify_css($input) { |
|
| 2566 | - if(trim($input) === "") return $input; |
|
| 2567 | - return preg_replace( |
|
| 2568 | - array( |
|
| 2569 | - // Remove comment(s) |
|
| 2570 | - '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s', |
|
| 2571 | - // Remove unused white-space(s) |
|
| 2572 | - '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si', |
|
| 2573 | - // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0` |
|
| 2574 | - '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si', |
|
| 2575 | - // Replace `:0 0 0 0` with `:0` |
|
| 2576 | - '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i', |
|
| 2577 | - // Replace `background-position:0` with `background-position:0 0` |
|
| 2578 | - '#(background-position):0(?=[;\}])#si', |
|
| 2579 | - // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space |
|
| 2580 | - '#(?<=[\s:,\-])0+\.(\d+)#s', |
|
| 2581 | - // Minify string value |
|
| 2582 | - '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si', |
|
| 2583 | - '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si', |
|
| 2584 | - // Minify HEX color code |
|
| 2585 | - '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i', |
|
| 2586 | - // Replace `(border|outline):none` with `(border|outline):0` |
|
| 2587 | - '#(?<=[\{;])(border|outline):none(?=[;\}\!])#', |
|
| 2588 | - // Remove empty selector(s) |
|
| 2589 | - '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s' |
|
| 2590 | - ), |
|
| 2591 | - array( |
|
| 2592 | - '$1', |
|
| 2593 | - '$1$2$3$4$5$6$7', |
|
| 2594 | - '$1', |
|
| 2595 | - ':0', |
|
| 2596 | - '$1:0 0', |
|
| 2597 | - '.$1', |
|
| 2598 | - '$1$3', |
|
| 2599 | - '$1$2$4$5', |
|
| 2600 | - '$1$2$3', |
|
| 2601 | - '$1:0', |
|
| 2602 | - '$1$2' |
|
| 2603 | - ), |
|
| 2604 | - $input); |
|
| 2605 | - } |
|
| 2606 | - |
|
| 2607 | - /** |
|
| 2608 | - * Get the conditional fields JavaScript. |
|
| 2609 | - * |
|
| 2610 | - * @return mixed |
|
| 2611 | - */ |
|
| 2612 | - public function conditional_fields_js() { |
|
| 2613 | - ob_start(); |
|
| 2614 | - ?> |
|
| 2558 | + /** |
|
| 2559 | + * Minify CSS |
|
| 2560 | + * |
|
| 2561 | + * @param $input |
|
| 2562 | + * |
|
| 2563 | + * @return mixed |
|
| 2564 | + */ |
|
| 2565 | + public static function minify_css($input) { |
|
| 2566 | + if(trim($input) === "") return $input; |
|
| 2567 | + return preg_replace( |
|
| 2568 | + array( |
|
| 2569 | + // Remove comment(s) |
|
| 2570 | + '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s', |
|
| 2571 | + // Remove unused white-space(s) |
|
| 2572 | + '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si', |
|
| 2573 | + // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0` |
|
| 2574 | + '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si', |
|
| 2575 | + // Replace `:0 0 0 0` with `:0` |
|
| 2576 | + '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i', |
|
| 2577 | + // Replace `background-position:0` with `background-position:0 0` |
|
| 2578 | + '#(background-position):0(?=[;\}])#si', |
|
| 2579 | + // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space |
|
| 2580 | + '#(?<=[\s:,\-])0+\.(\d+)#s', |
|
| 2581 | + // Minify string value |
|
| 2582 | + '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si', |
|
| 2583 | + '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si', |
|
| 2584 | + // Minify HEX color code |
|
| 2585 | + '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i', |
|
| 2586 | + // Replace `(border|outline):none` with `(border|outline):0` |
|
| 2587 | + '#(?<=[\{;])(border|outline):none(?=[;\}\!])#', |
|
| 2588 | + // Remove empty selector(s) |
|
| 2589 | + '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s' |
|
| 2590 | + ), |
|
| 2591 | + array( |
|
| 2592 | + '$1', |
|
| 2593 | + '$1$2$3$4$5$6$7', |
|
| 2594 | + '$1', |
|
| 2595 | + ':0', |
|
| 2596 | + '$1:0 0', |
|
| 2597 | + '.$1', |
|
| 2598 | + '$1$3', |
|
| 2599 | + '$1$2$4$5', |
|
| 2600 | + '$1$2$3', |
|
| 2601 | + '$1:0', |
|
| 2602 | + '$1$2' |
|
| 2603 | + ), |
|
| 2604 | + $input); |
|
| 2605 | + } |
|
| 2606 | + |
|
| 2607 | + /** |
|
| 2608 | + * Get the conditional fields JavaScript. |
|
| 2609 | + * |
|
| 2610 | + * @return mixed |
|
| 2611 | + */ |
|
| 2612 | + public function conditional_fields_js() { |
|
| 2613 | + ob_start(); |
|
| 2614 | + ?> |
|
| 2615 | 2615 | <script> |
| 2616 | 2616 | /** |
| 2617 | 2617 | * Conditional Fields |
@@ -3146,237 +3146,237 @@ discard block |
||
| 3146 | 3146 | <?php do_action( 'aui_conditional_fields_js', $this ); ?> |
| 3147 | 3147 | </script> |
| 3148 | 3148 | <?php |
| 3149 | - $output = ob_get_clean(); |
|
| 3150 | - |
|
| 3151 | - return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) ); |
|
| 3152 | - } |
|
| 3153 | - |
|
| 3154 | - /** |
|
| 3155 | - * Check if block editor page. |
|
| 3156 | - * |
|
| 3157 | - * @since 0.2.27 |
|
| 3158 | - * |
|
| 3159 | - * @return bool |
|
| 3160 | - */ |
|
| 3161 | - public static function is_block_editor() { |
|
| 3162 | - if ( is_admin() ) { |
|
| 3163 | - $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array(); |
|
| 3164 | - |
|
| 3165 | - if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) { |
|
| 3166 | - return true; |
|
| 3167 | - } |
|
| 3168 | - } |
|
| 3169 | - |
|
| 3170 | - return false; |
|
| 3171 | - } |
|
| 3172 | - |
|
| 3173 | - /** |
|
| 3174 | - * Checks if the current call is a ajax call to get the block content. |
|
| 3175 | - * |
|
| 3176 | - * This can be used in your widget to return different content as the block content. |
|
| 3177 | - * |
|
| 3178 | - * @since 0.2.27 |
|
| 3179 | - * |
|
| 3180 | - * @return bool |
|
| 3181 | - */ |
|
| 3182 | - public static function is_block_content_call() { |
|
| 3183 | - $result = false; |
|
| 3184 | - if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) { |
|
| 3185 | - $result = true; |
|
| 3186 | - } |
|
| 3187 | - |
|
| 3188 | - return $result; |
|
| 3189 | - } |
|
| 3190 | - |
|
| 3191 | - /** |
|
| 3192 | - * Tests if the current output is inside a Divi preview. |
|
| 3193 | - * |
|
| 3194 | - * @since 0.2.27 |
|
| 3195 | - * |
|
| 3196 | - * @return bool |
|
| 3197 | - */ |
|
| 3198 | - public static function is_divi_preview() { |
|
| 3199 | - $result = false; |
|
| 3200 | - if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) { |
|
| 3201 | - $result = true; |
|
| 3202 | - } |
|
| 3203 | - |
|
| 3204 | - return $result; |
|
| 3205 | - } |
|
| 3206 | - |
|
| 3207 | - /** |
|
| 3208 | - * Tests if the current output is inside a elementor preview. |
|
| 3209 | - * |
|
| 3210 | - * |
|
| 3211 | - * @since 0.2.27 |
|
| 3212 | - * |
|
| 3213 | - * @return bool |
|
| 3214 | - */ |
|
| 3215 | - public static function is_elementor_preview() { |
|
| 3216 | - $result = false; |
|
| 3217 | - if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) { |
|
| 3218 | - $result = true; |
|
| 3219 | - } |
|
| 3220 | - |
|
| 3221 | - return $result; |
|
| 3222 | - } |
|
| 3223 | - |
|
| 3224 | - /** |
|
| 3225 | - * Tests if the current output is inside a Beaver builder preview. |
|
| 3226 | - * |
|
| 3227 | - * @since 0.2.27 |
|
| 3228 | - * |
|
| 3229 | - * @return bool |
|
| 3230 | - */ |
|
| 3231 | - public static function is_beaver_preview() { |
|
| 3232 | - $result = false; |
|
| 3233 | - if ( isset( $_REQUEST['fl_builder'] ) ) { |
|
| 3234 | - $result = true; |
|
| 3235 | - } |
|
| 3236 | - |
|
| 3237 | - return $result; |
|
| 3238 | - } |
|
| 3239 | - |
|
| 3240 | - /** |
|
| 3241 | - * Tests if the current output is inside a siteorigin builder preview. |
|
| 3242 | - * |
|
| 3243 | - * @since 0.2.27 |
|
| 3244 | - * |
|
| 3245 | - * @return bool |
|
| 3246 | - */ |
|
| 3247 | - public static function is_siteorigin_preview() { |
|
| 3248 | - $result = false; |
|
| 3249 | - if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) { |
|
| 3250 | - $result = true; |
|
| 3251 | - } |
|
| 3252 | - |
|
| 3253 | - return $result; |
|
| 3254 | - } |
|
| 3255 | - |
|
| 3256 | - /** |
|
| 3257 | - * Tests if the current output is inside a cornerstone builder preview. |
|
| 3258 | - * |
|
| 3259 | - * @since 0.2.27 |
|
| 3260 | - * |
|
| 3261 | - * @return bool |
|
| 3262 | - */ |
|
| 3263 | - public static function is_cornerstone_preview() { |
|
| 3264 | - $result = false; |
|
| 3265 | - if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) { |
|
| 3266 | - $result = true; |
|
| 3267 | - } |
|
| 3268 | - |
|
| 3269 | - return $result; |
|
| 3270 | - } |
|
| 3271 | - |
|
| 3272 | - /** |
|
| 3273 | - * Tests if the current output is inside a fusion builder preview. |
|
| 3274 | - * |
|
| 3275 | - * @return bool |
|
| 3276 | - *@since 1.1.0 |
|
| 3277 | - */ |
|
| 3278 | - public static function is_fusion_preview() { |
|
| 3279 | - $result = false; |
|
| 3280 | - if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) { |
|
| 3281 | - $result = true; |
|
| 3282 | - } |
|
| 3283 | - |
|
| 3284 | - return $result; |
|
| 3285 | - } |
|
| 3286 | - |
|
| 3287 | - /** |
|
| 3288 | - * Tests if the current output is inside a Oxygen builder preview. |
|
| 3289 | - * |
|
| 3290 | - * @return bool |
|
| 3291 | - *@since 1.0.18 |
|
| 3292 | - */ |
|
| 3293 | - public static function is_oxygen_preview() { |
|
| 3294 | - $result = false; |
|
| 3295 | - if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) { |
|
| 3296 | - $result = true; |
|
| 3297 | - } |
|
| 3298 | - |
|
| 3299 | - return $result; |
|
| 3300 | - } |
|
| 3301 | - |
|
| 3302 | - /** |
|
| 3303 | - * Check for Kallyas theme Zion builder preview. |
|
| 3304 | - * |
|
| 3305 | - * @since 0.2.27 |
|
| 3306 | - * |
|
| 3307 | - * @return bool |
|
| 3308 | - */ |
|
| 3309 | - public static function is_kallyas_zion_preview() { |
|
| 3310 | - $result = false; |
|
| 3311 | - |
|
| 3312 | - if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) { |
|
| 3313 | - $result = true; |
|
| 3314 | - } |
|
| 3315 | - |
|
| 3316 | - return $result; |
|
| 3317 | - } |
|
| 3318 | - |
|
| 3319 | - /** |
|
| 3320 | - * Check for Bricks theme builder preview. |
|
| 3321 | - * |
|
| 3322 | - * @since 0.2.27 |
|
| 3323 | - * |
|
| 3324 | - * @return bool |
|
| 3325 | - */ |
|
| 3326 | - public static function is_bricks_preview() { |
|
| 3327 | - $result = false; |
|
| 3328 | - |
|
| 3329 | - if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) { |
|
| 3330 | - $result = true; |
|
| 3331 | - } |
|
| 3332 | - |
|
| 3333 | - return $result; |
|
| 3334 | - } |
|
| 3335 | - |
|
| 3336 | - /** |
|
| 3337 | - * General function to check if we are in a preview situation. |
|
| 3338 | - * |
|
| 3339 | - * @since 0.2.27 |
|
| 3340 | - * |
|
| 3341 | - * @return bool |
|
| 3342 | - */ |
|
| 3343 | - public static function is_preview() { |
|
| 3344 | - $preview = false; |
|
| 3345 | - |
|
| 3346 | - if ( self::is_block_editor() ) { |
|
| 3347 | - return true; |
|
| 3348 | - } |
|
| 3349 | - |
|
| 3350 | - if( self::is_block_content_call() ) { |
|
| 3351 | - $preview = true; |
|
| 3352 | - } elseif ( self::is_divi_preview() ) { |
|
| 3353 | - $preview = true; |
|
| 3354 | - } elseif ( self::is_elementor_preview() ) { |
|
| 3355 | - $preview = true; |
|
| 3356 | - } elseif ( self::is_beaver_preview() ) { |
|
| 3357 | - $preview = true; |
|
| 3358 | - } elseif ( self::is_siteorigin_preview() ) { |
|
| 3359 | - $preview = true; |
|
| 3360 | - } elseif ( self::is_cornerstone_preview() ) { |
|
| 3361 | - $preview = true; |
|
| 3362 | - } elseif ( self::is_fusion_preview() ) { |
|
| 3363 | - $preview = true; |
|
| 3364 | - } elseif ( self::is_oxygen_preview() ) { |
|
| 3365 | - $preview = true; |
|
| 3366 | - } elseif( self::is_kallyas_zion_preview() ) { |
|
| 3367 | - $preview = true; |
|
| 3368 | - } elseif( self::is_bricks_preview() ) { |
|
| 3369 | - $preview = true; |
|
| 3370 | - } |
|
| 3371 | - |
|
| 3372 | - return $preview; |
|
| 3373 | - } |
|
| 3374 | - } |
|
| 3375 | - |
|
| 3376 | - global $ayecode_ui_settings; |
|
| 3377 | - |
|
| 3378 | - /** |
|
| 3379 | - * Run the class if found. |
|
| 3380 | - */ |
|
| 3381 | - $ayecode_ui_settings = AyeCode_UI_Settings::instance(); |
|
| 3149 | + $output = ob_get_clean(); |
|
| 3150 | + |
|
| 3151 | + return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) ); |
|
| 3152 | + } |
|
| 3153 | + |
|
| 3154 | + /** |
|
| 3155 | + * Check if block editor page. |
|
| 3156 | + * |
|
| 3157 | + * @since 0.2.27 |
|
| 3158 | + * |
|
| 3159 | + * @return bool |
|
| 3160 | + */ |
|
| 3161 | + public static function is_block_editor() { |
|
| 3162 | + if ( is_admin() ) { |
|
| 3163 | + $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array(); |
|
| 3164 | + |
|
| 3165 | + if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) { |
|
| 3166 | + return true; |
|
| 3167 | + } |
|
| 3168 | + } |
|
| 3169 | + |
|
| 3170 | + return false; |
|
| 3171 | + } |
|
| 3172 | + |
|
| 3173 | + /** |
|
| 3174 | + * Checks if the current call is a ajax call to get the block content. |
|
| 3175 | + * |
|
| 3176 | + * This can be used in your widget to return different content as the block content. |
|
| 3177 | + * |
|
| 3178 | + * @since 0.2.27 |
|
| 3179 | + * |
|
| 3180 | + * @return bool |
|
| 3181 | + */ |
|
| 3182 | + public static function is_block_content_call() { |
|
| 3183 | + $result = false; |
|
| 3184 | + if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) { |
|
| 3185 | + $result = true; |
|
| 3186 | + } |
|
| 3187 | + |
|
| 3188 | + return $result; |
|
| 3189 | + } |
|
| 3190 | + |
|
| 3191 | + /** |
|
| 3192 | + * Tests if the current output is inside a Divi preview. |
|
| 3193 | + * |
|
| 3194 | + * @since 0.2.27 |
|
| 3195 | + * |
|
| 3196 | + * @return bool |
|
| 3197 | + */ |
|
| 3198 | + public static function is_divi_preview() { |
|
| 3199 | + $result = false; |
|
| 3200 | + if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) { |
|
| 3201 | + $result = true; |
|
| 3202 | + } |
|
| 3203 | + |
|
| 3204 | + return $result; |
|
| 3205 | + } |
|
| 3206 | + |
|
| 3207 | + /** |
|
| 3208 | + * Tests if the current output is inside a elementor preview. |
|
| 3209 | + * |
|
| 3210 | + * |
|
| 3211 | + * @since 0.2.27 |
|
| 3212 | + * |
|
| 3213 | + * @return bool |
|
| 3214 | + */ |
|
| 3215 | + public static function is_elementor_preview() { |
|
| 3216 | + $result = false; |
|
| 3217 | + if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) { |
|
| 3218 | + $result = true; |
|
| 3219 | + } |
|
| 3220 | + |
|
| 3221 | + return $result; |
|
| 3222 | + } |
|
| 3223 | + |
|
| 3224 | + /** |
|
| 3225 | + * Tests if the current output is inside a Beaver builder preview. |
|
| 3226 | + * |
|
| 3227 | + * @since 0.2.27 |
|
| 3228 | + * |
|
| 3229 | + * @return bool |
|
| 3230 | + */ |
|
| 3231 | + public static function is_beaver_preview() { |
|
| 3232 | + $result = false; |
|
| 3233 | + if ( isset( $_REQUEST['fl_builder'] ) ) { |
|
| 3234 | + $result = true; |
|
| 3235 | + } |
|
| 3236 | + |
|
| 3237 | + return $result; |
|
| 3238 | + } |
|
| 3239 | + |
|
| 3240 | + /** |
|
| 3241 | + * Tests if the current output is inside a siteorigin builder preview. |
|
| 3242 | + * |
|
| 3243 | + * @since 0.2.27 |
|
| 3244 | + * |
|
| 3245 | + * @return bool |
|
| 3246 | + */ |
|
| 3247 | + public static function is_siteorigin_preview() { |
|
| 3248 | + $result = false; |
|
| 3249 | + if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) { |
|
| 3250 | + $result = true; |
|
| 3251 | + } |
|
| 3252 | + |
|
| 3253 | + return $result; |
|
| 3254 | + } |
|
| 3255 | + |
|
| 3256 | + /** |
|
| 3257 | + * Tests if the current output is inside a cornerstone builder preview. |
|
| 3258 | + * |
|
| 3259 | + * @since 0.2.27 |
|
| 3260 | + * |
|
| 3261 | + * @return bool |
|
| 3262 | + */ |
|
| 3263 | + public static function is_cornerstone_preview() { |
|
| 3264 | + $result = false; |
|
| 3265 | + if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) { |
|
| 3266 | + $result = true; |
|
| 3267 | + } |
|
| 3268 | + |
|
| 3269 | + return $result; |
|
| 3270 | + } |
|
| 3271 | + |
|
| 3272 | + /** |
|
| 3273 | + * Tests if the current output is inside a fusion builder preview. |
|
| 3274 | + * |
|
| 3275 | + * @return bool |
|
| 3276 | + *@since 1.1.0 |
|
| 3277 | + */ |
|
| 3278 | + public static function is_fusion_preview() { |
|
| 3279 | + $result = false; |
|
| 3280 | + if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) { |
|
| 3281 | + $result = true; |
|
| 3282 | + } |
|
| 3283 | + |
|
| 3284 | + return $result; |
|
| 3285 | + } |
|
| 3286 | + |
|
| 3287 | + /** |
|
| 3288 | + * Tests if the current output is inside a Oxygen builder preview. |
|
| 3289 | + * |
|
| 3290 | + * @return bool |
|
| 3291 | + *@since 1.0.18 |
|
| 3292 | + */ |
|
| 3293 | + public static function is_oxygen_preview() { |
|
| 3294 | + $result = false; |
|
| 3295 | + if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) { |
|
| 3296 | + $result = true; |
|
| 3297 | + } |
|
| 3298 | + |
|
| 3299 | + return $result; |
|
| 3300 | + } |
|
| 3301 | + |
|
| 3302 | + /** |
|
| 3303 | + * Check for Kallyas theme Zion builder preview. |
|
| 3304 | + * |
|
| 3305 | + * @since 0.2.27 |
|
| 3306 | + * |
|
| 3307 | + * @return bool |
|
| 3308 | + */ |
|
| 3309 | + public static function is_kallyas_zion_preview() { |
|
| 3310 | + $result = false; |
|
| 3311 | + |
|
| 3312 | + if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) { |
|
| 3313 | + $result = true; |
|
| 3314 | + } |
|
| 3315 | + |
|
| 3316 | + return $result; |
|
| 3317 | + } |
|
| 3318 | + |
|
| 3319 | + /** |
|
| 3320 | + * Check for Bricks theme builder preview. |
|
| 3321 | + * |
|
| 3322 | + * @since 0.2.27 |
|
| 3323 | + * |
|
| 3324 | + * @return bool |
|
| 3325 | + */ |
|
| 3326 | + public static function is_bricks_preview() { |
|
| 3327 | + $result = false; |
|
| 3328 | + |
|
| 3329 | + if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) { |
|
| 3330 | + $result = true; |
|
| 3331 | + } |
|
| 3332 | + |
|
| 3333 | + return $result; |
|
| 3334 | + } |
|
| 3335 | + |
|
| 3336 | + /** |
|
| 3337 | + * General function to check if we are in a preview situation. |
|
| 3338 | + * |
|
| 3339 | + * @since 0.2.27 |
|
| 3340 | + * |
|
| 3341 | + * @return bool |
|
| 3342 | + */ |
|
| 3343 | + public static function is_preview() { |
|
| 3344 | + $preview = false; |
|
| 3345 | + |
|
| 3346 | + if ( self::is_block_editor() ) { |
|
| 3347 | + return true; |
|
| 3348 | + } |
|
| 3349 | + |
|
| 3350 | + if( self::is_block_content_call() ) { |
|
| 3351 | + $preview = true; |
|
| 3352 | + } elseif ( self::is_divi_preview() ) { |
|
| 3353 | + $preview = true; |
|
| 3354 | + } elseif ( self::is_elementor_preview() ) { |
|
| 3355 | + $preview = true; |
|
| 3356 | + } elseif ( self::is_beaver_preview() ) { |
|
| 3357 | + $preview = true; |
|
| 3358 | + } elseif ( self::is_siteorigin_preview() ) { |
|
| 3359 | + $preview = true; |
|
| 3360 | + } elseif ( self::is_cornerstone_preview() ) { |
|
| 3361 | + $preview = true; |
|
| 3362 | + } elseif ( self::is_fusion_preview() ) { |
|
| 3363 | + $preview = true; |
|
| 3364 | + } elseif ( self::is_oxygen_preview() ) { |
|
| 3365 | + $preview = true; |
|
| 3366 | + } elseif( self::is_kallyas_zion_preview() ) { |
|
| 3367 | + $preview = true; |
|
| 3368 | + } elseif( self::is_bricks_preview() ) { |
|
| 3369 | + $preview = true; |
|
| 3370 | + } |
|
| 3371 | + |
|
| 3372 | + return $preview; |
|
| 3373 | + } |
|
| 3374 | + } |
|
| 3375 | + |
|
| 3376 | + global $ayecode_ui_settings; |
|
| 3377 | + |
|
| 3378 | + /** |
|
| 3379 | + * Run the class if found. |
|
| 3380 | + */ |
|
| 3381 | + $ayecode_ui_settings = AyeCode_UI_Settings::instance(); |
|
| 3382 | 3382 | } |
| 3383 | 3383 | \ No newline at end of file |
@@ -7,40 +7,40 @@ |
||
| 7 | 7 | * Bail if we are not in WP. |
| 8 | 8 | */ |
| 9 | 9 | if ( ! defined( 'ABSPATH' ) ) { |
| 10 | - exit; |
|
| 10 | + exit; |
|
| 11 | 11 | } |
| 12 | 12 | |
| 13 | 13 | /** |
| 14 | 14 | * Set the version only if its the current newest while loading. |
| 15 | 15 | */ |
| 16 | 16 | add_action('after_setup_theme', function () { |
| 17 | - global $ayecode_ui_version,$ayecode_ui_file_key; |
|
| 18 | - $this_version = "0.2.30"; |
|
| 19 | - if(empty($ayecode_ui_version) || version_compare($this_version , $ayecode_ui_version, '>')){ |
|
| 20 | - $ayecode_ui_version = $this_version ; |
|
| 21 | - $ayecode_ui_file_key = wp_hash( __FILE__ ); |
|
| 22 | - } |
|
| 17 | + global $ayecode_ui_version,$ayecode_ui_file_key; |
|
| 18 | + $this_version = "0.2.30"; |
|
| 19 | + if(empty($ayecode_ui_version) || version_compare($this_version , $ayecode_ui_version, '>')){ |
|
| 20 | + $ayecode_ui_version = $this_version ; |
|
| 21 | + $ayecode_ui_file_key = wp_hash( __FILE__ ); |
|
| 22 | + } |
|
| 23 | 23 | },0); |
| 24 | 24 | |
| 25 | 25 | /** |
| 26 | 26 | * Load this version of WP Bootstrap Settings only if the file hash is the current one. |
| 27 | 27 | */ |
| 28 | 28 | add_action('after_setup_theme', function () { |
| 29 | - global $ayecode_ui_file_key; |
|
| 30 | - if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){ |
|
| 31 | - include_once( dirname( __FILE__ ) . '/includes/class-aui.php' ); |
|
| 32 | - include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' ); |
|
| 33 | - } |
|
| 29 | + global $ayecode_ui_file_key; |
|
| 30 | + if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){ |
|
| 31 | + include_once( dirname( __FILE__ ) . '/includes/class-aui.php' ); |
|
| 32 | + include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' ); |
|
| 33 | + } |
|
| 34 | 34 | },1); |
| 35 | 35 | |
| 36 | 36 | /** |
| 37 | 37 | * Add the function that calls the class. |
| 38 | 38 | */ |
| 39 | 39 | if(!function_exists('aui')){ |
| 40 | - function aui(){ |
|
| 41 | - if(!class_exists("AUI",false)){ |
|
| 42 | - return false; |
|
| 43 | - } |
|
| 44 | - return AUI::instance(); |
|
| 45 | - } |
|
| 40 | + function aui(){ |
|
| 41 | + if(!class_exists("AUI",false)){ |
|
| 42 | + return false; |
|
| 43 | + } |
|
| 44 | + return AUI::instance(); |
|
| 45 | + } |
|
| 46 | 46 | } |
@@ -6,39 +6,39 @@ |
||
| 6 | 6 | /** |
| 7 | 7 | * Bail if we are not in WP. |
| 8 | 8 | */ |
| 9 | -if ( ! defined( 'ABSPATH' ) ) { |
|
| 9 | +if (!defined('ABSPATH')) { |
|
| 10 | 10 | exit; |
| 11 | 11 | } |
| 12 | 12 | |
| 13 | 13 | /** |
| 14 | 14 | * Set the version only if its the current newest while loading. |
| 15 | 15 | */ |
| 16 | -add_action('after_setup_theme', function () { |
|
| 17 | - global $ayecode_ui_version,$ayecode_ui_file_key; |
|
| 16 | +add_action('after_setup_theme', function() { |
|
| 17 | + global $ayecode_ui_version, $ayecode_ui_file_key; |
|
| 18 | 18 | $this_version = "0.2.30"; |
| 19 | - if(empty($ayecode_ui_version) || version_compare($this_version , $ayecode_ui_version, '>')){ |
|
| 20 | - $ayecode_ui_version = $this_version ; |
|
| 21 | - $ayecode_ui_file_key = wp_hash( __FILE__ ); |
|
| 19 | + if (empty($ayecode_ui_version) || version_compare($this_version, $ayecode_ui_version, '>')) { |
|
| 20 | + $ayecode_ui_version = $this_version; |
|
| 21 | + $ayecode_ui_file_key = wp_hash(__FILE__); |
|
| 22 | 22 | } |
| 23 | 23 | },0); |
| 24 | 24 | |
| 25 | 25 | /** |
| 26 | 26 | * Load this version of WP Bootstrap Settings only if the file hash is the current one. |
| 27 | 27 | */ |
| 28 | -add_action('after_setup_theme', function () { |
|
| 28 | +add_action('after_setup_theme', function() { |
|
| 29 | 29 | global $ayecode_ui_file_key; |
| 30 | - if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){ |
|
| 31 | - include_once( dirname( __FILE__ ) . '/includes/class-aui.php' ); |
|
| 32 | - include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' ); |
|
| 30 | + if ($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash(__FILE__)) { |
|
| 31 | + include_once(dirname(__FILE__) . '/includes/class-aui.php'); |
|
| 32 | + include_once(dirname(__FILE__) . '/includes/ayecode-ui-settings.php'); |
|
| 33 | 33 | } |
| 34 | 34 | },1); |
| 35 | 35 | |
| 36 | 36 | /** |
| 37 | 37 | * Add the function that calls the class. |
| 38 | 38 | */ |
| 39 | -if(!function_exists('aui')){ |
|
| 40 | - function aui(){ |
|
| 41 | - if(!class_exists("AUI",false)){ |
|
| 39 | +if (!function_exists('aui')) { |
|
| 40 | + function aui() { |
|
| 41 | + if (!class_exists("AUI", false)) { |
|
| 42 | 42 | return false; |
| 43 | 43 | } |
| 44 | 44 | return AUI::instance(); |
@@ -6,246 +6,246 @@ discard block |
||
| 6 | 6 | |
| 7 | 7 | class Super_Duper_Bricks_Element extends \Bricks\Element { |
| 8 | 8 | |
| 9 | - public $widget; |
|
| 10 | - |
|
| 11 | - public function __construct( $element = null ) { |
|
| 12 | - |
|
| 13 | - |
|
| 14 | - $block_icon = !empty($this->widget->options['block-icon']) ? $this->widget->options['block-icon'] : ''; |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - $this->category = !empty($this->widget->options['textdomain']) ? esc_attr( $this->widget->options['textdomain'] ) : 'Super Duper'; |
|
| 18 | - $this->name = $this->widget->id_base; |
|
| 19 | - $this->icon = (strpos($block_icon, 'fa') === 0) ? esc_attr($this->widget->options['block-icon']) : 'fas fa-globe-americas'; |
|
| 20 | - |
|
| 21 | - parent::__construct($element); |
|
| 22 | - } |
|
| 23 | - |
|
| 24 | - /** |
|
| 25 | - * Set the element name. |
|
| 26 | - * |
|
| 27 | - * @return array|string|string[]|null |
|
| 28 | - */ |
|
| 29 | - public function get_label() { |
|
| 30 | - $escaped_text = esc_attr( $this->widget->name ); |
|
| 31 | - return str_replace( ' > ', ' > ', $escaped_text ); // keep our > but have it safe |
|
| 32 | - } |
|
| 33 | - |
|
| 34 | - /** |
|
| 35 | - * Bricks function to set the controls |
|
| 36 | - * |
|
| 37 | - * @return void |
|
| 38 | - */ |
|
| 39 | - public function set_controls() { |
|
| 40 | - $args = $this->sd_convert_arguments($this->widget); |
|
| 41 | - |
|
| 42 | - if (!empty($args)) { |
|
| 43 | - $this->controls = $this->controls + $args; |
|
| 44 | - } |
|
| 45 | - |
|
| 46 | - } |
|
| 47 | - |
|
| 48 | - /** |
|
| 49 | - * Set the bricks control groups from the GD ones. |
|
| 50 | - * |
|
| 51 | - * @return void |
|
| 52 | - */ |
|
| 53 | - public function set_control_groups() { |
|
| 54 | - $args = $this->sd_get_arguments(); |
|
| 55 | - |
|
| 56 | - $groups = array(); |
|
| 57 | - if(!empty($args)) { |
|
| 58 | - foreach ($args as $k => $v) { |
|
| 59 | - $g_slug = !empty($v['group']) ? sanitize_title( $v['group'] ) : ''; |
|
| 60 | - if($g_slug && empty($groups[$g_slug])) { |
|
| 61 | - $groups[$g_slug] = array( |
|
| 62 | - 'title' => esc_html( $v['group'] ), |
|
| 63 | - 'tab' => 'content', |
|
| 64 | - ); |
|
| 65 | - } |
|
| 66 | - } |
|
| 67 | - } |
|
| 68 | - |
|
| 69 | - if(!empty($groups)) { |
|
| 70 | - $this->control_groups = $this->control_groups + $groups; |
|
| 71 | - } |
|
| 72 | - |
|
| 73 | - } |
|
| 74 | - |
|
| 75 | - /** |
|
| 76 | - * Get the setting input arguments. |
|
| 77 | - * |
|
| 78 | - * @return mixed |
|
| 79 | - */ |
|
| 80 | - public function sd_get_arguments() { |
|
| 81 | - $args = $this->widget->set_arguments(); |
|
| 82 | - $arg_keys_subtract = $this->sd_remove_arguments(); |
|
| 83 | - |
|
| 84 | - if ( ! empty( $arg_keys_subtract ) ) { |
|
| 85 | - foreach($arg_keys_subtract as $key ){ |
|
| 86 | - unset($args[$key]); |
|
| 87 | - } |
|
| 88 | - } |
|
| 89 | - |
|
| 90 | - return $args; |
|
| 91 | - } |
|
| 92 | - |
|
| 93 | - |
|
| 94 | - /** |
|
| 95 | - * Simply use our own render function for the output. |
|
| 96 | - * |
|
| 97 | - * @return void |
|
| 98 | - */ |
|
| 99 | - public function render() { |
|
| 100 | - $settings = $this->sd_maybe_convert_values( $this->settings ); |
|
| 101 | - |
|
| 102 | - |
|
| 103 | - // set the AyeCode UI calss on the wrapper |
|
| 104 | - $this->set_attribute( '_root', 'class', 'bsui' ); |
|
| 105 | - |
|
| 106 | - // we might need to add a placeholder here for previews. |
|
| 107 | - |
|
| 108 | - // add the bricks attributes to wrapper |
|
| 109 | - echo "<div {$this->render_attributes( '_root' )}>"; |
|
| 110 | - echo $this->widget->output($settings); |
|
| 111 | - echo '</div>'; |
|
| 112 | - } |
|
| 113 | - |
|
| 114 | - /** |
|
| 115 | - * Values can never be arrays so convert if bricks setting make it an array. |
|
| 116 | - * |
|
| 117 | - * @param $settings |
|
| 118 | - * @return mixed |
|
| 119 | - */ |
|
| 120 | - public function sd_maybe_convert_values( $settings ) { |
|
| 121 | - |
|
| 122 | - |
|
| 123 | - if (!empty($settings)) { |
|
| 124 | - foreach( $settings as $k => $v ) { |
|
| 125 | - if(is_array($v)) { |
|
| 126 | - $value = ''; |
|
| 127 | - // is color |
|
| 128 | - if (isset($v['hex'])) { |
|
| 129 | - $value = $v['hex']; |
|
| 130 | - } elseif (isset($v['icon'])) { |
|
| 131 | - $value = $v['icon']; |
|
| 132 | - } |
|
| 133 | - |
|
| 134 | - |
|
| 135 | - // set the value |
|
| 136 | - $settings[$k] = $value; |
|
| 137 | - } |
|
| 138 | - |
|
| 139 | - } |
|
| 140 | - } |
|
| 141 | - |
|
| 142 | - return $settings; |
|
| 143 | - } |
|
| 144 | - |
|
| 145 | - /** |
|
| 146 | - * Convert SD arguments to Bricks arguments. |
|
| 147 | - * |
|
| 148 | - * @param $widget |
|
| 149 | - * |
|
| 150 | - * @return array |
|
| 151 | - */ |
|
| 152 | - public function sd_convert_arguments() |
|
| 153 | - { |
|
| 154 | - $bricks_args = array(); |
|
| 155 | - |
|
| 156 | - $args = $this->sd_get_arguments(); |
|
| 157 | - |
|
| 158 | - if (!empty($args)) { |
|
| 159 | - foreach ($args as $key => $arg) { |
|
| 160 | - |
|
| 161 | - // convert title |
|
| 162 | - if (!empty($arg['title'])) { |
|
| 163 | - $arg['label'] = $arg['title']; |
|
| 164 | - unset($arg['title']); |
|
| 165 | - } |
|
| 166 | - |
|
| 167 | - // set fields not to use dynamic data |
|
| 168 | - $arg['hasDynamicData'] = false; |
|
| 169 | - |
|
| 170 | - if (!empty($arg['group'])) { |
|
| 171 | - $arg['group'] = sanitize_title($arg['group']); |
|
| 172 | - } |
|
| 173 | - |
|
| 174 | - $arg['rerender'] = true; |
|
| 175 | - |
|
| 176 | - // required |
|
| 177 | - if(!empty($arg['element_require'])) { |
|
| 178 | - $arg['required'] = $this->sd_convert_required($arg['element_require']); |
|
| 179 | - unset($arg['element_require']); |
|
| 180 | - } |
|
| 181 | - |
|
| 182 | - // icons |
|
| 183 | - if ('icon' === $key) { |
|
| 184 | - $arg['type'] = 'icon'; |
|
| 185 | - } |
|
| 186 | - |
|
| 187 | - $bricks_args[$key] = $arg; |
|
| 188 | - |
|
| 189 | - } |
|
| 190 | - |
|
| 191 | - } |
|
| 192 | - |
|
| 193 | - return $bricks_args; |
|
| 194 | - |
|
| 195 | - } |
|
| 196 | - |
|
| 197 | - /** |
|
| 198 | - * Convert the SD element_required to the Bricks required syntax. |
|
| 199 | - * |
|
| 200 | - * @param $element_require |
|
| 201 | - * @return array |
|
| 202 | - */ |
|
| 203 | - public function sd_convert_required($element_require) { |
|
| 204 | - $bricks_required = []; |
|
| 205 | - |
|
| 206 | - // Handle logical OR (||) for multiple values |
|
| 207 | - if (strpos($element_require, '||') !== false) { |
|
| 208 | - preg_match('/\[%(.+?)%\] *== *"(.*?)"/', $element_require, $matches); |
|
| 209 | - if ($matches) { |
|
| 210 | - $control_id = $matches[1]; |
|
| 211 | - preg_match_all('/\[%.*?%\] *== *"(.*?)"/', $element_require, $value_matches); |
|
| 212 | - $values = $value_matches[1]; |
|
| 213 | - $bricks_required[] = [$control_id, '=', $values]; |
|
| 214 | - } |
|
| 215 | - return $bricks_required; |
|
| 216 | - } |
|
| 217 | - |
|
| 218 | - // Match individual conditions |
|
| 219 | - preg_match_all('/(!)?\[%(.*?)%\](?:\s*([!=<>]=?)\s*(".*?"|\'.*?\'|\d+))?/', $element_require, $matches, PREG_SET_ORDER); |
|
| 220 | - |
|
| 221 | - foreach ($matches as $match) { |
|
| 222 | - $is_negation = isset($match[1]) && $match[1] === '!'; |
|
| 223 | - $control_id = $match[2]; |
|
| 224 | - $operator = isset($match[3]) ? str_replace('==', '=', $match[3]) : ($is_negation ? '=' : '!='); |
|
| 225 | - $value = isset($match[4]) ? trim($match[4], '"\'') : ($is_negation ? '' : ''); |
|
| 226 | - |
|
| 227 | - // Adjust for negation without explicit operator |
|
| 228 | - if ($is_negation && !isset($match[3])) { |
|
| 229 | - $operator = '='; |
|
| 230 | - $value = ''; |
|
| 231 | - } |
|
| 232 | - |
|
| 233 | - $bricks_required[] = [$control_id, $operator, $value]; |
|
| 234 | - } |
|
| 235 | - |
|
| 236 | - return $bricks_required; |
|
| 237 | - } |
|
| 238 | - |
|
| 239 | - |
|
| 240 | - /** |
|
| 241 | - * A way to remove some settings by keys. |
|
| 242 | - * |
|
| 243 | - * @return array |
|
| 244 | - */ |
|
| 245 | - public function sd_remove_arguments() |
|
| 246 | - { |
|
| 247 | - return array(); |
|
| 248 | - } |
|
| 9 | + public $widget; |
|
| 10 | + |
|
| 11 | + public function __construct( $element = null ) { |
|
| 12 | + |
|
| 13 | + |
|
| 14 | + $block_icon = !empty($this->widget->options['block-icon']) ? $this->widget->options['block-icon'] : ''; |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + $this->category = !empty($this->widget->options['textdomain']) ? esc_attr( $this->widget->options['textdomain'] ) : 'Super Duper'; |
|
| 18 | + $this->name = $this->widget->id_base; |
|
| 19 | + $this->icon = (strpos($block_icon, 'fa') === 0) ? esc_attr($this->widget->options['block-icon']) : 'fas fa-globe-americas'; |
|
| 20 | + |
|
| 21 | + parent::__construct($element); |
|
| 22 | + } |
|
| 23 | + |
|
| 24 | + /** |
|
| 25 | + * Set the element name. |
|
| 26 | + * |
|
| 27 | + * @return array|string|string[]|null |
|
| 28 | + */ |
|
| 29 | + public function get_label() { |
|
| 30 | + $escaped_text = esc_attr( $this->widget->name ); |
|
| 31 | + return str_replace( ' > ', ' > ', $escaped_text ); // keep our > but have it safe |
|
| 32 | + } |
|
| 33 | + |
|
| 34 | + /** |
|
| 35 | + * Bricks function to set the controls |
|
| 36 | + * |
|
| 37 | + * @return void |
|
| 38 | + */ |
|
| 39 | + public function set_controls() { |
|
| 40 | + $args = $this->sd_convert_arguments($this->widget); |
|
| 41 | + |
|
| 42 | + if (!empty($args)) { |
|
| 43 | + $this->controls = $this->controls + $args; |
|
| 44 | + } |
|
| 45 | + |
|
| 46 | + } |
|
| 47 | + |
|
| 48 | + /** |
|
| 49 | + * Set the bricks control groups from the GD ones. |
|
| 50 | + * |
|
| 51 | + * @return void |
|
| 52 | + */ |
|
| 53 | + public function set_control_groups() { |
|
| 54 | + $args = $this->sd_get_arguments(); |
|
| 55 | + |
|
| 56 | + $groups = array(); |
|
| 57 | + if(!empty($args)) { |
|
| 58 | + foreach ($args as $k => $v) { |
|
| 59 | + $g_slug = !empty($v['group']) ? sanitize_title( $v['group'] ) : ''; |
|
| 60 | + if($g_slug && empty($groups[$g_slug])) { |
|
| 61 | + $groups[$g_slug] = array( |
|
| 62 | + 'title' => esc_html( $v['group'] ), |
|
| 63 | + 'tab' => 'content', |
|
| 64 | + ); |
|
| 65 | + } |
|
| 66 | + } |
|
| 67 | + } |
|
| 68 | + |
|
| 69 | + if(!empty($groups)) { |
|
| 70 | + $this->control_groups = $this->control_groups + $groups; |
|
| 71 | + } |
|
| 72 | + |
|
| 73 | + } |
|
| 74 | + |
|
| 75 | + /** |
|
| 76 | + * Get the setting input arguments. |
|
| 77 | + * |
|
| 78 | + * @return mixed |
|
| 79 | + */ |
|
| 80 | + public function sd_get_arguments() { |
|
| 81 | + $args = $this->widget->set_arguments(); |
|
| 82 | + $arg_keys_subtract = $this->sd_remove_arguments(); |
|
| 83 | + |
|
| 84 | + if ( ! empty( $arg_keys_subtract ) ) { |
|
| 85 | + foreach($arg_keys_subtract as $key ){ |
|
| 86 | + unset($args[$key]); |
|
| 87 | + } |
|
| 88 | + } |
|
| 89 | + |
|
| 90 | + return $args; |
|
| 91 | + } |
|
| 92 | + |
|
| 93 | + |
|
| 94 | + /** |
|
| 95 | + * Simply use our own render function for the output. |
|
| 96 | + * |
|
| 97 | + * @return void |
|
| 98 | + */ |
|
| 99 | + public function render() { |
|
| 100 | + $settings = $this->sd_maybe_convert_values( $this->settings ); |
|
| 101 | + |
|
| 102 | + |
|
| 103 | + // set the AyeCode UI calss on the wrapper |
|
| 104 | + $this->set_attribute( '_root', 'class', 'bsui' ); |
|
| 105 | + |
|
| 106 | + // we might need to add a placeholder here for previews. |
|
| 107 | + |
|
| 108 | + // add the bricks attributes to wrapper |
|
| 109 | + echo "<div {$this->render_attributes( '_root' )}>"; |
|
| 110 | + echo $this->widget->output($settings); |
|
| 111 | + echo '</div>'; |
|
| 112 | + } |
|
| 113 | + |
|
| 114 | + /** |
|
| 115 | + * Values can never be arrays so convert if bricks setting make it an array. |
|
| 116 | + * |
|
| 117 | + * @param $settings |
|
| 118 | + * @return mixed |
|
| 119 | + */ |
|
| 120 | + public function sd_maybe_convert_values( $settings ) { |
|
| 121 | + |
|
| 122 | + |
|
| 123 | + if (!empty($settings)) { |
|
| 124 | + foreach( $settings as $k => $v ) { |
|
| 125 | + if(is_array($v)) { |
|
| 126 | + $value = ''; |
|
| 127 | + // is color |
|
| 128 | + if (isset($v['hex'])) { |
|
| 129 | + $value = $v['hex']; |
|
| 130 | + } elseif (isset($v['icon'])) { |
|
| 131 | + $value = $v['icon']; |
|
| 132 | + } |
|
| 133 | + |
|
| 134 | + |
|
| 135 | + // set the value |
|
| 136 | + $settings[$k] = $value; |
|
| 137 | + } |
|
| 138 | + |
|
| 139 | + } |
|
| 140 | + } |
|
| 141 | + |
|
| 142 | + return $settings; |
|
| 143 | + } |
|
| 144 | + |
|
| 145 | + /** |
|
| 146 | + * Convert SD arguments to Bricks arguments. |
|
| 147 | + * |
|
| 148 | + * @param $widget |
|
| 149 | + * |
|
| 150 | + * @return array |
|
| 151 | + */ |
|
| 152 | + public function sd_convert_arguments() |
|
| 153 | + { |
|
| 154 | + $bricks_args = array(); |
|
| 155 | + |
|
| 156 | + $args = $this->sd_get_arguments(); |
|
| 157 | + |
|
| 158 | + if (!empty($args)) { |
|
| 159 | + foreach ($args as $key => $arg) { |
|
| 160 | + |
|
| 161 | + // convert title |
|
| 162 | + if (!empty($arg['title'])) { |
|
| 163 | + $arg['label'] = $arg['title']; |
|
| 164 | + unset($arg['title']); |
|
| 165 | + } |
|
| 166 | + |
|
| 167 | + // set fields not to use dynamic data |
|
| 168 | + $arg['hasDynamicData'] = false; |
|
| 169 | + |
|
| 170 | + if (!empty($arg['group'])) { |
|
| 171 | + $arg['group'] = sanitize_title($arg['group']); |
|
| 172 | + } |
|
| 173 | + |
|
| 174 | + $arg['rerender'] = true; |
|
| 175 | + |
|
| 176 | + // required |
|
| 177 | + if(!empty($arg['element_require'])) { |
|
| 178 | + $arg['required'] = $this->sd_convert_required($arg['element_require']); |
|
| 179 | + unset($arg['element_require']); |
|
| 180 | + } |
|
| 181 | + |
|
| 182 | + // icons |
|
| 183 | + if ('icon' === $key) { |
|
| 184 | + $arg['type'] = 'icon'; |
|
| 185 | + } |
|
| 186 | + |
|
| 187 | + $bricks_args[$key] = $arg; |
|
| 188 | + |
|
| 189 | + } |
|
| 190 | + |
|
| 191 | + } |
|
| 192 | + |
|
| 193 | + return $bricks_args; |
|
| 194 | + |
|
| 195 | + } |
|
| 196 | + |
|
| 197 | + /** |
|
| 198 | + * Convert the SD element_required to the Bricks required syntax. |
|
| 199 | + * |
|
| 200 | + * @param $element_require |
|
| 201 | + * @return array |
|
| 202 | + */ |
|
| 203 | + public function sd_convert_required($element_require) { |
|
| 204 | + $bricks_required = []; |
|
| 205 | + |
|
| 206 | + // Handle logical OR (||) for multiple values |
|
| 207 | + if (strpos($element_require, '||') !== false) { |
|
| 208 | + preg_match('/\[%(.+?)%\] *== *"(.*?)"/', $element_require, $matches); |
|
| 209 | + if ($matches) { |
|
| 210 | + $control_id = $matches[1]; |
|
| 211 | + preg_match_all('/\[%.*?%\] *== *"(.*?)"/', $element_require, $value_matches); |
|
| 212 | + $values = $value_matches[1]; |
|
| 213 | + $bricks_required[] = [$control_id, '=', $values]; |
|
| 214 | + } |
|
| 215 | + return $bricks_required; |
|
| 216 | + } |
|
| 217 | + |
|
| 218 | + // Match individual conditions |
|
| 219 | + preg_match_all('/(!)?\[%(.*?)%\](?:\s*([!=<>]=?)\s*(".*?"|\'.*?\'|\d+))?/', $element_require, $matches, PREG_SET_ORDER); |
|
| 220 | + |
|
| 221 | + foreach ($matches as $match) { |
|
| 222 | + $is_negation = isset($match[1]) && $match[1] === '!'; |
|
| 223 | + $control_id = $match[2]; |
|
| 224 | + $operator = isset($match[3]) ? str_replace('==', '=', $match[3]) : ($is_negation ? '=' : '!='); |
|
| 225 | + $value = isset($match[4]) ? trim($match[4], '"\'') : ($is_negation ? '' : ''); |
|
| 226 | + |
|
| 227 | + // Adjust for negation without explicit operator |
|
| 228 | + if ($is_negation && !isset($match[3])) { |
|
| 229 | + $operator = '='; |
|
| 230 | + $value = ''; |
|
| 231 | + } |
|
| 232 | + |
|
| 233 | + $bricks_required[] = [$control_id, $operator, $value]; |
|
| 234 | + } |
|
| 235 | + |
|
| 236 | + return $bricks_required; |
|
| 237 | + } |
|
| 238 | + |
|
| 239 | + |
|
| 240 | + /** |
|
| 241 | + * A way to remove some settings by keys. |
|
| 242 | + * |
|
| 243 | + * @return array |
|
| 244 | + */ |
|
| 245 | + public function sd_remove_arguments() |
|
| 246 | + { |
|
| 247 | + return array(); |
|
| 248 | + } |
|
| 249 | 249 | |
| 250 | 250 | } |
| 251 | 251 | |
@@ -255,12 +255,12 @@ discard block |
||
| 255 | 255 | */ |
| 256 | 256 | add_action( 'wp_enqueue_scripts', function() { |
| 257 | 257 | |
| 258 | - // Check if we're in the Bricks Editor |
|
| 259 | - if ( isset( $_GET['bricks'] ) && $_GET['bricks'] && bricks_is_builder_main() ) { |
|
| 260 | - // Add inline script to the 'bricks-builder' script |
|
| 261 | - wp_add_inline_script( |
|
| 262 | - 'bricks-builder', |
|
| 263 | - " |
|
| 258 | + // Check if we're in the Bricks Editor |
|
| 259 | + if ( isset( $_GET['bricks'] ) && $_GET['bricks'] && bricks_is_builder_main() ) { |
|
| 260 | + // Add inline script to the 'bricks-builder' script |
|
| 261 | + wp_add_inline_script( |
|
| 262 | + 'bricks-builder', |
|
| 263 | + " |
|
| 264 | 264 | |
| 265 | 265 | (function () { |
| 266 | 266 | // Function to get the current breakpoint from the #bricks-preview class |
@@ -467,6 +467,6 @@ discard block |
||
| 467 | 467 | addIconsToLabels(); |
| 468 | 468 | })(); |
| 469 | 469 | " |
| 470 | - ); |
|
| 471 | - } |
|
| 470 | + ); |
|
| 471 | + } |
|
| 472 | 472 | }); |
@@ -1,20 +1,20 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | |
| 4 | -if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly |
|
| 4 | +if (!defined('ABSPATH')) exit; // Exit if accessed directly |
|
| 5 | 5 | |
| 6 | 6 | |
| 7 | 7 | class Super_Duper_Bricks_Element extends \Bricks\Element { |
| 8 | 8 | |
| 9 | 9 | public $widget; |
| 10 | 10 | |
| 11 | - public function __construct( $element = null ) { |
|
| 11 | + public function __construct($element = null) { |
|
| 12 | 12 | |
| 13 | 13 | |
| 14 | 14 | $block_icon = !empty($this->widget->options['block-icon']) ? $this->widget->options['block-icon'] : ''; |
| 15 | 15 | |
| 16 | 16 | |
| 17 | - $this->category = !empty($this->widget->options['textdomain']) ? esc_attr( $this->widget->options['textdomain'] ) : 'Super Duper'; |
|
| 17 | + $this->category = !empty($this->widget->options['textdomain']) ? esc_attr($this->widget->options['textdomain']) : 'Super Duper'; |
|
| 18 | 18 | $this->name = $this->widget->id_base; |
| 19 | 19 | $this->icon = (strpos($block_icon, 'fa') === 0) ? esc_attr($this->widget->options['block-icon']) : 'fas fa-globe-americas'; |
| 20 | 20 | |
@@ -27,8 +27,8 @@ discard block |
||
| 27 | 27 | * @return array|string|string[]|null |
| 28 | 28 | */ |
| 29 | 29 | public function get_label() { |
| 30 | - $escaped_text = esc_attr( $this->widget->name ); |
|
| 31 | - return str_replace( ' > ', ' > ', $escaped_text ); // keep our > but have it safe |
|
| 30 | + $escaped_text = esc_attr($this->widget->name); |
|
| 31 | + return str_replace(' > ', ' > ', $escaped_text); // keep our > but have it safe |
|
| 32 | 32 | } |
| 33 | 33 | |
| 34 | 34 | /** |
@@ -54,19 +54,19 @@ discard block |
||
| 54 | 54 | $args = $this->sd_get_arguments(); |
| 55 | 55 | |
| 56 | 56 | $groups = array(); |
| 57 | - if(!empty($args)) { |
|
| 57 | + if (!empty($args)) { |
|
| 58 | 58 | foreach ($args as $k => $v) { |
| 59 | - $g_slug = !empty($v['group']) ? sanitize_title( $v['group'] ) : ''; |
|
| 60 | - if($g_slug && empty($groups[$g_slug])) { |
|
| 59 | + $g_slug = !empty($v['group']) ? sanitize_title($v['group']) : ''; |
|
| 60 | + if ($g_slug && empty($groups[$g_slug])) { |
|
| 61 | 61 | $groups[$g_slug] = array( |
| 62 | - 'title' => esc_html( $v['group'] ), |
|
| 62 | + 'title' => esc_html($v['group']), |
|
| 63 | 63 | 'tab' => 'content', |
| 64 | 64 | ); |
| 65 | 65 | } |
| 66 | 66 | } |
| 67 | 67 | } |
| 68 | 68 | |
| 69 | - if(!empty($groups)) { |
|
| 69 | + if (!empty($groups)) { |
|
| 70 | 70 | $this->control_groups = $this->control_groups + $groups; |
| 71 | 71 | } |
| 72 | 72 | |
@@ -81,8 +81,8 @@ discard block |
||
| 81 | 81 | $args = $this->widget->set_arguments(); |
| 82 | 82 | $arg_keys_subtract = $this->sd_remove_arguments(); |
| 83 | 83 | |
| 84 | - if ( ! empty( $arg_keys_subtract ) ) { |
|
| 85 | - foreach($arg_keys_subtract as $key ){ |
|
| 84 | + if (!empty($arg_keys_subtract)) { |
|
| 85 | + foreach ($arg_keys_subtract as $key) { |
|
| 86 | 86 | unset($args[$key]); |
| 87 | 87 | } |
| 88 | 88 | } |
@@ -97,16 +97,16 @@ discard block |
||
| 97 | 97 | * @return void |
| 98 | 98 | */ |
| 99 | 99 | public function render() { |
| 100 | - $settings = $this->sd_maybe_convert_values( $this->settings ); |
|
| 100 | + $settings = $this->sd_maybe_convert_values($this->settings); |
|
| 101 | 101 | |
| 102 | 102 | |
| 103 | 103 | // set the AyeCode UI calss on the wrapper |
| 104 | - $this->set_attribute( '_root', 'class', 'bsui' ); |
|
| 104 | + $this->set_attribute('_root', 'class', 'bsui'); |
|
| 105 | 105 | |
| 106 | 106 | // we might need to add a placeholder here for previews. |
| 107 | 107 | |
| 108 | 108 | // add the bricks attributes to wrapper |
| 109 | - echo "<div {$this->render_attributes( '_root' )}>"; |
|
| 109 | + echo "<div {$this->render_attributes('_root')}>"; |
|
| 110 | 110 | echo $this->widget->output($settings); |
| 111 | 111 | echo '</div>'; |
| 112 | 112 | } |
@@ -117,12 +117,12 @@ discard block |
||
| 117 | 117 | * @param $settings |
| 118 | 118 | * @return mixed |
| 119 | 119 | */ |
| 120 | - public function sd_maybe_convert_values( $settings ) { |
|
| 120 | + public function sd_maybe_convert_values($settings) { |
|
| 121 | 121 | |
| 122 | 122 | |
| 123 | 123 | if (!empty($settings)) { |
| 124 | - foreach( $settings as $k => $v ) { |
|
| 125 | - if(is_array($v)) { |
|
| 124 | + foreach ($settings as $k => $v) { |
|
| 125 | + if (is_array($v)) { |
|
| 126 | 126 | $value = ''; |
| 127 | 127 | // is color |
| 128 | 128 | if (isset($v['hex'])) { |
@@ -168,13 +168,13 @@ discard block |
||
| 168 | 168 | $arg['hasDynamicData'] = false; |
| 169 | 169 | |
| 170 | 170 | if (!empty($arg['group'])) { |
| 171 | - $arg['group'] = sanitize_title($arg['group']); |
|
| 171 | + $arg['group'] = sanitize_title($arg['group']); |
|
| 172 | 172 | } |
| 173 | 173 | |
| 174 | 174 | $arg['rerender'] = true; |
| 175 | 175 | |
| 176 | 176 | // required |
| 177 | - if(!empty($arg['element_require'])) { |
|
| 177 | + if (!empty($arg['element_require'])) { |
|
| 178 | 178 | $arg['required'] = $this->sd_convert_required($arg['element_require']); |
| 179 | 179 | unset($arg['element_require']); |
| 180 | 180 | } |
@@ -253,10 +253,10 @@ discard block |
||
| 253 | 253 | /** |
| 254 | 254 | * This implements the desktop, tablet and mobile breakpoints views with our fields that are hidden on these types and adda the icon after the label to show which it applies to. |
| 255 | 255 | */ |
| 256 | -add_action( 'wp_enqueue_scripts', function() { |
|
| 256 | +add_action('wp_enqueue_scripts', function() { |
|
| 257 | 257 | |
| 258 | 258 | // Check if we're in the Bricks Editor |
| 259 | - if ( isset( $_GET['bricks'] ) && $_GET['bricks'] && bricks_is_builder_main() ) { |
|
| 259 | + if (isset($_GET['bricks']) && $_GET['bricks'] && bricks_is_builder_main()) { |
|
| 260 | 260 | // Add inline script to the 'bricks-builder' script |
| 261 | 261 | wp_add_inline_script( |
| 262 | 262 | 'bricks-builder', |
@@ -14,26 +14,26 @@ |
||
| 14 | 14 | * Tested up to: 6.7 |
| 15 | 15 | */ |
| 16 | 16 | |
| 17 | -if ( ! defined( 'ABSPATH' ) ) { |
|
| 17 | +if (!defined('ABSPATH')) { |
|
| 18 | 18 | exit; |
| 19 | 19 | } |
| 20 | 20 | |
| 21 | -if ( ! class_exists( 'WP_Super_Duper' ) ) { |
|
| 21 | +if (!class_exists('WP_Super_Duper')) { |
|
| 22 | 22 | // include the class if needed |
| 23 | - include_once( dirname( __FILE__ ) . "/wp-super-duper.php" ); |
|
| 23 | + include_once(dirname(__FILE__) . "/wp-super-duper.php"); |
|
| 24 | 24 | } |
| 25 | 25 | |
| 26 | 26 | /* |
| 27 | 27 | * Hello world example. |
| 28 | 28 | */ |
| 29 | -include_once( dirname( __FILE__ ) . "/hello-world.php" ); |
|
| 29 | +include_once(dirname(__FILE__) . "/hello-world.php"); |
|
| 30 | 30 | |
| 31 | 31 | /* |
| 32 | 32 | * Map example. |
| 33 | 33 | */ |
| 34 | -include_once( dirname( __FILE__ ) . "/map.php" ); |
|
| 34 | +include_once(dirname(__FILE__) . "/map.php"); |
|
| 35 | 35 | |
| 36 | 36 | |
| 37 | -if ( ! function_exists( 'sd_get_class_build_keys' ) ) { |
|
| 38 | - include_once( dirname( __FILE__ ) . "/sd-functions.php" ); |
|
| 37 | +if (!function_exists('sd_get_class_build_keys')) { |
|
| 38 | + include_once(dirname(__FILE__) . "/sd-functions.php"); |
|
| 39 | 39 | } |
| 40 | 40 | \ No newline at end of file |
@@ -1,147 +1,147 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | if ( ! defined( 'ABSPATH' ) ) { |
| 3 | - exit; |
|
| 3 | + exit; |
|
| 4 | 4 | } |
| 5 | 5 | |
| 6 | 6 | if ( ! class_exists( 'WP_Super_Duper' ) ) { |
| 7 | 7 | |
| 8 | - define( 'SUPER_DUPER_VER', '1.2.16' ); |
|
| 9 | - |
|
| 10 | - /** |
|
| 11 | - * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress. |
|
| 12 | - * |
|
| 13 | - * Should not be called direct but extended instead. |
|
| 14 | - * |
|
| 15 | - * Class WP_Super_Duper |
|
| 16 | - * @since 1.0.16 change log moved to file change-log.txt - CHANGED |
|
| 17 | - * @ver 1.1.1 |
|
| 18 | - */ |
|
| 19 | - class WP_Super_Duper extends WP_Widget { |
|
| 20 | - |
|
| 21 | - public $version = SUPER_DUPER_VER; |
|
| 22 | - public $font_awesome_icon_version = "5.11.2"; |
|
| 23 | - public $block_code; |
|
| 24 | - public $options; |
|
| 25 | - public $base_id; |
|
| 26 | - public $settings_hash; |
|
| 27 | - public $arguments = array(); |
|
| 28 | - public $instance = array(); |
|
| 29 | - private $class_name; |
|
| 30 | - |
|
| 31 | - /** |
|
| 32 | - * The relative url to the current folder. |
|
| 33 | - * |
|
| 34 | - * @var string |
|
| 35 | - */ |
|
| 36 | - public $url = ''; |
|
| 37 | - |
|
| 38 | - /** |
|
| 39 | - * Take the array options and use them to build. |
|
| 40 | - */ |
|
| 41 | - public function __construct( $options ) { |
|
| 42 | - global $sd_widgets; |
|
| 43 | - |
|
| 44 | - $sd_widgets[ $options['base_id'] ] = array( |
|
| 45 | - 'name' => $options['name'], |
|
| 46 | - 'class_name' => $options['class_name'], |
|
| 47 | - 'output_types' => !empty($options['output_types']) ? $options['output_types'] : array() |
|
| 48 | - ); |
|
| 49 | - $this->base_id = $options['base_id']; |
|
| 50 | - // lets filter the options before we do anything |
|
| 51 | - $options = apply_filters( "wp_super_duper_options", $options ); |
|
| 52 | - $options = apply_filters( "wp_super_duper_options_{$this->base_id}", $options ); |
|
| 53 | - $options = $this->add_name_from_key( $options ); |
|
| 54 | - $this->options = $options; |
|
| 55 | - |
|
| 56 | - $this->base_id = $options['base_id']; |
|
| 57 | - $this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array(); |
|
| 58 | - |
|
| 59 | - // nested blocks can't work as a widget |
|
| 60 | - if(!empty($this->options['nested-block'])){ |
|
| 61 | - if(empty($this->options['output_types'])){ |
|
| 62 | - $this->options['output_types'] = array('shortcode','block'); |
|
| 63 | - }elseif (($key = array_search('widget', $this->options['output_types'])) !== false) { |
|
| 64 | - unset($this->options['output_types'][$key]); |
|
| 65 | - } |
|
| 66 | - } |
|
| 8 | + define( 'SUPER_DUPER_VER', '1.2.16' ); |
|
| 9 | + |
|
| 10 | + /** |
|
| 11 | + * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress. |
|
| 12 | + * |
|
| 13 | + * Should not be called direct but extended instead. |
|
| 14 | + * |
|
| 15 | + * Class WP_Super_Duper |
|
| 16 | + * @since 1.0.16 change log moved to file change-log.txt - CHANGED |
|
| 17 | + * @ver 1.1.1 |
|
| 18 | + */ |
|
| 19 | + class WP_Super_Duper extends WP_Widget { |
|
| 20 | + |
|
| 21 | + public $version = SUPER_DUPER_VER; |
|
| 22 | + public $font_awesome_icon_version = "5.11.2"; |
|
| 23 | + public $block_code; |
|
| 24 | + public $options; |
|
| 25 | + public $base_id; |
|
| 26 | + public $settings_hash; |
|
| 27 | + public $arguments = array(); |
|
| 28 | + public $instance = array(); |
|
| 29 | + private $class_name; |
|
| 67 | 30 | |
| 68 | - // init parent |
|
| 69 | - if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){ |
|
| 70 | - parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] ); |
|
| 71 | - } |
|
| 31 | + /** |
|
| 32 | + * The relative url to the current folder. |
|
| 33 | + * |
|
| 34 | + * @var string |
|
| 35 | + */ |
|
| 36 | + public $url = ''; |
|
| 37 | + |
|
| 38 | + /** |
|
| 39 | + * Take the array options and use them to build. |
|
| 40 | + */ |
|
| 41 | + public function __construct( $options ) { |
|
| 42 | + global $sd_widgets; |
|
| 43 | + |
|
| 44 | + $sd_widgets[ $options['base_id'] ] = array( |
|
| 45 | + 'name' => $options['name'], |
|
| 46 | + 'class_name' => $options['class_name'], |
|
| 47 | + 'output_types' => !empty($options['output_types']) ? $options['output_types'] : array() |
|
| 48 | + ); |
|
| 49 | + $this->base_id = $options['base_id']; |
|
| 50 | + // lets filter the options before we do anything |
|
| 51 | + $options = apply_filters( "wp_super_duper_options", $options ); |
|
| 52 | + $options = apply_filters( "wp_super_duper_options_{$this->base_id}", $options ); |
|
| 53 | + $options = $this->add_name_from_key( $options ); |
|
| 54 | + $this->options = $options; |
|
| 55 | + |
|
| 56 | + $this->base_id = $options['base_id']; |
|
| 57 | + $this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array(); |
|
| 58 | + |
|
| 59 | + // nested blocks can't work as a widget |
|
| 60 | + if(!empty($this->options['nested-block'])){ |
|
| 61 | + if(empty($this->options['output_types'])){ |
|
| 62 | + $this->options['output_types'] = array('shortcode','block'); |
|
| 63 | + }elseif (($key = array_search('widget', $this->options['output_types'])) !== false) { |
|
| 64 | + unset($this->options['output_types'][$key]); |
|
| 65 | + } |
|
| 66 | + } |
|
| 72 | 67 | |
| 68 | + // init parent |
|
| 69 | + if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){ |
|
| 70 | + parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] ); |
|
| 71 | + } |
|
| 73 | 72 | |
| 74 | - if ( isset( $options['class_name'] ) ) { |
|
| 75 | - // register widget |
|
| 76 | - $this->class_name = $options['class_name']; |
|
| 77 | 73 | |
| 78 | - // register shortcode, this needs to be done even for blocks and widgets |
|
| 79 | - $this->register_shortcode(); |
|
| 74 | + if ( isset( $options['class_name'] ) ) { |
|
| 75 | + // register widget |
|
| 76 | + $this->class_name = $options['class_name']; |
|
| 80 | 77 | |
| 78 | + // register shortcode, this needs to be done even for blocks and widgets |
|
| 79 | + $this->register_shortcode(); |
|
| 81 | 80 | |
| 82 | - // Fusion Builder (avada) support |
|
| 83 | - if ( function_exists( 'fusion_builder_map' ) ) { |
|
| 84 | - add_action( 'init', array( $this, 'register_fusion_element' ) ); |
|
| 85 | - } |
|
| 81 | + |
|
| 82 | + // Fusion Builder (avada) support |
|
| 83 | + if ( function_exists( 'fusion_builder_map' ) ) { |
|
| 84 | + add_action( 'init', array( $this, 'register_fusion_element' ) ); |
|
| 85 | + } |
|
| 86 | 86 | |
| 87 | 87 | // maybe load the Bricks transformer class |
| 88 | 88 | if( class_exists('\Bricks\Elements', false) ){ |
| 89 | - add_action( 'init', array( $this, 'load_bricks_element_class' ) ); |
|
| 89 | + add_action( 'init', array( $this, 'load_bricks_element_class' ) ); |
|
| 90 | 90 | } |
| 91 | 91 | |
| 92 | - // register block |
|
| 93 | - if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){ |
|
| 94 | - add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) ); |
|
| 95 | - } |
|
| 96 | - } |
|
| 92 | + // register block |
|
| 93 | + if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){ |
|
| 94 | + add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) ); |
|
| 95 | + } |
|
| 96 | + } |
|
| 97 | 97 | |
| 98 | - // add the CSS and JS we need ONCE |
|
| 99 | - global $sd_widget_scripts; |
|
| 98 | + // add the CSS and JS we need ONCE |
|
| 99 | + global $sd_widget_scripts; |
|
| 100 | 100 | |
| 101 | - if ( ! $sd_widget_scripts ) { |
|
| 102 | - wp_add_inline_script( 'admin-widgets', $this->widget_js() ); |
|
| 103 | - wp_add_inline_script( 'customize-controls', $this->widget_js() ); |
|
| 104 | - wp_add_inline_style( 'widgets', $this->widget_css() ); |
|
| 101 | + if ( ! $sd_widget_scripts ) { |
|
| 102 | + wp_add_inline_script( 'admin-widgets', $this->widget_js() ); |
|
| 103 | + wp_add_inline_script( 'customize-controls', $this->widget_js() ); |
|
| 104 | + wp_add_inline_style( 'widgets', $this->widget_css() ); |
|
| 105 | 105 | |
| 106 | - // maybe add elementor editor styles |
|
| 107 | - add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) ); |
|
| 106 | + // maybe add elementor editor styles |
|
| 107 | + add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) ); |
|
| 108 | 108 | |
| 109 | - $sd_widget_scripts = true; |
|
| 109 | + $sd_widget_scripts = true; |
|
| 110 | 110 | |
| 111 | - // add shortcode insert button once |
|
| 112 | - add_action( 'media_buttons', array( $this, 'wp_media_buttons' ), 1 ); |
|
| 113 | - add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) ); |
|
| 114 | - // generatepress theme sections compatibility |
|
| 115 | - if ( function_exists( 'generate_sections_sections_metabox' ) ) { |
|
| 116 | - add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 117 | - } |
|
| 118 | - /* Load script on Divi theme builder page */ |
|
| 119 | - if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) { |
|
| 120 | - add_thickbox(); |
|
| 121 | - add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 122 | - } |
|
| 111 | + // add shortcode insert button once |
|
| 112 | + add_action( 'media_buttons', array( $this, 'wp_media_buttons' ), 1 ); |
|
| 113 | + add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) ); |
|
| 114 | + // generatepress theme sections compatibility |
|
| 115 | + if ( function_exists( 'generate_sections_sections_metabox' ) ) { |
|
| 116 | + add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 117 | + } |
|
| 118 | + /* Load script on Divi theme builder page */ |
|
| 119 | + if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) { |
|
| 120 | + add_thickbox(); |
|
| 121 | + add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 122 | + } |
|
| 123 | 123 | |
| 124 | - if ( $this->is_preview() ) { |
|
| 125 | - add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 126 | - // this makes the insert button work for elementor |
|
| 127 | - add_action( 'elementor/editor/after_enqueue_scripts', array( |
|
| 128 | - $this, |
|
| 129 | - 'shortcode_insert_button_script' |
|
| 130 | - ) ); // for elementor |
|
| 131 | - } |
|
| 132 | - // this makes the insert button work for cornerstone |
|
| 133 | - add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) ); |
|
| 124 | + if ( $this->is_preview() ) { |
|
| 125 | + add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 126 | + // this makes the insert button work for elementor |
|
| 127 | + add_action( 'elementor/editor/after_enqueue_scripts', array( |
|
| 128 | + $this, |
|
| 129 | + 'shortcode_insert_button_script' |
|
| 130 | + ) ); // for elementor |
|
| 131 | + } |
|
| 132 | + // this makes the insert button work for cornerstone |
|
| 133 | + add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) ); |
|
| 134 | 134 | |
| 135 | - add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) ); |
|
| 136 | - add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) ); |
|
| 135 | + add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) ); |
|
| 136 | + add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) ); |
|
| 137 | 137 | |
| 138 | - // add generator text to head |
|
| 139 | - add_action( 'admin_head', array( $this, 'generator' ), 99 ); |
|
| 140 | - add_action( 'wp_head', array( $this, 'generator' ), 99 ); |
|
| 141 | - } |
|
| 138 | + // add generator text to head |
|
| 139 | + add_action( 'admin_head', array( $this, 'generator' ), 99 ); |
|
| 140 | + add_action( 'wp_head', array( $this, 'generator' ), 99 ); |
|
| 141 | + } |
|
| 142 | 142 | |
| 143 | - do_action( 'wp_super_duper_widget_init', $options, $this ); |
|
| 144 | - } |
|
| 143 | + do_action( 'wp_super_duper_widget_init', $options, $this ); |
|
| 144 | + } |
|
| 145 | 145 | |
| 146 | 146 | /** |
| 147 | 147 | * Load the Bricks conversion class if we are running Bricks. |
@@ -151,163 +151,163 @@ discard block |
||
| 151 | 151 | include_once __DIR__ . '/includes/class-super-duper-bricks-element.php'; |
| 152 | 152 | } |
| 153 | 153 | |
| 154 | - /** |
|
| 155 | - * The register widget function |
|
| 156 | - * @return void |
|
| 157 | - */ |
|
| 158 | - public function _register() { |
|
| 159 | - if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){ |
|
| 160 | - parent::_register(); |
|
| 161 | - } |
|
| 162 | - } |
|
| 163 | - |
|
| 164 | - /** |
|
| 165 | - * Add our widget CSS to elementor editor. |
|
| 166 | - */ |
|
| 167 | - public function elementor_editor_styles() { |
|
| 168 | - wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) ); |
|
| 169 | - } |
|
| 170 | - |
|
| 171 | - public function register_fusion_element() { |
|
| 172 | - |
|
| 173 | - $options = $this->options; |
|
| 174 | - |
|
| 175 | - if ( $this->base_id ) { |
|
| 176 | - |
|
| 177 | - $params = $this->get_fusion_params(); |
|
| 178 | - |
|
| 179 | - $args = array( |
|
| 180 | - 'name' => $options['name'], |
|
| 181 | - 'shortcode' => $this->base_id, |
|
| 182 | - 'icon' => $options['block-icon'] ? $options['block-icon'] : 'far fa-square', |
|
| 183 | - 'allow_generator' => true, |
|
| 184 | - ); |
|
| 185 | - |
|
| 186 | - if ( ! empty( $params ) ) { |
|
| 187 | - $args['params'] = $params; |
|
| 188 | - } |
|
| 189 | - |
|
| 190 | - fusion_builder_map( $args ); |
|
| 191 | - } |
|
| 154 | + /** |
|
| 155 | + * The register widget function |
|
| 156 | + * @return void |
|
| 157 | + */ |
|
| 158 | + public function _register() { |
|
| 159 | + if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){ |
|
| 160 | + parent::_register(); |
|
| 161 | + } |
|
| 162 | + } |
|
| 192 | 163 | |
| 193 | - } |
|
| 164 | + /** |
|
| 165 | + * Add our widget CSS to elementor editor. |
|
| 166 | + */ |
|
| 167 | + public function elementor_editor_styles() { |
|
| 168 | + wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) ); |
|
| 169 | + } |
|
| 194 | 170 | |
| 195 | - public function get_fusion_params() { |
|
| 196 | - $params = array(); |
|
| 197 | - $arguments = $this->get_arguments(); |
|
| 198 | - |
|
| 199 | - if ( ! empty( $arguments ) ) { |
|
| 200 | - foreach ( $arguments as $key => $val ) { |
|
| 201 | - $param = array(); |
|
| 202 | - // type |
|
| 203 | - $param['type'] = str_replace( |
|
| 204 | - array( |
|
| 205 | - "text", |
|
| 206 | - "number", |
|
| 207 | - "email", |
|
| 208 | - "color", |
|
| 209 | - "checkbox" |
|
| 210 | - ), |
|
| 211 | - array( |
|
| 212 | - "textfield", |
|
| 213 | - "textfield", |
|
| 214 | - "textfield", |
|
| 215 | - "colorpicker", |
|
| 216 | - "select", |
|
| 171 | + public function register_fusion_element() { |
|
| 217 | 172 | |
| 218 | - ), |
|
| 219 | - $val['type'] ); |
|
| 173 | + $options = $this->options; |
|
| 220 | 174 | |
| 221 | - // multiselect |
|
| 222 | - if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) { |
|
| 223 | - $param['type'] = 'multiple_select'; |
|
| 224 | - $param['multiple'] = true; |
|
| 225 | - } |
|
| 175 | + if ( $this->base_id ) { |
|
| 226 | 176 | |
| 227 | - // heading |
|
| 228 | - $param['heading'] = isset( $val['title'] ) ? $val['title'] : ''; |
|
| 177 | + $params = $this->get_fusion_params(); |
|
| 229 | 178 | |
| 230 | - // description |
|
| 231 | - $param['description'] = isset( $val['desc'] ) ? $val['desc'] : ''; |
|
| 179 | + $args = array( |
|
| 180 | + 'name' => $options['name'], |
|
| 181 | + 'shortcode' => $this->base_id, |
|
| 182 | + 'icon' => $options['block-icon'] ? $options['block-icon'] : 'far fa-square', |
|
| 183 | + 'allow_generator' => true, |
|
| 184 | + ); |
|
| 232 | 185 | |
| 233 | - // param_name |
|
| 234 | - $param['param_name'] = $key; |
|
| 186 | + if ( ! empty( $params ) ) { |
|
| 187 | + $args['params'] = $params; |
|
| 188 | + } |
|
| 235 | 189 | |
| 236 | - // Default |
|
| 237 | - $param['default'] = isset( $val['default'] ) ? $val['default'] : ''; |
|
| 190 | + fusion_builder_map( $args ); |
|
| 191 | + } |
|
| 238 | 192 | |
| 239 | - // Group |
|
| 240 | - if ( isset( $val['group'] ) ) { |
|
| 241 | - $param['group'] = $val['group']; |
|
| 242 | - } |
|
| 193 | + } |
|
| 243 | 194 | |
| 244 | - // value |
|
| 245 | - if ( $val['type'] == 'checkbox' ) { |
|
| 246 | - if ( isset( $val['default'] ) && $val['default'] == '0' ) { |
|
| 247 | - unset( $param['default'] ); |
|
| 248 | - } |
|
| 249 | - $param['value'] = array( '0' => __( "No", 'ayecode-connect' ), '1' => __( "Yes", 'ayecode-connect' ) ); |
|
| 250 | - } elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) { |
|
| 251 | - $param['value'] = isset( $val['options'] ) ? $val['options'] : array(); |
|
| 252 | - } else { |
|
| 253 | - $param['value'] = isset( $val['default'] ) ? $val['default'] : ''; |
|
| 254 | - } |
|
| 195 | + public function get_fusion_params() { |
|
| 196 | + $params = array(); |
|
| 197 | + $arguments = $this->get_arguments(); |
|
| 198 | + |
|
| 199 | + if ( ! empty( $arguments ) ) { |
|
| 200 | + foreach ( $arguments as $key => $val ) { |
|
| 201 | + $param = array(); |
|
| 202 | + // type |
|
| 203 | + $param['type'] = str_replace( |
|
| 204 | + array( |
|
| 205 | + "text", |
|
| 206 | + "number", |
|
| 207 | + "email", |
|
| 208 | + "color", |
|
| 209 | + "checkbox" |
|
| 210 | + ), |
|
| 211 | + array( |
|
| 212 | + "textfield", |
|
| 213 | + "textfield", |
|
| 214 | + "textfield", |
|
| 215 | + "colorpicker", |
|
| 216 | + "select", |
|
| 217 | + |
|
| 218 | + ), |
|
| 219 | + $val['type'] ); |
|
| 220 | + |
|
| 221 | + // multiselect |
|
| 222 | + if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) { |
|
| 223 | + $param['type'] = 'multiple_select'; |
|
| 224 | + $param['multiple'] = true; |
|
| 225 | + } |
|
| 226 | + |
|
| 227 | + // heading |
|
| 228 | + $param['heading'] = isset( $val['title'] ) ? $val['title'] : ''; |
|
| 229 | + |
|
| 230 | + // description |
|
| 231 | + $param['description'] = isset( $val['desc'] ) ? $val['desc'] : ''; |
|
| 232 | + |
|
| 233 | + // param_name |
|
| 234 | + $param['param_name'] = $key; |
|
| 235 | + |
|
| 236 | + // Default |
|
| 237 | + $param['default'] = isset( $val['default'] ) ? $val['default'] : ''; |
|
| 238 | + |
|
| 239 | + // Group |
|
| 240 | + if ( isset( $val['group'] ) ) { |
|
| 241 | + $param['group'] = $val['group']; |
|
| 242 | + } |
|
| 243 | + |
|
| 244 | + // value |
|
| 245 | + if ( $val['type'] == 'checkbox' ) { |
|
| 246 | + if ( isset( $val['default'] ) && $val['default'] == '0' ) { |
|
| 247 | + unset( $param['default'] ); |
|
| 248 | + } |
|
| 249 | + $param['value'] = array( '0' => __( "No", 'ayecode-connect' ), '1' => __( "Yes", 'ayecode-connect' ) ); |
|
| 250 | + } elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) { |
|
| 251 | + $param['value'] = isset( $val['options'] ) ? $val['options'] : array(); |
|
| 252 | + } else { |
|
| 253 | + $param['value'] = isset( $val['default'] ) ? $val['default'] : ''; |
|
| 254 | + } |
|
| 255 | + |
|
| 256 | + // setup the param |
|
| 257 | + $params[] = $param; |
|
| 255 | 258 | |
| 256 | - // setup the param |
|
| 257 | - $params[] = $param; |
|
| 259 | + } |
|
| 260 | + } |
|
| 258 | 261 | |
| 259 | - } |
|
| 260 | - } |
|
| 261 | 262 | |
| 263 | + return $params; |
|
| 264 | + } |
|
| 262 | 265 | |
| 263 | - return $params; |
|
| 264 | - } |
|
| 266 | + /** |
|
| 267 | + * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder |
|
| 268 | + */ |
|
| 269 | + public static function maybe_cornerstone_builder() { |
|
| 270 | + if ( did_action( 'cornerstone_before_boot_app' ) ) { |
|
| 271 | + self::shortcode_insert_button_script(); |
|
| 272 | + } |
|
| 273 | + } |
|
| 265 | 274 | |
| 266 | - /** |
|
| 267 | - * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder |
|
| 268 | - */ |
|
| 269 | - public static function maybe_cornerstone_builder() { |
|
| 270 | - if ( did_action( 'cornerstone_before_boot_app' ) ) { |
|
| 271 | - self::shortcode_insert_button_script(); |
|
| 272 | - } |
|
| 273 | - } |
|
| 275 | + /** |
|
| 276 | + * A function to ge the shortcode builder picker html. |
|
| 277 | + * |
|
| 278 | + * @param string $editor_id |
|
| 279 | + * |
|
| 280 | + * @return string |
|
| 281 | + */ |
|
| 282 | + public static function get_picker( $editor_id = '' ) { |
|
| 274 | 283 | |
| 275 | - /** |
|
| 276 | - * A function to ge the shortcode builder picker html. |
|
| 277 | - * |
|
| 278 | - * @param string $editor_id |
|
| 279 | - * |
|
| 280 | - * @return string |
|
| 281 | - */ |
|
| 282 | - public static function get_picker( $editor_id = '' ) { |
|
| 283 | - |
|
| 284 | - ob_start(); |
|
| 285 | - if ( isset( $_POST['editor_id'] ) ) { |
|
| 286 | - $editor_id = esc_attr( $_POST['editor_id'] ); |
|
| 287 | - } elseif ( isset( $_REQUEST['et_fb'] ) ) { |
|
| 288 | - $editor_id = 'main_content_content_vb_tiny_mce'; |
|
| 289 | - } |
|
| 284 | + ob_start(); |
|
| 285 | + if ( isset( $_POST['editor_id'] ) ) { |
|
| 286 | + $editor_id = esc_attr( $_POST['editor_id'] ); |
|
| 287 | + } elseif ( isset( $_REQUEST['et_fb'] ) ) { |
|
| 288 | + $editor_id = 'main_content_content_vb_tiny_mce'; |
|
| 289 | + } |
|
| 290 | 290 | |
| 291 | - global $sd_widgets; |
|
| 291 | + global $sd_widgets; |
|
| 292 | 292 | |
| 293 | 293 | // print_r($sd_widgets);exit; |
| 294 | - ?> |
|
| 294 | + ?> |
|
| 295 | 295 | |
| 296 | 296 | <div class="sd-shortcode-left-wrap"> |
| 297 | 297 | <?php |
| 298 | - ksort( $sd_widgets ); |
|
| 299 | - // print_r($sd_widgets);exit; |
|
| 300 | - if ( ! empty( $sd_widgets ) ) { |
|
| 301 | - echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">'; |
|
| 302 | - echo "<option>" . __( 'Select shortcode', 'ayecode-connect' ) . "</option>"; |
|
| 303 | - foreach ( $sd_widgets as $shortcode => $class ) { |
|
| 304 | - if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; } |
|
| 305 | - echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>"; |
|
| 306 | - } |
|
| 307 | - echo "</select>"; |
|
| 298 | + ksort( $sd_widgets ); |
|
| 299 | + // print_r($sd_widgets);exit; |
|
| 300 | + if ( ! empty( $sd_widgets ) ) { |
|
| 301 | + echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">'; |
|
| 302 | + echo "<option>" . __( 'Select shortcode', 'ayecode-connect' ) . "</option>"; |
|
| 303 | + foreach ( $sd_widgets as $shortcode => $class ) { |
|
| 304 | + if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; } |
|
| 305 | + echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>"; |
|
| 306 | + } |
|
| 307 | + echo "</select>"; |
|
| 308 | 308 | |
| 309 | - } |
|
| 310 | - ?> |
|
| 309 | + } |
|
| 310 | + ?> |
|
| 311 | 311 | <div class="sd-shortcode-settings"></div> |
| 312 | 312 | |
| 313 | 313 | </div> |
@@ -318,8 +318,8 @@ discard block |
||
| 318 | 318 | <?php if ( $editor_id != '' ) { ?> |
| 319 | 319 | <button class="button sd-insert-shortcode-button" |
| 320 | 320 | onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) { |
| 321 | - echo "'" . $editor_id . "'"; |
|
| 322 | - } ?>)"><?php _e( 'Insert shortcode', 'ayecode-connect' ); ?></button> |
|
| 321 | + echo "'" . $editor_id . "'"; |
|
| 322 | + } ?>)"><?php _e( 'Insert shortcode', 'ayecode-connect' ); ?></button> |
|
| 323 | 323 | <?php } ?> |
| 324 | 324 | <button class="button" |
| 325 | 325 | onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button> |
@@ -327,150 +327,150 @@ discard block |
||
| 327 | 327 | </div> |
| 328 | 328 | <?php |
| 329 | 329 | |
| 330 | - $html = ob_get_clean(); |
|
| 331 | - |
|
| 332 | - if ( wp_doing_ajax() ) { |
|
| 333 | - echo $html; |
|
| 334 | - $should_die = true; |
|
| 330 | + $html = ob_get_clean(); |
|
| 335 | 331 | |
| 336 | - // some builder get the editor via ajax so we should not die on those occasions |
|
| 337 | - $dont_die = array( |
|
| 338 | - 'parent_tag',// WP Bakery |
|
| 339 | - 'avia_request' // enfold |
|
| 340 | - ); |
|
| 341 | - |
|
| 342 | - foreach ( $dont_die as $request ) { |
|
| 343 | - if ( isset( $_REQUEST[ $request ] ) ) { |
|
| 344 | - $should_die = false; |
|
| 345 | - } |
|
| 346 | - } |
|
| 332 | + if ( wp_doing_ajax() ) { |
|
| 333 | + echo $html; |
|
| 334 | + $should_die = true; |
|
| 347 | 335 | |
| 348 | - if ( $should_die ) { |
|
| 349 | - wp_die(); |
|
| 350 | - } |
|
| 336 | + // some builder get the editor via ajax so we should not die on those occasions |
|
| 337 | + $dont_die = array( |
|
| 338 | + 'parent_tag',// WP Bakery |
|
| 339 | + 'avia_request' // enfold |
|
| 340 | + ); |
|
| 351 | 341 | |
| 352 | - } else { |
|
| 353 | - return $html; |
|
| 354 | - } |
|
| 342 | + foreach ( $dont_die as $request ) { |
|
| 343 | + if ( isset( $_REQUEST[ $request ] ) ) { |
|
| 344 | + $should_die = false; |
|
| 345 | + } |
|
| 346 | + } |
|
| 355 | 347 | |
| 356 | - return ''; |
|
| 348 | + if ( $should_die ) { |
|
| 349 | + wp_die(); |
|
| 350 | + } |
|
| 357 | 351 | |
| 358 | - } |
|
| 352 | + } else { |
|
| 353 | + return $html; |
|
| 354 | + } |
|
| 359 | 355 | |
| 360 | - /** |
|
| 361 | - * Output the version in the header. |
|
| 362 | - */ |
|
| 363 | - public function generator() { |
|
| 364 | - $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 365 | - $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 366 | - |
|
| 367 | - // Find source plugin/theme of SD |
|
| 368 | - $source = array(); |
|
| 369 | - if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 370 | - $source = explode( "/", plugin_basename( $file ) ); |
|
| 371 | - } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 372 | - $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 373 | - |
|
| 374 | - if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 375 | - $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 376 | - } |
|
| 377 | - } |
|
| 356 | + return ''; |
|
| 378 | 357 | |
| 379 | - echo '<meta name="generator" content="WP Super Duper v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />'; |
|
| 380 | - } |
|
| 358 | + } |
|
| 381 | 359 | |
| 382 | - /** |
|
| 383 | - * Get widget settings. |
|
| 384 | - * |
|
| 385 | - * @since 1.0.0 |
|
| 386 | - */ |
|
| 387 | - public static function get_widget_settings() { |
|
| 388 | - global $sd_widgets; |
|
| 389 | - |
|
| 390 | - $shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : ''; |
|
| 391 | - if ( ! $shortcode ) { |
|
| 392 | - wp_die(); |
|
| 393 | - } |
|
| 394 | - $widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : ''; |
|
| 395 | - if ( ! $widget_args ) { |
|
| 396 | - wp_die(); |
|
| 397 | - } |
|
| 398 | - $class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : ''; |
|
| 399 | - if ( ! $class_name ) { |
|
| 400 | - wp_die(); |
|
| 401 | - } |
|
| 360 | + /** |
|
| 361 | + * Output the version in the header. |
|
| 362 | + */ |
|
| 363 | + public function generator() { |
|
| 364 | + $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 365 | + $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 366 | + |
|
| 367 | + // Find source plugin/theme of SD |
|
| 368 | + $source = array(); |
|
| 369 | + if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 370 | + $source = explode( "/", plugin_basename( $file ) ); |
|
| 371 | + } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 372 | + $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 373 | + |
|
| 374 | + if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 375 | + $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 376 | + } |
|
| 377 | + } |
|
| 402 | 378 | |
| 403 | - // invoke an instance method |
|
| 404 | - $widget = new $class_name; |
|
| 379 | + echo '<meta name="generator" content="WP Super Duper v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />'; |
|
| 380 | + } |
|
| 405 | 381 | |
| 406 | - ob_start(); |
|
| 407 | - $widget->form( array() ); |
|
| 408 | - $form = ob_get_clean(); |
|
| 409 | - echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>"; |
|
| 410 | - echo "<style>" . $widget->widget_css() . "</style>"; |
|
| 411 | - echo "<script>" . $widget->widget_js() . "</script>"; |
|
| 412 | - ?> |
|
| 382 | + /** |
|
| 383 | + * Get widget settings. |
|
| 384 | + * |
|
| 385 | + * @since 1.0.0 |
|
| 386 | + */ |
|
| 387 | + public static function get_widget_settings() { |
|
| 388 | + global $sd_widgets; |
|
| 389 | + |
|
| 390 | + $shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : ''; |
|
| 391 | + if ( ! $shortcode ) { |
|
| 392 | + wp_die(); |
|
| 393 | + } |
|
| 394 | + $widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : ''; |
|
| 395 | + if ( ! $widget_args ) { |
|
| 396 | + wp_die(); |
|
| 397 | + } |
|
| 398 | + $class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : ''; |
|
| 399 | + if ( ! $class_name ) { |
|
| 400 | + wp_die(); |
|
| 401 | + } |
|
| 402 | + |
|
| 403 | + // invoke an instance method |
|
| 404 | + $widget = new $class_name; |
|
| 405 | + |
|
| 406 | + ob_start(); |
|
| 407 | + $widget->form( array() ); |
|
| 408 | + $form = ob_get_clean(); |
|
| 409 | + echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>"; |
|
| 410 | + echo "<style>" . $widget->widget_css() . "</style>"; |
|
| 411 | + echo "<script>" . $widget->widget_js() . "</script>"; |
|
| 412 | + ?> |
|
| 413 | 413 | <?php |
| 414 | - wp_die(); |
|
| 415 | - } |
|
| 416 | - |
|
| 417 | - /** |
|
| 418 | - * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed). |
|
| 419 | - * |
|
| 420 | - * @param string $editor_id Optional. Shortcode editor id. Default null. |
|
| 421 | - * @param string $insert_shortcode_function Optional. Insert shortcode function. Default null. |
|
| 422 | - * |
|
| 423 | - *@since 1.0.0 |
|
| 424 | - * |
|
| 425 | - */ |
|
| 426 | - public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) { |
|
| 427 | - global $sd_widgets, $shortcode_insert_button_once; |
|
| 428 | - if ( $shortcode_insert_button_once ) { |
|
| 429 | - return; |
|
| 430 | - } |
|
| 431 | - add_thickbox(); |
|
| 432 | - |
|
| 433 | - |
|
| 434 | - /** |
|
| 435 | - * Cornerstone makes us play dirty tricks :/ |
|
| 436 | - * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed. |
|
| 437 | - */ |
|
| 438 | - if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) { |
|
| 439 | - echo '<span id="insert-media-button">'; |
|
| 440 | - } |
|
| 441 | - |
|
| 442 | - echo self::shortcode_button( 'this', 'true' ); |
|
| 443 | - |
|
| 444 | - // see opening note |
|
| 445 | - if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) { |
|
| 446 | - echo '</span>'; // end #insert-media-button |
|
| 447 | - } |
|
| 448 | - |
|
| 449 | - // Add separate script for generatepress theme sections |
|
| 450 | - if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) { |
|
| 451 | - } else { |
|
| 452 | - self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function ); |
|
| 453 | - } |
|
| 414 | + wp_die(); |
|
| 415 | + } |
|
| 454 | 416 | |
| 455 | - $shortcode_insert_button_once = true; |
|
| 456 | - } |
|
| 417 | + /** |
|
| 418 | + * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed). |
|
| 419 | + * |
|
| 420 | + * @param string $editor_id Optional. Shortcode editor id. Default null. |
|
| 421 | + * @param string $insert_shortcode_function Optional. Insert shortcode function. Default null. |
|
| 422 | + * |
|
| 423 | + *@since 1.0.0 |
|
| 424 | + * |
|
| 425 | + */ |
|
| 426 | + public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) { |
|
| 427 | + global $sd_widgets, $shortcode_insert_button_once; |
|
| 428 | + if ( $shortcode_insert_button_once ) { |
|
| 429 | + return; |
|
| 430 | + } |
|
| 431 | + add_thickbox(); |
|
| 432 | + |
|
| 433 | + |
|
| 434 | + /** |
|
| 435 | + * Cornerstone makes us play dirty tricks :/ |
|
| 436 | + * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed. |
|
| 437 | + */ |
|
| 438 | + if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) { |
|
| 439 | + echo '<span id="insert-media-button">'; |
|
| 440 | + } |
|
| 441 | + |
|
| 442 | + echo self::shortcode_button( 'this', 'true' ); |
|
| 443 | + |
|
| 444 | + // see opening note |
|
| 445 | + if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) { |
|
| 446 | + echo '</span>'; // end #insert-media-button |
|
| 447 | + } |
|
| 448 | + |
|
| 449 | + // Add separate script for generatepress theme sections |
|
| 450 | + if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) { |
|
| 451 | + } else { |
|
| 452 | + self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function ); |
|
| 453 | + } |
|
| 454 | + |
|
| 455 | + $shortcode_insert_button_once = true; |
|
| 456 | + } |
|
| 457 | 457 | |
| 458 | - /** |
|
| 459 | - * Gets the shortcode insert button html. |
|
| 460 | - * |
|
| 461 | - * @param string $id |
|
| 462 | - * @param string $search_for_id |
|
| 463 | - * |
|
| 464 | - * @return mixed |
|
| 465 | - */ |
|
| 466 | - public static function shortcode_button( $id = '', $search_for_id = '' ) { |
|
| 467 | - ob_start(); |
|
| 468 | - ?> |
|
| 458 | + /** |
|
| 459 | + * Gets the shortcode insert button html. |
|
| 460 | + * |
|
| 461 | + * @param string $id |
|
| 462 | + * @param string $search_for_id |
|
| 463 | + * |
|
| 464 | + * @return mixed |
|
| 465 | + */ |
|
| 466 | + public static function shortcode_button( $id = '', $search_for_id = '' ) { |
|
| 467 | + ob_start(); |
|
| 468 | + ?> |
|
| 469 | 469 | <span class="sd-lable-shortcode-inserter"> |
| 470 | 470 | <a onclick="sd_ajax_get_picker(<?php echo $id; |
| 471 | - if ( $search_for_id ) { |
|
| 472 | - echo "," . $search_for_id; |
|
| 473 | - } ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed" |
|
| 471 | + if ( $search_for_id ) { |
|
| 472 | + echo "," . $search_for_id; |
|
| 473 | + } ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed" |
|
| 474 | 474 | class="thickbox button super-duper-content-open" title="Add Shortcode"> |
| 475 | 475 | <span style="vertical-align: middle;line-height: 18px;font-size: 20px;" |
| 476 | 476 | class="dashicons dashicons-screenoptions"></span> |
@@ -481,21 +481,21 @@ discard block |
||
| 481 | 481 | </span> |
| 482 | 482 | |
| 483 | 483 | <?php |
| 484 | - $html = ob_get_clean(); |
|
| 484 | + $html = ob_get_clean(); |
|
| 485 | 485 | |
| 486 | - // remove line breaks so we can use it in js |
|
| 487 | - return preg_replace( "/\r|\n/", "", trim( $html ) ); |
|
| 488 | - } |
|
| 486 | + // remove line breaks so we can use it in js |
|
| 487 | + return preg_replace( "/\r|\n/", "", trim( $html ) ); |
|
| 488 | + } |
|
| 489 | 489 | |
| 490 | - /** |
|
| 491 | - * Makes SD work with the siteOrigin page builder. |
|
| 492 | - * |
|
| 493 | - * @return mixed |
|
| 494 | - *@since 1.0.6 |
|
| 495 | - */ |
|
| 496 | - public static function siteorigin_js() { |
|
| 497 | - ob_start(); |
|
| 498 | - ?> |
|
| 490 | + /** |
|
| 491 | + * Makes SD work with the siteOrigin page builder. |
|
| 492 | + * |
|
| 493 | + * @return mixed |
|
| 494 | + *@since 1.0.6 |
|
| 495 | + */ |
|
| 496 | + public static function siteorigin_js() { |
|
| 497 | + ob_start(); |
|
| 498 | + ?> |
|
| 499 | 499 | <script> |
| 500 | 500 | /** |
| 501 | 501 | * Check a form to see what items should be shown or hidden. |
@@ -571,29 +571,29 @@ discard block |
||
| 571 | 571 | }); |
| 572 | 572 | </script> |
| 573 | 573 | <?php |
| 574 | - $output = ob_get_clean(); |
|
| 574 | + $output = ob_get_clean(); |
|
| 575 | 575 | |
| 576 | - /* |
|
| 576 | + /* |
|
| 577 | 577 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 578 | 578 | */ |
| 579 | 579 | |
| 580 | - return str_replace( array( |
|
| 581 | - '<script>', |
|
| 582 | - '</script>' |
|
| 583 | - ), '', $output ); |
|
| 584 | - } |
|
| 580 | + return str_replace( array( |
|
| 581 | + '<script>', |
|
| 582 | + '</script>' |
|
| 583 | + ), '', $output ); |
|
| 584 | + } |
|
| 585 | 585 | |
| 586 | - /** |
|
| 587 | - * Output the JS and CSS for the shortcode insert button. |
|
| 588 | - * |
|
| 589 | - * @param string $editor_id |
|
| 590 | - * @param string $insert_shortcode_function |
|
| 591 | - * |
|
| 592 | - *@since 1.0.6 |
|
| 593 | - * |
|
| 594 | - */ |
|
| 595 | - public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) { |
|
| 596 | - ?> |
|
| 586 | + /** |
|
| 587 | + * Output the JS and CSS for the shortcode insert button. |
|
| 588 | + * |
|
| 589 | + * @param string $editor_id |
|
| 590 | + * @param string $insert_shortcode_function |
|
| 591 | + * |
|
| 592 | + *@since 1.0.6 |
|
| 593 | + * |
|
| 594 | + */ |
|
| 595 | + public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) { |
|
| 596 | + ?> |
|
| 597 | 597 | <style> |
| 598 | 598 | .sd-shortcode-left-wrap { |
| 599 | 599 | float: left; |
@@ -721,35 +721,35 @@ discard block |
||
| 721 | 721 | <?php } ?> |
| 722 | 722 | </style> |
| 723 | 723 | <?php |
| 724 | - if ( class_exists( 'SiteOrigin_Panels' ) ) { |
|
| 725 | - echo "<script>" . self::siteorigin_js() . "</script>"; |
|
| 726 | - } |
|
| 727 | - ?> |
|
| 724 | + if ( class_exists( 'SiteOrigin_Panels' ) ) { |
|
| 725 | + echo "<script>" . self::siteorigin_js() . "</script>"; |
|
| 726 | + } |
|
| 727 | + ?> |
|
| 728 | 728 | <script> |
| 729 | 729 | <?php |
| 730 | - if(! empty( $insert_shortcode_function )){ |
|
| 731 | - echo $insert_shortcode_function; |
|
| 732 | - }else{ |
|
| 733 | - |
|
| 734 | - /** |
|
| 735 | - * Function for super duper insert shortcode. |
|
| 736 | - * |
|
| 737 | - * @since 1.0.0 |
|
| 738 | - */ |
|
| 739 | - ?> |
|
| 730 | + if(! empty( $insert_shortcode_function )){ |
|
| 731 | + echo $insert_shortcode_function; |
|
| 732 | + }else{ |
|
| 733 | + |
|
| 734 | + /** |
|
| 735 | + * Function for super duper insert shortcode. |
|
| 736 | + * |
|
| 737 | + * @since 1.0.0 |
|
| 738 | + */ |
|
| 739 | + ?> |
|
| 740 | 740 | function sd_insert_shortcode($editor_id) { |
| 741 | 741 | $shortcode = jQuery('#TB_ajaxContent #sd-shortcode-output').val(); |
| 742 | 742 | if ($shortcode) { |
| 743 | 743 | if (!$editor_id) { |
| 744 | 744 | <?php |
| 745 | - if ( isset( $_REQUEST['et_fb'] ) ) { |
|
| 746 | - echo '$editor_id = "#main_content_content_vb_tiny_mce";'; |
|
| 747 | - } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) { |
|
| 748 | - echo '$editor_id = "#elementor-controls .wp-editor-container textarea";'; |
|
| 749 | - } else { |
|
| 750 | - echo '$editor_id = "#wp-content-editor-container textarea";'; |
|
| 751 | - } |
|
| 752 | - ?> |
|
| 745 | + if ( isset( $_REQUEST['et_fb'] ) ) { |
|
| 746 | + echo '$editor_id = "#main_content_content_vb_tiny_mce";'; |
|
| 747 | + } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) { |
|
| 748 | + echo '$editor_id = "#elementor-controls .wp-editor-container textarea";'; |
|
| 749 | + } else { |
|
| 750 | + echo '$editor_id = "#wp-content-editor-container textarea";'; |
|
| 751 | + } |
|
| 752 | + ?> |
|
| 753 | 753 | } else { |
| 754 | 754 | $editor_id = '#' + $editor_id; |
| 755 | 755 | } |
@@ -1063,18 +1063,18 @@ discard block |
||
| 1063 | 1063 | } |
| 1064 | 1064 | </script> |
| 1065 | 1065 | <?php |
| 1066 | - } |
|
| 1066 | + } |
|
| 1067 | 1067 | |
| 1068 | - /** |
|
| 1069 | - * Gets some CSS for the widgets screen. |
|
| 1070 | - * |
|
| 1071 | - * @param bool $advanced If we should include advanced CSS. |
|
| 1072 | - * |
|
| 1073 | - * @return mixed |
|
| 1074 | - */ |
|
| 1075 | - public function widget_css( $advanced = true ) { |
|
| 1076 | - ob_start(); |
|
| 1077 | - ?> |
|
| 1068 | + /** |
|
| 1069 | + * Gets some CSS for the widgets screen. |
|
| 1070 | + * |
|
| 1071 | + * @param bool $advanced If we should include advanced CSS. |
|
| 1072 | + * |
|
| 1073 | + * @return mixed |
|
| 1074 | + */ |
|
| 1075 | + public function widget_css( $advanced = true ) { |
|
| 1076 | + ob_start(); |
|
| 1077 | + ?> |
|
| 1078 | 1078 | <style> |
| 1079 | 1079 | <?php if( $advanced ){ ?> |
| 1080 | 1080 | .sd-advanced-setting { |
@@ -1114,26 +1114,26 @@ discard block |
||
| 1114 | 1114 | .elementor-control .sd-argument select[multiple] option{padding:3px} |
| 1115 | 1115 | </style> |
| 1116 | 1116 | <?php |
| 1117 | - $output = ob_get_clean(); |
|
| 1117 | + $output = ob_get_clean(); |
|
| 1118 | 1118 | |
| 1119 | - /* |
|
| 1119 | + /* |
|
| 1120 | 1120 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 1121 | 1121 | */ |
| 1122 | 1122 | |
| 1123 | - return str_replace( array( |
|
| 1124 | - '<style>', |
|
| 1125 | - '</style>' |
|
| 1126 | - ), '', $output ); |
|
| 1127 | - } |
|
| 1123 | + return str_replace( array( |
|
| 1124 | + '<style>', |
|
| 1125 | + '</style>' |
|
| 1126 | + ), '', $output ); |
|
| 1127 | + } |
|
| 1128 | 1128 | |
| 1129 | - /** |
|
| 1130 | - * Gets some JS for the widgets screen. |
|
| 1131 | - * |
|
| 1132 | - * @return mixed |
|
| 1133 | - */ |
|
| 1134 | - public function widget_js() { |
|
| 1135 | - ob_start(); |
|
| 1136 | - ?> |
|
| 1129 | + /** |
|
| 1130 | + * Gets some JS for the widgets screen. |
|
| 1131 | + * |
|
| 1132 | + * @return mixed |
|
| 1133 | + */ |
|
| 1134 | + public function widget_js() { |
|
| 1135 | + ob_start(); |
|
| 1136 | + ?> |
|
| 1137 | 1137 | <script> |
| 1138 | 1138 | |
| 1139 | 1139 | /** |
@@ -1284,513 +1284,513 @@ discard block |
||
| 1284 | 1284 | <?php do_action( 'wp_super_duper_widget_js', $this ); ?> |
| 1285 | 1285 | </script> |
| 1286 | 1286 | <?php |
| 1287 | - $output = ob_get_clean(); |
|
| 1287 | + $output = ob_get_clean(); |
|
| 1288 | 1288 | |
| 1289 | - /* |
|
| 1289 | + /* |
|
| 1290 | 1290 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 1291 | 1291 | */ |
| 1292 | 1292 | |
| 1293 | - return str_replace( array( |
|
| 1294 | - '<script>', |
|
| 1295 | - '</script>' |
|
| 1296 | - ), '', $output ); |
|
| 1297 | - } |
|
| 1293 | + return str_replace( array( |
|
| 1294 | + '<script>', |
|
| 1295 | + '</script>' |
|
| 1296 | + ), '', $output ); |
|
| 1297 | + } |
|
| 1298 | 1298 | |
| 1299 | 1299 | |
| 1300 | - /** |
|
| 1301 | - * Set the name from the argument key. |
|
| 1302 | - * |
|
| 1303 | - * @param $options |
|
| 1304 | - * |
|
| 1305 | - * @return mixed |
|
| 1306 | - */ |
|
| 1307 | - private function add_name_from_key( $options, $arguments = false ) { |
|
| 1308 | - if ( ! empty( $options['arguments'] ) ) { |
|
| 1309 | - foreach ( $options['arguments'] as $key => $val ) { |
|
| 1310 | - $options['arguments'][ $key ]['name'] = $key; |
|
| 1311 | - } |
|
| 1312 | - } elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) { |
|
| 1313 | - foreach ( $options as $key => $val ) { |
|
| 1314 | - $options[ $key ]['name'] = $key; |
|
| 1315 | - } |
|
| 1316 | - } |
|
| 1300 | + /** |
|
| 1301 | + * Set the name from the argument key. |
|
| 1302 | + * |
|
| 1303 | + * @param $options |
|
| 1304 | + * |
|
| 1305 | + * @return mixed |
|
| 1306 | + */ |
|
| 1307 | + private function add_name_from_key( $options, $arguments = false ) { |
|
| 1308 | + if ( ! empty( $options['arguments'] ) ) { |
|
| 1309 | + foreach ( $options['arguments'] as $key => $val ) { |
|
| 1310 | + $options['arguments'][ $key ]['name'] = $key; |
|
| 1311 | + } |
|
| 1312 | + } elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) { |
|
| 1313 | + foreach ( $options as $key => $val ) { |
|
| 1314 | + $options[ $key ]['name'] = $key; |
|
| 1315 | + } |
|
| 1316 | + } |
|
| 1317 | 1317 | |
| 1318 | - return $options; |
|
| 1319 | - } |
|
| 1318 | + return $options; |
|
| 1319 | + } |
|
| 1320 | 1320 | |
| 1321 | - /** |
|
| 1322 | - * Register the parent shortcode. |
|
| 1323 | - * |
|
| 1324 | - * @since 1.0.0 |
|
| 1325 | - */ |
|
| 1326 | - public function register_shortcode() { |
|
| 1327 | - add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) ); |
|
| 1328 | - add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) ); |
|
| 1329 | - } |
|
| 1321 | + /** |
|
| 1322 | + * Register the parent shortcode. |
|
| 1323 | + * |
|
| 1324 | + * @since 1.0.0 |
|
| 1325 | + */ |
|
| 1326 | + public function register_shortcode() { |
|
| 1327 | + add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) ); |
|
| 1328 | + add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) ); |
|
| 1329 | + } |
|
| 1330 | 1330 | |
| 1331 | - /** |
|
| 1332 | - * Render the shortcode via ajax so we can return it to Gutenberg. |
|
| 1333 | - * |
|
| 1334 | - * @since 1.0.0 |
|
| 1335 | - */ |
|
| 1336 | - public function render_shortcode() { |
|
| 1337 | - check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true ); |
|
| 1338 | - if ( ! current_user_can( 'manage_options' ) ) { |
|
| 1339 | - wp_die(); |
|
| 1340 | - } |
|
| 1331 | + /** |
|
| 1332 | + * Render the shortcode via ajax so we can return it to Gutenberg. |
|
| 1333 | + * |
|
| 1334 | + * @since 1.0.0 |
|
| 1335 | + */ |
|
| 1336 | + public function render_shortcode() { |
|
| 1337 | + check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true ); |
|
| 1338 | + if ( ! current_user_can( 'manage_options' ) ) { |
|
| 1339 | + wp_die(); |
|
| 1340 | + } |
|
| 1341 | + |
|
| 1342 | + // we might need the $post value here so lets set it. |
|
| 1343 | + if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) { |
|
| 1344 | + $post_obj = get_post( absint( $_POST['post_id'] ) ); |
|
| 1345 | + if ( ! empty( $post_obj ) && empty( $post ) ) { |
|
| 1346 | + global $post; |
|
| 1347 | + $post = $post_obj; |
|
| 1348 | + } |
|
| 1349 | + } |
|
| 1350 | + |
|
| 1351 | + if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) { |
|
| 1352 | + $is_preview = $this->is_preview(); |
|
| 1353 | + $shortcode_name = sanitize_title_with_dashes( $_POST['shortcode'] ); |
|
| 1354 | + $attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array(); |
|
| 1355 | + $attributes = ''; |
|
| 1356 | + if ( ! empty( $attributes_array ) ) { |
|
| 1357 | + foreach ( $attributes_array as $key => $value ) { |
|
| 1358 | + if ( is_array( $value ) ) { |
|
| 1359 | + $value = implode( ",", $value ); |
|
| 1360 | + } |
|
| 1361 | + |
|
| 1362 | + if ( ! empty( $value ) ) { |
|
| 1363 | + $value = wp_unslash( $value ); |
|
| 1364 | + |
|
| 1365 | + // Encode [ and ]. |
|
| 1366 | + if ( $is_preview ) { |
|
| 1367 | + $value = $this->encode_shortcodes( $value ); |
|
| 1368 | + } |
|
| 1369 | + } |
|
| 1370 | + $attributes .= " " . esc_attr( sanitize_title_with_dashes( $key ) ) . "='" . esc_attr( $value ) . "' "; |
|
| 1371 | + } |
|
| 1372 | + } |
|
| 1341 | 1373 | |
| 1342 | - // we might need the $post value here so lets set it. |
|
| 1343 | - if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) { |
|
| 1344 | - $post_obj = get_post( absint( $_POST['post_id'] ) ); |
|
| 1345 | - if ( ! empty( $post_obj ) && empty( $post ) ) { |
|
| 1346 | - global $post; |
|
| 1347 | - $post = $post_obj; |
|
| 1348 | - } |
|
| 1349 | - } |
|
| 1374 | + $shortcode = "[" . esc_attr( $shortcode_name ) . " " . $attributes . "]"; |
|
| 1350 | 1375 | |
| 1351 | - if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) { |
|
| 1352 | - $is_preview = $this->is_preview(); |
|
| 1353 | - $shortcode_name = sanitize_title_with_dashes( $_POST['shortcode'] ); |
|
| 1354 | - $attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array(); |
|
| 1355 | - $attributes = ''; |
|
| 1356 | - if ( ! empty( $attributes_array ) ) { |
|
| 1357 | - foreach ( $attributes_array as $key => $value ) { |
|
| 1358 | - if ( is_array( $value ) ) { |
|
| 1359 | - $value = implode( ",", $value ); |
|
| 1360 | - } |
|
| 1376 | + $content = do_shortcode( $shortcode ); |
|
| 1361 | 1377 | |
| 1362 | - if ( ! empty( $value ) ) { |
|
| 1363 | - $value = wp_unslash( $value ); |
|
| 1378 | + // Decode [ and ]. |
|
| 1379 | + if ( ! empty( $content ) && $is_preview ) { |
|
| 1380 | + $content = $this->decode_shortcodes( $content ); |
|
| 1381 | + } |
|
| 1364 | 1382 | |
| 1365 | - // Encode [ and ]. |
|
| 1366 | - if ( $is_preview ) { |
|
| 1367 | - $value = $this->encode_shortcodes( $value ); |
|
| 1368 | - } |
|
| 1369 | - } |
|
| 1370 | - $attributes .= " " . esc_attr( sanitize_title_with_dashes( $key ) ) . "='" . esc_attr( $value ) . "' "; |
|
| 1371 | - } |
|
| 1372 | - } |
|
| 1383 | + echo $content; |
|
| 1384 | + } |
|
| 1385 | + wp_die(); |
|
| 1386 | + } |
|
| 1373 | 1387 | |
| 1374 | - $shortcode = "[" . esc_attr( $shortcode_name ) . " " . $attributes . "]"; |
|
| 1388 | + /** |
|
| 1389 | + * Output the shortcode. |
|
| 1390 | + * |
|
| 1391 | + * @param array $args |
|
| 1392 | + * @param string $content |
|
| 1393 | + * |
|
| 1394 | + * @return string |
|
| 1395 | + */ |
|
| 1396 | + public function shortcode_output( $args = array(), $content = '' ) { |
|
| 1397 | + $_instance = $args; |
|
| 1398 | + |
|
| 1399 | + $args = $this->argument_values( $args ); |
|
| 1400 | + |
|
| 1401 | + // add extra argument so we know its a output to gutenberg |
|
| 1402 | + //$args |
|
| 1403 | + $args = $this->string_to_bool( $args ); |
|
| 1404 | + |
|
| 1405 | + // if we have a enclosed shortcode we add it to the special `html` argument |
|
| 1406 | + if ( ! empty( $content ) ) { |
|
| 1407 | + $args['html'] = $content; |
|
| 1408 | + } |
|
| 1409 | + |
|
| 1410 | + if ( ! $this->is_preview() ) { |
|
| 1411 | + /** |
|
| 1412 | + * Filters the settings for a particular widget args. |
|
| 1413 | + * |
|
| 1414 | + * @param array $args The current widget instance's settings. |
|
| 1415 | + * @param WP_Super_Duper $widget The current widget settings. |
|
| 1416 | + * @param array $_instance An array of default widget arguments. |
|
| 1417 | + * |
|
| 1418 | + *@since 1.0.28 |
|
| 1419 | + * |
|
| 1420 | + */ |
|
| 1421 | + $args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance ); |
|
| 1422 | + |
|
| 1423 | + if ( ! is_array( $args ) ) { |
|
| 1424 | + return $args; |
|
| 1425 | + } |
|
| 1426 | + } |
|
| 1427 | + |
|
| 1428 | + $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : ''; |
|
| 1429 | + $class .= " sdel-".$this->get_instance_hash(); |
|
| 1430 | + |
|
| 1431 | + $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this ); |
|
| 1432 | + $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this ); |
|
| 1433 | + |
|
| 1434 | + $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this ); |
|
| 1435 | + $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); |
|
| 1436 | + |
|
| 1437 | + $shortcode_args = array(); |
|
| 1438 | + $output = ''; |
|
| 1439 | + $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false; |
|
| 1440 | + if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) { |
|
| 1441 | + $no_wrap = true; |
|
| 1442 | + } |
|
| 1443 | + $main_content = $this->output( $args, $shortcode_args, $content ); |
|
| 1444 | + if ( $main_content && ! $no_wrap ) { |
|
| 1445 | + // wrap the shortcode in a div with the same class as the widget |
|
| 1446 | + $output .= '<div class="' . $class . '" ' . $attrs . '>'; |
|
| 1447 | + if ( ! empty( $args['title'] ) ) { |
|
| 1448 | + // if its a shortcode and there is a title try to grab the title wrappers |
|
| 1449 | + $shortcode_args = array( 'before_title' => '', 'after_title' => '' ); |
|
| 1450 | + if ( empty( $instance ) ) { |
|
| 1451 | + global $wp_registered_sidebars; |
|
| 1452 | + if ( ! empty( $wp_registered_sidebars ) ) { |
|
| 1453 | + foreach ( $wp_registered_sidebars as $sidebar ) { |
|
| 1454 | + if ( ! empty( $sidebar['before_title'] ) ) { |
|
| 1455 | + $shortcode_args['before_title'] = $sidebar['before_title']; |
|
| 1456 | + $shortcode_args['after_title'] = $sidebar['after_title']; |
|
| 1457 | + break; |
|
| 1458 | + } |
|
| 1459 | + } |
|
| 1460 | + } |
|
| 1461 | + } |
|
| 1462 | + $output .= $this->output_title( $shortcode_args, $args ); |
|
| 1463 | + } |
|
| 1464 | + $output .= $main_content; |
|
| 1465 | + $output .= '</div>'; |
|
| 1466 | + } elseif ( $main_content && $no_wrap ) { |
|
| 1467 | + $output .= $main_content; |
|
| 1468 | + } |
|
| 1469 | + |
|
| 1470 | + // if preview show a placeholder if empty |
|
| 1471 | + if ( $this->is_preview() && $output == '' ) { |
|
| 1472 | + $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
| 1473 | + } |
|
| 1474 | + |
|
| 1475 | + return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this ); |
|
| 1476 | + } |
|
| 1375 | 1477 | |
| 1376 | - $content = do_shortcode( $shortcode ); |
|
| 1478 | + /** |
|
| 1479 | + * Placeholder text to show if output is empty and we are on a preview/builder page. |
|
| 1480 | + * |
|
| 1481 | + * @param string $name |
|
| 1482 | + * |
|
| 1483 | + * @return string |
|
| 1484 | + */ |
|
| 1485 | + public function preview_placeholder_text( $name = '' ) { |
|
| 1486 | + return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf( __( 'Placeholder for: %s', 'ayecode-connect' ), $name ) . "</div>"; |
|
| 1487 | + } |
|
| 1377 | 1488 | |
| 1378 | - // Decode [ and ]. |
|
| 1379 | - if ( ! empty( $content ) && $is_preview ) { |
|
| 1380 | - $content = $this->decode_shortcodes( $content ); |
|
| 1381 | - } |
|
| 1489 | + /** |
|
| 1490 | + * Sometimes booleans values can be turned to strings, so we fix that. |
|
| 1491 | + * |
|
| 1492 | + * @param $options |
|
| 1493 | + * |
|
| 1494 | + * @return mixed |
|
| 1495 | + */ |
|
| 1496 | + public function string_to_bool( $options ) { |
|
| 1497 | + // convert bool strings to booleans |
|
| 1498 | + foreach ( $options as $key => $val ) { |
|
| 1499 | + if ( $val == 'false' ) { |
|
| 1500 | + $options[ $key ] = false; |
|
| 1501 | + } elseif ( $val == 'true' ) { |
|
| 1502 | + $options[ $key ] = true; |
|
| 1503 | + } |
|
| 1504 | + } |
|
| 1382 | 1505 | |
| 1383 | - echo $content; |
|
| 1384 | - } |
|
| 1385 | - wp_die(); |
|
| 1386 | - } |
|
| 1506 | + return $options; |
|
| 1507 | + } |
|
| 1387 | 1508 | |
| 1388 | - /** |
|
| 1389 | - * Output the shortcode. |
|
| 1390 | - * |
|
| 1391 | - * @param array $args |
|
| 1392 | - * @param string $content |
|
| 1393 | - * |
|
| 1394 | - * @return string |
|
| 1395 | - */ |
|
| 1396 | - public function shortcode_output( $args = array(), $content = '' ) { |
|
| 1397 | - $_instance = $args; |
|
| 1398 | - |
|
| 1399 | - $args = $this->argument_values( $args ); |
|
| 1400 | - |
|
| 1401 | - // add extra argument so we know its a output to gutenberg |
|
| 1402 | - //$args |
|
| 1403 | - $args = $this->string_to_bool( $args ); |
|
| 1404 | - |
|
| 1405 | - // if we have a enclosed shortcode we add it to the special `html` argument |
|
| 1406 | - if ( ! empty( $content ) ) { |
|
| 1407 | - $args['html'] = $content; |
|
| 1408 | - } |
|
| 1509 | + /** |
|
| 1510 | + * Get the argument values that are also filterable. |
|
| 1511 | + * |
|
| 1512 | + * @param $instance |
|
| 1513 | + * |
|
| 1514 | + * @return array |
|
| 1515 | + *@since 1.0.12 Don't set checkbox default value if the value is empty. |
|
| 1516 | + * |
|
| 1517 | + */ |
|
| 1518 | + public function argument_values( $instance ) { |
|
| 1519 | + $argument_values = array(); |
|
| 1520 | + |
|
| 1521 | + // set widget instance |
|
| 1522 | + $this->instance = $instance; |
|
| 1523 | + |
|
| 1524 | + if ( empty( $this->arguments ) ) { |
|
| 1525 | + $this->arguments = $this->get_arguments(); |
|
| 1526 | + } |
|
| 1527 | + |
|
| 1528 | + if ( ! empty( $this->arguments ) ) { |
|
| 1529 | + foreach ( $this->arguments as $key => $args ) { |
|
| 1530 | + // set the input name from the key |
|
| 1531 | + $args['name'] = $key; |
|
| 1532 | + // |
|
| 1533 | + $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : ''; |
|
| 1534 | + if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) { |
|
| 1535 | + // don't set default for an empty checkbox |
|
| 1536 | + } elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) { |
|
| 1537 | + $argument_values[ $key ] = $args['default']; |
|
| 1538 | + } |
|
| 1539 | + } |
|
| 1540 | + } |
|
| 1409 | 1541 | |
| 1410 | - if ( ! $this->is_preview() ) { |
|
| 1411 | - /** |
|
| 1412 | - * Filters the settings for a particular widget args. |
|
| 1413 | - * |
|
| 1414 | - * @param array $args The current widget instance's settings. |
|
| 1415 | - * @param WP_Super_Duper $widget The current widget settings. |
|
| 1416 | - * @param array $_instance An array of default widget arguments. |
|
| 1417 | - * |
|
| 1418 | - *@since 1.0.28 |
|
| 1419 | - * |
|
| 1420 | - */ |
|
| 1421 | - $args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance ); |
|
| 1542 | + return $argument_values; |
|
| 1543 | + } |
|
| 1422 | 1544 | |
| 1423 | - if ( ! is_array( $args ) ) { |
|
| 1424 | - return $args; |
|
| 1425 | - } |
|
| 1426 | - } |
|
| 1545 | + /** |
|
| 1546 | + * Set arguments in super duper. |
|
| 1547 | + * |
|
| 1548 | + * @return array Set arguments. |
|
| 1549 | + *@since 1.0.0 |
|
| 1550 | + * |
|
| 1551 | + */ |
|
| 1552 | + public function set_arguments() { |
|
| 1553 | + return $this->arguments; |
|
| 1554 | + } |
|
| 1427 | 1555 | |
| 1428 | - $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : ''; |
|
| 1429 | - $class .= " sdel-".$this->get_instance_hash(); |
|
| 1556 | + /** |
|
| 1557 | + * Get arguments in super duper. |
|
| 1558 | + * |
|
| 1559 | + * @return array Get arguments. |
|
| 1560 | + *@since 1.0.0 |
|
| 1561 | + * |
|
| 1562 | + */ |
|
| 1563 | + public function get_arguments() { |
|
| 1564 | + if ( empty( $this->arguments ) ) { |
|
| 1565 | + $this->arguments = $this->set_arguments(); |
|
| 1566 | + } |
|
| 1430 | 1567 | |
| 1431 | - $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this ); |
|
| 1432 | - $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this ); |
|
| 1568 | + $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance ); |
|
| 1569 | + $this->arguments = $this->add_name_from_key( $this->arguments, true ); |
|
| 1433 | 1570 | |
| 1434 | - $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this ); |
|
| 1435 | - $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); |
|
| 1571 | + return $this->arguments; |
|
| 1572 | + } |
|
| 1436 | 1573 | |
| 1437 | - $shortcode_args = array(); |
|
| 1438 | - $output = ''; |
|
| 1439 | - $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false; |
|
| 1440 | - if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) { |
|
| 1441 | - $no_wrap = true; |
|
| 1442 | - } |
|
| 1443 | - $main_content = $this->output( $args, $shortcode_args, $content ); |
|
| 1444 | - if ( $main_content && ! $no_wrap ) { |
|
| 1445 | - // wrap the shortcode in a div with the same class as the widget |
|
| 1446 | - $output .= '<div class="' . $class . '" ' . $attrs . '>'; |
|
| 1447 | - if ( ! empty( $args['title'] ) ) { |
|
| 1448 | - // if its a shortcode and there is a title try to grab the title wrappers |
|
| 1449 | - $shortcode_args = array( 'before_title' => '', 'after_title' => '' ); |
|
| 1450 | - if ( empty( $instance ) ) { |
|
| 1451 | - global $wp_registered_sidebars; |
|
| 1452 | - if ( ! empty( $wp_registered_sidebars ) ) { |
|
| 1453 | - foreach ( $wp_registered_sidebars as $sidebar ) { |
|
| 1454 | - if ( ! empty( $sidebar['before_title'] ) ) { |
|
| 1455 | - $shortcode_args['before_title'] = $sidebar['before_title']; |
|
| 1456 | - $shortcode_args['after_title'] = $sidebar['after_title']; |
|
| 1457 | - break; |
|
| 1458 | - } |
|
| 1459 | - } |
|
| 1460 | - } |
|
| 1461 | - } |
|
| 1462 | - $output .= $this->output_title( $shortcode_args, $args ); |
|
| 1463 | - } |
|
| 1464 | - $output .= $main_content; |
|
| 1465 | - $output .= '</div>'; |
|
| 1466 | - } elseif ( $main_content && $no_wrap ) { |
|
| 1467 | - $output .= $main_content; |
|
| 1468 | - } |
|
| 1574 | + /** |
|
| 1575 | + * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class. |
|
| 1576 | + * |
|
| 1577 | + * @param array $args |
|
| 1578 | + * @param array $widget_args |
|
| 1579 | + * @param string $content |
|
| 1580 | + */ |
|
| 1581 | + public function output( $args = array(), $widget_args = array(), $content = '' ) { |
|
| 1469 | 1582 | |
| 1470 | - // if preview show a placeholder if empty |
|
| 1471 | - if ( $this->is_preview() && $output == '' ) { |
|
| 1472 | - $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
| 1473 | - } |
|
| 1583 | + } |
|
| 1474 | 1584 | |
| 1475 | - return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this ); |
|
| 1476 | - } |
|
| 1585 | + /** |
|
| 1586 | + * Add the dynamic block code inline when the wp-block in enqueued. |
|
| 1587 | + */ |
|
| 1588 | + public function register_block() { |
|
| 1589 | + wp_add_inline_script( 'wp-blocks', $this->block() ); |
|
| 1590 | + if ( class_exists( 'SiteOrigin_Panels' ) ) { |
|
| 1591 | + wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() ); |
|
| 1592 | + } |
|
| 1593 | + } |
|
| 1477 | 1594 | |
| 1478 | - /** |
|
| 1479 | - * Placeholder text to show if output is empty and we are on a preview/builder page. |
|
| 1480 | - * |
|
| 1481 | - * @param string $name |
|
| 1482 | - * |
|
| 1483 | - * @return string |
|
| 1484 | - */ |
|
| 1485 | - public function preview_placeholder_text( $name = '' ) { |
|
| 1486 | - return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf( __( 'Placeholder for: %s', 'ayecode-connect' ), $name ) . "</div>"; |
|
| 1487 | - } |
|
| 1595 | + /** |
|
| 1596 | + * Check if we need to show advanced options. |
|
| 1597 | + * |
|
| 1598 | + * @return bool |
|
| 1599 | + */ |
|
| 1600 | + public function block_show_advanced() { |
|
| 1488 | 1601 | |
| 1489 | - /** |
|
| 1490 | - * Sometimes booleans values can be turned to strings, so we fix that. |
|
| 1491 | - * |
|
| 1492 | - * @param $options |
|
| 1493 | - * |
|
| 1494 | - * @return mixed |
|
| 1495 | - */ |
|
| 1496 | - public function string_to_bool( $options ) { |
|
| 1497 | - // convert bool strings to booleans |
|
| 1498 | - foreach ( $options as $key => $val ) { |
|
| 1499 | - if ( $val == 'false' ) { |
|
| 1500 | - $options[ $key ] = false; |
|
| 1501 | - } elseif ( $val == 'true' ) { |
|
| 1502 | - $options[ $key ] = true; |
|
| 1503 | - } |
|
| 1504 | - } |
|
| 1602 | + $show = false; |
|
| 1603 | + $arguments = $this->get_arguments(); |
|
| 1505 | 1604 | |
| 1506 | - return $options; |
|
| 1507 | - } |
|
| 1605 | + if ( ! empty( $arguments ) ) { |
|
| 1606 | + foreach ( $arguments as $argument ) { |
|
| 1607 | + if ( isset( $argument['advanced'] ) && $argument['advanced'] ) { |
|
| 1608 | + $show = true; |
|
| 1609 | + break; // no need to continue if we know we have it |
|
| 1610 | + } |
|
| 1611 | + } |
|
| 1612 | + } |
|
| 1508 | 1613 | |
| 1509 | - /** |
|
| 1510 | - * Get the argument values that are also filterable. |
|
| 1511 | - * |
|
| 1512 | - * @param $instance |
|
| 1513 | - * |
|
| 1514 | - * @return array |
|
| 1515 | - *@since 1.0.12 Don't set checkbox default value if the value is empty. |
|
| 1516 | - * |
|
| 1517 | - */ |
|
| 1518 | - public function argument_values( $instance ) { |
|
| 1519 | - $argument_values = array(); |
|
| 1520 | - |
|
| 1521 | - // set widget instance |
|
| 1522 | - $this->instance = $instance; |
|
| 1523 | - |
|
| 1524 | - if ( empty( $this->arguments ) ) { |
|
| 1525 | - $this->arguments = $this->get_arguments(); |
|
| 1526 | - } |
|
| 1614 | + return $show; |
|
| 1615 | + } |
|
| 1527 | 1616 | |
| 1528 | - if ( ! empty( $this->arguments ) ) { |
|
| 1529 | - foreach ( $this->arguments as $key => $args ) { |
|
| 1530 | - // set the input name from the key |
|
| 1531 | - $args['name'] = $key; |
|
| 1532 | - // |
|
| 1533 | - $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : ''; |
|
| 1534 | - if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) { |
|
| 1535 | - // don't set default for an empty checkbox |
|
| 1536 | - } elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) { |
|
| 1537 | - $argument_values[ $key ] = $args['default']; |
|
| 1538 | - } |
|
| 1539 | - } |
|
| 1540 | - } |
|
| 1617 | + /** |
|
| 1618 | + * Get the url path to the current folder. |
|
| 1619 | + * |
|
| 1620 | + * @return string |
|
| 1621 | + */ |
|
| 1622 | + public function get_url() { |
|
| 1623 | + $url = $this->url; |
|
| 1541 | 1624 | |
| 1542 | - return $argument_values; |
|
| 1543 | - } |
|
| 1625 | + if ( ! $url ) { |
|
| 1626 | + $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 1627 | + $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 1544 | 1628 | |
| 1545 | - /** |
|
| 1546 | - * Set arguments in super duper. |
|
| 1547 | - * |
|
| 1548 | - * @return array Set arguments. |
|
| 1549 | - *@since 1.0.0 |
|
| 1550 | - * |
|
| 1551 | - */ |
|
| 1552 | - public function set_arguments() { |
|
| 1553 | - return $this->arguments; |
|
| 1554 | - } |
|
| 1629 | + // Replace http:// to https://. |
|
| 1630 | + if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 1631 | + $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 1632 | + } |
|
| 1555 | 1633 | |
| 1556 | - /** |
|
| 1557 | - * Get arguments in super duper. |
|
| 1558 | - * |
|
| 1559 | - * @return array Get arguments. |
|
| 1560 | - *@since 1.0.0 |
|
| 1561 | - * |
|
| 1562 | - */ |
|
| 1563 | - public function get_arguments() { |
|
| 1564 | - if ( empty( $this->arguments ) ) { |
|
| 1565 | - $this->arguments = $this->set_arguments(); |
|
| 1566 | - } |
|
| 1634 | + // Check if we are inside a plugin |
|
| 1635 | + $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 1636 | + $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 1637 | + $url = trailingslashit( $url ); |
|
| 1638 | + $this->url = $url; |
|
| 1639 | + } |
|
| 1567 | 1640 | |
| 1568 | - $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance ); |
|
| 1569 | - $this->arguments = $this->add_name_from_key( $this->arguments, true ); |
|
| 1641 | + return $url; |
|
| 1642 | + } |
|
| 1570 | 1643 | |
| 1571 | - return $this->arguments; |
|
| 1572 | - } |
|
| 1644 | + /** |
|
| 1645 | + * Get the url path to the current folder. |
|
| 1646 | + * |
|
| 1647 | + * @return string |
|
| 1648 | + */ |
|
| 1649 | + public function get_url_old() { |
|
| 1573 | 1650 | |
| 1574 | - /** |
|
| 1575 | - * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class. |
|
| 1576 | - * |
|
| 1577 | - * @param array $args |
|
| 1578 | - * @param array $widget_args |
|
| 1579 | - * @param string $content |
|
| 1580 | - */ |
|
| 1581 | - public function output( $args = array(), $widget_args = array(), $content = '' ) { |
|
| 1651 | + $url = $this->url; |
|
| 1582 | 1652 | |
| 1583 | - } |
|
| 1653 | + if ( ! $url ) { |
|
| 1654 | + // check if we are inside a plugin |
|
| 1655 | + $file_dir = str_replace( "/includes", "", dirname( __FILE__ ) ); |
|
| 1584 | 1656 | |
| 1585 | - /** |
|
| 1586 | - * Add the dynamic block code inline when the wp-block in enqueued. |
|
| 1587 | - */ |
|
| 1588 | - public function register_block() { |
|
| 1589 | - wp_add_inline_script( 'wp-blocks', $this->block() ); |
|
| 1590 | - if ( class_exists( 'SiteOrigin_Panels' ) ) { |
|
| 1591 | - wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() ); |
|
| 1592 | - } |
|
| 1593 | - } |
|
| 1657 | + $dir_parts = explode( "/wp-content/", $file_dir ); |
|
| 1658 | + $url_parts = explode( "/wp-content/", plugins_url() ); |
|
| 1594 | 1659 | |
| 1595 | - /** |
|
| 1596 | - * Check if we need to show advanced options. |
|
| 1597 | - * |
|
| 1598 | - * @return bool |
|
| 1599 | - */ |
|
| 1600 | - public function block_show_advanced() { |
|
| 1601 | - |
|
| 1602 | - $show = false; |
|
| 1603 | - $arguments = $this->get_arguments(); |
|
| 1604 | - |
|
| 1605 | - if ( ! empty( $arguments ) ) { |
|
| 1606 | - foreach ( $arguments as $argument ) { |
|
| 1607 | - if ( isset( $argument['advanced'] ) && $argument['advanced'] ) { |
|
| 1608 | - $show = true; |
|
| 1609 | - break; // no need to continue if we know we have it |
|
| 1610 | - } |
|
| 1611 | - } |
|
| 1612 | - } |
|
| 1660 | + if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) { |
|
| 1661 | + $url = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] ); |
|
| 1662 | + $this->url = $url; |
|
| 1663 | + } |
|
| 1664 | + } |
|
| 1613 | 1665 | |
| 1614 | - return $show; |
|
| 1615 | - } |
|
| 1616 | 1666 | |
| 1617 | - /** |
|
| 1618 | - * Get the url path to the current folder. |
|
| 1619 | - * |
|
| 1620 | - * @return string |
|
| 1621 | - */ |
|
| 1622 | - public function get_url() { |
|
| 1623 | - $url = $this->url; |
|
| 1624 | - |
|
| 1625 | - if ( ! $url ) { |
|
| 1626 | - $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 1627 | - $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 1628 | - |
|
| 1629 | - // Replace http:// to https://. |
|
| 1630 | - if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 1631 | - $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 1632 | - } |
|
| 1667 | + return $url; |
|
| 1668 | + } |
|
| 1633 | 1669 | |
| 1634 | - // Check if we are inside a plugin |
|
| 1635 | - $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 1636 | - $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 1637 | - $url = trailingslashit( $url ); |
|
| 1638 | - $this->url = $url; |
|
| 1639 | - } |
|
| 1670 | + /** |
|
| 1671 | + * Generate the block icon. |
|
| 1672 | + * |
|
| 1673 | + * Enables the use of Font Awesome icons. |
|
| 1674 | + * |
|
| 1675 | + * @note xlink:href is actually deprecated but href is not supported by all so we use both. |
|
| 1676 | + * |
|
| 1677 | + * @param $icon |
|
| 1678 | + * |
|
| 1679 | + * @return string |
|
| 1680 | + *@since 1.1.0 |
|
| 1681 | + */ |
|
| 1682 | + public function get_block_icon( $icon ) { |
|
| 1683 | + |
|
| 1684 | + // check if we have a Font Awesome icon |
|
| 1685 | + $fa_type = ''; |
|
| 1686 | + if ( substr( $icon, 0, 7 ) === "fas fa-" ) { |
|
| 1687 | + $fa_type = 'solid'; |
|
| 1688 | + } elseif ( substr( $icon, 0, 7 ) === "far fa-" ) { |
|
| 1689 | + $fa_type = 'regular'; |
|
| 1690 | + } elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) { |
|
| 1691 | + $fa_type = 'brands'; |
|
| 1692 | + } else { |
|
| 1693 | + $icon = "'" . $icon . "'"; |
|
| 1694 | + } |
|
| 1695 | + |
|
| 1696 | + // set the icon if we found one |
|
| 1697 | + if ( $fa_type ) { |
|
| 1698 | + $fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon ); |
|
| 1699 | + $icon = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))"; |
|
| 1700 | + } |
|
| 1701 | + |
|
| 1702 | + return $icon; |
|
| 1703 | + } |
|
| 1640 | 1704 | |
| 1641 | - return $url; |
|
| 1642 | - } |
|
| 1705 | + public function group_arguments( $arguments ) { |
|
| 1706 | + if ( ! empty( $arguments ) ) { |
|
| 1707 | + $temp_arguments = array(); |
|
| 1708 | + $general = __( "General", 'ayecode-connect' ); |
|
| 1709 | + $add_sections = false; |
|
| 1710 | + foreach ( $arguments as $key => $args ) { |
|
| 1711 | + if ( isset( $args['group'] ) ) { |
|
| 1712 | + $temp_arguments[ $args['group'] ][ $key ] = $args; |
|
| 1713 | + $add_sections = true; |
|
| 1714 | + } else { |
|
| 1715 | + $temp_arguments[ $general ][ $key ] = $args; |
|
| 1716 | + } |
|
| 1717 | + } |
|
| 1643 | 1718 | |
| 1644 | - /** |
|
| 1645 | - * Get the url path to the current folder. |
|
| 1646 | - * |
|
| 1647 | - * @return string |
|
| 1648 | - */ |
|
| 1649 | - public function get_url_old() { |
|
| 1650 | - |
|
| 1651 | - $url = $this->url; |
|
| 1652 | - |
|
| 1653 | - if ( ! $url ) { |
|
| 1654 | - // check if we are inside a plugin |
|
| 1655 | - $file_dir = str_replace( "/includes", "", dirname( __FILE__ ) ); |
|
| 1656 | - |
|
| 1657 | - $dir_parts = explode( "/wp-content/", $file_dir ); |
|
| 1658 | - $url_parts = explode( "/wp-content/", plugins_url() ); |
|
| 1659 | - |
|
| 1660 | - if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) { |
|
| 1661 | - $url = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] ); |
|
| 1662 | - $this->url = $url; |
|
| 1663 | - } |
|
| 1664 | - } |
|
| 1665 | - |
|
| 1666 | - |
|
| 1667 | - return $url; |
|
| 1668 | - } |
|
| 1669 | - |
|
| 1670 | - /** |
|
| 1671 | - * Generate the block icon. |
|
| 1672 | - * |
|
| 1673 | - * Enables the use of Font Awesome icons. |
|
| 1674 | - * |
|
| 1675 | - * @note xlink:href is actually deprecated but href is not supported by all so we use both. |
|
| 1676 | - * |
|
| 1677 | - * @param $icon |
|
| 1678 | - * |
|
| 1679 | - * @return string |
|
| 1680 | - *@since 1.1.0 |
|
| 1681 | - */ |
|
| 1682 | - public function get_block_icon( $icon ) { |
|
| 1683 | - |
|
| 1684 | - // check if we have a Font Awesome icon |
|
| 1685 | - $fa_type = ''; |
|
| 1686 | - if ( substr( $icon, 0, 7 ) === "fas fa-" ) { |
|
| 1687 | - $fa_type = 'solid'; |
|
| 1688 | - } elseif ( substr( $icon, 0, 7 ) === "far fa-" ) { |
|
| 1689 | - $fa_type = 'regular'; |
|
| 1690 | - } elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) { |
|
| 1691 | - $fa_type = 'brands'; |
|
| 1692 | - } else { |
|
| 1693 | - $icon = "'" . $icon . "'"; |
|
| 1694 | - } |
|
| 1695 | - |
|
| 1696 | - // set the icon if we found one |
|
| 1697 | - if ( $fa_type ) { |
|
| 1698 | - $fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon ); |
|
| 1699 | - $icon = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))"; |
|
| 1700 | - } |
|
| 1701 | - |
|
| 1702 | - return $icon; |
|
| 1703 | - } |
|
| 1719 | + // only add sections if more than one |
|
| 1720 | + if ( $add_sections ) { |
|
| 1721 | + $arguments = $temp_arguments; |
|
| 1722 | + } |
|
| 1723 | + } |
|
| 1704 | 1724 | |
| 1705 | - public function group_arguments( $arguments ) { |
|
| 1706 | - if ( ! empty( $arguments ) ) { |
|
| 1707 | - $temp_arguments = array(); |
|
| 1708 | - $general = __( "General", 'ayecode-connect' ); |
|
| 1709 | - $add_sections = false; |
|
| 1710 | - foreach ( $arguments as $key => $args ) { |
|
| 1711 | - if ( isset( $args['group'] ) ) { |
|
| 1712 | - $temp_arguments[ $args['group'] ][ $key ] = $args; |
|
| 1713 | - $add_sections = true; |
|
| 1714 | - } else { |
|
| 1715 | - $temp_arguments[ $general ][ $key ] = $args; |
|
| 1716 | - } |
|
| 1717 | - } |
|
| 1725 | + return $arguments; |
|
| 1726 | + } |
|
| 1718 | 1727 | |
| 1719 | - // only add sections if more than one |
|
| 1720 | - if ( $add_sections ) { |
|
| 1721 | - $arguments = $temp_arguments; |
|
| 1722 | - } |
|
| 1723 | - } |
|
| 1728 | + /** |
|
| 1729 | + * Parse used group tabs. |
|
| 1730 | + * |
|
| 1731 | + * @since 1.1.17 |
|
| 1732 | + */ |
|
| 1733 | + public function group_block_tabs( $tabs, $arguments ) { |
|
| 1734 | + if ( ! empty( $tabs ) && ! empty( $arguments ) ) { |
|
| 1735 | + $has_sections = false; |
|
| 1736 | + |
|
| 1737 | + foreach ( $this->arguments as $key => $args ) { |
|
| 1738 | + if ( isset( $args['group'] ) ) { |
|
| 1739 | + $has_sections = true; |
|
| 1740 | + break; |
|
| 1741 | + } |
|
| 1742 | + } |
|
| 1724 | 1743 | |
| 1725 | - return $arguments; |
|
| 1726 | - } |
|
| 1744 | + if ( ! $has_sections ) { |
|
| 1745 | + return $tabs; |
|
| 1746 | + } |
|
| 1727 | 1747 | |
| 1728 | - /** |
|
| 1729 | - * Parse used group tabs. |
|
| 1730 | - * |
|
| 1731 | - * @since 1.1.17 |
|
| 1732 | - */ |
|
| 1733 | - public function group_block_tabs( $tabs, $arguments ) { |
|
| 1734 | - if ( ! empty( $tabs ) && ! empty( $arguments ) ) { |
|
| 1735 | - $has_sections = false; |
|
| 1736 | - |
|
| 1737 | - foreach ( $this->arguments as $key => $args ) { |
|
| 1738 | - if ( isset( $args['group'] ) ) { |
|
| 1739 | - $has_sections = true; |
|
| 1740 | - break; |
|
| 1741 | - } |
|
| 1742 | - } |
|
| 1748 | + $new_tabs = array(); |
|
| 1743 | 1749 | |
| 1744 | - if ( ! $has_sections ) { |
|
| 1745 | - return $tabs; |
|
| 1746 | - } |
|
| 1750 | + foreach ( $tabs as $tab_key => $tab ) { |
|
| 1751 | + $new_groups = array(); |
|
| 1747 | 1752 | |
| 1748 | - $new_tabs = array(); |
|
| 1753 | + if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) { |
|
| 1754 | + foreach ( $tab['groups'] as $group ) { |
|
| 1755 | + if ( isset( $arguments[ $group ] ) ) { |
|
| 1756 | + $new_groups[] = $group; |
|
| 1757 | + } |
|
| 1758 | + } |
|
| 1759 | + } |
|
| 1749 | 1760 | |
| 1750 | - foreach ( $tabs as $tab_key => $tab ) { |
|
| 1751 | - $new_groups = array(); |
|
| 1761 | + if ( ! empty( $new_groups ) ) { |
|
| 1762 | + $tab['groups'] = $new_groups; |
|
| 1752 | 1763 | |
| 1753 | - if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) { |
|
| 1754 | - foreach ( $tab['groups'] as $group ) { |
|
| 1755 | - if ( isset( $arguments[ $group ] ) ) { |
|
| 1756 | - $new_groups[] = $group; |
|
| 1757 | - } |
|
| 1758 | - } |
|
| 1759 | - } |
|
| 1764 | + $new_tabs[ $tab_key ] = $tab; |
|
| 1765 | + } |
|
| 1766 | + } |
|
| 1760 | 1767 | |
| 1761 | - if ( ! empty( $new_groups ) ) { |
|
| 1762 | - $tab['groups'] = $new_groups; |
|
| 1768 | + $tabs = $new_tabs; |
|
| 1769 | + } |
|
| 1763 | 1770 | |
| 1764 | - $new_tabs[ $tab_key ] = $tab; |
|
| 1765 | - } |
|
| 1766 | - } |
|
| 1771 | + return $tabs; |
|
| 1772 | + } |
|
| 1767 | 1773 | |
| 1768 | - $tabs = $new_tabs; |
|
| 1769 | - } |
|
| 1774 | + /** |
|
| 1775 | + * Output the JS for building the dynamic Guntenberg block. |
|
| 1776 | + * |
|
| 1777 | + * @return mixed |
|
| 1778 | + *@since 1.0.9 Save numbers as numbers and not strings. |
|
| 1779 | + * @since 1.1.0 Font Awesome classes can be used for icons. |
|
| 1780 | + * @since 1.0.4 Added block_wrap property which will set the block wrapping output element ie: div, span, p or empty for no wrap. |
|
| 1781 | + */ |
|
| 1782 | + public function block() { |
|
| 1783 | + global $sd_is_js_functions_loaded, $aui_bs5; |
|
| 1770 | 1784 | |
| 1771 | - return $tabs; |
|
| 1772 | - } |
|
| 1785 | + $show_advanced = $this->block_show_advanced(); |
|
| 1773 | 1786 | |
| 1774 | - /** |
|
| 1775 | - * Output the JS for building the dynamic Guntenberg block. |
|
| 1776 | - * |
|
| 1777 | - * @return mixed |
|
| 1778 | - *@since 1.0.9 Save numbers as numbers and not strings. |
|
| 1779 | - * @since 1.1.0 Font Awesome classes can be used for icons. |
|
| 1780 | - * @since 1.0.4 Added block_wrap property which will set the block wrapping output element ie: div, span, p or empty for no wrap. |
|
| 1781 | - */ |
|
| 1782 | - public function block() { |
|
| 1783 | - global $sd_is_js_functions_loaded, $aui_bs5; |
|
| 1784 | - |
|
| 1785 | - $show_advanced = $this->block_show_advanced(); |
|
| 1786 | - |
|
| 1787 | - ob_start(); |
|
| 1788 | - ?> |
|
| 1787 | + ob_start(); |
|
| 1788 | + ?> |
|
| 1789 | 1789 | <script> |
| 1790 | 1790 | <?php |
| 1791 | - if ( ! $sd_is_js_functions_loaded ) { |
|
| 1792 | - $sd_is_js_functions_loaded = true; |
|
| 1793 | - ?> |
|
| 1791 | + if ( ! $sd_is_js_functions_loaded ) { |
|
| 1792 | + $sd_is_js_functions_loaded = true; |
|
| 1793 | + ?> |
|
| 1794 | 1794 | function sd_show_view_options($this){ |
| 1795 | 1795 | if(jQuery($this).html().length){ |
| 1796 | 1796 | jQuery($this).html(''); |
@@ -2244,8 +2244,8 @@ discard block |
||
| 2244 | 2244 | $classes = []; |
| 2245 | 2245 | |
| 2246 | 2246 | <?php |
| 2247 | - if($aui_bs5){ |
|
| 2248 | - ?> |
|
| 2247 | + if($aui_bs5){ |
|
| 2248 | + ?> |
|
| 2249 | 2249 | $aui_bs5 = true; |
| 2250 | 2250 | $p_ml = 'ms-'; |
| 2251 | 2251 | $p_mr = 'me-'; |
@@ -2253,8 +2253,8 @@ discard block |
||
| 2253 | 2253 | $p_pl = 'ps-'; |
| 2254 | 2254 | $p_pr = 'pe-'; |
| 2255 | 2255 | <?php |
| 2256 | - }else{ |
|
| 2257 | - ?> |
|
| 2256 | + }else{ |
|
| 2257 | + ?> |
|
| 2258 | 2258 | $aui_bs5 = false; |
| 2259 | 2259 | $p_ml = 'ml-'; |
| 2260 | 2260 | $p_mr = 'mr-'; |
@@ -2262,8 +2262,8 @@ discard block |
||
| 2262 | 2262 | $p_pl = 'pl-'; |
| 2263 | 2263 | $p_pr = 'pr-'; |
| 2264 | 2264 | <?php |
| 2265 | - } |
|
| 2266 | - ?> |
|
| 2265 | + } |
|
| 2266 | + ?> |
|
| 2267 | 2267 | |
| 2268 | 2268 | // margins |
| 2269 | 2269 | if ( $args['mt'] !== undefined && $args['mt'] !== '' ) { $classes.push( "mt-" + $args['mt'] ); $mt = $args['mt']; }else{$mt = null;} |
@@ -2447,12 +2447,12 @@ discard block |
||
| 2447 | 2447 | <?php |
| 2448 | 2448 | |
| 2449 | 2449 | |
| 2450 | - } |
|
| 2450 | + } |
|
| 2451 | 2451 | |
| 2452 | - if(method_exists($this,'block_global_js')){ |
|
| 2453 | - echo $this->block_global_js(); |
|
| 2454 | - } |
|
| 2455 | - ?> |
|
| 2452 | + if(method_exists($this,'block_global_js')){ |
|
| 2453 | + echo $this->block_global_js(); |
|
| 2454 | + } |
|
| 2455 | + ?> |
|
| 2456 | 2456 | |
| 2457 | 2457 | jQuery(function() { |
| 2458 | 2458 | |
@@ -2505,13 +2505,13 @@ discard block |
||
| 2505 | 2505 | icon: <?php echo $this->get_block_icon( $this->options['block-icon'] );?>,//'<?php echo isset( $this->options['block-icon'] ) ? esc_attr( $this->options['block-icon'] ) : 'shield-alt';?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/. |
| 2506 | 2506 | supports: { |
| 2507 | 2507 | <?php |
| 2508 | - if(!isset($this->options['block-supports']['renaming'])){ |
|
| 2509 | - $this->options['block-supports']['renaming'] = false; |
|
| 2510 | - } |
|
| 2511 | - if ( isset( $this->options['block-supports'] ) ) { |
|
| 2512 | - echo $this->array_to_attributes( $this->options['block-supports'] ); |
|
| 2513 | - } |
|
| 2514 | - ?> |
|
| 2508 | + if(!isset($this->options['block-supports']['renaming'])){ |
|
| 2509 | + $this->options['block-supports']['renaming'] = false; |
|
| 2510 | + } |
|
| 2511 | + if ( isset( $this->options['block-supports'] ) ) { |
|
| 2512 | + echo $this->array_to_attributes( $this->options['block-supports'] ); |
|
| 2513 | + } |
|
| 2514 | + ?> |
|
| 2515 | 2515 | }, |
| 2516 | 2516 | __experimentalLabel( attributes, { context } ) { |
| 2517 | 2517 | var visibility_html = attributes && attributes.visibility_conditions ? ' 👁' : ''; |
@@ -2521,174 +2521,174 @@ discard block |
||
| 2521 | 2521 | }, |
| 2522 | 2522 | category: '<?php echo isset( $this->options['block-category'] ) ? esc_attr( $this->options['block-category'] ) : 'common';?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed. |
| 2523 | 2523 | <?php if ( isset( $this->options['block-keywords'] ) ) { |
| 2524 | - echo "keywords : " . $this->options['block-keywords'] . ","; |
|
| 2525 | - } |
|
| 2526 | - |
|
| 2527 | - |
|
| 2528 | - // block hover preview. |
|
| 2529 | - $example_args = array(); |
|
| 2530 | - if(!empty($this->arguments)){ |
|
| 2531 | - foreach($this->arguments as $key => $a_args){ |
|
| 2532 | - if(isset($a_args['example'])){ |
|
| 2533 | - $example_args[$key] = $a_args['example']; |
|
| 2534 | - } |
|
| 2535 | - } |
|
| 2536 | - } |
|
| 2537 | - $viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: '.absint($this->options['example']['viewportWidth']) : ''; |
|
| 2538 | - $example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : ''; |
|
| 2539 | - if( isset( $this->options['example'] ) && $this->options['example'] === false ){ |
|
| 2540 | - // no preview if set to false |
|
| 2541 | - }elseif( !empty( $example_args ) ){ |
|
| 2542 | - echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},"; |
|
| 2543 | - }elseif( !empty( $this->options['example'] ) ){ |
|
| 2544 | - unset($this->options['example']['viewportWidth']); |
|
| 2545 | - unset($this->options['example']['innerBlocks']); |
|
| 2546 | - $example_atts = $this->array_to_attributes( $this->options['example'] ); |
|
| 2547 | - $example_parts = array(); |
|
| 2548 | - if($example_atts){ |
|
| 2549 | - $example_parts[] = rtrim($example_atts,","); |
|
| 2550 | - } |
|
| 2551 | - if($viewport_width){ |
|
| 2552 | - $example_parts[] = $viewport_width; |
|
| 2553 | - } |
|
| 2554 | - if($example_inner_blocks){ |
|
| 2555 | - $example_parts[] = $example_inner_blocks; |
|
| 2556 | - } |
|
| 2557 | - if(!empty($example_parts)){ |
|
| 2558 | - echo "example : {".implode(',', $example_parts)."},"; |
|
| 2559 | - } |
|
| 2560 | - }else{ |
|
| 2561 | - echo 'example : {viewportWidth: 500},'; |
|
| 2562 | - } |
|
| 2563 | - |
|
| 2564 | - |
|
| 2565 | - |
|
| 2566 | - // limit to parent |
|
| 2567 | - if( !empty( $this->options['parent'] ) ){ |
|
| 2568 | - echo "parent : " . wp_json_encode( $this->options['parent'] ) . ","; |
|
| 2569 | - } |
|
| 2570 | - |
|
| 2571 | - // limit allowed blocks |
|
| 2572 | - if( !empty( $this->options['allowed-blocks'] ) ){ |
|
| 2573 | - echo "allowedBlocks : " . wp_json_encode( $this->options['allowed-blocks'] ) . ","; |
|
| 2574 | - } |
|
| 2575 | - |
|
| 2576 | - // maybe set no_wrap |
|
| 2577 | - $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false; |
|
| 2578 | - if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) { |
|
| 2579 | - $no_wrap = true; |
|
| 2580 | - } |
|
| 2581 | - if ( $no_wrap ) { |
|
| 2582 | - $this->options['block-wrap'] = ''; |
|
| 2583 | - } |
|
| 2584 | - |
|
| 2585 | - // maybe load the drag/drop functions. |
|
| 2586 | - $img_drag_drop = false; |
|
| 2587 | - |
|
| 2588 | - $show_alignment = false; |
|
| 2589 | - // align feature |
|
| 2590 | - /*echo "supports: {"; |
|
| 2524 | + echo "keywords : " . $this->options['block-keywords'] . ","; |
|
| 2525 | + } |
|
| 2526 | + |
|
| 2527 | + |
|
| 2528 | + // block hover preview. |
|
| 2529 | + $example_args = array(); |
|
| 2530 | + if(!empty($this->arguments)){ |
|
| 2531 | + foreach($this->arguments as $key => $a_args){ |
|
| 2532 | + if(isset($a_args['example'])){ |
|
| 2533 | + $example_args[$key] = $a_args['example']; |
|
| 2534 | + } |
|
| 2535 | + } |
|
| 2536 | + } |
|
| 2537 | + $viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: '.absint($this->options['example']['viewportWidth']) : ''; |
|
| 2538 | + $example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : ''; |
|
| 2539 | + if( isset( $this->options['example'] ) && $this->options['example'] === false ){ |
|
| 2540 | + // no preview if set to false |
|
| 2541 | + }elseif( !empty( $example_args ) ){ |
|
| 2542 | + echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},"; |
|
| 2543 | + }elseif( !empty( $this->options['example'] ) ){ |
|
| 2544 | + unset($this->options['example']['viewportWidth']); |
|
| 2545 | + unset($this->options['example']['innerBlocks']); |
|
| 2546 | + $example_atts = $this->array_to_attributes( $this->options['example'] ); |
|
| 2547 | + $example_parts = array(); |
|
| 2548 | + if($example_atts){ |
|
| 2549 | + $example_parts[] = rtrim($example_atts,","); |
|
| 2550 | + } |
|
| 2551 | + if($viewport_width){ |
|
| 2552 | + $example_parts[] = $viewport_width; |
|
| 2553 | + } |
|
| 2554 | + if($example_inner_blocks){ |
|
| 2555 | + $example_parts[] = $example_inner_blocks; |
|
| 2556 | + } |
|
| 2557 | + if(!empty($example_parts)){ |
|
| 2558 | + echo "example : {".implode(',', $example_parts)."},"; |
|
| 2559 | + } |
|
| 2560 | + }else{ |
|
| 2561 | + echo 'example : {viewportWidth: 500},'; |
|
| 2562 | + } |
|
| 2563 | + |
|
| 2564 | + |
|
| 2565 | + |
|
| 2566 | + // limit to parent |
|
| 2567 | + if( !empty( $this->options['parent'] ) ){ |
|
| 2568 | + echo "parent : " . wp_json_encode( $this->options['parent'] ) . ","; |
|
| 2569 | + } |
|
| 2570 | + |
|
| 2571 | + // limit allowed blocks |
|
| 2572 | + if( !empty( $this->options['allowed-blocks'] ) ){ |
|
| 2573 | + echo "allowedBlocks : " . wp_json_encode( $this->options['allowed-blocks'] ) . ","; |
|
| 2574 | + } |
|
| 2575 | + |
|
| 2576 | + // maybe set no_wrap |
|
| 2577 | + $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false; |
|
| 2578 | + if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) { |
|
| 2579 | + $no_wrap = true; |
|
| 2580 | + } |
|
| 2581 | + if ( $no_wrap ) { |
|
| 2582 | + $this->options['block-wrap'] = ''; |
|
| 2583 | + } |
|
| 2584 | + |
|
| 2585 | + // maybe load the drag/drop functions. |
|
| 2586 | + $img_drag_drop = false; |
|
| 2587 | + |
|
| 2588 | + $show_alignment = false; |
|
| 2589 | + // align feature |
|
| 2590 | + /*echo "supports: {"; |
|
| 2591 | 2591 | echo " align: true,"; |
| 2592 | 2592 | echo " html: false"; |
| 2593 | 2593 | echo "},";*/ |
| 2594 | 2594 | |
| 2595 | 2595 | |
| 2596 | - echo "attributes : {"; |
|
| 2597 | - |
|
| 2598 | - if ( $show_advanced ) { |
|
| 2599 | - echo "show_advanced: {"; |
|
| 2600 | - echo " type: 'boolean',"; |
|
| 2601 | - echo " default: false,"; |
|
| 2602 | - echo "},"; |
|
| 2603 | - } |
|
| 2604 | - |
|
| 2605 | - // block wrap element |
|
| 2606 | - if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this? |
|
| 2607 | - echo "block_wrap: {"; |
|
| 2608 | - echo " type: 'string',"; |
|
| 2609 | - echo " default: '" . esc_attr( $this->options['block-wrap'] ) . "',"; |
|
| 2610 | - echo "},"; |
|
| 2611 | - } |
|
| 2612 | - |
|
| 2613 | - |
|
| 2614 | - if ( ! empty( $this->arguments ) ) { |
|
| 2615 | - |
|
| 2616 | - foreach ( $this->arguments as $key => $args ) { |
|
| 2617 | - |
|
| 2618 | - if( $args['type'] == 'image' || $args['type'] == 'images' ){ |
|
| 2619 | - $img_drag_drop = true; |
|
| 2620 | - } |
|
| 2621 | - |
|
| 2622 | - // set if we should show alignment |
|
| 2623 | - if ( $key == 'alignment' ) { |
|
| 2624 | - $show_alignment = true; |
|
| 2625 | - } |
|
| 2626 | - |
|
| 2627 | - $extra = ''; |
|
| 2628 | - |
|
| 2629 | - if ( $args['type'] == 'notice' || $args['type'] == 'tab' ) { |
|
| 2630 | - continue; |
|
| 2631 | - } |
|
| 2632 | - elseif ( $args['type'] == 'checkbox' ) { |
|
| 2633 | - $type = 'boolean'; |
|
| 2634 | - $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false'; |
|
| 2635 | - } elseif ( $args['type'] == 'number' ) { |
|
| 2636 | - $type = 'number'; |
|
| 2637 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2638 | - } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) { |
|
| 2639 | - $type = 'array'; |
|
| 2640 | - if ( isset( $args['default'] ) && is_array( $args['default'] ) ) { |
|
| 2641 | - $default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]"; |
|
| 2642 | - } else { |
|
| 2643 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2644 | - } |
|
| 2645 | - } elseif ( $args['type'] == 'tagselect' ) { |
|
| 2646 | - $type = 'array'; |
|
| 2647 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2648 | - } elseif ( $args['type'] == 'multiselect' ) { |
|
| 2649 | - $type = 'array'; |
|
| 2650 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2651 | - } elseif ( $args['type'] == 'image_xy' ) { |
|
| 2652 | - $type = 'object'; |
|
| 2653 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2654 | - } elseif ( $args['type'] == 'image' ) { |
|
| 2655 | - $type = 'string'; |
|
| 2656 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2657 | - |
|
| 2658 | - // add a field for ID |
|
| 2659 | - // echo $key . "_id : {"; |
|
| 2660 | - // echo "type : 'number',"; |
|
| 2661 | - // echo "},"; |
|
| 2662 | - // echo $key . "_xy : {"; |
|
| 2663 | - // echo "type : 'object',"; |
|
| 2664 | - // echo "},"; |
|
| 2665 | - |
|
| 2666 | - } else { |
|
| 2667 | - $type = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string'; |
|
| 2668 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2669 | - |
|
| 2670 | - } |
|
| 2671 | - echo $key . " : {"; |
|
| 2672 | - echo "type : '$type',"; |
|
| 2673 | - echo "default : $default,"; |
|
| 2674 | - echo "},"; |
|
| 2675 | - } |
|
| 2676 | - } |
|
| 2677 | - |
|
| 2678 | - echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},"; |
|
| 2679 | - echo "sd_shortcode : {type : 'string',default: ''},"; |
|
| 2680 | - |
|
| 2681 | - if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){ |
|
| 2682 | - echo "sd_shortcode_close : {type : 'string',default: ''},"; |
|
| 2683 | - } |
|
| 2684 | - |
|
| 2685 | - echo "className: { type: 'string', default: '' },"; |
|
| 2686 | - |
|
| 2687 | - echo "},"; |
|
| 2688 | - |
|
| 2689 | - |
|
| 2690 | - |
|
| 2691 | - ?> |
|
| 2596 | + echo "attributes : {"; |
|
| 2597 | + |
|
| 2598 | + if ( $show_advanced ) { |
|
| 2599 | + echo "show_advanced: {"; |
|
| 2600 | + echo " type: 'boolean',"; |
|
| 2601 | + echo " default: false,"; |
|
| 2602 | + echo "},"; |
|
| 2603 | + } |
|
| 2604 | + |
|
| 2605 | + // block wrap element |
|
| 2606 | + if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this? |
|
| 2607 | + echo "block_wrap: {"; |
|
| 2608 | + echo " type: 'string',"; |
|
| 2609 | + echo " default: '" . esc_attr( $this->options['block-wrap'] ) . "',"; |
|
| 2610 | + echo "},"; |
|
| 2611 | + } |
|
| 2612 | + |
|
| 2613 | + |
|
| 2614 | + if ( ! empty( $this->arguments ) ) { |
|
| 2615 | + |
|
| 2616 | + foreach ( $this->arguments as $key => $args ) { |
|
| 2617 | + |
|
| 2618 | + if( $args['type'] == 'image' || $args['type'] == 'images' ){ |
|
| 2619 | + $img_drag_drop = true; |
|
| 2620 | + } |
|
| 2621 | + |
|
| 2622 | + // set if we should show alignment |
|
| 2623 | + if ( $key == 'alignment' ) { |
|
| 2624 | + $show_alignment = true; |
|
| 2625 | + } |
|
| 2626 | + |
|
| 2627 | + $extra = ''; |
|
| 2628 | + |
|
| 2629 | + if ( $args['type'] == 'notice' || $args['type'] == 'tab' ) { |
|
| 2630 | + continue; |
|
| 2631 | + } |
|
| 2632 | + elseif ( $args['type'] == 'checkbox' ) { |
|
| 2633 | + $type = 'boolean'; |
|
| 2634 | + $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false'; |
|
| 2635 | + } elseif ( $args['type'] == 'number' ) { |
|
| 2636 | + $type = 'number'; |
|
| 2637 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2638 | + } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) { |
|
| 2639 | + $type = 'array'; |
|
| 2640 | + if ( isset( $args['default'] ) && is_array( $args['default'] ) ) { |
|
| 2641 | + $default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]"; |
|
| 2642 | + } else { |
|
| 2643 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2644 | + } |
|
| 2645 | + } elseif ( $args['type'] == 'tagselect' ) { |
|
| 2646 | + $type = 'array'; |
|
| 2647 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2648 | + } elseif ( $args['type'] == 'multiselect' ) { |
|
| 2649 | + $type = 'array'; |
|
| 2650 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2651 | + } elseif ( $args['type'] == 'image_xy' ) { |
|
| 2652 | + $type = 'object'; |
|
| 2653 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2654 | + } elseif ( $args['type'] == 'image' ) { |
|
| 2655 | + $type = 'string'; |
|
| 2656 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2657 | + |
|
| 2658 | + // add a field for ID |
|
| 2659 | + // echo $key . "_id : {"; |
|
| 2660 | + // echo "type : 'number',"; |
|
| 2661 | + // echo "},"; |
|
| 2662 | + // echo $key . "_xy : {"; |
|
| 2663 | + // echo "type : 'object',"; |
|
| 2664 | + // echo "},"; |
|
| 2665 | + |
|
| 2666 | + } else { |
|
| 2667 | + $type = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string'; |
|
| 2668 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2669 | + |
|
| 2670 | + } |
|
| 2671 | + echo $key . " : {"; |
|
| 2672 | + echo "type : '$type',"; |
|
| 2673 | + echo "default : $default,"; |
|
| 2674 | + echo "},"; |
|
| 2675 | + } |
|
| 2676 | + } |
|
| 2677 | + |
|
| 2678 | + echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},"; |
|
| 2679 | + echo "sd_shortcode : {type : 'string',default: ''},"; |
|
| 2680 | + |
|
| 2681 | + if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){ |
|
| 2682 | + echo "sd_shortcode_close : {type : 'string',default: ''},"; |
|
| 2683 | + } |
|
| 2684 | + |
|
| 2685 | + echo "className: { type: 'string', default: '' },"; |
|
| 2686 | + |
|
| 2687 | + echo "},"; |
|
| 2688 | + |
|
| 2689 | + |
|
| 2690 | + |
|
| 2691 | + ?> |
|
| 2692 | 2692 | |
| 2693 | 2693 | // The "edit" property must be a valid function. |
| 2694 | 2694 | edit: function (props) { |
@@ -2763,10 +2763,10 @@ discard block |
||
| 2763 | 2763 | } |
| 2764 | 2764 | |
| 2765 | 2765 | <?php |
| 2766 | - if(!empty($this->options['block-edit-raw'])) { |
|
| 2767 | - echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues |
|
| 2768 | - }else{ |
|
| 2769 | - ?> |
|
| 2766 | + if(!empty($this->options['block-edit-raw'])) { |
|
| 2767 | + echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues |
|
| 2768 | + }else{ |
|
| 2769 | + ?> |
|
| 2770 | 2770 | |
| 2771 | 2771 | function hasSelectedInnerBlock(props) { |
| 2772 | 2772 | const select = wp.data.select('core/editor'); |
@@ -2788,9 +2788,9 @@ discard block |
||
| 2788 | 2788 | |
| 2789 | 2789 | var $value = ''; |
| 2790 | 2790 | <?php |
| 2791 | - // if we have a post_type and a category then link them |
|
| 2792 | - if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){ |
|
| 2793 | - ?> |
|
| 2791 | + // if we have a post_type and a category then link them |
|
| 2792 | + if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){ |
|
| 2793 | + ?> |
|
| 2794 | 2794 | if(typeof(prev_attributes[props.clientId]) != 'undefined' && selectedBlock && selectedBlock.clientId === props.clientId){ |
| 2795 | 2795 | $pt = props.attributes.post_type; |
| 2796 | 2796 | if(post_type_rest_slugs.length){ |
@@ -2803,11 +2803,11 @@ discard block |
||
| 2803 | 2803 | term_query_type = $pt; |
| 2804 | 2804 | } |
| 2805 | 2805 | <?php |
| 2806 | - $cat_path = ''; |
|
| 2807 | - if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) { |
|
| 2808 | - $cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) ); |
|
| 2809 | - $cat_path = str_replace( array( '"', ''' ), array( '"', "'" ), $cat_path ); |
|
| 2810 | - } |
|
| 2806 | + $cat_path = ''; |
|
| 2807 | + if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) { |
|
| 2808 | + $cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) ); |
|
| 2809 | + $cat_path = str_replace( array( '"', ''' ), array( '"', "'" ), $cat_path ); |
|
| 2810 | + } |
|
| 2811 | 2811 | ?> |
| 2812 | 2812 | /* taxonomies */ |
| 2813 | 2813 | if($value && 'post_type' in prev_attributes[props.clientId] && 'category' in prev_attributes[props.clientId] && run){ |
@@ -2899,7 +2899,7 @@ discard block |
||
| 2899 | 2899 | <?php |
| 2900 | 2900 | $current_screen = function_exists('get_current_screen') ? get_current_screen() : ''; |
| 2901 | 2901 | if(!empty($current_screen->base) && $current_screen->base==='widgets'){ |
| 2902 | - echo 'const { deviceType } = "";'; |
|
| 2902 | + echo 'const { deviceType } = "";'; |
|
| 2903 | 2903 | }else{ |
| 2904 | 2904 | ?> |
| 2905 | 2905 | /** Get device type const. */ |
@@ -2963,8 +2963,8 @@ discard block |
||
| 2963 | 2963 | 'attributes': props.attributes, |
| 2964 | 2964 | 'block_parent_name': parentBlocks.length ? parentBlocks[parentBlocks.length - 1].name : '', |
| 2965 | 2965 | 'post_id': <?php global $post; if ( isset( $post->ID ) ) { |
| 2966 | - echo $post->ID; |
|
| 2967 | - }else{echo '0';}?>, |
|
| 2966 | + echo $post->ID; |
|
| 2967 | + }else{echo '0';}?>, |
|
| 2968 | 2968 | '_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>' |
| 2969 | 2969 | }; |
| 2970 | 2970 | |
@@ -2978,20 +2978,20 @@ discard block |
||
| 2978 | 2978 | } |
| 2979 | 2979 | |
| 2980 | 2980 | <?php |
| 2981 | - if(!empty($this->options['nested-block'])){ |
|
| 2982 | - ?> |
|
| 2981 | + if(!empty($this->options['nested-block'])){ |
|
| 2982 | + ?> |
|
| 2983 | 2983 | // props.setAttributes({content: env}); |
| 2984 | 2984 | is_fetching = false; |
| 2985 | 2985 | prev_attributes[props.clientId] = props.attributes; |
| 2986 | 2986 | <?php |
| 2987 | - }else{ |
|
| 2988 | - ?> |
|
| 2987 | + }else{ |
|
| 2988 | + ?> |
|
| 2989 | 2989 | props.setAttributes({content: env}); |
| 2990 | 2990 | is_fetching = false; |
| 2991 | 2991 | prev_attributes[props.clientId] = props.attributes; |
| 2992 | 2992 | <?php |
| 2993 | - } |
|
| 2994 | - ?> |
|
| 2993 | + } |
|
| 2994 | + ?> |
|
| 2995 | 2995 | |
| 2996 | 2996 | |
| 2997 | 2997 | // if AUI is active call the js init function |
@@ -3010,31 +3010,31 @@ discard block |
||
| 3010 | 3010 | } |
| 3011 | 3011 | |
| 3012 | 3012 | <?php |
| 3013 | - if(!empty($this->options['block-edit-js'])) { |
|
| 3014 | - echo $this->options['block-edit-js'] ; // strings have to be in single quotes, may cause issues |
|
| 3015 | - } |
|
| 3013 | + if(!empty($this->options['block-edit-js'])) { |
|
| 3014 | + echo $this->options['block-edit-js'] ; // strings have to be in single quotes, may cause issues |
|
| 3015 | + } |
|
| 3016 | 3016 | |
| 3017 | 3017 | |
| 3018 | 3018 | |
| 3019 | 3019 | |
| 3020 | - if(empty($this->options['block-save-return'])){ |
|
| 3021 | - ?> |
|
| 3020 | + if(empty($this->options['block-save-return'])){ |
|
| 3021 | + ?> |
|
| 3022 | 3022 | /////////////////////////////////////////////////////////////////////// |
| 3023 | 3023 | |
| 3024 | 3024 | // build the shortcode. |
| 3025 | 3025 | shortcode = "[<?php echo $this->options['base_id'];?>"; |
| 3026 | 3026 | <?php |
| 3027 | 3027 | |
| 3028 | - if(! empty( $this->arguments )){ |
|
| 3028 | + if(! empty( $this->arguments )){ |
|
| 3029 | 3029 | |
| 3030 | - foreach($this->arguments as $key => $args){ |
|
| 3031 | - // if($args['type']=='tabs'){continue;} |
|
| 3030 | + foreach($this->arguments as $key => $args){ |
|
| 3031 | + // if($args['type']=='tabs'){continue;} |
|
| 3032 | 3032 | |
| 3033 | - // don't add metadata arguments |
|
| 3034 | - if (substr($key, 0, 9 ) === 'metadata_') { |
|
| 3035 | - continue; |
|
| 3036 | - } |
|
| 3037 | - ?> |
|
| 3033 | + // don't add metadata arguments |
|
| 3034 | + if (substr($key, 0, 9 ) === 'metadata_') { |
|
| 3035 | + continue; |
|
| 3036 | + } |
|
| 3037 | + ?> |
|
| 3038 | 3038 | if (props.attributes.hasOwnProperty("<?php echo esc_attr( $key );?>")) { |
| 3039 | 3039 | if ('<?php echo esc_attr( $key );?>' == 'html') { |
| 3040 | 3040 | } else if ('<?php echo esc_attr( $args['type'] );?>' == 'image_xy') { |
@@ -3045,10 +3045,10 @@ discard block |
||
| 3045 | 3045 | } |
| 3046 | 3046 | } |
| 3047 | 3047 | <?php |
| 3048 | - } |
|
| 3049 | - } |
|
| 3048 | + } |
|
| 3049 | + } |
|
| 3050 | 3050 | |
| 3051 | - ?> |
|
| 3051 | + ?> |
|
| 3052 | 3052 | shortcode += "]"; |
| 3053 | 3053 | |
| 3054 | 3054 | if(shortcode){ |
@@ -3060,17 +3060,17 @@ discard block |
||
| 3060 | 3060 | |
| 3061 | 3061 | |
| 3062 | 3062 | <?php |
| 3063 | - if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){ |
|
| 3064 | - echo "props.setAttributes({sd_shortcode_close: '[/".esc_attr( $this->options['base_id'] )."]'});"; |
|
| 3065 | - } |
|
| 3066 | - ?> |
|
| 3063 | + if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){ |
|
| 3064 | + echo "props.setAttributes({sd_shortcode_close: '[/".esc_attr( $this->options['base_id'] )."]'});"; |
|
| 3065 | + } |
|
| 3066 | + ?> |
|
| 3067 | 3067 | } |
| 3068 | 3068 | |
| 3069 | 3069 | |
| 3070 | 3070 | /////////////////////////////////////////////////////////////////////// |
| 3071 | 3071 | <?php |
| 3072 | - } // end nested block check |
|
| 3073 | - ?> |
|
| 3072 | + } // end nested block check |
|
| 3073 | + ?> |
|
| 3074 | 3074 | |
| 3075 | 3075 | return [ |
| 3076 | 3076 | |
@@ -3094,10 +3094,10 @@ discard block |
||
| 3094 | 3094 | |
| 3095 | 3095 | <?php |
| 3096 | 3096 | |
| 3097 | - if(! empty( $this->arguments )){ |
|
| 3097 | + if(! empty( $this->arguments )){ |
|
| 3098 | 3098 | |
| 3099 | - if ( $show_advanced ) { |
|
| 3100 | - ?> |
|
| 3099 | + if ( $show_advanced ) { |
|
| 3100 | + ?> |
|
| 3101 | 3101 | el('div', { |
| 3102 | 3102 | style: {'padding-left': '16px','padding-right': '16px'} |
| 3103 | 3103 | }, |
@@ -3114,119 +3114,119 @@ discard block |
||
| 3114 | 3114 | ) |
| 3115 | 3115 | , |
| 3116 | 3116 | <?php |
| 3117 | - } |
|
| 3118 | - |
|
| 3119 | - $arguments = $this->group_arguments( $this->arguments ); |
|
| 3120 | - $block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array(); |
|
| 3121 | - |
|
| 3122 | - // Do we have sections? |
|
| 3123 | - $has_sections = $arguments == $this->arguments ? false : true; |
|
| 3124 | - |
|
| 3125 | - if($has_sections){ |
|
| 3126 | - $panel_count = 0; |
|
| 3127 | - $open_tab = ''; |
|
| 3128 | - |
|
| 3129 | - $open_tab_groups = array(); |
|
| 3130 | - $used_tabs = array(); |
|
| 3131 | - |
|
| 3132 | - foreach ( $arguments as $key => $args ) { |
|
| 3133 | - $close_tab = false; |
|
| 3134 | - $close_tabs = false; |
|
| 3135 | - |
|
| 3136 | - if ( ! empty( $block_group_tabs ) ) { |
|
| 3137 | - foreach ( $block_group_tabs as $tab_name => $tab_args ) { |
|
| 3138 | - if ( in_array( $key, $tab_args['groups'] ) ) { |
|
| 3139 | - $open_tab_groups[] = $key; |
|
| 3140 | - |
|
| 3141 | - if ( $open_tab != $tab_name ) { |
|
| 3142 | - $tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false; |
|
| 3143 | - $tab_args['tab']['open'] = true; |
|
| 3144 | - |
|
| 3145 | - $this->block_tab_start( '', $tab_args ); |
|
| 3146 | - $open_tab = $tab_name; |
|
| 3147 | - $used_tabs[] = $tab_name; |
|
| 3148 | - } |
|
| 3149 | - |
|
| 3150 | - if ( $open_tab_groups == $tab_args['groups'] ) { |
|
| 3151 | - $close_tab = true; |
|
| 3152 | - $open_tab_groups = array(); |
|
| 3153 | - |
|
| 3154 | - if ( $used_tabs == array_keys( $block_group_tabs ) ) { |
|
| 3155 | - $close_tabs = true; |
|
| 3156 | - } |
|
| 3157 | - } |
|
| 3158 | - } |
|
| 3159 | - } |
|
| 3160 | - } |
|
| 3161 | - ?> |
|
| 3117 | + } |
|
| 3118 | + |
|
| 3119 | + $arguments = $this->group_arguments( $this->arguments ); |
|
| 3120 | + $block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array(); |
|
| 3121 | + |
|
| 3122 | + // Do we have sections? |
|
| 3123 | + $has_sections = $arguments == $this->arguments ? false : true; |
|
| 3124 | + |
|
| 3125 | + if($has_sections){ |
|
| 3126 | + $panel_count = 0; |
|
| 3127 | + $open_tab = ''; |
|
| 3128 | + |
|
| 3129 | + $open_tab_groups = array(); |
|
| 3130 | + $used_tabs = array(); |
|
| 3131 | + |
|
| 3132 | + foreach ( $arguments as $key => $args ) { |
|
| 3133 | + $close_tab = false; |
|
| 3134 | + $close_tabs = false; |
|
| 3135 | + |
|
| 3136 | + if ( ! empty( $block_group_tabs ) ) { |
|
| 3137 | + foreach ( $block_group_tabs as $tab_name => $tab_args ) { |
|
| 3138 | + if ( in_array( $key, $tab_args['groups'] ) ) { |
|
| 3139 | + $open_tab_groups[] = $key; |
|
| 3140 | + |
|
| 3141 | + if ( $open_tab != $tab_name ) { |
|
| 3142 | + $tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false; |
|
| 3143 | + $tab_args['tab']['open'] = true; |
|
| 3144 | + |
|
| 3145 | + $this->block_tab_start( '', $tab_args ); |
|
| 3146 | + $open_tab = $tab_name; |
|
| 3147 | + $used_tabs[] = $tab_name; |
|
| 3148 | + } |
|
| 3149 | + |
|
| 3150 | + if ( $open_tab_groups == $tab_args['groups'] ) { |
|
| 3151 | + $close_tab = true; |
|
| 3152 | + $open_tab_groups = array(); |
|
| 3153 | + |
|
| 3154 | + if ( $used_tabs == array_keys( $block_group_tabs ) ) { |
|
| 3155 | + $close_tabs = true; |
|
| 3156 | + } |
|
| 3157 | + } |
|
| 3158 | + } |
|
| 3159 | + } |
|
| 3160 | + } |
|
| 3161 | + ?> |
|
| 3162 | 3162 | el(wp.components.PanelBody, { |
| 3163 | 3163 | title: '<?php esc_attr_e( $key ); ?>', |
| 3164 | 3164 | initialOpen: <?php if ( $panel_count ) { |
| 3165 | - echo "false"; |
|
| 3166 | - } else { |
|
| 3167 | - echo "true"; |
|
| 3168 | - }?> |
|
| 3165 | + echo "false"; |
|
| 3166 | + } else { |
|
| 3167 | + echo "true"; |
|
| 3168 | + }?> |
|
| 3169 | 3169 | }, |
| 3170 | 3170 | <?php |
| 3171 | - foreach ( $args as $k => $a ) { |
|
| 3172 | - $this->block_tab_start( $k, $a ); |
|
| 3173 | - $this->block_row_start( $k, $a ); |
|
| 3174 | - $this->build_block_arguments( $k, $a ); |
|
| 3175 | - $this->block_row_end( $k, $a ); |
|
| 3176 | - $this->block_tab_end( $k, $a ); |
|
| 3177 | - } |
|
| 3178 | - ?> |
|
| 3171 | + foreach ( $args as $k => $a ) { |
|
| 3172 | + $this->block_tab_start( $k, $a ); |
|
| 3173 | + $this->block_row_start( $k, $a ); |
|
| 3174 | + $this->build_block_arguments( $k, $a ); |
|
| 3175 | + $this->block_row_end( $k, $a ); |
|
| 3176 | + $this->block_tab_end( $k, $a ); |
|
| 3177 | + } |
|
| 3178 | + ?> |
|
| 3179 | 3179 | ), |
| 3180 | 3180 | <?php |
| 3181 | - $panel_count ++; |
|
| 3181 | + $panel_count ++; |
|
| 3182 | 3182 | |
| 3183 | - if($close_tab || $close_tabs){ |
|
| 3184 | - $tab_args = array( |
|
| 3185 | - 'tab' => array( |
|
| 3186 | - 'tabs_close' => $close_tabs, |
|
| 3187 | - 'close' => true, |
|
| 3188 | - ) |
|
| 3183 | + if($close_tab || $close_tabs){ |
|
| 3184 | + $tab_args = array( |
|
| 3185 | + 'tab' => array( |
|
| 3186 | + 'tabs_close' => $close_tabs, |
|
| 3187 | + 'close' => true, |
|
| 3188 | + ) |
|
| 3189 | 3189 | |
| 3190 | - ); |
|
| 3191 | - $this->block_tab_end( '', $tab_args ); |
|
| 3190 | + ); |
|
| 3191 | + $this->block_tab_end( '', $tab_args ); |
|
| 3192 | 3192 | // echo '###close'; print_r($tab_args); |
| 3193 | - $panel_count = 0; |
|
| 3194 | - } |
|
| 3193 | + $panel_count = 0; |
|
| 3194 | + } |
|
| 3195 | 3195 | // |
| 3196 | 3196 | |
| 3197 | - } |
|
| 3198 | - }else { |
|
| 3199 | - ?> |
|
| 3197 | + } |
|
| 3198 | + }else { |
|
| 3199 | + ?> |
|
| 3200 | 3200 | el(wp.components.PanelBody, { |
| 3201 | 3201 | title: '<?php esc_attr_e( "Settings", 'ayecode-connect' ); ?>', |
| 3202 | 3202 | initialOpen: true |
| 3203 | 3203 | }, |
| 3204 | 3204 | <?php |
| 3205 | - foreach ( $this->arguments as $key => $args ) { |
|
| 3206 | - $this->block_row_start( $key, $args ); |
|
| 3207 | - $this->build_block_arguments( $key, $args ); |
|
| 3208 | - $this->block_row_end( $key, $args ); |
|
| 3209 | - } |
|
| 3210 | - ?> |
|
| 3205 | + foreach ( $this->arguments as $key => $args ) { |
|
| 3206 | + $this->block_row_start( $key, $args ); |
|
| 3207 | + $this->build_block_arguments( $key, $args ); |
|
| 3208 | + $this->block_row_end( $key, $args ); |
|
| 3209 | + } |
|
| 3210 | + ?> |
|
| 3211 | 3211 | ), |
| 3212 | 3212 | <?php |
| 3213 | - } |
|
| 3213 | + } |
|
| 3214 | 3214 | |
| 3215 | - } |
|
| 3216 | - ?> |
|
| 3215 | + } |
|
| 3216 | + ?> |
|
| 3217 | 3217 | |
| 3218 | 3218 | ), |
| 3219 | 3219 | |
| 3220 | 3220 | <?php |
| 3221 | - // If the user sets block-output array then build it |
|
| 3222 | - if ( ! empty( $this->options['block-output'] ) ) { |
|
| 3223 | - $this->block_element( $this->options['block-output'] ); |
|
| 3224 | - }elseif(!empty($this->options['block-edit-return'])){ |
|
| 3225 | - echo $this->options['block-edit-return']; |
|
| 3226 | - }else{ |
|
| 3227 | - // if no block-output is set then we try and get the shortcode html output via ajax. |
|
| 3228 | - $block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div'; |
|
| 3229 | - ?> |
|
| 3221 | + // If the user sets block-output array then build it |
|
| 3222 | + if ( ! empty( $this->options['block-output'] ) ) { |
|
| 3223 | + $this->block_element( $this->options['block-output'] ); |
|
| 3224 | + }elseif(!empty($this->options['block-edit-return'])){ |
|
| 3225 | + echo $this->options['block-edit-return']; |
|
| 3226 | + }else{ |
|
| 3227 | + // if no block-output is set then we try and get the shortcode html output via ajax. |
|
| 3228 | + $block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div'; |
|
| 3229 | + ?> |
|
| 3230 | 3230 | el('<?php echo esc_attr($block_edit_wrap_tag); ?>', wp.blockEditor.useBlockProps({ |
| 3231 | 3231 | dangerouslySetInnerHTML: {__html: onChangeContent()}, |
| 3232 | 3232 | className: props.className, |
@@ -3234,13 +3234,13 @@ discard block |
||
| 3234 | 3234 | style: {'minHeight': '30px'} |
| 3235 | 3235 | })) |
| 3236 | 3236 | <?php |
| 3237 | - } |
|
| 3238 | - ?> |
|
| 3237 | + } |
|
| 3238 | + ?> |
|
| 3239 | 3239 | ]; // end return |
| 3240 | 3240 | |
| 3241 | 3241 | <?php |
| 3242 | - } // end block-edit-raw else |
|
| 3243 | - ?> |
|
| 3242 | + } // end block-edit-raw else |
|
| 3243 | + ?> |
|
| 3244 | 3244 | }, |
| 3245 | 3245 | |
| 3246 | 3246 | // The "save" property must be specified and must be a valid function. |
@@ -3254,16 +3254,16 @@ discard block |
||
| 3254 | 3254 | $html = ''; |
| 3255 | 3255 | <?php |
| 3256 | 3256 | |
| 3257 | - if(! empty( $this->arguments )){ |
|
| 3257 | + if(! empty( $this->arguments )){ |
|
| 3258 | 3258 | |
| 3259 | - foreach($this->arguments as $key => $args){ |
|
| 3260 | - // if($args['type']=='tabs'){continue;} |
|
| 3259 | + foreach($this->arguments as $key => $args){ |
|
| 3260 | + // if($args['type']=='tabs'){continue;} |
|
| 3261 | 3261 | |
| 3262 | - // don't add metadata arguments |
|
| 3263 | - if (substr($key, 0, 9 ) === 'metadata_') { |
|
| 3264 | - continue; |
|
| 3265 | - } |
|
| 3266 | - ?> |
|
| 3262 | + // don't add metadata arguments |
|
| 3263 | + if (substr($key, 0, 9 ) === 'metadata_') { |
|
| 3264 | + continue; |
|
| 3265 | + } |
|
| 3266 | + ?> |
|
| 3267 | 3267 | if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) { |
| 3268 | 3268 | if ('<?php echo esc_attr( $key );?>' == 'html') { |
| 3269 | 3269 | $html = attr.<?php echo esc_attr( $key );?>; |
@@ -3274,10 +3274,10 @@ discard block |
||
| 3274 | 3274 | } |
| 3275 | 3275 | } |
| 3276 | 3276 | <?php |
| 3277 | - } |
|
| 3278 | - } |
|
| 3277 | + } |
|
| 3278 | + } |
|
| 3279 | 3279 | |
| 3280 | - ?> |
|
| 3280 | + ?> |
|
| 3281 | 3281 | content += "]"; |
| 3282 | 3282 | content = ''; |
| 3283 | 3283 | |
@@ -3287,7 +3287,7 @@ discard block |
||
| 3287 | 3287 | // $html = 'el( InnerBlocks.Content )'; |
| 3288 | 3288 | // <?php |
| 3289 | 3289 | // } |
| 3290 | - ?> |
|
| 3290 | + ?> |
|
| 3291 | 3291 | // if has html element |
| 3292 | 3292 | if ($html) { |
| 3293 | 3293 | //content += $html + "[/<?php echo $this->options['base_id'];?>]"; |
@@ -3320,12 +3320,12 @@ discard block |
||
| 3320 | 3320 | // <x?php |
| 3321 | 3321 | // }else |
| 3322 | 3322 | |
| 3323 | - if(!empty($this->options['block-output'])){ |
|
| 3323 | + if(!empty($this->options['block-output'])){ |
|
| 3324 | 3324 | // echo "return"; |
| 3325 | 3325 | // $this->block_element( $this->options['block-output'], true ); |
| 3326 | 3326 | // echo ";"; |
| 3327 | 3327 | |
| 3328 | - ?> |
|
| 3328 | + ?> |
|
| 3329 | 3329 | return el( |
| 3330 | 3330 | '', |
| 3331 | 3331 | {}, |
@@ -3335,10 +3335,10 @@ discard block |
||
| 3335 | 3335 | ); |
| 3336 | 3336 | <?php |
| 3337 | 3337 | |
| 3338 | - }elseif(!empty($this->options['block-save-return'])){ |
|
| 3339 | - echo 'return ' . $this->options['block-save-return']; |
|
| 3340 | - }elseif(!empty($this->options['nested-block'])){ |
|
| 3341 | - ?> |
|
| 3338 | + }elseif(!empty($this->options['block-save-return'])){ |
|
| 3339 | + echo 'return ' . $this->options['block-save-return']; |
|
| 3340 | + }elseif(!empty($this->options['nested-block'])){ |
|
| 3341 | + ?> |
|
| 3342 | 3342 | return el( |
| 3343 | 3343 | '', |
| 3344 | 3344 | {}, |
@@ -3347,22 +3347,22 @@ discard block |
||
| 3347 | 3347 | // el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}}) |
| 3348 | 3348 | ); |
| 3349 | 3349 | <?php |
| 3350 | - }elseif(!empty( $this->options['block-save-return'] ) ){ |
|
| 3351 | - echo "return ". $this->options['block-edit-return'].";"; |
|
| 3352 | - }elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){ |
|
| 3353 | - ?> |
|
| 3350 | + }elseif(!empty( $this->options['block-save-return'] ) ){ |
|
| 3351 | + echo "return ". $this->options['block-edit-return'].";"; |
|
| 3352 | + }elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){ |
|
| 3353 | + ?> |
|
| 3354 | 3354 | return content; |
| 3355 | 3355 | <?php |
| 3356 | - }else{ |
|
| 3357 | - ?> |
|
| 3356 | + }else{ |
|
| 3357 | + ?> |
|
| 3358 | 3358 | var block_wrap = 'div'; |
| 3359 | 3359 | if (attr.hasOwnProperty("block_wrap")) { |
| 3360 | 3360 | block_wrap = attr.block_wrap; |
| 3361 | 3361 | } |
| 3362 | 3362 | return el(block_wrap, wp.blockEditor.useBlockProps.save( {dangerouslySetInnerHTML: {__html: content}, className: align} )); |
| 3363 | 3363 | <?php |
| 3364 | - } |
|
| 3365 | - ?> |
|
| 3364 | + } |
|
| 3365 | + ?> |
|
| 3366 | 3366 | |
| 3367 | 3367 | |
| 3368 | 3368 | } |
@@ -3376,43 +3376,43 @@ discard block |
||
| 3376 | 3376 | }); |
| 3377 | 3377 | </script> |
| 3378 | 3378 | <?php |
| 3379 | - $output = ob_get_clean(); |
|
| 3379 | + $output = ob_get_clean(); |
|
| 3380 | 3380 | |
| 3381 | - /* |
|
| 3381 | + /* |
|
| 3382 | 3382 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 3383 | 3383 | */ |
| 3384 | 3384 | |
| 3385 | - return str_replace( array( |
|
| 3386 | - '<script>', |
|
| 3387 | - '</script>' |
|
| 3388 | - ), '', $output ); |
|
| 3389 | - } |
|
| 3385 | + return str_replace( array( |
|
| 3386 | + '<script>', |
|
| 3387 | + '</script>' |
|
| 3388 | + ), '', $output ); |
|
| 3389 | + } |
|
| 3390 | 3390 | |
| 3391 | 3391 | |
| 3392 | 3392 | |
| 3393 | - public function block_row_start($key, $args){ |
|
| 3393 | + public function block_row_start($key, $args){ |
|
| 3394 | 3394 | |
| 3395 | - // check for row |
|
| 3396 | - if(!empty($args['row'])){ |
|
| 3395 | + // check for row |
|
| 3396 | + if(!empty($args['row'])){ |
|
| 3397 | 3397 | |
| 3398 | - if(!empty($args['row']['open'])){ |
|
| 3398 | + if(!empty($args['row']['open'])){ |
|
| 3399 | 3399 | |
| 3400 | - // element require |
|
| 3401 | - $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : ""; |
|
| 3402 | - $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : ''; |
|
| 3403 | - $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : ''; |
|
| 3404 | - $device_type_icon = ''; |
|
| 3405 | - if($device_type=='Desktop'){ |
|
| 3406 | - $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
|
| 3407 | - }elseif($device_type=='Tablet'){ |
|
| 3408 | - $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
|
| 3409 | - }elseif($device_type=='Mobile'){ |
|
| 3410 | - $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
|
| 3411 | - } |
|
| 3412 | - echo $element_require; |
|
| 3413 | - echo $device_type_require; |
|
| 3400 | + // element require |
|
| 3401 | + $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : ""; |
|
| 3402 | + $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : ''; |
|
| 3403 | + $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : ''; |
|
| 3404 | + $device_type_icon = ''; |
|
| 3405 | + if($device_type=='Desktop'){ |
|
| 3406 | + $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
|
| 3407 | + }elseif($device_type=='Tablet'){ |
|
| 3408 | + $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
|
| 3409 | + }elseif($device_type=='Mobile'){ |
|
| 3410 | + $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
|
| 3411 | + } |
|
| 3412 | + echo $element_require; |
|
| 3413 | + echo $device_type_require; |
|
| 3414 | 3414 | |
| 3415 | - if(false){?><script><?php }?> |
|
| 3415 | + if(false){?><script><?php }?> |
|
| 3416 | 3416 | el('div', { |
| 3417 | 3417 | className: 'bsui components-base-control', |
| 3418 | 3418 | }, |
@@ -3425,8 +3425,8 @@ discard block |
||
| 3425 | 3425 | <?php if($device_type_icon){ ?> |
| 3426 | 3426 | deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}}) |
| 3427 | 3427 | <?php |
| 3428 | - } |
|
| 3429 | - ?> |
|
| 3428 | + } |
|
| 3429 | + ?> |
|
| 3430 | 3430 | |
| 3431 | 3431 | |
| 3432 | 3432 | ), |
@@ -3450,51 +3450,51 @@ discard block |
||
| 3450 | 3450 | }, |
| 3451 | 3451 | |
| 3452 | 3452 | <?php |
| 3453 | - if(false){?></script><?php } |
|
| 3454 | - }elseif(!empty($args['row']['close'])){ |
|
| 3455 | - if(false){?><script><?php }?> |
|
| 3453 | + if(false){?></script><?php } |
|
| 3454 | + }elseif(!empty($args['row']['close'])){ |
|
| 3455 | + if(false){?><script><?php }?> |
|
| 3456 | 3456 | el( |
| 3457 | 3457 | 'div', |
| 3458 | 3458 | { |
| 3459 | 3459 | className: 'col pl-0 ps-0', |
| 3460 | 3460 | }, |
| 3461 | 3461 | <?php |
| 3462 | - if(false){?></script><?php } |
|
| 3463 | - }else{ |
|
| 3464 | - if(false){?><script><?php }?> |
|
| 3462 | + if(false){?></script><?php } |
|
| 3463 | + }else{ |
|
| 3464 | + if(false){?><script><?php }?> |
|
| 3465 | 3465 | el( |
| 3466 | 3466 | 'div', |
| 3467 | 3467 | { |
| 3468 | 3468 | className: 'col pl-0 ps-0 pr-2 pe-2', |
| 3469 | 3469 | }, |
| 3470 | 3470 | <?php |
| 3471 | - if(false){?></script><?php } |
|
| 3472 | - } |
|
| 3471 | + if(false){?></script><?php } |
|
| 3472 | + } |
|
| 3473 | 3473 | |
| 3474 | - } |
|
| 3474 | + } |
|
| 3475 | 3475 | |
| 3476 | - } |
|
| 3476 | + } |
|
| 3477 | 3477 | |
| 3478 | - public function block_row_end($key, $args){ |
|
| 3478 | + public function block_row_end($key, $args){ |
|
| 3479 | 3479 | |
| 3480 | - if(!empty($args['row'])){ |
|
| 3481 | - // maybe close |
|
| 3482 | - if(!empty($args['row']['close'])){ |
|
| 3483 | - echo "))"; |
|
| 3484 | - } |
|
| 3480 | + if(!empty($args['row'])){ |
|
| 3481 | + // maybe close |
|
| 3482 | + if(!empty($args['row']['close'])){ |
|
| 3483 | + echo "))"; |
|
| 3484 | + } |
|
| 3485 | 3485 | |
| 3486 | - echo "),"; |
|
| 3487 | - } |
|
| 3488 | - } |
|
| 3486 | + echo "),"; |
|
| 3487 | + } |
|
| 3488 | + } |
|
| 3489 | 3489 | |
| 3490 | - public function block_tab_start($key, $args){ |
|
| 3490 | + public function block_tab_start($key, $args){ |
|
| 3491 | 3491 | |
| 3492 | - // check for row |
|
| 3493 | - if(!empty($args['tab'])){ |
|
| 3492 | + // check for row |
|
| 3493 | + if(!empty($args['tab'])){ |
|
| 3494 | 3494 | |
| 3495 | - if(!empty($args['tab']['tabs_open'])){ |
|
| 3495 | + if(!empty($args['tab']['tabs_open'])){ |
|
| 3496 | 3496 | |
| 3497 | - if(false){?><script><?php }?> |
|
| 3497 | + if(false){?><script><?php }?> |
|
| 3498 | 3498 | |
| 3499 | 3499 | el('div',{className: 'bsui'}, |
| 3500 | 3500 | |
@@ -3507,12 +3507,12 @@ discard block |
||
| 3507 | 3507 | tabs: [ |
| 3508 | 3508 | |
| 3509 | 3509 | <?php |
| 3510 | - if(false){?></script><?php } |
|
| 3511 | - } |
|
| 3510 | + if(false){?></script><?php } |
|
| 3511 | + } |
|
| 3512 | 3512 | |
| 3513 | - if(!empty($args['tab']['open'])){ |
|
| 3513 | + if(!empty($args['tab']['open'])){ |
|
| 3514 | 3514 | |
| 3515 | - if(false){?><script><?php }?> |
|
| 3515 | + if(false){?><script><?php }?> |
|
| 3516 | 3516 | { |
| 3517 | 3517 | name: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>', |
| 3518 | 3518 | title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes( esc_attr( $args['tab']['title']) ); ?>'}}), |
@@ -3521,93 +3521,93 @@ discard block |
||
| 3521 | 3521 | className: 'components-base-control__help mb-0', |
| 3522 | 3522 | dangerouslySetInnerHTML: {__html:'<?php echo addslashes( $args['tab']['desc'] ); ?>'} |
| 3523 | 3523 | }),<?php } |
| 3524 | - if(false){?></script><?php } |
|
| 3525 | - } |
|
| 3524 | + if(false){?></script><?php } |
|
| 3525 | + } |
|
| 3526 | 3526 | |
| 3527 | - } |
|
| 3527 | + } |
|
| 3528 | 3528 | |
| 3529 | - } |
|
| 3529 | + } |
|
| 3530 | 3530 | |
| 3531 | - public function block_tab_end($key, $args){ |
|
| 3531 | + public function block_tab_end($key, $args){ |
|
| 3532 | 3532 | |
| 3533 | - if(!empty($args['tab'])){ |
|
| 3534 | - // maybe close |
|
| 3535 | - if(!empty($args['tab']['close'])){ |
|
| 3536 | - echo ")}, /* tab close */"; |
|
| 3537 | - } |
|
| 3533 | + if(!empty($args['tab'])){ |
|
| 3534 | + // maybe close |
|
| 3535 | + if(!empty($args['tab']['close'])){ |
|
| 3536 | + echo ")}, /* tab close */"; |
|
| 3537 | + } |
|
| 3538 | 3538 | |
| 3539 | - if(!empty($args['tab']['tabs_close'])){ |
|
| 3540 | - if(false){?><script><?php }?> |
|
| 3539 | + if(!empty($args['tab']['tabs_close'])){ |
|
| 3540 | + if(false){?><script><?php }?> |
|
| 3541 | 3541 | ]}, ( tab ) => { |
| 3542 | 3542 | return tab.content; |
| 3543 | 3543 | } |
| 3544 | 3544 | )), /* tabs close */ |
| 3545 | 3545 | <?php if(false){ ?></script><?php } |
| 3546 | - } |
|
| 3547 | - } |
|
| 3548 | - } |
|
| 3549 | - |
|
| 3550 | - public function build_block_arguments( $key, $args ) { |
|
| 3551 | - $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : ''; |
|
| 3552 | - $options = ''; |
|
| 3553 | - $extra = ''; |
|
| 3554 | - $require = ''; |
|
| 3555 | - $inside_elements = ''; |
|
| 3556 | - $after_elements = ''; |
|
| 3557 | - |
|
| 3558 | - // `content` is a protected and special argument |
|
| 3559 | - if ( $key == 'content' ) { |
|
| 3560 | - return; |
|
| 3561 | - } |
|
| 3562 | - |
|
| 3563 | - $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : ''; |
|
| 3564 | - $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : ''; |
|
| 3565 | - $device_type_icon = ''; |
|
| 3566 | - if($device_type=='Desktop'){ |
|
| 3567 | - $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
|
| 3568 | - }elseif($device_type=='Tablet'){ |
|
| 3569 | - $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
|
| 3570 | - }elseif($device_type=='Mobile'){ |
|
| 3571 | - $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
|
| 3572 | - } |
|
| 3573 | - |
|
| 3574 | - // icon |
|
| 3575 | - $icon = ''; |
|
| 3576 | - if( !empty( $args['icon'] ) ){ |
|
| 3577 | - $icon .= "el('div', {"; |
|
| 3578 | - $icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},"; |
|
| 3579 | - $icon .= "className: 'text-center',"; |
|
| 3580 | - $icon .= "title: '".addslashes( $args['title'] )."',"; |
|
| 3581 | - $icon .= "}),"; |
|
| 3582 | - |
|
| 3583 | - // blank title as its added to the icon. |
|
| 3584 | - $args['title'] = ''; |
|
| 3585 | - } |
|
| 3586 | - |
|
| 3587 | - // require advanced |
|
| 3588 | - $require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : ""; |
|
| 3589 | - |
|
| 3590 | - // element require |
|
| 3591 | - $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : ""; |
|
| 3592 | - |
|
| 3546 | + } |
|
| 3547 | + } |
|
| 3548 | + } |
|
| 3593 | 3549 | |
| 3594 | - $onchange = "props.setAttributes({ $key: $key } )"; |
|
| 3595 | - $onchangecomplete = ""; |
|
| 3596 | - $value = "props.attributes.$key"; |
|
| 3597 | - $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' ); |
|
| 3598 | - if ( in_array( $args['type'], $text_type ) ) { |
|
| 3599 | - $type = 'TextControl'; |
|
| 3600 | - // Save numbers as numbers and not strings |
|
| 3601 | - if ( $args['type'] == 'number' ) { |
|
| 3602 | - $onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )"; |
|
| 3603 | - } |
|
| 3550 | + public function build_block_arguments( $key, $args ) { |
|
| 3551 | + $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : ''; |
|
| 3552 | + $options = ''; |
|
| 3553 | + $extra = ''; |
|
| 3554 | + $require = ''; |
|
| 3555 | + $inside_elements = ''; |
|
| 3556 | + $after_elements = ''; |
|
| 3557 | + |
|
| 3558 | + // `content` is a protected and special argument |
|
| 3559 | + if ( $key == 'content' ) { |
|
| 3560 | + return; |
|
| 3561 | + } |
|
| 3562 | + |
|
| 3563 | + $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : ''; |
|
| 3564 | + $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : ''; |
|
| 3565 | + $device_type_icon = ''; |
|
| 3566 | + if($device_type=='Desktop'){ |
|
| 3567 | + $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
|
| 3568 | + }elseif($device_type=='Tablet'){ |
|
| 3569 | + $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
|
| 3570 | + }elseif($device_type=='Mobile'){ |
|
| 3571 | + $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
|
| 3572 | + } |
|
| 3573 | + |
|
| 3574 | + // icon |
|
| 3575 | + $icon = ''; |
|
| 3576 | + if( !empty( $args['icon'] ) ){ |
|
| 3577 | + $icon .= "el('div', {"; |
|
| 3578 | + $icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},"; |
|
| 3579 | + $icon .= "className: 'text-center',"; |
|
| 3580 | + $icon .= "title: '".addslashes( $args['title'] )."',"; |
|
| 3581 | + $icon .= "}),"; |
|
| 3582 | + |
|
| 3583 | + // blank title as its added to the icon. |
|
| 3584 | + $args['title'] = ''; |
|
| 3585 | + } |
|
| 3586 | + |
|
| 3587 | + // require advanced |
|
| 3588 | + $require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : ""; |
|
| 3589 | + |
|
| 3590 | + // element require |
|
| 3591 | + $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : ""; |
|
| 3592 | + |
|
| 3593 | + |
|
| 3594 | + $onchange = "props.setAttributes({ $key: $key } )"; |
|
| 3595 | + $onchangecomplete = ""; |
|
| 3596 | + $value = "props.attributes.$key"; |
|
| 3597 | + $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' ); |
|
| 3598 | + if ( in_array( $args['type'], $text_type ) ) { |
|
| 3599 | + $type = 'TextControl'; |
|
| 3600 | + // Save numbers as numbers and not strings |
|
| 3601 | + if ( $args['type'] == 'number' ) { |
|
| 3602 | + $onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )"; |
|
| 3603 | + } |
|
| 3604 | 3604 | |
| 3605 | - if (substr($key, 0, 9 ) === 'metadata_') { |
|
| 3606 | - $real_key = str_replace('metadata_','', $key ); |
|
| 3607 | - $onchange = "props.setAttributes({ metadata: { $real_key: $key } } )"; |
|
| 3608 | - $value = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''"; |
|
| 3609 | - } |
|
| 3610 | - } |
|
| 3605 | + if (substr($key, 0, 9 ) === 'metadata_') { |
|
| 3606 | + $real_key = str_replace('metadata_','', $key ); |
|
| 3607 | + $onchange = "props.setAttributes({ metadata: { $real_key: $key } } )"; |
|
| 3608 | + $value = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''"; |
|
| 3609 | + } |
|
| 3610 | + } |
|
| 3611 | 3611 | // else if ( $args['type'] == 'popup' ) { |
| 3612 | 3612 | // $type = 'TextControl'; |
| 3613 | 3613 | // $args['type'] == 'text'; |
@@ -3625,21 +3625,21 @@ discard block |
||
| 3625 | 3625 | // |
| 3626 | 3626 | // $value = "props.attributes.$key ? props.attributes.$key : ''"; |
| 3627 | 3627 | // } |
| 3628 | - else if ( $args['type'] == 'styleid' ) { |
|
| 3629 | - $type = 'TextControl'; |
|
| 3630 | - $args['type'] == 'text'; |
|
| 3631 | - // Save numbers as numbers and not strings |
|
| 3632 | - $value = "props.attributes.$key ? props.attributes.$key : ''"; |
|
| 3633 | - }else if ( $args['type'] == 'notice' ) { |
|
| 3634 | - |
|
| 3635 | - $notice_message = !empty($args['desc']) ? addslashes($args['desc']) : ''; |
|
| 3636 | - $notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info'; |
|
| 3637 | - |
|
| 3638 | - $notice = "el('div',{className:'bsui'},el(wp.components.Notice, {status: '$notice_status',isDismissible: false,className: 'm-0 pr-0 pe-0 mb-3'},el('div',{dangerouslySetInnerHTML: {__html: '$notice_message'}}))),"; |
|
| 3639 | - echo $notice_message ? $element_require . $notice : ''; |
|
| 3640 | - return; |
|
| 3641 | - } |
|
| 3642 | - /* |
|
| 3628 | + else if ( $args['type'] == 'styleid' ) { |
|
| 3629 | + $type = 'TextControl'; |
|
| 3630 | + $args['type'] == 'text'; |
|
| 3631 | + // Save numbers as numbers and not strings |
|
| 3632 | + $value = "props.attributes.$key ? props.attributes.$key : ''"; |
|
| 3633 | + }else if ( $args['type'] == 'notice' ) { |
|
| 3634 | + |
|
| 3635 | + $notice_message = !empty($args['desc']) ? addslashes($args['desc']) : ''; |
|
| 3636 | + $notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info'; |
|
| 3637 | + |
|
| 3638 | + $notice = "el('div',{className:'bsui'},el(wp.components.Notice, {status: '$notice_status',isDismissible: false,className: 'm-0 pr-0 pe-0 mb-3'},el('div',{dangerouslySetInnerHTML: {__html: '$notice_message'}}))),"; |
|
| 3639 | + echo $notice_message ? $element_require . $notice : ''; |
|
| 3640 | + return; |
|
| 3641 | + } |
|
| 3642 | + /* |
|
| 3643 | 3643 | * https://www.wptricks.com/question/set-current-tab-on-a-gutenberg-tabpanel-component-from-outside-that-component/ es5 layout |
| 3644 | 3644 | elseif($args['type']=='tabs'){ |
| 3645 | 3645 | ?> |
@@ -3692,22 +3692,22 @@ discard block |
||
| 3692 | 3692 | return; |
| 3693 | 3693 | } |
| 3694 | 3694 | */ |
| 3695 | - elseif ( $args['type'] == 'color' ) { |
|
| 3696 | - $type = 'ColorPicker'; |
|
| 3697 | - $onchange = ""; |
|
| 3698 | - $extra = "color: $value,"; |
|
| 3699 | - if(!empty($args['disable_alpha'])){ |
|
| 3700 | - $extra .= "disableAlpha: true,"; |
|
| 3701 | - } |
|
| 3702 | - $onchangecomplete = "onChangeComplete: function($key) { |
|
| 3695 | + elseif ( $args['type'] == 'color' ) { |
|
| 3696 | + $type = 'ColorPicker'; |
|
| 3697 | + $onchange = ""; |
|
| 3698 | + $extra = "color: $value,"; |
|
| 3699 | + if(!empty($args['disable_alpha'])){ |
|
| 3700 | + $extra .= "disableAlpha: true,"; |
|
| 3701 | + } |
|
| 3702 | + $onchangecomplete = "onChangeComplete: function($key) { |
|
| 3703 | 3703 | value = $key.rgb.a && $key.rgb.a < 1 ? \"rgba(\"+$key.rgb.r+\",\"+$key.rgb.g+\",\"+$key.rgb.b+\",\"+$key.rgb.a+\")\" : $key.hex; |
| 3704 | 3704 | props.setAttributes({ |
| 3705 | 3705 | $key: value |
| 3706 | 3706 | }); |
| 3707 | 3707 | },"; |
| 3708 | - }elseif ( $args['type'] == 'gradient' ) { |
|
| 3709 | - $type = 'GradientPicker'; |
|
| 3710 | - $extra .= "gradients: [{ |
|
| 3708 | + }elseif ( $args['type'] == 'gradient' ) { |
|
| 3709 | + $type = 'GradientPicker'; |
|
| 3710 | + $extra .= "gradients: [{ |
|
| 3711 | 3711 | name: 'Vivid cyan blue to vivid purple', |
| 3712 | 3712 | gradient: |
| 3713 | 3713 | 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)', |
@@ -3744,10 +3744,10 @@ discard block |
||
| 3744 | 3744 | slug: 'cool-to-warm-spectrum', |
| 3745 | 3745 | }],"; |
| 3746 | 3746 | |
| 3747 | - }elseif ( $args['type'] == 'image' ) { |
|
| 3747 | + }elseif ( $args['type'] == 'image' ) { |
|
| 3748 | 3748 | // print_r($args); |
| 3749 | 3749 | |
| 3750 | - $img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key || props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{ |
|
| 3750 | + $img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key || props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{ |
|
| 3751 | 3751 | url: props.attributes.{$key}_use_featured === true ? 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxzdmcgYmFzZVByb2ZpbGU9InRpbnkiIGhlaWdodD0iNDAwIiB2ZXJzaW9uPSIxLjIiIHdpZHRoPSI0MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6ZXY9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEveG1sLWV2ZW50cyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzIC8+PHJlY3QgZmlsbD0iI2QzZDNkMyIgaGVpZ2h0PSI0MDAiIHdpZHRoPSI0MDAiIHg9IjAiIHk9IjAiIC8+PGxpbmUgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxMCIgeDE9IjAiIHgyPSI0MDAiIHkxPSIwIiB5Mj0iNDAwIiAvPjxsaW5lIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMTAiIHgxPSIwIiB4Mj0iNDAwIiB5MT0iNDAwIiB5Mj0iMCIgLz48cmVjdCBmaWxsPSIjZDNkM2QzIiBoZWlnaHQ9IjUwIiB3aWR0aD0iMjE4LjAiIHg9IjkxLjAiIHk9IjE3NS4wIiAvPjx0ZXh0IGZpbGw9IndoaXRlIiBmb250LXNpemU9IjMwIiBmb250LXdlaWdodD0iYm9sZCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iMjAwLjAiIHk9IjIwNy41Ij5QTEFDRUhPTERFUjwvdGV4dD48L3N2Zz4=' : props.attributes.$key, |
| 3752 | 3752 | value: props.attributes.{$key}_xy.x !== undefined && props.attributes.{$key}_xy.x >= 0 ? props.attributes.{$key}_xy : {x: 0.5,y: 0.5,}, |
| 3753 | 3753 | // value: props.attributes.{$key}_xy, |
@@ -3768,16 +3768,16 @@ discard block |
||
| 3768 | 3768 | }), "; |
| 3769 | 3769 | |
| 3770 | 3770 | |
| 3771 | - $value = '""'; |
|
| 3772 | - $type = 'MediaUpload'; |
|
| 3773 | - $extra .= "onSelect: function(media){ |
|
| 3771 | + $value = '""'; |
|
| 3772 | + $type = 'MediaUpload'; |
|
| 3773 | + $extra .= "onSelect: function(media){ |
|
| 3774 | 3774 | return props.setAttributes({ |
| 3775 | 3775 | $key: media.url, |
| 3776 | 3776 | {$key}_id: media.id |
| 3777 | 3777 | }); |
| 3778 | 3778 | },"; |
| 3779 | - $extra .= "type: 'image',"; |
|
| 3780 | - $extra .= "render: function (obj) { |
|
| 3779 | + $extra .= "type: 'image',"; |
|
| 3780 | + $extra .= "render: function (obj) { |
|
| 3781 | 3781 | return el( 'div',{}, |
| 3782 | 3782 | ( !props.attributes.$key && !props.attributes.{$key}_use_featured ) && el( wp.components.Button, { |
| 3783 | 3783 | className: 'components-button components-circular-option-picker__clear is-primary is-smallx', |
@@ -3803,11 +3803,11 @@ discard block |
||
| 3803 | 3803 | |
| 3804 | 3804 | |
| 3805 | 3805 | }"; |
| 3806 | - $onchange = ""; |
|
| 3806 | + $onchange = ""; |
|
| 3807 | 3807 | |
| 3808 | - //$inside_elements = ",el('div',{},'file upload')"; |
|
| 3809 | - } else if ( $args['type'] == 'images' ) { |
|
| 3810 | - $img_preview = "props.attributes.$key && (function() { |
|
| 3808 | + //$inside_elements = ",el('div',{},'file upload')"; |
|
| 3809 | + } else if ( $args['type'] == 'images' ) { |
|
| 3810 | + $img_preview = "props.attributes.$key && (function() { |
|
| 3811 | 3811 | let uploads = JSON.parse('['+props.attributes.$key+']'); |
| 3812 | 3812 | let images = []; |
| 3813 | 3813 | uploads.map((upload, index) => ( |
@@ -3834,9 +3834,9 @@ discard block |
||
| 3834 | 3834 | })(),"; |
| 3835 | 3835 | |
| 3836 | 3836 | |
| 3837 | - $value = '""'; |
|
| 3838 | - $type = 'MediaUpload'; |
|
| 3839 | - $extra .= "onSelect: function(media){ |
|
| 3837 | + $value = '""'; |
|
| 3838 | + $type = 'MediaUpload'; |
|
| 3839 | + $extra .= "onSelect: function(media){ |
|
| 3840 | 3840 | let slim_images = props.attributes.$key ? JSON.parse('['+props.attributes.$key+']') : []; |
| 3841 | 3841 | if(media.length){ |
| 3842 | 3842 | for (var i=0; i < media.length; i++) { |
@@ -3849,9 +3849,9 @@ discard block |
||
| 3849 | 3849 | } |
| 3850 | 3850 | return props.setAttributes({ $key: slimImagesV}); |
| 3851 | 3851 | },"; |
| 3852 | - $extra .= "type: 'image',"; |
|
| 3853 | - $extra .= "multiple: true,"; |
|
| 3854 | - $extra .= "render: function (obj) { |
|
| 3852 | + $extra .= "type: 'image',"; |
|
| 3853 | + $extra .= "multiple: true,"; |
|
| 3854 | + $extra .= "render: function (obj) { |
|
| 3855 | 3855 | /* Init the sort */ |
| 3856 | 3856 | enableDragSort('sd-sortable'); |
| 3857 | 3857 | return el( 'div',{}, |
@@ -3878,40 +3878,40 @@ discard block |
||
| 3878 | 3878 | ) |
| 3879 | 3879 | ) |
| 3880 | 3880 | }"; |
| 3881 | - $onchange = ""; |
|
| 3882 | - |
|
| 3883 | - //$inside_elements = ",el('div',{},'file upload')"; |
|
| 3884 | - } |
|
| 3885 | - elseif ( $args['type'] == 'checkbox' ) { |
|
| 3886 | - $type = 'CheckboxControl'; |
|
| 3887 | - $extra .= "checked: props.attributes.$key,"; |
|
| 3888 | - $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )"; |
|
| 3889 | - } elseif ( $args['type'] == 'textarea' ) { |
|
| 3890 | - $type = 'TextareaControl'; |
|
| 3891 | - |
|
| 3892 | - } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) { |
|
| 3893 | - $type = 'SelectControl'; |
|
| 3894 | - |
|
| 3895 | - if($args['name'] == 'category' && !empty($args['post_type_linked'])){ |
|
| 3896 | - $options .= "options: taxonomies_".str_replace("-","_", $this->id).","; |
|
| 3897 | - }elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){ |
|
| 3898 | - $options .= "options: sort_by_".str_replace("-","_", $this->id).","; |
|
| 3899 | - }else { |
|
| 3900 | - |
|
| 3901 | - if ( ! empty( $args['options'] ) ) { |
|
| 3902 | - $options .= "options: ["; |
|
| 3903 | - foreach ( $args['options'] as $option_val => $option_label ) { |
|
| 3904 | - $options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . esc_js( addslashes( $option_label ) ) . "' },"; |
|
| 3905 | - } |
|
| 3906 | - $options .= "],"; |
|
| 3907 | - } |
|
| 3908 | - } |
|
| 3909 | - if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550 |
|
| 3910 | - $extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, '; |
|
| 3911 | - } |
|
| 3881 | + $onchange = ""; |
|
| 3882 | + |
|
| 3883 | + //$inside_elements = ",el('div',{},'file upload')"; |
|
| 3884 | + } |
|
| 3885 | + elseif ( $args['type'] == 'checkbox' ) { |
|
| 3886 | + $type = 'CheckboxControl'; |
|
| 3887 | + $extra .= "checked: props.attributes.$key,"; |
|
| 3888 | + $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )"; |
|
| 3889 | + } elseif ( $args['type'] == 'textarea' ) { |
|
| 3890 | + $type = 'TextareaControl'; |
|
| 3891 | + |
|
| 3892 | + } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) { |
|
| 3893 | + $type = 'SelectControl'; |
|
| 3894 | + |
|
| 3895 | + if($args['name'] == 'category' && !empty($args['post_type_linked'])){ |
|
| 3896 | + $options .= "options: taxonomies_".str_replace("-","_", $this->id).","; |
|
| 3897 | + }elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){ |
|
| 3898 | + $options .= "options: sort_by_".str_replace("-","_", $this->id).","; |
|
| 3899 | + }else { |
|
| 3900 | + |
|
| 3901 | + if ( ! empty( $args['options'] ) ) { |
|
| 3902 | + $options .= "options: ["; |
|
| 3903 | + foreach ( $args['options'] as $option_val => $option_label ) { |
|
| 3904 | + $options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . esc_js( addslashes( $option_label ) ) . "' },"; |
|
| 3905 | + } |
|
| 3906 | + $options .= "],"; |
|
| 3907 | + } |
|
| 3908 | + } |
|
| 3909 | + if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550 |
|
| 3910 | + $extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, '; |
|
| 3911 | + } |
|
| 3912 | 3912 | |
| 3913 | - if($args['type'] == 'multiselect' || ( isset( $args['multiple'] ) && $args['multiple'] ) ){ |
|
| 3914 | - $after_elements .= "props.attributes.$key && el( wp.components.Button, { |
|
| 3913 | + if($args['type'] == 'multiselect' || ( isset( $args['multiple'] ) && $args['multiple'] ) ){ |
|
| 3914 | + $after_elements .= "props.attributes.$key && el( wp.components.Button, { |
|
| 3915 | 3915 | className: 'components-button components-circular-option-picker__clear is-secondary is-small', |
| 3916 | 3916 | style: {margin:'-8px 0 8px 0',display: 'block'}, |
| 3917 | 3917 | onClick: function(){ |
@@ -3922,8 +3922,8 @@ discard block |
||
| 3922 | 3922 | }, |
| 3923 | 3923 | 'Clear' |
| 3924 | 3924 | ),"; |
| 3925 | - } |
|
| 3926 | - } elseif ( $args['type'] == 'tagselect' ) { |
|
| 3925 | + } |
|
| 3926 | + } elseif ( $args['type'] == 'tagselect' ) { |
|
| 3927 | 3927 | // $type = 'FormTokenField'; |
| 3928 | 3928 | // |
| 3929 | 3929 | // if ( ! empty( $args['options'] ) ) { |
@@ -3958,20 +3958,20 @@ discard block |
||
| 3958 | 3958 | // $value = "[]"; |
| 3959 | 3959 | // $extra .= ' __experimentalExpandOnFocus: true,'; |
| 3960 | 3960 | |
| 3961 | - } else if ( $args['type'] == 'alignment' ) { |
|
| 3962 | - $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example |
|
| 3963 | - } else if ( $args['type'] == 'margins' ) { |
|
| 3964 | - |
|
| 3965 | - } else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) { |
|
| 3966 | - $type = 'TextControl'; |
|
| 3967 | - $value = "(props.attributes.$key ? props.attributes.$key : '')"; |
|
| 3968 | - $args['type'] = 'text'; |
|
| 3969 | - $options .= 'disabled:true,'; |
|
| 3970 | - $bsvc_title = esc_attr( addslashes( $args['title'] ) ); |
|
| 3971 | - $bsvc_body = $this->block_visibility_fields( $args ); |
|
| 3972 | - // @TODO reset button |
|
| 3973 | - $bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'ayecode-connect' ) . '</button>'; |
|
| 3974 | - $after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, { |
|
| 3961 | + } else if ( $args['type'] == 'alignment' ) { |
|
| 3962 | + $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example |
|
| 3963 | + } else if ( $args['type'] == 'margins' ) { |
|
| 3964 | + |
|
| 3965 | + } else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) { |
|
| 3966 | + $type = 'TextControl'; |
|
| 3967 | + $value = "(props.attributes.$key ? props.attributes.$key : '')"; |
|
| 3968 | + $args['type'] = 'text'; |
|
| 3969 | + $options .= 'disabled:true,'; |
|
| 3970 | + $bsvc_title = esc_attr( addslashes( $args['title'] ) ); |
|
| 3971 | + $bsvc_body = $this->block_visibility_fields( $args ); |
|
| 3972 | + // @TODO reset button |
|
| 3973 | + $bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'ayecode-connect' ) . '</button>'; |
|
| 3974 | + $after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, { |
|
| 3975 | 3975 | className: 'components-button components-circular-option-picker__clear is-primary is-smallx', |
| 3976 | 3976 | onClick: function() { |
| 3977 | 3977 | var sValue = props.attributes." . $key . "; |
@@ -3997,39 +3997,39 @@ discard block |
||
| 3997 | 3997 | }, |
| 3998 | 3998 | '" . addslashes( ! empty( $args['button_title'] ) ? $args['button_title'] : $args['title'] ) . "' |
| 3999 | 3999 | ) ),"; |
| 4000 | - } else { |
|
| 4001 | - return;// if we have not implemented the control then don't break the JS. |
|
| 4002 | - } |
|
| 4003 | - |
|
| 4004 | - // color input does not show the labels so we add them |
|
| 4005 | - if($args['type']=='color'){ |
|
| 4006 | - // add show only if advanced |
|
| 4007 | - echo $require_advanced; |
|
| 4008 | - // add setting require if defined |
|
| 4009 | - echo $element_require; |
|
| 4010 | - echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),"; |
|
| 4011 | - } |
|
| 4012 | - |
|
| 4013 | - // add show only if advanced |
|
| 4014 | - echo $require_advanced; |
|
| 4015 | - // add setting require if defined |
|
| 4016 | - echo $element_require; |
|
| 4017 | - echo $device_type_require; |
|
| 4018 | - |
|
| 4019 | - // icon |
|
| 4020 | - echo $icon; |
|
| 4021 | - ?> |
|
| 4000 | + } else { |
|
| 4001 | + return;// if we have not implemented the control then don't break the JS. |
|
| 4002 | + } |
|
| 4003 | + |
|
| 4004 | + // color input does not show the labels so we add them |
|
| 4005 | + if($args['type']=='color'){ |
|
| 4006 | + // add show only if advanced |
|
| 4007 | + echo $require_advanced; |
|
| 4008 | + // add setting require if defined |
|
| 4009 | + echo $element_require; |
|
| 4010 | + echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),"; |
|
| 4011 | + } |
|
| 4012 | + |
|
| 4013 | + // add show only if advanced |
|
| 4014 | + echo $require_advanced; |
|
| 4015 | + // add setting require if defined |
|
| 4016 | + echo $element_require; |
|
| 4017 | + echo $device_type_require; |
|
| 4018 | + |
|
| 4019 | + // icon |
|
| 4020 | + echo $icon; |
|
| 4021 | + ?> |
|
| 4022 | 4022 | el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type : "wp.components.".$type; ?>, { |
| 4023 | 4023 | label: <?php if ( empty( $args['title'] ) ) { echo "''"; } else if ( empty( $args['row'] ) && ! empty( $args['device_type'] ) ) { ?>el('label',{className:'components-base-control__label',style:{width:"100%"}},el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['title'] ) ?>'}}),<?php if ( $device_type_icon ) { ?>deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})<?php } ?>)<?php |
| 4024 | - } else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>, |
|
| 4024 | + } else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>, |
|
| 4025 | 4025 | help: <?php echo ( isset( $args['desc'] ) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim( wp_kses_post( addslashes( $args['desc'] ) ) ) . "'}})" : "''" ); ?>, |
| 4026 | 4026 | value: <?php echo $value; ?>, |
| 4027 | 4027 | <?php if ( $type == 'TextControl' && $args['type'] != 'text' ) { |
| 4028 | - echo "type: '" . addslashes( $args['type'] ) . "',"; |
|
| 4029 | - } ?> |
|
| 4028 | + echo "type: '" . addslashes( $args['type'] ) . "',"; |
|
| 4029 | + } ?> |
|
| 4030 | 4030 | <?php if ( ! empty( $args['placeholder'] ) ) { |
| 4031 | - echo "placeholder: '" . esc_js( addslashes( trim( esc_html( $args['placeholder'] ) ) ) ) . "',"; |
|
| 4032 | - } ?> |
|
| 4031 | + echo "placeholder: '" . esc_js( addslashes( trim( esc_html( $args['placeholder'] ) ) ) ) . "',"; |
|
| 4032 | + } ?> |
|
| 4033 | 4033 | <?php echo $options; ?> |
| 4034 | 4034 | <?php echo $extra; ?> |
| 4035 | 4035 | <?php echo $custom_attributes; ?> |
@@ -4041,1266 +4041,1266 @@ discard block |
||
| 4041 | 4041 | <?php } ?> |
| 4042 | 4042 | } <?php echo $inside_elements; ?> ), |
| 4043 | 4043 | <?php |
| 4044 | - echo $after_elements; |
|
| 4045 | - } |
|
| 4044 | + echo $after_elements; |
|
| 4045 | + } |
|
| 4046 | 4046 | |
| 4047 | - /** |
|
| 4048 | - * Convert an array of attributes to block string. |
|
| 4049 | - * |
|
| 4050 | - * @param $custom_attributes |
|
| 4051 | - * |
|
| 4052 | - * @return string |
|
| 4053 | - *@todo there is prob a faster way to do this, also we could add some validation here. |
|
| 4054 | - * |
|
| 4055 | - */ |
|
| 4056 | - public function array_to_attributes( $custom_attributes, $html = false ) { |
|
| 4057 | - $attributes = ''; |
|
| 4058 | - if ( ! empty( $custom_attributes ) ) { |
|
| 4059 | - |
|
| 4060 | - foreach ( $custom_attributes as $key => $val ) { |
|
| 4061 | - if(is_array($val)){ |
|
| 4062 | - $attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},'; |
|
| 4063 | - }else{ |
|
| 4064 | - $attributes .= $html ? " $key='$val' " : "'$key': '$val',"; |
|
| 4065 | - } |
|
| 4066 | - } |
|
| 4047 | + /** |
|
| 4048 | + * Convert an array of attributes to block string. |
|
| 4049 | + * |
|
| 4050 | + * @param $custom_attributes |
|
| 4051 | + * |
|
| 4052 | + * @return string |
|
| 4053 | + *@todo there is prob a faster way to do this, also we could add some validation here. |
|
| 4054 | + * |
|
| 4055 | + */ |
|
| 4056 | + public function array_to_attributes( $custom_attributes, $html = false ) { |
|
| 4057 | + $attributes = ''; |
|
| 4058 | + if ( ! empty( $custom_attributes ) ) { |
|
| 4059 | + |
|
| 4060 | + foreach ( $custom_attributes as $key => $val ) { |
|
| 4061 | + if(is_array($val)){ |
|
| 4062 | + $attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},'; |
|
| 4063 | + }else{ |
|
| 4064 | + $attributes .= $html ? " $key='$val' " : "'$key': '$val',"; |
|
| 4065 | + } |
|
| 4066 | + } |
|
| 4067 | 4067 | |
| 4068 | - } |
|
| 4068 | + } |
|
| 4069 | 4069 | |
| 4070 | - return $attributes; |
|
| 4071 | - } |
|
| 4070 | + return $attributes; |
|
| 4071 | + } |
|
| 4072 | 4072 | |
| 4073 | 4073 | |
| 4074 | 4074 | |
| 4075 | - /** |
|
| 4076 | - * A self looping function to create the output for JS block elements. |
|
| 4077 | - * |
|
| 4078 | - * This is what is output in the WP Editor visual view. |
|
| 4079 | - * |
|
| 4080 | - * @param $args |
|
| 4081 | - */ |
|
| 4082 | - public function block_element( $args, $save = false ) { |
|
| 4075 | + /** |
|
| 4076 | + * A self looping function to create the output for JS block elements. |
|
| 4077 | + * |
|
| 4078 | + * This is what is output in the WP Editor visual view. |
|
| 4079 | + * |
|
| 4080 | + * @param $args |
|
| 4081 | + */ |
|
| 4082 | + public function block_element( $args, $save = false ) { |
|
| 4083 | 4083 | |
| 4084 | 4084 | // print_r($args);echo '###';exit; |
| 4085 | 4085 | |
| 4086 | - if ( ! empty( $args ) ) { |
|
| 4087 | - foreach ( $args as $element => $new_args ) { |
|
| 4086 | + if ( ! empty( $args ) ) { |
|
| 4087 | + foreach ( $args as $element => $new_args ) { |
|
| 4088 | 4088 | |
| 4089 | - if ( is_array( $new_args ) ) { // its an element |
|
| 4089 | + if ( is_array( $new_args ) ) { // its an element |
|
| 4090 | 4090 | |
| 4091 | 4091 | |
| 4092 | - if ( isset( $new_args['element'] ) ) { |
|
| 4092 | + if ( isset( $new_args['element'] ) ) { |
|
| 4093 | 4093 | |
| 4094 | - if ( isset( $new_args['element_require'] ) ) { |
|
| 4095 | - echo str_replace( array( |
|
| 4096 | - "'+", |
|
| 4097 | - "+'" |
|
| 4098 | - ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " && "; |
|
| 4099 | - unset( $new_args['element_require'] ); |
|
| 4100 | - } |
|
| 4094 | + if ( isset( $new_args['element_require'] ) ) { |
|
| 4095 | + echo str_replace( array( |
|
| 4096 | + "'+", |
|
| 4097 | + "+'" |
|
| 4098 | + ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " && "; |
|
| 4099 | + unset( $new_args['element_require'] ); |
|
| 4100 | + } |
|
| 4101 | 4101 | |
| 4102 | - if($new_args['element']=='InnerBlocks'){ |
|
| 4103 | - echo "\n el( InnerBlocks, {"; |
|
| 4104 | - }elseif($new_args['element']=='innerBlocksProps'){ |
|
| 4105 | - $element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div'; |
|
| 4106 | - // echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {"; |
|
| 4102 | + if($new_args['element']=='InnerBlocks'){ |
|
| 4103 | + echo "\n el( InnerBlocks, {"; |
|
| 4104 | + }elseif($new_args['element']=='innerBlocksProps'){ |
|
| 4105 | + $element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div'; |
|
| 4106 | + // echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {"; |
|
| 4107 | 4107 | // echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( "; |
| 4108 | - echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( "; |
|
| 4109 | - echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {"; |
|
| 4110 | - echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : ''; |
|
| 4111 | - |
|
| 4112 | - echo "} ), {"; |
|
| 4113 | - echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : ''; |
|
| 4114 | - // echo '###'; |
|
| 4115 | - |
|
| 4116 | - // echo '###'; |
|
| 4117 | - }elseif($new_args['element']=='BlocksProps'){ |
|
| 4118 | - |
|
| 4119 | - if ( isset($new_args['if_inner_element']) ) { |
|
| 4120 | - $element = $new_args['if_inner_element']; |
|
| 4121 | - }else { |
|
| 4122 | - $element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'"; |
|
| 4123 | - } |
|
| 4124 | - |
|
| 4125 | - unset($new_args['inner_element']); |
|
| 4126 | - echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {"; |
|
| 4127 | - echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : ''; |
|
| 4128 | - |
|
| 4129 | - |
|
| 4130 | - // echo "} ),"; |
|
| 4131 | - |
|
| 4132 | - }else{ |
|
| 4133 | - echo "\n el( '" . $new_args['element'] . "', {"; |
|
| 4134 | - } |
|
| 4135 | - |
|
| 4136 | - |
|
| 4137 | - // get the attributes |
|
| 4138 | - foreach ( $new_args as $new_key => $new_value ) { |
|
| 4139 | - |
|
| 4140 | - |
|
| 4141 | - if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) { |
|
| 4142 | - // do nothing |
|
| 4143 | - } else { |
|
| 4144 | - echo $this->block_element( array( $new_key => $new_value ),$save ); |
|
| 4145 | - } |
|
| 4146 | - } |
|
| 4147 | - |
|
| 4148 | - echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes |
|
| 4149 | - |
|
| 4150 | - // get the content |
|
| 4151 | - $first_item = 0; |
|
| 4152 | - foreach ( $new_args as $new_key => $new_value ) { |
|
| 4153 | - if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) { |
|
| 4154 | - |
|
| 4155 | - if ( $new_key === 'content' ) { |
|
| 4156 | - echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'"; |
|
| 4157 | - }else if ( $new_key === 'if_content' ) { |
|
| 4158 | - echo $this->block_props_replace( $new_value ); |
|
| 4159 | - } |
|
| 4160 | - |
|
| 4161 | - if ( is_array( $new_value ) ) { |
|
| 4162 | - |
|
| 4163 | - if ( isset( $new_value['element_require'] ) ) { |
|
| 4164 | - echo str_replace( array( |
|
| 4165 | - "'+", |
|
| 4166 | - "+'" |
|
| 4167 | - ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " && "; |
|
| 4168 | - unset( $new_value['element_require'] ); |
|
| 4169 | - } |
|
| 4170 | - |
|
| 4171 | - if ( isset( $new_value['element_repeat'] ) ) { |
|
| 4172 | - $x = 1; |
|
| 4173 | - while ( $x <= absint( $new_value['element_repeat'] ) ) { |
|
| 4174 | - $this->block_element( array( '' => $new_value ),$save ); |
|
| 4175 | - $x ++; |
|
| 4176 | - } |
|
| 4177 | - } else { |
|
| 4178 | - $this->block_element( array( '' => $new_value ),$save ); |
|
| 4179 | - } |
|
| 4180 | - } |
|
| 4181 | - $first_item ++; |
|
| 4182 | - } |
|
| 4183 | - } |
|
| 4184 | - |
|
| 4185 | - if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){ |
|
| 4186 | - echo "))";// end content |
|
| 4187 | - }else{ |
|
| 4188 | - echo ")";// end content |
|
| 4189 | - } |
|
| 4190 | - |
|
| 4191 | - |
|
| 4192 | - echo ", \n"; |
|
| 4193 | - |
|
| 4194 | - } |
|
| 4195 | - } else { |
|
| 4196 | - |
|
| 4197 | - if ( substr( $element, 0, 3 ) === "if_" ) { |
|
| 4198 | - $extra = ''; |
|
| 4199 | - if( strpos($new_args, '[%WrapClass%]') !== false ){ |
|
| 4200 | - $new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args); |
|
| 4201 | - $new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args); |
|
| 4202 | - } |
|
| 4203 | - echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ","; |
|
| 4204 | - } elseif ( $element == 'style' && strpos($new_args, '[%WrapStyle%]') !== false ) { |
|
| 4205 | - $new_args = str_replace('[%WrapStyle%]','',$new_args); |
|
| 4206 | - echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },"; |
|
| 4108 | + echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( "; |
|
| 4109 | + echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {"; |
|
| 4110 | + echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : ''; |
|
| 4111 | + |
|
| 4112 | + echo "} ), {"; |
|
| 4113 | + echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : ''; |
|
| 4114 | + // echo '###'; |
|
| 4115 | + |
|
| 4116 | + // echo '###'; |
|
| 4117 | + }elseif($new_args['element']=='BlocksProps'){ |
|
| 4118 | + |
|
| 4119 | + if ( isset($new_args['if_inner_element']) ) { |
|
| 4120 | + $element = $new_args['if_inner_element']; |
|
| 4121 | + }else { |
|
| 4122 | + $element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'"; |
|
| 4123 | + } |
|
| 4124 | + |
|
| 4125 | + unset($new_args['inner_element']); |
|
| 4126 | + echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {"; |
|
| 4127 | + echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : ''; |
|
| 4128 | + |
|
| 4129 | + |
|
| 4130 | + // echo "} ),"; |
|
| 4131 | + |
|
| 4132 | + }else{ |
|
| 4133 | + echo "\n el( '" . $new_args['element'] . "', {"; |
|
| 4134 | + } |
|
| 4135 | + |
|
| 4136 | + |
|
| 4137 | + // get the attributes |
|
| 4138 | + foreach ( $new_args as $new_key => $new_value ) { |
|
| 4139 | + |
|
| 4140 | + |
|
| 4141 | + if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) { |
|
| 4142 | + // do nothing |
|
| 4143 | + } else { |
|
| 4144 | + echo $this->block_element( array( $new_key => $new_value ),$save ); |
|
| 4145 | + } |
|
| 4146 | + } |
|
| 4147 | + |
|
| 4148 | + echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes |
|
| 4149 | + |
|
| 4150 | + // get the content |
|
| 4151 | + $first_item = 0; |
|
| 4152 | + foreach ( $new_args as $new_key => $new_value ) { |
|
| 4153 | + if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) { |
|
| 4154 | + |
|
| 4155 | + if ( $new_key === 'content' ) { |
|
| 4156 | + echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'"; |
|
| 4157 | + }else if ( $new_key === 'if_content' ) { |
|
| 4158 | + echo $this->block_props_replace( $new_value ); |
|
| 4159 | + } |
|
| 4160 | + |
|
| 4161 | + if ( is_array( $new_value ) ) { |
|
| 4162 | + |
|
| 4163 | + if ( isset( $new_value['element_require'] ) ) { |
|
| 4164 | + echo str_replace( array( |
|
| 4165 | + "'+", |
|
| 4166 | + "+'" |
|
| 4167 | + ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " && "; |
|
| 4168 | + unset( $new_value['element_require'] ); |
|
| 4169 | + } |
|
| 4170 | + |
|
| 4171 | + if ( isset( $new_value['element_repeat'] ) ) { |
|
| 4172 | + $x = 1; |
|
| 4173 | + while ( $x <= absint( $new_value['element_repeat'] ) ) { |
|
| 4174 | + $this->block_element( array( '' => $new_value ),$save ); |
|
| 4175 | + $x ++; |
|
| 4176 | + } |
|
| 4177 | + } else { |
|
| 4178 | + $this->block_element( array( '' => $new_value ),$save ); |
|
| 4179 | + } |
|
| 4180 | + } |
|
| 4181 | + $first_item ++; |
|
| 4182 | + } |
|
| 4183 | + } |
|
| 4184 | + |
|
| 4185 | + if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){ |
|
| 4186 | + echo "))";// end content |
|
| 4187 | + }else{ |
|
| 4188 | + echo ")";// end content |
|
| 4189 | + } |
|
| 4190 | + |
|
| 4191 | + |
|
| 4192 | + echo ", \n"; |
|
| 4193 | + |
|
| 4194 | + } |
|
| 4195 | + } else { |
|
| 4196 | + |
|
| 4197 | + if ( substr( $element, 0, 3 ) === "if_" ) { |
|
| 4198 | + $extra = ''; |
|
| 4199 | + if( strpos($new_args, '[%WrapClass%]') !== false ){ |
|
| 4200 | + $new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args); |
|
| 4201 | + $new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args); |
|
| 4202 | + } |
|
| 4203 | + echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ","; |
|
| 4204 | + } elseif ( $element == 'style' && strpos($new_args, '[%WrapStyle%]') !== false ) { |
|
| 4205 | + $new_args = str_replace('[%WrapStyle%]','',$new_args); |
|
| 4206 | + echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },"; |
|
| 4207 | 4207 | // echo $element . ": " . $this->block_props_replace( $new_args ) . ","; |
| 4208 | - } elseif ( $element == 'style' ) { |
|
| 4209 | - echo $element . ": " . $this->block_props_replace( $new_args ) . ","; |
|
| 4210 | - } elseif ( ( $element == 'class' || $element == 'className' ) && strpos($new_args, '[%WrapClass%]') !== false ) { |
|
| 4211 | - $new_args = str_replace('[%WrapClass%]','',$new_args); |
|
| 4212 | - echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),"; |
|
| 4213 | - } elseif ( $element == 'template' && $new_args ) { |
|
| 4214 | - echo $element . ": $new_args,"; |
|
| 4215 | - } else { |
|
| 4216 | - echo $element . ": '" . $this->block_props_replace( $new_args ) . "',"; |
|
| 4217 | - } |
|
| 4218 | - |
|
| 4219 | - } |
|
| 4220 | - } |
|
| 4221 | - } |
|
| 4222 | - } |
|
| 4223 | - |
|
| 4224 | - /** |
|
| 4225 | - * Replace block attributes placeholders with the proper naming. |
|
| 4226 | - * |
|
| 4227 | - * @param $string |
|
| 4228 | - * |
|
| 4229 | - * @return mixed |
|
| 4230 | - */ |
|
| 4231 | - public function block_props_replace( $string, $no_wrap = false ) { |
|
| 4232 | - if ( $no_wrap ) { |
|
| 4233 | - $string = str_replace( array( "[%", "%]", "%:checked]" ), array( "props.attributes.", "", "" ), $string ); |
|
| 4234 | - } else { |
|
| 4235 | - $string = str_replace( array( "![%", "[%", "%]", "%:checked]" ), array( "'+!props.attributes.", "'+props.attributes.", "+'", "+'" ), $string ); |
|
| 4236 | - } |
|
| 4237 | - |
|
| 4238 | - return $string; |
|
| 4239 | - } |
|
| 4240 | - |
|
| 4241 | - /** |
|
| 4242 | - * Outputs the content of the widget |
|
| 4243 | - * |
|
| 4244 | - * @param array $args |
|
| 4245 | - * @param array $instance |
|
| 4246 | - */ |
|
| 4247 | - public function widget( $args, $instance ) { |
|
| 4248 | - if ( ! is_array( $args ) ) { |
|
| 4249 | - $args = array(); |
|
| 4250 | - } |
|
| 4251 | - |
|
| 4252 | - // Get the filtered values |
|
| 4253 | - $argument_values = $this->argument_values( $instance ); |
|
| 4254 | - $argument_values = $this->string_to_bool( $argument_values ); |
|
| 4255 | - $output = $this->output( $argument_values, $args ); |
|
| 4256 | - |
|
| 4257 | - $no_wrap = false; |
|
| 4258 | - if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) { |
|
| 4259 | - $no_wrap = true; |
|
| 4260 | - } |
|
| 4261 | - |
|
| 4262 | - ob_start(); |
|
| 4263 | - if ( $output && ! $no_wrap ) { |
|
| 4264 | - |
|
| 4265 | - $class_original = $this->options['widget_ops']['classname']; |
|
| 4266 | - $class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash(); |
|
| 4267 | - |
|
| 4268 | - // Before widget |
|
| 4269 | - $before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : ''; |
|
| 4270 | - $before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget; |
|
| 4271 | - $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this ); |
|
| 4272 | - $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this ); |
|
| 4273 | - |
|
| 4274 | - // After widget |
|
| 4275 | - $after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : ''; |
|
| 4276 | - $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this ); |
|
| 4277 | - $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this ); |
|
| 4278 | - |
|
| 4279 | - echo $before_widget; |
|
| 4280 | - // elementor strips the widget wrapping div so we check for and add it back if needed |
|
| 4281 | - if ( $this->is_elementor_widget_output() ) { |
|
| 4282 | - // Filter class & attrs for elementor widget output. |
|
| 4283 | - $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this ); |
|
| 4284 | - $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this ); |
|
| 4285 | - |
|
| 4286 | - $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this ); |
|
| 4287 | - $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); |
|
| 4288 | - |
|
| 4289 | - echo "<span class='" . esc_attr( $class ) . "' " . $attrs . ">"; |
|
| 4290 | - } |
|
| 4291 | - echo $this->output_title( $args, $instance ); |
|
| 4292 | - echo $output; |
|
| 4293 | - if ( $this->is_elementor_widget_output() ) { |
|
| 4294 | - echo "</span>"; |
|
| 4295 | - } |
|
| 4296 | - echo $after_widget; |
|
| 4297 | - } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty |
|
| 4298 | - $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
| 4299 | - echo $output; |
|
| 4300 | - } elseif ( $output && $no_wrap ) { |
|
| 4301 | - echo $output; |
|
| 4302 | - } |
|
| 4303 | - $output = ob_get_clean(); |
|
| 4304 | - |
|
| 4305 | - $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this ); |
|
| 4208 | + } elseif ( $element == 'style' ) { |
|
| 4209 | + echo $element . ": " . $this->block_props_replace( $new_args ) . ","; |
|
| 4210 | + } elseif ( ( $element == 'class' || $element == 'className' ) && strpos($new_args, '[%WrapClass%]') !== false ) { |
|
| 4211 | + $new_args = str_replace('[%WrapClass%]','',$new_args); |
|
| 4212 | + echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),"; |
|
| 4213 | + } elseif ( $element == 'template' && $new_args ) { |
|
| 4214 | + echo $element . ": $new_args,"; |
|
| 4215 | + } else { |
|
| 4216 | + echo $element . ": '" . $this->block_props_replace( $new_args ) . "',"; |
|
| 4217 | + } |
|
| 4218 | + |
|
| 4219 | + } |
|
| 4220 | + } |
|
| 4221 | + } |
|
| 4222 | + } |
|
| 4306 | 4223 | |
| 4307 | - echo $output; |
|
| 4308 | - } |
|
| 4224 | + /** |
|
| 4225 | + * Replace block attributes placeholders with the proper naming. |
|
| 4226 | + * |
|
| 4227 | + * @param $string |
|
| 4228 | + * |
|
| 4229 | + * @return mixed |
|
| 4230 | + */ |
|
| 4231 | + public function block_props_replace( $string, $no_wrap = false ) { |
|
| 4232 | + if ( $no_wrap ) { |
|
| 4233 | + $string = str_replace( array( "[%", "%]", "%:checked]" ), array( "props.attributes.", "", "" ), $string ); |
|
| 4234 | + } else { |
|
| 4235 | + $string = str_replace( array( "![%", "[%", "%]", "%:checked]" ), array( "'+!props.attributes.", "'+props.attributes.", "+'", "+'" ), $string ); |
|
| 4236 | + } |
|
| 4237 | + |
|
| 4238 | + return $string; |
|
| 4239 | + } |
|
| 4309 | 4240 | |
| 4310 | - /** |
|
| 4311 | - * Tests if the current output is inside a elementor container. |
|
| 4312 | - * |
|
| 4313 | - * @return bool |
|
| 4314 | - *@since 1.0.4 |
|
| 4315 | - */ |
|
| 4316 | - public function is_elementor_widget_output() { |
|
| 4317 | - $result = false; |
|
| 4318 | - if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) { |
|
| 4319 | - $result = true; |
|
| 4320 | - } |
|
| 4241 | + /** |
|
| 4242 | + * Outputs the content of the widget |
|
| 4243 | + * |
|
| 4244 | + * @param array $args |
|
| 4245 | + * @param array $instance |
|
| 4246 | + */ |
|
| 4247 | + public function widget( $args, $instance ) { |
|
| 4248 | + if ( ! is_array( $args ) ) { |
|
| 4249 | + $args = array(); |
|
| 4250 | + } |
|
| 4251 | + |
|
| 4252 | + // Get the filtered values |
|
| 4253 | + $argument_values = $this->argument_values( $instance ); |
|
| 4254 | + $argument_values = $this->string_to_bool( $argument_values ); |
|
| 4255 | + $output = $this->output( $argument_values, $args ); |
|
| 4256 | + |
|
| 4257 | + $no_wrap = false; |
|
| 4258 | + if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) { |
|
| 4259 | + $no_wrap = true; |
|
| 4260 | + } |
|
| 4261 | + |
|
| 4262 | + ob_start(); |
|
| 4263 | + if ( $output && ! $no_wrap ) { |
|
| 4264 | + |
|
| 4265 | + $class_original = $this->options['widget_ops']['classname']; |
|
| 4266 | + $class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash(); |
|
| 4267 | + |
|
| 4268 | + // Before widget |
|
| 4269 | + $before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : ''; |
|
| 4270 | + $before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget; |
|
| 4271 | + $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this ); |
|
| 4272 | + $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this ); |
|
| 4273 | + |
|
| 4274 | + // After widget |
|
| 4275 | + $after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : ''; |
|
| 4276 | + $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this ); |
|
| 4277 | + $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this ); |
|
| 4278 | + |
|
| 4279 | + echo $before_widget; |
|
| 4280 | + // elementor strips the widget wrapping div so we check for and add it back if needed |
|
| 4281 | + if ( $this->is_elementor_widget_output() ) { |
|
| 4282 | + // Filter class & attrs for elementor widget output. |
|
| 4283 | + $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this ); |
|
| 4284 | + $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this ); |
|
| 4285 | + |
|
| 4286 | + $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this ); |
|
| 4287 | + $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); |
|
| 4288 | + |
|
| 4289 | + echo "<span class='" . esc_attr( $class ) . "' " . $attrs . ">"; |
|
| 4290 | + } |
|
| 4291 | + echo $this->output_title( $args, $instance ); |
|
| 4292 | + echo $output; |
|
| 4293 | + if ( $this->is_elementor_widget_output() ) { |
|
| 4294 | + echo "</span>"; |
|
| 4295 | + } |
|
| 4296 | + echo $after_widget; |
|
| 4297 | + } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty |
|
| 4298 | + $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
| 4299 | + echo $output; |
|
| 4300 | + } elseif ( $output && $no_wrap ) { |
|
| 4301 | + echo $output; |
|
| 4302 | + } |
|
| 4303 | + $output = ob_get_clean(); |
|
| 4304 | + |
|
| 4305 | + $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this ); |
|
| 4306 | + |
|
| 4307 | + echo $output; |
|
| 4308 | + } |
|
| 4321 | 4309 | |
| 4322 | - return $result; |
|
| 4323 | - } |
|
| 4310 | + /** |
|
| 4311 | + * Tests if the current output is inside a elementor container. |
|
| 4312 | + * |
|
| 4313 | + * @return bool |
|
| 4314 | + *@since 1.0.4 |
|
| 4315 | + */ |
|
| 4316 | + public function is_elementor_widget_output() { |
|
| 4317 | + $result = false; |
|
| 4318 | + if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) { |
|
| 4319 | + $result = true; |
|
| 4320 | + } |
|
| 4324 | 4321 | |
| 4325 | - /** |
|
| 4326 | - * Tests if the current output is inside a elementor preview. |
|
| 4327 | - * |
|
| 4328 | - * @return bool |
|
| 4329 | - *@since 1.0.4 |
|
| 4330 | - */ |
|
| 4331 | - public function is_elementor_preview() { |
|
| 4332 | - $result = false; |
|
| 4333 | - if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) { |
|
| 4334 | - $result = true; |
|
| 4335 | - } |
|
| 4322 | + return $result; |
|
| 4323 | + } |
|
| 4336 | 4324 | |
| 4337 | - return $result; |
|
| 4338 | - } |
|
| 4325 | + /** |
|
| 4326 | + * Tests if the current output is inside a elementor preview. |
|
| 4327 | + * |
|
| 4328 | + * @return bool |
|
| 4329 | + *@since 1.0.4 |
|
| 4330 | + */ |
|
| 4331 | + public function is_elementor_preview() { |
|
| 4332 | + $result = false; |
|
| 4333 | + if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) { |
|
| 4334 | + $result = true; |
|
| 4335 | + } |
|
| 4339 | 4336 | |
| 4340 | - /** |
|
| 4341 | - * Tests if the current output is inside a Divi preview. |
|
| 4342 | - * |
|
| 4343 | - * @return bool |
|
| 4344 | - *@since 1.0.6 |
|
| 4345 | - */ |
|
| 4346 | - public function is_divi_preview() { |
|
| 4347 | - $result = false; |
|
| 4348 | - if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) { |
|
| 4349 | - $result = true; |
|
| 4350 | - } |
|
| 4337 | + return $result; |
|
| 4338 | + } |
|
| 4351 | 4339 | |
| 4352 | - return $result; |
|
| 4353 | - } |
|
| 4340 | + /** |
|
| 4341 | + * Tests if the current output is inside a Divi preview. |
|
| 4342 | + * |
|
| 4343 | + * @return bool |
|
| 4344 | + *@since 1.0.6 |
|
| 4345 | + */ |
|
| 4346 | + public function is_divi_preview() { |
|
| 4347 | + $result = false; |
|
| 4348 | + if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) { |
|
| 4349 | + $result = true; |
|
| 4350 | + } |
|
| 4354 | 4351 | |
| 4355 | - /** |
|
| 4356 | - * Tests if the current output is inside a Beaver builder preview. |
|
| 4357 | - * |
|
| 4358 | - * @return bool |
|
| 4359 | - *@since 1.0.6 |
|
| 4360 | - */ |
|
| 4361 | - public function is_beaver_preview() { |
|
| 4362 | - $result = false; |
|
| 4363 | - if ( isset( $_REQUEST['fl_builder'] ) ) { |
|
| 4364 | - $result = true; |
|
| 4365 | - } |
|
| 4352 | + return $result; |
|
| 4353 | + } |
|
| 4366 | 4354 | |
| 4367 | - return $result; |
|
| 4368 | - } |
|
| 4355 | + /** |
|
| 4356 | + * Tests if the current output is inside a Beaver builder preview. |
|
| 4357 | + * |
|
| 4358 | + * @return bool |
|
| 4359 | + *@since 1.0.6 |
|
| 4360 | + */ |
|
| 4361 | + public function is_beaver_preview() { |
|
| 4362 | + $result = false; |
|
| 4363 | + if ( isset( $_REQUEST['fl_builder'] ) ) { |
|
| 4364 | + $result = true; |
|
| 4365 | + } |
|
| 4369 | 4366 | |
| 4370 | - /** |
|
| 4371 | - * Tests if the current output is inside a siteorigin builder preview. |
|
| 4372 | - * |
|
| 4373 | - * @return bool |
|
| 4374 | - *@since 1.0.6 |
|
| 4375 | - */ |
|
| 4376 | - public function is_siteorigin_preview() { |
|
| 4377 | - $result = false; |
|
| 4378 | - if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) { |
|
| 4379 | - $result = true; |
|
| 4380 | - } |
|
| 4367 | + return $result; |
|
| 4368 | + } |
|
| 4381 | 4369 | |
| 4382 | - return $result; |
|
| 4383 | - } |
|
| 4370 | + /** |
|
| 4371 | + * Tests if the current output is inside a siteorigin builder preview. |
|
| 4372 | + * |
|
| 4373 | + * @return bool |
|
| 4374 | + *@since 1.0.6 |
|
| 4375 | + */ |
|
| 4376 | + public function is_siteorigin_preview() { |
|
| 4377 | + $result = false; |
|
| 4378 | + if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) { |
|
| 4379 | + $result = true; |
|
| 4380 | + } |
|
| 4384 | 4381 | |
| 4385 | - /** |
|
| 4386 | - * Tests if the current output is inside a cornerstone builder preview. |
|
| 4387 | - * |
|
| 4388 | - * @return bool |
|
| 4389 | - *@since 1.0.8 |
|
| 4390 | - */ |
|
| 4391 | - public function is_cornerstone_preview() { |
|
| 4392 | - $result = false; |
|
| 4393 | - if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) { |
|
| 4394 | - $result = true; |
|
| 4395 | - } |
|
| 4382 | + return $result; |
|
| 4383 | + } |
|
| 4396 | 4384 | |
| 4397 | - return $result; |
|
| 4398 | - } |
|
| 4385 | + /** |
|
| 4386 | + * Tests if the current output is inside a cornerstone builder preview. |
|
| 4387 | + * |
|
| 4388 | + * @return bool |
|
| 4389 | + *@since 1.0.8 |
|
| 4390 | + */ |
|
| 4391 | + public function is_cornerstone_preview() { |
|
| 4392 | + $result = false; |
|
| 4393 | + if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) { |
|
| 4394 | + $result = true; |
|
| 4395 | + } |
|
| 4399 | 4396 | |
| 4400 | - /** |
|
| 4401 | - * Tests if the current output is inside a fusion builder preview. |
|
| 4402 | - * |
|
| 4403 | - * @return bool |
|
| 4404 | - *@since 1.1.0 |
|
| 4405 | - */ |
|
| 4406 | - public function is_fusion_preview() { |
|
| 4407 | - $result = false; |
|
| 4408 | - if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) { |
|
| 4409 | - $result = true; |
|
| 4410 | - } |
|
| 4397 | + return $result; |
|
| 4398 | + } |
|
| 4411 | 4399 | |
| 4412 | - return $result; |
|
| 4413 | - } |
|
| 4400 | + /** |
|
| 4401 | + * Tests if the current output is inside a fusion builder preview. |
|
| 4402 | + * |
|
| 4403 | + * @return bool |
|
| 4404 | + *@since 1.1.0 |
|
| 4405 | + */ |
|
| 4406 | + public function is_fusion_preview() { |
|
| 4407 | + $result = false; |
|
| 4408 | + if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) { |
|
| 4409 | + $result = true; |
|
| 4410 | + } |
|
| 4414 | 4411 | |
| 4415 | - /** |
|
| 4416 | - * Tests if the current output is inside a Oxygen builder preview. |
|
| 4417 | - * |
|
| 4418 | - * @return bool |
|
| 4419 | - *@since 1.0.18 |
|
| 4420 | - */ |
|
| 4421 | - public function is_oxygen_preview() { |
|
| 4422 | - $result = false; |
|
| 4423 | - if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) { |
|
| 4424 | - $result = true; |
|
| 4425 | - } |
|
| 4412 | + return $result; |
|
| 4413 | + } |
|
| 4426 | 4414 | |
| 4427 | - return $result; |
|
| 4428 | - } |
|
| 4415 | + /** |
|
| 4416 | + * Tests if the current output is inside a Oxygen builder preview. |
|
| 4417 | + * |
|
| 4418 | + * @return bool |
|
| 4419 | + *@since 1.0.18 |
|
| 4420 | + */ |
|
| 4421 | + public function is_oxygen_preview() { |
|
| 4422 | + $result = false; |
|
| 4423 | + if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) { |
|
| 4424 | + $result = true; |
|
| 4425 | + } |
|
| 4429 | 4426 | |
| 4430 | - /** |
|
| 4431 | - * Check for Kallyas theme Zion builder preview. |
|
| 4432 | - * |
|
| 4433 | - * @since 1.1.22 |
|
| 4434 | - * |
|
| 4435 | - * @return bool True when preview page otherwise false. |
|
| 4436 | - */ |
|
| 4437 | - public function is_kallyas_zion_preview() { |
|
| 4438 | - $result = false; |
|
| 4439 | - |
|
| 4440 | - if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) { |
|
| 4441 | - $result = true; |
|
| 4442 | - } |
|
| 4427 | + return $result; |
|
| 4428 | + } |
|
| 4443 | 4429 | |
| 4444 | - return $result; |
|
| 4445 | - } |
|
| 4430 | + /** |
|
| 4431 | + * Check for Kallyas theme Zion builder preview. |
|
| 4432 | + * |
|
| 4433 | + * @since 1.1.22 |
|
| 4434 | + * |
|
| 4435 | + * @return bool True when preview page otherwise false. |
|
| 4436 | + */ |
|
| 4437 | + public function is_kallyas_zion_preview() { |
|
| 4438 | + $result = false; |
|
| 4446 | 4439 | |
| 4447 | - /** |
|
| 4448 | - * Check for Bricks theme builder preview. |
|
| 4449 | - * |
|
| 4450 | - * @since 1.1.31 |
|
| 4451 | - * |
|
| 4452 | - * @return bool True when preview page otherwise false. |
|
| 4453 | - */ |
|
| 4454 | - public function is_bricks_preview() { |
|
| 4455 | - $result = false; |
|
| 4456 | - |
|
| 4457 | - if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) { |
|
| 4458 | - $result = true; |
|
| 4459 | - } |
|
| 4440 | + if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) { |
|
| 4441 | + $result = true; |
|
| 4442 | + } |
|
| 4460 | 4443 | |
| 4461 | - return $result; |
|
| 4462 | - } |
|
| 4444 | + return $result; |
|
| 4445 | + } |
|
| 4463 | 4446 | |
| 4464 | - /** |
|
| 4465 | - * General function to check if we are in a preview situation. |
|
| 4466 | - * |
|
| 4467 | - * @return bool |
|
| 4468 | - *@since 1.0.6 |
|
| 4469 | - */ |
|
| 4470 | - public function is_preview() { |
|
| 4471 | - $preview = false; |
|
| 4472 | - if ( $this->is_divi_preview() ) { |
|
| 4473 | - $preview = true; |
|
| 4474 | - } elseif ( $this->is_elementor_preview() ) { |
|
| 4475 | - $preview = true; |
|
| 4476 | - } elseif ( $this->is_beaver_preview() ) { |
|
| 4477 | - $preview = true; |
|
| 4478 | - } elseif ( $this->is_siteorigin_preview() ) { |
|
| 4479 | - $preview = true; |
|
| 4480 | - } elseif ( $this->is_cornerstone_preview() ) { |
|
| 4481 | - $preview = true; |
|
| 4482 | - } elseif ( $this->is_fusion_preview() ) { |
|
| 4483 | - $preview = true; |
|
| 4484 | - } elseif ( $this->is_oxygen_preview() ) { |
|
| 4485 | - $preview = true; |
|
| 4486 | - } elseif( $this->is_kallyas_zion_preview() ) { |
|
| 4487 | - $preview = true; |
|
| 4488 | - } elseif( $this->is_block_content_call() ) { |
|
| 4489 | - $preview = true; |
|
| 4490 | - } elseif( $this->is_bricks_preview() ) { |
|
| 4491 | - $preview = true; |
|
| 4492 | - } |
|
| 4447 | + /** |
|
| 4448 | + * Check for Bricks theme builder preview. |
|
| 4449 | + * |
|
| 4450 | + * @since 1.1.31 |
|
| 4451 | + * |
|
| 4452 | + * @return bool True when preview page otherwise false. |
|
| 4453 | + */ |
|
| 4454 | + public function is_bricks_preview() { |
|
| 4455 | + $result = false; |
|
| 4493 | 4456 | |
| 4494 | - return $preview; |
|
| 4495 | - } |
|
| 4457 | + if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) { |
|
| 4458 | + $result = true; |
|
| 4459 | + } |
|
| 4496 | 4460 | |
| 4497 | - /** |
|
| 4498 | - * Output the super title. |
|
| 4499 | - * |
|
| 4500 | - * @param $args |
|
| 4501 | - * @param array $instance |
|
| 4502 | - * |
|
| 4503 | - * @return string |
|
| 4504 | - */ |
|
| 4505 | - public function output_title( $args, $instance = array() ) { |
|
| 4506 | - $output = ''; |
|
| 4507 | - if ( ! empty( $instance['title'] ) ) { |
|
| 4508 | - /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */ |
|
| 4509 | - $title = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ); |
|
| 4510 | - |
|
| 4511 | - if ( empty( $instance['widget_title_tag'] ) ) { |
|
| 4512 | - if ( ! isset( $args['before_title'] ) ) { |
|
| 4513 | - $args['before_title'] = ''; |
|
| 4514 | - } |
|
| 4461 | + return $result; |
|
| 4462 | + } |
|
| 4515 | 4463 | |
| 4516 | - if ( ! isset( $args['after_title'] ) ) { |
|
| 4517 | - $args['after_title'] = ''; |
|
| 4518 | - } |
|
| 4464 | + /** |
|
| 4465 | + * General function to check if we are in a preview situation. |
|
| 4466 | + * |
|
| 4467 | + * @return bool |
|
| 4468 | + *@since 1.0.6 |
|
| 4469 | + */ |
|
| 4470 | + public function is_preview() { |
|
| 4471 | + $preview = false; |
|
| 4472 | + if ( $this->is_divi_preview() ) { |
|
| 4473 | + $preview = true; |
|
| 4474 | + } elseif ( $this->is_elementor_preview() ) { |
|
| 4475 | + $preview = true; |
|
| 4476 | + } elseif ( $this->is_beaver_preview() ) { |
|
| 4477 | + $preview = true; |
|
| 4478 | + } elseif ( $this->is_siteorigin_preview() ) { |
|
| 4479 | + $preview = true; |
|
| 4480 | + } elseif ( $this->is_cornerstone_preview() ) { |
|
| 4481 | + $preview = true; |
|
| 4482 | + } elseif ( $this->is_fusion_preview() ) { |
|
| 4483 | + $preview = true; |
|
| 4484 | + } elseif ( $this->is_oxygen_preview() ) { |
|
| 4485 | + $preview = true; |
|
| 4486 | + } elseif( $this->is_kallyas_zion_preview() ) { |
|
| 4487 | + $preview = true; |
|
| 4488 | + } elseif( $this->is_block_content_call() ) { |
|
| 4489 | + $preview = true; |
|
| 4490 | + } elseif( $this->is_bricks_preview() ) { |
|
| 4491 | + $preview = true; |
|
| 4492 | + } |
|
| 4493 | + |
|
| 4494 | + return $preview; |
|
| 4495 | + } |
|
| 4519 | 4496 | |
| 4520 | - $output = $args['before_title'] . $title . $args['after_title']; |
|
| 4521 | - } else { |
|
| 4522 | - $tag = esc_attr( $instance['widget_title_tag'] ); |
|
| 4523 | - $allowed_tags = array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'span', 'div', 'p' ); |
|
| 4524 | - $title_tag = in_array( $tag, $allowed_tags, true ) ? esc_attr( $tag ) : 'h2'; |
|
| 4525 | - |
|
| 4526 | - // classes |
|
| 4527 | - $title_classes = array(); |
|
| 4528 | - $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : ''; |
|
| 4529 | - $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : ''; |
|
| 4530 | - $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : ''; |
|
| 4531 | - $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : ''; |
|
| 4532 | - $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : ''; |
|
| 4533 | - $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : ''; |
|
| 4534 | - $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : ''; |
|
| 4535 | - $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : ''; |
|
| 4536 | - $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : ''; |
|
| 4537 | - $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : ''; |
|
| 4538 | - $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : ''; |
|
| 4539 | - $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : ''; |
|
| 4540 | - $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : ''; |
|
| 4541 | - |
|
| 4542 | - $class = !empty( $title_classes ) ? implode(" ",$title_classes) : ''; |
|
| 4543 | - $output = "<$title_tag class='$class' >$title</$title_tag>"; |
|
| 4544 | - } |
|
| 4497 | + /** |
|
| 4498 | + * Output the super title. |
|
| 4499 | + * |
|
| 4500 | + * @param $args |
|
| 4501 | + * @param array $instance |
|
| 4502 | + * |
|
| 4503 | + * @return string |
|
| 4504 | + */ |
|
| 4505 | + public function output_title( $args, $instance = array() ) { |
|
| 4506 | + $output = ''; |
|
| 4507 | + if ( ! empty( $instance['title'] ) ) { |
|
| 4508 | + /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */ |
|
| 4509 | + $title = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ); |
|
| 4510 | + |
|
| 4511 | + if ( empty( $instance['widget_title_tag'] ) ) { |
|
| 4512 | + if ( ! isset( $args['before_title'] ) ) { |
|
| 4513 | + $args['before_title'] = ''; |
|
| 4514 | + } |
|
| 4515 | + |
|
| 4516 | + if ( ! isset( $args['after_title'] ) ) { |
|
| 4517 | + $args['after_title'] = ''; |
|
| 4518 | + } |
|
| 4519 | + |
|
| 4520 | + $output = $args['before_title'] . $title . $args['after_title']; |
|
| 4521 | + } else { |
|
| 4522 | + $tag = esc_attr( $instance['widget_title_tag'] ); |
|
| 4523 | + $allowed_tags = array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'span', 'div', 'p' ); |
|
| 4524 | + $title_tag = in_array( $tag, $allowed_tags, true ) ? esc_attr( $tag ) : 'h2'; |
|
| 4525 | + |
|
| 4526 | + // classes |
|
| 4527 | + $title_classes = array(); |
|
| 4528 | + $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : ''; |
|
| 4529 | + $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : ''; |
|
| 4530 | + $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : ''; |
|
| 4531 | + $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : ''; |
|
| 4532 | + $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : ''; |
|
| 4533 | + $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : ''; |
|
| 4534 | + $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : ''; |
|
| 4535 | + $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : ''; |
|
| 4536 | + $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : ''; |
|
| 4537 | + $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : ''; |
|
| 4538 | + $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : ''; |
|
| 4539 | + $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : ''; |
|
| 4540 | + $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : ''; |
|
| 4541 | + |
|
| 4542 | + $class = !empty( $title_classes ) ? implode(" ",$title_classes) : ''; |
|
| 4543 | + $output = "<$title_tag class='$class' >$title</$title_tag>"; |
|
| 4544 | + } |
|
| 4545 | 4545 | |
| 4546 | - } |
|
| 4546 | + } |
|
| 4547 | 4547 | |
| 4548 | - return $output; |
|
| 4549 | - } |
|
| 4548 | + return $output; |
|
| 4549 | + } |
|
| 4550 | 4550 | |
| 4551 | - /** |
|
| 4552 | - * Outputs the options form inputs for the widget. |
|
| 4553 | - * |
|
| 4554 | - * @param array $instance The widget options. |
|
| 4555 | - */ |
|
| 4556 | - public function form( $instance ) { |
|
| 4551 | + /** |
|
| 4552 | + * Outputs the options form inputs for the widget. |
|
| 4553 | + * |
|
| 4554 | + * @param array $instance The widget options. |
|
| 4555 | + */ |
|
| 4556 | + public function form( $instance ) { |
|
| 4557 | 4557 | |
| 4558 | - // set widget instance |
|
| 4559 | - $this->instance = $instance; |
|
| 4558 | + // set widget instance |
|
| 4559 | + $this->instance = $instance; |
|
| 4560 | 4560 | |
| 4561 | - // set it as a SD widget |
|
| 4562 | - echo $this->widget_advanced_toggle(); |
|
| 4561 | + // set it as a SD widget |
|
| 4562 | + echo $this->widget_advanced_toggle(); |
|
| 4563 | 4563 | |
| 4564 | - echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>"; |
|
| 4565 | - $arguments_raw = $this->get_arguments(); |
|
| 4564 | + echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>"; |
|
| 4565 | + $arguments_raw = $this->get_arguments(); |
|
| 4566 | 4566 | |
| 4567 | - if ( is_array( $arguments_raw ) ) { |
|
| 4567 | + if ( is_array( $arguments_raw ) ) { |
|
| 4568 | 4568 | |
| 4569 | - $arguments = $this->group_arguments( $arguments_raw ); |
|
| 4569 | + $arguments = $this->group_arguments( $arguments_raw ); |
|
| 4570 | 4570 | |
| 4571 | - // Do we have sections? |
|
| 4572 | - $has_sections = $arguments == $arguments_raw ? false : true; |
|
| 4571 | + // Do we have sections? |
|
| 4572 | + $has_sections = $arguments == $arguments_raw ? false : true; |
|
| 4573 | 4573 | |
| 4574 | 4574 | |
| 4575 | - if ( $has_sections ) { |
|
| 4576 | - $panel_count = 0; |
|
| 4577 | - foreach ( $arguments as $key => $args ) { |
|
| 4575 | + if ( $has_sections ) { |
|
| 4576 | + $panel_count = 0; |
|
| 4577 | + foreach ( $arguments as $key => $args ) { |
|
| 4578 | 4578 | |
| 4579 | - ?> |
|
| 4579 | + ?> |
|
| 4580 | 4580 | <script> |
| 4581 | 4581 | // jQuery(this).find("i").toggleClass("fas fa-chevron-up fas fa-chevron-down");jQuery(this).next().toggle(); |
| 4582 | 4582 | </script> |
| 4583 | 4583 | <?php |
| 4584 | 4584 | |
| 4585 | - $hide = $panel_count ? ' style="display:none;" ' : ''; |
|
| 4586 | - $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down'; |
|
| 4587 | - echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>"; |
|
| 4588 | - echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>"; |
|
| 4585 | + $hide = $panel_count ? ' style="display:none;" ' : ''; |
|
| 4586 | + $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down'; |
|
| 4587 | + echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>"; |
|
| 4588 | + echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>"; |
|
| 4589 | 4589 | |
| 4590 | - foreach ( $args as $k => $a ) { |
|
| 4590 | + foreach ( $args as $k => $a ) { |
|
| 4591 | 4591 | |
| 4592 | - $this->widget_inputs_row_start($k, $a); |
|
| 4593 | - $this->widget_inputs( $a, $instance ); |
|
| 4594 | - $this->widget_inputs_row_end($k, $a); |
|
| 4592 | + $this->widget_inputs_row_start($k, $a); |
|
| 4593 | + $this->widget_inputs( $a, $instance ); |
|
| 4594 | + $this->widget_inputs_row_end($k, $a); |
|
| 4595 | 4595 | |
| 4596 | - } |
|
| 4596 | + } |
|
| 4597 | 4597 | |
| 4598 | - echo "</div>"; |
|
| 4598 | + echo "</div>"; |
|
| 4599 | 4599 | |
| 4600 | - $panel_count ++; |
|
| 4600 | + $panel_count ++; |
|
| 4601 | 4601 | |
| 4602 | - } |
|
| 4603 | - } else { |
|
| 4604 | - foreach ( $arguments as $key => $args ) { |
|
| 4605 | - $this->widget_inputs_row_start($key, $args); |
|
| 4606 | - $this->widget_inputs( $args, $instance ); |
|
| 4607 | - $this->widget_inputs_row_end($key, $args); |
|
| 4608 | - } |
|
| 4609 | - } |
|
| 4602 | + } |
|
| 4603 | + } else { |
|
| 4604 | + foreach ( $arguments as $key => $args ) { |
|
| 4605 | + $this->widget_inputs_row_start($key, $args); |
|
| 4606 | + $this->widget_inputs( $args, $instance ); |
|
| 4607 | + $this->widget_inputs_row_end($key, $args); |
|
| 4608 | + } |
|
| 4609 | + } |
|
| 4610 | 4610 | |
| 4611 | - } |
|
| 4612 | - } |
|
| 4611 | + } |
|
| 4612 | + } |
|
| 4613 | 4613 | |
| 4614 | - public function widget_inputs_row_start( $key, $args ) { |
|
| 4615 | - if ( ! empty( $args['row'] ) ) { |
|
| 4616 | - // Maybe open |
|
| 4617 | - if ( ! empty( $args['row']['open'] ) ) { |
|
| 4618 | - ?> |
|
| 4614 | + public function widget_inputs_row_start( $key, $args ) { |
|
| 4615 | + if ( ! empty( $args['row'] ) ) { |
|
| 4616 | + // Maybe open |
|
| 4617 | + if ( ! empty( $args['row']['open'] ) ) { |
|
| 4618 | + ?> |
|
| 4619 | 4619 | <div class='bsui sd-argument' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php echo ( ! empty( $args['row']['element_require'] ) ? $this->convert_element_require( $args['row']['element_require'] ) : '' ); ?>'> |
| 4620 | 4620 | <?php if ( ! empty( $args['row']['title'] ) ) { ?> |
| 4621 | 4621 | <?php |
| 4622 | - if ( isset( $args['row']['icon'] ) ) { |
|
| 4623 | - $args['row']['icon'] = ''; |
|
| 4624 | - } |
|
| 4625 | - |
|
| 4626 | - if ( ! isset( $args['row']['device_type'] ) && isset( $args['device_type'] ) ) { |
|
| 4627 | - $args['row']['device_type'] = $args['device_type']; |
|
| 4628 | - } |
|
| 4629 | - ?> |
|
| 4622 | + if ( isset( $args['row']['icon'] ) ) { |
|
| 4623 | + $args['row']['icon'] = ''; |
|
| 4624 | + } |
|
| 4625 | + |
|
| 4626 | + if ( ! isset( $args['row']['device_type'] ) && isset( $args['device_type'] ) ) { |
|
| 4627 | + $args['row']['device_type'] = $args['device_type']; |
|
| 4628 | + } |
|
| 4629 | + ?> |
|
| 4630 | 4630 | <label class="mb-0"><?php echo $this->widget_field_title( $args['row'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label> |
| 4631 | 4631 | <?php } ?> |
| 4632 | 4632 | <div class='row<?php echo ( ! empty( $args['row']['class'] ) ? ' ' . esc_attr( $args['row']['class'] ) : '' ); ?>'> |
| 4633 | 4633 | <div class='col pr-2'> |
| 4634 | 4634 | <?php |
| 4635 | - } else if ( ! empty( $args['row']['close'] ) ) { |
|
| 4636 | - echo "<div class='col pl-0 ps-0'>"; |
|
| 4637 | - } else { |
|
| 4638 | - echo "<div class='col pl-0 ps-0 pr-2 pe-2'>"; |
|
| 4639 | - } |
|
| 4640 | - } |
|
| 4641 | - } |
|
| 4642 | - |
|
| 4643 | - public function widget_inputs_row_end( $key, $args ) { |
|
| 4644 | - if ( ! empty( $args['row'] ) ) { |
|
| 4645 | - // Maybe close |
|
| 4646 | - if ( ! empty( $args['row']['close'] ) ) { |
|
| 4647 | - echo "</div></div>"; |
|
| 4648 | - } |
|
| 4649 | - echo "</div>"; |
|
| 4650 | - } |
|
| 4651 | - } |
|
| 4652 | - |
|
| 4653 | - /** |
|
| 4654 | - * Get the hidden input that when added makes the advanced button show on widget settings. |
|
| 4655 | - * |
|
| 4656 | - * @return string |
|
| 4657 | - */ |
|
| 4658 | - public function widget_advanced_toggle() { |
|
| 4659 | - |
|
| 4660 | - $output = ''; |
|
| 4661 | - if ( $this->block_show_advanced() ) { |
|
| 4662 | - $val = 1; |
|
| 4663 | - } else { |
|
| 4664 | - $val = 0; |
|
| 4665 | - } |
|
| 4635 | + } else if ( ! empty( $args['row']['close'] ) ) { |
|
| 4636 | + echo "<div class='col pl-0 ps-0'>"; |
|
| 4637 | + } else { |
|
| 4638 | + echo "<div class='col pl-0 ps-0 pr-2 pe-2'>"; |
|
| 4639 | + } |
|
| 4640 | + } |
|
| 4641 | + } |
|
| 4666 | 4642 | |
| 4667 | - $output .= "<input type='hidden' class='sd-show-advanced' value='$val' />"; |
|
| 4643 | + public function widget_inputs_row_end( $key, $args ) { |
|
| 4644 | + if ( ! empty( $args['row'] ) ) { |
|
| 4645 | + // Maybe close |
|
| 4646 | + if ( ! empty( $args['row']['close'] ) ) { |
|
| 4647 | + echo "</div></div>"; |
|
| 4648 | + } |
|
| 4649 | + echo "</div>"; |
|
| 4650 | + } |
|
| 4651 | + } |
|
| 4668 | 4652 | |
| 4669 | - return $output; |
|
| 4670 | - } |
|
| 4653 | + /** |
|
| 4654 | + * Get the hidden input that when added makes the advanced button show on widget settings. |
|
| 4655 | + * |
|
| 4656 | + * @return string |
|
| 4657 | + */ |
|
| 4658 | + public function widget_advanced_toggle() { |
|
| 4671 | 4659 | |
| 4672 | - /** |
|
| 4673 | - * Convert require element. |
|
| 4674 | - * |
|
| 4675 | - * @param string $input Input element. |
|
| 4676 | - * |
|
| 4677 | - * @return string $output |
|
| 4678 | - *@since 1.0.0 |
|
| 4679 | - * |
|
| 4680 | - */ |
|
| 4681 | - public function convert_element_require( $input ) { |
|
| 4682 | - $input = str_replace( "'", '"', $input );// we only want double quotes |
|
| 4683 | - |
|
| 4684 | - $output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array( |
|
| 4685 | - "jQuery(form).find('[data-argument=\"", |
|
| 4686 | - "\"]').find('input,select,textarea').val()", |
|
| 4687 | - "\"]').find('input:checked').val()" |
|
| 4688 | - ), $input ) ); |
|
| 4689 | - |
|
| 4690 | - return $output; |
|
| 4691 | - } |
|
| 4660 | + $output = ''; |
|
| 4661 | + if ( $this->block_show_advanced() ) { |
|
| 4662 | + $val = 1; |
|
| 4663 | + } else { |
|
| 4664 | + $val = 0; |
|
| 4665 | + } |
|
| 4692 | 4666 | |
| 4693 | - /** |
|
| 4694 | - * Builds the inputs for the widget options. |
|
| 4695 | - * |
|
| 4696 | - * @param $args |
|
| 4697 | - * @param $instance |
|
| 4698 | - */ |
|
| 4699 | - public function widget_inputs( $args, $instance ) { |
|
| 4700 | - |
|
| 4701 | - $class = ""; |
|
| 4702 | - $element_require = ""; |
|
| 4703 | - $custom_attributes = ""; |
|
| 4704 | - |
|
| 4705 | - // get value |
|
| 4706 | - if ( isset( $instance[ $args['name'] ] ) ) { |
|
| 4707 | - $value = $instance[ $args['name'] ]; |
|
| 4708 | - } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) { |
|
| 4709 | - $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] ); |
|
| 4710 | - } else { |
|
| 4711 | - $value = ''; |
|
| 4712 | - } |
|
| 4667 | + $output .= "<input type='hidden' class='sd-show-advanced' value='$val' />"; |
|
| 4713 | 4668 | |
| 4714 | - // get placeholder |
|
| 4715 | - if ( ! empty( $args['placeholder'] ) ) { |
|
| 4716 | - $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'"; |
|
| 4717 | - } else { |
|
| 4718 | - $placeholder = ''; |
|
| 4719 | - } |
|
| 4669 | + return $output; |
|
| 4670 | + } |
|
| 4720 | 4671 | |
| 4721 | - // get if advanced |
|
| 4722 | - if ( isset( $args['advanced'] ) && $args['advanced'] ) { |
|
| 4723 | - $class .= " sd-advanced-setting "; |
|
| 4724 | - } |
|
| 4672 | + /** |
|
| 4673 | + * Convert require element. |
|
| 4674 | + * |
|
| 4675 | + * @param string $input Input element. |
|
| 4676 | + * |
|
| 4677 | + * @return string $output |
|
| 4678 | + *@since 1.0.0 |
|
| 4679 | + * |
|
| 4680 | + */ |
|
| 4681 | + public function convert_element_require( $input ) { |
|
| 4682 | + $input = str_replace( "'", '"', $input );// we only want double quotes |
|
| 4725 | 4683 | |
| 4726 | - // element_require |
|
| 4727 | - if ( isset( $args['element_require'] ) && $args['element_require'] ) { |
|
| 4728 | - $element_require = $args['element_require']; |
|
| 4729 | - } |
|
| 4684 | + $output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array( |
|
| 4685 | + "jQuery(form).find('[data-argument=\"", |
|
| 4686 | + "\"]').find('input,select,textarea').val()", |
|
| 4687 | + "\"]').find('input:checked').val()" |
|
| 4688 | + ), $input ) ); |
|
| 4730 | 4689 | |
| 4731 | - // custom_attributes |
|
| 4732 | - if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) { |
|
| 4733 | - $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true ); |
|
| 4734 | - } |
|
| 4690 | + return $output; |
|
| 4691 | + } |
|
| 4735 | 4692 | |
| 4736 | - // before wrapper |
|
| 4737 | - ?> |
|
| 4693 | + /** |
|
| 4694 | + * Builds the inputs for the widget options. |
|
| 4695 | + * |
|
| 4696 | + * @param $args |
|
| 4697 | + * @param $instance |
|
| 4698 | + */ |
|
| 4699 | + public function widget_inputs( $args, $instance ) { |
|
| 4700 | + |
|
| 4701 | + $class = ""; |
|
| 4702 | + $element_require = ""; |
|
| 4703 | + $custom_attributes = ""; |
|
| 4704 | + |
|
| 4705 | + // get value |
|
| 4706 | + if ( isset( $instance[ $args['name'] ] ) ) { |
|
| 4707 | + $value = $instance[ $args['name'] ]; |
|
| 4708 | + } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) { |
|
| 4709 | + $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] ); |
|
| 4710 | + } else { |
|
| 4711 | + $value = ''; |
|
| 4712 | + } |
|
| 4713 | + |
|
| 4714 | + // get placeholder |
|
| 4715 | + if ( ! empty( $args['placeholder'] ) ) { |
|
| 4716 | + $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'"; |
|
| 4717 | + } else { |
|
| 4718 | + $placeholder = ''; |
|
| 4719 | + } |
|
| 4720 | + |
|
| 4721 | + // get if advanced |
|
| 4722 | + if ( isset( $args['advanced'] ) && $args['advanced'] ) { |
|
| 4723 | + $class .= " sd-advanced-setting "; |
|
| 4724 | + } |
|
| 4725 | + |
|
| 4726 | + // element_require |
|
| 4727 | + if ( isset( $args['element_require'] ) && $args['element_require'] ) { |
|
| 4728 | + $element_require = $args['element_require']; |
|
| 4729 | + } |
|
| 4730 | + |
|
| 4731 | + // custom_attributes |
|
| 4732 | + if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) { |
|
| 4733 | + $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true ); |
|
| 4734 | + } |
|
| 4735 | + |
|
| 4736 | + // before wrapper |
|
| 4737 | + ?> |
|
| 4738 | 4738 | <p class="sd-argument <?php echo esc_attr( $class ); ?>" data-argument='<?php echo esc_attr( $args['name'] ); ?>' data-element_require='<?php if ( $element_require ) { echo $this->convert_element_require( $element_require );} ?>'> |
| 4739 | 4739 | <?php |
| 4740 | - switch ( $args['type'] ) { |
|
| 4741 | - //array('text','password','number','email','tel','url','color') |
|
| 4742 | - case "text": |
|
| 4743 | - case "password": |
|
| 4744 | - case "number": |
|
| 4745 | - case "email": |
|
| 4746 | - case "tel": |
|
| 4747 | - case "url": |
|
| 4748 | - case "color": |
|
| 4749 | - ?> |
|
| 4740 | + switch ( $args['type'] ) { |
|
| 4741 | + //array('text','password','number','email','tel','url','color') |
|
| 4742 | + case "text": |
|
| 4743 | + case "password": |
|
| 4744 | + case "number": |
|
| 4745 | + case "email": |
|
| 4746 | + case "tel": |
|
| 4747 | + case "url": |
|
| 4748 | + case "color": |
|
| 4749 | + ?> |
|
| 4750 | 4750 | <label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label> |
| 4751 | 4751 | <input <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="<?php echo esc_attr( $args['type'] ); ?>" value="<?php echo esc_attr( $value ); ?>"> |
| 4752 | 4752 | <?php |
| 4753 | 4753 | |
| 4754 | - break; |
|
| 4755 | - case "select": |
|
| 4756 | - $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false; |
|
| 4757 | - if ( $multiple ) { |
|
| 4758 | - if ( empty( $value ) ) { |
|
| 4759 | - $value = array(); |
|
| 4760 | - } |
|
| 4761 | - } |
|
| 4762 | - ?> |
|
| 4754 | + break; |
|
| 4755 | + case "select": |
|
| 4756 | + $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false; |
|
| 4757 | + if ( $multiple ) { |
|
| 4758 | + if ( empty( $value ) ) { |
|
| 4759 | + $value = array(); |
|
| 4760 | + } |
|
| 4761 | + } |
|
| 4762 | + ?> |
|
| 4763 | 4763 | <label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label> |
| 4764 | 4764 | <select <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); if ( $multiple ) { echo "[]"; } ?>" |
| 4765 | 4765 | <?php if ( $multiple ) { |
| 4766 | - echo "multiple"; |
|
| 4767 | - } //@todo not implemented yet due to gutenberg not supporting it |
|
| 4768 | - ?>> |
|
| 4766 | + echo "multiple"; |
|
| 4767 | + } //@todo not implemented yet due to gutenberg not supporting it |
|
| 4768 | + ?>> |
|
| 4769 | 4769 | <?php |
| 4770 | 4770 | |
| 4771 | - if ( ! empty( $args['options'] ) ) { |
|
| 4772 | - foreach ( $args['options'] as $val => $label ) { |
|
| 4773 | - if ( $multiple ) { |
|
| 4774 | - $selected = in_array( $val, $value ) ? 'selected="selected"' : ''; |
|
| 4775 | - } else { |
|
| 4776 | - $selected = selected( $value, $val, false ); |
|
| 4777 | - } |
|
| 4778 | - echo "<option value='$val' " . $selected . ">$label</option>"; |
|
| 4779 | - } |
|
| 4780 | - } |
|
| 4781 | - ?> |
|
| 4771 | + if ( ! empty( $args['options'] ) ) { |
|
| 4772 | + foreach ( $args['options'] as $val => $label ) { |
|
| 4773 | + if ( $multiple ) { |
|
| 4774 | + $selected = in_array( $val, $value ) ? 'selected="selected"' : ''; |
|
| 4775 | + } else { |
|
| 4776 | + $selected = selected( $value, $val, false ); |
|
| 4777 | + } |
|
| 4778 | + echo "<option value='$val' " . $selected . ">$label</option>"; |
|
| 4779 | + } |
|
| 4780 | + } |
|
| 4781 | + ?> |
|
| 4782 | 4782 | </select> |
| 4783 | 4783 | <?php |
| 4784 | - break; |
|
| 4785 | - case "checkbox": |
|
| 4786 | - ?> |
|
| 4784 | + break; |
|
| 4785 | + case "checkbox": |
|
| 4786 | + ?> |
|
| 4787 | 4787 | <input <?php echo $placeholder; ?> <?php checked( 1, $value, true ) ?> <?php echo $custom_attributes; ?> class="widefat" id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="checkbox" value="1"> |
| 4788 | 4788 | <label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label> |
| 4789 | 4789 | <?php |
| 4790 | - break; |
|
| 4791 | - case "textarea": |
|
| 4792 | - ?> |
|
| 4790 | + break; |
|
| 4791 | + case "textarea": |
|
| 4792 | + ?> |
|
| 4793 | 4793 | <label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label> |
| 4794 | 4794 | <textarea <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>"><?php echo esc_attr( $value ); ?></textarea> |
| 4795 | 4795 | <?php |
| 4796 | 4796 | |
| 4797 | - break; |
|
| 4798 | - case "hidden": |
|
| 4799 | - ?> |
|
| 4797 | + break; |
|
| 4798 | + case "hidden": |
|
| 4799 | + ?> |
|
| 4800 | 4800 | <input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden" value="<?php echo esc_attr( $value ); ?>"> |
| 4801 | 4801 | <?php |
| 4802 | - break; |
|
| 4803 | - default: |
|
| 4804 | - echo "No input type found!"; // @todo we need to add more input types. |
|
| 4805 | - } |
|
| 4806 | - // after wrapper |
|
| 4807 | - ?></p><?php |
|
| 4808 | - } |
|
| 4802 | + break; |
|
| 4803 | + default: |
|
| 4804 | + echo "No input type found!"; // @todo we need to add more input types. |
|
| 4805 | + } |
|
| 4806 | + // after wrapper |
|
| 4807 | + ?></p><?php |
|
| 4808 | + } |
|
| 4809 | 4809 | |
| 4810 | - public function get_widget_icon($icon = 'box-top', $title = ''){ |
|
| 4811 | - if($icon=='box-top'){ |
|
| 4812 | - return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>'; |
|
| 4813 | - }elseif($icon=='box-right'){ |
|
| 4814 | - return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>'; |
|
| 4815 | - }elseif($icon=='box-bottom'){ |
|
| 4816 | - return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>'; |
|
| 4817 | - }elseif($icon=='box-left'){ |
|
| 4818 | - return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>'; |
|
| 4819 | - } |
|
| 4820 | - } |
|
| 4810 | + public function get_widget_icon($icon = 'box-top', $title = ''){ |
|
| 4811 | + if($icon=='box-top'){ |
|
| 4812 | + return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>'; |
|
| 4813 | + }elseif($icon=='box-right'){ |
|
| 4814 | + return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>'; |
|
| 4815 | + }elseif($icon=='box-bottom'){ |
|
| 4816 | + return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>'; |
|
| 4817 | + }elseif($icon=='box-left'){ |
|
| 4818 | + return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>'; |
|
| 4819 | + } |
|
| 4820 | + } |
|
| 4821 | 4821 | |
| 4822 | - /** |
|
| 4823 | - * Get the widget input description html. |
|
| 4824 | - * |
|
| 4825 | - * @param $args |
|
| 4826 | - * |
|
| 4827 | - * @return string |
|
| 4828 | - * @todo, need to make its own tooltip script |
|
| 4829 | - */ |
|
| 4830 | - public function widget_field_desc( $args ) { |
|
| 4831 | - |
|
| 4832 | - $description = ''; |
|
| 4833 | - if ( isset( $args['desc'] ) && $args['desc'] ) { |
|
| 4834 | - if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) { |
|
| 4835 | - $description = $this->desc_tip( $args['desc'] ); |
|
| 4836 | - } else { |
|
| 4837 | - $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>'; |
|
| 4838 | - } |
|
| 4839 | - } |
|
| 4822 | + /** |
|
| 4823 | + * Get the widget input description html. |
|
| 4824 | + * |
|
| 4825 | + * @param $args |
|
| 4826 | + * |
|
| 4827 | + * @return string |
|
| 4828 | + * @todo, need to make its own tooltip script |
|
| 4829 | + */ |
|
| 4830 | + public function widget_field_desc( $args ) { |
|
| 4831 | + |
|
| 4832 | + $description = ''; |
|
| 4833 | + if ( isset( $args['desc'] ) && $args['desc'] ) { |
|
| 4834 | + if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) { |
|
| 4835 | + $description = $this->desc_tip( $args['desc'] ); |
|
| 4836 | + } else { |
|
| 4837 | + $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>'; |
|
| 4838 | + } |
|
| 4839 | + } |
|
| 4840 | 4840 | |
| 4841 | - return $description; |
|
| 4842 | - } |
|
| 4841 | + return $description; |
|
| 4842 | + } |
|
| 4843 | 4843 | |
| 4844 | - /** |
|
| 4845 | - * Get the widget input title html. |
|
| 4846 | - * |
|
| 4847 | - * @param $args |
|
| 4848 | - * |
|
| 4849 | - * @return string |
|
| 4850 | - */ |
|
| 4851 | - public function widget_field_title( $args ) { |
|
| 4852 | - $title = ''; |
|
| 4853 | - |
|
| 4854 | - if ( isset( $args['title'] ) && $args['title'] ) { |
|
| 4855 | - if ( ! empty( $args['device_type'] ) ) { |
|
| 4856 | - $args['title'] .= ' (' . $args['device_type'] . ')'; // Append device type to title. |
|
| 4857 | - } |
|
| 4844 | + /** |
|
| 4845 | + * Get the widget input title html. |
|
| 4846 | + * |
|
| 4847 | + * @param $args |
|
| 4848 | + * |
|
| 4849 | + * @return string |
|
| 4850 | + */ |
|
| 4851 | + public function widget_field_title( $args ) { |
|
| 4852 | + $title = ''; |
|
| 4858 | 4853 | |
| 4859 | - if ( isset( $args['icon'] ) && $args['icon'] ) { |
|
| 4860 | - $title = self::get_widget_icon( $args['icon'], $args['title'] ); |
|
| 4861 | - } else { |
|
| 4862 | - $title = esc_attr( $args['title'] ); |
|
| 4863 | - } |
|
| 4864 | - } |
|
| 4854 | + if ( isset( $args['title'] ) && $args['title'] ) { |
|
| 4855 | + if ( ! empty( $args['device_type'] ) ) { |
|
| 4856 | + $args['title'] .= ' (' . $args['device_type'] . ')'; // Append device type to title. |
|
| 4857 | + } |
|
| 4865 | 4858 | |
| 4866 | - return $title; |
|
| 4867 | - } |
|
| 4859 | + if ( isset( $args['icon'] ) && $args['icon'] ) { |
|
| 4860 | + $title = self::get_widget_icon( $args['icon'], $args['title'] ); |
|
| 4861 | + } else { |
|
| 4862 | + $title = esc_attr( $args['title'] ); |
|
| 4863 | + } |
|
| 4864 | + } |
|
| 4868 | 4865 | |
| 4869 | - /** |
|
| 4870 | - * Get the tool tip html. |
|
| 4871 | - * |
|
| 4872 | - * @param $tip |
|
| 4873 | - * @param bool $allow_html |
|
| 4874 | - * |
|
| 4875 | - * @return string |
|
| 4876 | - */ |
|
| 4877 | - function desc_tip( $tip, $allow_html = false ) { |
|
| 4878 | - if ( $allow_html ) { |
|
| 4879 | - $tip = $this->sanitize_tooltip( $tip ); |
|
| 4880 | - } else { |
|
| 4881 | - $tip = esc_attr( $tip ); |
|
| 4882 | - } |
|
| 4866 | + return $title; |
|
| 4867 | + } |
|
| 4883 | 4868 | |
| 4884 | - return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>'; |
|
| 4885 | - } |
|
| 4869 | + /** |
|
| 4870 | + * Get the tool tip html. |
|
| 4871 | + * |
|
| 4872 | + * @param $tip |
|
| 4873 | + * @param bool $allow_html |
|
| 4874 | + * |
|
| 4875 | + * @return string |
|
| 4876 | + */ |
|
| 4877 | + function desc_tip( $tip, $allow_html = false ) { |
|
| 4878 | + if ( $allow_html ) { |
|
| 4879 | + $tip = $this->sanitize_tooltip( $tip ); |
|
| 4880 | + } else { |
|
| 4881 | + $tip = esc_attr( $tip ); |
|
| 4882 | + } |
|
| 4883 | + |
|
| 4884 | + return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>'; |
|
| 4885 | + } |
|
| 4886 | 4886 | |
| 4887 | - /** |
|
| 4888 | - * Sanitize a string destined to be a tooltip. |
|
| 4889 | - * |
|
| 4890 | - * @param string $var |
|
| 4891 | - * |
|
| 4892 | - * @return string |
|
| 4893 | - */ |
|
| 4894 | - public function sanitize_tooltip( $var ) { |
|
| 4895 | - return htmlspecialchars( wp_kses( html_entity_decode( $var ), array( |
|
| 4896 | - 'br' => array(), |
|
| 4897 | - 'em' => array(), |
|
| 4898 | - 'strong' => array(), |
|
| 4899 | - 'small' => array(), |
|
| 4900 | - 'span' => array(), |
|
| 4901 | - 'ul' => array(), |
|
| 4902 | - 'li' => array(), |
|
| 4903 | - 'ol' => array(), |
|
| 4904 | - 'p' => array(), |
|
| 4905 | - ) ) ); |
|
| 4906 | - } |
|
| 4887 | + /** |
|
| 4888 | + * Sanitize a string destined to be a tooltip. |
|
| 4889 | + * |
|
| 4890 | + * @param string $var |
|
| 4891 | + * |
|
| 4892 | + * @return string |
|
| 4893 | + */ |
|
| 4894 | + public function sanitize_tooltip( $var ) { |
|
| 4895 | + return htmlspecialchars( wp_kses( html_entity_decode( $var ), array( |
|
| 4896 | + 'br' => array(), |
|
| 4897 | + 'em' => array(), |
|
| 4898 | + 'strong' => array(), |
|
| 4899 | + 'small' => array(), |
|
| 4900 | + 'span' => array(), |
|
| 4901 | + 'ul' => array(), |
|
| 4902 | + 'li' => array(), |
|
| 4903 | + 'ol' => array(), |
|
| 4904 | + 'p' => array(), |
|
| 4905 | + ) ) ); |
|
| 4906 | + } |
|
| 4907 | 4907 | |
| 4908 | - /** |
|
| 4909 | - * Processing widget options on save |
|
| 4910 | - * |
|
| 4911 | - * @param array $new_instance The new options |
|
| 4912 | - * @param array $old_instance The previous options |
|
| 4913 | - * |
|
| 4914 | - * @return array |
|
| 4915 | - * @todo we should add some sanitation here. |
|
| 4916 | - */ |
|
| 4917 | - public function update( $new_instance, $old_instance ) { |
|
| 4918 | - |
|
| 4919 | - //save the widget |
|
| 4920 | - $instance = array_merge( (array) $old_instance, (array) $new_instance ); |
|
| 4921 | - |
|
| 4922 | - // set widget instance |
|
| 4923 | - $this->instance = $instance; |
|
| 4924 | - |
|
| 4925 | - if ( empty( $this->arguments ) ) { |
|
| 4926 | - $this->get_arguments(); |
|
| 4927 | - } |
|
| 4908 | + /** |
|
| 4909 | + * Processing widget options on save |
|
| 4910 | + * |
|
| 4911 | + * @param array $new_instance The new options |
|
| 4912 | + * @param array $old_instance The previous options |
|
| 4913 | + * |
|
| 4914 | + * @return array |
|
| 4915 | + * @todo we should add some sanitation here. |
|
| 4916 | + */ |
|
| 4917 | + public function update( $new_instance, $old_instance ) { |
|
| 4928 | 4918 | |
| 4929 | - // check for checkboxes |
|
| 4930 | - if ( ! empty( $this->arguments ) ) { |
|
| 4931 | - foreach ( $this->arguments as $argument ) { |
|
| 4932 | - if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) { |
|
| 4933 | - $instance[ $argument['name'] ] = '0'; |
|
| 4934 | - } |
|
| 4935 | - } |
|
| 4936 | - } |
|
| 4919 | + //save the widget |
|
| 4920 | + $instance = array_merge( (array) $old_instance, (array) $new_instance ); |
|
| 4937 | 4921 | |
| 4938 | - return $instance; |
|
| 4939 | - } |
|
| 4922 | + // set widget instance |
|
| 4923 | + $this->instance = $instance; |
|
| 4940 | 4924 | |
| 4941 | - /** |
|
| 4942 | - * Checks if the current call is a ajax call to get the block content. |
|
| 4943 | - * |
|
| 4944 | - * This can be used in your widget to return different content as the block content. |
|
| 4945 | - * |
|
| 4946 | - * @return bool |
|
| 4947 | - *@since 1.0.3 |
|
| 4948 | - */ |
|
| 4949 | - public function is_block_content_call() { |
|
| 4950 | - $result = false; |
|
| 4951 | - if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) { |
|
| 4952 | - $result = true; |
|
| 4953 | - } |
|
| 4925 | + if ( empty( $this->arguments ) ) { |
|
| 4926 | + $this->get_arguments(); |
|
| 4927 | + } |
|
| 4954 | 4928 | |
| 4955 | - return $result; |
|
| 4956 | - } |
|
| 4929 | + // check for checkboxes |
|
| 4930 | + if ( ! empty( $this->arguments ) ) { |
|
| 4931 | + foreach ( $this->arguments as $argument ) { |
|
| 4932 | + if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) { |
|
| 4933 | + $instance[ $argument['name'] ] = '0'; |
|
| 4934 | + } |
|
| 4935 | + } |
|
| 4936 | + } |
|
| 4957 | 4937 | |
| 4958 | - /** |
|
| 4959 | - * Get an instance hash that will be unique to the type and settings. |
|
| 4960 | - * |
|
| 4961 | - * @return string |
|
| 4962 | - *@since 1.0.20 |
|
| 4963 | - */ |
|
| 4964 | - public function get_instance_hash(){ |
|
| 4965 | - $instance_string = $this->base_id.serialize($this->instance); |
|
| 4966 | - return hash('crc32b',$instance_string); |
|
| 4967 | - } |
|
| 4938 | + return $instance; |
|
| 4939 | + } |
|
| 4968 | 4940 | |
| 4969 | - /** |
|
| 4970 | - * Generate and return inline styles from CSS rules that will match the unique class of the instance. |
|
| 4971 | - * |
|
| 4972 | - * @param array $rules |
|
| 4973 | - * |
|
| 4974 | - * @return string |
|
| 4975 | - *@since 1.0.20 |
|
| 4976 | - */ |
|
| 4977 | - public function get_instance_style($rules = array()){ |
|
| 4978 | - $css = ''; |
|
| 4979 | - |
|
| 4980 | - if(!empty($rules)){ |
|
| 4981 | - $rules = array_unique($rules); |
|
| 4982 | - $instance_hash = $this->get_instance_hash(); |
|
| 4983 | - $css .= "<style>"; |
|
| 4984 | - foreach($rules as $rule){ |
|
| 4985 | - $css .= ".sdel-$instance_hash $rule"; |
|
| 4986 | - } |
|
| 4987 | - $css .= "</style>"; |
|
| 4988 | - } |
|
| 4941 | + /** |
|
| 4942 | + * Checks if the current call is a ajax call to get the block content. |
|
| 4943 | + * |
|
| 4944 | + * This can be used in your widget to return different content as the block content. |
|
| 4945 | + * |
|
| 4946 | + * @return bool |
|
| 4947 | + *@since 1.0.3 |
|
| 4948 | + */ |
|
| 4949 | + public function is_block_content_call() { |
|
| 4950 | + $result = false; |
|
| 4951 | + if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) { |
|
| 4952 | + $result = true; |
|
| 4953 | + } |
|
| 4989 | 4954 | |
| 4990 | - return $css; |
|
| 4991 | - } |
|
| 4955 | + return $result; |
|
| 4956 | + } |
|
| 4957 | + |
|
| 4958 | + /** |
|
| 4959 | + * Get an instance hash that will be unique to the type and settings. |
|
| 4960 | + * |
|
| 4961 | + * @return string |
|
| 4962 | + *@since 1.0.20 |
|
| 4963 | + */ |
|
| 4964 | + public function get_instance_hash(){ |
|
| 4965 | + $instance_string = $this->base_id.serialize($this->instance); |
|
| 4966 | + return hash('crc32b',$instance_string); |
|
| 4967 | + } |
|
| 4968 | + |
|
| 4969 | + /** |
|
| 4970 | + * Generate and return inline styles from CSS rules that will match the unique class of the instance. |
|
| 4971 | + * |
|
| 4972 | + * @param array $rules |
|
| 4973 | + * |
|
| 4974 | + * @return string |
|
| 4975 | + *@since 1.0.20 |
|
| 4976 | + */ |
|
| 4977 | + public function get_instance_style($rules = array()){ |
|
| 4978 | + $css = ''; |
|
| 4979 | + |
|
| 4980 | + if(!empty($rules)){ |
|
| 4981 | + $rules = array_unique($rules); |
|
| 4982 | + $instance_hash = $this->get_instance_hash(); |
|
| 4983 | + $css .= "<style>"; |
|
| 4984 | + foreach($rules as $rule){ |
|
| 4985 | + $css .= ".sdel-$instance_hash $rule"; |
|
| 4986 | + } |
|
| 4987 | + $css .= "</style>"; |
|
| 4988 | + } |
|
| 4989 | + |
|
| 4990 | + return $css; |
|
| 4991 | + } |
|
| 4992 | 4992 | |
| 4993 | - /** |
|
| 4994 | - * Encode shortcodes tags. |
|
| 4995 | - * |
|
| 4996 | - * @param string $content Content to search for shortcode tags. |
|
| 4997 | - * |
|
| 4993 | + /** |
|
| 4994 | + * Encode shortcodes tags. |
|
| 4995 | + * |
|
| 4996 | + * @param string $content Content to search for shortcode tags. |
|
| 4997 | + * |
|
| 4998 | 4998 | *@return string Content with shortcode tags removed. |
| 4999 | - *@since 1.0.28 |
|
| 5000 | - * |
|
| 5001 | - */ |
|
| 5002 | - public function encode_shortcodes( $content ) { |
|
| 5003 | - // Avoids existing encoded tags. |
|
| 5004 | - $trans = array( |
|
| 5005 | - '[' => '[', |
|
| 5006 | - ']' => ']', |
|
| 5007 | - '&#91;' => '[', |
|
| 5008 | - '&#93;' => ']', |
|
| 5009 | - '<' => '&0lt;', |
|
| 5010 | - '>' => '&0gt;', |
|
| 5011 | - '&lt;' => '&0lt;', |
|
| 5012 | - '&gt;' => '&0gt;', |
|
| 5013 | - ); |
|
| 5014 | - |
|
| 5015 | - $content = strtr( $content, $trans ); |
|
| 5016 | - |
|
| 5017 | - $trans = array( |
|
| 5018 | - '[' => '[', |
|
| 5019 | - ']' => ']', |
|
| 5020 | - '<' => '<', |
|
| 5021 | - '>' => '>', |
|
| 5022 | - '"' => '"', |
|
| 5023 | - "'" => ''', |
|
| 5024 | - ); |
|
| 5025 | - |
|
| 5026 | - $content = strtr( $content, $trans ); |
|
| 5027 | - |
|
| 5028 | - return $content; |
|
| 5029 | - } |
|
| 4999 | + *@since 1.0.28 |
|
| 5000 | + * |
|
| 5001 | + */ |
|
| 5002 | + public function encode_shortcodes( $content ) { |
|
| 5003 | + // Avoids existing encoded tags. |
|
| 5004 | + $trans = array( |
|
| 5005 | + '[' => '[', |
|
| 5006 | + ']' => ']', |
|
| 5007 | + '&#91;' => '[', |
|
| 5008 | + '&#93;' => ']', |
|
| 5009 | + '<' => '&0lt;', |
|
| 5010 | + '>' => '&0gt;', |
|
| 5011 | + '&lt;' => '&0lt;', |
|
| 5012 | + '&gt;' => '&0gt;', |
|
| 5013 | + ); |
|
| 5014 | + |
|
| 5015 | + $content = strtr( $content, $trans ); |
|
| 5016 | + |
|
| 5017 | + $trans = array( |
|
| 5018 | + '[' => '[', |
|
| 5019 | + ']' => ']', |
|
| 5020 | + '<' => '<', |
|
| 5021 | + '>' => '>', |
|
| 5022 | + '"' => '"', |
|
| 5023 | + "'" => ''', |
|
| 5024 | + ); |
|
| 5025 | + |
|
| 5026 | + $content = strtr( $content, $trans ); |
|
| 5027 | + |
|
| 5028 | + return $content; |
|
| 5029 | + } |
|
| 5030 | 5030 | |
| 5031 | - /** |
|
| 5032 | - * Remove encoded shortcod tags. |
|
| 5033 | - * |
|
| 5034 | - * @param string $content Content to search for shortcode tags. |
|
| 5035 | - * |
|
| 5031 | + /** |
|
| 5032 | + * Remove encoded shortcod tags. |
|
| 5033 | + * |
|
| 5034 | + * @param string $content Content to search for shortcode tags. |
|
| 5035 | + * |
|
| 5036 | 5036 | *@return string Content with decoded shortcode tags. |
| 5037 | - *@since 1.0.28 |
|
| 5038 | - * |
|
| 5039 | - */ |
|
| 5040 | - public function decode_shortcodes( $content ) { |
|
| 5041 | - $trans = array( |
|
| 5042 | - '[' => '[', |
|
| 5043 | - ']' => ']', |
|
| 5044 | - '&#91;' => '[', |
|
| 5045 | - '&#93;' => ']', |
|
| 5046 | - '<' => '<', |
|
| 5047 | - '>' => '>', |
|
| 5048 | - '&lt;' => '<', |
|
| 5049 | - '&gt;' => '>', |
|
| 5050 | - '"' => '"', |
|
| 5051 | - ''' => "'", |
|
| 5052 | - ); |
|
| 5053 | - |
|
| 5054 | - $content = strtr( $content, $trans ); |
|
| 5055 | - |
|
| 5056 | - $trans = array( |
|
| 5057 | - '[' => '[', |
|
| 5058 | - ']' => ']', |
|
| 5059 | - '&#091;' => '[', |
|
| 5060 | - '&#093;' => ']', |
|
| 5061 | - '&0lt;' => '<', |
|
| 5062 | - '&0gt;' => '>', |
|
| 5063 | - '&0lt;' => '<', |
|
| 5064 | - '&0gt;' => '>', |
|
| 5065 | - ); |
|
| 5066 | - |
|
| 5067 | - $content = strtr( $content, $trans ); |
|
| 5068 | - |
|
| 5069 | - return $content; |
|
| 5070 | - } |
|
| 5071 | - |
|
| 5072 | - public function block_visibility_fields( $args ) { |
|
| 5073 | - $value = ! empty( $args['value'] ) ? esc_attr( $args['value'] ) : ''; |
|
| 5074 | - $content = '<div class="bs-vc-rule-template d-none">'; |
|
| 5075 | - $content .= '<div class="p-3 pb-0 mb-3 border border-1 rounded-1 position-relative bs-vc-rule" data-bs-index="BSVCINDEX" >'; |
|
| 5076 | - $content .= '<div class="row">'; |
|
| 5077 | - $content .= '<div class="col-sm-12">'; |
|
| 5078 | - $content .= '<div class="bs-rule-action position-absolute top-0 end-0 p-2 zindex-5"><span class="text-danger c-pointer bs-vc-remove-rule" title="' . esc_attr__( 'Remove Rule', 'ayecode-connect' ) . '"><i class="fas fa-circle-minus fs-6"></i></span></div>'; |
|
| 5079 | - $content .= aui()->select( |
|
| 5080 | - array( |
|
| 5081 | - 'id' => 'bsvc_rule_BSVCINDEX', |
|
| 5082 | - 'name' => 'bsvc_rule_BSVCINDEX', |
|
| 5083 | - 'label' => __( 'Rule', 'ayecode-connect' ), |
|
| 5084 | - 'placeholder' => __( 'Select Rule...', 'ayecode-connect' ), |
|
| 5085 | - 'class' => 'bsvc_rule form-select-sm no-select2 mw-100', |
|
| 5086 | - 'options' => sd_visibility_rules_options(), |
|
| 5087 | - 'default' => '', |
|
| 5088 | - 'value' => '', |
|
| 5089 | - 'label_type' => '', |
|
| 5090 | - 'select2' => false, |
|
| 5091 | - 'input_group_left' => __( 'Rule:', 'ayecode-connect' ), |
|
| 5092 | - 'extra_attributes' => array( |
|
| 5093 | - 'data-minimum-results-for-search' => '-1' |
|
| 5094 | - ) |
|
| 5095 | - ) |
|
| 5096 | - ); |
|
| 5097 | - |
|
| 5098 | - $content .= '</div>'; |
|
| 5099 | - |
|
| 5100 | - if ( class_exists( 'GeoDirectory' ) ) { |
|
| 5101 | - $content .= '<div class="col-md-7 col-sm-12">'; |
|
| 5102 | - |
|
| 5103 | - $content .= aui()->select( |
|
| 5104 | - array( |
|
| 5105 | - 'id' => 'bsvc_gd_field_BSVCINDEX', |
|
| 5106 | - 'name' => 'bsvc_gd_field_BSVCINDEX', |
|
| 5107 | - 'label' => __( 'FIELD', 'ayecode-connect' ), |
|
| 5108 | - 'placeholder' => __( 'FIELD', 'ayecode-connect' ), |
|
| 5109 | - 'class' => 'bsvc_gd_field form-select-sm no-select2 mw-100', |
|
| 5110 | - 'options' => sd_visibility_gd_field_options(), |
|
| 5111 | - 'default' => '', |
|
| 5112 | - 'value' => '', |
|
| 5113 | - 'label_type' => '', |
|
| 5114 | - 'select2' => false, |
|
| 5115 | - 'element_require' => '[%bsvc_rule_BSVCINDEX%]=="gd_field"', |
|
| 5116 | - 'extra_attributes' => array( |
|
| 5117 | - 'data-minimum-results-for-search' => '-1' |
|
| 5118 | - ) |
|
| 5119 | - ) |
|
| 5120 | - ); |
|
| 5121 | - |
|
| 5122 | - $content .= '</div>'; |
|
| 5123 | - $content .= '<div class="col-md-5 col-sm-12">'; |
|
| 5124 | - |
|
| 5125 | - $content .= aui()->select( |
|
| 5126 | - array( |
|
| 5127 | - 'id' => 'bsvc_gd_field_condition_BSVCINDEX', |
|
| 5128 | - 'name' => 'bsvc_gd_field_condition_BSVCINDEX', |
|
| 5129 | - 'label' => __( 'CONDITION', 'ayecode-connect' ), |
|
| 5130 | - 'placeholder' => __( 'CONDITION', 'ayecode-connect' ), |
|
| 5131 | - 'class' => 'bsvc_gd_field_condition form-select-sm no-select2 mw-100', |
|
| 5132 | - 'options' => sd_visibility_field_condition_options(), |
|
| 5133 | - 'default' => '', |
|
| 5134 | - 'value' => '', |
|
| 5135 | - 'label_type' => '', |
|
| 5136 | - 'select2' => false, |
|
| 5137 | - 'element_require' => '[%bsvc_rule_BSVCINDEX%]=="gd_field"', |
|
| 5138 | - 'extra_attributes' => array( |
|
| 5139 | - 'data-minimum-results-for-search' => '-1' |
|
| 5140 | - ) |
|
| 5141 | - ) |
|
| 5142 | - ); |
|
| 5143 | - |
|
| 5144 | - $content .= '</div>'; |
|
| 5145 | - $content .= '<div class="col-sm-12">'; |
|
| 5146 | - |
|
| 5147 | - $content .= aui()->input( |
|
| 5148 | - array( |
|
| 5149 | - 'type' => 'text', |
|
| 5150 | - 'id' => 'bsvc_gd_field_search_BSVCINDEX', |
|
| 5151 | - 'name' => 'bsvc_gd_field_search_BSVCINDEX', |
|
| 5152 | - 'label' => __( 'VALUE TO MATCH', 'ayecode-connect' ), |
|
| 5153 | - 'class' => 'bsvc_gd_field_search form-control-sm', |
|
| 5154 | - 'placeholder' => __( 'VALUE TO MATCH', 'ayecode-connect' ), |
|
| 5155 | - 'label_type' => '', |
|
| 5156 | - 'value' => '', |
|
| 5157 | - 'element_require' => '([%bsvc_rule_BSVCINDEX%]=="gd_field" && [%bsvc_gd_field_condition_BSVCINDEX%] && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_empty" && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_not_empty")' |
|
| 5158 | - ) |
|
| 5159 | - ); |
|
| 5037 | + *@since 1.0.28 |
|
| 5038 | + * |
|
| 5039 | + */ |
|
| 5040 | + public function decode_shortcodes( $content ) { |
|
| 5041 | + $trans = array( |
|
| 5042 | + '[' => '[', |
|
| 5043 | + ']' => ']', |
|
| 5044 | + '&#91;' => '[', |
|
| 5045 | + '&#93;' => ']', |
|
| 5046 | + '<' => '<', |
|
| 5047 | + '>' => '>', |
|
| 5048 | + '&lt;' => '<', |
|
| 5049 | + '&gt;' => '>', |
|
| 5050 | + '"' => '"', |
|
| 5051 | + ''' => "'", |
|
| 5052 | + ); |
|
| 5053 | + |
|
| 5054 | + $content = strtr( $content, $trans ); |
|
| 5055 | + |
|
| 5056 | + $trans = array( |
|
| 5057 | + '[' => '[', |
|
| 5058 | + ']' => ']', |
|
| 5059 | + '&#091;' => '[', |
|
| 5060 | + '&#093;' => ']', |
|
| 5061 | + '&0lt;' => '<', |
|
| 5062 | + '&0gt;' => '>', |
|
| 5063 | + '&0lt;' => '<', |
|
| 5064 | + '&0gt;' => '>', |
|
| 5065 | + ); |
|
| 5066 | + |
|
| 5067 | + $content = strtr( $content, $trans ); |
|
| 5068 | + |
|
| 5069 | + return $content; |
|
| 5070 | + } |
|
| 5160 | 5071 | |
| 5161 | - $content .= '</div>'; |
|
| 5162 | - } |
|
| 5072 | + public function block_visibility_fields( $args ) { |
|
| 5073 | + $value = ! empty( $args['value'] ) ? esc_attr( $args['value'] ) : ''; |
|
| 5074 | + $content = '<div class="bs-vc-rule-template d-none">'; |
|
| 5075 | + $content .= '<div class="p-3 pb-0 mb-3 border border-1 rounded-1 position-relative bs-vc-rule" data-bs-index="BSVCINDEX" >'; |
|
| 5076 | + $content .= '<div class="row">'; |
|
| 5077 | + $content .= '<div class="col-sm-12">'; |
|
| 5078 | + $content .= '<div class="bs-rule-action position-absolute top-0 end-0 p-2 zindex-5"><span class="text-danger c-pointer bs-vc-remove-rule" title="' . esc_attr__( 'Remove Rule', 'ayecode-connect' ) . '"><i class="fas fa-circle-minus fs-6"></i></span></div>'; |
|
| 5079 | + $content .= aui()->select( |
|
| 5080 | + array( |
|
| 5081 | + 'id' => 'bsvc_rule_BSVCINDEX', |
|
| 5082 | + 'name' => 'bsvc_rule_BSVCINDEX', |
|
| 5083 | + 'label' => __( 'Rule', 'ayecode-connect' ), |
|
| 5084 | + 'placeholder' => __( 'Select Rule...', 'ayecode-connect' ), |
|
| 5085 | + 'class' => 'bsvc_rule form-select-sm no-select2 mw-100', |
|
| 5086 | + 'options' => sd_visibility_rules_options(), |
|
| 5087 | + 'default' => '', |
|
| 5088 | + 'value' => '', |
|
| 5089 | + 'label_type' => '', |
|
| 5090 | + 'select2' => false, |
|
| 5091 | + 'input_group_left' => __( 'Rule:', 'ayecode-connect' ), |
|
| 5092 | + 'extra_attributes' => array( |
|
| 5093 | + 'data-minimum-results-for-search' => '-1' |
|
| 5094 | + ) |
|
| 5095 | + ) |
|
| 5096 | + ); |
|
| 5097 | + |
|
| 5098 | + $content .= '</div>'; |
|
| 5099 | + |
|
| 5100 | + if ( class_exists( 'GeoDirectory' ) ) { |
|
| 5101 | + $content .= '<div class="col-md-7 col-sm-12">'; |
|
| 5102 | + |
|
| 5103 | + $content .= aui()->select( |
|
| 5104 | + array( |
|
| 5105 | + 'id' => 'bsvc_gd_field_BSVCINDEX', |
|
| 5106 | + 'name' => 'bsvc_gd_field_BSVCINDEX', |
|
| 5107 | + 'label' => __( 'FIELD', 'ayecode-connect' ), |
|
| 5108 | + 'placeholder' => __( 'FIELD', 'ayecode-connect' ), |
|
| 5109 | + 'class' => 'bsvc_gd_field form-select-sm no-select2 mw-100', |
|
| 5110 | + 'options' => sd_visibility_gd_field_options(), |
|
| 5111 | + 'default' => '', |
|
| 5112 | + 'value' => '', |
|
| 5113 | + 'label_type' => '', |
|
| 5114 | + 'select2' => false, |
|
| 5115 | + 'element_require' => '[%bsvc_rule_BSVCINDEX%]=="gd_field"', |
|
| 5116 | + 'extra_attributes' => array( |
|
| 5117 | + 'data-minimum-results-for-search' => '-1' |
|
| 5118 | + ) |
|
| 5119 | + ) |
|
| 5120 | + ); |
|
| 5121 | + |
|
| 5122 | + $content .= '</div>'; |
|
| 5123 | + $content .= '<div class="col-md-5 col-sm-12">'; |
|
| 5124 | + |
|
| 5125 | + $content .= aui()->select( |
|
| 5126 | + array( |
|
| 5127 | + 'id' => 'bsvc_gd_field_condition_BSVCINDEX', |
|
| 5128 | + 'name' => 'bsvc_gd_field_condition_BSVCINDEX', |
|
| 5129 | + 'label' => __( 'CONDITION', 'ayecode-connect' ), |
|
| 5130 | + 'placeholder' => __( 'CONDITION', 'ayecode-connect' ), |
|
| 5131 | + 'class' => 'bsvc_gd_field_condition form-select-sm no-select2 mw-100', |
|
| 5132 | + 'options' => sd_visibility_field_condition_options(), |
|
| 5133 | + 'default' => '', |
|
| 5134 | + 'value' => '', |
|
| 5135 | + 'label_type' => '', |
|
| 5136 | + 'select2' => false, |
|
| 5137 | + 'element_require' => '[%bsvc_rule_BSVCINDEX%]=="gd_field"', |
|
| 5138 | + 'extra_attributes' => array( |
|
| 5139 | + 'data-minimum-results-for-search' => '-1' |
|
| 5140 | + ) |
|
| 5141 | + ) |
|
| 5142 | + ); |
|
| 5143 | + |
|
| 5144 | + $content .= '</div>'; |
|
| 5145 | + $content .= '<div class="col-sm-12">'; |
|
| 5146 | + |
|
| 5147 | + $content .= aui()->input( |
|
| 5148 | + array( |
|
| 5149 | + 'type' => 'text', |
|
| 5150 | + 'id' => 'bsvc_gd_field_search_BSVCINDEX', |
|
| 5151 | + 'name' => 'bsvc_gd_field_search_BSVCINDEX', |
|
| 5152 | + 'label' => __( 'VALUE TO MATCH', 'ayecode-connect' ), |
|
| 5153 | + 'class' => 'bsvc_gd_field_search form-control-sm', |
|
| 5154 | + 'placeholder' => __( 'VALUE TO MATCH', 'ayecode-connect' ), |
|
| 5155 | + 'label_type' => '', |
|
| 5156 | + 'value' => '', |
|
| 5157 | + 'element_require' => '([%bsvc_rule_BSVCINDEX%]=="gd_field" && [%bsvc_gd_field_condition_BSVCINDEX%] && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_empty" && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_not_empty")' |
|
| 5158 | + ) |
|
| 5159 | + ); |
|
| 5160 | + |
|
| 5161 | + $content .= '</div>'; |
|
| 5162 | + } |
|
| 5163 | + |
|
| 5164 | + $content .= '</div>'; |
|
| 5165 | + |
|
| 5166 | + $content .= '<div class="row aui-conditional-field" data-element-require="jQuery(form).find(\'[name=bsvc_rule_BSVCINDEX]\').val()==\'user_roles\'" data-argument="bsvc_user_roles_BSVCINDEX_1"><label for="bsvc_user_roles_BSVCINDEX_1" class="form-label mb-3">' . __( 'Select User Roles:', 'ayecode-connect' ) . '</label>'; |
|
| 5167 | + $role_options = sd_user_roles_options(); |
|
| 5168 | + |
|
| 5169 | + $role_option_i = 0; |
|
| 5170 | + foreach ( $role_options as $role_option_key => $role_option_name ) { |
|
| 5171 | + $role_option_i++; |
|
| 5172 | + |
|
| 5173 | + $content .= '<div class="col-sm-6">'; |
|
| 5174 | + $content .= aui()->input( |
|
| 5175 | + array( |
|
| 5176 | + 'id' => 'bsvc_user_roles_BSVCINDEX_' . $role_option_i, |
|
| 5177 | + 'name' => 'bsvc_user_roles_BSVCINDEX[]', |
|
| 5178 | + 'type' => 'checkbox', |
|
| 5179 | + 'label' => $role_option_name, |
|
| 5180 | + 'label_type' => 'hidden', |
|
| 5181 | + 'class' => 'bsvc_user_roles', |
|
| 5182 | + 'value' => $role_option_key, |
|
| 5183 | + 'switch' => 'md', |
|
| 5184 | + 'no_wrap' => true |
|
| 5185 | + ) |
|
| 5186 | + ); |
|
| 5187 | + $content .= '</div>'; |
|
| 5188 | + } |
|
| 5189 | + $content .= '</div>'; |
|
| 5190 | + $content .= '</div>'; |
|
| 5191 | + $content .= '</div>'; |
|
| 5192 | + $content .= '<form id="bs-vc-modal-form" class="bs-vc-modal-form">'; |
|
| 5193 | + $content .= '<div class="bs-vc-rule-sets"></div>'; |
|
| 5194 | + $content .= '<div class="row"><div class="col-sm-12 text-center pt-1 pb-4"><button type="button" class="btn btn-sm btn-primary d-block w-100 bs-vc-add-rule"><i class="fas fa-plus"></i> ' . __( 'Add Rule', 'ayecode-connect' ) . '</button></div></div>'; |
|
| 5195 | + $content .= '<div class="row"><div class="col-md-6 col-sm-12">'; |
|
| 5196 | + $content .= aui()->select( |
|
| 5197 | + array( |
|
| 5198 | + 'id' => 'bsvc_output', |
|
| 5199 | + 'name' => 'bsvc_output', |
|
| 5200 | + 'label' => __( 'What should happen if rules met.', 'ayecode-connect' ), |
|
| 5201 | + 'placeholder' => __( 'Default Output', 'ayecode-connect' ), |
|
| 5202 | + 'class' => 'bsvc_output form-select-sm no-select2 mw-100', |
|
| 5203 | + 'options' => sd_visibility_output_options(), |
|
| 5204 | + 'default' => '', |
|
| 5205 | + 'value' => '', |
|
| 5206 | + 'label_type' => 'top', |
|
| 5207 | + 'select2' => false, |
|
| 5208 | + 'extra_attributes' => array( |
|
| 5209 | + 'data-minimum-results-for-search' => '-1' |
|
| 5210 | + ) |
|
| 5211 | + ) |
|
| 5212 | + ); |
|
| 5213 | + |
|
| 5214 | + $content .= '</div><div class="col-md-6 col-sm-12">'; |
|
| 5215 | + |
|
| 5216 | + $content .= aui()->select( |
|
| 5217 | + array( |
|
| 5218 | + 'id' => 'bsvc_page', |
|
| 5219 | + 'name' => 'bsvc_page', |
|
| 5220 | + 'label' => __( 'Page Content', 'ayecode-connect' ), |
|
| 5221 | + 'placeholder' => __( 'Select Page ID...', 'ayecode-connect' ), |
|
| 5222 | + 'class' => 'bsvc_page form-select-sm no-select2 mw-100', |
|
| 5223 | + 'options' => sd_template_page_options(), |
|
| 5224 | + 'default' => '', |
|
| 5225 | + 'value' => '', |
|
| 5226 | + 'label_type' => 'top', |
|
| 5227 | + 'select2' => false, |
|
| 5228 | + 'element_require' => '[%bsvc_output%]=="page"' |
|
| 5229 | + ) |
|
| 5230 | + ); |
|
| 5231 | + |
|
| 5232 | + $content .= aui()->select( |
|
| 5233 | + array( |
|
| 5234 | + 'id' => 'bsvc_tmpl_part', |
|
| 5235 | + 'name' => 'bsvc_tmpl_part', |
|
| 5236 | + 'label' => __( 'Template Part', 'ayecode-connect' ), |
|
| 5237 | + 'placeholder' => __( 'Select Template Part...', 'ayecode-connect' ), |
|
| 5238 | + 'class' => 'bsvc_tmpl_part form-select-sm no-select2 mw-100', |
|
| 5239 | + 'options' => sd_template_part_options(), |
|
| 5240 | + 'default' => '', |
|
| 5241 | + 'value' => '', |
|
| 5242 | + 'label_type' => 'top', |
|
| 5243 | + 'select2' => false, |
|
| 5244 | + 'element_require' => '[%bsvc_output%]=="template_part"', |
|
| 5245 | + 'extra_attributes' => array( |
|
| 5246 | + 'data-minimum-results-for-search' => '-1' |
|
| 5247 | + ) |
|
| 5248 | + ) |
|
| 5249 | + ); |
|
| 5250 | + |
|
| 5251 | + $content .= aui()->select( |
|
| 5252 | + array( |
|
| 5253 | + 'id' => 'bsvc_message_type', |
|
| 5254 | + 'name' => 'bsvc_message_type', |
|
| 5255 | + 'label' => __( 'Custom Message Type', 'ayecode-connect' ), |
|
| 5256 | + 'placeholder' => __( 'Default (none)', 'ayecode-connect' ), |
|
| 5257 | + 'class' => 'bsvc_message_type form-select-sm no-select2 mw-100', |
|
| 5258 | + 'options' => sd_aui_colors(), |
|
| 5259 | + 'default' => '', |
|
| 5260 | + 'value' => '', |
|
| 5261 | + 'label_type' => 'top', |
|
| 5262 | + 'select2' => false, |
|
| 5263 | + 'element_require' => '[%bsvc_output%]=="message"', |
|
| 5264 | + 'extra_attributes' => array( |
|
| 5265 | + 'data-minimum-results-for-search' => '-1' |
|
| 5266 | + ) |
|
| 5267 | + ) |
|
| 5268 | + ); |
|
| 5269 | + |
|
| 5270 | + $content .= '</div><div class="col-sm-12">'; |
|
| 5271 | + |
|
| 5272 | + $content .= aui()->input( |
|
| 5273 | + array( |
|
| 5274 | + 'type' => 'text', |
|
| 5275 | + 'id' => 'bsvc_message', |
|
| 5276 | + 'name' => 'bsvc_message', |
|
| 5277 | + 'label' => '', |
|
| 5278 | + 'class' => 'bsvc_message form-control-sm', |
|
| 5279 | + 'placeholder' => __( 'CUSTOM MESSAGE TO SHOW', 'ayecode-connect' ), |
|
| 5280 | + 'label_type' => '', |
|
| 5281 | + 'value' => '', |
|
| 5282 | + 'form_group_class' => ' ', |
|
| 5283 | + 'element_require' => '[%bsvc_output%]=="message"', |
|
| 5284 | + ) |
|
| 5285 | + ); |
|
| 5286 | + |
|
| 5287 | + $content .= '</div></div></form><input type="hidden" id="bsvc_raw_value" name="bsvc_raw_value" value="' . $value . '">'; |
|
| 5288 | + |
|
| 5289 | + return $content; |
|
| 5290 | + } |
|
| 5163 | 5291 | |
| 5164 | - $content .= '</div>'; |
|
| 5165 | - |
|
| 5166 | - $content .= '<div class="row aui-conditional-field" data-element-require="jQuery(form).find(\'[name=bsvc_rule_BSVCINDEX]\').val()==\'user_roles\'" data-argument="bsvc_user_roles_BSVCINDEX_1"><label for="bsvc_user_roles_BSVCINDEX_1" class="form-label mb-3">' . __( 'Select User Roles:', 'ayecode-connect' ) . '</label>'; |
|
| 5167 | - $role_options = sd_user_roles_options(); |
|
| 5168 | - |
|
| 5169 | - $role_option_i = 0; |
|
| 5170 | - foreach ( $role_options as $role_option_key => $role_option_name ) { |
|
| 5171 | - $role_option_i++; |
|
| 5172 | - |
|
| 5173 | - $content .= '<div class="col-sm-6">'; |
|
| 5174 | - $content .= aui()->input( |
|
| 5175 | - array( |
|
| 5176 | - 'id' => 'bsvc_user_roles_BSVCINDEX_' . $role_option_i, |
|
| 5177 | - 'name' => 'bsvc_user_roles_BSVCINDEX[]', |
|
| 5178 | - 'type' => 'checkbox', |
|
| 5179 | - 'label' => $role_option_name, |
|
| 5180 | - 'label_type' => 'hidden', |
|
| 5181 | - 'class' => 'bsvc_user_roles', |
|
| 5182 | - 'value' => $role_option_key, |
|
| 5183 | - 'switch' => 'md', |
|
| 5184 | - 'no_wrap' => true |
|
| 5185 | - ) |
|
| 5186 | - ); |
|
| 5187 | - $content .= '</div>'; |
|
| 5188 | - } |
|
| 5189 | - $content .= '</div>'; |
|
| 5190 | - $content .= '</div>'; |
|
| 5191 | - $content .= '</div>'; |
|
| 5192 | - $content .= '<form id="bs-vc-modal-form" class="bs-vc-modal-form">'; |
|
| 5193 | - $content .= '<div class="bs-vc-rule-sets"></div>'; |
|
| 5194 | - $content .= '<div class="row"><div class="col-sm-12 text-center pt-1 pb-4"><button type="button" class="btn btn-sm btn-primary d-block w-100 bs-vc-add-rule"><i class="fas fa-plus"></i> ' . __( 'Add Rule', 'ayecode-connect' ) . '</button></div></div>'; |
|
| 5195 | - $content .= '<div class="row"><div class="col-md-6 col-sm-12">'; |
|
| 5196 | - $content .= aui()->select( |
|
| 5197 | - array( |
|
| 5198 | - 'id' => 'bsvc_output', |
|
| 5199 | - 'name' => 'bsvc_output', |
|
| 5200 | - 'label' => __( 'What should happen if rules met.', 'ayecode-connect' ), |
|
| 5201 | - 'placeholder' => __( 'Default Output', 'ayecode-connect' ), |
|
| 5202 | - 'class' => 'bsvc_output form-select-sm no-select2 mw-100', |
|
| 5203 | - 'options' => sd_visibility_output_options(), |
|
| 5204 | - 'default' => '', |
|
| 5205 | - 'value' => '', |
|
| 5206 | - 'label_type' => 'top', |
|
| 5207 | - 'select2' => false, |
|
| 5208 | - 'extra_attributes' => array( |
|
| 5209 | - 'data-minimum-results-for-search' => '-1' |
|
| 5210 | - ) |
|
| 5211 | - ) |
|
| 5212 | - ); |
|
| 5213 | - |
|
| 5214 | - $content .= '</div><div class="col-md-6 col-sm-12">'; |
|
| 5215 | - |
|
| 5216 | - $content .= aui()->select( |
|
| 5217 | - array( |
|
| 5218 | - 'id' => 'bsvc_page', |
|
| 5219 | - 'name' => 'bsvc_page', |
|
| 5220 | - 'label' => __( 'Page Content', 'ayecode-connect' ), |
|
| 5221 | - 'placeholder' => __( 'Select Page ID...', 'ayecode-connect' ), |
|
| 5222 | - 'class' => 'bsvc_page form-select-sm no-select2 mw-100', |
|
| 5223 | - 'options' => sd_template_page_options(), |
|
| 5224 | - 'default' => '', |
|
| 5225 | - 'value' => '', |
|
| 5226 | - 'label_type' => 'top', |
|
| 5227 | - 'select2' => false, |
|
| 5228 | - 'element_require' => '[%bsvc_output%]=="page"' |
|
| 5229 | - ) |
|
| 5230 | - ); |
|
| 5231 | - |
|
| 5232 | - $content .= aui()->select( |
|
| 5233 | - array( |
|
| 5234 | - 'id' => 'bsvc_tmpl_part', |
|
| 5235 | - 'name' => 'bsvc_tmpl_part', |
|
| 5236 | - 'label' => __( 'Template Part', 'ayecode-connect' ), |
|
| 5237 | - 'placeholder' => __( 'Select Template Part...', 'ayecode-connect' ), |
|
| 5238 | - 'class' => 'bsvc_tmpl_part form-select-sm no-select2 mw-100', |
|
| 5239 | - 'options' => sd_template_part_options(), |
|
| 5240 | - 'default' => '', |
|
| 5241 | - 'value' => '', |
|
| 5242 | - 'label_type' => 'top', |
|
| 5243 | - 'select2' => false, |
|
| 5244 | - 'element_require' => '[%bsvc_output%]=="template_part"', |
|
| 5245 | - 'extra_attributes' => array( |
|
| 5246 | - 'data-minimum-results-for-search' => '-1' |
|
| 5247 | - ) |
|
| 5248 | - ) |
|
| 5249 | - ); |
|
| 5250 | - |
|
| 5251 | - $content .= aui()->select( |
|
| 5252 | - array( |
|
| 5253 | - 'id' => 'bsvc_message_type', |
|
| 5254 | - 'name' => 'bsvc_message_type', |
|
| 5255 | - 'label' => __( 'Custom Message Type', 'ayecode-connect' ), |
|
| 5256 | - 'placeholder' => __( 'Default (none)', 'ayecode-connect' ), |
|
| 5257 | - 'class' => 'bsvc_message_type form-select-sm no-select2 mw-100', |
|
| 5258 | - 'options' => sd_aui_colors(), |
|
| 5259 | - 'default' => '', |
|
| 5260 | - 'value' => '', |
|
| 5261 | - 'label_type' => 'top', |
|
| 5262 | - 'select2' => false, |
|
| 5263 | - 'element_require' => '[%bsvc_output%]=="message"', |
|
| 5264 | - 'extra_attributes' => array( |
|
| 5265 | - 'data-minimum-results-for-search' => '-1' |
|
| 5266 | - ) |
|
| 5267 | - ) |
|
| 5268 | - ); |
|
| 5269 | - |
|
| 5270 | - $content .= '</div><div class="col-sm-12">'; |
|
| 5271 | - |
|
| 5272 | - $content .= aui()->input( |
|
| 5273 | - array( |
|
| 5274 | - 'type' => 'text', |
|
| 5275 | - 'id' => 'bsvc_message', |
|
| 5276 | - 'name' => 'bsvc_message', |
|
| 5277 | - 'label' => '', |
|
| 5278 | - 'class' => 'bsvc_message form-control-sm', |
|
| 5279 | - 'placeholder' => __( 'CUSTOM MESSAGE TO SHOW', 'ayecode-connect' ), |
|
| 5280 | - 'label_type' => '', |
|
| 5281 | - 'value' => '', |
|
| 5282 | - 'form_group_class' => ' ', |
|
| 5283 | - 'element_require' => '[%bsvc_output%]=="message"', |
|
| 5284 | - ) |
|
| 5285 | - ); |
|
| 5286 | - |
|
| 5287 | - $content .= '</div></div></form><input type="hidden" id="bsvc_raw_value" name="bsvc_raw_value" value="' . $value . '">'; |
|
| 5288 | - |
|
| 5289 | - return $content; |
|
| 5290 | - } |
|
| 5292 | + /** |
|
| 5293 | + * Handle media_buttons hook. |
|
| 5294 | + * |
|
| 5295 | + * @since 1.2.7 |
|
| 5296 | + */ |
|
| 5297 | + public function wp_media_buttons() { |
|
| 5298 | + global $shortcode_insert_button_once; |
|
| 5291 | 5299 | |
| 5292 | - /** |
|
| 5293 | - * Handle media_buttons hook. |
|
| 5294 | - * |
|
| 5295 | - * @since 1.2.7 |
|
| 5296 | - */ |
|
| 5297 | - public function wp_media_buttons() { |
|
| 5298 | - global $shortcode_insert_button_once; |
|
| 5299 | - |
|
| 5300 | - // Fix conflicts with UpSolution Core in header template edit element. |
|
| 5301 | - if ( defined( 'US_CORE_DIR' ) && ! empty( $_REQUEST['action'] ) && $_REQUEST['action'] == 'us_ajax_hb_get_ebuilder_html' ) { |
|
| 5302 | - $shortcode_insert_button_once = true; |
|
| 5303 | - } |
|
| 5304 | - } |
|
| 5305 | - } |
|
| 5300 | + // Fix conflicts with UpSolution Core in header template edit element. |
|
| 5301 | + if ( defined( 'US_CORE_DIR' ) && ! empty( $_REQUEST['action'] ) && $_REQUEST['action'] == 'us_ajax_hb_get_ebuilder_html' ) { |
|
| 5302 | + $shortcode_insert_button_once = true; |
|
| 5303 | + } |
|
| 5304 | + } |
|
| 5305 | + } |
|
| 5306 | 5306 | } |
@@ -1,11 +1,11 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
| 2 | +if (!defined('ABSPATH')) { |
|
| 3 | 3 | exit; |
| 4 | 4 | } |
| 5 | 5 | |
| 6 | -if ( ! class_exists( 'WP_Super_Duper' ) ) { |
|
| 6 | +if (!class_exists('WP_Super_Duper')) { |
|
| 7 | 7 | |
| 8 | - define( 'SUPER_DUPER_VER', '1.2.16' ); |
|
| 8 | + define('SUPER_DUPER_VER', '1.2.16'); |
|
| 9 | 9 | |
| 10 | 10 | /** |
| 11 | 11 | * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress. |
@@ -38,40 +38,40 @@ discard block |
||
| 38 | 38 | /** |
| 39 | 39 | * Take the array options and use them to build. |
| 40 | 40 | */ |
| 41 | - public function __construct( $options ) { |
|
| 41 | + public function __construct($options) { |
|
| 42 | 42 | global $sd_widgets; |
| 43 | 43 | |
| 44 | - $sd_widgets[ $options['base_id'] ] = array( |
|
| 44 | + $sd_widgets[$options['base_id']] = array( |
|
| 45 | 45 | 'name' => $options['name'], |
| 46 | 46 | 'class_name' => $options['class_name'], |
| 47 | 47 | 'output_types' => !empty($options['output_types']) ? $options['output_types'] : array() |
| 48 | 48 | ); |
| 49 | - $this->base_id = $options['base_id']; |
|
| 49 | + $this->base_id = $options['base_id']; |
|
| 50 | 50 | // lets filter the options before we do anything |
| 51 | - $options = apply_filters( "wp_super_duper_options", $options ); |
|
| 52 | - $options = apply_filters( "wp_super_duper_options_{$this->base_id}", $options ); |
|
| 53 | - $options = $this->add_name_from_key( $options ); |
|
| 51 | + $options = apply_filters("wp_super_duper_options", $options); |
|
| 52 | + $options = apply_filters("wp_super_duper_options_{$this->base_id}", $options); |
|
| 53 | + $options = $this->add_name_from_key($options); |
|
| 54 | 54 | $this->options = $options; |
| 55 | 55 | |
| 56 | 56 | $this->base_id = $options['base_id']; |
| 57 | - $this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array(); |
|
| 57 | + $this->arguments = isset($options['arguments']) ? $options['arguments'] : array(); |
|
| 58 | 58 | |
| 59 | 59 | // nested blocks can't work as a widget |
| 60 | - if(!empty($this->options['nested-block'])){ |
|
| 61 | - if(empty($this->options['output_types'])){ |
|
| 62 | - $this->options['output_types'] = array('shortcode','block'); |
|
| 60 | + if (!empty($this->options['nested-block'])) { |
|
| 61 | + if (empty($this->options['output_types'])) { |
|
| 62 | + $this->options['output_types'] = array('shortcode', 'block'); |
|
| 63 | 63 | }elseif (($key = array_search('widget', $this->options['output_types'])) !== false) { |
| 64 | 64 | unset($this->options['output_types'][$key]); |
| 65 | 65 | } |
| 66 | 66 | } |
| 67 | 67 | |
| 68 | 68 | // init parent |
| 69 | - if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){ |
|
| 70 | - parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] ); |
|
| 69 | + if (empty($this->options['output_types']) || in_array('widget', $this->options['output_types'])) { |
|
| 70 | + parent::__construct($options['base_id'], $options['name'], $options['widget_ops']); |
|
| 71 | 71 | } |
| 72 | 72 | |
| 73 | 73 | |
| 74 | - if ( isset( $options['class_name'] ) ) { |
|
| 74 | + if (isset($options['class_name'])) { |
|
| 75 | 75 | // register widget |
| 76 | 76 | $this->class_name = $options['class_name']; |
| 77 | 77 | |
@@ -80,67 +80,67 @@ discard block |
||
| 80 | 80 | |
| 81 | 81 | |
| 82 | 82 | // Fusion Builder (avada) support |
| 83 | - if ( function_exists( 'fusion_builder_map' ) ) { |
|
| 84 | - add_action( 'init', array( $this, 'register_fusion_element' ) ); |
|
| 83 | + if (function_exists('fusion_builder_map')) { |
|
| 84 | + add_action('init', array($this, 'register_fusion_element')); |
|
| 85 | 85 | } |
| 86 | 86 | |
| 87 | 87 | // maybe load the Bricks transformer class |
| 88 | - if( class_exists('\Bricks\Elements', false) ){ |
|
| 89 | - add_action( 'init', array( $this, 'load_bricks_element_class' ) ); |
|
| 88 | + if (class_exists('\Bricks\Elements', false)) { |
|
| 89 | + add_action('init', array($this, 'load_bricks_element_class')); |
|
| 90 | 90 | } |
| 91 | 91 | |
| 92 | 92 | // register block |
| 93 | - if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){ |
|
| 94 | - add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) ); |
|
| 93 | + if (empty($this->options['output_types']) || in_array('block', $this->options['output_types'])) { |
|
| 94 | + add_action('admin_enqueue_scripts', array($this, 'register_block')); |
|
| 95 | 95 | } |
| 96 | 96 | } |
| 97 | 97 | |
| 98 | 98 | // add the CSS and JS we need ONCE |
| 99 | 99 | global $sd_widget_scripts; |
| 100 | 100 | |
| 101 | - if ( ! $sd_widget_scripts ) { |
|
| 102 | - wp_add_inline_script( 'admin-widgets', $this->widget_js() ); |
|
| 103 | - wp_add_inline_script( 'customize-controls', $this->widget_js() ); |
|
| 104 | - wp_add_inline_style( 'widgets', $this->widget_css() ); |
|
| 101 | + if (!$sd_widget_scripts) { |
|
| 102 | + wp_add_inline_script('admin-widgets', $this->widget_js()); |
|
| 103 | + wp_add_inline_script('customize-controls', $this->widget_js()); |
|
| 104 | + wp_add_inline_style('widgets', $this->widget_css()); |
|
| 105 | 105 | |
| 106 | 106 | // maybe add elementor editor styles |
| 107 | - add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) ); |
|
| 107 | + add_action('elementor/editor/after_enqueue_styles', array($this, 'elementor_editor_styles')); |
|
| 108 | 108 | |
| 109 | 109 | $sd_widget_scripts = true; |
| 110 | 110 | |
| 111 | 111 | // add shortcode insert button once |
| 112 | - add_action( 'media_buttons', array( $this, 'wp_media_buttons' ), 1 ); |
|
| 113 | - add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) ); |
|
| 112 | + add_action('media_buttons', array($this, 'wp_media_buttons'), 1); |
|
| 113 | + add_action('media_buttons', array($this, 'shortcode_insert_button')); |
|
| 114 | 114 | // generatepress theme sections compatibility |
| 115 | - if ( function_exists( 'generate_sections_sections_metabox' ) ) { |
|
| 116 | - add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 115 | + if (function_exists('generate_sections_sections_metabox')) { |
|
| 116 | + add_action('generate_sections_metabox', array($this, 'shortcode_insert_button_script')); |
|
| 117 | 117 | } |
| 118 | 118 | /* Load script on Divi theme builder page */ |
| 119 | - if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) { |
|
| 119 | + if (function_exists('et_builder_is_tb_admin_screen') && et_builder_is_tb_admin_screen()) { |
|
| 120 | 120 | add_thickbox(); |
| 121 | - add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 121 | + add_action('admin_footer', array($this, 'shortcode_insert_button_script')); |
|
| 122 | 122 | } |
| 123 | 123 | |
| 124 | - if ( $this->is_preview() ) { |
|
| 125 | - add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) ); |
|
| 124 | + if ($this->is_preview()) { |
|
| 125 | + add_action('wp_footer', array($this, 'shortcode_insert_button_script')); |
|
| 126 | 126 | // this makes the insert button work for elementor |
| 127 | - add_action( 'elementor/editor/after_enqueue_scripts', array( |
|
| 127 | + add_action('elementor/editor/after_enqueue_scripts', array( |
|
| 128 | 128 | $this, |
| 129 | 129 | 'shortcode_insert_button_script' |
| 130 | - ) ); // for elementor |
|
| 130 | + )); // for elementor |
|
| 131 | 131 | } |
| 132 | 132 | // this makes the insert button work for cornerstone |
| 133 | - add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) ); |
|
| 133 | + add_action('wp_print_footer_scripts', array(__CLASS__, 'maybe_cornerstone_builder')); |
|
| 134 | 134 | |
| 135 | - add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) ); |
|
| 136 | - add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) ); |
|
| 135 | + add_action('wp_ajax_super_duper_get_widget_settings', array(__CLASS__, 'get_widget_settings')); |
|
| 136 | + add_action('wp_ajax_super_duper_get_picker', array(__CLASS__, 'get_picker')); |
|
| 137 | 137 | |
| 138 | 138 | // add generator text to head |
| 139 | - add_action( 'admin_head', array( $this, 'generator' ), 99 ); |
|
| 140 | - add_action( 'wp_head', array( $this, 'generator' ), 99 ); |
|
| 139 | + add_action('admin_head', array($this, 'generator'), 99); |
|
| 140 | + add_action('wp_head', array($this, 'generator'), 99); |
|
| 141 | 141 | } |
| 142 | 142 | |
| 143 | - do_action( 'wp_super_duper_widget_init', $options, $this ); |
|
| 143 | + do_action('wp_super_duper_widget_init', $options, $this); |
|
| 144 | 144 | } |
| 145 | 145 | |
| 146 | 146 | /** |
@@ -156,7 +156,7 @@ discard block |
||
| 156 | 156 | * @return void |
| 157 | 157 | */ |
| 158 | 158 | public function _register() { |
| 159 | - if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){ |
|
| 159 | + if (empty($this->options['output_types']) || in_array('widget', $this->options['output_types'])) { |
|
| 160 | 160 | parent::_register(); |
| 161 | 161 | } |
| 162 | 162 | } |
@@ -165,14 +165,14 @@ discard block |
||
| 165 | 165 | * Add our widget CSS to elementor editor. |
| 166 | 166 | */ |
| 167 | 167 | public function elementor_editor_styles() { |
| 168 | - wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) ); |
|
| 168 | + wp_add_inline_style('elementor-editor', $this->widget_css(false)); |
|
| 169 | 169 | } |
| 170 | 170 | |
| 171 | 171 | public function register_fusion_element() { |
| 172 | 172 | |
| 173 | 173 | $options = $this->options; |
| 174 | 174 | |
| 175 | - if ( $this->base_id ) { |
|
| 175 | + if ($this->base_id) { |
|
| 176 | 176 | |
| 177 | 177 | $params = $this->get_fusion_params(); |
| 178 | 178 | |
@@ -183,11 +183,11 @@ discard block |
||
| 183 | 183 | 'allow_generator' => true, |
| 184 | 184 | ); |
| 185 | 185 | |
| 186 | - if ( ! empty( $params ) ) { |
|
| 186 | + if (!empty($params)) { |
|
| 187 | 187 | $args['params'] = $params; |
| 188 | 188 | } |
| 189 | 189 | |
| 190 | - fusion_builder_map( $args ); |
|
| 190 | + fusion_builder_map($args); |
|
| 191 | 191 | } |
| 192 | 192 | |
| 193 | 193 | } |
@@ -196,8 +196,8 @@ discard block |
||
| 196 | 196 | $params = array(); |
| 197 | 197 | $arguments = $this->get_arguments(); |
| 198 | 198 | |
| 199 | - if ( ! empty( $arguments ) ) { |
|
| 200 | - foreach ( $arguments as $key => $val ) { |
|
| 199 | + if (!empty($arguments)) { |
|
| 200 | + foreach ($arguments as $key => $val) { |
|
| 201 | 201 | $param = array(); |
| 202 | 202 | // type |
| 203 | 203 | $param['type'] = str_replace( |
@@ -219,38 +219,38 @@ discard block |
||
| 219 | 219 | $val['type'] ); |
| 220 | 220 | |
| 221 | 221 | // multiselect |
| 222 | - if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) { |
|
| 222 | + if ($val['type'] == 'multiselect' || (($param['type'] == 'select' || $val['type'] == 'select') && !empty($val['multiple']))) { |
|
| 223 | 223 | $param['type'] = 'multiple_select'; |
| 224 | 224 | $param['multiple'] = true; |
| 225 | 225 | } |
| 226 | 226 | |
| 227 | 227 | // heading |
| 228 | - $param['heading'] = isset( $val['title'] ) ? $val['title'] : ''; |
|
| 228 | + $param['heading'] = isset($val['title']) ? $val['title'] : ''; |
|
| 229 | 229 | |
| 230 | 230 | // description |
| 231 | - $param['description'] = isset( $val['desc'] ) ? $val['desc'] : ''; |
|
| 231 | + $param['description'] = isset($val['desc']) ? $val['desc'] : ''; |
|
| 232 | 232 | |
| 233 | 233 | // param_name |
| 234 | 234 | $param['param_name'] = $key; |
| 235 | 235 | |
| 236 | 236 | // Default |
| 237 | - $param['default'] = isset( $val['default'] ) ? $val['default'] : ''; |
|
| 237 | + $param['default'] = isset($val['default']) ? $val['default'] : ''; |
|
| 238 | 238 | |
| 239 | 239 | // Group |
| 240 | - if ( isset( $val['group'] ) ) { |
|
| 240 | + if (isset($val['group'])) { |
|
| 241 | 241 | $param['group'] = $val['group']; |
| 242 | 242 | } |
| 243 | 243 | |
| 244 | 244 | // value |
| 245 | - if ( $val['type'] == 'checkbox' ) { |
|
| 246 | - if ( isset( $val['default'] ) && $val['default'] == '0' ) { |
|
| 247 | - unset( $param['default'] ); |
|
| 245 | + if ($val['type'] == 'checkbox') { |
|
| 246 | + if (isset($val['default']) && $val['default'] == '0') { |
|
| 247 | + unset($param['default']); |
|
| 248 | 248 | } |
| 249 | - $param['value'] = array( '0' => __( "No", 'ayecode-connect' ), '1' => __( "Yes", 'ayecode-connect' ) ); |
|
| 250 | - } elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) { |
|
| 251 | - $param['value'] = isset( $val['options'] ) ? $val['options'] : array(); |
|
| 249 | + $param['value'] = array('0' => __("No", 'ayecode-connect'), '1' => __("Yes", 'ayecode-connect')); |
|
| 250 | + } elseif ($param['type'] == 'select' || $param['type'] == 'multiple_select') { |
|
| 251 | + $param['value'] = isset($val['options']) ? $val['options'] : array(); |
|
| 252 | 252 | } else { |
| 253 | - $param['value'] = isset( $val['default'] ) ? $val['default'] : ''; |
|
| 253 | + $param['value'] = isset($val['default']) ? $val['default'] : ''; |
|
| 254 | 254 | } |
| 255 | 255 | |
| 256 | 256 | // setup the param |
@@ -267,7 +267,7 @@ discard block |
||
| 267 | 267 | * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder |
| 268 | 268 | */ |
| 269 | 269 | public static function maybe_cornerstone_builder() { |
| 270 | - if ( did_action( 'cornerstone_before_boot_app' ) ) { |
|
| 270 | + if (did_action('cornerstone_before_boot_app')) { |
|
| 271 | 271 | self::shortcode_insert_button_script(); |
| 272 | 272 | } |
| 273 | 273 | } |
@@ -279,12 +279,12 @@ discard block |
||
| 279 | 279 | * |
| 280 | 280 | * @return string |
| 281 | 281 | */ |
| 282 | - public static function get_picker( $editor_id = '' ) { |
|
| 282 | + public static function get_picker($editor_id = '') { |
|
| 283 | 283 | |
| 284 | 284 | ob_start(); |
| 285 | - if ( isset( $_POST['editor_id'] ) ) { |
|
| 286 | - $editor_id = esc_attr( $_POST['editor_id'] ); |
|
| 287 | - } elseif ( isset( $_REQUEST['et_fb'] ) ) { |
|
| 285 | + if (isset($_POST['editor_id'])) { |
|
| 286 | + $editor_id = esc_attr($_POST['editor_id']); |
|
| 287 | + } elseif (isset($_REQUEST['et_fb'])) { |
|
| 288 | 288 | $editor_id = 'main_content_content_vb_tiny_mce'; |
| 289 | 289 | } |
| 290 | 290 | |
@@ -295,14 +295,14 @@ discard block |
||
| 295 | 295 | |
| 296 | 296 | <div class="sd-shortcode-left-wrap"> |
| 297 | 297 | <?php |
| 298 | - ksort( $sd_widgets ); |
|
| 298 | + ksort($sd_widgets); |
|
| 299 | 299 | // print_r($sd_widgets);exit; |
| 300 | - if ( ! empty( $sd_widgets ) ) { |
|
| 300 | + if (!empty($sd_widgets)) { |
|
| 301 | 301 | echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">'; |
| 302 | - echo "<option>" . __( 'Select shortcode', 'ayecode-connect' ) . "</option>"; |
|
| 303 | - foreach ( $sd_widgets as $shortcode => $class ) { |
|
| 304 | - if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; } |
|
| 305 | - echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>"; |
|
| 302 | + echo "<option>" . __('Select shortcode', 'ayecode-connect') . "</option>"; |
|
| 303 | + foreach ($sd_widgets as $shortcode => $class) { |
|
| 304 | + if (!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])) { continue; } |
|
| 305 | + echo "<option value='" . esc_attr($shortcode) . "'>" . esc_attr($shortcode) . " (" . esc_attr($class['name']) . ")</option>"; |
|
| 306 | 306 | } |
| 307 | 307 | echo "</select>"; |
| 308 | 308 | |
@@ -315,37 +315,37 @@ discard block |
||
| 315 | 315 | <div class="sd-shortcode-right-wrap"> |
| 316 | 316 | <textarea id='sd-shortcode-output' disabled></textarea> |
| 317 | 317 | <div id='sd-shortcode-output-actions'> |
| 318 | - <?php if ( $editor_id != '' ) { ?> |
|
| 318 | + <?php if ($editor_id != '') { ?> |
|
| 319 | 319 | <button class="button sd-insert-shortcode-button" |
| 320 | - onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) { |
|
| 320 | + onclick="sd_insert_shortcode(<?php if (!empty($editor_id)) { |
|
| 321 | 321 | echo "'" . $editor_id . "'"; |
| 322 | - } ?>)"><?php _e( 'Insert shortcode', 'ayecode-connect' ); ?></button> |
|
| 322 | + } ?>)"><?php _e('Insert shortcode', 'ayecode-connect'); ?></button> |
|
| 323 | 323 | <?php } ?> |
| 324 | 324 | <button class="button" |
| 325 | - onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button> |
|
| 325 | + onclick="sd_copy_to_clipboard()"><?php _e('Copy shortcode'); ?></button> |
|
| 326 | 326 | </div> |
| 327 | 327 | </div> |
| 328 | 328 | <?php |
| 329 | 329 | |
| 330 | 330 | $html = ob_get_clean(); |
| 331 | 331 | |
| 332 | - if ( wp_doing_ajax() ) { |
|
| 332 | + if (wp_doing_ajax()) { |
|
| 333 | 333 | echo $html; |
| 334 | 334 | $should_die = true; |
| 335 | 335 | |
| 336 | 336 | // some builder get the editor via ajax so we should not die on those occasions |
| 337 | 337 | $dont_die = array( |
| 338 | - 'parent_tag',// WP Bakery |
|
| 338 | + 'parent_tag', // WP Bakery |
|
| 339 | 339 | 'avia_request' // enfold |
| 340 | 340 | ); |
| 341 | 341 | |
| 342 | - foreach ( $dont_die as $request ) { |
|
| 343 | - if ( isset( $_REQUEST[ $request ] ) ) { |
|
| 342 | + foreach ($dont_die as $request) { |
|
| 343 | + if (isset($_REQUEST[$request])) { |
|
| 344 | 344 | $should_die = false; |
| 345 | 345 | } |
| 346 | 346 | } |
| 347 | 347 | |
| 348 | - if ( $should_die ) { |
|
| 348 | + if ($should_die) { |
|
| 349 | 349 | wp_die(); |
| 350 | 350 | } |
| 351 | 351 | |
@@ -361,22 +361,22 @@ discard block |
||
| 361 | 361 | * Output the version in the header. |
| 362 | 362 | */ |
| 363 | 363 | public function generator() { |
| 364 | - $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) ); |
|
| 365 | - $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) ); |
|
| 364 | + $file = str_replace(array("/", "\\"), "/", realpath(__FILE__)); |
|
| 365 | + $plugins_dir = str_replace(array("/", "\\"), "/", realpath(WP_PLUGIN_DIR)); |
|
| 366 | 366 | |
| 367 | 367 | // Find source plugin/theme of SD |
| 368 | 368 | $source = array(); |
| 369 | - if ( strpos( $file, $plugins_dir ) !== false ) { |
|
| 370 | - $source = explode( "/", plugin_basename( $file ) ); |
|
| 371 | - } else if ( function_exists( 'get_theme_root' ) ) { |
|
| 372 | - $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) ); |
|
| 369 | + if (strpos($file, $plugins_dir) !== false) { |
|
| 370 | + $source = explode("/", plugin_basename($file)); |
|
| 371 | + } else if (function_exists('get_theme_root')) { |
|
| 372 | + $themes_dir = str_replace(array("/", "\\"), "/", realpath(get_theme_root())); |
|
| 373 | 373 | |
| 374 | - if ( strpos( $file, $themes_dir ) !== false ) { |
|
| 375 | - $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) ); |
|
| 374 | + if (strpos($file, $themes_dir) !== false) { |
|
| 375 | + $source = explode("/", ltrim(str_replace($themes_dir, "", $file), "/")); |
|
| 376 | 376 | } |
| 377 | 377 | } |
| 378 | 378 | |
| 379 | - echo '<meta name="generator" content="WP Super Duper v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />'; |
|
| 379 | + echo '<meta name="generator" content="WP Super Duper v' . esc_attr($this->version) . '"' . (!empty($source[0]) ? ' data-sd-source="' . esc_attr($source[0]) . '"' : '') . ' />'; |
|
| 380 | 380 | } |
| 381 | 381 | |
| 382 | 382 | /** |
@@ -387,16 +387,16 @@ discard block |
||
| 387 | 387 | public static function get_widget_settings() { |
| 388 | 388 | global $sd_widgets; |
| 389 | 389 | |
| 390 | - $shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : ''; |
|
| 391 | - if ( ! $shortcode ) { |
|
| 390 | + $shortcode = isset($_REQUEST['shortcode']) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes($_REQUEST['shortcode']) : ''; |
|
| 391 | + if (!$shortcode) { |
|
| 392 | 392 | wp_die(); |
| 393 | 393 | } |
| 394 | - $widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : ''; |
|
| 395 | - if ( ! $widget_args ) { |
|
| 394 | + $widget_args = isset($sd_widgets[$shortcode]) ? $sd_widgets[$shortcode] : ''; |
|
| 395 | + if (!$widget_args) { |
|
| 396 | 396 | wp_die(); |
| 397 | 397 | } |
| 398 | - $class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : ''; |
|
| 399 | - if ( ! $class_name ) { |
|
| 398 | + $class_name = isset($widget_args['class_name']) && $widget_args['class_name'] ? $widget_args['class_name'] : ''; |
|
| 399 | + if (!$class_name) { |
|
| 400 | 400 | wp_die(); |
| 401 | 401 | } |
| 402 | 402 | |
@@ -404,7 +404,7 @@ discard block |
||
| 404 | 404 | $widget = new $class_name; |
| 405 | 405 | |
| 406 | 406 | ob_start(); |
| 407 | - $widget->form( array() ); |
|
| 407 | + $widget->form(array()); |
|
| 408 | 408 | $form = ob_get_clean(); |
| 409 | 409 | echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>"; |
| 410 | 410 | echo "<style>" . $widget->widget_css() . "</style>"; |
@@ -423,9 +423,9 @@ discard block |
||
| 423 | 423 | *@since 1.0.0 |
| 424 | 424 | * |
| 425 | 425 | */ |
| 426 | - public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) { |
|
| 426 | + public static function shortcode_insert_button($editor_id = '', $insert_shortcode_function = '') { |
|
| 427 | 427 | global $sd_widgets, $shortcode_insert_button_once; |
| 428 | - if ( $shortcode_insert_button_once ) { |
|
| 428 | + if ($shortcode_insert_button_once) { |
|
| 429 | 429 | return; |
| 430 | 430 | } |
| 431 | 431 | add_thickbox(); |
@@ -435,21 +435,21 @@ discard block |
||
| 435 | 435 | * Cornerstone makes us play dirty tricks :/ |
| 436 | 436 | * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed. |
| 437 | 437 | */ |
| 438 | - if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) { |
|
| 438 | + if (function_exists('cornerstone_plugin_init') && !is_admin()) { |
|
| 439 | 439 | echo '<span id="insert-media-button">'; |
| 440 | 440 | } |
| 441 | 441 | |
| 442 | - echo self::shortcode_button( 'this', 'true' ); |
|
| 442 | + echo self::shortcode_button('this', 'true'); |
|
| 443 | 443 | |
| 444 | 444 | // see opening note |
| 445 | - if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) { |
|
| 445 | + if (function_exists('cornerstone_plugin_init') && !is_admin()) { |
|
| 446 | 446 | echo '</span>'; // end #insert-media-button |
| 447 | 447 | } |
| 448 | 448 | |
| 449 | 449 | // Add separate script for generatepress theme sections |
| 450 | - if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) { |
|
| 450 | + if (function_exists('generate_sections_sections_metabox') && did_action('generate_sections_metabox')) { |
|
| 451 | 451 | } else { |
| 452 | - self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function ); |
|
| 452 | + self::shortcode_insert_button_script($editor_id, $insert_shortcode_function); |
|
| 453 | 453 | } |
| 454 | 454 | |
| 455 | 455 | $shortcode_insert_button_once = true; |
@@ -463,12 +463,12 @@ discard block |
||
| 463 | 463 | * |
| 464 | 464 | * @return mixed |
| 465 | 465 | */ |
| 466 | - public static function shortcode_button( $id = '', $search_for_id = '' ) { |
|
| 466 | + public static function shortcode_button($id = '', $search_for_id = '') { |
|
| 467 | 467 | ob_start(); |
| 468 | 468 | ?> |
| 469 | 469 | <span class="sd-lable-shortcode-inserter"> |
| 470 | 470 | <a onclick="sd_ajax_get_picker(<?php echo $id; |
| 471 | - if ( $search_for_id ) { |
|
| 471 | + if ($search_for_id) { |
|
| 472 | 472 | echo "," . $search_for_id; |
| 473 | 473 | } ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed" |
| 474 | 474 | class="thickbox button super-duper-content-open" title="Add Shortcode"> |
@@ -484,7 +484,7 @@ discard block |
||
| 484 | 484 | $html = ob_get_clean(); |
| 485 | 485 | |
| 486 | 486 | // remove line breaks so we can use it in js |
| 487 | - return preg_replace( "/\r|\n/", "", trim( $html ) ); |
|
| 487 | + return preg_replace("/\r|\n/", "", trim($html)); |
|
| 488 | 488 | } |
| 489 | 489 | |
| 490 | 490 | /** |
@@ -542,7 +542,7 @@ discard block |
||
| 542 | 542 | jQuery($this).data('sd-widget-enabled', true); |
| 543 | 543 | } |
| 544 | 544 | |
| 545 | - var $button = '<button title="<?php _e( 'Advanced Settings', 'ayecode-connect' );?>" class="button button-primary right sd-advanced-button" onclick="sd_so_toggle_advanced(this);return false;"><i class="fas fa-sliders-h" aria-hidden="true"></i></button>'; |
|
| 545 | + var $button = '<button title="<?php _e('Advanced Settings', 'ayecode-connect'); ?>" class="button button-primary right sd-advanced-button" onclick="sd_so_toggle_advanced(this);return false;"><i class="fas fa-sliders-h" aria-hidden="true"></i></button>'; |
|
| 546 | 546 | var form = jQuery($this).parents('' + $selector + ''); |
| 547 | 547 | |
| 548 | 548 | if (jQuery($this).val() == '1' && jQuery(form).find('.sd-advanced-button').length == 0) { |
@@ -577,10 +577,10 @@ discard block |
||
| 577 | 577 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 578 | 578 | */ |
| 579 | 579 | |
| 580 | - return str_replace( array( |
|
| 580 | + return str_replace(array( |
|
| 581 | 581 | '<script>', |
| 582 | 582 | '</script>' |
| 583 | - ), '', $output ); |
|
| 583 | + ), '', $output); |
|
| 584 | 584 | } |
| 585 | 585 | |
| 586 | 586 | /** |
@@ -592,7 +592,7 @@ discard block |
||
| 592 | 592 | *@since 1.0.6 |
| 593 | 593 | * |
| 594 | 594 | */ |
| 595 | - public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) { |
|
| 595 | + public static function shortcode_insert_button_script($editor_id = '', $insert_shortcode_function = '') { |
|
| 596 | 596 | ?> |
| 597 | 597 | <style> |
| 598 | 598 | .sd-shortcode-left-wrap { |
@@ -711,25 +711,25 @@ discard block |
||
| 711 | 711 | width: 100%; |
| 712 | 712 | } |
| 713 | 713 | |
| 714 | - <?php if ( function_exists( 'generate_sections_sections_metabox' ) ) { ?> |
|
| 714 | + <?php if (function_exists('generate_sections_sections_metabox')) { ?> |
|
| 715 | 715 | .generate-sections-modal #custom-media-buttons > .sd-lable-shortcode-inserter { |
| 716 | 716 | display: inline; |
| 717 | 717 | } |
| 718 | 718 | <?php } ?> |
| 719 | - <?php if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) { ?> |
|
| 719 | + <?php if (function_exists('et_builder_is_tb_admin_screen') && et_builder_is_tb_admin_screen()) { ?> |
|
| 720 | 720 | body.divi_page_et_theme_builder div#TB_window.gd-tb-window{z-index:9999999} |
| 721 | 721 | <?php } ?> |
| 722 | 722 | </style> |
| 723 | 723 | <?php |
| 724 | - if ( class_exists( 'SiteOrigin_Panels' ) ) { |
|
| 724 | + if (class_exists('SiteOrigin_Panels')) { |
|
| 725 | 725 | echo "<script>" . self::siteorigin_js() . "</script>"; |
| 726 | 726 | } |
| 727 | 727 | ?> |
| 728 | 728 | <script> |
| 729 | 729 | <?php |
| 730 | - if(! empty( $insert_shortcode_function )){ |
|
| 730 | + if (!empty($insert_shortcode_function)) { |
|
| 731 | 731 | echo $insert_shortcode_function; |
| 732 | - }else{ |
|
| 732 | + } else { |
|
| 733 | 733 | |
| 734 | 734 | /** |
| 735 | 735 | * Function for super duper insert shortcode. |
@@ -742,9 +742,9 @@ discard block |
||
| 742 | 742 | if ($shortcode) { |
| 743 | 743 | if (!$editor_id) { |
| 744 | 744 | <?php |
| 745 | - if ( isset( $_REQUEST['et_fb'] ) ) { |
|
| 745 | + if (isset($_REQUEST['et_fb'])) { |
|
| 746 | 746 | echo '$editor_id = "#main_content_content_vb_tiny_mce";'; |
| 747 | - } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) { |
|
| 747 | + } elseif (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') { |
|
| 748 | 748 | echo '$editor_id = "#elementor-controls .wp-editor-container textarea";'; |
| 749 | 749 | } else { |
| 750 | 750 | echo '$editor_id = "#wp-content-editor-container textarea";'; |
@@ -827,11 +827,11 @@ discard block |
||
| 827 | 827 | 'shortcode': $short_code, |
| 828 | 828 | 'attributes': 123, |
| 829 | 829 | 'post_id': 321, |
| 830 | - '_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>' |
|
| 830 | + '_ajax_nonce': '<?php echo wp_create_nonce('super_duper_output_shortcode'); ?>' |
|
| 831 | 831 | }; |
| 832 | 832 | |
| 833 | 833 | if (typeof ajaxurl === 'undefined') { |
| 834 | - var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' );?>"; |
|
| 834 | + var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>"; |
|
| 835 | 835 | } |
| 836 | 836 | |
| 837 | 837 | jQuery.post(ajaxurl, data, function (response) { |
@@ -1030,11 +1030,11 @@ discard block |
||
| 1030 | 1030 | var data = { |
| 1031 | 1031 | 'action': 'super_duper_get_picker', |
| 1032 | 1032 | 'editor_id': $id, |
| 1033 | - '_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_picker' );?>' |
|
| 1033 | + '_ajax_nonce': '<?php echo wp_create_nonce('super_duper_picker'); ?>' |
|
| 1034 | 1034 | }; |
| 1035 | 1035 | |
| 1036 | 1036 | if (!ajaxurl) { |
| 1037 | - var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' ); ?>"; |
|
| 1037 | + var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>"; |
|
| 1038 | 1038 | } |
| 1039 | 1039 | |
| 1040 | 1040 | jQuery.post(ajaxurl, data, function (response) { |
@@ -1056,9 +1056,9 @@ discard block |
||
| 1056 | 1056 | */ |
| 1057 | 1057 | function sd_shortcode_button($id) { |
| 1058 | 1058 | if ($id) { |
| 1059 | - return '<?php echo self::shortcode_button( "\\''+\$id+'\\'" );?>'; |
|
| 1059 | + return '<?php echo self::shortcode_button("\\''+\$id+'\\'"); ?>'; |
|
| 1060 | 1060 | } else { |
| 1061 | - return '<?php echo self::shortcode_button();?>'; |
|
| 1061 | + return '<?php echo self::shortcode_button(); ?>'; |
|
| 1062 | 1062 | } |
| 1063 | 1063 | } |
| 1064 | 1064 | </script> |
@@ -1072,11 +1072,11 @@ discard block |
||
| 1072 | 1072 | * |
| 1073 | 1073 | * @return mixed |
| 1074 | 1074 | */ |
| 1075 | - public function widget_css( $advanced = true ) { |
|
| 1075 | + public function widget_css($advanced = true) { |
|
| 1076 | 1076 | ob_start(); |
| 1077 | 1077 | ?> |
| 1078 | 1078 | <style> |
| 1079 | - <?php if( $advanced ){ ?> |
|
| 1079 | + <?php if ($advanced) { ?> |
|
| 1080 | 1080 | .sd-advanced-setting { |
| 1081 | 1081 | display: none; |
| 1082 | 1082 | } |
@@ -1120,10 +1120,10 @@ discard block |
||
| 1120 | 1120 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 1121 | 1121 | */ |
| 1122 | 1122 | |
| 1123 | - return str_replace( array( |
|
| 1123 | + return str_replace(array( |
|
| 1124 | 1124 | '<style>', |
| 1125 | 1125 | '</style>' |
| 1126 | - ), '', $output ); |
|
| 1126 | + ), '', $output); |
|
| 1127 | 1127 | } |
| 1128 | 1128 | |
| 1129 | 1129 | /** |
@@ -1190,7 +1190,7 @@ discard block |
||
| 1190 | 1190 | jQuery($this).data('sd-widget-enabled', true); |
| 1191 | 1191 | } |
| 1192 | 1192 | |
| 1193 | - var $button = '<button title="<?php _e( 'Advanced Settings', 'ayecode-connect' );?>" style="line-height: 28px;" class="button button-primary right sd-advanced-button" onclick="sd_toggle_advanced(this);return false;"><span class="dashicons dashicons-admin-settings" style="width: 28px;font-size: 28px;"></span></button>'; |
|
| 1193 | + var $button = '<button title="<?php _e('Advanced Settings', 'ayecode-connect'); ?>" style="line-height: 28px;" class="button button-primary right sd-advanced-button" onclick="sd_toggle_advanced(this);return false;"><span class="dashicons dashicons-admin-settings" style="width: 28px;font-size: 28px;"></span></button>'; |
|
| 1194 | 1194 | var form = $form ? $form : jQuery($this).parents('' + $selector + ''); |
| 1195 | 1195 | |
| 1196 | 1196 | if (jQuery($this).val() == '1' && jQuery(form).find('.sd-advanced-button').length == 0) { |
@@ -1281,7 +1281,7 @@ discard block |
||
| 1281 | 1281 | }); |
| 1282 | 1282 | |
| 1283 | 1283 | } |
| 1284 | - <?php do_action( 'wp_super_duper_widget_js', $this ); ?> |
|
| 1284 | + <?php do_action('wp_super_duper_widget_js', $this); ?> |
|
| 1285 | 1285 | </script> |
| 1286 | 1286 | <?php |
| 1287 | 1287 | $output = ob_get_clean(); |
@@ -1290,10 +1290,10 @@ discard block |
||
| 1290 | 1290 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 1291 | 1291 | */ |
| 1292 | 1292 | |
| 1293 | - return str_replace( array( |
|
| 1293 | + return str_replace(array( |
|
| 1294 | 1294 | '<script>', |
| 1295 | 1295 | '</script>' |
| 1296 | - ), '', $output ); |
|
| 1296 | + ), '', $output); |
|
| 1297 | 1297 | } |
| 1298 | 1298 | |
| 1299 | 1299 | |
@@ -1304,14 +1304,14 @@ discard block |
||
| 1304 | 1304 | * |
| 1305 | 1305 | * @return mixed |
| 1306 | 1306 | */ |
| 1307 | - private function add_name_from_key( $options, $arguments = false ) { |
|
| 1308 | - if ( ! empty( $options['arguments'] ) ) { |
|
| 1309 | - foreach ( $options['arguments'] as $key => $val ) { |
|
| 1310 | - $options['arguments'][ $key ]['name'] = $key; |
|
| 1307 | + private function add_name_from_key($options, $arguments = false) { |
|
| 1308 | + if (!empty($options['arguments'])) { |
|
| 1309 | + foreach ($options['arguments'] as $key => $val) { |
|
| 1310 | + $options['arguments'][$key]['name'] = $key; |
|
| 1311 | 1311 | } |
| 1312 | - } elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) { |
|
| 1313 | - foreach ( $options as $key => $val ) { |
|
| 1314 | - $options[ $key ]['name'] = $key; |
|
| 1312 | + } elseif ($arguments && is_array($options) && !empty($options)) { |
|
| 1313 | + foreach ($options as $key => $val) { |
|
| 1314 | + $options[$key]['name'] = $key; |
|
| 1315 | 1315 | } |
| 1316 | 1316 | } |
| 1317 | 1317 | |
@@ -1324,8 +1324,8 @@ discard block |
||
| 1324 | 1324 | * @since 1.0.0 |
| 1325 | 1325 | */ |
| 1326 | 1326 | public function register_shortcode() { |
| 1327 | - add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) ); |
|
| 1328 | - add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) ); |
|
| 1327 | + add_shortcode($this->base_id, array($this, 'shortcode_output')); |
|
| 1328 | + add_action('wp_ajax_super_duper_output_shortcode', array($this, 'render_shortcode')); |
|
| 1329 | 1329 | } |
| 1330 | 1330 | |
| 1331 | 1331 | /** |
@@ -1334,50 +1334,50 @@ discard block |
||
| 1334 | 1334 | * @since 1.0.0 |
| 1335 | 1335 | */ |
| 1336 | 1336 | public function render_shortcode() { |
| 1337 | - check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true ); |
|
| 1338 | - if ( ! current_user_can( 'manage_options' ) ) { |
|
| 1337 | + check_ajax_referer('super_duper_output_shortcode', '_ajax_nonce', true); |
|
| 1338 | + if (!current_user_can('manage_options')) { |
|
| 1339 | 1339 | wp_die(); |
| 1340 | 1340 | } |
| 1341 | 1341 | |
| 1342 | 1342 | // we might need the $post value here so lets set it. |
| 1343 | - if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) { |
|
| 1344 | - $post_obj = get_post( absint( $_POST['post_id'] ) ); |
|
| 1345 | - if ( ! empty( $post_obj ) && empty( $post ) ) { |
|
| 1343 | + if (isset($_POST['post_id']) && $_POST['post_id']) { |
|
| 1344 | + $post_obj = get_post(absint($_POST['post_id'])); |
|
| 1345 | + if (!empty($post_obj) && empty($post)) { |
|
| 1346 | 1346 | global $post; |
| 1347 | 1347 | $post = $post_obj; |
| 1348 | 1348 | } |
| 1349 | 1349 | } |
| 1350 | 1350 | |
| 1351 | - if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) { |
|
| 1351 | + if (isset($_POST['shortcode']) && $_POST['shortcode']) { |
|
| 1352 | 1352 | $is_preview = $this->is_preview(); |
| 1353 | - $shortcode_name = sanitize_title_with_dashes( $_POST['shortcode'] ); |
|
| 1354 | - $attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array(); |
|
| 1353 | + $shortcode_name = sanitize_title_with_dashes($_POST['shortcode']); |
|
| 1354 | + $attributes_array = isset($_POST['attributes']) && $_POST['attributes'] ? $_POST['attributes'] : array(); |
|
| 1355 | 1355 | $attributes = ''; |
| 1356 | - if ( ! empty( $attributes_array ) ) { |
|
| 1357 | - foreach ( $attributes_array as $key => $value ) { |
|
| 1358 | - if ( is_array( $value ) ) { |
|
| 1359 | - $value = implode( ",", $value ); |
|
| 1356 | + if (!empty($attributes_array)) { |
|
| 1357 | + foreach ($attributes_array as $key => $value) { |
|
| 1358 | + if (is_array($value)) { |
|
| 1359 | + $value = implode(",", $value); |
|
| 1360 | 1360 | } |
| 1361 | 1361 | |
| 1362 | - if ( ! empty( $value ) ) { |
|
| 1363 | - $value = wp_unslash( $value ); |
|
| 1362 | + if (!empty($value)) { |
|
| 1363 | + $value = wp_unslash($value); |
|
| 1364 | 1364 | |
| 1365 | 1365 | // Encode [ and ]. |
| 1366 | - if ( $is_preview ) { |
|
| 1367 | - $value = $this->encode_shortcodes( $value ); |
|
| 1366 | + if ($is_preview) { |
|
| 1367 | + $value = $this->encode_shortcodes($value); |
|
| 1368 | 1368 | } |
| 1369 | 1369 | } |
| 1370 | - $attributes .= " " . esc_attr( sanitize_title_with_dashes( $key ) ) . "='" . esc_attr( $value ) . "' "; |
|
| 1370 | + $attributes .= " " . esc_attr(sanitize_title_with_dashes($key)) . "='" . esc_attr($value) . "' "; |
|
| 1371 | 1371 | } |
| 1372 | 1372 | } |
| 1373 | 1373 | |
| 1374 | - $shortcode = "[" . esc_attr( $shortcode_name ) . " " . $attributes . "]"; |
|
| 1374 | + $shortcode = "[" . esc_attr($shortcode_name) . " " . $attributes . "]"; |
|
| 1375 | 1375 | |
| 1376 | - $content = do_shortcode( $shortcode ); |
|
| 1376 | + $content = do_shortcode($shortcode); |
|
| 1377 | 1377 | |
| 1378 | 1378 | // Decode [ and ]. |
| 1379 | - if ( ! empty( $content ) && $is_preview ) { |
|
| 1380 | - $content = $this->decode_shortcodes( $content ); |
|
| 1379 | + if (!empty($content) && $is_preview) { |
|
| 1380 | + $content = $this->decode_shortcodes($content); |
|
| 1381 | 1381 | } |
| 1382 | 1382 | |
| 1383 | 1383 | echo $content; |
@@ -1393,21 +1393,21 @@ discard block |
||
| 1393 | 1393 | * |
| 1394 | 1394 | * @return string |
| 1395 | 1395 | */ |
| 1396 | - public function shortcode_output( $args = array(), $content = '' ) { |
|
| 1396 | + public function shortcode_output($args = array(), $content = '') { |
|
| 1397 | 1397 | $_instance = $args; |
| 1398 | 1398 | |
| 1399 | - $args = $this->argument_values( $args ); |
|
| 1399 | + $args = $this->argument_values($args); |
|
| 1400 | 1400 | |
| 1401 | 1401 | // add extra argument so we know its a output to gutenberg |
| 1402 | 1402 | //$args |
| 1403 | - $args = $this->string_to_bool( $args ); |
|
| 1403 | + $args = $this->string_to_bool($args); |
|
| 1404 | 1404 | |
| 1405 | 1405 | // if we have a enclosed shortcode we add it to the special `html` argument |
| 1406 | - if ( ! empty( $content ) ) { |
|
| 1406 | + if (!empty($content)) { |
|
| 1407 | 1407 | $args['html'] = $content; |
| 1408 | 1408 | } |
| 1409 | 1409 | |
| 1410 | - if ( ! $this->is_preview() ) { |
|
| 1410 | + if (!$this->is_preview()) { |
|
| 1411 | 1411 | /** |
| 1412 | 1412 | * Filters the settings for a particular widget args. |
| 1413 | 1413 | * |
@@ -1418,40 +1418,40 @@ discard block |
||
| 1418 | 1418 | *@since 1.0.28 |
| 1419 | 1419 | * |
| 1420 | 1420 | */ |
| 1421 | - $args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance ); |
|
| 1421 | + $args = apply_filters('wp_super_duper_widget_display_callback', $args, $this, $_instance); |
|
| 1422 | 1422 | |
| 1423 | - if ( ! is_array( $args ) ) { |
|
| 1423 | + if (!is_array($args)) { |
|
| 1424 | 1424 | return $args; |
| 1425 | 1425 | } |
| 1426 | 1426 | } |
| 1427 | 1427 | |
| 1428 | - $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : ''; |
|
| 1429 | - $class .= " sdel-".$this->get_instance_hash(); |
|
| 1428 | + $class = isset($this->options['widget_ops']['classname']) ? esc_attr($this->options['widget_ops']['classname']) : ''; |
|
| 1429 | + $class .= " sdel-" . $this->get_instance_hash(); |
|
| 1430 | 1430 | |
| 1431 | - $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this ); |
|
| 1432 | - $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this ); |
|
| 1431 | + $class = apply_filters('wp_super_duper_div_classname', $class, $args, $this); |
|
| 1432 | + $class = apply_filters('wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this); |
|
| 1433 | 1433 | |
| 1434 | - $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this ); |
|
| 1435 | - $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); |
|
| 1434 | + $attrs = apply_filters('wp_super_duper_div_attrs', '', $args, $this); |
|
| 1435 | + $attrs = apply_filters('wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this); |
|
| 1436 | 1436 | |
| 1437 | 1437 | $shortcode_args = array(); |
| 1438 | 1438 | $output = ''; |
| 1439 | - $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false; |
|
| 1440 | - if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) { |
|
| 1439 | + $no_wrap = isset($this->options['no_wrap']) && $this->options['no_wrap'] ? true : false; |
|
| 1440 | + if (isset($args['no_wrap']) && $args['no_wrap']) { |
|
| 1441 | 1441 | $no_wrap = true; |
| 1442 | 1442 | } |
| 1443 | - $main_content = $this->output( $args, $shortcode_args, $content ); |
|
| 1444 | - if ( $main_content && ! $no_wrap ) { |
|
| 1443 | + $main_content = $this->output($args, $shortcode_args, $content); |
|
| 1444 | + if ($main_content && !$no_wrap) { |
|
| 1445 | 1445 | // wrap the shortcode in a div with the same class as the widget |
| 1446 | 1446 | $output .= '<div class="' . $class . '" ' . $attrs . '>'; |
| 1447 | - if ( ! empty( $args['title'] ) ) { |
|
| 1447 | + if (!empty($args['title'])) { |
|
| 1448 | 1448 | // if its a shortcode and there is a title try to grab the title wrappers |
| 1449 | - $shortcode_args = array( 'before_title' => '', 'after_title' => '' ); |
|
| 1450 | - if ( empty( $instance ) ) { |
|
| 1449 | + $shortcode_args = array('before_title' => '', 'after_title' => ''); |
|
| 1450 | + if (empty($instance)) { |
|
| 1451 | 1451 | global $wp_registered_sidebars; |
| 1452 | - if ( ! empty( $wp_registered_sidebars ) ) { |
|
| 1453 | - foreach ( $wp_registered_sidebars as $sidebar ) { |
|
| 1454 | - if ( ! empty( $sidebar['before_title'] ) ) { |
|
| 1452 | + if (!empty($wp_registered_sidebars)) { |
|
| 1453 | + foreach ($wp_registered_sidebars as $sidebar) { |
|
| 1454 | + if (!empty($sidebar['before_title'])) { |
|
| 1455 | 1455 | $shortcode_args['before_title'] = $sidebar['before_title']; |
| 1456 | 1456 | $shortcode_args['after_title'] = $sidebar['after_title']; |
| 1457 | 1457 | break; |
@@ -1459,20 +1459,20 @@ discard block |
||
| 1459 | 1459 | } |
| 1460 | 1460 | } |
| 1461 | 1461 | } |
| 1462 | - $output .= $this->output_title( $shortcode_args, $args ); |
|
| 1462 | + $output .= $this->output_title($shortcode_args, $args); |
|
| 1463 | 1463 | } |
| 1464 | 1464 | $output .= $main_content; |
| 1465 | 1465 | $output .= '</div>'; |
| 1466 | - } elseif ( $main_content && $no_wrap ) { |
|
| 1466 | + } elseif ($main_content && $no_wrap) { |
|
| 1467 | 1467 | $output .= $main_content; |
| 1468 | 1468 | } |
| 1469 | 1469 | |
| 1470 | 1470 | // if preview show a placeholder if empty |
| 1471 | - if ( $this->is_preview() && $output == '' ) { |
|
| 1472 | - $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
| 1471 | + if ($this->is_preview() && $output == '') { |
|
| 1472 | + $output = $this->preview_placeholder_text("{{" . $this->base_id . "}}"); |
|
| 1473 | 1473 | } |
| 1474 | 1474 | |
| 1475 | - return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this ); |
|
| 1475 | + return apply_filters('wp_super_duper_widget_output', $output, $args, $shortcode_args, $this); |
|
| 1476 | 1476 | } |
| 1477 | 1477 | |
| 1478 | 1478 | /** |
@@ -1482,8 +1482,8 @@ discard block |
||
| 1482 | 1482 | * |
| 1483 | 1483 | * @return string |
| 1484 | 1484 | */ |
| 1485 | - public function preview_placeholder_text( $name = '' ) { |
|
| 1486 | - return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf( __( 'Placeholder for: %s', 'ayecode-connect' ), $name ) . "</div>"; |
|
| 1485 | + public function preview_placeholder_text($name = '') { |
|
| 1486 | + return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf(__('Placeholder for: %s', 'ayecode-connect'), $name) . "</div>"; |
|
| 1487 | 1487 | } |
| 1488 | 1488 | |
| 1489 | 1489 | /** |
@@ -1493,13 +1493,13 @@ discard block |
||
| 1493 | 1493 | * |
| 1494 | 1494 | * @return mixed |
| 1495 | 1495 | */ |
| 1496 | - public function string_to_bool( $options ) { |
|
| 1496 | + public function string_to_bool($options) { |
|
| 1497 | 1497 | // convert bool strings to booleans |
| 1498 | - foreach ( $options as $key => $val ) { |
|
| 1499 | - if ( $val == 'false' ) { |
|
| 1500 | - $options[ $key ] = false; |
|
| 1501 | - } elseif ( $val == 'true' ) { |
|
| 1502 | - $options[ $key ] = true; |
|
| 1498 | + foreach ($options as $key => $val) { |
|
| 1499 | + if ($val == 'false') { |
|
| 1500 | + $options[$key] = false; |
|
| 1501 | + } elseif ($val == 'true') { |
|
| 1502 | + $options[$key] = true; |
|
| 1503 | 1503 | } |
| 1504 | 1504 | } |
| 1505 | 1505 | |
@@ -1515,26 +1515,26 @@ discard block |
||
| 1515 | 1515 | *@since 1.0.12 Don't set checkbox default value if the value is empty. |
| 1516 | 1516 | * |
| 1517 | 1517 | */ |
| 1518 | - public function argument_values( $instance ) { |
|
| 1518 | + public function argument_values($instance) { |
|
| 1519 | 1519 | $argument_values = array(); |
| 1520 | 1520 | |
| 1521 | 1521 | // set widget instance |
| 1522 | 1522 | $this->instance = $instance; |
| 1523 | 1523 | |
| 1524 | - if ( empty( $this->arguments ) ) { |
|
| 1524 | + if (empty($this->arguments)) { |
|
| 1525 | 1525 | $this->arguments = $this->get_arguments(); |
| 1526 | 1526 | } |
| 1527 | 1527 | |
| 1528 | - if ( ! empty( $this->arguments ) ) { |
|
| 1529 | - foreach ( $this->arguments as $key => $args ) { |
|
| 1528 | + if (!empty($this->arguments)) { |
|
| 1529 | + foreach ($this->arguments as $key => $args) { |
|
| 1530 | 1530 | // set the input name from the key |
| 1531 | 1531 | $args['name'] = $key; |
| 1532 | 1532 | // |
| 1533 | - $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : ''; |
|
| 1534 | - if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) { |
|
| 1533 | + $argument_values[$key] = isset($instance[$key]) ? $instance[$key] : ''; |
|
| 1534 | + if ($args['type'] == 'checkbox' && $argument_values[$key] == '') { |
|
| 1535 | 1535 | // don't set default for an empty checkbox |
| 1536 | - } elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) { |
|
| 1537 | - $argument_values[ $key ] = $args['default']; |
|
| 1536 | + } elseif ($argument_values[$key] == '' && isset($args['default'])) { |
|
| 1537 | + $argument_values[$key] = $args['default']; |
|
| 1538 | 1538 | } |
| 1539 | 1539 | } |
| 1540 | 1540 | } |
@@ -1561,12 +1561,12 @@ discard block |
||
| 1561 | 1561 | * |
| 1562 | 1562 | */ |
| 1563 | 1563 | public function get_arguments() { |
| 1564 | - if ( empty( $this->arguments ) ) { |
|
| 1564 | + if (empty($this->arguments)) { |
|
| 1565 | 1565 | $this->arguments = $this->set_arguments(); |
| 1566 | 1566 | } |
| 1567 | 1567 | |
| 1568 | - $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance ); |
|
| 1569 | - $this->arguments = $this->add_name_from_key( $this->arguments, true ); |
|
| 1568 | + $this->arguments = apply_filters('wp_super_duper_arguments', $this->arguments, $this->options, $this->instance); |
|
| 1569 | + $this->arguments = $this->add_name_from_key($this->arguments, true); |
|
| 1570 | 1570 | |
| 1571 | 1571 | return $this->arguments; |
| 1572 | 1572 | } |
@@ -1578,7 +1578,7 @@ discard block |
||
| 1578 | 1578 | * @param array $widget_args |
| 1579 | 1579 | * @param string $content |
| 1580 | 1580 | */ |
| 1581 | - public function output( $args = array(), $widget_args = array(), $content = '' ) { |
|
| 1581 | + public function output($args = array(), $widget_args = array(), $content = '') { |
|
| 1582 | 1582 | |
| 1583 | 1583 | } |
| 1584 | 1584 | |
@@ -1586,9 +1586,9 @@ discard block |
||
| 1586 | 1586 | * Add the dynamic block code inline when the wp-block in enqueued. |
| 1587 | 1587 | */ |
| 1588 | 1588 | public function register_block() { |
| 1589 | - wp_add_inline_script( 'wp-blocks', $this->block() ); |
|
| 1590 | - if ( class_exists( 'SiteOrigin_Panels' ) ) { |
|
| 1591 | - wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() ); |
|
| 1589 | + wp_add_inline_script('wp-blocks', $this->block()); |
|
| 1590 | + if (class_exists('SiteOrigin_Panels')) { |
|
| 1591 | + wp_add_inline_script('wp-blocks', $this->siteorigin_js()); |
|
| 1592 | 1592 | } |
| 1593 | 1593 | } |
| 1594 | 1594 | |
@@ -1602,9 +1602,9 @@ discard block |
||
| 1602 | 1602 | $show = false; |
| 1603 | 1603 | $arguments = $this->get_arguments(); |
| 1604 | 1604 | |
| 1605 | - if ( ! empty( $arguments ) ) { |
|
| 1606 | - foreach ( $arguments as $argument ) { |
|
| 1607 | - if ( isset( $argument['advanced'] ) && $argument['advanced'] ) { |
|
| 1605 | + if (!empty($arguments)) { |
|
| 1606 | + foreach ($arguments as $argument) { |
|
| 1607 | + if (isset($argument['advanced']) && $argument['advanced']) { |
|
| 1608 | 1608 | $show = true; |
| 1609 | 1609 | break; // no need to continue if we know we have it |
| 1610 | 1610 | } |
@@ -1622,19 +1622,19 @@ discard block |
||
| 1622 | 1622 | public function get_url() { |
| 1623 | 1623 | $url = $this->url; |
| 1624 | 1624 | |
| 1625 | - if ( ! $url ) { |
|
| 1626 | - $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) ); |
|
| 1627 | - $content_url = untrailingslashit( WP_CONTENT_URL ); |
|
| 1625 | + if (!$url) { |
|
| 1626 | + $content_dir = wp_normalize_path(untrailingslashit(WP_CONTENT_DIR)); |
|
| 1627 | + $content_url = untrailingslashit(WP_CONTENT_URL); |
|
| 1628 | 1628 | |
| 1629 | 1629 | // Replace http:// to https://. |
| 1630 | - if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) { |
|
| 1631 | - $content_url = str_replace( 'http://', 'https://', $content_url ); |
|
| 1630 | + if (strpos($content_url, 'http://') === 0 && strpos(plugins_url(), 'https://') === 0) { |
|
| 1631 | + $content_url = str_replace('http://', 'https://', $content_url); |
|
| 1632 | 1632 | } |
| 1633 | 1633 | |
| 1634 | 1634 | // Check if we are inside a plugin |
| 1635 | - $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) ); |
|
| 1636 | - $url = str_replace( $content_dir, $content_url, $file_dir ); |
|
| 1637 | - $url = trailingslashit( $url ); |
|
| 1635 | + $file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__))); |
|
| 1636 | + $url = str_replace($content_dir, $content_url, $file_dir); |
|
| 1637 | + $url = trailingslashit($url); |
|
| 1638 | 1638 | $this->url = $url; |
| 1639 | 1639 | } |
| 1640 | 1640 | |
@@ -1650,15 +1650,15 @@ discard block |
||
| 1650 | 1650 | |
| 1651 | 1651 | $url = $this->url; |
| 1652 | 1652 | |
| 1653 | - if ( ! $url ) { |
|
| 1653 | + if (!$url) { |
|
| 1654 | 1654 | // check if we are inside a plugin |
| 1655 | - $file_dir = str_replace( "/includes", "", dirname( __FILE__ ) ); |
|
| 1655 | + $file_dir = str_replace("/includes", "", dirname(__FILE__)); |
|
| 1656 | 1656 | |
| 1657 | - $dir_parts = explode( "/wp-content/", $file_dir ); |
|
| 1658 | - $url_parts = explode( "/wp-content/", plugins_url() ); |
|
| 1657 | + $dir_parts = explode("/wp-content/", $file_dir); |
|
| 1658 | + $url_parts = explode("/wp-content/", plugins_url()); |
|
| 1659 | 1659 | |
| 1660 | - if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) { |
|
| 1661 | - $url = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] ); |
|
| 1660 | + if (!empty($url_parts[0]) && !empty($dir_parts[1])) { |
|
| 1661 | + $url = trailingslashit($url_parts[0] . "/wp-content/" . $dir_parts[1]); |
|
| 1662 | 1662 | $this->url = $url; |
| 1663 | 1663 | } |
| 1664 | 1664 | } |
@@ -1679,45 +1679,45 @@ discard block |
||
| 1679 | 1679 | * @return string |
| 1680 | 1680 | *@since 1.1.0 |
| 1681 | 1681 | */ |
| 1682 | - public function get_block_icon( $icon ) { |
|
| 1682 | + public function get_block_icon($icon) { |
|
| 1683 | 1683 | |
| 1684 | 1684 | // check if we have a Font Awesome icon |
| 1685 | 1685 | $fa_type = ''; |
| 1686 | - if ( substr( $icon, 0, 7 ) === "fas fa-" ) { |
|
| 1686 | + if (substr($icon, 0, 7) === "fas fa-") { |
|
| 1687 | 1687 | $fa_type = 'solid'; |
| 1688 | - } elseif ( substr( $icon, 0, 7 ) === "far fa-" ) { |
|
| 1688 | + } elseif (substr($icon, 0, 7) === "far fa-") { |
|
| 1689 | 1689 | $fa_type = 'regular'; |
| 1690 | - } elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) { |
|
| 1690 | + } elseif (substr($icon, 0, 7) === "fab fa-") { |
|
| 1691 | 1691 | $fa_type = 'brands'; |
| 1692 | 1692 | } else { |
| 1693 | 1693 | $icon = "'" . $icon . "'"; |
| 1694 | 1694 | } |
| 1695 | 1695 | |
| 1696 | 1696 | // set the icon if we found one |
| 1697 | - if ( $fa_type ) { |
|
| 1698 | - $fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon ); |
|
| 1697 | + if ($fa_type) { |
|
| 1698 | + $fa_icon = str_replace(array("fas fa-", "far fa-", "fab fa-"), "", $icon); |
|
| 1699 | 1699 | $icon = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))"; |
| 1700 | 1700 | } |
| 1701 | 1701 | |
| 1702 | 1702 | return $icon; |
| 1703 | 1703 | } |
| 1704 | 1704 | |
| 1705 | - public function group_arguments( $arguments ) { |
|
| 1706 | - if ( ! empty( $arguments ) ) { |
|
| 1705 | + public function group_arguments($arguments) { |
|
| 1706 | + if (!empty($arguments)) { |
|
| 1707 | 1707 | $temp_arguments = array(); |
| 1708 | - $general = __( "General", 'ayecode-connect' ); |
|
| 1708 | + $general = __("General", 'ayecode-connect'); |
|
| 1709 | 1709 | $add_sections = false; |
| 1710 | - foreach ( $arguments as $key => $args ) { |
|
| 1711 | - if ( isset( $args['group'] ) ) { |
|
| 1712 | - $temp_arguments[ $args['group'] ][ $key ] = $args; |
|
| 1710 | + foreach ($arguments as $key => $args) { |
|
| 1711 | + if (isset($args['group'])) { |
|
| 1712 | + $temp_arguments[$args['group']][$key] = $args; |
|
| 1713 | 1713 | $add_sections = true; |
| 1714 | 1714 | } else { |
| 1715 | - $temp_arguments[ $general ][ $key ] = $args; |
|
| 1715 | + $temp_arguments[$general][$key] = $args; |
|
| 1716 | 1716 | } |
| 1717 | 1717 | } |
| 1718 | 1718 | |
| 1719 | 1719 | // only add sections if more than one |
| 1720 | - if ( $add_sections ) { |
|
| 1720 | + if ($add_sections) { |
|
| 1721 | 1721 | $arguments = $temp_arguments; |
| 1722 | 1722 | } |
| 1723 | 1723 | } |
@@ -1730,38 +1730,38 @@ discard block |
||
| 1730 | 1730 | * |
| 1731 | 1731 | * @since 1.1.17 |
| 1732 | 1732 | */ |
| 1733 | - public function group_block_tabs( $tabs, $arguments ) { |
|
| 1734 | - if ( ! empty( $tabs ) && ! empty( $arguments ) ) { |
|
| 1733 | + public function group_block_tabs($tabs, $arguments) { |
|
| 1734 | + if (!empty($tabs) && !empty($arguments)) { |
|
| 1735 | 1735 | $has_sections = false; |
| 1736 | 1736 | |
| 1737 | - foreach ( $this->arguments as $key => $args ) { |
|
| 1738 | - if ( isset( $args['group'] ) ) { |
|
| 1737 | + foreach ($this->arguments as $key => $args) { |
|
| 1738 | + if (isset($args['group'])) { |
|
| 1739 | 1739 | $has_sections = true; |
| 1740 | 1740 | break; |
| 1741 | 1741 | } |
| 1742 | 1742 | } |
| 1743 | 1743 | |
| 1744 | - if ( ! $has_sections ) { |
|
| 1744 | + if (!$has_sections) { |
|
| 1745 | 1745 | return $tabs; |
| 1746 | 1746 | } |
| 1747 | 1747 | |
| 1748 | 1748 | $new_tabs = array(); |
| 1749 | 1749 | |
| 1750 | - foreach ( $tabs as $tab_key => $tab ) { |
|
| 1750 | + foreach ($tabs as $tab_key => $tab) { |
|
| 1751 | 1751 | $new_groups = array(); |
| 1752 | 1752 | |
| 1753 | - if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) { |
|
| 1754 | - foreach ( $tab['groups'] as $group ) { |
|
| 1755 | - if ( isset( $arguments[ $group ] ) ) { |
|
| 1753 | + if (!empty($tab['groups']) && is_array($tab['groups'])) { |
|
| 1754 | + foreach ($tab['groups'] as $group) { |
|
| 1755 | + if (isset($arguments[$group])) { |
|
| 1756 | 1756 | $new_groups[] = $group; |
| 1757 | 1757 | } |
| 1758 | 1758 | } |
| 1759 | 1759 | } |
| 1760 | 1760 | |
| 1761 | - if ( ! empty( $new_groups ) ) { |
|
| 1761 | + if (!empty($new_groups)) { |
|
| 1762 | 1762 | $tab['groups'] = $new_groups; |
| 1763 | 1763 | |
| 1764 | - $new_tabs[ $tab_key ] = $tab; |
|
| 1764 | + $new_tabs[$tab_key] = $tab; |
|
| 1765 | 1765 | } |
| 1766 | 1766 | } |
| 1767 | 1767 | |
@@ -1788,7 +1788,7 @@ discard block |
||
| 1788 | 1788 | ?> |
| 1789 | 1789 | <script> |
| 1790 | 1790 | <?php |
| 1791 | - if ( ! $sd_is_js_functions_loaded ) { |
|
| 1791 | + if (!$sd_is_js_functions_loaded) { |
|
| 1792 | 1792 | $sd_is_js_functions_loaded = true; |
| 1793 | 1793 | ?> |
| 1794 | 1794 | function sd_show_view_options($this){ |
@@ -2065,7 +2065,7 @@ discard block |
||
| 2065 | 2065 | } |
| 2066 | 2066 | } |
| 2067 | 2067 | |
| 2068 | -<?php if( !isset( $_REQUEST['sd-block-recover-debug'] ) ){ ?> |
|
| 2068 | +<?php if (!isset($_REQUEST['sd-block-recover-debug'])) { ?> |
|
| 2069 | 2069 | // Wait will window is loaded before calling. |
| 2070 | 2070 | window.onload = function() { |
| 2071 | 2071 | sd_auto_recover_blocks(); |
@@ -2244,7 +2244,7 @@ discard block |
||
| 2244 | 2244 | $classes = []; |
| 2245 | 2245 | |
| 2246 | 2246 | <?php |
| 2247 | - if($aui_bs5){ |
|
| 2247 | + if ($aui_bs5) { |
|
| 2248 | 2248 | ?> |
| 2249 | 2249 | $aui_bs5 = true; |
| 2250 | 2250 | $p_ml = 'ms-'; |
@@ -2253,7 +2253,7 @@ discard block |
||
| 2253 | 2253 | $p_pl = 'ps-'; |
| 2254 | 2254 | $p_pr = 'pe-'; |
| 2255 | 2255 | <?php |
| 2256 | - }else{ |
|
| 2256 | + } else { |
|
| 2257 | 2257 | ?> |
| 2258 | 2258 | $aui_bs5 = false; |
| 2259 | 2259 | $p_ml = 'ml-'; |
@@ -2441,7 +2441,7 @@ discard block |
||
| 2441 | 2441 | } |
| 2442 | 2442 | |
| 2443 | 2443 | function sd_get_class_build_keys(){ |
| 2444 | - return <?php echo json_encode(sd_get_class_build_keys());?>; |
|
| 2444 | + return <?php echo json_encode(sd_get_class_build_keys()); ?>; |
|
| 2445 | 2445 | } |
| 2446 | 2446 | |
| 2447 | 2447 | <?php |
@@ -2449,7 +2449,7 @@ discard block |
||
| 2449 | 2449 | |
| 2450 | 2450 | } |
| 2451 | 2451 | |
| 2452 | - if(method_exists($this,'block_global_js')){ |
|
| 2452 | + if (method_exists($this, 'block_global_js')) { |
|
| 2453 | 2453 | echo $this->block_global_js(); |
| 2454 | 2454 | } |
| 2455 | 2455 | ?> |
@@ -2481,9 +2481,9 @@ discard block |
||
| 2481 | 2481 | var InnerBlocks = blockEditor.InnerBlocks; |
| 2482 | 2482 | |
| 2483 | 2483 | var term_query_type = ''; |
| 2484 | - var post_type_rest_slugs = <?php if(! empty( $this->arguments ) && isset($this->arguments['post_type']['onchange_rest']['values'])){echo "[".json_encode($this->arguments['post_type']['onchange_rest']['values'])."]";}else{echo "[]";} ?>; |
|
| 2485 | - const taxonomies_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}]; |
|
| 2486 | - const sort_by_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}]; |
|
| 2484 | + var post_type_rest_slugs = <?php if (!empty($this->arguments) && isset($this->arguments['post_type']['onchange_rest']['values'])) {echo "[" . json_encode($this->arguments['post_type']['onchange_rest']['values']) . "]"; } else {echo "[]"; } ?>; |
|
| 2485 | + const taxonomies_<?php echo str_replace("-", "_", $this->id); ?> = [{label: "Please wait", value: 0}]; |
|
| 2486 | + const sort_by_<?php echo str_replace("-", "_", $this->id); ?> = [{label: "Please wait", value: 0}]; |
|
| 2487 | 2487 | const MediaUpload = wp.blockEditor.MediaUpload; |
| 2488 | 2488 | |
| 2489 | 2489 | /** |
@@ -2498,87 +2498,87 @@ discard block |
||
| 2498 | 2498 | * @return {?WPBlock} The block, if it has been successfully |
| 2499 | 2499 | * registered; otherwise `undefined`. |
| 2500 | 2500 | */ |
| 2501 | - registerBlockType('<?php echo str_replace( "_", "-", sanitize_title_with_dashes( $this->options['textdomain'] ) . '/' . sanitize_title_with_dashes( $this->options['class_name'] ) ); ?>', { // Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block. |
|
| 2502 | - apiVersion: <?php echo isset($this->options['block-api-version']) ? absint($this->options['block-api-version']) : 2 ; ?>, |
|
| 2503 | - title: '<?php echo addslashes( $this->options['name'] ); ?>', // Block title. |
|
| 2504 | - description: '<?php echo addslashes( $this->options['widget_ops']['description'] )?>', // Block title. |
|
| 2505 | - icon: <?php echo $this->get_block_icon( $this->options['block-icon'] );?>,//'<?php echo isset( $this->options['block-icon'] ) ? esc_attr( $this->options['block-icon'] ) : 'shield-alt';?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/. |
|
| 2501 | + registerBlockType('<?php echo str_replace("_", "-", sanitize_title_with_dashes($this->options['textdomain']) . '/' . sanitize_title_with_dashes($this->options['class_name'])); ?>', { // Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block. |
|
| 2502 | + apiVersion: <?php echo isset($this->options['block-api-version']) ? absint($this->options['block-api-version']) : 2; ?>, |
|
| 2503 | + title: '<?php echo addslashes($this->options['name']); ?>', // Block title. |
|
| 2504 | + description: '<?php echo addslashes($this->options['widget_ops']['description'])?>', // Block title. |
|
| 2505 | + icon: <?php echo $this->get_block_icon($this->options['block-icon']); ?>,//'<?php echo isset($this->options['block-icon']) ? esc_attr($this->options['block-icon']) : 'shield-alt'; ?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/. |
|
| 2506 | 2506 | supports: { |
| 2507 | 2507 | <?php |
| 2508 | - if(!isset($this->options['block-supports']['renaming'])){ |
|
| 2508 | + if (!isset($this->options['block-supports']['renaming'])) { |
|
| 2509 | 2509 | $this->options['block-supports']['renaming'] = false; |
| 2510 | 2510 | } |
| 2511 | - if ( isset( $this->options['block-supports'] ) ) { |
|
| 2512 | - echo $this->array_to_attributes( $this->options['block-supports'] ); |
|
| 2511 | + if (isset($this->options['block-supports'])) { |
|
| 2512 | + echo $this->array_to_attributes($this->options['block-supports']); |
|
| 2513 | 2513 | } |
| 2514 | 2514 | ?> |
| 2515 | 2515 | }, |
| 2516 | 2516 | __experimentalLabel( attributes, { context } ) { |
| 2517 | 2517 | var visibility_html = attributes && attributes.visibility_conditions ? ' 👁' : ''; |
| 2518 | 2518 | var metadata_name = attributes && attributes.metadata && attributes.metadata.name ? attributes.metadata.name : ''; |
| 2519 | - var label_name = <?php echo !empty($this->options['block-label']) ? $this->options['block-label'] : "'" . esc_attr( addslashes( $this->options['name'] ) ) . "'"; ?>; |
|
| 2519 | + var label_name = <?php echo !empty($this->options['block-label']) ? $this->options['block-label'] : "'" . esc_attr(addslashes($this->options['name'])) . "'"; ?>; |
|
| 2520 | 2520 | return metadata_name ? metadata_name + visibility_html : label_name + visibility_html; |
| 2521 | 2521 | }, |
| 2522 | - category: '<?php echo isset( $this->options['block-category'] ) ? esc_attr( $this->options['block-category'] ) : 'common';?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed. |
|
| 2523 | - <?php if ( isset( $this->options['block-keywords'] ) ) { |
|
| 2522 | + category: '<?php echo isset($this->options['block-category']) ? esc_attr($this->options['block-category']) : 'common'; ?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed. |
|
| 2523 | + <?php if (isset($this->options['block-keywords'])) { |
|
| 2524 | 2524 | echo "keywords : " . $this->options['block-keywords'] . ","; |
| 2525 | 2525 | } |
| 2526 | 2526 | |
| 2527 | 2527 | |
| 2528 | 2528 | // block hover preview. |
| 2529 | 2529 | $example_args = array(); |
| 2530 | - if(!empty($this->arguments)){ |
|
| 2531 | - foreach($this->arguments as $key => $a_args){ |
|
| 2532 | - if(isset($a_args['example'])){ |
|
| 2530 | + if (!empty($this->arguments)) { |
|
| 2531 | + foreach ($this->arguments as $key => $a_args) { |
|
| 2532 | + if (isset($a_args['example'])) { |
|
| 2533 | 2533 | $example_args[$key] = $a_args['example']; |
| 2534 | 2534 | } |
| 2535 | 2535 | } |
| 2536 | 2536 | } |
| 2537 | - $viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: '.absint($this->options['example']['viewportWidth']) : ''; |
|
| 2537 | + $viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: ' . absint($this->options['example']['viewportWidth']) : ''; |
|
| 2538 | 2538 | $example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : ''; |
| 2539 | - if( isset( $this->options['example'] ) && $this->options['example'] === false ){ |
|
| 2539 | + if (isset($this->options['example']) && $this->options['example'] === false) { |
|
| 2540 | 2540 | // no preview if set to false |
| 2541 | - }elseif( !empty( $example_args ) ){ |
|
| 2542 | - echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},"; |
|
| 2543 | - }elseif( !empty( $this->options['example'] ) ){ |
|
| 2541 | + }elseif (!empty($example_args)) { |
|
| 2542 | + echo "example : {attributes:{" . $this->array_to_attributes($example_args) . "},$viewport_width},"; |
|
| 2543 | + }elseif (!empty($this->options['example'])) { |
|
| 2544 | 2544 | unset($this->options['example']['viewportWidth']); |
| 2545 | 2545 | unset($this->options['example']['innerBlocks']); |
| 2546 | - $example_atts = $this->array_to_attributes( $this->options['example'] ); |
|
| 2546 | + $example_atts = $this->array_to_attributes($this->options['example']); |
|
| 2547 | 2547 | $example_parts = array(); |
| 2548 | - if($example_atts){ |
|
| 2549 | - $example_parts[] = rtrim($example_atts,","); |
|
| 2548 | + if ($example_atts) { |
|
| 2549 | + $example_parts[] = rtrim($example_atts, ","); |
|
| 2550 | 2550 | } |
| 2551 | - if($viewport_width){ |
|
| 2551 | + if ($viewport_width) { |
|
| 2552 | 2552 | $example_parts[] = $viewport_width; |
| 2553 | 2553 | } |
| 2554 | - if($example_inner_blocks){ |
|
| 2554 | + if ($example_inner_blocks) { |
|
| 2555 | 2555 | $example_parts[] = $example_inner_blocks; |
| 2556 | 2556 | } |
| 2557 | - if(!empty($example_parts)){ |
|
| 2558 | - echo "example : {".implode(',', $example_parts)."},"; |
|
| 2557 | + if (!empty($example_parts)) { |
|
| 2558 | + echo "example : {" . implode(',', $example_parts) . "},"; |
|
| 2559 | 2559 | } |
| 2560 | - }else{ |
|
| 2560 | + } else { |
|
| 2561 | 2561 | echo 'example : {viewportWidth: 500},'; |
| 2562 | 2562 | } |
| 2563 | 2563 | |
| 2564 | 2564 | |
| 2565 | 2565 | |
| 2566 | 2566 | // limit to parent |
| 2567 | - if( !empty( $this->options['parent'] ) ){ |
|
| 2568 | - echo "parent : " . wp_json_encode( $this->options['parent'] ) . ","; |
|
| 2567 | + if (!empty($this->options['parent'])) { |
|
| 2568 | + echo "parent : " . wp_json_encode($this->options['parent']) . ","; |
|
| 2569 | 2569 | } |
| 2570 | 2570 | |
| 2571 | 2571 | // limit allowed blocks |
| 2572 | - if( !empty( $this->options['allowed-blocks'] ) ){ |
|
| 2573 | - echo "allowedBlocks : " . wp_json_encode( $this->options['allowed-blocks'] ) . ","; |
|
| 2572 | + if (!empty($this->options['allowed-blocks'])) { |
|
| 2573 | + echo "allowedBlocks : " . wp_json_encode($this->options['allowed-blocks']) . ","; |
|
| 2574 | 2574 | } |
| 2575 | 2575 | |
| 2576 | 2576 | // maybe set no_wrap |
| 2577 | - $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false; |
|
| 2578 | - if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) { |
|
| 2577 | + $no_wrap = isset($this->options['no_wrap']) && $this->options['no_wrap'] ? true : false; |
|
| 2578 | + if (isset($this->arguments['no_wrap']) && $this->arguments['no_wrap']) { |
|
| 2579 | 2579 | $no_wrap = true; |
| 2580 | 2580 | } |
| 2581 | - if ( $no_wrap ) { |
|
| 2581 | + if ($no_wrap) { |
|
| 2582 | 2582 | $this->options['block-wrap'] = ''; |
| 2583 | 2583 | } |
| 2584 | 2584 | |
@@ -2595,7 +2595,7 @@ discard block |
||
| 2595 | 2595 | |
| 2596 | 2596 | echo "attributes : {"; |
| 2597 | 2597 | |
| 2598 | - if ( $show_advanced ) { |
|
| 2598 | + if ($show_advanced) { |
|
| 2599 | 2599 | echo "show_advanced: {"; |
| 2600 | 2600 | echo " type: 'boolean',"; |
| 2601 | 2601 | echo " default: false,"; |
@@ -2603,57 +2603,57 @@ discard block |
||
| 2603 | 2603 | } |
| 2604 | 2604 | |
| 2605 | 2605 | // block wrap element |
| 2606 | - if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this? |
|
| 2606 | + if (!empty($this->options['block-wrap'])) { //@todo we should validate this? |
|
| 2607 | 2607 | echo "block_wrap: {"; |
| 2608 | 2608 | echo " type: 'string',"; |
| 2609 | - echo " default: '" . esc_attr( $this->options['block-wrap'] ) . "',"; |
|
| 2609 | + echo " default: '" . esc_attr($this->options['block-wrap']) . "',"; |
|
| 2610 | 2610 | echo "},"; |
| 2611 | 2611 | } |
| 2612 | 2612 | |
| 2613 | 2613 | |
| 2614 | - if ( ! empty( $this->arguments ) ) { |
|
| 2614 | + if (!empty($this->arguments)) { |
|
| 2615 | 2615 | |
| 2616 | - foreach ( $this->arguments as $key => $args ) { |
|
| 2616 | + foreach ($this->arguments as $key => $args) { |
|
| 2617 | 2617 | |
| 2618 | - if( $args['type'] == 'image' || $args['type'] == 'images' ){ |
|
| 2618 | + if ($args['type'] == 'image' || $args['type'] == 'images') { |
|
| 2619 | 2619 | $img_drag_drop = true; |
| 2620 | 2620 | } |
| 2621 | 2621 | |
| 2622 | 2622 | // set if we should show alignment |
| 2623 | - if ( $key == 'alignment' ) { |
|
| 2623 | + if ($key == 'alignment') { |
|
| 2624 | 2624 | $show_alignment = true; |
| 2625 | 2625 | } |
| 2626 | 2626 | |
| 2627 | 2627 | $extra = ''; |
| 2628 | 2628 | |
| 2629 | - if ( $args['type'] == 'notice' || $args['type'] == 'tab' ) { |
|
| 2629 | + if ($args['type'] == 'notice' || $args['type'] == 'tab') { |
|
| 2630 | 2630 | continue; |
| 2631 | 2631 | } |
| 2632 | - elseif ( $args['type'] == 'checkbox' ) { |
|
| 2632 | + elseif ($args['type'] == 'checkbox') { |
|
| 2633 | 2633 | $type = 'boolean'; |
| 2634 | - $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false'; |
|
| 2635 | - } elseif ( $args['type'] == 'number' ) { |
|
| 2634 | + $default = isset($args['default']) && $args['default'] ? 'true' : 'false'; |
|
| 2635 | + } elseif ($args['type'] == 'number') { |
|
| 2636 | 2636 | $type = 'number'; |
| 2637 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2638 | - } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) { |
|
| 2637 | + $default = isset($args['default']) ? "'" . $args['default'] . "'" : "''"; |
|
| 2638 | + } elseif ($args['type'] == 'select' && !empty($args['multiple'])) { |
|
| 2639 | 2639 | $type = 'array'; |
| 2640 | - if ( isset( $args['default'] ) && is_array( $args['default'] ) ) { |
|
| 2641 | - $default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]"; |
|
| 2640 | + if (isset($args['default']) && is_array($args['default'])) { |
|
| 2641 | + $default = !empty($args['default']) ? "['" . implode("','", $args['default']) . "']" : "[]"; |
|
| 2642 | 2642 | } else { |
| 2643 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2643 | + $default = isset($args['default']) ? "'" . $args['default'] . "'" : "''"; |
|
| 2644 | 2644 | } |
| 2645 | - } elseif ( $args['type'] == 'tagselect' ) { |
|
| 2645 | + } elseif ($args['type'] == 'tagselect') { |
|
| 2646 | 2646 | $type = 'array'; |
| 2647 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2648 | - } elseif ( $args['type'] == 'multiselect' ) { |
|
| 2647 | + $default = isset($args['default']) ? "'" . $args['default'] . "'" : "''"; |
|
| 2648 | + } elseif ($args['type'] == 'multiselect') { |
|
| 2649 | 2649 | $type = 'array'; |
| 2650 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2651 | - } elseif ( $args['type'] == 'image_xy' ) { |
|
| 2650 | + $default = isset($args['default']) ? "'" . $args['default'] . "'" : "''"; |
|
| 2651 | + } elseif ($args['type'] == 'image_xy') { |
|
| 2652 | 2652 | $type = 'object'; |
| 2653 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2654 | - } elseif ( $args['type'] == 'image' ) { |
|
| 2653 | + $default = isset($args['default']) ? "'" . $args['default'] . "'" : "''"; |
|
| 2654 | + } elseif ($args['type'] == 'image') { |
|
| 2655 | 2655 | $type = 'string'; |
| 2656 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2656 | + $default = isset($args['default']) ? "'" . $args['default'] . "'" : "''"; |
|
| 2657 | 2657 | |
| 2658 | 2658 | // add a field for ID |
| 2659 | 2659 | // echo $key . "_id : {"; |
@@ -2665,7 +2665,7 @@ discard block |
||
| 2665 | 2665 | |
| 2666 | 2666 | } else { |
| 2667 | 2667 | $type = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string'; |
| 2668 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
| 2668 | + $default = isset($args['default']) ? "'" . $args['default'] . "'" : "''"; |
|
| 2669 | 2669 | |
| 2670 | 2670 | } |
| 2671 | 2671 | echo $key . " : {"; |
@@ -2678,7 +2678,7 @@ discard block |
||
| 2678 | 2678 | echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},"; |
| 2679 | 2679 | echo "sd_shortcode : {type : 'string',default: ''},"; |
| 2680 | 2680 | |
| 2681 | - if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){ |
|
| 2681 | + if (!empty($this->options['nested-block']) || !empty($this->arguments['html'])) { |
|
| 2682 | 2682 | echo "sd_shortcode_close : {type : 'string',default: ''},"; |
| 2683 | 2683 | } |
| 2684 | 2684 | |
@@ -2697,7 +2697,7 @@ discard block |
||
| 2697 | 2697 | |
| 2698 | 2698 | <?php |
| 2699 | 2699 | // only include the drag/drop functions if required. |
| 2700 | -if( $img_drag_drop ){ |
|
| 2700 | +if ($img_drag_drop) { |
|
| 2701 | 2701 | |
| 2702 | 2702 | ?> |
| 2703 | 2703 | |
@@ -2763,9 +2763,9 @@ discard block |
||
| 2763 | 2763 | } |
| 2764 | 2764 | |
| 2765 | 2765 | <?php |
| 2766 | - if(!empty($this->options['block-edit-raw'])) { |
|
| 2766 | + if (!empty($this->options['block-edit-raw'])) { |
|
| 2767 | 2767 | echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues |
| 2768 | - }else{ |
|
| 2768 | + } else { |
|
| 2769 | 2769 | ?> |
| 2770 | 2770 | |
| 2771 | 2771 | function hasSelectedInnerBlock(props) { |
@@ -2789,7 +2789,7 @@ discard block |
||
| 2789 | 2789 | var $value = ''; |
| 2790 | 2790 | <?php |
| 2791 | 2791 | // if we have a post_type and a category then link them |
| 2792 | - if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){ |
|
| 2792 | + if (isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked'])) { |
|
| 2793 | 2793 | ?> |
| 2794 | 2794 | if(typeof(prev_attributes[props.clientId]) != 'undefined' && selectedBlock && selectedBlock.clientId === props.clientId){ |
| 2795 | 2795 | $pt = props.attributes.post_type; |
@@ -2804,9 +2804,9 @@ discard block |
||
| 2804 | 2804 | } |
| 2805 | 2805 | <?php |
| 2806 | 2806 | $cat_path = ''; |
| 2807 | - if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) { |
|
| 2808 | - $cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) ); |
|
| 2809 | - $cat_path = str_replace( array( '"', ''' ), array( '"', "'" ), $cat_path ); |
|
| 2807 | + if (!empty($this->arguments['post_type']['onchange_rest']['path'])) { |
|
| 2808 | + $cat_path = esc_js(strip_tags($this->arguments['post_type']['onchange_rest']['path'])); |
|
| 2809 | + $cat_path = str_replace(array('"', '''), array('"', "'"), $cat_path); |
|
| 2810 | 2810 | } |
| 2811 | 2811 | ?> |
| 2812 | 2812 | /* taxonomies */ |
@@ -2814,15 +2814,15 @@ discard block |
||
| 2814 | 2814 | if (!window.gdCPTCats) { |
| 2815 | 2815 | window.gdCPTCats = []; |
| 2816 | 2816 | } |
| 2817 | - var gdCatPath = "<?php echo ( ! empty( $cat_path ) ? $cat_path : "/wp/v2/" + $value + "/categories/?per_page=100" ); ?>"; |
|
| 2817 | + var gdCatPath = "<?php echo (!empty($cat_path) ? $cat_path : "/wp/v2/" +$value + "/categories/?per_page=100"); ?>"; |
|
| 2818 | 2818 | if (window.gdCPTCats[gdCatPath]) { |
| 2819 | 2819 | terms = window.gdCPTCats[gdCatPath]; |
| 2820 | - while (taxonomies_<?php echo str_replace("-","_", $this->id);?>.length) { |
|
| 2821 | - taxonomies_<?php echo str_replace("-","_", $this->id);?>.pop(); |
|
| 2820 | + while (taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.length) { |
|
| 2821 | + taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.pop(); |
|
| 2822 | 2822 | } |
| 2823 | - taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: "All", value: 0}); |
|
| 2823 | + taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: "All", value: 0}); |
|
| 2824 | 2824 | jQuery.each( terms, function( key, val ) { |
| 2825 | - taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: val.name, value: val.id}); |
|
| 2825 | + taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val.name, value: val.id}); |
|
| 2826 | 2826 | }); |
| 2827 | 2827 | |
| 2828 | 2828 | /* Setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options. */ |
@@ -2832,12 +2832,12 @@ discard block |
||
| 2832 | 2832 | } else { |
| 2833 | 2833 | wp.apiFetch({path: gdCatPath}).then(terms => { |
| 2834 | 2834 | window.gdCPTCats[gdCatPath] = terms; |
| 2835 | - while (taxonomies_<?php echo str_replace("-","_", $this->id);?>.length) { |
|
| 2836 | - taxonomies_<?php echo str_replace("-","_", $this->id);?>.pop(); |
|
| 2835 | + while (taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.length) { |
|
| 2836 | + taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.pop(); |
|
| 2837 | 2837 | } |
| 2838 | - taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: "All", value: 0}); |
|
| 2838 | + taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: "All", value: 0}); |
|
| 2839 | 2839 | jQuery.each( terms, function( key, val ) { |
| 2840 | - taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: val.name, value: val.id}); |
|
| 2840 | + taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val.name, value: val.id}); |
|
| 2841 | 2841 | }); |
| 2842 | 2842 | |
| 2843 | 2843 | /* Setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options. */ |
@@ -2845,7 +2845,7 @@ discard block |
||
| 2845 | 2845 | props.setAttributes({category: [0] }); |
| 2846 | 2846 | props.setAttributes({category: $old_cat_value }); |
| 2847 | 2847 | |
| 2848 | - return taxonomies_<?php echo str_replace("-","_", $this->id);?>; |
|
| 2848 | + return taxonomies_<?php echo str_replace("-", "_", $this->id); ?>; |
|
| 2849 | 2849 | }); |
| 2850 | 2850 | } |
| 2851 | 2851 | } |
@@ -2857,12 +2857,12 @@ discard block |
||
| 2857 | 2857 | } |
| 2858 | 2858 | if (window.gdCPTSort[$pt]) { |
| 2859 | 2859 | response = window.gdCPTSort[$pt]; |
| 2860 | - while (sort_by_<?php echo str_replace("-","_", $this->id);?>.length) { |
|
| 2861 | - sort_by_<?php echo str_replace("-","_", $this->id);?>.pop(); |
|
| 2860 | + while (sort_by_<?php echo str_replace("-", "_", $this->id); ?>.length) { |
|
| 2861 | + sort_by_<?php echo str_replace("-", "_", $this->id); ?>.pop(); |
|
| 2862 | 2862 | } |
| 2863 | 2863 | |
| 2864 | 2864 | jQuery.each( response, function( key, val ) { |
| 2865 | - sort_by_<?php echo str_replace("-","_", $this->id);?>.push({label: val, value: key}); |
|
| 2865 | + sort_by_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val, value: key}); |
|
| 2866 | 2866 | }); |
| 2867 | 2867 | |
| 2868 | 2868 | // setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options. |
@@ -2877,12 +2877,12 @@ discard block |
||
| 2877 | 2877 | jQuery.post(ajaxurl, data, function(response) { |
| 2878 | 2878 | response = JSON.parse(response); |
| 2879 | 2879 | window.gdCPTSort[$pt] = response; |
| 2880 | - while (sort_by_<?php echo str_replace("-","_", $this->id);?>.length) { |
|
| 2881 | - sort_by_<?php echo str_replace("-","_", $this->id);?>.pop(); |
|
| 2880 | + while (sort_by_<?php echo str_replace("-", "_", $this->id); ?>.length) { |
|
| 2881 | + sort_by_<?php echo str_replace("-", "_", $this->id); ?>.pop(); |
|
| 2882 | 2882 | } |
| 2883 | 2883 | |
| 2884 | 2884 | jQuery.each( response, function( key, val ) { |
| 2885 | - sort_by_<?php echo str_replace("-","_", $this->id);?>.push({label: val, value: key}); |
|
| 2885 | + sort_by_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val, value: key}); |
|
| 2886 | 2886 | }); |
| 2887 | 2887 | |
| 2888 | 2888 | // setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options. |
@@ -2890,7 +2890,7 @@ discard block |
||
| 2890 | 2890 | props.setAttributes({sort_by: [0] }); |
| 2891 | 2891 | props.setAttributes({sort_by: $old_sort_by_value }); |
| 2892 | 2892 | |
| 2893 | - return sort_by_<?php echo str_replace("-","_", $this->id);?>; |
|
| 2893 | + return sort_by_<?php echo str_replace("-", "_", $this->id); ?>; |
|
| 2894 | 2894 | }); |
| 2895 | 2895 | } |
| 2896 | 2896 | } |
@@ -2898,9 +2898,9 @@ discard block |
||
| 2898 | 2898 | <?php } ?> |
| 2899 | 2899 | <?php |
| 2900 | 2900 | $current_screen = function_exists('get_current_screen') ? get_current_screen() : ''; |
| 2901 | -if(!empty($current_screen->base) && $current_screen->base==='widgets'){ |
|
| 2901 | +if (!empty($current_screen->base) && $current_screen->base === 'widgets') { |
|
| 2902 | 2902 | echo 'const { deviceType } = "";'; |
| 2903 | -}else{ |
|
| 2903 | +} else { |
|
| 2904 | 2904 | ?> |
| 2905 | 2905 | /** Get device type const. */ |
| 2906 | 2906 | const wpVersion = '<?php global $wp_version; echo esc_attr($wp_version); ?>'; |
@@ -2959,13 +2959,13 @@ discard block |
||
| 2959 | 2959 | |
| 2960 | 2960 | var data = { |
| 2961 | 2961 | 'action': 'super_duper_output_shortcode', |
| 2962 | - 'shortcode': '<?php echo $this->options['base_id'];?>', |
|
| 2962 | + 'shortcode': '<?php echo $this->options['base_id']; ?>', |
|
| 2963 | 2963 | 'attributes': props.attributes, |
| 2964 | 2964 | 'block_parent_name': parentBlocks.length ? parentBlocks[parentBlocks.length - 1].name : '', |
| 2965 | - 'post_id': <?php global $post; if ( isset( $post->ID ) ) { |
|
| 2965 | + 'post_id': <?php global $post; if (isset($post->ID)) { |
|
| 2966 | 2966 | echo $post->ID; |
| 2967 | - }else{echo '0';}?>, |
|
| 2968 | - '_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>' |
|
| 2967 | + } else {echo '0'; }?>, |
|
| 2968 | + '_ajax_nonce': '<?php echo wp_create_nonce('super_duper_output_shortcode'); ?>' |
|
| 2969 | 2969 | }; |
| 2970 | 2970 | |
| 2971 | 2971 | jQuery.post(ajaxurl, data, function (response) { |
@@ -2974,17 +2974,17 @@ discard block |
||
| 2974 | 2974 | |
| 2975 | 2975 | // if the content is empty then we place some placeholder text |
| 2976 | 2976 | if (env == '') { |
| 2977 | - env = "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" + "<?php _e( 'Placeholder for:', 'ayecode-connect' );?> " + props.name + "</div>"; |
|
| 2977 | + env = "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" + "<?php _e('Placeholder for:', 'ayecode-connect'); ?> " + props.name + "</div>"; |
|
| 2978 | 2978 | } |
| 2979 | 2979 | |
| 2980 | 2980 | <?php |
| 2981 | - if(!empty($this->options['nested-block'])){ |
|
| 2981 | + if (!empty($this->options['nested-block'])) { |
|
| 2982 | 2982 | ?> |
| 2983 | 2983 | // props.setAttributes({content: env}); |
| 2984 | 2984 | is_fetching = false; |
| 2985 | 2985 | prev_attributes[props.clientId] = props.attributes; |
| 2986 | 2986 | <?php |
| 2987 | - }else{ |
|
| 2987 | + } else { |
|
| 2988 | 2988 | ?> |
| 2989 | 2989 | props.setAttributes({content: env}); |
| 2990 | 2990 | is_fetching = false; |
@@ -3010,38 +3010,38 @@ discard block |
||
| 3010 | 3010 | } |
| 3011 | 3011 | |
| 3012 | 3012 | <?php |
| 3013 | - if(!empty($this->options['block-edit-js'])) { |
|
| 3014 | - echo $this->options['block-edit-js'] ; // strings have to be in single quotes, may cause issues |
|
| 3013 | + if (!empty($this->options['block-edit-js'])) { |
|
| 3014 | + echo $this->options['block-edit-js']; // strings have to be in single quotes, may cause issues |
|
| 3015 | 3015 | } |
| 3016 | 3016 | |
| 3017 | 3017 | |
| 3018 | 3018 | |
| 3019 | 3019 | |
| 3020 | - if(empty($this->options['block-save-return'])){ |
|
| 3020 | + if (empty($this->options['block-save-return'])) { |
|
| 3021 | 3021 | ?> |
| 3022 | 3022 | /////////////////////////////////////////////////////////////////////// |
| 3023 | 3023 | |
| 3024 | 3024 | // build the shortcode. |
| 3025 | - shortcode = "[<?php echo $this->options['base_id'];?>"; |
|
| 3025 | + shortcode = "[<?php echo $this->options['base_id']; ?>"; |
|
| 3026 | 3026 | <?php |
| 3027 | 3027 | |
| 3028 | - if(! empty( $this->arguments )){ |
|
| 3028 | + if (!empty($this->arguments)) { |
|
| 3029 | 3029 | |
| 3030 | - foreach($this->arguments as $key => $args){ |
|
| 3030 | + foreach ($this->arguments as $key => $args) { |
|
| 3031 | 3031 | // if($args['type']=='tabs'){continue;} |
| 3032 | 3032 | |
| 3033 | 3033 | // don't add metadata arguments |
| 3034 | - if (substr($key, 0, 9 ) === 'metadata_') { |
|
| 3034 | + if (substr($key, 0, 9) === 'metadata_') { |
|
| 3035 | 3035 | continue; |
| 3036 | 3036 | } |
| 3037 | 3037 | ?> |
| 3038 | - if (props.attributes.hasOwnProperty("<?php echo esc_attr( $key );?>")) { |
|
| 3039 | - if ('<?php echo esc_attr( $key );?>' == 'html') { |
|
| 3040 | - } else if ('<?php echo esc_attr( $args['type'] );?>' == 'image_xy') { |
|
| 3041 | - shortcode += props.attributes.<?php echo esc_attr( $key );?>.length && ( props.attributes.<?php echo esc_attr( $key );?>.x.length || props.attributes.<?php echo esc_attr( $key );?>.y.length ) ? " <?php echo esc_attr( $key );?>='{x:" + props.attributes.<?php echo esc_attr( $key );?>.x + ",y:"+props.attributes.<?php echo esc_attr( $key );?>.y +"}' " : ""; |
|
| 3038 | + if (props.attributes.hasOwnProperty("<?php echo esc_attr($key); ?>")) { |
|
| 3039 | + if ('<?php echo esc_attr($key); ?>' == 'html') { |
|
| 3040 | + } else if ('<?php echo esc_attr($args['type']); ?>' == 'image_xy') { |
|
| 3041 | + shortcode += props.attributes.<?php echo esc_attr($key); ?>.length && ( props.attributes.<?php echo esc_attr($key); ?>.x.length || props.attributes.<?php echo esc_attr($key); ?>.y.length ) ? " <?php echo esc_attr($key); ?>='{x:" + props.attributes.<?php echo esc_attr($key); ?>.x + ",y:"+props.attributes.<?php echo esc_attr($key); ?>.y +"}' " : ""; |
|
| 3042 | 3042 | } else { |
| 3043 | - //shortcode += props.attributes.<?php echo esc_attr( $key );?>.length ? " <?php echo esc_attr( $key );?>='" + props.attributes.<?php echo esc_attr( $key );?>.toString().replace('\'',''') + "' " : ""; |
|
| 3044 | - shortcode += " <?php echo esc_attr( $key );?>='" + props.attributes.<?php echo esc_attr( $key );?>.toString().replace('\'',''') + "' "; |
|
| 3043 | + //shortcode += props.attributes.<?php echo esc_attr($key); ?>.length ? " <?php echo esc_attr($key); ?>='" + props.attributes.<?php echo esc_attr($key); ?>.toString().replace('\'',''') + "' " : ""; |
|
| 3044 | + shortcode += " <?php echo esc_attr($key); ?>='" + props.attributes.<?php echo esc_attr($key); ?>.toString().replace('\'',''') + "' "; |
|
| 3045 | 3045 | } |
| 3046 | 3046 | } |
| 3047 | 3047 | <?php |
@@ -3060,8 +3060,8 @@ discard block |
||
| 3060 | 3060 | |
| 3061 | 3061 | |
| 3062 | 3062 | <?php |
| 3063 | - if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){ |
|
| 3064 | - echo "props.setAttributes({sd_shortcode_close: '[/".esc_attr( $this->options['base_id'] )."]'});"; |
|
| 3063 | + if (!empty($this->options['nested-block']) || !empty($this->arguments['html'])) { |
|
| 3064 | + echo "props.setAttributes({sd_shortcode_close: '[/" . esc_attr($this->options['base_id']) . "]'});"; |
|
| 3065 | 3065 | } |
| 3066 | 3066 | ?> |
| 3067 | 3067 | } |
@@ -3076,7 +3076,7 @@ discard block |
||
| 3076 | 3076 | |
| 3077 | 3077 | el(wp.blockEditor.BlockControls, {key: 'controls'}, |
| 3078 | 3078 | |
| 3079 | - <?php if($show_alignment){?> |
|
| 3079 | + <?php if ($show_alignment) {?> |
|
| 3080 | 3080 | el( |
| 3081 | 3081 | wp.blockEditor.AlignmentToolbar, |
| 3082 | 3082 | { |
@@ -3094,9 +3094,9 @@ discard block |
||
| 3094 | 3094 | |
| 3095 | 3095 | <?php |
| 3096 | 3096 | |
| 3097 | - if(! empty( $this->arguments )){ |
|
| 3097 | + if (!empty($this->arguments)) { |
|
| 3098 | 3098 | |
| 3099 | - if ( $show_advanced ) { |
|
| 3099 | + if ($show_advanced) { |
|
| 3100 | 3100 | ?> |
| 3101 | 3101 | el('div', { |
| 3102 | 3102 | style: {'padding-left': '16px','padding-right': '16px'} |
@@ -3116,42 +3116,42 @@ discard block |
||
| 3116 | 3116 | <?php |
| 3117 | 3117 | } |
| 3118 | 3118 | |
| 3119 | - $arguments = $this->group_arguments( $this->arguments ); |
|
| 3120 | - $block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array(); |
|
| 3119 | + $arguments = $this->group_arguments($this->arguments); |
|
| 3120 | + $block_group_tabs = !empty($this->options['block_group_tabs']) ? $this->group_block_tabs($this->options['block_group_tabs'], $arguments) : array(); |
|
| 3121 | 3121 | |
| 3122 | 3122 | // Do we have sections? |
| 3123 | 3123 | $has_sections = $arguments == $this->arguments ? false : true; |
| 3124 | 3124 | |
| 3125 | - if($has_sections){ |
|
| 3125 | + if ($has_sections) { |
|
| 3126 | 3126 | $panel_count = 0; |
| 3127 | 3127 | $open_tab = ''; |
| 3128 | 3128 | |
| 3129 | 3129 | $open_tab_groups = array(); |
| 3130 | 3130 | $used_tabs = array(); |
| 3131 | 3131 | |
| 3132 | - foreach ( $arguments as $key => $args ) { |
|
| 3132 | + foreach ($arguments as $key => $args) { |
|
| 3133 | 3133 | $close_tab = false; |
| 3134 | 3134 | $close_tabs = false; |
| 3135 | 3135 | |
| 3136 | - if ( ! empty( $block_group_tabs ) ) { |
|
| 3137 | - foreach ( $block_group_tabs as $tab_name => $tab_args ) { |
|
| 3138 | - if ( in_array( $key, $tab_args['groups'] ) ) { |
|
| 3136 | + if (!empty($block_group_tabs)) { |
|
| 3137 | + foreach ($block_group_tabs as $tab_name => $tab_args) { |
|
| 3138 | + if (in_array($key, $tab_args['groups'])) { |
|
| 3139 | 3139 | $open_tab_groups[] = $key; |
| 3140 | 3140 | |
| 3141 | - if ( $open_tab != $tab_name ) { |
|
| 3141 | + if ($open_tab != $tab_name) { |
|
| 3142 | 3142 | $tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false; |
| 3143 | 3143 | $tab_args['tab']['open'] = true; |
| 3144 | 3144 | |
| 3145 | - $this->block_tab_start( '', $tab_args ); |
|
| 3145 | + $this->block_tab_start('', $tab_args); |
|
| 3146 | 3146 | $open_tab = $tab_name; |
| 3147 | 3147 | $used_tabs[] = $tab_name; |
| 3148 | 3148 | } |
| 3149 | 3149 | |
| 3150 | - if ( $open_tab_groups == $tab_args['groups'] ) { |
|
| 3150 | + if ($open_tab_groups == $tab_args['groups']) { |
|
| 3151 | 3151 | $close_tab = true; |
| 3152 | 3152 | $open_tab_groups = array(); |
| 3153 | 3153 | |
| 3154 | - if ( $used_tabs == array_keys( $block_group_tabs ) ) { |
|
| 3154 | + if ($used_tabs == array_keys($block_group_tabs)) { |
|
| 3155 | 3155 | $close_tabs = true; |
| 3156 | 3156 | } |
| 3157 | 3157 | } |
@@ -3160,27 +3160,27 @@ discard block |
||
| 3160 | 3160 | } |
| 3161 | 3161 | ?> |
| 3162 | 3162 | el(wp.components.PanelBody, { |
| 3163 | - title: '<?php esc_attr_e( $key ); ?>', |
|
| 3164 | - initialOpen: <?php if ( $panel_count ) { |
|
| 3163 | + title: '<?php esc_attr_e($key); ?>', |
|
| 3164 | + initialOpen: <?php if ($panel_count) { |
|
| 3165 | 3165 | echo "false"; |
| 3166 | 3166 | } else { |
| 3167 | 3167 | echo "true"; |
| 3168 | 3168 | }?> |
| 3169 | 3169 | }, |
| 3170 | 3170 | <?php |
| 3171 | - foreach ( $args as $k => $a ) { |
|
| 3172 | - $this->block_tab_start( $k, $a ); |
|
| 3173 | - $this->block_row_start( $k, $a ); |
|
| 3174 | - $this->build_block_arguments( $k, $a ); |
|
| 3175 | - $this->block_row_end( $k, $a ); |
|
| 3176 | - $this->block_tab_end( $k, $a ); |
|
| 3171 | + foreach ($args as $k => $a) { |
|
| 3172 | + $this->block_tab_start($k, $a); |
|
| 3173 | + $this->block_row_start($k, $a); |
|
| 3174 | + $this->build_block_arguments($k, $a); |
|
| 3175 | + $this->block_row_end($k, $a); |
|
| 3176 | + $this->block_tab_end($k, $a); |
|
| 3177 | 3177 | } |
| 3178 | 3178 | ?> |
| 3179 | 3179 | ), |
| 3180 | 3180 | <?php |
| 3181 | - $panel_count ++; |
|
| 3181 | + $panel_count++; |
|
| 3182 | 3182 | |
| 3183 | - if($close_tab || $close_tabs){ |
|
| 3183 | + if ($close_tab || $close_tabs) { |
|
| 3184 | 3184 | $tab_args = array( |
| 3185 | 3185 | 'tab' => array( |
| 3186 | 3186 | 'tabs_close' => $close_tabs, |
@@ -3188,24 +3188,24 @@ discard block |
||
| 3188 | 3188 | ) |
| 3189 | 3189 | |
| 3190 | 3190 | ); |
| 3191 | - $this->block_tab_end( '', $tab_args ); |
|
| 3191 | + $this->block_tab_end('', $tab_args); |
|
| 3192 | 3192 | // echo '###close'; print_r($tab_args); |
| 3193 | 3193 | $panel_count = 0; |
| 3194 | 3194 | } |
| 3195 | 3195 | // |
| 3196 | 3196 | |
| 3197 | 3197 | } |
| 3198 | - }else { |
|
| 3198 | + } else { |
|
| 3199 | 3199 | ?> |
| 3200 | 3200 | el(wp.components.PanelBody, { |
| 3201 | - title: '<?php esc_attr_e( "Settings", 'ayecode-connect' ); ?>', |
|
| 3201 | + title: '<?php esc_attr_e("Settings", 'ayecode-connect'); ?>', |
|
| 3202 | 3202 | initialOpen: true |
| 3203 | 3203 | }, |
| 3204 | 3204 | <?php |
| 3205 | - foreach ( $this->arguments as $key => $args ) { |
|
| 3206 | - $this->block_row_start( $key, $args ); |
|
| 3207 | - $this->build_block_arguments( $key, $args ); |
|
| 3208 | - $this->block_row_end( $key, $args ); |
|
| 3205 | + foreach ($this->arguments as $key => $args) { |
|
| 3206 | + $this->block_row_start($key, $args); |
|
| 3207 | + $this->build_block_arguments($key, $args); |
|
| 3208 | + $this->block_row_end($key, $args); |
|
| 3209 | 3209 | } |
| 3210 | 3210 | ?> |
| 3211 | 3211 | ), |
@@ -3219,11 +3219,11 @@ discard block |
||
| 3219 | 3219 | |
| 3220 | 3220 | <?php |
| 3221 | 3221 | // If the user sets block-output array then build it |
| 3222 | - if ( ! empty( $this->options['block-output'] ) ) { |
|
| 3223 | - $this->block_element( $this->options['block-output'] ); |
|
| 3224 | - }elseif(!empty($this->options['block-edit-return'])){ |
|
| 3222 | + if (!empty($this->options['block-output'])) { |
|
| 3223 | + $this->block_element($this->options['block-output']); |
|
| 3224 | + }elseif (!empty($this->options['block-edit-return'])) { |
|
| 3225 | 3225 | echo $this->options['block-edit-return']; |
| 3226 | - }else{ |
|
| 3226 | + } else { |
|
| 3227 | 3227 | // if no block-output is set then we try and get the shortcode html output via ajax. |
| 3228 | 3228 | $block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div'; |
| 3229 | 3229 | ?> |
@@ -3250,27 +3250,27 @@ discard block |
||
| 3250 | 3250 | var align = ''; |
| 3251 | 3251 | |
| 3252 | 3252 | // build the shortcode. |
| 3253 | - var content = "[<?php echo $this->options['base_id'];?>"; |
|
| 3253 | + var content = "[<?php echo $this->options['base_id']; ?>"; |
|
| 3254 | 3254 | $html = ''; |
| 3255 | 3255 | <?php |
| 3256 | 3256 | |
| 3257 | - if(! empty( $this->arguments )){ |
|
| 3257 | + if (!empty($this->arguments)) { |
|
| 3258 | 3258 | |
| 3259 | - foreach($this->arguments as $key => $args){ |
|
| 3259 | + foreach ($this->arguments as $key => $args) { |
|
| 3260 | 3260 | // if($args['type']=='tabs'){continue;} |
| 3261 | 3261 | |
| 3262 | 3262 | // don't add metadata arguments |
| 3263 | - if (substr($key, 0, 9 ) === 'metadata_') { |
|
| 3263 | + if (substr($key, 0, 9) === 'metadata_') { |
|
| 3264 | 3264 | continue; |
| 3265 | 3265 | } |
| 3266 | 3266 | ?> |
| 3267 | - if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) { |
|
| 3268 | - if ('<?php echo esc_attr( $key );?>' == 'html') { |
|
| 3269 | - $html = attr.<?php echo esc_attr( $key );?>; |
|
| 3270 | - } else if ('<?php echo esc_attr( $args['type'] );?>' == 'image_xy') { |
|
| 3271 | - content += " <?php echo esc_attr( $key );?>='{x:" + attr.<?php echo esc_attr( $key );?>.x + ",y:"+attr.<?php echo esc_attr( $key );?>.y +"}' "; |
|
| 3267 | + if (attr.hasOwnProperty("<?php echo esc_attr($key); ?>")) { |
|
| 3268 | + if ('<?php echo esc_attr($key); ?>' == 'html') { |
|
| 3269 | + $html = attr.<?php echo esc_attr($key); ?>; |
|
| 3270 | + } else if ('<?php echo esc_attr($args['type']); ?>' == 'image_xy') { |
|
| 3271 | + content += " <?php echo esc_attr($key); ?>='{x:" + attr.<?php echo esc_attr($key); ?>.x + ",y:"+attr.<?php echo esc_attr($key); ?>.y +"}' "; |
|
| 3272 | 3272 | } else { |
| 3273 | - content += " <?php echo esc_attr( $key );?>='" + attr.<?php echo esc_attr( $key );?>.toString().replace('\'',''') + "' "; |
|
| 3273 | + content += " <?php echo esc_attr($key); ?>='" + attr.<?php echo esc_attr($key); ?>.toString().replace('\'',''') + "' "; |
|
| 3274 | 3274 | } |
| 3275 | 3275 | } |
| 3276 | 3276 | <?php |
@@ -3290,7 +3290,7 @@ discard block |
||
| 3290 | 3290 | ?> |
| 3291 | 3291 | // if has html element |
| 3292 | 3292 | if ($html) { |
| 3293 | - //content += $html + "[/<?php echo $this->options['base_id'];?>]"; |
|
| 3293 | + //content += $html + "[/<?php echo $this->options['base_id']; ?>]"; |
|
| 3294 | 3294 | } |
| 3295 | 3295 | |
| 3296 | 3296 | // @todo should we add inline style here or just css classes? |
@@ -3320,7 +3320,7 @@ discard block |
||
| 3320 | 3320 | // <x?php |
| 3321 | 3321 | // }else |
| 3322 | 3322 | |
| 3323 | - if(!empty($this->options['block-output'])){ |
|
| 3323 | + if (!empty($this->options['block-output'])) { |
|
| 3324 | 3324 | // echo "return"; |
| 3325 | 3325 | // $this->block_element( $this->options['block-output'], true ); |
| 3326 | 3326 | // echo ";"; |
@@ -3330,30 +3330,30 @@ discard block |
||
| 3330 | 3330 | '', |
| 3331 | 3331 | {}, |
| 3332 | 3332 | // el('', {dangerouslySetInnerHTML: {__html: content}}), |
| 3333 | - <?php $this->block_element( $this->options['block-output'], true ); ?> |
|
| 3334 | - // el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}}) |
|
| 3333 | + <?php $this->block_element($this->options['block-output'], true); ?> |
|
| 3334 | + // el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id']; ?>]"}}) |
|
| 3335 | 3335 | ); |
| 3336 | 3336 | <?php |
| 3337 | 3337 | |
| 3338 | - }elseif(!empty($this->options['block-save-return'])){ |
|
| 3338 | + }elseif (!empty($this->options['block-save-return'])) { |
|
| 3339 | 3339 | echo 'return ' . $this->options['block-save-return']; |
| 3340 | - }elseif(!empty($this->options['nested-block'])){ |
|
| 3340 | + }elseif (!empty($this->options['nested-block'])) { |
|
| 3341 | 3341 | ?> |
| 3342 | 3342 | return el( |
| 3343 | 3343 | '', |
| 3344 | 3344 | {}, |
| 3345 | 3345 | el('', {dangerouslySetInnerHTML: {__html: content+"\n"}}), |
| 3346 | 3346 | InnerBlocks.Content ? el( InnerBlocks.Content ) : '', // @todo i think we need a comma here |
| 3347 | - // el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}}) |
|
| 3347 | + // el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id']; ?>]"}}) |
|
| 3348 | 3348 | ); |
| 3349 | 3349 | <?php |
| 3350 | - }elseif(!empty( $this->options['block-save-return'] ) ){ |
|
| 3351 | - echo "return ". $this->options['block-edit-return'].";"; |
|
| 3352 | - }elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){ |
|
| 3350 | + }elseif (!empty($this->options['block-save-return'])) { |
|
| 3351 | + echo "return " . $this->options['block-edit-return'] . ";"; |
|
| 3352 | + }elseif (isset($this->options['block-wrap']) && $this->options['block-wrap'] == '') { |
|
| 3353 | 3353 | ?> |
| 3354 | 3354 | return content; |
| 3355 | 3355 | <?php |
| 3356 | - }else{ |
|
| 3356 | + } else { |
|
| 3357 | 3357 | ?> |
| 3358 | 3358 | var block_wrap = 'div'; |
| 3359 | 3359 | if (attr.hasOwnProperty("block_wrap")) { |
@@ -3382,48 +3382,48 @@ discard block |
||
| 3382 | 3382 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
| 3383 | 3383 | */ |
| 3384 | 3384 | |
| 3385 | - return str_replace( array( |
|
| 3385 | + return str_replace(array( |
|
| 3386 | 3386 | '<script>', |
| 3387 | 3387 | '</script>' |
| 3388 | - ), '', $output ); |
|
| 3388 | + ), '', $output); |
|
| 3389 | 3389 | } |
| 3390 | 3390 | |
| 3391 | 3391 | |
| 3392 | 3392 | |
| 3393 | - public function block_row_start($key, $args){ |
|
| 3393 | + public function block_row_start($key, $args) { |
|
| 3394 | 3394 | |
| 3395 | 3395 | // check for row |
| 3396 | - if(!empty($args['row'])){ |
|
| 3396 | + if (!empty($args['row'])) { |
|
| 3397 | 3397 | |
| 3398 | - if(!empty($args['row']['open'])){ |
|
| 3398 | + if (!empty($args['row']['open'])) { |
|
| 3399 | 3399 | |
| 3400 | 3400 | // element require |
| 3401 | - $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : ""; |
|
| 3402 | - $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : ''; |
|
| 3403 | - $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : ''; |
|
| 3401 | + $element_require = !empty($args['element_require']) ? $this->block_props_replace($args['element_require'], true) . " && " : ""; |
|
| 3402 | + $device_type = !empty($args['device_type']) ? esc_attr($args['device_type']) : ''; |
|
| 3403 | + $device_type_require = !empty($args['device_type']) ? " deviceType == '" . esc_attr($device_type) . "' && " : ''; |
|
| 3404 | 3404 | $device_type_icon = ''; |
| 3405 | - if($device_type=='Desktop'){ |
|
| 3405 | + if ($device_type == 'Desktop') { |
|
| 3406 | 3406 | $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
| 3407 | - }elseif($device_type=='Tablet'){ |
|
| 3407 | + }elseif ($device_type == 'Tablet') { |
|
| 3408 | 3408 | $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
| 3409 | - }elseif($device_type=='Mobile'){ |
|
| 3409 | + }elseif ($device_type == 'Mobile') { |
|
| 3410 | 3410 | $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
| 3411 | 3411 | } |
| 3412 | 3412 | echo $element_require; |
| 3413 | 3413 | echo $device_type_require; |
| 3414 | 3414 | |
| 3415 | - if(false){?><script><?php }?> |
|
| 3415 | + if (false) {?><script><?php }?> |
|
| 3416 | 3416 | el('div', { |
| 3417 | 3417 | className: 'bsui components-base-control', |
| 3418 | 3418 | }, |
| 3419 | - <?php if(!empty($args['row']['title'])){ ?> |
|
| 3419 | + <?php if (!empty($args['row']['title'])) { ?> |
|
| 3420 | 3420 | el('label', { |
| 3421 | 3421 | className: 'components-base-control__label position-relative', |
| 3422 | 3422 | style: {width:"100%"} |
| 3423 | 3423 | }, |
| 3424 | - el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['row']['title'] ) ?>'}}), |
|
| 3425 | - <?php if($device_type_icon){ ?> |
|
| 3426 | - deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}}) |
|
| 3424 | + el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes($args['row']['title']) ?>'}}), |
|
| 3425 | + <?php if ($device_type_icon) { ?> |
|
| 3426 | + deviceType == '<?php echo $device_type; ?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}}) |
|
| 3427 | 3427 | <?php |
| 3428 | 3428 | } |
| 3429 | 3429 | ?> |
@@ -3431,17 +3431,17 @@ discard block |
||
| 3431 | 3431 | |
| 3432 | 3432 | ), |
| 3433 | 3433 | <?php }?> |
| 3434 | - <?php if(!empty($args['row']['desc'])){ ?> |
|
| 3434 | + <?php if (!empty($args['row']['desc'])) { ?> |
|
| 3435 | 3435 | el('p', { |
| 3436 | 3436 | className: 'components-base-control__help mb-0', |
| 3437 | 3437 | }, |
| 3438 | - '<?php echo addslashes( $args['row']['desc'] ); ?>' |
|
| 3438 | + '<?php echo addslashes($args['row']['desc']); ?>' |
|
| 3439 | 3439 | ), |
| 3440 | 3440 | <?php }?> |
| 3441 | 3441 | el( |
| 3442 | 3442 | 'div', |
| 3443 | 3443 | { |
| 3444 | - className: 'row mb-n2 <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>', |
|
| 3444 | + className: 'row mb-n2 <?php if (!empty($args['row']['class'])) { echo esc_attr($args['row']['class']); } ?>', |
|
| 3445 | 3445 | }, |
| 3446 | 3446 | el( |
| 3447 | 3447 | 'div', |
@@ -3450,36 +3450,36 @@ discard block |
||
| 3450 | 3450 | }, |
| 3451 | 3451 | |
| 3452 | 3452 | <?php |
| 3453 | - if(false){?></script><?php } |
|
| 3454 | - }elseif(!empty($args['row']['close'])){ |
|
| 3455 | - if(false){?><script><?php }?> |
|
| 3453 | + if (false) {?></script><?php } |
|
| 3454 | + }elseif (!empty($args['row']['close'])) { |
|
| 3455 | + if (false) {?><script><?php }?> |
|
| 3456 | 3456 | el( |
| 3457 | 3457 | 'div', |
| 3458 | 3458 | { |
| 3459 | 3459 | className: 'col pl-0 ps-0', |
| 3460 | 3460 | }, |
| 3461 | 3461 | <?php |
| 3462 | - if(false){?></script><?php } |
|
| 3463 | - }else{ |
|
| 3464 | - if(false){?><script><?php }?> |
|
| 3462 | + if (false) {?></script><?php } |
|
| 3463 | + } else { |
|
| 3464 | + if (false) {?><script><?php }?> |
|
| 3465 | 3465 | el( |
| 3466 | 3466 | 'div', |
| 3467 | 3467 | { |
| 3468 | 3468 | className: 'col pl-0 ps-0 pr-2 pe-2', |
| 3469 | 3469 | }, |
| 3470 | 3470 | <?php |
| 3471 | - if(false){?></script><?php } |
|
| 3471 | + if (false) {?></script><?php } |
|
| 3472 | 3472 | } |
| 3473 | 3473 | |
| 3474 | 3474 | } |
| 3475 | 3475 | |
| 3476 | 3476 | } |
| 3477 | 3477 | |
| 3478 | - public function block_row_end($key, $args){ |
|
| 3478 | + public function block_row_end($key, $args) { |
|
| 3479 | 3479 | |
| 3480 | - if(!empty($args['row'])){ |
|
| 3480 | + if (!empty($args['row'])) { |
|
| 3481 | 3481 | // maybe close |
| 3482 | - if(!empty($args['row']['close'])){ |
|
| 3482 | + if (!empty($args['row']['close'])) { |
|
| 3483 | 3483 | echo "))"; |
| 3484 | 3484 | } |
| 3485 | 3485 | |
@@ -3487,14 +3487,14 @@ discard block |
||
| 3487 | 3487 | } |
| 3488 | 3488 | } |
| 3489 | 3489 | |
| 3490 | - public function block_tab_start($key, $args){ |
|
| 3490 | + public function block_tab_start($key, $args) { |
|
| 3491 | 3491 | |
| 3492 | 3492 | // check for row |
| 3493 | - if(!empty($args['tab'])){ |
|
| 3493 | + if (!empty($args['tab'])) { |
|
| 3494 | 3494 | |
| 3495 | - if(!empty($args['tab']['tabs_open'])){ |
|
| 3495 | + if (!empty($args['tab']['tabs_open'])) { |
|
| 3496 | 3496 | |
| 3497 | - if(false){?><script><?php }?> |
|
| 3497 | + if (false) {?><script><?php }?> |
|
| 3498 | 3498 | |
| 3499 | 3499 | el('div',{className: 'bsui'}, |
| 3500 | 3500 | |
@@ -3503,52 +3503,52 @@ discard block |
||
| 3503 | 3503 | { |
| 3504 | 3504 | activeClass: 'is-active', |
| 3505 | 3505 | className: 'btn-groupx', |
| 3506 | - initialTabName: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>', |
|
| 3506 | + initialTabName: '<?php echo addslashes(esc_attr($args['tab']['key'])); ?>', |
|
| 3507 | 3507 | tabs: [ |
| 3508 | 3508 | |
| 3509 | 3509 | <?php |
| 3510 | - if(false){?></script><?php } |
|
| 3510 | + if (false) {?></script><?php } |
|
| 3511 | 3511 | } |
| 3512 | 3512 | |
| 3513 | - if(!empty($args['tab']['open'])){ |
|
| 3513 | + if (!empty($args['tab']['open'])) { |
|
| 3514 | 3514 | |
| 3515 | - if(false){?><script><?php }?> |
|
| 3515 | + if (false) {?><script><?php }?> |
|
| 3516 | 3516 | { |
| 3517 | - name: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>', |
|
| 3518 | - title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes( esc_attr( $args['tab']['title']) ); ?>'}}), |
|
| 3519 | - className: '<?php echo addslashes( esc_attr( $args['tab']['class']) ); ?>', |
|
| 3520 | - content: el('div',{}, <?php if(!empty($args['tab']['desc'])){ ?>el('p', { |
|
| 3517 | + name: '<?php echo addslashes(esc_attr($args['tab']['key'])); ?>', |
|
| 3518 | + title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes(esc_attr($args['tab']['title'])); ?>'}}), |
|
| 3519 | + className: '<?php echo addslashes(esc_attr($args['tab']['class'])); ?>', |
|
| 3520 | + content: el('div',{}, <?php if (!empty($args['tab']['desc'])) { ?>el('p', { |
|
| 3521 | 3521 | className: 'components-base-control__help mb-0', |
| 3522 | - dangerouslySetInnerHTML: {__html:'<?php echo addslashes( $args['tab']['desc'] ); ?>'} |
|
| 3522 | + dangerouslySetInnerHTML: {__html:'<?php echo addslashes($args['tab']['desc']); ?>'} |
|
| 3523 | 3523 | }),<?php } |
| 3524 | - if(false){?></script><?php } |
|
| 3524 | + if (false) {?></script><?php } |
|
| 3525 | 3525 | } |
| 3526 | 3526 | |
| 3527 | 3527 | } |
| 3528 | 3528 | |
| 3529 | 3529 | } |
| 3530 | 3530 | |
| 3531 | - public function block_tab_end($key, $args){ |
|
| 3531 | + public function block_tab_end($key, $args) { |
|
| 3532 | 3532 | |
| 3533 | - if(!empty($args['tab'])){ |
|
| 3533 | + if (!empty($args['tab'])) { |
|
| 3534 | 3534 | // maybe close |
| 3535 | - if(!empty($args['tab']['close'])){ |
|
| 3535 | + if (!empty($args['tab']['close'])) { |
|
| 3536 | 3536 | echo ")}, /* tab close */"; |
| 3537 | 3537 | } |
| 3538 | 3538 | |
| 3539 | - if(!empty($args['tab']['tabs_close'])){ |
|
| 3540 | - if(false){?><script><?php }?> |
|
| 3539 | + if (!empty($args['tab']['tabs_close'])) { |
|
| 3540 | + if (false) {?><script><?php }?> |
|
| 3541 | 3541 | ]}, ( tab ) => { |
| 3542 | 3542 | return tab.content; |
| 3543 | 3543 | } |
| 3544 | 3544 | )), /* tabs close */ |
| 3545 | - <?php if(false){ ?></script><?php } |
|
| 3545 | + <?php if (false) { ?></script><?php } |
|
| 3546 | 3546 | } |
| 3547 | 3547 | } |
| 3548 | 3548 | } |
| 3549 | 3549 | |
| 3550 | - public function build_block_arguments( $key, $args ) { |
|
| 3551 | - $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : ''; |
|
| 3550 | + public function build_block_arguments($key, $args) { |
|
| 3551 | + $custom_attributes = !empty($args['custom_attributes']) ? $this->array_to_attributes($args['custom_attributes']) : ''; |
|
| 3552 | 3552 | $options = ''; |
| 3553 | 3553 | $extra = ''; |
| 3554 | 3554 | $require = ''; |
@@ -3556,28 +3556,28 @@ discard block |
||
| 3556 | 3556 | $after_elements = ''; |
| 3557 | 3557 | |
| 3558 | 3558 | // `content` is a protected and special argument |
| 3559 | - if ( $key == 'content' ) { |
|
| 3559 | + if ($key == 'content') { |
|
| 3560 | 3560 | return; |
| 3561 | 3561 | } |
| 3562 | 3562 | |
| 3563 | - $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : ''; |
|
| 3564 | - $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : ''; |
|
| 3563 | + $device_type = !empty($args['device_type']) ? esc_attr($args['device_type']) : ''; |
|
| 3564 | + $device_type_require = !empty($args['device_type']) ? " deviceType == '" . esc_attr($device_type) . "' && " : ''; |
|
| 3565 | 3565 | $device_type_icon = ''; |
| 3566 | - if($device_type=='Desktop'){ |
|
| 3566 | + if ($device_type == 'Desktop') { |
|
| 3567 | 3567 | $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
| 3568 | - }elseif($device_type=='Tablet'){ |
|
| 3568 | + }elseif ($device_type == 'Tablet') { |
|
| 3569 | 3569 | $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
| 3570 | - }elseif($device_type=='Mobile'){ |
|
| 3570 | + }elseif ($device_type == 'Mobile') { |
|
| 3571 | 3571 | $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>'; |
| 3572 | 3572 | } |
| 3573 | 3573 | |
| 3574 | 3574 | // icon |
| 3575 | 3575 | $icon = ''; |
| 3576 | - if( !empty( $args['icon'] ) ){ |
|
| 3576 | + if (!empty($args['icon'])) { |
|
| 3577 | 3577 | $icon .= "el('div', {"; |
| 3578 | - $icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},"; |
|
| 3578 | + $icon .= "dangerouslySetInnerHTML: {__html: '" . self::get_widget_icon(esc_attr($args['icon'])) . "'},"; |
|
| 3579 | 3579 | $icon .= "className: 'text-center',"; |
| 3580 | - $icon .= "title: '".addslashes( $args['title'] )."',"; |
|
| 3580 | + $icon .= "title: '" . addslashes($args['title']) . "',"; |
|
| 3581 | 3581 | $icon .= "}),"; |
| 3582 | 3582 | |
| 3583 | 3583 | // blank title as its added to the icon. |
@@ -3585,27 +3585,27 @@ discard block |
||
| 3585 | 3585 | } |
| 3586 | 3586 | |
| 3587 | 3587 | // require advanced |
| 3588 | - $require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : ""; |
|
| 3588 | + $require_advanced = !empty($args['advanced']) ? "props.attributes.show_advanced && " : ""; |
|
| 3589 | 3589 | |
| 3590 | 3590 | // element require |
| 3591 | - $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : ""; |
|
| 3591 | + $element_require = !empty($args['element_require']) ? $this->block_props_replace($args['element_require'], true) . " && " : ""; |
|
| 3592 | 3592 | |
| 3593 | 3593 | |
| 3594 | 3594 | $onchange = "props.setAttributes({ $key: $key } )"; |
| 3595 | - $onchangecomplete = ""; |
|
| 3595 | + $onchangecomplete = ""; |
|
| 3596 | 3596 | $value = "props.attributes.$key"; |
| 3597 | - $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' ); |
|
| 3598 | - if ( in_array( $args['type'], $text_type ) ) { |
|
| 3597 | + $text_type = array('text', 'password', 'number', 'email', 'tel', 'url', 'colorx', 'range'); |
|
| 3598 | + if (in_array($args['type'], $text_type)) { |
|
| 3599 | 3599 | $type = 'TextControl'; |
| 3600 | 3600 | // Save numbers as numbers and not strings |
| 3601 | - if ( $args['type'] == 'number' ) { |
|
| 3601 | + if ($args['type'] == 'number') { |
|
| 3602 | 3602 | $onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )"; |
| 3603 | 3603 | } |
| 3604 | 3604 | |
| 3605 | - if (substr($key, 0, 9 ) === 'metadata_') { |
|
| 3606 | - $real_key = str_replace('metadata_','', $key ); |
|
| 3605 | + if (substr($key, 0, 9) === 'metadata_') { |
|
| 3606 | + $real_key = str_replace('metadata_', '', $key); |
|
| 3607 | 3607 | $onchange = "props.setAttributes({ metadata: { $real_key: $key } } )"; |
| 3608 | - $value = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''"; |
|
| 3608 | + $value = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''"; |
|
| 3609 | 3609 | } |
| 3610 | 3610 | } |
| 3611 | 3611 | // else if ( $args['type'] == 'popup' ) { |
@@ -3625,12 +3625,12 @@ discard block |
||
| 3625 | 3625 | // |
| 3626 | 3626 | // $value = "props.attributes.$key ? props.attributes.$key : ''"; |
| 3627 | 3627 | // } |
| 3628 | - else if ( $args['type'] == 'styleid' ) { |
|
| 3628 | + else if ($args['type'] == 'styleid') { |
|
| 3629 | 3629 | $type = 'TextControl'; |
| 3630 | 3630 | $args['type'] == 'text'; |
| 3631 | 3631 | // Save numbers as numbers and not strings |
| 3632 | - $value = "props.attributes.$key ? props.attributes.$key : ''"; |
|
| 3633 | - }else if ( $args['type'] == 'notice' ) { |
|
| 3632 | + $value = "props.attributes.$key ? props.attributes.$key : ''"; |
|
| 3633 | + } else if ($args['type'] == 'notice') { |
|
| 3634 | 3634 | |
| 3635 | 3635 | $notice_message = !empty($args['desc']) ? addslashes($args['desc']) : ''; |
| 3636 | 3636 | $notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info'; |
@@ -3692,11 +3692,11 @@ discard block |
||
| 3692 | 3692 | return; |
| 3693 | 3693 | } |
| 3694 | 3694 | */ |
| 3695 | - elseif ( $args['type'] == 'color' ) { |
|
| 3695 | + elseif ($args['type'] == 'color') { |
|
| 3696 | 3696 | $type = 'ColorPicker'; |
| 3697 | 3697 | $onchange = ""; |
| 3698 | 3698 | $extra = "color: $value,"; |
| 3699 | - if(!empty($args['disable_alpha'])){ |
|
| 3699 | + if (!empty($args['disable_alpha'])) { |
|
| 3700 | 3700 | $extra .= "disableAlpha: true,"; |
| 3701 | 3701 | } |
| 3702 | 3702 | $onchangecomplete = "onChangeComplete: function($key) { |
@@ -3705,7 +3705,7 @@ discard block |
||
| 3705 | 3705 | $key: value |
| 3706 | 3706 | }); |
| 3707 | 3707 | },"; |
| 3708 | - }elseif ( $args['type'] == 'gradient' ) { |
|
| 3708 | + }elseif ($args['type'] == 'gradient') { |
|
| 3709 | 3709 | $type = 'GradientPicker'; |
| 3710 | 3710 | $extra .= "gradients: [{ |
| 3711 | 3711 | name: 'Vivid cyan blue to vivid purple', |
@@ -3744,7 +3744,7 @@ discard block |
||
| 3744 | 3744 | slug: 'cool-to-warm-spectrum', |
| 3745 | 3745 | }],"; |
| 3746 | 3746 | |
| 3747 | - }elseif ( $args['type'] == 'image' ) { |
|
| 3747 | + }elseif ($args['type'] == 'image') { |
|
| 3748 | 3748 | // print_r($args); |
| 3749 | 3749 | |
| 3750 | 3750 | $img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key || props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{ |
@@ -3806,7 +3806,7 @@ discard block |
||
| 3806 | 3806 | $onchange = ""; |
| 3807 | 3807 | |
| 3808 | 3808 | //$inside_elements = ",el('div',{},'file upload')"; |
| 3809 | - } else if ( $args['type'] == 'images' ) { |
|
| 3809 | + } else if ($args['type'] == 'images') { |
|
| 3810 | 3810 | $img_preview = "props.attributes.$key && (function() { |
| 3811 | 3811 | let uploads = JSON.parse('['+props.attributes.$key+']'); |
| 3812 | 3812 | let images = []; |
@@ -3819,7 +3819,7 @@ discard block |
||
| 3819 | 3819 | el('i',{ |
| 3820 | 3820 | className: 'fas fa-times-circle text-danger position-absolute ml-n2 mt-n1 bg-white rounded-circle c-pointer', |
| 3821 | 3821 | onClick: function() { |
| 3822 | - aui_confirm('".esc_attr__('Are you sure?')."', '".esc_attr__('Delete')."', '".esc_attr__('Cancel')."', true).then(function(confirmed) { |
|
| 3822 | + aui_confirm('" . esc_attr__('Are you sure?') . "', '" . esc_attr__('Delete') . "', '" . esc_attr__('Cancel') . "', true).then(function(confirmed) { |
|
| 3823 | 3823 | if (confirmed) { |
| 3824 | 3824 | let new_uploads = JSON.parse('['+props.attributes.$key+']'); |
| 3825 | 3825 | new_uploads.splice(index, 1); |
@@ -3882,36 +3882,36 @@ discard block |
||
| 3882 | 3882 | |
| 3883 | 3883 | //$inside_elements = ",el('div',{},'file upload')"; |
| 3884 | 3884 | } |
| 3885 | - elseif ( $args['type'] == 'checkbox' ) { |
|
| 3885 | + elseif ($args['type'] == 'checkbox') { |
|
| 3886 | 3886 | $type = 'CheckboxControl'; |
| 3887 | 3887 | $extra .= "checked: props.attributes.$key,"; |
| 3888 | 3888 | $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )"; |
| 3889 | - } elseif ( $args['type'] == 'textarea' ) { |
|
| 3889 | + } elseif ($args['type'] == 'textarea') { |
|
| 3890 | 3890 | $type = 'TextareaControl'; |
| 3891 | 3891 | |
| 3892 | - } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) { |
|
| 3892 | + } elseif ($args['type'] == 'select' || $args['type'] == 'multiselect') { |
|
| 3893 | 3893 | $type = 'SelectControl'; |
| 3894 | 3894 | |
| 3895 | - if($args['name'] == 'category' && !empty($args['post_type_linked'])){ |
|
| 3896 | - $options .= "options: taxonomies_".str_replace("-","_", $this->id).","; |
|
| 3897 | - }elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){ |
|
| 3898 | - $options .= "options: sort_by_".str_replace("-","_", $this->id).","; |
|
| 3899 | - }else { |
|
| 3895 | + if ($args['name'] == 'category' && !empty($args['post_type_linked'])) { |
|
| 3896 | + $options .= "options: taxonomies_" . str_replace("-", "_", $this->id) . ","; |
|
| 3897 | + }elseif ($args['name'] == 'sort_by' && !empty($args['post_type_linked'])) { |
|
| 3898 | + $options .= "options: sort_by_" . str_replace("-", "_", $this->id) . ","; |
|
| 3899 | + } else { |
|
| 3900 | 3900 | |
| 3901 | - if ( ! empty( $args['options'] ) ) { |
|
| 3901 | + if (!empty($args['options'])) { |
|
| 3902 | 3902 | $options .= "options: ["; |
| 3903 | - foreach ( $args['options'] as $option_val => $option_label ) { |
|
| 3904 | - $options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . esc_js( addslashes( $option_label ) ) . "' },"; |
|
| 3903 | + foreach ($args['options'] as $option_val => $option_label) { |
|
| 3904 | + $options .= "{ value: '" . esc_attr($option_val) . "', label: '" . esc_js(addslashes($option_label)) . "' },"; |
|
| 3905 | 3905 | } |
| 3906 | 3906 | $options .= "],"; |
| 3907 | 3907 | } |
| 3908 | 3908 | } |
| 3909 | - if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550 |
|
| 3909 | + if (isset($args['multiple']) && $args['multiple']) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550 |
|
| 3910 | 3910 | $extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, '; |
| 3911 | 3911 | } |
| 3912 | 3912 | |
| 3913 | - if($args['type'] == 'multiselect' || ( isset( $args['multiple'] ) && $args['multiple'] ) ){ |
|
| 3914 | - $after_elements .= "props.attributes.$key && el( wp.components.Button, { |
|
| 3913 | + if ($args['type'] == 'multiselect' || (isset($args['multiple']) && $args['multiple'])) { |
|
| 3914 | + $after_elements .= "props.attributes.$key && el( wp.components.Button, { |
|
| 3915 | 3915 | className: 'components-button components-circular-option-picker__clear is-secondary is-small', |
| 3916 | 3916 | style: {margin:'-8px 0 8px 0',display: 'block'}, |
| 3917 | 3917 | onClick: function(){ |
@@ -3923,7 +3923,7 @@ discard block |
||
| 3923 | 3923 | 'Clear' |
| 3924 | 3924 | ),"; |
| 3925 | 3925 | } |
| 3926 | - } elseif ( $args['type'] == 'tagselect' ) { |
|
| 3926 | + } elseif ($args['type'] == 'tagselect') { |
|
| 3927 | 3927 | // $type = 'FormTokenField'; |
| 3928 | 3928 | // |
| 3929 | 3929 | // if ( ! empty( $args['options'] ) ) { |
@@ -3958,19 +3958,19 @@ discard block |
||
| 3958 | 3958 | // $value = "[]"; |
| 3959 | 3959 | // $extra .= ' __experimentalExpandOnFocus: true,'; |
| 3960 | 3960 | |
| 3961 | - } else if ( $args['type'] == 'alignment' ) { |
|
| 3961 | + } else if ($args['type'] == 'alignment') { |
|
| 3962 | 3962 | $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example |
| 3963 | - } else if ( $args['type'] == 'margins' ) { |
|
| 3963 | + } else if ($args['type'] == 'margins') { |
|
| 3964 | 3964 | |
| 3965 | - } else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) { |
|
| 3965 | + } else if ($args['type'] == 'visibility_conditions' && (function_exists('wp_is_block_theme') && wp_is_block_theme())) { |
|
| 3966 | 3966 | $type = 'TextControl'; |
| 3967 | 3967 | $value = "(props.attributes.$key ? props.attributes.$key : '')"; |
| 3968 | 3968 | $args['type'] = 'text'; |
| 3969 | 3969 | $options .= 'disabled:true,'; |
| 3970 | - $bsvc_title = esc_attr( addslashes( $args['title'] ) ); |
|
| 3971 | - $bsvc_body = $this->block_visibility_fields( $args ); |
|
| 3970 | + $bsvc_title = esc_attr(addslashes($args['title'])); |
|
| 3971 | + $bsvc_body = $this->block_visibility_fields($args); |
|
| 3972 | 3972 | // @TODO reset button |
| 3973 | - $bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'ayecode-connect' ) . '</button>'; |
|
| 3973 | + $bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __('Reset', 'ayecode-connect') . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __('Close', 'ayecode-connect') . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __('Save Rules', 'ayecode-connect') . '</button>'; |
|
| 3974 | 3974 | $after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, { |
| 3975 | 3975 | className: 'components-button components-circular-option-picker__clear is-primary is-smallx', |
| 3976 | 3976 | onClick: function() { |
@@ -3989,25 +3989,25 @@ discard block |
||
| 3989 | 3989 | jQuery('.bs-vc-modal-form').trigger('change'); |
| 3990 | 3990 | } |
| 3991 | 3991 | }); |
| 3992 | - aui_modal('" . $bsvc_title . "', '" . addslashes( $bsvc_body ) . "', '" . $bsvc_footer . "', true, 'bs-vc-modal', 'modal-lg', ''); |
|
| 3992 | + aui_modal('" . $bsvc_title . "', '" . addslashes($bsvc_body) . "', '" . $bsvc_footer . "', true, 'bs-vc-modal', 'modal-lg', ''); |
|
| 3993 | 3993 | jQuery(document).off('change', '#bsvc_raw_value').on('change', '#bsvc_raw_value', function(e) { |
| 3994 | 3994 | props.setAttributes({" . $key . ": e.target.value}); |
| 3995 | 3995 | }); |
| 3996 | 3996 | } |
| 3997 | 3997 | }, |
| 3998 | - '" . addslashes( ! empty( $args['button_title'] ) ? $args['button_title'] : $args['title'] ) . "' |
|
| 3998 | + '" . addslashes(!empty($args['button_title']) ? $args['button_title'] : $args['title']) . "' |
|
| 3999 | 3999 | ) ),"; |
| 4000 | 4000 | } else { |
| 4001 | - return;// if we have not implemented the control then don't break the JS. |
|
| 4001 | + return; // if we have not implemented the control then don't break the JS. |
|
| 4002 | 4002 | } |
| 4003 | 4003 | |
| 4004 | 4004 | // color input does not show the labels so we add them |
| 4005 | - if($args['type']=='color'){ |
|
| 4005 | + if ($args['type'] == 'color') { |
|
| 4006 | 4006 | // add show only if advanced |
| 4007 | 4007 | echo $require_advanced; |
| 4008 | 4008 | // add setting require if defined |
| 4009 | 4009 | echo $element_require; |
| 4010 | - echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),"; |
|
| 4010 | + echo "el('div', {style: {'marginBottom': '8px'}}, '" . addslashes($args['title']) . "'),"; |
|
| 4011 | 4011 | } |
| 4012 | 4012 | |
| 4013 | 4013 | // add show only if advanced |
@@ -4019,22 +4019,22 @@ discard block |
||
| 4019 | 4019 | // icon |
| 4020 | 4020 | echo $icon; |
| 4021 | 4021 | ?> |
| 4022 | - el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type : "wp.components.".$type; ?>, { |
|
| 4023 | - label: <?php if ( empty( $args['title'] ) ) { echo "''"; } else if ( empty( $args['row'] ) && ! empty( $args['device_type'] ) ) { ?>el('label',{className:'components-base-control__label',style:{width:"100%"}},el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['title'] ) ?>'}}),<?php if ( $device_type_icon ) { ?>deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})<?php } ?>)<?php |
|
| 4024 | - } else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>, |
|
| 4025 | - help: <?php echo ( isset( $args['desc'] ) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim( wp_kses_post( addslashes( $args['desc'] ) ) ) . "'}})" : "''" ); ?>, |
|
| 4022 | + el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type : "wp.components." . $type; ?>, { |
|
| 4023 | + label: <?php if (empty($args['title'])) { echo "''"; } else if (empty($args['row']) && !empty($args['device_type'])) { ?>el('label',{className:'components-base-control__label',style:{width:"100%"}},el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes($args['title']) ?>'}}),<?php if ($device_type_icon) { ?>deviceType == '<?php echo $device_type; ?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})<?php } ?>)<?php |
|
| 4024 | + } else { ?>'<?php echo addslashes(trim(esc_html($args['title']))); ?>'<?php } ?>, |
|
| 4025 | + help: <?php echo (isset($args['desc']) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim(wp_kses_post(addslashes($args['desc']))) . "'}})" : "''"); ?>, |
|
| 4026 | 4026 | value: <?php echo $value; ?>, |
| 4027 | - <?php if ( $type == 'TextControl' && $args['type'] != 'text' ) { |
|
| 4028 | - echo "type: '" . addslashes( $args['type'] ) . "',"; |
|
| 4027 | + <?php if ($type == 'TextControl' && $args['type'] != 'text') { |
|
| 4028 | + echo "type: '" . addslashes($args['type']) . "',"; |
|
| 4029 | 4029 | } ?> |
| 4030 | - <?php if ( ! empty( $args['placeholder'] ) ) { |
|
| 4031 | - echo "placeholder: '" . esc_js( addslashes( trim( esc_html( $args['placeholder'] ) ) ) ) . "',"; |
|
| 4030 | + <?php if (!empty($args['placeholder'])) { |
|
| 4031 | + echo "placeholder: '" . esc_js(addslashes(trim(esc_html($args['placeholder'])))) . "',"; |
|
| 4032 | 4032 | } ?> |
| 4033 | 4033 | <?php echo $options; ?> |
| 4034 | 4034 | <?php echo $extra; ?> |
| 4035 | 4035 | <?php echo $custom_attributes; ?> |
| 4036 | 4036 | <?php echo $onchangecomplete; ?> |
| 4037 | - <?php if ( $onchange ) { ?> |
|
| 4037 | + <?php if ($onchange) { ?> |
|
| 4038 | 4038 | onChange: function ( <?php echo $key; ?> ) { |
| 4039 | 4039 | <?php echo $onchange; ?> |
| 4040 | 4040 | } |
@@ -4053,15 +4053,15 @@ discard block |
||
| 4053 | 4053 | *@todo there is prob a faster way to do this, also we could add some validation here. |
| 4054 | 4054 | * |
| 4055 | 4055 | */ |
| 4056 | - public function array_to_attributes( $custom_attributes, $html = false ) { |
|
| 4056 | + public function array_to_attributes($custom_attributes, $html = false) { |
|
| 4057 | 4057 | $attributes = ''; |
| 4058 | - if ( ! empty( $custom_attributes ) ) { |
|
| 4058 | + if (!empty($custom_attributes)) { |
|
| 4059 | 4059 | |
| 4060 | - foreach ( $custom_attributes as $key => $val ) { |
|
| 4061 | - if(is_array($val)){ |
|
| 4062 | - $attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},'; |
|
| 4063 | - }else{ |
|
| 4064 | - $attributes .= $html ? " $key='$val' " : "'$key': '$val',"; |
|
| 4060 | + foreach ($custom_attributes as $key => $val) { |
|
| 4061 | + if (is_array($val)) { |
|
| 4062 | + $attributes .= $key . ': {' . $this->array_to_attributes($val, $html) . '},'; |
|
| 4063 | + } else { |
|
| 4064 | + $attributes .= $html ? " $key='$val' " : "'$key': '$val',"; |
|
| 4065 | 4065 | } |
| 4066 | 4066 | } |
| 4067 | 4067 | |
@@ -4079,113 +4079,113 @@ discard block |
||
| 4079 | 4079 | * |
| 4080 | 4080 | * @param $args |
| 4081 | 4081 | */ |
| 4082 | - public function block_element( $args, $save = false ) { |
|
| 4082 | + public function block_element($args, $save = false) { |
|
| 4083 | 4083 | |
| 4084 | 4084 | // print_r($args);echo '###';exit; |
| 4085 | 4085 | |
| 4086 | - if ( ! empty( $args ) ) { |
|
| 4087 | - foreach ( $args as $element => $new_args ) { |
|
| 4086 | + if (!empty($args)) { |
|
| 4087 | + foreach ($args as $element => $new_args) { |
|
| 4088 | 4088 | |
| 4089 | - if ( is_array( $new_args ) ) { // its an element |
|
| 4089 | + if (is_array($new_args)) { // its an element |
|
| 4090 | 4090 | |
| 4091 | 4091 | |
| 4092 | - if ( isset( $new_args['element'] ) ) { |
|
| 4092 | + if (isset($new_args['element'])) { |
|
| 4093 | 4093 | |
| 4094 | - if ( isset( $new_args['element_require'] ) ) { |
|
| 4095 | - echo str_replace( array( |
|
| 4094 | + if (isset($new_args['element_require'])) { |
|
| 4095 | + echo str_replace(array( |
|
| 4096 | 4096 | "'+", |
| 4097 | 4097 | "+'" |
| 4098 | - ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " && "; |
|
| 4099 | - unset( $new_args['element_require'] ); |
|
| 4098 | + ), '', $this->block_props_replace($new_args['element_require'])) . " && "; |
|
| 4099 | + unset($new_args['element_require']); |
|
| 4100 | 4100 | } |
| 4101 | 4101 | |
| 4102 | - if($new_args['element']=='InnerBlocks'){ |
|
| 4102 | + if ($new_args['element'] == 'InnerBlocks') { |
|
| 4103 | 4103 | echo "\n el( InnerBlocks, {"; |
| 4104 | - }elseif($new_args['element']=='innerBlocksProps'){ |
|
| 4104 | + }elseif ($new_args['element'] == 'innerBlocksProps') { |
|
| 4105 | 4105 | $element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div'; |
| 4106 | 4106 | // echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {"; |
| 4107 | 4107 | // echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( "; |
| 4108 | 4108 | echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( "; |
| 4109 | 4109 | echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {"; |
| 4110 | - echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : ''; |
|
| 4110 | + echo !empty($new_args['blockProps']) ? $this->block_element($new_args['blockProps'], $save) : ''; |
|
| 4111 | 4111 | |
| 4112 | 4112 | echo "} ), {"; |
| 4113 | - echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : ''; |
|
| 4113 | + echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element($new_args['innerBlocksProps'], $save) : ''; |
|
| 4114 | 4114 | // echo '###'; |
| 4115 | 4115 | |
| 4116 | 4116 | // echo '###'; |
| 4117 | - }elseif($new_args['element']=='BlocksProps'){ |
|
| 4117 | + }elseif ($new_args['element'] == 'BlocksProps') { |
|
| 4118 | 4118 | |
| 4119 | - if ( isset($new_args['if_inner_element']) ) { |
|
| 4119 | + if (isset($new_args['if_inner_element'])) { |
|
| 4120 | 4120 | $element = $new_args['if_inner_element']; |
| 4121 | - }else { |
|
| 4122 | - $element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'"; |
|
| 4121 | + } else { |
|
| 4122 | + $element = isset($new_args['inner_element']) ? "'" . esc_attr($new_args['inner_element']) . "'" : "'div'"; |
|
| 4123 | 4123 | } |
| 4124 | 4124 | |
| 4125 | 4125 | unset($new_args['inner_element']); |
| 4126 | 4126 | echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {"; |
| 4127 | - echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : ''; |
|
| 4127 | + echo !empty($new_args['blockProps']) ? $this->block_element($new_args['blockProps'], $save) : ''; |
|
| 4128 | 4128 | |
| 4129 | 4129 | |
| 4130 | 4130 | // echo "} ),"; |
| 4131 | 4131 | |
| 4132 | - }else{ |
|
| 4132 | + } else { |
|
| 4133 | 4133 | echo "\n el( '" . $new_args['element'] . "', {"; |
| 4134 | 4134 | } |
| 4135 | 4135 | |
| 4136 | 4136 | |
| 4137 | 4137 | // get the attributes |
| 4138 | - foreach ( $new_args as $new_key => $new_value ) { |
|
| 4138 | + foreach ($new_args as $new_key => $new_value) { |
|
| 4139 | 4139 | |
| 4140 | 4140 | |
| 4141 | - if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) { |
|
| 4141 | + if ($new_key == 'element' || $new_key == 'content' || $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array($new_value)) { |
|
| 4142 | 4142 | // do nothing |
| 4143 | 4143 | } else { |
| 4144 | - echo $this->block_element( array( $new_key => $new_value ),$save ); |
|
| 4144 | + echo $this->block_element(array($new_key => $new_value), $save); |
|
| 4145 | 4145 | } |
| 4146 | 4146 | } |
| 4147 | 4147 | |
| 4148 | - echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes |
|
| 4148 | + echo $new_args['element'] == 'BlocksProps' ? '} ),' : "},"; // end attributes |
|
| 4149 | 4149 | |
| 4150 | 4150 | // get the content |
| 4151 | 4151 | $first_item = 0; |
| 4152 | - foreach ( $new_args as $new_key => $new_value ) { |
|
| 4153 | - if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) { |
|
| 4152 | + foreach ($new_args as $new_key => $new_value) { |
|
| 4153 | + if ($new_key === 'content' || $new_key === 'if_content' || is_array($new_value)) { |
|
| 4154 | 4154 | |
| 4155 | - if ( $new_key === 'content' ) { |
|
| 4156 | - echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'"; |
|
| 4157 | - }else if ( $new_key === 'if_content' ) { |
|
| 4158 | - echo $this->block_props_replace( $new_value ); |
|
| 4155 | + if ($new_key === 'content') { |
|
| 4156 | + echo "'" . $this->block_props_replace(wp_slash($new_value)) . "'"; |
|
| 4157 | + } else if ($new_key === 'if_content') { |
|
| 4158 | + echo $this->block_props_replace($new_value); |
|
| 4159 | 4159 | } |
| 4160 | 4160 | |
| 4161 | - if ( is_array( $new_value ) ) { |
|
| 4161 | + if (is_array($new_value)) { |
|
| 4162 | 4162 | |
| 4163 | - if ( isset( $new_value['element_require'] ) ) { |
|
| 4164 | - echo str_replace( array( |
|
| 4163 | + if (isset($new_value['element_require'])) { |
|
| 4164 | + echo str_replace(array( |
|
| 4165 | 4165 | "'+", |
| 4166 | 4166 | "+'" |
| 4167 | - ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " && "; |
|
| 4168 | - unset( $new_value['element_require'] ); |
|
| 4167 | + ), '', $this->block_props_replace($new_value['element_require'])) . " && "; |
|
| 4168 | + unset($new_value['element_require']); |
|
| 4169 | 4169 | } |
| 4170 | 4170 | |
| 4171 | - if ( isset( $new_value['element_repeat'] ) ) { |
|
| 4171 | + if (isset($new_value['element_repeat'])) { |
|
| 4172 | 4172 | $x = 1; |
| 4173 | - while ( $x <= absint( $new_value['element_repeat'] ) ) { |
|
| 4174 | - $this->block_element( array( '' => $new_value ),$save ); |
|
| 4175 | - $x ++; |
|
| 4173 | + while ($x <= absint($new_value['element_repeat'])) { |
|
| 4174 | + $this->block_element(array('' => $new_value), $save); |
|
| 4175 | + $x++; |
|
| 4176 | 4176 | } |
| 4177 | 4177 | } else { |
| 4178 | - $this->block_element( array( '' => $new_value ),$save ); |
|
| 4178 | + $this->block_element(array('' => $new_value), $save); |
|
| 4179 | 4179 | } |
| 4180 | 4180 | } |
| 4181 | - $first_item ++; |
|
| 4181 | + $first_item++; |
|
| 4182 | 4182 | } |
| 4183 | 4183 | } |
| 4184 | 4184 | |
| 4185 | - if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){ |
|
| 4186 | - echo "))";// end content |
|
| 4187 | - }else{ |
|
| 4188 | - echo ")";// end content |
|
| 4185 | + if ($new_args['element'] == 'innerBlocksProps' || $new_args['element'] == 'xBlocksProps') { |
|
| 4186 | + echo "))"; // end content |
|
| 4187 | + } else { |
|
| 4188 | + echo ")"; // end content |
|
| 4189 | 4189 | } |
| 4190 | 4190 | |
| 4191 | 4191 | |
@@ -4194,26 +4194,26 @@ discard block |
||
| 4194 | 4194 | } |
| 4195 | 4195 | } else { |
| 4196 | 4196 | |
| 4197 | - if ( substr( $element, 0, 3 ) === "if_" ) { |
|
| 4197 | + if (substr($element, 0, 3) === "if_") { |
|
| 4198 | 4198 | $extra = ''; |
| 4199 | - if( strpos($new_args, '[%WrapClass%]') !== false ){ |
|
| 4200 | - $new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args); |
|
| 4201 | - $new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args); |
|
| 4199 | + if (strpos($new_args, '[%WrapClass%]') !== false) { |
|
| 4200 | + $new_args = str_replace('[%WrapClass%]"', '" + sd_build_aui_class(props.attributes)', $new_args); |
|
| 4201 | + $new_args = str_replace('[%WrapClass%]', '+ sd_build_aui_class(props.attributes)', $new_args); |
|
| 4202 | 4202 | } |
| 4203 | - echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ","; |
|
| 4204 | - } elseif ( $element == 'style' && strpos($new_args, '[%WrapStyle%]') !== false ) { |
|
| 4205 | - $new_args = str_replace('[%WrapStyle%]','',$new_args); |
|
| 4206 | - echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },"; |
|
| 4203 | + echo str_replace("if_", "", $element) . ": " . $this->block_props_replace($new_args, true) . ","; |
|
| 4204 | + } elseif ($element == 'style' && strpos($new_args, '[%WrapStyle%]') !== false) { |
|
| 4205 | + $new_args = str_replace('[%WrapStyle%]', '', $new_args); |
|
| 4206 | + echo $element . ": {..." . $this->block_props_replace($new_args) . " , ...sd_build_aui_styles(props.attributes) },"; |
|
| 4207 | 4207 | // echo $element . ": " . $this->block_props_replace( $new_args ) . ","; |
| 4208 | - } elseif ( $element == 'style' ) { |
|
| 4209 | - echo $element . ": " . $this->block_props_replace( $new_args ) . ","; |
|
| 4210 | - } elseif ( ( $element == 'class' || $element == 'className' ) && strpos($new_args, '[%WrapClass%]') !== false ) { |
|
| 4211 | - $new_args = str_replace('[%WrapClass%]','',$new_args); |
|
| 4212 | - echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),"; |
|
| 4213 | - } elseif ( $element == 'template' && $new_args ) { |
|
| 4208 | + } elseif ($element == 'style') { |
|
| 4209 | + echo $element . ": " . $this->block_props_replace($new_args) . ","; |
|
| 4210 | + } elseif (($element == 'class' || $element == 'className') && strpos($new_args, '[%WrapClass%]') !== false) { |
|
| 4211 | + $new_args = str_replace('[%WrapClass%]', '', $new_args); |
|
| 4212 | + echo $element . ": '" . $this->block_props_replace($new_args) . "' + sd_build_aui_class(props.attributes),"; |
|
| 4213 | + } elseif ($element == 'template' && $new_args) { |
|
| 4214 | 4214 | echo $element . ": $new_args,"; |
| 4215 | 4215 | } else { |
| 4216 | - echo $element . ": '" . $this->block_props_replace( $new_args ) . "',"; |
|
| 4216 | + echo $element . ": '" . $this->block_props_replace($new_args) . "',"; |
|
| 4217 | 4217 | } |
| 4218 | 4218 | |
| 4219 | 4219 | } |
@@ -4228,11 +4228,11 @@ discard block |
||
| 4228 | 4228 | * |
| 4229 | 4229 | * @return mixed |
| 4230 | 4230 | */ |
| 4231 | - public function block_props_replace( $string, $no_wrap = false ) { |
|
| 4232 | - if ( $no_wrap ) { |
|
| 4233 | - $string = str_replace( array( "[%", "%]", "%:checked]" ), array( "props.attributes.", "", "" ), $string ); |
|
| 4231 | + public function block_props_replace($string, $no_wrap = false) { |
|
| 4232 | + if ($no_wrap) { |
|
| 4233 | + $string = str_replace(array("[%", "%]", "%:checked]"), array("props.attributes.", "", ""), $string); |
|
| 4234 | 4234 | } else { |
| 4235 | - $string = str_replace( array( "![%", "[%", "%]", "%:checked]" ), array( "'+!props.attributes.", "'+props.attributes.", "+'", "+'" ), $string ); |
|
| 4235 | + $string = str_replace(array("![%", "[%", "%]", "%:checked]"), array("'+!props.attributes.", "'+props.attributes.", "+'", "+'"), $string); |
|
| 4236 | 4236 | } |
| 4237 | 4237 | |
| 4238 | 4238 | return $string; |
@@ -4244,65 +4244,65 @@ discard block |
||
| 4244 | 4244 | * @param array $args |
| 4245 | 4245 | * @param array $instance |
| 4246 | 4246 | */ |
| 4247 | - public function widget( $args, $instance ) { |
|
| 4248 | - if ( ! is_array( $args ) ) { |
|
| 4247 | + public function widget($args, $instance) { |
|
| 4248 | + if (!is_array($args)) { |
|
| 4249 | 4249 | $args = array(); |
| 4250 | 4250 | } |
| 4251 | 4251 | |
| 4252 | 4252 | // Get the filtered values |
| 4253 | - $argument_values = $this->argument_values( $instance ); |
|
| 4254 | - $argument_values = $this->string_to_bool( $argument_values ); |
|
| 4255 | - $output = $this->output( $argument_values, $args ); |
|
| 4253 | + $argument_values = $this->argument_values($instance); |
|
| 4254 | + $argument_values = $this->string_to_bool($argument_values); |
|
| 4255 | + $output = $this->output($argument_values, $args); |
|
| 4256 | 4256 | |
| 4257 | 4257 | $no_wrap = false; |
| 4258 | - if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) { |
|
| 4258 | + if (isset($argument_values['no_wrap']) && $argument_values['no_wrap']) { |
|
| 4259 | 4259 | $no_wrap = true; |
| 4260 | 4260 | } |
| 4261 | 4261 | |
| 4262 | 4262 | ob_start(); |
| 4263 | - if ( $output && ! $no_wrap ) { |
|
| 4263 | + if ($output && !$no_wrap) { |
|
| 4264 | 4264 | |
| 4265 | 4265 | $class_original = $this->options['widget_ops']['classname']; |
| 4266 | - $class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash(); |
|
| 4266 | + $class = $this->options['widget_ops']['classname'] . " sdel-" . $this->get_instance_hash(); |
|
| 4267 | 4267 | |
| 4268 | 4268 | // Before widget |
| 4269 | - $before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : ''; |
|
| 4270 | - $before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget; |
|
| 4271 | - $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this ); |
|
| 4272 | - $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this ); |
|
| 4269 | + $before_widget = !empty($args['before_widget']) ? $args['before_widget'] : ''; |
|
| 4270 | + $before_widget = $before_widget ? str_replace($class_original, $class, $before_widget) : $before_widget; |
|
| 4271 | + $before_widget = apply_filters('wp_super_duper_before_widget', $before_widget, $args, $instance, $this); |
|
| 4272 | + $before_widget = apply_filters('wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this); |
|
| 4273 | 4273 | |
| 4274 | 4274 | // After widget |
| 4275 | - $after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : ''; |
|
| 4276 | - $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this ); |
|
| 4277 | - $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this ); |
|
| 4275 | + $after_widget = !empty($args['after_widget']) ? $args['after_widget'] : ''; |
|
| 4276 | + $after_widget = apply_filters('wp_super_duper_after_widget', $after_widget, $args, $instance, $this); |
|
| 4277 | + $after_widget = apply_filters('wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this); |
|
| 4278 | 4278 | |
| 4279 | 4279 | echo $before_widget; |
| 4280 | 4280 | // elementor strips the widget wrapping div so we check for and add it back if needed |
| 4281 | - if ( $this->is_elementor_widget_output() ) { |
|
| 4281 | + if ($this->is_elementor_widget_output()) { |
|
| 4282 | 4282 | // Filter class & attrs for elementor widget output. |
| 4283 | - $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this ); |
|
| 4284 | - $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this ); |
|
| 4283 | + $class = apply_filters('wp_super_duper_div_classname', $class, $args, $this); |
|
| 4284 | + $class = apply_filters('wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this); |
|
| 4285 | 4285 | |
| 4286 | - $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this ); |
|
| 4287 | - $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); |
|
| 4286 | + $attrs = apply_filters('wp_super_duper_div_attrs', '', $args, $this); |
|
| 4287 | + $attrs = apply_filters('wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this); |
|
| 4288 | 4288 | |
| 4289 | - echo "<span class='" . esc_attr( $class ) . "' " . $attrs . ">"; |
|
| 4289 | + echo "<span class='" . esc_attr($class) . "' " . $attrs . ">"; |
|
| 4290 | 4290 | } |
| 4291 | - echo $this->output_title( $args, $instance ); |
|
| 4291 | + echo $this->output_title($args, $instance); |
|
| 4292 | 4292 | echo $output; |
| 4293 | - if ( $this->is_elementor_widget_output() ) { |
|
| 4293 | + if ($this->is_elementor_widget_output()) { |
|
| 4294 | 4294 | echo "</span>"; |
| 4295 | 4295 | } |
| 4296 | 4296 | echo $after_widget; |
| 4297 | - } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty |
|
| 4298 | - $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
| 4297 | + } elseif ($this->is_preview() && $output == '') {// if preview show a placeholder if empty |
|
| 4298 | + $output = $this->preview_placeholder_text("{{" . $this->base_id . "}}"); |
|
| 4299 | 4299 | echo $output; |
| 4300 | - } elseif ( $output && $no_wrap ) { |
|
| 4300 | + } elseif ($output && $no_wrap) { |
|
| 4301 | 4301 | echo $output; |
| 4302 | 4302 | } |
| 4303 | 4303 | $output = ob_get_clean(); |
| 4304 | 4304 | |
| 4305 | - $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this ); |
|
| 4305 | + $output = apply_filters('wp_super_duper_widget_output', $output, $instance, $args, $this); |
|
| 4306 | 4306 | |
| 4307 | 4307 | echo $output; |
| 4308 | 4308 | } |
@@ -4315,7 +4315,7 @@ discard block |
||
| 4315 | 4315 | */ |
| 4316 | 4316 | public function is_elementor_widget_output() { |
| 4317 | 4317 | $result = false; |
| 4318 | - if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) { |
|
| 4318 | + if (defined('ELEMENTOR_VERSION') && isset($this->number) && $this->number == 'REPLACE_TO_ID') { |
|
| 4319 | 4319 | $result = true; |
| 4320 | 4320 | } |
| 4321 | 4321 | |
@@ -4330,7 +4330,7 @@ discard block |
||
| 4330 | 4330 | */ |
| 4331 | 4331 | public function is_elementor_preview() { |
| 4332 | 4332 | $result = false; |
| 4333 | - if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) { |
|
| 4333 | + if (isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax')) { |
|
| 4334 | 4334 | $result = true; |
| 4335 | 4335 | } |
| 4336 | 4336 | |
@@ -4345,7 +4345,7 @@ discard block |
||
| 4345 | 4345 | */ |
| 4346 | 4346 | public function is_divi_preview() { |
| 4347 | 4347 | $result = false; |
| 4348 | - if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) { |
|
| 4348 | + if (isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor')) { |
|
| 4349 | 4349 | $result = true; |
| 4350 | 4350 | } |
| 4351 | 4351 | |
@@ -4360,7 +4360,7 @@ discard block |
||
| 4360 | 4360 | */ |
| 4361 | 4361 | public function is_beaver_preview() { |
| 4362 | 4362 | $result = false; |
| 4363 | - if ( isset( $_REQUEST['fl_builder'] ) ) { |
|
| 4363 | + if (isset($_REQUEST['fl_builder'])) { |
|
| 4364 | 4364 | $result = true; |
| 4365 | 4365 | } |
| 4366 | 4366 | |
@@ -4375,7 +4375,7 @@ discard block |
||
| 4375 | 4375 | */ |
| 4376 | 4376 | public function is_siteorigin_preview() { |
| 4377 | 4377 | $result = false; |
| 4378 | - if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) { |
|
| 4378 | + if (!empty($_REQUEST['siteorigin_panels_live_editor'])) { |
|
| 4379 | 4379 | $result = true; |
| 4380 | 4380 | } |
| 4381 | 4381 | |
@@ -4390,7 +4390,7 @@ discard block |
||
| 4390 | 4390 | */ |
| 4391 | 4391 | public function is_cornerstone_preview() { |
| 4392 | 4392 | $result = false; |
| 4393 | - if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) { |
|
| 4393 | + if (!empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint') { |
|
| 4394 | 4394 | $result = true; |
| 4395 | 4395 | } |
| 4396 | 4396 | |
@@ -4405,7 +4405,7 @@ discard block |
||
| 4405 | 4405 | */ |
| 4406 | 4406 | public function is_fusion_preview() { |
| 4407 | 4407 | $result = false; |
| 4408 | - if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) { |
|
| 4408 | + if (!empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce'])) { |
|
| 4409 | 4409 | $result = true; |
| 4410 | 4410 | } |
| 4411 | 4411 | |
@@ -4420,7 +4420,7 @@ discard block |
||
| 4420 | 4420 | */ |
| 4421 | 4421 | public function is_oxygen_preview() { |
| 4422 | 4422 | $result = false; |
| 4423 | - if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) { |
|
| 4423 | + if (!empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === "oxy_render_" || substr($_REQUEST['action'], 0, 10) === "ct_render_"))) { |
|
| 4424 | 4424 | $result = true; |
| 4425 | 4425 | } |
| 4426 | 4426 | |
@@ -4437,7 +4437,7 @@ discard block |
||
| 4437 | 4437 | public function is_kallyas_zion_preview() { |
| 4438 | 4438 | $result = false; |
| 4439 | 4439 | |
| 4440 | - if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) { |
|
| 4440 | + if (function_exists('znhg_kallyas_theme_config') && !empty($_REQUEST['zn_pb_edit'])) { |
|
| 4441 | 4441 | $result = true; |
| 4442 | 4442 | } |
| 4443 | 4443 | |
@@ -4454,7 +4454,7 @@ discard block |
||
| 4454 | 4454 | public function is_bricks_preview() { |
| 4455 | 4455 | $result = false; |
| 4456 | 4456 | |
| 4457 | - if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) { |
|
| 4457 | + if (function_exists('bricks_is_builder') && (bricks_is_builder() || bricks_is_builder_call())) { |
|
| 4458 | 4458 | $result = true; |
| 4459 | 4459 | } |
| 4460 | 4460 | |
@@ -4469,25 +4469,25 @@ discard block |
||
| 4469 | 4469 | */ |
| 4470 | 4470 | public function is_preview() { |
| 4471 | 4471 | $preview = false; |
| 4472 | - if ( $this->is_divi_preview() ) { |
|
| 4472 | + if ($this->is_divi_preview()) { |
|
| 4473 | 4473 | $preview = true; |
| 4474 | - } elseif ( $this->is_elementor_preview() ) { |
|
| 4474 | + } elseif ($this->is_elementor_preview()) { |
|
| 4475 | 4475 | $preview = true; |
| 4476 | - } elseif ( $this->is_beaver_preview() ) { |
|
| 4476 | + } elseif ($this->is_beaver_preview()) { |
|
| 4477 | 4477 | $preview = true; |
| 4478 | - } elseif ( $this->is_siteorigin_preview() ) { |
|
| 4478 | + } elseif ($this->is_siteorigin_preview()) { |
|
| 4479 | 4479 | $preview = true; |
| 4480 | - } elseif ( $this->is_cornerstone_preview() ) { |
|
| 4480 | + } elseif ($this->is_cornerstone_preview()) { |
|
| 4481 | 4481 | $preview = true; |
| 4482 | - } elseif ( $this->is_fusion_preview() ) { |
|
| 4482 | + } elseif ($this->is_fusion_preview()) { |
|
| 4483 | 4483 | $preview = true; |
| 4484 | - } elseif ( $this->is_oxygen_preview() ) { |
|
| 4484 | + } elseif ($this->is_oxygen_preview()) { |
|
| 4485 | 4485 | $preview = true; |
| 4486 | - } elseif( $this->is_kallyas_zion_preview() ) { |
|
| 4486 | + } elseif ($this->is_kallyas_zion_preview()) { |
|
| 4487 | 4487 | $preview = true; |
| 4488 | - } elseif( $this->is_block_content_call() ) { |
|
| 4488 | + } elseif ($this->is_block_content_call()) { |
|
| 4489 | 4489 | $preview = true; |
| 4490 | - } elseif( $this->is_bricks_preview() ) { |
|
| 4490 | + } elseif ($this->is_bricks_preview()) { |
|
| 4491 | 4491 | $preview = true; |
| 4492 | 4492 | } |
| 4493 | 4493 | |
@@ -4502,44 +4502,44 @@ discard block |
||
| 4502 | 4502 | * |
| 4503 | 4503 | * @return string |
| 4504 | 4504 | */ |
| 4505 | - public function output_title( $args, $instance = array() ) { |
|
| 4505 | + public function output_title($args, $instance = array()) { |
|
| 4506 | 4506 | $output = ''; |
| 4507 | - if ( ! empty( $instance['title'] ) ) { |
|
| 4507 | + if (!empty($instance['title'])) { |
|
| 4508 | 4508 | /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */ |
| 4509 | - $title = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ); |
|
| 4509 | + $title = apply_filters('widget_title', $instance['title'], $instance, $this->id_base); |
|
| 4510 | 4510 | |
| 4511 | - if ( empty( $instance['widget_title_tag'] ) ) { |
|
| 4512 | - if ( ! isset( $args['before_title'] ) ) { |
|
| 4511 | + if (empty($instance['widget_title_tag'])) { |
|
| 4512 | + if (!isset($args['before_title'])) { |
|
| 4513 | 4513 | $args['before_title'] = ''; |
| 4514 | 4514 | } |
| 4515 | 4515 | |
| 4516 | - if ( ! isset( $args['after_title'] ) ) { |
|
| 4516 | + if (!isset($args['after_title'])) { |
|
| 4517 | 4517 | $args['after_title'] = ''; |
| 4518 | 4518 | } |
| 4519 | 4519 | |
| 4520 | 4520 | $output = $args['before_title'] . $title . $args['after_title']; |
| 4521 | 4521 | } else { |
| 4522 | - $tag = esc_attr( $instance['widget_title_tag'] ); |
|
| 4523 | - $allowed_tags = array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'span', 'div', 'p' ); |
|
| 4524 | - $title_tag = in_array( $tag, $allowed_tags, true ) ? esc_attr( $tag ) : 'h2'; |
|
| 4522 | + $tag = esc_attr($instance['widget_title_tag']); |
|
| 4523 | + $allowed_tags = array('h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'span', 'div', 'p'); |
|
| 4524 | + $title_tag = in_array($tag, $allowed_tags, true) ? esc_attr($tag) : 'h2'; |
|
| 4525 | 4525 | |
| 4526 | 4526 | // classes |
| 4527 | 4527 | $title_classes = array(); |
| 4528 | - $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : ''; |
|
| 4529 | - $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : ''; |
|
| 4530 | - $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : ''; |
|
| 4531 | - $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : ''; |
|
| 4532 | - $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : ''; |
|
| 4533 | - $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : ''; |
|
| 4534 | - $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : ''; |
|
| 4535 | - $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : ''; |
|
| 4536 | - $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : ''; |
|
| 4537 | - $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : ''; |
|
| 4538 | - $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : ''; |
|
| 4539 | - $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : ''; |
|
| 4540 | - $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : ''; |
|
| 4541 | - |
|
| 4542 | - $class = !empty( $title_classes ) ? implode(" ",$title_classes) : ''; |
|
| 4528 | + $title_classes[] = !empty($instance['widget_title_size_class']) ? sanitize_html_class($instance['widget_title_size_class']) : ''; |
|
| 4529 | + $title_classes[] = !empty($instance['widget_title_align_class']) ? sanitize_html_class($instance['widget_title_align_class']) : ''; |
|
| 4530 | + $title_classes[] = !empty($instance['widget_title_color_class']) ? "text-" . sanitize_html_class($instance['widget_title_color_class']) : ''; |
|
| 4531 | + $title_classes[] = !empty($instance['widget_title_border_class']) ? sanitize_html_class($instance['widget_title_border_class']) : ''; |
|
| 4532 | + $title_classes[] = !empty($instance['widget_title_border_color_class']) ? "border-" . sanitize_html_class($instance['widget_title_border_color_class']) : ''; |
|
| 4533 | + $title_classes[] = !empty($instance['widget_title_mt_class']) ? "mt-" . absint($instance['widget_title_mt_class']) : ''; |
|
| 4534 | + $title_classes[] = !empty($instance['widget_title_mr_class']) ? "mr-" . absint($instance['widget_title_mr_class']) : ''; |
|
| 4535 | + $title_classes[] = !empty($instance['widget_title_mb_class']) ? "mb-" . absint($instance['widget_title_mb_class']) : ''; |
|
| 4536 | + $title_classes[] = !empty($instance['widget_title_ml_class']) ? "ml-" . absint($instance['widget_title_ml_class']) : ''; |
|
| 4537 | + $title_classes[] = !empty($instance['widget_title_pt_class']) ? "pt-" . absint($instance['widget_title_pt_class']) : ''; |
|
| 4538 | + $title_classes[] = !empty($instance['widget_title_pr_class']) ? "pr-" . absint($instance['widget_title_pr_class']) : ''; |
|
| 4539 | + $title_classes[] = !empty($instance['widget_title_pb_class']) ? "pb-" . absint($instance['widget_title_pb_class']) : ''; |
|
| 4540 | + $title_classes[] = !empty($instance['widget_title_pl_class']) ? "pl-" . absint($instance['widget_title_pl_class']) : ''; |
|
| 4541 | + |
|
| 4542 | + $class = !empty($title_classes) ? implode(" ", $title_classes) : ''; |
|
| 4543 | 4543 | $output = "<$title_tag class='$class' >$title</$title_tag>"; |
| 4544 | 4544 | } |
| 4545 | 4545 | |
@@ -4553,7 +4553,7 @@ discard block |
||
| 4553 | 4553 | * |
| 4554 | 4554 | * @param array $instance The widget options. |
| 4555 | 4555 | */ |
| 4556 | - public function form( $instance ) { |
|
| 4556 | + public function form($instance) { |
|
| 4557 | 4557 | |
| 4558 | 4558 | // set widget instance |
| 4559 | 4559 | $this->instance = $instance; |
@@ -4561,20 +4561,20 @@ discard block |
||
| 4561 | 4561 | // set it as a SD widget |
| 4562 | 4562 | echo $this->widget_advanced_toggle(); |
| 4563 | 4563 | |
| 4564 | - echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>"; |
|
| 4564 | + echo "<p>" . esc_attr($this->options['widget_ops']['description']) . "</p>"; |
|
| 4565 | 4565 | $arguments_raw = $this->get_arguments(); |
| 4566 | 4566 | |
| 4567 | - if ( is_array( $arguments_raw ) ) { |
|
| 4567 | + if (is_array($arguments_raw)) { |
|
| 4568 | 4568 | |
| 4569 | - $arguments = $this->group_arguments( $arguments_raw ); |
|
| 4569 | + $arguments = $this->group_arguments($arguments_raw); |
|
| 4570 | 4570 | |
| 4571 | 4571 | // Do we have sections? |
| 4572 | 4572 | $has_sections = $arguments == $arguments_raw ? false : true; |
| 4573 | 4573 | |
| 4574 | 4574 | |
| 4575 | - if ( $has_sections ) { |
|
| 4575 | + if ($has_sections) { |
|
| 4576 | 4576 | $panel_count = 0; |
| 4577 | - foreach ( $arguments as $key => $args ) { |
|
| 4577 | + foreach ($arguments as $key => $args) { |
|
| 4578 | 4578 | |
| 4579 | 4579 | ?> |
| 4580 | 4580 | <script> |
@@ -4584,26 +4584,26 @@ discard block |
||
| 4584 | 4584 | |
| 4585 | 4585 | $hide = $panel_count ? ' style="display:none;" ' : ''; |
| 4586 | 4586 | $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down'; |
| 4587 | - echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>"; |
|
| 4588 | - echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>"; |
|
| 4587 | + echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes($key) . "'>" . esc_attr($key) . " <i style='float:right;' class='" . $icon_class . "'></i></button>"; |
|
| 4588 | + echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes($key) . "' $hide>"; |
|
| 4589 | 4589 | |
| 4590 | - foreach ( $args as $k => $a ) { |
|
| 4590 | + foreach ($args as $k => $a) { |
|
| 4591 | 4591 | |
| 4592 | 4592 | $this->widget_inputs_row_start($k, $a); |
| 4593 | - $this->widget_inputs( $a, $instance ); |
|
| 4593 | + $this->widget_inputs($a, $instance); |
|
| 4594 | 4594 | $this->widget_inputs_row_end($k, $a); |
| 4595 | 4595 | |
| 4596 | 4596 | } |
| 4597 | 4597 | |
| 4598 | 4598 | echo "</div>"; |
| 4599 | 4599 | |
| 4600 | - $panel_count ++; |
|
| 4600 | + $panel_count++; |
|
| 4601 | 4601 | |
| 4602 | 4602 | } |
| 4603 | 4603 | } else { |
| 4604 | - foreach ( $arguments as $key => $args ) { |
|
| 4604 | + foreach ($arguments as $key => $args) { |
|
| 4605 | 4605 | $this->widget_inputs_row_start($key, $args); |
| 4606 | - $this->widget_inputs( $args, $instance ); |
|
| 4606 | + $this->widget_inputs($args, $instance); |
|
| 4607 | 4607 | $this->widget_inputs_row_end($key, $args); |
| 4608 | 4608 | } |
| 4609 | 4609 | } |
@@ -4611,28 +4611,28 @@ discard block |
||
| 4611 | 4611 | } |
| 4612 | 4612 | } |
| 4613 | 4613 | |
| 4614 | - public function widget_inputs_row_start( $key, $args ) { |
|
| 4615 | - if ( ! empty( $args['row'] ) ) { |
|
| 4614 | + public function widget_inputs_row_start($key, $args) { |
|
| 4615 | + if (!empty($args['row'])) { |
|
| 4616 | 4616 | // Maybe open |
| 4617 | - if ( ! empty( $args['row']['open'] ) ) { |
|
| 4617 | + if (!empty($args['row']['open'])) { |
|
| 4618 | 4618 | ?> |
| 4619 | - <div class='bsui sd-argument' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php echo ( ! empty( $args['row']['element_require'] ) ? $this->convert_element_require( $args['row']['element_require'] ) : '' ); ?>'> |
|
| 4620 | - <?php if ( ! empty( $args['row']['title'] ) ) { ?> |
|
| 4619 | + <div class='bsui sd-argument' data-argument='<?php echo esc_attr($args['row']['key']); ?>' data-element_require='<?php echo (!empty($args['row']['element_require']) ? $this->convert_element_require($args['row']['element_require']) : ''); ?>'> |
|
| 4620 | + <?php if (!empty($args['row']['title'])) { ?> |
|
| 4621 | 4621 | <?php |
| 4622 | - if ( isset( $args['row']['icon'] ) ) { |
|
| 4622 | + if (isset($args['row']['icon'])) { |
|
| 4623 | 4623 | $args['row']['icon'] = ''; |
| 4624 | 4624 | } |
| 4625 | 4625 | |
| 4626 | - if ( ! isset( $args['row']['device_type'] ) && isset( $args['device_type'] ) ) { |
|
| 4626 | + if (!isset($args['row']['device_type']) && isset($args['device_type'])) { |
|
| 4627 | 4627 | $args['row']['device_type'] = $args['device_type']; |
| 4628 | 4628 | } |
| 4629 | 4629 | ?> |
| 4630 | - <label class="mb-0"><?php echo $this->widget_field_title( $args['row'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label> |
|
| 4630 | + <label class="mb-0"><?php echo $this->widget_field_title($args['row']); ?><?php echo $this->widget_field_desc($args['row']); ?></label> |
|
| 4631 | 4631 | <?php } ?> |
| 4632 | - <div class='row<?php echo ( ! empty( $args['row']['class'] ) ? ' ' . esc_attr( $args['row']['class'] ) : '' ); ?>'> |
|
| 4632 | + <div class='row<?php echo (!empty($args['row']['class']) ? ' ' . esc_attr($args['row']['class']) : ''); ?>'> |
|
| 4633 | 4633 | <div class='col pr-2'> |
| 4634 | 4634 | <?php |
| 4635 | - } else if ( ! empty( $args['row']['close'] ) ) { |
|
| 4635 | + } else if (!empty($args['row']['close'])) { |
|
| 4636 | 4636 | echo "<div class='col pl-0 ps-0'>"; |
| 4637 | 4637 | } else { |
| 4638 | 4638 | echo "<div class='col pl-0 ps-0 pr-2 pe-2'>"; |
@@ -4640,10 +4640,10 @@ discard block |
||
| 4640 | 4640 | } |
| 4641 | 4641 | } |
| 4642 | 4642 | |
| 4643 | - public function widget_inputs_row_end( $key, $args ) { |
|
| 4644 | - if ( ! empty( $args['row'] ) ) { |
|
| 4643 | + public function widget_inputs_row_end($key, $args) { |
|
| 4644 | + if (!empty($args['row'])) { |
|
| 4645 | 4645 | // Maybe close |
| 4646 | - if ( ! empty( $args['row']['close'] ) ) { |
|
| 4646 | + if (!empty($args['row']['close'])) { |
|
| 4647 | 4647 | echo "</div></div>"; |
| 4648 | 4648 | } |
| 4649 | 4649 | echo "</div>"; |
@@ -4658,7 +4658,7 @@ discard block |
||
| 4658 | 4658 | public function widget_advanced_toggle() { |
| 4659 | 4659 | |
| 4660 | 4660 | $output = ''; |
| 4661 | - if ( $this->block_show_advanced() ) { |
|
| 4661 | + if ($this->block_show_advanced()) { |
|
| 4662 | 4662 | $val = 1; |
| 4663 | 4663 | } else { |
| 4664 | 4664 | $val = 0; |
@@ -4678,14 +4678,14 @@ discard block |
||
| 4678 | 4678 | *@since 1.0.0 |
| 4679 | 4679 | * |
| 4680 | 4680 | */ |
| 4681 | - public function convert_element_require( $input ) { |
|
| 4682 | - $input = str_replace( "'", '"', $input );// we only want double quotes |
|
| 4681 | + public function convert_element_require($input) { |
|
| 4682 | + $input = str_replace("'", '"', $input); // we only want double quotes |
|
| 4683 | 4683 | |
| 4684 | - $output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array( |
|
| 4684 | + $output = esc_attr(str_replace(array("[%", "%]", "%:checked]"), array( |
|
| 4685 | 4685 | "jQuery(form).find('[data-argument=\"", |
| 4686 | 4686 | "\"]').find('input,select,textarea').val()", |
| 4687 | 4687 | "\"]').find('input:checked').val()" |
| 4688 | - ), $input ) ); |
|
| 4688 | + ), $input)); |
|
| 4689 | 4689 | |
| 4690 | 4690 | return $output; |
| 4691 | 4691 | } |
@@ -4696,48 +4696,48 @@ discard block |
||
| 4696 | 4696 | * @param $args |
| 4697 | 4697 | * @param $instance |
| 4698 | 4698 | */ |
| 4699 | - public function widget_inputs( $args, $instance ) { |
|
| 4699 | + public function widget_inputs($args, $instance) { |
|
| 4700 | 4700 | |
| 4701 | 4701 | $class = ""; |
| 4702 | 4702 | $element_require = ""; |
| 4703 | 4703 | $custom_attributes = ""; |
| 4704 | 4704 | |
| 4705 | 4705 | // get value |
| 4706 | - if ( isset( $instance[ $args['name'] ] ) ) { |
|
| 4707 | - $value = $instance[ $args['name'] ]; |
|
| 4708 | - } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) { |
|
| 4709 | - $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] ); |
|
| 4706 | + if (isset($instance[$args['name']])) { |
|
| 4707 | + $value = $instance[$args['name']]; |
|
| 4708 | + } elseif (!isset($instance[$args['name']]) && !empty($args['default'])) { |
|
| 4709 | + $value = is_array($args['default']) ? array_map("esc_html", $args['default']) : esc_html($args['default']); |
|
| 4710 | 4710 | } else { |
| 4711 | 4711 | $value = ''; |
| 4712 | 4712 | } |
| 4713 | 4713 | |
| 4714 | 4714 | // get placeholder |
| 4715 | - if ( ! empty( $args['placeholder'] ) ) { |
|
| 4716 | - $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'"; |
|
| 4715 | + if (!empty($args['placeholder'])) { |
|
| 4716 | + $placeholder = "placeholder='" . esc_html($args['placeholder']) . "'"; |
|
| 4717 | 4717 | } else { |
| 4718 | 4718 | $placeholder = ''; |
| 4719 | 4719 | } |
| 4720 | 4720 | |
| 4721 | 4721 | // get if advanced |
| 4722 | - if ( isset( $args['advanced'] ) && $args['advanced'] ) { |
|
| 4722 | + if (isset($args['advanced']) && $args['advanced']) { |
|
| 4723 | 4723 | $class .= " sd-advanced-setting "; |
| 4724 | 4724 | } |
| 4725 | 4725 | |
| 4726 | 4726 | // element_require |
| 4727 | - if ( isset( $args['element_require'] ) && $args['element_require'] ) { |
|
| 4727 | + if (isset($args['element_require']) && $args['element_require']) { |
|
| 4728 | 4728 | $element_require = $args['element_require']; |
| 4729 | 4729 | } |
| 4730 | 4730 | |
| 4731 | 4731 | // custom_attributes |
| 4732 | - if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) { |
|
| 4733 | - $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true ); |
|
| 4732 | + if (isset($args['custom_attributes']) && $args['custom_attributes']) { |
|
| 4733 | + $custom_attributes = $this->array_to_attributes($args['custom_attributes'], true); |
|
| 4734 | 4734 | } |
| 4735 | 4735 | |
| 4736 | 4736 | // before wrapper |
| 4737 | 4737 | ?> |
| 4738 | - <p class="sd-argument <?php echo esc_attr( $class ); ?>" data-argument='<?php echo esc_attr( $args['name'] ); ?>' data-element_require='<?php if ( $element_require ) { echo $this->convert_element_require( $element_require );} ?>'> |
|
| 4738 | + <p class="sd-argument <?php echo esc_attr($class); ?>" data-argument='<?php echo esc_attr($args['name']); ?>' data-element_require='<?php if ($element_require) { echo $this->convert_element_require($element_require); } ?>'> |
|
| 4739 | 4739 | <?php |
| 4740 | - switch ( $args['type'] ) { |
|
| 4740 | + switch ($args['type']) { |
|
| 4741 | 4741 | //array('text','password','number','email','tel','url','color') |
| 4742 | 4742 | case "text": |
| 4743 | 4743 | case "password": |
@@ -4747,33 +4747,33 @@ discard block |
||
| 4747 | 4747 | case "url": |
| 4748 | 4748 | case "color": |
| 4749 | 4749 | ?> |
| 4750 | - <label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label> |
|
| 4751 | - <input <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="<?php echo esc_attr( $args['type'] ); ?>" value="<?php echo esc_attr( $value ); ?>"> |
|
| 4750 | + <label for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label> |
|
| 4751 | + <input <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="<?php echo esc_attr($args['type']); ?>" value="<?php echo esc_attr($value); ?>"> |
|
| 4752 | 4752 | <?php |
| 4753 | 4753 | |
| 4754 | 4754 | break; |
| 4755 | 4755 | case "select": |
| 4756 | - $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false; |
|
| 4757 | - if ( $multiple ) { |
|
| 4758 | - if ( empty( $value ) ) { |
|
| 4756 | + $multiple = isset($args['multiple']) && $args['multiple'] ? true : false; |
|
| 4757 | + if ($multiple) { |
|
| 4758 | + if (empty($value)) { |
|
| 4759 | 4759 | $value = array(); |
| 4760 | 4760 | } |
| 4761 | 4761 | } |
| 4762 | 4762 | ?> |
| 4763 | - <label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label> |
|
| 4764 | - <select <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); if ( $multiple ) { echo "[]"; } ?>" |
|
| 4765 | - <?php if ( $multiple ) { |
|
| 4763 | + <label for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label> |
|
| 4764 | + <select <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); if ($multiple) { echo "[]"; } ?>" |
|
| 4765 | + <?php if ($multiple) { |
|
| 4766 | 4766 | echo "multiple"; |
| 4767 | 4767 | } //@todo not implemented yet due to gutenberg not supporting it |
| 4768 | 4768 | ?>> |
| 4769 | 4769 | <?php |
| 4770 | 4770 | |
| 4771 | - if ( ! empty( $args['options'] ) ) { |
|
| 4772 | - foreach ( $args['options'] as $val => $label ) { |
|
| 4773 | - if ( $multiple ) { |
|
| 4774 | - $selected = in_array( $val, $value ) ? 'selected="selected"' : ''; |
|
| 4771 | + if (!empty($args['options'])) { |
|
| 4772 | + foreach ($args['options'] as $val => $label) { |
|
| 4773 | + if ($multiple) { |
|
| 4774 | + $selected = in_array($val, $value) ? 'selected="selected"' : ''; |
|
| 4775 | 4775 | } else { |
| 4776 | - $selected = selected( $value, $val, false ); |
|
| 4776 | + $selected = selected($value, $val, false); |
|
| 4777 | 4777 | } |
| 4778 | 4778 | echo "<option value='$val' " . $selected . ">$label</option>"; |
| 4779 | 4779 | } |
@@ -4784,20 +4784,20 @@ discard block |
||
| 4784 | 4784 | break; |
| 4785 | 4785 | case "checkbox": |
| 4786 | 4786 | ?> |
| 4787 | - <input <?php echo $placeholder; ?> <?php checked( 1, $value, true ) ?> <?php echo $custom_attributes; ?> class="widefat" id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="checkbox" value="1"> |
|
| 4788 | - <label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label> |
|
| 4787 | + <input <?php echo $placeholder; ?> <?php checked(1, $value, true) ?> <?php echo $custom_attributes; ?> class="widefat" id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="checkbox" value="1"> |
|
| 4788 | + <label for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label> |
|
| 4789 | 4789 | <?php |
| 4790 | 4790 | break; |
| 4791 | 4791 | case "textarea": |
| 4792 | 4792 | ?> |
| 4793 | - <label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label> |
|
| 4794 | - <textarea <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>"><?php echo esc_attr( $value ); ?></textarea> |
|
| 4793 | + <label for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label> |
|
| 4794 | + <textarea <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>"><?php echo esc_attr($value); ?></textarea> |
|
| 4795 | 4795 | <?php |
| 4796 | 4796 | |
| 4797 | 4797 | break; |
| 4798 | 4798 | case "hidden": |
| 4799 | 4799 | ?> |
| 4800 | - <input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden" value="<?php echo esc_attr( $value ); ?>"> |
|
| 4800 | + <input id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="hidden" value="<?php echo esc_attr($value); ?>"> |
|
| 4801 | 4801 | <?php |
| 4802 | 4802 | break; |
| 4803 | 4803 | default: |
@@ -4807,15 +4807,15 @@ discard block |
||
| 4807 | 4807 | ?></p><?php |
| 4808 | 4808 | } |
| 4809 | 4809 | |
| 4810 | - public function get_widget_icon($icon = 'box-top', $title = ''){ |
|
| 4811 | - if($icon=='box-top'){ |
|
| 4812 | - return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>'; |
|
| 4813 | - }elseif($icon=='box-right'){ |
|
| 4814 | - return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>'; |
|
| 4815 | - }elseif($icon=='box-bottom'){ |
|
| 4816 | - return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>'; |
|
| 4817 | - }elseif($icon=='box-left'){ |
|
| 4818 | - return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>'; |
|
| 4810 | + public function get_widget_icon($icon = 'box-top', $title = '') { |
|
| 4811 | + if ($icon == 'box-top') { |
|
| 4812 | + return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>'; |
|
| 4813 | + }elseif ($icon == 'box-right') { |
|
| 4814 | + return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>'; |
|
| 4815 | + }elseif ($icon == 'box-bottom') { |
|
| 4816 | + return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>'; |
|
| 4817 | + }elseif ($icon == 'box-left') { |
|
| 4818 | + return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>'; |
|
| 4819 | 4819 | } |
| 4820 | 4820 | } |
| 4821 | 4821 | |
@@ -4827,14 +4827,14 @@ discard block |
||
| 4827 | 4827 | * @return string |
| 4828 | 4828 | * @todo, need to make its own tooltip script |
| 4829 | 4829 | */ |
| 4830 | - public function widget_field_desc( $args ) { |
|
| 4830 | + public function widget_field_desc($args) { |
|
| 4831 | 4831 | |
| 4832 | 4832 | $description = ''; |
| 4833 | - if ( isset( $args['desc'] ) && $args['desc'] ) { |
|
| 4834 | - if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) { |
|
| 4835 | - $description = $this->desc_tip( $args['desc'] ); |
|
| 4833 | + if (isset($args['desc']) && $args['desc']) { |
|
| 4834 | + if (isset($args['desc_tip']) && $args['desc_tip']) { |
|
| 4835 | + $description = $this->desc_tip($args['desc']); |
|
| 4836 | 4836 | } else { |
| 4837 | - $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>'; |
|
| 4837 | + $description = '<span class="description">' . wp_kses_post($args['desc']) . '</span>'; |
|
| 4838 | 4838 | } |
| 4839 | 4839 | } |
| 4840 | 4840 | |
@@ -4848,18 +4848,18 @@ discard block |
||
| 4848 | 4848 | * |
| 4849 | 4849 | * @return string |
| 4850 | 4850 | */ |
| 4851 | - public function widget_field_title( $args ) { |
|
| 4851 | + public function widget_field_title($args) { |
|
| 4852 | 4852 | $title = ''; |
| 4853 | 4853 | |
| 4854 | - if ( isset( $args['title'] ) && $args['title'] ) { |
|
| 4855 | - if ( ! empty( $args['device_type'] ) ) { |
|
| 4854 | + if (isset($args['title']) && $args['title']) { |
|
| 4855 | + if (!empty($args['device_type'])) { |
|
| 4856 | 4856 | $args['title'] .= ' (' . $args['device_type'] . ')'; // Append device type to title. |
| 4857 | 4857 | } |
| 4858 | 4858 | |
| 4859 | - if ( isset( $args['icon'] ) && $args['icon'] ) { |
|
| 4860 | - $title = self::get_widget_icon( $args['icon'], $args['title'] ); |
|
| 4859 | + if (isset($args['icon']) && $args['icon']) { |
|
| 4860 | + $title = self::get_widget_icon($args['icon'], $args['title']); |
|
| 4861 | 4861 | } else { |
| 4862 | - $title = esc_attr( $args['title'] ); |
|
| 4862 | + $title = esc_attr($args['title']); |
|
| 4863 | 4863 | } |
| 4864 | 4864 | } |
| 4865 | 4865 | |
@@ -4874,11 +4874,11 @@ discard block |
||
| 4874 | 4874 | * |
| 4875 | 4875 | * @return string |
| 4876 | 4876 | */ |
| 4877 | - function desc_tip( $tip, $allow_html = false ) { |
|
| 4878 | - if ( $allow_html ) { |
|
| 4879 | - $tip = $this->sanitize_tooltip( $tip ); |
|
| 4877 | + function desc_tip($tip, $allow_html = false) { |
|
| 4878 | + if ($allow_html) { |
|
| 4879 | + $tip = $this->sanitize_tooltip($tip); |
|
| 4880 | 4880 | } else { |
| 4881 | - $tip = esc_attr( $tip ); |
|
| 4881 | + $tip = esc_attr($tip); |
|
| 4882 | 4882 | } |
| 4883 | 4883 | |
| 4884 | 4884 | return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>'; |
@@ -4891,8 +4891,8 @@ discard block |
||
| 4891 | 4891 | * |
| 4892 | 4892 | * @return string |
| 4893 | 4893 | */ |
| 4894 | - public function sanitize_tooltip( $var ) { |
|
| 4895 | - return htmlspecialchars( wp_kses( html_entity_decode( $var ), array( |
|
| 4894 | + public function sanitize_tooltip($var) { |
|
| 4895 | + return htmlspecialchars(wp_kses(html_entity_decode($var), array( |
|
| 4896 | 4896 | 'br' => array(), |
| 4897 | 4897 | 'em' => array(), |
| 4898 | 4898 | 'strong' => array(), |
@@ -4902,7 +4902,7 @@ discard block |
||
| 4902 | 4902 | 'li' => array(), |
| 4903 | 4903 | 'ol' => array(), |
| 4904 | 4904 | 'p' => array(), |
| 4905 | - ) ) ); |
|
| 4905 | + ))); |
|
| 4906 | 4906 | } |
| 4907 | 4907 | |
| 4908 | 4908 | /** |
@@ -4914,23 +4914,23 @@ discard block |
||
| 4914 | 4914 | * @return array |
| 4915 | 4915 | * @todo we should add some sanitation here. |
| 4916 | 4916 | */ |
| 4917 | - public function update( $new_instance, $old_instance ) { |
|
| 4917 | + public function update($new_instance, $old_instance) { |
|
| 4918 | 4918 | |
| 4919 | 4919 | //save the widget |
| 4920 | - $instance = array_merge( (array) $old_instance, (array) $new_instance ); |
|
| 4920 | + $instance = array_merge((array) $old_instance, (array) $new_instance); |
|
| 4921 | 4921 | |
| 4922 | 4922 | // set widget instance |
| 4923 | 4923 | $this->instance = $instance; |
| 4924 | 4924 | |
| 4925 | - if ( empty( $this->arguments ) ) { |
|
| 4925 | + if (empty($this->arguments)) { |
|
| 4926 | 4926 | $this->get_arguments(); |
| 4927 | 4927 | } |
| 4928 | 4928 | |
| 4929 | 4929 | // check for checkboxes |
| 4930 | - if ( ! empty( $this->arguments ) ) { |
|
| 4931 | - foreach ( $this->arguments as $argument ) { |
|
| 4932 | - if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) { |
|
| 4933 | - $instance[ $argument['name'] ] = '0'; |
|
| 4930 | + if (!empty($this->arguments)) { |
|
| 4931 | + foreach ($this->arguments as $argument) { |
|
| 4932 | + if (isset($argument['type']) && $argument['type'] == 'checkbox' && !isset($new_instance[$argument['name']])) { |
|
| 4933 | + $instance[$argument['name']] = '0'; |
|
| 4934 | 4934 | } |
| 4935 | 4935 | } |
| 4936 | 4936 | } |
@@ -4948,7 +4948,7 @@ discard block |
||
| 4948 | 4948 | */ |
| 4949 | 4949 | public function is_block_content_call() { |
| 4950 | 4950 | $result = false; |
| 4951 | - if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) { |
|
| 4951 | + if (wp_doing_ajax() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'super_duper_output_shortcode') { |
|
| 4952 | 4952 | $result = true; |
| 4953 | 4953 | } |
| 4954 | 4954 | |
@@ -4961,9 +4961,9 @@ discard block |
||
| 4961 | 4961 | * @return string |
| 4962 | 4962 | *@since 1.0.20 |
| 4963 | 4963 | */ |
| 4964 | - public function get_instance_hash(){ |
|
| 4965 | - $instance_string = $this->base_id.serialize($this->instance); |
|
| 4966 | - return hash('crc32b',$instance_string); |
|
| 4964 | + public function get_instance_hash() { |
|
| 4965 | + $instance_string = $this->base_id . serialize($this->instance); |
|
| 4966 | + return hash('crc32b', $instance_string); |
|
| 4967 | 4967 | } |
| 4968 | 4968 | |
| 4969 | 4969 | /** |
@@ -4974,14 +4974,14 @@ discard block |
||
| 4974 | 4974 | * @return string |
| 4975 | 4975 | *@since 1.0.20 |
| 4976 | 4976 | */ |
| 4977 | - public function get_instance_style($rules = array()){ |
|
| 4977 | + public function get_instance_style($rules = array()) { |
|
| 4978 | 4978 | $css = ''; |
| 4979 | 4979 | |
| 4980 | - if(!empty($rules)){ |
|
| 4980 | + if (!empty($rules)) { |
|
| 4981 | 4981 | $rules = array_unique($rules); |
| 4982 | 4982 | $instance_hash = $this->get_instance_hash(); |
| 4983 | 4983 | $css .= "<style>"; |
| 4984 | - foreach($rules as $rule){ |
|
| 4984 | + foreach ($rules as $rule) { |
|
| 4985 | 4985 | $css .= ".sdel-$instance_hash $rule"; |
| 4986 | 4986 | } |
| 4987 | 4987 | $css .= "</style>"; |
@@ -4999,9 +4999,9 @@ discard block |
||
| 4999 | 4999 | *@since 1.0.28 |
| 5000 | 5000 | * |
| 5001 | 5001 | */ |
| 5002 | - public function encode_shortcodes( $content ) { |
|
| 5002 | + public function encode_shortcodes($content) { |
|
| 5003 | 5003 | // Avoids existing encoded tags. |
| 5004 | - $trans = array( |
|
| 5004 | + $trans = array( |
|
| 5005 | 5005 | '[' => '[', |
| 5006 | 5006 | ']' => ']', |
| 5007 | 5007 | '&#91;' => '[', |
@@ -5012,7 +5012,7 @@ discard block |
||
| 5012 | 5012 | '&gt;' => '&0gt;', |
| 5013 | 5013 | ); |
| 5014 | 5014 | |
| 5015 | - $content = strtr( $content, $trans ); |
|
| 5015 | + $content = strtr($content, $trans); |
|
| 5016 | 5016 | |
| 5017 | 5017 | $trans = array( |
| 5018 | 5018 | '[' => '[', |
@@ -5023,7 +5023,7 @@ discard block |
||
| 5023 | 5023 | "'" => ''', |
| 5024 | 5024 | ); |
| 5025 | 5025 | |
| 5026 | - $content = strtr( $content, $trans ); |
|
| 5026 | + $content = strtr($content, $trans); |
|
| 5027 | 5027 | |
| 5028 | 5028 | return $content; |
| 5029 | 5029 | } |
@@ -5037,8 +5037,8 @@ discard block |
||
| 5037 | 5037 | *@since 1.0.28 |
| 5038 | 5038 | * |
| 5039 | 5039 | */ |
| 5040 | - public function decode_shortcodes( $content ) { |
|
| 5041 | - $trans = array( |
|
| 5040 | + public function decode_shortcodes($content) { |
|
| 5041 | + $trans = array( |
|
| 5042 | 5042 | '[' => '[', |
| 5043 | 5043 | ']' => ']', |
| 5044 | 5044 | '&#91;' => '[', |
@@ -5051,7 +5051,7 @@ discard block |
||
| 5051 | 5051 | ''' => "'", |
| 5052 | 5052 | ); |
| 5053 | 5053 | |
| 5054 | - $content = strtr( $content, $trans ); |
|
| 5054 | + $content = strtr($content, $trans); |
|
| 5055 | 5055 | |
| 5056 | 5056 | $trans = array( |
| 5057 | 5057 | '[' => '[', |
@@ -5064,31 +5064,31 @@ discard block |
||
| 5064 | 5064 | '&0gt;' => '>', |
| 5065 | 5065 | ); |
| 5066 | 5066 | |
| 5067 | - $content = strtr( $content, $trans ); |
|
| 5067 | + $content = strtr($content, $trans); |
|
| 5068 | 5068 | |
| 5069 | 5069 | return $content; |
| 5070 | 5070 | } |
| 5071 | 5071 | |
| 5072 | - public function block_visibility_fields( $args ) { |
|
| 5073 | - $value = ! empty( $args['value'] ) ? esc_attr( $args['value'] ) : ''; |
|
| 5072 | + public function block_visibility_fields($args) { |
|
| 5073 | + $value = !empty($args['value']) ? esc_attr($args['value']) : ''; |
|
| 5074 | 5074 | $content = '<div class="bs-vc-rule-template d-none">'; |
| 5075 | 5075 | $content .= '<div class="p-3 pb-0 mb-3 border border-1 rounded-1 position-relative bs-vc-rule" data-bs-index="BSVCINDEX" >'; |
| 5076 | 5076 | $content .= '<div class="row">'; |
| 5077 | 5077 | $content .= '<div class="col-sm-12">'; |
| 5078 | - $content .= '<div class="bs-rule-action position-absolute top-0 end-0 p-2 zindex-5"><span class="text-danger c-pointer bs-vc-remove-rule" title="' . esc_attr__( 'Remove Rule', 'ayecode-connect' ) . '"><i class="fas fa-circle-minus fs-6"></i></span></div>'; |
|
| 5078 | + $content .= '<div class="bs-rule-action position-absolute top-0 end-0 p-2 zindex-5"><span class="text-danger c-pointer bs-vc-remove-rule" title="' . esc_attr__('Remove Rule', 'ayecode-connect') . '"><i class="fas fa-circle-minus fs-6"></i></span></div>'; |
|
| 5079 | 5079 | $content .= aui()->select( |
| 5080 | 5080 | array( |
| 5081 | 5081 | 'id' => 'bsvc_rule_BSVCINDEX', |
| 5082 | 5082 | 'name' => 'bsvc_rule_BSVCINDEX', |
| 5083 | - 'label' => __( 'Rule', 'ayecode-connect' ), |
|
| 5084 | - 'placeholder' => __( 'Select Rule...', 'ayecode-connect' ), |
|
| 5083 | + 'label' => __('Rule', 'ayecode-connect'), |
|
| 5084 | + 'placeholder' => __('Select Rule...', 'ayecode-connect'), |
|
| 5085 | 5085 | 'class' => 'bsvc_rule form-select-sm no-select2 mw-100', |
| 5086 | 5086 | 'options' => sd_visibility_rules_options(), |
| 5087 | 5087 | 'default' => '', |
| 5088 | 5088 | 'value' => '', |
| 5089 | 5089 | 'label_type' => '', |
| 5090 | 5090 | 'select2' => false, |
| 5091 | - 'input_group_left' => __( 'Rule:', 'ayecode-connect' ), |
|
| 5091 | + 'input_group_left' => __('Rule:', 'ayecode-connect'), |
|
| 5092 | 5092 | 'extra_attributes' => array( |
| 5093 | 5093 | 'data-minimum-results-for-search' => '-1' |
| 5094 | 5094 | ) |
@@ -5097,15 +5097,15 @@ discard block |
||
| 5097 | 5097 | |
| 5098 | 5098 | $content .= '</div>'; |
| 5099 | 5099 | |
| 5100 | - if ( class_exists( 'GeoDirectory' ) ) { |
|
| 5100 | + if (class_exists('GeoDirectory')) { |
|
| 5101 | 5101 | $content .= '<div class="col-md-7 col-sm-12">'; |
| 5102 | 5102 | |
| 5103 | 5103 | $content .= aui()->select( |
| 5104 | 5104 | array( |
| 5105 | 5105 | 'id' => 'bsvc_gd_field_BSVCINDEX', |
| 5106 | 5106 | 'name' => 'bsvc_gd_field_BSVCINDEX', |
| 5107 | - 'label' => __( 'FIELD', 'ayecode-connect' ), |
|
| 5108 | - 'placeholder' => __( 'FIELD', 'ayecode-connect' ), |
|
| 5107 | + 'label' => __('FIELD', 'ayecode-connect'), |
|
| 5108 | + 'placeholder' => __('FIELD', 'ayecode-connect'), |
|
| 5109 | 5109 | 'class' => 'bsvc_gd_field form-select-sm no-select2 mw-100', |
| 5110 | 5110 | 'options' => sd_visibility_gd_field_options(), |
| 5111 | 5111 | 'default' => '', |
@@ -5126,8 +5126,8 @@ discard block |
||
| 5126 | 5126 | array( |
| 5127 | 5127 | 'id' => 'bsvc_gd_field_condition_BSVCINDEX', |
| 5128 | 5128 | 'name' => 'bsvc_gd_field_condition_BSVCINDEX', |
| 5129 | - 'label' => __( 'CONDITION', 'ayecode-connect' ), |
|
| 5130 | - 'placeholder' => __( 'CONDITION', 'ayecode-connect' ), |
|
| 5129 | + 'label' => __('CONDITION', 'ayecode-connect'), |
|
| 5130 | + 'placeholder' => __('CONDITION', 'ayecode-connect'), |
|
| 5131 | 5131 | 'class' => 'bsvc_gd_field_condition form-select-sm no-select2 mw-100', |
| 5132 | 5132 | 'options' => sd_visibility_field_condition_options(), |
| 5133 | 5133 | 'default' => '', |
@@ -5149,9 +5149,9 @@ discard block |
||
| 5149 | 5149 | 'type' => 'text', |
| 5150 | 5150 | 'id' => 'bsvc_gd_field_search_BSVCINDEX', |
| 5151 | 5151 | 'name' => 'bsvc_gd_field_search_BSVCINDEX', |
| 5152 | - 'label' => __( 'VALUE TO MATCH', 'ayecode-connect' ), |
|
| 5152 | + 'label' => __('VALUE TO MATCH', 'ayecode-connect'), |
|
| 5153 | 5153 | 'class' => 'bsvc_gd_field_search form-control-sm', |
| 5154 | - 'placeholder' => __( 'VALUE TO MATCH', 'ayecode-connect' ), |
|
| 5154 | + 'placeholder' => __('VALUE TO MATCH', 'ayecode-connect'), |
|
| 5155 | 5155 | 'label_type' => '', |
| 5156 | 5156 | 'value' => '', |
| 5157 | 5157 | 'element_require' => '([%bsvc_rule_BSVCINDEX%]=="gd_field" && [%bsvc_gd_field_condition_BSVCINDEX%] && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_empty" && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_not_empty")' |
@@ -5163,11 +5163,11 @@ discard block |
||
| 5163 | 5163 | |
| 5164 | 5164 | $content .= '</div>'; |
| 5165 | 5165 | |
| 5166 | - $content .= '<div class="row aui-conditional-field" data-element-require="jQuery(form).find(\'[name=bsvc_rule_BSVCINDEX]\').val()==\'user_roles\'" data-argument="bsvc_user_roles_BSVCINDEX_1"><label for="bsvc_user_roles_BSVCINDEX_1" class="form-label mb-3">' . __( 'Select User Roles:', 'ayecode-connect' ) . '</label>'; |
|
| 5166 | + $content .= '<div class="row aui-conditional-field" data-element-require="jQuery(form).find(\'[name=bsvc_rule_BSVCINDEX]\').val()==\'user_roles\'" data-argument="bsvc_user_roles_BSVCINDEX_1"><label for="bsvc_user_roles_BSVCINDEX_1" class="form-label mb-3">' . __('Select User Roles:', 'ayecode-connect') . '</label>'; |
|
| 5167 | 5167 | $role_options = sd_user_roles_options(); |
| 5168 | 5168 | |
| 5169 | 5169 | $role_option_i = 0; |
| 5170 | - foreach ( $role_options as $role_option_key => $role_option_name ) { |
|
| 5170 | + foreach ($role_options as $role_option_key => $role_option_name) { |
|
| 5171 | 5171 | $role_option_i++; |
| 5172 | 5172 | |
| 5173 | 5173 | $content .= '<div class="col-sm-6">'; |
@@ -5191,14 +5191,14 @@ discard block |
||
| 5191 | 5191 | $content .= '</div>'; |
| 5192 | 5192 | $content .= '<form id="bs-vc-modal-form" class="bs-vc-modal-form">'; |
| 5193 | 5193 | $content .= '<div class="bs-vc-rule-sets"></div>'; |
| 5194 | - $content .= '<div class="row"><div class="col-sm-12 text-center pt-1 pb-4"><button type="button" class="btn btn-sm btn-primary d-block w-100 bs-vc-add-rule"><i class="fas fa-plus"></i> ' . __( 'Add Rule', 'ayecode-connect' ) . '</button></div></div>'; |
|
| 5194 | + $content .= '<div class="row"><div class="col-sm-12 text-center pt-1 pb-4"><button type="button" class="btn btn-sm btn-primary d-block w-100 bs-vc-add-rule"><i class="fas fa-plus"></i> ' . __('Add Rule', 'ayecode-connect') . '</button></div></div>'; |
|
| 5195 | 5195 | $content .= '<div class="row"><div class="col-md-6 col-sm-12">'; |
| 5196 | 5196 | $content .= aui()->select( |
| 5197 | 5197 | array( |
| 5198 | 5198 | 'id' => 'bsvc_output', |
| 5199 | 5199 | 'name' => 'bsvc_output', |
| 5200 | - 'label' => __( 'What should happen if rules met.', 'ayecode-connect' ), |
|
| 5201 | - 'placeholder' => __( 'Default Output', 'ayecode-connect' ), |
|
| 5200 | + 'label' => __('What should happen if rules met.', 'ayecode-connect'), |
|
| 5201 | + 'placeholder' => __('Default Output', 'ayecode-connect'), |
|
| 5202 | 5202 | 'class' => 'bsvc_output form-select-sm no-select2 mw-100', |
| 5203 | 5203 | 'options' => sd_visibility_output_options(), |
| 5204 | 5204 | 'default' => '', |
@@ -5217,8 +5217,8 @@ discard block |
||
| 5217 | 5217 | array( |
| 5218 | 5218 | 'id' => 'bsvc_page', |
| 5219 | 5219 | 'name' => 'bsvc_page', |
| 5220 | - 'label' => __( 'Page Content', 'ayecode-connect' ), |
|
| 5221 | - 'placeholder' => __( 'Select Page ID...', 'ayecode-connect' ), |
|
| 5220 | + 'label' => __('Page Content', 'ayecode-connect'), |
|
| 5221 | + 'placeholder' => __('Select Page ID...', 'ayecode-connect'), |
|
| 5222 | 5222 | 'class' => 'bsvc_page form-select-sm no-select2 mw-100', |
| 5223 | 5223 | 'options' => sd_template_page_options(), |
| 5224 | 5224 | 'default' => '', |
@@ -5233,8 +5233,8 @@ discard block |
||
| 5233 | 5233 | array( |
| 5234 | 5234 | 'id' => 'bsvc_tmpl_part', |
| 5235 | 5235 | 'name' => 'bsvc_tmpl_part', |
| 5236 | - 'label' => __( 'Template Part', 'ayecode-connect' ), |
|
| 5237 | - 'placeholder' => __( 'Select Template Part...', 'ayecode-connect' ), |
|
| 5236 | + 'label' => __('Template Part', 'ayecode-connect'), |
|
| 5237 | + 'placeholder' => __('Select Template Part...', 'ayecode-connect'), |
|
| 5238 | 5238 | 'class' => 'bsvc_tmpl_part form-select-sm no-select2 mw-100', |
| 5239 | 5239 | 'options' => sd_template_part_options(), |
| 5240 | 5240 | 'default' => '', |
@@ -5252,8 +5252,8 @@ discard block |
||
| 5252 | 5252 | array( |
| 5253 | 5253 | 'id' => 'bsvc_message_type', |
| 5254 | 5254 | 'name' => 'bsvc_message_type', |
| 5255 | - 'label' => __( 'Custom Message Type', 'ayecode-connect' ), |
|
| 5256 | - 'placeholder' => __( 'Default (none)', 'ayecode-connect' ), |
|
| 5255 | + 'label' => __('Custom Message Type', 'ayecode-connect'), |
|
| 5256 | + 'placeholder' => __('Default (none)', 'ayecode-connect'), |
|
| 5257 | 5257 | 'class' => 'bsvc_message_type form-select-sm no-select2 mw-100', |
| 5258 | 5258 | 'options' => sd_aui_colors(), |
| 5259 | 5259 | 'default' => '', |
@@ -5276,7 +5276,7 @@ discard block |
||
| 5276 | 5276 | 'name' => 'bsvc_message', |
| 5277 | 5277 | 'label' => '', |
| 5278 | 5278 | 'class' => 'bsvc_message form-control-sm', |
| 5279 | - 'placeholder' => __( 'CUSTOM MESSAGE TO SHOW', 'ayecode-connect' ), |
|
| 5279 | + 'placeholder' => __('CUSTOM MESSAGE TO SHOW', 'ayecode-connect'), |
|
| 5280 | 5280 | 'label_type' => '', |
| 5281 | 5281 | 'value' => '', |
| 5282 | 5282 | 'form_group_class' => ' ', |
@@ -5298,7 +5298,7 @@ discard block |
||
| 5298 | 5298 | global $shortcode_insert_button_once; |
| 5299 | 5299 | |
| 5300 | 5300 | // Fix conflicts with UpSolution Core in header template edit element. |
| 5301 | - if ( defined( 'US_CORE_DIR' ) && ! empty( $_REQUEST['action'] ) && $_REQUEST['action'] == 'us_ajax_hb_get_ebuilder_html' ) { |
|
| 5301 | + if (defined('US_CORE_DIR') && !empty($_REQUEST['action']) && $_REQUEST['action'] == 'us_ajax_hb_get_ebuilder_html') { |
|
| 5302 | 5302 | $shortcode_insert_button_once = true; |
| 5303 | 5303 | } |
| 5304 | 5304 | } |
@@ -19,16 +19,16 @@ discard block |
||
| 19 | 19 | |
| 20 | 20 | // Define constants. |
| 21 | 21 | if ( ! defined( 'WPINV_PLUGIN_FILE' ) ) { |
| 22 | - define( 'WPINV_PLUGIN_FILE', __FILE__ ); |
|
| 22 | + define( 'WPINV_PLUGIN_FILE', __FILE__ ); |
|
| 23 | 23 | } |
| 24 | 24 | |
| 25 | 25 | if ( ! defined( 'WPINV_VERSION' ) ) { |
| 26 | - define( 'WPINV_VERSION', '2.8.19' ); |
|
| 26 | + define( 'WPINV_VERSION', '2.8.19' ); |
|
| 27 | 27 | } |
| 28 | 28 | |
| 29 | 29 | // Include the main Invoicing class. |
| 30 | 30 | if ( ! class_exists( 'WPInv_Plugin', false ) ) { |
| 31 | - require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php'; |
|
| 31 | + require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php'; |
|
| 32 | 32 | } |
| 33 | 33 | |
| 34 | 34 | /** |
@@ -43,7 +43,7 @@ discard block |
||
| 43 | 43 | $GLOBALS['invoicing'] = new WPInv_Plugin(); |
| 44 | 44 | } |
| 45 | 45 | |
| 46 | - return $GLOBALS['invoicing']; |
|
| 46 | + return $GLOBALS['invoicing']; |
|
| 47 | 47 | } |
| 48 | 48 | |
| 49 | 49 | /** |
@@ -15,20 +15,20 @@ discard block |
||
| 15 | 15 | * @package GetPaid |
| 16 | 16 | */ |
| 17 | 17 | |
| 18 | -defined( 'ABSPATH' ) || exit; |
|
| 18 | +defined('ABSPATH') || exit; |
|
| 19 | 19 | |
| 20 | 20 | // Define constants. |
| 21 | -if ( ! defined( 'WPINV_PLUGIN_FILE' ) ) { |
|
| 22 | - define( 'WPINV_PLUGIN_FILE', __FILE__ ); |
|
| 21 | +if (!defined('WPINV_PLUGIN_FILE')) { |
|
| 22 | + define('WPINV_PLUGIN_FILE', __FILE__); |
|
| 23 | 23 | } |
| 24 | 24 | |
| 25 | -if ( ! defined( 'WPINV_VERSION' ) ) { |
|
| 26 | - define( 'WPINV_VERSION', '2.8.19' ); |
|
| 25 | +if (!defined('WPINV_VERSION')) { |
|
| 26 | + define('WPINV_VERSION', '2.8.19'); |
|
| 27 | 27 | } |
| 28 | 28 | |
| 29 | 29 | // Include the main Invoicing class. |
| 30 | -if ( ! class_exists( 'WPInv_Plugin', false ) ) { |
|
| 31 | - require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php'; |
|
| 30 | +if (!class_exists('WPInv_Plugin', false)) { |
|
| 31 | + require_once plugin_dir_path(WPINV_PLUGIN_FILE) . 'includes/class-wpinv.php'; |
|
| 32 | 32 | } |
| 33 | 33 | |
| 34 | 34 | /** |
@@ -39,7 +39,7 @@ discard block |
||
| 39 | 39 | */ |
| 40 | 40 | function getpaid() { |
| 41 | 41 | |
| 42 | - if ( empty( $GLOBALS['invoicing'] ) ) { |
|
| 42 | + if (empty($GLOBALS['invoicing'])) { |
|
| 43 | 43 | $GLOBALS['invoicing'] = new WPInv_Plugin(); |
| 44 | 44 | } |
| 45 | 45 | |
@@ -52,9 +52,9 @@ discard block |
||
| 52 | 52 | * @since 2.0.8 |
| 53 | 53 | */ |
| 54 | 54 | function getpaid_deactivation_hook() { |
| 55 | - update_option( 'wpinv_flush_permalinks', 1 ); |
|
| 55 | + update_option('wpinv_flush_permalinks', 1); |
|
| 56 | 56 | } |
| 57 | -register_deactivation_hook( __FILE__, 'getpaid_deactivation_hook' ); |
|
| 57 | +register_deactivation_hook(__FILE__, 'getpaid_deactivation_hook'); |
|
| 58 | 58 | |
| 59 | 59 | /** |
| 60 | 60 | * @deprecated |
@@ -64,4 +64,4 @@ discard block |
||
| 64 | 64 | } |
| 65 | 65 | |
| 66 | 66 | // Kickstart the plugin. |
| 67 | -add_action( 'plugins_loaded', 'getpaid', 0 ); |
|
| 67 | +add_action('plugins_loaded', 'getpaid', 0); |
|