Plugin Directory

Changeset 2263196


Ignore:
Timestamp:
03/18/2020 01:17:26 PM (6 years ago)
Author:
munger41
Message:

enhance display field value shortcode

File:
1 edited

Legend:

Unmodified
Added
Removed
  • maxicharts-gravity-forms-source-add-on/trunk/mcharts_gf_source_add_on.php

    r2231125 r2263196  
    211211        function displayFieldValue($source, $destination, $atts)
    212212        {
    213             self::getLogger()->trace("gfentryfieldvalue DO Report from " . $source . " to " . $destination);
     213            self::getLogger()->debug("SHORTCODE::displayFieldValue " . $source . " to " . $destination);
    214214            maxicharts_reports::maxicharts_enqueue_scripts();
    215215            $defaultsParameters = array(
     216                'form_id' => '',
    216217                'lead_id' => '',
    217218                'field_id' => '',
    218219                'style' => '',
    219                 'class' => ''
     220                'class' => '',
     221                'custom_search_criteria' => ''
    220222            );
    221             // FIXME : remove extract
    222             extract(shortcode_atts($defaultsParameters, $atts, 'gfchartsreports'));
    223             self::getLogger()->trace($atts);
    224             $lead_id = str_replace(' ', '', $lead_id);
    225             $field_id = str_replace(' ', '', $field_id);
    226             $style = str_replace(' ', '', $style);
    227             $classParam = str_replace(' ', '', $class);
    228            
    229             $entry = GFAPI::get_entry($lead_id);
     223
     224            $final_atts = shortcode_atts($defaultsParameters, $atts, 'gfentryfieldvalue');
     225            self::getLogger()->debug($final_atts);
     226           
     227            $form_id = trim($final_atts['form_id']);
     228            $lead_id = trim($final_atts['lead_id']);
     229            $custom_search_criteria = trim($final_atts['custom_search_criteria']);
     230           
     231            if ($form_id > 0){
     232                // if form id specified, retrieve the last entry for logged in user
     233                // public static function get_entries( $form_ids, $search_criteria = array(), $sorting = null, $paging = null, $total_count = null ) {}
     234             
     235                $final_atts['gf_entry_id'] = $lead_id;
     236                //$custom_search_criteria = null;
     237                $entries = $this->getGFEntries($form_id, $maxentries, $custom_search_criteria, $final_atts);
     238                if (count($entries) > 1){
     239                    self::getLogger()->error("More than one entry...");
     240                } else {
     241                    $entry = array_shift($entries);
     242                }
     243            } else if ($lead_id > 0){
     244                $entry = GFAPI::get_entry($lead_id);
     245            } else {
     246                $msg = "Cannot get any value";
     247                self::getLogger()->error($msg);
     248                return $msg;
     249            }
     250           
     251            $field_id = trim($final_atts['field_id']);
     252            $style = trim($final_atts['style']);
     253            $classParam = trim($final_atts['class']);
     254           
     255           
    230256            // self::getLogger()->trace ( $entry);
    231257            $field_to_display = rgar($entry, $field_id);
     
    970996        }
    971997       
    972         function getGFEntries($form_id, $maxentries, $custom_search_criteria, $atts)
     998        function getGFEntries($form_id, $maxentries = DEFAULT_MAX_ENTRIES, $custom_search_criteria, $atts)
    973999        {
    9741000            $form = GFAPI::get_form($form_id);
Note: See TracChangeset for help on using the changeset viewer.