PATH:
home
/
lab2454c
/
netxzero.com
/
carbon-credit
/
app
/
Http
/
Controllers
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\HomeBanner; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Http; use Illuminate\Support\Collection; use Illuminate\Pagination\Paginator; use Illuminate\Pagination\LengthAwarePaginator; use App\Traits\PaginationTrait; use Illuminate\Support\Facades\DB; use App\Models\Project; use App\Models\ProjectImage; class HomeController extends Controller { //use PaginationTrait; /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('auth')->except([ 'showHome', 'projectDetails' ]); } /** * Show the application dashboard. * * @return \Illuminate\Contracts\Support\Renderable */ public function dashboard() { $data['user'] = Auth::user(); $data['orders'] = $data['user']->orders->sortByDesc('created_at'); //dd($data['orders']); return view('frontend.dashboard', $data); } public function showHome(Request $request) { /* START OF PROJECT INSERTION CODE IN OUR DB */ // $curl = curl_init(); // curl_setopt_array($curl, [ // CURLOPT_URL => "https://api-prod-no-cert.cloverly.com/2021-10/projects", // CURLOPT_RETURNTRANSFER => true, // CURLOPT_ENCODING => "", // CURLOPT_MAXREDIRS => 10, // CURLOPT_TIMEOUT => 30, // CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, // CURLOPT_CUSTOMREQUEST => "GET", // CURLOPT_HTTPHEADER => [ // "Authorization: ".env('CLOVERLY_API_KEY'), // // "Content-Type: application/json" // ], // ]); // $response = curl_exec($curl); // if (curl_errno($curl)) { // echo 'Error:' . curl_error($curl); // } // curl_close($curl); // $decodedProjects = json_decode($response, true); // //dd($decodedProjects); // //$data['projects'] = $this->paginate($decodedProjects,6); // foreach($decodedProjects as $data){ // //dd($data); // $project = new Project(); // $project->fill($data); // $project->project_id= $data['id']; // if (isset($data['location'])) { // $project->location_lat = $data['location']['x']; // $project->location_lon = $data['location']['y']; // } // if (isset($data['project_ratings'])) { // foreach ($data['project_ratings'] as $rating) { // $project->rating = $rating['rating']; // $project->rating_title = $rating['rating_title']; // } // } // $project->save(); // if(isset($data['image_list'])) { // foreach ($data['image_list'] as $image) { // $projectImage = new ProjectImage(); // $projectImage->fill($image); // $projectImage->project()->associate($project); // $projectImage->save(); // } // } // } /* END OF PROJECT INSERTION CODE IN OUR DB */ //dd($request); $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api-prod-no-cert.cloverly.com/2021-10/project-types", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => [ "Authorization: ".env('CLOVERLY_API_KEY'), // "Content-Type: application/json" ], ]); $response = curl_exec($curl); if (curl_errno($curl)) { echo 'Error:' . curl_error($curl); } curl_close($curl); $types = json_decode($response, true); $data['projectTypes'] = collect($types)->sortBy('name'); //dd(collect($data['projectTypes'])->sortBy('name')); $query = Project::where('project_id','<>', NULL); if (isset($request->search)) { $query->where('name', 'like', '%' . $request->search . '%') ->orWhere('city', 'like', '%' . $request->search . '%')->orWhere('country', 'like', '%' . $request->search . '%'); $data['search'] = $request->search; } if (isset($request->sorting)) { if ($request->sorting == 101) { $query->inRandomOrder(); } if ($request->sorting == 102) { $query->orderBy('cost_per_kg_carbon_in_usd_cents'); } if ($request->sorting == 103) { $query->orderBy('cost_per_kg_carbon_in_usd_cents', 'DESC'); } } if (isset($request->type)) { $query->where('type', $request->type); } //dd($query->toSql()); $data['projects'] = $query->paginate(8); //$data['projects'] = Project::paginate(6); return view('frontend.home', $data); } public function projectDetails($id) { //dd($id); // $curl = curl_init(); // curl_setopt_array($curl, [ // CURLOPT_URL => "https://api-prod-no-cert.cloverly.com/2021-10/project/".$id, // CURLOPT_RETURNTRANSFER => true, // CURLOPT_ENCODING => "", // CURLOPT_MAXREDIRS => 10, // CURLOPT_TIMEOUT => 30, // CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, // CURLOPT_CUSTOMREQUEST => "GET", // CURLOPT_HTTPHEADER => [ // "Authorization: ".env('CLOVERLY_API_KEY'), // // "Content-Type: application/json" // ], // ]); // $response = curl_exec($curl); // if (curl_errno($curl)) { // echo 'Error:' . curl_error($curl); // } // curl_close($curl); // $data['project'] = json_decode($response, true); $data['project'] = Project::where('project_id', $id)->first(); return view('frontend.pages.ecommerce.projectDetail', $data); } public function showChangePassword() { return view('auth.changePassword'); } public function changePassword(Request $request) { $value = $request->validate([ 'current' => ['required', 'string', function ($attribute, $value, $fail) { if (!Hash::check($value, Auth::user()->password)) { return $fail(__('The current password is incorrect.')); } }], 'password' => 'required|string|confirmed|min:8|max:30|different:current', ]); if(Auth::guard()->attempt(['first_name'=>Auth::user()->first_name, 'password' => $value['current']])){ $user = Auth::user(); $user->password = Hash::make($value['password']); $user->save(); $notify[] = ['success', 'Your password has been successfully changed!']; return redirect()->route('dashboard')->withNotify($notify); } throw ValidationException::withMessages([ 'current' => [trans('auth.failed')], ]); } }
[-] CartController.php
[edit]
[+]
..
[-] Controller.php
[edit]
[+]
Admin
[+]
Auth
[-] SiteController.php
[edit]
[-] HomeController.php
[edit]
[-] CronController.php
[edit]