1: <?php
2:
3: if ( ! function_exists( 'papi_management_page_type_render_box' ) ) {
4:
5: 6: 7: 8: 9: 10: 11:
12: function papi_management_page_type_render_box( $properties, $tab = false ) {
13: ?>
14: <table class="papi-table">
15: <thead>
16: <tr>
17: <?php if ( $tab ): ?>
18: <th><?php _e( 'Tab Title', 'papi' ); ?></th>
19: <th><?php _e( 'Sort Order', 'papi' ); ?></th>
20: <th><?php _e( 'Properties', 'papi' ); ?></th>
21: <?php else: ?>
22: <th><?php _e( 'Title', 'papi' ); ?></th>
23: <th><?php _e( 'Type', 'papi' ); ?></th>
24: <th><?php _e( 'Slug', 'papi' ); ?></th>
25: <th><?php _e( 'Sort Order', 'papi' ); ?></th>
26: <?php endif; ?>
27: </tr>
28: </thead>
29: <tbody>
30: <?php
31: $properties = papi_populate_properties( $properties );
32:
33: if ( $tab ) {
34: $properties = papi_setup_tabs( $properties );
35: }
36:
37: foreach ( $properties as $property ): ?>
38: <tr>
39: <?php if ( isset( $property->options ) && isset( $property->options->title ) ): ?>
40: <td>
41: <?php echo esc_html( $property->options->title ); ?>
42: <br />
43: <br />
44: <?php echo __( 'Properties', 'papi' ) . ': ' . strval( count( $property->properties ) ); ?>
45: </td>
46: <td>
47: <?php echo esc_html( $property->options->sort_order ); ?>
48: </td>
49: <td>
50: <?php papi_management_page_type_render_box( $property->properties ); ?>
51: </td>
52: <?php else: ?>
53: <td><?php echo esc_html( $property->title ); ?></td>
54: <td><?php echo esc_html( $property->type ); ?></td>
55: <td><?php echo esc_html( $property->get_slug( true ) ); ?></td>
56: <td><?php echo esc_html( $property->sort_order ); ?></td>
57: <?php endif; ?>
58: </tr>
59: <?php endforeach; ?>
60: </tr>
61: </tbody>
62: </table>
63: <?php
64: }
65: }
66:
67: ?>
68: <div class="wrap">
69: <div class="papi-options-logo"></div>
70: <h1><?php echo papi()->name; ?></h1>
71:
72: <br/>
73:
74: <?php
75: $page_type = papi_get_qs( 'page_type' );
76: $page_type = papi_get_page_type_by_id( $page_type );
77:
78: if ( empty( $page_type ) ):
79: ?>
80: <h3><?php _e( 'Cannot find the page type', 'papi' );?></h3>
81: <p>
82: <a href="tools.php?page=papi"><?php echo esc_html( 'Back to list' , 'papi' ); ?></a>
83: </p>
84: <?php
85: else:
86: ?>
87: <h3><?php _e( 'Overview of page type', 'papi' ); ?>: <?php echo esc_html( $page_type->name ); ?></h3>
88:
89: <p>
90: <a href="tools.php?page=papi"><?php echo esc_html( 'Back to list' , 'papi' ); ?></a>
91: </p>
92:
93: <?php
94:
95: $boxes = $page_type->get_boxes();
96:
97: if ( empty( $boxes ) ) {
98: echo sprintf( '<p>%s</p>', esc_html__( 'No meta boxes exists.', 'papi' ) );
99: return;
100: }
101:
102: foreach ( $boxes as $box ):
103: $tab = isset( $box[1] ) && isset( $box[1][0] ) && isset( $box[1][0]->tab ) && $box[1][0]->tab;
104: $top_right_text = __( 'Properties', 'papi' );
105:
106: if ( $tab ) {
107: $top_right_text = __( 'Tabs', 'papi' );
108: }
109:
110: if ( ! isset( $box['title'] ) || empty( $box['title'] ) ) {
111: continue;
112: }
113:
114: $counter = count( papi_get_box_property( $box[1] ) );
115: ?>
116: <div class="postbox papi-box papi-management-box">
117: <div class="handlediv" title="Click to toggle">
118: <br>
119: </div>
120: <h3 class="hndle">
121: <span><?php echo esc_html( $box['title'] ); ?></span>
122: <span class="papi-pull-right"><?php echo esc_html( $top_right_text . ': ' ) . strval( $counter ); ?></span>
123: </h3>
124: <div class="inside">
125: <?php papi_management_page_type_render_box( $box[1], $tab ); ?>
126: </div>
127: </div>
128:
129: <?php endforeach; ?>
130:
131: <?php endif; ?>
132: </div>
133: