diff --git a/app/controllers/admin.php b/app/controllers/admin.php index d5d189ccf42563695cbe0381b6abbf8118db8855..023d314e97b96be42933f3634bf85642485e79f8 100644 --- a/app/controllers/admin.php +++ b/app/controllers/admin.php @@ -66,8 +66,10 @@ class Admin extends Controller { return new $model; } - public function addBook(){ - if (isset($_SESSION['user_role']) && $_SESSION['user_role'] === 'admin' ){ + public function addBook() +{ + try { + if (isset($_SESSION['user_role']) && $_SESSION['user_role'] === 'admin') { if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Buat path image audio @@ -89,20 +91,25 @@ class Admin extends Controller { $array = array_column($data['book'], "title"); // Cek exist ato g usernya, cek string kosong ato ngga - if (!in_array($newTitle, $array, true) && !(empty($newTitle) || empty($newContent) || ( empty ($newTitle) && empty($newContent) ))){ + if (!in_array($newTitle, $array, true) && !(empty($newTitle) || empty($newContent) || (empty($newTitle) && empty($newContent)))) { $this->model('BookModel')->insertBook($newTitle, $newContent, $selectedAuthor, $selectedCategory); move_uploaded_file($fileTmpAudio, $audioFilePath); move_uploaded_file($fileTmpImage, $imageFilePath); + } else { + throw new Exception("Invalid input data."); } - } $data['book'] = $this->model('BookModel')->getAllBookAdmin(); $data['author'] = $this->model('AuthorModel')->getAuthor(); $this->view('admin/bookadmin', $data); } else { - $this->view('error/404'); + throw new Exception("Unauthorized access."); } + } catch (Exception $e) { + $error_message = $e->getMessage(); + $this->view('error/403', ['error' => $error_message]); } +} public function addUser(){ if (isset($_SESSION['user_role']) && $_SESSION['user_role'] === 'admin' ){ if ($_SERVER['REQUEST_METHOD'] === 'POST') { @@ -137,11 +144,12 @@ class Admin extends Controller { } } - public function editBook(){ + public function editBook() +{ + try { if (isset($_SESSION['user_role']) && $_SESSION['user_role'] === 'admin') { if ($_SERVER['REQUEST_METHOD'] === 'POST') { - // Buat path image audio $imageDir = LOCALURL . "/img/"; $audioDir = LOCALURL . "/audio/"; @@ -163,21 +171,26 @@ class Admin extends Controller { $data['book'] = $this->model('BookModel')->getAllBook(); $array = array_column($data['book'], "title"); // Cek title kosong atau udah exist di db atau gk diganti - if(!empty($newTitle) && (!in_array($newTitle, $array, true) || $newTitle === $oldTitle) && (isset($fileAudio) && isset($fileImage))){ + if (!empty($newTitle) && (!in_array($newTitle, $array, true) || $newTitle === $oldTitle) && (isset($fileAudio) && isset($fileImage))) { $this->model('BookModel')->updateBook($bookid, $newTitle, $selectedAuthor, $newContent, $selectedCategory); move_uploaded_file($fileTmpAudio, $audioFilePath); move_uploaded_file($fileTmpImage, $imageFilePath); + } else { + throw new Exception("Invalid input data."); } $data['book'] = $this->model('BookModel')->getAllBookAdmin(); $data['author'] = $this->model('AuthorModel')->getAuthor(); $this->view('admin/bookadmin', $data); - } - } else{ - $this->view('error/404'); + } else { + throw new Exception("Unauthorized access."); } + } catch (Exception $e) { + $error_message = $e->getMessage(); + $this->view('error/403', ['error' => $error_message]); } +} public function editUser(){ if (isset($_SESSION['user_role']) && $_SESSION['user_role'] === 'admin') { diff --git a/app/views/popup/popupAdd.php b/app/views/popup/popupAdd.php deleted file mode 100644 index abcdcdf30cb8bc7fde509471d0c9044ff3304787..0000000000000000000000000000000000000000 --- a/app/views/popup/popupAdd.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php -// Define dynamic content -$pageTitle = "Popup Page"; -$popupTitle = "POPUP"; -$buttonText = "Click me"; -$popupContentTitle = "Add Book"; -$popupContentText = "Are you sure you want to add this book?"; -$continueButtonText = "Continue"; -$cancelButtonText = "Cancel"; - -$currentFileName = basename(__FILE__, '.php'); - -// Define CSS and JavaScript file names based on the current file -$cssFileName = $currentFileName . '.css'; -$jsFileName = $currentFileName . '.js'; - -// Include the template -include('popupTemplate.php'); -?> diff --git a/app/views/popup/popupDelete.php b/app/views/popup/popupDelete.php deleted file mode 100644 index 9002efa4fc130ddb53fb85873f7e6cdcd5eb9a31..0000000000000000000000000000000000000000 --- a/app/views/popup/popupDelete.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php -// Define dynamic content -$pageTitle = "Popup Page"; -$popupTitle = "POPUP"; -$buttonText = "Click me"; -$deletePopupContentTitle = "Delete Bookmark"; -$deletePopupContentText = "Are you sure you want to delete this book?"; -$continueButtonText = "Continue"; -$cancelButtonText = "Cancel"; - -$currentFileName = basename(__FILE__, '.php'); - -// Define CSS and JavaScript file names based on the current file -$cssFileName = $currentFileName . '.css'; -$jsFileName = $currentFileName . '.js'; - -// Include the template -include('popupTemplate.php'); -?> diff --git a/app/views/popup/popupEdit.php b/app/views/popup/popupEdit.php deleted file mode 100644 index 5d54f821f239653175823836b55af14994f5274c..0000000000000000000000000000000000000000 --- a/app/views/popup/popupEdit.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php -// Define dynamic content -$pageTitle = "Popup Page"; -$popupTitle = "POPUP"; -$buttonText = "Click me"; -$editPopupContentTitle = "Edit Bookmark"; -$editPopupContentText = "Are you sure you want to edit this bookmark?"; -$continueButtonText = "Continue"; -$cancelButtonText = "Cancel"; - -$currentFileName = basename(__FILE__, '.php'); - -// Define CSS and JavaScript file names based on the current file -$cssFileName = $currentFileName . '.css'; -$jsFileName = $currentFileName . '.js'; - -// Include the template -include('popupTemplate.php'); -?> diff --git a/app/views/popup/popupEditDelete.php b/app/views/popup/popupEditDelete.php deleted file mode 100644 index 36008f735ae47af0d49638626336ed0c257ad4f5..0000000000000000000000000000000000000000 --- a/app/views/popup/popupEditDelete.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php -// Define dynamic content -$pageTitle = "Popup Page"; -$popupTitle = "POPUP"; -$buttonText = "Click me"; -$editPopupContentTitle = "Edit Bookmark"; -$editPopupContentText = "Are you sure you want to edit this bookmark?"; -$deletePopupContentTitle = "Delete Bookmark"; -$deletePopupContentText = "Are you sure you want to delete this book?"; -$continueButtonText = "Continue"; -$cancelButtonText = "Cancel"; - -$currentFileName = basename(__FILE__, '.php'); - -// Define CSS and JavaScript file names based on the current file -$cssFileName = '/var/www/html/public/style/popupEditDelete.css'; -$jsFileName = '/var/www/html/public/js/popupEditDelete.js'; - -// Include the template -include('popupTemplateMulti.php'); -?> diff --git a/app/views/popup/popupTemplateMulti.php b/app/views/popup/popupTemplateMulti.php deleted file mode 100644 index dc1d11d574eea80a3a62e119f32415c0323a1d39..0000000000000000000000000000000000000000 --- a/app/views/popup/popupTemplateMulti.php +++ /dev/null @@ -1,37 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="stylesheet" type="text/css" href="<?php echo $cssFileName; ?>"> - <title><?php echo $pageTitle; ?></title> -</head> -<body> - <!-- Edit Popup --> - <div id="editPopup" class="popup"> - <div class="popup-content"> - <h1><?php echo $editPopupContentTitle; ?></h1> - <p><?php echo $editPopupContentText; ?></p><br> - <div class="button-container"> - <button id="continueButtonEdit"><?php echo $continueButtonText; ?></button> - <button id="cancelButtonEdit"><?php echo $cancelButtonText; ?></button> - </div> - </div> - </div> - - <!-- Delete Popup --> - <div id="deletePopup" class="popup"> - <div class="popup-content"> - <h1><?php echo $deletePopupContentTitle; ?></h1> - <p><?php echo $deletePopupContentText; ?></p><br> - <div class="button-container"> - <button id="continueButtonDelete"><?php echo $continueButtonText; ?></button> - <button id="cancelButtonDelete"><?php echo $cancelButtonText; ?></button> - </div> - </div> - </div> - - -</body> -</html> diff --git a/app/views/popup/popupUpdate.php b/app/views/popup/popupUpdate.php deleted file mode 100644 index 135d0cac20b82a484f1c03c87e408c1cab0386c0..0000000000000000000000000000000000000000 --- a/app/views/popup/popupUpdate.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php -// Define dynamic content -$pageTitle = "Popup Page"; -$popupTitle = "POPUP"; -$buttonText = "Click me"; -$popupContentTitle = "Update Book"; -$popupContentText = "Are you sure you want to update this book?"; -$continueButtonText = "Continue"; -$cancelButtonText = "Cancel"; - -$currentFileName = basename(__FILE__, '.php'); - -// Define CSS and JavaScript file names based on the current file -$cssFileName = $currentFileName . '.css'; -$jsFileName = $currentFileName . '.js'; - -// Include the template -include('popupTemplate.php'); -?>