first commit
This commit is contained in:
142
administrator/components/com_jce/views/profiles/tmpl/default.php
Normal file
142
administrator/components/com_jce/views/profiles/tmpl/default.php
Normal file
@@ -0,0 +1,142 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2009-2022 Ryan Demmer. All rights reserved
|
||||
* @license GNU/GPL 3 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* JCE is free software. This version may have been modified pursuant
|
||||
* to the GNU General Public License, and as distributed it includes or
|
||||
* is derivative of works licensed under the GNU General Public License or
|
||||
* other free or open source software licenses
|
||||
*/
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
// Include the component HTML helpers.
|
||||
JHtml::addIncludePath(JPATH_COMPONENT . '/helpers/html');
|
||||
|
||||
JHtml::_('behavior.multiselect');
|
||||
|
||||
$user = JFactory::getUser();
|
||||
$listOrder = $this->escape($this->state->get('list.ordering'));
|
||||
$listDirn = $this->escape($this->state->get('list.direction'));
|
||||
|
||||
$saveOrder = $listOrder == 'ordering';
|
||||
|
||||
if ($saveOrder)
|
||||
{
|
||||
$saveOrderingUrl = 'index.php?option=com_jce&task=profiles.saveOrderAjax&tmpl=component';
|
||||
JHtml::_('sortablelist.sortable', 'profileList', 'adminForm', strtolower($listDirn), $saveOrderingUrl);
|
||||
}
|
||||
?>
|
||||
<form action="<?php echo JRoute::_('index.php?option=com_jce&view=profiles'); ?>" method="post" enctype="multipart/form-data" name="adminForm" id="adminForm">
|
||||
<div class="ui-jce row">
|
||||
<?php if (!empty($this->sidebar)): ?>
|
||||
<div id="j-sidebar-container" class="j-sidebar-container span2 col-md-2">
|
||||
<?php echo $this->sidebar; ?>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<div id="j-main-container" class="j-main-container span10">
|
||||
<?php else: ?>
|
||||
<div id="j-main-container" class="j-main-container span10">
|
||||
<?php endif;?>
|
||||
|
||||
<?php echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this)); ?>
|
||||
|
||||
<?php if (empty($this->items)): ?>
|
||||
<div class="alert alert-no-items">
|
||||
<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
|
||||
</div>
|
||||
<?php else : ?>
|
||||
<table class="table table-striped" id="profileList">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="1%" class="nowrap center hidden-phone text-center d-none d-md-table-cell">
|
||||
<?php echo JHtml::_('searchtools.sort', '', 'ordering', $listDirn, $listOrder, null, 'asc', 'JGRID_HEADING_ORDERING', 'icon-menu-2'); ?>
|
||||
</th>
|
||||
<th style="width:1%" class="nowrap center text-center">
|
||||
<?php echo JHtml::_('grid.checkall'); ?>
|
||||
</th>
|
||||
<th style="width:1%" class="nowrap center text-center">
|
||||
<?php echo JHtml::_('searchtools.sort', 'JSTATUS', 'published', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
<th class="title">
|
||||
<?php echo JHtml::_('searchtools.sort', 'JGLOBAL_TITLE', 'name', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
<th class="title hidden-phone">
|
||||
<?php echo JText::_('JGLOBAL_DESCRIPTION'); ?>
|
||||
</th>
|
||||
<th style="width:5%" class="nowrap hidden-phone center d-none d-md-table-cell text-center">
|
||||
<?php echo JHtml::_('searchtools.sort', 'JGRID_HEADING_ID', 'id', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="8">
|
||||
<?php echo $this->pagination->getListFooter(); ?>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
<?php foreach ($this->items as $i => $item) :
|
||||
$ordering = ($listOrder == 'ordering');
|
||||
$canEdit = $user->authorise('core.edit', 'com_jce');
|
||||
$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out == $user->get('id') || $item->checked_out == 0;
|
||||
$canChange = $user->authorise('core.edit.state', 'com_jce') && $canCheckin;
|
||||
?>
|
||||
<tr class="row<?php echo $i % 2; ?>">
|
||||
<td class="order nowrap center hidden-phone text-center d-none d-md-table-cell">
|
||||
<?php
|
||||
$iconClass = '';
|
||||
|
||||
if (!$canChange)
|
||||
{
|
||||
$iconClass = ' inactive';
|
||||
}
|
||||
elseif (!$saveOrder)
|
||||
{
|
||||
$iconClass = ' inactive tip-top hasTooltip" 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 text-center">
|
||||
<?php echo JHtml::_('grid.id', $i, $item->id); ?>
|
||||
</td>
|
||||
<td class="center text-center">
|
||||
<?php echo JHtml::_('jgrid.published', $item->published, $i, 'profiles.', $canChange); ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php if ($item->checked_out) : ?>
|
||||
<?php echo JHtml::_('jgrid.checkedout', $i, $item->checked_out, $item->checked_out_time, 'profiles.', $canCheckin); ?>
|
||||
<?php endif; ?>
|
||||
<?php if ($canEdit) : ?>
|
||||
<?php $editIcon = $item->checked_out ? '' : '<span class="mr-2" aria-hidden="true"></span>'; ?>
|
||||
<a class="hasTooltip" href="<?php echo JRoute::_('index.php?option=com_jce&task=profile.edit&id=' . (int) $item->id); ?>" title="<?php echo JText::_('JACTION_EDIT'); ?> <?php echo $this->escape(addslashes($item->name)); ?>">
|
||||
<?php echo $editIcon; ?><?php echo $item->name; ?></a>
|
||||
<?php else : ?>
|
||||
<?php echo $item->name; ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td class="nowrap hidden-phone d-none d-md-table-cell text-left">
|
||||
<?php echo $this->escape($item->description); ?>
|
||||
</td>
|
||||
<td class="nowrap center hidden-phone d-none d-md-table-cell text-center">
|
||||
<?php echo (int) $item->id; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php endif; ?>
|
||||
|
||||
<input type="hidden" name="task" value="" />
|
||||
<input type="hidden" name="boxchecked" value="0" />
|
||||
<?php echo JHtml::_('form.token'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<metadata>
|
||||
<layout title="COM_JCE_PROFILES_VIEW_DEFAULT_TITLE">
|
||||
<message>
|
||||
<![CDATA[COM_JCE_PROFILES_VIEW_DEFAULT_DESC]]>
|
||||
</message>
|
||||
</layout>
|
||||
</metadata>
|
||||
120
administrator/components/com_jce/views/profiles/view.html.php
Normal file
120
administrator/components/com_jce/views/profiles/view.html.php
Normal file
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
|
||||
// Check to ensure this file is included in Joomla!
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
class JceViewProfiles extends JViewLegacy
|
||||
{
|
||||
protected $items;
|
||||
protected $pagination;
|
||||
protected $state;
|
||||
|
||||
protected function isEmpty()
|
||||
{
|
||||
// Create a new query object.
|
||||
$db = JFactory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
|
||||
// Select the required fields from the table.
|
||||
$query->select('COUNT(id)')->from($db->quoteName('#__wf_profiles'));
|
||||
|
||||
$db->setQuery($query);
|
||||
|
||||
return $db->loadResult() == 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the view.
|
||||
*/
|
||||
public function display($tpl = null)
|
||||
{
|
||||
$this->items = $this->get('Items');
|
||||
$this->pagination = $this->get('Pagination');
|
||||
$this->state = $this->get('State');
|
||||
$this->filterForm = $this->get('FilterForm');
|
||||
$this->activeFilters = $this->get('ActiveFilters');
|
||||
|
||||
$this->params = JComponentHelper::getParams('com_jce');
|
||||
|
||||
// Check for errors.
|
||||
if (count($errors = $this->get('Errors'))) {
|
||||
JError::raiseError(500, implode("\n", $errors));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($this->isEmpty()) {
|
||||
$link = JHTML::link('index.php?option=com_jce&task=profiles.repair&' . JSession::getFormToken() . '=1', JText::_('WF_DB_CREATE_RESTORE'), array('class' => 'wf-profiles-repair'));
|
||||
JFactory::getApplication()->enqueueMessage(JText::_('WF_DB_PROFILES_ERROR') . ' - ' . $link, 'error');
|
||||
}
|
||||
|
||||
JHtml::_('jquery.framework');
|
||||
|
||||
// only in Joomla 3.x
|
||||
if (version_compare(JVERSION, '4', 'lt')) {
|
||||
JHtml::_('formbehavior.chosen', 'select');
|
||||
}
|
||||
|
||||
$document = JFactory::getDocument();
|
||||
$document->addScript(JURI::root(true) . '/media/com_jce/js/profiles.min.js');
|
||||
$document->addStyleSheet(JURI::root(true) . '/media/com_jce/css/profiles.min.css');
|
||||
|
||||
$this->addToolbar();
|
||||
$this->sidebar = JHtmlSidebar::render();
|
||||
parent::display($tpl);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the page title and toolbar.
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
protected function addToolbar()
|
||||
{
|
||||
$state = $this->get('State');
|
||||
$user = JFactory::getUser();
|
||||
|
||||
JToolbarHelper::title('JCE - ' . JText::_('WF_PROFILES'), 'users');
|
||||
|
||||
$bar = JToolBar::getInstance('toolbar');
|
||||
|
||||
if ($user->authorise('jce.profiles', 'com_jce')) {
|
||||
JToolbarHelper::addNew('profile.add');
|
||||
JToolbarHelper::custom('profiles.copy', 'copy', 'copy', 'WF_PROFILES_COPY', true);
|
||||
|
||||
// Instantiate a new JLayoutFile instance and render the layout
|
||||
$layout = new JLayoutFile('toolbar.uploadprofile');
|
||||
$bar->appendButton('Custom', $layout->render(array()), 'upload');
|
||||
|
||||
JToolbarHelper::custom('profiles.export', 'download', 'download', 'WF_PROFILES_EXPORT', true);
|
||||
|
||||
JToolbarHelper::publish('profiles.publish', 'JTOOLBAR_PUBLISH', true);
|
||||
JToolbarHelper::unpublish('profiles.unpublish', 'JTOOLBAR_UNPUBLISH', true);
|
||||
|
||||
JToolbarHelper::deleteList('', 'profiles.delete', 'JTOOLBAR_DELETE');
|
||||
}
|
||||
|
||||
JHtmlSidebar::setAction('index.php?option=com_jce&view=profiles');
|
||||
|
||||
if ($user->authorise('core.admin', 'com_jce')) {
|
||||
JToolbarHelper::preferences('com_jce');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an array of fields the table can be sorted by.
|
||||
*
|
||||
* @return array Array containing the field name to sort by as the key and display text as value
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function getSortFields()
|
||||
{
|
||||
return array(
|
||||
'ordering' => JText::_('JGRID_HEADING_ORDERING'),
|
||||
'name' => JText::_('JGLOBAL_TITLE'),
|
||||
'published' => JText::_('JSTATUS'),
|
||||
'id' => JText::_('JGRID_HEADING_ID'),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user