diff --git a/app/controllers/PremiumController.php b/app/controllers/PremiumController.php index 0984910bc9e0b5784491e2d1563e2cfcb9fe3b16..84ee8cab0cc6bf28e60660c19401ceeea629aba5 100644 --- a/app/controllers/PremiumController.php +++ b/app/controllers/PremiumController.php @@ -9,19 +9,20 @@ $premium_middleware->isPremium(); $components = explode("=",$params); $page_number = $components[1]; - // Fetch data courses - $raw = file_get_contents("http://host.docker.internal:8000/api/course?page=".$page_number); - $data = json_decode($raw,true); + $data = ["page"=>$page_number]; + $url = "http://host.docker.internal:8000/api/course/"; + $raw_data = HttpCall::get($url,$data); + $result = json_decode($raw_data,true); + $courses = $result["data"]; - // Fetch total seluruh data - $raw_total_data = file_get_contents("http://host.docker.internal:8000/api/course/total"); - $json_total_data = json_decode($raw_total_data,true); - // Cleaning data - $total_data = $json_total_data["data"]; + $url2 = "http://host.docker.internal:8000/api/course/total"; + $raw_total_data = HttpCall::get($url2); + $result2 = json_decode($raw_total_data,true); + $total_data = $result2["data"]; + + $total_page = ceil($total_data/4); - $courses = $data["data"]; - // Meneruskan data ke view return $this->view('premium','index',["page_number"=>$page_number,"courses"=>$courses,"type"=>"lists","max_page"=>$total_page]); } @@ -29,9 +30,10 @@ public function preview($params){ $middleware = $this->middleware("LoginMiddleware"); $middleware->hasLoggedIn(); - $raw_modules = file_get_contents("http://host.docker.internal:8000/api/modul/course/".$params); - $raw_course = file_get_contents("http://host.docker.internal:8000/api/course/".$params); - + $param1 = ["course_id"=>$params]; + $param2 = ["course_id"=>$params]; + $raw_modules = HttpCall::get("http://host.docker.internal:8000/api/modul/course/".$params); + $raw_course = HttpCall::get("http://host.docker.internal:8000/api/course/".$params); $data = json_decode($raw_modules,true); $data_course = json_decode($raw_course,true); $course = $data_course["data"]; @@ -47,23 +49,24 @@ $middleware = $this->middleware("LoginMiddleware"); $middleware->hasLoggedIn(); - $raw_materials = file_get_contents("http://host.docker.internal:8000/api/material/module/".$params); + $raw_materials = HttpCall::get("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); + $raw_modul = HttpCall::get("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); + $raw_modul2 = HttpCall::get("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); + $raw_course = HttpCall::get("http://host.docker.internal:8000/api/course/".$course_id); $data_course = json_decode($raw_course,true); $course = $data_course["data"]; diff --git a/app/init.php b/app/init.php index 78798b77bb651196bbcafe8d133608a605137e04..78466875f8c52cddafd06d684836ca83c5aa0aa7 100644 --- a/app/init.php +++ b/app/init.php @@ -9,6 +9,7 @@ require_once("models/Material.php"); require_once("models/Admin.php"); require_once("models/Module.php"); + require_once("utils/http.php"); $app = new App; $database = Database::instance(); // Uncomment ini cuma pas awal2 ya (pas mau nge seed aja) diff --git a/app/utils/http.php b/app/utils/http.php new file mode 100644 index 0000000000000000000000000000000000000000..545c9e6a515ed0231b5a5432b995fbb748e2ecd2 --- /dev/null +++ b/app/utils/http.php @@ -0,0 +1,24 @@ +<?php + +class HttpCall { + public static function get($url, $data = null) { + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, self::buildGetUrl($url, $data)); + curl_setopt($ch, CURLOPT_HTTPHEADER,[ + "X-API-KEY: PHPApp" + ]); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + $output = curl_exec($ch); + curl_close($ch); + return $output; + } + + private static function buildGetUrl($url, $data = null) { + if ($data) { + $url = sprintf("%s?%s", $url, http_build_query($data)); + } + return $url; + } +} + +?> \ No newline at end of file diff --git a/app/views/navbar/navbar.php b/app/views/navbar/navbar.php index f18b886a5c3ffbaea1dc86314d285eed28fa5d60..65f532670d55cb076fb045f6f8995b7d95dbc2fa 100644 --- a/app/views/navbar/navbar.php +++ b/app/views/navbar/navbar.php @@ -59,6 +59,8 @@ }else{ $premium = true; } + }else{ + $premium = false; } ?>