This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
pointsystemlib/pointsystemlib.php

74 lines
2.1 KiB
PHP

<?php
function loaddb() {
global $config;
$db = json_decode(file_get_contents($config["dbfile"]), true);
return $db;
}
function savedb($data) {
global $config;
return file_put_contents($config["dbfile"], json_encode($data));
}
function createuser($name, $basepoint=0.0) {
$db = loaddb();
$db["points"][$name] = $basepoint;
$db["logs"][$name][] = date(DATE_RFC822) . ": Init wallet:" . $basepoint;
savedb($db);
return true;
}
function removeuser($name) {
$db = loaddb();
unset($db["points"][$name], $db["logs"][$name]);
savedb($db);
return true;
}
function points($name) {
$db = loaddb();
$temp = $db["points"][$name];
return $temp;
}
function addpoint($name, $point, $reason="") {
$db = loaddb();
if ($point>0) {
$db["points"][$name] += $point;
$db["logs"][$name][] = date(DATE_RFC822) . ": Add " . $point . ": " . $reason;
savedb($db);
return true;
} else {
return false;
};
}
function rmpoint($name, $point, $reason="", $force=false) {
$db = loaddb();
if (($db["points"][$name]>=$point or $force) and $point>0) {
$db["points"][$name] -= $point;
$db["logs"][$name][] = date(DATE_RFC822) . ": Remove " . $point . ": " . $reason;
savedb($db);
return true;
} else {
return false;
};
}
function paypoint($byname, $toname, $point, $reason="") {
$db = loaddb();
if (($db["points"][$byname]>=$point and $point>0) and isset($db["points"][$byname], $db["points"][$toname])) {
$db["points"][$byname] -= $point;
$db["points"][$toname] += $point;
$db["logs"][$byname][] = date(DATE_RFC822) . ": Pay to" . $toname . ": " . $reason;
$db["logs"][$toname][] = date(DATE_RFC822) . ": Pay from" . $byname . ": " . $reason;
savedb($db);
return true;
} else {
return false;
};
}
function logpoint($name) {
$db = loaddb();
return $db["logs"][$name];
}
function addlog($name, $data) {
$db = loaddb();
$db["logs"][$name][] = date(DATE_RFC822) . ": " . $data;
savedb($db);
return true;
}
?>