public function resetPassword($username, $password, $key)
{
$kga = $this->getKga();
$database = $this->getDatabase();
$is_customer = $database->is_customer_name($username);
if ($is_customer) {
$customerId = $database->customer_nameToID($username);
$customer = $database->customer_get_data($customerId);
if ($key != $customer['passwordResetHash']) {
return array('message' => $kga['lang']['passwordReset']['invalidKey']);
}
$data = array('password' => encode_password($password), 'passwordResetHash' => null);
$database->customer_edit($customerId, $data);
} else {
$userId = $database->user_name2id($username);
$user = $database->user_get_data($userId);
if ($key != $user['passwordResetHash']) {
return array('message' => $kga['lang']['passwordReset']['invalidKey']);
}
$data = array('password' => encode_password($password), 'passwordResetHash' => null);
$database->user_edit($userId, $data);
}
return array('message' => $kga['lang']['passwordReset']['success'], 'showLoginLink' => true);
}