@@ -12,13 +12,22 @@ public function processMediaOnCreate(Request $request, $record): void
1212 {
1313 foreach ($ this ->rows () as $ field ) {
1414 if ($ field ->vue === 'ViltMedia.vue ' ) {
15- if ( $ request ->{ $ field ->name } && is_array ($ request ->{$ field ->name })) {
16- foreach ($ request ->{$ field ->name } as $ item ) {
17- $ record ->addMedia ( $ item )
15+ if ( $ field ->type === ' lib ' && is_string ($ request ->{$ field ->name })){
16+ if ($ request ->{$ field ->name }) {
17+ $ record ->addMediaFromUrl ( $ request ->{ $ field -> name } )
1818 ->preservingOriginal ()
1919 ->toMediaCollection ($ field ->name );
2020 }
2121 }
22+ else {
23+ if ($ request ->{$ field ->name } && is_array ($ request ->{$ field ->name })) {
24+ foreach ($ request ->{$ field ->name } as $ item ) {
25+ $ record ->addMedia ($ item )
26+ ->preservingOriginal ()
27+ ->toMediaCollection ($ field ->name );
28+ }
29+ }
30+ }
2231 }
2332 }
2433 }
@@ -27,27 +36,40 @@ public function processMediaOnUpdate(Request $request, $record): void
2736 {
2837 foreach ($ this ->rows () as $ field ) {
2938 if (($ field ->vue === 'ViltMedia.vue ' )) {
30- if ($ request ->{$ field ->name } && is_array ($ request ->{$ field ->name })) {
31- $ record ->clearMediaCollection ($ field ->name );
32- foreach ($ request ->{$ field ->name } as $ key =>$ item ) {
33- if (!is_string ($ item )){
34- if ($ item ->getClientOriginalName () === 'blob ' ){
35- $ record ->addMedia ($ item )
36- ->usingFileName (strtolower (Str::random (10 ).'_ ' .$ key .'. ' .$ item ->extension ()))
37- ->preservingOriginal ()
38- ->toMediaCollection ($ field ->name );
39- }
40- else {
41- $ record ->addMedia ($ item )
42- ->preservingOriginal ()
43- ->toMediaCollection ($ field ->name );
44- }
39+ if ($ field ->type === 'lib ' && is_string ($ request ->{$ field ->name })){
40+ if ($ request ->{$ field ->name }){
41+ if (!$ record ->getMedia ($ field ->name )->first () || $ record ->getMedia ($ field ->name )->first ()->getUrl () !== $ request ->{$ field ->name }){
42+ $ record ->clearMediaCollection ($ field ->name );
43+ $ record ->addMediaFromUrl ($ request ->{$ field ->name })
44+ ->preservingOriginal ()
45+ ->toMediaCollection ($ field ->name );
4546 }
4647 }
4748 }
48- else if (empty ($ request ->get ($ field ->name ))){
49- $ record ->clearMediaCollection ($ field ->name );
49+ else {
50+ if ($ request ->{$ field ->name } && is_array ($ request ->{$ field ->name })) {
51+ $ record ->clearMediaCollection ($ field ->name );
52+ foreach ($ request ->{$ field ->name } as $ key =>$ item ) {
53+ if (!is_string ($ item )){
54+ if ($ item ->getClientOriginalName () === 'blob ' ){
55+ $ record ->addMedia ($ item )
56+ ->usingFileName (strtolower (Str::random (10 ).'_ ' .$ key .'. ' .$ item ->extension ()))
57+ ->preservingOriginal ()
58+ ->toMediaCollection ($ field ->name );
59+ }
60+ else {
61+ $ record ->addMedia ($ item )
62+ ->preservingOriginal ()
63+ ->toMediaCollection ($ field ->name );
64+ }
65+ }
66+ }
67+ }
68+ else if (empty ($ request ->get ($ field ->name ))){
69+ $ record ->clearMediaCollection ($ field ->name );
70+ }
5071 }
72+
5173 }
5274 }
5375 }
0 commit comments