<?php

        $seq_no     = rand(10000,99999);
        $event_time = date("Y-m-d H:i:s");
        $log_filename = '/tmp/api.bulletin.post_a_msg.log';

        include_once('/var/www/html/openlib/pest/Pest.php');

    $http_raw_post_data = file_get_contents('php://input');

        $msg  = "[$seq_no $event_time]============================\n";
        $msg .= $http_raw_post_data  . "\n";

        file_put_contents($log_filename,$msg ,FILE_APPEND | LOCK_EX);

        $req_raw_data = json_decode($http_raw_post_data,true);

        $proxy_req_raw_data = array();
        $proxy_req_raw_data['PRIVILEGED_APP_SSO_TOKEN'] = $req_raw_data['PRIVILEGED_APP_SSO_TOKEN'];

        /*處理發布者的轉換*/
        $user_msg_sender_info = array (
                'SENDER_APP_ID'              => 'THB_EDOC',
                'SENDER_MODULE_ID'           => 'THB_EDOC',
                'SENDER_MODULE_DISPLAY_NAME' => '傳閱性公文',
                'SENDER_APP_COMPANY_ID'      => 'thb',
                'SENDER_APP_USER_NODE_UUID'  => '00000000-0000-4000-0000-000000000000'
        );

        $proxy_req_raw_data['USER_MSG_SENDER_INFO'] = $user_msg_sender_info;

        /*處理接收者的轉換*/
        $msg_recipient_info_list = array();
        $orig_post_msg_recipient_info_list = $req_raw_data['POST_MSG_RECIPIENT_INFO_LIST'];

        foreach ($orig_post_msg_recipient_info_list as $orig_msg_recipient_info) {
                $msg_recipient_info = array();
                $msg_recipient_info['RECIPIENT_APP_COMPANY_ID']    = 'thb';
                $msg_recipient_info['RECIPIENT_MODULE_ID']         = 'THB_PASS_EDOC';
                //$msg_recipient_info['RECIPIENT_APP_DEPT_CODE_NO']  = $orig_msg_recipient_info['RECIPIENT_APP_DEPT_CODE_NO'];
                //$msg_recipient_info['RECIPIENT_APP_USER_LOGIN_ID'] = $orig_msg_recipient_info['RECIPIENT_APP_USER_LOGIN_ID'];

                if(array_key_exists('RECIPIENT_APP_USER_LOGIN_ID',$orig_msg_recipient_info)) {
                        $msg_recipient_info['RECIPIENT_APP_USER_LOGIN_ID'] = $orig_msg_recipient_info['RECIPIENT_APP_USER_LOGIN_ID'];
                }

                if(array_key_exists('RECIPIENT_APP_DEPT_CODE_NO',$orig_msg_recipient_info)) {
                        $msg_recipient_info['RECIPIENT_APP_DEPT_CODE_NO'] = $orig_msg_recipient_info['RECIPIENT_APP_DEPT_CODE_NO'];
                }

                array_push($msg_recipient_info_list,$msg_recipient_info);
        }

        $proxy_req_raw_data['USER_MSG_RECIPIENT_INFO_LIST'] = $msg_recipient_info_list;

        /*處理 USER_MSG_CONTENT_INFO 的轉換*/

        $user_msg_content_info = array();
        $orig_post_msg_content_info = $req_raw_data['POST_MSG_CONTENT_INFO'];
        $user_msg_content_info['USER_MSG_UUID']           = $orig_post_msg_content_info['POST_MSG_UUID'];
        $user_msg_content_info['USER_MSG_DATE']           = $orig_post_msg_content_info['POST_MSG_DATE'];
        $user_msg_content_info['USER_MSG_DUE_DATE']       = $orig_post_msg_content_info['POST_MSG_DUE_DATE'];
        $user_msg_content_info['USER_MSG_TITLE']          = $orig_post_msg_content_info['POST_MSG_TITLE'];
        $user_msg_content_info['USER_MSG_CONTENT']        = $orig_post_msg_content_info['POST_MSG_CONTENT'];
        /*有檔案代碼*/
        if(array_key_exists('POST_MSG_FILE_UUID_LIST',$orig_post_msg_content_info)) {
                $user_msg_content_info['USER_MSG_FILE_UUID_LIST'] = $orig_post_msg_content_info['POST_MSG_FILE_UUID_LIST'];
        }

        $proxy_req_raw_data['USER_MSG_CONTENT_INFO'] = $user_msg_content_info;

        /*處理 USER_MSG_CONTENT_INFO 的轉換*/
        $user_msg_forward_property = array();
        $orig_user_msg_forward_property = $req_raw_data['POST_MSG_FORWARD_PROPERTY'];
        /*
        $user_msg_forward_property['FORWARD_SMS']          = $orig_user_msg_forward_property['SMS'];
        $user_msg_forward_property['FORWARD_EMAIL']        = $orig_user_msg_forward_property['EMAIL'];
        $user_msg_forward_property['FORWARD_PERSONAL_MSG'] = $orig_user_msg_forward_property['PERSONAL_MSG'];
        $user_msg_forward_property['FORWARD_INSTANT_MSG']  = $orig_user_msg_forward_property['INSTANT_MSG'];
        */

        /*強制設定轉送功能*/
        $user_msg_forward_property['FORWARD_SMS']          = 0;
        $user_msg_forward_property['FORWARD_EMAIL']        = 0;
        $user_msg_forward_property['FORWARD_PERSONAL_MSG'] = 1;
        $user_msg_forward_property['FORWARD_INSTANT_MSG']  = 0;

        $proxy_req_raw_data['USER_MSG_FORWARD_PROPERTY'] = $user_msg_forward_property;

        $proxy_req_json_data = json_encode($proxy_req_raw_data);
        $msg  = "[$seq_no $event_time]++++++++++++++++++++++++++++++" . "\n";
        $msg .= $proxy_req_json_data  . "\n";
        file_put_contents($log_filename,$msg ,FILE_APPEND | LOCK_EX);

        $web_client_obj       = new Pest('https://api.thbnet.gov.tw');
        $proxy_rep_json_data  = $web_client_obj->post('/user_msg/send_a_message/', $proxy_req_json_data);

        $msg  = "[$seq_no $event_time]------------------------------" . "\n";
        $msg .= $proxy_rep_json_data  . "\n";

        file_put_contents($log_filename,$msg ,FILE_APPEND | LOCK_EX);
        //file_put_contents($log_filename. '.'.$seq_no,$proxy_req_json_data);
        echo $proxy_rep_json_data;
?>
