From 5bf66662a9bdd62c5bccab15e607cd95cfb8fcab Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Mon, 27 Jul 2020 10:05:23 +0200 Subject: Removed wordpress and phpmyadmin, my server doesn't handle it well and it brings shame on my familly --- srcs/phpmyadmin/libraries/classes/TwoFactor.php | 303 ------------------------ 1 file changed, 303 deletions(-) delete mode 100644 srcs/phpmyadmin/libraries/classes/TwoFactor.php (limited to 'srcs/phpmyadmin/libraries/classes/TwoFactor.php') diff --git a/srcs/phpmyadmin/libraries/classes/TwoFactor.php b/srcs/phpmyadmin/libraries/classes/TwoFactor.php deleted file mode 100644 index cc26528..0000000 --- a/srcs/phpmyadmin/libraries/classes/TwoFactor.php +++ /dev/null @@ -1,303 +0,0 @@ -initRelationParamsCache(); - - $this->userPreferences = new UserPreferences(); - $this->user = $user; - $this->_available = $this->getAvailable(); - $this->config = $this->readConfig(); - $this->_writable = ($this->config['type'] == 'db'); - $this->_backend = $this->getBackend(); - } - - /** - * Reads the configuration - * - * @return array - */ - public function readConfig() - { - $result = []; - $config = $this->userPreferences->load(); - if (isset($config['config_data']['2fa'])) { - $result = $config['config_data']['2fa']; - } - $result['type'] = $config['type']; - if (! isset($result['backend'])) { - $result['backend'] = ''; - } - if (! isset($result['settings'])) { - $result['settings'] = []; - } - return $result; - } - - /** - * Get any property of this class - * - * @param string $property name of the property - * - * @return mixed|void if property exist, value of the relevant property - */ - public function __get($property) - { - switch ($property) { - case 'backend': - return $this->_backend; - case 'available': - return $this->_available; - case 'writable': - return $this->_writable; - case 'showSubmit': - $backend = $this->_backend; - return $backend::$showSubmit; - } - } - - /** - * Returns list of available backends - * - * @return array - */ - public function getAvailable() - { - $result = []; - if ($GLOBALS['cfg']['DBG']['simple2fa']) { - $result[] = 'simple'; - } - if (class_exists(Google2FA::class)) { - $result[] = 'application'; - } - if (class_exists(U2FServer::class)) { - $result[] = 'key'; - } - return $result; - } - - /** - * Returns list of missing dependencies - * - * @return array - */ - public function getMissingDeps() - { - $result = []; - if (! class_exists(Google2FA::class)) { - $result[] = [ - 'class' => Application::getName(), - 'dep' => 'pragmarx/google2fa-qrcode', - ]; - } - if (! class_exists('BaconQrCode\Renderer\Image\Png')) { - $result[] = [ - 'class' => Application::getName(), - 'dep' => 'bacon/bacon-qr-code', - ]; - } - if (! class_exists(U2FServer::class)) { - $result[] = [ - 'class' => Key::getName(), - 'dep' => 'samyoul/u2f-php-server', - ]; - } - return $result; - } - - /** - * Returns class name for given name - * - * @param string $name Backend name - * - * @return string - */ - public function getBackendClass($name) - { - $result = TwoFactorPlugin::class; - if (in_array($name, $this->_available)) { - $result = 'PhpMyAdmin\\Plugins\\TwoFactor\\' . ucfirst($name); - } elseif (! empty($name)) { - $result = Invalid::class; - } - return $result; - } - - /** - * Returns backend for current user - * - * @return TwoFactorPlugin - */ - public function getBackend() - { - $name = $this->getBackendClass($this->config['backend']); - return new $name($this); - } - - /** - * Checks authentication, returns true on success - * - * @param boolean $skip_session Skip session cache - * - * @return boolean - */ - public function check($skip_session = false) - { - if ($skip_session) { - return $this->_backend->check(); - } - if (empty($_SESSION['two_factor_check'])) { - $_SESSION['two_factor_check'] = $this->_backend->check(); - } - return $_SESSION['two_factor_check']; - } - - /** - * Renders user interface to enter two-factor authentication - * - * @return string HTML code - */ - public function render() - { - return $this->_backend->getError() . $this->_backend->render(); - } - - /** - * Renders user interface to configure two-factor authentication - * - * @return string HTML code - */ - public function setup() - { - return $this->_backend->getError() . $this->_backend->setup(); - } - - /** - * Saves current configuration. - * - * @return true|Message - */ - public function save() - { - return $this->userPreferences->persistOption('2fa', $this->config, null); - } - - /** - * Changes two-factor authentication settings - * - * The object might stay in partialy changed setup - * if configuration fails. - * - * @param string $name Backend name - * - * @return boolean - */ - public function configure($name) - { - $this->config = [ - 'backend' => $name, - ]; - if ($name === '') { - $cls = $this->getBackendClass($name); - $this->config['settings'] = []; - $this->_backend = new $cls($this); - } else { - if (! in_array($name, $this->_available)) { - return false; - } - $cls = $this->getBackendClass($name); - $this->config['settings'] = []; - $this->_backend = new $cls($this); - if (! $this->_backend->configure()) { - return false; - } - } - $result = $this->save(); - if ($result !== true) { - $result->display(); - } - return true; - } - - /** - * Returns array with all available backends - * - * @return array - */ - public function getAllBackends() - { - $all = array_merge([''], $this->available); - $backends = []; - foreach ($all as $name) { - $cls = $this->getBackendClass($name); - $backends[] = [ - 'id' => $cls::$id, - 'name' => $cls::getName(), - 'description' => $cls::getDescription(), - ]; - } - return $backends; - } -} -- cgit