Plugin Directory

Changeset 2937298


Ignore:
Timestamp:
07/11/2023 08:30:49 PM (3 years ago)
Author:
wojciechborowicz
Message:

1.1.4

New : Bricks Builder - dynamic data compatibility
New : Bricks Builder - Query Loop compatibility for repeaters
Fix : submit's z-index on fields management
Fix : Gallery showing full-size images on preview
Fix : PHP Warnings on repeater fields save

Location:
flow-fields/trunk
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • flow-fields/trunk/assets/flow-fields.css

    r2936027 r2937298  
    295295  }
    296296.flow_card_footer {
    297     position: sticky;
    298     bottom: 0;
     297   
    299298    background: #fff;
    300     z-index: 99999;
     299    z-index: 9999;
    301300    margin-left: -5px;
    302301    margin-right: -5px;
  • flow-fields/trunk/assets/flow-fields.js

    r2936027 r2937298  
    485485      rowsContainer.sortable({
    486486        axis: 'y',
     487        connectWith: ".flow_field_row",
    487488        update: function(e, ui) {
    488489          // Update the position attribute of all rows
  • flow-fields/trunk/flow-fields.php

    r2936027 r2937298  
    44Plugin URI: https://flow.borowicz.me
    55Description: Manage fields and custom post types
    6 Version: 1.1.3
     6Version: 1.1.4
    77Author: Wojciech Borowicz
    88Author URI: https://borowicz.me
     
    1111
    1212function 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' ) {
    1414        create_flow_field_tables();
    1515   }
     
    2424   
    2525
    26     update_option( 'flow_fields_db_version', '1.1.3' ); 
     26    update_option( 'flow_fields_db_version', '1.1.4' ); 
    2727
    2828
     
    169169include('includes/templates/admin_assets.php');
    170170include('includes/cpt/flow_cpt_admin.php');
     171
     172if ( get_option( 'template' ) == 'bricks' ) {
     173    include('includes/fields/flow_fields_for_bricks.php');
     174}
     175
     176
    171177include('includes/taxonomies/flow_tax.php');
    172178
  • flow-fields/trunk/includes/fields/flow_fields_manage.php

    r2936027 r2937298  
    55
    66/***********************  UPDATE DYNAMIC FIELDS ON POST SAVE HOOK ******************************/
     7
     8// get all fields to an array
     9function 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
    716// Get boxes for current post type
    817// Get fields for all boxes for this post type
     
    4655        // Loop through each box and update its fields.
    4756        foreach ( $boxes as $box ) {
     57
    4858        // Update post meta for each flow field box field.
    4959        $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  
    3838function flow_field_boxes_meta_box_callback($post, $metabox)
    3939{
     40
     41
     42
    4043    ?>
    4144    <div class="flow_meta_box">
     
    203206function flow_fields_output_admin_input($field, $repeater_parent = false){
    204207
     208
    205209    $post = get_post(get_the_ID());
    206210    if($repeater_parent){
     
    210214            $value = $value[$repeater_parent['loop_number']][$field->slug];
    211215        } else{
    212             if(isset($field->default_value)){
     216            if($value==null && isset($field->default_value)){
    213217                $value = $field->default_value;
    214218            }
     
    225229        $name = $field->slug;
    226230        $value = get_field($field->slug, get_the_ID());
    227         if($value==null || isset($field->default_value) ){
     231        if($value==null && isset($field->default_value) ){
    228232            $value = $field->default_value;
    229233
     
    236240    $prepend = "";
    237241    $append = "";
    238     $default_value = "";
    239242    $required = "";
    240243    if(isset($field->required) && $field->required){
    241         $required = ' required="required"';
     244        $required = ' required';
    242245    }
    243246   
     
    281284    switch ($field->type) {
    282285        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()); ?> >
    284287                <?php if(!$repeater_parent){ ?>
    285288                    <div class="flow_field_header">
     
    301304        <?php break;
    302305        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()); ?>>
    304307                <?php if(!$repeater_parent){ ?>
    305308                        <div class="flow_field_header">
     
    320323        <?php break; ?>
    321324       <?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()); ?>>
    323326        <?php if(!$repeater_parent){ ?>
    324327            <div class="flow_field_header">
     
    370373                    mediaUploader.on('select', function() {
    371374                        var selection = mediaUploader.state().get('selection').toJSON();
    372 
    373375                        $.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>');
    375378                        });
    376379
     
    404407
    405408        <?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()); ?>>
    407410                <?php if(!$repeater_parent){ ?>
    408411                        <div class="flow_field_header">
     
    421424        <?php break; ?>
    422425        <?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()); ?>>
    424427                <?php if(!$repeater_parent){ ?>
    425428                        <div class="flow_field_header">
     
    446449        <?php break; ?>
    447450        <?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()); ?>>
    449452                <?php if(!$repeater_parent){ ?>
    450453                        <div class="flow_field_header">
     
    477480            </div>
    478481            <?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()); ?>>
    480483                <?php if(!$repeater_parent){ ?>
    481484                    <div class="flow_field_header">
     
    521524            <?php break; ?>
    522525            <?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()); ?>>
    524527                    <?php if(!$repeater_parent){ ?>
    525528                        <div class="flow_field_header">
     
    557560           
    558561            <?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()); ?>>
    560563                    <?php if(!$repeater_parent){ ?>
    561564                    <div class="flow_field_header">
     
    593596
    594597        <?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()); ?>>
    596599                <label class='flow_label mt-3' for="<?php echo esc_attr($field->slug); ?>"><?php echo esc_html($field->title); ?></label>
    597600                <table class="">
     
    600603                    echo "<th></th>";
    601604                    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>";
    603612                    }
    604613                    echo "<th></th>";
     
    639648            <?php break;
    640649                 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()); ?>>
    642651                    <?php if(!$repeater_parent){ ?>
    643652                    <div class="flow_field_header">
     
    668677            <?php break;
    669678                 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()); ?>>
    671680                    <?php if(!$repeater_parent){ ?>
    672681                    <div class="flow_field_header">
     
    697706            <?php break;
    698707                 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()); ?>>
    700709                    <?php if(!$repeater_parent){ ?>
    701710                    <div class="flow_field_header">
     
    712721                    <?php if(isset($field->options_number)){
    713722                        $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                        }
    720741                        } else {
    721742                            $min = "";
     
    741762            <?php break;
    742763                 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()); ?>>
    744765                    <?php if(!$repeater_parent){ ?>
    745766                    <div class="flow_field_header">
     
    771792            <?php break;
    772793                 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()); ?>>
    774795                    <?php if(!$repeater_parent){ ?>
    775796                    <div class="flow_field_header">
  • flow-fields/trunk/includes/general_functions.php

    r2930614 r2937298  
    217217
    218218
    219 
     219function 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
     227function 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}
    220249
    221250
  • flow-fields/trunk/includes/templates/admin_assets.php

    r2936027 r2937298  
    22
    33function flow_fields_admin_enqueue_scripts( $hook_suffix ) {
    4     $plugin_version = '1.1.3';
     4    $plugin_version = '1.1.4';
    55    wp_enqueue_script( 'flow-fields-js', plugins_url( '../../assets/flow-fields.js', __FILE__ ), array( 'jquery' ), $plugin_version, true );
    66    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  
    44Requires at least: 5.0
    55Tested up to: 6.2.2
    6 Stable tag: 1.1.3
     6Stable tag: 1.1.4
    77License: GPLv2 or later
    88License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    112112    New : Required attribute for fields
    113113
     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
    114121== Upgrade Notice ==
    115122
Note: See TracChangeset for help on using the changeset viewer.