<?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]