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 /
SessionsBundle /
Admin /
Delete
Unzip
Name
Size
Permission
Date
Action
.htaccess
237
B
-r-xr-xr-x
2026-08-17 03:12
SessionsAdmin.php
4.52
KB
-rwxrwxr-x
2026-05-18 12:51
SitesAdmin.php
9.68
KB
-rwxrwxr-x
2026-05-18 12:51
php_errors.log
630
B
-rwxrwxr-x
2026-04-02 12:06
Save
Rename
<?php namespace App\SessionsBundle\Admin; use Knp\Menu\ItemInterface as MenuItemInterface; use Sonata\AdminBundle\Admin\AbstractAdmin; use Sonata\AdminBundle\Admin\AdminInterface; use Sonata\AdminBundle\Datagrid\ListMapper; use Sonata\AdminBundle\Show\ShowMapper; use Sonata\AdminBundle\Datagrid\DatagridMapper; use Sonata\AdminBundle\Validator\ErrorElement; use Sonata\AdminBundle\Form\FormMapper; use Sonata\AdminBundle\Route\RouteCollectionInterface; use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage; use App\CoreBundle\Form\DataTransformer\ArrayToJsonTransformer; use App\SessionsBundle\Entity\Sites; /** * Sites Admin * * @author Otto Saayman <otto@igotafrica.com> * @package SessionsBundle * @subpackage Admin * @version 0.0.1 */ class SitesAdmin extends AbstractAdmin { /** * Security Context * @var Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage */ protected $securityContext; /** * Container * @var $container */ protected $container; /** * Entity manager * @var \Doctrine\ORM\EntityManager */ protected $em; protected function generateBaseRouteName(bool $isChildAdmin = false): string { return 'sites'; } protected function generateBaseRoutePattern(bool $isChildAdmin = false): string { return 'sites'; } protected $datagridValues = array( '_sort_order' => 'DESC', '_sort_by' => 'updated_at', ); public function setSecurityContext(UsageTrackingTokenStorage $securityContext) { $this->securityContext = $securityContext; } /** * @param \Doctrine\ORM\EntityManager $em */ public function setEntityManager($em) { $this->em = $em; } /** * @return null */ public function setContainer($container) { $this->container = $container; } protected function configureDatagridFilters(DatagridMapper $datagridMapper): void { $datagridMapper ->add('site_host_name', null, array('label' => 'Site Host Name')) ->add('server_ip', null, array('label' => 'Server IP Address')) ->add('site_port', null, array('label' => 'Port')) ->add('template_id', null, array('label' => 'Template ID')) ->add('build_site_map', null, array('label' => 'Build Site Map')) //->add('created_at', null, array('label' => 'Created')) //->add('updated_at', null, array('label' => 'Updated')) ; } protected function configureListFields(ListMapper $listMapper): void { $listMapper ->addIdentifier('site_host_name', null, array('label' => 'Site Host Name')) ->add('server_ip', null, array('label' => 'Server IP Address')) ->add('site_port', null, array('label' => 'Port')) ->add('template_id', null, array('label' => 'Template ID')) ->add('session_count', null, array('label' => 'Sessions')) ->add('build_site_map', null, array('label' => 'Build Site Map')) ->add('created_at', null, array('label' => 'Created')) ->add('updated_at', null, array('label' => 'Updated')) ->add('_action', 'actions', array( 'actions' => array( 'show' => array(), 'edit' => array(), 'delete' => array(), ) )) ; } protected function configureFormFields(FormMapper $formMapper): void { $site = $this->getObject($this->getRequest()->get('id')); $arrayJsonTransformer = new ArrayToJsonTransformer(); if (is_object($site)) { $sitesList = $this->container->get('sites.manager')->getOtherSitesArray($this->getObject($this->getRequest()->get($this->getIdParameter()))); $categoriesArray = $this->container->get('categories.manager')->getAllCategoriesSelectArray( $this->container->get('system_setting.manager')->getSetting('travel_category_type') ); $businessCategoriesArray = $this->container->get('categories.manager')->getAllCategoriesSelectArray( $this->container->get('system_setting.manager')->getSetting('business_category_type') ); $travelCitiesArray = $this->container->get('cities.manager')->getAllSelectArray( $this->container->get('system_setting.manager')->getSetting('travel_geography_type') ); $businessCitiesArray = $this->container->get('cities.manager')->getAllSelectArray( $this->container->get('system_setting.manager')->getSetting('business_geography_type') ); } else { $sitesList = array(); $categoriesArray = array(); $businessCategoriesArray = array(); $travelCitiesArray = array(); $businessCitiesArray = array(); } $formMapper ->add('site_host_name', null, array('label' => 'Site Host Name')) ->add('site_name', null, array('label' => 'Site Name')) ->add('site_e_mail', null, array('label' => 'Site E-Mail')) ->add('server_ip', null, array('label' => 'Server IP Address')) ->add('site_port', null, array('label' => 'Port')) ->add('template_id', null, array('label' => 'Template ID')) ->add('build_site_map', null, array('label' => 'Build Site Map')) ->add( 'limit_travel_categories', ChoiceType::class, array( 'required' => false, 'label' => 'Limit Travel Categories', 'multiple' => true, 'choices' => $categoriesArray, ) ) ->add( 'limit_travel_cities', ChoiceType::class, array( 'required' => false, 'label' => 'Limit Travel Cities', 'multiple' => true, 'choices' => $travelCitiesArray, ) ) ->add( 'limit_business_categories', ChoiceType::class, array( 'required' => false, 'label' => 'Limit Business Categories', 'multiple' => true, 'choices' => $businessCategoriesArray, ) ) ->add( 'limit_business_cities', ChoiceType::class, array( 'required' => false, 'label' => 'Limit Business Cities', 'multiple' => true, 'choices' => $businessCitiesArray, ) ) ->add( 'move_site_id', ChoiceType::class, array( 'label' => 'Delete and move data to', 'choices' => $sitesList, 'mapped' => false, 'required' => false, ) ) ; $formMapper->get('limit_travel_categories')->addModelTransformer($arrayJsonTransformer); $formMapper->get('limit_travel_cities')->addModelTransformer($arrayJsonTransformer); $formMapper->get('limit_business_categories')->addModelTransformer($arrayJsonTransformer); $formMapper->get('limit_business_cities')->addModelTransformer($arrayJsonTransformer); } protected function configureShowFields(ShowMapper $showMapper): void { $showMapper ->add('site_host_name', null, array('label' => 'Site Host Name')) ->add('server_ip', null, array('label' => 'Server IP Address')) ->add('site_port', null, array('label' => 'Port')) ->add('template_id', null, array('label' => 'Template ID')) ->add('build_site_map', null, array('label' => 'Build Site Map')) ->add('created_at', null, array('label' => 'Created')) ->add('updated_at', null, array('label' => 'Updated')) ; } /** * @param SessionsBundle\Entity\Sites $site */ public function postUpdate($site): void { $this->postUpdatePersist($site); } /** * @param SessionsBundle\Entity\Sites $site */ public function postPersist($site): void { $this->postUpdatePersist($site); } /** * @param SessionsBundle\Entity\Sites $site */ public function postUpdatePersist($site) { $arrValues = $this->getRequest()->get($this->getUniqid()); if (isset($arrValues['move_site_id']) && strlen($arrValues['move_site_id']) > 0) { $this->container->get('sites.manager')->startDeleteMove($site, $arrValues['move_site_id']); } $this->container->get('batch_job.manager')->save("\$site = \$this->getContainer()->get('sites.manager')->find('" . $site->getId() . "'); " . "\$this->getContainer()->get('sites.manager')->recalculate(\$site); ", true, true, 100); } protected function configureBatchActions(array $actions): array { // check user permissions if ($this->hasRoute('delete') && $this->isGranted('DELETE')) { $actions['delete_move'] = [ 'label' => "Delete and Move", 'ask_confirmation' => true, // If true, a confirmation will be asked before performing the action 'controller' => 'App/IGA/SessionsBundle/Controller/SitesAdminController::batchActionDeleteMove', ]; } return $actions; } }