|
|
|
@ -2,6 +2,7 @@
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Controllers; |
|
|
|
|
|
|
|
|
|
use App\Models\Company; |
|
|
|
|
use Illuminate\Http\Request; |
|
|
|
|
use App\Models\Image; |
|
|
|
|
|
|
|
|
@ -19,6 +20,7 @@ class ImageController extends Controller
|
|
|
|
|
$ref_id = $request->ref_id; |
|
|
|
|
$dokumen = $request->file('files'); |
|
|
|
|
$extension = $dokumen->extension(); |
|
|
|
|
$category = $request->category; |
|
|
|
|
$name = $ref_id.date("YmdHis").".".$extension; |
|
|
|
|
|
|
|
|
|
$resultMove = $dokumen->move($this->pathImage, $name); |
|
|
|
@ -27,11 +29,37 @@ class ImageController extends Controller
|
|
|
|
|
$data = [ |
|
|
|
|
'ref_id' => (int)$ref_id, |
|
|
|
|
'image' => $name, |
|
|
|
|
'category' => $request->category |
|
|
|
|
'category' => $category |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
$result = Image::create($data); |
|
|
|
|
|
|
|
|
|
$company = Company::find((int)$ref_id); |
|
|
|
|
if($company && $category === 'company_logo_login') { |
|
|
|
|
$dataArray = json_decode($company['logo_login'], true); |
|
|
|
|
if(isset($dataArray['slider'])) { |
|
|
|
|
$jsonImageSlider['login'] = $name; |
|
|
|
|
$jsonImageSlider['slider'] = $dataArray['slider']; |
|
|
|
|
} else { |
|
|
|
|
$jsonImageSlider['login'] = $name; |
|
|
|
|
} |
|
|
|
|
$company->update([ |
|
|
|
|
'logo_login' => $jsonImageSlider |
|
|
|
|
]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if($company && $category === 'company_logo_header') { |
|
|
|
|
$company->update([ |
|
|
|
|
'logo_header' => array('content'=>$name) |
|
|
|
|
]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if($company && $category === 'company_favicon') { |
|
|
|
|
$company->update([ |
|
|
|
|
'favicon_image' => array('content'=>$name) |
|
|
|
|
]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if($result){ |
|
|
|
|
return response()->json(['status'=>'success', "name_image"=>$name,'message'=>'image upload is successfully!','code'=>200], 200); |
|
|
|
|
}else{ |
|
|
|
@ -47,6 +75,67 @@ class ImageController extends Controller
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function uploadMultipleImage(Request $request) { |
|
|
|
|
$this->validate($request, [ |
|
|
|
|
'ref_id' => 'required', |
|
|
|
|
'category' => 'required', |
|
|
|
|
'files.*' => 'required|file|mimes:jpeg,png,jpg,gif|max:2048', |
|
|
|
|
]); |
|
|
|
|
|
|
|
|
|
if ($request->hasFile('files')) { |
|
|
|
|
$ref_id = $request->ref_id; |
|
|
|
|
$category = $request->category; |
|
|
|
|
$dokumen = $request->file('files'); |
|
|
|
|
$successCount = 0; |
|
|
|
|
$imageSlider = []; |
|
|
|
|
foreach ($dokumen as $file) { |
|
|
|
|
$extension = $file->extension(); |
|
|
|
|
$name = $ref_id.date("YmdHis").$successCount.".".$extension; |
|
|
|
|
|
|
|
|
|
$resultMove = $file->move($this->pathImage, $name); |
|
|
|
|
|
|
|
|
|
if ($resultMove) { |
|
|
|
|
$data = [ |
|
|
|
|
'ref_id' => (int) $ref_id, |
|
|
|
|
'image' => $name, |
|
|
|
|
'category' => $category |
|
|
|
|
]; |
|
|
|
|
$imageSlider[] = [ |
|
|
|
|
'content' => $name |
|
|
|
|
]; |
|
|
|
|
$result = Image::create($data); |
|
|
|
|
if ($result) { |
|
|
|
|
$successCount++; |
|
|
|
|
} else { |
|
|
|
|
unlink($this->pathImage . $name); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
$company = Company::find((int)$ref_id); |
|
|
|
|
if($company && $category === 'company_slider_login') { |
|
|
|
|
$dataArray = json_decode($company['logo_login'], true); |
|
|
|
|
if(isset($dataArray['login'])) { |
|
|
|
|
$jsonImageSlider['login'] = $dataArray['login']; |
|
|
|
|
$jsonImageSlider['slider'] = $imageSlider; |
|
|
|
|
} else { |
|
|
|
|
$jsonImageSlider['slider'] = $imageSlider; |
|
|
|
|
} |
|
|
|
|
$company->update([ |
|
|
|
|
'logo_login' => $jsonImageSlider |
|
|
|
|
]); |
|
|
|
|
} |
|
|
|
|
if ($successCount > 0 && $company) { |
|
|
|
|
return response()->json(['status' => 'success', 'message' => "$successCount images uploaded successfully!", 'code' => 200], 200); |
|
|
|
|
} else { |
|
|
|
|
return response()->json(['status' => 'failed', 'message' => 'No images uploaded successfully!', 'code' => 400], 400); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
return response()->json(['status' => 'failed', 'message' => 'Image is required!', 'code' => 400], 400); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function delete($id) |
|
|
|
|
{ |
|
|
|
|
$data = Image::find($id); |
|
|
|
@ -80,7 +169,7 @@ class ImageController extends Controller
|
|
|
|
|
|
|
|
|
|
public function deleteByRef($id, $category) |
|
|
|
|
{ |
|
|
|
|
$data = Image::where("ref_id", $id)->where("category", $category)->first(); |
|
|
|
|
$data = Image::where("ref_id", intval($id))->where("category", $category)->first(); |
|
|
|
|
|
|
|
|
|
if($data){ |
|
|
|
|
unlink($this->pathImage.$data->image); |
|
|
|
@ -98,6 +187,33 @@ class ImageController extends Controller
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function deleteByRefMultiple($id, $category) |
|
|
|
|
{ |
|
|
|
|
$successCount = 0; |
|
|
|
|
$data = Image::where([ |
|
|
|
|
["ref_id", intval($id)], |
|
|
|
|
["category", $category] |
|
|
|
|
])->get(); |
|
|
|
|
if($data->isNotEmpty()) { |
|
|
|
|
foreach($data as $img) { |
|
|
|
|
unlink($this->pathImage.$img->image); |
|
|
|
|
$delete = $img->delete(); |
|
|
|
|
if($delete){ |
|
|
|
|
$successCount++; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
return response()->json(['status'=>'failed','message'=>'data image not found!','code'=>400], 400); |
|
|
|
|
die(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if($successCount > 0) { |
|
|
|
|
return response()->json(['status'=>'success','message'=>'data image successfully deleted!','code'=>200], 200); |
|
|
|
|
} else { |
|
|
|
|
return response()->json(['status'=>'failed','message'=>'data image failed deleted!','code'=>400], 400); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function getByRefId($id, $category) |
|
|
|
|
{ |
|
|
|
|
if(!$id || (int) $id < 0 || $id==""){ |
|
|
|
|