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 AD Member Firms table * * @author Otto Saayman */ class ADec_OfficeContacts extends BaseTableClass { public function find($officeId) { return $this->sqlf->getRow("SELECT * FROM ADec_OfficeContacts WHERE OfficeID = " . $officeId); } public function findByContactID($contactId) { return $this->sqlf->getRow("SELECT * FROM ADec_OfficeContacts WHERE ContactsID = " . $contactId); } public function findByFirmID($memberFirmId) { return $this->sqlf->getAll("SELECT * FROM ADec_OfficeContacts WHERE FirmID = " . $memberFirmId . " ORDER BY ContactsID ASC"); } public function getContactsByOfficeID($officeId) { return $this->sqlf->getAll("SELECT * FROM ADec_OfficeContacts WHERE OfficeID = " . $officeId); } public function getOrCreate($officeId, $prevOfficeId, $currentYear) { $rec = $this->getContactsByOfficeID($officeId); if (!is_array($rec) || count($rec) <= 0) { if ($prevOfficeId <= 0) { $office = $this->find($officeId); $prevOfficeId = $office['Prev_OfficeID']; } $officeContactObj = new OfficeContact($this->sqlf); $officeContacts = $officeContactObj->findByOfficeID($prevOfficeId); foreach ($officeContacts as $officeContact) { $officeContactUpdate = [ 'ContactsID' => $this->sqlf->getNewId('ADec_OfficeContacts', 'ContactsID'), 'Prev_ContactsID' => $officeContact['ContactsID'], 'Prev_OfficeID' => $prevOfficeId, 'OfficeID' => $officeId, 'DeclarationYear' => $currentYear, 'ContactPosition' => $officeContact['ContactPosition'], 'MandatedPrincipal' => $officeContact['MandatedPrincipal'], 'OfficeHead' => $officeContact['OfficeHead'], 'Principal' => $officeContact['Principal'], 'Email' => $officeContact['Email'], 'Mail' => $officeContact['Mail'], 'OfficeLiaison' => $officeContact['OfficeLiaison'], 'OfficeLiaisonB' => $officeContact['OfficeLiaisonB'], 'SchoolMail' => $officeContact['SchoolMail'], 'YPF' => $officeContact['YPF'], ]; // var_dump($officeContactUpdate); // echo '<br />'; $this->sqlf->autoExecute('ADec_OfficeContacts', $officeContactUpdate, 'INSERT', null, 'ContactsID'); $contactObj = new ADec_Contacts($this->sqlf); $contactObj->getOrCreate($officeContactUpdate['ContactsID'], $officeContactUpdate['Prev_ContactsID'], $currentYear); } // exit; $rec = $this->getContactsByOfficeID($officeId); } return $rec; } /** * Get or create on ADec Office Contact */ public function getOrCreateOne($contactId, $prevContactId, $currentYear) { $rec = $this->findByContactID($contactId); if (!is_array($rec) || count($rec) <= 0) { $aDecContactsObj = new ADec_Contacts($this->sqlf); $aDecContact = $aDecContactsObj->findByContactID($contactId); $officeContactUpdate = [ 'ContactsID' => $contactId, 'ContactPosition' => $aDecContact['ContactDesignation'], 'Email' => $aDecContact['PreferredEmail'], 'Prev_ContactsID' => $prevContactId, 'DeclarationYear' => $currentYear, ]; } } /** * Add Mandated Principal to ADec Office Contact from member database, if not there */ public function getOrCreateOneMandatedPrincipal($MemberFirmID, $currentYear) { $query = "SELECT * FROM ADec_OfficeContacts " . "WHERE OfficeID IN (SELECT OfficeID FROM ADec_tblMemberFirmOffices WHERE Prev_FirmID='$MemberFirmID') " . "AND (MandatedPrincipal = 1)"; $mandatedPrincipal = $this->sqlf->getRow($query); if (!is_array($mandatedPrincipal) || count($mandatedPrincipal) <= 0) { $officeContactObj = new OfficeContact($this->sqlf); $mandatedPrincipalDB = $officeContactObj->getMandatedPrincipal($MemberFirmID); if (is_array($mandatedPrincipalDB) && count($mandatedPrincipalDB) > 0) { $aDecOfficeObj = new ADec_tblMemberFirmOffices($this->sqlf); $aDecOffice = $aDecOfficeObj->getByPrevOfficeId($mandatedPrincipalDB['OfficeID'], $currentYear); $mandatedPrincipal = [ 'ContactsID' => $this->sqlf->getNewId('ADec_OfficeContacts', 'ContactsID'), 'MandatedPrincipal' => 1, 'ContactPosition' => $mandatedPrincipalDB['ContactDesignation'], 'Email' => $mandatedPrincipalDB['PreferredEmail'], 'Prev_ContactsID' => $mandatedPrincipalDB['ContactsID'], 'Prev_OfficeID' => $mandatedPrincipalDB['OfficeID'], 'OfficeID' => $aDecOffice['OfficeID'], 'DeclarationYear' => $currentYear, ]; // var_dump($mandatedPrincipal); // echo '<br /><br />'; // exit; $this->sqlf->autoExecute('ADec_OfficeContacts', $mandatedPrincipal, 'INSERT', null, 'ContactsID'); $mandatedPrincipal = $this->findByContactID($mandatedPrincipal['ContactsID']); $aDecContactsObj = new ADec_Contacts($this->sqlf); $aDecContact = $aDecContactsObj->findByPrevContactID($mandatedPrincipal['ContactsID'], $currentYear); // var_dump($aDecContact); // echo '<br /><br />'; // exit; if (!is_array($aDecContact) || count($aDecContact) <= 0) { $contactObj = new Contact($this->sqlf); $contact = $contactObj->find($mandatedPrincipalDB['ContactsID']); $aDecContact = $contact; $aDecContact['ContactsID'] = $mandatedPrincipal['ContactsID']; $aDecContact['Prev_ContactsID'] = $contact['ContactsID']; $aDecContact['Prev_ContactID'] = $contact['ContactsID']; $aDecContact['ContactID'] = $mandatedPrincipal['ContactsID']; $aDecContact['DeclarationYear'] = $currentYear; // Remove the elements that don't have a string key $aDecContact = array_filter($aDecContact, function($key) { return is_string($key); }, ARRAY_FILTER_USE_KEY); // var_dump($aDecContact); // echo '<br /><br />'; // exit; $this->sqlf->autoExecute('ADec_Contacts', $aDecContact, 'INSERT', null, 'ContactsID'); $aDecContact = $aDecContactsObj->findByPrevContactID($mandatedPrincipal['ContactsID'], $currentYear); } } else { // echo 'Firm has not mandated principal in member database'; } } else { // echo 'Please ignore debug info: Found mandated principal in ADec Office Contacts table'; } return $mandatedPrincipal; } }