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 /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /** * Description of MemberFirm * * @author otto */ class MemberFirm extends BaseTableClass { public function findAll() { return $this->sqlf->getAll("SELECT * FROM tblMemberFirms"); } public function find($memberFirmId) { return $this->sqlf->getRow("SELECT * FROM tblMemberFirms WHERE FirmID = " . $memberFirmId); } public function updateAll() { $memberFirms = $this->findAll(); foreach ($memberFirms as $memberFirm) { $updateTotalStaffSQL = "UPDATE `tblMemberFirms` " . "SET `TotalStaff` = (SELECT (SUM(ProfessionalStaff) + SUM(NonProfTechStaff) + SUM(OtherStaff)) AS TotalStaff " . "FROM tblMemberFirmOffices WHERE tblMemberFirmOffices.FirmID = tblMemberFirms.FirmID)" . "WHERE tblMemberFirms.FirmID = " . $memberFirm['FirmID']; $this->sqlf->execute($updateTotalStaffSQL); } } public function upsert($memberFirm) { $where = ''; $action = 'INSERT'; if (isset($memberFirm['FirmID']) && $memberFirm['FirmID'] > 0) { $where = 'FirmID = ' . $memberFirm['FirmID']; $action = 'UPDATE'; } return $this->sqlf->autoExecute('tblMemberFirms', $memberFirm, $action, $where, 'FirmID'); } public function getExportData() { $sql = "SELECT tblMemberFirms.FirmID, tblMemberFirms.FirmName, tblMemberFirms.SMME, tblMemberFirms.BlackOwned, tblMemberFirms.BlackWomenOwned, GROUP_CONCAT(tblMemberFirmOffices.Country, '; ') AS Country, GROUP_CONCAT(tblMemberFirmOffices.Province, '; ') AS Province, SUM(tblMemberFirmOffices.ProfessionalStaff) AS ProfessionalStaffTotal, SUM(tblMemberFirmOffices.NonProfTechStaff) AS NonProfTechStaffTotal, SUM(tblMemberFirmOffices.OtherStaff) AS OtherStaffTotal, tblMemberFirms.TotalStaff, CASE WHEN tblMemberFirms.TotalStaffShort IS NOT NULL THEN TotalStaffShort WHEN tblMemberFirms.TotalStaff < 5 THEN '<5' WHEN tblMemberFirms.TotalStaff < 10 THEN '≥5<10' WHEN tblMemberFirms.TotalStaff < 25 THEN '≥10<25' WHEN tblMemberFirms.TotalStaff < 50 THEN '≥25<50' WHEN tblMemberFirms.TotalStaff < 100 THEN '≥50<100' WHEN tblMemberFirms.TotalStaff < 200 THEN '≥100<200' WHEN tblMemberFirms.TotalStaff < 300 THEN '≥200<300' ELSE '≥300' END AS TotalStaffShort, tblMemberFirms.FormOfIncorporation, tblMemberFirms.DateJoined, tblMemberFirms.DateTerminated, tblMemberFirms.DirectoryLastUpdate, tblMemberFirms.EntryType, tblMemberFirms.PageRef, tblMemberFirms.LogoReceived, tblMemberFirms.Photographs, tblMemberFirms.RunOns, tblMemberFirms.OrderNumber, tblMemberFirms.InvoiceNumber, tblMemberFirms.PaymentReceived, tblMemberFirms.DeclarationReceived, tblMemberFirms.MemberStatus, tblMemberFirms.Acoustics, tblMemberFirms.Agricultural, tblMemberFirms.BuildingServices, tblMemberFirms.Chemical, tblMemberFirms.Civil, tblMemberFirms.Development, tblMemberFirms.Electrical, tblMemberFirms.Electronic, tblMemberFirms.Environmental, tblMemberFirms.Geotechnical, tblMemberFirms.Industrial, tblMemberFirms.Mechanical, tblMemberFirms.Marine, tblMemberFirms.Mining, tblMemberFirms.Process, tblMemberFirms.Structural, tblMemberFirms.Transportation, tblMemberFirms.Architecture, tblMemberFirms.RuralDevelopment, tblMemberFirms.ProjectManagement, tblMemberFirms.QuantitySurveying, tblMemberFirms.TownPlanning, tblMemberFirms.Multidisciplinary, tblMemberFirms.DisputeResolution, tblMemberFirms.ExpertWitness, tblMemberFirms.InformationSystems, tblMemberFirms.FacilitiesManagement, tblMemberFirms.GIS, tblMemberFirms.PIUnderwriter, tblMemberFirms.LevelOfCover, CASE WHEN tblMemberFirms.LevelOfCoverShort IS NOT NULL THEN LevelOfCoverShort WHEN tblMemberFirms.LevelOfCover < 2000000 THEN '<R2m' WHEN tblMemberFirms.LevelOfCover < 5000000 THEN '≥R2m<R5m' WHEN tblMemberFirms.LevelOfCover < 10000000 THEN '≥R5m<R10m' WHEN tblMemberFirms.LevelOfCover < 25000000 THEN '≥R10m<R25m' WHEN tblMemberFirms.LevelOfCover < 50000000 THEN '≥R25m<R50m' WHEN tblMemberFirms.LevelOfCover < 100000000 THEN '≥R50m<R100m' WHEN tblMemberFirms.LevelOfCover < 200000000 THEN '≥R100m<R200m' ELSE '≥R200m' END AS LevelOfCoverShort, tblMemberFirms.`Quality Management`, tblMemberFirms.`Date of last peer review`, tblMemberFirms.URL, tblMemberFirms.DocumentAccess, tblMemberFirms.QualityMxSystem, tblMemberFirms.ExportDivision, tblMemberFirms.Active, tblMemberFirms.School, tblMemberFirms.LNumber, tblMemberFirms.ExistingOrExperience, tblMemberFirms.SeekingToExportTo, tblMemberFirms.QMSPlan, tblMemberFirms.QMSDocs, tblMemberFirms.QMSISOComply, UPPER(tblMemberFirms.QMSISOCert) AS QMSISOCert, tblMemberFirms.QMSISOCertDate, tblMemberFirms.QMSOffices, tblMemberFirms.QMSConsult, tblMemberFirms.QMSCertBody, tblMemberFirms.AcousticsName, tblMemberFirms.AgriculturalName, tblMemberFirms.BuildingServicesName, tblMemberFirms.ChemicalName, tblMemberFirms.CivilName, tblMemberFirms.DevelopmentName, tblMemberFirms.ElectricalName, tblMemberFirms.ElectronicName, tblMemberFirms.EnvironmentalName, tblMemberFirms.GeotechnicalName, tblMemberFirms.IndustrialName, tblMemberFirms.MechanicalName, tblMemberFirms.MarineName, tblMemberFirms.MiningName, tblMemberFirms.ProcessName, tblMemberFirms.StructuralName, tblMemberFirms.TransportationName, tblMemberFirms.ArchitectureName, tblMemberFirms.RuralDevelopmentName, tblMemberFirms.ProjectManagementName, tblMemberFirms.QuantitySurveyingName, tblMemberFirms.TownPlanningName, tblMemberFirms.MultidisciplinaryName, tblMemberFirms.DisputeResolutionName, tblMemberFirms.ExpertWitnessName, tblMemberFirms.InformationSystemsName, tblMemberFirms.FacilitiesManagementName, tblMemberFirms.GISName, tblMemberFirms.MainFirmInvoice, tblMemberFirms.GroupFirmsInvoice, tblMemberFirms.QMSImplemented, tblMemberFirms.QMSImplFully, tblMemberFirms.QMSImplPart, tblMemberFirms.QMSAssess, tblMemberFirms.QMSUseConsult, tblMemberFirms.QMSIntend, tblMemberFirms.BEPMEDS, tblMemberFirms.WebHide, tblMemberFirms.MentoringProg, tblMemberFirms.CandidateProg, tblMemberFirms.SubscriptionsContact, tblMemberFirms.SubscriptionsEmail, tblMemberFirms.HRTrainingContact, tblMemberFirms.HRTrainingEmail, tblMemberFirms.MarketingContact, tblMemberFirms.MarketingEmail, tblMemberFirms.CaUSigned, tblMemberFirms.BBBEE, tblMemberFirms.YPFContact, tblMemberFirms.YPFEmail, tblMemberFirms.SMME, tblMemberFirms.BlackOwned, CASE WHEN tblMemberFirms.BlackOwned = 'Equal to 100' THEN '100%' WHEN tblMemberFirms.BlackOwned = 'Less than 30' THEN '<30%' WHEN tblMemberFirms.BlackOwned = 'Less than 10' THEN '<10%' WHEN tblMemberFirms.BlackOwned = 'Equal to or greater than 51 and less than 100' THEN '≥51%<100%' WHEN tblMemberFirms.BlackOwned = 'Equal to or greater than 30 and less than 51' THEN '≥30%<51%' WHEN tblMemberFirms.BlackOwned = 'Equal to or greater than 10 and less than 25' THEN '≥10%<25%' WHEN tblMemberFirms.BlackOwned = 'Equal to or greater than 25 and less than 51' THEN '≥25%<51%' ELSE tblMemberFirms.BlackOwned END AS BlackOwnedShort, tblMemberFirms.BBBEELevel, tblMemberFirms.SustainabilityPolicy, tblMemberFirms.SustainabilityIssues, tblMemberFirms.SustainabilityProcess, tblMemberFirms.SustainabilityChampion, tblMemberFirms.SustainabilityChampName, tblMemberFirms.Comments, tblMemberFirms.SustainabilityFramework, tblMemberFirms.SustainabilityDiscussed, tblMemberFirms.SustainabilityIndicator1, tblMemberFirms.SustainabilityIndicator2, tblMemberFirms.SustainabilityIndicator3, tblMemberFirms.SustainabilityIndicator4, tblMemberFirms.SustainabilityIndicator5, tblMemberFirms.QMIG, tblMemberFirms.QMSChampion, tblMemberFirms.QMSChampName, tblMemberFirms.QMSChampEmail, tblMemberFirms.SustainabilityChampEmail, tblMemberFirms.ProcurementContact, tblMemberFirms.ProcurementEmail, tblMemberFirms.SubscriptionsTel, tblMemberFirms.HRTrainingTel, tblMemberFirms.MarketingTel, tblMemberFirms.ProcurementTel, tblMemberFirms.YPFContactTel, tblMemberFirms.BlackWomenOwned, CASE WHEN tblMemberFirms.BlackWomenOwned = 'Equal to 100' THEN '100%' WHEN tblMemberFirms.BlackWomenOwned = 'Less than 30' THEN '<30%' WHEN tblMemberFirms.BlackWomenOwned = 'Less than 10' THEN '<10%' WHEN tblMemberFirms.BlackWomenOwned = 'Equal to or greater than 51 and less than 100' THEN '≥51%<100%' WHEN tblMemberFirms.BlackWomenOwned = 'Equal to or greater than 30 and less than 51' THEN '≥30%<51%' WHEN tblMemberFirms.BlackWomenOwned = 'Equal to or greater than 10 and less than 25' THEN '≥10%<25%' WHEN tblMemberFirms.BlackWomenOwned = 'Equal to or greater than 25 and less than 51' THEN '≥25%<51%' ELSE tblMemberFirms.BlackWomenOwned END AS BlackWomenOwnedShort, tblMemberFirms.SABTACO, tblMemberFirms.BBCBE, tblMemberFirms.GBCSA, tblMemberFirms.GoToPersonName, tblMemberFirms.GoToPersonTel, tblMemberFirms.GoToPersonEmail, GROUP_CONCAT(tblMemberFirmOffices.OfficeName SEPARATOR '; ') AS OfficeName, GROUP_CONCAT(tblMemberFirmOffices.TownCity SEPARATOR '; ') AS TownCity, GROUP_CONCAT(tblMemberFirmOffices.Country SEPARATOR '; ') AS Country, GROUP_CONCAT(tblMemberFirmOffices.Suburb SEPARATOR '; ') AS Suburb, GROUP_CONCAT(tblMemberFirmOffices.Province SEPARATOR '; ') AS Province, SUM(tblMemberFirmOffices.ProfessionalStaff) AS Branches_ProfessionalStaff, SUM(tblMemberFirmOffices.NonProfTechStaff) AS Branches_NonProfTechStaff, SUM(tblMemberFirmOffices.OtherStaff) AS Branches_OtherStaff FROM tblMemberFirms JOIN tblMemberFirmOffices USING (FirmID) WHERE tblMemberFirms.MemberStatus = 'Member' AND tblMemberFirms.FirmID <> 1312 GROUP BY tblMemberFirms.FirmID, tblMemberFirms.FirmName, tblMemberFirms.SMME, tblMemberFirms.BlackOwned, tblMemberFirms.BlackOwned, tblMemberFirms.BlackWomenOwned, tblMemberFirms.FormOfIncorporation, tblMemberFirms.DateJoined, tblMemberFirms.DateTerminated, tblMemberFirms.DirectoryLastUpdate, tblMemberFirms.EntryType, tblMemberFirms.PageRef, tblMemberFirms.LogoReceived, tblMemberFirms.Photographs, tblMemberFirms.RunOns, tblMemberFirms.OrderNumber, tblMemberFirms.InvoiceNumber, tblMemberFirms.PaymentReceived, tblMemberFirms.DeclarationReceived, tblMemberFirms.MemberStatus, tblMemberFirms.Acoustics, tblMemberFirms.Agricultural, tblMemberFirms.BuildingServices, tblMemberFirms.Chemical, tblMemberFirms.Civil, tblMemberFirms.Development, tblMemberFirms.Electrical, tblMemberFirms.Electronic, tblMemberFirms.Environmental, tblMemberFirms.Geotechnical, tblMemberFirms.Industrial, tblMemberFirms.Mechanical, tblMemberFirms.Marine, tblMemberFirms.Mining, tblMemberFirms.Process, tblMemberFirms.Structural, tblMemberFirms.Transportation, tblMemberFirms.Architecture, tblMemberFirms.RuralDevelopment, tblMemberFirms.ProjectManagement, tblMemberFirms.QuantitySurveying, tblMemberFirms.TownPlanning, tblMemberFirms.Multidisciplinary, tblMemberFirms.DisputeResolution, tblMemberFirms.ExpertWitness, tblMemberFirms.InformationSystems, tblMemberFirms.FacilitiesManagement, tblMemberFirms.GIS, tblMemberFirms.PIUnderwriter, tblMemberFirms.LevelOfCover, tblMemberFirms.`Quality Management`, tblMemberFirms.`Date of last peer review`, tblMemberFirms.URL, tblMemberFirms.DocumentAccess, tblMemberFirms.QualityMxSystem, tblMemberFirms.ExportDivision, tblMemberFirms.Active, tblMemberFirms.School, tblMemberFirms.LNumber, tblMemberFirms.ExistingOrExperience, tblMemberFirms.SeekingToExportTo, tblMemberFirms.QMSPlan, tblMemberFirms.QMSDocs, tblMemberFirms.QMSISOComply, tblMemberFirms.QMSISOCert, tblMemberFirms.QMSISOCertDate, tblMemberFirms.QMSOffices, tblMemberFirms.QMSConsult, tblMemberFirms.QMSCertBody, tblMemberFirms.AcousticsName, tblMemberFirms.AgriculturalName, tblMemberFirms.BuildingServicesName, tblMemberFirms.ChemicalName, tblMemberFirms.CivilName, tblMemberFirms.DevelopmentName, tblMemberFirms.ElectricalName, tblMemberFirms.ElectronicName, tblMemberFirms.EnvironmentalName, tblMemberFirms.GeotechnicalName, tblMemberFirms.IndustrialName, tblMemberFirms.MechanicalName, tblMemberFirms.MarineName, tblMemberFirms.MiningName, tblMemberFirms.ProcessName, tblMemberFirms.StructuralName, tblMemberFirms.TransportationName, tblMemberFirms.ArchitectureName, tblMemberFirms.RuralDevelopmentName, tblMemberFirms.ProjectManagementName, tblMemberFirms.QuantitySurveyingName, tblMemberFirms.TownPlanningName, tblMemberFirms.MultidisciplinaryName, tblMemberFirms.DisputeResolutionName, tblMemberFirms.ExpertWitnessName, tblMemberFirms.InformationSystemsName, tblMemberFirms.FacilitiesManagementName, tblMemberFirms.GISName, tblMemberFirms.MainFirmInvoice, tblMemberFirms.GroupFirmsInvoice, tblMemberFirms.QMSImplemented, tblMemberFirms.QMSImplFully, tblMemberFirms.QMSImplPart, tblMemberFirms.QMSAssess, tblMemberFirms.QMSUseConsult, tblMemberFirms.QMSIntend, tblMemberFirms.BEPMEDS, tblMemberFirms.WebHide, tblMemberFirms.MentoringProg, tblMemberFirms.CandidateProg, tblMemberFirms.SubscriptionsContact, tblMemberFirms.SubscriptionsEmail, tblMemberFirms.HRTrainingContact, tblMemberFirms.HRTrainingEmail, tblMemberFirms.MarketingContact, tblMemberFirms.MarketingEmail, tblMemberFirms.CaUSigned, tblMemberFirms.BBBEE, tblMemberFirms.YPFContact, tblMemberFirms.YPFEmail, tblMemberFirms.SMME, tblMemberFirms.BlackOwned, tblMemberFirms.BBBEELevel, tblMemberFirms.SustainabilityPolicy, tblMemberFirms.SustainabilityIssues, tblMemberFirms.SustainabilityProcess, tblMemberFirms.SustainabilityChampion, tblMemberFirms.SustainabilityChampName, tblMemberFirms.Comments, tblMemberFirms.SustainabilityFramework, tblMemberFirms.SustainabilityDiscussed, tblMemberFirms.SustainabilityIndicator1, tblMemberFirms.SustainabilityIndicator2, tblMemberFirms.SustainabilityIndicator3, tblMemberFirms.SustainabilityIndicator4, tblMemberFirms.SustainabilityIndicator5, tblMemberFirms.QMIG, tblMemberFirms.QMSChampion, tblMemberFirms.QMSChampName, tblMemberFirms.QMSChampEmail, tblMemberFirms.SustainabilityChampEmail, tblMemberFirms.ProcurementContact, tblMemberFirms.ProcurementEmail, tblMemberFirms.SubscriptionsTel, tblMemberFirms.HRTrainingTel, tblMemberFirms.MarketingTel, tblMemberFirms.ProcurementTel, tblMemberFirms.YPFContactTel, tblMemberFirms.BlackWomenOwned, tblMemberFirms.SABTACO, tblMemberFirms.BBCBE, tblMemberFirms.GBCSA, tblMemberFirms.GoToPersonName, tblMemberFirms.GoToPersonTel, tblMemberFirms.GoToPersonEmail ORDER BY tblMemberFirms.FirmName"; return $this->sqlf->getAll($sql); } public static function getMandatedPrincipalByFirmId($firmId) { global $conni; $sql = "SELECT `tblMemberFirmOffices`.`Telephone`, `tblMemberFirmOffices`.`Email` AS OfficeEmail, `MemberContacts`.`ContactDesignation`, `MemberContacts`.`ContactInitials`, " . "`MemberContacts`.`ContactSurname`, `MemberContacts`.`Email` " . "FROM `tblMemberFirmOffices` " . "JOIN `MemberContacts` USING (OfficeID) " . "WHERE `MemberContacts`.`MandatedPrincipal` = 1 AND tblMemberFirmOffices.FirmID=" . $firmId; // echo $sql; // exit; $recMP = mysqli_query($conni, $sql); if ($recMP && $rowA = mysqli_fetch_assoc($recMP)) { return $rowA; } return array(); } public function getADNotComplete() { $sql = "SELECT * " . "FROM `tblMemberFirms` MF " . "INNER JOIN ADec_tblMemberFirms ADMF ON MF.FirmID = ADMF.Prev_FirmID " . "INNER JOIN tblMemberFirmOffices MFO " . "INNER JOIN MemberContacts MC ON MFO.OfficeID = MC.OfficeID AND MF.FirmID = MFO.FirmID " . "WHERE MC.Email Is Not Null AND MC.Mail = 0 " . "AND TRIM(MC.Email) <> '' " . "AND (MC.Email like '%@%.%') " . "AND (MC.MandatedPrincipal=1) " . "AND ((MF.DeclarationReceived > '2005-12-31' AND MF.MemberStatus = 'member') OR MF.MemberStatus = 'retired member' OR MF.MemberStatus = 'honorary member') " . "AND MF.`MemberStatus` = 'Member' AND ADMF.ADecStatus = 'U'"; echo $sql . '<br />'; // exit; $notCompletes = $this->sqlf->getAll($sql); return $notCompletes; } } function tblMemberFirmListOptionsRendered($objThis, $tblMemberFirms) { $objThis->ListOptions->Items["extras"]->Body = '<SPAN class=phpmaker><A href="annualdec/print/part1.php?FirmID=' . $tblMemberFirms->FirmID->CurrentValue . '" target="_blank"><IMG title="" border=0 alt="" src="images/copy.gif" width=16 height=16>Annual Dec Part 1</A> ' . '<A href="annualdec/print/part1.php?ver=old&FirmID=' . $tblMemberFirms->FirmID->CurrentValue . '" target="_blank"><IMG title="" border=0 alt="" ' . 'src="images/copy.gif" width=16 height=16>Previous Annual Dec Part 1</A><BR><BR><A href="annualdec/print/part2.php?FirmID=' . $tblMemberFirms->FirmID->CurrentValue . '" target="_blank"><IMG title="" border=0 alt="" src="images/copy.gif" width=16 height=16>Annual Dec Part 2</A>' . ' <A href="annualdec/print/part2.php?ver=old&FirmID=' . $tblMemberFirms->FirmID->CurrentValue . '" target="_blank"><IMG title="" border=0 alt="" ' . 'src="images/copy.gif" width=16 height=16>Previous Annual Dec Part 2</A><br><br>' . '<A href="/members/AnnualDeclaration_Part1/displayQMIG.php?FirmID=' . $tblMemberFirms->FirmID->CurrentValue . '" target="_blank"><IMG title="" border=0 alt="" ' . 'src="images/copy.gif" width=16 height=16>QMIG</A><br><br>' . '<A href="/members/AnnualDeclaration_Part1/displaySustainability.php?FirmID=' . $tblMemberFirms->FirmID->CurrentValue . '" target="_blank"><IMG title="" border=0 alt="" ' . 'src="images/copy.gif" width=16 height=16>Sustainability and Transformation</A></SPAN>'; }