Plugin Directory

Changeset 3473678


Ignore:
Timestamp:
03/03/2026 01:17:18 PM (4 weeks ago)
Author:
rainafarai
Message:

daje

Location:
partita-iva-e-codice-fiscale
Files:
5 edited
4 copied

Legend:

Unmodified
Added
Removed
  • partita-iva-e-codice-fiscale/tags/1.4.1/assets/js/piva_cf_wc_checkout.js

    r3334154 r3473678  
    1 // jQuery(function($) {
    2 //     function toggleFields() {
    3 //         var tipo = $('#tipo_contribuente').val();
    4 //         $('.cf-only, .piva-only').hide();
    5 //         if (tipo === 'cf') $('.cf-only').show();
    6 //         else if (tipo === 'piva') $('.piva-only').show();
    7 //     }
    8 
    9 //     $('#tipo_contribuente').change(toggleFields);
    10 //     toggleFields();
    11 // });
    12 
    131jQuery(function($) {
    142    function toggleFields() {
    153        var tipo = $('#tipo_contribuente').val();
    16         //console.log('[DEBUG] tipo_contribuente:', tipo);
    174        $('.cf-only, .piva-only').hide();
    185        if (tipo === 'cf') {
    196            $('.cf-only').show();
    20             //console.log('[DEBUG] Mostro CF-only');
    217        } else if (tipo === 'piva') {
    228            $('.piva-only').show();
    23             //console.log('[DEBUG] Mostro PIVA-only');
    24         } else {
    25             //console.log('[DEBUG] Nessun tipo selezionato o tipo diverso');
    269        }
    2710    }
    2811
    2912    function toggleFiscaliSection() {
     13        var country = $('#billing_country').val();
     14        if (country) country = country.toUpperCase();
    3015
    31 
    32         var country = $('#billing_country').val();
    33         //console.log('[DEBUG] billing_country raw:', country);
    34         if (country) country = country.toUpperCase();
    35         //console.log('[DEBUG] billing_country upper:', country);
    36        
    3716        if (typeof cfPivaSettings === 'undefined' || !cfPivaSettings.nascond_nonita) {
    38             // Flag disattivato o non definito, mostro sempre la sezione
    39             console.log('[DEBUG] Flag disattivato o non definito, non nascondo'+cfPivaSettings.nascond_nonita);
    40            
     17            // Flag disattivato: mostra sempre
     18            $('#cf_piva_checkout').show();
    4119        } else {
    42             console.log('[DEBUG] Flag attivato, nascondo'+cfPivaSettings.nascond_nonita);
    43 
    44             if (country !== 'IT') {
     20            // Paesi con sistema fiscale italiano: IT e SM (San Marino)
     21            var paesiConFiscaleIT = ['IT'];
     22            if (paesiConFiscaleIT.indexOf(country) === -1) {
    4523                $('#cf_piva_checkout').hide();
    46                 //console.log('[DEBUG] Nascondo section CF/PIVA');
    4724            } else {
    4825                $('#cf_piva_checkout').show();
    49                 //console.log('[DEBUG] Mostro section CF/PIVA');
    5026            }
    5127        }
    52 
    53        
    5428    }
    5529
     
    5933    $('#billing_country').on('select2:select', toggleFiscaliSection);
    6034
     35    // Dopo ogni aggiornamento del checkout WooCommerce (es. cambio spedizione, coupon)
     36    // il DOM viene rifatto, quindi ri-eseguiamo entrambe le funzioni
     37    $('body').on('updated_checkout', function() {
     38        toggleFields();
     39        toggleFiscaliSection();
     40    });
     41
    6142    // Inizializzazione
    62     //console.log('[DEBUG] Inizializzazione script');
    6343    toggleFields();
    6444    toggleFiscaliSection();
    6545});
    66 
  • partita-iva-e-codice-fiscale/tags/1.4.1/cf-piva-sdi.php

    r3376461 r3473678  
    33Plugin Name: Partita IVA e Codice Fiscale
    44Description: Aggiunge Codice Fiscale, Partita IVA, Ragione Sociale, PEC e Codice SDI al checkout WooCommerce.
    5 Version:     1.4
     5Version:     1.4.1
    66Author:      Andrea Marinucci
    77Text Domain: partita-iva-e-codice-fiscale
     
    2323
    2424
    25     $piva_cf_wc_options = get_option( 'piva_cf_wc_options' ); // Array di tutte le opzioni
    26     $rendi_opzionale_ragione_sociale_0 = $piva_cf_wc_options['piva_cf_wc_ragione_sociale'];       // Rendi Opzionale Ragione Sociale
    27     $rendi_opzionale_indirizzo_pec_1   = $piva_cf_wc_options['piva_cf_wc_pec'];                   // Rendi Opzionale Indirizzo PEC
    28     $rendi_opzionale_codice_destinatario_sdi_2      = $piva_cf_wc_options['piva_cf_wc_sdi'];                   // Rendi Opzionale Codice destinatario SDI
    29     $piva_cf_wc_dati_fiscali_opz = $piva_cf_wc_options['piva_cf_wc_dati_fiscali_opz'];   
     25    $piva_cf_wc_options = get_option( 'piva_cf_wc_options', [] );
     26
     27    $rendi_opzionale_ragione_sociale_0      = $piva_cf_wc_options['piva_cf_wc_ragione_sociale'] ?? false;
     28    $rendi_opzionale_indirizzo_pec_1        = $piva_cf_wc_options['piva_cf_wc_pec'] ?? false;
     29    $rendi_opzionale_codice_destinatario_sdi_2 = $piva_cf_wc_options['piva_cf_wc_sdi'] ?? false;
     30    $piva_cf_wc_dati_fiscali_opz            = $piva_cf_wc_options['piva_cf_wc_dati_fiscali_opz'] ?? false;
    3031
    3132    echo '<div id="cf_piva_checkout"><h3>Dati Fiscali</h3>';
     
    161162
    162163
    163  
    164      $piva_cf_wc_options = get_option( 'piva_cf_wc_options' ); // Array di tutte le opzioni
    165      $rendi_opzionale_ragione_sociale_0 = $piva_cf_wc_options['piva_cf_wc_ragione_sociale'];       // Rendi Opzionale Ragione Sociale
    166      $rendi_opzionale_indirizzo_pec_1   = $piva_cf_wc_options['piva_cf_wc_pec'];                   // Rendi Opzionale Indirizzo PEC
    167      $rendi_opzionale_codice_destinatario_sdi_2 = $piva_cf_wc_options['piva_cf_wc_sdi'];     
    168      $piva_cf_wc_dati_fiscali_opz = $piva_cf_wc_options['piva_cf_wc_dati_fiscali_opz'];               // Rendi Opzionale Codice destinatario SDI
    169  
     164     $piva_cf_wc_options = get_option( 'piva_cf_wc_options', [] );
     165
     166    $rendi_opzionale_ragione_sociale_0      = $piva_cf_wc_options['piva_cf_wc_ragione_sociale'] ?? false;
     167    $rendi_opzionale_indirizzo_pec_1        = $piva_cf_wc_options['piva_cf_wc_pec'] ?? false;
     168    $rendi_opzionale_codice_destinatario_sdi_2 = $piva_cf_wc_options['piva_cf_wc_sdi'] ?? false;
     169    $piva_cf_wc_dati_fiscali_opz            = $piva_cf_wc_options['piva_cf_wc_dati_fiscali_opz'] ?? false;
     170   
    170171    // Controllo nonce con sanificazione e wp_unslash
    171172    $nonce = isset($_POST['woocommerce-process-checkout-nonce']) ? sanitize_text_field(wp_unslash($_POST['woocommerce-process-checkout-nonce'])) : '';
     
    235236    );
    236237
     238
    237239    //flag per far nascondere i dati se lo stato di billing non e italia se tue al cambiameto di stato nasconde se nn IT
    238     $nascond_nonita = false; // true o false
     240
     241
     242   $piva_cf_wc_options = get_option( 'piva_cf_wc_options', [] );
     243    $nascond_nonita = isset( $piva_cf_wc_options['nascond_nonita'] ) && $piva_cf_wc_options['nascond_nonita'] === '1';
    239244
    240245    wp_localize_script('piva_cf_wc_checkout-js', 'cfPivaSettings', [
     
    248253function piva_cf_wc__mostra_cf_piva_frontend($order) {
    249254   
    250     $piva_cf_wc_options = get_option( 'piva_cf_wc_options' ); // Array di tutte le opzioni
    251                    // Rendi Opzionale Codice destinatario SDI
    252     $nascondi_dati_fiscali_nella_pagina_checkout_3          = $piva_cf_wc_options['piva_cf_wc_nascondi'];              // Nascondi dati fiscali nella conferma ordine
    253  
     255    $piva_cf_wc_options = get_option( 'piva_cf_wc_options', [] );
     256    $nascondi_dati_fiscali_nella_pagina_checkout_3 = $piva_cf_wc_options['piva_cf_wc_nascondi'] ?? false;
    254257
    255258
     
    287290
    288291   
    289     $piva_cf_wc_options = get_option( 'piva_cf_wc_options' ); // Array di tutte le opzioni       // Nascondi dati fiscali nella conferma ordine
    290     $telegram          = $piva_cf_wc_options['piva_cf_wc_telegram'];
     292    $piva_cf_wc_options = get_option( 'piva_cf_wc_options', [] );
     293    $telegram = $piva_cf_wc_options['piva_cf_wc_telegram'] ?? false;
    291294
    292295    if (!$telegram) {
  • partita-iva-e-codice-fiscale/tags/1.4.1/include/option_page.php

    r3376461 r3473678  
    9090            'Nascondi dati fiscali nella pagina di conferma ordine (Front End)',
    9191            array( $this, 'piva_cf_wc_nascondi_callback' ),
     92            'piva-cf-wc-admin',
     93            'piva_cf_wc_setting_section'
     94        );
     95
     96
     97        add_settings_field(
     98            'nascond_nonita',
     99            'Nascondi il form se nei dati di Fatturazione lo stato non è ITALIA',
     100            array( $this, 'nascond_nonita_callback' ),
    92101            'piva-cf-wc-admin',
    93102            'piva_cf_wc_setting_section'
     
    128137        }
    129138
     139
     140        if ( isset( $input['nascond_nonita'] ) ) {
     141            $sanitary_values['nascond_nonita'] = $input['nascond_nonita'];
     142        }
     143
    130144        if ( isset( $input['piva_cf_wc_sdi'] ) ) {
    131145            $sanitary_values['piva_cf_wc_sdi'] = $input['piva_cf_wc_sdi'];
     
    204218            '<input type="checkbox" name="piva_cf_wc_options[piva_cf_wc_telegram]" id="piva_cf_wc_telegram" value="1" %s>',
    205219            ( isset( $this->piva_cf_wc_options['piva_cf_wc_telegram'] ) && $this->piva_cf_wc_options['piva_cf_wc_telegram'] === '1' ) ? 'checked' : ''
     220        );
     221    }
     222
     223                public function nascond_nonita_callback() {
     224        printf(
     225            '<label for="nascond_nonita">
     226                <input type="checkbox" name="piva_cf_wc_options[nascond_nonita]" id="nascond_nonita" value="1" %s>
     227                Abilta La richiesta dei campi Piva e CF solo per clienti Italiani.
     228            </label>',
     229            ( isset( $this->piva_cf_wc_options['nascond_nonita'] ) && $this->piva_cf_wc_options['nascond_nonita'] === '1' ) ? 'checked' : ''
    206230        );
    207231    }
  • partita-iva-e-codice-fiscale/tags/1.4.1/readme.txt

    r3376461 r3473678  
    33Tags: woocommerce, checkout, partita iva, codice fiscale
    44Requires at least: 5.0
    5 Tested up to: 6.8
     5Tested up to: 6.9.1
    66Requires PHP: 7.0
    77Stable tag: 1.4
     
    4141== Changelog ==
    4242
     43= 1.4.1 =
     44* Aggiunta opzione nelle impostazioni del plugin per nascondere automaticamente il blocco "Dati Fiscali" nel checkout quando il cliente seleziona un paese di fatturazione diverso dall'Italia.
     45* Fixed PHP 8 warnings: Undefined array key for plugin options.
     46* Improved compatibility with PHP 8+ strict array handling.
     47
     48
    4349= 1.4 =
    4450* Aggiunta Opzione per rendere opzionale i dati fiscali nel checkout
  • partita-iva-e-codice-fiscale/trunk/assets/js/piva_cf_wc_checkout.js

    r3334154 r3473678  
    1 // jQuery(function($) {
    2 //     function toggleFields() {
    3 //         var tipo = $('#tipo_contribuente').val();
    4 //         $('.cf-only, .piva-only').hide();
    5 //         if (tipo === 'cf') $('.cf-only').show();
    6 //         else if (tipo === 'piva') $('.piva-only').show();
    7 //     }
    8 
    9 //     $('#tipo_contribuente').change(toggleFields);
    10 //     toggleFields();
    11 // });
    12 
    131jQuery(function($) {
    142    function toggleFields() {
    153        var tipo = $('#tipo_contribuente').val();
    16         //console.log('[DEBUG] tipo_contribuente:', tipo);
    174        $('.cf-only, .piva-only').hide();
    185        if (tipo === 'cf') {
    196            $('.cf-only').show();
    20             //console.log('[DEBUG] Mostro CF-only');
    217        } else if (tipo === 'piva') {
    228            $('.piva-only').show();
    23             //console.log('[DEBUG] Mostro PIVA-only');
    24         } else {
    25             //console.log('[DEBUG] Nessun tipo selezionato o tipo diverso');
    269        }
    2710    }
    2811
    2912    function toggleFiscaliSection() {
     13        var country = $('#billing_country').val();
     14        if (country) country = country.toUpperCase();
    3015
    31 
    32         var country = $('#billing_country').val();
    33         //console.log('[DEBUG] billing_country raw:', country);
    34         if (country) country = country.toUpperCase();
    35         //console.log('[DEBUG] billing_country upper:', country);
    36        
    3716        if (typeof cfPivaSettings === 'undefined' || !cfPivaSettings.nascond_nonita) {
    38             // Flag disattivato o non definito, mostro sempre la sezione
    39             console.log('[DEBUG] Flag disattivato o non definito, non nascondo'+cfPivaSettings.nascond_nonita);
    40            
     17            // Flag disattivato: mostra sempre
     18            $('#cf_piva_checkout').show();
    4119        } else {
    42             console.log('[DEBUG] Flag attivato, nascondo'+cfPivaSettings.nascond_nonita);
    43 
    44             if (country !== 'IT') {
     20            // Paesi con sistema fiscale italiano: IT e SM (San Marino)
     21            var paesiConFiscaleIT = ['IT'];
     22            if (paesiConFiscaleIT.indexOf(country) === -1) {
    4523                $('#cf_piva_checkout').hide();
    46                 //console.log('[DEBUG] Nascondo section CF/PIVA');
    4724            } else {
    4825                $('#cf_piva_checkout').show();
    49                 //console.log('[DEBUG] Mostro section CF/PIVA');
    5026            }
    5127        }
    52 
    53        
    5428    }
    5529
     
    5933    $('#billing_country').on('select2:select', toggleFiscaliSection);
    6034
     35    // Dopo ogni aggiornamento del checkout WooCommerce (es. cambio spedizione, coupon)
     36    // il DOM viene rifatto, quindi ri-eseguiamo entrambe le funzioni
     37    $('body').on('updated_checkout', function() {
     38        toggleFields();
     39        toggleFiscaliSection();
     40    });
     41
    6142    // Inizializzazione
    62     //console.log('[DEBUG] Inizializzazione script');
    6343    toggleFields();
    6444    toggleFiscaliSection();
    6545});
    66 
  • partita-iva-e-codice-fiscale/trunk/cf-piva-sdi.php

    r3376461 r3473678  
    33Plugin Name: Partita IVA e Codice Fiscale
    44Description: Aggiunge Codice Fiscale, Partita IVA, Ragione Sociale, PEC e Codice SDI al checkout WooCommerce.
    5 Version:     1.4
     5Version:     1.4.1
    66Author:      Andrea Marinucci
    77Text Domain: partita-iva-e-codice-fiscale
     
    2323
    2424
    25     $piva_cf_wc_options = get_option( 'piva_cf_wc_options' ); // Array di tutte le opzioni
    26     $rendi_opzionale_ragione_sociale_0 = $piva_cf_wc_options['piva_cf_wc_ragione_sociale'];       // Rendi Opzionale Ragione Sociale
    27     $rendi_opzionale_indirizzo_pec_1   = $piva_cf_wc_options['piva_cf_wc_pec'];                   // Rendi Opzionale Indirizzo PEC
    28     $rendi_opzionale_codice_destinatario_sdi_2      = $piva_cf_wc_options['piva_cf_wc_sdi'];                   // Rendi Opzionale Codice destinatario SDI
    29     $piva_cf_wc_dati_fiscali_opz = $piva_cf_wc_options['piva_cf_wc_dati_fiscali_opz'];   
     25    $piva_cf_wc_options = get_option( 'piva_cf_wc_options', [] );
     26
     27    $rendi_opzionale_ragione_sociale_0      = $piva_cf_wc_options['piva_cf_wc_ragione_sociale'] ?? false;
     28    $rendi_opzionale_indirizzo_pec_1        = $piva_cf_wc_options['piva_cf_wc_pec'] ?? false;
     29    $rendi_opzionale_codice_destinatario_sdi_2 = $piva_cf_wc_options['piva_cf_wc_sdi'] ?? false;
     30    $piva_cf_wc_dati_fiscali_opz            = $piva_cf_wc_options['piva_cf_wc_dati_fiscali_opz'] ?? false;
    3031
    3132    echo '<div id="cf_piva_checkout"><h3>Dati Fiscali</h3>';
     
    161162
    162163
    163  
    164      $piva_cf_wc_options = get_option( 'piva_cf_wc_options' ); // Array di tutte le opzioni
    165      $rendi_opzionale_ragione_sociale_0 = $piva_cf_wc_options['piva_cf_wc_ragione_sociale'];       // Rendi Opzionale Ragione Sociale
    166      $rendi_opzionale_indirizzo_pec_1   = $piva_cf_wc_options['piva_cf_wc_pec'];                   // Rendi Opzionale Indirizzo PEC
    167      $rendi_opzionale_codice_destinatario_sdi_2 = $piva_cf_wc_options['piva_cf_wc_sdi'];     
    168      $piva_cf_wc_dati_fiscali_opz = $piva_cf_wc_options['piva_cf_wc_dati_fiscali_opz'];               // Rendi Opzionale Codice destinatario SDI
    169  
     164     $piva_cf_wc_options = get_option( 'piva_cf_wc_options', [] );
     165
     166    $rendi_opzionale_ragione_sociale_0      = $piva_cf_wc_options['piva_cf_wc_ragione_sociale'] ?? false;
     167    $rendi_opzionale_indirizzo_pec_1        = $piva_cf_wc_options['piva_cf_wc_pec'] ?? false;
     168    $rendi_opzionale_codice_destinatario_sdi_2 = $piva_cf_wc_options['piva_cf_wc_sdi'] ?? false;
     169    $piva_cf_wc_dati_fiscali_opz            = $piva_cf_wc_options['piva_cf_wc_dati_fiscali_opz'] ?? false;
     170   
    170171    // Controllo nonce con sanificazione e wp_unslash
    171172    $nonce = isset($_POST['woocommerce-process-checkout-nonce']) ? sanitize_text_field(wp_unslash($_POST['woocommerce-process-checkout-nonce'])) : '';
     
    235236    );
    236237
     238
    237239    //flag per far nascondere i dati se lo stato di billing non e italia se tue al cambiameto di stato nasconde se nn IT
    238     $nascond_nonita = false; // true o false
     240
     241
     242   $piva_cf_wc_options = get_option( 'piva_cf_wc_options', [] );
     243    $nascond_nonita = isset( $piva_cf_wc_options['nascond_nonita'] ) && $piva_cf_wc_options['nascond_nonita'] === '1';
    239244
    240245    wp_localize_script('piva_cf_wc_checkout-js', 'cfPivaSettings', [
     
    248253function piva_cf_wc__mostra_cf_piva_frontend($order) {
    249254   
    250     $piva_cf_wc_options = get_option( 'piva_cf_wc_options' ); // Array di tutte le opzioni
    251                    // Rendi Opzionale Codice destinatario SDI
    252     $nascondi_dati_fiscali_nella_pagina_checkout_3          = $piva_cf_wc_options['piva_cf_wc_nascondi'];              // Nascondi dati fiscali nella conferma ordine
    253  
     255    $piva_cf_wc_options = get_option( 'piva_cf_wc_options', [] );
     256    $nascondi_dati_fiscali_nella_pagina_checkout_3 = $piva_cf_wc_options['piva_cf_wc_nascondi'] ?? false;
    254257
    255258
     
    287290
    288291   
    289     $piva_cf_wc_options = get_option( 'piva_cf_wc_options' ); // Array di tutte le opzioni       // Nascondi dati fiscali nella conferma ordine
    290     $telegram          = $piva_cf_wc_options['piva_cf_wc_telegram'];
     292    $piva_cf_wc_options = get_option( 'piva_cf_wc_options', [] );
     293    $telegram = $piva_cf_wc_options['piva_cf_wc_telegram'] ?? false;
    291294
    292295    if (!$telegram) {
  • partita-iva-e-codice-fiscale/trunk/include/option_page.php

    r3376461 r3473678  
    9090            'Nascondi dati fiscali nella pagina di conferma ordine (Front End)',
    9191            array( $this, 'piva_cf_wc_nascondi_callback' ),
     92            'piva-cf-wc-admin',
     93            'piva_cf_wc_setting_section'
     94        );
     95
     96
     97        add_settings_field(
     98            'nascond_nonita',
     99            'Nascondi il form se nei dati di Fatturazione lo stato non è ITALIA',
     100            array( $this, 'nascond_nonita_callback' ),
    92101            'piva-cf-wc-admin',
    93102            'piva_cf_wc_setting_section'
     
    128137        }
    129138
     139
     140        if ( isset( $input['nascond_nonita'] ) ) {
     141            $sanitary_values['nascond_nonita'] = $input['nascond_nonita'];
     142        }
     143
    130144        if ( isset( $input['piva_cf_wc_sdi'] ) ) {
    131145            $sanitary_values['piva_cf_wc_sdi'] = $input['piva_cf_wc_sdi'];
     
    204218            '<input type="checkbox" name="piva_cf_wc_options[piva_cf_wc_telegram]" id="piva_cf_wc_telegram" value="1" %s>',
    205219            ( isset( $this->piva_cf_wc_options['piva_cf_wc_telegram'] ) && $this->piva_cf_wc_options['piva_cf_wc_telegram'] === '1' ) ? 'checked' : ''
     220        );
     221    }
     222
     223                public function nascond_nonita_callback() {
     224        printf(
     225            '<label for="nascond_nonita">
     226                <input type="checkbox" name="piva_cf_wc_options[nascond_nonita]" id="nascond_nonita" value="1" %s>
     227                Abilta La richiesta dei campi Piva e CF solo per clienti Italiani.
     228            </label>',
     229            ( isset( $this->piva_cf_wc_options['nascond_nonita'] ) && $this->piva_cf_wc_options['nascond_nonita'] === '1' ) ? 'checked' : ''
    206230        );
    207231    }
  • partita-iva-e-codice-fiscale/trunk/readme.txt

    r3376461 r3473678  
    33Tags: woocommerce, checkout, partita iva, codice fiscale
    44Requires at least: 5.0
    5 Tested up to: 6.8
     5Tested up to: 6.9.1
    66Requires PHP: 7.0
    77Stable tag: 1.4
     
    4141== Changelog ==
    4242
     43= 1.4.1 =
     44* Aggiunta opzione nelle impostazioni del plugin per nascondere automaticamente il blocco "Dati Fiscali" nel checkout quando il cliente seleziona un paese di fatturazione diverso dall'Italia.
     45* Fixed PHP 8 warnings: Undefined array key for plugin options.
     46* Improved compatibility with PHP 8+ strict array handling.
     47
     48
    4349= 1.4 =
    4450* Aggiunta Opzione per rendere opzionale i dati fiscali nel checkout
Note: See TracChangeset for help on using the changeset viewer.