Commit
be05eea5da (diff-133db5662c51f5686d87611121a05a3bL88)
changed how ajax events are stored and now an associative array is not used anymore for both private and non private events. Instead two different arrays are now used one for each type of event.
While debugging the admin dashboard I found out that some transients where updated up to 5 times during the page load, reading is fast but writting is costy, so the query where adding a total of 200ms to the page load (because they are also huge transients)
I've rewritten the transient storage procedure so that per class a transient is only written once at the end of the request
I also found that a continue was changed for a break line 139 for php7.3 and the new warning it incurs, the problem is it was changed the wrong way, it should have been a "continue 2" to continue the foreach and not a break.
That makes me wonder if some others like this may have slipped in the code.
Commit be05eea5da (diff-133db5662c51f5686d87611121a05a3bR1420) fixed all the PHPCS violations in includes/class-wc-ajax.php, but it unintentionally changed that the logic of WC_Ajax::json_search_products(). This commit reverts the changes to the old logic while keeping the PHPCS fixes.
Before the modification mentioned above, `$_GET['term']` would be used only if `$term` was empty. After this modification, `$_GET['term']` is used whenever it is set and `$term` (the parameter passed to the method) stopped being used. This commit restores the original logic in that what is passed in the first parameter as `$term` is used by default, and `$_GET['term']` is only used if `$term` is empty.
This commit replaces all the instances where the WPCS rule `WordPress.VIP.SlowDBQuery` was used with `WordPress.DB.SlowDBQuery`. `WordPress.VIP.SlowDBQuery` was deprecated in WPCS 2.0 and `WordPress.DB.SlowDBQuery` was added as a replacement (see 5f27d8e3a4/CHANGELOG.md (L130)).