Adapted the custom buttons and layout in the components, admins and libraries views. Fixed a bug in the JCB package import that missed custom code imports when code is changed inside the custom code.

This commit is contained in:
2018-08-19 22:15:43 +02:00
parent 103457eef7
commit 2a6be54317
37 changed files with 1414 additions and 764 deletions

View File

@ -61,38 +61,76 @@ $edit = "index.php?option=com_componentbuilder&view=admin_views&task=admin_view.
<?php endif; ?>
</td>
<td class="nowrap">
<div class="name">
<?php if ($canDo->get('admin_view.edit')): ?>
<a href="<?php echo $edit; ?>&id=<?php echo $item->id; ?>"><?php echo $this->escape($item->system_name); ?></a>
<?php if ($item->checked_out): ?>
<?php echo JHtml::_('jgrid.checkedout', $i, $userChkOut->name, $item->checked_out_time, 'admin_views.', $canCheckin); ?>
<?php endif; ?>
<?php else: ?>
<?php echo $this->escape($item->system_name); ?>
<div>
<?php if ($canDo->get('admin_view.edit')): ?>
<a href="<?php echo $edit; ?>&id=<?php echo $item->id; ?>"><?php echo $this->escape($item->system_name); ?></a>
<?php if ($item->checked_out): ?>
<?php echo JHtml::_('jgrid.checkedout', $i, $userChkOut->name, $item->checked_out_time, 'admin_views.', $canCheckin); ?>
<?php endif; ?>
<?php else: ?>
<?php echo $this->escape($item->system_name); ?>
<?php endif; ?>
-
<?php echo JText::_($item->type); ?>
</div>
<?php // setup the return path
if (!isset($returnpath))
{
$returnpath = urlencode(base64_encode((string) JUri::getInstance()));
}
// setup the buttons
if (!isset($_buttons) || !ComponentbuilderHelper::checkArray($_buttons))
{
$_buttons = array(
array(
'view' => 'admin_fields',
'views' => 'admins_fields',
'title' => JText::_('COM_COMPONENTBUILDER_THE_ADMIN_FIELDS'),
'icon' => 'list'),
array(
'view' => 'admin_fields_relations',
'views' => 'admins_fields_relations',
'title' => JText::_('COM_COMPONENTBUILDER_THE_ADMIN_FIELDS_RELATIONS'),
'icon' => 'tree-2'),
array(
'view' => 'admin_fields_conditions',
'views' => 'admins_fields_conditions',
'title' => JText::_('COM_COMPONENTBUILDER_THE_ADMIN_FIELDS_CONDITIONS'),
'icon' => 'shuffle')
);
}
?>
<div class="btn-group" style="margin: 5px 0 0 0;">
<?php foreach ($_buttons as $_button): ?>
<?php if ($canDo->get($_button['view'].'.edit') && ($id = ComponentbuilderHelper::getVar($_button['view'], $item->id, 'admin_view', 'id')) !== false): ?>
<a class="hasTooltip btn btn-mini" href="index.php?option=com_componentbuilder&view=<?php echo $_button['views'] ?>&task=<?php echo $_button['view'] ?>.edit&id=<?php echo $id; ?>&return=<?php echo $returnpath; ?>" title="<?php echo $_button['title']; ?>" ><span class="icon-<?php echo $_button['icon']; ?>"></span></a>
<?php elseif ($canDo->get($_button['view'].'.create')): ?>
<a class="hasTooltip btn btn-mini" href="index.php?option=com_componentbuilder&view=<?php echo $_button['views'] ?>&task=<?php echo $_button['view'] ?>.edit&ref=admin_view&refid=<?php echo $item->id; ?>&return=<?php echo $returnpath; ?>" title="<?php echo $_button['title']; ?>" ><span class="icon-<?php echo $_button['icon']; ?>"></span></a>
<?php endif; ?>
<?php endforeach; ?>
</div>
<div class="btn-group" style="margin: 5px 0 0 0;">
<?php if ($canDo->get('admin_view.edit') && $admin_field_id = ComponentbuilderHelper::getVar('admin_fields', $item->id, 'admin_view', 'id')): ?>
<a class="hasTooltip btn btn-mini" href="index.php?option=com_componentbuilder&view=admins_fields&task=admin_fields.edit&id=<?php echo $admin_field_id; ?>&ref=admin_views" title="<?php echo JText::_('COM_COMPONENTBUILDER_EDIT_THE_ADMIN_FIELDS'); ?>" ><span class="icon-list"></span></a>
<?php endif; ?>
<?php if ($canDo->get('admin_view.edit') && $admin_relation_id = ComponentbuilderHelper::getVar('admin_fields_relations', $item->id, 'admin_view', 'id')): ?>
<a class="hasTooltip btn btn-mini" href="index.php?option=com_componentbuilder&view=admins_fields_relations&task=admin_fields_relations.edit&id=<?php echo $admin_relation_id; ?>&ref=admin_views" title="<?php echo JText::_('COM_COMPONENTBUILDER_EDIT_THE_ADMIN_FIELDS_RELATIONS'); ?>" ><span class="icon-tree-2"></span></a>
<?php endif; ?>
<?php if ($canDo->get('admin_view.edit') && $admin_condition_id = ComponentbuilderHelper::getVar('admin_fields_conditions', $item->id, 'admin_view', 'id')): ?>
<a class="hasTooltip btn btn-mini" href="index.php?option=com_componentbuilder&view=admins_fields_conditions&task=admin_fields_conditions.edit&id=<?php echo $admin_condition_id; ?>&ref=admin_views" title="<?php echo JText::_('COM_COMPONENTBUILDER_EDIT_THE_ADMIN_FIELDS_CONDITIONS'); ?>" ><span class="icon-shuffle"></span></a>
<?php endif; ?>
</td>
<td class="hidden-phone">
<div><?php echo JText::_('COM_COMPONENTBUILDER_EDIT_VIEW'); ?>: <b>
<?php echo $this->escape($item->name_single); ?></b><br />
<?php echo JText::_('COM_COMPONENTBUILDER_LIST_VIEW'); ?>: <b>
<?php echo $this->escape($item->name_list); ?></b>
</div>
</td>
<td class="hidden-phone">
<?php echo $this->escape($item->name_single); ?>
</td>
<td class="hidden-phone">
<?php echo $this->escape($item->name_list); ?>
</td>
<td class="hidden-phone">
<?php echo $this->escape($item->short_description); ?>
<div><em>
<?php echo $this->escape($item->short_description); ?></em>
<ul style="list-style: none">
<li><?php echo JText::_("COM_COMPONENTBUILDER_CUSTOM_BUTTON"); ?>: <b>
<?php echo JText::_($item->add_custom_button); ?></b></li>
<li><?php echo JText::_("COM_COMPONENTBUILDER_CUSTOM_IMPORT"); ?>: <b>
<?php echo JText::_($item->add_custom_import); ?></b></li>
<li><?php echo JText::_("COM_COMPONENTBUILDER_FADE_IN"); ?>: <b>
<?php echo JText::_($item->add_fadein); ?></b></li>
<li><?php echo JText::_("COM_COMPONENTBUILDER_AJAX"); ?>: <b>
<?php echo JText::_($item->add_php_ajax); ?></b></li>
</ul>
</div>
</td>
<td class="center">
<?php if ($canDo->get('admin_view.edit.state')) : ?>

