From 9907417fa6c8d04bcaea0711de6cd0fe61e2bd1c Mon Sep 17 00:00:00 2001 From: nathaniacalista01 <nathania.calista01@gmail.com> Date: Fri, 17 Nov 2023 01:31:13 +0700 Subject: [PATCH] feat : material details --- app/controllers/PremiumController.php | 32 ++++++- app/views/premium/detailCourse.php | 12 +-- app/views/premium/detailModule.php | 116 ++++++++++++++++++++++++++ 3 files changed, 154 insertions(+), 6 deletions(-) create mode 100644 app/views/premium/detailModule.php diff --git a/app/controllers/PremiumController.php b/app/controllers/PremiumController.php index 4282e12..8ed22cf 100644 --- a/app/controllers/PremiumController.php +++ b/app/controllers/PremiumController.php @@ -35,8 +35,38 @@ $data_course = json_decode($raw_course,true); $course = $data_course["data"]; $modules = $data["data"]; - return $this->view('premium','detailCourse',["course"=>$course,"modules"=>$modules]); } + + public function module($params){ + // Menerima parameter berupa module_id + if(!$params){ + header("Location: /notfound"); + } + $middleware = $this->middleware("LoginMiddleware"); + $middleware->hasLoggedIn(); + + $raw_materials = file_get_contents("http://host.docker.internal:8000/api/material/module/".$params); + $data_materials = json_decode($raw_materials,true); + $materials = $data_materials["data"]; + + + $raw_modul = file_get_contents("http://host.docker.internal:8000/api/modul/".$params); + $data_modul = json_decode($raw_modul,true); + $modul = $data_modul["data"]; + + $course_id = $modul["course_id"]; + + $raw_modul2 = file_get_contents("http://host.docker.internal:8000/api/modul/course/".$course_id); + $data_modul2 = json_decode($raw_modul2,true); + $modul2 = $data_modul2["data"]; + + + $raw_course = file_get_contents("http://host.docker.internal:8000/api/course/".$course_id); + $data_course = json_decode($raw_course,true); + $course = $data_course["data"]; + + return $this->view('premium','detailModule',["course"=>$course,"module"=>$modul,"materials"=>$materials,"modules"=>$modul2]); + } } ?> \ No newline at end of file diff --git a/app/views/premium/detailCourse.php b/app/views/premium/detailCourse.php index 2a61345..2deca0c 100644 --- a/app/views/premium/detailCourse.php +++ b/app/views/premium/detailCourse.php @@ -32,14 +32,16 @@ foreach ($modules as $module) { ?> <tr> <td> - <div class='row-container'> - <div class='module-title' onclick='navigateToMaterials(<?php echo $module["module_id"] ?>)'> - <span><?php echo $module['title'] ?></span> + <a href='/premium/module/<?php echo $module["id"]; ?>' style='text-decoration: none; cursor: pointer; display: block; width: 100%;'> + <div class='row-container'> + <div class='module-title'> + <span><?php echo $module['title'] ?></span> + </div> </div> - - </div> + </a> </td> </tr> + <?php } ?> </tbody> </table> diff --git a/app/views/premium/detailModule.php b/app/views/premium/detailModule.php new file mode 100644 index 0000000..0f650cb --- /dev/null +++ b/app/views/premium/detailModule.php @@ -0,0 +1,116 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Document</title> + <link rel="stylesheet" href="../../public/css/course/detail.css"> + <script src="../../public/js/details.js" defer></script> + <script src="../../public/js/detailsModule.js" defer></script> +</head> +<body> + <?php include __DIR__ . '/../navbar/navbar.php' ?> + <section class="home-section"> + <div class="wrapper"> + <div class="header"> + <?php + $course = $data["course"]; + echo "<h1 class='course'>$course[title]</h1>"; + ?> + </div> + <div class="course-section"> + <div class="modules"> + <div class="header-intro"> + <p>Modules</p> + </div> + <div class="table-container"> + <table class="table-module"> + <tbody> + <?php + $modules = $data["modules"]; + $course = $data["course"]; + foreach ($modules as $module) {?> + <tr> + <td> + <a href='/premium/module/<?php echo $module["id"]; ?>' style='text-decoration: none; cursor: pointer; display: block; width: 100%;'> + <div class='row-container'> + <div class='module-title'> + <span><?php echo $module['title'] ?></span> + </div> + </div> + </a> + </td> + </tr> + <?php } ?> + </tbody> + </table> + </div> + </div> + <div class="module-material-container"> + <div class="material-box"> + <div class="titles"> + <?php + $module = $data["module"]; + echo "<h3 id='course-title'>$module[title]</h3>"; + ?> + </div> + <div class="material-content"> + <div class="material-text"> + <p id="course-desc"> + <?php + $module = $data["module"]; + echo "<h3 id='course-title'>$module[description]</h3>"; + ?> + </p> + </div> + + <?php + $materials = $data["materials"]; + foreach ($materials as $material) { + echo" + <div class='accordion'> + <div class='accordion-content' style='display: flex; justify-content: space-between;'> + <div class='judul' style='width:94%'> + <header> + <span class='title'>$material[title]</span> + <i class='fa-solid fa-plus'></i> + </header> + "; + if ($material['source_type'] == "pdf"){ + echo " + <div class='description'> + <span>$material[description]<span> + <br> + <br> + <object data='$material[material_path]' type='application/pdf' width='100%' height='800'> + <p>It appears your web browser doesn't support embedding PDFs.</p> + </object> + </div> + </div> + + "; + } else{ ?> + <div class='description'> + <span><?php echo $material["description"] ?><span> + <br> + <br> + <video width='100%' height=auto controls> + <source src=<?php echo $material["material_path"]?> type='video/mp4'> + Your browser does not support the video tag. + </video> + </div> + </div> + <?php } ?> + + + </div> + </div> + <?php } ?> + </div> + </div> + </div> + </div> + </div> + </section> +</body> +</html> \ No newline at end of file -- GitLab