BossBey File Manager
PHP:
8.2.30
OS:
Linux
User:
imagivibe
Root
/
home
/
imagivibe
/
public_html
/
app.imagivibe.com
/
app
/
Http
/
Controllers
/
Voice
📤 Upload
📝 New File
📁 New Folder
Close
Editing: ElevenlabVoiceController.php
<?php namespace App\Http\Controllers\Voice; use App\Helpers\Classes\Helper; use App\Http\Controllers\Controller; use App\Jobs\Voice\ElevenlabVoiceCreateJob; use App\Models\Voice\ElevenlabVoice; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class ElevenlabVoiceController extends Controller { public function index() { $items = ElevenlabVoice::query() ->where('user_id', Auth::id()) ->paginate(); return view('panel.admin.voice.index', compact('items')); } public function create() { return view('panel.admin.voice.edit', [ 'item' => new ElevenlabVoice, 'title' => __('Add Voice'), 'action' => route('dashboard.user.voice.store'), 'method' => 'POST', ]); } public function store(Request $request) { if (Helper::appIsDemo()) { return response()->json([ 'status' => 'error', 'message' => trans('This feature is disabled in demo mode.'), ]); } $data = $request->validate([ 'name' => 'required', 'status' => 'required', 'file' => 'required|file|mimes:mp3,wav,ogg,flac,webm,mp4', ]); if ($request->hasFile('file')) { $data['path'] = $request->file('file')->store('voices', ['disk' => 'local']); } $data['user_id'] = Auth::id(); $elevenlabVoice = ElevenlabVoice::query()->create($data); ElevenlabVoiceCreateJob::dispatch($elevenlabVoice->getAttribute('id')); return to_route('dashboard.user.voice.index')->with([ 'type' => 'success', 'message' => __('Voice added successfully.'), ]); } public function edit(ElevenlabVoice $voice) { return view('panel.admin.voice.edit', [ 'item' => $voice, 'title' => __('Edit Voice'), 'action' => route('dashboard.user.voice.update', $voice), 'method' => 'PUT', ]); } public function update(Request $request, ElevenlabVoice $voice) { if (Helper::appIsDemo()) { return response()->json([ 'status' => 'error', 'message' => trans('This feature is disabled in demo mode.'), ]); } $data = $request->validate([ 'name' => 'required', 'status' => 'required', ]); $voice->update($data); return to_route('dashboard.user.voice.index')->with([ 'type' => 'success', 'message' => __('Voice updated successfully.'), ]); } public function delete(ElevenlabVoice $voice) { if (Helper::appIsDemo()) { return response()->json([ 'status' => 'error', 'message' => trans('This feature is disabled in demo mode.'), ]); } $voice->delete(); return back()->with([ 'type' => 'success', // success, error, warning, info, 'message' => trans('Voice deleted successfully.'), ]); } }
Save
Cancel