Fix Esporta stampe FE

This commit is contained in:
Luca 2022-03-11 19:16:10 +01:00
parent 7ee71b8fde
commit b023cd02a7
3 changed files with 70 additions and 67 deletions

View File

@ -90,11 +90,11 @@ switch (post('op')) {
} else {
$print_name = 'Fattura elettronica di acquisto';
}
$print = $dbo->SelectOne('zz_prints', 'id', ['name' => $print_name]);
$id_print = Prints::getPrints()[$print_name];
if (!empty($id_records)) {
foreach ($id_records as $id_record) {
Prints::render($print['id'], $id_record, $dir.'tmp/');
Prints::render( $id_print, $id_record, $dir.'tmp/', false, true);
}
// Creazione zip

View File

@ -138,6 +138,7 @@ class Prints
* @param int $id_record
* @param string $directory
* @param bool $return_string
* @param bool $overwrite
*/
public static function render($print, $id_record, $directory = null, $return_string = false, $overwrite = true)
{

View File

@ -25,79 +25,81 @@ $fattura = Fattura::find($id_record);
$file = $fattura->uploads()->where('name', 'Fattura Elettronica')->first();
if (empty($file)) {
echo '<div class="text-center">'.tr('Questo documento non possiede una fattura elettronica associata').'</div>';
return;
}
}else{
$link = base_path().'/'.$file->filepath;
if ($file->isFatturaElettronica()) {
if ($file->isFatturaElettronica()) {
$content = file_get_contents(base_dir().'/'.$file->filepath);
$content = file_get_contents(base_dir().'/'.$file->filepath);
// Individuazione stylesheet
$default_stylesheet = 'asso-invoice';
$name = basename($file->original_name);
$filename2 = explode('.', $name)[0];
$pieces = explode('_', $filename2);
$stylesheet = $pieces[2];
$stylesheet = base_dir().'/plugins/xml/'.$stylesheet.'.xsl';
$stylesheet = file_exists($stylesheet) ? $stylesheet : base_dir().'/plugins/xml/'.$default_stylesheet.'.xsl';
// Individuazione stylesheet
$default_stylesheet = 'asso-invoice';
// XML
$xml = new DOMDocument();
$xml->loadXML($content);
$name = basename($file->original_name);
$filename = explode('.', $name)[0];
$pieces = explode('_', $filename);
$stylesheet = $pieces[2];
// XSL
$xsl = new DOMDocument();
$xsl->load($stylesheet);
$stylesheet = base_dir().'/plugins/xml/'.$stylesheet.'.xsl';
$stylesheet = file_exists($stylesheet) ? $stylesheet : base_dir().'/plugins/xml/'.$default_stylesheet.'.xsl';
// XML
$xml = new DOMDocument();
$xml->loadXML($content);
// XSL
$xsl = new DOMDocument();
$xsl->load($stylesheet);
// XSLT
$xslt = new XSLTProcessor();
$xslt->importStylesheet($xsl);
echo $xslt->transformToXML($xml);
echo '
<style>
#notifica {
min-width: 860px !important;
}
table.tbFoglio td {
border-bottom: solid 1px #000000;
}
</style>';
exit;
} else {
echo '
<style>
body, iframe, img{
border: 0;
margin: 0;
max-width: 100%;
}
iframe{
width:100%;
height:100%;
min-height: 500px;
}
</style>';
if ($file->isImage()) {
// XSLT
$xslt = new XSLTProcessor();
$xslt->importStylesheet($xsl);
echo $xslt->transformToXML($xml);
echo '
<img src="'.$link.'"></img>';
} else {
if ($file->isPDF()) {
$src = \Prints::getPDFLink($file->filepath);
<style>
#notifica {
min-width: 860px !important;
}
table.tbFoglio td {
border-bottom: solid 1px #000000;
}
</style>';
} else {
echo '
<iframe src="'.($link ?: $src).'">
<a src="'.$link.'">'.tr('Il browser non supporta i contenuti iframe: clicca qui per raggiungere il file originale').'</a>
</iframe>';
<style>
body, iframe, img{
border: 0;
margin: 0;
max-width: 100%;
}
iframe{
width:100%;
height:100%;
min-height: 500px;
}
</style>';
$link = base_path().'/'.$file->filepath;
if ($file->isImage()) {
echo '
<img src="'.$link.'"></img>';
} else {
if ($file->isPDF()) {
$src = \Prints::getPDFLink($file->filepath);
}
echo '
<iframe src="'.($link ?: $src).'">
<a src="'.$link.'">'.tr('Il browser non supporta i contenuti iframe: clicca qui per raggiungere il file originale').'</a>
</iframe>';
}
}
}
}