Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/coba.fixmate.id/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/www/coba.fixmate.id/app/Http/Controllers/TrackingController.php

<?php

namespace App\Http\Controllers;

use App\Models\MetaPixel;
use Illuminate\Http\Request;

class TrackingController extends Controller
{
    public function index(){
        $events = [
            
            'ViewContent',       // Saat pengunjung melihat halaman produk/landing page
            'AddToCart',         // Saat pengunjung menambahkan produk ke keranjang
            'InitiateCheckout',  // Saat pengunjung memulai proses checkout/mengisi form
            'Lead',
            'AddPaymentInfo',    // Saat pengunjung menambahkan informasi pembayaran
            'Purchase', 
            'Processing',        // Saat status pesanan diubah menjadi "Processing"
            'Completed',         // Saat status pesanan diubah menjadi "Completed"
            'CompleteRegistration',
            'Search',
            'BelumDirespon',
            'SudahDirespon',
            'BookingService',
            'TidakResponLagi',
            'ServiceMasuk',
            'TombolKonsultasi',
        ];
        $pages = [
            [
                "route"=>"home",
                "name"=>"Landing Page",
                "elements"=>[
                    [
                        "name"=>"Tombol Konsultasi",
                        "element"=>"a[href='#section-4']",
                        "default"=>'TombolKonsultasi'
                    ],
                    [
                        "name"=>"Kirim Konsultasi",
                        "element"=>"form button.btn-success",
                        "default"=>'ViewContent'
                    ]
                ]
            ],
            [
                "route"=>"status-perbaikan.index",
                "name"=>"Form Cek Status Perbaikan",
                "elements"=>[
                    [
                        "name"=>"Tombol Cek Status",
                        "element"=>"button#cek-button",
                        "default"=>'Search'
                    ],
                ]
            ],
            [
                "route"=>"konsultasi.index",
                "name"=>"Prospek",
                "elements"=>[
                    [
                        "name"=>"Belum Direspon",
                        "element"=>".pending-respon",
                        "default"=>'BelumDirespon'
                    ],
                    [
                        "name"=>"Sudah Direspon",
                        "element"=>".sudah-direspon",
                        "default"=>'SudahDirespon'
                    ],
                    [
                        "name"=>"Booking Service",
                        "element"=>".booking-service",
                        "default"=>'BookingService'
                    ],
                    [
                        "name"=>"Tidak Respon Lagi",
                        "element"=>".tidak-direspon",
                        "default"=>'TidakResponLagi'
                    ],
                    [
                        "name"=>"Service Masuk",
                        "element"=>".service-masuk",
                        "default"=>'SudahService'
                    ],
                ]
            ],
            [
                "route"=>"service.index",
                "name"=>"Service",
                "elements"=>[
                    [
                        "name"=>"Bayar",
                        "element"=>".action-bayar",
                        "default"=>'Purchase'
                    ],
                    
                ]
            ],
            
            
        ];
        $metaEvents = MetaPixel::all();
        
        return view('tracking.index',compact('events','metaEvents','pages'));
    }

    public function store(Request $request){
        $pixelEvents = MetaPixel::get();
       
        if($request->has('meta_page') && $request->main_meta_pixel_id != ""){
            foreach ($request->meta_page as $indexPg => $page) {
                foreach ($request->meta_element[$indexPg] as $indexEl => $element) {
                    $cek = $pixelEvents->where('target_page', $page)->where('target_element', $element)->where('source', 'meta')->first();
                    if(isset($request->meta_pixel_event[$indexPg][$indexEl]) && $request->meta_pixel_event[$indexPg][$indexEl] != ""){
                        MetaPixel::updateOrCreate([
                            'target_page'=>$page,
                            'target_element'=>$element,
                            'source'=>'meta',
                        ],[
                            'pixel_id'=>$request->main_meta_pixel_id,
                            'pixel_event'=>$request->meta_pixel_event[$indexPg][$indexEl],
                            
                        ]);
                    } else if($cek){
                        $cek->delete();
                    }
                    
                }
            }
        } else {
            MetaPixel::where('source', 'meta')->delete();
        }

        if($request->has('tiktok_page') && $request->main_tiktok_pixel_id != ""){
            foreach ($request->tiktok_page as $indexPg => $page) {
                foreach ($request->tiktok_element[$indexPg] as $indexEl => $element) {
                    $cek = $pixelEvents->where('target_page', $page)->where('target_element', $element)->where('source', 'tiktok')->first();
                    if(isset($request->tiktok_pixel_event[$indexPg][$indexEl]) && $request->tiktok_pixel_event[$indexPg][$indexEl] != ""){
                        MetaPixel::updateOrCreate([
                            'target_page'=>$page,
                            'target_element'=>$element,
                            'source'=>'tiktok',
                        ],[
                            'pixel_id'=>$request->main_tiktok_pixel_id,
                            'pixel_event'=>$request->tiktok_pixel_event[$indexPg][$indexEl],
                            
                        ]);
                    } else if($cek){
                        $cek->delete();
                    }
                    
                }
            }
        } else {
            MetaPixel::where('source', 'tiktok')->delete();
        }


        if($request->has('gtm_page') && $request->main_gtm_pixel_id != ""){
            foreach ($request->gtm_page as $indexPg => $page) {
                foreach ($request->gtm_element[$indexPg] as $indexEl => $element) {
                    $cek = $pixelEvents->where('target_page', $page)->where('target_element', $element)->where('source', 'gtm')->first();
                    if(isset($request->gtm_pixel_event[$indexPg][$indexEl]) && $request->gtm_pixel_event[$indexPg][$indexEl] != ""){
                        MetaPixel::updateOrCreate([
                            'target_page'=>$page,
                            'target_element'=>$element,
                            'source'=>'gtm',
                        ],[
                            'pixel_id'=>$request->main_gtm_pixel_id,
                            'pixel_event'=>$request->gtm_pixel_event[$indexPg][$indexEl],
                            
                        ]);
                    } else if($cek){
                        $cek->delete();
                    }
                    
                }
            }
        } else {
            MetaPixel::where('source', 'gtm')->delete();
        }
        return redirect()->back()->with('success','Berhasil menyimpan data tracking');
    }
}

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