<?php

require __DIR__ . '/vendor/autoload.php';
require __DIR__ . '/okvirovi.php';

$FOLDER_SLIKE=   __DIR__ . '/admin/slike/';

$okvir_id = $_GET['okvir'] * 1 ?? 0;
$okvir = $okvirovi[$okvir_id]; 
$slika = $_GET['slika'] ?? 'slika';
// samo propusti slova i brojeve za naziv
$slika = preg_replace('/[^A-Za-z0-9]+/', '', $slika);

$ekstenzija = $_GET['ekstenzija'] ?? 'jpg';
// samo propusti slova za ekstenziju
$ekstenzija = preg_replace('/[^A-Za-z]+/', '', $ekstenzija);
$ekstenzija = substr($ekstenzija,0, 4);

preg_match('/(\d+)[xX](\d+)cm/',$okvir,$rezultat);
$sirina = $rezultat[1] * 1;
$duzina = $rezultat[2] * 1;

$imagine = new Imagine\Gd\Imagine();
$okvir_image = $imagine->open(__DIR__ . '/okvirovi/' . $okvir);
$slika_image = $imagine->open(__DIR__ . '/admin/slike/' . $slika . ".$ekstenzija");


$okvir_size =  $okvir_image->getSize();
$unutrasnji_size = $radne_velicine[$okvir_id]; 
$slika_size = $slika_image->getSize();

$finalna_dimenzija = $okvir_size->getHeight();

// smanji sliku da moze stati u okvir

$slika_vodoravna = $slika_size->getWidth() > $slika_size->getHeight();
if ($slika_vodoravna) { 
  $okvir_image->rotate(90);
  $okvir_size =  $okvir_image->getSize();
  $unutrasnji_size = rotiraj_za_90($unutrasnji_size);
 }
  
$slika_size = $slika_size->scale( best_fit_odnos($unutrasnji_size, $slika_size) );


$slika_image = $slika_image->thumbnail($slika_size, \Imagine\Image\ImageInterface::THUMBNAIL_OUTBOUND );
$slika_size = $slika_image->getSize();

// napravi bijelo platno velicine okvira
//
$palette = $slika_image->palette(); 
$color = $palette->color('#FFF', 0);
$gotova_slika = $imagine->create($okvir_size, $color);

// zalijepi sliku na centar platna

  $pocetak_s_lijeva = ($okvir_size->getWidth() - $slika_size->getWidth()) / 2;
  $pocetak_odozgo =  ($okvir_size->getHeight() - $slika_size->getHeight()) / 2;
  $gotova_slika->paste($slika_image, new Imagine\Image\Point($pocetak_s_lijeva,$pocetak_odozgo));

// nacrtaj kod artikla
  $font = $imagine->font(__DIR__ . '/uokvirime.ttf', 15, $palette->color('#AAA', 100));
  $mark = $slika . "-" . $okvir_id;
  $size_estimate = $font->box($mark, 0 );
  $tekst_image = $imagine->create($size_estimate, $palette->color('#fff', 100));
$tekst_paleta = $tekst_image->palette();
$drawer = $tekst_image->draw();
$drawer->text( 
   $mark,
   $font
        ,
            new Imagine\Image\Point(0, 0));


// uokviri platno 
$gotova_slika->paste($okvir_image, new Imagine\Image\Point(0,0));

// dodaj mu kod
$gotova_slika->paste($tekst_image, new Imagine\Image\Point(0,0));

// ucitaj i dodaj watermark

$watermark = $imagine->open(__DIR__ . '/uokvirime.png');
$size      = $gotova_slika->getSize();
$wSize     = $watermark->getSize();

$bottomRight = new Imagine\Image\Point($size->getWidth() - $wSize->getWidth(), $size->getHeight() - $wSize->getHeight());

$gotova_slika->paste($watermark, $bottomRight);

$imeslike = "$okvir_id" . "$slika";

$etag = bin2hex(mhash(MHASH_ADLER32, $imeslike));
header("Etag: $etag"); 

$seconds_to_cache = 86400;
$ts = gmdate("D, d M Y H:i:s", time() + $seconds_to_cache) . " GMT";
header("Expires: $ts");
header("Pragma: cache");
header("Cache-Control: max-age=$seconds_to_cache");




// snimi i prikazi
//$gotova_slika->save(__DIR__ . "/cache/tip" . $okvir_id . "slika" . $slika . ".jpg");
$gotova_slika->show("jpg");
// koristiti CDN za kes

