/** * Добавляет нового пользователя в базу или редактирует профиль существующего пользователя. * * @param array $data данные. * @param array $errors ошибки, возникшие в ходе выполнения операции. * @return array|bool возвращает пользователя или false в случаи критической ошибки. */ function userSave(array $data, array &$errors = null) { $id = isset($data['id']) ? (int) $data['id'] : null; $user = sanitize($data, userSanitizeRules(), $errors); if ($errors) { return $user; } if (!$id) { $storedUser = storageGetItemBy(ENTITY_USER, 'username', $user['username']); if ($storedUser) { $errors['exists'] = 'Пользователь с таким именем уже существует!'; return $user; } $user['created'] = mktime(); } if ($user['password'] != $data['password_repeat']) { $errors['password'] = '******'; return $user; } $user['password'] = password_hash($user['password'], PASSWORD_DEFAULT); $status = storageSaveItem(ENTITY_USER, $user); if (!$status) { $errors['db'] = 'Не удалось записать данные в базу'; } return $user; }
function saveUser($data, &$errors = null) { $id = isset($data['id']) ? $data['id'] : null; $user = $data; //азультат после очистки и валидации if ($errors) { return $user; } // $user['update'] = mktime(); if (!$id) { $storedUser = storageGetItemBy(ENTTY_USER, 'login', $user['login']); if ($storedUser) { $errors['exists'] = 'Пользователь с таким именем уже существует!'; return $user; } $user['created'] = mktime(); } if ($user['password'] != $data['wpassword']) { $errors['password'] = '******'; echo 'Введенные пароли не совпадают'; return $user; } // $user['password'] = password_hash($user['password'], PASSWORD_DEFAULT); $status = storageSaveItem(ENTTY_USER, $user); if (!$status) { $errors['db'] = 'Не удалось записать данные в базу'; } return $user; }
function getUserBy($attribute, $value) { return storageGetItemBy(ENTITY_USER, $attribute, $value); }