PDA

Voir la version complète : Module VBA Membres aléatoire


Rom56
24/07/2006, 17h27
Salut tous,

Je suis un peu bloqué concernant ce module assez simple. Enffet c'est un petit module qui affiche un membre aléatoirement. Pour la selection aléatoire aucuns problème, pour l'affichage du pseudo et des autres infos no prob, seul prob l'avatar :blush2: Comment le trouver ? ou est enregistrer 'ladresse de l'avatar d'un membre ?

Car il n'est ni présent dans la table "user" ni dans "avatar" ni "customavatar"...dans le template postbit qui affiche donc l'avatar de chaque membre durant un message j'ai trouver le code :
<img src="$post[avatarurl]">

mais comment récupérer cette variable ???

Sinon une question un peu plus PHP, Comme faire pour traduire une date U style 1118762967 ( date en seconde a partir d'une date précise) en une date exploitable sous la forme JJ-MM-AAAA ?

Christounet
03/08/2006, 18h32
cher Rom56, je l'a fait dans le hack de présentation de l'équipe:

il suffit d'avoir le user id et d'appeller la fonction fetch_avatar_url


// récup de l'avatar
require_once('./includes/functions_user.php');
$userid = $user['userid'];
$avatarurl = fetch_avatar_url($userid);
if ($avatarurl == '') {
$show['avatar'] = false;
}
else {
$show['avatar'] = true;
}

Christounet
03/08/2006, 20h23
Sinon une question un peu plus PHP, Comme faire pour traduire une date U style 1118762967 ( date en seconde a partir d'une date précise) en une date exploitable sous la forme JJ-MM-AAAA ?

et bien c'est facile !

$date = vbdate($vbulletin->options['dateformat'], 1118762967, 1);
pour l'heure, enlever le 1 à la fin :

$heure = vbdate($vbulletin->options['timeformat'], 1118762967);
la fonction vbdate convertit automatiquement en aujourd'hui, hier... les dates si l'option est cochée dans le paneau admin

sinon en pur php tu as la fonction :

string strftime ( string format [, int timestamp] )

strftime() retourne la date sous la forme d'une chaîne formatée conformément au format format, en utilisant le timestamp timestamp donné. Si le timestamp est omis, la date actuelle est utilisée

Les caractères suivants sont utilisés pour spécifier le format de la date :
%a : nom abrégé du jour de la semaine (local).
%A : nom complet du jour de la semaine (local).
%b : nom abrégé du mois (local).
%B : nom complet du mois (local).
%c : représentation préférée pour les dates et heures, en local.
%C : numéro de siècle (l'année, divisée par 100 et arrondie entre 00 et 99)
%d : jour du mois en numérique (intervalle 01 à 31)
%D : identique à %m/%d/%y
%e : numéro du jour du mois. Les chiffres sont précédés d'un espace (de ' 1' à '31')
%g : identique à %G, sur 2 chiffres.
%G : L'année sur 4 chiffres correspondant au numéro de semaine (voir %V). Même format et valeur que %Y, excepté que si le numéro de la semaine appartient à l'année précédente ou suivante, l'année courante sera utilisé à la place.
%h : identique à %b
%H : heure de la journée en numérique, et sur 24-heures (intervalle de 00 à 23)
%I : heure de la journée en numérique, et sur 12- heures (intervalle 01 à 12)
%j : jour de l'année, en numérique (intervalle 001 à 366)
%m : mois en numérique (intervalle 1 à 12)
%M : minute en numérique
%n : newline character
%p : soit `am' ou `pm' en fonction de l'heure absolue, ou en fonction des valeurs enregistrées en local.
%r : l'heure au format a.m. et p.m.
%R : l'heure au format 24h
%S : secondes en numérique
%t : tabulation
%T : l'heure actuelle (égal à %H:%M:%S)
%u : le numéro de jour dans la semaine, de 1 à 7. (1 représente Lundi)
%U : numéro de semaine dans l'année, en considérant le premier dimanche de l'année comme le premier jour de la première semaine.
%V : le numéro de semaine comme défini dans l'ISO 8601:1988, sous forme décimale, de 01 à 53. La semaine 1 est la première semaine qui a plus de 4 jours dans l'année courante, et dont Lundi est le premier jour. (Utilisez %G ou %g pour les éléments de l'année qui correspondent au numéro de la semaine pour le timestamp donné.)
%W : numéro de semaine dans l'année, en considérant le premier lundi de l'année comme le premier jour de la première semaine
%w : jour de la semaine, numérique, avec Dimanche = 0
%x : format préféré de représentation de la date sans l'heure
%X : format préféré de représentation de l'heure sans la date
%y : l'année, numérique, sur deux chiffres (de 00 à 99)
%Y : l'année, numérique, sur quatre chiffres
%Z ou %z : fuseau horaire, ou nom ou abréviation
%% : un caractère `%' littéral

Fred
03/08/2006, 21h59
et bien c'est facile !

$date = vbdate($vbulletin->options['dateformat'], 1118762967, 1);

Moi j'ai exactement ca a une difference prés
mais bon je ne suis pas un expert
j'ai tous simplement recupéré ma date en format dateline donc 1118762967 par exemple et je l'ai mis en variable ($date) et ensuite j'ai fait
$date = vbdate($vbulletin->options['dateformat']);
et ya plus qua faire afficher $date

mais la soluce de christounet est bien meilleur ;)