Naargh. Well, the Code is correct - but the Data it relies on isn't
$userinfo['birthday'] is already formatted at this point. But in member_start it isn't yet defined ...
So:
Hook: fetch_userinfo
PHP Code:
if (THIS_SCRIPT == 'member')
{
$user['realbirthday'] = $user['birthday'];
}
Hook: member_complete
PHP Code:
$curyear = vbdate('Y', TIMENOW, false, false);
$curmonth = vbdate('n', TIMENOW, false, false);
$curday = vbdate('j', TIMENOW, false, false);
$date = explode('-', $userinfo['realbirthday']);
if ($curyear > $date[2] AND $date[2] != '0000')
{
$userinfo['age'] = $curyear - $date[2];
if ($curmonth < $date[0] OR ($curmonth == $date[0] AND $curday < $date[1]))
{
$userinfo['age']--;
}
if ($userinfo['age'] >= 101)
{
unset($userinfo['age']);
}
}
10 minutes ... hmm. Too long

I am getting old - or tired.