Untitled
unknown
plain_text
2 years ago
3.5 kB
9
Indexable
<?php
namespace App\Http\Controllers;
use App\Models\Proxy;
use App\Models\GTMCodes;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Log;
class HandleUrlController extends Controller
{
//private string $id;
//private static array $gtm_array;
public function proxy(Request $request)
{
$url = $request->query('url');
try {
// Make a request to the target URL using Laravel's HTTP client
// Extract all GTM codes from the HTML response
$response = Http::get($url);
$html = $response->body();
$gtmCodes = [];
$pattern = '/GTM-([a-zA-Z0-9]+)/i';
preg_match_all($pattern, $html, $matches);
if (!empty($matches[1])) {
$gtmCodes = $matches[1];
//$unique = array_unique($gtmCodes);
}
// yawaa hahaha murag amaw laravel
return response()->json(['gtmCodes' => array_unique($gtmCodes), 'response' => $html]);
} catch (\Exception $e) {
// Handle errors (e.g., invalid URL, connection issues)
return response()->json(['error' => $e->getMessage()], 500);
}
}
public function storeProxy(Request $request)
{
//$gtmID = new self::$id;
try {
// dd($request->all());
$url = $request->url;
$status = $request->status;
$proxyhit = Proxy::create([
'url' => $url,
'status' => $status
]);
$id = $proxyhit->id;
// Retrieve GTM codes from the request
$gtmCodes = $request->gtmCodes; // Assuming gtmCodes is sent in the request
// Store GTM codes in the database
foreach ($gtmCodes as $gtmCode) {
GTMCodes::create([
'id' => $id,
'gtm_codes' => $gtmCode
]);
}
return response()->json(['success' => 'proxy added'], 200);
} catch (\Throwable $err) {
return response()->json(['error' => $err->getMessage()], 500);
}
}
public function checkDuplicateUrl(Request $request)
{
try {
$url = $request->url;
$url_data = Proxy::where('url', $url)->first();
if ($url_data) {
return response()->json(['success' => 'url exist', 'status_code' => 200], 200);
} else {
return response()->json(['error' => 'url did not exist ', 'status_code' => 404]);
}
} catch (\Throwable $th) {
throw $th;
}
}
public function listAllUrl()
{
try {
$list = Proxy::all();
return view('index', compact('list'));
} catch (\Throwable $th) {
throw $th;
}
}
public function fetchData()
{
try {
$list = Proxy::all();
return view('list.url-list', compact('list'));
} catch (\Throwable $th) {
throw $th;
}
}
public function fetchGTMCodes()
{
try {
$gtm_codes = GTMCodes::all();
return view('create-a-component-for-gtm-codes', compact('gtm_codes'));
} catch (\Throwable $th) {
throw $th;
}
}
}
Editor is loading...
Leave a Comment