upgrade
3 days ago
widgets
3 days ago
components-admin.php
3 days ago
field-option.php
3 days ago
form-settings.php
3 days ago
form.php
3 days ago
help.php
3 days ago
postbox-header.php
3 days ago
settings-reset.php
3 days ago
settings-settings.php
3 days ago
settings-tools.php
3 days ago
settings.php
3 days ago
setup-add.php
3 days ago
setup-edit-field-fluid.php
3 days ago
setup-edit-field.php
3 days ago
setup-edit.php
3 days ago
shortcode.php
3 days ago
view.php
3 days ago
setup-edit.php
932 lines
| 1 | <?php |
| 2 | // Don't load directly. |
| 3 | if ( ! defined( 'ABSPATH' ) || ! pods_is_admin( 'pods' ) ) { |
| 4 | die( '-1' ); |
| 5 | } |
| 6 | |
| 7 | global $pods_i; |
| 8 | |
| 9 | $api = pods_api(); |
| 10 | |
| 11 | $pod = $api->load_pod( array( 'id' => $obj->id ) ); |
| 12 | |
| 13 | $pod_type = pods_v( 'type', $pod ); |
| 14 | |
| 15 | if ( 'taxonomy' == $pod[ 'type' ] && 'none' == $pod[ 'storage' ] && 1 == pods_v( 'enable_extra_fields' ) ) { |
| 16 | $api->save_pod( array( 'id' => $obj->id, 'storage' => 'table' ) ); |
| 17 | |
| 18 | $pod = $api->load_pod( array( 'id' => $obj->id ) ); |
| 19 | |
| 20 | unset( $_GET[ 'enable_extra_fields' ] ); |
| 21 | |
| 22 | pods_message( __( 'Extra fields were successfully enabled for this Custom Taxonomy.', 'pods' ) ); |
| 23 | } |
| 24 | |
| 25 | $field_types = PodsForm::field_types(); |
| 26 | |
| 27 | $field_types_select = array(); |
| 28 | |
| 29 | foreach ( $field_types as $type => $field_type_data ) { |
| 30 | /** |
| 31 | * @var $field_type PodsField |
| 32 | */ |
| 33 | $field_type = PodsForm::field_loader( $type, $field_type_data[ 'file' ] ); |
| 34 | |
| 35 | $field_type_vars = get_class_vars( get_class( $field_type ) ); |
| 36 | |
| 37 | if ( !isset( $field_type_vars[ 'pod_types' ] ) ) |
| 38 | $field_type_vars[ 'pod_types' ] = true; |
| 39 | |
| 40 | // Only show supported field types |
| 41 | if ( true !== $field_type_vars[ 'pod_types' ] ) { |
| 42 | if ( empty( $field_type_vars[ 'pod_types' ] ) ) |
| 43 | continue; |
| 44 | elseif ( is_array( $field_type_vars[ 'pod_types' ] ) && !in_array( $pod_type, $field_type_vars[ 'pod_types' ], true ) ) |
| 45 | continue; |
| 46 | elseif ( !is_array( $field_type_vars[ 'pod_types' ] ) && $pod_type != $field_type_vars[ 'pod_types' ] ) |
| 47 | continue; |
| 48 | } |
| 49 | |
| 50 | if ( !empty( PodsForm::$field_group ) ) { |
| 51 | if ( !isset( $field_types_select[ PodsForm::$field_group ] ) ) |
| 52 | $field_types_select[ PodsForm::$field_group ] = array(); |
| 53 | |
| 54 | $field_types_select[ PodsForm::$field_group ][ $type ] = $field_type_data[ 'label' ]; |
| 55 | } |
| 56 | else { |
| 57 | if ( !isset( $field_types_select[ __( 'Other', 'pods' ) ] ) ) |
| 58 | $field_types_select[ __( 'Other', 'pods' ) ] = array(); |
| 59 | |
| 60 | $field_types_select[ __( 'Other', 'pods' ) ][ $type ] = $field_type_data[ 'label' ]; |
| 61 | } |
| 62 | } |
| 63 | |
| 64 | $field_defaults = array( |
| 65 | 'name' => 'new_field', |
| 66 | 'label' => 'New Field', |
| 67 | 'description' => '', |
| 68 | 'type' => 'text', |
| 69 | 'pick_object' => '', |
| 70 | 'sister_id' => '', |
| 71 | 'required' => 0, |
| 72 | 'unique' => 0, |
| 73 | ); |
| 74 | |
| 75 | $pick_object = PodsForm::field_method( 'pick', 'related_objects', true ); |
| 76 | |
| 77 | $tableless_field_types = PodsForm::tableless_field_types(); |
| 78 | $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' ); |
| 79 | $bidirectional_objects = PodsForm::field_method( 'pick', 'bidirectional_objects' ); |
| 80 | |
| 81 | foreach ( $pod[ 'options' ] as $_option => $_value ) { |
| 82 | $pod[ $_option ] = $_value; |
| 83 | } |
| 84 | |
| 85 | foreach ( $pod[ 'fields' ] as $_field => $_data ) { |
| 86 | $_data[ 'options' ] = (array) $_data[ 'options' ]; |
| 87 | |
| 88 | foreach ( $_data[ 'options' ] as $_option => $_value ) { |
| 89 | $pod[ 'fields' ][ $_field ][ $_option ] = $_value; |
| 90 | } |
| 91 | } |
| 92 | |
| 93 | $pod_name = $pod[ 'name' ]; |
| 94 | |
| 95 | $field_defaults = apply_filters( 'pods_field_defaults', apply_filters( "pods_field_defaults_{$pod_name}", $field_defaults, $pod ) ); |
| 96 | |
| 97 | $pick_table = pods_transient_get( 'pods_tables' ); |
| 98 | |
| 99 | if ( empty( $pick_table ) ) { |
| 100 | $pick_table = array( |
| 101 | '' => __( '-- Select Table --', 'pods' ) |
| 102 | ); |
| 103 | |
| 104 | global $wpdb; |
| 105 | |
| 106 | $tables = $wpdb->get_results( "SHOW TABLES", ARRAY_N ); |
| 107 | |
| 108 | if ( !empty( $tables ) ) { |
| 109 | foreach ( $tables as $table ) { |
| 110 | $pick_table[ $table[ 0 ] ] = $table[ 0 ]; |
| 111 | } |
| 112 | } |
| 113 | |
| 114 | pods_transient_set( 'pods_tables', $pick_table ); |
| 115 | } |
| 116 | |
| 117 | $field_settings = array( |
| 118 | 'field_types_select' => $field_types_select, |
| 119 | 'field_defaults' => $field_defaults, |
| 120 | 'pick_object' => $pick_object, |
| 121 | 'pick_table' => $pick_table, |
| 122 | 'sister_id' => array( '' => __( 'No Related Fields Found', 'pods' ) ) |
| 123 | ); |
| 124 | |
| 125 | $field_settings = apply_filters( 'pods_field_settings', apply_filters( "pods_field_settings_{$pod_name}", $field_settings, $pod ) ); |
| 126 | |
| 127 | $pod[ 'fields' ] = apply_filters( 'pods_fields_edit', apply_filters( "pods_fields_edit_{$pod_name}", $pod[ 'fields' ], $pod ) ); |
| 128 | |
| 129 | global $wpdb; |
| 130 | $max_length_name = 64; |
| 131 | $max_length_name -= 10; // Allow for WP Multisite or prefix changes in the future |
| 132 | $max_length_name -= strlen( $wpdb->prefix . 'pods_' ); |
| 133 | |
| 134 | $tabs = PodsInit::$admin->admin_setup_edit_tabs( $pod ); |
| 135 | $tab_options = PodsInit::$admin->admin_setup_edit_options( $pod ); |
| 136 | |
| 137 | $field_tabs = PodsInit::$admin->admin_setup_edit_field_tabs( $pod ); |
| 138 | $field_tab_options = PodsInit::$admin->admin_setup_edit_field_options( $pod ); |
| 139 | |
| 140 | $no_additional = array(); |
| 141 | |
| 142 | foreach ( $field_tab_options[ 'additional-field' ] as $field_type => $field_type_fields ) { |
| 143 | if ( empty( $field_type_fields ) ) |
| 144 | $no_additional[] = $field_type; |
| 145 | } |
| 146 | |
| 147 | /** |
| 148 | * Make use of the WP core meta box functionality |
| 149 | * |
| 150 | * Currently only context 'side' is available |
| 151 | * |
| 152 | * @since 2.7.0 |
| 153 | * @see https://codex.wordpress.org/Plugin_API/Action_Reference/add_meta_boxes |
| 154 | * @param array $pod The Pod object as an array |
| 155 | */ |
| 156 | do_action( 'pods_add_meta_boxes', '_pods_pod', $pod ); |
| 157 | |
| 158 | $pod_post = get_post( $pod['id'] ); |
| 159 | |
| 160 | /** This action is documented in wp-admin/edit-form-advanced.php */ |
| 161 | do_action( 'add_meta_boxes', $pod_post->post_type, $pod_post ); |
| 162 | ?> |
| 163 | <div class="wrap pods-admin"> |
| 164 | <div id="icon-pods" class="icon32"><br /></div> |
| 165 | <form action="" method="post" class="pods-submittable pods-nav-tabbed"> |
| 166 | <div class="pods-submittable-fields"> |
| 167 | <input type="hidden" name="action" value="pods_admin" /> |
| 168 | <input type="hidden" name="method" value="save_pod" /> |
| 169 | <input type="hidden" name="_wpnonce" value="<?php echo esc_attr( wp_create_nonce( 'pods-save_pod' ) ); ?>" /> |
| 170 | <input type="hidden" name="id" value="<?php echo esc_attr( (int) $pod[ 'id' ] ); ?>" /> |
| 171 | <input type="hidden" name="old_name" value="<?php echo esc_attr( $pod[ 'name' ] ); ?>" /> |
| 172 | |
| 173 | <h2> |
| 174 | <?php esc_html_e( 'Edit Pod', 'pods' ); ?>: |
| 175 | <?php |
| 176 | if ( ( in_array( $pod[ 'type' ], array( 'post_type', 'taxonomy' ), true ) && !empty( $pod[ 'object' ] ) ) || in_array( $pod[ 'type' ], array( 'media', 'user', 'comment' ), true ) ) { |
| 177 | ?> |
| 178 | <em><?php echo esc_html( $pod[ 'name' ] ); ?></em> |
| 179 | <?php |
| 180 | } |
| 181 | else { |
| 182 | ?> |
| 183 | <span class="pods-sluggable"> |
| 184 | <span class="pods-slug"> |
| 185 | <em><?php echo esc_html( $pod[ 'name' ] ); ?></em> |
| 186 | <input type="button" class="edit-slug-button button" value="<?php esc_attr_e( 'Edit', 'pods' ); ?>" /> |
| 187 | </span> |
| 188 | <span class="pods-slug-edit"> |
| 189 | <?php echo PodsForm::field( 'name', pods_v( 'name', $pod ), 'db', array( |
| 190 | 'attributes' => array( |
| 191 | 'maxlength' => $max_length_name, |
| 192 | 'size' => 25 |
| 193 | ), |
| 194 | 'class' => 'pods-validate pods-validate-required' |
| 195 | ) ); ?> |
| 196 | <input type="button" class="save-button button" value="<?php esc_attr_e( 'OK', 'pods' ); ?>" /> <a class="cancel" href="#cancel-edit"><?php esc_html_e( 'Cancel', 'pods' ); ?></a> |
| 197 | </span> |
| 198 | </span> |
| 199 | <?php |
| 200 | } |
| 201 | ?> |
| 202 | </h2> |
| 203 | |
| 204 | <?php |
| 205 | if ( !empty( $tabs ) ) { |
| 206 | ?> |
| 207 | |
| 208 | <h2 class="nav-tab-wrapper pods-nav-tabs"> |
| 209 | <?php |
| 210 | $default = sanitize_title( pods_v( 'tab', 'get', 'manage-fields', null, true ) ); |
| 211 | |
| 212 | if ( !isset( $tabs[ $default ] ) ) { |
| 213 | $tab_keys = array_keys( $tabs ); |
| 214 | |
| 215 | $default = current( $tab_keys ); |
| 216 | } |
| 217 | |
| 218 | foreach ( $tabs as $tab => $label ) { |
| 219 | if ( !in_array( $tab, array( 'manage-fields', 'labels', 'extra-fields' ), true ) && ( !isset( $tab_options[ $tab ] ) || empty( $tab_options[ $tab ] ) ) ) |
| 220 | continue; |
| 221 | |
| 222 | $class = ''; |
| 223 | |
| 224 | $tab = sanitize_title( $tab ); |
| 225 | |
| 226 | if ( $tab == $default ) |
| 227 | $class = ' nav-tab-active'; |
| 228 | ?> |
| 229 | <a href="#pods-<?php echo esc_attr( $tab ); ?>" class="nav-tab<?php echo esc_attr( $class ); ?> pods-nav-tab-link"> |
| 230 | <?php echo $label; ?> |
| 231 | </a> |
| 232 | <?php |
| 233 | } |
| 234 | ?> |
| 235 | </h2> |
| 236 | <?php |
| 237 | } |
| 238 | ?> |
| 239 | </div> |
| 240 | |
| 241 | <?php |
| 242 | if ( isset( $_GET[ 'do' ] ) ) { |
| 243 | $action = __( 'saved', 'pods' ); |
| 244 | |
| 245 | $do = pods_v( 'do', 'get', 'save' ); |
| 246 | |
| 247 | if ( 'create' == $do ) |
| 248 | $action = __( 'created', 'pods' ); |
| 249 | elseif ( 'duplicate' ==$do ) |
| 250 | $action = __( 'duplicated', 'pods' ); |
| 251 | |
| 252 | $message = sprintf( __( '<strong>Success!</strong> %1$s %2$s successfully.', 'pods' ), $obj->item, $action ); |
| 253 | |
| 254 | echo $obj->message( $message ); |
| 255 | } |
| 256 | ?> |
| 257 | |
| 258 | <div id="poststuff" class="poststuff"> |
| 259 | <img src="<?php echo esc_url( PODS_URL ); ?>ui/images/pods-logo-notext-rgb-transparent.png" class="pods-leaf-watermark-right" /> |
| 260 | <!-- /inner-sidebar --> |
| 261 | <div id="post-body" class="meta-box-holder columns-2"> |
| 262 | <div id="post-body-content" class="pods-nav-tab-group"> |
| 263 | |
| 264 | <?php |
| 265 | if ( isset( $tabs[ 'manage-fields' ] ) ) { |
| 266 | ?> |
| 267 | <div id="pods-manage-fields" class="pods-nav-tab"> |
| 268 | <p class="pods-manage-row-add pods-float-right"> |
| 269 | <a href="#add-field" class="button-primary"><?php _e( 'Add Field', 'pods' ); ?></a> |
| 270 | </p> |
| 271 | |
| 272 | <?php |
| 273 | if ( !empty( $tabs ) ) |
| 274 | echo '<h2>' . __( 'Manage Fields', 'pods' ) . '</h2>'; |
| 275 | |
| 276 | do_action( 'pods_admin_ui_setup_edit_fields', $pod, $obj ); |
| 277 | ?> |
| 278 | |
| 279 | <!-- pods table --> |
| 280 | <table class="widefat fixed pages" cellspacing="0"> |
| 281 | <thead> |
| 282 | <tr> |
| 283 | <th scope="col" id="cb" class="manage-column field-cb check-column"> |
| 284 | <span> </span> |
| 285 | </th> |
| 286 | <th scope="col" id="label" class="manage-column field-label"> |
| 287 | <span><?php esc_html_e( 'Label', 'pods' ); pods_help( "<h6>" . __( 'Label', 'pods' ) . "</h6>" . __( 'The label is the descriptive name to identify the Pod field.', 'pods' ) ); ?></span> |
| 288 | </th> |
| 289 | <th scope="col" id="machine-name" class="manage-column field-machine-name"> |
| 290 | <span><?php esc_html_e( 'Name', 'pods' ); pods_help( "<h6>" . __( 'Name', 'pods' ) . "</h6>" . __( 'The name attribute is what is used to identify and access the Pod field programatically.', 'pods' ) ); ?></span> |
| 291 | </th> |
| 292 | <th scope="col" id="field-type" class="manage-column field-field-type"> |
| 293 | <span><?php esc_html_e( 'Field Type', 'pods' ); pods_help( "<h6>" . __( 'Field Type', 'pods' ) . "</h6>" . __( 'Field types are used to determine what kind of data will be stored in the Pod. They can range from, dates, text, files, etc.', 'pods' ) ); ?></span> |
| 294 | </th> |
| 295 | </tr> |
| 296 | </thead> |
| 297 | <tfoot> |
| 298 | <tr> |
| 299 | <th scope="col" class="manage-column field-cb check-column"> |
| 300 | <span> </span> |
| 301 | </th> |
| 302 | <th scope="col" class="manage-column field-label"> |
| 303 | <span><?php esc_html_e( 'Label', 'pods' ); pods_help( "<h6>" . __( 'Label', 'pods' ) . "</h6>" . __( 'The label is the descriptive name to identify the Pod field.', 'pods' ) ); ?></span> |
| 304 | </th> |
| 305 | <th scope="col" class="manage-column field-machine-name"> |
| 306 | <span><?php esc_html_e( 'Name', 'pods' ); pods_help( "<h6>" . __( 'Name', 'pods' ) . "</h6>" . __( 'The name attribute is what is used to identify and access the Pod field programatically.', 'pods' ) ); ?></span> |
| 307 | </th> |
| 308 | <th scope="col" class="manage-column field-field-type"> |
| 309 | <span><?php esc_html_e( 'Field Type', 'pods' ); pods_help( "<h6>" . __( 'Field Type', 'pods' ) . "</h6>" . __( 'Field types are used to determine what kind of data will be stored in the Pod. They can range from, dates, text, files, etc.', 'pods' ) ); ?></span> |
| 310 | </th> |
| 311 | </tr> |
| 312 | </tfoot> |
| 313 | <tbody class="pods-manage-list"> |
| 314 | <?php |
| 315 | // Empty Row for Flexible functionality |
| 316 | $pods_i = '--1'; |
| 317 | |
| 318 | $field = array( |
| 319 | 'id' => '__1', |
| 320 | 'name' => '', |
| 321 | 'label' => '', |
| 322 | 'type' => 'text' |
| 323 | ); |
| 324 | |
| 325 | include PODS_DIR . 'ui/admin/setup-edit-field-fluid.php'; |
| 326 | |
| 327 | $pods_i = 1; |
| 328 | |
| 329 | foreach ( $pod[ 'fields' ] as $field ) { |
| 330 | include PODS_DIR . 'ui/admin/setup-edit-field.php'; |
| 331 | |
| 332 | $pods_i++; |
| 333 | } |
| 334 | ?> |
| 335 | <tr class="no-items<?php echo esc_attr( 1 < $pods_i ? ' hidden' : '' ); ?>"> |
| 336 | <td class="colspanchange" colspan="4"><?php esc_html_e( 'No fields have been added yet', 'pods' ); ?></td> |
| 337 | </tr> |
| 338 | </tbody> |
| 339 | </table> |
| 340 | <!-- /pods table --> |
| 341 | <p class="pods-manage-row-add"> |
| 342 | <a href="#add-field" class="button-primary"><?php _e( 'Add Field', 'pods' ); ?></a> |
| 343 | </p> |
| 344 | </div> |
| 345 | <?php |
| 346 | } |
| 347 | |
| 348 | $pods_tab_form = true; |
| 349 | |
| 350 | if ( isset( $tabs[ 'labels' ] ) ) { |
| 351 | ?> |
| 352 | <div id="pods-labels" class="pods-nav-tab pods-manage-field pods-dependency pods-submittable-fields"> |
| 353 | <?php |
| 354 | |
| 355 | $fields = $tab_options[ 'labels' ]; |
| 356 | $field_options = PodsForm::fields_setup( $fields ); |
| 357 | $field = $pod; |
| 358 | |
| 359 | include PODS_DIR . 'ui/admin/field-option.php'; |
| 360 | |
| 361 | ?> |
| 362 | </div> |
| 363 | <?php |
| 364 | } |
| 365 | |
| 366 | if ( isset( $tabs[ 'advanced' ] ) ) { |
| 367 | ?> |
| 368 | <div id="pods-advanced" class="pods-nav-tab pods-manage-field pods-dependency pods-submittable-fields"> |
| 369 | <?php |
| 370 | if ( 'post_type' == $pod_type && strlen( pods_v( 'object', $pod ) ) < 1 ) { |
| 371 | $fields = $tab_options[ 'advanced' ]; |
| 372 | $field_options = PodsForm::fields_setup( $fields ); |
| 373 | $field = $pod; |
| 374 | |
| 375 | include PODS_DIR . 'ui/admin/field-option.php'; |
| 376 | ?> |
| 377 | <div class="pods-field-option-group"> |
| 378 | <p class="pods-field-option-group-label"> |
| 379 | <?php _e( 'Supports', 'pods' ); ?> |
| 380 | </p> |
| 381 | |
| 382 | <div class="pods-pick-values pods-pick-checkbox"> |
| 383 | <ul> |
| 384 | <li> |
| 385 | <div class="pods-field pods-boolean"> |
| 386 | <?php echo PodsForm::field( 'supports_title', pods_v( 'supports_title', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Title', 'pods' ) ) ); ?> |
| 387 | </div> |
| 388 | </li> |
| 389 | <li> |
| 390 | <div class="pods-field pods-boolean"> |
| 391 | <?php echo PodsForm::field( 'supports_editor', pods_v( 'supports_editor', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Editor', 'pods' ) ) ); ?> |
| 392 | </div> |
| 393 | </li> |
| 394 | <li> |
| 395 | <div class="pods-field pods-boolean"> |
| 396 | <?php echo PodsForm::field( 'supports_author', pods_v( 'supports_author', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Author', 'pods' ) ) ); ?> |
| 397 | </div> |
| 398 | </li> |
| 399 | <li> |
| 400 | <div class="pods-field pods-boolean"> |
| 401 | <?php echo PodsForm::field( 'supports_thumbnail', pods_v( 'supports_thumbnail', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Featured Image', 'pods' ), 'dependency' => true ) ); ?> |
| 402 | </div> |
| 403 | </li> |
| 404 | <li> |
| 405 | <div class="pods-field pods-boolean"> |
| 406 | <?php echo PodsForm::field( 'supports_excerpt', pods_v( 'supports_excerpt', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Excerpt', 'pods' ) ) ); ?> |
| 407 | </div> |
| 408 | </li> |
| 409 | <li> |
| 410 | <div class="pods-field pods-boolean"> |
| 411 | <?php echo PodsForm::field( 'supports_trackbacks', pods_v( 'supports_trackbacks', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Trackbacks', 'pods' ) ) ); ?> |
| 412 | </div> |
| 413 | </li> |
| 414 | <li> |
| 415 | <div class="pods-field pods-boolean"> |
| 416 | <?php echo PodsForm::field( 'supports_custom_fields', pods_v( 'supports_custom_fields', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Custom Fields', 'pods' ) ) ); ?> |
| 417 | </div> |
| 418 | </li> |
| 419 | <li> |
| 420 | <div class="pods-field pods-boolean"> |
| 421 | <?php echo PodsForm::field( 'supports_comments', pods_v( 'supports_comments', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Comments', 'pods' ) ) ); ?> |
| 422 | </div> |
| 423 | </li> |
| 424 | <li> |
| 425 | <div class="pods-field pods-boolean"> |
| 426 | <?php echo PodsForm::field( 'supports_revisions', pods_v( 'supports_revisions', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Revisions', 'pods' ) ) ); ?> |
| 427 | </div> |
| 428 | </li> |
| 429 | <li> |
| 430 | <div class="pods-field pods-boolean"> |
| 431 | <?php echo PodsForm::field( 'supports_page_attributes', pods_v( 'supports_page_attributes', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Page Attributes', 'pods' ) ) ); ?> |
| 432 | </div> |
| 433 | </li> |
| 434 | <li> |
| 435 | <div class="pods-field pods-boolean"> |
| 436 | <?php echo PodsForm::field( 'supports_post_formats', pods_v( 'supports_post_formats', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Post Formats', 'pods' ) ) ); ?> |
| 437 | </div> |
| 438 | </li> |
| 439 | |
| 440 | <?php if ( function_exists( 'genesis' ) ) { ?> |
| 441 | <li> |
| 442 | <div class="pods-field pods-boolean"> |
| 443 | <?php echo PodsForm::field( 'supports_genesis_seo', pods_v( 'supports_genesis_seo', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Genesis: SEO', 'pods' ) ) ); ?> |
| 444 | </div> |
| 445 | </li> |
| 446 | <li> |
| 447 | <div class="pods-field pods-boolean"> |
| 448 | <?php echo PodsForm::field( 'supports_genesis_layouts', pods_v( 'supports_genesis_layouts', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Genesis: Layouts', 'pods' ) ) ); ?> |
| 449 | </div> |
| 450 | </li> |
| 451 | <li> |
| 452 | <div class="pods-field pods-boolean"> |
| 453 | <?php echo PodsForm::field( 'supports_genesis_simple_sidebars', pods_v( 'supports_genesis_simple_sidebars', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Genesis: Simple Sidebars', 'pods' ) ) ); ?> |
| 454 | </div> |
| 455 | </li> |
| 456 | <?php } ?> |
| 457 | |
| 458 | <?php if ( defined( 'YARPP_VERSION' ) ) { ?> |
| 459 | <li> |
| 460 | <div class="pods-field pods-boolean"> |
| 461 | <?php echo PodsForm::field( 'supports_yarpp_support', pods_v( 'supports_yarpp_support', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'YARPP Support', 'pods' ) ) ); ?> |
| 462 | </div> |
| 463 | </li> |
| 464 | <?php } ?> |
| 465 | |
| 466 | <?php if ( class_exists( 'Jetpack' ) ) { ?> |
| 467 | <li> |
| 468 | <div class="pods-field pods-boolean"> |
| 469 | <?php echo PodsForm::field( 'supports_jetpack_publicize', pods_v( 'supports_jetpack_publicize', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Jetpack Publicize Support', 'pods' ) ) ); ?> |
| 470 | </div> |
| 471 | </li> |
| 472 | <li> |
| 473 | <div class="pods-field pods-boolean"> |
| 474 | <?php echo PodsForm::field( 'supports_jetpack_markdown', pods_v( 'supports_jetpack_markdown', $pod, false ), 'boolean', array( 'boolean_yes_label' => __( 'Jetpack Markdown Support', 'pods' ) ) ); ?> |
| 475 | </div> |
| 476 | </li> |
| 477 | <?php } ?> |
| 478 | </ul> |
| 479 | </div> |
| 480 | </div> |
| 481 | <div class="pods-field-option"> |
| 482 | <?php echo PodsForm::label( 'supports_custom', __( 'Advanced Supports', 'pods' ), __( 'Comma-separated list of custom "supports" values to pass to register_post_type.', 'pods' ) ); ?> |
| 483 | <?php echo PodsForm::field( 'supports_custom', pods_v( 'supports_custom', $pod, '' ), 'text' ); ?> |
| 484 | </div> |
| 485 | <div class="pods-field-option-group"> |
| 486 | <p class="pods-field-option-group-label"> |
| 487 | <?php _e( 'Built-in Taxonomies', 'pods' ); ?> |
| 488 | </p> |
| 489 | |
| 490 | <div class="pods-pick-values pods-pick-checkbox"> |
| 491 | <ul> |
| 492 | <?php |
| 493 | foreach ( (array) $field_settings[ 'pick_object' ][ __( 'Taxonomies', 'pods' ) ] as $taxonomy => $label ) { |
| 494 | $taxonomy = pods_str_replace( 'taxonomy-', '', $taxonomy, 1 ); |
| 495 | ?> |
| 496 | <li> |
| 497 | <div class="pods-field pods-boolean"> |
| 498 | <?php echo PodsForm::field( 'built_in_taxonomies_' . $taxonomy, pods_v( 'built_in_taxonomies_' . $taxonomy, $pod, false ), 'boolean', array( 'boolean_yes_label' => $label . ' <small>(' . $taxonomy . ')</small>' ) ); ?> |
| 499 | </div> |
| 500 | </li> |
| 501 | <?php |
| 502 | } |
| 503 | ?> |
| 504 | </ul> |
| 505 | </div> |
| 506 | </div> |
| 507 | <?php |
| 508 | } |
| 509 | elseif ( 'taxonomy' == $pod_type && strlen( pods_v( 'object', $pod ) ) < 1 ) { |
| 510 | $fields = $tab_options[ 'advanced' ]; |
| 511 | $field_options = PodsForm::fields_setup( $fields ); |
| 512 | $field = $pod; |
| 513 | |
| 514 | include PODS_DIR . 'ui/admin/field-option.php'; |
| 515 | ?> |
| 516 | <div class="pods-field-option-group"> |
| 517 | <p class="pods-field-option-group-label"> |
| 518 | <?php _e( 'Associated Post Types', 'pods' ); ?> |
| 519 | </p> |
| 520 | |
| 521 | <div class="pods-pick-values pods-pick-checkbox"> |
| 522 | <ul> |
| 523 | <?php |
| 524 | foreach ( (array) $field_settings[ 'pick_object' ][ __( 'Post Types', 'pods' ) ] as $post_type => $label ) { |
| 525 | $post_type = pods_str_replace( 'post_type-', '', $post_type, 1 ); |
| 526 | $label = str_replace( array( '(', ')' ), array( '<small>(', ')</small>' ), $label ); |
| 527 | ?> |
| 528 | <li> |
| 529 | <div class="pods-field pods-boolean"> |
| 530 | <?php echo PodsForm::field( 'built_in_post_types_' . $post_type, pods_v( 'built_in_post_types_' . $post_type, $pod, false ), 'boolean', array( 'boolean_yes_label' => $label ) ); ?> |
| 531 | </div> |
| 532 | </li> |
| 533 | <?php |
| 534 | } |
| 535 | ?> |
| 536 | <li> |
| 537 | <div class="pods-field pods-boolean"> |
| 538 | <?php echo PodsForm::field( 'built_in_post_types_attachment', pods_v( 'built_in_post_types_attachment', $pod, false ), 'boolean', array( 'boolean_yes_label' => 'Media <small>(attachment)</small>' ) ); ?> |
| 539 | </div> |
| 540 | </li> |
| 541 | </ul> |
| 542 | </div> |
| 543 | </div> |
| 544 | <?php |
| 545 | } |
| 546 | elseif ( 'pod' == $pod_type ) { |
| 547 | ?> |
| 548 | <div class="pods-field-option"> |
| 549 | <?php echo PodsForm::label( 'detail_url', __( 'Detail Page URL', 'pods' ), __( 'help', 'pods' ) ); ?> |
| 550 | <?php echo PodsForm::field( 'detail_url', pods_v( 'detail_url', $pod ), 'text' ); ?> |
| 551 | </div> |
| 552 | |
| 553 | <?php |
| 554 | $index_fields = array( 'id' => 'ID' ); |
| 555 | |
| 556 | foreach ( $pod[ 'fields' ] as $field ) { |
| 557 | if ( !in_array( $field[ 'type' ], $tableless_field_types, true ) ) |
| 558 | $index_fields[ $field[ 'name' ] ] = $field[ 'label' ]; |
| 559 | } |
| 560 | ?> |
| 561 | |
| 562 | <div class="pods-field-option"> |
| 563 | <?php echo PodsForm::label( 'pod_index', __( 'Title Field', 'pods' ), __( 'If you delete the "name" field, we need to specify the field to use as your primary title field. This field will serve as an index of your content. Most commonly this field represents the name of a person, place, thing, or a summary field.', 'pods' ) ); ?> |
| 564 | <?php echo PodsForm::field( 'pod_index', pods_v( 'pod_index', $pod, 'name' ), 'pick', array( 'data' => $index_fields ) ); ?> |
| 565 | </div> |
| 566 | |
| 567 | <div class="pods-field-option"> |
| 568 | <?php echo PodsForm::label( 'hierarchical', __( 'Hierarchical', 'pods' ), __( 'help', 'pods' ) ); ?> |
| 569 | <?php echo PodsForm::field( 'hierarchical', (int) pods_v( 'hierarchical', $pod, 0 ), 'boolean', array( 'dependency' => true, 'boolean_yes_label' => '' ) ); ?> |
| 570 | </div> |
| 571 | |
| 572 | <?php |
| 573 | $hierarchical_fields = array(); |
| 574 | |
| 575 | foreach ( $pod[ 'fields' ] as $field ) { |
| 576 | if ( 'pick' == $field[ 'type' ] && 'pod' == pods_v( 'pick_object', $field ) && $pod[ 'name' ] == pods_v( 'pick_val', $field ) && 'single' == pods_v( 'pick_format_type', $field[ 'options' ] ) ) |
| 577 | $hierarchical_fields[ $field[ 'name' ] ] = $field[ 'label' ]; |
| 578 | } |
| 579 | |
| 580 | if ( empty( $hierarchical_fields ) ) |
| 581 | $hierarchical_fields = array( '' => __( 'No Hierarchical Fields found', 'pods' ) ); |
| 582 | ?> |
| 583 | |
| 584 | <div class="pods-field-option pods-depends-on pods-depends-on-hierarchical"> |
| 585 | <?php echo PodsForm::label( 'pod_parent', __( 'Hierarchical Field', 'pods' ), __( 'help', 'pods' ) ); ?> |
| 586 | <?php echo PodsForm::field( 'pod_parent', pods_v( 'pod_parent', $pod, 'name' ), 'pick', array( 'data' => $hierarchical_fields ) ); ?> |
| 587 | </div> |
| 588 | |
| 589 | <?php |
| 590 | if ( class_exists( 'Pods_Helpers' ) ) { |
| 591 | ?> |
| 592 | |
| 593 | <div class="pods-field-option"> |
| 594 | <?php |
| 595 | $pre_save_helpers = array( '' => '-- Select --' ); |
| 596 | |
| 597 | $helpers = $api->load_helpers( array( 'options' => array( 'helper_type' => 'pre_save' ) ) ); |
| 598 | |
| 599 | foreach ( $helpers as $helper ) { |
| 600 | $pre_save_helpers[ $helper[ 'name' ] ] = $helper[ 'name' ]; |
| 601 | } |
| 602 | |
| 603 | echo PodsForm::label( 'pre_save_helpers', __( 'Pre-Save Helper(s)', 'pods' ), __( 'help', 'pods' ) ); |
| 604 | echo PodsForm::field( 'pre_save_helpers', pods_v( 'pre_save_helpers', $pod ), 'pick', array( 'data' => $pre_save_helpers ) ); |
| 605 | ?> |
| 606 | </div> |
| 607 | <div class="pods-field-option"> |
| 608 | <?php |
| 609 | $post_save_helpers = array( '' => '-- Select --' ); |
| 610 | |
| 611 | $helpers = $api->load_helpers( array( 'options' => array( 'helper_type' => 'post_save' ) ) ); |
| 612 | |
| 613 | foreach ( $helpers as $helper ) { |
| 614 | $post_save_helpers[ $helper[ 'name' ] ] = $helper[ 'name' ]; |
| 615 | } |
| 616 | |
| 617 | echo PodsForm::label( 'post_save_helpers', __( 'Post-Save Helper(s)', 'pods' ), __( 'help', 'pods' ) ); |
| 618 | echo PodsForm::field( 'post_save_helpers', pods_v( 'post_save_helpers', $pod ), 'pick', array( 'data' => $post_save_helpers ) ); |
| 619 | ?> |
| 620 | </div> |
| 621 | <div class="pods-field-option"> |
| 622 | <?php |
| 623 | $pre_delete_helpers = array( '' => '-- Select --' ); |
| 624 | |
| 625 | $helpers = $api->load_helpers( array( 'options' => array( 'helper_type' => 'pre_delete' ) ) ); |
| 626 | |
| 627 | foreach ( $helpers as $helper ) { |
| 628 | $pre_delete_helpers[ $helper[ 'name' ] ] = $helper[ 'name' ]; |
| 629 | } |
| 630 | |
| 631 | echo PodsForm::label( 'pre_delete_helpers', __( 'Pre-Delete Helper(s)', 'pods' ), __( 'help', 'pods' ) ); |
| 632 | echo PodsForm::field( 'pre_delete_helpers', pods_v( 'pre_delete_helpers', $pod ), 'pick', array( 'data' => $pre_delete_helpers ) ); |
| 633 | ?> |
| 634 | </div> |
| 635 | <div class="pods-field-option"> |
| 636 | <?php |
| 637 | $post_delete_helpers = array( '' => '-- Select --' ); |
| 638 | |
| 639 | $helpers = $api->load_helpers( array( 'options' => array( 'helper_type' => 'post_delete' ) ) ); |
| 640 | |
| 641 | foreach ( $helpers as $helper ) { |
| 642 | $post_delete_helpers[ $helper[ 'name' ] ] = $helper[ 'name' ]; |
| 643 | } |
| 644 | |
| 645 | echo PodsForm::label( 'post_delete_helpers', __( 'Post-Delete Helper(s)', 'pods' ), __( 'help', 'pods' ) ); |
| 646 | echo PodsForm::field( 'post_delete_helpers', pods_v( 'post_delete_helpers', $pod ), 'pick', array( 'data' => $post_delete_helpers ) ); |
| 647 | ?> |
| 648 | </div> |
| 649 | <?php |
| 650 | } |
| 651 | } |
| 652 | ?> |
| 653 | </div> |
| 654 | <?php |
| 655 | } |
| 656 | |
| 657 | foreach ( $tabs as $tab => $tab_label ) { |
| 658 | $tab = sanitize_title( $tab ); |
| 659 | |
| 660 | if ( in_array( $tab, array( 'manage-fields', 'labels', 'advanced', 'extra-fields' ), true ) || !isset( $tab_options[ $tab ] ) || empty( $tab_options[ $tab ] ) ) |
| 661 | continue; |
| 662 | ?> |
| 663 | <div id="pods-<?php echo esc_attr( $tab ); ?>" class="pods-nav-tab pods-manage-field pods-dependency pods-submittable-fields"> |
| 664 | <?php |
| 665 | $fields = $tab_options[ $tab ]; |
| 666 | $field_options = PodsForm::fields_setup( $fields ); |
| 667 | $field = $pod; |
| 668 | |
| 669 | include PODS_DIR . 'ui/admin/field-option.php'; |
| 670 | ?> |
| 671 | </div> |
| 672 | <?php |
| 673 | } |
| 674 | |
| 675 | if ( isset( $tabs[ 'extra-fields' ] ) ) { |
| 676 | ?> |
| 677 | <div id="pods-extra-fields" class="pods-nav-tab"> |
| 678 | <p><?php _e( 'Taxonomies do not support extra fields natively, but Pods can add this feature for you easily. Table based storage will operate in a way where each field you create for your content type becomes a field in a table.', 'pods' ); ?></p> |
| 679 | |
| 680 | <p><?php echo sprintf( __( 'Enabling extra fields for this taxonomy will add a custom table into your database as <em>%s</em>.', 'pods' ), $wpdb->prefix . 'pods_' . pods_v( 'name', $pod ) ); ?></p> |
| 681 | |
| 682 | <p><a href="https://pods.io/docs/comparisons/compare-storage-types/" target="_blank" rel="noopener noreferrer"><?php _e( 'Find out more', 'pods' ); ?> »</a></p> |
| 683 | |
| 684 | <p class="submit"> |
| 685 | <a href="<?php echo esc_url( pods_query_arg( array( 'enable_extra_fields' => 1 ) ) ); ?>" class="button-primary"><?php _e( 'Enable Extra Fields', 'pods' ); ?></a> |
| 686 | </p> |
| 687 | </div> |
| 688 | <?php |
| 689 | } |
| 690 | ?> |
| 691 | </div> |
| 692 | <!-- /#post-body-content --> |
| 693 | |
| 694 | <div id="postbox-container-1" class="postbox-container pods_floatmenu"> |
| 695 | <div id="side-info-field" class="inner-sidebar"> |
| 696 | <div id="side-sortables"> |
| 697 | <div id="submitdiv" class="postbox pods-no-toggle"> |
| 698 | <h3><span><?php esc_html_e( 'Manage', 'pods' ); ?> <small>(<a href="<?php echo esc_url( pods_query_arg( array( 'action' . $obj->num => 'manage', 'id' . $obj->num => '' ) ) ); ?>">« <?php _e( 'Back to Manage', 'pods' ); ?></a>) |
| 699 | </small></span></h3> |
| 700 | <div class="inside"> |
| 701 | <div class="submitbox" id="submitpost"> |
| 702 | <div id="major-publishing-actions"> |
| 703 | <div id="delete-action"> |
| 704 | <a href="<?php echo esc_url( pods_query_arg( array( 'action' . $obj->num => 'delete', '_wpnonce' => wp_create_nonce( 'pods-ui-action-delete' ) ) ) ); ?>" class="submitdelete deletion pods-confirm" data-confirm="<?php _e( 'Are you sure you want to delete this Pod? All fields and data will be removed.', 'pods' ); ?>"> <?php _e( 'Delete', 'pods' ); ?> Pod </a> |
| 705 | </div> |
| 706 | <div id="publishing-action"> |
| 707 | <img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" /> |
| 708 | <button class="button-primary" type="submit"><?php esc_html_e( 'Save Pod', 'pods' ); ?></button> |
| 709 | </div> |
| 710 | <div class="clear"></div> |
| 711 | </div> |
| 712 | </div> |
| 713 | </div> |
| 714 | </div> |
| 715 | <!-- /#submitdiv --> |
| 716 | <div class="pods-submittable-fields"> |
| 717 | <?php do_meta_boxes( '_pods_pod', 'side', $pod_post ); ?> |
| 718 | </div> |
| 719 | </div> |
| 720 | </div> |
| 721 | </div> |
| 722 | </div> |
| 723 | <!-- /#post-body --> |
| 724 | </div> |
| 725 | <!-- /poststuff --> |
| 726 | </form> |
| 727 | </div> |
| 728 | <script type="text/javascript"> |
| 729 | <?php |
| 730 | $pods_field_types = array(); |
| 731 | |
| 732 | foreach ( $field_types as $field_type => $field_type_data ) { |
| 733 | $pods_field_types[] = "'" . esc_js( $field_type ) . "' : '" . esc_js( $field_type_data[ 'label' ] ) . "'"; |
| 734 | } |
| 735 | |
| 736 | $pods_pick_objects = array(); |
| 737 | |
| 738 | $pick_object_singular = array( |
| 739 | __( 'Pods', 'pods' ) => __( 'Pod', 'pods' ), |
| 740 | __( 'Post Types', 'pods' ) => __( 'Post Type', 'pods' ), |
| 741 | __( 'Taxonomies', 'pods' ) => __( 'Taxonomy', 'pods' ) |
| 742 | ); |
| 743 | |
| 744 | foreach ( $field_settings[ 'pick_object' ] as $object => $object_label ) { |
| 745 | if ( is_array( $object_label ) ) { |
| 746 | if ( isset( $pick_object_singular[ $object ] ) ) |
| 747 | $object = ' <small>(' . esc_js( $pick_object_singular[ $object ] ) . ')</small>'; |
| 748 | else |
| 749 | $object = ''; |
| 750 | |
| 751 | foreach ( $object_label as $sub_object => $sub_object_label ) { |
| 752 | $pods_pick_objects[] = "'" . esc_js( $sub_object ) . "' : '" . esc_js( $sub_object_label ) . $object . "'"; |
| 753 | } |
| 754 | } |
| 755 | elseif ( '-- Select --' != $object_label ) |
| 756 | $pods_pick_objects[] = "'" . esc_js( $object ) . "' : '" . esc_js( $object_label ) . "'"; |
| 757 | } |
| 758 | ?> |
| 759 | var pods_field_types = { |
| 760 | <?php echo implode( ",\n ", $pods_field_types ); ?> |
| 761 | }; |
| 762 | var pods_pick_objects = { |
| 763 | <?php echo implode( ",\n ", $pods_pick_objects ); ?> |
| 764 | }; |
| 765 | |
| 766 | jQuery( function ( $ ) { |
| 767 | $( document ).Pods( 'validate' ); |
| 768 | $( document ).Pods( 'submit' ); |
| 769 | $( document ).Pods( 'sluggable' ); |
| 770 | $( document ).Pods( 'sortable' ); |
| 771 | $( document ).Pods( 'collapsible', $( 'tbody.pods-manage-list tr.flexible-row div.pods-manage-field' ) ); |
| 772 | $( document ).Pods( 'toggled' ); |
| 773 | $( document ).Pods( 'tabbed' ); |
| 774 | $( document ).Pods( 'nav_tabbed' ); |
| 775 | $( document ).Pods( 'dependency' ); |
| 776 | $( document ).Pods( 'flexible', $( 'tbody.pods-manage-list tr.flexible-row' ) ); |
| 777 | $( document ).Pods( 'confirm' ); |
| 778 | $( document ).Pods( 'exit_confirm' ); |
| 779 | } ); |
| 780 | |
| 781 | var pods_admin_submit_callback = function ( id ) { |
| 782 | id = parseInt( id ); |
| 783 | var thank_you = '<?php echo pods_slash( pods_query_arg( array( 'do' => 'save' ) ) ); ?>'; |
| 784 | |
| 785 | document.location = thank_you.replace( 'X_ID_X', id ); |
| 786 | }; |
| 787 | |
| 788 | var sisterFieldsProcessing = {}; |
| 789 | |
| 790 | /*global PodsDFV */ |
| 791 | var pods_sister_field = function ( $el ) { |
| 792 | var postData, relatedPodName, selectedValue, $container; |
| 793 | var fieldModel, collection, selectField; |
| 794 | |
| 795 | var id = $el.closest( 'tr.pods-manage-row' ).data( 'row' ); |
| 796 | var fieldKey = id + '_' + $el.prop( 'id' ); |
| 797 | |
| 798 | if ( 'undefined' != typeof sisterFieldsProcessing[ fieldKey ] && true == sisterFieldsProcessing[ fieldKey ] ) { |
| 799 | return; |
| 800 | } |
| 801 | |
| 802 | relatedPodName = jQuery( '#pods-form-ui-field-data-' + id + '-pick-object' ).val() + ''; |
| 803 | selectedValue = jQuery( '#pods-form-ui-field-data-' + id + '-sister-id' ).val() + ''; |
| 804 | $container = $el.find( '.pods-sister-field' ); |
| 805 | |
| 806 | if ( 0 != relatedPodName.indexOf( 'pod-' ) |
| 807 | && 0 != relatedPodName.indexOf( 'post_type-' ) |
| 808 | && 0 != relatedPodName.indexOf( 'taxonomy-' ) |
| 809 | && 0 != relatedPodName.indexOf( 'user' ) |
| 810 | && 0 != relatedPodName.indexOf( 'media' ) |
| 811 | && 0 != relatedPodName.indexOf( 'comment' ) ) { |
| 812 | |
| 813 | sisterFieldsProcessing[ fieldKey ] = false; |
| 814 | return; |
| 815 | } |
| 816 | |
| 817 | sisterFieldsProcessing[ fieldKey ] = true; |
| 818 | |
| 819 | fieldModel = new PodsDFV.models.PodsDFVFieldModel( { |
| 820 | htmlAttr: { |
| 821 | id : "pods-form-ui-field-data-" + id + "-sister-id", |
| 822 | "class" : "pods-form-ui-field pods-form-ui-field-type-pick pods-form-ui-field-name-field-data-sister-id", |
| 823 | name : "field_data[" + id + "][sister_id]", |
| 824 | name_clean: "field-data-sister-id" |
| 825 | } |
| 826 | } ); |
| 827 | |
| 828 | collection = new PodsDFV.models.RelationshipCollection( { |
| 829 | id : "", |
| 830 | name: <?php echo json_encode( __( 'Loading available fields..', 'pods' ) ); ?> |
| 831 | } ); |
| 832 | |
| 833 | selectField = new PodsDFV.fields.Pick( { |
| 834 | el : $container, |
| 835 | model : fieldModel, |
| 836 | collection: collection |
| 837 | } ); |
| 838 | |
| 839 | selectField.render(); |
| 840 | |
| 841 | postData = { |
| 842 | action : 'pods_admin', |
| 843 | method : 'load_sister_fields', |
| 844 | _wpnonce : '<?php echo esc_js( wp_create_nonce( 'pods-load_sister_fields' ) ); ?>', |
| 845 | pod : '<?php echo esc_js( pods_v( 'name', $pod ) ); ?>', |
| 846 | related_pod: relatedPodName |
| 847 | }; |
| 848 | |
| 849 | jQuery.ajax( { |
| 850 | type : 'POST', |
| 851 | dataType: 'html', |
| 852 | url : ajaxurl + '?pods_ajax=1', |
| 853 | cache : false, |
| 854 | data : postData, |
| 855 | success : function ( d ) { |
| 856 | var json, newItems, fieldID, fieldName; |
| 857 | |
| 858 | newItems = []; |
| 859 | |
| 860 | if ( -1 == d.indexOf( '<e>' ) && -1 == d.indexOf('</e>') && -1 != d && '[]' != d ) { |
| 861 | |
| 862 | json = d.match( /{.*}$/ ); |
| 863 | |
| 864 | if ( null !== json && 0 < json.length ) { |
| 865 | json = jQuery.parseJSON( json[ 0 ] ); |
| 866 | } else { |
| 867 | json = {}; |
| 868 | } |
| 869 | |
| 870 | if ( 'object' != typeof json || ! jQuery.isEmptyObject( json ) ) { |
| 871 | |
| 872 | if ( 'object' != typeof json ) { |
| 873 | if ( window.console ) console.log( d ); |
| 874 | if ( window.console ) console.log( json ); |
| 875 | |
| 876 | newItems.push( { |
| 877 | id: "", |
| 878 | name: <?php echo json_encode( __( 'There was a server error with your AJAX request.', 'pods' ) ); ?> |
| 879 | } ); |
| 880 | |
| 881 | } else { |
| 882 | newItems.push( { |
| 883 | id : "", |
| 884 | name: <?php echo json_encode( __( '-- Select Related Field --', 'pods' ) ); ?> |
| 885 | } ); |
| 886 | |
| 887 | for ( fieldID in json ) { |
| 888 | if ( json.hasOwnProperty( fieldID ) ) { |
| 889 | fieldName = json[ fieldID ]; |
| 890 | |
| 891 | newItems.push( { |
| 892 | id : fieldID, |
| 893 | name : fieldName, |
| 894 | selected: (selectedValue == fieldID) |
| 895 | } ); |
| 896 | } |
| 897 | } |
| 898 | } |
| 899 | collection.reset( newItems ); |
| 900 | jQuery( '#pods-form-ui-field-data-' + id + '-sister-id' ).val( selectedValue ); |
| 901 | |
| 902 | } else { |
| 903 | // None found |
| 904 | collection.reset( { |
| 905 | id : "", |
| 906 | name: <?php echo json_encode( __( 'No Related Fields Found', 'pods' ) ); ?> |
| 907 | } ); |
| 908 | } |
| 909 | |
| 910 | } else { |
| 911 | // None found |
| 912 | collection.reset( { |
| 913 | id : "", |
| 914 | name: <?php echo json_encode( __( 'No Related Fields Found', 'pods' ) ); ?> |
| 915 | } ); |
| 916 | } |
| 917 | |
| 918 | sisterFieldsProcessing[ fieldKey ] = false; |
| 919 | }, |
| 920 | error : function () { |
| 921 | // None found |
| 922 | collection.reset( { |
| 923 | id : "", |
| 924 | name: <?php echo json_encode( __( 'No Related Fields Found', 'pods' ) ); ?> |
| 925 | } ); |
| 926 | |
| 927 | sisterFieldsProcessing[ fieldKey ] = false; |
| 928 | } |
| 929 | } ); |
| 930 | } |
| 931 | </script> |
| 932 |