Changeset 87137 in spip-zone


Ignore:
Timestamp:
Jan 18, 2015, 12:36:42 PM (5 years ago)
Author:
code@…
Message:

plugins_seenthis/date_relative_dynamique : nettoyage & reformage du code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/plugins_seenthis/date_relative_dynamique/js.calcul_date.html

    r74535 r87137  
    11[(#HTTP_HEADER{Content-type: text/javascript[; charset=(#CHARSET)]})]
    22
    3 var chaines_lang = new Array();
    4 chaines_lang['date_il_y_a'] = '<:date_il_y_a:>';
    5 chaines_lang['date_une_seconde'] = '<:date_une_seconde:>';
    6 chaines_lang['date_secondes'] = '<:date_secondes:>';
    7 chaines_lang['date_une_minute'] = '<:date_une_minute:>';
    8 chaines_lang['date_minutes'] = '<:date_minutes:>';
    9 chaines_lang['date_une_heure'] = '<:date_une_heure:>';
    10 chaines_lang['date_heures'] = '<:date_heures:>';
    113
    12 chaines_lang['date_hier'] = '<:date_hier:>';
    13 chaines_lang['date_jours'] = '<:date_jours:>';
     4var chaines_lang = {
     5        'date_il_y_a': '<:date_il_y_a:>',
     6        'date_une_seconde': '<:date_une_seconde:>',
     7        'date_secondes': '<:date_secondes:>',
     8        'date_une_minute': '<:date_une_minute:>',
     9        'date_minutes': '<:date_minutes:>',
     10        'date_une_heure': '<:date_une_heure:>',
     11        'date_heures': '<:date_heures:>',
    1412
    15 chaines_lang['date_une_semaine'] = '<:date_une_semaine:>';
    16 chaines_lang['date_semaines'] = '<:date_semaines:>';
     13        'date_hier': '<:date_hier:>',
     14        'date_jours': '<:date_jours:>',
    1715
    18 chaines_lang['date_un_mois'] = '<:date_un_mois:>';
    19 chaines_lang['date_mois'] = '<:date_mois:>';
     16        'date_une_semaine': '<:date_une_semaine:>',
     17        'date_semaines': '<:date_semaines:>',
    2018
     19        'date_un_mois': '<:date_un_mois:>',
     20        'date_mois': '<:date_mois:>'
     21};
    2122
    2223function _T(chaine, nom_val, val) {
    23         return chaines_lang[chaine].replace("@"+nom_val+"@", val);
     24        return chaines_lang[chaine].replace("@" + nom_val + "@", val);
    2425}
    2526
     
    2829        var date_now = Math.floor((new Date()).getTime() / 1000) + Math.floor($.cookie('dateoffset'));
    2930
    30         $(".calcul_date").each(function() {
    31                 if ($(this).attr("datetime")) {
    32                         var date = new Date($(this).attr("datetime"));
    33                         date = Math.floor(date.getTime()/1000);
    34                 } else if ($(this).attr("title")) {
    35                         var date = Math.floor($(this).attr("title"));
     31        $(".calcul_date").each(function () {
     32                var $this = $(this);
     33                var date;
     34                if ($this.attr("datetime")) {
     35                        var dateTime = new Date($this.attr("datetime"));
     36                        date = Math.floor(dateTime.getTime() / 1000);
     37                } else if ($this.attr("title")) {
     38                        date = Math.floor($this.attr("title"));
    3639                }
    3740
     
    4144
    4245                if (age < 1) age = false;
    43                 else if (age < 2) age = _T( "date_il_y_a", "delai",  age + " " + _T("date_une_seconde") );
    44                 else if (age < 60) age = _T( "date_il_y_a", "delai",  age + " " + _T("date_secondes") );
     46                else if (age < 2) age = _T("date_il_y_a", "delai", age + " " + _T("date_une_seconde"));
     47                else if (age < 60) age = _T("date_il_y_a", "delai", age + " " + _T("date_secondes"));
    4548                else {
    4649                        // passer en minutes
    4750                        var age_min = Math.floor(age / 60);
    48                         if (age_min < 2) age = _T( "date_il_y_a", "delai",  age_min + " " + _T("date_une_minute") );
    49                         else if (age_min < 60) age = _T( "date_il_y_a", "delai",  age_min + " " + _T("date_minutes") );
     51                        if (age_min < 2) age = _T("date_il_y_a", "delai", age_min + " " + _T("date_une_minute"));
     52                        else if (age_min < 60) age = _T("date_il_y_a", "delai", age_min + " " + _T("date_minutes"));
    5053                        else {
    5154                                // passer en heures
    5255                                var age_heure = Math.floor(age / (60 * 60));
    53                                 if (age_heure < 2) age = _T( "date_il_y_a", "delai",  age_heure + " " + _T("date_une_heure") );
    54                                 else if (age_heure < 24) age = _T( "date_il_y_a", "delai",  age_heure + " " + _T("date_heures") );
    55                                
     56                                if (age_heure < 2) age = _T("date_il_y_a", "delai", age_heure + " " + _T("date_une_heure"));
     57                                else if (age_heure < 24) age = _T("date_il_y_a", "delai", age_heure + " " + _T("date_heures"));
     58
    5659                                else {
    5760                                        // passer en jours
    58                                         var age_jour = Math.floor(age/ (60*60*24));
     61                                        var age_jour = Math.floor(age / (60 * 60 * 24));
    5962                                        if (age_jour < 2) age = _T("date_hier");
    60                                         else if (age_jour < 8) age = _T( "date_il_y_a", "delai",  age_jour + " " + _T("date_jours") );
    61                                        
     63                                        else if (age_jour < 8) age = _T("date_il_y_a", "delai", age_jour + " " + _T("date_jours"));
     64
    6265                                        else {
    6366                                                // passer en semaines
    64                                                 var age_sem = Math.floor(age/ (60*60*24*7));
    65                                                 if (age_sem < 2) age = _T( "date_il_y_a", "delai",  age_sem + " " + _T("date_une_semaine") );
    66                                                 else if (age_sem < 4) age = _T( "date_il_y_a", "delai",  age_sem + " " + _T("date_semaines") );
    67                                                
     67                                                var age_sem = Math.floor(age / (60 * 60 * 24 * 7));
     68                                                if (age_sem < 2) age = _T("date_il_y_a", "delai", age_sem + " " + _T("date_une_semaine"));
     69                                                else if (age_sem < 4) age = _T("date_il_y_a", "delai", age_sem + " " + _T("date_semaines"));
     70
    6871                                                else {
    6972                                                        // passer en mois
    70                                                         var age_mois = Math.floor(age/ (60*60*24*28));
     73                                                        var age_mois = Math.floor(age / (60 * 60 * 24 * 28));
    7174                                                        if (age_mois < 1) age_mois = 1;
    72                                                         if (age_mois < 2) age = _T( "date_il_y_a", "delai",  age_mois + " " + _T("date_un_mois") );
    73                                                         else if (age_mois < 13) age = _T( "date_il_y_a", "delai",  age_mois + " " + _T("date_mois") );
    74                                                        
     75                                                        if (age_mois < 2) age = _T("date_il_y_a", "delai", age_mois + " " + _T("date_un_mois"));
     76                                                        else if (age_mois < 13) age = _T("date_il_y_a", "delai", age_mois + " " + _T("date_mois"));
     77
    7578                                                        else {
    7679                                                                // passer en mois
    77                                                                 var age_annee = Math.floor(age/ (60*60*24*364));
     80                                                                var age_annee = Math.floor(age / (60 * 60 * 24 * 364));
    7881                                                                if (age_annee < 1) age_annee = 1;
    7982                                                                //if (age_annee < 2) age = "last year";
    8083                                                                //else age = age_annee + " years ago";
    81                                                                                                
     84
    8285                                                                age = false;
    8386                                                        }
     
    8588                                        }
    8689                                }
    87                                
    88                                
     90
     91
    8992                        }
    9093                }
    91                
     94
    9295                if (age) {
    93                         $(this).attr('title', $(this).html());
    94                         $(this).html(age);
     96                        $this.attr('title', $this.html());
     97                        $this.html(age);
    9598                }
    96                
     99
    97100        });
    98101}
     
    101104// puis recuperer date serveur
    102105// donc reafficher dates pour calcul
    103 $(function() {
     106$(function () {
    104107        setInterval("afficher_dates()", 1000);
    105108
     
    109112                        type: "POST",
    110113                        url: "[(#VAL{spip.php?action=dateoffset}|url_absolue)]",
    111                         data: { time: date_now },
    112                         complete: function(data) {
     114                        data: {time: date_now},
     115                        complete: function (data) {
    113116                                var date_sql = Math.floor(data.responseText);
    114117                                if (date_sql > 1200000000) // sanity check sur la reponse
    115                                         $.cookie('dateoffset', date_sql - date_now, { path: "/" });
     118                                        $.cookie('dateoffset', date_sql - date_now, {path: "/"});
    116119                        }
    117120                });
     
    119122
    120123});
    121 
Note: See TracChangeset for help on using the changeset viewer.