Handle 0s and 1s

This commit is contained in:
Marcin Łojewski
2018-12-25 10:01:53 +01:00
parent a3a2a90d87
commit 7f84113bca
3 changed files with 50 additions and 17 deletions

View File

@@ -73,13 +73,23 @@ user_sql.adminSettingsUI = function () {
if (data.status === "success") { if (data.status === "success") {
for (var index = 0, length = data.data.length; index < length; ++index) { for (var index = 0, length = data.data.length; index < length; ++index) {
content.append("<div><label for=\"opt-crypto_param_" + index var param = $("<div></div>");
+ "\"><span>" + data.data[index]["name"] var label = $("<label></label>").attr({for: "opt-crypto_param_" + index});
+ "</span><input type=\"number\" id=\"opt-crypto_param_" var title = $("<span></span>").text(data.data[index]["name"]);
+ index + "\" name=\"opt-crypto_param_" + index var input = $("<input/>").attr({
+ "\" step=\"1\" min=\"" + data.data[index]["min"] + "\" max=\"" type: "number",
+ data.data[index]["max"] + "\" value=\"" + data.data[index]["value"] id: "opt-crypto_param_" + index,
+ "\"></label></div>"); name: "opt-crypto_param_" + index,
step: 1,
min: data.data[index]["min"],
max: data.data[index]["max"],
value: data.data[index]["value"]
});
label.append(title);
param.append(label);
param.append(input);
content.append(param);
content.show(); content.show();
} }
} }

View File

@@ -399,7 +399,7 @@ class SettingsController extends Controller
"CRYPTO_PARAM_" . $key "CRYPTO_PARAM_" . $key
)]; )];
if (!empty($param)) { if (!is_null($param)) {
$value->value = $param; $value->value = $param;
} }
} }

View File

@@ -70,7 +70,8 @@ class Properties implements \ArrayAccess
*/ */
public function __construct( public function __construct(
$AppName, IConfig $config, ILogger $logger, Cache $cache $AppName, IConfig $config, ILogger $logger, Cache $cache
) { )
{
$this->appName = $AppName; $this->appName = $AppName;
$this->config = $config; $this->config = $config;
$this->logger = $logger; $this->logger = $logger;
@@ -99,11 +100,13 @@ class Properties implements \ArrayAccess
foreach ($params as $param) { foreach ($params as $param) {
$value = $this->config->getAppValue($this->appName, $param, null); $value = $this->config->getAppValue($this->appName, $param, null);
if ($this->isBooleanParam($param)) {
if ($value === App::FALSE_VALUE) { if ($value === App::FALSE_VALUE) {
$value = false; $value = false;
} elseif ($value === App::TRUE_VALUE) { } elseif ($value === App::TRUE_VALUE) {
$value = true; $value = true;
} }
}
$this->data[$param] = $value; $this->data[$param] = $value;
} }
@@ -116,6 +119,24 @@ class Properties implements \ArrayAccess
); );
} }
/**
* Is given parameter a boolean parameter.
*
* @param $param string Parameter name.
*
* @return bool Is a boolean parameter.
*/
private function isBooleanParam($param)
{
return in_array(
$param, [
Opt::APPEND_SALT, Opt::CASE_INSENSITIVE_USERNAME,
Opt::NAME_CHANGE, Opt::PASSWORD_CHANGE, Opt::PREPEND_SALT,
Opt::REVERSE_ACTIVE, Opt::USE_CACHE
]
);
}
/** /**
* Return an array with all supported parameters. * Return an array with all supported parameters.
* *
@@ -186,11 +207,13 @@ class Properties implements \ArrayAccess
{ {
$this->config->setAppValue($this->appName, $offset, $value); $this->config->setAppValue($this->appName, $offset, $value);
if ($this->isBooleanParam($offset)) {
if ($value === App::FALSE_VALUE) { if ($value === App::FALSE_VALUE) {
$value = false; $value = false;
} elseif ($value === App::TRUE_VALUE) { } elseif ($value === App::TRUE_VALUE) {
$value = true; $value = true;
} }
}
$this->data[$offset] = $value; $this->data[$offset] = $value;