PluginProbe ʕ •ᴥ•ʔ
Pods – Custom Content Types and Fields / 2.7.31.4
Pods – Custom Content Types and Fields v2.7.31.4
2.7.31.4 2.8.23.5 2.9.19.5 3.0.10.5 3.1.4.3 3.2.8.4 3.3.9.2 2.8.23.4 2.9.19.4 3.0.10.4 3.1.4.2 3.2.8.3 3.3.9.1 trunk 1.14.8 2.7.31.3 2.8.23.3 2.9.19.3 3.0.10.3 3.1.4.1 3.2.0 3.2.1 3.2.1.1 3.2.2 3.2.4 3.2.5 3.2.6 3.2.7 3.2.7.1 3.2.8 3.2.8.1 3.2.8.2 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9
pods / ui / admin / setup-edit-field.php
pods / ui / admin Last commit date
upgrade 4 days ago widgets 4 days ago components-admin.php 4 days ago field-option.php 4 days ago form-settings.php 4 days ago form.php 4 days ago help.php 4 days ago postbox-header.php 4 days ago settings-reset.php 4 days ago settings-settings.php 4 days ago settings-tools.php 4 days ago settings.php 4 days ago setup-add.php 4 days ago setup-edit-field-fluid.php 4 days ago setup-edit-field.php 4 days ago setup-edit.php 4 days ago shortcode.php 4 days ago view.php 4 days ago
setup-edit-field.php
160 lines
1 <?php
2 $field = array_merge( $field_settings['field_defaults'], $field );
3
4 // Migrate pick object when saving
5 if ( 'pod' == pods_v( 'pick_object', $field ) ) {
6 if ( isset( PodsMeta::$post_types[ $field['pick_val'] ] ) ) {
7 $field['pick_object'] = 'post_type';
8 } elseif ( isset( PodsMeta::$taxonomies[ $field['pick_val'] ] ) ) {
9 $field['pick_object'] = 'taxonomy';
10 } elseif ( 'user' === $field['pick_val'] && ! empty( PodsMeta::$user ) ) {
11 $field['pick_object'] = 'user';
12 $field['pick_val'] = '';
13 } elseif ( 'comment' === $field['pick_val'] && ! empty( PodsMeta::$comment ) ) {
14 $field['pick_object'] = 'comment';
15 $field['pick_val'] = '';
16 } elseif ( 'media' === $field['pick_val'] && ! empty( PodsMeta::$media ) ) {
17 $field['pick_object'] = 'media';
18 $field['pick_val'] = '';
19 }
20 }
21
22 $ignored_pick_objects = array( 'table' );
23
24 if ( ! in_array( pods_v( 'pick_object', $field ), $ignored_pick_objects, true ) ) {
25 // Set pick object
26 $field['pick_object'] = trim( pods_v( 'pick_object', $field ) . '-' . pods_v( 'pick_val', $field ), '-' );
27 }
28
29 // Unset pick_val for the field to be used above
30 if ( isset( $field['pick_val'] ) ) {
31 unset( $field['pick_val'] );
32 }
33
34 // Remove weight as we're going to allow reordering here
35 unset( $field['weight'], $field['options'], $field['table_info'] );
36
37 // Remove options, we don't need it in the JSON
38 $data = array(
39 'row' => $pods_i,
40 );
41 ?>
42 <tr id="row-<?php echo esc_attr( $pods_i ); ?>" class="pods-manage-row pods-field-init pods-field-<?php echo esc_attr( pods_v( 'name', $field ) ) . ( '--1' === $pods_i ? ' flexible-row' : ' pods-submittable-fields' ); ?>" valign="top"<?php PodsForm::data( $data ); ?>>
43 <th scope="row" class="check-field pods-manage-sort">
44 <img src="<?php echo esc_url( PODS_URL ); ?>ui/images/handle.gif" alt="<?php esc_attr_e( 'Move', 'pods' ); ?>" />
45 </th>
46 <td class="pods-manage-row-label">
47 <strong>
48 <a class="pods-manage-row-edit row-label" title="<?php esc_attr_e( 'Edit this field', 'pods' ); ?>" href="#edit-field">
49 <?php echo esc_html( pods_v( 'label', $field ) ); ?>
50 </a>
51 <abbr title="required" class="required<?php echo esc_attr( 1 == pods_v( 'required', $field ) ? '' : ' hidden' ); ?>">*</abbr>
52 </strong>
53
54 <?php
55 if ( '__1' != pods_v( 'id', $field ) ) {
56 ?>
57 <span class="pods-manage-row-more">
58 [id: <?php echo esc_html( pods_v( 'id', $field ) ); ?>]
59 </span>
60 <?php
61 }
62 ?>
63
64 <div class="row-actions">
65 <span class="edit">
66 <a title="<?php esc_attr_e( 'Edit this field', 'pods' ); ?>" class="pods-manage-row-edit" href="#edit-field"><?php _e( 'Edit', 'pods' ); ?></a> |
67 </span> <span class="duplicate">
68 <a title="<?php esc_attr_e( 'Duplicate this field', 'pods' ); ?>" class="pods-manage-row-duplicate" href="#duplicate-field"><?php _e( 'Duplicate', 'pods' ); ?></a> |
69 </span> <span class="trash pods-manage-row-delete">
70 <a class="submitdelete" title="<?php esc_attr_e( 'Delete this field', 'pods' ); ?>" href="#delete-field"><?php _e( 'Delete', 'pods' ); ?></a>
71 </span>
72 </div>
73 <div class="pods-manage-row-wrapper" id="pods-manage-field-<?php echo esc_attr( $pods_i ); ?>">
74 <?php
75 $hidden_field_name = "field_data_json[" . $pods_i . "]";
76
77 // Convert '&' to an entity prior to calling esc_attr() to preserve pre-existing entities (see: #4495)
78 $hidden_field_value = ( version_compare( PHP_VERSION, '5.4.0', '>=' ) ? json_encode( $field, JSON_UNESCAPED_UNICODE ) : json_encode( $field ) );
79 $hidden_field_value = str_replace( '&', '&amp;', $hidden_field_value );
80 ?>
81 <input type="hidden" name="<?php echo esc_attr( $hidden_field_name ); ?>" value="<?php echo esc_attr( $hidden_field_value ); ?>" class="field_data" />
82
83 <div class="pods-manage-field pods-dependency">
84 <input type="hidden" name="field_data[<?php echo esc_attr( $pods_i ); ?>][id]" value="<?php echo esc_attr( pods_v( 'id', $field ) ); ?>" />
85 <div>
86 </div>
87 </td>
88 <td class="pods-manage-row-name">
89 <a title="Edit this field" class="pods-manage-row-edit row-name" href="#edit-field"><?php echo esc_html( pods_v( 'name', $field ) ); ?></a>
90 </td>
91 <td class="pods-manage-row-type">
92 <?php
93 $type = 'Unknown';
94 $field_type = pods_v( 'type', $field );
95
96 if ( $field_type && isset( $field_types[ $field_type ] ) ) {
97 $type = $field_types[ $field_type ]['label'];
98 }
99
100 $type = esc_html( $type );
101
102 if ( 'pick' === $field_type && '' !== pods_v( 'sister_id', $field, '' ) ) {
103 $type .= ' <small>(' . esc_html__( 'Bi-directional Field', 'pods' ) . ')</small>';
104 }
105
106 echo $type . ' <span class="pods-manage-row-more">[type: ' . esc_html( $field_type ) . ']</span>';
107
108 $pick_object = trim( pods_v( 'pick_object', $field ) . '-' . pods_v( 'pick_val', $field ), '-' );
109
110 if ( 'pick' === pods_v( 'type', $field ) && '' !== pods_v( 'pick_object', $field, '' ) ) {
111 $pick_object_name = null;
112
113 foreach ( $field_settings['pick_object'] as $object => $object_label ) {
114 if ( null !== $pick_object_name ) {
115 break;
116 }
117
118 if ( '-- Select --' === $object_label ) {
119 continue;
120 }
121
122 if ( is_array( $object_label ) ) {
123 foreach ( $object_label as $sub_object => $sub_object_label ) {
124 if ( $pick_object === $sub_object ) {
125 $ies = strlen( $object ) - 3;
126
127 if ( $ies === strpos( $object, 'ies' ) ) {
128 $object = substr( $object, 0, $ies ) . 'y';
129 }
130
131 $object = rtrim( $object, 's' );
132
133 $pick_object_name = esc_html( $sub_object_label ) . ' <small>(' . esc_html( $object ) . ')</small>';
134
135 break;
136 }
137 }
138 } elseif ( pods_v( 'pick_object', $field ) === $object ) {
139 $pick_object_name = esc_html( $object_label );
140
141 break;
142 }//end if
143 }//end foreach
144
145 if ( null === $pick_object_name ) {
146 $pick_object_name = esc_html( ucwords( str_replace( array( '-', '_' ), ' ', pods_v( 'pick_object', $field ) ) ) );
147
148 if ( 0 < strlen( pods_v( 'pick_val', $field ) ) ) {
149 $pick_object_name = esc_html( pods_v( 'pick_val', $field ) . ' (' . $pick_object_name . ')' );
150 }
151 }
152 ?>
153 <?php // $pick_object_name should be pre-sanitized and not escaped here because it may contain literal HTML (#5246) ?>
154 <br /><span class="pods-manage-field-type-desc">&rsaquo; <?php echo $pick_object_name; ?></span>
155 <?php
156 }//end if
157 ?>
158 </td>
159 </tr>
160