protected function getLabel($flag = false) { $debug = true; $debug = false; // Here I handle dependant load of categories static $count = array(); static $from_params = null; static $defaults = array(); //~ static $runNumber = 0; //~ $runNumber++; if (isset($this->element['label'])) { $this->element['label'] = $this->_replaceNestedJtextConstants($this->element['label']); } if (isset($this->element['description'])) { $this->element['description'] = $this->_replaceNestedJtextConstants($this->element['description']); } if (!$flag || !isset($this->origname)) { $this->origname = (string) $this->fieldname; } if (!isset($defaults[$this->origname])) { $default = $this->getAttribute('default'); //~ if (trim($default) != '') { //~ } $defaults[$this->origname] = $default; } $this->defaults = $defaults; //~ echo '<pre style="background:#efefef">'.PHP_EOL; //~ print_r($this->origname); //~ echo '</pre>'.PHP_EOL; if (isset($this->element['source_parameter']) && isset($this->element['target_parameter']) && $flag) { //$this_field_name = $this->name; $this_field_name = (string) $this->element['name']; $this_field_name = $this->origname; //~ echo '<pre> $this_field_name ='.PHP_EOL; //~ print_r($this_field_name); //~ echo '</pre>'.PHP_EOL; if ($debug) { dumpMessage($this_field_name); } if ($debug) { dumpTrace(); } if (empty($from_params)) { $key_in_params = (string) $GLOBALS['variablefield']['fields'][0]->element['name']; $from_params = $GLOBALS['variablefield']['fields'][0]->form->getData()->toObject()->params->{$key_in_params}; //~ echo '<pre>'.PHP_EOL; //~ print_r($from_params); //~ echo '</pre>'.PHP_EOL; if ($debug) { dump($from_params, '$from_params'); } } //~ echo '<pre style="background:red"> defaults = '.PHP_EOL; //~ print_r($defaults); //~ echo '</pre>'.PHP_EOL; if ($debug) { dump($this, '$this'); } if ($debug) { dumpMessage($this_field_name); } if (!isset($count[$this_field_name])) { $count[$this_field_name] = 0; } else { $count[$this_field_name]++; $count[$this_field_name]++; } $index = $count[$this_field_name]; $source_parameters = explode(',', (string) $this->element['source_parameter']); $target_parameters = explode(',', (string) $this->element['target_parameter']); //if($debug) dump ($this_field_name,'$this_field_name'); if ($debug) { dump((string) $this->element['target_parameter'], (string) $this->element['source_parameter']); } $get_joomla_content_type_by_id = (string) $this->element['get_joomla_content_type_by_id']; //if($debug) dump ($get_joomla_content_type_by_id,'$get_joomla_content_type_by_id'); foreach ($source_parameters as $k => $source_parameter) { $values = array(); //~ if($debug) dump ($source_parameter,'$source_parameter'); //~ if($debug) dump ($count[$this_field_name],'$count[$this_field_name]'); if ($debug) { dump($index, '$index'); } if (!isset($from_params[$source_parameter])) { for ($i = 0; $i < $index + 1; $i++) { if ($i == $index) { $values[] = $defaults[$source_parameter]; } else { $values[] = null; } } if ($debug) { dump($values, '$values 1'); } } else { $values = $from_params[$source_parameter]; if ($debug) { dump($values, '$values 2'); } } if (is_array($values[$index])) { $this->element[$target_parameters[$k]] = implode(',', $values[$index]); } else { if ($debug) { dumpMessage(' Setting <b>' . $target_parameters[$k] . '</b> to <b>' . $values[$index] . '</b>'); } $this->element[$target_parameters[$k]] = $values[$index]; } } } $basetype = isset($this->element['basetype']) ? $this->element['basetype'] : 'text'; $basetype = (string) $basetype; if ($basetype == 'group' || !empty($GLOBALS['variablefield']['current_group'])) { //If start or end of group return null; } else { //Let show the script, that the group has ended $formfield = JFormHelper::loadFieldType($basetype); $formfield->setup($this->element, ''); return $formfield->getLabel(); } return null; }
/** * Alias to dump the backtrace */ function dumpBacktrace() { dumpTrace(); }