View File

@ -14,5 +14,5 @@ defined('_JEXEC') or die('Restricted access');
?>
<tr>
<td colspan="8"><?php echo $this->pagination->getListFooter(); ?></td>
<td colspan="7"><?php echo $this->pagination->getListFooter(); ?></td>
</tr>

View File

@ -33,13 +33,10 @@ defined('_JEXEC') or die('Restricted access');
<?php echo JHtml::_('grid.sort', 'COM_COMPONENTBUILDER_ADMIN_VIEW_SYSTEM_NAME_LABEL', 'system_name', $this->listDirn, $this->listOrder); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo JHtml::_('grid.sort', 'COM_COMPONENTBUILDER_ADMIN_VIEW_NAME_SINGLE_LABEL', 'name_single', $this->listDirn, $this->listOrder); ?>
<?php echo JHtml::_('grid.sort', 'ADMIN_VIEWS_NAMES', 'name_single', $this->listDirn, $this->listOrder); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo JHtml::_('grid.sort', 'COM_COMPONENTBUILDER_ADMIN_VIEW_NAME_LIST_LABEL', 'name_list', $this->listDirn, $this->listOrder); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo JHtml::_('grid.sort', 'COM_COMPONENTBUILDER_ADMIN_VIEW_SHORT_DESCRIPTION_LABEL', 'short_description', $this->listDirn, $this->listOrder); ?>
<?php echo JHtml::_('grid.sort', 'ADMIN_VIEWS_DETAILS', 'short_description', $this->listDirn, $this->listOrder); ?>
</th>
<?php if ($this->canState): ?>
<th width="10" class="nowrap center" >

