| @@ -109,9 +109,9 @@ | ||
| 109 | 109 | // Don't replace messages unless required. |
| 110 | 110 | return; |
| 111 | 111 | } |
| 112 | 112 | |
| 113 | - if ( ! $this->within_valid_timeframe( $message ) ) { | |
| 113 | + if ( $this->is_expired( $message ) ) { | |
| 114 | 114 | return; |
| 115 | 115 | } |
| 116 | 116 | |
| 117 | 117 | if ( isset( self::$messages[ $message['key'] ] ) ) { |
| @@ -158,10 +158,10 @@ | ||
| 158 | 158 | $removed = false; |
| 159 | 159 | foreach ( self::$messages as $t => $message ) { |
| 160 | 160 | $read = ! empty( $message['read'] ) && isset( $message['read'][ get_current_user_id() ] ) && $message['read'][ get_current_user_id() ] < strtotime( '-1 month' ); |
| 161 | 161 | $dismissed = ! empty( $message['dismissed'] ) && isset( $message['dismissed'][ get_current_user_id() ] ) && $message['dismissed'][ get_current_user_id() ] < strtotime( '-1 week' ); |
| 162 | - | |
| 163 | - if ( $read || $dismissed || ! $this->within_valid_timeframe( $message ) ) { | |
| 162 | + $expired = $this->is_expired( $message ); | |
| 163 | + if ( $read || $expired || $dismissed ) { | |
| 164 | 164 | unset( self::$messages[ $t ] ); |
| 165 | 165 | $removed = true; |
| 166 | 166 | } |
| 167 | 167 | } |
| @@ -179,9 +179,9 @@ | ||
| 179 | 179 | public function filter_messages( &$messages, $type = 'unread' ) { |
| 180 | 180 | $user_id = get_current_user_id(); |
| 181 | 181 | foreach ( $messages as $k => $message ) { |
| 182 | 182 | $dismissed = isset( $message['dismissed'] ) && isset( $message['dismissed'][ $user_id ] ); |
| 183 | - if ( empty( $k ) || ! $this->within_valid_timeframe( $message ) || ( $type === 'dismissed' ) !== $dismissed ) { | |
| 183 | + if ( empty( $k ) || $this->is_expired( $message ) || ( $type === 'dismissed' ) !== $dismissed ) { | |
| 184 | 184 | unset( $messages[ $k ] ); |
| 185 | 185 | } elseif ( ! $this->is_for_user( $message ) ) { |
| 186 | 186 | unset( $messages[ $k ] ); |
| 187 | 187 | } |
| @@ -189,40 +189,12 @@ | ||
| 189 | 189 | $messages = apply_filters( 'frm_filter_inbox', $messages ); |
| 190 | 190 | } |
| 191 | 191 | |
| 192 | 192 | /** |
| 193 | - * Check if a message has started and is not expired. | |
| 194 | - * | |
| 195 | - * @since 6.25 | |
| 196 | - * | |
| 197 | 193 | * @param array $message |
| 198 | - * @return bool | |
| 199 | - */ | |
| 200 | - private function within_valid_timeframe( $message ) { | |
| 201 | - return $this->has_started( $message ) && ! $this->is_expired( $message ); | |
| 202 | - } | |
| 203 | - | |
| 204 | - /** | |
| 205 | - * Check if a message has actually started, so we can prevent showing something that is queued up early. | |
| 206 | 194 | * |
| 207 | - * @since 6.25 | |
| 208 | - * | |
| 209 | - * @param array $message | |
| 210 | 195 | * @return bool |
| 211 | 196 | */ |
| 212 | - private function has_started( $message ) { | |
| 213 | - if ( empty( $message['starts'] ) ) { | |
| 214 | - return true; | |
| 215 | - } | |
| 216 | - | |
| 217 | - return $message['starts'] <= time(); | |
| 218 | - } | |
| 219 | - | |
| 220 | - /** | |
| 221 | - * @param array $message | |
| 222 | - * | |
| 223 | - * @return bool | |
| 224 | - */ | |
| 225 | 197 | private function is_expired( $message ) { |
| 226 | 198 | return ! empty( $message['expires'] ) && $message['expires'] < time(); |
| 227 | 199 | } |
| 228 | 200 | |
| @@ -526,9 +498,9 @@ | ||
| 526 | 498 | |
| 527 | 499 | return array_reduce( |
| 528 | 500 | $keys_to_return, |
| 529 | 501 | function ( $total, $key ) use ( $message ) { |
| 530 | - $total[ $key ] = $message[ $key ] ?? ''; | |
| 502 | + $total[ $key ] = isset( $message[ $key ] ) ? $message[ $key ] : ''; | |
| 531 | 503 | return $total; |
| 532 | 504 | }, |
| 533 | 505 | array() |
| 534 | 506 | ); |