1212require_once (DOKU_PLUGIN .'syntax.php ' );
1313
1414class syntax_plugin_fields extends DokuWiki_Syntax_Plugin {
15+ /**
16+ * Constructor. Loads helper plugin.
17+ */
18+ public function __construct () {
19+ $ this ->helper = $ this ->loadHelper ('fields ' );
20+ }
1521
1622 /**
1723 * What kind of syntax are we?
@@ -64,7 +70,7 @@ public function render($format, Doku_Renderer $renderer, $data) {
6470 $ renderer ->doc .= $ renderer ->fields [$ field_name ];
6571 return true ;
6672 } elseif ($ format == 'odt ' ) {
67- $ renderer ->doc .= $ this ->_fieldsODTInsertUserField ($ renderer , $ field_name );
73+ $ renderer ->doc .= $ this ->helper -> ODTDisplayUserField ($ renderer , $ field_name );
6874 return true ;
6975 }
7076 } else {
@@ -76,8 +82,8 @@ public function render($format, Doku_Renderer $renderer, $data) {
7682 $ renderer ->fields [$ field_name ] = htmlentities ($ field_value );
7783 return true ;
7884 } elseif ($ format == 'odt ' ) {
79- $ this ->_fieldsODTAddUserField ($ renderer , $ field_name ,
80- $ renderer ->_xmlEntities ($ field_value ));
85+ $ this ->helper -> ODTSetUserField ($ renderer , $ field_name ,
86+ $ renderer ->_xmlEntities ($ field_value ));
8187 return true ;
8288 }
8389 }
@@ -88,28 +94,6 @@ function _fieldsODTFilterUserFieldName($name) {
8894 // keep only allowed chars in the name
8995 return preg_replace ('/[^a-zA-Z0-9_.]/ ' , '' , $ name );
9096 }
91-
92- function _fieldsODTAddUserField (&$ renderer , $ name , $ value ) {
93- if (!method_exists ($ renderer , 'addUserField ' )) {
94- $ name = $ this ->_fieldsODTFilterUserFieldName ($ name );
95- $ renderer ->fields [$ name ] = $ value ;
96- } else {
97- $ renderer ->addUserField ($ name , $ value );
98- }
99- }
100-
101- function _fieldsODTInsertUserField (&$ renderer , $ name ) {
102- if (!method_exists ($ renderer , 'insertUserField ' )) {
103- $ name = $ this ->_fieldsODTFilterUserFieldName ($ name );
104- if (array_key_exists ($ name , $ renderer ->fields )) {
105- return '<text:user-field-get text:name=" ' .$ name .'"> ' .$ renderer ->fields [$ name ].'</text:user-field-get> ' ;
106- }
107- } else {
108- $ renderer ->insertUserField ($ name );
109- }
110- return '' ;
111- }
112-
11397}
11498
11599//Setup VIM: ex: et ts=4 fileencoding=utf-8 :
0 commit comments