window.utils = {} window._DEFAULT_SAISON_ANNEE = '2024'; //window._PROXY_ALIAS = 'http://www.gestionsportive.ffhockey.org/ws/rest/'; window._PROXY_ALIAS = '/rest2/'; window._PROXY_ALIAS = 'https://intranetfederal.ffhockey.org/ws/rest/'; window._PROXY_ALIAS = '/rest/'; // EN PROD : /rest2/ // EN DEV : http://www.gestionsportive.ffhockey.org/ws/rest/ window._WDSL_NAMESPACE_PREFIX = 'http://www.gestionsportive.ffhockey.org/ws/rest/'; console.log('utils.js:window._DEFAULT_SAISON_ANNEE:',window._DEFAULT_SAISON_ANNEE); /* * WEB SERVICE STRUCTURES : */ utils.structures = {}; utils.structures.datas = {}; utils.structures.restRequest = function(data, url, callback) { $.ajax({ url: window._PROXY_ALIAS +'Structures/' + url, data: data, success: function (response) { var bodyJson = response.Response; if ( callback != undefined && typeof callback == 'function') { callback(bodyJson); } }, error: function (response) { console.error(response + ':' + url); } }); }; utils.structures.listerClubs = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var CodeDepartement = params != undefined && params.CodeDepartement != undefined ? params.CodeDepartement : '' var CodeRegion = params != undefined && params.CodeRegion != undefined ? params.CodeRegion : '' var StructureNom = params != undefined && params.StructureNom != undefined ? params.StructureNom : '' var str = { SaisonAnnee: SaisonAnnee, CodeDepartement: CodeDepartement, CodeRegion: CodeRegion, StructureNom: StructureNom }; console.log('utils.js:utils.structures.listerClubs:SaisonAnnee',SaisonAnnee); utils.structures.restRequest(str, 'ListerClubs', function(bodyJson) { var list; if(bodyJson) list = bodyJson.StructuresArray; if ( callback != undefined && typeof callback == 'function') { callback(list); } }); }; utils.structures.listerComitesDepartementaux = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var CodeRegion = params != undefined && params.CodeRegion != undefined ? params.CodeRegion : '' var str = { SaisonAnnee: SaisonAnnee, CodeRegion: CodeRegion }; utils.structures.restRequest(str, 'ListerComitesDepartementaux', function(bodyJson) { var list; if(bodyJson) list = bodyJson.StructuresArray; if ( callback != undefined && typeof callback == 'function') { callback(list); } }); }; utils.structures.listerComitesRegionaux = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var str = { SaisonAnnee: SaisonAnnee }; utils.structures.restRequest(str, 'ListerComitesRegionaux', function(bodyJson) { var list; if(bodyJson) list = bodyJson.StructuresArray; if ( callback != undefined && typeof callback == 'function') { callback(list); } }); }; /* * WEB SERVICE CHAMPIONNATS : */ utils.championnats = {}; utils.championnats.restRequest = function(data, url, callback) { $.ajax({ url: window._PROXY_ALIAS + 'Championnats/' + url, data: data, success: function (response) { var bodyJson = response.Response; if ( callback != undefined && typeof callback == 'function') { callback(bodyJson); } }, error: function (response) { console.error(response + ': ', url); } }); }; // ex : utils.listerChampionnatsRequest({}, function(body){console.log(body)}); utils.championnats.listerChampionnatsRequest = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var ManifSexe = params != undefined && params.ManifSexe != undefined ? params.ManifSexe : '' var DiscCode = params != undefined && params.DiscCode != undefined ? params.DiscCode : '' var DiscLib = params != undefined && params.DiscLib != undefined ? params.DiscLib : '' var StructureCode = params != undefined && params.StructureCode != undefined ? params.StructureCode : '' var StructureId = params != undefined && params.StructureId != undefined ? params.StructureId : '' var StructureOrgCode = params != undefined && params.StructureOrgCode != undefined ? params.StructureOrgCode : '' var ZoneId = params != undefined && params.ZoneId != undefined ? params.ZoneId : '' var str = { SaisonAnnee: SaisonAnnee, StructureCode: StructureCode, StructureId: StructureId, StructureOrgCode: StructureOrgCode, ZoneId: ZoneId, DisciplineCode: DiscCode, ManifSexe: ManifSexe }; utils.championnats.restRequest(str, 'ListerChamps', function(bodyJson) { var list; if(bodyJson) list = bodyJson.ChampsArray; if ( callback != undefined && typeof callback == 'function') { callback(list); } }); }; // ex : utils.resultatsEpreuvesRequest({ManifId:1946}, function(body){console.log(body)}); utils.championnats.resultatsEpreuvesRequest = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var ManifId = params != undefined && params.ManifId != undefined ? params.ManifId : '' var PhaseId = params != undefined && params.PhaseId != undefined ? params.PhaseId : '' var PouleId = params != undefined && params.PouleId != undefined ? params.PouleId : '' var TournId = params != undefined && params.TournId != undefined ? params.TournId : '' var JourId = params != undefined && params.JourId != undefined ? params.JourId : '' var StructureCodeParticipante = params != undefined && params.StructureCodeParticipante != undefined ? params.StructureCodeParticipante : '' var EqpId = params != undefined && params.EqpId != undefined ? params.EqpId : '' var EqpIdDomicile = params != undefined && params.EqpIdDomicile != undefined ? params.EqpIdDomicile : '' var StructureCodeDomicile = params != undefined && params.StructureCodeDomicile != undefined ? params.StructureCodeDomicile : '' var EqpIdVisiteurs = params != undefined && params.EqpIdVisiteurs != undefined ? params.EqpIdVisiteurs : '' var StructureCodeVisiteurs = params != undefined && params.StructureCodeVisiteurs != undefined ? params.StructureCodeVisiteurs : '' // var DateDebut = params != undefined && params.DateDebut != undefined ? params.DateDebut : '' var str = { SaisonAnnee : SaisonAnnee, ManifId : ManifId, PhaseId : PhaseId, PouleId : PouleId, TournId : TournId, JourId: JourId, StructureCodeParticipante : StructureCodeParticipante, EqpId : EqpId, EqpIdDomicile : EqpIdDomicile, StructureCodeDomicile : StructureCodeDomicile, EqpIdVisiteurs : EqpIdVisiteurs, StructureCodeVisiteurs : StructureCodeVisiteurs }; utils.championnats.restRequest(str, 'ListerRencontres', function(bodyJson) { var obj = bodyJson.RencontresArray; if ( callback != undefined && typeof callback == 'function') { callback(obj); } }); } // ex : utils.classementEquipesRequest({ManifId:1946, PouleId:2669}, function(body){console.log(body)}); // Classement d'une poule utils.championnats.classementEquipesRequest = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var PouleId = params != undefined && params.PouleId != undefined ? params.PouleId : '' var str ={ SaisonAnnee: SaisonAnnee, PouleId: PouleId }; utils.championnats.restRequest(str, 'ClassementEquipes', function(bodyJson) { var list; if(bodyJson) list = bodyJson.Classement.ClassmentLignes; if ( callback != undefined && typeof callback == 'function') { callback(list); } }); }; // ex : utils.classementButeursRequest({ManifId:1946}, function(body){console.log(body)}); // Classement des buteurs d'une poule utils.championnats.classementButeursRequest = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var PouleId = params != undefined && params.PouleId != undefined ? params.PouleId : '' var str ={ SaisonAnnee: SaisonAnnee, PouleId: PouleId }; utils.championnats.restRequest(str, 'ClassementButeurs', function(bodyJson) { var list = null; if(bodyJson){ list = bodyJson.ClassementButeurs.ClassmentButeursLignes; } if ( callback != undefined && typeof callback == 'function') { callback(list); } }); }; // FeuilleDeMatch HTML d'une phase utils.championnats.getRencFeuilleMatch = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var RencId = params != undefined && params.RencId != undefined ? params.RencId : '' var str ={ SaisonAnnee: SaisonAnnee, RencId: RencId }; utils.championnats.restRequest(str, 'FeuilleDeMatchHTML', function(bodyJson) { var list = bodyJson.RenduHTML; if ( callback != undefined && typeof callback == 'function') { callback(list); } }); }; // Liste les championnats utils.championnats.getRencOfficiels = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var RencId = params != undefined && params.RencId != undefined ? params.RencId : '' var ManifId = params != undefined && params.ManifId != undefined ? params.ManifId : '' var PersonneId = params != undefined && params.PersonneId != undefined ? params.PersonneId : '' var LicenceCode = params != undefined && params.LicenceCode != undefined ? params.LicenceCode : '' var str ={ SaisonAnnee: SaisonAnnee, RencId: RencId, ManifId: ManifId, PersonneId: PersonneId, LicenceCode: LicenceCode }; utils.championnats.restRequest(str, 'ListerOfficiels', function(bodyJson) { var list = null; if(bodyJson){ list = bodyJson.OfficielsArray; } if ( callback != undefined && typeof callback == 'function') { callback(list); } }); }; // Au moins 1 paramètre en plus de la saison utils.championnats.getModeleManif = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var ManifId = params != undefined && params.ManifId != undefined ? params.ManifId : '' var RencId = params != undefined && params.RencId != undefined ? params.RencId : '' var str = { SaisonAnnee: SaisonAnnee, ManifId : ManifId, RencId : RencId }; utils.championnats.restRequest(str, 'ChampModele', function(bodyJson) { var res = bodyJson; if ( callback != undefined && typeof callback == 'function') { callback(res); } }); }; utils.championnats.getDiscipline = function(params, callback) { var DisciplineCode = params != undefined && params.DisciplineCode != undefined ? params.DisciplineCode : '' var str = { DisciplineCode: DisciplineCode } utils.championnats.restRequest(str, 'Discipline', function(bodyJson) { var res = bodyJson; if ( callback != undefined && typeof callback == 'function') { callback(res); } }); }; // Liste les phases d'un championnat utils.championnats.listerPhases = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var ManifId = params != undefined && params.ManifId != undefined ? params.ManifId : '' var str = { SaisonAnnee: SaisonAnnee, ManifId : ManifId, } utils.championnats.restRequest(str, 'ListerPhases', function(bodyJson) { var res = bodyJson.PhasesArray; if ( callback != undefined && typeof callback == 'function') { callback(res); } }); }; // Liste les poules d'une phase, d'un championnat utils.championnats.listerPoules = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var ManifId = params != undefined && params.ManifId != undefined ? params.ManifId : '' var PhaseId = params != undefined && params.PhaseId != undefined ? params.PhaseId : '' var str = { SaisonAnnee: SaisonAnnee, ManifId: ManifId, PhaseId: PhaseId }; utils.championnats.restRequest(str, 'ListerPoules', function(bodyJson) { var list; if(bodyJson) list = bodyJson.PoulesArray; if ( callback != undefined && typeof callback == 'function') { callback(list); } }); }; // Liste les Tournois d'une poule, d'une phase, d'un championnat. Au moins un paramètre est obligatoire utils.championnats.listerTournois = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var ManifId = params != undefined && params.ManifId != undefined ? params.ManifId : '' var PhaseId = params != undefined && params.PhaseId != undefined ? params.PhaseId : '' var PouleId = params != undefined && params.PouleId != undefined ? params.PouleId : '' var str = { SaisonAnnee: SaisonAnnee, ManifId: ManifId, PhaseId: PhaseId, PouleId: PouleId }; utils.championnats.restRequest(str, 'ListerTournois', function(bodyJson) { var list; if(bodyJson) list = bodyJson.TournoisArray; if ( callback != undefined && typeof callback == 'function') { callback(list); } }); }; // Liste les journees d'une poule, d'un tournoi. Au moins un paramètre est obligatoire utils.championnats.listerJournees = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var PouleId = params != undefined && params.PouleId != undefined ? params.PouleId : '' var TournId = params != undefined && params.TournId != undefined ? params.TournId : '' var str = { SaisonAnnee: SaisonAnnee, PouleId: PouleId, TournId: TournId }; utils.championnats.restRequest(str, 'ListerJournees', function(bodyJson) { var list; if(bodyJson) list = bodyJson.JourneesArray; if ( callback != undefined && typeof callback == 'function') { callback(list); } }); }; // Liste les rencontres d'une journees d'une poule, d'un tournoi, d'une journée, d'une manifestation, d'une équipe. Au moins un paramètre est obligatoire utils.championnats.listerRencontres = function(params, callback) { var SaisonAnnee = params != undefined && params.SaisonAnnee != undefined ? params.SaisonAnnee : _DEFAULT_SAISON_ANNEE var ManifId = params != undefined && params.ManifId != undefined ? params.ManifId : '' var PhaseId = params != undefined && params.PhaseId != undefined ? params.PhaseId : '' var PouleId = params != undefined && params.PouleId != undefined ? params.PouleId : '' var TournId = params != undefined && params.TournId != undefined ? params.TournId : '' var JourId = params != undefined && params.JourId != undefined ? params.JourId : '' var StructureCodeParticipante = params != undefined && params.StructureCodeParticipante != undefined ? params.StructureCodeParticipante : '' var EqpId = params != undefined && params.EqpId != undefined ? params.EqpId : '' var EqpIdDomicile = params != undefined && params.EqpIdDomicile != undefined ? params.EqpIdDomicile : '' var StructureCodeDomicile = params != undefined && params.StructureCodeDomicile != undefined ? params.StructureCodeDomicile : '' var EqpIdVisiteurs = params != undefined && params.EqpIdVisiteurs != undefined ? params.EqpIdVisiteurs : '' var StructureCodeVisiteurs = params != undefined && params.StructureCodeVisiteurs != undefined ? params.StructureCodeVisiteurs : '' var StructureCodeTerrain = params != undefined && params.StructureCodeTerrain != undefined ? params.StructureCodeTerrain : '' var StructureCodeLieuPratique = params != undefined && params.StructureCodeLieuPratique != undefined ? params.StructureCodeLieuPratique : '' // var DateDebut = params != undefined && params.DateDebut != undefined ? params.DateDebut : '' var str = { SaisonAnnee : SaisonAnnee, ManifId : ManifId, PhaseId : PhaseId, PouleId : PouleId, TournId : TournId, JourId: JourId, StructureCodeParticipante : StructureCodeParticipante, EqpId : EqpId, EqpIdDomicile : EqpIdDomicile, StructureCodeDomicile : StructureCodeDomicile, EqpIdVisiteurs : EqpIdVisiteurs, StructureCodeVisiteurs : StructureCodeVisiteurs, StructureCodeTerrain : StructureCodeTerrain, StructureCodeLieuPratique : StructureCodeLieuPratique }; utils.championnats.restRequest(str, 'ListerRencontres', function(bodyJson) { var obj; if(bodyJson) obj = bodyJson.RencontresArray; if ( callback != undefined && typeof callback == 'function') { callback(obj); } }); } // Récupère la saison actuelle utils.championnats.saisonEnCours = function(params, callback) { var str = {}; utils.championnats.restRequest(str, 'SaisonEnCours', function(bodyJson) { if ( callback != undefined && typeof callback == 'function') { console.log('utils.js:saisonEnCours:bodyJson',bodyJson); console.log('utils.js:saisonEnCours:bodyJson.SaisonAnnee',bodyJson.SaisonAnnee); console.log('utils.js:saisonEnCours:bodyJson.SaisonLibelle',bodyJson.SaisonLibelle); bodyJson.SaisonAnnee = '2024'; bodyJson.SaisonLibelle = '2021/2022'; console.log('utils.js:saisonEnCours:bodyJson',bodyJson); console.log('utils.js:saisonEnCours:bodyJson.SaisonAnnee',bodyJson.SaisonAnnee); console.log('utils.js:saisonEnCours:bodyJson.SaisonLibelle',bodyJson.SaisonLibelle); callback(bodyJson); } }); }; /* utils.listerChampionnatsRequest({}, function(body){ $.each(body, function(idx, item) { }); }); */ /************************************* * METHODES UTILITAIRES DIVERSES *************************************/ /** * @desc Réalise le formatage d'un objet de type Date * @param Date date - Date à formater * @return string - Date formatée */ utils.getFormatedDate = function(date) { if (date !== undefined){ return $.datepicker.formatDate('DD dd MM yy', new Date(date)); }else{ return "-"; } }; /** * @desc Réalise le formatage d'une date au format FR dd/mm/yyyy hh:MM * @param String date * @return string - Date formatée (ex : 12/08/2014) */ utils.getSmallFormatedDate = function(date) { if (date !== undefined){ return $.datepicker.formatDate('dd/mm/yy', utils.getDateFromISO(date)); }else{ return "-"; } }; /** * @desc Permet de convertir un objet de type String en un objet de type Date * @param String date - Date à formater (yyyy-mm-dd hh:MM:ss) * @return Date - Date formatée */ utils.getDateFromISO = function (isoDateString) { if (isoDateString !== undefined && isoDateString != null){ var parts = isoDateString.match(/\d+/g); //var isoTime = Date.UTC(parts[0], parts[1]-1, parts[2], parts[3], parts[4], parts[5]); //var isoDate = new Date(isoTime); var isoDate = new Date(parts[0],parts[1]-1,parts[2],parts[3], parts[4]); return isoDate; } return null; } /** * @desc Permet d'obtenir l'heure à partir d'un String date * @param String date - Date à formater (yyyy-mm-dd hh:MM:ss) * @return string - Heure formatée */ utils.getFormattedHoursFromISO = function (isoDateString) { if (isoDateString !== undefined){ var parts = isoDateString.match(/\d+/g); if (parts != null && parts.length >= 5) { //var isoTime = Date.UTC(parts[0], parts[1] - 1, parts[2], parts[3], parts[4], parts[5]); return parts[3]+ ":" + parts[4]; } } return "-"; } utils.nullInt = function(value) { if (value !== undefined && value !== null){ return value; }else{ return "  "; } } /** * @desc Réalise le contrôle d'un flag permettant de déterminer un condition de visibilité d'un élément porteur * @param string flag - Chaîne de caractères représentant la valeur booléenne à contrôler * @return bool - Résultante du contrôle (vrai par défaut pour ne pas bloquer un élément ne disposant pas du flag) */ utils.IsVisible = function(flag) { if(flag !== undefined) { if(flag.toUpperCase() == "OUI" || flag.toUpperCase() == "O" || flag.toUpperCase() == "YES" || flag.toUpperCase() == "Y"){ return true; }else if(flag.toUpperCase() == "NON" || flag.toUpperCase() == "N" || flag.toUpperCase() == "NO"){ return false; } }else { return true; } } // Use for ModeleManif serialize object utils.unserialize = function (data) { // discuss at: http://phpjs.org/functions/unserialize/ var that = this, utf8Overhead = function(chr) { // http://phpjs.org/functions/unserialize:571#comment_95906 var code = chr.charCodeAt(0); if (code < 0x0080) { return 0; } if (code < 0x0800) { return 1; } return 2; }; error = function(type, msg, filename, line) { throw new that.window[type](msg, filename, line); }; read_until = function(data, offset, stopchr) { var i = 2, buf = [], chr = data.slice(offset, offset + 1); while (chr != stopchr) { if ((i + offset) > data.length) { error('Error', 'Invalid'); } buf.push(chr); chr = data.slice(offset + (i - 1), offset + i); i += 1; } return [buf.length, buf.join('')]; }; read_chrs = function(data, offset, length) { var i, chr, buf; buf = []; for (i = 0; i < length; i++) { chr = data.slice(offset + (i - 1), offset + i); buf.push(chr); length -= utf8Overhead(chr); } return [buf.length, buf.join('')]; }; _unserialize = function(data, offset) { var dtype, dataoffset, keyandchrs, keys, contig, length, array, readdata, readData, ccount, stringlength, i, key, kprops, kchrs, vprops, vchrs, value, chrs = 0, typeconvert = function(x) { return x; }; if (!offset) { offset = 0; } dtype = (data.slice(offset, offset + 1)) .toLowerCase(); dataoffset = offset + 2; switch (dtype) { case 'i': typeconvert = function(x) { return parseInt(x, 10); }; readData = read_until(data, dataoffset, ';'); chrs = readData[0]; readdata = readData[1]; dataoffset += chrs + 1; break; case 'b': typeconvert = function(x) { return parseInt(x, 10) !== 0; }; readData = read_until(data, dataoffset, ';'); chrs = readData[0]; readdata = readData[1]; dataoffset += chrs + 1; break; case 'd': typeconvert = function(x) { return parseFloat(x); }; readData = read_until(data, dataoffset, ';'); chrs = readData[0]; readdata = readData[1]; dataoffset += chrs + 1; break; case 'n': readdata = null; break; case 's': ccount = read_until(data, dataoffset, ':'); chrs = ccount[0]; stringlength = ccount[1]; dataoffset += chrs + 2; readData = read_chrs(data, dataoffset + 1, parseInt(stringlength, 10)); chrs = readData[0]; readdata = readData[1]; dataoffset += chrs + 2; if (chrs != parseInt(stringlength, 10) && chrs != readdata.length) { error('SyntaxError', 'String length mismatch'); } break; case 'a': readdata = {}; keyandchrs = read_until(data, dataoffset, ':'); chrs = keyandchrs[0]; keys = keyandchrs[1]; dataoffset += chrs + 2; length = parseInt(keys, 10); contig = true; for (i = 0; i < length; i++) { kprops = _unserialize(data, dataoffset); kchrs = kprops[1]; key = kprops[2]; dataoffset += kchrs; vprops = _unserialize(data, dataoffset); vchrs = vprops[1]; value = vprops[2]; dataoffset += vchrs; if (key !== i) contig = false; readdata[key] = value; } if (contig) { array = new Array(length); for (i = 0; i < length; i++) array[i] = readdata[i]; readdata = array; } dataoffset += 1; break; default: error('SyntaxError', 'Unknown / Unhandled data type(s): ' + dtype); break; } return [dtype, dataoffset - offset, typeconvert(readdata)]; }; return _unserialize((data + ''), 0)[2]; };