| Server IP : 89.108.64.180 / Your IP : 216.73.217.92 Web Server : Apache/2.4.41 (Ubuntu) System : Linux 89-108-64-180.cloudvps.regruhosting.ru 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-root ( 1010) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/poseidon-gagra.ru/wp-content/plugins/awebooking/inc/Gateway/ |
Upload File : |
<?php
namespace AweBooking\Gateway;
use AweBooking\Plugin;
use AweBooking\Support\Manager;
class Gateways extends Manager {
/**
* Constructor.
*
* @param \AweBooking\Plugin $plugin The plugin instance.
*/
public function __construct( Plugin $plugin ) {
$this->drivers = new Gateway_Collection;
parent::__construct( $plugin );
}
/**
* Add a new reservation gateway.
*
* @param \AweBooking\Gateway\Gateway $gateway The gateway implementation.
* @return bool
*
* @throws \InvalidArgumentException
*/
public function register( $gateway ) {
if ( ! $gateway instanceof Gateway ) {
throw new \InvalidArgumentException( 'Gateway must be a class instance of AweBooking\Gateway\Gateway.' );
}
$key = $gateway->get_method();
if ( empty( $key ) || $this->registered( $key ) ) {
return false;
}
$gateway->setup();
$this->drivers[ $key ] = $gateway;
return true;
}
/**
* Get a gateway (enable only).
*
* @param string $gateway The gateway ID.
* @return \AweBooking\Gateway\Gateway|null
*/
public function get( $gateway ) {
if ( ! $this->registered( $gateway ) ) {
return null;
}
/* @var $gateway \AweBooking\Gateway\Gateway */
$gateway = $this->driver( $gateway );
if ( ! $gateway->is_enabled() ) {
return null;
}
return $gateway;
}
/**
* Returns the list sorted gateways.
*
* @return \AweBooking\Gateway\Gateway_Collection
*/
public function get_sorted() {
return $this->drivers->sorted();
}
/**
* Returns gateways enable only.
*
* @param bool $sorted With sorted gateways.
*
* @return \AweBooking\Support\Collection
*/
public function get_enabled( $sorted = true ) {
return $this->drivers->enabled( $sorted );
}
}