diff --git a/wrenchboard/src/shared_tool/media.cc b/wrenchboard/src/shared_tool/media.cc index 10590e07..efc9eaf2 100644 --- a/wrenchboard/src/shared_tool/media.cc +++ b/wrenchboard/src/shared_tool/media.cc @@ -74,7 +74,17 @@ long WrenchFindStoredMedia(CVars in, CVars &out) { break; case WRENCH_FILE_CONTRACTS: - snprintf(vname, sizeof (vname), "SELECT * FROM members WHERE id =1", in["file_uid"].c_str()); + /* + +wrenchboard=> select * from jobs_contract_message where msg_type ='FILE' limit 1; + id | member_id | contract | msg_type | message | status | created | uid +----+-----------+----------------+----------+------------------------+--------+----------------------------+-------------------------------------- + 5 | 1 | ABCDEFG0IJK002 | FILE | delivery-zip-files.zip | 1 | 2017-03-14 00:11:37.881015 | 7d347a17-9d4e-4067-a7a2-ba05c116626f +(1 row) + + */ + snprintf(vname, sizeof (vname), "SELECT message AS saved_file_name, contract " + " FROM jobs_contract_message WHERE uid = '%s'", in["file_uid"].c_str()); break; case WRENCH_FILE_FAMILY: diff --git a/www-api/app/Controllers/WrenchMedia.php b/www-api/app/Controllers/WrenchMedia.php index faf7846d..3990037d 100644 --- a/www-api/app/Controllers/WrenchMedia.php +++ b/www-api/app/Controllers/WrenchMedia.php @@ -121,6 +121,12 @@ class WrenchMedia extends BaseController case 10: $error_file ="error_reward.png"; break; + case WRENCH_FILE_CONTRACTS: + // $thisContactFolder = $this->savePath.'CONTRACTS/'.$in["contract"]; + $selectedFile = $this->savePath.'CONTRACTS/'.$out["contract"]."/". $out["saved_file_name"]; + $selectedFile_CACHE_KEY= 'CONTRACTS_'.$out["contract"]."_". $out["saved_file_name"]; + $error_file ="contract_error.png"; + break; case WRENCH_FILE_PROFILE: ///opt/wrenchboard/TEST/PROFILE/3119b744-42ad-4834-bb83-b737588754ca/PORTRAIT $selectedFile = $this->savePath.'PROFILE/'.$out["member_uid"]."/PORTRAIT/". $out["saved_file_name"]; @@ -174,7 +180,20 @@ class WrenchMedia extends BaseController $this->saveCache($endpoint,$out,10000); } log_message('critical', "AFTER CACHE*********"); - + if ($supportedSections[$fileSection] == WRENCH_FILE_CONTRACTS){ + if (file_exists($selectedFile)) { + header('Content-Description: File Transfer'); + header('Content-Type: application/octet-stream'); + header('Content-Disposition: attachment; filename="'.basename($selectedFile).'"'); + header('Expires: 0'); + header('Cache-Control: must-revalidate'); + header('Pragma: public'); + header('Content-Length: ' . filesize($selectedFile)); + readfile($selectedFile); + exit; + } + exit(); + } $filename = basename($out["saved_file_name"]); $file_extension = strtolower(substr(strrchr($filename,"."),1)); switch( $file_extension ) {