Files
zurawik.pl/core/plugins/Smarty/function.insertPhotoCropper.php
2026-05-15 18:33:51 +02:00

102 lines
4.3 KiB
PHP

<?php
/**
* @author krku
*/
function smarty_function_insertPhotoCropper($params, &$smarty) {
$ret = "";
$width = $smarty->get_template_vars('photoWidth');
$height = $smarty->get_template_vars('photoHeight');
$minWidth = $smarty->get_template_vars('minPhotoWidth');
$minHeight = $smarty->get_template_vars('minPhotoHeight');
$uploadUrl = Router::GenerateUrl('uploadUrl', $smarty->get_template_vars('uploadUrl'));
$cutUrl = Router::GenerateUrl('cutUrl',$smarty->get_template_vars('cutUrl'));
if (isset($params['loadOnFly']) && $params['loadOnFly']) {
$onFly = true;
$ret = '
<iframe src="puste" id="' . $params['prefix'] . 'PhotoUploadIFrame" name="' . $params['prefix'] . 'PhotoUploadIFrame" class="photoUpload" frameborder="0" width="1" height="1"></iframe>
<div class="photoUploadForm" id="' . $params['prefix'] . 'PhotoUploadForm">
<form onsubmit="return false;" action="' . $uploadUrl . '" method="post" name="' . $params['prefix'] . 'PhotoUpload" target="' . $params['prefix'] . 'PhotoUploadIFrame" enctype="multipart/form-data" />
<input type="file" name="photo" onchange="startUpload(\'' . $params['prefix'] . 'PhotoUploadIFrame\', this.form); this.form.submit();" title="" />
<input name="onFly" value="1" type="hidden" />
<input name="cropPrefix" value="' . $params['prefix'] . '" type="hidden" />
</form>
</div>';
} else {
$obFly = false;
}
$ret .= '
<form name="photoCropper" action="' . $cutUrl . '" method="post" onsubmit="doCropPhoto(this, \'photoCropper\'); return false;">
<div class="cropperMainPhotoFrame">
<img src="' . ($onFly ? $smarty->get_template_vars('noPhotoImgBig') : '') . '" id="' . $params['prefix'] . 'CropArea" class="PhotoBig" ';
if ($height != false && $width != false) {
$ret .= 'style="height: ' . $height . 'px; width: ' . $width . 'px;"';
}
if (isset($params['preview'])) {
if (!is_string($params['preview'])) {
$preview = $params['prefix'] . "CropPreview";
} else {
$preview = $params['preview'];
}
}
$ret .= ' />
</div>
<div class="cropperInfoFrame">';
if (isset($preview)) {
$ret .= '
<h4>Podgląd</h4>
<div id="' . $preview . '" class="' . $params['prefix'] . 'PhotoSmall">
<img id="' . $params['prefix'] . 'PreviewArea" src="' . ($onFly ? $smarty->get_template_vars('noPhotoImgSmall') : '') . '"></img>
</div>
Wybierz odpowiedni kadr przesuwając i regulując krawędzie kwadratowego obszaru.';
}
if (isset($params['viewForm']) && $params['viewForm']) {
$type = "text";
} else {
$type = "hidden";
}
$desc = '';
if(isset($params['description']) && $params['description'] == true) {
$desc = '<textarea name="' . $params['prefix'] . 'Description" id="' . $params['prefix'] . 'Description" class="cropper"></textarea>';
} else {
$desc = '<input type="hidden" name="' . $params['prefix'] . 'Description" id="' . $params['prefix'] . 'Description" value="0" />';
}
$ret .= '
<input type="' . $type . '" name="' . $params['prefix'] . 'ImageCropX1" id="' . $params['prefix'] . 'ImageCropX1" />
<input type="' . $type . '" name="' . $params['prefix'] . 'ImageCropX2" id="' . $params['prefix'] . 'ImageCropX2" />
<input type="' . $type . '" name="' . $params['prefix'] . 'ImageCropY1" id="' . $params['prefix'] . 'ImageCropY1" />
<input type="' . $type . '" name="' . $params['prefix'] . 'ImageCropY2" id="' . $params['prefix'] . 'ImageCropY2" />
<input type="' . $type . '" name="' . $params['prefix'] . 'ImageCropWidth" id="' . $params['prefix'] . 'ImageCropWidth" />
<input type="' . $type . '" name="' . $params['prefix'] . 'ImageCropHeight" id="' . $params['prefix'] . 'ImageCropHeight" />
<input type="hidden" name="' . $params['prefix'] . 'ImageFileName" id="' . $params['prefix'] . 'ImageFileName" value="' . $params['photoSrc'] . '"/>
</div>
' . $desc . '
<div class="clearBoth"></div>
<div class="popoverCancel">
<input alt="deactivate" class="lbAction button buttonAnuluj" type="button" value="" />
</div>
<div class="popoverInfo" id="cropInfo"></div>
<div class="popoverOk" id="cropButton"></div>
<div class="clearBoth"></div>
<script type="text/javascript" language="javascript">'."
initializeCropper('$preview', '$params[prefix]', $minWidth, $minHeight, $params[onInit], " . ($params['loadOnFly'] ? 'true' : 'false') . ");
</script>
</form>";
return $ret;
}
?>