/**
  * When option value is updated
  * do same checks as plugin itself does
  * and log if we match something
  */
 function on_option_limit_login_lockouts_total($value)
 {
     global $limit_login_just_lockedout;
     if (!$limit_login_just_lockedout) {
         return $value;
     }
     $ip = limit_login_get_address();
     $whitelisted = is_limit_login_ip_whitelisted($ip);
     $retries = get_option('limit_login_retries');
     if (!is_array($retries)) {
         $retries = array();
     }
     if (isset($retries[$ip]) && $retries[$ip] / limit_login_option('allowed_retries') % limit_login_option('notify_email_after') != 0) {
         // $this->notice( "user locked out but don't log" );
         //return;
     }
     /* Format message. First current lockout duration */
     $lockout_type = "";
     if (!isset($retries[$ip])) {
         /* longer lockout */
         $lockout_type = "longer";
         $count = limit_login_option('allowed_retries') * limit_login_option('allowed_lockouts');
         $lockouts = limit_login_option('allowed_lockouts');
         $time = round(limit_login_option('long_duration') / 3600);
         #$when = sprintf( _n( '%d hour', '%d hours', $time, "Logger: Plugin Limit Login Attempts", 'limit-login-attempts' ), $time );
     } else {
         /* normal lockout */
         $lockout_type = "normal";
         $count = $retries[$ip];
         $lockouts = floor($count / limit_login_option('allowed_retries'));
         $time = round(limit_login_option('lockout_duration') / 60);
         //$when = sprintf( _n( '%d minute', '%d minutes', $time, 'limit-login-attempts' ), $time );
     }
     if ($whitelisted) {
         // $subject = __( "Failed login attempts from whitelisted IP", 'limit-login-attempts' );
         $message_key = "failed_login_whitelisted";
     } else {
         // $subject = __( "Too many failed login attempts", 'limit-login-attempts' );
         $message_key = "failed_login";
     }
     $this->noticeMessage($message_key, array("_initiator" => SimpleLoggerLogInitiators::WEB_USER, "value" => $value, "limit_login_just_lockedout" => $limit_login_just_lockedout, "count" => $count, "time" => $time, "lockouts" => $lockouts, "ip" => $ip, "lockout_type" => $lockout_type));
     return $value;
 }
function limit_login_get_message()
{
    /* Check external whitelist */
    if (is_limit_login_ip_whitelisted()) {
        return '';
    }
    /* Is lockout in effect? */
    if (!is_limit_login_ok()) {
        return limit_login_error_msg();
    }
    return limit_login_retries_remaining_msg();
}