From e83319635ac0cc7a94c3ba153d4b67dca46ac14f Mon Sep 17 00:00:00 2001 From: Llewellyn van der Merwe Date: Thu, 23 Apr 2020 23:15:07 +0200 Subject: [PATCH] Fixed gh-529 so that the custom admin view does not hidemainmenu when it is selected as the default view (dashboard) --- README.md | 4 +- admin/README.txt | 4 +- .../joomla_3/JViewLegacy_custom_admin.php | 10 +--- .../JViewLegacy_list_custom_admin.php | 10 +--- admin/helpers/compiler/b_Structure.php | 9 +++ admin/helpers/compiler/e_Interpretation.php | 58 ++++++++++++------- admin/helpers/compiler/f_Infusion.php | 32 ++++++++-- admin/views/compiler/view.html.php | 10 ++-- admin/views/get_snippets/view.html.php | 10 ++-- componentbuilder.xml | 2 +- 10 files changed, 92 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index 182ffb13c..a9172ecc4 100644 --- a/README.md +++ b/README.md @@ -144,11 +144,11 @@ TODO + *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com) + *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder) + *First Build*: 30th April, 2015 -+ *Last Build*: 21st April, 2020 ++ *Last Build*: 23rd April, 2020 + *Version*: 2.11.0 + *Copyright*: Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved. + *License*: GNU General Public License version 2 or later; see LICENSE.txt -+ *Line count*: **280799** ++ *Line count*: **280795** + *Field count*: **1514** + *File count*: **1769** + *Folder count*: **286** diff --git a/admin/README.txt b/admin/README.txt index 182ffb13c..a9172ecc4 100644 --- a/admin/README.txt +++ b/admin/README.txt @@ -144,11 +144,11 @@ TODO + *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com) + *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder) + *First Build*: 30th April, 2015 -+ *Last Build*: 21st April, 2020 ++ *Last Build*: 23rd April, 2020 + *Version*: 2.11.0 + *Copyright*: Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved. + *License*: GNU General Public License version 2 or later; see LICENSE.txt -+ *Line count*: **280799** ++ *Line count*: **280795** + *Field count*: **1514** + *File count*: **1769** + *Folder count*: **286** diff --git a/admin/compiler/joomla_3/JViewLegacy_custom_admin.php b/admin/compiler/joomla_3/JViewLegacy_custom_admin.php index 2fb8a3545..ca93739a1 100644 --- a/admin/compiler/joomla_3/JViewLegacy_custom_admin.php +++ b/admin/compiler/joomla_3/JViewLegacy_custom_admin.php @@ -48,9 +48,7 @@ class ###Component###View###SView### extends JViewLegacy * Setting the toolbar */ protected function addToolBar() - { - // hide the main menu - $this->app->input->set('hidemainmenu', true); + {###HIDEMAINMENU### // set the title if (isset($this->item->name) && $this->item->name) { @@ -62,11 +60,7 @@ class ###Component###View###SView### extends JViewLegacy $title = JText::_('COM_###COMPONENT###_###SVIEW###'); } // add title to the page - JToolbarHelper::title($title,'###ICOMOON###'); - // add the back button - // JToolBarHelper::custom('###sview###.back', 'undo-2', '', 'COM_###COMPONENT###_BACK', false); - // add cpanel button - JToolBarHelper::custom('###sview###.dashboard', 'grid-2', '', 'COM_###COMPONENT###_DASH', false);###CUSTOM_ADMIN_CUSTOM_BUTTONS### + JToolbarHelper::title($title,'###ICOMOON###');###CUSTOM_ADMIN_CUSTOM_BUTTONS### // set help url for this view if found $help_url = ###Component###Helper::getHelpUrl('###sviews###'); diff --git a/admin/compiler/joomla_3/JViewLegacy_list_custom_admin.php b/admin/compiler/joomla_3/JViewLegacy_list_custom_admin.php index 9d712fed8..4546acc6c 100644 --- a/admin/compiler/joomla_3/JViewLegacy_list_custom_admin.php +++ b/admin/compiler/joomla_3/JViewLegacy_list_custom_admin.php @@ -48,15 +48,9 @@ class ###Component###View###SViews### extends JViewLegacy * Setting the toolbar */ protected function addToolBar() - { - // hide the main menu - $this->app->input->set('hidemainmenu', true); + {###HIDEMAINMENU### // add title to the page - JToolbarHelper::title(JText::_('COM_###COMPONENT###_###SVIEWS###'),'###ICOMOON###'); - // add the back button - // JToolBarHelper::custom('###sviews###.back', 'undo-2', '', 'COM_###COMPONENT###_BACK', false); - // add cpanel button - JToolBarHelper::custom('###sviews###.dashboard', 'grid-2', '', 'COM_###COMPONENT###_DASH', false);###CUSTOM_ADMIN_CUSTOM_BUTTONS### + JToolbarHelper::title(JText::_('COM_###COMPONENT###_###SVIEWS###'),'###ICOMOON###');###CUSTOM_ADMIN_CUSTOM_BUTTONS### // set help url for this view if found $help_url = ###Component###Helper::getHelpUrl('###sviews###'); diff --git a/admin/helpers/compiler/b_Structure.php b/admin/helpers/compiler/b_Structure.php index 147bcfb32..ff9fb50e3 100644 --- a/admin/helpers/compiler/b_Structure.php +++ b/admin/helpers/compiler/b_Structure.php @@ -349,6 +349,13 @@ class Structure extends Get */ public $dynamicDashboard = false; + /** + * The default view type + * + * @var string + */ + public $dynamicDashboardType; + /** * Constructor */ @@ -1696,6 +1703,8 @@ class Structure extends Get = ComponentbuilderHelper::safeString( $dashboard['settings']->{$keys[$t]} ); + $this->dynamicDashboardType + = $targets[$t]; } else { diff --git a/admin/helpers/compiler/e_Interpretation.php b/admin/helpers/compiler/e_Interpretation.php index c9d94c75b..d573e9de8 100644 --- a/admin/helpers/compiler/e_Interpretation.php +++ b/admin/helpers/compiler/e_Interpretation.php @@ -5359,6 +5359,8 @@ class Interpretation extends Fields // validate selection $validateSelection = 'true'; } + // reset buttons + $buttons = array(); // if site add buttons to view if ($this->target === 'site') { @@ -5405,11 +5407,28 @@ class Interpretation extends Fields break; } } + // add some buttons if custom admin view + elseif (1 == $type) + { + // add this button only if this is not the default view + if ($this->dynamicDashboardType !== 'custom_admin_views' + || ($this->dynamicDashboardType === 'custom_admin_views' + && $this->dynamicDashboard !== $viewName)) + { + $buttons[] = $tab . $this->_t(2) + . "//" . $this->setLine(__LINE__) . " add cpanel button"; + $buttons[] = $tab . $this->_t(2) + . "JToolBarHelper::custom('" . $viewName . "." + . "dashboard', 'grid-2', '', 'COM_" + . $this->fileContentStatic[$this->hhh + . 'COMPONENT' . $this->hhh] + . "_DASH', false);"; + } + } // check if custom button should be added if (isset($view['settings']->add_custom_button) && $view['settings']->add_custom_button == 1) { - $buttons = array(); $this->onlyFunctionButton = array(); $functionNames = array(); if (isset($view['settings']->custom_buttons) @@ -5592,27 +5611,26 @@ class Interpretation extends Fields ); } } - // return buttons if they were build - if (ComponentbuilderHelper::checkArray($buttons)) - { - // set the custom get form method JAVASCRIPT_FOR_BUTTONS - $this->fileContentDynamic[$view['settings']->code][$this->hhh - . $TARGET . '_JAVASCRIPT_FOR_BUTTONS' . $this->hhh] - = $this->setJavaScriptForButtons(); - // insure the form is added (only if not form exist) - if (isset($view['settings']->default) - && strpos( - $view['settings']->default, 'addCustomForm[$this->target][$view['settings']->code] - = true; - } - - return PHP_EOL . implode(PHP_EOL, $buttons); - } } + // return buttons if they were build + if (ComponentbuilderHelper::checkArray($buttons)) + { + // set the custom get form method JAVASCRIPT_FOR_BUTTONS + $this->fileContentDynamic[$view['settings']->code][$this->hhh + . $TARGET . '_JAVASCRIPT_FOR_BUTTONS' . $this->hhh] + = $this->setJavaScriptForButtons(); + // insure the form is added (only if no form exist) + if (isset($view['settings']->default) + && strpos( + $view['settings']->default, 'addCustomForm[$this->target][$view['settings']->code] + = true; + } + return PHP_EOL . implode(PHP_EOL, $buttons); + } return ''; } diff --git a/admin/helpers/compiler/f_Infusion.php b/admin/helpers/compiler/f_Infusion.php index c85eb43e0..2a8e1f10b 100644 --- a/admin/helpers/compiler/f_Infusion.php +++ b/admin/helpers/compiler/f_Infusion.php @@ -1175,6 +1175,26 @@ class Infusion extends Interpretation $view['settings']->code, $this->target ); + // check if this custom admin view is the default view + if ($this->dynamicDashboardType === 'custom_admin_views' + && $this->dynamicDashboard === $view['settings']->code) + { + // HIDEMAINMENU <<>> + $this->fileContentDynamic[$view['settings']->code][$this->hhh + . 'HIDEMAINMENU' . $this->hhh] = ''; + } + else + { + // HIDEMAINMENU <<>> + $this->fileContentDynamic[$view['settings']->code][$this->hhh + . 'HIDEMAINMENU' . $this->hhh] + = PHP_EOL . $this->_t(2) . '//' . $this->setLine( + __LINE__ + ) . " hide the main menu" + . PHP_EOL . $this->_t(2) + . "\$this->app->input->set('hidemainmenu', true);"; + } + if ($view['settings']->main_get->gettype == 1) { // CUSTOM_ADMIN_BEFORE_GET_ITEM <<>> @@ -1399,19 +1419,22 @@ class Infusion extends Interpretation $this->fileContentDynamic['import'][$this->hhh . 'IMPORT_EXT_METHOD' . $this->hhh] = PHP_EOL . PHP_EOL . $this->setPlaceholders( - ComponentbuilderHelper::getDynamicScripts('ext'), $this->placeholders + ComponentbuilderHelper::getDynamicScripts('ext'), + $this->placeholders ); // IMPORT_SETDATA_METHOD <<>> $this->fileContentDynamic['import'][$this->hhh . 'IMPORT_SETDATA_METHOD' . $this->hhh] = PHP_EOL . PHP_EOL . $this->setPlaceholders( - ComponentbuilderHelper::getDynamicScripts('setdata'), $this->placeholders + ComponentbuilderHelper::getDynamicScripts('setdata'), + $this->placeholders ); // IMPORT_SAVE_METHOD <<>> $this->fileContentDynamic['import'][$this->hhh . 'IMPORT_SAVE_METHOD' . $this->hhh] = PHP_EOL . PHP_EOL . $this->setPlaceholders( - ComponentbuilderHelper::getDynamicScripts('save'), $this->placeholders + ComponentbuilderHelper::getDynamicScripts('save'), + $this->placeholders ); } @@ -2237,7 +2260,8 @@ class Infusion extends Interpretation // Trigger Event: jcb_ce_onBeforeBuildAllLangFiles $this->triggerEvent( 'jcb_ce_onBeforeBuildAllLangFiles', - array(&$this->componentContext, &$this->languages['components'], &$this->langTag) + array(&$this->componentContext, &$this->languages['components'], + &$this->langTag) ); // now we insert the values into the files if (ComponentbuilderHelper::checkArray($this->languages['components'])) diff --git a/admin/views/compiler/view.html.php b/admin/views/compiler/view.html.php index 6931ea2d0..4d726a446 100644 --- a/admin/views/compiler/view.html.php +++ b/admin/views/compiler/view.html.php @@ -303,14 +303,12 @@ class ComponentbuilderViewCompiler extends JViewLegacy * Setting the toolbar */ protected function addToolBar() - { - // hide the main menu + { + // hide the main menu $this->app->input->set('hidemainmenu', true); // add title to the page - JToolbarHelper::title(JText::_('COM_COMPONENTBUILDER_COMPILER'),'cogs'); - // add the back button - // JToolBarHelper::custom('compiler.back', 'undo-2', '', 'COM_COMPONENTBUILDER_BACK', false); - // add cpanel button + JToolbarHelper::title(JText::_('COM_COMPONENTBUILDER_COMPILER'),'cogs'); + // add cpanel button JToolBarHelper::custom('compiler.dashboard', 'grid-2', '', 'COM_COMPONENTBUILDER_DASH', false); if ($this->canDo->get('compiler.run_expansion')) { diff --git a/admin/views/get_snippets/view.html.php b/admin/views/get_snippets/view.html.php index 953b01201..0a791cdf1 100644 --- a/admin/views/get_snippets/view.html.php +++ b/admin/views/get_snippets/view.html.php @@ -247,14 +247,12 @@ class ComponentbuilderViewGet_snippets extends JViewLegacy * Setting the toolbar */ protected function addToolBar() - { - // hide the main menu + { + // hide the main menu $this->app->input->set('hidemainmenu', true); // add title to the page - JToolbarHelper::title(JText::_('COM_COMPONENTBUILDER_GET_SNIPPETS'),'search'); - // add the back button - // JToolBarHelper::custom('get_snippets.back', 'undo-2', '', 'COM_COMPONENTBUILDER_BACK', false); - // add cpanel button + JToolbarHelper::title(JText::_('COM_COMPONENTBUILDER_GET_SNIPPETS'),'search'); + // add cpanel button JToolBarHelper::custom('get_snippets.dashboard', 'grid-2', '', 'COM_COMPONENTBUILDER_DASH', false); if ($this->canDo->get('get_snippets.custom_admin_views')) { diff --git a/componentbuilder.xml b/componentbuilder.xml index 89cf9c0c1..c5e240438 100644 --- a/componentbuilder.xml +++ b/componentbuilder.xml @@ -1,7 +1,7 @@ COM_COMPONENTBUILDER - 21st April, 2020 + 23rd April, 2020 Llewellyn van der Merwe llewellyn@joomlacomponentbuilder.com http://www.joomlacomponentbuilder.com