get(); $surveys[ $survey ] = time() + $timeout; $this->set( $surveys ); } /** * Gets survey timeouts. * * @since 1.73.0 * * @return array Survey timeouts array. */ public function get_survey_timeouts() { $surveys = $this->get(); $surveys = $this->sanitize_list_items( $surveys ); return array_keys( $surveys ); } /** * Sets the global timeout to twelve hours. * * @since 1.98.0 */ public function set_global_timeout() { $this->add( self::GLOBAL_KEY, 12 * HOUR_IN_SECONDS ); } /** * Sanitizes survey timeouts. * * @since 1.73.0 * * @param array $items Survey timeouts list. * @return array Filtered survey timeouts. */ protected function sanitize_list_items( $items ) { $surveys = array(); if ( is_array( $items ) ) { foreach ( $items as $item => $ttl ) { if ( $ttl > time() ) { $surveys[ $item ] = $ttl; } } } return $surveys; } }