public static function getInstance()
 {
     if (!self::$logger) {
         self::$logger = new Payin7Logger();
     }
     return self::$logger;
 }
 public function __construct()
 {
     $this->name = self::MODULE_NAME;
     $this->tab = 'payments_gateways';
     $this->version = self::PLUGIN_VERSION;
     $this->author = 'payin7';
     $this->need_instance = 0;
     $this->bootstrap = true;
     $this->currencies = true;
     $this->currencies_mode = 'checkbox';
     $this->ps_versions_compliancy = array('min' => '1.4', 'max' => '9999');
     /** @noinspection PhpUndefinedClassInspection */
     parent::__construct();
     /** @noinspection PhpUndefinedMethodInspection */
     $this->displayName = $this->l('Payin7');
     /** @noinspection PhpUndefinedMethodInspection */
     $this->description = $this->l('Finance your Dreams!');
     $this->_is14 = version_compare(_PS_VERSION_, "1.5", "<");
     $this->_is15up = version_compare(_PS_VERSION_, "1.5", ">=");
     $this->_is15 = version_compare(_PS_VERSION_, "1.5", ">=") && version_compare(_PS_VERSION_, "1.6", "<");
     /* Backward compatibility */
     /** @noinspection PhpIncludeInspection */
     if (_PS_VERSION_ < '1.5') {
         /** @noinspection PhpIncludeInspection */
         require _PS_MODULE_DIR_ . $this->name . '/backward_compatibility/backward.php';
     }
     if (!defined('DS')) {
         define('DS', DIRECTORY_SEPARATOR);
     }
     /** @noinspection PhpIncludeInspection */
     require_once __DIR__ . DS . 'classes' . DS . 'logger' . DS . 'Payin7Logger.php';
     $this->logger = Payin7Logger::getInstance()->setFilename($this->getLogFilename())->setDebugEnabled($this->getConfigApiDebugMode());
     // models
     /** @noinspection PhpIncludeInspection */
     require_once __DIR__ . DS . 'models' . DS . 'base.php';
     // tools
     /** @noinspection PhpIncludeInspection */
     require_once __DIR__ . DS . 'classes' . DS . 'tools' . DS . 'shortcuts.php';
     /** @noinspection PhpIncludeInspection */
     require_once __DIR__ . DS . 'classes' . DS . 'tools' . DS . 'inflector.php';
     /** @noinspection PhpIncludeInspection */
     require_once __DIR__ . DS . 'classes' . DS . 'tools' . DS . 'string_utils.php';
     /** @noinspection PhpIncludeInspection */
     require_once __DIR__ . DS . 'classes' . DS . 'tools' . DS . 'unicode.php';
 }