forked from projects/fipamo
63 lines
1.6 KiB
PHP
63 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace brain\data;
|
|
|
|
use brain\data\Settings;
|
|
use brain\data\Session;
|
|
use brain\utility\DocTools;
|
|
|
|
use function _\find;
|
|
|
|
class Member
|
|
{
|
|
public function __construct()
|
|
{
|
|
}
|
|
|
|
public static function verifyKey(string $key)
|
|
{
|
|
if (isset($key)) {
|
|
$folks = (new Settings())->getFolks();
|
|
$found = find($folks, ["key" => $key]);
|
|
if ($found) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public static function updateData(string $key, string $data, $secret = null)
|
|
{
|
|
$folks = (new Settings())->getFolks();
|
|
if (isset($secret)) {
|
|
$found = find($folks, ["secret" => $secret]);
|
|
} else {
|
|
$member = Session::get("member");
|
|
$found = find($folks, ["handle" => $member["handle"]]);
|
|
}
|
|
$found[$key] = $data;
|
|
//record time updated
|
|
$updated = new \Moment\Moment();
|
|
$found["updated"] = $updated->format("Y-m-d\TH:i:sP");
|
|
$newFolks = [];
|
|
array_push($newFolks, $found);
|
|
//save updated file
|
|
DocTools::writeSettings("../config/folks.json", $newFolks);
|
|
//update member data in session
|
|
|
|
if (!isset($secret)) {
|
|
$member = [
|
|
"handle" => $found["handle"],
|
|
"email" => $found["email"],
|
|
"role" => $found["role"],
|
|
"avatar" => $found["avi"],
|
|
"key" => $found["key"],
|
|
];
|
|
Session::set("member", $member);
|
|
}
|
|
}
|
|
}
|