/**
*
*/
public function reset()
{
$rep = $this->getResponse('redirect');
$rep->action = 'jpref_admin~prefs:index';
$id = $this->param('id', 0);
$pref = jPrefManager::getPref($id);
if (!$id || !$pref || empty($pref->default_value) && $pref->type != 'boolean') {
return $rep;
}
if (!$pref->isWritable()) {
jMessage::add(jLocale::get('jacl2~errors.action.right.needed'), 'error');
return $rep;
}
$dvalue = $pref->default_value;
if ($pref->type == 'integer') {
$dvalue = (int) $dvalue;
} elseif ($pref->type == 'decimal') {
$dvalue = (double) $dvalue;
} elseif ($pref->type == 'boolean') {
if ($dvalue == 'false') {
$dvalue = false;
} else {
if ($dvalue == 'true') {
$dvalue = true;
}
}
}
jPref::set($pref->id, $dvalue);
jMessage::add(jLocale::get('jpref_admin~admin.message.pref.reseted'), 'notice');
return $rep;
}