Преглед на файлове

Commit 14/10/2024

master
Alice Tossici преди 1 година
родител
ревизия
caa1089c58

+ 30
- 0
.vscode/ftp-sync.json Целия файл

@@ -0,0 +1,30 @@
{
"remotePath": "./",
"host": "dev-telemedicina-inmi.ttre.cloud",
"username": "moz",
"password": "d75YKzQkm9Z0",
"port": 21,
"secure": false,
"protocol": "ftp",
"uploadOnSave": true,
"passive": false,
"debug": false,
"privateKeyPath": null,
"passphrase": null,
"agent": null,
"allow": [],
"ignore": [
"\\.vscode",
"\\.git",
"\\.DS_Store"
],
"generatedFiles": {
"extensionsToInclude": [
".php",
".js",
".css"
],
"path": "/"
}
}

+ 4
- 0
App/Layouts/main.php Целия файл

@@ -132,5 +132,9 @@ box-shadow: 0px 1px 11px -2px rgba(0,0,0,0.75);}
<script type="text/javascript" src="<?php echo $this->getPublicUri(); ?>js/tooltipster.bundle.min.js"></script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=<?php echo $this->config['settings']['google-maps-key']; ?>&language=en&callback=initMap"
type="text/javascript"></script>
<script src="https://unpkg.com/cornerstone-core@2.3.0/dist/cornerstone.js"></script>
<script src="https://unpkg.com/dicom-parser@1.8.4/dist/dicomParser.js"></script>
<script src="https://unpkg.com/cornerstone-wado-image-loader@3.1.0/dist/cornerstoneWADOImageLoader.js"></script>
<script src="https://unpkg.com/cornerstone-tools@4.15.0/dist/cornerstoneTools.js"></script>
</body>
</html>

+ 9
- 0
App/Vendor/Helper.class.php Целия файл

@@ -224,6 +224,7 @@
$videos = ['mp4', 'm4p', 'm4v', 'mov', 'mpg', 'mpeg', 'mp2', 'mpeg', 'mpe', 'mpv', 'webm', 'ogv', 'ogg'];
$audio = ['mp3', 'mpa', 'aac', 'oga'];
$files = ['pdf'];
$dicom = ['dcm'];

if (!is_null($fileName)) {
$ext = strtolower($this->getExtension($fileName));
@@ -243,6 +244,10 @@
if (in_array($ext, $files)) {
return 'iframe';
}

if (in_array($ext, $dicom)) {
return 'iframe';
}
}

return 'download';
@@ -299,6 +304,10 @@
return $wrapStart.$user.'<a data-options=\'{"hash":false}\' data-fancybox="images" data-caption="'.htmlspecialchars($this->setDottedFullname($attach['name'], $attach['surname'], false)).' - '.htmlspecialchars($attachTitle).' - '.$this->getDateString($attach['created_at']).'" data-src="/downlaod/?attach_id='.$attachId.'" href="#" class="'.$linkClass.'"><span class="icon-file-picture"> </span>'.$attachTitle.'.'.$attachExt.'</a>'.$wrapEnd;
break;

case 'dicom':
return $wrapStart.$user.'<a data-options=\'{"hash":false}\' data-fancybox data-type="iframe" data-src="/dicom/?attach_id='.$attachId.'" href="#" class="'.$linkClass.'"><span class="icon-file-picture"></span> '.$attachTitle.'</a>'.$wrapEnd;
break;

case 'video':
case 'audio':
return $wrapStart.$user.'<a data-options=\'{"hash":false}\' data-fancybox data-type="iframe" data-src="/downlaod/?attach_id='.$attachId.'" href="#" class="'.$linkClass.'"><span class="icon-file-picture"></span> '.$attachTitle.'</a>'.$wrapEnd;

+ 1
- 1
App/Views/Elements/Layout/nav.part.php Целия файл

@@ -1,7 +1,7 @@
<div id="upload-warning-wrapper">
<div id="upload-warning"><img src="/images/spinner.svg" width="25" /> <?php echo _("Uploading... Don't close or refresh this window..."); ?></div>
</div>
<nav class="navbar sticky-top navbar-expand-lg navbar-dark" style="background-color: #055896;">
<nav class="navbar sticky-top navbar-expand-lg navbar-dark" style="background-color: #D30731;">
<a class="navbar-brand" href="<?php echo $this->helper->setHash('dashboard'); ?>">
<img src="/images/logo-64-w-nob.png" class="d-inline-block align-top logo-image" alt="Logo">
</a>

