_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 «Մխիթար Սեբաստացի» կրթահամալիրի ինտերնետ-հեռուստատեսություն

Կրթահամալիրյան անցուդարձ բաժնի նյութերը

Միջավայրի բարեկարգում Հարավում

Ներկայացնում է Արև Բալջյանը

ԴԻՏԵԼ

Մադինա-Արգիճի-Արատես կամ ապրեցնող ճանապարհի բանաձև

Լուսանկարները՝ Սմբատ Պետրոսյանի

ԴԻՏԵԼ

Քանդակագործության փառատոնի ներկայացում Մադինայում

Ներկայացնում է Սմբատ Պետրոսյանը

ԴԻՏԵԼ

Կրթահամալիրը «Արի պարի քոչարի» ֆլեշմոբի մասնակից

Ներկայացնում է Հայարփի Անանյանը

ԴԻՏԵԼ

Փարիզում. օր առաջին

Ներկայացնում են խմբի ղեկավարներ՝ Աննա Երիցյանը, Կարինե Թևոսյանը

ԴԻՏԵԼ

Գունավոր մակարոնագրություն

Առաջարկում են Տաթև Սահակյանի 5-6 տարեկանները

ԴԻՏԵԼ

Աշխատանքային հավաք Արևելքում

Լուսանկարները՝ Սմբատ Պետրոսյանի

ԴԻՏԵԼ

Պատրաստվում ենք հարսանեկան ծեսին

Ներկայացնում է Մարիամ Մնացականյանը

ԴԻՏԵԼ

Ուսումնական ճամփորդություն Կարբի գյուղ

Ներկայացնում է Մանուշակ Աբրահամյանը

ԴԻՏԵԼ

Կրթամշակութային-հայրենագիտական արշավ Կոտայքում

Սեբաստացիներ ուսուցչական երգչախմբի արշավը Արամուս-Նոր Հաճն-Գետամեջ երթուղով։ Նյութը՝ Ալիս Գևորգյանի

ԴԻՏԵԼ