Skip to content

Commit 71595f7

Browse files
author
Colin Yang
committed
Back - Standardlized operations on reserved keys
1 parent df0787f commit 71595f7

File tree

3 files changed

+22
-9
lines changed

3 files changed

+22
-9
lines changed

backend/class/api/Getvalue.class.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
class ApiGetvalue extends Api {
44

55
static function checkAllowBrowser() {
6-
if (json_decode(DbProvider::getDb()->get(DbBase::$KEY_MANAGE_SETTINGS), true)['allow_browser'] === 'false'
6+
if (json_decode(DbProvider::getDb()->getReserved(DbBase::$KEY_MANAGE_SETTINGS), true)['allow_browser'] === 'false'
77
&& (isset($_SERVER['HTTP_ORIGIN'])
88
|| isset($_SERVER['HTTP_REFERER'])
99
|| isset($_SERVER['HTTP_USER_AGENT'])
@@ -15,7 +15,7 @@ static function checkAllowBrowser() {
1515
}
1616

1717
private function handleSpecialTags($key) {
18-
$settings = json_decode(DbProvider::getDb()->get(DbBase::$KEY_MANAGE_SETTINGS), true);
18+
$settings = json_decode(DbProvider::getDb()->getReserved(DbBase::$KEY_MANAGE_SETTINGS), true);
1919
$special_tags = isset($settings['special_tags']) ? json_decode($settings['special_tags'], true) : [];
2020
$tag_count = !isset($special_tags['count'])
2121
? 'disabled'

backend/class/api/Manage.class.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
class ApiManage extends Api {
44

55
private static function password() {
6-
return DbProvider::getDb()->get(DbBase::$KEY_MANAGE_PASSWORD);
6+
return DbProvider::getDb()->getReserved(DbBase::$KEY_MANAGE_PASSWORD);
77
}
88
private static function initialized() {
99
return self::password() !== false;
@@ -29,12 +29,12 @@ private static function saltPassword($pwd) {
2929
}
3030

3131
private static function settings() {
32-
return json_decode(DbProvider::getDb()->get(DbBase::$KEY_MANAGE_SETTINGS), true);
32+
return json_decode(DbProvider::getDb()->getReserved(DbBase::$KEY_MANAGE_SETTINGS), true);
3333
}
3434
private static function updateSetting($settingId, $value) {
3535
$settings = self::settings();
3636
$settings[$settingId] = $value;
37-
DbProvider::getDb()->set(DbBase::$KEY_MANAGE_SETTINGS, json_encode($settings));
37+
DbProvider::getDb()->setReserved(DbBase::$KEY_MANAGE_SETTINGS, json_encode($settings));
3838
}
3939

4040
function handle() {
@@ -78,7 +78,7 @@ function handle() {
7878
return [ 'status' => STATUS_PASSWORD_INVALID, 'result' => 'Password should contains at least two of [0-9] [a-z] [!@#$%^&*]' ];
7979
}
8080
$pwd = self::saltPassword($pwd);
81-
DbProvider::getDb()->set(DbBase::$KEY_MANAGE_PASSWORD, $pwd);
81+
DbProvider::getDb()->setReserved(DbBase::$KEY_MANAGE_PASSWORD, $pwd);
8282
return [ 'result' => $generateSession($pwd) ];
8383
}
8484
}
@@ -144,7 +144,7 @@ function handle() {
144144
return [ 'result' => 'All data erased (except for reserved keys)' ];
145145
}
146146
case 'erase_pwd': {
147-
DbProvider::getDb()->delete(DbBase::$KEY_MANAGE_PASSWORD);
147+
DbProvider::getDb()->deleteReserved(DbBase::$KEY_MANAGE_PASSWORD);
148148
return [ 'result' => 'Password deleted, please set a new one ASAP' ];
149149
}
150150
case 'export': {

backend/class/db/Base.class.php

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,27 @@
33
abstract class DbBase {
44

55
public static $KEY_RESERVED_PREFIX = '___RESERVED_';
6-
public static $KEY_MANAGE_SETTINGS = '___RESERVED_MANAGE_SETTINGS';
7-
public static $KEY_MANAGE_PASSWORD = '___RESERVED_MANAGE_PASSWORD';
6+
public static $KEY_MANAGE_SETTINGS = 'MANAGE_SETTINGS';
7+
public static $KEY_MANAGE_PASSWORD = 'MANAGE_PASSWORD';
88

99
public static function keyReserved ($key) {
1010
$len = strlen(self::$KEY_RESERVED_PREFIX);
1111
return strlen($key) >= $len && substr($key, 0, $len) == self::$KEY_RESERVED_PREFIX;
1212
}
1313

14+
function hasReserved(string $key) {
15+
return $this->has(self::$KEY_RESERVED_PREFIX . $key);
16+
}
17+
function getReserved(string $key) {
18+
return $this->get(self::$KEY_RESERVED_PREFIX . $key);
19+
}
20+
function setReserved(string $key, string $value) {
21+
return $this->set(self::$KEY_RESERVED_PREFIX . $key, $value);
22+
}
23+
function deleteReserved(string $key) {
24+
return $this->delete(self::$KEY_RESERVED_PREFIX . $key);
25+
}
26+
1427
public static $SEARCH_RESULT_PER_PAGE = 20;
1528

1629
/**

0 commit comments

Comments
 (0)