1 2var objTips = []; 3 4document.addEventListener("DOMContentLoaded", function(event) { 5 6 if(objTips.length == 0){ 7 return 8 } 9 10 var eventdb = new EventDb(login[0], login[1]); 11 eventdb.auth(); 12 13 objTips = objTips.reduce((acc, current) => { 14 const x = acc.find(item => item.id_shortcode === current.id_shortcode); 15 if (!x) { 16 return acc.concat([current]); 17 } else { 18 return acc; 19 } 20 }, []); 21 22 // console.log(objTips); 23 24 var result_type = []; 25 var result_campus = []; 26 var result_date = []; 27 28 var events_type = objTips.filter(event => event.tri == 'type'); 29 if( events_type.length > 0){ 30 result_type.push(events_type); 31 var type = GetEvents(result_type ); 32 NotCampus(type); 33 } 34 35 36 var events_campus = objTips.filter(event => event.tri == 'campus'); 37 if( events_campus.length > 0){ 38 result_campus.push(events_campus); 39 var campus = GetEvents(result_campus); 40 ifCampus(campus); 41 } 42 43 44 var events_date = objTips.filter(event => event.tri == 'date'); 45 if( events_date.length > 0){ 46 result_date.push(events_date); 47 var date = GetEvents(result_date); 48 NotCampus(date); 49 } 50 51 function GetEvents(result_event){ 52 // console.log('oijsdfroisjfvoi'); 53 // console.log(result_event); 54 55 56 var result_getevent = []; 57 58 for(var i = 0; i< result_event[0].length ; i++){ 59 var tri = result_event[0][i]; 60 var events = eventdb.getEvents(tri.total, tri.school, tri.campus, tri.types, tri.labels,[]) 61 62 //Si le tableau events est vide alors c'est que l'événement n'existe pas 63 // alors on lui stock uniquement l'id du shortcode 64 // console.log(events); 65 if(events.length == 0){ 66 events.id_shortcode = tri.id_shortcode; 67 events.noevent = tri.noevent; 68 events.slick = tri.slick; 69 }else{ 70 events[0].id_shortcode = tri.id_shortcode; 71 events[0].template = tri.template; 72 events[0].format_d = tri.format_date; 73 events[0].tri = tri.tri; 74 events[0].slick = tri.slick; 75 } 76 77 result_getevent.push(events); 78 result_getevent.sort(compare); 79 } 80 81 return result_getevent; 82 } 83 84 85 86 87 function NotCampus(result){ 88 89 // console.log(result); 90 91 for (i = 0; i < result.length ; i++) { 92 93 var content = ''; 94 95 // //Cette condition permet de continuer l'execution des shortcodes même lorsque l'evennement n'existe pas. 96 if(result[i].length == 0){ 97 98 var content = result[i]['noevent']; 99 100 if(result[i]['slick'] == null || result[i]['slick'] == '' || result[i]['slick'] == undefined){ 101 //â¬('.eventdb-'+ result[i]['id_shortcode'] ).append(content); 102 document.getElementsByClassName('eventdb-'+ result[i]['id_shortcode'])[0].innerHTML = content; 103 }else{ 104 document.getElementsByClassName(result[i]['slick'])[0].innerHTML = content; 105 // â¬('.'+ result[i]['slick']).append(content); 106 } 107 108 } 109 else if(result[i].length == 1){ 110 111 // fonction moment permet de formater la date 112 113 var date_start_format = moment(result[i][0]['start_date']).format(result[i][0]['format_d']); 114 var date_end_format = moment(result[i][0]['end_date']).format(result[i][0]['format_d']); 115 116 var template = result[i][0]['template']; 117 118 var type = ''; 119 var link = ''; 120 var link_ = ''; 121 var url_label = ''; 122 var date_between = ''; 123 124 125 if (result[i][0]['linkId'] != "") { 126 link_ = result[i][0]['link']['name'] + (result[i][0]['salesforce_campaign'] !== '' ? '?C
126ampaignId=' + result[i][0]['salesforce_campaign'] : ''); 127 link = "<a href=" + link_ + " target ='_blank'>" + result[i][0]['link_name'] + "</a>"; 128 url_label = '<a href="'+ link_ + '" target="_blank">' + result[i][0]['label']['name'] + '</a>'; 129 130 }else { 131 // console.log('linkID no'); 132 url_label = result[i][0]['label']['name']; 133 link = ""; 134 135 } 136 137 var email = ''; 138 if (result[i][0]['contact'] != '' || result[i][0]['contact'] != undefined ) { 139 email = '<a href="mailto:' + result[i][0]['contact'] + '">' + result[i][0]['contact'] + '</a>'; 140 } 141 142 if (result[i][0]['end_date'] != undefined) { 143 144 date_between = 'Du ' + date_start_format.toLowerCase() + ' au ' + date_end_format.toLowerCase(); 145 } else { 146 date_between = date_start_format.toLowerCase(); 147 } 148 149 150 if (result[i][0]['end_time'] != '' && result[i][0]['start_time'] != '') { 151 152 horaire = 'de ' + result[i][0]['start_time'] + ' à ' + result[i][0]['end_time']; 153 154 }else if (result[i][0]['start_time'] == '' && result[i][0]['end_time'] == '') { 155 156 horaire = ''; 157 } 158 else if(result[i][0]['start_time'] != '' && result[i][0]['end_time'] == ''){ 159 horaire = result[i][0]['start_time']; 160 } 161 162 163 var inscription = ''; 164 if (result[i][0]['registration_required']) { 165 inscription = 'Inscription obligatoire'; 166 } 167 168 if(result[i][0]['imageId'] == '' ){ 169 var content = template.allReplace({'#CAMPUS#': result[i][0]['establishment']['city']['name'], '#DATE_DEBUT#' : date_start_format.toLowerCase(), '#DATE_FIN#' : date_end_format.toLowerCase(), '##DATE_DEBUT_JOUR##' : moment(result[i][0]['start_date']).format('DD'), '#DATE_DEBUT_MOIS_COURT#' : moment(result[i][0]['start_date']).format('MMM'), '#DATE_DEBUT_MOIS_LONG#' : moment(result[i][0]['start_date']).format('MMMM'), '#DATE_DEBUT_ANNEE#' : moment(result[i][0]['start_date']).format('Y'), '#HEURE_DEBUT#' : result[i][0]['start_time'], '#HEURE_FIN#' : result[i][0]['end_time'], '#TYPE#' : result[i][0]['type']['name'], '#LABEL#' : result[i][0]['label']['name'], '#DESCRIPTION#' : result[i][0]['description'], '#LIEN#' : link, '#URL_LABEL#' : url_label, '#URL#' : link_, '#DATE#' : date_between, '#HORAIRE#' : horaire, '#ADRESSE#' : result[i][0]['address'], '#CODE_POSTAL#' : result[i][0]['postal_code'], '#VILLE#' : result[i][0]['city'], '#MAP#' : result[i][0]['google_map'], '#EMAIL#' : email, '#INSCRIPTION#' : inscription }); 170 }else{ 171 var content = template.allReplace({'#CAMPUS#': result[i][0]['establishment']['city']['name'], '#DATE_DEBUT#' : date_start_format.toLowerCase(), '#DATE_FIN#' : date_end_format.toLowerCase(), '##DATE_DEBUT_JOUR##' : moment(result[i][0]['start_date']).format('DD'), '#DATE_DEBUT_MOIS_COURT#' : moment(result[i][0]['start_date']).format('MMM'), '#DATE_DEBUT_MOIS_LONG#' : moment(result[i][0]['start_date']).format('MMMM'), '#DATE_DEBUT_ANNEE#' : moment(result[i][0]['start_date']).format('Y'), '#HEURE_DEBUT#' : result[i][0]['start_time'], '#HEURE_FIN#' : result[i][0]['end_time'],'#IMAGE#' : result[i][0]['image']['name'], '#TYPE#' : result[i][0]['type']['name'], '#LABEL#' : result[i][0]['label']['name'], '#DESCRIPTION#' : result[i][0]['description'], '#LIEN#' : link, '#URL_LABEL#' : url_label, '#URL#' : link_, '#DATE#' : date_between, '#HORAIRE#' : horaire, '#ADRESSE#' : result[i][0]['address'], '#CODE_POSTAL#' : result[i][0]['postal_code'], '#VILLE#' : result[i][0]['city'], '#MAP#' : result[i][0]['google_map'], '#EMAIL#' : email, '#INSCRIPTION#' : inscription }); 172 } 173 174 if (type != result[i][0]['type']['name'] && result[i][0]['tri'] == 'type') { 175 type = result[i][0]['type']['name']; 176 content = content.concat('<h2>' + type + '</h2>'); 177 } 178 179 180 if(result[i][0]['slick'] == null || result[i][0]['slick'] == '' || result[i][0]['slick'] == undefined ){ 181 // â¬('.eventdb-'+result[i][0]['id_shortcode'] ).append(content); 182 document.getElementsByClassName('eventdb-'+result[i][0]['id_shortcode'])[0].innerHTML = content; 183 }else{ 184 // â¬('.'+ result[i][0]['slick']).append(content); 185 document.getElementsByClassName(result[i][0]['slick'])[0].innerHTML = content; 186 } 187 188 } 189 else if(result[i].length > 1){ 190 191 var short_id = ''; 192 var slick = ''; 193 var type = ''; 194 var link = ''; 195 var link_ = ''; 196 var url_label = ''; 197 var date_between = ''; 198 199 var template = result[i][0]['template']; 200 short_id = result[i][0]['id_shortcode']; 201 slick = result[i][0]['slick']; 202 203 // On initialise la variable qui va stocker l'ensemble de l'info 204 var all_html_shortcode = ''; 205 206 for (t = 0; t < result[i].length; t++) { 207 208 209 var date_start_format = moment(result[i][t]['start_date']).format(result[i][0]['format_d']); 210 var date_end_format = moment(result[i][t]['end_date']).format(result[i][0]['format_d']); 211 212 // console.log(result[i][0]['linkId']); 213 if (result[i][t]['linkId'] != null && result[i][t]['link'] != undefined) { 214 // console.log('yes'); 215 link_ = result[i][t]['link']['name'] + (result[i][t]['salesforce_campaign'] !== '' ? '?C
215ampaignId=' + result[i][t]['salesforce_campaign'] : ''); 216 link = "<a href=" + link_ + " target ='_blank'>" + result[i][t]['link_name'] + "</a>"; 217 url_label = '<a href="'+ link_ + '" target="_blank">' + result[i][t]['label']['name'] + '</a>'; 218 }else { 219 // console.log('no'); 220 url_label = result[i][t]['label']['name']; 221 link_ = ""; 222 link = ""; 223 224 } 225 226 var email = ''; 227 if (result[i][t]['contact'] != '' || result[i][0]['contact'] != undefined ) { 228 email = '<a href="mailto:' + result[i][t]['contact'] + '">' + result[i][t]['contact'] + '</a>'; 229 } 230 231 if (result[i][t]['end_date'] != undefined) { 232 date_between = 'Du ' + date_start_format.toLowerCase() + ' au ' + date_end_format.toLowerCase(); 233 } else { 234 date_between = date_start_format.toLowerCase(); 235 } 236 237 if (result[i][t]['end_time'] != '' && result[i][t]['start_time'] != '') { 238 239 horaire = 'de ' + result[i][t]['start_time'] + ' à ' + result[i][t]['end_time']; 240 241 }else if (result[i][t]['start_time'] == '' && result[i][t]['end_time'] == '') { 242 243 horaire = ''; 244 } 245 else if(result[i][t]['start_time'] != '' && result[i][t]['end_time'] == ''){ 246 horaire = result[i][t]['start_time']; 247 } 248 249 var inscription = ''; 250 if (result[i][t]['registration_required']) { 251 inscription = 'Inscription obligatoire'; 252 } 253 254 if(result[i][t]['imageId'] == '' ){ 255 var content = template.allReplace({'#CAMPUS#': result[i][t]['establishment']['city']['name'], '#DATE_DEBUT#' : date_start_format.toLowerCase(), '##DATE_DEBUT_JOUR##' : moment(result[i][t]['start_date']).format('DD'), '#DATE_DEBUT_MOIS_COURT#' : moment(result[i][t]['start_date']).format('MMM'), '#DATE_DEBUT_MOIS_LONG#' : moment(result[i][t]['start_date']).format('MMMM'), '#DATE_DEBUT_ANNEE#' : moment(result[i][t]['start_date']).format('Y'), '#HEURE_DEBUT#' : result[i][t]['start_time'], '#HEURE_FIN#' : result[i][t]['end_time'], '#TYPE#' : result[i][t]['type']['name'], '#LABEL#' : result[i][t]['label']['name'], '#DESCRIPTION#' : result[i][t]['description'], '#LIEN#' : link, '#URL_LABEL#' : url_label, '#URL#' : link_, '#DATE#' : date_between, '#HORAIRE#' : horaire, '#ADRESSE#' : result[i][t]['address'], '#CODE_POSTAL#' : result[i][t]['postal_code'], '#VILLE#' : result[i][t]['city'], '#MAP#' : result[i][t]['google_map'], '#EMAIL#' : email, '#INSCRIPTION#' : inscription }); 256 }else{ 257 var content = template.allReplace({'#CAMPUS#': result[i][t]['establishment']['city']['name'], '#DATE_DEBUT#' : date_start_format.toLowerCase(), '##DATE_DEBUT_JOUR##' : moment(result[i][t]['start_date']).format('DD'), '#DATE_DEBUT_MOIS_COURT#' : moment(result[i][t]['start_date']).format('MMM'), '#DATE_DEBUT_MOIS_LONG#' : moment(result[i][t]['start_date']).format('MMMM'), '#DATE_DEBUT_ANNEE#' : moment(result[i][t]['start_date']).format('Y'), '#HEURE_DEBUT#' : result[i][t]['start_time'], '#HEURE_FIN#' : result[i][t]['end_time'],'#IMAGE#' : result[i][t]['image']['name'], '#TYPE#' : result[i][t]['type']['name'], '#LABEL#' : result[i][t]['label']['name'], '#DESCRIPTION#' : result[i][t]['description'], '#LIEN#' : link, '#URL_LABEL#' : url_label, '#URL#' : link_, '#DATE#' : date_between, '#HORAIRE#' : horaire, '#ADRESSE#' : result[i][t]['address'], '#CODE_POSTAL#' : result[i][t]['postal_code'], '#VILLE#' : result[i][t]['city'], '#MAP#' : result[i][t]['google_map'], '#EMAIL#' : email, '#INSCRIPTION#' : inscription }); 258 } 259 260 if (type != result[i][t]['type']['name'] && result[i][t]['tri'] == 'type') { 261 type = result[i][t]['type']['name']; 262 content = content.concat('<h2>' + type + '</h2>'); 263 } 264 265 266 all_html_shortcode += content; 267 268 } 269 270 if(slick == null || slick == '' || slick == undefined ){ 271 // â¬('.eventdb-'+ short_id ).append(content); 272 document.getElementsByClassName('eventdb-'+ short_id)[0].innerHTML = all_html_shortcode; 273 274 }else{ 275 // â¬('.'+ slick).append(content); 276 document.getElementsByClassName(slick)[0].innerHTML = all_html_shortcode; 277 }; 278 } 279 280 }; 281 282 }; 283 284 function ifCampus(campus){ 285 286 287 var array_campus = []; 288 var campusGroup = []; 289 var Group = []; 290 var campus_list = []; 291 var last= ''; 292 var date_event = ''; 293 var first = ''; 294 var both = ''; 295 var content = ''; 296 var template = ''; 297 var short_id = ''; 298 299 for (i = 0; i < campus.length ; i++) { 300 301
302 if(campus[i].length == 0){ 303 304 content = ''; 305 short_id = campus[i]['id_shortcode']; 306 slick = campus[i]['slick']; 307 308 if(slick == null || slick == '' || slick == undefined ){ 309 // â¬('.eventdb-'+ short_id ).append(content); 310 document.getElementsByClassName('eventdb-'+ short_id)[0].innerHTML = content; 311 }else{ 312 // â¬('.'+ slick).append(content); 313 document.getElementsByClassName(slick)[0].innerHTML = content; 314 } 315 316 }else{ 317 318 template = campus[i][0]['template']; 319 short_id = campus[i][0]['id_shortcode']; 320 slick = campus[i][0]['slick']; 321 322 // if(campus[i].length > 1){ 323 324 for(t = 0; t < campus[i].length ; t++){ 325 var start_date = moment(campus[i][t]['start_date']).format(campus[i][0]['format_d']); 326 array_campus.push({ city : campus[i][t]['establishment']['city']['name'], date : start_date }) 327 } 328 329 Group = groupCampusByDate(array_campus, "date"); 330 331 332 Object.keys(Group).map(function (x, index) { 333 334 if(Group[x].length > 1){ 335 336 for(k = 0; k < Group[x].length; k++){ 337 campusGroup.push(Group[x][k]['city']); 338 date_event = Group[x][k]['date'] 339 } 340 //test de duplicate 341 const unique = new Set(campusGroup); 342 campusGroup = [...unique]; 343 344 345 last = campusGroup.slice(-1); 346 first = campusGroup.slice(0, -1).join(", "); 347 array_first = [first]; 348 both = array_first.concat(last); 349 campus_list = both.join(' et '); 350 content = template.allReplace({'#CAMPUS_LISTE#' : campus_list, '#DATE_DEBUT#' : date_event}); 351 352 353 if(slick == null || slick == '' || slick == undefined ){ 354 // â¬('.eventdb-'+ short_id ).append(content); 355 document.getElementsByClassName('eventdb-'+ short_id)[0].innerHTML = content; 356 }else{ 357 // â¬('.'+ slick).append(content); 358 document.getElementsByClassName(slick)[0].innerHTML = content; 359 } 360 361 campusGroup = []; 362 363 }else{ 364 content = template.allReplace({'#CAMPUS_LISTE#' : Group[x][0]['city'], '#DATE_DEBUT#' : Group[x][0]['date']}); 365 if(slick == null || slick == '' || slick == undefined ){ 366 // â¬('.eventdb-'+ short_id ).append(content); 367 document.getElementsByClassName('eventdb-'+ short_id)[0].innerHTML = content; 368 }else{ 369 // â¬('.'+ slick).append(content); 370 document.getElementsByClassName(slick)[0].innerHTML = content; 371 } 372 } 373 }) 374 375 376 // }else{
377 // var start_date = moment(campus[i][t]['start_date']).format(campus[i][0]['format_d']); 378 // campus_ = campus[i][t]['establishment']['city']['name']; 379 // content = template.allReplace({'#CAMPUS_LISTE#' : campus_, ' #DATE_DEBUT#' : start_date}); 380 // $('#eventdb-'+ short_id ).append(content); 381 // } 382 383 } 384 385 386 } 387 388 }; 389 390}); 391 392function groupCampusByDate(tableauObjets, propriete){ 393 return tableauObjets.reduce(function (acc, obj) { 394 395 var cle = obj[propriete]; 396 397 if(!acc[cle]){ 398 acc[cle] = []; 399 } 400 acc[cle].push(obj); 401 402 return acc; 403 }, {}); 404 } 405 406 407//fonction de comparaison qui permet le tri des date de chaque type 408function compare(a, b) { 409 if (a['start_date'] > b['start_date']) { 410 return 1; 411 } else { 412 return -1; 413 } 414} 415 416//fonction qui permet de remplacer les éléments de template 417String.prototype.allReplace = function(obj) { 418 var retStr = this; 419 for (var x in obj) { 420 retStr = retStr.replace(new RegExp(x, 'g'), obj[x]); 421 } 422 return retStr; 423}; 424 425// permet de traduire les date en francais 426moment.locale('fr', { 427 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), 428 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), 429 monthsParseExact : true, 430 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), 431 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), 432 weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'), 433 weekdaysParseExact : true, 434 longDateFormat : { 435 LT : 'HH:mm', 436 LTS : 'HH:mm:ss', 437 L : 'DD/MM/YYYY', 438 LL : 'D MMMM YYYY', 439 LLL : 'D MMMM YYYY HH:mm', 440 LLLL : 'dddd D MMMM YYYY HH:mm' 441 }, 442 calendar : { 443 sameDay: '[Aujourd\'hui à ] LT', 444 nextDay: '[Demain à ] LT', 445 nextWeek: 'dddd [à ] LT', 446 lastDay: '[Hier à ] LT', 447 lastWeek: 'dddd [dernier à ] LT', 448 sameElse: 'L' 449 }, 450 relativeTime : { 451 future : 'dans %s', 452 past : 'il y a %s', 453 s : 'quelques secondes', 454 m : 'une minute', 455 mm : '%d minutes', 456 h : 'une heure', 457 hh : '%d heures', 458 d : 'un jour', 459 dd : '%d jours', 460 M : 'un mois', 461 MM : '%d mois', 462 y : 'un an', 463 yy : '%d ans' 464 }, 465 ordinalParse: /\d{1,2}(er|)/, 466 ordinal : function (number) { 467 return number + (number === 1 ? 'er' : ''); 468 }, 469 week : { 470 dow : 1, // Monday is the first day of the week. 471 doy : 4 // The week that contains Jan 4th is the first week of the year. 472 } 473});
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.