107 lines
3.4 KiB
PHP
107 lines
3.4 KiB
PHP
<?php
|
|
/**
|
|
* @file pgkcp.lnk.php
|
|
* @created_on 2018-08-25
|
|
* @updated_on 2020-01-13
|
|
* @author Go Namhyeon <abuse@catswords.net>
|
|
* @brief KCP PG(Payment Gateway) Helper
|
|
*/
|
|
|
|
if(!defined("_DEF_RSF_")) set_error_exit("do not allow access");
|
|
|
|
loadHelper("json.format");
|
|
loadHelper("webpagetool");
|
|
loadHelper("compress.zip");
|
|
loadHelper("exectool");
|
|
|
|
if(!is_fn("get_pgkcp_config")) {
|
|
function get_pgkcp_dir() {
|
|
return get_current_working_dir() . "/vendor/_dist/pgkcp";
|
|
}
|
|
}
|
|
|
|
if(!is_fn("get_pgkcp_config")) {
|
|
function get_pgkcp_config() {
|
|
$pgkcp_config = array();
|
|
|
|
// include configuration file
|
|
$inc_file = get_pgkcp_dir() . "/cfg/site_conf_inc.php";
|
|
if(file_exists($inc_file)) {
|
|
include($inc_file);
|
|
|
|
$pgkcp_config = array(
|
|
"g_conf_home_dir" => $g_conf_home_dir,
|
|
"g_conf_log_path" => $g_conf_log_path,
|
|
"g_conf_gw_url" => $g_conf_gw_url,
|
|
"g_conf_js_url" => $g_conf_js_url,
|
|
"g_wsdl" => $g_wsdl,
|
|
"g_conf_site_cd" => $g_conf_site_cd,
|
|
"g_conf_site_key" => $g_conf_site_key,
|
|
"g_conf_site_name" => $g_conf_site_name,
|
|
"g_conf_log_level" => $g_conf_log_level,
|
|
"g_conf_gw_port" => $g_conf_gw_port,
|
|
"module_type" => $module_type,
|
|
);
|
|
|
|
// read configuration file
|
|
$fr = read_storage_file("api.config.pgkcp.json", array(
|
|
"storage_type" => "payman"
|
|
));
|
|
if(!empty($fr)) {
|
|
$_pgkcp_config = json_decode($fr);
|
|
$pgkcp_config['g_conf_gw_url'] = get_property_value("g_conf_gw_url", $_pgkcp_config);
|
|
$pgkcp_config['g_conf_js_url'] = get_property_value("g_conf_js_url", $_pgkcp_config);
|
|
$pgkcp_config['g_conf_site_cd'] = get_property_value("g_conf_site_cd", $_pgkcp_config);
|
|
$pgkcp_config['g_conf_site_key'] = get_property_value("g_conf_site_key", $_pgkcp_config);
|
|
$pgkcp_config['g_conf_site_name'] = get_property_value("g_conf_site_name", $_pgkcp_config);
|
|
}
|
|
} else {
|
|
set_error("PGKCP configuration file does not exists.");
|
|
show_errors();
|
|
}
|
|
|
|
// check installed platform
|
|
$platform = get_pgkcp_platform($pgkcp_config);
|
|
if(empty($platform)) {
|
|
set_error("pp_cli(pp_cli.exe) file is not found or executable");
|
|
show_errors();
|
|
} else {
|
|
$pgkcp_config['g_conf_platform'] = $platform;
|
|
}
|
|
|
|
return $pgkcp_config;
|
|
}
|
|
}
|
|
|
|
if(!is_fn("get_pgkcp_platform")) {
|
|
function get_pgkcp_platform($pgkcp_config) {
|
|
$platform = false;
|
|
|
|
$executables = array(
|
|
"default" => $pgkcp_config['g_conf_home_dir'] . "/bin/pp_cli",
|
|
"win32" => $pgkcp_config['g_conf_home_dir'] . "/bin/pp_cli.exe"
|
|
);
|
|
|
|
foreach($executables as $k=>$v) {
|
|
if(file_exists($v) && is_executable($v)) {
|
|
$platform = $k;
|
|
break;
|
|
}
|
|
}
|
|
|
|
return $platform;
|
|
}
|
|
}
|
|
|
|
if(!is_fn("load_pgkcp_library")) {
|
|
function load_pgkcp_library() {
|
|
$inc_file = get_pgkcp_dir() . "/sample/pp_cli_hub_lib.php";
|
|
if(file_exists($inc_file)) {
|
|
include($inc_file);
|
|
} else {
|
|
set_error("PGKCP payment library file does not exists.");
|
|
show_errors();
|
|
}
|
|
}
|
|
}
|