$message, 'data' => $data, 'time' => current_time('timestamp'), )); self::save_plugin_error($plugin_id, $errors); } public static function get_plugin_error($plugin_id) { $errors = get_option('berocket_plugin_error_'.$plugin_id); if( ! is_array($errors) ) $errors = array(); return $errors; } public static function save_plugin_error($plugin_id, $errors) { if( count($errors) > 5000 ) { $i = 0; foreach($errors as $error_id => $error) { if($i > 100) break; $i++; unset($errors[$error_id]); } } update_option('berocket_plugin_error_'.$plugin_id, $errors); } public static function get_plugin_error_ajax() { $plugin_id = br_get_value_from_array($_POST, 'plugin_id'); if( empty($plugin_id) ) { $plugin_id = br_get_value_from_array($_GET, 'plugin_id'); } $plugin_id = sanitize_key($plugin_id); $plugin_id = intval($plugin_id); if( ! empty($plugin_id) && ( ! empty($_POST['clear_errors']) || ! empty($_GET['clear_errors']) ) ) { self::clear_plugin_errors($plugin_id); } echo self::get_plugin_error_html($plugin_id); wp_die(); } public static function clear_plugin_errors($plugin_id) { self::save_plugin_error($plugin_id, array()); } public static function get_plugin_error_html($plugin_id) { if( empty($plugin_id) ) { return ''; } $block_id = $plugin_id; $errors = self::get_plugin_error($plugin_id); $errors = array_reverse($errors); $html = '