sanitizeStats( $data->get( 'stats', [] ) ); $st = apply_filters( 'wpml_get_setting', false, 'st' ); foreach ( $stats as $name => $data ) { $count = $data['count']; $key = $data['settingsKey']; $item = $data['pluginOrThemeId']; $old_count = isset( $st[ $key ][ $item ][ $name ] ) ? $st[ $key ][ $item ][ $name ] : 0; $st[ $key ][ $item ][ $name ] = $old_count + $count; } do_action( 'wpml_set_setting', 'st', $st, true ); return Either::of( [] ); } private function sanitizeStats( $origStats ) { $stats = []; foreach ( $origStats as $origKey => $data ) { $key = sanitize_text_field( $origKey ); $data['count'] = (int) $data['count']; $data['pluginOrThemeId'] = sanitize_text_field( $data['pluginOrThemeId'] ); $data['settingsKey'] = sanitize_text_field( $data['settingsKey'] ); $stats[ $key ] = $data; } return $stats; } }