Plugin Directory

Changeset 3320735


Ignore:
Timestamp:
07/01/2025 03:37:52 PM (8 months ago)
Author:
ABCdatos
Message:

Version 0.68

Location:
proteccion-datos-rgpd
Files:
1 deleted
3 edited
13 copied

Legend:

Unmodified
Added
Removed
  • proteccion-datos-rgpd/tags/0.68/aviso-legal.php

    r3063809 r3320735  
    1313// Shortcodes.
    1414
    15 add_shortcode( 'pdrgpd-aviso-legal', 'pdrgpd_aviso_legal' );
    16 /**
    17  * Compone el contenido completo de [pdrgpd-aviso-legal]
    18  * para crear la página del aviso legal aplicando la lista
    19  * de shortcodes de menor entidad.
     15/**
     16 * Shortcode principal que compone el Aviso Legal completo.
     17 * Combina todos los shortcodes de secciones menores.
     18 *
     19 * @return string HTML generado por los shortcodes combinados.
    2020 */
    2121function pdrgpd_aviso_legal() {
     
    3131    return do_shortcode( $html );
    3232}
    33 
    34 add_shortcode( 'pdrgpd-aviso-legal-identificacion-titular', 'pdrgpd_aviso_legal_identificacion_titular' );
     33add_shortcode( 'pdrgpd-aviso-legal', 'pdrgpd_aviso_legal' );
     34
     35/**
     36 * Genera la sección de identificación del titular del sitio web.
     37 *
     38 * @return string HTML con los datos identificativos del titular.
     39 *
     40 * @internal
     41 * Nota: La estructura HTML varía según el idioma (ca/es) y campos configurados.
     42 */
    3543function pdrgpd_aviso_legal_identificacion_titular() {
    3644    $locale = get_locale();
     
    4856            $html .= ', codi postal [pdrgpd-cp]';
    4957        }
    50         $html .= ' de [pdrgpd-poblacion]';
     58        // Si se pone "de", puede requerir apostrofarlo.
     59        $html .= ' a [pdrgpd-poblacion]';
    5160        if ( pdrgpd_conf_provincia() && pdrgpd_conf_provincia() !== pdrgpd_conf_poblacion() ) {
    5261            $html .= ', [pdrgpd-provincia]';
     
    7584            $html .= ', código postal [pdrgpd-cp]';
    7685        }
    77         // Si se pone "de", puede requerir apostrofarlo.
    78         $html .= ' a [pdrgpd-poblacion]';
     86        $html .= ' en [pdrgpd-poblacion]';
    7987        if ( pdrgpd_conf_provincia() && pdrgpd_conf_provincia() !== pdrgpd_conf_poblacion() ) {
    8088            $html .= ', [pdrgpd-provincia]';
     
    93101    return do_shortcode( $html );
    94102}
    95 
    96 add_shortcode( 'pdrgpd-aviso-legal-condiciones', 'pdrgpd_aviso_legal_condiciones' );
     103add_shortcode( 'pdrgpd-aviso-legal-identificacion-titular', 'pdrgpd_aviso_legal_identificacion_titular' );
     104
     105/**
     106 * Genera la sección de condiciones de uso del sitio web.
     107 *
     108 * @return string HTML con las condiciones de uso.
     109 */
    97110function pdrgpd_aviso_legal_condiciones() {
    98111    $locale = get_locale();
     
    128141    return do_shortcode( $html );
    129142}
    130 
    131 add_shortcode( 'pdrgpd-aviso-legal-propiedad-intelectual', 'pdrgpd_aviso_legal_propiedad_intelectual' );
     143add_shortcode( 'pdrgpd-aviso-legal-condiciones', 'pdrgpd_aviso_legal_condiciones' );
     144
     145/**
     146 * Genera la sección sobre propiedad intelectual del contenido.
     147 *
     148 * @return string HTML sobre derechos de propiedad intelectual.
     149 */
    132150function pdrgpd_aviso_legal_propiedad_intelectual() {
    133151    $locale = get_locale();
     
    141159    return do_shortcode( $html );
    142160}
    143 
    144 add_shortcode( 'pdrgpd-aviso-legal-disponibilidad', 'pdrgpd_aviso_legal_disponibilidad' );
     161add_shortcode( 'pdrgpd-aviso-legal-propiedad-intelectual', 'pdrgpd_aviso_legal_propiedad_intelectual' );
     162
     163/**
     164 * Genera la sección sobre disponibilidad del sitio web.
     165 *
     166 * @return string HTML sobre garantías de disponibilidad.
     167 */
    145168function pdrgpd_aviso_legal_disponibilidad() {
    146169    $locale = get_locale();
     
    174197    return do_shortcode( $html );
    175198}
    176 
    177 add_shortcode( 'pdrgpd-aviso-legal-calidad', 'pdrgpd_aviso_legal_calidad' );
     199add_shortcode( 'pdrgpd-aviso-legal-disponibilidad', 'pdrgpd_aviso_legal_disponibilidad' );
     200
     201/**
     202 * Genera la sección sobre calidad del contenido.
     203 *
     204 * @return string HTML sobre garantías de calidad.
     205 */
    178206function pdrgpd_aviso_legal_calidad() {
    179207    $locale = get_locale();
     
    187215    return do_shortcode( $html );
    188216}
    189 
    190 add_shortcode( 'pdrgpd-aviso-legal-limitacion-responsabilidad', 'pdrgpd_aviso_legal_limitacion_responsabilidad' );
     217add_shortcode( 'pdrgpd-aviso-legal-calidad', 'pdrgpd_aviso_legal_calidad' );
     218
     219/**
     220 * Genera la sección de limitación de responsabilidad.
     221 *
     222 * @return string HTML sobre exclusiones de responsabilidad.
     223 */
    191224function pdrgpd_aviso_legal_limitacion_responsabilidad() {
    192225    $locale = get_locale();
     
    200233    return do_shortcode( $html );
    201234}
    202 
    203 add_shortcode( 'pdrgpd-aviso-legal-notificaciones', 'pdrgpd_aviso_legal_notificaciones' );
     235add_shortcode( 'pdrgpd-aviso-legal-limitacion-responsabilidad', 'pdrgpd_aviso_legal_limitacion_responsabilidad' );
     236
     237/**
     238 * Genera la sección sobre notificaciones legales.
     239 *
     240 * @return string HTML sobre eficacia de notificaciones.
     241 */
    204242function pdrgpd_aviso_legal_notificaciones() {
    205243    $locale = get_locale();
     
    213251    return do_shortcode( $html );
    214252}
    215 
    216 add_shortcode( 'pdrgpd-aviso-legal-jurisdiccion', 'pdrgpd_aviso_legal_jurisdiccion' );
     253add_shortcode( 'pdrgpd-aviso-legal-notificaciones', 'pdrgpd_aviso_legal_notificaciones' );
     254
     255/**
     256 * Genera la sección de jurisdicción aplicable.
     257 * Solo se muestra si está definida una provincia.
     258 *
     259 * @return string|null HTML sobre jurisdicción o null si no aplica.
     260 */
    217261function pdrgpd_aviso_legal_jurisdiccion() {
    218262    // Para fijar la jurisdicción, ha de estar definida la provincia.
     
    229273    }
    230274}
    231 
    232 add_shortcode( 'pdrgpd-aviso-legal-legislacion', 'pdrgpd_aviso_legal_legislacion' );
     275add_shortcode( 'pdrgpd-aviso-legal-jurisdiccion', 'pdrgpd_aviso_legal_jurisdiccion' );
     276
     277/**
     278 * Genera la sección sobre legislación aplicable.
     279 *
     280 * @return string HTML sobre normativa legal.
     281 */
    233282function pdrgpd_aviso_legal_legislacion() {
    234283    $locale = get_locale();
     
    242291    return do_shortcode( $html );
    243292}
     293add_shortcode( 'pdrgpd-aviso-legal-legislacion', 'pdrgpd_aviso_legal_legislacion' );
    244294
    245295// Lectura de valores configurados o por defecto.
    246 add_shortcode( 'pdrgpd-titular', 'pdrgpd_conf_titular' );
     296
     297/**
     298 * Shortcode para obtener el titular del sitio.
     299 *
     300 * @return string Nombre del titular (escapado).
     301 */
    247302function pdrgpd_conf_titular() {
    248303    return esc_html( get_option( 'pdrgpd_titular', 'Perico de los Palotes' ) );
    249304}
    250 
    251 add_shortcode( 'pdrgpd-nif', 'pdrgpd_conf_nif' );
     305add_shortcode( 'pdrgpd-titular', 'pdrgpd_conf_titular' );
     306
     307/**
     308 * Shortcode para obtener el NIF/CIF del titular.
     309 *
     310 * @return string NIF/CIF (escapado).
     311 */
    252312function pdrgpd_conf_nif() {
    253313    return esc_html( get_option( 'pdrgpd_nif', 'X00000000T' ) );
    254314}
    255 
     315add_shortcode( 'pdrgpd-nif', 'pdrgpd_conf_nif' );
     316
     317/**
     318 * Obtiene el número de inscripción VIES.
     319 *
     320 * @return string Valor VIES (escapado).
     321 */
    256322function pdrgpd_conf_vies() {
    257323    return esc_html( get_option( 'pdrgpd_vies', '' ) );
    258324}
    259325
    260 add_shortcode( 'pdrgpd-direccion', 'pdrgpd_conf_direccion' );
     326/**
     327 * Shortcode para obtener la dirección del titular.
     328 *
     329 * @return string Dirección (escapada).
     330 */
    261331function pdrgpd_conf_direccion() {
    262332    return esc_html( get_option( 'pdrgpd_direccion', '13, Rue del Percebe' ) );
    263333}
    264 
    265 add_shortcode( 'pdrgpd-cp', 'pdrgpd_conf_cp' );
     334add_shortcode( 'pdrgpd-direccion', 'pdrgpd_conf_direccion' );
     335
     336/**
     337 * Shortcode para obtener el código postal.
     338 *
     339 * @return string Código postal (escapado).
     340 */
    266341function pdrgpd_conf_cp() {
    267342    return esc_html( get_option( 'pdrgpd_cp', '' ) );
    268343}
    269 
    270 add_shortcode( 'pdrgpd-poblacion', 'pdrgpd_conf_poblacion' );
     344add_shortcode( 'pdrgpd-cp', 'pdrgpd_conf_cp' );
     345
     346/**
     347 * Shortcode para obtener la población.
     348 *
     349 * @return string Población (escapada).
     350 */
    271351function pdrgpd_conf_poblacion() {
    272352    return esc_html( get_option( 'pdrgpd_poblacion', 'Villaconejos de Arriba' ) );
    273353}
    274 
    275 add_shortcode( 'pdrgpd-provincia', 'pdrgpd_conf_provincia' );
     354add_shortcode( 'pdrgpd-poblacion', 'pdrgpd_conf_poblacion' );
     355
     356/**
     357 * Shortcode para obtener la provincia.
     358 *
     359 * @return string Provincia (escapada).
     360 */
    276361function pdrgpd_conf_provincia() {
    277362    return esc_html( get_option( 'pdrgpd_provincia', '' ) );
    278363}
    279 
     364add_shortcode( 'pdrgpd-provincia', 'pdrgpd_conf_provincia' );
     365
     366/**
     367 * Obtiene el país configurado (siempre España).
     368 *
     369 * @return string "España".
     370 */
    280371function pdrgpd_conf_pais() {
    281372    return esc_html( 'España' );
    282373}
    283374
    284 add_shortcode( 'pdrgpd-telefono', 'pdrgpd_html_telefono' );
     375/**
     376 * Shortcode para mostrar el teléfono como enlace clickable.
     377 *
     378 * @return string HTML del teléfono (enlace si es válido).
     379 */
    285380function pdrgpd_html_telefono() {
    286381    $telefono_conf = pdrgpd_conf_telefono();
     
    297392    return $html;
    298393}
    299 
     394add_shortcode( 'pdrgpd-telefono', 'pdrgpd_html_telefono' );
     395
     396/**
     397 * Obtiene el teléfono configurado para el aviso legal
     398 *
     399 * - Valor por defecto: cadena vacía
     400 * - El valor se escapa con esc_html()
     401 * - Formato recomendado: [+][prefijo][número] (ej: +34123456789)
     402 *
     403 * @return string Teléfono en formato válido o cadena vacía
     404 */
    300405function pdrgpd_conf_telefono() {
    301406    return esc_html( get_option( 'pdrgpd_telefono', '' ) );
    302407}
    303408
    304 add_shortcode( 'pdrgpd-email', 'pdrgpd_html_email' );
     409/**
     410 * Shortcode para mostrar el email como enlace con protección antispam.
     411 *
     412 * @return string HTML del email (enlace protegido).
     413 */
    305414function pdrgpd_html_email() {
    306415    $html  = '<a href="mailto:';
     
    311420    return $html;
    312421}
    313 
     422add_shortcode( 'pdrgpd-email', 'pdrgpd_html_email' );
     423
     424/**
     425 * Obtiene el email configurado (o el del admin).
     426 *
     427 * @return string Email (escapado).
     428 */
    314429function pdrgpd_conf_email() {
    315430    return esc_html( get_option( 'pdrgpd_email', get_bloginfo( 'admin_email' ) ) );
    316431}
    317432
     433/**
     434 * Genera texto de inscripción VIES si está configurado.
     435 *
     436 * @return string Texto HTML o vacío.
     437 */
    318438function pdrgpd_inscripcion_vies() {
    319439    if ( pdrgpd_conf_vies() ) {
     
    326446}
    327447
     448/**
     449 * Formatea el NIF-IVA según país
     450 *
     451 * @param string $pais Nombre completo del país (ej: "España").
     452 * @param string $iva NIF/CIF sin prefijo de país.
     453 * @return string NIF-IVA formateado (ej: "ESX00000000T").
     454 * @throws InvalidArgumentException Si el país no está soportado.
     455 */
    328456function pdrgpd_nif_iva( $pais, $iva ) {
    329457    $vat = pdrgpd_codigo_pais( $pais ) . $iva;
     
    331459}
    332460
     461/**
     462 * Obtiene el código de país ISO para VIES.
     463 *
     464 * @param string $pais Nombre del país.
     465 * @return string Código ISO de 2 letras.
     466 */
    333467function pdrgpd_codigo_pais( $pais ) {
    334468    switch ( $pais ) {
     
    421555}
    422556
    423 /** Inscripción en el Registro Mercantil
    424 // add_shortcode( 'pdrgpd-inscripcion-registro-mercantil' , 'pdrgpd_inscripcion_registro_mercantil' ); */
     557
     558/**
     559 * Genera texto de inscripción en Registro Mercantil si está configurado.
     560 *
     561 * @return string Texto HTML o vacío.
     562 */
    425563function pdrgpd_inscripcion_registro_mercantil() {
    426564    $locale = get_locale();
     
    461599}
    462600
     601// Funciones de configuración del Registro Mercantil (todas devuelven strings escapados).
     602
     603/**
     604 * Obtiene la población de inscripción en el Registro Mercantil.
     605 *
     606 * @return string Población de registro (escapada).
     607 */
    463608function pdrgpd_conf_rmercant_poblacion() {
    464609    return esc_html( get_option( 'pdrgpd_rmercant_poblacion', '' ) );
    465610}
    466611
     612/**
     613 * Obtiene la provincia de inscripción en el Registro Mercantil.
     614 *
     615 * @return string Provincia de registro (escapada).
     616 */
    467617function pdrgpd_conf_rmercant_provincia() {
    468618    return esc_html( get_option( 'pdrgpd_rmercant_provincia', '' ) );
    469619}
    470620
     621/**
     622 * Obtiene la fecha de inscripción en el Registro Mercantil.
     623 *
     624 * @return string Fecha de registro (escapada).
     625 */
    471626function pdrgpd_conf_rmercant_fecha() {
    472627    return esc_html( get_option( 'pdrgpd_rmercant_fecha', '' ) );
    473628}
    474629
     630/**
     631 * Obtiene el número de presentación en el Registro Mercantil.
     632 *
     633 * @return string Número de presentación (escapado).
     634 */
    475635function pdrgpd_conf_rmercant_presentacion() {
    476636    return esc_html( get_option( 'pdrgpd_rmercant_presentacion', '' ) );
    477637}
    478638
     639/**
     640 * Obtiene la sección de inscripción en el Registro Mercantil.
     641 *
     642 * @return string Sección de registro (escapada).
     643 */
    479644function pdrgpd_conf_rmercant_seccion() {
    480645    return esc_html( get_option( 'pdrgpd_rmercant_seccion', '' ) );
    481646}
    482647
     648/**
     649 * Obtiene el libro de inscripción en el Registro Mercantil.
     650 *
     651 * @return string Libro de registro (escapado).
     652 */
    483653function pdrgpd_conf_rmercant_libro() {
    484654    return esc_html( get_option( 'pdrgpd_rmercant_libro', '' ) );
    485655}
    486656
     657/**
     658 * Obtiene el tomo de inscripción en el Registro Mercantil.
     659 *
     660 * @return string Tomo de registro (escapado).
     661 */
    487662function pdrgpd_conf_rmercant_tomo() {
    488663    return esc_html( get_option( 'pdrgpd_rmercant_tomo', '' ) );
    489664}
    490665
     666/**
     667 * Obtiene el folio de inscripción en el Registro Mercantil.
     668 *
     669 * @return string Folio de registro (escapado).
     670 */
    491671function pdrgpd_conf_rmercant_folio() {
    492672    return esc_html( get_option( 'pdrgpd_rmercant_folio', '' ) );
    493673}
    494674
     675/**
     676 * Obtiene la hoja de inscripción en el Registro Mercantil.
     677 *
     678 * @return string Hoja de registro (escapada).
     679 */
    495680function pdrgpd_conf_rmercant_hoja() {
    496681    return esc_html( get_option( 'pdrgpd_rmercant_hoja', '' ) );
    497682}
    498683
     684/**
     685 * Obtiene el protocolo de inscripción en el Registro Mercantil.
     686 *
     687 * @return string Protocolo de registro (escapado).
     688 */
    499689function pdrgpd_conf_rmercant_protocolo() {
    500690    return esc_html( get_option( 'pdrgpd_rmercant_protocolo', '' ) );
    501691}
    502692
     693/**
     694 * Obtiene el número de inscripción en el Registro Mercantil.
     695 *
     696 * @return string Número de registro (escapado).
     697 */
    503698function pdrgpd_conf_rmercant_num() {
    504699    return esc_html( get_option( 'pdrgpd_rmercant_num', '' ) );
    505700}
    506701
    507 add_shortcode( 'pdrgpd-sitio', 'pdrgpd_conf_sitio' );
     702/**
     703 * Shortcode para obtener el nombre del sitio.
     704 *
     705 * @return string Nombre del sitio (escapado).
     706 */
    508707function pdrgpd_conf_sitio() {
    509708    return esc_html( get_option( 'pdrgpd_sitio', get_bloginfo( 'name' ) ) );
    510709}
    511 
    512 add_shortcode( 'pdrgpd-dominio', 'pdrgpd_conf_dominio' );
     710add_shortcode( 'pdrgpd-sitio', 'pdrgpd_conf_sitio' );
     711
     712/**
     713 * Shortcode para obtener el dominio del sitio.
     714 *
     715 * @return string Dominio (escapado).
     716 */
    513717function pdrgpd_conf_dominio() {
    514718    // Quitamos el protocolo al valor por defecto de la home.
    515719    return esc_html( get_option( 'pdrgpd_dominio', explode( '//', get_bloginfo( 'url' ) )[1] ) );
    516720}
    517 add_shortcode( 'pdrgpd-uri-aviso', 'pdrgpd_conf_uri_aviso' );
     721add_shortcode( 'pdrgpd-dominio', 'pdrgpd_conf_dominio' );
     722
     723/**
     724 * Shortcode para obtener la URL del Aviso Legal.
     725 *
     726 * @return string URL completa (escapada).
     727 */
    518728function pdrgpd_conf_uri_aviso() {
    519729    return esc_url( get_option( 'pdrgpd_uri_aviso', get_bloginfo( 'wpurl' ) . '/aviso-legal/' ) );
    520730}
    521 
    522 add_shortcode( 'pdrgpd-uri-privacidad', 'pdrgpd_conf_uri_privacidad' );
     731add_shortcode( 'pdrgpd-uri-aviso', 'pdrgpd_conf_uri_aviso' );
     732
     733/**
     734 * Shortcode para obtener la URL de la Política de Privacidad.
     735 *
     736 * @return string URL completa (escapada).
     737 */
    523738function pdrgpd_conf_uri_privacidad() {
    524739    return esc_url( get_option( 'pdrgpd_uri_privacidad', get_bloginfo( 'wpurl' ) . '/privacidad/' ) );
    525740}
    526 
    527 add_shortcode( 'pdrgpd-uri-cookies', 'pdrgpd_conf_uri_cookies' );
     741add_shortcode( 'pdrgpd-uri-privacidad', 'pdrgpd_conf_uri_privacidad' );
     742
     743/**
     744 * Shortcode para obtener la URL de la Política de Cookies.
     745 *
     746 * @return string URL completa (escapada).
     747 */
    528748function pdrgpd_conf_uri_cookies() {
    529749    return esc_url( get_option( 'pdrgpd_uri_cookies', get_bloginfo( 'wpurl' ) . '/cookies/' ) );
    530750}
     751add_shortcode( 'pdrgpd-uri-cookies', 'pdrgpd_conf_uri_cookies' );
  • proteccion-datos-rgpd/tags/0.68/proteccion-datos-rgpd.php

    r3190618 r3320735  
    44 * Plugin URI:  https://taller.abcdatos.net/plugin-rgpd-wordpress/
    55 * Description: Arrange your site to GDPR (General Data Protection Regulation) and LSSICE as well as other required tasks based on required configurations ettings.
    6  * Version:     0.68-dev
     6 * Version:     0.68
    77 * Author:      ABCdatos
    88 * Author URI:  https://taller.abcdatos.net/
  • proteccion-datos-rgpd/tags/0.68/readme.txt

    r3190618 r3320735  
    44Requires at least: 4.2
    55Tested up to: 6.7
    6 Stable tag: 0.67
     6Stable tag: 0.68
    77Requires PHP: 5.3
    88License: GPLv2
     
    178178
    179179= 0.68-dev =
    180 **** ** 2024*
     180**** ** 2025*
    181181* Improved handling for non-existent pages specified in control panel options.
     182* Minor corrections to legal advice.
    182183* WordPress 6.7 basic compatibility checked.
    183184
  • proteccion-datos-rgpd/trunk/aviso-legal.php

    r3063809 r3320735  
    1313// Shortcodes.
    1414
    15 add_shortcode( 'pdrgpd-aviso-legal', 'pdrgpd_aviso_legal' );
    16 /**
    17  * Compone el contenido completo de [pdrgpd-aviso-legal]
    18  * para crear la página del aviso legal aplicando la lista
    19  * de shortcodes de menor entidad.
     15/**
     16 * Shortcode principal que compone el Aviso Legal completo.
     17 * Combina todos los shortcodes de secciones menores.
     18 *
     19 * @return string HTML generado por los shortcodes combinados.
    2020 */
    2121function pdrgpd_aviso_legal() {
     
    3131    return do_shortcode( $html );
    3232}
    33 
    34 add_shortcode( 'pdrgpd-aviso-legal-identificacion-titular', 'pdrgpd_aviso_legal_identificacion_titular' );
     33add_shortcode( 'pdrgpd-aviso-legal', 'pdrgpd_aviso_legal' );
     34
     35/**
     36 * Genera la sección de identificación del titular del sitio web.
     37 *
     38 * @return string HTML con los datos identificativos del titular.
     39 *
     40 * @internal
     41 * Nota: La estructura HTML varía según el idioma (ca/es) y campos configurados.
     42 */
    3543function pdrgpd_aviso_legal_identificacion_titular() {
    3644    $locale = get_locale();
     
    4856            $html .= ', codi postal [pdrgpd-cp]';
    4957        }
    50         $html .= ' de [pdrgpd-poblacion]';
     58        // Si se pone "de", puede requerir apostrofarlo.
     59        $html .= ' a [pdrgpd-poblacion]';
    5160        if ( pdrgpd_conf_provincia() && pdrgpd_conf_provincia() !== pdrgpd_conf_poblacion() ) {
    5261            $html .= ', [pdrgpd-provincia]';
     
    7584            $html .= ', código postal [pdrgpd-cp]';
    7685        }
    77         // Si se pone "de", puede requerir apostrofarlo.
    78         $html .= ' a [pdrgpd-poblacion]';
     86        $html .= ' en [pdrgpd-poblacion]';
    7987        if ( pdrgpd_conf_provincia() && pdrgpd_conf_provincia() !== pdrgpd_conf_poblacion() ) {
    8088            $html .= ', [pdrgpd-provincia]';
     
    93101    return do_shortcode( $html );
    94102}
    95 
    96 add_shortcode( 'pdrgpd-aviso-legal-condiciones', 'pdrgpd_aviso_legal_condiciones' );
     103add_shortcode( 'pdrgpd-aviso-legal-identificacion-titular', 'pdrgpd_aviso_legal_identificacion_titular' );
     104
     105/**
     106 * Genera la sección de condiciones de uso del sitio web.
     107 *
     108 * @return string HTML con las condiciones de uso.
     109 */
    97110function pdrgpd_aviso_legal_condiciones() {
    98111    $locale = get_locale();
     
    128141    return do_shortcode( $html );
    129142}
    130 
    131 add_shortcode( 'pdrgpd-aviso-legal-propiedad-intelectual', 'pdrgpd_aviso_legal_propiedad_intelectual' );
     143add_shortcode( 'pdrgpd-aviso-legal-condiciones', 'pdrgpd_aviso_legal_condiciones' );
     144
     145/**
     146 * Genera la sección sobre propiedad intelectual del contenido.
     147 *
     148 * @return string HTML sobre derechos de propiedad intelectual.
     149 */
    132150function pdrgpd_aviso_legal_propiedad_intelectual() {
    133151    $locale = get_locale();
     
    141159    return do_shortcode( $html );
    142160}
    143 
    144 add_shortcode( 'pdrgpd-aviso-legal-disponibilidad', 'pdrgpd_aviso_legal_disponibilidad' );
     161add_shortcode( 'pdrgpd-aviso-legal-propiedad-intelectual', 'pdrgpd_aviso_legal_propiedad_intelectual' );
     162
     163/**
     164 * Genera la sección sobre disponibilidad del sitio web.
     165 *
     166 * @return string HTML sobre garantías de disponibilidad.
     167 */
    145168function pdrgpd_aviso_legal_disponibilidad() {
    146169    $locale = get_locale();
     
    174197    return do_shortcode( $html );
    175198}
    176 
    177 add_shortcode( 'pdrgpd-aviso-legal-calidad', 'pdrgpd_aviso_legal_calidad' );
     199add_shortcode( 'pdrgpd-aviso-legal-disponibilidad', 'pdrgpd_aviso_legal_disponibilidad' );
     200
     201/**
     202 * Genera la sección sobre calidad del contenido.
     203 *
     204 * @return string HTML sobre garantías de calidad.
     205 */
    178206function pdrgpd_aviso_legal_calidad() {
    179207    $locale = get_locale();
     
    187215    return do_shortcode( $html );
    188216}
    189 
    190 add_shortcode( 'pdrgpd-aviso-legal-limitacion-responsabilidad', 'pdrgpd_aviso_legal_limitacion_responsabilidad' );
     217add_shortcode( 'pdrgpd-aviso-legal-calidad', 'pdrgpd_aviso_legal_calidad' );
     218
     219/**
     220 * Genera la sección de limitación de responsabilidad.
     221 *
     222 * @return string HTML sobre exclusiones de responsabilidad.
     223 */
    191224function pdrgpd_aviso_legal_limitacion_responsabilidad() {
    192225    $locale = get_locale();
     
    200233    return do_shortcode( $html );
    201234}
    202 
    203 add_shortcode( 'pdrgpd-aviso-legal-notificaciones', 'pdrgpd_aviso_legal_notificaciones' );
     235add_shortcode( 'pdrgpd-aviso-legal-limitacion-responsabilidad', 'pdrgpd_aviso_legal_limitacion_responsabilidad' );
     236
     237/**
     238 * Genera la sección sobre notificaciones legales.
     239 *
     240 * @return string HTML sobre eficacia de notificaciones.
     241 */
    204242function pdrgpd_aviso_legal_notificaciones() {
    205243    $locale = get_locale();
     
    213251    return do_shortcode( $html );
    214252}
    215 
    216 add_shortcode( 'pdrgpd-aviso-legal-jurisdiccion', 'pdrgpd_aviso_legal_jurisdiccion' );
     253add_shortcode( 'pdrgpd-aviso-legal-notificaciones', 'pdrgpd_aviso_legal_notificaciones' );
     254
     255/**
     256 * Genera la sección de jurisdicción aplicable.
     257 * Solo se muestra si está definida una provincia.
     258 *
     259 * @return string|null HTML sobre jurisdicción o null si no aplica.
     260 */
    217261function pdrgpd_aviso_legal_jurisdiccion() {
    218262    // Para fijar la jurisdicción, ha de estar definida la provincia.
     
    229273    }
    230274}
    231 
    232 add_shortcode( 'pdrgpd-aviso-legal-legislacion', 'pdrgpd_aviso_legal_legislacion' );
     275add_shortcode( 'pdrgpd-aviso-legal-jurisdiccion', 'pdrgpd_aviso_legal_jurisdiccion' );
     276
     277/**
     278 * Genera la sección sobre legislación aplicable.
     279 *
     280 * @return string HTML sobre normativa legal.
     281 */
    233282function pdrgpd_aviso_legal_legislacion() {
    234283    $locale = get_locale();
     
    242291    return do_shortcode( $html );
    243292}
     293add_shortcode( 'pdrgpd-aviso-legal-legislacion', 'pdrgpd_aviso_legal_legislacion' );
    244294
    245295// Lectura de valores configurados o por defecto.
    246 add_shortcode( 'pdrgpd-titular', 'pdrgpd_conf_titular' );
     296
     297/**
     298 * Shortcode para obtener el titular del sitio.
     299 *
     300 * @return string Nombre del titular (escapado).
     301 */
    247302function pdrgpd_conf_titular() {
    248303    return esc_html( get_option( 'pdrgpd_titular', 'Perico de los Palotes' ) );
    249304}
    250 
    251 add_shortcode( 'pdrgpd-nif', 'pdrgpd_conf_nif' );
     305add_shortcode( 'pdrgpd-titular', 'pdrgpd_conf_titular' );
     306
     307/**
     308 * Shortcode para obtener el NIF/CIF del titular.
     309 *
     310 * @return string NIF/CIF (escapado).
     311 */
    252312function pdrgpd_conf_nif() {
    253313    return esc_html( get_option( 'pdrgpd_nif', 'X00000000T' ) );
    254314}
    255 
     315add_shortcode( 'pdrgpd-nif', 'pdrgpd_conf_nif' );
     316
     317/**
     318 * Obtiene el número de inscripción VIES.
     319 *
     320 * @return string Valor VIES (escapado).
     321 */
    256322function pdrgpd_conf_vies() {
    257323    return esc_html( get_option( 'pdrgpd_vies', '' ) );
    258324}
    259325
    260 add_shortcode( 'pdrgpd-direccion', 'pdrgpd_conf_direccion' );
     326/**
     327 * Shortcode para obtener la dirección del titular.
     328 *
     329 * @return string Dirección (escapada).
     330 */
    261331function pdrgpd_conf_direccion() {
    262332    return esc_html( get_option( 'pdrgpd_direccion', '13, Rue del Percebe' ) );
    263333}
    264 
    265 add_shortcode( 'pdrgpd-cp', 'pdrgpd_conf_cp' );
     334add_shortcode( 'pdrgpd-direccion', 'pdrgpd_conf_direccion' );
     335
     336/**
     337 * Shortcode para obtener el código postal.
     338 *
     339 * @return string Código postal (escapado).
     340 */
    266341function pdrgpd_conf_cp() {
    267342    return esc_html( get_option( 'pdrgpd_cp', '' ) );
    268343}
    269 
    270 add_shortcode( 'pdrgpd-poblacion', 'pdrgpd_conf_poblacion' );
     344add_shortcode( 'pdrgpd-cp', 'pdrgpd_conf_cp' );
     345
     346/**
     347 * Shortcode para obtener la población.
     348 *
     349 * @return string Población (escapada).
     350 */
    271351function pdrgpd_conf_poblacion() {
    272352    return esc_html( get_option( 'pdrgpd_poblacion', 'Villaconejos de Arriba' ) );
    273353}
    274 
    275 add_shortcode( 'pdrgpd-provincia', 'pdrgpd_conf_provincia' );
     354add_shortcode( 'pdrgpd-poblacion', 'pdrgpd_conf_poblacion' );
     355
     356/**
     357 * Shortcode para obtener la provincia.
     358 *
     359 * @return string Provincia (escapada).
     360 */
    276361function pdrgpd_conf_provincia() {
    277362    return esc_html( get_option( 'pdrgpd_provincia', '' ) );
    278363}
    279 
     364add_shortcode( 'pdrgpd-provincia', 'pdrgpd_conf_provincia' );
     365
     366/**
     367 * Obtiene el país configurado (siempre España).
     368 *
     369 * @return string "España".
     370 */
    280371function pdrgpd_conf_pais() {
    281372    return esc_html( 'España' );
    282373}
    283374
    284 add_shortcode( 'pdrgpd-telefono', 'pdrgpd_html_telefono' );
     375/**
     376 * Shortcode para mostrar el teléfono como enlace clickable.
     377 *
     378 * @return string HTML del teléfono (enlace si es válido).
     379 */
    285380function pdrgpd_html_telefono() {
    286381    $telefono_conf = pdrgpd_conf_telefono();
     
    297392    return $html;
    298393}
    299 
     394add_shortcode( 'pdrgpd-telefono', 'pdrgpd_html_telefono' );
     395
     396/**
     397 * Obtiene el teléfono configurado para el aviso legal
     398 *
     399 * - Valor por defecto: cadena vacía
     400 * - El valor se escapa con esc_html()
     401 * - Formato recomendado: [+][prefijo][número] (ej: +34123456789)
     402 *
     403 * @return string Teléfono en formato válido o cadena vacía
     404 */
    300405function pdrgpd_conf_telefono() {
    301406    return esc_html( get_option( 'pdrgpd_telefono', '' ) );
    302407}
    303408
    304 add_shortcode( 'pdrgpd-email', 'pdrgpd_html_email' );
     409/**
     410 * Shortcode para mostrar el email como enlace con protección antispam.
     411 *
     412 * @return string HTML del email (enlace protegido).
     413 */
    305414function pdrgpd_html_email() {
    306415    $html  = '<a href="mailto:';
     
    311420    return $html;
    312421}
    313 
     422add_shortcode( 'pdrgpd-email', 'pdrgpd_html_email' );
     423
     424/**
     425 * Obtiene el email configurado (o el del admin).
     426 *
     427 * @return string Email (escapado).
     428 */
    314429function pdrgpd_conf_email() {
    315430    return esc_html( get_option( 'pdrgpd_email', get_bloginfo( 'admin_email' ) ) );
    316431}
    317432
     433/**
     434 * Genera texto de inscripción VIES si está configurado.
     435 *
     436 * @return string Texto HTML o vacío.
     437 */
    318438function pdrgpd_inscripcion_vies() {
    319439    if ( pdrgpd_conf_vies() ) {
     
    326446}
    327447
     448/**
     449 * Formatea el NIF-IVA según país
     450 *
     451 * @param string $pais Nombre completo del país (ej: "España").
     452 * @param string $iva NIF/CIF sin prefijo de país.
     453 * @return string NIF-IVA formateado (ej: "ESX00000000T").
     454 * @throws InvalidArgumentException Si el país no está soportado.
     455 */
    328456function pdrgpd_nif_iva( $pais, $iva ) {
    329457    $vat = pdrgpd_codigo_pais( $pais ) . $iva;
     
    331459}
    332460
     461/**
     462 * Obtiene el código de país ISO para VIES.
     463 *
     464 * @param string $pais Nombre del país.
     465 * @return string Código ISO de 2 letras.
     466 */
    333467function pdrgpd_codigo_pais( $pais ) {
    334468    switch ( $pais ) {
     
    421555}
    422556
    423 /** Inscripción en el Registro Mercantil
    424 // add_shortcode( 'pdrgpd-inscripcion-registro-mercantil' , 'pdrgpd_inscripcion_registro_mercantil' ); */
     557
     558/**
     559 * Genera texto de inscripción en Registro Mercantil si está configurado.
     560 *
     561 * @return string Texto HTML o vacío.
     562 */
    425563function pdrgpd_inscripcion_registro_mercantil() {
    426564    $locale = get_locale();
     
    461599}
    462600
     601// Funciones de configuración del Registro Mercantil (todas devuelven strings escapados).
     602
     603/**
     604 * Obtiene la población de inscripción en el Registro Mercantil.
     605 *
     606 * @return string Población de registro (escapada).
     607 */
    463608function pdrgpd_conf_rmercant_poblacion() {
    464609    return esc_html( get_option( 'pdrgpd_rmercant_poblacion', '' ) );
    465610}
    466611
     612/**
     613 * Obtiene la provincia de inscripción en el Registro Mercantil.
     614 *
     615 * @return string Provincia de registro (escapada).
     616 */
    467617function pdrgpd_conf_rmercant_provincia() {
    468618    return esc_html( get_option( 'pdrgpd_rmercant_provincia', '' ) );
    469619}
    470620
     621/**
     622 * Obtiene la fecha de inscripción en el Registro Mercantil.
     623 *
     624 * @return string Fecha de registro (escapada).
     625 */
    471626function pdrgpd_conf_rmercant_fecha() {
    472627    return esc_html( get_option( 'pdrgpd_rmercant_fecha', '' ) );
    473628}
    474629
     630/**
     631 * Obtiene el número de presentación en el Registro Mercantil.
     632 *
     633 * @return string Número de presentación (escapado).
     634 */
    475635function pdrgpd_conf_rmercant_presentacion() {
    476636    return esc_html( get_option( 'pdrgpd_rmercant_presentacion', '' ) );
    477637}
    478638
     639/**
     640 * Obtiene la sección de inscripción en el Registro Mercantil.
     641 *
     642 * @return string Sección de registro (escapada).
     643 */
    479644function pdrgpd_conf_rmercant_seccion() {
    480645    return esc_html( get_option( 'pdrgpd_rmercant_seccion', '' ) );
    481646}
    482647
     648/**
     649 * Obtiene el libro de inscripción en el Registro Mercantil.
     650 *
     651 * @return string Libro de registro (escapado).
     652 */
    483653function pdrgpd_conf_rmercant_libro() {
    484654    return esc_html( get_option( 'pdrgpd_rmercant_libro', '' ) );
    485655}
    486656
     657/**
     658 * Obtiene el tomo de inscripción en el Registro Mercantil.
     659 *
     660 * @return string Tomo de registro (escapado).
     661 */
    487662function pdrgpd_conf_rmercant_tomo() {
    488663    return esc_html( get_option( 'pdrgpd_rmercant_tomo', '' ) );
    489664}
    490665
     666/**
     667 * Obtiene el folio de inscripción en el Registro Mercantil.
     668 *
     669 * @return string Folio de registro (escapado).
     670 */
    491671function pdrgpd_conf_rmercant_folio() {
    492672    return esc_html( get_option( 'pdrgpd_rmercant_folio', '' ) );
    493673}
    494674
     675/**
     676 * Obtiene la hoja de inscripción en el Registro Mercantil.
     677 *
     678 * @return string Hoja de registro (escapada).
     679 */
    495680function pdrgpd_conf_rmercant_hoja() {
    496681    return esc_html( get_option( 'pdrgpd_rmercant_hoja', '' ) );
    497682}
    498683
     684/**
     685 * Obtiene el protocolo de inscripción en el Registro Mercantil.
     686 *
     687 * @return string Protocolo de registro (escapado).
     688 */
    499689function pdrgpd_conf_rmercant_protocolo() {
    500690    return esc_html( get_option( 'pdrgpd_rmercant_protocolo', '' ) );
    501691}
    502692
     693/**
     694 * Obtiene el número de inscripción en el Registro Mercantil.
     695 *
     696 * @return string Número de registro (escapado).
     697 */
    503698function pdrgpd_conf_rmercant_num() {
    504699    return esc_html( get_option( 'pdrgpd_rmercant_num', '' ) );
    505700}
    506701
    507 add_shortcode( 'pdrgpd-sitio', 'pdrgpd_conf_sitio' );
     702/**
     703 * Shortcode para obtener el nombre del sitio.
     704 *
     705 * @return string Nombre del sitio (escapado).
     706 */
    508707function pdrgpd_conf_sitio() {
    509708    return esc_html( get_option( 'pdrgpd_sitio', get_bloginfo( 'name' ) ) );
    510709}
    511 
    512 add_shortcode( 'pdrgpd-dominio', 'pdrgpd_conf_dominio' );
     710add_shortcode( 'pdrgpd-sitio', 'pdrgpd_conf_sitio' );
     711
     712/**
     713 * Shortcode para obtener el dominio del sitio.
     714 *
     715 * @return string Dominio (escapado).
     716 */
    513717function pdrgpd_conf_dominio() {
    514718    // Quitamos el protocolo al valor por defecto de la home.
    515719    return esc_html( get_option( 'pdrgpd_dominio', explode( '//', get_bloginfo( 'url' ) )[1] ) );
    516720}
    517 add_shortcode( 'pdrgpd-uri-aviso', 'pdrgpd_conf_uri_aviso' );
     721add_shortcode( 'pdrgpd-dominio', 'pdrgpd_conf_dominio' );
     722
     723/**
     724 * Shortcode para obtener la URL del Aviso Legal.
     725 *
     726 * @return string URL completa (escapada).
     727 */
    518728function pdrgpd_conf_uri_aviso() {
    519729    return esc_url( get_option( 'pdrgpd_uri_aviso', get_bloginfo( 'wpurl' ) . '/aviso-legal/' ) );
    520730}
    521 
    522 add_shortcode( 'pdrgpd-uri-privacidad', 'pdrgpd_conf_uri_privacidad' );
     731add_shortcode( 'pdrgpd-uri-aviso', 'pdrgpd_conf_uri_aviso' );
     732
     733/**
     734 * Shortcode para obtener la URL de la Política de Privacidad.
     735 *
     736 * @return string URL completa (escapada).
     737 */
    523738function pdrgpd_conf_uri_privacidad() {
    524739    return esc_url( get_option( 'pdrgpd_uri_privacidad', get_bloginfo( 'wpurl' ) . '/privacidad/' ) );
    525740}
    526 
    527 add_shortcode( 'pdrgpd-uri-cookies', 'pdrgpd_conf_uri_cookies' );
     741add_shortcode( 'pdrgpd-uri-privacidad', 'pdrgpd_conf_uri_privacidad' );
     742
     743/**
     744 * Shortcode para obtener la URL de la Política de Cookies.
     745 *
     746 * @return string URL completa (escapada).
     747 */
    528748function pdrgpd_conf_uri_cookies() {
    529749    return esc_url( get_option( 'pdrgpd_uri_cookies', get_bloginfo( 'wpurl' ) . '/cookies/' ) );
    530750}
     751add_shortcode( 'pdrgpd-uri-cookies', 'pdrgpd_conf_uri_cookies' );
  • proteccion-datos-rgpd/trunk/proteccion-datos-rgpd.php

    r3190618 r3320735  
    44 * Plugin URI:  https://taller.abcdatos.net/plugin-rgpd-wordpress/
    55 * Description: Arrange your site to GDPR (General Data Protection Regulation) and LSSICE as well as other required tasks based on required configurations ettings.
    6  * Version:     0.68-dev
     6 * Version:     0.68
    77 * Author:      ABCdatos
    88 * Author URI:  https://taller.abcdatos.net/
  • proteccion-datos-rgpd/trunk/readme.txt

    r3190618 r3320735  
    44Requires at least: 4.2
    55Tested up to: 6.7
    6 Stable tag: 0.67
     6Stable tag: 0.68
    77Requires PHP: 5.3
    88License: GPLv2
     
    178178
    179179= 0.68-dev =
    180 **** ** 2024*
     180**** ** 2025*
    181181* Improved handling for non-existent pages specified in control panel options.
     182* Minor corrections to legal advice.
    182183* WordPress 6.7 basic compatibility checked.
    183184
Note: See TracChangeset for help on using the changeset viewer.