Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Čihař <michal@cihar.com>2017-11-27 18:19:27 +0300
committerMichal Čihař <michal@cihar.com>2017-11-27 18:20:20 +0300
commite0ac6c888d20c13b577d51bedc5fcc35cfeca32f (patch)
treebec015ba563202df38dfb055856571b5dcf659be /prefs_twofactor.php
parentc7e07822019c93c7b04b2d0ca94524a0cfc3d7c6 (diff)
Better name for twofactor configuration endpoint
Signed-off-by: Michal Čihař <michal@cihar.com>
Diffstat (limited to 'prefs_twofactor.php')
-rw-r--r--prefs_twofactor.php51
1 files changed, 51 insertions, 0 deletions
diff --git a/prefs_twofactor.php b/prefs_twofactor.php
new file mode 100644
index 0000000000..c1258c0d43
--- /dev/null
+++ b/prefs_twofactor.php
@@ -0,0 +1,51 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * User preferences management page
+ *
+ * @package PhpMyAdmin
+ */
+use PhpMyAdmin\Message;
+use PhpMyAdmin\TwoFactor;
+use PhpMyAdmin\Template;
+
+/**
+ * Gets some core libraries and displays a top message if required
+ */
+require_once 'libraries/common.inc.php';
+
+require 'libraries/user_preferences.inc.php';
+
+$two_factor = new TwoFactor($GLOBALS['cfg']['Server']['user']);
+
+if (isset($_POST['2fa_remove'])) {
+ if (! $two_factor->check(true)) {
+ echo Template::get('prefs_twofactor_confirm')->render([
+ 'form' => $two_factor->render(),
+ ]);
+ exit;
+ } else {
+ $two_factor->configure('');
+ Message::rawNotice(__('Two-factor authentication has been removed.'))->display();
+ }
+} elseif (isset($_POST['2fa_configure'])) {
+ if (! $two_factor->configure($_POST['2fa_configure'])) {
+ echo Template::get('prefs_twofactor_configure')->render([
+ 'form' => $two_factor->setup(),
+ 'configure' => $_POST['2fa_configure'],
+ ]);
+ exit;
+ } else {
+ Message::rawNotice(__('Two-factor authentication has been configured.'))->display();
+ }
+}
+
+$backend = $two_factor->backend;
+echo Template::get('prefs_twofactor')->render([
+ 'enabled' => $two_factor->writable,
+ 'num_backends' => count($two_factor->available),
+ 'backend_id' => $backend::$id,
+ 'backend_name' => $backend::getName(),
+ 'backend_description' => $backend::getDescription(),
+ 'backends' => $two_factor->getAllBackends(),
+]);