Automator_Utilities::recipes_number_times_completed( null $recipe_ids = null, $recipes_completed_times )
Contents
Parameters Parameters
- $recipe_ids
-
(Optional)
Default value: null
- $recipes_completed_times
-
(Required)
Return Return
(array)
Source Source
File: src/core/lib/utilities/class-automator-utilities.php
public function recipes_number_times_completed( $recipe_ids = null, $recipes_completed_times = 0 ) { global $wpdb; $times_to_complete = array(); $post_metas = $wpdb->get_results( $wpdb->prepare( "SELECT meta_value, post_id FROM $wpdb->postmeta WHERE meta_key = %s LIMIT 0, 99999", 'recipe_completions_allowed' ) ); if ( $post_metas && is_array( $recipe_ids ) ) { foreach ( $recipe_ids as $recipe_id ) { $complete = 1; $found = false; foreach ( $post_metas as $p ) { if ( (int) $recipe_id === (int) $p->post_id ) { $found = true; $complete = $p->meta_value; break; } else { $found = false; } } if ( $found ) { $times_to_complete[ $recipe_id ] = $complete; } else { $times_to_complete[ $recipe_id ] = 1; //Complete recipe once } } } elseif ( is_array( $recipe_ids ) ) { //Fallback to mark each recipe to be completed only once foreach ( $recipe_ids as $recipe_id ) { $times_to_complete[ $recipe_id ] = 1; } } $results = array(); foreach ( $times_to_complete as $recipe_id => $recipe_completions_allowed ) { $time_to_complete = false; //Only added condition that changes value to true. if ( is_array( $recipes_completed_times ) && key_exists( $recipe_id, $recipes_completed_times ) && (int) $recipes_completed_times[ $recipe_id ] === (int) $recipe_completions_allowed ) { $time_to_complete = true; } $results[ $recipe_id ] = $time_to_complete; } return $results; }
Expand full source code Collapse full source code View on Github