lepisi-pengumuman/App/Controllers/Posts.php

66 lines
1.9 KiB
PHP

<?php
namespace App\Controllers;
use \Core\View;
use App\Models\Post;
use \Core\Token;
class Posts
{
private $model;
public function __construct()
{
$this->model = new Post();
}
public function index()
{
$posts = $this->model->showAll();
// echo "This is index of posts."; // Nanti di replace sama twig view ke App\Views\Data\pengumuman.html
View::render('Data/pengumuman.html', [
'posts' => $posts
]);
return true;
}
public function entry()
{
$categories = $this->model->showCategories();
$date = new \DateTime();
$timestamp = $date->format('Y/m/d H:i:s');
// echo "You can entry new data here."; // Nanti di replace sama twig view ke App\Views\Data\entry_pengumuman.html
View::render('Data/entry_pengumuman.html', [
'categories' => $categories,
'timestamp' => $timestamp,
'token' => Token::generate()
]);
return true;
}
public function edit($id = null)
{
if ($id) {
$posts = $this->model->showSingle($id);
$date = new \DateTime();
$timestamp = $date->format('Y/m/d H:i:s');
// echo "You can edit exists data with id $id here"; // Nanti di replace sama twig view ke App\Views\Data\edit_pengumuman.html
View::render(
'Data/edit_pengumuman.html',
[
'category' => $posts['category'],
'content' => $posts['content'],
'created_at' => $posts['created_at'],
'creator' => $posts['creator'],
'edited_at' => $posts['edited_at'],
'editor' => $posts['editor'],
'timestamp' => $timestamp,
'token' => Token::generate()
]
);
return true;
}
return false;
}
}