PluginProbe
Booking Calendar / 11.9
Booking Calendar v11.9
11.9 11.8.4 11.8.3 11.8.2 11.8.1 11.8 11.7 11.6.1 11.6 11.5 11.4.3 11.4.2 11.4.1 11.4 11.3 11.2.1 11.2 11.1 11.0 10.15.7 10.15.6 10.1.3 10.10 10.10.1 10.10.2 All 205 releases
← All changes | includes/_capacity/wpbc_cache.php +26 -3 11.8 → 11.9 View file →
@@ -1,4 +1,4 @@
1 1 <?php
2 2
3 3 if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
4 4
@@ -56,9 +56,9 @@
56 56 * @param mixed $value_to_save value to save -- usually it's result from DB
57 57 *
58 58 * @return mixed return CLONED $value_to_save
59 59 */
60 -function wpbc_cache__save( $function_name, $params, $value_to_save ){
60 +function wpbc_cache__save( $function_name, $params, $value_to_save ){
61 61
62 62 global $wpbc_global_cache;
63 63
64 64
@@ -77,10 +77,33 @@
77 77
78 78 // CLONING array of objects
79 79 $wpbc_global_cache[ $function_name ][ $params_cache ] = wpbc_clone_array_of_objects( $value_to_save );
80 80
81 - return $wpbc_global_cache[ $function_name ][ $params_cache ];
82 -}
81 + return $wpbc_global_cache[ $function_name ][ $params_cache ];
82 +}
83 +
84 +
85 +/**
86 + * Clear all request-local cached results for one function namespace.
87 + *
88 + * Availability validation uses this immediately before and after a protected
89 + * booking save so a result loaded earlier in the request cannot outlive the
90 + * database state that was serialized by the booking availability guard.
91 + *
92 + * @param string $function_name Function cache namespace to clear.
93 + *
94 + * @return void
95 + */
96 +function wpbc_cache__clear( $function_name ) {
97 +
98 + global $wpbc_global_cache;
99 +
100 + if ( ! is_array( $wpbc_global_cache ) || ! isset( $wpbc_global_cache[ $function_name ] ) ) {
101 + return;
102 + }
103 +
104 + unset( $wpbc_global_cache[ $function_name ] );
105 +}
83 106
84 107
85 108
86 109