+ 1614
- 788
App/Views/Request/requestEdit.view.php
Файловите разлики са ограничени, защото са твърде много
Целия файл


+ 19
- 12
App/Views/User/usersEdit.view.php Целия файл

@@ -1,5 +1,8 @@


<?php echo $this->partial('Layout/nav'); ?>


<div class="container">
<div class="container-page-wrapper shodowed bordered">
<div class="container-page-container">
@@ -15,6 +18,8 @@
</div>
<hr>



<?php if (is_array($this->view->userData)): ?>
<form id="user-form-edit">
@@ -406,7 +411,7 @@

<div class="form-group col-md-5">
<label class="label-main" for="cn_applicant"><?php echo _('Country filter (Requester)'); ?></label>
<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cn_applicant chosen-select" multiple="multiple" id="cn_applicant" <?php echo ($this->view->getUserHasRoles[5] ) && $this->view->getUserHasRoles[5] ? "" : (($this->view->getMaxAddRequesters-$this->view->getTotRequesters) > 0 ? "" : "disabled"); ?> >
<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cn_applicant chosen-select" multiple="multiple" id="cn_applicant" <?php echo ($this->view->getUserHasRoles[5] ) && $this->view->getUserHasRoles[5] ? "" : (($this->view->getMaxAddRequesters-$this->view->getTotRequesters) > 0 ? "" : ""); ?> >
<?php if(is_array($this->view->clinicalCenterCountries)): ?>
<?php foreach($this->view->clinicalCenterCountries as $countryCode => $ccCountry): ?>
<optgroup label="<?php echo $ccCountry['name']; ?>">
@@ -421,11 +426,11 @@
<?php endif; ?>
</select>
</div>
<!--//--><div class="form-group col-md-2 text-center"><button type="button" data-lefthand="cn_applicant" data-righthand="cc_applicant" class="btn btn-outline-info btn-countries-hand" <?php echo ($this->view->getUserHasRoles[5] ) && $this->view->getUserHasRoles[5] ? "" : (($this->view->getMaxAddRequesters-$this->view->getTotRequesters) > 0 ? "" : "disabled"); ?> ><span class="icon-point-right"></span></button></div>
<!--//--><div class="form-group col-md-2 text-center"><button type="button" data-lefthand="cn_applicant" data-righthand="cc_applicant" class="btn btn-outline-info btn-countries-hand" <?php echo ($this->view->getUserHasRoles[5] ) && $this->view->getUserHasRoles[5] ? "" : (($this->view->getMaxAddRequesters-$this->view->getTotRequesters) > 0 ? "" : ""); ?> ><span class="icon-point-right"></span></button></div>
<div class="form-group col-md-5">
<label class="label-main" for="cc_applicant"><?php echo _('Clinical Center (Requester)'); ?></label>

<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cc_applicant chosen-select" multiple="multiple" name="data[cc_applicant][value][]" id="cc_applicant" <?php echo ($this->view->getUserHasRoles[5] ) && $this->view->getUserHasRoles[5] ? "" : (($this->view->getMaxAddRequesters-$this->view->getTotRequesters) > 0 ? "" : "disabled"); ?> >
<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cc_applicant chosen-select" multiple="multiple" name="data[cc_applicant][value][]" id="cc_applicant" <?php echo ($this->view->getUserHasRoles[5] ) && $this->view->getUserHasRoles[5] ? "" : (($this->view->getMaxAddRequesters-$this->view->getTotRequesters) > 0 ? "" : ""); ?> >
<?php if(is_array($this->view->clinicalCenters)): ?>
<?php foreach($this->view->clinicalCenters as $center): ?>

@@ -446,7 +451,7 @@

