added classname to billdata

This commit is contained in:
kremsy
2015-07-10 22:56:27 +02:00
parent ef7ddc0de2
commit 8a29489285
4 changed files with 19 additions and 5 deletions

View File

@ -22,10 +22,12 @@ class BillData {
public $amount = 0;
public $creationTime = -1;
public $message = "";
public $class = "";
/**
* Construct new Bill Data Model
*
* @param string $class
* @param callable $function
* @param Player|string $player
* @param int $amount
@ -33,7 +35,8 @@ class BillData {
* @param string $receiverLogin
* @param string $message
*/
public function __construct(callable $function, $player, $amount, $pay = false, $receiverLogin = null, $message = '') {
public function __construct($class, callable $function, $player, $amount, $pay = false, $receiverLogin = null, $message = '') {
$this->class = $class;
$this->function = $function;
$this->player = $player;
$this->amount = $amount;

View File

@ -58,16 +58,21 @@ class BillManager implements CallbackListener {
* @return bool
*/
public function sendBill(callable $function, Player $player, $amount, $message, $receiver = '') {
//Get the Caller Class
$backTrace = debug_backtrace();
$class = $backTrace[1]['class'];
try {
$billId = $this->maniaControl->getClient()->sendBill($player->login, intval($amount), $message, $receiver);
} catch (InvalidArgumentException $e) {
//TODO better error handling, maybe call the user func with ERROR_WHILE_TRANSACTION
return false;
}
$this->openBills[$billId] = new BillData($function, $player, $amount, false, $receiver, $message);
$this->openBills[$billId] = new BillData($class, $function, $player, $amount, false, $receiver, $message);
return true;
}
/**
* Send planets from the server to a player
*
@ -78,12 +83,17 @@ class BillManager implements CallbackListener {
* @return bool
*/
public function sendPlanets(callable $function, $receiverLogin, $amount, $message) {
//Get the Caller Class
$backTrace = debug_backtrace();
$class = $backTrace[1]['class'];
try {
$billId = $this->maniaControl->getClient()->pay($receiverLogin, intval($amount), $message);
} catch (InvalidArgumentException $e) {
return false;
}
$this->openBills[$billId] = new BillData($function, $receiverLogin, $amount, true, $receiverLogin, $message);
$this->openBills[$billId] = new BillData($class, $function, $receiverLogin, $amount, true, $receiverLogin, $message);
return true;
}