Anons79 Mini Shell

Directory : /home/proudlyafrican/public_html/app/Http/Controllers/
Upload File :
Current File : /home/proudlyafrican/public_html/app/Http/Controllers/productcontroller.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use Session;
use Image;

class productcontroller extends Controller
{
    //
    public function products(){

       $products=DB::Table('products')
           ->select('products.*','product_images.image_name','product_images.product_image_id','categories.name as cat_name')
           ->leftjoin('product_images','product_images.product_id','products.product_id')
           ->leftjoin('categories','categories.id','products.category_id')
           ->groupBy('product_images.product_id')
           ->OrderBy('products.product_id','DESC')
           ->get();

        return view('admin.product.list',array('products'=>$products));
    }
    public function add_product(){
        $categories=DB::Table('categories')->get();
        return view('admin.product.add',array('categories'=>$categories));
    }
    public function insert_product(Request $request){

        $data=array(
            'name'=>$request['name'],
            'category_id'=>$request['category_id'],
            'description'=>$request['editor1'],
        );
        $product_id=DB::Table('products')->insertGetId($data);
        ini_set('memory_limit', '-1');
        $files = $request->file('image');
        if ($request->hasFile('image')) {
            foreach($files as $file){
                echo "Here <br>";
                $fileExtension   = strtolower($file->getClientOriginalExtension());
                $file_name       = sha1(uniqid().$file.uniqid()).'.'.$fileExtension;
                $destinationPath = 'public/uploads/products/';
                $img = Image::make($file->getRealPath());
                $img->orientate();
                $img->resize(750, 750, function ($constraint) {
                    $constraint->aspectRatio();
                })->save($destinationPath.$file_name);

                $data=array([
                    'image_name'=>$file_name,
                    'product_id'=>$product_id
                ]);

                DB::table('product_images')->insert($data);

            }
        }


        $quantity = $request->input('quantity');
        $unit = $request->input('unit');
        $amount = $request->input('amount');

        for($i=0;$i<count($quantity);$i++){
            if($quantity[$i]!=""){
                $data=array(
                    'quantity'=>$quantity[$i],
                    'unit'=>$unit[$i],
                    'amount'=>$amount[$i],
                    'product_id'=>$product_id

                );
                DB::Table('product_rates')->insert($data);

            }
        }


        Session::flash('msg', 'Product has been added');
         return redirect('products');

    }
    public function edit_product($id){
        $products=DB::Table('products')->where('product_id',$id)->get();
        $categories=DB::Table('categories')->get();
        $product_images=DB::Table('product_images')->where('product_id',$id)->get();
        $product_rates=DB::Table('product_rates')->where('product_id',$id)->get();
        return view('admin.product.edit',array('categories'=>$categories,'products'=>$products,'product_images'=>$product_images,'product_rates'=>$product_rates));
    }
    public function delete_product_image($id){
        $image=DB::Table('product_images')->where('product_image_id',$id)->get();
        unlink('public/uploads/products/'.$image[0]->image_name);


        DB::Table('product_images')->where('product_image_id',$id)->delete();
        return "Y";
    }
    public function update_product(Request $request){
        $data=array(
            'name'=>$request['name'],
            'category_id'=>$request['category_id'],
            'description'=>$request['editor1'],
        );

       DB::Table('products')->where('product_id',$request['product_id'])->update($data);

       DB::Table('product_rates')->where('product_id',$request['product_id'])->delete();

        $quantity = $request->input('quantity');
        $unit = $request->input('unit');
        $amount = $request->input('amount');

        for($i=0;$i<count($quantity);$i++){
            if($quantity[$i]!=""){
                $data=array(
                    'quantity'=>$quantity[$i],
                    'unit'=>$unit[$i],
                    'amount'=>$amount[$i],
                    'product_id'=>$request['product_id']

                );
                DB::Table('product_rates')->insert($data);

            }
        }


        $files = $request->file('image');
        if ($request->hasFile('image')) {
            foreach($files as $file){
                echo "Here <br>";
                $fileExtension   = strtolower($file->getClientOriginalExtension());
                $file_name       = sha1(uniqid().$file.uniqid()).'.'.$fileExtension;
                $destinationPath = 'public/uploads/products/';
                $img = Image::make($file->getRealPath());
                $img->orientate();
                $img->resize(750, 750, function ($constraint) {
                    $constraint->aspectRatio();
                })->save($destinationPath.$file_name);

                $data=array([
                    'image_name'=>$file_name,
                    'product_id'=>$request['product_id']
                ]);

                DB::table('product_images')->insert($data);

            }
        }

        Session::flash('msg', 'Product has been Updated Successfully');
        return redirect('products');
    }
    public function delete_product($id){
        DB::Table('products')->where('product_id',$id)->delete();

        $images=DB::Table('product_images')->where('product_id',$id)->get();
        foreach($images as $image){
            unlink('public/uploads/products/'.$image->image_name);
        }
        DB::Table('product_images')->where('product_id',$id)->delete();
        Session::flash('msg2', 'Product has been Deleted' );
        return back();
    }
    public function product_is_in_stock($product_id){
        $data=array(
            'in_stock'=>'Y'
        );
        DB::Table('products')->where('product_id',$product_id)->update($data);
        return "Y";
    }
    public function product_not_in_stock($product_id){
        $data=array(
            'in_stock'=>'N'
        );
        DB::Table('products')->where('product_id',$product_id)->update($data);
        return "Y";
    }


    public function product_is_new_arrival($product_id){
        $data=array(
            'new_arrival'=>'Y'
        );
        DB::Table('products')->where('product_id',$product_id)->update($data);
        return "Y";
    }
    public function product_not_new_arrival($product_id){
        $data=array(
            'new_arrival'=>'N'
        );
        DB::Table('products')->where('product_id',$product_id)->update($data);
        return "Y";
    }

}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]