File: /var/www/vhost/disk-apps/agile-selling-wpb/app/Http/Controllers/PopupEmbedController.php
<?php
namespace App\Http\Controllers;
use App\TypeAction;
use App\PopupEmbed;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Intervention\Image\ImageManagerStatic as Image;
use DB;
use Datatables;
class PopupEmbedController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('popup_embed.popup');
}
public function indexAdd()
{
$typeActions = TypeAction::where('active', true)->get();
return view('popup_embed.addPopup', compact('typeActions'));
}
public function indexEdit($id)
{
$popup = PopupEmbed::find($id);
$typeActions = TypeAction::where('active', true)->get();
return view('popup_embed.editPopup',compact('typeActions','popup'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create(Request $request)
{
$popup = PopupEmbed::create($request->all());
if($popup){
return array('r' => true, 'd' => array('id'=>$popup->id), 'm'=> trans('messages.screen_popup_tag14'));
}else{
return array('r' => false, 'd' => null, 'm'=> trans('messages.screen_popup_tag15'));
}
}
public function saveImage(Request $request){
$id = $request->id;
$extension = $request->file('image')->getClientOriginalExtension();
$filenametostore = $id.'.'.$extension;
Storage::disk('s3')->put(env('S3_POPUPS_PATH').$filenametostore, fopen($request->file('image'), 'r+'), 'public');
$status = PopupEmbed::where('id', $id)->update(['image' => $filenametostore]);
if ($status) {
return array('r' => true, 'd' => null, 'm'=> trans('messages.screen_popup_tag14'));
}else{
return array('r' => false,'d' => null, 'm'=> trans('messages.screen_popup_tag15'));
}
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request)
{
if (PopupEmbed::where('id', $request["popup_id"])->update(array_slice($request->all(), 1))) {
return array('r' => true, 'd' => array('id' => $request["popup_id"]), 'm'=> trans('messages.screen_popup_tag16'));
}else{
return array('r' => false,'d' => null, 'm'=> trans('messages.screen_popup_tag17'));
}
}
public function updateImage(Request $request){
$id = $request->id;
$extension = $request->file('image')->getClientOriginalExtension();
$filenametostore = $id.'.'.$extension;
Storage::disk('s3')->put(env('S3_POPUPS_PATH').$filenametostore, fopen($request->file('image'), 'r+'), 'public');
$status = PopupEmbed::where('id', $id)->update(['image' => $filenametostore]);
if ($status) {
return array('r' => true, 'd' => null, 'm'=> trans('messages.screen_popup_tag16'));
}else{
return array('r' => false,'d' => null, 'm'=> trans('messages.screen_popup_tag17'));
}
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($popup_id)
{
if (PopupEmbed::where('id', $popup_id)->delete()) {
return response(array("r" => true, "type" => "success", "title" => "", "m" => __('messages.deleted_successfully'), "data" => null));
} else {
return response(array("r" => false, "type" => "error", "title" => "Oops...", "m" => __('messages.error_removing'), "data" => null));
}
}
public function activatePopup(Request $request){
$id= $request['id'];
$state= $request['state'];
$popup = PopupEmbed::find($id);
$popup->active = $state;
$popup->update();
if ($popup) {
return array('r' => true, 'd' => null, 'm'=> trans('messages.screen_popup_tag18'));
}else{
return array('r' => false,'d' => null, 'm'=> trans('messages.screen_popup_tag19'));
}
}
public function tableFilter(){
$obj = $obj = PopupEmbed::select('id','title','msj','type_action_id','value','text_button_ok','image','active')->with('type_action');
return Datatables::of($obj)
->editColumn('image', function($obj){
return '
<div class="media-left">
<img src="'.env('AWS_URL').'/popups/'.$obj->image.'" class="media-object">
</div>
';
})
->editColumn('active', function ($obj) {
if($obj->active == 0){
return '<div class="switch"><label><div class="checkbox checbox-switch switch-success"> <label> No <input type="checkbox" onChange="chkPopup('.$obj->id.')" data-id="'.$obj->id.'" id="Checkactive'.$obj->id.'" name="Checkactivo" /> <span></span>Si </label></div> </label> </div>';
}else{
return '<div class="switch"><label> <div class="checkbox checbox-switch switch-success"> <label> No <input type="checkbox" onChange="chkPopup('.$obj->id.')" data-id="'.$obj->id.'" id="Checkactive'.$obj->id.'" name="Checkactivo" checked="" />
<span></span> Si </label> </div> </label> </div>';
}
})
->addColumn('actions', function ($obj) {
return '
<i class="fa fa-pencil iconMini " onClick="clickEditPopup('.$obj->id.')" data-id="'.$obj->id.'" data-toggle="tooltip" data-placement="bottom" title="Editar" style="cursor:pointer;"></i>
<i class="fa fa-trash iconMini " onClick="clickDeletePopup('.$obj->id.')" data-id="'.$obj->id.'" data-toggle="tooltip" data-placement="bottom" title="Eliminar" style="cursor:pointer;"></i>
';
})
->rawColumns([ 'active','actions','image'])
->make(true);
}
}