Help - Search - Member List - Calendar
Full Version: Dates En Français
IPBR-FR > Divers > Documentation > Soumettez vos astuces ou tutoriels
David
Présentation (pour Forum 1.3)

Cette modification a pour but de mettre d'afficher les dates du forum en français.

Avant : Jan 28 2004, 08:10 PM
Après : samedi 31 janvier 2004, 14:49

Modification

index.php
Cherchez

CODE
//-----------------------------------------------
// NO USER EDITABLE SECTIONS BELOW
//-----------------------------------------------


Ajoutez juste avant

CODE
// Langue des dates

setlocale(LC_TIME, 'french');


sources/functions.php
Chechez

CODE
return gmdate($this->time_options[$method], ($date + $this->offset) );


Remplacez par

CODE
return gmstrftime($this->time_options[$method], ($date + $this->offset) );


sources/Profile.php
Cherchez

CODE
$info['local_time']  = $member['time_offset'] != "" ? gmdate( $ibforums->vars['clock_long'], time() + ($member['time_offset']*3600) + ($ibforums->vars['time_adjust'] * 60) ) : $ibforums->lang['no_info'];


Remplacez par

CODE
$info['local_time']  = $member['time_offset'] != "" ? gmstrftime( $ibforums->vars['clock_long'], time() + ($member['time_offset']*3600) + ($ibforums->vars['time_adjust'] * 60) ) : $ibforums->lang['no_info'];


sources/Admin/admin_functions.php
Cherchez

CODE
return gmdate($this->time_options[$method], ($date + $this->time_offset) );


Remplacez par

CODE
return gmstrftime($this->time_options[$method], ($date + $this->time_offset) );


Cherchez

