61 lines
3.3 KiB
PHP
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;
|
|
} |