MOON
Server: Apache
System: Linux e2e-78-16.ssdcloudindia.net 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
User: imensosw (1005)
PHP: 8.0.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/imensosw/.trash/app.2/Http/Controllers/Admin/ArtistsController.php
<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Http\Requests\StoreConsultancyRequest;
use App\Http\Requests\UpdateConsultancyRequest;
use App\Role;
use App\User;
use App\Partner;
use App\Volunteer;
use App\Country;
use App\Organization;
use App\Opportunity;
use App\OpportunityVolunteer;
use App\LiveEvent;
use App\Artist;
use Validator;
use Gate;
use URL;
use Auth;
use File;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
use App\Notifications\NewUserEmailNotification;
use App\Notifications\NewUser;
use App\Notifications\NewVolunteerApplyEmailNotification;
use Illuminate\Support\Str;

class ArtistsController extends Controller
{
    public function index()
    {

        
        //abort_if(Gate::denies('opportunity_access'), Response::HTTP_FORBIDDEN, '403 Forbidden');

        $user = Auth::user();
        $role = $user->roles->pluck('title','id')->toArray();
        
        if(in_array('Admin',$role)){
            $user_type = 'Admin';
            $artists = Artist::orderBy('created_at','DESC')->get();

            
            
            return view('admin.artists.index', compact('artists'));
        }else{
            return redirect()->route('admin.home')->with('error','Wrong access!');
        }
        
        
    }

    public function create()
    {
        //abort_if(Gate::denies('opportunity_create'), Response::HTTP_FORBIDDEN, '403 Forbidden');

        $user = Auth::user();
        $role = $user->roles->pluck('title','id')->toArray();

        if(in_array('Admin',$role)){
        	$user_type = 'Admin';
            return view('admin.artists.create');
        }else{
            return redirect()->route('admin.home')->with('error','Wrong access!');
        }
        
        
    }

    public function store(Request $request)
    {
        //abort_if(Gate::denies('opportunity_create'), Response::HTTP_FORBIDDEN, '403 Forbidden');
        $valuesToAdd = array();
        if(isset($request->slug) && !empty($request->slug)){
            $valuesToAdd['slug'] = Str::slug($request->slug, '-');    
        }else{
            $valuesToAdd['slug'] = Str::slug($request->name, '-');
        }
        $request->merge($valuesToAdd);
        $validator = Validator::make($request->all(), 
	        [
	            'artist_title'    => [
	                'required',
	                'unique:artists',
	            ],
                'slug'    => [
                    'required',
                    'unique:artists,slug',
                ]
	        ]
        );

        if ($validator->fails()) {
            return redirect()->route('admin.artists.create')
                        ->withErrors($validator)
                        ->withInput();
        }

        
        $user = Auth::user();
        $role = $user->roles->pluck('title','id')->toArray();

        $add_array = array();
        if(in_array('Admin',$role)){
            //$add_array['opportubity_status'] = 1;
            //$request->merge($add_array);
            $artist = Artist::create($request->all());
            
            return redirect()->route('admin.artists.edit',$artist->id)->with('success','Artist Created successfully! Please and remaining details');
        }else{
            return redirect()->route('admin.home')->with('error','Wrong access!');
        }
    }

    public function edit(Artist $artist)
    {
        $id =  $artist->id;
        
        $user = Auth::user();
        $role = $user->roles->pluck('title','id')->toArray();

        $add_array = array();
        if(in_array('Admin',$role)){

        //abort_if(Gate::denies('opportunity_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden');
        
            if(Artist::where('id',$id)->count()){

                return view('admin.artists.edit',compact('artist'));
            }else{
                return redirect()->route('admin.artists.index')->with('error','Artist not found!');
            }
        }else{
            return redirect()->route('admin.home')->with('error','Wrong access!');
        }
    }

    public function update(Request $request, $id)
    {
        
        //abort_if(Gate::denies('opportunity_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden');
        $user = Auth::user();
        $role = $user->roles->pluck('title','id')->toArray();

        $add_array = array();
        if(in_array('Admin',$role)){

            $valuesToAdd = array();
            if(isset($request->slug) && !empty($request->slug)){
                $valuesToAdd['slug'] = Str::slug($request->slug, '-');    
            }else{
                $valuesToAdd['slug'] = Str::slug($request->name, '-');
            }
            $request->merge($valuesToAdd);
            
            $validator = Validator::make($request->all(), 
                [
                    'artist_title'    => [
                        'required',
                        'unique:artists,artist_title,'.$id,
                    ],
                    'slug'    => [
                        'required',
                        'unique:artists,slug,'.$id,
                    ],
                    'artist_desc' => [
                        'required',
                    ]
                ]
            );
            
            
            if ($validator->fails()) {
                return redirect()->route('admin.artists.edit',$id)
                            ->withErrors($validator)
                            ->withInput();
            }
            

            if(Artist::where('id',$id)->count()){
                $artist = Artist::find($id);
                
                $artist->update($request->all());
                return redirect()->route('admin.artists.index')->with('success','Artist detail updated successfully!');
                
            }else{
                return redirect()->route('admin.artists.index')->with('error','Artist not found!')->withInput();
            }

        }else{
            return redirect()->route('admin.home')->with('error','Wrong access!')->withInput();
        }
    }

