PageSourceSearch

https://www.isg.fr/wp-content/plugins/wordpress-plugin-eventdb-v2-master/js/shortcode.js?ver=7.0.4

js isg.fr collected 2026-09-24 21:28:53 UTC 22,814 bytes, 473 lines download raw bytes

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.