From 1d88d863b7371a12c2b9ccafb8feb24b75cb43dc Mon Sep 17 00:00:00 2001 From: Alexander Walther Date: Sat, 16 Dec 2023 16:00:26 +0100 Subject: [PATCH] Umbau auf neue Pages-Struktur --- pages/neues.author.php | 29 ++++++++++++++++++++++++ pages/neues.category.php | 29 ++++++++++++++++++++++++ pages/neues.docs.php | 48 ++++++++++++++++++++++++++++++++++++++++ pages/neues.entry.php | 29 ++++++++++++++++++++++++ pages/neues.lang.php | 29 ++++++++++++++++++++++++ pages/neues.php | 1 - pages/neues.settings.php | 1 + 7 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 pages/neues.author.php create mode 100644 pages/neues.category.php create mode 100644 pages/neues.docs.php create mode 100644 pages/neues.entry.php create mode 100644 pages/neues.lang.php diff --git a/pages/neues.author.php b/pages/neues.author.php new file mode 100644 index 0000000..08906b1 --- /dev/null +++ b/pages/neues.author.php @@ -0,0 +1,29 @@ +getProperty('page')['title']); + +$currentPage = rex_be_controller::getCurrentPageObject(); +$wrapper = ''; +if ($table_name = 'rex_neues_author') { + if (!rex_request('table_name', 'string', '')) { + $_REQUEST['table_name'] = $table_name; + } + + if (true !== $currentPage->getItemAttr('show_title', false)) { + rex_extension::register('YFORM_MANAGER_DATA_PAGE_HEADER', static function ($ep) { + if ($ep->getParam('yform')->table->getTableName() !== $ep->getParam('table_name')) { + return; + } + return ''; + }, rex_extension::EARLY, ['table_name' => $table_name]); + } + + if ($wrapper = $currentPage->getItemAttr('wrapper_class', '')) { + echo "
"; + } +} + +include rex_path::plugin('yform', 'manager', 'pages/data_edit.php'); + +if ($wrapper) { + echo '
'; +} diff --git a/pages/neues.category.php b/pages/neues.category.php new file mode 100644 index 0000000..1b17a01 --- /dev/null +++ b/pages/neues.category.php @@ -0,0 +1,29 @@ +getProperty('page')['title']); + +$currentPage = rex_be_controller::getCurrentPageObject(); +$wrapper = ''; +if ($table_name = 'rex_neues_category') { + if (!rex_request('table_name', 'string', '')) { + $_REQUEST['table_name'] = $table_name; + } + + if (true !== $currentPage->getItemAttr('show_title', false)) { + rex_extension::register('YFORM_MANAGER_DATA_PAGE_HEADER', static function ($ep) { + if ($ep->getParam('yform')->table->getTableName() !== $ep->getParam('table_name')) { + return; + } + return ''; + }, rex_extension::EARLY, ['table_name' => $table_name]); + } + + if ($wrapper = $currentPage->getItemAttr('wrapper_class', '')) { + echo "
"; + } +} + +include rex_path::plugin('yform', 'manager', 'pages/data_edit.php'); + +if ($wrapper) { + echo '
'; +} diff --git a/pages/neues.docs.php b/pages/neues.docs.php new file mode 100644 index 0000000..e3c3113 --- /dev/null +++ b/pages/neues.docs.php @@ -0,0 +1,48 @@ +getPath('docs').'/*.md') ?: [] as $file) { + $mdFiles[mb_substr(basename($file), 0, -3)] = $file; +} + +$currenMDFile = rex_request('mdfile', 'string', '01_a_intro'); +if (!array_key_exists($currenMDFile, $mdFiles)) { + $currenMDFile = '01_a_intro'; +} + +$page = rex_be_controller::getPageObject('neues/docs'); + +if (null !== $page) { + foreach ($mdFiles as $key => $mdFile) { + $keyWithoudPrio = mb_substr($key, 3); + $currenMDFileWithoudPrio = mb_substr($currenMDFile, 3); + $page->addSubpage( + (new rex_be_page($key, rex_i18n::msg('neues_docs_'.$keyWithoudPrio))) + ->setSubPath($mdFile) + ->setHref('index.php?page=neues/docs&mdfile='.$key) + ->setIsActive($key == $currenMDFile) + ); + } +} + +echo rex_view::title($this->i18n('neues_title')); + +[$Toc, $Content] = rex_markdown::factory()->parseWithToc(rex_file::require($mdFiles[$currenMDFile]), 2, 3, [ + rex_markdown::SOFT_LINE_BREAKS => false, + rex_markdown::HIGHLIGHT_PHP => true, +]); + +$fragment = new rex_fragment(); +$fragment->setVar('content', $Content, false); +$fragment->setVar('toc', $Toc, false); +$content = $fragment->parse('core/page/docs.php'); + +$fragment = new rex_fragment(); +$fragment->setVar('title', rex_i18n::msg('package_help') . ' ', false); +$fragment->setVar('body', $content, false); +echo $fragment->parse('core/page/section.php'); diff --git a/pages/neues.entry.php b/pages/neues.entry.php new file mode 100644 index 0000000..f57865b --- /dev/null +++ b/pages/neues.entry.php @@ -0,0 +1,29 @@ +getProperty('page')['title']); + +$currentPage = rex_be_controller::getCurrentPageObject(); +$wrapper = ''; +if ($table_name = 'rex_neues_entry') { + if (!rex_request('table_name', 'string', '')) { + $_REQUEST['table_name'] = $table_name; + } + + if (true !== $currentPage->getItemAttr('show_title', false)) { + rex_extension::register('YFORM_MANAGER_DATA_PAGE_HEADER', static function ($ep) { + if ($ep->getParam('yform')->table->getTableName() !== $ep->getParam('table_name')) { + return; + } + return ''; + }, rex_extension::EARLY, ['table_name' => $table_name]); + } + + if ($wrapper = $currentPage->getItemAttr('wrapper_class', '')) { + echo "
"; + } +} + +include rex_path::plugin('yform', 'manager', 'pages/data_edit.php'); + +if ($wrapper) { + echo '
'; +} diff --git a/pages/neues.lang.php b/pages/neues.lang.php new file mode 100644 index 0000000..250b12c --- /dev/null +++ b/pages/neues.lang.php @@ -0,0 +1,29 @@ +getProperty('page')['title']); + +$currentPage = rex_be_controller::getCurrentPageObject(); +$wrapper = ''; +if ($table_name = 'rex_neues_entry_Lang') { + if (!rex_request('table_name', 'string', '')) { + $_REQUEST['table_name'] = $table_name; + } + + if (true !== $currentPage->getItemAttr('show_title', false)) { + rex_extension::register('YFORM_MANAGER_DATA_PAGE_HEADER', static function ($ep) { + if ($ep->getParam('yform')->table->getTableName() !== $ep->getParam('table_name')) { + return; + } + return ''; + }, rex_extension::EARLY, ['table_name' => $table_name]); + } + + if ($wrapper = $currentPage->getItemAttr('wrapper_class', '')) { + echo "
"; + } +} + +include rex_path::plugin('yform', 'manager', 'pages/data_edit.php'); + +if ($wrapper) { + echo '
'; +} diff --git a/pages/neues.php b/pages/neues.php index c9b157d..f75e4b3 100644 --- a/pages/neues.php +++ b/pages/neues.php @@ -1,4 +1,3 @@ getProperty('page')['title']); rex_be_controller::includeCurrentPageSubPath(); diff --git a/pages/neues.settings.php b/pages/neues.settings.php index de685b6..3e7ab02 100644 --- a/pages/neues.settings.php +++ b/pages/neues.settings.php @@ -1,4 +1,5 @@ getProperty('page')['title']); $addon = rex_addon::get('neues');