Skip to content

Commit bea0cab

Browse files
committed
Moved ODT functions to helper plugin
1 parent 2660b5c commit bea0cab

File tree

2 files changed

+37
-25
lines changed

2 files changed

+37
-25
lines changed

helper.php

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
/**
3+
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
4+
* @author lpaulsen93
5+
*/
6+
7+
class helper_plugin_fields extends DokuWiki_Plugin {
8+
function ODTSetUserField(&$renderer, $name, $value) {
9+
if (!method_exists ($renderer, 'addUserField')) {
10+
$name = $this->_fieldsODTFilterUserFieldName($name);
11+
$renderer->fields[$name] = $value;
12+
} else {
13+
$renderer->addUserField($name, $value);
14+
}
15+
}
16+
17+
function ODTDisplayUserField(&$renderer, $name) {
18+
if (!method_exists ($renderer, 'insertUserField')) {
19+
$name = $this->_fieldsODTFilterUserFieldName($name);
20+
if (array_key_exists($name, $renderer->fields)) {
21+
return '<text:user-field-get text:name="'.$name.'">'.$renderer->fields[$name].'</text:user-field-get>';
22+
}
23+
} else {
24+
$renderer->insertUserField($name);
25+
}
26+
return '';
27+
}
28+
}

syntax.php

+9-25
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@
1212
require_once(DOKU_PLUGIN.'syntax.php');
1313

1414
class 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

Comments
 (0)