Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.216.28
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
cesa.co.za /
php /
templates /
Delete
Unzip
Name
Size
Permission
Date
Action
bce
[ DIR ]
drwxr-sr-x
2026-05-25 12:17
cesanet
[ DIR ]
drwxr-sr-x
2023-10-06 09:57
msd
[ DIR ]
drwxr-sr-x
2024-02-14 08:44
school
[ DIR ]
drwxr-sr-x
2026-08-21 07:04
inc_footer.php
557
B
-rw-r--r--
2026-04-02 12:19
msd-questionnaire.php
24.12
KB
-rw-r--r--
2026-08-14 12:05
msd-review-popup.php
7.26
KB
-rw-r--r--
2026-04-02 12:19
Save
Rename
<?php if (session_id() == "") session_start(); // Initialize Session data require_once($_SERVER['DOCUMENT_ROOT'] . "/php/includes/ADQAudit.php"); $sTable = ""; if (isset($_GET["forprev"])) $sTable = "ADQFirms_Prev "; $adqAuditObj = new ADQAudit($sqlf); $adqAuditObj->checkAudit($ADQFirmID); $adqAuditObj->checkAuditScore($ADQFirmID); if (strlen($ADQFirmID) <= 0) { $ADQFirmID = '0'; } $sql = "SELECT " . $sTable . "ADQFirms.*, tblMemberFirms.FirmName, tblMemberFirms.DateJoined, " . "ADecQuestionnaires.*, ADQAudit.*, MAX(ADQAuditID) AS ADQAuditID, MIN(ADQAudit.ADQAuditID) AS FirstADQAuditID, " . "(SELECT COUNT(*) AS AnswerCount FROM ADQAnswers WHERE ADQFirmID=" . $ADQFirmID . ") AS AnswerCount " . "FROM " . $sTable . "ADQFirms " . "JOIN ADecQuestionnaires USING (ADQID) " . "JOIN tblMemberFirms USING (FirmID) " . "LEFT JOIN ADQAudit USING (ADQFirmID) " . "WHERE ADQFirmID=" . $ADQFirmID; // echo $sql . '<br />'; $rec = mysqli_query($conni, $sql); if ($rec) { $row = mysqli_fetch_assoc($rec); } else { $row = array(); } if (count($row) > 0 && $row["ADQFirmID"] > 0) { $MemberFirmID = $row["FirmID"]; $QID = $row["ADQID"]; $DeclarationYear = $row['AuditYear']; $iRefCols = 2; if ($QID == 3) $iRefCols = 1; $sHTMLExportFile = ADQAudit::getFileName($row['FirmName'], $row['ADQID']); $sql = "SELECT * FROM ADQAudit WHERE ADQAuditID=" . $row["ADQAuditID"] . ' ORDER BY DateUpdated DESC'; // echo $sql . '<br />'; $recAudit = mysqli_query($conni, $sql); if ($recAudit) { $rowAudit = mysqli_fetch_assoc($recAudit); } else { $rowAudit = array(); } ob_start(); ?> <style> .adecqtable tr td { border: 1px solid #333333; /* border-width:0px 1px 0px 1px; */ padding: 5px !important; } .adecqtable tr { page-break-after: auto; page-break-before: auto; page-break-inside: avoid; } </style> <?php if ($pdf <= 0) { ?> <div class="printhide"> <table align="center" border="0" cellpadding="4" cellspacing="0" width="100%"> <tr> <td align="left" valign="top" width="25%"> <p class="printhide"><a href="rptADecQuestionnaires.php?id=<?php echo $QID; ?>&auditYear=<?php echo $row['AuditYear']; ?>">Return to Report</a></p> <p class="printhide"><a href="exportpdf.php?from=<?php echo $sHTMLExportFile; ?>&to=<?php echo $sHTMLExportFile; ?>&o=landscape" target="_blank">Export to PDF</a></p> <p class="printhide">You are logged in and interacting with this review as user name: <?php echo CurrentUserName(); ?></p> </td> <td align="left" valign="top" width="25%"> <input type="button" value="Usefull Links" id="btnUsefullLinks" onclick="$('#usefulLinks').dialog('open'); return false;" /> <div id="usefulLinks" class="ChangeAnswerDialog" title="Useful Links"> <h3> Useful Links: </h3> <ul> <li> <a href="https://view.officeapps.live.com/op/view.aspx?src=https%3A%2F%2Fwww.cesa.co.za%2Fuploads%2F20201114_-_CESA_MSD_Procedure_-_Final_draft.docx&wdOrigin=BROWSELINK" target="_blank">Procedure: CESA Management System Declarations (MSDs)</a> </li> </ul> <?php if ($row['ADQID'] == 1) { //FIMS ?> <p> The declaration below consists of a number of questions used to evaluate the level of system development of a member firm’s Integrity Management System and is based on the following guidelines: </p> <ul> <li> <a href="https://www.dropbox.com/scl/fo/ig3gfuql2norkyykndfy9/h/_Integrity%20Management%20System%20%28FIMS%29%20Guidelines%201st%20Ed%20%282011%29%20Part1.pdf?rlkey=2qhukdmqa3jw0j0t3c9838qzi&dl=0" target="_blank">FIDIC Guidelines for Integrity Management in the Consulting Industry Part I – Policies and Principles 1st Edition 2011</a> </li> <li> <a href="https://www.dropbox.com/scl/fo/ig3gfuql2norkyykndfy9/h/_Guidelines%20for%20Integrity%20Management%20System%20in%20the%20Consulting%20Industry%201st%20Ed%20%282015%29%20Part%202.pdf?rlkey=2qhukdmqa3jw0j0t3c9838qzi&dl=0" target="_blank">FIDIC Guidelines for Integrity Management in the Consulting Industry Part II – FIMS Procedures 1st Edition 2015</a> </li> </ul> <?php } elseif ($row['ADQID'] == 2) { //QMS ?> <p> The declaration below consists of a number of questions used to evaluate the level of system development of a member firm’s Quality Management System and is based on the following guidelines: </p> <ul> <li> <a href="https://www.dropbox.com/scl/fo/ig3gfuql2norkyykndfy9/h/_Quality%20Management%20Guide%202nd%20Ed%20%282001%29.pdf?rlkey=2qhukdmqa3jw0j0t3c9838qzi&dl=0" target="_blank">FIDIC Guide to Quality Management in the Consulting Engineering Industry (copyright 2001)</a> </li> <li> <a href="https://www.dropbox.com/scl/fo/ig3gfuql2norkyykndfy9/h/_ISO%209001_2015%20Interpretation%20Guide%201st%20Ed%20%282017%29.pdf?rlkey=2qhukdmqa3jw0j0t3c9838qzi&dl=0" target="_blank">FIDIC Guide to the interpretation and application of the ISO9001:2015 standard for the Consulting Engineering Industry (copyright 2017)</a> </li> <li> <a href="https://www.cesa.co.za/wp-content/uploads/2022/01/20220126-QMIG-with-cover.pdf" target="_blank">Quality Management Implementation Guideline (QMIG)</a> </li> <li> <a href="https://www.cesa.co.za/wp-content/uploads/2022/01/20220126-RMIG-with-cover.pdf" target="_blank">CESA Risk Management Implementation Guideline (RMIG)</a> </li> </ul> <?php } elseif ($row['ADQID'] == 3) { //PSM ?> <p> The declaration below consists of a number of questions used to evaluate the level of system development of a member firm’s Project Sustainability Management System and is based on the following guidelines: </p> <ul> <li> <a href="https://www.dropbox.com/scl/fo/ig3gfuql2norkyykndfy9/h/_Project%20Sustainability%20Management%20-%20Applications%20Manual%20-%202nd%20edition%202013.pdf?rlkey=2qhukdmqa3jw0j0t3c9838qzi&dl=0" target="_blank">FIDIC Project Sustainability Management Applications Manual Second Edition 2013</a> </li> </ul> <?php } ?> </div> </td> </tr> </table> </div> <?php } ?> <h1><?php echo $row["QuestionnaireName"]; ?></h1> <h2><?php echo $row["FirmName"]; ?></h2> <?php if (!empty($row["DateJoined"]) && strtotime($row["DateJoined"]) > 0) { $dateJoined = new DateTime($row["DateJoined"]); ?> <h3>Date Joined: <?php echo $dateJoined->format('d-m-Y'); ?></h3> <?php } else { ?> Date Joined: Not Captured <?php } ?> <?php if (!empty($row["DateCompleted"])) { ?> <h3>MSD Submitted on <?php echo date("Y-m-d", strtotime($row["DateCompleted"])); ?><?php if (!empty($row["ScorePerc"])) { ?> , Score: <?php echo $row["ScorePerc"]; ?>% <?php } if ($rowAudit && count($rowAudit) > 0) { ?>, Verified on <?php echo date("Y-m-d", strtotime($rowAudit["DateUpdated"])); ?> <?php if (!empty($row["AuditScorePerc"])) { ?>, Verified Score: <?php echo $row["AuditScorePerc"]; ?>% <?php } else { ?>, Verified Score Not Captured <?php } } ?>, Answers: <?php echo ADQFirms::answerCountIndicator($row["AnswerCount"]); ?> </h3> <?php } $adqFirm = $row; $adqAudit = $rowAudit; $Questionnaire_ID = $QID; include($_SERVER['DOCUMENT_ROOT'] . '/php/templates/msd-review-popup.php'); if (isset($_POST["go"]) && ($_POST["go"] == "Audit")) { ?> <div class="printhide ewMessage" style="border:1px solid black"> <p><b>Review responses saved.</b></p> </div> <?php } $sql = "SELECT * FROM ADQAudit JOIN ADQFirms USING (ADQFirmID) " . "WHERE ADQFirms.ADQID=" . $QID . " " . "AND ADQFirms.FirmID=" . $MemberFirmID . " " . "AND ADQFirms.ADQFirmID = " . $ADQFirmID . " ORDER BY ADQAudit.DateUpdated DESC"; // echo $sql . '<br />'; $bLockAuditAnswers = false; $bAuditStarted = false; $recAudit = mysqli_query($conni, $sql); if ($rowAudit = mysqli_fetch_assoc($recAudit)) { $bAuditStarted = true; if (($rowAudit["Verified"] == "Y") || ($rowAudit["Verified"] == "C")) $bLockAuditAnswers = true; } mysqli_free_result($recAudit); $arrFileQs = array(71, 73, 91); $sql = "SELECT ADQuestions.ADQuestionID, ADQAnswers.* FROM ADQuestions JOIN " . $sTable . "ADQFirms USING (ADQID) " . "LEFT JOIN ADQAnswers USING (ADQFirmID, ADQuestionID) " . "WHERE ADQFirms.ADQID=" . $QID . " AND ADQFirms.FirmID=" . $MemberFirmID . " AND ADQFirms.ADQFirmID = " . $ADQFirmID; // echo $sql . '<br />'; $recExist = mysqli_query($conni, $sql); while ($rowExist = mysqli_fetch_assoc($recExist)) { if (in_array($rowExist["ADQuestionID"], $arrFileQs)) { $arrExist["Ques" . $rowExist["ADQuestionID"]] = "<a href='uploads/" . $rowExist["Answer"] . "' target='_blank'>" . $rowExist["Answer"] . "</a>"; } else { $arrExist["Ques" . $rowExist["ADQuestionID"]] = $rowExist["Answer"]; } $arrExist["Evidence" . $rowExist["ADQuestionID"]] = $rowExist["Evidence"]; $arrExist["Justification" . $rowExist["ADQuestionID"]] = $rowExist["Justification"]; $arrExist["ReviewerChangedAnswer" . $rowExist["ADQuestionID"]] = $rowExist["ReviewerChangedAnswer"]; } ?> <form method="post" action="rptADQFirm.php"> <input type="hidden" name="go" value="Audit"> <input type="hidden" id="ADQFirmID" name="ADQFirmID" value="<?php echo $ADQFirmID; ?>"> <input type="hidden" id="ADQAuditID" name="ADQAuditID" value="<?php echo $row["ADQAuditID"]; ?>"> <table border="1" cellspacing="0" cellpadding="5" width="100%" class="adecqtable"> <?php $sql = "SELECT * FROM ADQSections WHERE ADQID=" . $QID; $sql .= " ORDER BY SectionNum"; // echo $sql . '<br />'; $recS = mysqli_query($conni, $sql); $iNumSections = 0; $bHeadingsShown = false; $firstAnswer = null; while ($rowS = mysqli_fetch_assoc($recS)) { $iNumSections++; if (!$bHeadingsShown) { $bHeadingsShown = true; ?> <tr> <td><b>No.</b></td> <td><b>Ref1</b></td><?php if ($iRefCols > 1) { ?><td><b>Ref2</b></td><?php } ?><td width="40%"><b>Declaration</b></td> <td colspan="5"><b>Level of System Development</b></td> </tr> <tr> <td colspan="<?php echo 2 + $iRefCols; ?>"> <p> Please consult the '<strong>Procedure: CESA Management System Declarations (MSDs)</strong>' for guidance on how to complete the Management System Declaration. <a href="https://www.cesa.co.za/uploads/20201114_-_CESA_MSD_Procedure_-_Final_draft_CC_DL_review.pdf" target="_blank">Click here</a> to view the Procedure. </p> </td> <td><b>Answer</b></td> <td><b>If yes, have evidence for verification</b></td> <td><b>If NA, give justification</b></td> <td><b>Review</b></td> </tr> <?php } $sql = "SELECT * FROM ADQuestions WHERE ADQID=" . $QID . " AND SectionNum=" . $rowS["SectionNum"] . " ORDER BY QuestionNum"; // echo $sql . '<br />'; $recQ = mysqli_query($conni, $sql); while ($rowQ = mysqli_fetch_assoc($recQ)) { if (isset($_POST["go"]) && ($_POST["go"] == "Audit")) { $sql = "REPLACE INTO ADQAuditAnswers (ADQQuestionID, ADQFirmID, DateUpdated, UpdatedBy, Comments, Verified) VALUES (" . intval($rowQ["ADQuestionID"]) . ", " . intval($_POST["ADQFirmID"]) . ", NOW(), '" . CurrentUserName() . "', '" . addslashes($_POST["Comments_" . $rowQ["ADQuestionID"]]) . "', " . "'" . addslashes($_POST["Verified_" . $rowQ["ADQuestionID"]]) . "')"; mysqli_query($conni, $sql); if (mysqli_affected_rows($conni) <= 0 || mysqli_errno($conni) > 0) { maill( 'cesa-msds@igotafrica.com', 'Error on Audit answer insert: ' . $rowQ["ADQuestionID"], 'Error ' . print_r(mysqli_error_list($conni), true), null, [ 'from-name' => 'CESA MSDS', 'from-address' => 'info@cesa.co.za', 'reply-to-address' => 'info@cesa.co.za', ] ); } } if ($iNumSections < mysqli_num_rows($recS)) { if (is_null($firstAnswer) && $rowS["SectionNum"] == 1) { if ($arrExist["Ques" . $rowQ["ADQuestionID"]] == '') { $arrExist["Ques" . $rowQ["ADQuestionID"]] = 'No'; } $firstAnswer = $arrExist["Ques" . $rowQ["ADQuestionID"]]; // echo $rowQ["ADQuestionID"]; } // echo $rowQ["ADQuestionID"] . ': ' . $firstAnswer . ' - ' . $rowS["SectionNum"] . '<br />'; if ($rowS["SectionNum"] == 1 && ($firstAnswer == 'No' || $firstAnswer == '') && $rowQ["QuestionNum"] >= 2 && $rowQ["QuestionNum"] <= 8) { // echo 'Continnuing section num<br />'; continue; } if ($firstAnswer == 'Yes' && $rowS["SectionNum"] > 1) { // echo $rowQ["QuestionNum"] . ' Continnuing first answer is Yes<br />'; continue; } if ($rowS['SectionNum'] == 1) { $rowQ["QuestionNum"] = chr(64 + $rowQ["QuestionNum"]); } ?> <tr> <td valign="top"><?php echo $rowQ["QuestionNum"]; ?></td> <td valign="top"><?php echo nl2br($rowQ["Ref1"]); ?></td> <?php if ($iRefCols > 1) { ?> <td valign="top"><?php echo nl2br($rowQ["Ref2"]); ?></td> <?php } ?> <td valign="top"><?php echo $rowQ["Question"]; ?><br><br> <i><?php echo nl2br(str_replace("\\", "", $rowQ["Explanation"])); ?></i> </td> <td valign="top" align="center" <?php if (false && $arrExist["Ques" . $rowQ["ADQuestionID"]] == "No") echo " style='background-color:red;color:white'"; ?>> <?php echo str_replace("\\", "", $arrExist["Ques" . $rowQ["ADQuestionID"]]); ?> </td> <td valign="top"> <?php echo str_replace("\\", "", $arrExist["Evidence" . $rowQ["ADQuestionID"]]); ?> </td> <td valign="top"> <?php echo str_replace("\\", "", $arrExist["Justification" . $rowQ["ADQuestionID"]]); ?> </td> <td> <?php $arrAudit = array(); $sql = "SELECT * FROM ADQAuditAnswers WHERE ADQFirmID=" . $ADQFirmID . " AND ADQQuestionID=" . $rowQ["ADQuestionID"]; // echo $sql . '<br />'; $recAudit = mysqli_query($conni, $sql); if ($rowAudit = mysqli_fetch_assoc($recAudit)) { $arrAudit = $rowAudit; } mysqli_free_result($recAudit); if (!$bLockAuditAnswers && $pdf <= 0) { ?> <span id="autoSaveStatus_<?php echo $rowQ["ADQuestionID"]; ?>"></span> <input type="radio" name="Verified_<?php echo $rowQ["ADQuestionID"]; ?>" value="" <?php if ($bAuditStarted && (!isset($arrAudit["Verified"]) || empty($arrAudit["Verified"]))) echo " checked"; ?> class="autoSave" data-adquestionid="<?php echo $rowQ["ADQuestionID"]; ?>" data-adqauditid="<?php echo $arrAudit["ADQAuditID"]; ?>" data-field-name="Verified"> Verification in progress / pending<br> <input type="radio" name="Verified_<?php echo $rowQ["ADQuestionID"]; ?>" value="Y" <?php if (isset($arrAudit["Verified"]) && ($arrAudit["Verified"] == "Y")) echo " checked"; ?> class="autoSave" data-adquestionid="<?php echo $rowQ["ADQuestionID"]; ?>" data-adqauditid="<?php echo $arrAudit["ADQAuditID"]; ?>" data-field-name="Verified"> Verified<br> <input type="radio" name="Verified_<?php echo $rowQ["ADQuestionID"]; ?>" value="C" <?php if (isset($arrAudit["Verified"]) && ($arrAudit["Verified"] == "C")) echo " checked"; ?> class="autoSave" data-adquestionid="<?php echo $rowQ["ADQuestionID"]; ?>" data-adqauditid="<?php echo $arrAudit["ADQAuditID"]; ?>" data-field-name="Verified"> Verified With Comments<br> <input type="radio" name="Verified_<?php echo $rowQ["ADQuestionID"]; ?>" value="N" <?php if (isset($arrAudit["Verified"]) && ($arrAudit["Verified"] == "N")) echo " checked"; ?> class="autoSave" data-adquestionid="<?php echo $rowQ["ADQuestionID"]; ?>" data-adqauditid="<?php echo $arrAudit["ADQAuditID"]; ?>" data-field-name="Verified"> Not Verified - evidence could not be demonstrated<br> <textarea name="Comments_<?php echo $rowQ["ADQuestionID"]; ?>" placeholder="Comments" rows="10" cols="40" class="autoSave" data-adquestionid="<?php echo $rowQ["ADQuestionID"]; ?>" data-adqauditid="<?php echo $arrAudit["ADQAuditID"]; ?>" data-field-name="Comments"><?php echo @$arrAudit["Comments"]; ?></textarea> <?php $ADQuestionID = $rowQ["ADQuestionID"]; $answer = $arrExist["Ques" . $rowQ["ADQuestionID"]]; $evidence = $arrExist["Evidence" . $rowQ["ADQuestionID"]]; $justification = $arrExist["Justification" . $rowQ["ADQuestionID"]]; include($_SERVER['DOCUMENT_ROOT'] . '/php/templates/msd/change-answer-popup.php'); } else { echo ADQAudit::getStatus($arrAudit["Verified"]); echo "<p>" . $arrAudit["Comments"] . "</p>"; } if (isset($arrExist["ReviewerChangedAnswer" . $rowQ["ADQuestionID"]]) && $arrExist["ReviewerChangedAnswer" . $rowQ["ADQuestionID"]] > 0) { ?> <div class="alert alert-info"> Reviewer changed answer </div> <?php } ?> </td> </tr> <?php } else { ?> <tr> <td colspan="<?php echo 2 + $iRefCols; ?>" valign="top"><?php echo $rowQ["Question"]; ?><br><br> <i><?php echo nl2br($rowQ["Explanation"]); ?></i> </td> <td colspan="5" valign="top"> <?php echo $arrExist["Ques" . $rowQ["ADQuestionID"]]; ?> </td> </tr> <?php } } } ?> </table> <?php if (!$bLockAuditAnswers) { ?> <input type="submit" value="Save Review" class="printhide"> <?php } ?> </form> <?php $htmlexport = ob_get_flush(); file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/echasl23/pdfexport/" . $sHTMLExportFile . '.html', $sPDFHeaderHTML . $htmlexport . $sPDFFooterHTML); } else { /* ?> <h3>MSD not completed yet</h3> <?php * */ } ?> <script type="text/javascript" src="/js/msd.js"></script>