Files
monpas/application/libraries/services/ConvertToPdf.php
T
2021-07-10 16:25:16 +02:00

130 lines
2.8 KiB
PHP

<?php
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 28/01/2017
* Time: 14:00
*/
class ConvertToPdf {
private $ci;
private $dossier;
private $wordExtensions = ['.DOC', '.DOCX'];
private $pdfExtensions = ['.PDF'];
private $excelExtensions = ['.XLS', '.XSLX'];
private $word;
private $pdf;
private $excel;
private $conversionStatus;
public function __construct()
{
$this->ci = &get_instance();
$this->ci->load->library( 'services/curl/CurlWrapper' );
$this->ci->load->library( 'services/ConvertWord2PDF' );
$this->ci->load->config('conversionentities');
}
public function getConversionStatus()
{
return $this->conversionStatus;
}
public function handle( $dossier )
{
$this->setDossier( $dossier );
$this->setUploadType();
$this->convertContent();
$this->setNonConversion();
}
private function setdossier( $dossier )
{
$this->dossier = $dossier;
}
private function setUploadType()
{
$this->setWord();
$this->setPDF();
$this->setExcel();
}
private function setWord()
{
if ( in_array( strtoupper( $this->dossier->extension ), $this->wordExtensions ) )
return $this->word = TRUE;
$this->word = FALSE;
}
private function setPDF()
{
if ( in_array( strtoupper( $this->dossier->extension ), $this->pdfExtensions ) )
return $this->pdf = TRUE;
$this->pdf = FALSE;
}
private function setExcel()
{
if ( in_array( strtoupper( $this->dossier->extension ), $this->excelExtensions ) )
return $this->excel = TRUE;
$this->excel = FALSE;
}
private function convertContent()
{
$this->convertWord();
$this->convertPDF();
$this->convertExcel();
}
private function convertWord()
{
if ( ! $this->word ) return;
$this->ci->convertword2pdf->handle( $this->dossier );
if ( ! $this->ci->convertword2pdf->getConversionResult() )
return $this->conversionStatus = $this->ci->config->item('failedconversion');
$this->conversionStatus = $this->ci->config->item('wordpdfconversionsuccess');
}
private function convertPDF()
{
if ( ! $this->pdf ) return;
$this->conversionStatus = $this->ci->config->item('ispdfdocument');
}
private function convertExcel()
{
if ( ! $this->excel ) return;
$this->conversionStatus = $this->ci->config->item('nonconversion');
}
private function setNonConversion()
{
if ( $this->word ) return;
if ( $this->pdf ) return;
if ( $this->excel ) return;
$this->conversionStatus = $this->ci->config->item('nonconversion');
}
}