Changeset 2937298
- Timestamp:
- 07/11/2023 08:30:49 PM (3 years ago)
- Location:
- flow-fields/trunk
- Files:
-
- 1 added
- 8 edited
-
assets/flow-fields.css (modified) (1 diff)
-
assets/flow-fields.js (modified) (1 diff)
-
flow-fields.php (modified) (4 diffs)
-
includes/fields/flow_fields_for_bricks.php (added)
-
includes/fields/flow_fields_manage.php (modified) (2 diffs)
-
includes/fields/flow_fields_output.php (modified) (23 diffs)
-
includes/general_functions.php (modified) (1 diff)
-
includes/templates/admin_assets.php (modified) (1 diff)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
flow-fields/trunk/assets/flow-fields.css
r2936027 r2937298 295 295 } 296 296 .flow_card_footer { 297 position: sticky; 298 bottom: 0; 297 299 298 background: #fff; 300 z-index: 9999 9;299 z-index: 9999; 301 300 margin-left: -5px; 302 301 margin-right: -5px; -
flow-fields/trunk/assets/flow-fields.js
r2936027 r2937298 485 485 rowsContainer.sortable({ 486 486 axis: 'y', 487 connectWith: ".flow_field_row", 487 488 update: function(e, ui) { 488 489 // Update the position attribute of all rows -
flow-fields/trunk/flow-fields.php
r2936027 r2937298 4 4 Plugin URI: https://flow.borowicz.me 5 5 Description: Manage fields and custom post types 6 Version: 1.1. 36 Version: 1.1.4 7 7 Author: Wojciech Borowicz 8 8 Author URI: https://borowicz.me … … 11 11 12 12 function flow_fields_check_db_version() { 13 if ( get_option( 'flow_fields_db_version' ) != '1.1. 3' ) {13 if ( get_option( 'flow_fields_db_version' ) != '1.1.4' ) { 14 14 create_flow_field_tables(); 15 15 } … … 24 24 25 25 26 update_option( 'flow_fields_db_version', '1.1. 3' );26 update_option( 'flow_fields_db_version', '1.1.4' ); 27 27 28 28 … … 169 169 include('includes/templates/admin_assets.php'); 170 170 include('includes/cpt/flow_cpt_admin.php'); 171 172 if ( get_option( 'template' ) == 'bricks' ) { 173 include('includes/fields/flow_fields_for_bricks.php'); 174 } 175 176 171 177 include('includes/taxonomies/flow_tax.php'); 172 178 -
flow-fields/trunk/includes/fields/flow_fields_manage.php
r2936027 r2937298 5 5 6 6 /*********************** UPDATE DYNAMIC FIELDS ON POST SAVE HOOK ******************************/ 7 8 // get all fields to an array 9 function get_ff_fields(){ 10 global $wpdb; 11 $table_name = $wpdb->prefix . 'flow_fields'; 12 $fields = $wpdb->get_results( "SELECT * FROM $table_name" ); 13 return $fields; 14 } 15 7 16 // Get boxes for current post type 8 17 // Get fields for all boxes for this post type … … 46 55 // Loop through each box and update its fields. 47 56 foreach ( $boxes as $box ) { 57 48 58 // Update post meta for each flow field box field. 49 59 $meta_fields = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $fields_table_name WHERE box_id = %d", $box->id ) ); -
flow-fields/trunk/includes/fields/flow_fields_output.php
r2936027 r2937298 38 38 function flow_field_boxes_meta_box_callback($post, $metabox) 39 39 { 40 41 42 40 43 ?> 41 44 <div class="flow_meta_box"> … … 203 206 function flow_fields_output_admin_input($field, $repeater_parent = false){ 204 207 208 205 209 $post = get_post(get_the_ID()); 206 210 if($repeater_parent){ … … 210 214 $value = $value[$repeater_parent['loop_number']][$field->slug]; 211 215 } else{ 212 if( isset($field->default_value)){216 if($value==null && isset($field->default_value)){ 213 217 $value = $field->default_value; 214 218 } … … 225 229 $name = $field->slug; 226 230 $value = get_field($field->slug, get_the_ID()); 227 if($value==null ||isset($field->default_value) ){231 if($value==null && isset($field->default_value) ){ 228 232 $value = $field->default_value; 229 233 … … 236 240 $prepend = ""; 237 241 $append = ""; 238 $default_value = "";239 242 $required = ""; 240 243 if(isset($field->required) && $field->required){ 241 $required = ' required ="required"';244 $required = ' required'; 242 245 } 243 246 … … 281 284 switch ($field->type) { 282 285 case "file": ?> 283 <div class="field-single <?php echo esc_attr($class); ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); } ?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?> >286 <div class="field-single <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); } ?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?> > 284 287 <?php if(!$repeater_parent){ ?> 285 288 <div class="flow_field_header"> … … 301 304 <?php break; 302 305 case "image": ?> 303 <div class="field-single <?php echo esc_attr($class); ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); } ?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>>306 <div class="field-single <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); } ?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>> 304 307 <?php if(!$repeater_parent){ ?> 305 308 <div class="flow_field_header"> … … 320 323 <?php break; ?> 321 324 <?php case "gallery": ?> 322 <div class="field-single <?php echo esc_attr($class); ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); } ?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>>325 <div class="field-single <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); } ?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>> 323 326 <?php if(!$repeater_parent){ ?> 324 327 <div class="flow_field_header"> … … 370 373 mediaUploader.on('select', function() { 371 374 var selection = mediaUploader.state().get('selection').toJSON(); 372 373 375 $.each(selection, function(key, attachment){ 374 $('#<?php echo esc_js($field->slug); ?>_gallery').append('<li data-id="'+ attachment.id +'"><img src="'+attachment.url+'" style="max-width:150px; max-height:150px;"><a href="#" class="remove-image">Remove</a><input type="hidden" name="<?php echo esc_js($name); ?>[]" value="'+ attachment.id +'"></li>'); 376 console.log(attachment.sizes.thumbnail); 377 $('#<?php echo esc_js($field->slug); ?>_gallery').append('<li data-id="'+ attachment.id +'"><img src="'+attachment.sizes.thumbnail.url+'" style="max-width:150px; max-height:150px;"><a href="#" class="remove-image">Remove</a><input type="hidden" name="<?php echo esc_js($name); ?>[]" value="'+ attachment.id +'"></li>'); 375 378 }); 376 379 … … 404 407 405 408 <?php case "textarea": ?> 406 <div class="field-single <?php echo esc_attr($class); ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>>409 <div class="field-single <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>> 407 410 <?php if(!$repeater_parent){ ?> 408 411 <div class="flow_field_header"> … … 421 424 <?php break; ?> 422 425 <?php case "wysiwyg": ?> 423 <div class="field-single <?php echo esc_attr($class); ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>>426 <div class="field-single <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>> 424 427 <?php if(!$repeater_parent){ ?> 425 428 <div class="flow_field_header"> … … 446 449 <?php break; ?> 447 450 <?php case "relationship": ?> 448 <div class="field-single <?php echo esc_attr($class); ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); } ?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>>451 <div class="field-single <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); } ?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>> 449 452 <?php if(!$repeater_parent){ ?> 450 453 <div class="flow_field_header"> … … 477 480 </div> 478 481 <?php break; ?><?php case "dropdown": ?> 479 <div class="field-single <?php echo esc_attr($class); ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); } ?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>>482 <div class="field-single <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); } ?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>> 480 483 <?php if(!$repeater_parent){ ?> 481 484 <div class="flow_field_header"> … … 521 524 <?php break; ?> 522 525 <?php case "checkbox": ?> 523 <div class="field-single <?php echo esc_attr($class); ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>>526 <div class="field-single <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>> 524 527 <?php if(!$repeater_parent){ ?> 525 528 <div class="flow_field_header"> … … 557 560 558 561 <?php case "radio": ?> 559 <div class="field-single <?php echo esc_attr($class); ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); } ?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>>562 <div class="field-single <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php if(!$repeater_parent){ echo wp_kses($style, array()); } ?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>> 560 563 <?php if(!$repeater_parent){ ?> 561 564 <div class="flow_field_header"> … … 593 596 594 597 <?php case "repeater": ?> 595 <div class="field-group <?php echo esc_attr($class); ?>" <?php echo wp_kses($style, array()); ?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>>598 <div class="field-group <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php echo wp_kses($style, array()); ?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>> 596 599 <label class='flow_label mt-3' for="<?php echo esc_attr($field->slug); ?>"><?php echo esc_html($field->title); ?></label> 597 600 <table class=""> … … 600 603 echo "<th></th>"; 601 604 foreach($field->children as $child_field){ 602 echo "<th>".esc_html($child_field->title) . flow_slug_tooltip($child_field->slug, true) ."</th>"; 605 606 if($child_field->required == 1){ 607 $required = " <span class='flow_required'>*</span>"; 608 } else { 609 $required = ""; 610 } 611 echo "<th>".esc_html($child_field->title) . flow_slug_tooltip($child_field->slug, true) . $required ."</th>"; 603 612 } 604 613 echo "<th></th>"; … … 639 648 <?php break; 640 649 case "date": ?> 641 <div class="field-single <?php echo esc_attr($class); ?>" <?php if(!$repeater_parent){ echo wp_kses( $style , array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>>650 <div class="field-single <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php if(!$repeater_parent){ echo wp_kses( $style , array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>> 642 651 <?php if(!$repeater_parent){ ?> 643 652 <div class="flow_field_header"> … … 668 677 <?php break; 669 678 case "link": ?> 670 <div class="field-single <?php echo esc_attr($class); ?>" <?php if(!$repeater_parent){ echo wp_kses( $style , array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>>679 <div class="field-single <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php if(!$repeater_parent){ echo wp_kses( $style , array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>> 671 680 <?php if(!$repeater_parent){ ?> 672 681 <div class="flow_field_header"> … … 697 706 <?php break; 698 707 case "number": ?> 699 <div class="field-single <?php echo esc_attr($class); ?>" <?php if(!$repeater_parent){ echo wp_kses( $style , array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>>708 <div class="field-single <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php if(!$repeater_parent){ echo wp_kses( $style , array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>> 700 709 <?php if(!$repeater_parent){ ?> 701 710 <div class="flow_field_header"> … … 712 721 <?php if(isset($field->options_number)){ 713 722 $options_number = json_decode($field->options_number); 714 $min = $options_number->min; 715 $max = $options_number->max; 716 $step = $options_number->step; 717 $min = 'min='.$min; 718 $max = "max=".$max; 719 $step = "step=".$step; 723 if($options_number!=""){ 724 $min = $options_number->min; 725 $max = $options_number->max; 726 $step = $options_number->step; 727 } else { 728 $min = ""; 729 $max = ""; 730 $step = ""; 731 } 732 if($min!=""){ 733 $min = 'min='.$min; 734 } 735 if($max!=""){ 736 $max = 'max='.$max; 737 } 738 if($step!=""){ 739 $step = 'step='.$step; 740 } 720 741 } else { 721 742 $min = ""; … … 741 762 <?php break; 742 763 case "email": ?> 743 <div class="field-single <?php echo esc_attr($class); ?>" <?php if(!$repeater_parent){ echo wp_kses( $style , array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>>764 <div class="field-single <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php if(!$repeater_parent){ echo wp_kses( $style , array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>> 744 765 <?php if(!$repeater_parent){ ?> 745 766 <div class="flow_field_header"> … … 771 792 <?php break; 772 793 default: ?> 773 <div class="field-single <?php echo esc_attr($class); ?>" <?php if(!$repeater_parent){ echo wp_kses( $style , array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>>794 <div class="field-single <?php echo esc_attr($class); ?>" data-field-name="<?php echo esc_attr($field->slug) ?>" <?php if(!$repeater_parent){ echo wp_kses( $style , array()); }?> <?php if(isset($conditional) && $conditional!=false){echo wp_kses($conditional, array()); } echo wp_kses($field_data, array()); ?>> 774 795 <?php if(!$repeater_parent){ ?> 775 796 <div class="flow_field_header"> -
flow-fields/trunk/includes/general_functions.php
r2930614 r2937298 217 217 218 218 219 219 function ff_get_repeaters(){ 220 global $wpdb, $ff_rows; 221 // get field from wpdb flow_fields table 222 $repeaters = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}flow_fields WHERE `type` = 'repeater'"); 223 return $repeaters; 224 } 225 226 227 function ff_get_field_from_parent($slug, $parent_id, $index){ 228 global $wpdb, $ff_rows; 229 // get field from wpdb flow_fields table 230 $parent = $wpdb->get_row("SELECT * FROM {$wpdb->prefix}flow_fields WHERE id = {$parent_id}"); 231 232 $parent_value = get_post_meta(get_the_ID(), $parent->slug, true); 233 234 if($parent_value == ''){ 235 return ''; 236 } 237 238 if(isset($parent_value[$index])){ 239 $field_value = $parent_value[$index][$slug]; 240 } else{ 241 $field_value = $parent_value[0][$slug]; 242 $ff_rows[$slug] = 0; 243 } 244 245 246 return $field_value; 247 248 } 220 249 221 250 -
flow-fields/trunk/includes/templates/admin_assets.php
r2936027 r2937298 2 2 3 3 function flow_fields_admin_enqueue_scripts( $hook_suffix ) { 4 $plugin_version = '1.1. 3';4 $plugin_version = '1.1.4'; 5 5 wp_enqueue_script( 'flow-fields-js', plugins_url( '../../assets/flow-fields.js', __FILE__ ), array( 'jquery' ), $plugin_version, true ); 6 6 wp_enqueue_script( 'flow-relationship-fields-js', plugins_url( '../../assets/flow-relationship-fields.js', __FILE__ ), array( 'jquery', 'select2' ), $plugin_version, true ); -
flow-fields/trunk/readme.txt
r2936027 r2937298 4 4 Requires at least: 5.0 5 5 Tested up to: 6.2.2 6 Stable tag: 1.1. 36 Stable tag: 1.1.4 7 7 License: GPLv2 or later 8 8 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 112 112 New : Required attribute for fields 113 113 114 = 1.1.4 = 115 New : Bricks Builder - dynamic data compatibility 116 New : Bricks Builder - Query Loop compatibility for repeaters 117 Fix : submit's z-index on fields management 118 Fix : Gallery showing full-size images on preview 119 Fix : PHP Warnings on repeater fields save 120 114 121 == Upgrade Notice == 115 122
Note: See TracChangeset
for help on using the changeset viewer.