/** * Create a new user instance after a valid registration. * * @param array $data * @return User */ public function userCreate(array $data) { $user = ['status' => $this->defaultNewUserStatus(), 'username' => strtolower(!empty($data['username']) ? $data['username'] : null), 'name' => !empty($data['name']) ? $data['name'] : null, 'first_name' => !empty($data['first_name']) ? $data['first_name'] : null, 'last_name' => !empty($data['last_name']) ? $data['last_name'] : null, 'email' => strtolower($data['email']), 'email_verified' => $this->emailVerificationEnabled() ? 0 : 1, 'email_verified_at' => null, 'password' => zbase_bcrypt($data['password']), 'password_updated_at' => null, 'created_at' => zbase_date_now(), 'updated_at' => zbase_date_now(), 'deleted_at' => null]; if (empty($user['name']) && !empty($data['first_name'])) { $user['name'] = $data['first_name']; if (!empty($data['last_name'])) { $user['name'] .= ' ' . $data['last_name']; } } if (!empty($data['role'])) { $user['role'] = strtolower($data['role']); } unset($data['username']); unset($data['name']); unset($data['email']); unset($data['password']); if (!empty($data['first_name'])) { unset($data['first_name']); } if (!empty($data['last_name'])) { unset($data['last_name']); } if (!empty($data['role'])) { unset($data['role']); } $user = array_merge_recursive($user, $data); return zbase_entity('user')->create($user); }
/** * @group entity * @group Userentity */ public function testUpdatePassword() { $user = zbase_entity('user')->repository()->by('username', 'adminx')->first(); $user->password = zbase_bcrypt('password'); $user->unsetAllOptions(); $user->save(); zbase_alerts_reset(); $newPassword = '******'; $user->updateRequestPassword($newPassword); $this->assertTrue(zbase_alerts_has('info')); $this->assertFalse(empty($user->getDataOption('password_update_code', []))); $user->updatePassword($newPassword); $this->assertTrue(zbase_bcrypt_check($newPassword, $user->password)); $user->password = zbase_bcrypt('password'); $user->unsetAllOptions(); $user->save(); }
/** * Dx * * @link http://dennesabing.com * @author Dennes B Abing <*****@*****.**> * @license proprietary * @copyright Copyright (c) 2015 ClaremontDesign/MadLabs-Dx * @version 0.0.0.1 * @since Mar 5, 2016 11:51:42 PM * @file dsstore/module.php * */ return ['id' => 'testing', 'enable' => true, 'backend' => false, 'frontend' => false, 'routes' => ['generate_password' => ['usernameRouteCheck' => false, 'url' => '/test/generate-password/{password?}', 'view' => ['enable' => true, 'layout' => 'blank', 'name' => 'type.html', 'content' => function () { $password = zbase_route_input('password'); dd($password, zbase_bcrypt($password)); }]], 'testing_email_sending' => ['usernameRouteCheck' => false, 'url' => '/test/email-sending/{action?}', 'view' => ['enable' => true, 'layout' => 'blank', 'name' => 'type.html', 'content' => function () { $user = zbase_entity('user')->by('username', 'dennesabing'); $params = []; $params['token'] = zbase_generate_code(); $to = '*****@*****.**'; $fromEmail = zbase_config_get('email.noreply.email'); $fromName = zbase_config_get('email.noreply.name'); $subject = 'Test Subject'; $headers = "From: " . $fromName . " <{$fromEmail}>\r\n"; $headers .= "Reply-To: " . $fromName . " <{$fromEmail}>\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; //$message = zbase_view_render(zbase_view_file_contents('auth.password.email.password'), $params); //$sent = mail($to, $subject, $message, $headers); //dd($sent, $to, $fromEmail, $message);
/** * Password has been resetted * @param string $password The RAW Password * @param boolean $account Password was updated from the account section */ public function updatePassword($password, $account = false) { try { zbase_db_transaction_start(); $this->password = zbase_bcrypt($password); $this->password_updated_at = zbase_date_now(); $this->save(); if (zbase_auth_is('admin')) { zbase_alert('info', _zt($this->displayFullDetails() . ' Password successfully updated.')); } else { zbase_alert('info', _zt('Password successfully updated.')); } $this->log('user::updatePassword', null, ['password' => $this->password]); zbase_db_transaction_commit(); return true; } catch (\Zbase\Exceptions\RuntimeException $e) { zbase_db_transaction_rollback(); return false; } }