Пример #1
0
<?php

$form = new Odf\Form('settings/settings');
$form->validate();
if ($errors = $form->getErrors()) {
    return $Javascript->setErrors($errors)->output();
}
$form_input = $form->getInput();
// Check if passwords match.
if ($form_input['password'] !== $form_input['repeat_password']) {
    return $Javascript->setError(__('Passwords do not match.'), 'password');
}
unset($form_input['repeat_password']);
// We don't want to pass the "repeat_password" field to the db.
// Email not already in use?
$users_table = new Tables\Users();
$email_in_use = !!$users_table->by('email', $form_input['email'])->where('id != ' . getUser()->id)->getFirst();
if ($email_in_use) {
    return $Javascript->setError(__('Email address already in use.'))->output();
}
// Update password if new password is given.
if (!empty($form_input['password'])) {
    $salt_1 = $Login->generateSalt();
    $salt_2 = $Login->generateSalt();
    $password = $Login->hash($form_input['password'], $salt_1, $salt_2);
    $form_input['salt_1'] = $salt_1;
    $form_input['salt_2'] = $salt_2;
    $form_input['password'] = $password;
} else {
    unset($form_input['password']);
}