*/ abstract class AbstractStream extends SyntaxPlugin { protected helper_plugin_newsfeed $helper; public function __construct() { $this->helper = $this->loadHelper('newsfeed'); } public function getType(): string { return 'substition'; } public function getPType(): string { return 'block'; } public function getSort(): int { return 3; } protected function renderEditModal(Doku_Renderer $renderer, array $params): void { $id = uniqid(); global $ID; $renderer->nocache(); if (auth_quickaclcheck($ID) >= AUTH_EDIT) { $this->renderModalContent($renderer, $id, $params); } } protected function renderModalContent(Doku_Renderer $renderer, string $id, array $params): void { //button $renderer->doc .= ''; // content $renderer->doc .= ''; } protected function renderStream(Doku_Renderer $renderer, array $params): void { $attributes = []; foreach ($params as $key => $value) { $attributes['data-' . $key] = $value; } $renderer->doc .= '
'; $this->renderEditModal($renderer, $params); $renderer->doc .= '
'; $renderer->doc .= '
'; $renderer->doc .= ''; $renderer->doc .= '
'; } protected function renderStreamHead(Doku_Renderer $renderer, array $params): void { global $ID; if (auth_quickaclcheck($ID) >= AUTH_EDIT) { $renderer->doc .= '
'; $renderer->doc .= '
'; $renderer->doc .= $this->printPreviewBtn($params['stream']); $renderer->doc .= '
'; $renderer->doc .= '
'; $renderer->doc .= $this->printCreateBtn($params['stream']); $renderer->doc .= '
'; $renderer->doc .= '
'; $renderer->doc .= $this->printPullBtn($params['stream']); $renderer->doc .= '
'; $renderer->doc .= '
'; $renderer->doc .= $this->printCacheBtn(); $renderer->doc .= '
'; $renderer->doc .= '
'; } } private function printPullBtn($stream): string { $form = new Form(); $form->setHiddenField('do', 'admin'); $form->setHiddenField('page', 'newsfeed_push'); $form->setHiddenField('news[stream]', $stream); $form->addButton('submit', $this->getLang('btn_push_stream')) ->addClass('btn btn-info'); return $form->toHTML(); } private function printPreviewBtn($stream): string { return '' . $this->getLang('Preview') . ''; } private function printCreateBtn($stream): string { $form = new Form(); $form->setHiddenField('do', helper_plugin_newsfeed::FORM_TARGET); $form->setHiddenField('news[do]', 'create'); $form->setHiddenField('news[id]', 0); $form->setHiddenField('news[stream]', $stream); $form->addButton('submit', $this->getLang('btn_create_news')) ->addClass('btn btn-primary'); return $form->toHTML(); } private function printCacheBtn(): string { $form = new Form(); $form->setHiddenField('do', helper_plugin_newsfeed::FORM_TARGET); $form->setHiddenField('news[do]', 'purge'); $form->addButton('submit', $this->getLang('cache_del_full')) ->addClass('btn btn-warning'); return $form->toHTML(); } }