/** Class coded by Stay. BandzCMS 2015 **\\
<?php
class Transfer extends TableHolder
{
public static function getTable ()
{
return 'bandz_transfers';
}
public static function getIdentifyingRow ()
{
return 'id';
}
public function __construct ($id)
{
$query = $this->prepare ('SELECT * FROM `'. $this->safe ($this->getTable ()) .'` WHERE '.$this->safe ($this->getIdentifyingRow ()) .' = :id LIMIT 1');
$query->execute (array (':id' => $id));
if ($query->rowCount () < 1)
exit ('<strong>BandzCMS Element -></strong> Transaction with ID '. $id .' does not exist.');
$this->identifier = $id;
$this->data = $query->fetch (PDO::FETCH_ASSOC);
}
public static function checkUser ($username)
{
$query = static::prepare ('SELECT * FROM users WHERE username = :id');
$query->execute (array (
':id' => $username,
));
if ($query->rowCount () > 0)
return TRUE;
}
public static function checkPoints ($user, $points)
{
$query = static::prepare ("SELECT * FROM users WHERE id = :id AND vip_points > :points");
$query->execute (array (':id' => $user, ':points' => $points+5));
if ($query->rowCount () > 0){
return TRUE;
}
}
public static function transfer ($from, $amount, $to)
{
$query = static::prepare ("INSERT INTO bandz_transfers (from_name, to_name, amount, datum) values (:van, :to, :amount, NOW())");
$query->execute (array (
':van' => $from,
':to' => $to,
':amount' => $amount,
));
$query = static::prepare ('UPDATE users SET vip_points = vip_points - :price WHERE username = :uid LIMIT 1');
$query->execute (array (
':uid' => $from,
':price' => $amount+5,
));
$query = static::prepare ('UPDATE users SET vip_points = vip_points + :price WHERE username = :to LIMIT 1');
$query->execute (array (
':to' => $to,
':price' => $amount,
));
if($query){
$succes = 'Voltooid';
} else {
$error = 'Mislukt';
}
}
public static function getTrans ($desc = true, $asArray = true, $naam)
{
$query = static::prepare ("SELECT id FROM bandz_transfers WHERE from_name = :naam OR to_name = :naem ORDER BY datum ". ($desc ? 'DESC' : 'ASC'));
$query->execute (array (':naam' => $naam,
':naem' => $naam));
$results = $query->fetchAll (PDO::FETCH_ASSOC);
$output = array ();
if ($asArray)
foreach ($results as $rank)
$output [] = (new Transfer ($rank ['id']))->getData ();
else
foreach ($results as $rank)
$output [] = new Transfer ($rank ['id']);
return $output;
}
}
?>