⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.78
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
psa-pear
/
pear
/
php
/
Horde
/
Kolab
/
Server
/
Edit File: Factory.php
<?php /** * A Horde_Kolab_Server:: factory. * * PHP version 5 * * @category Kolab * @package Kolab_Server * @author Gunnar Wrobel <wrobel@pardus.de> * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Kolab_Server */ /** * A based Horde_Kolab_Server:: factory. * * Copyright 2008-2016 Horde LLC (http://www.horde.org/) * * See the enclosed file COPYING for license information (LGPL). If you * did not receive this file, see http://www.horde.org/licenses/lgpl21. * * @category Kolab * @package Kolab_Server * @author Gunnar Wrobel <wrobel@pardus.de> * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Kolab_Server */ class Horde_Kolab_Server_Factory { /** * Return the suggested interface bindings for the Kolab Server components. * * @return array The bindings. */ public function getBindings() { return array( array( 'Horde_Kolab_Server_Objects_Interface', 'Horde_Kolab_Server_Objects_Base' ), array( 'Horde_Kolab_Server_Search_Interface', 'Horde_Kolab_Server_Search_Base' ), array( 'Horde_Kolab_Server_Schema_Interface', 'Horde_Kolab_Server_Schema_Base' ), ); } /** * Setup the machinery to create a Horde_Kolab_Server_Structure handler. * * @param array $configuration The configuration parameters for the * connection. (@todo: describe parameters) * * @return Horde_Kolab_Server_Structure_Interface */ private function getStructure(array $configuration) { if (!isset($configuration['driver'])) { $driver = 'Horde_Kolab_Server_Structure_Kolab'; } else { $driver = $configuration['driver']; } return new $driver(); } /** * Return the server connection that should be used. * * @param array $configuration The configuration parameters for the * connection. (@todo: describe parameters) * * @return Horde_Kolab_Server_Connection The connection to the server. */ public function getConnection(array $configuration) { if (empty($configuration['mock'])) { if (!isset($configuration['basedn'])) { throw new Horde_Exception('The parameter \'basedn\' is missing in the Kolab server configuration!'); } $ldap_read = new Horde_Ldap($configuration); if (isset($configuration['host_master'])) { $configuration['host'] = $configuration['host_master']; $ldap_write = new Horde_Ldap($configuration); $connection = new Horde_Kolab_Server_Connection_Splittedldap( $ldap_read, $ldap_write ); } else { $connection = new Horde_Kolab_Server_Connection_Simpleldap( $ldap_read ); } return $connection; } else { if (isset($configuration['data'])) { $data = $configuration['data']; } else { $data = array(); } $connection = new Horde_Kolab_Server_Connection_Mock( new Horde_Kolab_Server_Connection_Mock_Ldap( $configuration, $data ) ); return $connection; } } /** * Return the server connection that should be used. * * @param array $configuration The configuration parameters for the * server. (@todo: describe parameters) * @param mixed $logger The logger (@todo: which methods need to be provided?) * * @return Horde_Kolab_Server_Interface The Horde_Kolab_Server connection. */ public function getServer(array $configuration, $logger) { $connection = $this->getConnection($configuration); if (!isset($configuration['filter'])) { $server = new Horde_Kolab_Server_Ldap_Standard( $connection, $configuration['basedn'] ); } else { $server = new Horde_Kolab_Server_Ldap_Filtered( $connection, $configuration['basedn'], $configuration['filter'] ); } if (isset($configuration['map'])) { $server = new Horde_Kolab_Server_Decorator_Map( $server, $configuration['map'] ); } if (isset($configuration['debug']) || isset($configuration['log'])) { $server = new Horde_Kolab_Server_Decorator_Log( $server, $logger ); } if (isset($configuration['debug']) || isset($configuration['count'])) { $server = new Horde_Kolab_Server_Decorator_Count( $server, $logger ); } if (!empty($configuration['cleanup'])) { $server = new Horde_Kolab_Server_Decorator_Clean( $server ); } return $server; } }
Simpan