Lines Matching refs:data

10 use dokuwiki\plugin\data\Form\DropdownElement;
22 * @var helper_plugin_data will hold the data helper plugin
31 $this->dthlp = plugin_load('helper', 'data');
32 if (!$this->dthlp) msg('Loading the data helper failed. Make sure the data plugin is installed.', -1);
72 * Handle the match - parse the data
78 * @return bool|array Return an array with all data you want to use in render, false don't add an instruction
92 $data = [];
108 if (!isset($data[$column['key']])) {
112 $data[$column['key']] = [];
118 if (!in_array($val, $data[$column['key']])) {
119 $data[$column['key']][] = $val;
123 $data[$column['key']] = $this->dthlp->cleanData($line[1] ?? '', $column['type']);
128 'data' => $data,
137 * Create output or save the data
141 * @param $data array data created by handler()
144 public function render($format, Doku_Renderer $renderer, $data)
146 if (is_null($data)) return false;
153 $this->showData($data, $renderer);
157 $this->saveData($data, $ID, $renderer->meta['title'] ?? '');
162 $this->editDataLegacy($data, $renderer);
164 $this->editData($data, $renderer);
173 * Output the data in a table
175 * @param array $data
178 public function showData($data, $R)
184 $data['classes'] .= ' ' . $R->startSectionEdit($data['pos'], $sectionEditData);
186 $ret .= '<div class="inline dataplugin_entry ' . $data['classes'] . '"><dl>';
188 foreach ($data['data'] as $key => $val) {
190 $type = $data['cols'][$key]['type'];
198 hsc($data['cols'][$key]['title']) .
207 $ret .= $this->dthlp->formatData($data['cols'][$key], $val[$i], $R);
216 $ret .= $this->dthlp->formatData($data['cols'][$key], $val, $R);
222 $R->finishSectionEdit($data['len'] + $data['pos']);
228 public function saveData($data, $id, $title)
237 $class = $data['classes'];
266 throw new Exception("data plugin: failed saving data");
269 // remove old data
272 // insert new data
273 foreach ($data['data'] as $key => $val) {
313 $data = [];
314 $data['sql'] = $args[$i];
315 $this->dthlp->replacePlaceholdersInSQL($data);
316 $args[$i] = $data['sql'];
328 * The custom editor for editing data entries
332 * @param array $data
336 protected function editDataLegacy($data, &$renderer)
343 $renderer->form->addHidden('data_edit[classes]', $data['classes']);
352 $data['classes'],
362 $data['data'][''] = '';
363 $data['cols'][''] = ['type' => '', 'multi' => false];
378 foreach ($data['cols'] as $key => $vals) {
379 $fieldid = 'data_edit[data][' . $n++ . ']';
380 $content = $vals['multi'] ? implode(', ', $data['data'][$key]) : $data['data'][$key];
405 $data['data'][$key],
493 * The custom editor for editing data entries
497 * @param array $data
500 protected function editData($data, &$renderer)
505 $renderer->form->setHiddenField('data_edit[classes]', $data['classes']);
512 ->val($data['classes']);
518 $data['data'][''] = '';
519 $data['cols'][''] = ['type' => '', 'multi' => false];
534 foreach ($data['cols'] as $key => $vals) {
535 $fieldid = 'data_edit[data][' . $n++ . ']';
536 $content = $vals['multi'] ? implode(', ', $data['data'][$key]) : $data['data'][$key];
566 $el->attr('selected', $data['data'][$key]);
567 $el->val($data['data'][$key]);
655 * Handles the data posted from the editor to recreate the entry syntax
657 * @param array $data data given via POST
660 public static function editToWiki($data)
665 foreach ($data['data'] as $field) {
688 $ret = '---- dataentry ' . trim($data['classes']) . ' ----' . DOKU_LF;