public function download(Database $db, Request $request) { $filter = []; if ($keyword = $request->query('keyword')) { $filter = ['(name like :keyword or username like :keyword)', ':keyword' => '%' . $keyword . '%']; } $data = $db->select('name,username,level', 'user', $filter); $filename = 'user-report'; $header = ['Name', 'Username', 'Level']; $delimiter = ';'; $delay = false; return $this->csv($filename, $header, $data, $delimiter, $delay); }
public function main(User $user, Request $request, Database $db) { if ($user->is('admin')) { return $this->redirect('admin'); } elseif ($user->hasBeenLogin()) { return $this->redirect('index'); } $username = $request->get('username'); $password = $request->get('password'); $error = null; if ($request->isPost()) { $filter = ['username = ? and password = ?', $username, $password]; $data = $db->findOne('user', $filter); if (empty($data)) { $error = 'Login gagal! Username atau password tidak cocok!'; } else { $user->login('admin', $data); return $this->redirect('admin'); } } $form = $this->form->setData(['username' => $username])->setAttrs(['id' => 'login-form'])->setDefaultLabelAttrs(['class' => 'sr-only'])->setDefaultControlAttrs(['class' => 'form-control form-block']); return $this->render(null, ['form' => $form, 'error' => $error]); }
public function account(User $user, Database $db, Request $request) { $fields = ['username' => $request->get('username', $user->get('username')), 'password' => $request->get('password', $user->get('password')), 'new_password' => $request->get('new_password', $user->get('new_password')), 'name' => $request->get('name', $user->get('name'))]; $error = null; $selfUrl = $this->homeUrl . '/account'; $labels = $this->app->load('app/config/translations/user-labels.php'); if ($request->isPost()) { $old_password = $user->get('password'); $rules = ['name,username' => 'required', 'password' => 'required,Password saat ini tidak boleh kosong', '-password' => "equal({$old_password}),Password saat ini tidak valid", 'new_password' => 'minLength(4,allowEmpty)']; $error = $this->validation->setData($fields)->setRules($rules)->setLabels($labels)->validate()->getError(); if (!$error) { // handle file $filename = $request->baseDir() . 'asset/avatars/user-' . $user->get('id'); if (Helper::handleFileUpload('avatar', $filename, $this->app->get('imageTypes'))) { $fields['avatar'] = basename($filename); } if ($fields['new_password']) { $fields['password'] = $fields['new_password']; } unset($fields['new_password']); $filter = ['id = ?', $user->get('id')]; $saved = $db->update('user', $fields, $filter); if ($saved) { $user->register($fields); $user->message('success', 'Data sudah diupdate'); return $this->redirect($selfUrl); } else { $error = 'Data gagal disimpan!'; } } $user->message('error', $error); } $avatar = $user->get('avatar'); $avatar = $this->app->asset($avatar ? 'asset/avatars/' . $avatar : 'asset/images/avatar.png'); $form = $this->form->setData($fields)->setLabels($labels)->setAttrs(['class' => 'form-horizontal', 'enctype' => 'multipart/form-data'])->setDefaultControlAttrs(['class' => 'form-control'])->setDefaultLabelAttrs(['class' => 'form-label col-md-4']); return $this->render('profil', ['form' => $form, 'avatar' => $avatar, 'backUrl' => 'index']); }
public function delete(User $user, Database $db, $id) { $filter = ['id = ? and id <> ?', $id, $user->get('id')]; $db->delete('user', $filter); $user->message('info', 'Data sudah dihapus!'); return $this->redirect($this->homeUrl); }
public function __construct() { parent::__construct(); $this->model = $this->connect($this->name); }
/** * Register container bindings for the application. * * @return void */ protected function registerCapsuleBindings() { $this->singleton('capsule', function () { $db = new Database($this); return $db->getCapsule(); }); }