//mail variables $emailTo = ''; $replyTo = ''; $ccTo = ''; $currentDate = new DateTime(); //.. $expiryDate = new DateTime(); $transid = 0; $sign = ''; $days = 0; //SCRIPT main //-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. require_once "../classes/DbObject.php"; require_once '../PHPMailer/PHPMailerAutoload.php'; $db = new DbObject(); $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); //protocols $protocolQ = "SELECT * FROM protocol"; $protocolStmt = $db->prepare($protocolQ); $protocolStmt->execute(); while ($protocolRow = $protocolStmt->FetchObject()) { $proid = $protocolRow->protocol_id; $protocolTitle = $protocolRow->protocol_title; $protocolDesc = $protocolRow->protocol_desc; $accid = $protocolRow->account_id; $discontinue = $protocolRow->discontinue; //account $accountQ = "SELECT * FROM account WHERE account_id=" . $accid; $accountStmt = $db->prepare($accountQ); $accountStmt->execute(); $accountRow = $accountStmt->FetchObject();
function CanvasReport() { $db = new DbObject(); $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); $sql = "SELECT a.*, p.* \n\t\t\tFROM account a \n\t\t\tJOIN protocol p WHERE a.account_id=p.account_id \n\t\t\tGROUP BY a.account_id"; $stmt = $db->prepare($sql); $stmt->execute(); $count = 0; //numbers the records echo ' <table style="font-size:12px" width="100%" cellpadding="0" cellspacing="0"> '; while ($row = $stmt->FetchObject()) { $count++; $accountid = $row->account_id; $title = $row->title; $othernames = $row->other_names; $surname = $row->surname; $username = $row->username; $email = $row->email_address; $accounttype = $row->account_type; echo ' <tr> <td style="border:1px solid pink" valign="top"><strong>' . $count . '.</strong><br></td> <td style="border:1px solid pink" valign="top" colspan="5"><strong>' . $title . ' ' . $othernames . ' ' . $surname . '</strong><br></td> </tr> '; $psql = "SELECT * FROM protocol \n\t\t\t\tWHERE account_id=" . $accountid; $pstmt = $db->prepare($psql); $pstmt->execute(); echo ' <tr> <td style="border:1px solid pink"></td> <td style="border:1px solid pink" colspan="5" style="border:1px solid pink"><strong>Protocols</strong><br></td> </tr> '; while ($prow = $pstmt->FetchObject()) { $proid = $prow->protocol_id; $protitle = $prow->protocol_title; $prodesc = $prow->protocol_desc; echo ' <tr> <td style="border:1px solid pink"></td> <td style="border:1px solid pink" colspan="2" valign="top"><strong>' . $protitle . '</strong><br></td> <td style="border:1px solid pink" colspan="3">' . $prodesc . '<br></td> </tr> '; $cosql = "SELECT a.*, c.account_id, c.protocol_id, p.protocol_id \n\t\t\t\t\tFROM account a JOIN co_investigator c \n\t\t\t\t\tON a.account_id=c.account_id \n\t\t\t\t\tJOIN protocol p \n\t\t\t\t\tON c.protocol_id=p.protocol_id \n\t\t\t\t\tAND p.protocol_id=" . $proid; $costmt = $db->prepare($cosql); $costmt->execute(); $cocount = 0; echo ' '; $transql = "SELECT * FROM protocol_transactions WHERE protocol_id=" . $proid; $transtmt = $db->prepare($transql); $transtmt->execute(); $trancount = 0; echo ' <tr> <td style="border:1px solid pink"></td> <td style="border:1px solid pink"></td> <td style="border:1px solid pink" width="10%"><strong>Subm. Dates</strong><br></td> <td style="border:1px solid pink"><strong>Approval Dates</strong><br></td> <td style="border:1px solid pink"><strong>Expiry Dates</strong><br></td> <td style="border:1px solid pink"><strong>Transaction Dates</strong><br></td> </td> </tr> '; while ($tranrow = $transtmt->FetchObject()) { $transid = $tranrow->transaction_id; $submissionDate = date_create($tranrow->submission_date); $approvalDate = date_create($tranrow->approval_date); $expiryDate = date_create($tranrow->expiry_date); $applicationStatus = $tranrow->application_status; $transactionDate = date_create($tranrow->transaction_date); $approved = $tranrow->approved; $trancount++; echo ' <tr> <td style="border:1px solid pink"></td> <td style="border:1px solid pink"></td> <td style="border:1px solid pink">' . date_format($submissionDate, 'jS F Y') . '<br></td> <td style="border:1px solid pink">' . date_format($approvalDate, 'jS F Y') . '<br></td> <td style="border:1px solid pink">' . date_format($expiryDate, 'jS F Y') . '<br></td> <td style="border:1px solid pink">' . date_format($transactionDate, 'jS F Y') . '<br></td> </td> </tr> '; } echo ' <tr> <td style="border:1px solid pink"></td> <td style="border:1px solid pink" colspan="2" valign="top"></td> <td colspan="3"> '; echo ' <table width="100%" style="font-size:12px" cellpadding="0" cellspacing="0"> <tr> <td style="border:1px solid pink" colspan="6"><strong>Co Investigators</strong></td> </tr> '; while ($corow = $costmt->FetchObject()) { $coid = $corow->account_id; $cotitle = $corow->title; $cosurname = $corow->surname; $coothernames = $corow->other_names; $coemail = $corow->email_address; $cousername = $corow->username; $coaccounttype = $corow->account_type; $cocount++; echo ' <tr> <td style="border:1px solid pink">' . $cocount . '<br></td> <td style="border:1px solid pink">' . $cotitle . '<br></td> <td style="border:1px solid pink">' . $coothernames . ' ' . $cosurname . '<br></td> <td style="border:1px solid pink">' . $coemail . '<br></td> <td style="border:1px solid pink">' . $cousername . '<br></td> <td style="border:1px solid pink">' . $coaccounttype . ' <br></td> </tr> '; } echo ' </table> </td> </tr> '; } echo ' <tr> <td><br></td> <tr> '; } echo ' </table> '; }
function DisplayUsers() { $db = new DbObject(); $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); $sql = "SELECT * FROM account WHERE account_type='Admin'"; $stmt = $db->prepare($sql); $stmt->execute(); $count = 0; //numbers the records echo ' <table width="600px"> <tr > <td class="field-head">No.</td> <td class="field-head">Last Name</td> <td class="field-head">Other Names</td> <td class="field-head">User Name</td> <td class="field-head">Edit</td> <td class="field-head">Password</td> </tr> '; while ($row = $stmt->FetchObject()) { $accountId = $row->account_id; $surname = $row->surname; $otherNames = $row->other_names; $username = $row->username; $usertype = $row->account_type; $emailAddress = $row->email_address; $title = $row->title; $count = $count + 1; echo ' <tr> <td class="record-field">' . $count . '<br></td> <td class="record-field">' . $surname . '<br></td> <td class="record-field">' . $otherNames . '<br></td> <td class="record-field">' . $username . '<br></td> <td class="record-field"><a href="user_edit.php?id=' . $accountId . '">Edit</a></td> <td class="record-field">'; if ($this->IsLoggedIn() && $this->getAccountId() == $accountId) { echo '<a href="../account/create_password.php?id=' . $accountId . '">Password</a>'; } else { echo '<br>'; } echo ' </td> </tr> '; } echo ' '; $db = null; }
function DisplayTransactions($proid) { $db = new DbObject(); $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); $sql = "SELECT * FROM protocol_transactions WHERE protocol_id=" . $proid; $stmt = $db->prepare($sql); $stmt->execute(); $total = $stmt->rowCount(); $counter = 0; while ($row = $stmt->FetchObject()) { $transactionId = $row->transaction_id; $submissionDate = date_create($row->submission_date); $approvalDate = date_create($row->approval_date); $expiryDate = date_create($row->expiry_date); $applicationStatus = $row->application_status; $transactionDate = date_create($row->transaction_date); $approved = $row->approved; $counter++; echo ' <tr > <td class="index-field">' . $counter . '<br></td> <td class="record-field">' . date_format($submissionDate, 'jS F Y') . '<br></td> <td class="record-field">' . date_format($approvalDate, 'jS F Y') . '<br></td> <td class="record-field">' . date_format($expiryDate, 'jS F Y') . '<br></td> <td class="record-field">' . $applicationStatus . '<br></td> <td class="record-field">' . date_format($transactionDate, 'jS F Y') . '<br></td> <td class="record-field" width="20px">'; if ($approved == 1) { echo '<img src="../images/approved.ico">'; } echo '<br></td> </tr> '; } echo ' <tr> '; if ($_SESSION['accounttype'] == "Admin") { if ($total > 0 && $approved == 0) { echo ' <td colspan="2"> <a href="../transaction/index.php?transaction=renewed&id=' . $_GET['id'] . '&proid=' . $proid . '&transid=' . $transactionId . '" class="link-no-deco"><input type="button" value="Renew Protocol"></a> </td> '; } if ($total < 1) { echo ' <td colspan="2"> <a href="../transaction/index.php?transaction=new&id=' . $_GET['id'] . '&proid=' . $proid . '" class="link-no-deco"><input type="button" value="Approve Protocol"></a> </td> '; } if ($total > 0) { echo ' <td colspan="2"> <a href="../transaction/edit_trans_index.php?id=' . $_GET['id'] . '&proid=' . $proid . '&transid=' . $transactionId . '" class="link-no-deco"><input type="button" value="Edit Transaction"></a> </td> '; } } echo ' </tr> '; }
function DisplayProtocols($accid, $proid, $page, $lower, $upper) { $db = new DbObject(); $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); $sql = "SELECT * FROM protocol WHERE account_id=" . $accid . " limit " . $lower . ", " . $upper; $stmt = $db->prepare($sql); $stmt->execute(); $total = $stmt->RowCount(); $count = $this->_offset; //numbers the records if ($accid <= 0 || $total <= 0) { echo ' <tr> <td colspan="5" align="center"><img src="../images/logo.png"></td> </tr> '; } while ($row = $stmt->FetchObject()) { $protocolId = $row->protocol_id; $protocolTitle = $row->protocol_title; $protocolDesc = $row->protocol_desc; $count = $count + 1; if (isset($_GET['page'])) { $page = $_GET['page']; } else { $page = 1; } if (isset($_GET['protocol_page'])) { $protocol_page = $_GET['protocol_page']; } else { $protocol_page = 1; } $this->setChecks($protocolId); echo ' <tr '; if ($this->IsSelected($protocolId, $proid)) { echo 'class="selected"'; } echo '> <td class="index-field" width="15px">'; if ($_SESSION['accounttype'] == "Admin") { echo '<a href="../protocol/index.php?id=' . $accid . '&proid=' . $protocolId . '" title="Edit Protocol">' . $count . '</a>'; } else { echo $count; } if (!$this->IsSelected($protocolId, $proid)) { echo ' </td> <td class="record-field" width="80%"><a href="../home/index.php?id=' . $_GET['id'] . '&proid=' . $protocolId . '&page=' . $page . '&protocol_page=' . $protocol_page . '" class="protocol-link"><strong>' . $protocolTitle . ' -</strong> <span style="color:orange">' . substr($protocolDesc, 0, 95) . '..</span></a> </td> <td '; } else { echo ' </td> <td class="record-field" width="80%"><a href="../home/index.php?id=' . $_GET['id'] . '&page=' . $page . '&protocol_page=' . $protocol_page . '" class="protocol-link"><strong>' . $protocolTitle . ' -</strong > <span style="color:orange">' . substr($protocolDesc, 0, 95) . '..</span></a> </td> <td '; } if ($this->_transactions > 0) { if ($this->IsDue()) { echo 'class="due"'; } if ($this->IsPendingRenewal()) { echo 'class="pending"'; } if ($this->IsExpired($protocolId)) { echo 'class="expired"'; } } else { echo 'class="pending"'; } echo ' class="blank-td" width="20px"><br></td> <td class="record-field" width="10%">'; if ($this->_transactions > 0) { $this->ComputePeriod(); } else { echo 'pending'; } echo '</td> <td class="record-field">'; if ($this->_transactions > 0) { if ($this->_approved == 1) { echo '<img src="../images/approved.ico" width="">'; } else { echo '<br>'; } } else { echo '<br>'; } echo '</td> <td class="select-field">'; if (!$this->IsSelected($protocolId, $proid)) { echo '<a href="../home/index.php?id=' . $_GET['id'] . '&proid=' . $protocolId . '" title="Select Protocol" width"5px" class="link-no-deco">+</a><br>'; } else { echo '<a href="../home/index.php?id=' . $_GET['id'] . '" title="Select Protocol" width"5px" class="link-no-deco">-</a><br>'; } echo ' </td> </tr>'; if ($this->IsSelected($protocolId, $proid)) { echo ' <tr> <td><br></td> <td colspan="4" class="record-field"><strong class="protocol-desc-text">' . $protocolDesc . '</strong></td> </tr>'; if ($_SESSION['accounttype'] == "Admin") { echo ' <tr> <td><br></td> <td > <a href="../protocol/index.php?id=' . $accid . '&proid=' . $protocolId . '&page=' . $page . '" title="Edit Protocol" class="protocol-button-link">Edit</a> <img src="../images/shim.gif"> <a href="../account/investigator.php?id=' . $accid . '&proid=' . $proid . '&previd=' . $accid . '&page=' . $page . '" class="protocol-button-link">Add Investigator</a> </td> </tr>'; } } } }