123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- <?php
- namespace App\Http\Controllers\Admin\Base;
- use App\Http\Controllers\Admin\Controller;
- use App\Models\AlbumManufacturerModel;
- use App\Services\Base\Attachment;
- use App\Models\BaseAttachmentModel;
- use App\Models\BaseSettingsModel;
- use App\Models\ClassModel;
- use Illuminate\Http\Request as HttpRequest;
- use Request;
- use Storage;
- use File;
- use Auth;
- class PhotosController extends Controller
- {
- private $_serviceAttachment;
- public function __construct()
- {
- if( !$this->_serviceAttachment ) $this->_serviceAttachment = new Attachment();
- }
- public function index(HttpRequest $request)
- {
- $userAuth = Auth::guard('admin')->user();
- $classes = ClassModel::all();
- $a_class = $request->has('class') ? $request->input('class') : null;
- if ($userAuth->is_root == 1) {
- if (($a_class = ClassModel::find($a_class)) == null) {
- $a_class = ClassModel::first();
- }
- } else {
- if (($a_class = ClassModel::find($a_class)) == null) {
- $a_class = ClassModel::where('store_id', $this->getStoreId())->first();
- }
- }
- $photos = null;
- $status = 'normal';
- if ($request->has('search')) {
- $name = '%' . $request->input('search') . '%';
- if ($userAuth->is_root == 1) {
- $photos = BaseAttachmentModel::where([['name', 'like', $name]])->paginate(24);
- } else {
- $photos = BaseAttachmentModel::where([['name', 'like', $name],['store_id', $this->getStoreId()]])->paginate(24);
- }
- $status = 'search';
- } else {
- if ($a_class) {
- if ($userAuth->is_root == 1) {
- $photos = BaseAttachmentModel::where([['class', $a_class->class]])->paginate(24);
- } else {
- $photos = BaseAttachmentModel::where([['class', $a_class->class],['store_id', $this->getStoreId()]])->paginate(24);
- }
- } else {
- $ma = AlbumManufacturerModel::where('store_id',$this->getStoreId())->first();
- $save = [
- 'store_id' => $this->getStoreId(),
- 'class'=> ($ma->name or '未分类')
- ];
- $a_class = ClassModel::create($save);
- return redirect('admin/Base/Photos/index');
- }
- }
- return view('admin.base.photos.index', compact('photos', 'classes', 'a_class', 'photos', 'status', 'photo_compress_quality'));
- }
- public function edit(HttpRequest $request)
- {
- if(Request::method() != 'POST') {
- return back();
- }
- if($request->has('img-name') && $request->has('img-id')) {
- $photo = BaseAttachmentModel::find($request->input('img-id'));
- $photo->name = $request->input('img-name');
- $photo->save();
- }
- return back();
- }
- public function move(HttpRequest $request)
- {
- if(Request::method() != 'POST') {
- return back();
- }
- $ids = explode(',', $request->input('ids'));
- $class = ClassModel::find($request->input('class'));
- BaseAttachmentModel::whereIn('id', $ids)->update(['class' => $class->class]);
- return back();
- }
- public function delete(HttpRequest $request)
- {
- if(Request::method() != 'POST') {
- return back();
- }
- $ids = explode(',', $request->input('ids'));
- $photos = BaseAttachmentModel::find($ids);
- foreach($photos as $photo) {
- File::delete($photo->path);
- $photo->delete();
- }
- return back();
- }
- public function crop(HttpRequest $request)
- {
- if(Request::method() != 'POST') {
- return back();
- }
- $this->_serviceAttachment->localUpload('file', $request->all());
- return response()->json(['status' => 'ok'], 200);
- }
- }
|