diff --git a/app/Http/Controllers/designer/DesignerController.php b/app/Http/Controllers/designer/DesignerController.php index f5bc510..ed27076 100755 --- a/app/Http/Controllers/designer/DesignerController.php +++ b/app/Http/Controllers/designer/DesignerController.php @@ -7,9 +7,8 @@ use Illuminate\Http\Request; use App\Models\designer\DesignerModel; use App\Models\teamstore\TeamStoreModel; use App\Models\MainModel; -use Config; -Use Auth; -use DB; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Storage; class DesignerController extends Controller { @@ -958,4 +957,21 @@ class DesignerController extends Controller { return view("designer.buy_form")->with('jersey_sizes', $jersey_sizes) ->with('shorts_sizes', $shorts_sizes); } + + public function saveBase64Images(Request $request) { + $post = $request->all(); + @list($type, $file_data) = explode(';', $post['base64_image']); + $extension = explode('/', mime_content_type($post['base64_image']))[1]; + @list(, $file_data) = explode(',', $file_data); + $imageName = $post['side'] . '_' . $post['image_count'] . '_' . microtime(true) . '_' . Auth::user()->id . '.'.$extension; + + $filesystem = Storage::disk('sftp'); + $filesystem->getDriver()->getAdapter()->setDirectoryPerm(0755); + $filesystem->put('/merchbay/designer-images/' . $imageName, base64_decode($file_data)); + // Storage::disk('uploads_local')->put($imageName, base64_decode($file_data)); + return response()->json(array( + 'success' => true, + 'url' => config('site_config.uploads') . 'designer-images/' . $imageName + )); + } } \ No newline at end of file diff --git a/app/Http/Controllers/user/UserController.php b/app/Http/Controllers/user/UserController.php index 603b49c..032ad19 100755 --- a/app/Http/Controllers/user/UserController.php +++ b/app/Http/Controllers/user/UserController.php @@ -948,21 +948,24 @@ class UserController extends Controller { // var_dump($data); - $res = $UserModel->updateTeamstore($store_id, $data); + $UserModel->updateTeamstore($store_id, $data); // var_dump($res); // if($res){ + $filesystem = Storage::disk('sftp'); + $filesystem->getDriver()->getAdapter()->setDirectoryPerm(0755); + if($request->file('store_logo') != null){ - Storage::disk('uploads')->put('/teamstore/'. $orig_store_url . '/' . $store_logo_name, fopen($request->file('store_logo'), 'r+')); + $filesystem->put('/merchbay/teamstore/'. $orig_store_url . '/' . $store_logo_name, fopen($request->file('store_logo'), 'r+')); } if($request->file('store_banner') != null){ - Storage::disk('uploads')->put('/teamstore/'. $orig_store_url . '/' . $store_banner_name, fopen($request->file('store_banner'), 'r+')); + $filesystem->put('/merchbay/teamstore/'. $orig_store_url . '/' . $store_banner_name, fopen($request->file('store_banner'), 'r+')); } return response()->json(array( - 'success' => true, - 'clearform' => false, - 'message'=>'Store is successfully updated.' + 'success' => true, + 'clearform' => false, + 'message'=>'Store is successfully updated.' )); // }else{ diff --git a/app/Http/routes.php b/app/Http/routes.php index f257110..623023e 100755 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -70,6 +70,8 @@ Route::post('/designer/edit/a/edit-set-pattern', 'designer\DesignerController@ed Route::get('/designer/a/tab-clipart-content', 'designer\DesignerController@tabClipartContent'); Route::post('/designer/a/save-design-details', 'designer\DesignerController@saveDesignDetails'); +Route::post('/designer/a/save-images', 'designer\DesignerController@saveBase64Images'); + // teamstore // Route::get('/', 'teamstore\TeamStoreController@login'); // old Route::get('/', 'teamstore\TeamStoreController@storelist'); // old @@ -196,3 +198,7 @@ Route::group(array('middleware' => ['isAuthorized', 'cors'], 'prefix' => 'api'), Route::get('order-status', 'ApiController@getOrderStatus'); Route::get('steps', 'ApiController@getSteps'); }); + +Route::get('vue/designer', function() { + return view('designer.vue_designer'); +}); diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 7b059a1..9d036bb 100755 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -1,9 +1,10 @@ ', $value); }); diff --git a/config/filesystems.php b/config/filesystems.php index 30c8ef8..5b646ab 100755 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -103,6 +103,11 @@ return [ 'root' => '/var/www/html/images/merchbay', 'timeout' => 10, ], + + 'uploads_local' => [ + 'driver' => 'local', + 'root' => 'C:/wamp64/www/uploads', + ], ], ]; diff --git a/resources/views/designer/designer.blade.php b/resources/views/designer/designer.blade.php index 6252560..1043ff4 100755 --- a/resources/views/designer/designer.blade.php +++ b/resources/views/designer/designer.blade.php @@ -1113,9 +1113,15 @@ var type = SideAndPath[i]['Type']; var contentName = "content_" + sideName; - //console.log(contentName); + var objects = window['canvas_' + type + '_' + sideName].getObjects(); + objects.forEach((obj, index) => { + var newUrl = saveImages(obj._originalElement.currentSrc, sideName, index); + obj._originalElement.src = newUrl; + }); + window['canvas_' + type + '_' + sideName].renderAll(); + contentName = JSON.stringify(window['canvas_' + type + '_' + sideName].toObject(['idNumber', 'id'])); // = new fabric.Canvas(canvasName); - //console.log(contentName); + var inputName = "json_" + sideName; var hiddenFieldContentDesign = "field_" + sideName; @@ -1146,7 +1152,7 @@ newformSaveDesign.appendChild(hiddenField_token); document.body.appendChild(newformSaveDesign); - //console.log(exportSVG()); + // console.log(exportSVG()); newformSaveDesign.submit(); } @@ -1269,6 +1275,37 @@ // return false; } + + function saveImages(base64Image, sideName, image_count){ + var newUrl; + $.ajax({ //create an ajax request to load_page.php + type: "POST", + url: "{{url('designer/a/save-images')}}", + async: false, + dataType : 'json', + data: { + base64_image : base64Image, + side: sideName, + image_count: image_count + }, + beforeSend:function(xhr){ + var token = $('meta[name="csrf_token"]').attr('content'); + + if (token) { + return xhr.setRequestHeader('X-CSRF-TOKEN', token); + } + xhr.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest'); + }, + success: function(response){ + if(response.success){ + newUrl = response.url; + } + } + }); + + return newUrl; + } + // end design saving // 1ST TAB <---#################################### diff --git a/resources/views/designer/vue_designer.blade.php b/resources/views/designer/vue_designer.blade.php new file mode 100644 index 0000000..cdd8ca4 --- /dev/null +++ b/resources/views/designer/vue_designer.blade.php @@ -0,0 +1,12 @@ + + +
+ + + +