mirror of
https://repo.getmonero.org/AnonDev/xmrmemes.git
synced 2025-06-19 04:19:18 -04:00
Initial Commit
This commit is contained in:
commit
cc2af611e1
148 changed files with 54234 additions and 0 deletions
146
app/Http/Controllers/MemeController.php
Normal file
146
app/Http/Controllers/MemeController.php
Normal file
|
@ -0,0 +1,146 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Meme;
|
||||
use App\Models\User;
|
||||
use App\Models\Address;
|
||||
use Illuminate\Http\Request;
|
||||
use chillerlan\QRCode\{QRCode, QROptions};
|
||||
|
||||
class MemeController extends Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// $this->middleware('auth');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$data = [
|
||||
'seo' => [
|
||||
'title' => null,
|
||||
'desc' => null,
|
||||
'img' => null,
|
||||
],
|
||||
'memes' => Meme::with(['user', 'tips'])->orderByDesc('created_at')->paginate(20),
|
||||
];
|
||||
return view('homepage', ['data' => $data]);
|
||||
}
|
||||
|
||||
public function leaderboard()
|
||||
{
|
||||
$users = User::with('tips')->has('memes')->get();
|
||||
$users = $users->sortByDesc(function($user) {
|
||||
return $user->tips_total;
|
||||
});
|
||||
|
||||
$data = [
|
||||
'users' => $users,
|
||||
];
|
||||
|
||||
return view('leaderboard', ['data' => $data]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view('meme-create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
$user = \Auth::user();
|
||||
$used_ids = Meme::pluck('address_id')->toArray();
|
||||
$address = Address::whereNotIn('id', $used_ids)->first('id');
|
||||
return Meme::create([
|
||||
'user_id' => $user->id,
|
||||
'address_id' => $address->id,
|
||||
'title' => $request->input('title'),
|
||||
// 'caption' => $request->input('caption'),
|
||||
'image' => $request->file('image'),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param \App\Models\Meme $meme
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$meme = Meme::where('id', $id)->with(['user', 'tips', 'address'])->firstOrFail();
|
||||
|
||||
$share = \Share::page(url()->current(), $meme->title, ['class' => 'fa-lg', 'target' => '_blank'])
|
||||
->facebook()
|
||||
->twitter()
|
||||
->reddit()
|
||||
->telegram()
|
||||
->linkedin()
|
||||
->whatsapp();
|
||||
|
||||
$data = [
|
||||
'meme' => $meme,
|
||||
'qr' => (new QRCode)->render($meme->address->address),
|
||||
'share' => preg_replace("/<a(.*?)>/", "<a$1 target=\"_blank\">", $share),
|
||||
];
|
||||
|
||||
return view('meme', ['data' => $data]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param \App\Models\Meme $meme
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit(Meme $meme)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \App\Models\Meme $meme
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, Meme $meme)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param \App\Models\Meme $meme
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy(Meme $meme)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue