Untitled

 avatar
unknown
plain_text
6 months ago
6.4 kB
2
Indexable
<?php
namespace gpd\at\utilities;

use gpd\at\database\Users;
defined('ABSPATH') || exit;

class FeData {
    private $userFrontId;
    private $screenSize;
    private $webVersion;
    private $abTestVersion;
    private $campaign;
    private $referrer;
    private $event_type;
    private $page_name;	
    private $current_url;	
    private $p_slug;
    private $cart_products;	
    private $tyreservice_id;	
    private $tyreservice_name;
    private $cart_valuevat;
    private $gclid;
    
    public function __construct($encrypt_data) {
        // Dekódování a dešifrování dat
        error_log("Starting FeData constructor");

        $decrypte = new DecrypteData();
        $decrypted_data = $decrypte->decrypt($encrypt_data);

        if ($decrypted_data === false) {
           throw new \Exception('Data decryption failed');
        }

        error_log("Decrypted data: " . print_r($decrypted_data,true));

        $decoded_data = json_decode($decrypted_data, true);

        if ($decoded_data === null) {
           throw new \Exception('Data decoding failed');
        }

        // Helper funkce pro kontrolu prázdných hodnot a prázdných polí
        $setValue = function($value) {
            return (empty($value) && $value !== '0' && $value !== 0) || $value == 'none' || (is_array($value) && empty($value)) ? null : $value;
        };

        // Uložení jednotlivých parametrů do vlastností třídy
        /*$this->userFrontId = $setValue($decoded_data['user_front_id'] ?? null);
        $this->screenSize = $setValue($decoded_data['screen_size'] ?? null);
        $this->webVersion = $setValue($decoded_data['webversion'] ?? null);
        $this->abTestVersion = $setValue($decoded_data['abtestversion'] ?? null);
        $this->campaign = $setValue($decoded_data['campaign'] ?? null);
        $this->referrer = $setValue($decoded_data['referrer'] ?? null);
        $this->event_type = $setValue($decoded_data['event_type'] ?? null);
        $this->page_name = $setValue($decoded_data['page_name'] ?? null);
        $this->current_url = $setValue($decoded_data['current_url'] ?? null);
        $this->p_slug = $setValue($decoded_data['p_slug'] ?? null);
        $this->cart_products = $setValue($decoded_data['cart_products'] ?? null);
        $this->tyreservice_id = $setValue($decoded_data['tyreservice_id'] ?? null);
        $this->tyreservice_name = $setValue($decoded_data['tyreservice_name'] ?? null);
        $this->cart_valuevat = $setValue($decoded_data['cart_valuevat'] ?? null);*/
        error_log("Decoded data: " . print_r($decoded_data, true));

       

        $this->screenSize = $setValue($decoded_data['screen_size'] ?? null);
        error_log("screenSize: " . print_r($this->screenSize, true));

        $this->webVersion = $setValue($decoded_data['webversion'] ?? null);
        error_log("webVersion: " . print_r($this->webVersion, true));

        $this->abTestVersion = $setValue($decoded_data['abtestversion'] ?? null);
        error_log("abTestVersion: " . print_r($this->abTestVersion, true));

        $this->campaign = $setValue($decoded_data['campaign'] ?? null);
        error_log("campaign: " . print_r($this->campaign, true));

        $this->referrer = $setValue($decoded_data['referrer'] ?? null);
        error_log("referrer: " . print_r($this->referrer, true));

        $this->event_type = $setValue($decoded_data['event_type'] ?? null);
        error_log("event_type: " . print_r($this->event_type, true));

        $this->page_name = $setValue($decoded_data['page_name'] ?? null);
        error_log("page_name: " . print_r($this->page_name, true));

        $this->current_url = $setValue($decoded_data['current_url'] ?? null);
        error_log("current_url: " . print_r($this->current_url, true));

        $this->p_slug = $setValue($decoded_data['p_slug'] ?? null);
        error_log("p_slug: " . print_r($this->p_slug, true));

        $this->cart_products = $setValue($decoded_data['cart_products'] ?? null);
        error_log("cart_products: " . print_r($this->cart_products, true));

        $this->tyreservice_id = $setValue($decoded_data['tyreservice_id'] ?? null);
        error_log("tyreservice_id: " . print_r($this->tyreservice_id, true));

        $this->tyreservice_name = $setValue($decoded_data['tyreservice_name'] ?? null);
        error_log("tyreservice_name: " . print_r($this->tyreservice_name, true));

        $this->cart_valuevat = $setValue($decoded_data['cart_valuevat'] ?? null);
        error_log("cart_valuevat: " . print_r($this->cart_valuevat, true));

     
        $merged_user_id = Users::check_merged_user($decoded_data['user_front_id']);
        //kontrola merge
        $this->userFrontId = $merged_user_id ?: ($setValue($decoded_data['user_front_id']) ?? null);
        error_log("userFrontId: " . print_r($this->userFrontId, true));
        
        $this->gclid = $setValue($decoded_data['gclid'] ?? null);
       

    }


    // Gettery pro jednotlivé vlastnosti
    public function getUserFrontId() {
        return $this->userFrontId;
    }

    public function getScreenSize() {
        return $this->screenSize;
    }

    public function getWebVersion() {
        return $this->webVersion;
    }

    public function getAbTestVersion() {
        return $this->abTestVersion;
    }

    public function getCampaign() {
        return $this->campaign;
    }

    public function getReferrer() {
        return $this->referrer;
    }

    public function getEventType() {
        return $this->event_type;
    }

    public function getPageName() {
        return $this->page_name;
    }

    public function getCurrentUrl() {
        return $this->current_url;
    }

    public function getPSlug() {
        return $this->p_slug;
    }

    public function getCartProducts() {
        return $this->cart_products;
    }

    public function getValCart(){
        return $this->cart_valuevat;
    }

    public function getTyreserviceId() {
        return $this->tyreservice_id;
    }

    public function getTyreserviceName() {
        return $this->tyreservice_name;
    }

    public function getGclId() {
        return $this->gclid;
    }

   

}
?>
Editor is loading...
Leave a Comment