<?php namespace App\Controllers;
use App\Models\BlogModel;
use CodeIgniter\Controller;
helper('form');
class BlogController extends BaseController {
public function index() {
$page_data = array();
$page_data['page_title'] = 'Blog Articlies';
$model = new BlogModel();
$page_data['blogs'] = esc($model->getBlogs());
if (!isset($page_data['blogs']['0'])) {
throw new \CodeIgniter\Exceptions\PageNotFoundException('There are currently no blog articles to view.');
}
$page_data['title'] = 'Blog Articles';
echo view('header', $page_data);
echo view('blog/overview', $page_data);
echo view('footer', $page_data);
}
public function view($blog_id = null) {
$page_data = array();
$model = new BlogModel();
$page_data['blogs'] = esc($model->getBlogs($blog_id));
if (!is_array($page_data['blogs'])) {
throw new \CodeIgniter\Exceptions\PageNotFoundException('This Blog article does not exist.');
}
$page_data['page_title'] = 'Blog Article #' . $page_data['blogs']['blog_id'];
$page_data['title'] = $page_data['blogs']['title'];
echo view('header', $page_data);
echo view('blog/view', $page_data);
echo view('footer', $page_data);
}
public function create() {
$page_data = array();
$page_data['page_title'] = 'Create New Blog Article';
$model = new BlogModel();
if (!$this->request->getVar(esc('submit'))) {
$page_data['title'] = 'Create a new Blog Article.';
echo view('header', $page_data);
echo view('blog/create', $page_data);
echo view('footer', $page_data);
} else {
$result = $model->saveBlog(['title' => $this->request->getVar(esc('title')),
'intro' => $this->request->getVar(esc('intro')),
'body' => $this->request->getVar(esc('body'))
]);
if($result === false) {
$page_data['title'] = 'Create a new Blog Article.';
$page_data['errors'] = $model->errors();
echo view('header', $page_data);
echo view('blog/create', $page_data);
echo view('footer', $page_data);
} else {
$page_data['inserted_id'] = $model->insertID();
$page_data['redirect'] = array('time' => 5, 'uri' => $this->request->uri);
echo view('header', $page_data);
echo view('blog/success', $page_data);
echo view('footer', $page_data);
}
}
}
public function update($blog_id = null) {
$page_data = array();
$page_data['page_title'] = 'Update Blog Article.';
$model = new BlogModel();
$blog_data = $model->getBlogs($blod_id = $this->request->uri->getSegment(3));
//echo date('Y-m-d H:i:s');
if($blog_data === null) {
throw new \CodeIgniter\Exceptions\PageNotFoundException('This Blog article does not exist.');
} else {
if (!$this->request->getVar(esc('submit'))) {
$page_data['title'] = 'Update Blog Article.';
$page_data['blog_data'] = $blog_data;
$page_data['errors'] = $model->errors();
echo view('header', $page_data);
echo view('blog/update', $page_data);
echo view('footer', $page_data);
} else {
if($blog_data['title'] === $this->request->getVar(esc('title'))) {
$array = ['intro' => $this->request->getVar(esc('intro')),
'body' => $this->request->getVar(esc('body'))
];
} else {
$array = ['title' => $this->request->getVar(esc('title')),
'intro' => $this->request->getVar(esc('intro')),
'body' => $this->request->getVar(esc('body'))
];
}
$result = $model->update($blog_data['blog_id'], $array);
if($result === false) {
$page_data['title'] = 'Create a new Blog Article.';
$page_data['blog_data'] = $array;
$page_data['blog_data']['blog_id'] = $blog_data['blog_id'];
$page_data['errors'] = $model->errors();
echo view('header', $page_data);
echo view('blog/update', $page_data);
echo view('footer', $page_data);
}
}
}
}
}