PATH:
home
/
rwabteecom
/
project_11
/
app
/
Http
/
Controllers
/
Dashboard
/
Editing: LinkController.php
<?php namespace App\Http\Controllers\Dashboard; use App\Http\Controllers\Controller; use App\Http\Requests\Admin\Link\LinkRequest; use App\Models\DomainSocial; use App\Models\Link; use App\Services\Link\LinkServices; use Exception; use Illuminate\Http\Request; use Log; use function Laravel\Prompts\password; class LinkController extends Controller { public function __construct(private readonly LinkServices $linkServices) { } public function store(LinkRequest $request) { try { $this->linkServices->store($request); } catch (Exception $e) { return response()->json(['error', $e->getMessage()]); } } public function destroy(Request $request) { try { $links_db = Link::where('uuid', $request->uuid)->first(); $links_db?->delete(); } catch (Exception $e) { return response()->json(['error', $e->getMessage()]); } } public function sort(Request $request) { try { foreach ($request->links as $key => $link) { $links = $this->linkServices->findWithoutFail($link); if ($links) { $links->update(['order' => \intval($key) + 1]); } } } catch (Exception $e) { return response()->json(['error', $e->getMessage()]); } } public function uploadImage(Request $request) { try { $links = $this->linkServices->updateImage($request); } catch (Exception $e) { return response()->json($e); } } public function redirectLink($domain, $uuid) { try { $isPreview = false; if (auth()->user()?->domain->domain == $domain) { $isPreview = true; } $links = Link::where('uuid', $uuid)->first(); if ($links) { if (!$isPreview) { if (session()->get('link_' . $uuid . '_' . str_replace('.', '_', request()->ip())) != '1') { analytics('link', $uuid); session()->put('link_' . $uuid . '_' . str_replace('.', '_', request()->ip()), '1'); } } return \redirect()->to($links->before_link . $links->link); } else { abort(404); } } catch (Exception $e) { return $e; } } public function redirectSocialLink($domain, $id) { try { $isPreview = false; if (auth()->user()?->domain->domain == $domain) { $isPreview = true; } $links = DomainSocial::where('id', $id)->first(); if ($links) { if (!$isPreview) { if (session()->get('social_' . $id . '_' . str_replace('.', '_', request()->ip())) != '1') { analytics('social', $id); session()->put('social_' . $id . '_' . str_replace('.', '_', request()->ip()), '1'); } } return \redirect()->to($links->before_link . $links->link); } else { abort(404); } } catch (Exception $e) { return $e; } } public function getTitle(Request $request) { return scrapeTitleFromUrl($request->url, $request->before_link); } public function checkLinkPassword($domain, $id) { try { $link = Link::query()->findOrFail($id); if ($link->password != request()->password) { return $this->sendFailedResponse(__('Invalid Password')); } } catch (Exception $e) { return $this->sendFailedResponse($e->getMessage()); } return route('redirectLink', [$domain, $link->uuid]); } }
SAVE
CANCEL