<div class="form-group col-md-5">
<label class="label-main" for="cn_referrer"><?php echo _('Country filter (Responder)'); ?></label>
<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cn_referrer chosen-select" multiple="multiple" id="cn_referrer" <?php echo ($this->view->getUserHasRoles[4] ) && $this->view->getUserHasRoles[4] ? "" : ( ($this->view->getMaxAddResponders-$this->view->getTotResponders) > 0 ? "" : "disabled"); ?> >
<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cn_referrer chosen-select" multiple="multiple" id="cn_referrer" <?php echo ($this->view->getUserHasRoles[4] ) && $this->view->getUserHasRoles[4] ? "" : ( ($this->view->getMaxAddResponders-$this->view->getTotResponders) > 0 ? "" : ""); ?> >
<?php if(is_array($this->view->clinicalCenterCountries)): ?>
<?php foreach($this->view->clinicalCenterCountries as $countryCode => $ccCountry): ?>
<optgroup label="<?php echo $ccCountry['name']; ?>">
@@ -461,11 +466,11 @@
<?php endif; ?>
</select>
</div>
<!--//--><div class="form-group col-md-2 text-center"><button type="button" data-lefthand="cn_referrer" data-righthand="cc_referrer" class="btn btn-outline-info btn-countries-hand" <?php echo ($this->view->getUserHasRoles[4] ) && $this->view->getUserHasRoles[4] ? "" : ( ($this->view->getMaxAddResponders-$this->view->getTotResponders) > 0 ? "" : "disabled"); ?> ><span class="icon-point-right"></span></button></div>
<!--//--><div class="form-group col-md-2 text-center"><button type="button" data-lefthand="cn_referrer" data-righthand="cc_referrer" class="btn btn-outline-info btn-countries-hand" <?php echo ($this->view->getUserHasRoles[4] ) && $this->view->getUserHasRoles[4] ? "" : ( ($this->view->getMaxAddResponders-$this->view->getTotResponders) > 0 ? "" : ""); ?> ><span class="icon-point-right"></span></button></div>
<div class="form-group col-md-5">
<label class="label-main" for="cc_referrer"><?php echo _('Clinical Center (Responder)'); ?></label>

<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cc_referrer chosen-select" multiple="multiple" name="data[cc_referrer][value][]" id="cc_referrer" <?php echo ($this->view->getUserHasRoles[4] ) && $this->view->getUserHasRoles[4] ? "" : ( ($this->view->getMaxAddResponders-$this->view->getTotResponders) > 0 ? "" : "disabled"); ?> >
<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cc_referrer chosen-select" multiple="multiple" name="data[cc_referrer][value][]" id="cc_referrer" <?php echo ($this->view->getUserHasRoles[4] ) && $this->view->getUserHasRoles[4] ? "" : ( ($this->view->getMaxAddResponders-$this->view->getTotResponders) > 0 ? "" : ""); ?> >
<?php if(is_array($this->view->clinicalCenters)): ?>
<?php foreach($this->view->clinicalCenters as $center): ?>
<?php
@@ -485,7 +490,7 @@

<div class="form-group col-md-5">
<label class="label-main" for="cn_moderator"><?php echo _('Country filter (Moderator)'); ?></label>
<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cn_moderator chosen-select" multiple="multiple" id="cn_moderator" <?php echo ($this->view->getUserHasRoles[3] ) && $this->view->getUserHasRoles[3] ? "" : ( ($this->view->getMaxAddModerators-$this->view->getTotModerators) > 0 ? "" : "disabled"); ?> >
<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cn_moderator chosen-select" multiple="multiple" id="cn_moderator" <?php echo ($this->view->getUserHasRoles[3] ) && $this->view->getUserHasRoles[3] ? "" : ( ($this->view->getMaxAddModerators-$this->view->getTotModerators) > 0 ? "" : ""); ?> >
<?php if(is_array($this->view->clinicalCenterCountries)): ?>
<?php foreach($this->view->clinicalCenterCountries as $countryCode => $ccCountry): ?>
<optgroup label="<?php echo $ccCountry['name']; ?>">
@@ -500,11 +505,11 @@
<?php endif; ?>
</select>
</div>
<!--//--><div class="form-group col-md-2 text-center"><button type="button" data-lefthand="cn_moderator" data-righthand="cc_moderator" class="btn btn-outline-info btn-countries-hand" <?php echo ($this->view->getUserHasRoles[3] ) && $this->view->getUserHasRoles[3] ? "" : ( ($this->view->getMaxAddModerators-$this->view->getTotModerators) > 0 ? "" : "disabled"); ?> ><span class="icon-point-right"></span></button></div>
<!--//--><div class="form-group col-md-2 text-center"><button type="button" data-lefthand="cn_moderator" data-righthand="cc_moderator" class="btn btn-outline-info btn-countries-hand" <?php echo ($this->view->getUserHasRoles[3] ) && $this->view->getUserHasRoles[3] ? "" : ( ($this->view->getMaxAddModerators-$this->view->getTotModerators) > 0 ? "" : ""); ?> ><span class="icon-point-right"></span></button></div>
<div class="form-group col-md-5">
<label class="label-main" for="cc_moderator"><?php echo _('Clinical Center (Moderator)'); ?></label>

