Viewing file: Auth.php (3.74 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Controllers;
class Auth extends BaseController
{
public function login()
{
if (user()) {
return redirect()->to('/');
}
$data['page'] = createMeta('Giriş Yap');
return view(currentTheme() . '/login', $data);
}
public function register()
{
if (user()) {
return redirect()->to('/');
}
$data['page'] = createMeta('Kayıt Ol');
return view(currentTheme() . '/register', $data);
}
public function logout()
{
if (user()) {
session()->destroy();
}
return redirect()->to('/login');
}
public function login_post()
{
if (user()) {
return redirect()->to('/');
}
$email = $this->request->getPost('emailInput');
$password = $this->request->getPost('passwordInput');
if (!$email || !$password || $email == '' || $password == '') {
return $this->response->setJSON([
'type' => 'error',
'message' => 'Tüm alanlar doldurulmalıdır.'
]);
}
if (strlen($password) < 6) {
return $this->response->setJSON([
'type' => 'error',
'message' => 'Parola gerekli şartları karşılamıyor.'
]);
}
$user = model('User')->where('email', $email)->first();
if (!$user || !password_verify($password, $user['password'])) {
return $this->response->setJSON([
'type' => 'error',
'message' => 'Email veya parola hatalı.'
]);
}
$user['last_session'] = session_id();
session()->set('user', $user);
db('users')->where(['email' => $email])->update(['last_session' => session_id()]);
return $this->response->setJSON([
'type' => 'success',
'message' => 'Giriş başarılı.',
'redirect' => base_url('panel')
]);
}
public function register_post()
{
if (user()) {
return redirect()->to('/');
}
$name = $this->request->getPost('nameInput');
$email = $this->request->getPost('emailInput');
$password = $this->request->getPost('passwordInput');
$passwordConfirm = $this->request->getPost('passwordConfirmInput');
if (!$name || !$email || !$password || !$passwordConfirm || $name == '' || $email == '' || $password == '' || $passwordConfirm == '') {
return $this->response->setJSON([
'type' => 'error',
'message' => 'Tüm alanlar doldurulmalıdır.'
]);
}
if (strlen($password) < 6 || strlen($passwordConfirm) < 6) {
return $this->response->setJSON([
'type' => 'error',
'message' => 'Parola minimum 6 karakter olmalıdır.'
]);
}
if ($password != $passwordConfirm) {
return $this->response->setJSON([
'type' => 'error',
'message' => 'Parolalar eşleşmiyor.'
]);
}
$user = model('User')->where('email', $email)->first();
if ($user) {
return $this->response->setJSON([
'type' => 'error',
'message' => 'Bir hata oluştu.'
]);
}
model('User')->insert([
'name' => $name,
'email' => $email,
'password' => $password,
]);
return $this->response->setJSON([
'type' => 'success',
'message' => 'Kayıt başarılı.',
'redirect' => base_url('login')
]);
}
}
|