bugfix marking of db-values

This commit is contained in:
Philipp Holzer 2019-02-22 23:57:04 +01:00
parent b47fc97b06
commit 8d56fb8fbe
No known key found for this signature in database
GPG key ID: 517BE60E2CE5C8A5

View file

@ -49,15 +49,19 @@ class JITPConfigAdapter extends AbstractDbaConfigAdapter implements IPConfigAdap
/** /**
* {@inheritdoc} * {@inheritdoc}
*
* @param bool $mark if true, mark the selection of the current cat/key pair
*/ */
public function get($uid, $cat, $key) public function get($uid, $cat, $key, $mark = true)
{ {
if (!$this->isConnected()) { if (!$this->isConnected()) {
return null; return null;
} }
// The value was in the db, so don't check it again (unless you have to) // The value was in the db, so don't check it again (unless you have to)
$this->in_db[$uid][$cat][$key] = true; if ($mark) {
$this->in_db[$uid][$cat][$key] = true;
}
$pconfig = DBA::selectFirst('pconfig', ['v'], ['uid' => $uid, 'cat' => $cat, 'k' => $key]); $pconfig = DBA::selectFirst('pconfig', ['v'], ['uid' => $uid, 'cat' => $cat, 'k' => $key]);
if (DBA::isResult($pconfig)) { if (DBA::isResult($pconfig)) {
@ -86,7 +90,7 @@ class JITPConfigAdapter extends AbstractDbaConfigAdapter implements IPConfigAdap
// The exception are array values. // The exception are array values.
$dbvalue = (!is_array($value) ? (string)$value : $value); $dbvalue = (!is_array($value) ? (string)$value : $value);
$stored = $this->get($uid, $cat, $key); $stored = $this->get($uid, $cat, $key, false);
if (!isset($this->in_db[$uid])) { if (!isset($this->in_db[$uid])) {
$this->in_db[$uid] = []; $this->in_db[$uid] = [];