From d9b04f430aceb9a6b0f71405e8808567cb7d69d7 Mon Sep 17 00:00:00 2001 From: alexcaussades Date: Tue, 5 Sep 2023 23:25:53 +0200 Subject: [PATCH] Scope ivao (#67) * Feedback connect Github and discord * Correction Metar --- app/Http/Controllers/DiscordContoller.php | 79 ++++++++++++++++++++++ app/Http/Controllers/GithubController.php | 51 ++++++++++++++ app/Http/Controllers/metarController.php | 9 ++- app/Http/Controllers/testingContolleur.php | 48 ------------- resources/views/feedback/index.blade.php | 48 +++++++++++++ routes/web.php | 31 +++++++-- 6 files changed, 211 insertions(+), 55 deletions(-) create mode 100644 app/Http/Controllers/DiscordContoller.php create mode 100644 app/Http/Controllers/GithubController.php delete mode 100644 app/Http/Controllers/testingContolleur.php create mode 100644 resources/views/feedback/index.blade.php diff --git a/app/Http/Controllers/DiscordContoller.php b/app/Http/Controllers/DiscordContoller.php new file mode 100644 index 0000000..31c046e --- /dev/null +++ b/app/Http/Controllers/DiscordContoller.php @@ -0,0 +1,79 @@ +url_test_webhooks(), [ + "content" => $request->message + ]); + return $push; + } + + public function push_github(Request $request) + { + $github = new GithubController(); + $github = $github->send_issue($request); + return $github; + } + + public function description(Request $request) + { + $text = $request->body; + if($request->link != null){ + return "Type:".$request->labels." \n\n". $text .= "\n\n Link direct github: [Issue](" . $request->link . ")"; + }else{ + return "Type:".$request->labels." \n\n". $text; + } + } + + public function send_feedback(Request $request) + { + $request->validate([ + "body" => "required|min:25|max:255", + "labels" => "required", + ]); + $request->merge([ + "body" => $request->body, + "user_id" => $request->user_id, + "labels" => $request->labels, + "link"=> $request->link, + ]); + $usersController = new UsersController(); + $user = $usersController->get_info_user($request->user_id); + $push = Http::post($this->url_webhooks(), [ + "avatar_url" => "https://i.pinimg.com/originals/99/1e/53/991e534b8f6038f4bdf67a97a7984822.jpg", + "embeds" => [ + [ + "title" => "Feedback from: " . $user->name . " (VID: " . $user->vid . ")", + "description" => $this->description($request), + "url" => $request->link ?? null, + "color" => "16711680", + "footer" => [ + "text" => "Feedback Form the website", + ], + "timestamp" => date("Y-m-d H:i:s") + ] + ] + + ]); + return $push; + } +} diff --git a/app/Http/Controllers/GithubController.php b/app/Http/Controllers/GithubController.php new file mode 100644 index 0000000..600e116 --- /dev/null +++ b/app/Http/Controllers/GithubController.php @@ -0,0 +1,51 @@ +token())->post($this->url_issue()); + return $f; + + } + + public function send_issue(Request $request){ + /** Send issue to github on the repo alexcaussades/l10 is token is valid*/ + + $users = new UsersController(); + $user = $users->get_info_user($request->user_id); + + $issue = Http::withToken($this->token())->post($this->url_issue(), [ + "title" => "Feedback from: " . $user->name . " (VID: ".$user->vid.")", + "body" => $request->body, + "labels" => [ + $request->labels + ] + ]); + /** header location de l'issue */ + $url = $this->return_url($issue->header('location')); + return $url; + } + + public function return_url($url){ + $url = explode("/", $url); + $new_url = "https://github.com/alexcaussades/L10/issues/" . $url[7]; + return $new_url; + + } +} + diff --git a/app/Http/Controllers/metarController.php b/app/Http/Controllers/metarController.php index 0ae36ac..520511e 100644 --- a/app/Http/Controllers/metarController.php +++ b/app/Http/Controllers/metarController.php @@ -178,8 +178,13 @@ public function winds($metar) //direction du vent dans le metar $regexwings = "/[0-9]{5}KT/"; preg_match($regexwings, $metar, $matchyy); - $ex = str_split($matchyy[0]); - $form = $ex[0] . "" . $ex[1] . "" . $ex[2]; + if($matchyy == null){ + $matchyy[0] = "00000KT"; + $form = "000"; + }else{ + $ex = str_split($matchyy[0]); + $form = $ex[0] . "" . $ex[1] . "" . $ex[2]; + } // variation du vent $regexvariable = "/[0-9]{3}V[0-9]{3}/"; preg_match($regexvariable, $metar, $matchvariable); diff --git a/app/Http/Controllers/testingContolleur.php b/app/Http/Controllers/testingContolleur.php deleted file mode 100644 index 9177d3e..0000000 --- a/app/Http/Controllers/testingContolleur.php +++ /dev/null @@ -1,48 +0,0 @@ - $test, - "ip" => request()->ip(), - "user-agent" => request()->header('User-Agent'), - "time" => date("Y-m-d H:i:s"), - "token" => Str::random(60), - "pass" => Str::password(10), - "account" => [ - "name" => $name, - "email" => $name . "@gmail.com", - ] - ]; - $p = json_encode($p); - Storage::disk('local')->put("password/" . $test . ".json", $p); - Sleep::for(1)->second(); - return to_route('welcome'); - } - - /** - * Donwload file the login and redirect to page for welcome - * @param string $value - * @return \Illuminate\Http\Response - */ - - public function download($value){ - //$file = Storage::download("password/" . $value . ".json"); - //return $file; - return Storage::download("password/" . $value . ".json"); - - - } -} diff --git a/resources/views/feedback/index.blade.php b/resources/views/feedback/index.blade.php new file mode 100644 index 0000000..662d2d7 --- /dev/null +++ b/resources/views/feedback/index.blade.php @@ -0,0 +1,48 @@ +@extends("metar-base") + +@section("title", "Feedback") + +@include("navbar") + +@section('content') + + +
+ +

FeedBack

+
+ @csrf +
+
+
+ +
Several choices possible
+ +
+
+ +
Please be as precise as possible
+ +
+ + +
+
+ + +
+ @error("success") + + @enderror +
\ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 08978fb..2c0dfdc 100644 --- a/routes/web.php +++ b/routes/web.php @@ -10,6 +10,7 @@ use Illuminate\Support\Facades\DB; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Mail; use Monolog\Formatter\JsonFormatter; use Illuminate\Support\Facades\Route; @@ -23,6 +24,8 @@ use App\Http\Controllers\temsiController; use App\Http\Controllers\usersController; use Illuminate\Support\Facades\Validator; +use App\Http\Controllers\DiscordContoller; +use App\Http\Controllers\GithubController; use App\Http\Controllers\logginController; use App\Http\Controllers\testingContolleur; use App\Http\Controllers\whazzupController; @@ -30,12 +33,11 @@ use App\Http\Controllers\PilotIvaoController; use App\Http\Controllers\whitelistController; use App\Http\Controllers\ApiGestionController; +use App\Http\Controllers\frendly_userController; use App\Http\Controllers\MailRegisterController; use App\Http\Requests\registerValidationRequest; -use App\Http\Controllers\CreatAuhUniqueUsersController; -use App\Http\Controllers\frendly_userController; use App\Http\Controllers\myOnlineServeurController; -use Illuminate\Support\Facades\Http; +use App\Http\Controllers\CreatAuhUniqueUsersController; /* |-------------------------------------------------------------------------- @@ -648,15 +650,34 @@ return $online; })->name("online")->middleware(["auth:web"]); +Route::prefix("feedback")->group(function () { + Route::get("/", function (Request $request) { + return view("feedback.index"); + })->name("feedback.index"); + + Route::post("create", function (Request $request) { + $github = new GithubController(); + $github = $github->send_issue($request); + $request->merge([ + "user_id" => Auth::user()->id, + "body" => $request->body, + "link" => $github, + "label" => $request->label + ]); + $discord = new DiscordContoller(); + $discord->send_feedback($request); + return to_route("feedback.index")->with("success", "Votre feedback à été envoyé !"); + })->name("feedback.post"); +})->middleware(["auth:web"]); Route::get("test", function (Request $request) { - $online = new myOnlineServeurController("1", "366869"); + $online = new myOnlineServeurController("1", "440306"); $online = $online->getVerrifOnlineServeur(); return $online; })->name("test"); -Route::get("test2", function (Request $request) { +Route::get("test2", function (Request $request) $whazzup = new whazzupController(); $whazzup->API_request_session(); $u = $whazzup->track_session_id('53150078');