Files
wyczarujprezent.pl/modules/configurator/getPdf.php
2024-10-28 22:14:22 +01:00

61 lines
3.3 KiB
PHP

<?php
require(dirname(__FILE__).'/../../config/config.inc.php');
require(dirname(__FILE__).'/vendor/autoload.php');
use Dompdf\Dompdf;
$token = $_GET['token'];
$q = "SELECT * FROM `" . _DB_PREFIX_ . "config_product` where `token` = '".pSQL($token)."'";
$configproduct = Db::getInstance()->getRow($q);
$configurator_fields = array();
$q = "SELECT `id_config`, `width`, `height`, `image` FROM `" . _DB_PREFIX_ . "config` where `id_product` = ".(int)$configproduct['id_product'];
$configsIds = Db::getInstance()->executeS($q);
if($configsIds) {
foreach ($configsIds as $configId) {
$q = "SELECT * FROM `" . _DB_PREFIX_ . "config_field` where `id_config` = ".$configId['id_config'];
$fields = Db::getInstance()->executeS($q);
$tempFields = array();
foreach ($fields as $field) {
$q = "SELECT `value` FROM `" . _DB_PREFIX_ . "config_field_value` where `id_config_field` = ".$field['id_config_field']." and `id_config_product` = ".(int)$configproduct['id_config_product'];
// die($q);
$fieldValue = Db::getInstance()->getValue($q);
if($fieldValue) {
$field['text'] = $fieldValue;
$tempFields[] = $field;
}
}
$configurator_fields[] = array(
'id_config' => $configId['id_config'],
'image' => $configId['image'],
'width' => $configId['width'],
'height' => $configId['height'],
'fields' => $tempFields
);
}
$html = '
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.2/jspdf.debug.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="divContent" style="background-color: white; padding:20px 25px" class="row">';
foreach ($configurator_fields as $configurator_page) {
$imgData = base64_encode(file_get_contents('https://wyczarujprezent.pl/'.$configurator_page['image']));
$src = 'data: image/jpeg;base64,'.$imgData;
$html .= '<div class="col-md-12"><div id="configurator_main_image_container" class="configurator_main_image_container configurator_main_image_container" style="display: inline-block; position: relative;">';
$html .= '<img id="configurator_main_image" style="object-fit: cover; width: '.$configurator_page['width'].'px; height: '.$configurator_page['height'].'px;background-image: url(\''.$src.'\'); background-size: cover; background-position: center center; background-repeat: no-repeat;"/>';
foreach ($configurator_page['fields'] as $configurator_field) {
$html .= '<div class="configurator_field" style="line-height: normal;transform: rotate('.$configurator_field['rotation'].'deg); color: '.$configurator_field['color'].'; overflow: hidden; position: absolute; font-size: '.$configurator_field['fontsize'].'px; left: '.$configurator_field['x'].'%; top: '.$configurator_field['y'].'%; width: '.$configurator_field['width'].'%; height: '.$configurator_field['height'].'%;">'.$configurator_field['text'].'</div>';
}
$html .= '</div></div>';
}
$html .= '</div>';
$html .= '
<script>
var pdf = new jsPDF();
pdf.addHTML($("#divContent"), function() {
pdf.save("projekt.pdf");
});
</script>
';
echo $html;
}