View File

@ -182,7 +182,117 @@ class ComponentbuilderViewAdmin_views extends JViewLegacy
'batch[access]',
JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text')
);
}
}
// Set Add Fadein Selection
$this->add_fadeinOptions = $this->getTheAdd_fadeinSelections();
if ($this->add_fadeinOptions)
{
// Add Fadein Filter
JHtmlSidebar::addFilter(
'- Select '.JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_ADD_FADEIN_LABEL').' -',
'filter_add_fadein',
JHtml::_('select.options', $this->add_fadeinOptions, 'value', 'text', $this->state->get('filter.add_fadein'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
// Add Fadein Batch Selection
JHtmlBatch_::addListSelection(
'- Keep Original '.JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_ADD_FADEIN_LABEL').' -',
'batch[add_fadein]',
JHtml::_('select.options', $this->add_fadeinOptions, 'value', 'text')
);
}
}
// Set Type Selection
$this->typeOptions = $this->getTheTypeSelections();
if ($this->typeOptions)
{
// Type Filter
JHtmlSidebar::addFilter(
'- Select '.JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_TYPE_LABEL').' -',
'filter_type',
JHtml::_('select.options', $this->typeOptions, 'value', 'text', $this->state->get('filter.type'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
// Type Batch Selection
JHtmlBatch_::addListSelection(
'- Keep Original '.JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_TYPE_LABEL').' -',
'batch[type]',
JHtml::_('select.options', $this->typeOptions, 'value', 'text')
);
}
}
// Set Add Custom Import Selection
$this->add_custom_importOptions = $this->getTheAdd_custom_importSelections();
if ($this->add_custom_importOptions)
{
// Add Custom Import Filter
JHtmlSidebar::addFilter(
'- Select '.JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_ADD_CUSTOM_IMPORT_LABEL').' -',
'filter_add_custom_import',
JHtml::_('select.options', $this->add_custom_importOptions, 'value', 'text', $this->state->get('filter.add_custom_import'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
// Add Custom Import Batch Selection
JHtmlBatch_::addListSelection(
'- Keep Original '.JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_ADD_CUSTOM_IMPORT_LABEL').' -',
'batch[add_custom_import]',
JHtml::_('select.options', $this->add_custom_importOptions, 'value', 'text')
);
}
}
// Set Add Custom Button Selection
$this->add_custom_buttonOptions = $this->getTheAdd_custom_buttonSelections();
if ($this->add_custom_buttonOptions)
{
// Add Custom Button Filter
JHtmlSidebar::addFilter(
'- Select '.JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_ADD_CUSTOM_BUTTON_LABEL').' -',
'filter_add_custom_button',
JHtml::_('select.options', $this->add_custom_buttonOptions, 'value', 'text', $this->state->get('filter.add_custom_button'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
// Add Custom Button Batch Selection
JHtmlBatch_::addListSelection(
'- Keep Original '.JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_ADD_CUSTOM_BUTTON_LABEL').' -',
'batch[add_custom_button]',
JHtml::_('select.options', $this->add_custom_buttonOptions, 'value', 'text')
);
}
}
// Set Add Php Ajax Selection
$this->add_php_ajaxOptions = $this->getTheAdd_php_ajaxSelections();
if ($this->add_php_ajaxOptions)
{
// Add Php Ajax Filter
JHtmlSidebar::addFilter(
'- Select '.JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_ADD_PHP_AJAX_LABEL').' -',
'filter_add_php_ajax',
JHtml::_('select.options', $this->add_php_ajaxOptions, 'value', 'text', $this->state->get('filter.add_php_ajax'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
// Add Php Ajax Batch Selection
JHtmlBatch_::addListSelection(
'- Keep Original '.JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_ADD_PHP_AJAX_LABEL').' -',
'batch[add_php_ajax]',
JHtml::_('select.options', $this->add_php_ajaxOptions, 'value', 'text')
);
}
}
}
/**
@ -230,9 +340,188 @@ class ComponentbuilderViewAdmin_views extends JViewLegacy
'a.published' => JText::_('JSTATUS'),
'a.system_name' => JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_SYSTEM_NAME_LABEL'),
'a.name_single' => JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_NAME_SINGLE_LABEL'),
'a.name_list' => JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_NAME_LIST_LABEL'),
'a.short_description' => JText::_('COM_COMPONENTBUILDER_ADMIN_VIEW_SHORT_DESCRIPTION_LABEL'),
'a.id' => JText::_('JGRID_HEADING_ID')
);
}
protected function getTheAdd_fadeinSelections()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('add_fadein'));
$query->from($db->quoteName('#__componentbuilder_admin_view'));
$query->order($db->quoteName('add_fadein') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$results = $db->loadColumn();
if ($results)
{
// get model
$model = $this->getModel();
$results = array_unique($results);
$_filter = array();
foreach ($results as $add_fadein)
{
// Translate the add_fadein selection
$text = $model->selectionTranslation($add_fadein,'add_fadein');
// Now add the add_fadein and its text to the options array
$_filter[] = JHtml::_('select.option', $add_fadein, JText::_($text));
}
return $_filter;
}
return false;
}
protected function getTheTypeSelections()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('type'));
$query->from($db->quoteName('#__componentbuilder_admin_view'));
$query->order($db->quoteName('type') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$results = $db->loadColumn();
if ($results)
{
// get model
$model = $this->getModel();
$results = array_unique($results);
$_filter = array();
foreach ($results as $type)
{
// Translate the type selection
$text = $model->selectionTranslation($type,'type');
// Now add the type and its text to the options array
$_filter[] = JHtml::_('select.option', $type, JText::_($text));
}
return $_filter;
}
return false;
}
protected function getTheAdd_custom_importSelections()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('add_custom_import'));
$query->from($db->quoteName('#__componentbuilder_admin_view'));
$query->order($db->quoteName('add_custom_import') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$results = $db->loadColumn();
if ($results)
{
// get model
$model = $this->getModel();
$results = array_unique($results);
$_filter = array();
foreach ($results as $add_custom_import)
{
// Translate the add_custom_import selection
$text = $model->selectionTranslation($add_custom_import,'add_custom_import');
// Now add the add_custom_import and its text to the options array
$_filter[] = JHtml::_('select.option', $add_custom_import, JText::_($text));
}
return $_filter;
}
return false;
}
protected function getTheAdd_custom_buttonSelections()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('add_custom_button'));
$query->from($db->quoteName('#__componentbuilder_admin_view'));
$query->order($db->quoteName('add_custom_button') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$results = $db->loadColumn();
if ($results)
{
// get model
$model = $this->getModel();
$results = array_unique($results);
$_filter = array();
foreach ($results as $add_custom_button)
{
// Translate the add_custom_button selection
$text = $model->selectionTranslation($add_custom_button,'add_custom_button');
// Now add the add_custom_button and its text to the options array
$_filter[] = JHtml::_('select.option', $add_custom_button, JText::_($text));
}
return $_filter;
}
return false;
}
protected function getTheAdd_php_ajaxSelections()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('add_php_ajax'));
$query->from($db->quoteName('#__componentbuilder_admin_view'));
$query->order($db->quoteName('add_php_ajax') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$results = $db->loadColumn();
if ($results)
{
// get model
$model = $this->getModel();
$results = array_unique($results);
$_filter = array();
foreach ($results as $add_php_ajax)
{
// Translate the add_php_ajax selection
$text = $model->selectionTranslation($add_php_ajax,'add_php_ajax');
// Now add the add_php_ajax and its text to the options array
$_filter[] = JHtml::_('select.option', $add_php_ajax, JText::_($text));
}
return $_filter;
}
return false;
}
}