PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 4.4.1
Admin Columns v4.4.1
7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Helper / Select / Response.php
codepress-admin-columns / classes / Helper / Select Last commit date
Entities 4 years ago Formatter 4 years ago Group 4 years ago Options 4 years ago Value 4 years ago Entities.php 4 years ago Formatter.php 4 years ago Group.php 4 years ago MetaValuesFactory.php 4 years ago Option.php 4 years ago OptionGroup.php 4 years ago Options.php 4 years ago Paginated.php 4 years ago Response.php 4 years ago Value.php 4 years ago
Response.php
65 lines
1 <?php
2
3 namespace AC\Helper\Select;
4
5 final class Response {
6
7 /**
8 * @var Options
9 */
10 private $options;
11
12 /**
13 * @var bool
14 */
15 private $more;
16
17 /**
18 * @param Options $options
19 * @param bool $more
20 */
21 public function __construct( Options $options, $more = false ) {
22 $this->options = $options;
23 $this->more = (bool) $more;
24 }
25
26 /**
27 * @param array $options
28 *
29 * @return array
30 */
31 private function parse_options( array $options ) {
32 $results = [];
33
34 foreach ( $options as $option ) {
35 switch ( true ) {
36 case $option instanceof OptionGroup:
37 $results[] = [
38 'text' => $option->get_label(),
39 'children' => $this->parse_options( $option->get_options() ),
40 ];
41
42 break;
43 case $option instanceof Option:
44 $results[] = [
45 'id' => $option->get_value(),
46 'text' => $option->get_label(),
47 ];
48
49 break;
50 }
51 }
52
53 return $results;
54 }
55
56 public function __invoke() {
57 return [
58 'results' => $this->parse_options( $this->options->get_copy() ),
59 'pagination' => [
60 'more' => $this->more,
61 ],
62 ];
63 }
64
65 }