@@ -63,9 +63,33 @@ public function list( $args, $assoc_args ) {
6363 }
6464
6565 $ format = isset ( $ assoc_args ['format ' ] ) ? $ assoc_args ['format ' ] : 'table ' ;
66- $ fields = isset ( $ assoc_args ['fields ' ] ) ? \explode ( ', ' , $ assoc_args ['fields ' ] ) : [ 'task_id ' , 'provider_id ' , 'category ' , 'date ' , 'status ' ];
66+ $ fields = isset ( $ assoc_args ['fields ' ] ) ? \explode ( ', ' , $ assoc_args ['fields ' ] ) : [ 'task_id ' , 'provider_id ' , 'category ' , 'date ' , 'post_status ' ];
67+
68+ $ formatted_tasks = [];
69+ foreach ( $ tasks as $ task ) {
70+ $ formatted = [];
71+ foreach ( $ fields as $ field ) {
72+ switch ( $ field ) {
73+ case 'task_id ' :
74+ case 'date ' :
75+ case 'post_status ' :
76+ $ formatted [ $ field ] = $ task ->$ field ?? '' ;
77+ break ;
78+ case 'provider_id ' :
79+ $ formatted [ $ field ] = is_object ( $ task ->provider ?? null ) && isset ( $ task ->provider ->name ) ? $ task ->provider ->name : '' ;
80+ break ;
81+ case 'category ' :
82+ $ formatted [ $ field ] = is_object ( $ task ->category ?? null ) && isset ( $ task ->category ->name ) ? $ task ->category ->name : '' ;
83+ break ;
84+ default :
85+ $ formatted [ $ field ] = $ task ->$ field ?? '' ;
86+ }
87+ }
88+
89+ $ formatted_tasks [] = $ formatted ;
90+ }
6791
68- WP_CLI \Utils \format_items ( $ format , $ tasks , $ fields ); // @phpstan-ignore-line
92+ WP_CLI \Utils \format_items ( $ format , $ formatted_tasks , $ fields ); // @phpstan-ignore-line
6993 }
7094
7195 /**
@@ -188,19 +212,11 @@ public function delete( $args, $assoc_args ) {
188212 * @return array
189213 */
190214 private function get_tasks ( $ args ) {
191- $ tasks = \progress_planner ()->get_settings ()->get ( 'tasks ' , [] ); // Get tasks from the database, without filtering.
192-
215+ $ tasks = \progress_planner ()->get_suggested_tasks_db ()->get_tasks_by ( $ args );
193216 if ( empty ( $ tasks ) ) {
194217 return [];
195218 }
196219
197- // Set fields which are not set for all tasks.
198- foreach ( $ tasks as $ key => $ task ) {
199- if ( ! isset ( $ task ['date ' ] ) ) {
200- $ tasks [ $ key ]['date ' ] = '' ;
201- }
202- }
203-
204220 return $ tasks ;
205221 }
206222
0 commit comments