From 8af6fa61f47a8d7c3063fa983e885fa5e327a268 Mon Sep 17 00:00:00 2001 From: Herman van Rink <rink@initfour.nl> Date: Thu, 10 Mar 2022 23:42:51 +0100 Subject: [PATCH] Add 2FA form element to CP Users form --- interface/web/admin/form/users.tform.php | 24 +++++++++++++++++++ interface/web/admin/lib/lang/en_users.lng | 1 + .../web/admin/templates/users_user_edit.htm | 9 +++++++ 3 files changed, 34 insertions(+) diff --git a/interface/web/admin/form/users.tform.php b/interface/web/admin/form/users.tform.php index 1aab0a4298..bc77087e28 100644 --- a/interface/web/admin/form/users.tform.php +++ b/interface/web/admin/form/users.tform.php @@ -94,6 +94,11 @@ while ($file = @readdir($handle)) { } } +$otp_method_list = array( + 'none' => 'none', + 'email' => 'email', +); + //* Load themes $themes_list = array(); $handle = @opendir(ISPC_THEMES_PATH); @@ -254,6 +259,25 @@ $form['tabs']['users'] = array ( 'rows' => '', 'cols' => '' ), + 'otp_type' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'SELECT', + 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', + 'errmsg'=> 'otp_auth_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-z0-9\_]{0,64}$/', + 'errmsg'=> 'otp_auth_regex'), + ), + 'regex' => '', + 'errmsg' => '', + 'default' => '', + 'value' => $otp_method_list, + 'separator' => '', + 'width' => '30', + 'maxlength' => '255', + 'rows' => '', + 'cols' => '' + ), 'language' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'SELECT', diff --git a/interface/web/admin/lib/lang/en_users.lng b/interface/web/admin/lib/lang/en_users.lng index 88fa9430d3..855146d171 100644 --- a/interface/web/admin/lib/lang/en_users.lng +++ b/interface/web/admin/lib/lang/en_users.lng @@ -38,4 +38,5 @@ $wb['startmodule_empty'] = 'Startmodule empty.'; $wb['startmodule_regex'] = 'Invalid chars in Startmodule.'; $wb['app_theme_empty'] = 'App theme empty.'; $wb['app_theme_regex'] = 'Invalid chars in App theme.'; +$wb['otp_auth_txt'] = '2-Factor Authentication'; ?> diff --git a/interface/web/admin/templates/users_user_edit.htm b/interface/web/admin/templates/users_user_edit.htm index 234f40f25e..9451b4b100 100644 --- a/interface/web/admin/templates/users_user_edit.htm +++ b/interface/web/admin/templates/users_user_edit.htm @@ -28,6 +28,15 @@ <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div> </div> </div> + <div class="form-group"> + <label for="2fa" class="col-sm-3 control-label">{tmpl_var name='otp_auth_txt'}</label> + <div class="col-sm-9"> + <select name="otp_type" id="otp_type" class="form-control"> + {tmpl_var name='otp_type'} + </select> + </div> + </div> + <div class="form-group"> <label class="col-sm-3 control-label">{tmpl_var name='modules_txt'}</label> <div class="col-sm-9"> -- GitLab