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 */ /** * Member transformation reporting (cstTransformation view logic). * SQL mirrors echasl23/cstTransformationinfo.php table-level definitions. * * @author Otto Saayman */ class Transformation extends BaseTableClass { /** * Same as cstTransformation SqlFrom(). * * @return string */ protected function sqlFrom() { return "tblMemberFirms Inner Join tblMemberFirmOffices On tblMemberFirms.FirmID = tblMemberFirmOffices.FirmID Inner Join ADec_Transformation On tblMemberFirms.FirmID = ADec_Transformation.Prev_FirmID Inner Join ADec_tblMemberFirms On ADec_Transformation.FirmID = ADec_tblMemberFirms.FirmID"; } /** * SELECT list + FROM (same as cstTransformation SqlSelect()). * * @return string */ protected function sqlSelectFrom() { return "SELECT Distinct tblMemberFirms.FirmID, tblMemberFirms.FirmName, tblMemberFirms.BBBEE, tblMemberFirms.SMME, tblMemberFirms.BlackOwned, tblMemberFirms.SustainabilityPolicy, tblMemberFirms.DateJoined, ADec_Transformation.TransTopMA, ADec_Transformation.TransTopMC, ADec_Transformation.TransTopMI, ADec_Transformation.TransTopMW, ADec_Transformation.TransTopFA, ADec_Transformation.TransTopFC, ADec_Transformation.TransTopFI, ADec_Transformation.TransTopFW, ADec_Transformation.TransTopMN, ADec_Transformation.TransTopFN, ADec_Transformation.TransSeniorMA, ADec_Transformation.TransSeniorMC, ADec_Transformation.TransSeniorMI, ADec_Transformation.TransSeniorMW, ADec_Transformation.TransSeniorFA, ADec_Transformation.TransSeniorFC, ADec_Transformation.TransSeniorFI, ADec_Transformation.TransSeniorFW, ADec_Transformation.TransSeniorMN, ADec_Transformation.TransSeniorFN, ADec_Transformation.TransProfMA, ADec_Transformation.TransProfMC, ADec_Transformation.TransProfMI, ADec_Transformation.TransProfMW, ADec_Transformation.TransProfFA, ADec_Transformation.TransProfFC, ADec_Transformation.TransProfFI, ADec_Transformation.TransProfFW, ADec_Transformation.TransProfMN, ADec_Transformation.TransProfFN, ADec_Transformation.TransSkilledMA, ADec_Transformation.TransSkilledMC, ADec_Transformation.TransSkilledMI, ADec_Transformation.TransSkilledMW, ADec_Transformation.TransSkilledFA, ADec_Transformation.TransSkilledFC, ADec_Transformation.TransSkilledFI, ADec_Transformation.TransSkilledFW, ADec_Transformation.TransSkilledMN, ADec_Transformation.TransSkilledFN, ADec_Transformation.TransSemiMA, ADec_Transformation.TransSemiMC, ADec_Transformation.TransSemiMI, ADec_Transformation.TransSemiMW, ADec_Transformation.TransSemiFA, ADec_Transformation.TransSemiFC, ADec_Transformation.TransSemiFI, ADec_Transformation.TransSemiFW, ADec_Transformation.TransSemiMN, ADec_Transformation.TransSemiFN, ADec_Transformation.TransUnskillMA, ADec_Transformation.TransUnskillMC, ADec_Transformation.TransUnskillMI, ADec_Transformation.TransUnskillMW, ADec_Transformation.TransUnskillFA, ADec_Transformation.TransUnskillFC, ADec_Transformation.TransUnskillFI, ADec_Transformation.TransUnskillFW, ADec_Transformation.TransUnskillMN, ADec_Transformation.TransUnskillFN, ADec_Transformation.TransTempMA, ADec_Transformation.TransTempMC, ADec_Transformation.TransTempMI, ADec_Transformation.TransTempMW, ADec_Transformation.TransTempFA, ADec_Transformation.TransTempFC, ADec_Transformation.TransTempFI, ADec_Transformation.TransTempFW, ADec_Transformation.TransTempMN, ADec_Transformation.TransTempFN, Sum(tblMemberFirmOffices.ProfessionalStaff) As SumOfProfessionalStaff, Sum(tblMemberFirmOffices.NonProfTechStaff) As SumOfNonProfTechStaff, Sum(tblMemberFirmOffices.OtherStaff) As SumOfOtherStaff, Sum(tblMemberFirmOffices.ProfessionalStaff) + Sum(tblMemberFirmOffices.NonProfTechStaff) + Sum(tblMemberFirmOffices.OtherStaff) As TotalStaff, tblMemberFirms.DirectoryLastUpdate As MF_DirectoryLastUpdate, tblMemberFirms.ThreeYearsAverageTurnover, tblMemberFirms.BlackWomenOwned, ADec_tblMemberFirms.DeclarationReceived, Year(ADec_tblMemberFirms.DeclarationReceived) As DeclarationReceivedYear FROM " . $this->sqlFrom(); } /** * Same as cstTransformation SqlGroupBy(). * * @return string */ protected function sqlGroupBy() { return "tblMemberFirms.FirmID, tblMemberFirms.FirmName, tblMemberFirms.BBBEE, tblMemberFirms.SMME, tblMemberFirms.BlackOwned, tblMemberFirms.SustainabilityPolicy, tblMemberFirms.DateJoined, ADec_Transformation.TransTopMA, ADec_Transformation.TransTopMC, ADec_Transformation.TransTopMI, ADec_Transformation.TransTopMW, ADec_Transformation.TransTopFA, ADec_Transformation.TransTopFC, ADec_Transformation.TransTopFI, ADec_Transformation.TransTopFW, ADec_Transformation.TransTopMN, ADec_Transformation.TransTopFN, ADec_Transformation.TransSeniorMA, ADec_Transformation.TransSeniorMC, ADec_Transformation.TransSeniorMI, ADec_Transformation.TransSeniorMW, ADec_Transformation.TransSeniorFA, ADec_Transformation.TransSeniorFC, ADec_Transformation.TransSeniorFI, ADec_Transformation.TransSeniorFW, ADec_Transformation.TransSeniorMN, ADec_Transformation.TransSeniorFN, ADec_Transformation.TransProfMA, ADec_Transformation.TransProfMC, ADec_Transformation.TransProfMI, ADec_Transformation.TransProfMW, ADec_Transformation.TransProfFA, ADec_Transformation.TransProfFC, ADec_Transformation.TransProfFI, ADec_Transformation.TransProfFW, ADec_Transformation.TransProfMN, ADec_Transformation.TransProfFN, ADec_Transformation.TransSkilledMA, ADec_Transformation.TransSkilledMC, ADec_Transformation.TransSkilledMI, ADec_Transformation.TransSkilledMW, ADec_Transformation.TransSkilledFA, ADec_Transformation.TransSkilledFC, ADec_Transformation.TransSkilledFI, ADec_Transformation.TransSkilledFW, ADec_Transformation.TransSkilledMN, ADec_Transformation.TransSkilledFN, ADec_Transformation.TransSemiMA, ADec_Transformation.TransSemiMC, ADec_Transformation.TransSemiMI, ADec_Transformation.TransSemiMW, ADec_Transformation.TransSemiFA, ADec_Transformation.TransSemiFC, ADec_Transformation.TransSemiFI, ADec_Transformation.TransSemiFW, ADec_Transformation.TransSemiMN, ADec_Transformation.TransSemiFN, ADec_Transformation.TransUnskillMA, ADec_Transformation.TransUnskillMC, ADec_Transformation.TransUnskillMI, ADec_Transformation.TransUnskillMW, ADec_Transformation.TransUnskillFA, ADec_Transformation.TransUnskillFC, ADec_Transformation.TransUnskillFI, ADec_Transformation.TransUnskillFW, ADec_Transformation.TransUnskillMN, ADec_Transformation.TransUnskillFN, ADec_Transformation.TransTempMA, ADec_Transformation.TransTempMC, ADec_Transformation.TransTempMI, ADec_Transformation.TransTempMW, ADec_Transformation.TransTempFA, ADec_Transformation.TransTempFC, ADec_Transformation.TransTempFI, ADec_Transformation.TransTempFW, ADec_Transformation.TransTempMN, ADec_Transformation.TransTempFN, tblMemberFirms.DirectoryLastUpdate, tblMemberFirms.BlackWomenOwned, ADec_tblMemberFirms.DeclarationReceived"; } /** * Base WHERE (member firms only), same as cstTransformation SqlWhere() without TableFilter. * * @return string */ protected function sqlDefaultWhere() { return "(tblMemberFirms.MemberStatus) = 'member'"; } /** * Full list query with optional extra AND fragment and ORDER BY. * * @param string $extraWhere SQL fragment (without leading AND), empty for none * @param string $orderBy * @return string */ public function buildListSql($extraWhere = '', $orderBy = 'tblMemberFirms.FirmName') { $sql = $this->sqlSelectFrom() . " WHERE " . $this->sqlDefaultWhere(); if (is_string($extraWhere) && trim($extraWhere) !== '') { $sql .= " AND (" . $extraWhere . ")"; } $sql .= " GROUP BY " . $this->sqlGroupBy(); if (is_string($orderBy) && trim($orderBy) !== '') { $sql .= " ORDER BY " . $orderBy; } return $sql; } /** * One transformation row for a member firm (tblMemberFirms.FirmID). * * @param int $firmId * @return array */ public function findByFirmId($firmId) { $firmId = intval($firmId); if ($firmId <= 0) { return array(); } $sql = $this->buildListSql('tblMemberFirms.FirmID = ' . $firmId, '') . " LIMIT 1"; $row = $this->sqlf->getRow($sql); return is_array($row) ? $row : array(); } /** * All member transformation rows, optional filter (SQL AND fragment). * * @param string $extraWhere * @param string $orderBy * @return array */ public function getAll($extraWhere = '', $orderBy = 'tblMemberFirms.FirmName') { $rows = $this->sqlf->getAll($this->buildListSql($extraWhere, $orderBy)); return is_array($rows) ? $rows : array(); } } function cstTransformation_Page_Load(&$cstobj) { $cstobj->TableCustomInnerHtml = '<thead><tr><td colspan=11> </td> <td style="background-color:#fbc3f8; font-weight:bold; text-align:center" colspan=10>Top management</td> <td style="background-color:#c3e3fb; font-weight:bold; align:center" colspan=10>Senior management</td> <td style="background-color:#c3fbdd; font-weight:bold; align:center" colspan=10>Professionally qualified and experienced specialists and mid-management</td> <td style="background-color:#dbfbc3; font-weight:bold; align:center" colspan=10>Skilled technical and academically qualified workers, junior management, supervisors, foremen, and superintendents</td> <td style="background-color:#fbf6c3; font-weight:bold; align:center" colspan=10>Semi-skilled and discretionary decision making</td> <td style="background-color:#fbd4c3; font-weight:bold; align:center" colspan=10>Unskilled and defined decision making</td> <td style="background-color:#fbc3d1; font-weight:bold; align:center" colspan=10>Temporary employees</td></tr></thead>'; $yearSelect = '<select id="yearSelect">'; for ($yCnt = date('Y'); $yCnt >= 2017; $yCnt--) { if ($yCnt == date('Y')) { $yearSelect .= '<option value="0">' . $yCnt . '</option>'; } $yearSelect .= '<option value="' . $yCnt . '">' . $yCnt . ' AD</option>'; } $yearSelect .= '</select>'; $_SESSION[EW_SESSION_MESSAGE] .= "<p><b>Download the detailed graphs and statistics as an Excel spreadsheet:</b></p> <ol><li> <a href='ExportTransformationData.php?r=" . rand() . "' target='_blank' onclick=\"window.location = 'ExportTransformationData.php?r=" . rand() . "&year=' + $('#yearSelect').val(); return false;\">Download the data spreadsheet here</a> " . $yearSelect . " </li> <li><a href='uploads/CESA_Transformation_Stats.xlsx' target='_blank'>Download the master spreadsheet here</a></li> <li>Copy the contents of the data spreadsheet into the last worksheet in the master spreadsheet, named \"Data\"</li> </ol>"; if (($cstobj->Export == "" || $cstobj->Export == "email") && (!isset($_GET['x_DeclarationReceivedYear']) || $_GET['x_DeclarationReceivedYear'] === '')) { $_GET['z_DeclarationReceivedYear'] = '='; $_GET['x_DeclarationReceivedYear'] = date('Y'); } }