lepisi-pengumuman/App/Controllers/Home.php

86 lines
1.8 KiB
PHP

<?php
namespace App\Controllers;
use Core\View;
use App\Models\Access;
use Core\Token;
use Core\Session;
use Core\Redirect;
use Core\Hash;
class Home
{
private $access;
public function __construct()
{
$this->access = new Access();
}
public function index()
{
$posts = new Posts();
$posts->index();
}
public function login()
{
if (Session::exists('userid')) {
Redirect::to('/');
} else {
View::render('Access/login.html', [
'token' => Token::generate()
]);
}
}
public function register()
{
if (Session::exists('userid')) {
View::render('Access/registrasi.html', [
'token' => Token::generate()
]);
} else {
Redirect::to('/');
}
}
// Methods
public function post($args = [])
{
$table = 'user';
$date = new \DateTime();
$now = $date->format('Y-m-d');
$args['registered_at'] = $now;
$salt = Hash::salt();
$password = Hash::make($args['password'], $salt);
$args['salt'] = $salt;
$args['password'] = $password;
$args['full_name'] = htmlspecialchars($args['full_name']);
$args['username'] = htmlspecialchars($args['username']);
$this->access->entry($table, $args);
// Redirect::to('/');
}
public function put($args = [])
{
if ($this->access->login($args)) {
$table = 'user';
$id = Session::get('userid');
$this->access->update($table, ['status' => 1], $id);
}
Redirect::to('/');
}
public function logout()
{
if ($this->access->logout()) {
Redirect::to('/');
}
}
}