| 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/hotelgerda.ru/wp-content/plugins/mphb-woocommerce/includes/ |
Upload File : |
<?php
namespace MPHBW;
class Plugin {
/**
*
* @var \MPHBW\Plugin
*/
private static $instance = null;
/**
*
* @var string
*/
private static $filepath;
/**
*
* @var Settings\SettingsRegistry
*/
private $settings;
/**
*
* @var PluginData
*/
private $pluginData;
/**
*
* @var Dependencies
*/
private $dependencies;
private function __construct(){
// Do nothing.
}
/**
*
* @param string $filepath
*/
public static function setBaseFilepath( $filepath ){
self::$filepath = $filepath;
}
public static function getInstance(){
if ( !isset( self::$instance ) ) {
self::$instance = new self();
self::$instance->afterConstruct();
}
return self::$instance;
}
public function afterConstruct(){
$this->pluginData = new PluginData( self::$filepath );
$this->settings = new Settings\SettingsRegistry();
$this->dependencies = new Dependencies();
new AutoUpdater();
add_action( 'plugins_loaded', array( $this, 'loadTextdomain' ) );
add_action( 'plugins_loaded', array( $this, 'initGateway' ) );
}
public function initGateway(){
if ( $this->dependencies->check() ) {
new \MPHBW\WoocommerceGateway();
}
}
/**
*
* @return Settings\SettingsRegistry
*/
public function getSettings(){
return $this->settings;
}
/**
*
* @return Dependencies
*/
function getDependencies(){
return $this->dependencies;
}
/**
*
* @return PluginData
*/
public function getPluginData(){
return $this->pluginData;
}
public function loadTextDomain(){
$slug = $this->pluginData->getSlug();
$locale = mphbw_is_wp_version( '4.7', '>=' ) ? get_user_locale() : get_locale();
$locale = apply_filters( 'plugin_locale', $locale, $slug );
// wp-content/languages/mphb-woocommerce/mphb-woocommerce-{lang}_{country}.mo
$customerMoFile = sprintf( '%1$s/%2$s/%2$s-%3$s.mo', WP_LANG_DIR, $slug, $locale );
load_textdomain( $slug, $customerMoFile );
load_plugin_textdomain( $slug, false, $slug . '/languages' );
}
}