Update Login class with error count and report

If a user login fails and the user exists count the error and date of
last error.
If the user is set strict and the error login count is bigger than 10,
lock the user. User can only be unlocked from admin user.
Add new view only form table array type that is not saved, but only
viewed as is from the database value.
Add strict/lock yes/no into the edit user form.
Update edit user table with login error count, login error date, strict
and locked rows.
This commit is contained in:
Clemens Schwaighofer
2014-08-22 13:44:05 +09:00
parent 9bae54af71
commit 96224d0d1e
7 changed files with 188 additions and 75 deletions

View File

@@ -222,12 +222,16 @@
switch ($form->my_page_name)
{
case "edit_users":
$elements[] = $form->form_create_element("login_error_count");
$elements[] = $form->form_create_element("login_error_date");
$elements[] = $form->form_create_element("enabled");
$elements[] = $form->form_create_element("username");
$elements[] = $form->form_create_element("password");
$elements[] = $form->form_create_element("email");
$elements[] = $form->form_create_element("edit_group_id");
$elements[] = $form->form_create_element("edit_access_right_id");
$elements[] = $form->form_create_element("strict");
$elements[] = $form->form_create_element("locked");
$elements[] = $form->form_create_element("admin");
$elements[] = $form->form_create_element("debug");
$elements[] = $form->form_create_element("db_debug");

View File

@@ -32,6 +32,26 @@
"0" => "No"
)
),
"strict" => array (
"value" => $GLOBALS["strict"],
"output_name" => "Strict (Lock after errors)",
"type" => "binary",
"int" => 1,
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"locked" => array (
"value" => $GLOBALS["locked"],
"output_name" => "Locked (auto set if strict with errors)",
"type" => "binary",
"int" => 1,
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"admin" => array (
"value" => $GLOBALS["admin"],
"output_name" => "Admin",
@@ -98,12 +118,25 @@
"type" => "drop_down_db",
"query" => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
),
"login_error_count" => array (
"output_name" => "Login error count",
"value" => $GLOBALS['login_error_count'],
"type" => "view",
"empty" => "0"
),
"login_error_date" => array (
"output_name" => "Last login error",
"value" => $GLOBALS['login_error_date'],
"type" => "view",
"empty" => "-"
),
// planned delete lock flag
"protected" => array (
"value" => $GLOBALS["protected"],
"int" => 1
)
),
"load_query" => "SELECT edit_user_id, username, enabled, debug, db_debug FROM edit_user ORDER BY username",
"load_query" => "SELECT edit_user_id, username, enabled, debug, db_debug, strict, locked, login_error_count FROM edit_user ORDER BY username",
"table_name" => "edit_user",
"show_fields" => array (
array (
@@ -124,6 +157,20 @@
"binary" => array("Yes", "No"),
"before_value" => "DB Debug: "
),
array (
"name" => "strict",
"binary" => array("Yes", "No"),
"before_value" => "Strict: "
),
array (
"name" => "locked",
"binary" => array("Yes", "No"),
"before_value" => "Locked: "
),
array (
"name" => "login_error_count",
"before_value" => "Errors: "
)
),
"element_list" => array (
"edit_access_user" => array (