function showAssignSample() { $SysAdmin = new SysAdmin(); $message = $SysAdmin->assignSample(loadvar('assignid'), loadvar('selurid')); $display = new Display(); return $this->showSample($display->displayInfo($message)); }
function showAssignSample() { $assignids = loadvar('assignid'); $selurid = loadvar('selurid'); if (sizeof($assignids) > 0 && ($selurid > 0 || $selurid == -1)) { //-1: back to sysadmin foreach ($assignids as $id) { //sysadmin mode: change on server 'only' $household = new Household($id); $household->setUrid($selurid); $household->saveChanges(); $respondents = $household->getRespondents(); foreach ($respondents as $respondent) { $respondent->setUrid($selurid); $respondent->saveChanges(); } $communication = new Communication(); $communication->assignHousehold($household, $selurid); } if (dbConfig::defaultPanel() == PANEL_HOUSEHOLD) { $message = Language::labelSupervisorHouseholdAssigned(); } else { $message = Language::labelSupervisorRespondentAssigned(); } } else { if (dbConfig::defaultPanel() == PANEL_HOUSEHOLD) { $message = Language::labelSupervisorHouseholdsNotAssigned(); } else { $message = Language::labelSupervisorRespondentsNotAssigned(); } } $display = new Display(); return $this->showUnassignedSample($display->displayInfo($message)); }
function showAssignSample() { $assignids = loadvar('assignid'); $selurid = loadvar('selurid'); if (sizeof($assignids) > 0 && $selurid > 0) { foreach ($assignids as $id) { //sysadmin mode: change on server 'only' $household = new Household($id); $household->setUrid($selurid); $household->saveChanges(); } $message = 'Households/respondents assigned.'; } else { $message = 'No households/respondents assigned. Please select some households and a supervisor to assign sample.'; } $display = new Display(); return $this->showSample($display->displayInfo($message)); }
function uploadFile($urid, $labbarcode) { $filesPresent = ''; $files = getFiles($labbarcode); if (sizeof($files) > 0) { $filesPresent .= 'The following files are present for this respondent:<br/><br/>'; $filesPresent .= '<table class="table table-striped">'; foreach ($files as $file) { $user = new User($file['urid']); $link = '<a href="' . setSessionParams(array('page' => 'nurse.respondent.download', 'id' => $file['id'])) . '" download="' . $file[name] . '" custom-filename.jpg"">' . $file[name] . '</a>'; $filesPresent .= '<tr><td>' . $link . '</td><td>' . human_filesize($file[size], 2) . '</td><td>' . $user->getName() . '</td></tr>'; } $filesPresent .= '</table>'; } else { $display = new Display(); $filesPresent = $display->displayInfo('No files uploaded for this respondent yet'); } $returnStr .= ' <!DOCTYPE HTML> <!-- /* * jQuery File Upload Plugin Demo 9.1.0 * https://github.com/blueimp/jQuery-File-Upload * * Copyright 2010, Sebastian Tschan * https://blueimp.net * * Licensed under the MIT license: * http://www.opensource.org/licenses/MIT */ --> <html lang="en"> <head> <!-- Force latest IE rendering engine or ChromeFrame if installed --> <!--[if IE]> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <![endif]--> <meta charset="utf-8"> <title>File upload</title> <meta name="description" content="File Upload widget with multiple file selection, drag&drop support, progress bars, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Bootstrap styles --> <link rel="stylesheet" href="lab/upload/css/bootstrap.min.css"> <!-- Generic page styles --> <link rel="stylesheet" href="lab/upload/css/style.css"> <!-- blueimp Gallery styles --> <link rel="stylesheet" href="lab/upload/css/blueimp-gallery.min.css"> <!-- CSS to style the file input field as button and adjust the Bootstrap progress bars --> <link rel="stylesheet" href="lab/upload/css/jquery.fileupload.css"> <link rel="stylesheet" href="lab/upload/css/jquery.fileupload-ui.css"> <!-- CSS adjustments for browsers with JavaScript disabled --> <noscript><link rel="stylesheet" href="lab/upload/css/jquery.fileupload-noscript.css"></noscript> <noscript><link rel="stylesheet" href="lab/upload/css/jquery.fileupload-ui-noscript.css"></noscript> </head> <body>'; $returnStr .= '<div class="container">'; $returnStr .= '<table><tr><td><button class="form-control" style="width:120px;" onclick="window.location.reload();">Refresh</button>'; $returnStr .= '</td><td style="width:5px"></td><td><button class="form-control" style="width:120px;" onclick="window.close();">Close</button></td></tr></table>'; $returnStr .= '<hr>'; $returnStr .= $filesPresent; $returnStr .= ' <!-- The file upload form used as target for the file upload widget --> <form id="fileupload" action="lab/upload/server/php/index.php?urid=' . $urid . '&labbarcode=' . $labbarcode . '" method="POST" enctype="multipart/form-data"> <!-- Redirect browsers with JavaScript disabled to the origin page --> <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload --> <div class="row fileupload-buttonbar"> <div class="col-lg-7"> <!-- The fileinput-button span is used to style the file input field as button --> <span class="btn btn-success fileinput-button"> <i class="glyphicon glyphicon-plus"></i> <span>Add files...</span> <input type="file" name="files[]" multiple> </span> <button type="submit" class="btn btn-primary start"> <i class="glyphicon glyphicon-upload"></i> <span>Start upload</span> </button> <button type="reset" class="btn btn-warning cancel"> <i class="glyphicon glyphicon-ban-circle"></i> <span>Cancel upload</span> </button> <!-- The global file processing state --> <span class="fileupload-process"></span> </div> <!-- The global progress state --> <div class="col-lg-5 fileupload-progress fade"> <!-- The global progress bar --> <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100"> <div class="progress-bar progress-bar-success" style="width:0%;"></div> </div> <!-- The extended global progress state --> <div class="progress-extended"> </div> </div> </div> <!-- The table listing the files available for upload/download --> <table role="presentation" class="table table-striped"><tbody class="files"></tbody></table> </form> <br> </div> <!-- The blueimp Gallery widget --> <div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls" data-filter=":even"> <div class="slides"></div> <h3 class="title"></h3> <a class="prev">‹</a> <a class="next">›</a> <a class="close">×</a> <a class="play-pause"></a> <ol class="indicator"></ol> </div> <!-- The template to display files available for upload --> <script id="template-upload" type="text/x-tmpl"> {% for (var i=0, file; file=o.files[i]; i++) { %} <tr class="template-upload fade"> <td> <span class="preview"></span> </td> <td> <p class="name">{%=file.name%}</p> <strong class="error text-danger"></strong> </td> <td> <p class="size">Processing...</p> <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="progress-bar progress-bar-success" style="width:0%;"></div></div> </td> <td> {% if (!i && !o.options.autoUpload) { %} <button class="btn btn-primary start" disabled> <i class="glyphicon glyphicon-upload"></i> <span>Start</span> </button> {% } %} {% if (!i) { %} <button class="btn btn-warning cancel"> <i class="glyphicon glyphicon-ban-circle"></i> <span>Cancel</span> </button> {% } %} </td> </tr> {% } %} </script> <!-- The template to display files available for download --> <script id="template-download" type="text/x-tmpl"> {% for (var i=0, file; file=o.files[i]; i++) { %} <tr class="template-download fade"> <td> <span class="preview"> {% if (file.thumbnailUrl) { %} <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" data-gallery><img src="{%=file.thumbnailUrl%}"></a> {% } %} </span> </td> <td> <p class="name"> {% if (file.url) { %} <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?\'data-gallery\':\'\'%}>{%=file.name%}</a> {% } else { %} <span>{%=file.name%}</span> {% } %} </p> {% if (file.error) { %} <div><span class="label label-danger">Error</span> {%=file.error%}</div> {% } %} </td> <td> <span class="size">{%=o.formatFileSize(file.size)%}</span> </td> <td> {% if (file.deleteUrl) { %} <button class="btn btn-danger delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields=\'{"withCredentials":true}\'{% } %}> <i class="glyphicon glyphicon-trash"></i> <span>Delete</span> </button> <input type="checkbox" name="delete" value="1" class="toggle"> {% } else { %} <button class="btn btn-warning cancel"> <i class="glyphicon glyphicon-ban-circle"></i> <span>Cancel</span> </button> {% } %} </td> </tr> {% } %} </script> <script src="lab/upload/js/jquery.min.js"></script> <!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included --> <script src="lab/upload/js/vendor/jquery.ui.widget.js"></script> <!-- The Templates plugin is included to render the upload/download listings --> <script src="lab/upload/js/tmpl.min.js"></script> <!-- The Load Image plugin is included for the preview images and image resizing functionality --> <script src="lab/upload/js/load-image.all.min.js"></script> <!-- The Canvas to Blob plugin is included for image resizing functionality --> <script src="lab/upload/js/canvas-to-blob.min.js"></script> <!-- Bootstrap JS is not required, but included for the responsive demo navigation --> <script src="lab/upload/js/bootstrap.min.js"></script> <!-- blueimp Gallery script --> <script src="lab/upload/js/jquery.blueimp-gallery.min.js"></script> <!-- The Iframe Transport is required for browsers without support for XHR file uploads --> <script src="lab/upload/js/jquery.iframe-transport.js"></script> <!-- The basic File Upload plugin --> <script src="lab/upload/js/jquery.fileupload.js"></script> <!-- The File Upload processing plugin --> <script src="lab/upload/js/jquery.fileupload-process.js"></script> <!-- The File Upload image preview & resize plugin --> <script src="lab/upload/js/jquery.fileupload-image.js"></script> <!-- The File Upload audio preview plugin --> <script src="lab/upload/js/jquery.fileupload-audio.js"></script> <!-- The File Upload video preview plugin --> <script src="lab/upload/js/jquery.fileupload-video.js"></script> <!-- The File Upload validation plugin --> <script src="lab/upload/js/jquery.fileupload-validate.js"></script> <!-- The File Upload user interface plugin --> <script src="lab/upload/js/jquery.fileupload-ui.js"></script> <!-- The main application script --> <script src="lab/upload/js/main.js"></script> <!-- The XDomainRequest Transport is included for cross-domain file deletion for IE 8 and IE 9 --> <!--[if (gte IE 8)&(lt IE 10)]> <script src="lab/upload/js/cors/jquery.xdr-transport.js"></script> <![endif]--> </body> </html> '; return $returnStr; }
function showRespondentFieldDBSShipToLabMark() { global $db; $query = 'update ' . Config::dbSurveyData() . '_lab set fielddbsstatus = 2, fielddbsshipmentdate="' . date('Y-m-d') . '" where fielddbsstatus = 1'; $result = $db->selectQuery($query); $display = new Display(); $message = $display->displayInfo(Language::labelNurseCardsSent()); return $this->mainPage($message); }
function showAddContactRes($primkey) { $respondent = new Respondent($primkey); $contactwith = loadvar("contactwith"); $contactperson = loadvar("contactperson"); $contactcode = loadvar("contactcode"); $contactts = loadvar("contactts"); $contactappointment = loadvar("contactappointment"); $contactremark = loadvar("contactremark"); $contacts = new Contacts(); $errorMessage = $contacts->addContact($primkey, $contactcode, $contactts, $contactwith, $contactperson, $contactremark, $contactappointment, $_SESSION['URID']); $display = new Display(); if (sizeof($errorMessage) == 0) { return $this->showInfo($primkey, $display->displayInfo(Language::messageContactAdded())); } else { return $this->showAddContact($primkey, $display->displayError(implode('<br/>', $errorMessage))); } }