Badge impl

This commit is contained in:
Astrologies 2021-12-22 05:34:06 -05:00
parent fced8a00eb
commit 031aebb1d3
2 changed files with 55 additions and 11 deletions

View File

@ -0,0 +1,44 @@
<?php
/*
Alphaland 2021
*/
namespace Alphaland\Users {
use PDO;
class Badge
{
public static function GiveOfficialBadge(int $badgeid, int $userid)
{
$gbadge = $GLOBALS['pdo']->prepare("INSERT INTO user_badges(uid,bid,isOfficial,whenEarned) VALUES(:n, :d, 1, UNIX_TIMESTAMP())");
$gbadge->bindParam(":n", $userid, PDO::PARAM_INT);
$gbadge->bindParam(":d", $badgeid, PDO::PARAM_INT);
if ($gbadge->execute()) {
return true;
}
return false;
}
public static function RemoveBadge(int $badgeid, int $userid)
{
$rbadge = $GLOBALS['pdo']->prepare("DELETE FROM user_badges WHERE uid = :u AND bid = :b");
$rbadge->bindParam(":u", $userid, PDO::PARAM_INT);
$rbadge->bindParam(":b", $badgeid, PDO::PARAM_INT);
$rbadge->execute();
if ($rbadge->rowCount() > 0) {
return true;
}
return false;
}
public static function UserBadgeInfo(int $badgeid)
{
$check = $GLOBALS['pdo']->prepare("SELECT * FROM badges WHERE id = :i");
$check->bindParam(":i", $badgeid, PDO::PARAM_INT);
$check->execute();
return $check->fetch(PDO::FETCH_OBJ);
}
}
}

View File

@ -1,5 +1,6 @@
<?php
use Alphaland\Users\Badge;
use Alphaland\Web\WebContextManager;
WebContextManager::ForceHttpsCloudflare();
@ -47,19 +48,18 @@ if(isset($_POST['rankuser']))
$badge = $pdo->prepare("DELETE FROM user_badges WHERE uid = :u AND (bid = 2 OR bid = 3)");
$badge->bindParam(":u", $userid, PDO::PARAM_INT);
$badge->execute();
if ($rank > 0)
{
$newbadge = 0;
if ($rank == 1)
if ($rank > 0) {
switch ($rank)
{
$newbadge = 2;
case 1:
Badge::GiveOfficialBadge(2, $userid);
break;
case 2:
Badge::GiveOfficialBadge(3, $userid);
break;
default:
break;
}
elseif($rank == 2)
{
$newbadge = 3;
}
giveBadge($newbadge, $userid);
}
}
}