HEX
Server: Apache
System: Linux webd006.cluster128.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User: zwafgyp (177615)
PHP: 7.4.33
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/zwafgyp/lacalita/wp-content/plugins/rey-core/inc/customizer/options/header/account.php
<?php
namespace ReyCore\Customizer\Options\Header;

if ( ! defined( 'ABSPATH' ) ) exit;

use \ReyCore\Customizer\Controls;

class Account extends \ReyCore\Customizer\SectionsBase {

	public static function get_id(){
		return 'header-account';
	}

	public function get_title(){
		return esc_html__('Account (Button & Panel)', 'rey-core');
	}

	public function get_priority(){
		return 50;
	}

	public function can_load(){
		return class_exists('\WooCommerce');
	}

	public function get_icon(){
		return 'header-account';
	}

	public function help_link(){
		return reycore__support_url('kb/customizer-header-settings/#account');
	}

	public function controls(){

		// Setting available only for the Default Header
		$this->add_control( [
			'type'        => 'toggle',
			'settings'    => 'header_enable_account',
			'label'       => esc_html__( 'Enable My Account panel?', 'rey-core' ),
			'default'     => false,
			'active_callback' => [
				[
					'setting'  => 'header_layout_type',
					'operator' => '==',
					'value'    => 'default',
				],
			],
		] );

		$this->add_title( esc_html__('Button settings', 'rey-core'), [
			'separator' => 'none',
		]);

		$this->add_control( [
			'type'        => 'select',
			'settings'    => 'header_account_type',
			'label'       => esc_html__( 'Type of button', 'rey-core' ),
			'default'     => 'text',
			'choices'     => [
				'text' => esc_html__( 'Text', 'rey-core' ),
				'icon' => esc_html__( 'Icon', 'rey-core' ),
				'both_before' => esc_html__( 'Text & Icon Before', 'rey-core' ),
				'both_after' => esc_html__( 'Text & Icon After', 'rey-core' ),
				'both_above' => esc_html__( 'Text Under', 'rey-core' ),
			],
		] );

		$this->add_control( [
			'type'     => 'text',
			'settings' => 'header_account_text',
			'label'    => esc_html__( 'Button text label', 'rey-core' ),
			'default'  => esc_html__( 'ACCOUNT', 'rey-core' ),
			'active_callback' => [
				[
					'setting'  => 'header_account_type',
					'operator' => 'in',
					'value'    => ['text', 'both_before', 'both_after', 'both_above'],
				],
			],
		] );

		$this->add_control( [
			'type'     => 'text',
			'settings' => 'header_account_text_logged_in',
			'label'       => __('Button text label (Logged in)', 'rey-core'),
			'help' => [
				__('Optional. Text to display when user is logged in.', 'rey-core')
			],
			'default'  => '',
			'active_callback' => [
				[
					'setting'  => 'header_account_type',
					'operator' => 'in',
					'value'    => ['text', 'both_before', 'both_after', 'both_above'],
				],
			],
		] );

		$this->add_control( [
			'type'        => 'select',
			'settings'    => 'header_account_icon_type',
			'label'       => esc_html__( 'Icon Type', 'rey-core' ),
			'default'     => 'rey-icon-user',
			'choices'     => [
				'rey-icon-user' => esc_html__( 'User Icon', 'rey-core' ),
				'reycore-icon-heart' => esc_html__( 'Heart Icon (Requires Rey-Core plugin)', 'rey-core' ),
			],
			'active_callback' => [
				[
					'setting'  => 'header_account_type',
					'operator' => 'in',
					'value'    => ['icon', 'both_before', 'both_after', 'both_above'],
				],
			],
		] );

		$this->add_control( [
			'type'        => 'toggle',
			'settings'    => 'header_account_mobile',
			'label'       => esc_html__( 'Hide on Mobiles?', 'rey-core' ),
			'default'     => false,
			'active_callback' => [
				[
					'setting'  => 'header_layout_type',
					'operator' => '==',
					'value'    => 'default',
				],
			],
		] );

		$this->add_title( esc_html__('Drop panel settings', 'rey-core') );

		$this->add_control( [
			'type'        => 'select',
			'settings'    => 'header_account__panel_display',
			'label'       => esc_html__( 'Display as', 'rey-core' ),
			'default'     => 'drop',
			'choices'     => [
				'drop' => esc_html__( 'Drop Down', 'rey-core' ),
				'offcanvas' => esc_html__( 'Off-canvas panel', 'rey-core' ),
			],
		] );

		$this->add_control( [
			'type'        => 'toggle',
			'settings'    => 'header_account__enable_forms',
			'label'       => esc_html__( 'Enable Forms/Account menu', 'rey-core' ),
			'default'     => true,
		] );

		$this->add_control( [
			'type'        => 'toggle',
			'settings'    => 'header_account__enable_ajax',
			'label'       => esc_html__( 'Enable Forms Ajax', 'rey-core' ),
			'default'     => apply_filters('reycore/header/account/ajax_forms', true),
			'active_callback' => [
				[
					'setting'  => 'header_account__enable_forms',
					'operator' => '==',
					'value'    => true,
				],
			],
		] );

		$this->add_control( [
			'type'        => 'select',
			'settings'    => 'header_account_redirect_type',
			'label'       => esc_html__( 'Login/Register action on success', 'rey-core' ),
			'default'     => 'load_menu',
			'choices'     => [
				'load_menu' => esc_html__( 'Show "My Account Menu"', 'rey-core' ),
				'refresh' => esc_html__( 'Refresh same page', 'rey-core' ),
				'myaccount' => esc_html__( 'Default (My Account)', 'rey-core' ),
				'url' => esc_html__( 'Go to custom URL', 'rey-core' ),
			],
			'active_callback' => [
				[
					'setting'  => 'header_account__enable_forms',
					'operator' => '==',
					'value'    => true,
				],
			],
		] );

		$this->add_control( [
			'type'     => 'text',
			'settings' => 'header_account_redirect_url',
			'label'       => __('Redirect URL', 'rey-core'),
			'help' => [
				__('Add here the URL where you want the visitor to redirect after login or register.', 'rey-core')
			],
			'default'  => '',
			'active_callback' => [
				[
					'setting'  => 'header_account_redirect_type',
					'operator' => '==',
					'value'    => 'url',
				],
				[
					'setting'  => 'header_account__enable_forms',
					'operator' => '==',
					'value'    => true,
				],
			],
		] );

		$this->add_control( [
			'type'        => 'toggle',
			'settings'    => 'header_account__close_on_scroll',
			'label'       => __('Close on scroll', 'rey-core'),
			'help' => [
				__('Will close the drop panel when scrolling outside the panel, in the page.', 'rey-core')
			],
			'default'     => false,
			'active_callback' => [
				[
					'setting'  => 'header_account__panel_display',
					'operator' => '==',
					'value'    => 'drop',
				],
			],
		] );

		$this->add_separator();


		$this->add_control( [
			'type'        => 'repeater',
			'settings'    => 'header_account_menu_items',
			'label'       => esc_html__('Menu - Extra Items', 'rey-core'),
			'description' => sprintf(__('Add extra menu items to the My Account menu. To hide default menu items, please access <a href="%s" target="_blank">WooCommerce Account endpoints</a> and empty the fields you don\'t want to display', 'rey-core'), admin_url('admin.php?page=wc-settings&tab=advanced') ),
			'row_label' => [
				'value' => esc_html__('Menu item', 'rey-core'),
				'type'  => 'field',
				'field' => 'text',
			],
			'button_label' => esc_html__('New menu item', 'rey-core'),
			'default'      => [],
			'fields' => [
				'text' => [
					'type'        => 'text',
					'label'       => esc_html__('Text', 'rey-core'),
				],
				'url' => [
					'type'        => 'text',
					'label'       => esc_html__('URL', 'rey-core'),
				],
			],
			'active_callback' => [
				[
					'setting'  => 'header_account__enable_forms',
					'operator' => '==',
					'value'    => true,
				],
			],
		] );

		$this->add_separator();


		$this->add_control( [
			'type'        => 'toggle',
			'settings'    => 'header_account_wishlist',
			'label'       => esc_html__( 'Enable Wishlist', 'rey-core' ),
			'default'     => true,
		] );

		$this->start_controls_group( [
			'label'    => esc_html__( 'Wishlist settings', 'rey-core' ),
			'active_callback' => [
				[
					'setting'  => 'header_account_wishlist',
					'operator' => '==',
					'value'    => true,
				],
			],
		]);

			$this->add_control( [
				'type'        => 'toggle',
				'settings'    => 'header_account_wishlist_counter',
				'label'       => esc_html__( 'Wishlist Counter', 'rey-core' ),
				'default'     => true,
			] );

		$this->end_controls_group();


		$this->add_notice([
			'default'     => __('In case these options doesn\'t seem to work, please check if you\'re using a Header Global Section and make sure the "Header - Account" element doesn\'t have the Override settings option enabled eg: <a href="https://d.pr/i/rbTmOb" target="_blank">https://d.pr/i/rbTmOb</a>.', 'rey-core'),
			'active_callback' => [
				[
					'setting'  => 'header_layout_type',
					'operator' => '!=',
					'value'    => 'default',
				],
			],
		] );

	}
}