Example #1
0
 /**
  * Show multiple fields of an object.
  *
  * @param object|array Data to display
  * @param string Format to display the data in
  */
 private function show_multiple_fields($data, $format)
 {
     $true_fields = array();
     foreach ($this->args['fields'] as $field) {
         $true_fields[] = $this->find_item_key($data, $field);
     }
     foreach ($data as $key => $value) {
         if (!in_array($key, $true_fields)) {
             if (is_array($data)) {
                 unset($data[$key]);
             } else {
                 if (is_object($data)) {
                     unset($data->{$key});
                 }
             }
         }
     }
     switch ($format) {
         case 'table':
         case 'csv':
             $rows = $this->assoc_array_to_rows($data);
             $fields = array('Field', 'Value');
             if ('table' == $format) {
                 self::show_table($rows, $fields);
             } else {
                 if ('csv' == $format) {
                     \WP_CLI\Utils\write_csv(STDOUT, $rows, $fields);
                 }
             }
             break;
         case 'yaml':
         case 'json':
             \WP_CLI::print_value($data, array('format' => $format));
             break;
         default:
             \WP_CLI::error("Invalid format: " . $format);
             break;
     }
 }
Example #2
-3
 private function format($items)
 {
     $fields = $this->args['fields'];
     switch ($this->args['format']) {
         case 'count':
             if (!is_array($items)) {
                 $items = iterator_to_array($items);
             }
             echo count($items);
             break;
         case 'ids':
             if (!is_array($items)) {
                 $items = iterator_to_array($items);
             }
             echo implode(' ', $items);
             break;
         case 'table':
             self::show_table($items, $fields);
             break;
         case 'csv':
             \WP_CLI\Utils\write_csv(STDOUT, $items, $fields);
             break;
         case 'json':
             $out = array();
             foreach ($items as $item) {
                 $out[] = \WP_CLI\Utils\pick_fields($item, $fields);
             }
             echo json_encode($out);
             break;
     }
 }