You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
<?php
|
|
|
|
use function _\find;
|
|
|
|
|
|
|
|
class Member
|
|
|
|
{
|
|
|
|
public function __construct()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
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"],
|
|
|
|
];
|
|
|
|
Session::set("member", $member);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|