diff --git a/api/auth/register.php b/api/auth/register.php index 494523f4a72a03001534196a4346c84fb9a5cf04..66a01066e2a37b542811dcb7e3ca2a7b9e886a15 100644 --- a/api/auth/register.php +++ b/api/auth/register.php @@ -43,7 +43,6 @@ if (isset($_POST['username']) && isset($_POST['password']) && isset($_POST['emai $email = $_POST['email']; $rows = $user_model->register(array('username' => $username, 'password' => $password, 'email' => $email)); $language_rows = $language_model->getLanguageCount(); - $language_rows = intval($language_rows['count']); for ($i = 1; $i <= $language_rows; $i++) { $progress_rows = $progress_model->initialize(array('user_id' => $rows, 'language_id' => $i)); } diff --git a/app/controllers/Admin.php b/app/controllers/Admin.php index 04fb5de05fce2a8e2e742f590849f27dda0e4375..717464eb42b71517526a6c62b0db07d1e0f2a62e 100644 --- a/app/controllers/Admin.php +++ b/app/controllers/Admin.php @@ -7,19 +7,19 @@ class Admin extends Controller { } public function dashboard() { - if (!(isset($_SESSION['username']) && !empty($_SESSION['username']))) { + if (!(isset($_SESSION['username']) && !empty($_SESSION['username'])) || $_SESSION['is_admin']==false) { header('Location: /login'); + exit(); } $data["pageTitle"] = "Admin dashboard"; $data["username"] = $_SESSION['username']; + $data["languageCount"] = $this->model("LanguageModel")->getLanguageCount(); + $data["moduleCount"] = $this->model("ModuleModel")->getModuleCount(); // ini masih hardcode - // $data["numOfLanguage"] = $this->model('LanguageModel')->getLanguageCount(); - $data["numOfLanguage"] = 4; - $data["numOfModules"] = 12; - $data["numOfVideos"] = 60; - $data["numOfUsers"] = 3; + $data["videoCount"] = 60; // + $data["userCount"] = $this->model("UserModel")->getUserCount();; $this->view('header/index', $data); $this->view('navbar/index'); @@ -28,8 +28,9 @@ class Admin extends Controller { } public function manage($languageName = null, $moduleName = null) { - if (!(isset($_SESSION['username']) && !empty($_SESSION['username']))) { + if (!(isset($_SESSION['username']) && !empty($_SESSION['username'])) || $_SESSION['is_admin']=false) { header('Location: /login'); + exit(); } if (isset($languageName) && !empty($languageName) && isset($moduleName) && !empty($moduleName)) { diff --git a/app/init.php b/app/init.php index 3fd79f7e3ef7d2d432476aa6b1454dafcaa7aaa9..96dfb13632f74ef39b662872ab7054eaea033280 100644 --- a/app/init.php +++ b/app/init.php @@ -1,4 +1,5 @@ <?php require_once 'core/App.php'; -require_once 'core/Controller.php'; \ No newline at end of file +require_once 'core/Controller.php'; +require_once 'core/Database.php'; \ No newline at end of file diff --git a/app/models/LanguageModel.php b/app/models/LanguageModel.php index 9fba1b32a5f7c7a70b40d3e6e859526a5c365cc3..a7d4649c31757e76270162f027de05fa27b5fd57 100644 --- a/app/models/LanguageModel.php +++ b/app/models/LanguageModel.php @@ -1,7 +1,5 @@ <?php -// require_once "../core/Database.php"; - class LanguageModel { private $table = 'languages'; @@ -15,6 +13,7 @@ class LanguageModel public function getLanguageCount() { $this->db->query('SELECT COUNT(*) FROM ' . $this->table); - return $this->db->single(); + $temp = $this->db->single(); + return intval($temp["count"]); } } \ No newline at end of file diff --git a/app/models/ModuleModel.php b/app/models/ModuleModel.php new file mode 100644 index 0000000000000000000000000000000000000000..eb80743b13ac4ed4283abfab912458ee4c8b451f --- /dev/null +++ b/app/models/ModuleModel.php @@ -0,0 +1,19 @@ +<?php + +class ModuleModel +{ + private $table = 'modules'; + private $db; + + public function __construct() + { + $this->db = new Database(); + } + + public function getModuleCount() + { + $this->db->query('SELECT COUNT(*) FROM ' . $this->table); + $temp = $this->db->single(); + return intval($temp["count"]); + } +} \ No newline at end of file diff --git a/app/models/UserModel.php b/app/models/UserModel.php index 2f7ad36c29919f8ffb02cd2d9e80595d4781a281..caed36346afe243a3efd3d6476f4c44c529f1754 100644 --- a/app/models/UserModel.php +++ b/app/models/UserModel.php @@ -53,9 +53,10 @@ class UserModel return $this->db->rowCount(); } - public function getNumOfUsers() + public function getUserCount() { - $this->db->query('SELECT * FROM users'); - return $this->db->rowCount(); + $this->db->query('SELECT COUNT(*) FROM users'); + $temp = $this->db->single(); + return intval($temp["count"]); } } \ No newline at end of file diff --git a/app/views/admin/dashboard/index.php b/app/views/admin/dashboard/index.php index ceb08e942ac858c4bda163ec52f9a954ce2849d6..bee0015d7a9afb635555041d59d201038f1ca721 100644 --- a/app/views/admin/dashboard/index.php +++ b/app/views/admin/dashboard/index.php @@ -16,19 +16,19 @@ <div class="entity-card"> <span class="font-bold text-md">Language</span> - <span class="font-reg text-sm"><?= $data["numOfLanguage"] ?> Entities</span> + <span class="font-reg text-sm"><?= $data["languageCount"] ?> Records</span> </div> <div class="entity-card"> <span class="font-bold text-md">Modules</span> - <span class="font-reg text-sm"><?= $data["numOfModules"] ?> Entities</span> + <span class="font-reg text-sm"><?= $data["moduleCount"] ?> Records</span> </div> <div class="entity-card"> <span class="font-bold text-md">Videos</span> - <span class="font-reg text-sm"><?= $data["numOfVideos"] ?> Entities</span> + <span class="font-reg text-sm"><?= $data["videoCount"] ?> Records</span> </div> <div class="entity-card"> <span class="font-bold text-md">Users</span> - <span class="font-reg text-sm"><?= $data["numOfUsers"] ?> Entities</span> + <span class="font-reg text-sm"><?= $data["userCount"] ?> Records</span> </div> </div> diff --git a/index.php b/index.php index e4b441a806d0c90be00d610172cb0ed74fddf848..45e65abfeffcd4f15b4fd9f9072fb4ee370acd1e 100644 --- a/index.php +++ b/index.php @@ -1,5 +1,6 @@ <?php if(!session_id()) session_start(); +require_once 'config/config.php'; require_once 'app/init.php'; $app = new App; \ No newline at end of file diff --git a/public/css/register.css b/public/css/register.css index 102d462177928fc721c595ffeaa96088a52123a9..72744005cea67464db0d260c481a6ea81ba6cf8a 100644 --- a/public/css/register.css +++ b/public/css/register.css @@ -218,6 +218,7 @@ #username-error, #email-error, #password-error, #confirm-password-error { color: red; font-size: 14px; + position: absolute; } @media (max-width: 1000px) {