Example #1
0
function getAcheivements()
{
    $sql = 'SELECT a.id, u.username, a.title, a.description FROM acheivments_earnt e LEFT JOIN achievements a ON e.acheiv = a.id LEFT JOIN users u ON e.user = u.id WHERE u.id = :userId ';
    $stmt = DatabaseFactory::getInstance()->prepare($sql);
    $stmt->bindValue(':userId', Session::getUser()->getId());
    $stmt->execute();
    $acheivs = $stmt->fetchAll();
    applyAcheivIcons($acheivs);
    return $acheivs;
}
<?php

require_once 'includes/common.php';
use libAllure\Session;
if (!Session::isLoggedIn()) {
    redirect('login.php', 'You need to be logged in!');
}
require_once 'includes/widgets/header.php';
applyAchievements();
$sql = 'SELECT a.id, a.title, a.description FROM achievements a';
$stmt = $db->prepare($sql);
$stmt->execute();
$avail = $stmt->fetchAll();
$earned = getAcheivements();
$earnedIds = array();
foreach ($earned as $acheiv) {
    $earnedIds[] = $acheiv['id'];
}
for ($i = 0; $i < sizeof($avail); $i++) {
    $avail[$i]['earned'] = in_array($avail[$i]['id'], $earnedIds);
}
applyAcheivIcons($avail);
$tpl->assign('listAchievements', $avail);
$tpl->display('listAchievements.tpl');
require_once 'includes/widgets/footer.php';