Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/duriancell.fixmate.id/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/www/duriancell.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"
            'Paid', 
            'CompleteRegistration',
            'Search'
        ];
        $pages = [
            [
                "route"=>"home",
                "name"=>"Landing Page",
                "elements"=>[
                    [
                        "name"=>"Tombol Konsultasi",
                        "element"=>"a[href='#section-4']",
                        "default"=>'ViewContent'
                    ],
                    [
                        "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"=>"Konsultasi",
                "elements"=>[
                    [
                        "name"=>"Service Masuk",
                        "element"=>".service-masuk",
                        "default"=>'InitiateCheckout'
                    ],
                    [
                        "name"=>"Sudah Direspon",
                        "element"=>".sudah-direspon",
                        "default"=>'Lead'
                    ]
                ]
            ],
            [
                "route"=>"service.index",
                "name"=>"Service",
                "elements"=>[
                    [
                        "name"=>"Bayar",
                        "element"=>".action-bayar",
                        "default"=>'Purchase'
                    ],
                    
                ]
            ],
            
            
        ];
        $pixelEvents = MetaPixel::get();
        return view('tracking.index',compact('events','pixelEvents','pages'));
    }

    public function store(Request $request){
        $pixelEvents = MetaPixel::get();
        foreach ($request->page as $indexPg => $page) {
            foreach ($request->element[$indexPg] as $indexEl => $element) {
                $cek = $pixelEvents->where('target_page', $page)->where('target_element', $element)->first();
                if($cek && isset($request->pixel_id[$indexPg][$indexEl]) ){
                    $cek->update([
                        'pixel_id'=>$request->pixel_id[$indexPg][$indexEl],
                        'pixel_event'=>$request->pixel_event[$indexPg][$indexEl]
                    ]);
                } else if(isset($request->pixel_id[$indexPg][$indexEl]) && $request->pixel_id[$indexPg][$indexEl] != null) {
                    MetaPixel::create([
                        'target_page'=>$page,
                        'target_element'=>$element,
                        'pixel_id'=>$request->pixel_id[$indexPg][$indexEl],
                        'pixel_event'=>$request->pixel_event[$indexPg][$indexEl]
                    ]);
                }
            }
        }
        return redirect()->back()->with('success','Berhasil menyimpan data tracking');
    }
}

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