diff --git a/src/app/controllers/subscription/post_subscription.php b/src/app/controllers/subscription/post_subscription.php new file mode 100644 index 0000000000000000000000000000000000000000..77c33217d3bfec064cfbd0542140ad38f1a1f8a3 --- /dev/null +++ b/src/app/controllers/subscription/post_subscription.php @@ -0,0 +1,46 @@ +<?php + +class PostSubscribeController +{ + public function call() { + $xml = '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://services.soapserver/"> + <soap:Header> + <tns:apiKey>ularmelingkardiataspagar</tns:apiKey> + </soap:Header> + <soap:Body> + <tns:addSubscription> + <idUser>8</idUser> + </tns:addSubscription> + </soap:Body> + </soap:Envelope>'; + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, "http://tubes-soap-service:8000/subscription"); + curl_setopt($ch, CURLOPT_HTTPHEADER, [ + "Content-type: text/xml;charset=\"utf-8\"", + "Accept: text/xml", + "Cache-Control: no-cache", + "Pragma: no-cache", + "SOAPAction: http://soapserver/SubscriptionService/addSubscriptionRequest", + "Content-length: ".strlen($xml) + ]); + curl_setopt( + $ch, + CURLOPT_POSTFIELDS, + $xml + ); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); + + $output = curl_exec($ch); + curl_close($ch); + + http_response_code(201); + header('Content-type: application/json'); + echo json_encode(["message" => "success"]); + + exit; + } +} \ No newline at end of file diff --git a/src/app/core/app.php b/src/app/core/app.php index 7fab00d87680c83883fee2813d7319a1ab4f7dde..bb172a5314764cdbf133f05eb153439dc14fe93a 100644 --- a/src/app/core/app.php +++ b/src/app/core/app.php @@ -61,6 +61,7 @@ class App $router->post("public/dashboard/edit-episode", new PostEditEpisodeController()); $router->post("public/dashboard/add-podcast", new PostAddPodcastController()); $router->post("public/dashboard/edit-podcast", new PostEditPodcastController()); + $router->post("public/subscribe", new PostSubscribeController()); // DELETE routes $router->delete("public/dashboard/episode", new DeleteEpisodeController()); diff --git a/src/app/init.php b/src/app/init.php index 17801beebbf8e1da6040766b97a25a8141814fa2..95ef59fc01b0cb2f5fea9d08a7eca1cada3d4b2e 100644 --- a/src/app/init.php +++ b/src/app/init.php @@ -44,6 +44,7 @@ require_once __DIR__ . "/controllers/signup/post_signup.php"; require_once __DIR__ . "/controllers/search/get_search.php"; require_once __DIR__ . "/controllers/profile/get_profile.php"; require_once __DIR__ . "/controllers/profile/update_profile.php"; +require_once __DIR__ . "/controllers/subscription/post_subscription.php"; require_once __DIR__ . "/controllers/player/mount_player.php"; require_once __DIR__ . "/controllers/player/get_episode_played.php";