mirror of
				https://github.com/cp6/my-idlers.git
				synced 2025-10-31 14:29:09 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			123 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Http\Controllers;
 | |
| 
 | |
| use App\Models\DNS;
 | |
| use App\Models\Domains;
 | |
| use App\Models\IPs;
 | |
| use App\Models\Note;
 | |
| use App\Models\Reseller;
 | |
| use App\Models\Server;
 | |
| use App\Models\Shared;
 | |
| use Illuminate\Http\Request;
 | |
| use Illuminate\Support\Facades\Cache;
 | |
| use Illuminate\Support\Str;
 | |
| 
 | |
| class NoteController extends Controller
 | |
| {
 | |
|     public function index()
 | |
|     {
 | |
|         $notes = Note::allNotes();
 | |
|         return view('notes.index', compact('notes'));
 | |
|     }
 | |
| 
 | |
|     public function create()
 | |
|     {
 | |
|         $servers = Server::all();
 | |
|         $shareds = Shared::all();
 | |
|         $resellers = Reseller::all();
 | |
|         $domains = Domains::all();
 | |
|         $dns = DNS::all();
 | |
|         $ips = IPs::all();
 | |
| 
 | |
|         return view('notes.create', compact(['servers', 'shareds', 'resellers', 'domains', 'dns', 'ips']));
 | |
|     }
 | |
| 
 | |
|     public function store(Request $request)
 | |
|     {
 | |
|         $request->validate([
 | |
|             'service_id' => 'required|string|size:8',
 | |
|             'note' => 'required|string',
 | |
|         ]);
 | |
| 
 | |
|         try {
 | |
|             $note_id = Str::random(8);
 | |
| 
 | |
|             $a = Note::create([
 | |
|                 'id' => $note_id,
 | |
|                 'service_id' => $request->service_id,
 | |
|                 'note' => $request->note
 | |
|             ]);
 | |
| 
 | |
|         } catch (\Exception $e) {
 | |
| 
 | |
|             if ($e->getCode() === "23000") {
 | |
|                 $message = "A note already exists for this service";
 | |
|             } else {
 | |
|                 $message = "Error inserting note";
 | |
|             }
 | |
| 
 | |
|             return redirect()->route('notes.create')
 | |
|                 ->withInput($request->input())->with('error', $message);
 | |
|         }
 | |
| 
 | |
|         Cache::forget('all_notes');
 | |
| 
 | |
|         return redirect()->route('notes.index')
 | |
|             ->with('success', 'Note created successfully.');
 | |
|     }
 | |
| 
 | |
|     public function edit(Note $note)
 | |
|     {
 | |
|         $note = Note::note($note->service_id);
 | |
|         $servers = Server::all();
 | |
|         $shareds = Shared::all();
 | |
|         $resellers = Reseller::all();
 | |
|         $domains = Domains::all();
 | |
|         $dns = DNS::all();
 | |
|         $ips = IPs::all();
 | |
| 
 | |
|         return view('notes.edit', compact(['note', 'servers', 'shareds', 'resellers', 'domains', 'dns', 'ips']));
 | |
|     }
 | |
| 
 | |
|     public function update(Request $request, Note $note)
 | |
|     {
 | |
|         $request->validate([
 | |
|             'service_id' => 'required|string|size:8',
 | |
|             'note' => 'required|string'
 | |
|         ]);
 | |
| 
 | |
|         $note->update([
 | |
|             'service_id' => $request->service_id,
 | |
|             'note' => $request->note
 | |
|         ]);
 | |
| 
 | |
|         Cache::forget('all_notes');
 | |
|         Cache::forget("note.$note->service_id");
 | |
| 
 | |
|         return redirect()->route('notes.index')
 | |
|             ->with('success', 'Note was updated successfully.');
 | |
|     }
 | |
| 
 | |
|     public function show(Note $note)
 | |
|     {
 | |
|         $note = Note::note($note->service_id);
 | |
|         return view('notes.show', compact(['note']));
 | |
|     }
 | |
| 
 | |
|     public function destroy(Note $note)
 | |
|     {
 | |
|         if ($note->delete()) {
 | |
|             Cache::forget("all_notes");
 | |
|             Cache::forget("note.$note->service_id");
 | |
| 
 | |
|             return redirect()->route('notes.index')
 | |
|                 ->with('success', 'Note was deleted successfully.');
 | |
|         }
 | |
| 
 | |
|         return redirect()->route('notes.index')
 | |
|             ->with('error', 'Note was not deleted.');
 | |
| 
 | |
|     }
 | |
| 
 | |
| }
 |