199 lines
7.2 KiB
PHP
199 lines
7.2 KiB
PHP
<?php
|
|
/**
|
|
* @name Page Builder CK
|
|
* @package com_pagebuilderck
|
|
* @copyright Copyright (C) 2015. All rights reserved.
|
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
|
* @author Cedric Keiflin - https://www.template-creator.com - https://www.joomlack.fr
|
|
*/
|
|
// no direct access
|
|
defined('_JEXEC') or die;
|
|
|
|
use Pagebuilderck\CKFof;
|
|
|
|
require_once PAGEBUILDERCK_PATH . '/helpers/defines.js.php';
|
|
|
|
// check the joomla! version
|
|
if (version_compare(JVERSION, '3.0.0') > 0) {
|
|
$jversion = '3';
|
|
} else {
|
|
$jversion = '2';
|
|
}
|
|
|
|
$user = JFactory::getUser();
|
|
|
|
// for ordering
|
|
$listOrder = $this->state->get('filter_order', 'a.id');
|
|
$listDirn = $this->state->get('filter_order_Dir', 'ASC');
|
|
$filter_search = $this->state->get('filter_search', '');
|
|
$limitstart = $this->state->get('limitstart', 0);
|
|
$limit = $this->state->get('limit', 20);
|
|
CKFof::addStyleSheet(PAGEBUILDERCK_MEDIA_URI . '/assets/adminlist.css');
|
|
$saveOrder = $listOrder == 'a.ordering';
|
|
?>
|
|
<script src="<?php echo PAGEBUILDERCK_MEDIA_URI ?>/assets/jqueryck.min.js" type="text/javascript"></script>
|
|
<script src="<?php echo PAGEBUILDERCK_MEDIA_URI ?>/assets/jquery-uick-custom.min.js" type="text/javascript"></script>
|
|
|
|
<div class="ckadminsidebar"><?php echo JHtmlSidebar::render() ?></div>
|
|
<div class="ckadminarea">
|
|
<form action="<?php echo JRoute::_('index.php?option=com_pagebuilderck&view=elements'); ?>" method="post" name="adminForm" id="adminForm">
|
|
<div id="filter-bar" class="btn-toolbar input-group">
|
|
<div class="filter-search btn-group pull-left">
|
|
<label for="filter_search" class="element-invisible"><?php echo JText::_('JSEARCH_FILTER_LABEL'); ?></label>
|
|
<input type="text" name="filter_search" id="filter_search" placeholder="<?php echo JText::_('JSEARCH_FILTER'); ?>" value="<?php echo addslashes($this->state->get('filter_search')); ?>" class="cktip form-control" title="" />
|
|
</div>
|
|
<div class="input-group-append btn-group pull-left hidden-phone">
|
|
<button type="submit" class="btn btn-primary cktip" title="<?php echo JText::_('JSEARCH_FILTER_SUBMIT'); ?>"><i class="icon-search"></i><?php echo ($jversion === '2' ? JText::_('JSEARCH_FILTER_SUBMIT') : ''); ?></button>
|
|
<button type="button" class="btn btn-secondary cktip" title="<?php echo JText::_('JSEARCH_FILTER_CLEAR'); ?>" onclick="document.getElementById('filter_search').value = '';
|
|
this.form.submit();"><i class="icon-remove"></i><?php echo ($jversion === '2' ? JText::_('JSEARCH_FILTER_CLEAR') : ''); ?></button>
|
|
</div>
|
|
<?php if ($jversion === '3') { ?>
|
|
<div class="btn-group pull-right hidden-phone ordering-select">
|
|
<label for="limit" class="element-invisible"><?php echo JText::_('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC'); ?></label>
|
|
<?php echo $this->pagination->getLimitBox(); ?>
|
|
</div>
|
|
<?php } ?>
|
|
</div>
|
|
<div class="clearfix"> </div>
|
|
<table class="table table-striped" id="ckelementslist">
|
|
<thead>
|
|
<tr>
|
|
<th width="1%" class="nowrap center hidden-phone">
|
|
<?php echo JHtml::_('grid.sort', 'CK_ORDERING', 'a.ordering', $listDirn, $listOrder); ?>
|
|
</th>
|
|
<th width="1%">
|
|
<input type="checkbox" name="checkall-toggle" title="<?php echo JText::_('JGLOBAL_CHECK_ALL'); ?>" value="" onclick="Joomla.checkAll(this)" />
|
|
</th>
|
|
|
|
<th class='left'>
|
|
<?php echo JHtml::_('grid.sort', 'COM_PAGEBUILDERCK_PAGES_NAME', 'a.title', $listDirn, $listOrder); ?>
|
|
</th>
|
|
<th class='left'>
|
|
<?php echo JHtml::_('grid.sort', 'COM_PAGEBUILDERCK_DESCRIPTION', 'a.description', $listDirn, $listOrder); ?>
|
|
</th>
|
|
<th class='left'>
|
|
<?php echo JHtml::_('grid.sort', 'COM_PAGEBUILDERCK_TYPE', 'a.type', $listDirn, $listOrder); ?>
|
|
</th>
|
|
<?php if (isset($this->items[0]->state)) { ?>
|
|
<?php } ?>
|
|
<?php if (isset($this->items[0]->id)) {
|
|
?>
|
|
<th width="1%" class="nowrap">
|
|
<?php echo JHtml::_('grid.sort', 'JGRID_HEADING_ID', 'a.id', $listDirn, $listOrder); ?>
|
|
</th>
|
|
<?php } ?>
|
|
</tr>
|
|
</thead>
|
|
<tfoot>
|
|
<tr>
|
|
<td colspan="10">
|
|
<?php echo $this->pagination->getListFooter(); ?>
|
|
</td>
|
|
</tr>
|
|
</tfoot>
|
|
<tbody>
|
|
<?php
|
|
// load all the pagebuilderck plugins
|
|
$pluginsType = PagebuilderckHelper::getPluginsMenuItemType();
|
|
|
|
foreach ($this->items as $i => $item) :
|
|
$canCreate = $user->authorise('core.create', 'com_pagebuilderck');
|
|
$canEdit = $user->authorise('core.edit', 'com_pagebuilderck');
|
|
$canCheckin = $user->authorise('core.manage', 'com_pagebuilderck');
|
|
$canChange = $user->authorise('core.edit.state', 'com_pagebuilderck');
|
|
$link = 'index.php?option=com_pagebuilderck&view=element&task=element.edit&id=' . $item->id;
|
|
?>
|
|
<tr class="row<?php echo $i % 2; ?>" data-id="<?php echo (int) $item->id; ?>">
|
|
<td class="order nowrap center hidden-phone">
|
|
<?php
|
|
$iconClass = '';
|
|
if (!$canChange) {
|
|
$iconClass = ' inactive';
|
|
} elseif (!$saveOrder) {
|
|
$iconClass = ' inactive tip-top cktip" title="' . JHtml::_('tooltipText', 'JORDERINGDISABLED');
|
|
}
|
|
?>
|
|
<span class="sortable-handler<?php echo $iconClass; ?>">
|
|
<span class="icon-menu" aria-hidden="true"></span>
|
|
</span>
|
|
<?php if ($canChange && $saveOrder) : ?>
|
|
<input type="text" style="display:none" name="order[]" size="5"
|
|
value="<?php echo $item->ordering; ?>" class="width-20 text-area-order" />
|
|
<?php endif; ?>
|
|
</td>
|
|
<td class="center">
|
|
<?php echo JHtml::_('grid.id', $i, $item->id); ?>
|
|
</td>
|
|
|
|
<td>
|
|
<a href="<?php echo $link; ?>"><?php echo $item->title; ?></a>
|
|
</td>
|
|
<td>
|
|
<?php echo $item->description; ?>
|
|
</td>
|
|
<td>
|
|
<?php
|
|
if ($item->type == 'row') {
|
|
echo JText::_('COM_PAGEBUILDERCK_CONTENT_ROW');
|
|
} else {
|
|
$typeName = $pluginsType[$item->type]->title;
|
|
echo $typeName;
|
|
}
|
|
?>
|
|
</td>
|
|
|
|
<?php if (isset($this->items[0]->id)) {
|
|
?>
|
|
<td class="center">
|
|
<?php echo (int) $item->id; ?>
|
|
</td>
|
|
<?php } ?>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div>
|
|
<input type="hidden" name="task" value="" />
|
|
<input type="hidden" name="boxchecked" value="0" />
|
|
<input type="hidden" name="filter_order" value="<?php echo $listOrder; ?>" />
|
|
<input type="hidden" name="filter_order_Dir" value="<?php echo $listDirn; ?>" />
|
|
<input type="hidden" name="state_request" value="1" />
|
|
<?php echo JHtml::_('form.token'); ?>
|
|
</div>
|
|
</form>
|
|
<script>
|
|
$ck('#ckelementslist tbody').sortable({
|
|
items: "> tr",
|
|
// helper: "clone",
|
|
handle: ".sortable-handler:not(.inactive)",
|
|
forcePlaceholderSize: true,
|
|
tolerance: "pointer",
|
|
placeholder: "placeholderck",
|
|
stop: function (e, ui) {
|
|
ckSaveElementsListSorting();
|
|
}
|
|
});
|
|
|
|
function ckSaveElementsListSorting() {
|
|
var ordering = new Object();
|
|
var i = 0;
|
|
$ck('#ckelementslist tbody tr').each(function () {
|
|
ordering[$ck(this).attr('data-id')] = i;
|
|
i++;
|
|
});
|
|
var myurl = PAGEBUILDERCK.URIPBCK + "&task=elements.order&" + PAGEBUILDERCK.TOKEN;
|
|
$ck.ajax({
|
|
type: "POST",
|
|
url: myurl,
|
|
data: {
|
|
ordering: ordering
|
|
}
|
|
}).done(function (code) {
|
|
|
|
}).fail(function () {
|
|
alert(Joomla.JText._('CK_FAILED', 'Failed'));
|
|
});
|
|
}
|
|
</script>
|
|
</div>
|