modifier "Temps passé en ligne" du profil [ RESOLU ] - Version imprimable +- MyBB.support, le portail francophone de MyBB (https://mybb.support) +-- Forum : MyBB.fr (https://mybb.support/forum-1.html) +--- Forum : Support (https://mybb.support/forum-5.html) +--- Sujet : modifier "Temps passé en ligne" du profil [ RESOLU ] (/thread-1251.html) |
modifier "Temps passé en ligne" du profil [ RESOLU ] - abc13 - 27-12-2008 Bonjour je veux modifier: "Temps passé en ligne : 17 Heures, 37 Minutes, 19 Secondes " , c'est-à-dire la dernière virgule. Je veux le remplacer par "et" mais je ne sais pas où le modifier. merci d'avance. RE: modifier "Temps passé en ligne" du profil - spyto - 27-12-2008 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)) 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)) 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... RE: modifier "Temps passé en ligne" du profil - abc13 - 27-12-2008 Merci beaucoup spyto pour le temps passé... pour me répondre. J'ai changé avec ce que tu m'as donné, et il ne m'a plus affiché les secondes, mais c'est pas grave, ça ne vaut pas la peine. Je pensais que ça aurait été plus simple. RE: modifier "Temps passé en ligne" du profil - AimeSiKey - 27-12-2008 Oui huhu ! C'est rigolo comme demande. On peut faire un implode "customisé" à l'ancienne sinon. Changer Code PHP : if(is_array($nicetime)) En Code PHP : if(is_array($nicetime)) Ca semble plus simple et ca demande moins de calcul ^^ Je n'ai pas tester. RE: modifier "Temps passé en ligne" du profil - spyto - 27-12-2008 AimeSiKey a écrit : OK MC, mais tu supposes que le tableau n'a que trois index... Or pour moi, le temps passé se mesure en semaines et bientôt en mois !!! Je n'ai pas trouvé de fonction simple permettant de remplacer la dernière occurrence de ',' par ' et' dans la chaîne résultante. Ou sinon, il faudrait remplacer dans le dernier index du tableau, avant l'implode(), à condition que ce soit toujours les secondes ? RE: modifier "Temps passé en ligne" du profil - AimeSiKey - 27-12-2008 Ah oui ! Mea culpa, une petite boucle sur la taille du tableau ca serait mieux. RE: modifier "Temps passé en ligne" du profil - abc13 - 27-12-2008 Là ça m'affiche: " , et " plus de chiffres... merci quand même AimeSiKey. RE: modifier "Temps passé en ligne" du profil - spyto - 27-12-2008 abc13 a écrit :Là ça m'affiche: Regarde mon post ci-dessus, je m'étais planté, j'ai édité... RE: modifier "Temps passé en ligne" du profil - abc13 - 27-12-2008 spyto a écrit :Regarde mon post ci-dessus, je m'étais planté, j'ai édité... Là ça marche! bravo.... Merci beaucoup Spyto |