Sindbad~EG File Manager

Current Path : /var/www/html/xfacil.desafio.com.py/app/Http/Controllers/
Upload File :
Current File : /var/www/html/xfacil.desafio.com.py/app/Http/Controllers/CatalogoController.php

<?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\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;

        for($i=0; $i < count($productos); $i++) {
            $catalogo=Catalogo::find($productos[$i]);
            if($catalogo->stock > 0){
                $pedido=new Canjeproductos;
                $pedido->canje_id=$canje->id;
                $pedido->producto_id=$productos[$i];
                $pedido->monedas=$monedass[$i];
                $pedido->estado=1;
                if($pedido->save()){
                    $catalogo->stock-=1;
                    $catalogo->update();
                }
            }
        }

        Cart::clear();
        $usuarios=User::where('nivel',1)->get();
        foreach($usuarios as $user){
            $notificacion=new Notificacion;
                $notificacion->enlace="/admin/catalogo";
                $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