HEX
Server: Apache/2
System: Linux bq-e705.pointdnshere.com 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64
User: wellmix (1103)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/wellmix/public_html/wp-content/plugins/pymntpl-paypal-woocommerce/src/Traits/Settings.php
<?php


namespace PaymentPlugins\WooCommerce\PPCP\Traits;

/**
 * Trait Settings
 *
 * @package PaymentPlugins\WooCommerce\PPCP\Traits
 */
trait Settings {

	protected $tab_label;

	protected $tab_label_priority = 10;

	public function get_tab_label() {
		return $this->tab_label;
	}

	public function add_navigation_tab( $tabs ) {
		$tabs[ $this->id ] = [
			'label'    => $this->get_tab_label(),
			'priority' => $this->tab_label_priority
		];

		return $tabs;
	}

	public function admin_options() {
		?>
        <div class="wc-ppcp-settings-container <?php echo esc_attr( $this->id ) ?>">
			<?php
			$this->admin_menu();
			parent::admin_options()
			?>
        </div>
		<?php
	}

	public function admin_menu() {
		global $current_section;
		$tabs = apply_filters( 'wc_ppcp_admin_nav_tabs', [] );
		\uasort( $tabs, function ( $a, $b ) {
			return $a['priority'] - $b['priority'];
		} );
		?>
        <div class="wc-ppcp-settings-logo">
            <img class="paymentplugins-logo" src="<?php echo esc_url( $this->assets->assets_url( 'assets/img/paymentplugins.svg' ) ) ?>"/>
            <span><?php esc_html_e( 'for', 'pymntpl-paypal-woocommerce' ) ?></span>
            <img class="paypal-logo" src="<?php echo esc_url( $this->assets->assets_url( 'assets/img/paypal_logo.svg' ) ) ?>"/>
        </div>
        <div class="wc-ppcp-settings-navigation nav-tab-wrapper">
			<?php foreach ( $tabs as $id => $tab ): ?>
                <a href="admin.php?page=wc-settings&tab=checkout&section=<?php echo esc_attr( $id ) ?>"
                   class="nav-tab <?php if ( $current_section == $id ) { ?>nav-tab-active<?php } ?>">
					<?php echo esc_attr( $tab['label'] ) ?>
                </a>
			<?php endforeach; ?>
        </div>
		<?php
	}

	public function generate_paypal_description_html( $key, $data ) {
		$data = wp_parse_args(
			$data,
			[
				'class'       => '',
				'style'       => '',
				'desc_tip'    => false,
				'description' => '',
			]
		);

		ob_start();
		?>
        <p class="<?php echo esc_attr( $data['class'] ); ?>"><?php echo wp_kses_post( $data['description'] ); ?></p>
		<?php

		return ob_get_clean();
	}

	public function generate_smartbutton_demo_html( $key, $data ) {
		$field_key = $this->get_field_key( $key );
		$value     = $this->get_option( $key, $data['default'] );
		$data      = wp_parse_args( $data, [
			'title'             => '',
			'id'                => 'ppcp_smartbutton',
			'desc_tip'          => false,
			'description'       => '',
			'custom_attributes' => [
				'order' => \implode( ',', $value )
			]
		] );
		ob_start();
		?>
        <tr valign="top">
            <th scope="row" class="titledesc">
                <label for="<?php echo esc_attr( $field_key ); ?>"><?php echo wp_kses_post( $data['title'] ); ?><?php echo $this->get_tooltip_html( $data );// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></label>
            </th>
            <td class="forminp">
                <fieldset>
                    <legend class="screen-reader-text">
                        <span><?php echo wp_kses_post( $data['title'] ); ?></span>
                    </legend>
                    <label for="<?php echo esc_attr( $field_key ); ?>">
						<?php echo $this->get_description_html( $data );// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
                        <ul id="<?php echo esc_attr( $data['id'] ); ?>" <?php echo $this->get_custom_attribute_html( $data ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped?>></ul>
						<?php foreach ( $value as $source ): ?>
                            <input type="hidden" name="woocommerce_ppcp_buttons_order[]" value="<?php echo esc_attr( $source ) ?>"/>
						<?php endforeach; ?>
                </fieldset>
            </td>
        </tr>
		<?php
		return ob_get_clean();
	}

	public function generate_slider_html( $key, $data ) {
		$field_key = $this->get_field_key( $key );
		$defaults  = [
			'title'             => '',
			'disabled'          => false,
			'class'             => '',
			'css'               => '',
			'placeholder'       => '',
			'type'              => 'text',
			'desc_tip'          => false,
			'description'       => '',
			'custom_attributes' => [],
			'select_buttons'    => false,
			'options'           => [],
		];

		$data  = wp_parse_args( $data, $defaults );
		$value = $this->get_option( $key, $data['default'] );
		ob_start();
		?>
        <tr valign="top">
            <th scope="row" class="titledesc">
                <label for="<?php echo esc_attr( $field_key ); ?>"><?php echo wp_kses_post( $data['title'] ); ?><?php echo $this->get_tooltip_html( $data ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped?></label>
            </th>
            <td class="forminp">
                <fieldset>
                    <legend class="screen-reader-text">
                        <span><?php echo wp_kses_post( $data['title'] ); ?></span>
                    </legend>
                    <div type="submit" class="wc-ppcp-slider <?php echo esc_attr( $data['class'] ); ?>"
                         style="<?php echo esc_attr( $data['css'] ); ?>"
                         value="<?php echo $field_key; ?>" <?php echo $this->get_custom_attribute_html( $data ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped?>>
                        <span class="wc-ppcp-slider-val"><?php echo esc_html( $value ) ?>px</span>
                    </div>
                    <input type="hidden" name="<?php echo esc_attr( $field_key ); ?>" id="<?php echo esc_attr( $field_key ); ?>"
                           value="<?php echo esc_attr( $value ) ?>"/>
					<?php echo $this->get_description_html( $data ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped?>
                </fieldset>
            </td>
        </tr>
		<?php
		return ob_get_clean();
	}

	public function generate_clipboard_html( $key, $data ) {
		$field_key = $this->get_field_key( $key );
		$defaults  = [
			'title'             => '',
			'type'              => 'clipboard',
			'class'             => '',
			'css'               => '',
			'placeholder'       => '',
			'desc_tip'          => false,
			'value'             => '',
			'custom_attributes' => []
		];

		$data  = wp_parse_args( $data, $defaults );
		$value = $this->get_option( $key, $data['default'] );
		ob_start();
		?>
        <tr valign="top">
            <th scope="row" class="titledesc">
                <label for="<?php echo esc_attr( $field_key ); ?>"><?php echo wp_kses_post( $data['title'] ); ?><?php echo $this->get_tooltip_html( $data ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
					?></label>
            </th>
            <td class="forminp">
                <fieldset>
                    <legend class="screen-reader-text">
                        <span><?php echo wp_kses_post( $data['title'] ); ?></span>
                    </legend>
                    <div class="wc-ppcp-clipboard-container"
                         id="<?php echo esc_attr( $field_key ); ?>" <?php echo $this->get_custom_attribute_html( $data );// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
                        <div data-clipboard="<?php echo esc_attr( $value ) ?>">
							<?php echo esc_html( $value ) ?>
                            <span class="wc-ppcp-clipboard dashicons dashicons-clipboard"></span>
                            <span class="wc-ppcp-clipboard-hover">
                                <?php esc_html_e( 'Click to copy', 'pymntpl-paypal-woocommerce' ) ?>
                            </span>
                        </div>
                    </div>
                </fieldset>
            </td>
        </tr>
		<?php
		return ob_get_clean();
	}

}