<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cc_moderator chosen-select" multiple="multiple" name="data[cc_moderator][value][]" id="cc_moderator"<?php echo ($this->view->getUserHasRoles[3] ) && $this->view->getUserHasRoles[3] ? "" : ( ($this->view->getMaxAddModerators-$this->view->getTotModerators) > 0 ? "" : "disabled"); ?> >
<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cc_moderator chosen-select" multiple="multiple" name="data[cc_moderator][value][]" id="cc_moderator"<?php echo ($this->view->getUserHasRoles[3] ) && $this->view->getUserHasRoles[3] ? "" : ( ($this->view->getMaxAddModerators-$this->view->getTotModerators) > 0 ? "" : ""); ?> >
<?php if(is_array($this->view->clinicalCenters)): ?>
<?php foreach($this->view->clinicalCenters as $center): ?>
<?php
@@ -524,7 +529,7 @@

<div class="form-group col-md-5">
<label class="label-main" for="cn_guest"><?php echo _('Country filter (Guest)'); ?></label>
<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cn_guest chosen-select" multiple="multiple" id="cn_guest" <?php echo ($this->view->getUserHasRoles[6] ) && $this->view->getUserHasRoles[6] ? '' : (($this->view->getMaxAddGuests-$this->view->getTotGuests) > 0 ? "" : "disabled"); ?> >
<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cn_guest chosen-select" multiple="multiple" id="cn_guest" <?php echo ($this->view->getUserHasRoles[6] ) && $this->view->getUserHasRoles[6] ? '' : (($this->view->getMaxAddGuests-$this->view->getTotGuests) > 0 ? "" : ""); ?> >
<?php if(is_array($this->view->clinicalCenterCountries)): ?>
<?php foreach($this->view->clinicalCenterCountries as $countryCode => $ccCountry): ?>
<optgroup label="<?php echo $ccCountry['name']; ?>">
@@ -539,11 +544,11 @@
<?php endif; ?>
</select>
</div>
<!--//--><div class="form-group col-md-2 text-center"><button type="button" data-lefthand="cn_guest" data-righthand="cc_guest" class="btn btn-outline-info btn-countries-hand" <?php echo ($this->view->getUserHasRoles[6] ) && $this->view->getUserHasRoles[6] ? '' : (($this->view->getMaxAddGuests-$this->view->getTotGuests) > 0 ? "" : "disabled"); ?> ><span class="icon-point-right"></span></button></div>
<!--//--><div class="form-group col-md-2 text-center"><button type="button" data-lefthand="cn_guest" data-righthand="cc_guest" class="btn btn-outline-info btn-countries-hand" <?php echo ($this->view->getUserHasRoles[6] ) && $this->view->getUserHasRoles[6] ? '' : (($this->view->getMaxAddGuests-$this->view->getTotGuests) > 0 ? "" : ""); ?> ><span class="icon-point-right"></span></button></div>
<div class="form-group col-md-5">
<label class="label-main" for="cc_guest"><?php echo _('Clinical Center (Guest)'); ?></label>

<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cc_guest chosen-select" multiple="multiple" name="data[cc_guest][value][]" id="cc_guest" <?php echo ($this->view->getUserHasRoles[6] ) && $this->view->getUserHasRoles[6] ? '' : (($this->view->getMaxAddGuests-$this->view->getTotGuests) > 0 ? "" : "disabled"); ?> >
<select data-placeholder="<?php echo _('Select...'); ?>" class="form-control field-cc_guest chosen-select" multiple="multiple" name="data[cc_guest][value][]" id="cc_guest" <?php echo ($this->view->getUserHasRoles[6] ) && $this->view->getUserHasRoles[6] ? '' : (($this->view->getMaxAddGuests-$this->view->getTotGuests) > 0 ? "" : ""); ?> >
<?php if(is_array($this->view->clinicalCenters)): ?>
<?php foreach($this->view->clinicalCenters as $center): ?>
<?php
@@ -777,3 +782,5 @@
$("[data-toggle='tooltip']").tooltip();
});
</script>



+ 3
- 2
public_html/css/style.css Целия файл

@@ -1,5 +1,5 @@
html, body {height: 100%;}
body.decorated {background: url(../images/bg.svg) center top fixed; background-size: cover; font-family: 'Trebuchet MS', sans-serif;}
body.decorated {background: url(../images/subtle-prism.svg) center top fixed; background-size: cover; font-family: 'Trebuchet MS', sans-serif;}

