| Current Path : /var/www/www.indacotrentino.com/www/buy/economiasolidale/ |
| Current File : /var/www/www.indacotrentino.com/www/buy/economiasolidale/indaco-BBGet.php |
<?php
$accessKey = '6733f1af4dbc12f39ab4812ab0b0048cb15882db';
$storeId = 3;
$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://';
$baseUrl = $protocol . $_SERVER['HTTP_HOST'] . '/';
$url = $baseUrl . '/bb/loadbutton/index/access/' . $accessKey;
$staticUrl = $baseUrl . '/media/buybutton';
echo '<script>var baseUrlBB = "' . $url . '";</script>';
require __DIR__ . '/../../app/bootstrap.php';
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$state = $objectManager->get(Magento\Framework\App\State::class);
$state->setAreaCode('frontend');
$redirectFactory = $objectManager->get(\Torresani\QrCodeRedirect\Model\RedirectFactory::class);
$codeToSearch = $_GET['k'];
$redirectModel = $redirectFactory->create();
$redirectCollection = $redirectModel->getCollection();
$redirectCollection->addFieldToFilter('store_id', $storeId);
$redirectCollection->addFieldToFilter('code', $codeToSearch);
if ($redirectCollection->getSize() > 0) {
$record = $redirectCollection->getFirstItem();
$idCategory = $record->getCategoryId();
$idProducts = $record->getProductIds();
if (strlen($idProducts<2)) {
$storeManager = $objectManager->get(\Magento\Store\Model\StoreManagerInterface::class);
$storeManager->setCurrentStore($storeId);
$categoryFactory = $objectManager->get('\Magento\Catalog\Model\CategoryFactory');
// $store = $objectManager->create(\Magento\Store\Model\Store::class)->load($storeId);
// $category = $categoryFactory->create()->setStore($store)->load($idCategory);
$category = $categoryFactory->create()->load($idCategory);
$categoryProducts = $category->getProductCollection()->addAttributeToSelect('*');
foreach ($categoryProducts as $product) {
$idProducts .= $product->getId(). ',';
}
$idProducts = substr($idProducts, 0, -1);
}
insertVisitLog($storeId, null, $codeToSearch, $_SERVER['HTTP_REFERER'] ?? '', 'getProduct');
$string = <<<EOT
<iframe srcdoc="<div id='buybutton-init'></div><script>
(function(d, s, id) {
var js, bjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s);
js.id = id;
js.async = true;
js.src = '$url';
js.onload = function() {
new BuyButton({
redirectToProduct: '0',
locale: 'it-it',
currency_code: 'EUR',
storeId: '$storeId',
productIds: '$idProducts',
baseUrl: '$baseUrl',
styles: '@import url(\'https://fonts.googleapis.com/css2?family=Arvo&display=swap\');:root {--bb-color-object:#C66435;--bb-color-background:#C66435;--bb-color-button-font:#FFF;--bb-color-font:#000;--bb-font:Cairo, Montserrat, Helvetica Neue, Helvetica, Arial, sans-serif;}body {font-family:var(--bb-font);}.buybutton-container { background: #FFFFFF;}.bb-cart-count{left:40px;top:5px;}.buybutton-cart .icon-cart{margin-left:15px;}.buybutton-item.width-less-then-890{width:46%;}.buybutton-item.width-less-then-638{width:96%;}.buybutton-item.width-less-then-383{width:100%;}.buybutton-item-image img{width:initial;height:initial;max-height:100%;max-width:100%;}.buybutton-modal{overflow:auto}.buybutton-modal-image{display:flex; justify-content: center;}.buybutton-modal-image img{width:initial;max-width:100%;max-height:100%;padding-top:50px;}.buybutton-item { text-align: center; background: #FFFFFF; width: 21%; margin:2%;}.buybutton-message {font-family:var(--bb-font);font-size: 18px;display:flex;justify-content: center;}.buybutton-item-name {font-family:var(--bb-font);font-size: 18px; color: #000; font-weight: bold;}.buybutton-add{height:30px;}.buybutton-item-price { font-family:var(--bb-font);font-size: 18px;color:var(--bb-color-font);}.buybutton-cart { background: var(--bb-color-object);display:flex;align-items: center; }.buybutton-item-view > button, .buybutton-product-addtocart > button.buybutton-primary { background: var(--bb-color-object); border: 1px solid var(--bb-color-object);font-family:var(--bb-font);font-size: 16px; color:var(--bb-color-button-font); align-items: center;}.bb-cart-checkout > .button { font-family:var(--bb-font);color:var(--bb-color-button-font);background:var(--bb-color-object); border-color:var(--bb-color-object);}.buybutton-product-price,.bb-cart-item-price { font-family:var(--bb-font);font-size: 18px; color: #000; margin-bottom: 10px;}.bb-cart-item-name,.buybutton-product-name { font-family:var(--bb-font);font-size: 15px; color: #000; text-transform: uppercase; margin-bottom:10px}.bb-cart-item-name, .bb-cart-item-price{color:var(--bb-color-font);}.buybutton-product-sku,.buybutton-product-description { font-family:var(--bb-font);font-size: 18px; color: #666666; padding-top:25px;}.quantity-button{background-color:var(--bb-color-object);width: 30px; border: 0; margin: 0px 5px; color:var(--bb-color-font);font-size: 22px;}@media screen and (max-width: 768px) {.buybutton-modal{display:flex;flex-direction: column;margin:2.5%;width:90%}.buybutton-modal-left,.buybutton-modal-right{width:100%;}.buybutton-modal-container {position:fixed;}.buybutton-add{flex-direction: column;margin-bottom:45px;}.quantity-control{margin-bottom:15px;}}.bb-mini-cart-container{width:400px;max-width:400px;background:var(--bb-color-background);color:var(--bb-color-font);}.bb-cart-wrapper{font-family:var(--bb-font);}.no-data-found{font-family:var(--bb-font);color:var(--bb-color-font);}.bb-mini-cart-head .buybutton-modal-close{color:var(--bb-color-font);}.cp-skeleton{border-top:solid 6px var(--bb-color-object);}.cp-skeleton:before{border-left:solid 6px var(--bb-color-object);}.cp-skeleton:after{border-right:solid 6px var(--bb-color-object);}.buybutton-items { display: flex; flex-wrap: wrap; gap: 16px; } .buybutton-item { flex: 1; min-width: calc(25% - 16px); box-sizing: border-box; padding: 16px; background-color: #f0f0f0; border: 1px solid #ddd; text-align: center; } @media (max-width: 768px) { .buybutton-item { min-width: calc(50% - 16px); } } @media(max-width: 480px) { .buybutton-item { min-width: 100%; } }',
vButtonText: 'Vedi dettaglio',
miniCartText: 'Carrello',
addToCartText: 'Aggiungi al carrello',
buyNowText: 'compra',
itemInCartText: 'Prodotti nel carrello',
cButtonText: 'Procedi al check out',
noItemFoundText: 'Nessun prodotto nel carrello',
shippingInfoText: '',
qtyText: 'Qty',
subTotalText: 'Totale carrello',
designTemplate: 1,
staticUrl: '$staticUrl',
accessKey: '$accessKey'
});
};
bjs.parentNode.insertBefore(js, bjs);
}(document, 'script', 'buybutton-js'));</script>" id='bb-iframe' width='100%' height='500' frameBorder='0'></iframe>
<script>
setTimeout(function() {
let iframe = document.getElementById("bb-iframe");
iframe.onload = function() {
iframe.style.height = iframe.contentWindow.document.body.scrollHeight + 'px';
};
}, 5000);
</script>
<script>var _paq = window._paq = window._paq || [];_paq.push(['trackPageView']);_paq.push(['enableLinkTracking']);_paq.push(['setCookieSameSite', 'None']);(function() {var u="//matomo.38121.it/";_paq.push(['setTrackerUrl', u+'matomo.php']);_paq.push(['setSiteId', '3']);var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);})();</script>
EOT;
echo $string;
} else {
echo "Nessun record trovato con il codice '$codeToSearch'";
}
function insertVisitLog($storeId, $customerId, $code, $url, $action) {
try {
$ip = null;
if(!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$operating_system = explode(";",$user_agent)[1]."";
$userAgentParts = explode(" ", $user_agent);
$browser = end($userAgentParts);
$data = [
[
'store_id' => $storeId, 'customer_id' => $customerId, 'code' => $code, 'url' => $url,
'action' => $action, 'ip' => $ip, 'user_agent' =>$_SERVER['HTTP_USER_AGENT'], 'operating_system' =>$operating_system, 'browser' =>$browser,
]
];
$configFile = BP . '/app/etc/env.php';
$config = include $configFile;
$dbConfig = $config['db']['connection']['default'];
$connection = new \mysqli($dbConfig['host'], $dbConfig['username'], $dbConfig['password'], $dbConfig['dbname']);
if ($connection->connect_error) {
die("Error in connection db: " . $connection->connect_error);
}
$tableName = 'qrcoderedirect_visit';
$insertQuery = "INSERT INTO {$tableName} (store_id, customer_id, code, url, action, ip, user_agent, operating_system, browser) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = $connection->prepare($insertQuery);
if ($stmt === false) {
die("Error in query staetment: " . $connection->error);
}
$stmt->bind_param("iisssssss", $storeId, $customerId, $code, $url, $action, $ip, $_SERVER['HTTP_USER_AGENT'], $operating_system, $browser);
$result = $stmt->execute();
if ($result === false) {
die("Error in the query: " . $stmt->error);
}
$stmt->close();
$connection->close();
} catch (\Exception $e) {
// Gestione delle eccezioni
echo "Errore: " . $e->getMessage();
}
}