_x( 'Plugin: Limit Login Attempts Logger', 'Logger: Plugin Limit Login Attempts', 'simple-history' ), 'description' => _x( 'Logs failed login attempts, lockouts, and configuration changes made in the plugin Limit Login Attempts', 'Logger: Plugin Limit Login Attempts', 'simple-history' ), 'name_via' => _x( 'Using plugin Limit Login Attempts', 'Logger: Plugin Limit Login Attempts', 'simple-history' ), 'capability' => 'manage_options', 'messages' => array( // 'user_locked_out' => _x( 'User locked out', "Logger: Plugin Limit Login Attempts", "simple-history" ), 'failed_login_whitelisted' => _x( 'Failed login attempt from whitelisted IP', 'Logger: Plugin Limit Login Attempts', 'simple-history' ), 'failed_login' => _x( 'Was locked out because too many failed login attempts', 'Logger: Plugin Limit Login Attempts', 'simple-history' ), 'cleared_ip_log' => _x( 'Cleared IP log', 'Logger: Plugin Limit Login Attempts', 'simple-history' ), 'reseted_lockout_count' => _x( 'Reset lockout count', 'Logger: Plugin Limit Login Attempts', 'simple-history' ), 'cleared_current_lockouts' => _x( 'Cleared current lockouts', 'Logger: Plugin Limit Login Attempts', 'simple-history' ), 'updated_options' => _x( 'Updated options', 'Logger: Plugin Limit Login Attempts', 'simple-history' ), ), /* "labels" => array( "search" => array( "label" => _x( "Limit Login Attempts", "Logger: Plugin Limit Login Attempts", "simple-history" ), "options" => array( _x( "xxxPages not found", "User logger: 404", "simple-history" ) => array( "page_not_found", ), ), ), // end search ),*/ // end labels ); return $arr_info; } public function loaded() { require_once( ABSPATH . 'wp-admin/includes/plugin.php' ); $pluginFilePath = 'limit-login-attempts/limit-login-attempts.php'; $isPluginActive = is_plugin_active( $pluginFilePath ); // Only continue to add filters if plugin is active. // This minimise the risk of plugin errors, because plugin // has been forked to new versions. if ( ! $isPluginActive ) { return; } add_filter( 'pre_option_limit_login_lockouts_total', array( $this, 'on_option_limit_login_lockouts_total' ), 10, 1 ); add_action( 'load-settings_page_limit-login-attempts', array( $this, 'on_load_settings_page' ), 10, 1 ); } /** * Fired when plugin options screen is loaded */ public function on_load_settings_page( $a ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing if ( $_POST && wp_verify_nonce( $_POST['_wpnonce'], 'limit-login-attempts-options' ) ) { // Settings saved if ( isset( $_POST['clear_log'] ) ) { $this->noticeMessage( 'cleared_ip_log' ); } if ( isset( $_POST['reset_total'] ) ) { $this->noticeMessage( 'reseted_lockout_count' ); } if ( isset( $_POST['reset_current'] ) ) { $this->noticeMessage( 'cleared_current_lockouts' ); } if ( isset( $_POST['update_options'] ) ) { $options = array( 'client_type' => sanitize_text_field( $_POST['client_type'] ), 'allowed_retries' => sanitize_text_field( $_POST['allowed_retries'] ), 'lock{"id":28108,"date":"2018-01-28T00:25:23","date_gmt":"2018-01-27T20:25:23","guid":{"rendered":"http:\/\/tv.mskh.am\/?p=28108"},"modified":"2018-07-06T12:03:06","modified_gmt":"2018-07-06T08:03:06","slug":"%d5%a9%d5%b8%d6%82%d6%80%d6%84%d5%a5%d6%80%d5%a5%d5%b6%d5%a8-%d5%af%d6%80%d5%a9%d5%a1%d5%b0%d5%a1%d5%b4%d5%a1%d5%ac%d5%ab%d6%80%d5%b8%d6%82%d5%b4-%d5%af%d5%ac%d5%b8%d6%80-%d5%bd%d5%a5%d5%b2%d5%a1","status":"publish","type":"post","link":"https:\/\/tv.mskh.am\/?p=28108","title":{"rendered":"\u0539\u0578\u0582\u0580\u0584\u0565\u0580\u0565\u0576\u0568 \u056f\u0580\u0569\u0561\u0570\u0561\u0574\u0561\u056c\u056b\u0580\u0578\u0582\u0574. \u056f\u056c\u0578\u0580 \u057d\u0565\u0572\u0561\u0576"},"content":{"rendered":"

\u053c\u0578\u0582\u057d\u0561\u0576\u056f\u0561\u0580\u0576\u0565\u0580\u0568\u055d\u00a0 \u0535\u057e\u0561 \u0532\u0565\u0580\u0562\u0565\u0580\u0575\u0561\u0576\u056b (9-\u0580\u0564 \u0564\u0561\u057d.)<\/em>
\n\u00a9 \u056f\u056b\u0576\u0578-\u0586\u0578\u057f\u0578 2018<\/strong><\/em>
\n<\/p>\n

 <\/p>\n

 <\/p>\n

 <\/p>\n

 <\/p>\n

 <\/p>\n

\"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a> \"\"<\/a><\/p>\n

93 \u0564\u056b\u057f\u0578\u0582\u0574<\/p>\n","protected":false},"excerpt":{"rendered":"

\u053c\u0578\u0582\u057d\u0561\u0576\u056f\u0561\u0580\u0576\u0565\u0580\u0568\u055d\u00a0 \u0535\u057e\u0561 \u0532\u0565\u0580\u0562\u0565\u0580\u0575\u0561\u0576\u056b (9-\u0580\u0564 \u0564\u0561\u057d.) \u00a9 \u056f\u056b\u0576\u0578-\u0586\u0578\u057f\u0578 2018 93 \u0564\u056b\u057f\u0578\u0582\u0574<\/p>\n","protected":false},"author":2,"featured_media":28129,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[107,6],"tags":[],"_links":{"self":[{"href":"https:\/\/tv.mskh.am\/index.php?rest_route=\/wp\/v2\/posts\/28108"}],"collection":[{"href":"https:\/\/tv.mskh.am\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tv.mskh.am\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tv.mskh.am\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tv.mskh.am\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=28108"}],"version-history":[{"count":2,"href":"https:\/\/tv.mskh.am\/index.php?rest_route=\/wp\/v2\/posts\/28108\/revisions"}],"predecessor-version":[{"id":31331,"href":"https:\/\/tv.mskh.am\/index.php?rest_route=\/wp\/v2\/posts\/28108\/revisions\/31331"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tv.mskh.am\/index.php?rest_route=\/wp\/v2\/media\/28129"}],"wp:attachment":[{"href":"https:\/\/tv.mskh.am\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=28108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tv.mskh.am\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=28108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tv.mskh.am\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=28108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}