Let me try to clear up the confusion too. The achievements work, they're given to everyone as expected. The problem is that on the "All Achievements" page the numbers of users who earned the achievements for Posts/Threads are wrong. Days Registered worked fine.
I believe this is where the issue is happening in allachievements.php
Code:
// Check if we've earned this reward or not
if ($rewardscache['achievement']["$achievementid"])
{
// Store time earned
$conditions[] = '<span class="smallfont">' . construct_phrase($vbphrase['dbtech_vbactivity_achievement_earned_x'], vbdate($vbulletin->options['timeformat'], $rewardscache['achievement']["$achievementid"]) . ' ' . vbdate($vbulletin->options['dateformat'], $rewardscache['achievement']["$achievementid"])) . '</span>';
}
if (!empty($friends["$achievementid"]))
{
if ($others["$achievementid"])
{
// We have franz with this achievement
$conditions[] = '<span class="smallfont">' . construct_phrase($vbphrase['dbtech_vbactivity_x_friends_y_others_have_this_achievement'], implode(', ', $friends["$achievementid"]), vb_number_format($others["$achievementid"])) . '</span>';
}
else
{
// We have franz with this achievement
$conditions[] = '<span class="smallfont">' . construct_phrase($vbphrase['dbtech_vbactivity_x_friends_have_this_achievement'], implode(', ', $friends["$achievementid"])) . '</span>';
}
}
else
{
if ($others["$achievementid"])
{
$conditions[] = '<span class="smallfont">' . construct_phrase($vbphrase['dbtech_vbactivity_x_people_have_this_achievement'], vb_number_format($others["$achievementid"])) . '</span>';
}
}
It's telling me "Others" have earned the achievement, not friends. But the number is so low so it has to be my friends.