File "single-record-print-view.php"
Full Path: /home/humancap/cl.humancap.com.my/admin/inc/single-record-print-view.php
File size: 5.89 KB
MIME-type: text/x-php
Charset: utf-8
<?php
use secure\Secure;
use crud\Elements;
header("X-Robots-Tag: noindex", true);
session_start();
include_once '../conf/conf.php';
include_once ADMIN_DIR . 'secure/class/secure/Secure.php';
// $item = lowercase compact table name
$item = $match['params']['item'];
$params = array();
if ($match['name'] === 'data-print-view') {
$pk_fieldname = $match['params']['pk_fieldname'];
$pk_value = $match['params']['pk_value'];
$params[$pk_fieldname] = $pk_value;
$export_title_value = $pk_value;
} elseif ($match['name'] === 'data-print-view-2-primary-keys') {
$pk_fieldname_1 = $match['params']['pk_fieldname_1'];
$pk_fieldname_2 = $match['params']['pk_fieldname_2'];
$pk_value_1 = $match['params']['pk_value_1'];
$pk_value_2 = $match['params']['pk_value_2'];
$params[$pk_fieldname_1] = $pk_value_1;
$params[$pk_fieldname_2] = $pk_value_2;
$export_title_value = $pk_value_1 . '-' . $pk_value_2;
} else {
exit('Primary key value not found');
}
include_once ADMIN_DIR . 'class/crud/Elements.php';
$element = new Elements($item);
$table = $element->table;
// lock page
// user must have [restricted|all] READ rights on $table
Secure::lock($table, 'restricted');
$item_class = $element->item_class;
$item_class_with_namespace = $element->item_class_with_namespace;
// ElementsFilters::register($table);
// create the item object
include_once ADMIN_DIR . 'class/crud/' . $item_class . '.php';
$object = new $item_class_with_namespace($element, $params);
// twig loader & templates
require_once ROOT . 'vendor/autoload.php';
$loader = new \Twig\Loader\FilesystemLoader('templates');
$twig = new \Twig\Environment($loader, array(
'debug' => DEBUG,
));
include_once ROOT . 'vendor/twig/twig/src/Extension/CrudTwigExtension.php';
$twig->addExtension(new \Twig\Extension\CrudTwigExtension());
if (ENVIRONMENT == 'development') {
$twig->addExtension(new \Twig\Extension\DebugExtension());
$twig->enableDebug();
}
$template = $twig->load('single-record-views/' . $item . '.html');
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="noindex" />
<meta name="description" content="">
<meta name="author" content="Gilles Migliori">
<link rel="icon" href="/favicon.ico">
<!-- https://datatables.net/download/ -->
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.3/css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs5/jq-3.6.0/jszip-2.5.0/dt-1.12.1/b-2.2.3/b-colvis-2.2.3/b-html5-2.2.3/b-print-2.2.3/datatables.min.css" />
<style>
body {
margin: 0;
padding: 0 5vw;
font-size: 12pt;
}
@media only screen {
* {
box-sizing: border-box;
}
html,
body {
width: 100vw;
height: 100vh;
}
body {
margin: 0;
padding: 0 5vw;
font-size: 12px;
}
th {
text-align: left;
}
table td .dt-buttons {
display: none;
}
.dt-buttons {
padding: 2rem;
text-align: center;
}
.btn {
border-radius: 0 !important;
}
}
</style>
</head>
<body>
<?php echo $template->renderBlock('print_view', array('object' => $object, 'session' => $_SESSION)); ?>
<!-- https://datatables.net/download/ -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.3/js/bootstrap.bundle.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/pdfmake.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/vfs_fonts.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/v/bs5/jq-3.6.0/jszip-2.5.0/dt-1.12.1/b-2.2.3/b-colvis-2.2.3/b-html5-2.2.3/b-print-2.2.3/datatables.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#single-record-export-table').DataTable({
dom: 'Bfrtip',
paging: false,
ordering: false,
searching: false,
info: false,
scrollX: '90vw',
scrollY: 'calc(90vh - 110px)',
buttons: [{
extend: 'excel',
filename: '<?php echo $table . '-' . $export_title_value . '-export-' . date('Y-m-d'); ?>',
className: 'btn-success'
}, 'spacer', {
extend: 'csv',
filename: '<?php echo $table . '-' . $export_title_value . '-export-' . date('Y-m-d'); ?>',
className: 'btn-warning'
}, 'spacer', {
extend: 'pdf',
filename: '<?php echo $table . '-' . $export_title_value . '-export-' . date('Y-m-d'); ?>',
className: 'btn-danger'
}, 'spacer', {
extend: 'print',
className: 'btn-info',
exportOptions: {
stripHtml: false
}
}],
createdRow: function(row) {
$(row).find('td table')
.DataTable({
dom: 'Bfrtip',
paging: false,
ordering: false,
searching: false,
buttons: []
})
}
});
});
</script>
</body>
</html>