Changeset 122384 in spip-zone


Ignore:
Timestamp:
Feb 12, 2020, 10:27:32 AM (6 days ago)
Author:
Cerdic
Message:

filtre |affdate_timezone pour afficher une date seule avec sa timezone, ou une timezone seule
+ refactoring
+ pas de parentheses autour de la timezone ce sont des fioritures qu'on peut ajouter en css

Location:
_plugins_/agenda/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/agenda/trunk

    • Property subgit:lock:682386e8fe1acc7dd66d001ce87736aa1174eed4 deleted
    • Property subgit:lock:e67130a1e165602bbf7606f1309409b8cc3f1118 set to 2020-02-12T11:28:38.404
  • _plugins_/agenda/trunk/inc/agenda_timezone.php

    r122372 r122384  
    1818 * @param string $horaire
    1919 * @param string $timezone
    20  * @param string $forme
    21  * @return string
    22  */
    23 function affdate_debut_fin_timezone($date_debut, $date_fin, $horaire='oui', $timezone='', $forme='') {
     20 * @param string $format
     21 *   peux prendre plusieurs formats separes par des espaces dans la chaine, dont
     22 *     ceux supportes par affdate_debut_fin
     23 *     + ceux supportes par agenda_tz_to_string
     24 * @return string
     25 */
     26function affdate_debut_fin_timezone($date_debut, $date_fin, $horaire='oui', $timezone='', $format='') {
    2427        static $config_timezone;
    2528        if (is_null($config_timezone)) {
     
    3336                $date_fin = agenda_tz_date_local_to_tz($date_fin, $timezone);
    3437                if ($h) {
    35                         $tz_string = " <i class='tz'>(".agenda_tz_to_string($date_debut, $timezone, $forme).")</i>";
     38                        $tz_string = agenda_tz_to_string($date_debut, $timezone, $format);
     39                        if ($tz_string) {
     40                                $tz_string = " <i class='date-tz'>$tz_string</i>";
     41                        }
    3642                }
    3743        }
    3844
    39         $aff = affdate_debut_fin($date_debut, $date_fin, $horaire, $forme) . $tz_string;
     45        $aff = affdate_debut_fin($date_debut, $date_fin, $horaire, $format) . $tz_string;
     46        return $aff;
     47}
     48
     49
     50/**
     51 * Afficher la date dans la TimeZone indiquee selon le format choisi
     52 * @param $date
     53 * @param $timezone
     54 * @param $format
     55 *   peux prendre plusieurs formats separes par des espaces dans la chaine, dont
     56 *     ceux supportes par affdate
     57 *     + ceux supportes par agenda_tz_to_string
     58 *     + tzonly pour n'afficher que la timezone
     59 * @return string
     60 */
     61function affdate_timezone($date, $timezone, $format) {
     62        static $config_timezone;
     63        if (is_null($config_timezone)) {
     64                include_spip('inc/config');
     65                $config_timezone = lire_config('agenda/fuseaux_horaires',0);
     66        }
     67        $tz_string = '';
     68        if ($timezone and $config_timezone){
     69                $date = agenda_tz_date_local_to_tz($date, $timezone);
     70                $tz_string = agenda_tz_to_string($date, $timezone, $format);
     71        }
     72        if (stripos($format,'tzonly')!==false) {
     73                return $tz_string;
     74        }
     75        if ($tz_string) {
     76                $tz_string = " <i class='date-tz'>$tz_string</i>";
     77        }
     78
     79        $aff = affdate($date, $format) . $tz_string;
    4080        return $aff;
    4181}
     
    4686 * @param string $date
    4787 * @param string $timezone
    48  * @param string $forme
    49  * @return string
    50  */
    51 function agenda_tz_to_string($date, $timezone, $forme) {
     88 * @param string $format
     89 *   gmt : decalage horaire par rapport a GMT : GMT+02:00
     90 *   tzshort : format court (EDT, EST, GMT...)
     91 *   tznone : la zone n'est pas affichee
     92 *   tzfull (default) : format complet (Europe/Paris, America/New-York...)
     93 * @return string
     94 */
     95function agenda_tz_to_string($date, $timezone, $format) {
    5296        $timezone = agenda_tz_valide_timezone($timezone);
    5397
     
    60104        }
    61105
    62         if (stripos($forme,'gmt')!==false) {
     106        if (stripos($format,'gmt')!==false) {
    63107    return "GMT" . $dt->format('P');
    64108        }
    65         if (stripos($forme,'tzshort')!==false) {
     109        if (stripos($format,'tzshort')!==false) {
    66110    return $dt->format('T');
     111        }
     112        if (stripos($format,'tznone')!==false) {
     113    return '';
    67114        }
    68115
  • _plugins_/agenda/trunk/paquet.xml

    r122383 r122384  
    22        prefix="agenda"
    33        categorie="date"
    4         version="4.0.2"
     4        version="4.0.3"
    55        etat="test"
    66        compatibilite="[3.2.0;3.3.*]"
Note: See TracChangeset for help on using the changeset viewer.