primo commit
This commit is contained in:
@ -0,0 +1,86 @@
|
||||
<?php
|
||||
/**
|
||||
* @package AllediaFramework
|
||||
* @contact www.joomlashack.com, help@joomlashack.com
|
||||
* @copyright 2021-2023 Joomlashack.com. All rights reserved
|
||||
* @license https://www.gnu.org/licenses/gpl.html GNU/GPL
|
||||
*
|
||||
* This file is part of AllediaFramework.
|
||||
*
|
||||
* AllediaFramework is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* AllediaFramework is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with AllediaFramework. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Alledia\Framework\Joomla\View\Admin;
|
||||
|
||||
use Alledia\Framework\Extension;
|
||||
use Alledia\Framework\Joomla\AbstractView;
|
||||
use Joomla\CMS\Filesystem\File;
|
||||
|
||||
defined('_JEXEC') or die();
|
||||
|
||||
class AbstractBase extends AbstractView
|
||||
{
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
protected function displayFooter(?Extension $extension = null)
|
||||
{
|
||||
parent::displayFooter();
|
||||
|
||||
echo $this->displayAdminFooter($extension);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ?Extension $extension
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function displayAdminFooter(?Extension $extension = null): string
|
||||
{
|
||||
$extension = $extension ?: ($this->extension ?? null);
|
||||
|
||||
if ($extension) {
|
||||
$output = $extension->getFooterMarkup();
|
||||
|
||||
if (empty($output)) {
|
||||
// Use alternative if no custom footer field
|
||||
$layoutPath = $extension->getExtensionPath() . '/views/footer/tmpl/default.php';
|
||||
|
||||
if (!File::exists($layoutPath)) {
|
||||
$layoutPath = $extension->getExtensionPath() . '/alledia_views/footer/tmpl/default.php';
|
||||
}
|
||||
|
||||
if (File::exists($layoutPath)) {
|
||||
ob_start();
|
||||
include $layoutPath;
|
||||
$output = ob_get_contents();
|
||||
ob_end_clean();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $output ?? '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function setLayout($layout)
|
||||
{
|
||||
$layout = $this->getVersionedLayoutName($layout);
|
||||
|
||||
return parent::setLayout($layout);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
<?php
|
||||
/**
|
||||
* @package AllediaFramework
|
||||
* @contact www.joomlashack.com, help@joomlashack.com
|
||||
* @copyright 2021-2023 Joomlashack.com. All rights reserved
|
||||
* @license https://www.gnu.org/licenses/gpl.html GNU/GPL
|
||||
*
|
||||
* This file is part of AllediaFramework.
|
||||
*
|
||||
* AllediaFramework is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* AllediaFramework is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with AllediaFramework. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Alledia\Framework\Joomla\View\Admin;
|
||||
|
||||
use Joomla\CMS\Form\Form;
|
||||
use Joomla\CMS\HTML\HTMLHelper;
|
||||
use Joomla\CMS\MVC\Model\AdminModel;
|
||||
use Joomla\CMS\Version;
|
||||
|
||||
defined('_JEXEC') or die();
|
||||
|
||||
class AbstractForm extends AbstractBase
|
||||
{
|
||||
/**
|
||||
* @var Form
|
||||
*/
|
||||
protected $form = null;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $useCoreUI = true;
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
protected function setup()
|
||||
{
|
||||
parent::setup();
|
||||
|
||||
if (Version::MAJOR_VERSION < 4) {
|
||||
HTMLHelper::_('behavior.tabstate');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*
|
||||
*/
|
||||
public function setModel($model, $default = false)
|
||||
{
|
||||
$model = parent::setModel($model, $default);
|
||||
if ($model instanceof AdminModel && $default) {
|
||||
$this->form = $model->getForm();
|
||||
}
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,81 @@
|
||||
<?php
|
||||
/**
|
||||
* @package AllediaFramework
|
||||
* @contact www.joomlashack.com, help@joomlashack.com
|
||||
* @copyright 2021-2023 Joomlashack.com. All rights reserved
|
||||
* @license https://www.gnu.org/licenses/gpl.html GNU/GPL
|
||||
*
|
||||
* This file is part of AllediaFramework.
|
||||
*
|
||||
* AllediaFramework is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* AllediaFramework is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with AllediaFramework. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Alledia\Framework\Joomla\View\Admin;
|
||||
|
||||
defined('_JEXEC') or die();
|
||||
|
||||
use Joomla\CMS\Form\Form;
|
||||
use Joomla\CMS\HTML\HTMLHelper;
|
||||
use Joomla\CMS\Pagination\Pagination;
|
||||
use Joomla\CMS\Version;
|
||||
|
||||
abstract class AbstractList extends AbstractBase
|
||||
{
|
||||
/**
|
||||
* @var object[]
|
||||
*/
|
||||
protected $items = null;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $sidebar = null;
|
||||
|
||||
/**
|
||||
* @var Pagination
|
||||
*/
|
||||
protected $pagination = null;
|
||||
|
||||
/**
|
||||
* @var Form
|
||||
*/
|
||||
public $filterForm = null;
|
||||
|
||||
/**
|
||||
* @var string[]
|
||||
*/
|
||||
public $activeFilters = null;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $isEmptyState = null;
|
||||
|
||||
public function display($tpl = null)
|
||||
{
|
||||
// Add default admin CSS
|
||||
HTMLHelper::_('stylesheet', $this->option . '/admin-default.css', ['relative' => true]);
|
||||
|
||||
if (
|
||||
Version::MAJOR_VERSION > 3
|
||||
&& empty($this->items)
|
||||
&& ($this->isEmptyState = $this->get('IsEmptyState'))
|
||||
) {
|
||||
$this->setLayout('emptystate');
|
||||
}
|
||||
|
||||
parent::display($tpl);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user