Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
J'ai programmé ça, mais l'explication est assez fouillis, y'a pas de numéros de ligne (mes pages étaient trop modifiées pour que ce soit les bonnes lignes).
Si bous suivez bien tout ça, cela devrait marcher 
Have fun !
------- Base de données :
Rajouter le champ "birthdate" à la table *_users :
type : DATE
default : 0000-00-00
NOT NULL
*************************************************************
-------./INDEX.PHP
*************************************************************
-------A LA FIN, TROUVER:
}
else
echo "\t\t".'</dl>'."\n\t\t\t".'<div class="clearer"></div>'."\n";
?>
</div>
</div>
</div>
-------À AJOUTER AVANT :
// liste des anniversaires
$monthtoday=date('m');
$daytoday=date('d');
$result = $db->query('SELECT username, id from '.$db->prefix.'users WHERE DAYOFMONTH(birthdate)=\''.$daytoday.'\' AND
MONTH(birthdate)=\''.$monthtoday.'\' ORDER by username ASC') or error('Impossible de retrouver la liste des utilisateurs ayant leur
anniversaire aujourd\'hui', __FILE__, __LINE__, $db->error());
$birthdays_today = array();
while ($pun_birthdays_today = $db->fetch_assoc($result))
$birthdays_today[] .= "\n\t\t\t\t".'<dd><a
href="profile.php?id='.$pun_birthdays_today['id'].'">'.$pun_birthdays_today['username'].'</a>';
$num_birthdays_today = count($birthdays_today);
if ($num_birthdays_today=='0') $num_birthdays_today=$lang_index['None'].' ';
echo '<dl id="birthdayslist"><dd><strong>'.$num_birthdays_today.' '.$lang_index['Birthday Today'].'</strong>';
if ($num_birthdays_today > 0)
echo ': '.implode(',</dd> ', $birthdays_today).'</dd>'."\n\t\t\t".'</dl>'."\n";
*************************************************************
-------./LANG/FRENCH/INDEX.PHP
*************************************************************
---------------rajouter à l'array :
'Birthday Today' => 'anniversaire(s) aujourd\'hui',
'None' => 'Aucun',
*************************************************************
-------./LANG/FRENCH/PROFILE.PHP
*************************************************************
---------------rajouter à l'array :
'Age' => 'Âge',
'Birthdate' => 'Date de naissance',
'BirthdateFormat' => 'JJ/MM/AAAA',
'Invalid date' => 'Date invalide',
'Years' => 'Ans',
*************************************************************
-------./LANG/ENGLISH/PROFILE.PHP
*************************************************************
'Age' => 'Age',
'Birthdate' => 'Date of birth',
'BirthdateFormat' => 'DD/MM/YYYY',
'Invalid date' => 'Invalid date',
'Years' => 'Years',
*************************************************************
-------./LANG/ENGLISH/INDEX.PHP
*************************************************************
------------------rajouter a l'array :
'Birthday Today' => 'birthday(s) today',
'None' => 'No',
*************************************************************
-------./PROFILE.PHP
*************************************************************
---------------trouver :
<dt><?php echo $lang_profile['Location'] ?>: </dt>
---------------rajouter avant:
<dt><?php echo $lang_profile['Age'] ?>: </dt>
<dd><?php echo $age ?> <?php echo $lang_profile['Years'] ?></dd>
------------------------------------------------------------
---------------trouver :
$result = $db->query('SELECT u.username,
---------------rajouter à la requete :
u.birthdate,
*************************************************************
---------------trouver :
$form = extract_elements(array('realname',
---------------rajouter à l'array :
'birthdate',
*************************************************************
---------------trouver :
// Add http:// if the URL doesn't contain it already
if ($form['url'] != '' && !stristr($form['url'], 'http://'))
$form['url'] = 'http://'.$form['url'];
---------------rajouter après :
// remet la date à zero si date est vide ou date = JJ/MM/AAAA
if ($form['birthdate'] == $lang_profile['BirthdateFormat'] OR $form['birthdate'] == '') {
$form['birthdate'] = '0000-00-00';
}
// Formate la date si différent de 0000-00-00 et si la date est valide
if ($form['birthdate'] != '0000-00-00') {
$form_birthdate = explode ("/",$form['birthdate']);
if (is_numeric($form_birthdate[0]) == 'true' && is_numeric($form_birthdate[1]) == 'true' && is_numeric($form_birthdate[2]) == 'true' &&
strlen($form_birthdate[2]) == '4' && strlen($form_birthdate[1]) == '2' && strlen($form_birthdate[0]) == '2' && $form_birthdate[0] <= '31' &&
$form_birthdate[1] <= '12' && $form_birthdate[2] < ''.date('Y').'') {
$form['birthdate'] = $form_birthdate[2]."-".$form_birthdate[1]."-".$form_birthdate[0];
}
else { $form['birthdate'] = '0000-00-00'; message($lang_profile['Birthdate'].':
'.$lang_profile['Invalid date']); }
}
*************************************************************
---------------trouver :
$posts_field = '';
if ($pun_config['o_show_post_count'] == '1' || $pun_user['g_id'] < PUN_GUEST)
$posts_field = $user['num_posts'];
if ($pun_user['g_search'] == '1')
$posts_field .= (($posts_field != '') ? ' - ' : '').'<a
href="search.php?action=show_user&user_id='.$id.'">'.$lang_profile['Show posts'].'</a>';
$page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_common['Profile'];
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';
---------------rajouter après :
// on calcule la date en format francais
$birthdate = explode ("-",$user['birthdate']);
if ($user['birthdate']!="0000-00-00") {
$birthdate = $birthdate[2]."/".$birthdate[1]."/".$birthdate[0];
// enregistrement de la date du jour
$DATEDUJOUR = date("Y-m-d");
$DATEFRAN = date("d/m/Y");
// calcul de mon age d'après la date de naissance $ddn
$annais = substr("$birthdate", 6, 4);
$anjour = substr("$DATEFRAN", 6, 4);
$moisnais = substr("$birthdate", 3, 2);
$moisjour = substr("$DATEFRAN", 3, 2);
$journais = substr("$birthdate", 0, 2);
$jourjour = substr("$DATEFRAN", 0, 2);
$age = $anjour-$annais;
if ($moisjour<$moisnais){$age=$age-1;}
if ($jourjour<$journais && $moisjour==$moisnais){$age=$age-1;}
}
else { $age=$lang_profile['Unknown']; }
*************************************************************
---------------trouver :
else if ($section == 'personal')
{
if ($pun_user['g_set_title'] == '1')
$title_field = '<label>'.$lang_common['Title'].' (<em>'.$lang_profile['Leave blank'].'</em>)<br /><input
type="text" name="title" value="'.pun_htmlspecialchars($user['title']).'" size="30" maxlength="50" /><br /></label>'."\n";
$page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_common['Profile'];
require PUN_ROOT.'header.php';
generate_profile_menu('personal');
---------------rajouter après :
// on calcule la date en format francais
$birthdate = explode ("-",$user['birthdate']);
if ($user['birthdate']!="0000-00-00") {
$birthdate = $birthdate[2]."/".$birthdate[1]."/".$birthdate[0];
}
else { $birthdate=$lang_profile['BirthdateFormat']; }
*************************************************************
---------------trouver :
<legend><?php echo $lang_profile['Personal details legend'] ?></legend>
<div class="infldset">
<input type="hidden" name="form_sent" value="1" />
---------------rajouter après :
<label><?php echo $lang_profile['Birthdate'] ?><br /><input type="text"
name="form[birthdate]" value="<?php echo pun_htmlspecialchars($birthdate) ?>" size="10" maxlength="10" /><br /></label>
*************************************************************
----------------- style/imports/base.css
*************************************************************
------------- trouver :
/* 8.1 Horizontal display of online list, main navigation menu and breadcrumbs */
#onlinelist DD, #onlinelist DT, #onlinetodaylist DD, #onlinetodaylist DT,
#brdmenu LI, DIV.linkst LI, DIV.linksb LI, DIV.postlinksb LI,
DIV.postfootright LI, UL.bblinks LI {
DISPLAY: inline;
HEIGHT: 0
}
------------Remplacer par :
/* 8.1 Horizontal display of online list, main navigation menu and breadcrumbs */
#birthdayslist DD, #birthdayslist DT, #onlinelist DD, #onlinelist DT, #onlinetodaylist DD, #onlinetodaylist DT,
#brdmenu LI, DIV.linkst LI, DIV.linksb LI, DIV.postlinksb LI,
DIV.postfootright LI, UL.bblinks LI {
DISPLAY: inline;
HEIGHT: 0
}Dernière modification par Keulig (16-10-2005 12:37:24)
Hors ligne
Bah, j'ai petit message d'erreur :
Warning: ob_start() [ref.outcontrol]: output handler 'ob_gzhandler' cannot be used twice in c:\wamp\www\punbb\include\functions.php on line 938
An error was encountered
Error: Impossible de retrouver la liste des utilisateurs ayant leur anniversaire aujourd'hui.Hors ligne
Suis à nouveau toute la procédure, j'ai rajouté quelques trucs que j'avais oublié (style et langue..).
mais c'est étrange que ca te donne ça... chez moi ca marche nickel...
Dernière modification par Keulig (19-07-2005 00:32:46)
Hors ligne
Keulig,
Ok je remet au boulot. Et je le refait calmement.
Je pense que c'est le fichier profile.php de la racine qui ne va pas chez moi. 
Hors ligne
Merci pour ton mail Keulig !!!
C'est sympat.
Ca ne marche tjrs pas !!
Je voudrai savoir si la mod de ./index.php est dépendante des modif sur ./PROFILE.PHP. ? 
Car dès que je fais la mod sur ./index.php, j'ai le message d'erreur du dessus !! 
Hors ligne
Non c'est dépendant, mais contacte moi par msn pour régler ça 
Hors ligne
Bah merci Keulig.
Mais je n'aime pas MSN c'est sans doute que parce que c'est du Bill ... 
Je te passerai mes fichiers si tu veux bien, si ma troisième tentative est infructueuse. 
Hors ligne
Bonjour à tous,
J'essaye actuellement d'installer le module !
Croyez-vous qu'il serait possible de recevoir les fichiers ? 
En effet, j'ai un petit souci avec la page profile.php :s
En vous remerciant,
Polux 
Hors ligne
Tout est expliqué...
Sinon il y'a le mod Calendar qui rajoute la date de naissance au profil.
Hors ligne
j'ai une page blanche sur l'index... ca marche pas je comprends pas pk..
j'avais essayé le mod calendar de guizzmo et mm pb...
au niveau des sauts de ligne, y a quoi exactement à modifier ?
par avance, merci
L'expérience est un lanterne que l'on porte accrochée dans le dos et qui n'éclaire que le chemin parcouru.
Hors ligne
disons qu'il faut bidouiller soi-même, et désolé j'ai la flemme de bien refaire cette explication 
Hors ligne
ou comment saborder son travail ...
http://www.foxmask.info
HaveFnuBB! le seul forum produit avec le framework PHP5 Jelix
(dé)pot de miel
Membre de la CoreTeam Jelix
Hors ligne
disons qu'il faut bidouiller soi-même, et désolé j'ai la flemme de bien refaire cette explication
pour les sauts de lignes, y a le lien et la query..
mais sinon, concernant le champ à rajouter à la table users, il manque rien ? en valeur? en attributs
pour les fichiers lang : peu importe la place dans l'array ?
par avance, merci
L'expérience est un lanterne que l'on porte accrochée dans le dos et qui n'éclaire que le chemin parcouru.
Hors ligne
bon mon pb est avec le fichier index.php... je n'arrive pas à afficher la page, g une page blanche
d'où cela peut-il venir : voila mon code
// Fetch users online info and generate strings for output
$num_guests = 0;
$users = array();
$result = $db->query('SELECT user_id, ident, color FROM '.$db->prefix.'online WHERE idle=0 ORDER BY ident', true) or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());
while ($pun_user_online = $db->fetch_assoc($result))
{
if ($pun_user_online['user_id'] > 1)
$users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'"><span style="color: '.$pun_user_online['color'].'">'.pun_htmlspecialchars($pun_user_online['ident']).'</span></a>';
else
++$num_guests;
}
$num_users = count($users);
echo "\t\t\t\t".'<dd>'. $lang_index['Users online'].': <strong>'.$num_users.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Guests online'].': <strong>'.$num_guests.'</strong></dd>'."\n\t\t\t".'</dl>'."\n";
if ($num_users > 0)
echo "\t\t\t".'<dl id="onlinelist" class= "clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online'].': </strong></dt>'."\t\t\t\t".implode(',</dd> ', $users).'</dd>'."\n\t\t\t".'</dl>'."\n";
else
echo "\t\t\t".'<div class="clearer"></div>'."\n";
// liste des anniversaires
$monthtoday=date('m');
$daytoday=date('d');
$result = $db->query('SELECT username, id from '.$db->prefix.'users WHERE DAYOFMONTH(birthdate)=\''.$daytoday.'\' AND MONTH(birthdate)=\''.$monthtoday.'\' ORDER by username ASC') or error('Impossible de retrouver la liste des utilisateurs ayant leur anniversaire aujourd\'hui', __FILE__, __LINE__, $db->error());
$birthdays_today = array();
while ($pun_birthdays_today = $db->fetch_assoc($result))
$birthdays_today[] .= "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_birthdays_today['id'].'">'.$pun_birthdays_today['username'].'</a>';
$num_birthdays_today = count($birthdays_today);
if ($num_birthdays_today=='0') $num_birthdays_today=$lang_index['None'].' ';
echo '<dl id="birthdayslist"><dd><strong>'.$num_birthdays_today.' '.$lang_index['Birthday Today'].'</strong>';
if ($num_birthdays_today > 0)
echo ': '.implode(',</dd> ', $birthdays_today).'</dd>'."\n\t\t\t".'</dl>'."\n";
}
else
echo "\t\t".'</dl>'."\n\t\t\t".'<div class="clearer"></div>'."\n";
?>
</div>
</div>
</div>
<?phppar avance, merci bcp de vos réponses
Dernière modification par Le daman (12-04-2006 11:56:22)
L'expérience est un lanterne que l'on porte accrochée dans le dos et qui n'éclaire que le chemin parcouru.
Hors ligne
c corrigé, ca devait venir de la place du code dans les fichiers lang.. ; il faut mettre
---------------rajouter à l'array avant Board Info:
'Birthday Today' => 'anniversaire(s) aujourd\'hui',
'None' => 'Aucun',
*************************************************************
-------./LANG/FRENCH/PROFILE.PHP
*************************************************************
---------------rajouter à l'array, avant Location :
'Age' => 'Âge',
'Birthdate' => 'Date de naissance',
'BirthdateFormat' => 'JJ/MM/AAAA',
'Invalid date' => 'Date invalide',
'Years' => 'Ans',
merci à Keulig pour ses mails
L'expérience est un lanterne que l'on porte accrochée dans le dos et qui n'éclaire que le chemin parcouru.
Hors ligne
Au fait, vous n'utiliser pas cette mod. 
Hors ligne
petit détail, comment demander l'anniversaire d'une personne lors de l'enregistrement, à savoir dans registrer.php svp?
Hors ligne