[ticket/10428] Use phpbb_optionget/set in optionget/set for DRYness.

PHPBB3-10428
This commit is contained in:
Oleg Pudeyev 2011-12-23 12:52:51 -05:00
parent 16ae99eec8
commit 99c102344e
2 changed files with 24 additions and 32 deletions

View file

@ -2347,27 +2347,23 @@ class acp_users
$var = ($data !== false) ? $data : $user_row['user_options']; $var = ($data !== false) ? $data : $user_row['user_options'];
if ($value && !($var & 1 << $user->keyoptions[$key])) $new_var = phpbb_optionset($user->keyoptions[$key], $value, $var);
{
$var += 1 << $user->keyoptions[$key];
}
else if (!$value && ($var & 1 << $user->keyoptions[$key]))
{
$var -= 1 << $user->keyoptions[$key];
}
else
{
return ($data !== false) ? $var : false;
}
if ($data === false) if ($data === false)
{ {
$user_row['user_options'] = $var; if ($new_var != $var)
{
$user_row['user_options'] = $new_var;
return true; return true;
} }
else else
{ {
return $var; return false;
}
}
else
{
return $new_var;
} }
} }
@ -2379,7 +2375,7 @@ class acp_users
global $user; global $user;
$var = ($data !== false) ? $data : $user_row['user_options']; $var = ($data !== false) ? $data : $user_row['user_options'];
return ($var & 1 << $user->keyoptions[$key]) ? true : false; return phpbb_optionget($user->keyoptions[$key], $var);
} }
} }

View file

@ -2341,7 +2341,7 @@ class user extends session
function optionget($key, $data = false) function optionget($key, $data = false)
{ {
$var = ($data !== false) ? $data : $this->data['user_options']; $var = ($data !== false) ? $data : $this->data['user_options'];
return ($var & 1 << $this->keyoptions[$key]) ? true : false; return phpbb_optionget($this->keyoptions[$key], $var);
} }
/** /**
@ -2351,27 +2351,23 @@ class user extends session
{ {
$var = ($data !== false) ? $data : $this->data['user_options']; $var = ($data !== false) ? $data : $this->data['user_options'];
if ($value && !($var & 1 << $this->keyoptions[$key])) $new_var = phpbb_optionset($this->keyoptions[$key], $value, $var);
{
$var += 1 << $this->keyoptions[$key];
}
else if (!$value && ($var & 1 << $this->keyoptions[$key]))
{
$var -= 1 << $this->keyoptions[$key];
}
else
{
return ($data !== false) ? $var : false;
}
if ($data === false) if ($data === false)
{ {
$this->data['user_options'] = $var; if ($new_var != $var)
{
$this->data['user_options'] = $new_var;
return true; return true;
} }
else else
{ {
return $var; return false;
}
}
else
{
return $new_var;
} }
} }