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.
58 lines
1.6 KiB
PHP
58 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace brain\data;
|
|
|
|
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);
|
|
}
|
|
}
|
|
}
|