primo commit

This commit is contained in:
2024-12-17 17:34:10 +01:00
commit e650f8df99
16435 changed files with 2451012 additions and 0 deletions

View File

@ -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);
}
}

View File

@ -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;
}
}

View File

@ -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);
}
}