1. IMPORTANT : Nouvelles mesures de sécurité - 2. Règles pour obtenir de l'aide dans les forums de support - 3. Restrictions des droits pour le groupe "Support suspendu"

Il est obligatoire de respecter les Règles de MyBB.fr : Version abrégée ou Version complète pour obtenir du support sur nos forums.

Les membres ayant un site/forum contrevenant aux règles de MyBB.support seront placés dans le groupe "Support suspendu" et ne bénéficieront plus du support du staff. Nous recommandons aux autres membres d'agir de même. Il ne s'agit pas d'un bannissement, le membre retrouvera son statut "normal" dès que sa situation sera conforme aux règles.

Nouveau : un Wiki en français : plus de détails.
Avant de soumettre votre problème, consultez-le, ainsi que la FAQ, sans oublier le moteur de recherche interne.


Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
modifier "Temps passé en ligne" du profil [ RESOLU ]
Mots-clés » modifier, temps, passé, ligne, profil, resolu
27-12-2008, 12:56, (Modification du message : 27-12-2008, 14:38 par spyto.)
#2
RE: modifier "Temps passé en ligne" du profil
Salut,

Ce n'est pas facilement modifiable !
Ce n'est pas déterminé par un "masque" dans un fichier langue.

Il faut intervenir dans le code PHP. Si tu t'en sens l'envie et le courage...

Le texte est créé par la fonction nice_time() de /inc/functions.php (ligne 3154), plus exactement dans cette portion du code (ligne 3286) qu'il faudra modifier :

Code PHP :
if(is_array($nicetime))
    {
        return 
implode(", "$nicetime);
    } 

La fonction implode(", ", $nicetime) retourne une chaîne contenant la représentation en chaîne de caractères de tous les éléments du tableau $nicetime, séparés par une virgule suivie d'un espace.

Il faudrait donc avant le 'return', récupérer le résultat du 'implode' et remplacer la dernière virgule par un ' et' (espace avant, l'espace après existe déjà...)

Par exemple :
1. récupérer la chaîne avec les virgules :
$result = implode(", ", $nicetime);
2. Rechercher la dernière occurrence de ',' :
$last = strrchr($result, "," );
3. On a dans $last par ex. : ", 35 Secondes".
4. On remplace la virgule par ' et' (avec un espace avant
$last_new = str_replace(',', ' et', $last);
$last_new contient donc : " et 35 Secondes".
5. et on remet ce nouveau "tronçon" à sa place dans $result :
$result = str_replace ($last, $replace, $result);
6. Et on retourne cette chaîne.

Ce qui donnerait :
Code PHP :
if(is_array($nicetime))
    {
        
$result implode(", "$nicetime);
        
$last strrchr($result"," );
        
$replace str_replace(','' et'$last);
        
$result str_replace ($last$replace$result);
        return 
$result;
    } 

Il y a sans doute plus simple !
C'est du bricolage, non testé ! Livré sans aucune garantie.

AimeSiKey te fera un truc plus simple et plus "catholique".

Est-ce que ça vaut le coup de faire toutes ces modifs juste pour une virgule ????

EDIT: Je me suis planté
(corrigé ci-dessus):
c'est pas
$last_new = str_replace(',', ' et', $last);
mais
$replace = str_replace(',', ' et', $last);
Réessaie...

[Image: spyto.png]
~~ AUCUNE AIDE Par MP, MAIL OU MSN !!!~~
Répondre


Messages dans ce sujet
RE: modifier "Temps passé en ligne" du profil - spyto - 27-12-2008, 12:56



Utilisateur(s) parcourant ce sujet : 2 visiteur(s)

Contact | MyBB.support | Retourner en haut | Retourner au contenu | Version bas-débit (Archivé) | Syndication RSS
 Utilitaire de traduction fourni par Regentronique