Files
monpas/application/models/Phantom_model.php
T
MoniqueandClaude Opus 5.5 172fcf566c CodeIgniter 3.1.11 -> 3.4.5 (pocketarc fork) en PHP 8.3-fixes
- system/ vervangen door CodeIgniter 3.4.5 (pocketarc/codeigniter, PHP 8.2-8.5 compatibel)
- config.php, mimes.php, user_agents.php en error-views bijgewerkt naar 3.4.5
- composer.json: php-constraint "^7.4 || ^8.0" zodat composer install op 8.3 werkt
- PHP 8-fatals opgelost: count()/array-functies op FALSE/null, rekenen met lege
  strings, delen door nul, property zetten op FALSE, curly-brace string offsets,
  ongedefinieerde constanten, foute curl_setopt in Phantom_model::create_img
- dynamic properties gedeclareerd in libraries, optionele parameters voor verplichte opgelost
- vergelijkingen waar '' == 0 in PHP 8 anders uitvalt gecast naar (int)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 09:34:46 +02:00

135 lines
4.1 KiB
PHP

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Phantom_model
*
* @author Theo Weijmer
* @date juni 28, 2013 1:41 PM
*
*
*
*/
class Phantom_model extends CI_Model{
public function create_pdf($html, $file, $header=FALSE, $footer=FALSE, $margins=array(),$orientatie="PORTRAIT"){
if( ! is_array($margins) ) $margins = array();
$curl = curl_init();
$data = array('html'=>$html, 'file'=>$file, 'app'=>'MONPAS');
if( $header ) $data['header'] = $header;
if( $footer ) $data['footer'] = $footer;
if( $margins ) $data['margins'] = serialize($margins);
$data['orientation']=$orientatie;
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $_ENV['printserver'] . 'print',
// CURLOPT_URL => 'https://print.pensare-services.nl/print',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $data
));
$pdf = curl_exec($curl);
curl_close($curl);
// echo($pdf);
// die;
$date = new DateTime();
$file.= '_'.$date->format('U').'.pdf';
// CodeIgniter SPECIFIEK
$this->load->helper('download');
force_download($file, $pdf);
}
public function create_img($html, $file, $header=FALSE, $footer=FALSE, $margins=array()){
if( ! is_array($margins) ) $margins = array();
$curl = curl_init();
$data = array('html'=>$html, 'file'=>$file, 'app'=>'MONPAS');
if( $header ) $data['header'] = $header;
if( $footer ) $data['footer'] = $footer;
if( $margins ) $data['margins'] = serialize($margins);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $_ENV['printserver']. 'test/1',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $data
));
$img= curl_exec($curl);
//file_put_contents( 'test.png', $img);
curl_close($curl);
// return $img;
return base64_encode($img);
// $date = new DateTime();
// $file = '~/Sites/monpas/public/img/'.$file.'_'.$date->format('U').'.png';
// // CodeIgniter SPECIFIEK
// $this->load->helper('download');
// force_download($file, $img);
}
function create_pdf_with_save($html, $file, $header = FALSE, $footer = FALSE, $margins = array(), $orientation='portrait', $path=FALSE)
{
$this->load->helper( 'file' );
$pdf = $this->create_and_get_pdf( $html, $file, $header, $footer, $margins, $orientation );
$date = new DateTime();
if ($path ) {
$file = $file;
$filePath = $path.$file;
}
else {
$file = $file . '_' . $date->format( 'U' );
$filePath = $this->compactsoppath . $file . '.pdf';
}
write_file( $filePath, $pdf );
return $file;
}
function create_and_get_pdf($html, $file, $header, $footer, $margins, $orientation, $footerFirstpage=TRUE, $headerFirstpage=TRUE)
{
//margins [left, right, top, bottom, height header]
if ( ! is_array( $margins ) ) $margins = array();
$curl = curl_init();
$data = array('html' => $html, 'file' => $file, 'app' => 'Monpas');
if ( $header ) $data['header'] = $header;
if ( $footer ) $data['footer'] = $footer;
if ( $margins ) $data['margins'] = serialize( $margins );
$data['footerFirstpage'] = $footerFirstpage;
$data['headerFirstpage'] = $headerFirstpage;
$data['orientation'] = $orientation;
curl_setopt_array( $curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $_ENV['printserver'] . 'print',
// CURLOPT_URL => 'http://pdf.pensare-services.nl/index.php/pdfcreate',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $data
) );
$pdf = curl_exec( $curl );
curl_close( $curl );
return $pdf;
}
}