Added the needed changes to the core compiler to manage dynamic headers per/model via pro-member-plugin. gh-548
This commit is contained in:
@ -6953,36 +6953,31 @@ class Interpretation extends Fields
|
||||
$body[] = $this->setPlaceholders(
|
||||
$view['settings']->default, $this->placeholders
|
||||
);
|
||||
// only load these if at-least one is not set via a custom placeholder
|
||||
if (!$has_limitbox || !$has_pagescounter || !$has_pageslinks ||
|
||||
!$has_pagination_start || !$has_pagination_end)
|
||||
// add pagination start
|
||||
if (!$has_pagination_start)
|
||||
{
|
||||
// add pagination start
|
||||
if (!$has_pagination_start)
|
||||
{
|
||||
$body[] = $this->placeholders[$this->bbb . 'PAGINATIONSTART' . $this->ddd];
|
||||
}
|
||||
$body[] = $this->placeholders[$this->bbb . 'PAGINATIONSTART' . $this->ddd];
|
||||
}
|
||||
|
||||
if (!$has_limitbox && !$has_pagescounter)
|
||||
{
|
||||
$body[] = $this->_t(3)
|
||||
. '<p class="counter pull-right"> <?php echo $this->pagination->getPagesCounter(); ?> <?php echo $this->pagination->getLimitBox(); ?></p>';
|
||||
}
|
||||
elseif (!$has_limitbox)
|
||||
{
|
||||
$body[] = $this->_t(3)
|
||||
. '<p class="counter pull-right"> <?php echo $this->pagination->getLimitBox(); ?></p>';
|
||||
}
|
||||
elseif (!$has_pagescounter)
|
||||
{
|
||||
$body[] = $this->_t(3)
|
||||
. '<p class="counter pull-right"> <?php echo $this->pagination->getPagesCounter(); ?> </p>';
|
||||
}
|
||||
// add pagination end
|
||||
if (!$has_pagination_end)
|
||||
{
|
||||
$body[] = $this->placeholders[$this->bbb . 'PAGINATIONEND' . $this->ddd];
|
||||
}
|
||||
if (!$has_limitbox && !$has_pagescounter)
|
||||
{
|
||||
$body[] = $this->_t(3)
|
||||
. '<p class="counter pull-right"> <?php echo $this->pagination->getPagesCounter(); ?> <?php echo $this->pagination->getLimitBox(); ?></p>';
|
||||
}
|
||||
elseif (!$has_limitbox)
|
||||
{
|
||||
$body[] = $this->_t(3)
|
||||
. '<p class="counter pull-right"> <?php echo $this->pagination->getLimitBox(); ?></p>';
|
||||
}
|
||||
elseif (!$has_pagescounter)
|
||||
{
|
||||
$body[] = $this->_t(3)
|
||||
. '<p class="counter pull-right"> <?php echo $this->pagination->getPagesCounter(); ?> </p>';
|
||||
}
|
||||
// add pagination end
|
||||
if (!$has_pagination_end)
|
||||
{
|
||||
$body[] = $this->placeholders[$this->bbb . 'PAGINATIONEND' . $this->ddd];
|
||||
}
|
||||
// lets clear the placeholders just in case
|
||||
unset($this->placeholders[$this->bbb . 'LIMITBOX' . $this->ddd]);
|
||||
@ -20940,6 +20935,30 @@ class Interpretation extends Fields
|
||||
return $script . $forEachStart . $fix;
|
||||
}
|
||||
|
||||
public function setClassHeaders($context, $viewName)
|
||||
{
|
||||
// set the default
|
||||
switch($context)
|
||||
{
|
||||
case 'admin.view.model':
|
||||
case 'site.admin.view.model':
|
||||
$header = 'use Joomla\Registry\Registry;';
|
||||
$header .= PHP_EOL . 'use Joomla\String\StringHelper;';
|
||||
$header .= PHP_EOL . 'use Joomla\Utilities\ArrayHelper;';
|
||||
break;
|
||||
default:
|
||||
$header = 'use Joomla\Utilities\ArrayHelper;';
|
||||
break;
|
||||
}
|
||||
// Trigger Event: jcb_ce_setClassHeader
|
||||
$this->triggerEvent(
|
||||
'jcb_ce_setClassHeader',
|
||||
array(&$this->componentContext, &$context, &$viewName,
|
||||
&$header)
|
||||
);
|
||||
return $header;
|
||||
}
|
||||
|
||||
protected function setModelFieldRelation($item, $viewName_list, $tab)
|
||||
{
|
||||
$fix = '';
|
||||
|
@ -614,6 +614,12 @@ class Infusion extends Interpretation
|
||||
$viewName_single, $view
|
||||
);
|
||||
}
|
||||
// SITE_ADMIN_VIEW_MODEL_HEADER <<<DYNAMIC>>> add the header details for the model
|
||||
$this->fileContentDynamic[$viewName_single][$this->hhh
|
||||
. 'SITE_ADMIN_VIEW_MODEL_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
'site.admin.view.model', $viewName_single
|
||||
);
|
||||
}
|
||||
|
||||
// TABLAYOUTFIELDSARRAY <<<DYNAMIC>>> add the tab layout fields array to the model
|
||||
@ -621,6 +627,13 @@ class Infusion extends Interpretation
|
||||
. 'TABLAYOUTFIELDSARRAY' . $this->hhh]
|
||||
= $this->getTabLayoutFieldsArray($viewName_single);
|
||||
|
||||
// ADMIN_VIEW_MODEL_HEADER <<<DYNAMIC>>> add the header details for the model
|
||||
$this->fileContentDynamic[$viewName_single][$this->hhh
|
||||
. 'ADMIN_VIEW_MODEL_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
'admin.view.model', $viewName_single
|
||||
);
|
||||
|
||||
// Trigger Event: jcb_ce_onAfterBuildAdminEditViewContent
|
||||
$this->triggerEvent(
|
||||
'jcb_ce_onAfterBuildAdminEditViewContent',
|
||||
@ -896,6 +909,13 @@ class Infusion extends Interpretation
|
||||
= '';
|
||||
}
|
||||
|
||||
// ADMIN_VIEWS_MODEL_HEADER <<<DYNAMIC>>> add the header details for the model
|
||||
$this->fileContentDynamic[$viewName_list][$this->hhh
|
||||
. 'ADMIN_VIEWS_MODEL_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
'admin.views.model', $viewName_list
|
||||
);
|
||||
|
||||
// Trigger Event: jcb_ce_onAfterBuildAdminListViewContent
|
||||
$this->triggerEvent(
|
||||
'jcb_ce_onAfterBuildAdminListViewContent',
|
||||
@ -1189,7 +1209,8 @@ class Infusion extends Interpretation
|
||||
{
|
||||
// HIDEMAINMENU <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$view['settings']->code][$this->hhh
|
||||
. 'HIDEMAINMENU' . $this->hhh] = '';
|
||||
. 'HIDEMAINMENU' . $this->hhh]
|
||||
= '';
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1322,6 +1343,26 @@ class Infusion extends Interpretation
|
||||
$view['settings']->main_get->gettype, 2
|
||||
);
|
||||
|
||||
// set headers based on the main get type
|
||||
if ($view['settings']->main_get->gettype == 1)
|
||||
{
|
||||
// CUSTOM_ADMIN_VIEW_MODEL_HEADER <<<DYNAMIC>>> add the header details for the model
|
||||
$this->fileContentDynamic[$view['settings']->code][$this->hhh
|
||||
. 'CUSTOM_ADMIN_VIEW_MODEL_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
'custom.admin.view.model', $view['settings']->code
|
||||
);
|
||||
}
|
||||
elseif ($view['settings']->main_get->gettype == 2)
|
||||
{
|
||||
// CUSTOM_ADMIN_VIEWS_MODEL_HEADER <<<DYNAMIC>>> add the header details for the model
|
||||
$this->fileContentDynamic[$view['settings']->code][$this->hhh
|
||||
. 'CUSTOM_ADMIN_VIEWS_MODEL_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
'custom.admin.views.model', $view['settings']->code
|
||||
);
|
||||
}
|
||||
|
||||
// Trigger Event: jcb_ce_onAfterBuildCustomAdminViewContent
|
||||
$this->triggerEvent(
|
||||
'jcb_ce_onAfterBuildCustomAdminViewContent',
|
||||
@ -1753,6 +1794,26 @@ class Infusion extends Interpretation
|
||||
$view['settings']->main_get->gettype, 2
|
||||
);
|
||||
|
||||
// set headers based on the main get type
|
||||
if ($view['settings']->main_get->gettype == 1)
|
||||
{
|
||||
// SITE_VIEW_MODEL_HEADER <<<DYNAMIC>>> add the header details for the model
|
||||
$this->fileContentDynamic[$view['settings']->code][$this->hhh
|
||||
. 'SITE_VIEW_MODEL_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
'site.view.model', $view['settings']->code
|
||||
);
|
||||
}
|
||||
elseif ($view['settings']->main_get->gettype == 2)
|
||||
{
|
||||
// SITE_VIEWS_MODEL_HEADER <<<DYNAMIC>>> add the header details for the model
|
||||
$this->fileContentDynamic[$view['settings']->code][$this->hhh
|
||||
. 'SITE_VIEWS_MODEL_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
'site.views.model', $view['settings']->code
|
||||
);
|
||||
}
|
||||
|
||||
// Trigger Event: jcb_ce_onAfterBuildSiteViewContent
|
||||
$this->triggerEvent(
|
||||
'jcb_ce_onAfterBuildSiteViewContent',
|
||||
|
Reference in New Issue
Block a user