diff --git a/conf/default.php b/conf/default.php new file mode 100644 index 0000000..ebd67f9 --- /dev/null +++ b/conf/default.php @@ -0,0 +1,6 @@ +helper = $this->loadHelper('fields'); + $this->fields_helper = plugin_load('helper','fields'); + $this->usecounter_helper = plugin_load('helper','usecounter'); } /** @@ -70,7 +71,7 @@ public function render($format, Doku_Renderer $renderer, $data) { $renderer->doc .= $renderer->fields[$field_name]; return true; } elseif ($format == 'odt') { - $renderer->doc .= $this->helper->ODTDisplayUserField($renderer, $field_name); + $renderer->doc .= $this->fields_helper->ODTDisplayUserField($renderer, $field_name); return true; } } else { @@ -82,8 +83,17 @@ public function render($format, Doku_Renderer $renderer, $data) { $renderer->fields[$field_name] = htmlentities($field_value); return true; } elseif ($format == 'odt') { - $this->helper->ODTSetUserField($renderer, $field_name, - $renderer->_xmlEntities($field_value)); + if ($this->getConf('firstfielddefinitionwins')) { + if ($this->usecounter_helper && $this->usecounter_helper->amountOfUses('fields_'.$field_name) == 0) { + $this->fields_helper->ODTSetUserField($renderer, $field_name, $renderer->_xmlEntities($field_value)); + } + + if ($this->usecounter_helper) { + $this->usecounter_helper->incUsageOf('fields_'.$field_name); + } + } else { + $this->fields_helper->ODTSetUserField($renderer, $field_name, $renderer->_xmlEntities($field_value)); + } return true; } }