update - v1.0.8
This commit is contained in:
parent
cbbe81168d
commit
deda7d5c82
@ -22,25 +22,25 @@ JLoader::register('ComponentbuilderHelper', JPATH_ADMINISTRATOR . '/components/c
|
||||
* Extension - Componentbuilder Headers Compiler plugin.
|
||||
*
|
||||
* @package ComponentbuilderHeadersCompiler
|
||||
* @since 1.0.7
|
||||
* @since 1.0.8
|
||||
*/
|
||||
class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
{
|
||||
/**
|
||||
/**
|
||||
* Global switch to see if a file has custom headers.
|
||||
*
|
||||
* @var boolean
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $loadHeaders = false;
|
||||
protected $loadHeaders = false;
|
||||
|
||||
/**
|
||||
* The files active with headers
|
||||
* The active headers
|
||||
*
|
||||
* @var array
|
||||
* @since 1.0.0
|
||||
* @since 1.0.8
|
||||
*/
|
||||
protected $activeFiles = array();
|
||||
protected $activeHeaders = array();
|
||||
|
||||
/**
|
||||
* The compiler placeholders values
|
||||
@ -48,7 +48,7 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
* @var array
|
||||
* @since 1.0.6
|
||||
*/
|
||||
protected $placeholders = array();
|
||||
protected $placeholders = array();
|
||||
|
||||
/**
|
||||
* The powers to include in project
|
||||
@ -56,33 +56,33 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
* @var array
|
||||
* @since 1.0.6
|
||||
*/
|
||||
protected $linkedPowers = array();
|
||||
protected $linkedPowers = array();
|
||||
|
||||
/**
|
||||
* The Targets
|
||||
*
|
||||
* @var array
|
||||
* @since 1.0.5
|
||||
* @since 1.0.8
|
||||
*/
|
||||
protected $targets = array(
|
||||
'admin_view_headers' =>
|
||||
'admin_view_headers' =>
|
||||
array(
|
||||
'add_admin_view_model' => array(
|
||||
'field' => 'admin_view_model',
|
||||
'context' => 'admin.view.model',
|
||||
'view' => 'name_single'
|
||||
),
|
||||
'add_admin_view' => array(
|
||||
'add_admin_view' => array(
|
||||
'field' => 'admin_view',
|
||||
'context' => 'admin.view',
|
||||
'view' => 'name_single'
|
||||
),
|
||||
'add_admin_view_html' => array(
|
||||
'add_admin_view_html' => array(
|
||||
'field' => 'admin_view_html',
|
||||
'context' => 'admin.view.html',
|
||||
'view' => 'name_single'
|
||||
),
|
||||
'add_site_admin_view_html' => array(
|
||||
'add_site_admin_view_html' => array(
|
||||
'field' => 'site_admin_view_html',
|
||||
'context' => 'site.admin.view.html',
|
||||
'view' => 'name_single'
|
||||
@ -92,17 +92,22 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
'context' => 'admin.view.controller',
|
||||
'view' => 'name_single'
|
||||
),
|
||||
'add_ajax_model' => array(
|
||||
'field' => 'ajax_model',
|
||||
'context' => 'ajax.admin.model',
|
||||
'view' => 'ajax'
|
||||
),
|
||||
'add_admin_views_model' => array(
|
||||
'field' => 'admin_views_model',
|
||||
'context' => 'admin.views.model',
|
||||
'view' => 'name_list'
|
||||
),
|
||||
'add_admin_views' => array(
|
||||
'add_admin_views' => array(
|
||||
'field' => 'admin_views',
|
||||
'context' => 'admin.views',
|
||||
'view' => 'name_list'
|
||||
),
|
||||
'add_admin_views_html' => array(
|
||||
'add_admin_views_html' => array(
|
||||
'field' => 'admin_views_html',
|
||||
'context' => 'admin.views.html',
|
||||
'view' => 'name_list'
|
||||
@ -113,19 +118,19 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
'view' => 'name_list'
|
||||
)
|
||||
),
|
||||
'site_view_headers' =>
|
||||
'site_view_headers' =>
|
||||
array(
|
||||
'add_site_view_model' => array(
|
||||
'field' => 'site_view_model',
|
||||
'context' => 'site.view.model',
|
||||
'view' => 'code'
|
||||
),
|
||||
'add_site_view' => array(
|
||||
'add_site_view' => array(
|
||||
'field' => 'site_view',
|
||||
'context' => 'site.view',
|
||||
'view' => 'code'
|
||||
),
|
||||
'add_site_view_html' => array(
|
||||
'add_site_view_html' => array(
|
||||
'field' => 'site_view_html',
|
||||
'context' => 'site.view.html',
|
||||
'view' => 'code'
|
||||
@ -140,12 +145,12 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
'context' => 'site.views.model',
|
||||
'view' => 'code'
|
||||
),
|
||||
'add_site_views' => array(
|
||||
'add_site_views' => array(
|
||||
'field' => 'site_views',
|
||||
'context' => 'site.views',
|
||||
'view' => 'code'
|
||||
),
|
||||
'add_site_views_html' => array(
|
||||
'add_site_views_html' => array(
|
||||
'field' => 'site_views_html',
|
||||
'context' => 'site.views.html',
|
||||
'view' => 'code'
|
||||
@ -154,21 +159,26 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
'field' => 'site_views_controller',
|
||||
'context' => 'site.views.controller',
|
||||
'view' => 'code'
|
||||
),
|
||||
'add_ajax_model' => array(
|
||||
'field' => 'ajax_model',
|
||||
'context' => 'ajax.site.model',
|
||||
'view' => 'ajax'
|
||||
)
|
||||
),
|
||||
'custom_admin_view_headers' =>
|
||||
'custom_admin_view_headers' =>
|
||||
array(
|
||||
'add_custom_admin_view_model' => array(
|
||||
'field' => 'custom_admin_view_model',
|
||||
'context' => 'custom.admin.view.model',
|
||||
'view' => 'code'
|
||||
),
|
||||
'add_custom_admin_view' => array(
|
||||
'add_custom_admin_view' => array(
|
||||
'field' => 'custom_admin_view',
|
||||
'context' => 'custom.admin.view',
|
||||
'view' => 'code'
|
||||
),
|
||||
'add_custom_admin_view_html' => array(
|
||||
'add_custom_admin_view_html' => array(
|
||||
'field' => 'custom_admin_view_html',
|
||||
'context' => 'custom.admin.view.html',
|
||||
'view' => 'code'
|
||||
@ -183,12 +193,12 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
'context' => 'custom.admin.views.model',
|
||||
'view' => 'code'
|
||||
),
|
||||
'add_custom_admin_views' => array(
|
||||
'add_custom_admin_views' => array(
|
||||
'field' => 'custom_admin_views',
|
||||
'context' => 'custom.admin.views',
|
||||
'view' => 'code'
|
||||
),
|
||||
'add_custom_admin_views_html' => array(
|
||||
'add_custom_admin_views_html' => array(
|
||||
'field' => 'custom_admin_views_html',
|
||||
'context' => 'custom.admin.views.html',
|
||||
'view' => 'code'
|
||||
@ -197,11 +207,44 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
'field' => 'custom_admin_views_controller',
|
||||
'context' => 'custom.admin.views.controller',
|
||||
'view' => 'code'
|
||||
),
|
||||
'add_ajax_model' => array(
|
||||
'field' => 'ajax_model',
|
||||
'context' => 'ajax.admin.model',
|
||||
'view' => 'ajax'
|
||||
)
|
||||
),
|
||||
'joomla_component_headers' =>
|
||||
'component_dashboard_headers' =>
|
||||
array(
|
||||
'add_admin_component' => array(
|
||||
'add_dashboard_model' => array(
|
||||
'field' => 'dashboard_model',
|
||||
'context' => 'dashboard.model',
|
||||
'view' => 'dashboard'
|
||||
),
|
||||
'add_dashboard_view' => array(
|
||||
'field' => 'dashboard_view',
|
||||
'context' => 'dashboard.view',
|
||||
'view' => 'dashboard'
|
||||
),
|
||||
'add_dashboard_view_html' => array(
|
||||
'field' => 'dashboard_view_html',
|
||||
'context' => 'dashboard.view.html',
|
||||
'view' => 'dashboard'
|
||||
),
|
||||
'add_dashboard_controller' => array(
|
||||
'field' => 'dashboard_controller',
|
||||
'context' => 'dashboard.controller',
|
||||
'view' => 'dashboard'
|
||||
),
|
||||
'add_ajax_model' => array(
|
||||
'field' => 'ajax_model',
|
||||
'context' => 'ajax.admin.model',
|
||||
'view' => 'ajax'
|
||||
)
|
||||
),
|
||||
'joomla_component_headers' =>
|
||||
array(
|
||||
'add_admin_component' => array(
|
||||
'field' => 'admin_component',
|
||||
'context' => 'admin.component',
|
||||
'view' => 'admin'
|
||||
@ -211,18 +254,18 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
'context' => 'site.component',
|
||||
'view' => 'site'
|
||||
),
|
||||
'add_admin_helper' => array(
|
||||
'add_admin_helper' => array(
|
||||
'field' => 'admin_helper',
|
||||
'context' => 'admin.helper',
|
||||
'view' => 'admin'
|
||||
),
|
||||
'add_site_helper' => array(
|
||||
'add_site_helper' => array(
|
||||
'field' => 'site_helper',
|
||||
'context' => 'site.helper',
|
||||
'view' => 'site'
|
||||
)
|
||||
)
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
* Event Triggered in the compiler [on Before Model View Data]
|
||||
@ -231,29 +274,13 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
*
|
||||
* @since 1.0
|
||||
*/
|
||||
public function jcb_ce_onBeforeModelViewData(&$context, &$view,
|
||||
&$placeholders
|
||||
) {
|
||||
// add the headers
|
||||
$view->params = (isset($view->params)
|
||||
&& ComponentbuilderHelper::checkJson($view->params)) ? json_decode(
|
||||
$view->params, true
|
||||
) : $view->params;
|
||||
if (ComponentbuilderHelper::checkArray($view->params)
|
||||
&& isset($view->params['admin_view_headers'])
|
||||
&& ComponentbuilderHelper::checkArray(
|
||||
$view->params['admin_view_headers']
|
||||
))
|
||||
public function jcb_ce_onBeforeModelViewData(&$context, &$view, &$placeholders)
|
||||
{
|
||||
// check that the params are set
|
||||
if (isset($view->params))
|
||||
{
|
||||
foreach ($this->targets['admin_view_headers'] as $target => $event)
|
||||
{
|
||||
if (isset($view->params['admin_view_headers'][$target])
|
||||
&& $view->params['admin_view_headers'][$target] == 1)
|
||||
{
|
||||
// get the header string if set
|
||||
$this->getHeaderString($view, $event, 'admin_view_headers');
|
||||
}
|
||||
}
|
||||
// add the headers for the Admin Views
|
||||
$this->setHeaders($view->params, $view, 'admin_view_headers');
|
||||
}
|
||||
}
|
||||
|
||||
@ -262,49 +289,17 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.2
|
||||
* @since 1.0.2
|
||||
*/
|
||||
public function jcb_ce_onBeforeModelCustomViewData(&$context, &$view,
|
||||
&$id, &$table
|
||||
) {
|
||||
// add the headers
|
||||
$view->params = (isset($view->params)
|
||||
&& ComponentbuilderHelper::checkJson($view->params)) ? json_decode(
|
||||
$view->params, true
|
||||
) : $view->params;
|
||||
// target site views
|
||||
if (ComponentbuilderHelper::checkArray($view->params)
|
||||
&& isset($view->params['site_view_headers'])
|
||||
&& ComponentbuilderHelper::checkArray(
|
||||
$view->params['site_view_headers']
|
||||
))
|
||||
public function jcb_ce_onBeforeModelCustomViewData(&$context, &$view, &$id, &$table)
|
||||
{
|
||||
// check that the params are set
|
||||
if (isset($view->params))
|
||||
{
|
||||
foreach ($this->targets['site_view_headers'] as $target => $event)
|
||||
{
|
||||
if (isset($view->params['site_view_headers'][$target])
|
||||
&& $view->params['site_view_headers'][$target] == 1)
|
||||
{
|
||||
// get the header string if set
|
||||
$this->getHeaderString($view, $event, 'site_view_headers');
|
||||
}
|
||||
}
|
||||
}
|
||||
// target custom admin views
|
||||
if (ComponentbuilderHelper::checkArray($view->params)
|
||||
&& isset($view->params['custom_admin_view_headers'])
|
||||
&& ComponentbuilderHelper::checkArray(
|
||||
$view->params['custom_admin_view_headers']
|
||||
))
|
||||
{
|
||||
foreach ($this->targets['custom_admin_view_headers'] as $target => $event)
|
||||
{
|
||||
if (isset($view->params['custom_admin_view_headers'][$target])
|
||||
&& $view->params['custom_admin_view_headers'][$target] == 1)
|
||||
{
|
||||
// get the header string if set
|
||||
$this->getHeaderString($view, $event, 'custom_admin_view_headers');
|
||||
}
|
||||
}
|
||||
// add the headers for the Site Views
|
||||
$this->setHeaders($view->params, $view, 'site_view_headers');
|
||||
// add the headers for the Custom Admin Views
|
||||
$this->setHeaders($view->params, $view, 'custom_admin_view_headers');
|
||||
}
|
||||
}
|
||||
|
||||
@ -313,115 +308,24 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.4
|
||||
* @since 1.0.4
|
||||
*/
|
||||
public function jcb_ce_onBeforeModelComponentData(&$context, &$component)
|
||||
{
|
||||
// add the privacy
|
||||
$component->params = (isset($component->params)
|
||||
&& ComponentbuilderHelper::checkJson($component->params)) ? json_decode(
|
||||
$component->params, true
|
||||
) : $component->params;
|
||||
if (ComponentbuilderHelper::checkArray($component->params)
|
||||
&& isset($component->params['joomla_component_headers'])
|
||||
&& ComponentbuilderHelper::checkArray(
|
||||
$component->params['joomla_component_headers']
|
||||
))
|
||||
// check that the params are set
|
||||
if (isset($component->params))
|
||||
{
|
||||
foreach ($this->targets['joomla_component_headers'] as $target => $event)
|
||||
{
|
||||
if (isset($component->params['joomla_component_headers'][$target])
|
||||
&& $component->params['joomla_component_headers'][$target] == 1)
|
||||
{
|
||||
// activate the load of the headers
|
||||
$this->loadHeaders = true;
|
||||
// load the headers
|
||||
$this->activeFiles[$event['view']][$event['context']]
|
||||
= $component->params['joomla_component_headers'][$event['field']];
|
||||
}
|
||||
}
|
||||
// add the headers for the Joomla Component
|
||||
$this->setHeaders($component->params, $component, 'joomla_component_headers');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get the header string
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0
|
||||
*/
|
||||
protected function getHeaderString(&$view, &$get, $key, $view_name = null)
|
||||
{
|
||||
// we first check if the value is set
|
||||
if (isset($view->params[$key][$get['field']]) || isset($view->params[$key]['power_' . $get['field']]))
|
||||
// check that the dashboard params are set
|
||||
if (isset($component->dashboard_params))
|
||||
{
|
||||
// activate the load of the headers
|
||||
$this->loadHeaders = true;
|
||||
// setup the view key name
|
||||
if (!$view_name)
|
||||
{
|
||||
$view_name = ComponentbuilderHelper::safeString(
|
||||
$view->{$get['view']}
|
||||
);
|
||||
}
|
||||
// we start this field if not already
|
||||
if (!isset($this->activeFiles[$view_name][$get['context']]))
|
||||
{
|
||||
$this->activeFiles[$view_name][$get['context']] = '';
|
||||
}
|
||||
// start little bucket
|
||||
$bucket = array();
|
||||
// load the headers if text
|
||||
if (isset($view->params[$key][$get['field']]) && ComponentbuilderHelper::checkString($view->params[$key][$get['field']]))
|
||||
{
|
||||
$bucket[] = $view->params[$key][$get['field']];
|
||||
}
|
||||
// load the headers if power
|
||||
if (isset($view->params[$key]['power_' . $get['field']]) && ComponentbuilderHelper::checkArray($view->params[$key]['power_' . $get['field']], true)
|
||||
&& ($use = $this->getPowers($view->params[$key]['power_' . $get['field']])) !== false)
|
||||
{
|
||||
$bucket[] = 'use ' . implode(';' . PHP_EOL . 'use ', $use) . ';';
|
||||
}
|
||||
// we start this field if not already
|
||||
if (ComponentbuilderHelper::checkArray($bucket, true))
|
||||
{
|
||||
$this->activeFiles[$view_name][$get['context']] .= implode(PHP_EOL, $bucket);
|
||||
}
|
||||
// add the headers for the Component Dashboard
|
||||
$this->setHeaders($component->dashboard_params, $component, 'component_dashboard_headers');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get the powers header use strings
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
* @since 1.0.6
|
||||
*/
|
||||
protected function getPowers($ids)
|
||||
{
|
||||
// if none are found
|
||||
$namspaces = false;
|
||||
// add to active powers
|
||||
if (($namspaces = ComponentbuilderHelper::getVars('power', $ids, 'id', 'namespace')) !== false)
|
||||
{
|
||||
foreach ($ids as $id)
|
||||
{
|
||||
$this->linkedPowers[$id] = $id;
|
||||
}
|
||||
// convert the dots to namespace
|
||||
$namspaces = array_map( function($namespace) {
|
||||
return ComponentbuilderHelper::safeNamespace(
|
||||
str_replace(
|
||||
array_keys($this->placeholders),
|
||||
array_values($this->placeholders),
|
||||
str_replace('.', '\\', $namespace)
|
||||
)
|
||||
);
|
||||
}, $namspaces );
|
||||
}
|
||||
return $namspaces;
|
||||
}
|
||||
|
||||
/**
|
||||
* Event Triggered in the compiler [on set Class Header]
|
||||
*
|
||||
@ -429,20 +333,23 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
*
|
||||
* @since 1.0
|
||||
*/
|
||||
public function jcb_ce_setClassHeader(&$context, &$event_context,
|
||||
&$view_name,
|
||||
&$headers
|
||||
) {
|
||||
if ($this->loadHeaders && isset($this->activeFiles[$view_name])
|
||||
&& isset($this->activeFiles[$view_name][$event_context]))
|
||||
public function jcb_ce_setClassHeader(&$context, &$event_context, &$view_name, &$headers)
|
||||
{
|
||||
if ($this->loadHeaders && isset($this->activeHeaders[$view_name])
|
||||
&& isset($this->activeHeaders[$view_name][$event_context]))
|
||||
{
|
||||
// we have default headers we actually need
|
||||
foreach ($headers as $n => $header)
|
||||
{
|
||||
// if an empty line is found just skip it
|
||||
if (empty($header))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// we check if this header is also set from the user
|
||||
if (empty($header) || (isset($this->activeFiles[$view_name][$event_context]) && strpos(
|
||||
$this->activeFiles[$view_name][$event_context], $header
|
||||
) !== false))
|
||||
if (isset($this->activeHeaders[$view_name][$event_context]) && strpos(
|
||||
$this->activeHeaders[$view_name][$event_context], $header
|
||||
) !== false)
|
||||
{
|
||||
// since it is set, remove it here
|
||||
unset($headers[$n]);
|
||||
@ -450,7 +357,7 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
}
|
||||
// now add the custom headers
|
||||
// yes they are below the defaults, unless overridden and removed above
|
||||
$headers[] = $this->activeFiles[$view_name][$event_context];
|
||||
$headers[] = $this->activeHeaders[$view_name][$event_context];
|
||||
}
|
||||
}
|
||||
|
||||
@ -481,5 +388,143 @@ class PlgExtensionComponentbuilderHeadersCompiler extends CMSPlugin
|
||||
{
|
||||
$compiler->linkedPowers = $this->linkedPowers;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* set the headers
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0.8
|
||||
*/
|
||||
protected function setHeaders(&$params, &$obj, $key)
|
||||
{
|
||||
// add the headers
|
||||
$params = (ComponentbuilderHelper::checkJson($params)) ? json_decode($params, true) : $params;
|
||||
// make sure we have the keys values in the params area
|
||||
if (ComponentbuilderHelper::checkArray($params) && isset($params[$key])
|
||||
&& ComponentbuilderHelper::checkArray($params[$key]))
|
||||
{
|
||||
foreach ($this->targets[$key] as $target => $event)
|
||||
{
|
||||
if (isset($params[$key][$target])
|
||||
&& $params[$key][$target] == 1)
|
||||
{
|
||||
// get the header string if set
|
||||
$this->getHeaders(
|
||||
$params[$key],
|
||||
$event,
|
||||
$this->getViewName(
|
||||
$obj,
|
||||
$event['view']
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get the headers
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0
|
||||
*/
|
||||
protected function getHeaders(&$params, &$get, $view_name)
|
||||
{
|
||||
// we first check if the value is set
|
||||
if (isset($params[$get['field']]) || isset($params['power_' . $get['field']]))
|
||||
{
|
||||
// start little headers bucket
|
||||
$headers = array();
|
||||
// load the headers if text
|
||||
if (isset($params[$get['field']]) && ComponentbuilderHelper::checkString($params[$get['field']]))
|
||||
{
|
||||
$headers[] = $params[$get['field']];
|
||||
}
|
||||
// load the headers if power
|
||||
if (isset($params['power_' . $get['field']]) && ComponentbuilderHelper::checkArray($params['power_' . $get['field']], true)
|
||||
&& ($use = $this->getPowers($params['power_' . $get['field']])) !== false)
|
||||
{
|
||||
$headers[] = 'use ' . implode(';' . PHP_EOL . 'use ', $use) . ';';
|
||||
}
|
||||
// check if we found some header values
|
||||
if (ComponentbuilderHelper::checkArray($headers, true))
|
||||
{
|
||||
// activate the load of the headers
|
||||
$this->loadHeaders = true;
|
||||
// check if this active header is already set
|
||||
if (!isset($this->activeHeaders[$view_name][$get['context']]))
|
||||
{
|
||||
// start the active header
|
||||
$this->activeHeaders[$view_name][$get['context']] = '';
|
||||
}
|
||||
else
|
||||
{
|
||||
// each addition we add a new line
|
||||
$this->activeHeaders[$view_name][$get['context']] = PHP_EOL;
|
||||
}
|
||||
// load the found headers
|
||||
$this->activeHeaders[$view_name][$get['context']] .= implode(PHP_EOL, $headers);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get the view name
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
* @since 1.0.8
|
||||
*/
|
||||
protected function getViewName(&$view, &$get)
|
||||
{
|
||||
if ($get === 'site' || $get === 'admin' || $get === 'ajax' || $get === 'dashboard')
|
||||
{
|
||||
// static key name
|
||||
return $get;
|
||||
}
|
||||
elseif (isset($view->{$get}))
|
||||
{
|
||||
return ComponentbuilderHelper::safeString(
|
||||
$view->{$get}
|
||||
);
|
||||
}
|
||||
return '_error';
|
||||
}
|
||||
|
||||
/**
|
||||
* get the powers header use strings
|
||||
*
|
||||
* @return mixed
|
||||
*
|
||||
* @since 1.0.6
|
||||
*/
|
||||
protected function getPowers($ids)
|
||||
{
|
||||
// if none are found
|
||||
$namspaces = false;
|
||||
// add to active powers
|
||||
if (($namspaces = ComponentbuilderHelper::getVars('power', $ids, 'id', 'namespace')) !== false)
|
||||
{
|
||||
foreach ($ids as $id)
|
||||
{
|
||||
$this->linkedPowers[$id] = $id;
|
||||
}
|
||||
// convert the dots to namespace
|
||||
$namspaces = array_map(function ($namespace) {
|
||||
return ComponentbuilderHelper::safeNamespace(
|
||||
str_replace(
|
||||
array_keys($this->placeholders),
|
||||
array_values($this->placeholders),
|
||||
str_replace('.', '\\', $namespace)
|
||||
)
|
||||
);
|
||||
}, $namspaces);
|
||||
}
|
||||
|
||||
return $namspaces;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension type="plugin" version="4" group="extension" method="upgrade">
|
||||
<name>PLG_EXTENSION_COMPONENTBUILDERHEADERSCOMPILER</name>
|
||||
<creationDate>3rd December, 2021</creationDate>
|
||||
<creationDate>8th December, 2021</creationDate>
|
||||
<author>Llewellyn van der Merwe</author>
|
||||
<authorEmail>joomla@vdm.io</authorEmail>
|
||||
<authorUrl>https://dev.vdm.io</authorUrl>
|
||||
<copyright>Copyright (C) 2015 Vast Development Method. All rights reserved.</copyright>
|
||||
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
||||
<version>1.0.7</version>
|
||||
<version>1.0.8</version>
|
||||
<description>PLG_EXTENSION_COMPONENTBUILDERHEADERSCOMPILER_XML_DESCRIPTION</description>
|
||||
|
||||
<!-- Scripts to run on installation -->
|
||||
|
@ -2,6 +2,6 @@ PLG_EXTENSION_COMPONENTBUILDERHEADERSCOMPILER="Extension - Componentbuilder Head
|
||||
PLG_EXTENSION_COMPONENTBUILDERHEADERSCOMPILER_DESCRIPTION="This plugin is used to set the custom headers for your classes during compilation. To activate it you must first enable it here. Then open your JCB component global options, and under the Global tab, select this plugin in the Activate Compiler Plugins field.
|
||||
|
||||
Also be sure to set your code where you would like to set Custom Headers."
|
||||
PLG_EXTENSION_COMPONENTBUILDERHEADERSCOMPILER_XML_DESCRIPTION="<h1>Extension - Componentbuilder Headers Compiler (v.1.0.7)</h1> <div style='clear: both;'></div><p>This plugin is used to set the custom headers for your classes during compilation. To activate it you must first enable it here. Then open your JCB component global options, and under the Global tab, select this plugin in the Activate Compiler Plugins field.
|
||||
PLG_EXTENSION_COMPONENTBUILDERHEADERSCOMPILER_XML_DESCRIPTION="<h1>Extension - Componentbuilder Headers Compiler (v.1.0.8)</h1> <div style='clear: both;'></div><p>This plugin is used to set the custom headers for your classes during compilation. To activate it you must first enable it here. Then open your JCB component global options, and under the Global tab, select this plugin in the Activate Compiler Plugins field.
|
||||
|
||||
Also be sure to set your code where you would like to set Custom Headers.</p><p>Created by <a href='https://dev.vdm.io' target='_blank'>Llewellyn van der Merwe</a><br /><small>Development started 24th May, 2020</small></p>"
|
@ -2,6 +2,6 @@ PLG_EXTENSION_COMPONENTBUILDERHEADERSCOMPILER="Extension - Componentbuilder Head
|
||||
PLG_EXTENSION_COMPONENTBUILDERHEADERSCOMPILER_DESCRIPTION="This plugin is used to set the custom headers for your classes during compilation. To activate it you must first enable it here. Then open your JCB component global options, and under the Global tab, select this plugin in the Activate Compiler Plugins field.
|
||||
|
||||
Also be sure to set your code where you would like to set Custom Headers."
|
||||
PLG_EXTENSION_COMPONENTBUILDERHEADERSCOMPILER_XML_DESCRIPTION="<h1>Extension - Componentbuilder Headers Compiler (v.1.0.7)</h1> <div style='clear: both;'></div><p>This plugin is used to set the custom headers for your classes during compilation. To activate it you must first enable it here. Then open your JCB component global options, and under the Global tab, select this plugin in the Activate Compiler Plugins field.
|
||||
PLG_EXTENSION_COMPONENTBUILDERHEADERSCOMPILER_XML_DESCRIPTION="<h1>Extension - Componentbuilder Headers Compiler (v.1.0.8)</h1> <div style='clear: both;'></div><p>This plugin is used to set the custom headers for your classes during compilation. To activate it you must first enable it here. Then open your JCB component global options, and under the Global tab, select this plugin in the Activate Compiler Plugins field.
|
||||
|
||||
Also be sure to set your code where you would like to set Custom Headers.</p><p>Created by <a href='https://dev.vdm.io' target='_blank'>Llewellyn van der Merwe</a><br /><small>Development started 24th May, 2020</small></p>"
|
@ -43,11 +43,12 @@ class plgExtensionComponentbuilderHeadersCompilerInstallerScript
|
||||
|
||||
if ('install' === $route)
|
||||
{
|
||||
|
||||
// check that componentbuilder is installed
|
||||
$pathToCore = JPATH_ADMINISTRATOR . '/components/com_componentbuilder/helpers/componentbuilder.php';
|
||||
if (!JFile::exists($pathToCore))
|
||||
{
|
||||
$app->enqueueMessage('Joomla Component Builder must first be installed from <a href="https://www.joomlacomponentbuilder.com/ " target="_blank">Joomla Component Builder</a>.', 'error');
|
||||
$app->enqueueMessage('JCB must first be installed from <a href="https://git.vdm.dev/joomla/Component-Builder-Pro/" target="_blank">Joomla Component Builder</a>.', 'error');
|
||||
return false;
|
||||
}
|
||||
// load the helper class
|
||||
@ -60,8 +61,8 @@ class plgExtensionComponentbuilderHeadersCompilerInstallerScript
|
||||
{
|
||||
// get the version
|
||||
$jcbVersion = explode('.', $manifest->version);
|
||||
// check that we have JCB 2.12.14 or higher installed
|
||||
if (count($jcbVersion) == 3 && (($jcbVersion[0] == 2 && (($jcbVersion[1] == 12 && $jcbVersion[2] >= 14) || ($jcbVersion[1] > 12))) || $jcbVersion[0] >= 3))
|
||||
// check that we have JCB 3 or higher installed
|
||||
if (count($jcbVersion) == 3 && $jcbVersion[0] >= 3)
|
||||
{
|
||||
$blockInstall = false;
|
||||
}
|
||||
@ -69,7 +70,7 @@ class plgExtensionComponentbuilderHeadersCompilerInstallerScript
|
||||
// allow install if all conditions are met
|
||||
if ($blockInstall)
|
||||
{
|
||||
$app->enqueueMessage('Please upgrade to JCB-PRO 2.12.14 or higher before installing this plugin.', 'error');
|
||||
$app->enqueueMessage('Please upgrade to JCB-Pro v3.0.0 or higher before installing this plugin.', 'error');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user