Ejemplo n.º 1
0
 function showAssignSample()
 {
     $SysAdmin = new SysAdmin();
     $message = $SysAdmin->assignSample(loadvar('assignid'), loadvar('selurid'));
     $display = new Display();
     return $this->showSample($display->displayInfo($message));
 }
Ejemplo n.º 2
0
 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));
 }
Ejemplo n.º 3
0
 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));
 }
Ejemplo n.º 4
0
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&amp;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">&nbsp;</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;
}
Ejemplo n.º 5
0
 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);
 }
Ejemplo n.º 6
0
 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)));
     }
 }