Bonjour,
j’aimerai afficher après mes tweets, l’heure d’envoi des tweets par un "il y a 5 heures" par exemple.
Ainsi que séparer d’un trait mes tweets pour une meilleurs lecture.
Merci.
Pour ta question sur les dates :
http://fr.openclassrooms.com/forum/sujet/module-date-special-44342
Pour séparer les tweets d'un trait, soit un border-bottom en CSS sur le conteneur de chaque tweet, soit un <hr> HTML entre chaque élément de ton foreach.
D'accord, c'est donc le param "created_at" qu'il faut passer à ta fonction Aff_Date().
Un truc du type echo(affDate($tweets->created_at)); ce qui devrait te retourner une date bien formatée.
Merci, les traits entre chaque tweets fonctionnent bien avec le <hr>.
Cependant je débute dans le php, si je comprend bien, je doit copier le code
<?php
function AffDate($date){
if(!ctype_digit($date))
$date = strtotime($date);
if(date('Ymd', $date) == date('Ymd')){
$diff = time()-$date;
if($diff < 60) /* moins de 60 secondes */
return 'Il y a '.$diff.' sec';
else if($diff < 3600) /* moins d'une heure */
return 'Il y a '.round($diff/60, 0).' min';
else if($diff < 10800) /* moins de 3 heures */
return 'Il y a '.round($diff/3600, 0).' heures';
else /* plus de 3 heures ont affiche ajourd'hui à HH:MM:SS */
return 'Aujourd\'hui à '.date('H:i:s', $date);
}
else if(date('Ymd', $date) == date('Ymd', strtotime('- 1 DAY')))
return 'Hier à '.date('H:i:s', $date);
else if(date('Ymd', $date) == date('Ymd', strtotime('- 2 DAY')))
return 'Il y a 2 jours à '.date('H:i:s', $date);
else
return 'Le '.date('d/m/Y à H:i:s', $date);
}
dans le fichier fonction.php ? et faire l'appel de cette fonction dans le code des tweets ?
Sans ton code, je ne peux pas vraiment t'aider.
En gros, la fonction que je t'ai donné attend un format DATETIME valide et va, à partir de ce datetime te renvoyer une chaîne de caractère au format attendu.
Donc quand tu affiches la date fournie par Twitter pour tes tweets, plutôt que de l'afficher bêtement, tu appelles la fonction AffDate() en lui passant en paramètre la date du tweet.
Ci sa peut t'aider voici le code pour afficher mes tweets:
<h5> Derniers tweets </h5>
<?php
$cache = 'cache/tweets.tmp';
if(time() - filemtime($cache) >60){
require 'class/twitteroauth.php';
$connection = new TwitterOAuth('ILL49d2JqQVZrrjUv9ZSwFg9a','lHBLIhah8aJdHu4QD0yCy4vwDxVhBvGPHoHiw5PaUZSxXxoAvz','170393960-I25xp32QDKSSnWcjq2LoEVrUojnMmkbp4WlcSw8y','Tzy3KGmLv1oZgW3JOf9ORRacBHUwKUdK9j12NJiu5CCEP');
$tweets = $connection->get('statuses/user_timeline', array('count' => 3));
file_put_contents($cache, serialize($tweets));
}else{
echo 'Cache utilisé';
$tweets = unserialize(file_get_contents($cache));
}
?>
<ul>
<?php foreach ($tweets as $k => $tweets): ?>
<li><hr><?php echo parseTweet ($tweets-> text); ?></hr></li>
<?php endforeach ?>
</ul>
Et je le place où echo(affDate($tweets->created_at)); ?
Désoler de me prendre si loin par la main, mais j'ai du mal à comprendre.
C'est bon j'ai trouver. Par contre j'ai çà d'écrit "Hier ? 21:34:03". Comment remplacer "?" par "à" ?
Je reviens en arrière. Il y à quelque chose dans le code que tu mas donner qui fait planter l'administration de wordpress. Exemple quand je créer une nouvelle page (rien de plus simple), après avoir cliquer sur publier, j'ai une page blanche. Dès que je retire la fonction tous redeviens normale. Qu'est-ce qui cloche ?
L'appel à la fonction est à stocker dans une variable ou à echo() où tu souhaites l'afficher.
Pour le plantage de l'admin Wordrpress c'est étrange. Je suis dans le train mais je jetterai un œil à ça ce soir. As-tu virer le "<?php" au début du code? Parce que si tu l'as collé dans functions.php, j'imagine qu'il y a d'autres choses dans le fichier.
Cela dit si tu es sous Wordpress, je pense qu'il y a des tas de plugins qui font ce que tu cherches.
C'est bon tous fonctionne correctement Komodo edit à du générer une erreur ou corrompre mon fichier function.php. Ce n'ai pas la première fois que je rencontre ce souci. J'ai recopier les codes avec dreamweaver du coups même les "?" ont étaient changer en "à". Merci pour tous Pakito. Enjoy.
Parfait si ça fonctionne ;) Bon courage pour la suite !
Par contre, lâche Komodo et Dreamweaver et passe à Sublime Text ! :)