Changeset fbcfb98 in portal_2019


Ignore:
Timestamp:
Oct 31, 2023, 4:15:08 PM (6 months ago)
Author:
Argenis Osorio <argenisosorio580@…>
Branches:
master, dev
Parents:
9e98ae1
Message:

feat: Movida la función checkFileSize a un archivo de uso global y agregada restricción de tamaño máximo del archivo desde el formulario de verificar la Firma electrónica

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • index.php

    r3483075 rfbcfb98  
    4646      <ul id="tabs-operation" class="nav nav-tabs mt-6" data-tabs="tabs">
    4747        <li class="nav-item">
    48           <a class="nav-link d-none" href="#firmar" data-toggle="tab">Firmar con token</a>
     48          <a class="nav-link d-none" href="#firmar" data-toggle="tab">
     49            Firmar con token
     50          </a>
    4951        </li>
    5052        <li>
    51           <a class="nav-link" href="<?php returnURL(); ?>/php/sign.php">Firmar con .p12</a>
     53          <a class="nav-link" href="<?php returnURL(); ?>/php/sign.php">
     54            Firmar con .p12
     55          </a>
    5256        </li>
    5357        <li>
    54           <a class="nav-link active" href="#verificar" data-toggle="tab">Verificar</a>
     58          <a class="nav-link active" href="#verificar" data-toggle="tab">
     59            Verificar
     60          </a>
    5561        </li>
    5662      </ul>
     
    6975          <div class="row">
    7076            <div class="col-10 offset-1 col-md-8 offset-md-2 pt-4">
    71               <p class="text-center mb-1">Seleccione el tipo de formato que va a utilizar para firmar electrónicamente:</p>
     77              <p class="text-center mb-1">
     78                Seleccione el tipo de formato que va a utilizar
     79                para firmar electrónicamente:
     80              </p>
    7281              <div class="kv-main">
    73                 <form id="firmar" name="SignFormat" action="https://murachi.cenditel.gob.ve/Murachi/0.1/archivos"
    74                       enctype="multipart/form-data" method="post"
     82                <form
     83                  id="firmar"
     84                  name="SignFormat"
     85                  action="https://murachi.cenditel.gob.ve/Murachi/0.1/archivos"
     86                  enctype="multipart/form-data"
     87                  method="post"
    7588                >
    7689                  <div class="custom-control custom-radio">
    77                     <input id="radioOne" class="custom-control-input" type="radio" name="optradio" value="pdf" checked />
    78                     <label class="custom-control-label" for="radioOne"  >PDF</label>
     90                    <input
     91                      id="radioOne"
     92                      class="custom-control-input"
     93                      type="radio"
     94                      name="optradio"
     95                      value="pdf"
     96                      checked
     97                    />
     98                    <label class="custom-control-label" for="radioOne">PDF</label>
    7999                  </div>
    80100                  <div class="custom-control custom-radio">
    81                     <input id="radioTwo" class="custom-control-input" type="radio" name="optradio" value="bdoc" />
    82                     <label class="custom-control-label" for="radioTwo"  >BDOC</label>
     101                    <input
     102                      id="radioTwo"
     103                      class="custom-control-input"
     104                      type="radio"
     105                      name="optradio"
     106                      value="bdoc"
     107                    />
     108                    <label class="custom-control-label" for="radioTwo">BDOC</label>
    83109                  </div>
    84110                  <div class="py-4">
    85                     <p class="text-center mb-3">Seleccione el archivo que desea firmar electrónicamente:</p>
     111                    <p class="text-center mb-3">
     112                      Seleccione el archivo que desea firmar electrónicamente:
     113                    </p>
    86114                    <input
    87115                      id="file-sign"
     
    93121                    />
    94122                  </div>
    95                   <button type="submit" class="btn btn-primary btn-block"> Enviar </button>
    96                   <!-- <button id="reset" class="btn btn-outline-secondary btn-block" type="reset"> Limpiar </button> -->
     123                  <button
     124                    type="submit"
     125                    class="btn btn-primary btn-block"
     126                  >
     127                    Enviar
     128                  </button>
    97129                </form>
    98130              </div>
     
    103135        <!-- Tab: Verificar firma -->
    104136        <div id="verificar" class="tab-pane active">
    105           <h2 class="text-center py-3 font-weight-bold text-dark">Verificar la Firma Electrónica</h2>
     137          <h2 class="text-center py-3 font-weight-bold text-dark">
     138            Verificar la Firma Electrónica
     139          </h2>
    106140          <div class="row">
    107141            <div class="col-10 offset-1 col-md-8 offset-md-2 pt-4">
    108142              <div class="kv-main">
    109                 <form id="verificar" method="post" action="https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/firmados"
    110                       enctype="multipart/form-data"
     143                <form
     144                  id="verificar"
     145                  method="post"
     146                  action="https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/firmados"
     147                  enctype="multipart/form-data"
    111148                >
    112                   <p class="text-center">Seleccione el archivo que desea verificar:</p>
     149                  <p class="text-center">
     150                    Seleccione el archivo que desea verificar
     151                    (Tamaño máximo <?php echo $maxFileSize ?>):
     152                  </p>
    113153                  <div class="py-4">
    114                     <input id="file-check-sign" class="file" type="file" multiple data-min-file-count="1" name="upload" />
     154                    <input
     155                      id="file-check-sign"
     156                      class="file"
     157                      type="file"
     158                      multiple data-min-file-count="1"
     159                      onchange="checkFileSize(this)"
     160                      name="upload"
     161                    />
    115162                  </div>
    116                   <button type="submit" class="btn btn-primary btn-block button-please-wait"> Verificar </button>
     163                  <button
     164                    type="submit"
     165                    class="btn btn-primary btn-block button-please-wait"
     166                  >
     167                    Verificar
     168                  </button>
    117169                </form>
    118170              </div>
  • php/header.php

    r0155753 rfbcfb98  
     1<?php
     2  // Consultar el valor de upload_max_filesize o el tamaño máximo permitido
     3  // para un archivo que se envía al servidor.
     4  $maxFileSize = ini_get('upload_max_filesize');
     5?>
     6
    17<header>
    28  <div class="cintillo">
     
    1218  </div>
    1319</header>
     20
     21<script>
     22    /**
     23     * Función para verificar el tamaño del archivo seleccionado y mostrar una
     24     * alerta si es demasiado grande en comparación con el valor máximo permitido.
     25     * @param {HTMLInputElement} input - El elemento de entrada de archivo.
     26     */
     27    function checkFileSize(input) {
     28      if (input.files.length > 0) {
     29        // Tamaño máximo en bytes
     30        const maxSize = parseInt('<?php echo $maxFileSize; ?>') * 1024 * 1024;
     31
     32        const fileSize = input.files[0].size;
     33
     34        if (fileSize > maxSize) {
     35          alert(
     36            "El archivo seleccionado es demasiado grande, el " +
     37            "tamaño máximo permitido es <?php echo $maxFileSize; ?>."
     38          );
     39          /* Limpiar el valor del input para que el usuario seleccione otro archivo. */
     40          input.value = "";
     41        }
     42      }
     43    }
     44</script>
  • php/sign.php

    r9eb89a1 rfbcfb98  
    1010</head>
    1111<body>
    12 
    13   <?php
    14     // Consultar el valor de upload_max_filesize o el tamaño máximo permitido
    15     // para un archivo que se envía al servidor.
    16     $maxFileSize = ini_get('upload_max_filesize');
    17   ?>
    1812
    1913  <!-- Header -->
     
    144138      });
    145139    })();
    146 
    147     /**
    148      * Función para verificar el tamaño del archivo seleccionado y mostrar una
    149      * alerta si es demasiado grande en comparación con el valor máximo permitido.
    150      * @param {HTMLInputElement} input - El elemento de entrada de archivo.
    151      */
    152     function checkFileSize(input) {
    153       if (input.files.length > 0) {
    154         // Tamaño máximo en bytes
    155         const maxSize = parseInt('<?php echo $maxFileSize; ?>') * 1024 * 1024;
    156 
    157         const fileSize = input.files[0].size;
    158 
    159         if (fileSize > maxSize) {
    160           alert(
    161             "El archivo seleccionado es demasiado grande, el " +
    162             "tamaño máximo permitido es <?php echo $maxFileSize; ?>."
    163           );
    164           /* Limpiar el valor del input para que el usuario seleccione otro archivo. */
    165           input.value = "";
    166         }
    167       }
    168     }
    169140  </script>
    170141</body>
Note: See TracChangeset for help on using the changeset viewer.