Séparation des fonctions principales/annexes
This commit is contained in:
		
							
								
								
									
										206
									
								
								scripts/fonctions_annexes.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										206
									
								
								scripts/fonctions_annexes.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,206 @@ | ||||
| /* Fonctions Annexes */ | ||||
|  | ||||
| // Vérifie si une valeur est vide | ||||
| function isEmptyValue(value) { | ||||
|     if (value === '' || value === null || value === undefined) { | ||||
|         return true | ||||
|     }  | ||||
|     else { | ||||
|         return false | ||||
|     } | ||||
| } | ||||
|  | ||||
| // Formate les nombres avec des espaces (ex : 76120 = 76 120) | ||||
| function formatNumberResult(num) { | ||||
|     if (!isNaN(num)) | ||||
|     { | ||||
|         if(num >= 1000) | ||||
|         { | ||||
|             return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1 '); | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|             return num; | ||||
|         } | ||||
|     } | ||||
|     else  | ||||
|     { | ||||
|         return messageError; | ||||
|     } | ||||
| } | ||||
|  | ||||
| // Convertit les puissances de 10 en nombre (ex: 1e+20 = 100 000 000 000 000 000 000), ne peut pas dépasser 1e+20 (21 ne fonctionne pas) | ||||
| function convertPuissanceToNumber(num) { | ||||
|     if(!isNaN(num)) | ||||
|     { | ||||
|         let number = formatNumberResult((num).toFixed(0)); | ||||
|         return number; | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         return messageError; | ||||
|     } | ||||
| } | ||||
|  | ||||
| // Majuscule à la 1ère lettre d'une string | ||||
| function capitalize (s) {  | ||||
|     if (typeof s !== 'string') return '' | ||||
|     return s.charAt(0).toUpperCase() + s.slice(1) | ||||
| } | ||||
|  | ||||
| // Donne la date et l'heure selon l'UTC (Universal Time Coordinated) | ||||
| function dateTimeUTC(utc) { | ||||
|     if(typeof utc === 'string' && utc.length >= 1 && utc[0] === '-' || '0' || '+' || !isNaN(parseFloat(utc[0]))) | ||||
|     {    | ||||
|         if (utc[0] === '0' && utc.length === 1) | ||||
|         {    | ||||
|             let enteredOffset = 0; | ||||
|             return showDateTime(enteredOffset); | ||||
|         } | ||||
|         else if (utc[0] === '+' || !isNaN(parseFloat(utc[0]))) | ||||
|         { | ||||
|             if (utc.length === 2 && utc[0] === '+') | ||||
|             { | ||||
|                 // Entered offset | ||||
|                 let enteredOffset = parseFloat(utc[1])*60; | ||||
|                 timeNow.setMinutes(timeNow.getMinutes() + enteredOffset); | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|             else if (utc.length === 3 && utc[0] === '+') | ||||
|             { | ||||
|                 // Entered offset | ||||
|                 let enteredOffset = parseFloat(utc[1] + utc[2])*60; | ||||
|                 timeNow.setMinutes(timeNow.getMinutes() + enteredOffset); | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|             else if (utc.length === 1 && !isNaN(parseFloat(utc[0]))) | ||||
|             { | ||||
|                 // Entered offset | ||||
|                 let enteredOffset = parseFloat(utc[0])*60; | ||||
|                 timeNow.setMinutes(timeNow.getMinutes() + enteredOffset); | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|             else if (utc.length === 2 && !isNaN(parseFloat(utc[0]))) | ||||
|             { | ||||
|                 // Entered offset | ||||
|                 let enteredOffset = parseFloat(utc[0] + utc[1])*60; | ||||
|                 timeNow.setMinutes(timeNow.getMinutes() + enteredOffset); | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 let enteredOffset = 0; | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|         } | ||||
|         else if (utc[0] === '-') | ||||
|         { | ||||
|             if (utc.length === 2 && utc[0] === '-') | ||||
|             { | ||||
|                 // Entered offset | ||||
|                 let enteredOffset = - parseFloat(utc[1])*60; | ||||
|                 timeNow.setMinutes(timeNow.getMinutes() + enteredOffset);    | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|             else if (utc.length === 3 && utc[0] === '-') | ||||
|             { | ||||
|                 // Entered offset | ||||
|                 let enteredOffset = - parseFloat(utc[1] + utc[2])*60; | ||||
|                 timeNow.setMinutes(timeNow.getMinutes() + enteredOffset);    | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 let enteredOffset = 0; | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|         } | ||||
|         else  | ||||
|         { | ||||
|             let enteredOffset = 0; | ||||
|             return showDateTime(enteredOffset); | ||||
|         } | ||||
|     } | ||||
|     else if (utc === '' || !utc || utc === undefined) | ||||
|     { | ||||
|         utc = false; | ||||
|         let enteredOffset = 0; | ||||
|         return showDateTime(enteredOffset); | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         let enteredOffset = 0; | ||||
|         return showDateTime(enteredOffset); | ||||
|     } | ||||
| } | ||||
|  | ||||
| // Affiche la date et l'heure (format : dd/mm/yyyy - 00:00:00) | ||||
| function showDateTime(enteredOffset) { | ||||
|     year    = timeNow.getFullYear(); | ||||
|     month   = ('0'+(timeNow.getMonth()+1)).slice(-2); | ||||
|     day     = ('0'+timeNow.getDate()).slice(-2); | ||||
|     hour    = ('0'+timeNow.getHours()).slice(-2); | ||||
|     minute  = ('0'+timeNow.getMinutes()).slice(-2); | ||||
|     second  = ('0'+timeNow.getSeconds()).slice(-2); | ||||
|      | ||||
|     showDateTimeValue = day + "/" + month + "/" + year + " - " + hour + ":" + minute + ":" + second; | ||||
|     timeNow.setMinutes(timeNow.getMinutes() - enteredOffset) | ||||
|  | ||||
|     return showDateTimeValue; | ||||
| } | ||||
|  | ||||
| // Affiche l'heure en temps réel | ||||
| function realDateTime(id) | ||||
| { | ||||
|     realDateTimeNow = new Date; | ||||
|     year    = realDateTimeNow.getFullYear(); | ||||
|     month   = ('0'+(realDateTimeNow.getMonth()+1)).slice(-2); | ||||
|     day     = ('0'+realDateTimeNow.getDate()).slice(-2); | ||||
|     hour    = ('0'+realDateTimeNow.getHours()).slice(-2); | ||||
|     minute  = ('0'+realDateTimeNow.getMinutes()).slice(-2); | ||||
|     second  = ('0'+realDateTimeNow.getSeconds()).slice(-2); | ||||
|  | ||||
|     resultat = hour + ":" + minute + ":" + second; | ||||
|  | ||||
|     document.getElementById(id).innerHTML = resultat; | ||||
|     setTimeout('realDateTime("'+id+'");','1000'); | ||||
|     return true; | ||||
| } | ||||
|  | ||||
| // Récupére le décalage en secondes à partir de l'heure UTC grâce à l'API | ||||
| function timeZone(json) { | ||||
|     if(json.name === 'Moscou') // Il faut ajouter + 1h de décallage à Moscou | ||||
|     { | ||||
|         timeZoneValue = (json.timezone / 60 / 60) + 1; | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         timeZoneValue = json.timezone / 60 / 60; | ||||
|     } | ||||
|     let timeZoneStr = timeZoneValue.toString(); | ||||
|     return dateTimeUTC(timeZoneStr);  | ||||
| } | ||||
|  | ||||
| // Vérifie si une date est valide par rapport à la date d'aujourd'hui  | ||||
| function isValidDate(s) { | ||||
|  | ||||
|     // Date à vérifier  | ||||
|     let toVerifyDate = s.split('/'); | ||||
|     let splitedToVerifyDate = toVerifyDate[2] + '-' + (parseInt(toVerifyDate[1]) + 1) + '-' + toVerifyDate[0]; | ||||
|     let msToVerifyDate = Date.parse(splitedToVerifyDate); | ||||
|  | ||||
|     // Date courante | ||||
|     let currentDate = dateTimeUTC(0); | ||||
|     currentDate = currentDate.substr(0,10); | ||||
|     let currentDateSplited = currentDate.split('/'); | ||||
|     let currentDateFormat = currentDateSplited[2] + '-' + currentDateSplited[1] + '-' + currentDateSplited[0]; | ||||
|     let msCurrentDate = Date.parse(currentDateFormat); | ||||
|  | ||||
|     if(msToVerifyDate <= msCurrentDate) { | ||||
|         return true; | ||||
|     } else if(msToVerifyDate > msCurrentDate) { | ||||
|         return false; | ||||
|     } else { | ||||
|         return messageError; | ||||
|     } | ||||
| } | ||||
| @@ -1,4 +1,3 @@ | ||||
| /////////////////////////////////////////////////////////////////
 | ||||
| /* Fonctions Principales */ | ||||
| 
 | ||||
| // Requête à l'API openweathermap.org
 | ||||
| @@ -261,212 +260,4 @@ function binToUtf8(s){ | ||||
|     } catch (error) { | ||||
|         return s; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| /////////////////////////////////////////////////////////////////
 | ||||
| /* Fonctions Annexes */ | ||||
| 
 | ||||
| // Vérifie si une valeur est vide
 | ||||
| function isEmptyValue(value) { | ||||
|     if (value === '' || value === null || value === undefined) { | ||||
|         return true | ||||
|     }  | ||||
|     else { | ||||
|         return false | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| // Formate les nombres avec des espaces (ex : 76120 = 76 120)
 | ||||
| function formatNumberResult(num) { | ||||
|     if (!isNaN(num)) | ||||
|     { | ||||
|         if(num >= 1000) | ||||
|         { | ||||
|             return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1 '); | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|             return num; | ||||
|         } | ||||
|     } | ||||
|     else  | ||||
|     { | ||||
|         return messageError; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| // Convertit les puissances de 10 en nombre (ex: 1e+20 = 100 000 000 000 000 000 000), ne peut pas dépasser 1e+20 (21 ne fonctionne pas)
 | ||||
| function convertPuissanceToNumber(num) { | ||||
|     if(!isNaN(num)) | ||||
|     { | ||||
|         let number = formatNumberResult((num).toFixed(0)); | ||||
|         return number; | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         return messageError; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| // Majuscule à la 1ère lettre d'une string
 | ||||
| function capitalize (s) {  | ||||
|     if (typeof s !== 'string') return '' | ||||
|     return s.charAt(0).toUpperCase() + s.slice(1) | ||||
| } | ||||
| 
 | ||||
| // Donne la date et l'heure selon l'UTC (Universal Time Coordinated)
 | ||||
| function dateTimeUTC(utc) { | ||||
|     if(typeof utc === 'string' && utc.length >= 1 && utc[0] === '-' || '0' || '+' || !isNaN(parseFloat(utc[0]))) | ||||
|     {    | ||||
|         if (utc[0] === '0' && utc.length === 1) | ||||
|         {    | ||||
|             let enteredOffset = 0; | ||||
|             return showDateTime(enteredOffset); | ||||
|         } | ||||
|         else if (utc[0] === '+' || !isNaN(parseFloat(utc[0]))) | ||||
|         { | ||||
|             if (utc.length === 2 && utc[0] === '+') | ||||
|             { | ||||
|                 // Entered offset
 | ||||
|                 let enteredOffset = parseFloat(utc[1])*60; | ||||
|                 timeNow.setMinutes(timeNow.getMinutes() + enteredOffset); | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|             else if (utc.length === 3 && utc[0] === '+') | ||||
|             { | ||||
|                 // Entered offset
 | ||||
|                 let enteredOffset = parseFloat(utc[1] + utc[2])*60; | ||||
|                 timeNow.setMinutes(timeNow.getMinutes() + enteredOffset); | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|             else if (utc.length === 1 && !isNaN(parseFloat(utc[0]))) | ||||
|             { | ||||
|                 // Entered offset
 | ||||
|                 let enteredOffset = parseFloat(utc[0])*60; | ||||
|                 timeNow.setMinutes(timeNow.getMinutes() + enteredOffset); | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|             else if (utc.length === 2 && !isNaN(parseFloat(utc[0]))) | ||||
|             { | ||||
|                 // Entered offset
 | ||||
|                 let enteredOffset = parseFloat(utc[0] + utc[1])*60; | ||||
|                 timeNow.setMinutes(timeNow.getMinutes() + enteredOffset); | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 let enteredOffset = 0; | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|         } | ||||
|         else if (utc[0] === '-') | ||||
|         { | ||||
|             if (utc.length === 2 && utc[0] === '-') | ||||
|             { | ||||
|                 // Entered offset
 | ||||
|                 let enteredOffset = - parseFloat(utc[1])*60; | ||||
|                 timeNow.setMinutes(timeNow.getMinutes() + enteredOffset);    | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|             else if (utc.length === 3 && utc[0] === '-') | ||||
|             { | ||||
|                 // Entered offset
 | ||||
|                 let enteredOffset = - parseFloat(utc[1] + utc[2])*60; | ||||
|                 timeNow.setMinutes(timeNow.getMinutes() + enteredOffset);    | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 let enteredOffset = 0; | ||||
|                 return showDateTime(enteredOffset); | ||||
|             } | ||||
|         } | ||||
|         else  | ||||
|         { | ||||
|             let enteredOffset = 0; | ||||
|             return showDateTime(enteredOffset); | ||||
|         } | ||||
|     } | ||||
|     else if (utc === '' || !utc || utc === undefined) | ||||
|     { | ||||
|         utc = false; | ||||
|         let enteredOffset = 0; | ||||
|         return showDateTime(enteredOffset); | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         let enteredOffset = 0; | ||||
|         return showDateTime(enteredOffset); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| // Affiche la date et l'heure (format : dd/mm/yyyy - 00:00:00)
 | ||||
| function showDateTime(enteredOffset) { | ||||
|     year    = timeNow.getFullYear(); | ||||
|     month   = ('0'+(timeNow.getMonth()+1)).slice(-2); | ||||
|     day     = ('0'+timeNow.getDate()).slice(-2); | ||||
|     hour    = ('0'+timeNow.getHours()).slice(-2); | ||||
|     minute  = ('0'+timeNow.getMinutes()).slice(-2); | ||||
|     second  = ('0'+timeNow.getSeconds()).slice(-2); | ||||
|      | ||||
|     showDateTimeValue = day + "/" + month + "/" + year + " - " + hour + ":" + minute + ":" + second; | ||||
|     timeNow.setMinutes(timeNow.getMinutes() - enteredOffset) | ||||
| 
 | ||||
|     return showDateTimeValue; | ||||
| } | ||||
| 
 | ||||
| // Affiche l'heure en temps réel
 | ||||
| function realDateTime(id) | ||||
| { | ||||
|     realDateTimeNow = new Date; | ||||
|     year    = realDateTimeNow.getFullYear(); | ||||
|     month   = ('0'+(realDateTimeNow.getMonth()+1)).slice(-2); | ||||
|     day     = ('0'+realDateTimeNow.getDate()).slice(-2); | ||||
|     hour    = ('0'+realDateTimeNow.getHours()).slice(-2); | ||||
|     minute  = ('0'+realDateTimeNow.getMinutes()).slice(-2); | ||||
|     second  = ('0'+realDateTimeNow.getSeconds()).slice(-2); | ||||
| 
 | ||||
|     resultat = hour + ":" + minute + ":" + second; | ||||
| 
 | ||||
|     document.getElementById(id).innerHTML = resultat; | ||||
|     setTimeout('realDateTime("'+id+'");','1000'); | ||||
|     return true; | ||||
| } | ||||
| 
 | ||||
| // Récupére le décalage en secondes à partir de l'heure UTC grâce à l'API
 | ||||
| function timeZone(json) { | ||||
|     if(json.name === 'Moscou') // Il faut ajouter + 1h de décallage à Moscou
 | ||||
|     { | ||||
|         timeZoneValue = (json.timezone / 60 / 60) + 1; | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         timeZoneValue = json.timezone / 60 / 60; | ||||
|     } | ||||
|     let timeZoneStr = timeZoneValue.toString(); | ||||
|     return dateTimeUTC(timeZoneStr);  | ||||
| } | ||||
| 
 | ||||
| // Vérifie si une date est valide par rapport à la date d'aujourd'hui 
 | ||||
| function isValidDate(s) { | ||||
| 
 | ||||
|     // Date à vérifier 
 | ||||
|     let toVerifyDate = s.split('/'); | ||||
|     let splitedToVerifyDate = toVerifyDate[2] + '-' + (parseInt(toVerifyDate[1]) + 1) + '-' + toVerifyDate[0]; | ||||
|     let msToVerifyDate = Date.parse(splitedToVerifyDate); | ||||
| 
 | ||||
|     // Date courante
 | ||||
|     let currentDate = dateTimeUTC(0); | ||||
|     currentDate = currentDate.substr(0,10); | ||||
|     let currentDateSplited = currentDate.split('/'); | ||||
|     let currentDateFormat = currentDateSplited[2] + '-' + currentDateSplited[1] + '-' + currentDateSplited[0]; | ||||
|     let msCurrentDate = Date.parse(currentDateFormat); | ||||
| 
 | ||||
|     if(msToVerifyDate <= msCurrentDate) { | ||||
|         return true; | ||||
|     } else if(msToVerifyDate > msCurrentDate) { | ||||
|         return false; | ||||
|     } else { | ||||
|         return messageError; | ||||
|     } | ||||
| } | ||||
| @@ -3,8 +3,11 @@ $(function () { | ||||
|     // Fichiers qui contient les variables  | ||||
|     $.getScript("/scripts/variables.js", function() { | ||||
|  | ||||
|     // Fichiers qui contient les fonctions | ||||
|     $.getScript("/scripts/fonctions.js", function() { | ||||
|     // Fichiers qui contient les fonctions annexes | ||||
|     $.getScript("/scripts/fonctions_annexes.js", function() { | ||||
|  | ||||
|     // Fichiers qui contient les fonctions principales | ||||
|     $.getScript("/scripts/fonctions_principales.js", function() { | ||||
|  | ||||
|     /* ÉXECUTION DES FONCTONS */ | ||||
|  | ||||
| @@ -236,7 +239,9 @@ $(function () { | ||||
|     todayHighlight: true | ||||
|     }) | ||||
|  | ||||
|     // Fin de l'import des fonctions | ||||
|     // Fin de l'import des fonctions principales | ||||
|     }); | ||||
|     // Fin de l'import des fonctions annexes | ||||
|     }); | ||||
|     // Fin de l'import des variables | ||||
|     }); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user