Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
iwl-live
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Anthony.Suerte
iwl-live
Commits
aed9dff4
Commit
aed9dff4
authored
Sep 03, 2024
by
iWallet Dev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
AWS S3 Bucket Integration
parent
c3a5024b
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
305 additions
and
43 deletions
+305
-43
tmp_setting_kyc_upload.php
en/template/tmp_setting_kyc_upload.php
+1
-1
tmp_setting_kyc_upload.php
ja/template/tmp_setting_kyc_upload.php
+1
-1
logic.php
logic/setting/logic.php
+14
-4
kyczipdl.php
system/api/kyczipdl.php
+48
-0
AWSMangoMailer.php
system/lib/ext/aws/AWSMangoMailer.php
+3
-3
AWSMangos3Bucket.php
system/lib/ext/aws/AWSMangos3Bucket.php
+185
-0
ext.php
system/lib/ext/ext.php
+2
-1
logic.php
system/logic/account_edit/logic.php
+9
-3
model.php
system/logic/account_edit/model.php
+4
-0
model.php
system/logic/kyc/model.php
+38
-30
No files found.
en/template/tmp_setting_kyc_upload.php
View file @
aed9dff4
...
@@ -45,7 +45,7 @@ include_once('template/base_head.php');
...
@@ -45,7 +45,7 @@ include_once('template/base_head.php');
<p
class=
"kycT mb20"
><input
type=
"button"
id=
"btnKyc"
value=
"Upload"
class=
"btn bg-grad px120 calign"
></p>
<p
class=
"kycT mb20"
><input
type=
"button"
id=
"btnKyc"
value=
"Upload"
class=
"btn bg-grad px120 calign"
></p>
<input
type=
"hidden"
value=
""
id=
"type"
name=
"type"
/>
<input
type=
"hidden"
value=
"
save
"
id=
"type"
name=
"type"
/>
<input
type=
"hidden"
value=
"settting_kyc"
id=
"action"
name=
"action"
/>
<input
type=
"hidden"
value=
"settting_kyc"
id=
"action"
name=
"action"
/>
<input
type=
"hidden"
value=
"0"
id=
"img_1_flg"
name=
"img_1_flg"
/>
<input
type=
"hidden"
value=
"0"
id=
"img_1_flg"
name=
"img_1_flg"
/>
<input
type=
"hidden"
value=
"0"
id=
"img_2_flg"
name=
"img_2_flg"
/>
<input
type=
"hidden"
value=
"0"
id=
"img_2_flg"
name=
"img_2_flg"
/>
...
...
ja/template/tmp_setting_kyc_upload.php
View file @
aed9dff4
...
@@ -77,7 +77,7 @@ include_once('template/base_head.php');
...
@@ -77,7 +77,7 @@ include_once('template/base_head.php');
※ご提出頂いた順に書類確認させて頂いておりますので、アップロード書類状態が未認証のお客様は審査完了までファイルを追加しないでお待ちください。
</p>
※ご提出頂いた順に書類確認させて頂いておりますので、アップロード書類状態が未認証のお客様は審査完了までファイルを追加しないでお待ちください。
</p>
<p
class=
"kycT mb20"
><input
type=
"button"
id=
"btnKyc"
value=
"アップロード"
class=
"btn bg-grad px120 calign"
></p>
<p
class=
"kycT mb20"
><input
type=
"button"
id=
"btnKyc"
value=
"アップロード"
class=
"btn bg-grad px120 calign"
></p>
<input
type=
"hidden"
value=
""
id=
"type"
name=
"type"
/>
<input
type=
"hidden"
value=
"
save
"
id=
"type"
name=
"type"
/>
<input
type=
"hidden"
value=
"settting_kyc"
id=
"action"
name=
"action"
/>
<input
type=
"hidden"
value=
"settting_kyc"
id=
"action"
name=
"action"
/>
<input
type=
"hidden"
value=
"0"
id=
"img_1_flg"
name=
"img_1_flg"
/>
<input
type=
"hidden"
value=
"0"
id=
"img_1_flg"
name=
"img_1_flg"
/>
...
...
logic/setting/logic.php
View file @
aed9dff4
...
@@ -44,7 +44,6 @@ class LogicSetting extends SettingModelClass {
...
@@ -44,7 +44,6 @@ class LogicSetting extends SettingModelClass {
* @return : なし
* @return : なし
-------------------------------------------------------------------------*/
-------------------------------------------------------------------------*/
private
function
biz
()
{
private
function
biz
()
{
// ロジックの振り分け
// ロジックの振り分け
if
(
$this
->
getAction
()
==
NO_STRING
if
(
$this
->
getAction
()
==
NO_STRING
&&
$this
->
getType
()
==
TYPE_COMPLETE
)
{
// プロフィール登録
&&
$this
->
getType
()
==
TYPE_COMPLETE
)
{
// プロフィール登録
...
@@ -55,17 +54,18 @@ class LogicSetting extends SettingModelClass {
...
@@ -55,17 +54,18 @@ class LogicSetting extends SettingModelClass {
$this
->
loadImageKycPerson
();
$this
->
loadImageKycPerson
();
$this
->
updateKycValidateStatus
();
$this
->
updateKycValidateStatus
();
$this
->
listKYC
();
$this
->
listKYC
();
header
(
'Location: /'
.
$this
->
getLangage
()
.
'/setting?type=settting_kyc'
);
header
(
'Location: /'
.
$this
->
getLangage
()
.
'/setting?type=settting_kyc&loaded=1'
);
}
else
if
(
$this
->
getAction
()
==
CONTROL_SETTING_KYC
}
else
if
(
$this
->
getAction
()
==
CONTROL_SETTING_KYC
&&
$this
->
getType
()
==
TYPE_COMPLETE
)
{
// KYC登録(法人)
&&
$this
->
getType
()
==
TYPE_COMPLETE
)
{
// KYC登録(法人)
$this
->
loadImageKycCorp
();
$this
->
loadImageKycCorp
();
$this
->
updateKycValidateStatus
();
$this
->
updateKycValidateStatus
();
$this
->
listKYC
();
$this
->
listKYC
();
header
(
'Location: /'
.
$this
->
getLangage
()
.
'/setting?type=settting_kyc'
);
header
(
'Location: /'
.
$this
->
getLangage
()
.
'/setting?type=settting_kyc&loaded=1'
);
}
else
if
(
$this
->
getAction
()
==
CONTROL_SETTING_KYC
}
else
if
(
$this
->
getAction
()
==
CONTROL_SETTING_KYC
&&
$this
->
getType
()
==
TYPE_EXPORT
)
{
// KYC書類ダウンロード
&&
$this
->
getType
()
==
TYPE_EXPORT
)
{
// KYC書類ダウンロード
$this
->
download
();
$this
->
download
();
}
else
if
(
$this
->
getAction
()
==
CONTROL_SETTING_CHANGE_PASSWORD
}
else
if
(
$this
->
getAction
()
==
CONTROL_SETTING_CHANGE_PASSWORD
&&
$this
->
getType
()
==
TYPE_COMPLETE
)
{
// パスワード変更
&&
$this
->
getType
()
==
TYPE_COMPLETE
)
{
// パスワード変更
...
@@ -110,6 +110,10 @@ class LogicSetting extends SettingModelClass {
...
@@ -110,6 +110,10 @@ class LogicSetting extends SettingModelClass {
$this
->
setAccountType
();
$this
->
setAccountType
();
$this
->
load
();
$this
->
load
();
$this
->
listKYC
();
$this
->
listKYC
();
if
(
$this
->
getDataGet
(
"loaded"
)){
AWSMangos3Bucket
::
getInstance
()
->
deleteLocalDirectory
(
$this
->
getKycDirectory
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)));
}
}
else
{
}
else
{
$this
->
load
();
$this
->
load
();
}
}
...
@@ -578,6 +582,9 @@ class LogicSetting extends SettingModelClass {
...
@@ -578,6 +582,9 @@ class LogicSetting extends SettingModelClass {
if
(
$flg
)
{
if
(
$flg
)
{
$this
->
accessModify
(
'UPDATE_KYC_FLG'
,
array
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
),
NO_COUNT
),
false
);
$this
->
accessModify
(
'UPDATE_KYC_FLG'
,
array
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
),
NO_COUNT
),
false
);
}
}
// syncing to bucket
AWSMangos3Bucket
::
getInstance
()
->
uploadDirectory
(
$path
);
}
}
/*-------------------------------------------------------------------------
/*-------------------------------------------------------------------------
...
@@ -1036,6 +1043,9 @@ class LogicSetting extends SettingModelClass {
...
@@ -1036,6 +1043,9 @@ class LogicSetting extends SettingModelClass {
,
$params
,
$params
,
VAR_NOTICE_MAIL_ADDRESS
,
VAR_NOTICE_MAIL_ADDRESS
,
VAR_NOTICE_MAIL_ADDRESS
);
,
VAR_NOTICE_MAIL_ADDRESS
);
// syncing to bucket
AWSMangos3Bucket
::
getInstance
()
->
uploadDirectory
(
$path
);
}
}
}
}
...
...
system/api/kyczipdl.php
0 → 100644
View file @
aed9dff4
<?php
require_once
"../lib/config.php"
;
class
kyczipdl
extends
System
{
/**
*
* @var zipdl
*/
private
static
$instance
=
null
;
public
function
__construct
(){
parent
::
__construct
();
}
/**
*
* renders the content of a zip file to be downloaded
*
*/
public
function
render
(){
$downloadable
=
urldecode
(
$this
->
getDataGet
(
"f"
));
if
(
!@
file_exists
(
$downloadable
)){
http_response_code
(
404
);
die
(
"404 Not Found"
);
}
header
(
"Content-Type: application/zip"
);
header
(
"Content-Disposition: attachment; filename=
\"
"
.
basename
(
$downloadable
)
.
"
\"
"
);
header
(
"Content-Length: "
.
filesize
(
$downloadable
));
readfile
(
$downloadable
);
unlink
(
$downloadable
);
}
public
static
function
getInstance
(){
if
(
is_null
(
self
::
$instance
)){
self
::
$instance
=
new
kyczipdl
();
}
return
self
::
$instance
;
}
}
kyczipdl
::
getInstance
()
->
render
();
\ No newline at end of file
system/lib/ext/aws
-ses-ext
/AWSMangoMailer.php
→
system/lib/ext/aws/AWSMangoMailer.php
View file @
aed9dff4
...
@@ -6,7 +6,7 @@ use Aws\Exception\CredentialsException;
...
@@ -6,7 +6,7 @@ use Aws\Exception\CredentialsException;
class
AWSMangoMailer
{
class
AWSMangoMailer
{
private
$sender_email
=
'cs@iwl.world'
;
private
$sender_email
=
'cs
-test
@iwl.world'
;
private
$sesClient
;
private
$sesClient
;
private
$altName
=
NO_STRING
;
private
$altName
=
NO_STRING
;
...
@@ -15,8 +15,8 @@ class AWSMangoMailer {
...
@@ -15,8 +15,8 @@ class AWSMangoMailer {
'version'
=>
'2010-12-01'
,
'version'
=>
'2010-12-01'
,
'region'
=>
'ap-southeast-1'
,
'region'
=>
'ap-southeast-1'
,
'credentials'
=>
[
'credentials'
=>
[
'key'
=>
'AKIARMKWQUBI
YI4VSFZO
'
,
'key'
=>
'AKIARMKWQUBI
XLNHNIG6
'
,
'secret'
=>
'
36B24NwucYrcx07SPji2INPncdT3lW+Oc32KTfdL
'
'secret'
=>
'
omU1LgnAnCPqzDhwM/7BsY0pnyjq8GEoRAIr6qvA
'
]
]
]);
]);
}
}
...
...
system/lib/ext/aws/AWSMangos3Bucket.php
0 → 100644
View file @
aed9dff4
<?php
use
Aws\Exception\AwsException
;
use
Aws\S3\S3Client
;
/**
*
* @author Anthony
*
*/
class
AWSMangos3Bucket
{
/**
*
* @var string
*/
private
const
BUCKET_NAME
=
"iwl-world-stg"
;
/**
*
* @var AWSMangos3Bucket
*/
private
static
$instance
=
null
;
/**
*
* @var S3Client
*/
private
$s3
;
private
function
__construct
(){
$this
->
s3
=
new
S3Client
([
"version"
=>
"latest"
,
'region'
=>
'ap-southeast-1'
,
'credentials'
=>
[
'key'
=>
'AKIARMKWQUBIX45B6GR7'
,
'secret'
=>
'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'
,
]
]);
}
/**
*
* syncing a file to bucket
*
* @param string $filekey
* @param string $sourceFilePath
* @return boolean
*/
public
function
uploadFile
(
string
$filekey
,
string
$sourceFilePath
){
try
{
// Upload the file to S3
$this
->
s3
->
putObject
([
'Bucket'
=>
self
::
BUCKET_NAME
,
'Key'
=>
$filekey
,
'SourceFile'
=>
$sourceFilePath
,
]);
// Print the URL of the uploaded file
return
true
;
}
catch
(
AwsException
$ex
){
return
false
;
}
}
/**
*
* unlinks a file from bucket
*
* @param string $filekey
* @return boolean
*/
public
function
deleteFile
(
string
$filekey
){
try
{
// Delete the object
$result
=
$this
->
s3
->
deleteObject
([
'Bucket'
=>
self
::
BUCKET_NAME
,
'Key'
=>
$filekey
,
]);
// Check if the deletion was successful
return
$result
?
true
:
false
;
}
catch
(
AwsException
$ex
)
{
return
false
;
}
}
/**
*
* syncing the directory to bucket
*
* @param string $directoryPath
*/
public
function
uploadDirectory
(
string
$directoryPath
){
$files
=
new
RecursiveIteratorIterator
(
new
RecursiveDirectoryIterator
(
$directoryPath
));
foreach
(
$files
as
$file
){
if
(
$file
->
isFile
()){
$filekey
=
str_replace
(
"
\\
"
,
"/"
,
substr
(
$file
->
getPathname
(),
strrpos
(
$directoryPath
,
basename
(
$directoryPath
))));
$this
->
uploadFile
(
$filekey
,
$file
->
getPathname
());
}
}
}
/**
*
* used as a tool to remove the designated local directory from local storage
* after syncing to s3 bucket
*
* @param string $directoryPath
* @return boolean
*/
public
function
deleteLocalDirectory
(
string
$directoryPath
){
if
(
!
is_dir
(
$directoryPath
))
{
return
false
;
// Not a directory
}
$items
=
array_diff
(
scandir
(
$directoryPath
),
array
(
'.'
,
'..'
));
// Get all items in the directory
foreach
(
$items
as
$item
)
{
$path
=
"
{
$directoryPath
}
/
{
$item
}
"
;
if
(
is_dir
(
$path
))
{
$this
->
deleteDirectory
(
$path
);
// Recursively delete subdirectories
}
else
{
unlink
(
$path
);
// Delete files
}
}
rmdir
(
$directoryPath
);
// Delete the now-empty directory
return
true
;
}
/**
*
* retrieves the URL of a presigned bucket file
*
* @param string $filekey
* @return string
*/
public
function
getPresignedBucketFile
(
string
$filekey
){
$cmd
=
$this
->
s3
->
getCommand
(
'GetObject'
,
[
'Bucket'
=>
self
::
BUCKET_NAME
,
'Key'
=>
$filekey
]);
$request
=
$this
->
s3
->
createPresignedRequest
(
$cmd
,
'+60 minutes'
);
// Get the pre-signed URL
return
(
string
)
$request
->
getUri
();
}
/**
*
* @param string $filekey
* @return string
*/
public
function
viewFile
(
string
$filekey
){
// Get the pre-signed URL
$uri
=
(
string
)
$this
->
getPresignedBucketFile
(
$filekey
);
$mimeType
=
mime_content_type
(
$filekey
);
header
(
"Content-type:
{
$mimeType
}
"
);
header
(
"Content-Disposition: inline;filename=
\"
{
$filekey
}
\"
"
);
return
readfile
(
$uri
);
}
/**
*
* @return AWSMangos3Bucket
*/
public
static
function
getInstance
(){
if
(
is_null
(
self
::
$instance
)){
self
::
$instance
=
new
AWSMangos3Bucket
();
}
return
self
::
$instance
;
}
}
system/lib/ext/ext.php
View file @
aed9dff4
...
@@ -7,7 +7,8 @@
...
@@ -7,7 +7,8 @@
return
[
return
[
"vendor/autoload.php"
,
"vendor/autoload.php"
,
"duplicate/PotentialDuplicateAccountChecker.php"
,
"duplicate/PotentialDuplicateAccountChecker.php"
,
"aws-ses-ext/AWSMangoMailer.php"
,
"aws/AWSMangoMailer.php"
,
"aws/AWSMangos3Bucket.php"
,
"ini-ext/ini-ext-load.php"
,
"ini-ext/ini-ext-load.php"
,
"util/TransactionTokenUtil.php"
"util/TransactionTokenUtil.php"
];
];
\ No newline at end of file
system/logic/account_edit/logic.php
View file @
aed9dff4
...
@@ -25,7 +25,6 @@ class LogicAccountEdit extends AccountEditModelClass {
...
@@ -25,7 +25,6 @@ class LogicAccountEdit extends AccountEditModelClass {
function
logic
()
{
function
logic
()
{
try
{
try
{
// 初期データ処理
// 初期データ処理
$this
->
init
();
$this
->
init
();
...
@@ -36,6 +35,10 @@ class LogicAccountEdit extends AccountEditModelClass {
...
@@ -36,6 +35,10 @@ class LogicAccountEdit extends AccountEditModelClass {
$this
->
selectLogin
();
$this
->
selectLogin
();
if
(
$this
->
getType
()
==
NO_STRING
){
if
(
$this
->
getType
()
==
NO_STRING
){
$this
->
insertActivity
();
$this
->
insertActivity
();
if
(
$this
->
getDataGet
(
"loaded"
)){
AWSMangos3Bucket
::
getInstance
()
->
deleteLocalDirectory
(
$this
->
getKycDirectory
(
$this
->
getDetailAccount
()));
}
}
}
//获取2faenable
//获取2faenable
$this
->
set2fa
(
true
);
$this
->
set2fa
(
true
);
...
@@ -131,8 +134,11 @@ class LogicAccountEdit extends AccountEditModelClass {
...
@@ -131,8 +134,11 @@ class LogicAccountEdit extends AccountEditModelClass {
$this
->
loadImageKycCorp
();
$this
->
loadImageKycCorp
();
$this
->
updateKycValidateStatus
();
$this
->
updateKycValidateStatus
();
}
}
$this
->
setType
(
TYPE_COMPLETE
);
// $this -> setType(TYPE_COMPLETE);
}
header
(
"Location:
{
$_SERVER
[
"REQUEST_URI"
]
}
&loaded=1"
);
exit
();
}
}
catch
(
Exception
$e
)
{
}
catch
(
Exception
$e
)
{
throw
$e
;
throw
$e
;
...
...
system/logic/account_edit/model.php
View file @
aed9dff4
...
@@ -2982,6 +2982,8 @@ class AccountEditModelClass extends ModelClassEx {
...
@@ -2982,6 +2982,8 @@ class AccountEditModelClass extends ModelClassEx {
if
(
$flg
)
{
if
(
$flg
)
{
$this
->
accessModify
(
'UPDATE_KYC_FLG'
,
array
(
$this
->
detailAccount
,
NO_COUNT
),
false
);
$this
->
accessModify
(
'UPDATE_KYC_FLG'
,
array
(
$this
->
detailAccount
,
NO_COUNT
),
false
);
}
}
AWSMangos3Bucket
::
getInstance
()
->
uploadDirectory
(
$path
);
}
}
/*-------------------------------------------------------------------------
/*-------------------------------------------------------------------------
...
@@ -3396,6 +3398,8 @@ class AccountEditModelClass extends ModelClassEx {
...
@@ -3396,6 +3398,8 @@ class AccountEditModelClass extends ModelClassEx {
if
(
$flg
)
{
if
(
$flg
)
{
$this
->
accessModify
(
'UPDATE_KYC_FLG'
,
array
(
$this
->
detailAccount
,
NO_COUNT
),
false
);
$this
->
accessModify
(
'UPDATE_KYC_FLG'
,
array
(
$this
->
detailAccount
,
NO_COUNT
),
false
);
}
}
AWSMangos3Bucket
::
getInstance
()
->
uploadDirectory
(
$path
);
// アップロードファイルが存在したらメールを送信する
// アップロードファイルが存在したらメールを送信する
// if($this -> isLoopData($uploads)) {
// if($this -> isLoopData($uploads)) {
...
...
system/logic/kyc/model.php
View file @
aed9dff4
...
@@ -577,18 +577,19 @@ class KYCModelClass extends ModelClassEx {
...
@@ -577,18 +577,19 @@ class KYCModelClass extends ModelClassEx {
$domain
=
NO_STRING
;
$domain
=
NO_STRING
;
}
}
$filetype
=
$this
->
getFileType
(
$this
->
rs
[
$rCnt
+
$i
][
COLUMN_SAVE_FILENAME
]);
$filetype
=
$this
->
getFileType
(
$this
->
rs
[
$rCnt
+
$i
][
COLUMN_SAVE_FILENAME
]);
$bucketKyc
=
AWSMangos3Bucket
::
getInstance
()
$path
=
$this
->
getKycDirectoryWeb
(
$this
->
userAccount
);
->
getPresignedBucketFile
(
"
{
$this
->
userAccount
}
/
{
$this
->
rs
[
$rCnt
+
$i
][
COLUMN_SAVE_FILENAME
]
}
"
);
if
(
$filetype
==
'pdf'
){
if
(
$filetype
==
'pdf'
){
$rtn
.=
'<td>'
$rtn
.=
'<td>'
.
'<div class="kyc_img"><a href="'
.
$
domain
.
$path
.
DELIMIT_SLASH
.
$this
->
rs
[
$rCnt
+
$i
][
COLUMN_SAVE_FILENAME
]
.
'" target="_blank">'
.
$this
->
rs
[
$rCnt
+
$i
][
COLUMN_OLD_FILENAME
]
.
'</a></div>'
.
'<div class="kyc_img"><a href="'
.
$
bucketKyc
.
'" target="_blank">'
.
$this
->
rs
[
$rCnt
+
$i
][
COLUMN_OLD_FILENAME
]
.
'</a></div>'
.
'<input type="checkbox" class="cb-left" name="download[]" value="'
.
substr
(
$key
,
0
,
-
1
)
.
'">Uploaded: '
.
$this
->
rs
[
$rCnt
+
$i
][
COLUMN_CREATE_TIME
]
.
'<br>'
.
VAL_KYC_ADMIN_FILENAME
.
': '
.
$this
->
getColumnData
(
$row
,
COLUMN_OLD_FILENAME
)
.
'<input type="checkbox" class="cb-left" name="download[]" value="'
.
substr
(
$key
,
0
,
-
1
)
.
'">Uploaded: '
.
$this
->
rs
[
$rCnt
+
$i
][
COLUMN_CREATE_TIME
]
.
'<br>'
.
VAL_KYC_ADMIN_FILENAME
.
': '
.
$this
->
getColumnData
(
$row
,
COLUMN_OLD_FILENAME
)
.
'</td>'
;
.
'</td>'
;
}
else
{
}
else
{
$rtn
.=
'<td>'
$rtn
.=
'<td>'
.
'<div class="kyc_img"> <img data-original="'
.
$domain
.
$path
.
DELIMIT_SLASH
.
$this
->
rs
[
$rCnt
+
$i
][
COLUMN_SAVE_FILENAME
]
.
'" src="'
.
$domain
.
$path
.
DELIMIT_SLASH
.
$this
->
rs
[
$rCnt
+
$i
][
COLUMN_SAVE_FILENAME
]
.
'" width="65%;"></div>'
.
'<div class="kyc_img"> <img data-original="'
.
$bucketKyc
.
'" src="'
.
$bucketKyc
.
'" width="65%;"></div>'
.
'<input type="checkbox" class="cb-left" name="download[]" value="'
.
substr
(
$key
,
0
,
-
1
)
.
'">Uploaded: '
.
$this
->
rs
[
$rCnt
+
$i
][
COLUMN_CREATE_TIME
]
.
'<br>'
.
VAL_KYC_ADMIN_FILENAME
.
': '
.
$this
->
getColumnData
(
$row
,
COLUMN_OLD_FILENAME
)
.
'<input type="checkbox" class="cb-left" name="download[]" value="'
.
substr
(
$key
,
0
,
-
1
)
.
'">Uploaded: '
.
$this
->
rs
[
$rCnt
+
$i
][
COLUMN_CREATE_TIME
]
.
'<br>'
.
VAL_KYC_ADMIN_FILENAME
.
': '
.
$this
->
getColumnData
(
$row
,
COLUMN_OLD_FILENAME
)
.
'</td>'
;
.
'</td>'
;
}
}
...
@@ -654,24 +655,19 @@ class KYCModelClass extends ModelClassEx {
...
@@ -654,24 +655,19 @@ class KYCModelClass extends ModelClassEx {
if
(
$arr
[
NO_COUNT
]
==
NO_STRING
){
if
(
$arr
[
NO_COUNT
]
==
NO_STRING
){
return
;
return
;
}
else
if
(
$arr
[
VAL_INT_1
]
==
VAL_INT_2
){
}
else
if
(
$arr
[
VAL_INT_1
]
==
VAL_INT_2
){
//当值为2时删除记录与文件
//获取文件路径
$path
=
$this
->
getKycDirectoryWeb
(
$this
->
userAccount
);
$filename
=
''
;
//查询记录
//查询记录
$this
->
setResult
(
$this
->
accessSelect
(
'SELECT_KYC_BY_K_ID'
,
array
(
$arr
[
0
])));
$this
->
setResult
(
$this
->
accessSelect
(
'SELECT_KYC_BY_K_ID'
,
array
(
$arr
[
0
])));
if
(
$this
->
isLoopData
(
$this
->
rs
))
{
if
(
$this
->
isLoopData
(
$this
->
rs
))
{
foreach
(
$this
->
rs
as
$row
)
{
foreach
(
$this
->
rs
as
$row
)
{
$
filename
=
$path
.
DIRECTORY_SEPARATOR
.
$this
->
getColumnData
(
$row
,
COLUMN_SAVE_FILENAME
);
$
saveFilename
=
$this
->
getColumnData
(
$row
,
COLUMN_SAVE_FILENAME
);
}
}
//删除存在文件
//删除存在文件
if
(
file_exists
(
SYSTEM_PATH
.
$filename
)){
AWSMangos3Bucket
::
getInstance
()
->
deleteFile
(
"
{
$this
->
userAccount
}
/
{
$saveFilename
}
"
);
unlink
(
SYSTEM_PATH
.
$filename
);
}
}
}
$this
->
accessModifyCommon
(
'DELETE_KYC_ADMIN_IMAGE_RECORDS'
,
array
(
$arr
[
0
]));
$this
->
accessModifyCommon
(
'DELETE_KYC_ADMIN_IMAGE_RECORDS'
,
array
(
$arr
[
0
]));
return
1
;
return
1
;
}
}
...
@@ -753,6 +749,8 @@ class KYCModelClass extends ModelClassEx {
...
@@ -753,6 +749,8 @@ class KYCModelClass extends ModelClassEx {
}
}
public
function
downloadImage
(){
public
function
downloadImage
(){
ob_start
();
//整理要下载的图片的信息,名称,路径等信息
//整理要下载的图片的信息,名称,路径等信息
$date
=
date
(
"YmdHis"
);
$date
=
date
(
"YmdHis"
);
...
@@ -761,14 +759,25 @@ class KYCModelClass extends ModelClassEx {
...
@@ -761,14 +759,25 @@ class KYCModelClass extends ModelClassEx {
echo
'<script>alert("'
.
VAL_KYC_ADMIN_DLIMAGEMES
.
'");</script>'
;
echo
'<script>alert("'
.
VAL_KYC_ADMIN_DLIMAGEMES
.
'");</script>'
;
return
;
return
;
}
}
$path
=
$this
->
getKycDirectoryWeb
(
$this
->
userAccount
);
$path
=
$this
->
getKycDirectoryWeb
(
$this
->
userAccount
);
$temp
=
SYSTEM_PATH
.
$path
;
mkdir
(
$temp
,
0777
,
true
);
$arrTmp
=
array
();
$arrTmp
=
array
();
if
(
$this
->
isLoopData
(
$this
->
rs
)){
if
(
$this
->
isLoopData
(
$this
->
rs
)){
foreach
(
$this
->
rs
as
$row
){
foreach
(
$this
->
rs
as
$row
){
if
(
in_array
(
$row
[
'k_id'
],
$this
->
downArr
)){
if
(
in_array
(
$row
[
'k_id'
],
$this
->
downArr
)){
$arrTmp
[
$row
[
'k_id'
]]
=
$path
.
DIRECTORY_SEPARATOR
.
$row
[
'save_filename'
];
$kycContent
=
file_get_contents
(
AWSMangos3Bucket
::
getInstance
()
->
getPresignedBucketFile
(
"
{
$this
->
userAccount
}
/
{
$row
[
'save_filename'
]
}
"
));
if
(
$kycContent
){
file_put_contents
(
$temp
.
DIRECTORY_SEPARATOR
.
$row
[
'save_filename'
],
$kycContent
);
$arrTmp
[
$row
[
'k_id'
]]
=
$path
.
DIRECTORY_SEPARATOR
.
$row
[
'save_filename'
];
}
}
}
}
}
}
}
...
@@ -778,27 +787,26 @@ class KYCModelClass extends ModelClassEx {
...
@@ -778,27 +787,26 @@ class KYCModelClass extends ModelClassEx {
$downloadFilename
=
$date
.
'_'
.
$this
->
userAccount
.
'.zip'
;
$downloadFilename
=
$date
.
'_'
.
$this
->
userAccount
.
'.zip'
;
$apiPath
=
dirname
(
SYSTEM_PATH
)
.
DIRECTORY_SEPARATOR
.
'api'
;
$apiPath
=
dirname
(
SYSTEM_PATH
)
.
DIRECTORY_SEPARATOR
.
'api'
;
$result
=
$zip
->
open
(
$apiPath
.
DIRECTORY_SEPARATOR
.
$downloadFilename
,
ZIPARCHIVE
::
CREATE
|
ZIPARCHIVE
::
OVERWRITE
);
$result
=
$zip
->
open
(
$apiPath
.
DIRECTORY_SEPARATOR
.
$downloadFilename
,
ZIPARCHIVE
::
CREATE
|
ZIPARCHIVE
::
OVERWRITE
);
if
(
$result
!==
true
)
{
if
(
$result
!==
true
)
{
return
false
;
return
false
;
}
}
//処理制限時間を外す
//処理制限時間を外す
set_time_limit
(
0
);
//
set_time_limit(0);
foreach
(
$arrTmp
as
$val
){
foreach
(
$arrTmp
as
$val
){
$filename
=
basename
(
$val
);
//取得ファイルをZipに追加
//取得ファイルをZipに追加
$zip
->
addFromString
(
$filename
,
file_get_contents
(
SYSTEM_PATH
.
$val
));
$zip
->
addFile
(
SYSTEM_PATH
.
$val
,
basename
(
$val
));
}
}
$zip
->
close
();
$zip
->
close
();
sleep
(
3
);
sleep
(
2
);
header
(
'Content-Type: application/zip; name="'
.
$downloadFilename
.
'"'
);
header
(
'Content-Disposition: attachment; filename="'
.
$downloadFilename
.
'"'
);
AWSMangos3Bucket
::
getInstance
()
->
deleteLocalDirectory
(
$temp
);
header
(
'Content-Length: '
.
filesize
(
$apiPath
.
DIRECTORY_SEPARATOR
.
$downloadFilename
));
echo
file_get_contents
(
$apiPath
.
DIRECTORY_SEPARATOR
.
$downloadFilename
);
header
(
"Location: /api/kyczipdl.php?f="
.
urlencode
(
$apiPath
.
DIRECTORY_SEPARATOR
.
$downloadFilename
));
unlink
(
$apiPath
.
DIRECTORY_SEPARATOR
.
$downloadFilename
);
exit
();
}
}
/*-------------------------------------------------------------------------
/*-------------------------------------------------------------------------
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment