Block/Pixel/Common.php (78 lines of code) (raw):
<?php
/**
* Copyright (c) Meta Platforms, Inc. and affiliates. All Rights Reserved
*/
namespace Facebook\BusinessExtension\Block\Pixel;
use Facebook\BusinessExtension\Helper\FBEHelper;
use Facebook\BusinessExtension\Helper\MagentoDataHelper;
use Magento\Framework\ObjectManagerInterface;
use Magento\Framework\Registry;
use Magento\Framework\View\Element\Template\Context;
class Common extends \Magento\Framework\View\Element\Template
{
/**
* @var ObjectManagerInterface
*/
protected $objectManager;
/**
* @var Registry
*/
protected $registry;
/**
* @var FBEHelper
*/
protected $fbeHelper;
/**
* @var MagentoDataHelper
*/
protected $magentoDataHelper;
/**
* Common constructor
*
* @param Context $context
* @param ObjectManagerInterface $objectManager
* @param Registry $registry
* @param FBEHelper $fbeHelper
* @param MagentoDataHelper $magentoDataHelper
* @param array $data
*/
public function __construct(
Context $context,
ObjectManagerInterface $objectManager,
Registry $registry,
FBEHelper $fbeHelper,
MagentoDataHelper $magentoDataHelper,
array $data = []
) {
parent::__construct($context, $data);
$this->objectManager = $objectManager;
$this->registry = $registry;
$this->fbeHelper = $fbeHelper;
$this->magentoDataHelper = $magentoDataHelper;
}
/**
* @param $a
* @return string
*/
public function arrayToCommaSeparatedStringValues($a)
{
return implode(',', array_map(function ($i) {
return '"' . $i . '"';
}, $a));
}
/**
* @param $string
* @return string
*/
public function escapeQuotes($string)
{
return addslashes($string);
}
/**
* @return mixed|null
*/
public function getFacebookPixelID()
{
return $this->fbeHelper->getPixelID();
}
/**
* @return string
*/
public function getSource()
{
return $this->fbeHelper->getSource();
}
/**
* @return mixed
*/
public function getMagentoVersion()
{
return $this->fbeHelper->getMagentoVersion();
}
/**
* @return mixed
*/
public function getPluginVersion()
{
return $this->fbeHelper->getPluginVersion();
}
/**
* @return string
*/
public function getFacebookAgentVersion()
{
return $this->fbeHelper->getPartnerAgent();
}
/**
* @return string
*/
public function getContentType()
{
return 'product';
}
/**
* @return mixed
* @throws \Magento\Framework\Exception\NoSuchEntityException
*/
public function getCurrency()
{
return $this->_storeManager->getStore()->getCurrentCurrency()->getCode();
}
/**
* @param $pixelId
* @param $pixelEvent
*/
public function logEvent($pixelId, $pixelEvent)
{
$this->fbeHelper->logPixelEvent($pixelId, $pixelEvent);
}
/**
* @param $eventId
*/
public function trackServerEvent($eventId)
{
$this->_eventManager->dispatch($this->getEventToObserveName(), ['eventId' => $eventId]);
}
/**
* @return string
*/
public function getEventToObserveName()
{
return '';
}
}