Sindbad~EG File Manager
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
use App\Models\Catalogo;
use App\Models\Canje;
use App\Models\Historial;
use App\Models\Canjeproductos;
use App\Models\Notificacion;
use App\Models\User;
use Auth;
use Session;
use DB;
use Image, file;
use Cart;
class CatalogoController extends Controller{
public function index(){
return view('admin.catalogo.index');
}
public function create(){
return view('admin.catalogo.create');
}
public function store(Request $request){
$catalogo=new Catalogo;
if($file = $request->foto) {
$control=0;
$nombre = rand().".".$file->getClientOriginalExtension();
while ($control == 0) {
if (is_file( public_path() . '/images/catalogo/' . $nombre )) {
$nombre = rand() . $nombre;
}else{
Image::make($request->foto)
->heighten(1000)
->save(public_path() . '/images/catalogo/' . $nombre);
$control=1;
}
}
$catalogo->foto=$nombre;
}
$catalogo->nombre=$request->nombre;
$catalogo->stock=$request->stock;
$catalogo->moneda=$request->moneda;
if ($catalogo->save()){
Session::flash('success', '¡El catálogo se subio correctamente!');
}
return Redirect::to('admin/catalogo');
}
public function edit($id) {
$catalogo=Catalogo::findOrFail($id);
return view("admin.catalogo.edit",["catalogo"=>$catalogo]);
}
public function update(Request $request,$id) {
$catalogo=Catalogo::findOrFail($id);
if($file = $request->foto) {
$control=0;
$nombre = rand().".".$file->getClientOriginalExtension();
while ($control == 0) {
if (is_file( public_path() . '/images/catalogo/' . $nombre )) {
$nombre = rand() . $nombre;
}else{
Image::make($request->foto)
->heighten(1000)
->save(public_path() . '/images/catalogo/' . $nombre);
$control=1;
}
}
$catalogo->foto=$nombre;
}
$catalogo->nombre=$request->nombre;
$catalogo->stock=$request->stock;
$catalogo->moneda=$request->moneda;
if ($catalogo->update()){
Session::flash('success', '¡El catálogo se actualizo correctamente!');
}
return Redirect::to('admin/catalogo');
}
public function enviarpedido(Request $request){
$canje=new Canje;
$canje->usuario_id=Auth::user()->id;
$canje->save();
$productos = $request->producto_id;
$monedass = $request->monedass;
//aca debo de editar
foreach(Cart::getContent() as $prod) {
$catalogo=Catalogo::find($prod->id);
if($catalogo->stock >= $prod->quantity){
$pedido=new Canjeproductos;
$pedido->canje_id=$canje->id;
$pedido->producto_id=$prod->id;
$pedido->monedas=$catalogo->moneda*$prod->quantity;
$pedido->cantidad=$prod->quantity;
$pedido->estado=1;
if($pedido->save()){
$catalogo->stock-=$prod->quantity;
$catalogo->update();
//descontar las monedas del usuario
$user=User::find(Auth::user()->id);
$user->monedas-=$catalogo->moneda*$prod->quantity;
$user->update();
//realizar el tipeo de la compra
Historial::create([
'origen_id' => Auth::user()->id,
'receptor_id' => null,
'cantidad' => $prod->price,
'tipo' => 'Compra',
'comentario' => 'El Usario ' . Auth::user()->name . ', realizo la compra de ' . $prod->name . ' por ' . $prod->price . ' monedas',
]);
}
}
}
Cart::clear();
$usuarios=User::where('nivel',1)->get();
foreach($usuarios as $user){
$notificacion=new Notificacion;
$notificacion->enlace="/admin/catalogo?usuario_id=".Auth::user()->id;
$notificacion->mensaje=Auth::user()->name." ha usado monedas comprando de la tienda";
$notificacion->notificado_id=$user->id;
$notificacion->notificador_id=Auth::user()->id;
$notificacion->save();
}
Session::flash('success', '¡La solictud se realizo correctamente!');
return Redirect::back();
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists