diff --git a/.env.default b/.env.default index 7ecaf6460a63fefb3841de7f407f08ed182c2eac..bf7f653356d397e4c2076997edbbf60a9827fadf 100644 --- a/.env.default +++ b/.env.default @@ -7,3 +7,7 @@ MONOLITHIC_POSTGRES_DB="tubes-db" MONOLITHIC_POSTGRES_PORT="5432" MONOLITHIC_POSTGRES_HOST="monolithic_postgres" + + +MONOLITHIC_SOAP_API_KEY="abcdefgh12345678" +MONOLITHIC_SOAP_URL="http://host.docker.internal:3003/ws/unlocking?wsdl" \ No newline at end of file diff --git a/src/app/clients/SocmedSoapClient.php b/src/app/clients/SocmedSoapClient.php index 95a4988b1b3ea9cbf090a7bd55b8ba1364fa9885..bb02f27b28d22530e8d7ae6ee3875883e6202604 100644 --- a/src/app/clients/SocmedSoapClient.php +++ b/src/app/clients/SocmedSoapClient.php @@ -1,6 +1,6 @@ <?php -require_once SRC_ROOT_PATH . "/utils/SoapWrapper.php"; +require_once SRC_ROOT_PATH . "/app/utils/SoapWrapper.php"; class SocmedSoapClient { @@ -16,14 +16,14 @@ class SocmedSoapClient $params = array( 'encoding' => 'UTF-8', - 'soap_version' => SOAP_1_2, + 'soap_version' => 'SOAP_1_2', 'trace' => 1, 'exceptions' => 1, 'connection_timeout' => 180, 'stream_context' => stream_context_create($opts), ); - $this->client = new SoapWrapper($_ENV['WSDL_URL'], $params); + $this->client = new SoapWrapper($_ENV['MONOLITHIC_SOAP_URL'], $params); } public static function getInstance() diff --git a/src/app/controllers/Post/PostController.php b/src/app/controllers/Post/PostController.php index c5fea6c1f2fdf1ef95e499b0c2740f4c5ba00ad6..1e1433518a6a74293e8d253f6864dd328741d81c 100644 --- a/src/app/controllers/Post/PostController.php +++ b/src/app/controllers/Post/PostController.php @@ -6,6 +6,8 @@ require_once SRC_ROOT_PATH . "/app/core/FileAccess.php"; require_once SRC_ROOT_PATH . "/app/modelmanagers/PostManager.php"; +require_once SRC_ROOT_PATH . "/app/clients/SocmedSoapClient.php"; + class PostController extends BaseController { protected static $instance; @@ -49,6 +51,12 @@ class PostController extends BaseController $user_id, $resources ); + + // send SOAP message when user reached 10th post + if ($post_id == 9) { + $soapClient = SocmedSoapClient::getInstance(); + $soapClient.requestUnlocking($_SESSION['id'], $_SESSION['username']); + } } protected function post($urlParams) diff --git a/src/app/models/LoginModel.php b/src/app/models/LoginModel.php index a4b1e1f90fd08cc638d4d948debab2f4999de663..f6f9bfaa407d11789fbeef4e08b31a59d3964cda 100644 --- a/src/app/models/LoginModel.php +++ b/src/app/models/LoginModel.php @@ -35,6 +35,7 @@ class LoginModel { $_SESSION['user_id'] = $row['id']; $_SESSION['role'] = $row['role']; + $_SESSION['username'] = $row['username']; $array = array('status' => $row['status'], 'role' => $row['role']); return $array; }