/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

<?php
// Checking and validating when products are added to cart 
/*
add_filter( 'woocommerce_add_to_cart_validation', 'only_six_items_allowed_add_to_cart', 10, 3 );

function only_six_items_allowed_add_to_cart( $passed, $product_id, $quantity ) {

    $cart_items_count = WC()->cart->get_cart_contents_count();
    $total_count = $cart_items_count + $quantity;

    if( $cart_items_count >= 1 || $total_count > 1 ){
        // Set to false
        $passed = false;
        // Display a message
         wc_add_notice( __( "No momento você não pode ter mais de 2 itens no carrinho", "woocommerce" ), "error" );
    }
    return $passed;
}
*/

//DESATIVA A OPÇÃO 'ENVIAR PARA UM ENDEREÇO DIFERENTE'
 add_filter( 'woocommerce_ship_to_different_address_checked', '__return_false' ); 

//DESATIVA O ENDEREÇO DE FATURAMENTO  - NA SEÇÃO MINHA CONTA, NA ABA ENDEREÇOS
//add_filter( 'woocommerce_my_account_get_addresses', 'my_account_get_addresses', 10, 1 );
//function my_account_get_addresses( $addresses ) {
//    unset( $addresses['billing'] );
//    return $addresses;
//}


// ABA DE ALTERAR SENHA
function add_change_password_tab($items) {
    $new_items = array();
    $change_password_tab = array('change_password' => __('Alterar Senha', 'woocommerce'));

    // Encontre a posição da aba "Sair"
    $logout_position = array_search('customer-logout', array_keys($items));

    // Insira a aba "Alterar Senha" antes da aba "Sair"
    $new_items = array_slice($items, 0, $logout_position, true) +
                 $change_password_tab +
                 array_slice($items, $logout_position, count($items) - $logout_position, true);

    return $new_items;
}
add_filter('woocommerce_account_menu_items', 'add_change_password_tab');

function add_change_password_endpoint() {
    add_rewrite_endpoint('change_password', EP_PAGES);
}
add_action('init', 'add_change_password_endpoint');


function display_change_password_form() {
    wc_print_notices();
	?>

    <form class="woocommerce-ChangePassword change_password" method="post">
        <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
            <label for="password_current"><?php esc_html_e('Senha atual', 'woocommerce'); ?>&nbsp;<span class="required">*</span></label>
            <input type="password" class="woocommerce-Input woocommerce-Input--password input-text" name="password_current" id="password_current" autocomplete="off" />
        </p>
        <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
            <label for="password_1"><?php esc_html_e('Nova senha', 'woocommerce'); ?>&nbsp;<span class="required">*</span></label>
            <input type="password" class="woocommerce-Input woocommerce-Input--password input-text" name="password_1" id="password_1" autocomplete="off" />
        </p>
        <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
            <label for="password_2"><?php esc_html_e('Confirme a nova senha', 'woocommerce'); ?>&nbsp;<span class="required">*</span></label>
            <input type="password" class="woocommerce-Input woocommerce-Input--password input-text" name="password_2" id="password_2" autocomplete="off" />
        </p>
        <input type="hidden" id="change_password" name="change_password" value="true" />
        <?php wp_nonce_field('woocommerce-change_password', '_wpnonce', true, true); ?>

        <p class="woocommerce-form-row form-row">
            <button type="submit" class="woocommerce-Button button" name="save_password" value="<?php esc_attr_e('Salvar alterações', 'woocommerce'); ?>"><?php esc_html_e('Salvar alterações', 'woocommerce'); ?></button>
        </p>
    </form>

    <?php
}

add_action('woocommerce_account_change_password_endpoint', 'display_change_password_form');

function process_change_password_form() {
    if (isset($_POST['change_password']) && wp_verify_nonce($_POST['_wpnonce'], 'woocommerce-change_password')) {
        $user_id = get_current_user_id();

        if ($user_id > 0) {
            $user = get_user_by('id', $user_id);

            if ($_POST['password_current'] && $_POST['password_1'] && $_POST['password_2']) {
                if (wp_check_password($_POST['password_current'], $user->user_pass, $user->ID)) {
                    if ($_POST['password_1'] === $_POST['password_2']) {
                        wp_set_password($_POST['password_1'], $user->ID);
                        wc_add_notice(__('Senha alterada com sucesso.', 'woocommerce'), 'success');
                    } else {
                        wc_add_notice(__('As novas senhas não coincidem.', 'woocommerce'), 'error');
                    }
                } else {
                    wc_add_notice(__('Sua senha atual está incorreta.', 'woocommerce'), 'error');
                }
            } else {
                wc_add_notice(__('Por favor, preencha todos os campos obrigatórios.', 'woocommerce'), 'error');
            }
        }
    }
}

add_action('template_redirect', 'process_change_password_form');

?>