148 lines
4.2 KiB
PHP
148 lines
4.2 KiB
PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<title>Sitzplan</title>
|
|
<link href="{{ asset('css/jquery.seat-charts.css') }}" rel="stylesheet" type="text/css" >
|
|
<style>
|
|
.seatCharts-row{
|
|
height: 22px !important;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<div id="seat-map"></div>
|
|
</body>
|
|
<script src="{{ URL::asset('jcrop/js/jquery.min.js') }}"></script>
|
|
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
|
|
<script src="{{ URL::asset('js/jquery.seat-charts.min.js') }}"></script>
|
|
<script>
|
|
<?php
|
|
function js_str($s)
|
|
{
|
|
return '"' . addcslashes($s, "\0..\37\"\\") . '"';
|
|
}
|
|
|
|
function js_array($array)
|
|
{
|
|
$temp = array_map('js_str', $array);
|
|
return '[' . implode(',', $temp) . ']';
|
|
}?>
|
|
<?php echo 'var x = ', js_array(explode("\n", $seatMap)), ';';?>
|
|
var seatName = <?php echo json_encode($seatName); ?>;
|
|
x = x.reverse();
|
|
x.shift();
|
|
// x = x.reverse();
|
|
// console.log(x);
|
|
var row = [];
|
|
for(var i=0; i<x.length; i++){
|
|
row.push((x.length-i)+"");
|
|
}
|
|
|
|
var seats = new Array({{$maxX}});
|
|
var price = 0;
|
|
for (var i = 0; i < seats.length; i++) {
|
|
seats[i] = "";
|
|
for (var j = 0; j <{{$maxY}}; j++) {
|
|
seats[i] = seats[i] + "" + x[i][j];
|
|
}
|
|
}
|
|
|
|
|
|
var sc = $('#seat-map').seatCharts({
|
|
map: seats,
|
|
seats: {
|
|
a: {
|
|
price: {{$event->price_cat_a}},
|
|
classes: 'a-cat' //your custom CSS class
|
|
},
|
|
b: {
|
|
price: {{$event->price_cat_b}},
|
|
classes: 'b-cat' //your custom CSS class
|
|
},
|
|
c: {
|
|
price: {{$event->price_cat_c}},
|
|
classes: 'c-cat' //your custom CSS class
|
|
},
|
|
z: {
|
|
classes: 'bought-cat'
|
|
}
|
|
|
|
},
|
|
naming: {
|
|
top: false,
|
|
left: false,
|
|
rows: row,
|
|
getLabel : function (character, row, column) {
|
|
var tmpName = seatName[row][column];
|
|
var tmpSeatName = tmpName.replace(/.*?(\d+)[^\d]*$/,'$1')
|
|
return tmpSeatName;
|
|
},
|
|
},
|
|
|
|
});
|
|
|
|
|
|
var PRINTER_NAME = "Gestetner";
|
|
var HTTP_GET_VARS;
|
|
|
|
// var PRINTER_NAME = "Deskjet";
|
|
var PRINTER_FALLBACK_NAME = "Adobe";
|
|
|
|
sleep(2500).then(() => {
|
|
jsPrintSetup.setPrinter(selectPrinter());
|
|
|
|
jsPrintSetup.setOption('orientation', jsPrintSetup.kPortraitOrientation);
|
|
jsPrintSetup.setOption('marginTop', 0);
|
|
jsPrintSetup.setOption('marginBottom', 0);
|
|
jsPrintSetup.setOption('marginLeft', 0);
|
|
jsPrintSetup.setOption('marginRight', 0);
|
|
|
|
jsPrintSetup.setOption('headerStrLeft', '');
|
|
jsPrintSetup.setOption('headerStrCenter', '');
|
|
jsPrintSetup.setOption('headerStrRight', '');
|
|
jsPrintSetup.setOption('footerStrLeft', '');
|
|
jsPrintSetup.setOption('footerStrCenter', '');
|
|
jsPrintSetup.setOption('footerStrRight', '');
|
|
|
|
jsPrintSetup.setOption('printBGColors', 1);
|
|
|
|
jsPrintSetup.clearSilentPrint();
|
|
jsPrintSetup.setOption('printSilent', 1);
|
|
|
|
jsPrintSetup.printWindow(window);
|
|
|
|
window.close();
|
|
});
|
|
|
|
|
|
function sleep (time) {
|
|
return new Promise((resolve) => setTimeout(resolve, time));
|
|
}
|
|
|
|
function selectPrinter() {
|
|
var printers = jsPrintSetup.getPrintersList().split(',');
|
|
//console.log(printers);
|
|
|
|
for (var i = 0; i < printers.length; ++i) {
|
|
if (printers[i].toLowerCase().indexOf(PRINTER_NAME.toLowerCase()) != -1) {
|
|
return printers[i];
|
|
}
|
|
}
|
|
|
|
for (var i = 0; i < printers.length; ++i) {
|
|
if (printers[i].toLowerCase().indexOf(PRINTER_FALLBACK_NAME.toLowerCase()) != -1) {
|
|
return printers[i];
|
|
}
|
|
}
|
|
|
|
if (printers.length > 0) {
|
|
return printers[0];
|
|
}
|
|
|
|
return '';
|
|
}
|
|
</script>
|
|
</html>
|