public function index($alias = null) { $data = ['pages' => Page::show()->fetch(false)]; if ($alias !== null) { $page = Page::show(['alias' => $alias])->fetchOne(); if (!$page) { return $this->app->show404(); } $data['heading'] = $page->judul; $data['content'] = $page->konten; return $this->render('page', $data); } else { $data['heading'] = 'Selamat datang di website resmi ' . conf('app.title'); $data['products'] = Product::show()->fetch(5); $data['slides'] = Banner::show(['tipe' => 'slide', 'aktif' => 1])->fetch(3); return $this->render('home', $data); } }
public function banners($do = '', $id = '') { $this->data['heading'] = 'Administrasi: Banner'; switch ($do) { case 'form': if (post('submit')) { $data = [User::primary() => 1, 'tgl_input' => date('Y-m-d'), 'judul' => post('judul'), 'keterangan' => post('keterangan'), 'url' => post('url'), 'gambar' => post('gambar'), 'tgl_mulai' => formatTanggal(post('tgl_mulai'), 'Y-m-d'), 'tgl_akhir' => formatTanggal(post('tgl_akhir'), 'Y-m-d'), 'aktif' => post('aktif'), 'tipe' => post('tipe')]; try { $upload = new Upload('gambar'); $data['gambar'] = $upload->doUpload(); } catch (Exception $e) { setAlert('error', $e->getMessage()); } if (Banner::save($data, $id)) { if ($id) { setAlert('success', 'Berhasil memperbarui data banner <b>' . $data['judul'] . '</b>'); } else { setAlert('success', 'Berhasil menambahkan banner <b>' . $data['judul'] . '</b>'); } return redirect('admin-shop/banners'); } setAlert('error', 'Terjadi kesalahan dalam penyimpanan banner <b>' . $data['judul'] . '</b>'); return redirect($this->uri->path()); } else { if ($id) { $this->data['data'] = Banner::show([Banner::primary() => $id])->fetchOne(); } return $this->render('banner-form', $this->data); } break; case 'delete': if (Banner::del([Banner::primary() => $id])) { setAlert('success', 'Banner berhasil terhapus'); } else { setAlert('error', 'Terjadi kesalahan dalam penghapusan banner'); } return redirect('admin-shop/banners'); break; default: $this->data['data'] = Banner::show(); return $this->render('banner-table', $this->data); break; } }