.margin-top-5 {margin-top: 5px;}
.margin-top-10 {margin-top: 10px;}
@@ -74,6 +74,7 @@ body.decorated {background: url(../images/bg.svg) center top fixed; background-s
.triage-radio .triage-radio-wrap {display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;}

.birth-as-date {display: block;}
.navbar-dark .navbar-nav .nav-link {color:white;}
.birth-as-number {display: none;}
.birth-as-date-visible {display: block !important;}
.list-ident {padding-left: 10px;}
@@ -86,7 +87,7 @@ body.decorated {background: url(../images/bg.svg) center top fixed; background-s
.chart-canvas {width: 100%; height: 250px;}
.dashboard-pie-wrapper {background-color: #f5f5f5; padding: 10px; border-radius: 5px;}
.dream-wrapper {display: none;}
.btn-primary{border-color: #0003bf; background-color: #0003bf; color:white;}
#overlay {
position: fixed; /* Sit on top of the page content */
display: none; /* Hidden by default */

+ 101
- 0
public_html/dicom/index.php Целия файл

@@ -0,0 +1,101 @@
<?php
require_once '../../App/bootstrap.php';

$attachId = isset($_GET['attach_id']) ? $_GET['attach_id'] : 0;
if (!$user->isLogged()) {
//exit(0);
}

$attach = $db->where('id', $attachId)->getOne('requests_attachments');
$file_name = $attach['file_name'];
?>
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Dicom</title>

<style>
#dicomImage {
width: 100%;
height: 100%;
position: relative;
}
</style>
</head>
<body>

<main>
<section>
<div id="dicomImage"></div>
</section>
</main>

<script src="https://unpkg.com/cornerstone-core@2.3.0/dist/cornerstone.js"></script>
<script src="https://unpkg.com/dicom-parser@1.8.4/dist/dicomParser.js"></script>
<script src="https://unpkg.com/cornerstone-wado-image-loader@3.1.0/dist/cornerstoneWADOImageLoader.js"></script>
<script src="https://unpkg.com/cornerstone-tools@4.15.0/dist/cornerstoneTools.js"></script>

<script>
document.addEventListener('DOMContentLoaded', function () {
// Abilita il caricamento delle immagini WADO-URI
cornerstoneWADOImageLoader.external.cornerstone = cornerstone;

// Configura il caricatore WADO-URI
cornerstoneWADOImageLoader.configure({
beforeSend: function (xhr) {
// Se necessarie, puoi aggiungere intestazioni personalizzate
}
});

// Inizializza Cornerstone per l'elemento
const element = document.getElementById('dicomImage');
cornerstone.enable(element);

// Carica l'immagine DICOM da un URL
const dicomUrl = '/dicom-files/sample.dcm'; // Aggiorna questo con il tuo percorso
const imageId = 'wadouri:' + dicomUrl;

// Carica e visualizza l'immagine
cornerstone.loadImage(imageId).then(function(image) {
cornerstone.displayImage(element, image);
}).catch(function(err) {
console.error('Errore durante il caricamento dell\'immagine DICOM:', err);
});

// Abilita strumenti di Cornerstone Tools
cornerstoneTools.init();
const ZoomTool = cornerstoneTools.ZoomMouseWheelTool;
const PanTool = cornerstoneTools.PanTool;
const WwwcTool = cornerstoneTools.WwwcTool; // Window/Level (Contrasto)
const LengthTool = cornerstoneTools.LengthTool; // Misurazioni lunghezza

// Aggiungi i tool all'elemento DOM
cornerstoneTools.addTool(ZoomTool);
cornerstoneTools.addTool(PanTool);
cornerstoneTools.addTool(WwwcTool);
cornerstoneTools.addTool(LengthTool);

// Attiva i tool con pulsanti
document.getElementById('activateZoom').addEventListener('click', function() {
cornerstoneTools.setToolActive('ZoomMouseWheel', { mouseButtonMask: 1 });
});

document.getElementById('activatePan').addEventListener('click', function() {
cornerstoneTools.setToolActive('Pan', { mouseButtonMask: 1 });
});

document.getElementById('activateWwwc').addEventListener('click', function() {
cornerstoneTools.setToolActive('Wwwc', { mouseButtonMask: 1 });
});

document.getElementById('activateLength').addEventListener('click', function() {
cornerstoneTools.setToolActive('Length', { mouseButtonMask: 1 });
});
});
</script>

</body>
</html>

Loading…
Отказ
Запис