1const CONST_url_activitats_img = '/images/activitats/A-'; 2const CONST_url_cicles_img = '/images/cicles/C-'; 3const CONST_api_web = '/apiweb/'; 4const CONST_url_front_img = '/WebFiles/Imatges/Nodes/'; 5 6// CURSOS 7 8const CONST_RESTRINGIT_EXCEL = '1'; 9const CONST_RESTRINGIT_NOMES_UNA = '2'; 10const CONST_RESTRINGIT_NOMES_UN_COP = '3'; 11 12// Matricules 13 14const CONST_PAGAMENT_CAP = '0'; 15const CONST_PAGAMENT_METALIC = '21'; 16const CONST_PAGAMENT_TARGETA= '20'; 17const CONST_PAGAMENT_TELEFON = '23'; 18const CONST_PAGAMENT_TRANSFERENCIA = '24'; 19const CONST_PAGAMENT_DOMICILIACIO = '33'; 20const CONST_PAGAMENT_CODI_DE_BARRES = '34'; 21const CONST_PAGAMENT_RESERVA = '35'; 22const CONST_PAGAMENT_LLISTA_ESPERA = '36'; 23const CONST_PAGAMENT_INVITACIO = '60'; 24const CONST_PAGAMENT_DATAFON = '61'; 25 26const CONST_ESTAT_LLISTA_ESPERA = '14'; 27 28var normalize = (function() { 29 var from = "ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃãà áäâèéëêìÃïîòóöôùúüûÃñÃç.", 30 to = "AAAAAEEEEIIIIOOOOUUUUaaaaaeeeeiiiioooouuuunncc_", 31 mapping = {}; 32 33 for(var i = 0, j = from.length; i < j; i++ ) 34 mapping[ from.charAt( i ) ] = to.charAt( i ); 35 36 return function( str ) { 37 var ret = []; 38 for( var i = 0, j = str.length; i < j; i++ ) { 39 var c = str.charAt( i ); 40 if( mapping.hasOwnProperty( str.charAt( i ) ) ) 41 ret.push( mapping[ c ] ); 42 else 43 ret.push( c ); 44 } 45 return ret.join( '' ).replace( /[^-A-Za-z0-9]+/g, '-' ).toLowerCase(); 46 } 47 48 })(); 49 50function EsCapDeSetmana( ObjecteData ) { 51 const dt = new Date(ObjecteData.any, (ObjecteData.mes - 1), ObjecteData.dia, 12, 00,00); 52 return ( dt.getDay() == 6 || dt.getDay() == 0 ); 53} 54 55// Objecte data el retorna la funció ConvertirData(Data, 'Object') 56function DiaSetmana( ObjecteData ){ 57 var dias=["diumenge", "dilluns", "dimarts", "dimecres", "dijous", "divendres", "dissabte"]; 58 var dt = new Date(ObjecteData.any, (ObjecteData.mes - 1), ObjecteData.dia, 12, 00,00); 59 return dias[dt.getUTCDay()]; 60}; 61 62// Objecte data el retorna la funció ConvertirData(Data, 'Object') 63function MesNom( ObjecteData , $NomesMes = false){ 64 let mesos=["de gener", "de febrer", "de març", "d'abril", "de maig", "de juny", "de juliol", "d'agost", "de setembre", "d'octubre", "de novembre", "de desembre"]; 65 let mesosSols = ["gener", "febrer", "març", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre", "desembre"]; 66 let RespostaMesos = []; 67 68 if($NomesMes) RespostaMesos = mesosSols[(parseInt(ObjecteData.mes) - 1)]; 69 else RespostaMesos = mesos[(parseInt(ObjecteData.mes) - 1)]; 70 return RespostaMesos; 71}; 72 73
74function ConvertirData( DataBDD, ReturnType = 'A' ) { 75 const DataArray = DataBDD.split('-'); 76 const Any = DataArray[0]; 77 const Mes = DataArray[1]; 78 const Dia = DataArray[2]; 79 80 if(ReturnType == 'A') return DataArray; 81 else if(ReturnType == 'TDMA') { 82 return Dia + '/' + Mes + '/' + Any; 83 } else if(ReturnType == 'TDM') { 84 return Dia + '/' + Mes; 85 } else if(ReturnType == 'TD') { 86 return Dia; 87 } else if(ReturnType == 'Object') { 88 return {'dia': Dia, 'mes': Mes, 'any': Any }; 89 } else if(ReturnType == 'Javascript') { 90 return new Date(Any, (Mes - 1), Dia, 0, 0, 0); 91 } else if(ReturnType == 'Text') { 92 return String(Dia) + ' ' + MesNom({'dia': Dia, 'mes': Mes, 'any': Any }); 93 } 94 95 96} 97 98function ConvertirHora( HoraBDD , ReturnType = 'THM' ) { 99 const HoraArray = HoraBDD.split(':'); 100 101 if( ReturnType == 'THM' ){ 102 return HoraArray[0] + '.' + HoraArray[1]; 103 } 104} 105 106function ValidaTelefon(valor) { 107 return (/^([0-9]+){9}$/).test(valor); 108} 109 110function ValidaEmail(valor) { 111 const test = /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i; 112 return test.test(valor); 113 } 114 115 116function ValidaDNI(value, NoDni = false) { 117 118 // Si no tenim DNI, enviem el passaport I VALIDEM automà ticament amb més de 8 carà cters 119 if (NoDni && value.length > 8) return true; 120 121 var validChars = 'TRWAGMYFPDXBNJZSQVHLCKET'; 122 var nifRexp = /^[0-9]{8}[TRWAGMYFPDXBNJZSQVHLCKET]{1}$/i; 123 var nieRexp = /^[XYZ]{1}[0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKET]{1}$/i; 124 var str = value.toString().toUpperCase(); 125 126 // Si el format no és nif o nie, pot ser cif... sinó és cif retornem false 127 if (!nifRexp.test(str) && !nieRexp.test(str)) return ValidaCIF(str); 128 129 var nie = str 130 .replace(/^[X]/, '0') 131 .replace(/^[Y]/, '1') 132 .replace(/^[Z]/, '2'); 133 134 var letter = str.substr(-1); 135 var charIndex = parseInt(nie.substr(0, 8)) % 23; 136 137 if (validChars.charAt(charIndex) === letter) return true; 138 else return false; 139 140 } 141 142 143 function ValidaCIF( cif ) { 144 145 var CIF_REGEX = /^([ABCDEFGHJKLMNPQRSUVW])(\d{7})([0-9A-J])$/; 146 var match = cif.match( CIF_REGEX ); 147 148 if( !match ) return false; 149 150 var letter = match[1], 151 number = match[2], 152 control = match[3]; 153 154 var even_sum = 0; 155 var odd_sum = 0; 156 var n; 157 158 for ( var i = 0; i < number.length; i++) { 159 n = parseInt( number[i], 10 ); 160 161 // Odd positions (Even index equals to odd position. i=0 equals first position) 162 if ( i % 2 === 0 ) { 163 // Odd positions are multiplied first. 164 n *= 2; 165 166 // If the multiplication is bigger than 10 we need to adjust 167 odd_sum += n < 10 ? n : n - 9; 168 169 // Even positions 170 // Just sum them 171 } else { 172 even_sum += n; 173 } 174 175 } 176 177 var control_digit = (10 - (even_sum + odd_sum).toString().substr(-1) ); 178 var control_letter = 'JABCDEFGHI'.substr( control_digit, 1 ); 179 180 // Control must be a digit 181 if ( letter.match( /[ABEH]/ ) ) { 182 return control == control_digit; 183 184 // Control must be a letter 185 } else if ( letter.match( /[KPQS]/ ) ) { 186 return control == control_letter; 187 188 // Can be either 189 } else { 190 return control == control_digit || control == control_letter; 191 } 192 193 } 194 195// Horaris[] = { DIA, HORA, ESPAI } 196function ResumDates(Horaris){ 197 198 let ResumDates = ''; 199 let $PrimerDia = ''; 200 let $UltimDia = ''; 201 let $HoraInici = ''; 202 let $Espai = ''; 203 204 Horaris.forEach( H => { 205 $PrimerDia = ( $PrimerDia.length == 0 ) ? H.DIA : $PrimerDia ; 206 $HoraInici = ( $HoraInici.length == 0 ) ? H.HORA : $HoraInici ; 207 $Espai = ( $Espai.length == 0 ) ? H.ESPAI : $Espai ; 208 $UltimDia = H.DIA; 209 }); 210 211 //Miro quin dia de la setmana és 212 let PrimerDiaO = ConvertirData( $PrimerDia , 'Object'); 213 let UltimDiaO = ConvertirData( $UltimDia, 'Object'); 214 let DiaSetmanaNom = DiaSetmana( PrimerDiaO ); 215 216 if($PrimerDia == $UltimDia ) { ResumDates = 'El ' + DiaSetmanaNom + ' ' + PrimerDiaO.dia + ' ' + MesNom(PrimerDiaO) + ' de ' + PrimerDiaO.any } 217 else { ResumDates = 'Del ' + PrimerDiaO.dia + ' de ' + MesNom(PrimerDiaO) + ' ' + PrimerDiaO.any + ' al ' + UltimDiaO.dia + ' ' + MesNom(UltimDiaO) + ' de ' + UltimDiaO.any } 218 219 ResumDates = '<p>' + ResumDates + '</p><p>
219' + ConvertirHora($HoraInici) + ' h - ' + $Espai + '</p>'; 220 221 return ResumDates; 222} 223 224/********************************* */ 225/*** GESTIà D'ERRORS ************* */ 226 227// Gestió d'errors als formularis 228function const_and_helpers_iniciaErrors(form) { 229 for(O of Object.keys(form)) { 230 form[O] = true; 231 } 232 return form; 233} 234 235function const_and_helpers_isFormValid(form, field) { 236 for( key of Object.keys(form)) { 237 if(!form[key]) { return false; } 238 } 239 return true; 240}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.