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.217.117
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
v3.cesa.co.za /
src /
MemberBundle /
Services /
Delete
Unzip
Name
Size
Permission
Date
Action
.htaccess
237
B
-r-xr-xr-x
2026-08-17 03:12
ADecMemberFirmManager.php
5.42
KB
-rwxrwxr-x
2026-04-02 11:48
ADecMemberFirmTransformationManager.php
3.47
KB
-rwxrwxr-x
2026-05-25 12:28
HRForumManager.php
8.77
KB
-rwxrwxr-x
2026-04-02 11:48
MemberFirmManager.php
73.65
KB
-rwxrwxr-x
2026-05-18 12:51
MemberFirmTransformationManager.php
3.56
KB
-rwxrwxr-x
2026-04-02 12:06
Save
Rename
<?php namespace App\MemberBundle\Services; /** * HRForumManager * * @author Otto Saayman <otto@igotafrica.com> * @package MemberBundle * @subpackage HRForum * @version 0.0.1 */ use Symfony\Component\DependencyInjection\ContainerInterface; use Monolog\Logger; use App\MemberBundle\Entity\HRForum; use App\ContactBundle\Services\MessageManager; use App\CoreBundle\Services\Utils; final class HRForumManager { /** * Service Container * @var object */ private $container = null; /** * Entity manager * @var object */ private $em; /** * Class construct * * @param ContainerInterface $container * @param Logger $logger * @return void */ public function __construct( ContainerInterface $container ) { $this->setContainer($container); $this->setEm($container->get('doctrine')->getManager('default')); return; } /** * Get Container * * @return ContainerInterface $container */ public function getContainer() { return $this->container; } /** * Set Container * * @param ContainerInterface $container * @return void */ public function setContainer($container) { $this->container = $container; } /** * Get Entity Manager * * @return string */ public function getEm() { return $this->em; } /** * Set Container * * @param string $em * @return void */ public function setEm($em) { $this->em = $em; } /** * Get a HR Forum Member * * @return HRForum */ public function find($id) { if (strlen($id) <= 0) { return null; } return $this->em->getRepository(HRForum::class)->find($id); } /** * Get a HR Forum Member by parameters * * @param array $params * @return HRForum */ public function findOneBy($params) { return $this->em->getRepository(HRForum::class)->findOneBy($params); } /** * Get a HR Forum Member by parameters * * @param array $params * @return array */ public function findBy($params) { return $this->em->getRepository(HRForum::class)->findBy($params); } /** * Get all HR Forum Members * * @return array */ public function findAll() { return $this->em->getRepository(HRForum::class)->findAll(); } /** * Get all HR Forum Member IDs * * @return array */ public function findAllIds() { return $this->em->getRepository(HRForum::class)->findAllIds(); } /** * Save a HR Forum Member * * @params HRForum $HRForum * @return HRForum */ public function save(HRForum &$HRForum) { $this->em->persist($HRForum); $this->em->flush(); return $HRForum; } /** * Save a Member Firm * * @params MemberFirm $memberFirm * @return MemberFirm */ public function findOrAdd( &$toBeAdded, &$toBeUpdated, $allMembers, $email, $status, $firstName = '', $lastName = '', $tag = '' ) { if (!Utils::isEmailAddressValid($email)) { return; } if (strlen($tag) <= 0) { echo 'No tag for ' . $email . '<br />' . "\r\n"; return; } $email = str_replace('.coza', '.co.za', $email); //check if attendee is in list $mustAdd = true; $mustTag = true; $updateMailId = ''; foreach ($allMembers as $mailId => $member) { if (trim(strtolower($member['email_address'])) == trim(strtolower($email))) { $mustAdd = false; $updateMailId = $mailId; } if (!is_countable($member['tags']) || count($member['tags']) <= 0) { continue; } foreach ($member['tags'] as $oneTag) { // var_dump($oneTag); // echo "\r\n" . ' tag!' . "\r\n"; if ($oneTag['name'] == $tag) { $mustTag = false; } } } //foreach if ($mustAdd) { foreach ($toBeAdded as $checkOne) { if (trim(strtolower($checkOne['email_address'])) == trim(strtolower($email))) { $mustAdd = false; } } } if ($mustAdd) { $toBeAdded[] = [ 'email_address' => $email, 'status' => $status, 'merge_fields' => ['FNAME' => $firstName, 'LNAME' => $lastName], 'tags' => [$tag] ]; echo 'Added ' . count($toBeAdded) . ' - ' . $email . '<br />' . "\r\n"; } elseif ($mustTag && strlen($updateMailId) > 0) { $toBeUpdated[] = [ 'subscriber_id' => $updateMailId, 'email_address' => $email, // 'tags' => ["Member", $tag] 'tags' => [['name' => $tag, 'status' => 'active']] ]; echo 'Updated ' . count($toBeAdded) . ' - ' . $email . '<br />' . "\r\n"; } } /** * Save a HR Forum Member * * @return void */ public function mailChimpSynch() { $mcCreds = MessageManager::getMCCredentials(); $messageManager = $this->getContainer()->get('contact_message.manager'); $tempValueManager = $this->getContainer()->get('temp_value.manager'); $startAt = 1; //$tempValueManager->getTempValue('mailchimp_member_synch_start', 1); echo 'HR Forum member synch starts now<br />' . "\r\n"; // exit; $allMembers = $messageManager->getAllEMailsFromMailChimp($mcCreds['api_key'], $mcCreds['main_audience']); echo "Found " . count($allMembers) . " members in MailChimp <br />" . "\r\n"; // echo '<br /><br />'; // exit; $toBeAdded = []; $toBeUpdated = []; $hrForumMembers = $this->findAllIds(); $endAt = count($hrForumMembers) + 10; //$startAt + 50; $recordCount = 1; echo 'Running HR Forum member synch: ' . $startAt . ' ' . $endAt . '<br />' . "\r\n"; // exit; foreach ($hrForumMembers as $hrForumId) { if ($recordCount < $startAt) { continue; } if ($startAt > $endAt) { break; } $hrForumMember = $this->find($hrForumId['hrForumID']); if (!is_object($hrForumMember)) { echo 'HR Forum Member not found: ' . $hrForumId['hrForumID'] . '<br />' . "\r\n"; continue; } if ($hrForumMember->getSubscribed() != 1) { echo 'HR Forum Member not subscribed: ' . $hrForumId['hrForumID'] . '<br />' . "\r\n"; continue; } $subscribed = 'subscribed'; if (!is_null($hrForumMember->getEmail()) && strlen($hrForumMember->getEmail()) > 0) { $this->findOrAdd( $toBeAdded, $toBeUpdated, $allMembers, $hrForumMember->getEmail(), $subscribed, $hrForumMember->getFirstName(), $hrForumMember->getSurname(), 'HR Forum' ); } if (count($toBeAdded) > 200) { $messageManager->addToMailChimp($mcCreds['api_key'], $mcCreds['main_audience'], $toBeAdded); // var_dump($toBeAdded); // exit; // var_dump($toBeAdded); // exit; $toBeAdded = array(); } if (count($toBeUpdated) > 200) { $messageManager->updateTagsMailChimp($mcCreds['api_key'], $mcCreds['main_audience'], $toBeUpdated); // var_dump($toBeAdded); // exit; // var_dump($toBeUpdated); // exit; $toBeUpdated = array(); } $recordCount++; $startAt++; } //foreach hr forum member echo 'HR Forum member synch done: ' . $startAt . ' ' . $startAt . '<br />' . "\r\n"; $tempValueManager->setTempValue('mailchimp_hr_forum_member_synch_start', $startAt); if (count($toBeAdded) > 0) { $messageManager->addToMailChimp($mcCreds['api_key'], $mcCreds['main_audience'], $toBeAdded); } if (count($toBeUpdated) > 0) { $messageManager->updateTagsMailChimp($mcCreds['api_key'], $mcCreds['main_audience'], $toBeUpdated); } } }