    public function show(Request $request,$id)
    {
        //abort_if(Gate::denies('opportunity_show'), Response::HTTP_FORBIDDEN, '403 Forbidden');
        
        
            return redirect()->route('admin.home')->with('error','Wrong access!')->withInput();
        

        
    }

    public function destroy(Request $request,$id)
    {
        //abort_if(Gate::denies('opportunity_delete'), Response::HTTP_FORBIDDEN, '403 Forbidden');
        $user = Auth::user();
        $role = $user->roles->pluck('title','id')->toArray();

        $add_array = array();
        if(in_array('Admin',$role)){

            if(Artist::where('id',$id)->count()){

                $artist = Artist::find($id);
                $artist->delete();
                

                $old_dir = public_path().'/Artist/'.$artist->id;
                if(File::exists($old_dir)){

                    File::deleteDirectory($old_dir);
                }
                
               return redirect()->route('admin.artists.index')->with('success','Artist deleted successfully!');
            }else{
                return redirect()->route('admin.artists.index')->with('error','Artist not found!');
            }
        }else{
            return redirect()->route('admin.home')->with('error','Wrong access!')->withInput();
        }

    }

    public function upload_artist_image(Request $request)
    { 
        if($request->ajax()){
            $field_value = $request->field_value;
            $field_name = $request->field_name;
            $artist_id = $request->artist_id;


            $user = Auth::user();
            $role = $user->roles->pluck('title','id')->toArray();
            
            if(empty($field_name)){
                return json_encode(array('success' => 'error','msg'=>'Please add Field Name!'));
            }
            
            if(empty($artist_id) || !Artist::where('id',$artist_id)->get()->count()){
                return json_encode(array('success' => 'error','msg'=>'Please add Artist!'));
            }

            if(in_array('Admin',$role)) {

                $folder= public_path().'/Artist/'.$artist_id;
                if(!is_dir($folder))
                {
                    //File::makeDirectory($folder);
                    File::makeDirectory($folder,0777,true);
                }

                if($request->hasFile('field_value')) {
                    
                    $artist = Artist::find($artist_id);
                    if(!empty($artist->artist_image)){
                        $old_artist_image = public_path().'/Event/'.$artist_id.'/'.$artist->artist_image;
                        if(File::exists($old_artist_image)){
                            File::delete($old_artist_image);
                            $artist->artist_image = '';
                            $artist->save();
                        }
                    }
                    
                    $file = $request->file('field_value');
                    $ext = $file->getClientOriginalExtension();
                    $filename = 'artist_image_'.$artist_id.'_'.time().'.' . $ext;
                    $destinationPath = $folder;
                    
                    $upload_success = $file->move($destinationPath, $filename);
                    if($upload_success){
                        
                        $artist->artist_image = $filename;
                        $artist->save();

                        $doc_url = URL::asset('Artist').'/'.$artist_id.'/'.$filename;
                        $ddd = array('success' => 'done','doc_url'=>$doc_url,'msg'=>'Artist image uploaded successfully!');
                        return json_encode($ddd);
                    }else{
                        return json_encode(array('success' => 'error','doc_name'=>'kk'));
                    }
                }
                return json_encode(array('success' => 'error','doc_name'=>'kk'));
            }

            
        }
    }

    public function delete_artist_image(Request $request)
    { 
        if($request->ajax()){
            $data_col = $request->data_col;
            $artist_id = $request->artist_id;
            $user = Auth::user();
            $role = $user->roles->pluck('title','id')->toArray();

            if(empty($artist_id) || !Artist::where('id',$artist_id)->get()->count()){
                return json_encode(array('success' => 'error','msg'=>'Artist not Found!'));
            }
            
            if(in_array('Admin',$role)) {
                $artist = Artist::find($artist_id);
                
                $folder= public_path().'/Event/'.$artist_id;
                
                if(isset($artist->$data_col) && !empty($artist->$data_col)){
                    $old_artist_image = public_path().('/Artist').'/'.$artist_id.'/'.$artist->$data_col;
                    if(File::exists($old_artist_image)){
                        File::delete($old_artist_image);
                    }
                    $artist->$data_col = '';
                    $artist->save();
                    $doc_url = URL::asset('images/feature_image.png');
                    $ddd = array('success' => 'done','doc_url'=>$doc_url,'msg'=>'Artist Image deleted Successfully!');
                    return json_encode($ddd);
                }else{
                    return json_encode(array('success' => 'error','msg'=>'Field Value Null!'));
                }
            }else{
                return json_encode(array('success' => 'error','msg'=>'Artist not Found!'));
            }
        }
        return json_encode(array('success' => 'error','msg'=>'Wrong access'));
    }

  

}