CODE
function get_date($date="", $method="")
{
 global $INFO, $IN, $MEMBER;


Ajouter en dessous

CODE
setlocale(LC_TIME, 'french');


Mise à jour du format des dates


Utiliser les commandes donner sur www.php.net

Exemples
%A %d %B %Y, %H:%M ------> samedi 31 janvier 2004, 15:49 (Long)
%d-%B %y ----------------------> 27-octobre 03 (Join)
%d %B %Y - %H:%M -----------> 31 janvier 2004 - 15:49 (Short)

Questions diverses

- Coment rendre CSite ou mes MOD compatible avec les dates françaises ?

>Si votre mod fais appéle a la fonction 'get_date' il suffit de de mettre à jour le format des dates.
>Si votre MOD convertit les date a l'aide d'une fonction interne a la mode recherchez toute les fonctions 'gmdate' et remplacer les par la fonction 'gmstrftime' puis mettre les le format des date au bon format.
>De plus si la MOD n'est pas appelée par l'intermédiaire de l'index du forum il faut ajouter 'setlocale(LC_TIME, 'french');' au niveau de la définition des variables internes.

Astuce donnée par Fantome
David
Modifications pour le portail IP Dynamic Lite

1 - Ouvrir sources/dynamiclite/csite.php :
Dans les fonctions : function _tmpl_format_topic & function _show_articles :
- Rechercher 'gmdate', et remplacé par 'gmstrftime'.

2 - Dans l'ACP
System Settings > IPDynamic Lite Set-up > Date format for articles ?
- Remplacer 'j F Y, H:i', par %d-%B %y %H:%M.

Astuce donnée par Animal_VY
David
Autre astuce :

sources/functions.php

CODE
function get_date($date, $method) {
     global $ibforums;

     if (!$date)
     {
         return '--';
     }

     if (empty($method))
     {
     $method = 'LONG';
     }

     if ($this->offset_set == 0)
     {
     // Save redoing this code for each call, only do once per page load
   
$this->offset = $this->get_time_offset();

$this->offset_set = 1;
     }

     if ($method == 'SHORT') {
       $mois = array( "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
       $jours = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");

       return $jours[gmdate("w", ($date + $this->offset))]." ".gmdate("j", ($date + $this->offset)).(gmdate("j", ($date + $this->offset)) == 1 ? "er " : " ").$mois[gmdate("n", ($date + $this->offset))-1]." ".gmdate("Y", ($date + $this->offset))."  ".gmdate("H", ($date + $this->offset)).":".gmdate("i", ($date + $this->offset));;
     }

 if ($method == 'LONG') {
       $mois = array( "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
       $jours = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");

       return $jours[gmdate("w", ($date + $this->offset))]." ".gmdate("j", ($date + $this->offset)).(gmdate("j", ($date + $this->offset)) == 1 ? "er " : " ").$mois[gmdate("n", ($date + $this->offset))-1]." ".gmdate("Y", ($date + $this->offset))."  ".gmdate("H", ($date + $this->offset)).":".gmdate("i", ($date + $this->offset));;
     }
     elseif ($method == 'JOINED') {
       $mois = array( "Jan", "Fév", "Mars", "Avril", "Mai", "Juin", "Juil", "Août", "Sept", "Oct", "Nov", "Déc");
       $jours = array("Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam");

       return $jours[gmdate("w", ($date + $this->offset))]." ".gmdate("j", ($date + $this->offset)).(gmdate("j", ($date + $this->offset)) == 1 ? "er " : " ").$mois[gmdate("n", ($date + $this->offset))-1]." ".gmdate("Y", ($date + $this->offset))."  ".gmdate("H", ($date + $this->offset)).":".gmdate("i", ($date + $this->offset));
     }
     else {
       return gmdate($this->time_options[$method], ($date + $this->offset) );
     }

 }


Par MrBeen
Bads
Sur le forum d'un ami, j'ai ceci comme heure : 0+0100N18 ?

Ça dépend de quoi ? Il manque aussi 3 cases dans le PCA pour ajuster la date et l'heure sad.gif



Short time format
Same configuration as PHP Date

Join date time format
Same configuration as PHP Date

Long time format
Same configuration as PHP Date

Le texte est là mais il n'y a pas de case mellow.gif

Ce format d'heure est survenue après que j'ai changé le fuseau horaire. Comment puis-je revenir en arrière svp ?


Je viens tout juste de régler mon problème en remettant un ancien fichier conf_global.php biggrin.gif
Bads
Je ne peux changer l'heure par le PCA sinon il me met 0+0100N18 sad.gif

Je la change donc dans le fichier conf_global.php et ça fonctionne sauf qu'il me met 09h26 au lieu de 21:26 mad.gif

Puis-je changer cela dans le fichier conf_global ?

Merci
MrBeen
"mon" (ne suis pas l'auteur) astuce marche a merveille, simple a mettre en place et fonctionne partout sauf en regardant le profil d'un membre, ca donne ceci
"Heure locale de l'utilisateur Jan 10 2005, 10:02 AM "
sinon partout "Lundi 10 Janvier 2005 08:24"

edit :
j'ai vu que certains avaient des droles de format date
le bon format ds le pcadmin - Board Settings (Dates)
QUOTE
Short time format - jS F Y - h:i A

Join date time format - j-F y

Long time format - M j Y, h:i A

respectez la casse
Rabot
Comment ajouter les secondes ??

j'ai intallé le seconde mod et on ne peut pas changer le format des dates dans l'admin

donc il faut modifier le code mais je n'y arrive pas

j'ai ajouté ça :

:".gmdate("s", ($date + $this->offset))

mais ça me sort une erreur sad.gif
Bads
QUOTE(MrBeen @ lundi 10 janvier 2005 à 10:05)
"mon" (ne suis pas l'auteur) astuce marche a merveille, simple a mettre en place et fonctionne partout sauf en regardant le profil d'un membre, ca donne ceci
"Heure locale de l'utilisateur Jan 10 2005, 10:02 AM "
sinon partout "Lundi 10 Janvier 2005 08:24"

edit :
j'ai vu que certains avaient des droles de format date
le bon format ds le pcadmin - Board Settings (Dates)

respectez la casse
*



C'est ce que j'ai dans le fichier conf_global smile.gif

Mais comment faire pour avoir 19:35 au lieu de 7:35 ?
Rabot
j'ai réglé mon problème

c'est que j'avais un mix des 2 solutions et ça créer des conflits
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.